課程描述INTRODUCTION
日程(cheng)安排SCHEDULE
課程大綱Syllabus
課程大綱
________________________________________
【模塊一】 人人掌握——嵌入式需求
理大局——嵌入式軟件需求分析的過程【步驟明確,經驗干貨】
步 驟 一:系統邊界分析——上下文圖 and 硬件結構圖
步 驟 二:功能需求分析——功能樹 or 用例圖
步 驟 三:用戶接口分析——菜單樹 and 界面流
步 驟 四:軟硬接口分析——和外部軟硬件的接口規約
步 驟 五:功能步驟分析——輸入-處理-輸出 or 用例規約
步 驟 六:質量需求分析——本課關注步驟級實時、步驟級可靠
一組案例……
劃重點——關鍵點的講與練
? 輸入-處理-輸出定義功能需求……頑疾是需求項又多又散?分析、解決。
? 與外部軟、硬件的接口需求 ……頂層數據流圖、上下文圖、硬件結構圖
? 高性能和可靠性等質量需求 ……質量需求如何定義?以某控制器為案例
? 一組案例……
? 特復雜(za)的功(gong)能邏輯如何搞定? = 主控流程+可能事(shi)件(jian)與分支(zhi)流程 + 步驟規則
拷資料——文檔模板 + 案例資料【外企模板,*分享】
? 《需求規格》模板
? 《需求規格》實例
? 一(yi)組案例……例如,質量(liang)90%可以用“功(gong)能的步驟級規則”來定(ding)義
【模塊二】 始于需求——自頂向下設計運行控制結構
理大局——運行控制結構的設計過程【步驟明確,經驗干貨】
步驟一:分析需求 (功能范圍+硬件結構)
步驟二:識別核心模塊
步驟三:確定控制流,設計控制模式
步驟四:對關鍵功能,跑通控制過程
案(an)例分析……上面四步,都有實際案(an)例,并講解(jie)自(zi)頂向(xiang)下思維運用(yong)
劃重點——三種嵌入式“運行控制結構”模式
結構一:多任務結構(OS-based Multi-task)
結構二:前后臺結構(死循環+中斷)
結構三:時間片輪詢(Time-slice Polling)
一(yi)組(zu)案例(li)……
劃重點——前后臺與時間片架構的幾個細節
? 【大局】采集-分析-控制模式
? 【局部 1】轉delay為中斷
? 【局部 2】占空比與中斷
? 【局部 3】函數的可重入設計
? 【局部 4】核心代碼性能
? 高事件(jian)率架構案例:多任務 vs. 時間(jian)片輪(lun)轉
劃重點——統一回答幾個“大的疑問”
? 問:我們公司系統比較復雜,性能要求也比較多,總感覺理不清?
? 問:我們公司好像沒人會畫多線程協作圖。請問,怎么畫?
? 問:我們公司嵌(qian)入式分層架構太泛,沒把代碼塊、線程、中斷等說清(qing)楚!
【模塊三】 深入詳盡——嵌入式分層實戰技巧
理大局——嵌入式代碼架構,就這么設計【步驟明確,經驗干貨】
步驟一:借助模式,按“五橫一縱”組織模塊層次
步驟二:自底向上,先把硬件接口代碼模塊設計好
步驟三:接口抽象,為多種硬件提供統一接口
步驟四:服務抽象,提煉可復用的顯示/通信/存儲服務
步驟五:設計功能層模塊,確定它對下層模塊的調用
步驟六:設計初始化模塊,確定它對下層模塊的創建和設置
案例分析……上面六步都有實際案例。重點步驟,有代碼案例。
劃重點——關鍵點的講與練【有代碼,有真貨】
Module對Task/Thread的封裝
===Module設計的*要求:沒有隱藏就沒有簡化
===模塊封裝task——Message和Task的架構級應用
Module的可擴展&可配置&可插拔
===模塊的可配置式設計——Config Array的架構級應用
Interface對多個差異模塊的統一抽象
===函數指針結構體的架構級應用
上層對下層的“封裝”與“組裝”
===模塊封裝模塊——layer思想的代碼實現
===main()如(ru)何優(you)雅地“啟動”各模塊(kuai)
拷資料——上述技能,分別對應的代碼案例
? 代碼案例…
? 代碼案例…
思想的飛躍——架構之道【學員反饋:“大徹大悟的感覺真爽!”】
? 自頂向下——分解思維。架構早期。立足業務,根據需求分解出粗粒度架構
? 自底向上——封裝思維。架構后期。立足實現,隱藏細節,統一接口,提煉服務
? 抽象vs.具體——抽象是結果,抽象思維的過程從研究多個“具體”開始
? 分解vs.封裝——粗粒度架構來自自頂向下分解,細粒度架構來自自底向上封裝
? 接口vs.實現——接口定義“做什么”,實現定義“怎么做”
? 統一接口——下層有多種“怎么做”時,不要直接調用,要通過統一接口調用
? 通用服務——提煉可復用的顯示/通信/存儲服務,“功能代碼”就簡潔易修改了
? ……悟(wu)道練習,一起(qi)畫腦(nao)圖
【模塊四】 隔離變化——設計好內部接口、對外接口
我們常設計這兩種接口
1. 遠程及板間接口或協議
2. 模(mo)塊級接(jie)口或(huo)消息
遠程及板間接口或協議——如何設計
步驟一:接口交互過程設計
步驟二:接口實現技術選擇
步驟三:接口參數格式定義
案例(li):分析*接口規范 ……
模塊級接口——技術風格
? Call(調用)
? Message(消息)
? Callback(回調)
遠程及板間接口或協議——API二次封裝
? 底層協議:負責通用性、跨平臺
? 提供API :負責屏蔽細節、方便開發
? 案例分析……
模塊級接口——二次封裝
? 核心接口 vs. 便捷接口(對核心接口的包裝)
? 可配置性
拷資料——對應的資料分享
? 接口規范…
? 接口案例…
? API 案例…
【模塊五】 職業生涯——從單板架構師,到方案架構師
談行業趨勢,聊職業發展
1. IT行業的人才模型
2. 電子企業的常見發展路徑
3. 我們個人的(de)發展方略
方案架構師設計自控方案時,工作內容有哪些?
1. 邏輯設計 = 分層設計 + 功能子系統劃分
2. 物理設計 = 硬件拓撲 + 軟組件分布設計
3. 技術選型 = 開發技術 + 運行環境選型
4. 接口(kou)設計(ji) = 接口(kou)技術選擇(ze) + 接口(kou)協(xie)議定(ding)義
自控方案中的上位機軟件設計
1. 五橫一縱——上位機軟件的模塊分層模式
2. 模塊劃分——覆蓋接口需求
3. 模塊劃分——覆蓋功能需(xu)求
拷資料——對應的資料分享
《GB設計書》文(wen)檔模板(ban)解讀(du)、實際(ji)范例分析
轉載://citymember.cn/gkk_detail/61596.html
已開(kai)課(ke)時間(jian)Have start time
專業技術內訓
- 分布式操作系統技術培訓 劉暉
- 技術優化及設計優化手段、圖 楊海軍(jun)
- 《雙管齊下,全面開花》 — 吳建(jian)宏(hong)
- 壓縮空氣儲能技術及應用實戰 鄭(zheng)文強
- 氫能技術及應用 劉(liu)暉
- 《技術創新:Triz原理與 高偉(
- 區塊鏈技術在食品藥品領域的 劉暉
- 專利預警與專利導航實務 曾(ceng)少林
- 量子信息技術發展與應用 劉暉
- 總工實戰技能——第三代核電 鄭文(wen)強
- 《生物特征識別技術》 王明哲
- 儲能技術實戰應用 鄭(zheng)文強