嵌入式软件架构设计
课程配景

培训收益
课程工具
软件架构工程师、系统工程师、SE工程师等。。。
课程特色
课程纲要
【????橐弧 人人掌握——嵌入式需求
理阵势——嵌入式软件需求剖析的历程 【办法明确,,,履历干货】
步 骤 一:系统界线剖析——上下文图 and 硬件结构图
步 骤 二:功效需求剖析——功效树 or 用例图
步 骤 三:用户接口剖析——菜单树 and 界面流
步 骤 四:软硬接口剖析——和外部软硬件的接口规约
步 骤 五:功效办法剖析——输入-处置惩罚-输出 or 用例规约
步 骤 六:质量需求剖析——本课关注办法级实时、办法级可靠
一组案例……

划重点——要害点的讲与练
输入-处置惩罚-输出界说功效需求……顽疾是需求项又多又散????剖析、解决。。。
与外部软、硬件的接口需求 ……顶层数据流图、上下文图、硬件结构图
高性能和可靠性等质量需求 ……质量需求怎样界说????以某控制器为案例
一组案例……
特重大的功效逻辑怎样搞定???? = 主控流程+可能事务与分支流程 + 办法规则
拷资料——文档模板 + 案例资料 【外企模板,,,独家分享】
《需求规格》模板
《需求规格》实例
一组案例……例如,,,质量90%可以用“功效的办法级规则”来界说

【????槎】 始于需求——自顶向下设计运行控制结构
理阵势——运行控制结构的设计历程 【办法明确,,,履历干货】
办法一:剖析需求 (功效规模+硬件结构)
办法二:识别焦点????
办法三:确定控制流,,,设计控制模式
办法四:对要害功效,,,跑通控制历程
案例剖析……上面四步,,,都有现实案例,,,并解说自顶向下头脑运用
划重点——三种嵌入式“运行控制结构”模式
结构一:多使命结构(OS-based Multi-task)
结构二:前后台结构(死循环+中止)
结构三:时间片轮询(Time-slice Polling)
一组案例……
划重点——前后台与时间片架构的几个细节
【阵势】收罗-剖析-控制模式
【局部 1】转delay为中止
【局部 2】占空比与中止
【局部 3】函数的可重入设计
【局部 4】焦点代码性能
高事务率架构案例:多使命 vs. 时间片轮转
划重点——统一回覆几个“大的疑问”
问:我们公司系统较量重大,,,性能要求也较量多,,,总感受理不清????
问:我们公司似乎没人会画多线程协作图。。。讨教,,,怎么画????
问:我们公司嵌入式分层架构太泛,,,没把代码块、线程、中止等说清晰!
【????槿 深入详尽——嵌入式分层实战技巧
理阵势——嵌入式代码架构,,,就这么设计 【办法明确,,,履历干货】
办法一:借助模式,,,按“五横一纵”组织????樘趵
办法二:自底向上,,,先把硬件接口代码????樯杓坪
办法三:接口笼统,,,为多种硬件提供统一接口
办法四:效劳笼统,,,提炼可复用的显示/通讯/存储效劳
办法五:设计功效层????,,,确定它对下层????榈呐灿
办法六:.....
划重点——要害点的讲与练 【有代码,,,有真货】
Module对Task/Thread的封装
===Module设计的最低要求:没有隐藏就没有简化
===????榉庾皌ask——Message和Task的架构级应用
Module的可扩展&可设置&可插拔
===????榈目缮柚檬缴杓啤狢onfig Array的架构级应用
Interface对多个差别????榈耐骋涣
===函数指针结构体的架构级应用
上层对下层的“封装”与“组装”
===????榉庾澳????椤狶ayer头脑的代码实现
===main()怎样优雅地“启动”各????
拷资料——上述手艺,,,划分对应的代码案例
代码案例…
代码案例…
头脑的奔腾——架构之道 【学员反。。。骸按蟪勾笪虻母惺苷嫠 薄
自顶向下——剖析头脑。。。架构早期。。。驻足营业,,,凭证需求剖析出粗粒度架构
自底向上——封装头脑。。。架构后期。。。驻足实现,,,隐藏细节,,,统一接口,,,提炼效劳
笼统vs.详细——笼统是效果,,,笼统头脑的历程从研究多个“详细”最先
剖析vs.封装——粗粒度架构来自自顶向下剖析,,,细粒度架构来自自底向上封装
接口vs.实现——接口界说“做什么”,,,实现界说“怎么做”
统一接口——下层有多种“怎么做”时,,,不要直接挪用,,,要通过统一接口挪用
通用效劳——提炼可复用的显示/通讯/存储效劳,,,“功效代码”就精练易修改了
……悟道训练,,,一起画脑图

【????樗摹 隔离转变——设计好内部接口、对外接口
我们常设计这两种接口
1. 远程及板间接口或协议
2. ????榧督涌诨蛐挛
远程及板间接口或协议——怎样设计
办法一:接口交互历程设计
办法二:接口实现手艺选择
办法三:接口参数名堂界说
案例:剖析著名接口规范 ……


????榧督涌凇忠掌
Call(挪用)
Message(新闻)
Callback(回调)
远程及板间接口或协议——API二次封装
底层协议:认真通用性、跨平台
提供API :认真屏障细节、利便开发
案例剖析……
????榧督涌凇次封装
焦点接口 vs. 便捷接口(对焦点接口的包装)
可设置性
拷资料——对应的资料分享
接口规范…
接口案例…
API 案例…
【????槲濉 职业生涯——从单板架构师,,,到计划架构师
谈行业趋势,,,聊职业生长
1. IT行业的人才模子
2. 电子企业的常见生长路径
3. 我们小我私家的生长方略


计划架构师设计自控计划时,,,事情内容有哪些????
1. 逻辑设计 = 分层设计 + 功效子系统划分
2. 物理设计 = 硬件拓扑 + 软组件漫衍设计
3. 手艺选型 = 开发手艺 + 运行情形选型
4. 接口设计 = 接口手艺选择 + 接口协议界说


自控计划中的上位机软件设计
1. 五横一纵——上位机软件的????榉植隳J
2. ????榛帧纸涌谛枨
3. ????榛帧止π枨
拷资料——对应的资料分享
《GB设计书》文档模板解读、现实规范剖析
【详细完整版的课程先容,,,请选择在线客服,,,或致电0755-86718676,,,免费索取。。。】

