關(guān)于我們
書單推薦
新書推薦
|
OneOS開發(fā)進(jìn)階
本書包括驅(qū)動(dòng)篇(第1章-第9章):分別講解了OneOs的設(shè)備驅(qū)動(dòng)的原理以及源碼,實(shí)現(xiàn)IIC、SPI等多種通信機(jī)制設(shè)備驅(qū)動(dòng)講解。組件篇(第10章-第15章):分別講解0ne0S部分組件的原理以及源碼,實(shí)現(xiàn)MQTT、CoAP等網(wǎng)絡(luò)協(xié)議講解。異核通信篇(第16章-第21章):本篇講解如何實(shí)現(xiàn)主處理器對(duì)協(xié)處理器生命周期管理以及如何實(shí)現(xiàn)核間通信。全書教你如何從0ne0S內(nèi)核到0neOS的設(shè)備驅(qū)動(dòng)以及組件的應(yīng)用、如何在0ne0S線程進(jìn)行編程。
目 錄
驅(qū)動(dòng)篇 1章OneOS設(shè)備驅(qū)動(dòng)框架2 1.1設(shè)備驅(qū)動(dòng)模型2 1.2系統(tǒng)調(diào)用接口3 2章OneOS ADC設(shè)備8 2.1ADC簡(jiǎn)介8 2.2STM32CubeMX配置14 2.3單通道ADC采集實(shí)驗(yàn)16 2.3.1功能設(shè)計(jì)16 2.3.2軟件設(shè)計(jì)16 2.3.4下載驗(yàn)證17 3章OneOS Serial設(shè)備18 3.1串口簡(jiǎn)介18 3.1.1數(shù)據(jù)通信的基礎(chǔ)概念18 3.1.2串口通信協(xié)議20 3.2STM32CubeMX配置22 3.3串口通信實(shí)驗(yàn)24 3.3.1功能設(shè)計(jì)24 3.3.2軟件設(shè)計(jì)25 3.3.3下載驗(yàn)證27 4章OneOS IIC設(shè)備29 4.1IIC及24C0229 4.1.1IIC簡(jiǎn)介29 4.1.224C02簡(jiǎn)介32 4.2IIC相關(guān)數(shù)據(jù)類型及API函數(shù)34 4.2.1IIC相關(guān)的數(shù)據(jù)類型34 4.2.2IIC的相關(guān)API函數(shù)35 4.3OneOSCube配置39 4.4IIC實(shí)驗(yàn)40 4.4.1功能設(shè)計(jì)40 4.4.2軟件設(shè)計(jì)41 4.4.3下載驗(yàn)證45 5章OneOS SPI設(shè)備46 5.1SPI及r Flash芯片46 5.1.1SPI介紹46 5.1.2r Flash50 5.2SPI API函數(shù)54 5.3STM32CubeMX配置55 5.4SPI實(shí)驗(yàn)57 5.4.1功能設(shè)計(jì)57 5.4.2軟件設(shè)計(jì)58 5.4.3下載驗(yàn)證62 6章OneOS RTC設(shè)備63 6.1RTC簡(jiǎn)介63 6.2RTC相關(guān)函數(shù)63 6.3STM32CubeMX配置65 6.4RTC實(shí)驗(yàn)66 6.4.1功能設(shè)計(jì)66 6.4.2軟件設(shè)計(jì)66 6.4.3下載驗(yàn)證68 7章OneOS Clocksource設(shè)備69 7.1Clocksource簡(jiǎn)介69 7.2Clocksource相關(guān)函數(shù)69 7.3STM32CubeMX配置71 7.4Clocksource實(shí)驗(yàn)72 7.4.1功能設(shè)計(jì)72 7.4.2軟件設(shè)計(jì)72 7.4.3下載驗(yàn)證76 8章OneOS Clockevent設(shè)備77 8.1Clockevent簡(jiǎn)介77 8.2Clockevent相關(guān)函數(shù)77 8.3STM32CubeMX配置80 8.4Clockevent實(shí)驗(yàn)81 8.4.1功能設(shè)計(jì)81 8.4.2軟件設(shè)計(jì)82 8.4.3下載驗(yàn)證85 9章OneOS CAN設(shè)備86 9.1CAN簡(jiǎn)介86 9.2CAN相關(guān)函數(shù)87 9.3STM32CubeMX配置92 9.4CAN實(shí)驗(yàn)93 9.4.1功能設(shè)計(jì)93 9.4.2軟件設(shè)計(jì)94 9.4.3下載驗(yàn)證96 組件篇 10章DLOG日志系統(tǒng)99 10.1DLOG日志系統(tǒng)簡(jiǎn)介99 10.2DLOG日志系統(tǒng)相關(guān)函數(shù)100 10.3STM32CubeMX配置107 10.4DLOG日志系統(tǒng)實(shí)驗(yàn)108 10.4.1功能設(shè)計(jì)108 10.4.2軟件設(shè)計(jì)108 10.4.3下載驗(yàn)證110 11章文件系統(tǒng)116 11.1文件系統(tǒng)簡(jiǎn)介116 11.2文件系統(tǒng)相關(guān)函數(shù)117 11.3STM32CubeMX配置130 11.4文件系統(tǒng)實(shí)驗(yàn)131 11.4.1功能設(shè)計(jì)131 11.4.2軟件設(shè)計(jì)131 11.4.3下載驗(yàn)證134 12章MoLink模組連接套件136 12.1MoLink模組簡(jiǎn)介136 12.1.1什么是MoLink136 12.1.2MoLink架構(gòu)解析137 12.2MoLink模組API函數(shù)141 12.2.1模組管理接口141 12.2.2通用控制接口143 12.2.3網(wǎng)絡(luò)服務(wù)接口146 12.3Socket套件使用152 12.3.1Socket API函數(shù)153 12.3.2Socket編程UDP流程160 12.3.3Socket編程TCP客戶端流程160 12.3.4Socket編程TCP服務(wù)器流程161 12.4MoLink模組實(shí)驗(yàn)161 12.4.1功能設(shè)計(jì)161 12.4.2軟件設(shè)計(jì)161 12.4.3下載驗(yàn)證165 13章CoAP協(xié)議167 13.1CoAP協(xié)議簡(jiǎn)介167 13.2OneOS配置CoAP協(xié)議168 13.3libCoAP協(xié)議API函數(shù)168 13.4CoAP協(xié)議實(shí)驗(yàn)178 13.4.1功能設(shè)計(jì)178 13.4.2軟件設(shè)計(jì)178 13.4.3下載驗(yàn)證183 14章MQTT協(xié)議184 14.1MQTT協(xié)議簡(jiǎn)介184 14.2MQTT協(xié)議原理185 14.2.1MQTT協(xié)議實(shí)現(xiàn)方式185 14.2.2MQTT網(wǎng)絡(luò)傳輸與應(yīng)用消息186 14.2.3MQTT客戶端186 14.2.4MQTT服務(wù)器186 14.2.5MQTT協(xié)議中的訂閱、主題、會(huì)話186 14.2.6MQTT協(xié)議的服務(wù)質(zhì)量以及消息類型187 14.2.7MQTT協(xié)議數(shù)據(jù)包結(jié)構(gòu)188 14.3MQTT協(xié)議實(shí)現(xiàn)原理191 14.4OneNET Kit解析194 14.5OneNET Kit數(shù)據(jù)結(jié)構(gòu)以及API函數(shù)解析196 14.5.1MQTTAPI列表199 14.5.2OneNET平臺(tái)配置MQTT203 14.6MQTT實(shí)驗(yàn)205 14.6.1功能設(shè)計(jì)205 14.6.2軟件設(shè)計(jì)205 14.6.3下載驗(yàn)證210 15章OTA遠(yuǎn)程升級(jí)211 15.1OTA簡(jiǎn)介211 15.2OneOS OTA函數(shù)211 15.3OneOS的OTA配置214 15.4OTA實(shí)驗(yàn)218 15.4.1功能設(shè)計(jì)218 15.4.2軟件設(shè)計(jì)218 15.4.3下載驗(yàn)證219 異核通信篇 16章配置OpenAMP221 16.1構(gòu)建STM32MP157的OneOS工程221 16.2STM32CubeMX配置224 16.2.1開啟IPCC224 16.2.2開啟OpenAMP225 16.3構(gòu)建工程226 16.4編譯工程229 17章STM32MP157資源分配231 17.1STM32MP157資源231 17.2STM32MP157內(nèi)核外設(shè)分配232 17.3STM32MP157存儲(chǔ)分配238 18章異核通信框架242 18.1SMP和AMP架構(gòu)242 18.1.1同構(gòu)和異構(gòu)242 18.1.2SMP和AMP243 18.2IPCC通信框架245 18.2.1Mailbo框架245 18.3.2IPCC框架246 18.3OpenAMP框架247 18.3.1Virtio(虛擬化模塊)248 18.3.2RPMsg(遠(yuǎn)程處理器消息傳遞)248 18.3.3Remoteproc(遠(yuǎn)程處理)250 18.4驅(qū)動(dòng)文件252 18.4.1Linu驅(qū)動(dòng)編譯配置252 18.4.2Linu驅(qū)動(dòng)文件253 18.4.3M4工程驅(qū)動(dòng)文件255 19章Remoteproc相關(guān)驅(qū)動(dòng)簡(jiǎn)析258 19.1資源表258 19.2存儲(chǔ)和系統(tǒng)資源分配262 19.2.1存儲(chǔ)分配262 19.2.2系統(tǒng)資源分配265 19.3Linu下Remoteproc相關(guān)API函數(shù)270 19.3.1rproc結(jié)構(gòu)體272 19.3.2初始化 Remoteproc 實(shí)例272 19.3.3出Remoteproc 實(shí)例274 19.3.4啟動(dòng)遠(yuǎn)程處理器274 19.3.5關(guān)閉遠(yuǎn)程處理器276 19.3.6分配遠(yuǎn)程處理器句柄278 19.3.7注冊(cè)遠(yuǎn)程處理器280 19.3.8rproc設(shè)備樹節(jié)點(diǎn)287 19.4分散加載文件291 19.4.1分散加載文件地址分配291 19.4.2重新劃分存儲(chǔ)區(qū)域293 19.5Remoteproc的使用297 19.5.1硬件連接297 19.5.2傳輸固件297 19.5.3加載和運(yùn)行固件301 19.5.4關(guān)閉固件305 19.5.4編寫腳本305 20章RPMsg相關(guān)驅(qū)動(dòng)308 20.1Linu下RPMsg相關(guān)驅(qū)動(dòng)文件308 20.1.1相關(guān)的結(jié)構(gòu)體310 20.1.2緩沖區(qū)314 20.1.3創(chuàng)建RPMsg通道API函數(shù)315 20.1.4創(chuàng)建RPMsg 端點(diǎn)API函數(shù)317 20.1.5發(fā)送消息API函數(shù)318 20.2OpenAMP庫中的API函數(shù)324 20.2.1初始化IPCC API函數(shù)324 20.2.2初始化OpenAMP API函數(shù)325 20.2.3回調(diào)函數(shù)326 20.2.4創(chuàng)建RPMsg端點(diǎn)API函數(shù)327 20.2.5輪詢API函數(shù)327 20.2.6發(fā)送消息API函數(shù)328 20.3基于RPMsg的異核通信實(shí)驗(yàn)330 20.3.1功能設(shè)計(jì)330 20.3.2軟件設(shè)計(jì)331 20.3.3實(shí)驗(yàn)驗(yàn)證339 21章基于虛擬串口實(shí)現(xiàn)異核通信346 21.1虛擬串口概述346 21.2Linu下虛擬串口驅(qū)動(dòng)分析348 21.3OpenAMP庫中的API函數(shù)352 21.3.1虛擬串口初始化API函數(shù)352 21.3.2虛擬串口回調(diào)API函數(shù)352 21.3.3注冊(cè)回調(diào)函數(shù)352 21.3.4虛擬串口發(fā)送API函數(shù)353 21.4OneOS下虛擬串口驅(qū)動(dòng)分析353 21.5基于虛擬串口的異核通信實(shí)驗(yàn)1355 21.5.1功能設(shè)計(jì)355 21.5.2軟件設(shè)計(jì)356 21.5.3實(shí)驗(yàn)驗(yàn)證359 21.6基于虛擬串口的異核通信實(shí)驗(yàn)2364 21.6.1功能設(shè)計(jì)364 21.6.2軟件設(shè)計(jì)364 21.6.3實(shí)驗(yàn)驗(yàn)證367 附錄A萬耦天工STM32F103開發(fā)板370 附錄B萬耦天工STM32MP157開發(fā)板377 參考文獻(xiàn)386
你還可能感興趣
我要評(píng)論
|