114培訓(xùn)網(wǎng)歡迎您來到江蘇蘇嵌教育!

15757356768

全國統(tǒng)一學(xué)習(xí)專線 9:00-21:00

江蘇嵌入式軟件架構(gòu)實(shí)戰(zhàn)培訓(xùn)學(xué)校

授課機(jī)構(gòu):江蘇蘇嵌教育

關(guān)注度:2470

課程價(jià)格: 請(qǐng)咨詢客服

上課地址:請(qǐng)咨詢客服

開課時(shí)間:滾動(dòng)開班

咨詢熱線:15757356768

在線報(bào)名

課程詳情在線報(bào)名

更新時(shí)間:2024-12-27

                                                          課程詳情

適用對(duì)象
不限

課程內(nèi)容

嵌入式軟件架構(gòu)實(shí)戰(zhàn)培訓(xùn)

課程大綱:

程序結(jié)構(gòu)設(shè)計(jì)做到模塊間松耦合(*天)

【嵌入式軟件的挑戰(zhàn)】

a)功能實(shí)現(xiàn)與具體硬件無關(guān)b)硬件無關(guān)與硬件相關(guān)代碼分離c)應(yīng)付硬件變化:硬件接口模塊的可替換性可修改性d)應(yīng)付協(xié)議變化:協(xié)議代碼模塊的可替換性可修改性

【講案例】大中小嵌軟架構(gòu)實(shí)例觀摩a)固件分層案例b)產(chǎn)品化分層案例c)平臺(tái)化分層案例Ad)平臺(tái)化分層案例Be)平臺(tái)化分層案例C

【講技術(shù)】大中小嵌軟的代碼分層a)洋蔥皮b)UI-SI-DI-PDc)固件五橫一縱d)產(chǎn)品六橫一縱e)平臺(tái)分層

運(yùn)行時(shí)結(jié)構(gòu)設(shè)計(jì)做到硬件間*聯(lián)動(dòng)(第1天)

【嵌入式軟件的挑戰(zhàn)】a)運(yùn)行邏輯復(fù)雜,難設(shè)計(jì)?b)靠全局變量通信,緊耦合?

【講案例】從固件到整機(jī)嵌軟實(shí)例觀摩a)設(shè)計(jì)案例1無OS。While(1)中順序執(zhí)行任務(wù)函數(shù)b)設(shè)計(jì)案例2無OS。While(1)中執(zhí)行時(shí)間片任務(wù)c)設(shè)計(jì)案例3有OS。ISR與Task信號(hào)量通信,Task間隊(duì)列通信

【講技術(shù)】技術(shù)對(duì)比a)前后臺(tái)結(jié)構(gòu)(死循環(huán)+中斷)骨架代碼對(duì)比

b)時(shí)間片輪詢(Time-slicePolling)骨架代碼對(duì)比

c)多任務(wù)結(jié)構(gòu)(OS-basedMulti-task)骨架代碼對(duì)比

底層模塊的漂亮設(shè)計(jì)做到可重用可擴(kuò)展(*天)

【嵌入式軟件架構(gòu)師的崗位能力】

合格:封裝硬件細(xì)節(jié)暴露訪問接口

*:能做到支持新硬件只需局部擴(kuò)展

牛人:在HAL層提供顯示服務(wù)/通信服務(wù)/存儲(chǔ)服務(wù)

【講案例】嵌軟HAL模塊就該這么設(shè)計(jì)

a)從led驅(qū)動(dòng),到閃爍可配置/可循環(huán)的HALAPI源代碼案例

b)從2.4G無線,到發(fā)包調(diào)用/收包回調(diào)的HALAPI源代碼案例

c)從I2C讀寫,到EEPROM的延遲寫HALAPI

【講技術(shù)】嵌軟HAL設(shè)計(jì)技巧

a)利用callback讓模塊:局部處理可擴(kuò)展

b)利用配置數(shù)組讓模塊:整體邏輯可配置

c)利用Union結(jié)構(gòu)讓模塊:支持多種數(shù)據(jù)類型

d)利用函數(shù)指針結(jié)構(gòu)體讓模塊:接口一致的多個(gè)模塊可替換

四種需求變更的應(yīng)對(duì)讓需求變更不再痛苦(第2天)

需求變更

A類:不同廠商的器件

B類:不同類型的器件

C類:不同網(wǎng)絡(luò)或協(xié)議

D類:不同功能或算法

案例

A類應(yīng)對(duì)drv.c局部改變,接口不變

實(shí)例分析

B類應(yīng)對(duì)drv.c改變,hal不變

實(shí)例分析

C類應(yīng)對(duì)設(shè)計(jì)支持協(xié)議的新增與適配

實(shí)例分析

D類應(yīng)對(duì)自底向上,逐級(jí)優(yōu)化設(shè)計(jì)

實(shí)例分析

【精講全過程】有代碼,有每一步修改

一個(gè)單片機(jī)軟件:架構(gòu)優(yōu)化+代碼重構(gòu)全過程

a)全新的模塊化

b)模塊的水平分層

c)模塊的跨層封裝

d)狀態(tài)機(jī)+可配置常用做法

模塊接口的漂亮設(shè)計(jì)搞定Call/Callback/Msg接口(第2天)

【嵌入式軟件架構(gòu)師的崗位能力】

合格:Call接口設(shè)計(jì)

*:搞定Call/Callback/Msg接口

牛人:接口支持任務(wù)或處理的運(yùn)行時(shí)注冊(cè)/注銷

【講案例】漂亮接口設(shè)計(jì)實(shí)例觀摩

a)經(jīng)典Callback接口設(shè)計(jì)

b)基于注冊(cè)的Callback接口設(shè)計(jì)

遠(yuǎn)程協(xié)議的漂亮設(shè)計(jì)搞定*復(fù)雜的交互(第2天)

【嵌入式軟件架構(gòu)師的崗位挑戰(zhàn)】

協(xié)議設(shè)計(jì),對(duì)許多架構(gòu)師是挑戰(zhàn)

a)影響大:影響到多個(gè)程序/多個(gè)團(tuán)隊(duì)

b)設(shè)計(jì)難:不容易設(shè)計(jì)滿意

【講技術(shù)】協(xié)議設(shè)計(jì)思路

Howto:接口過程設(shè)計(jì)

Howto:接口技術(shù)選擇

Howto:接口格式定義

【講案例】牛案例示范協(xié)議設(shè)計(jì)難點(diǎn)

案例一:交互復(fù)雜型協(xié)議設(shè)計(jì)范例精髓精講

案例二:通用規(guī)范型協(xié)議設(shè)計(jì)范例精髓精講


姓名不能為空
手機(jī)號(hào)格式錯(cuò)誤