關(guān)于我們
書單推薦
新書推薦
|
OneOS開發(fā)進(jìn)階
本書包括驅(qū)動篇(第1章-第9章):分別講解了OneOs的設(shè)備驅(qū)動的原理以及源碼,實現(xiàn)IIC、SPI等多種通信機制設(shè)備驅(qū)動講解。組件篇(第10章-第15章):分別講解0ne0S部分組件的原理以及源碼,實現(xiàn)MQTT、CoAP等網(wǎng)絡(luò)協(xié)議講解。異核通信篇(第16章-第21章):本篇講解如何實現(xiàn)主處理器對協(xié)處理器生命周期管理以及如何實現(xiàn)核間通信。全書教你如何從0ne0S內(nèi)核到0neOS的設(shè)備驅(qū)動以及組件的應(yīng)用、如何在0ne0S線程進(jìn)行編程。
目 錄
驅(qū)動篇 1章OneOS設(shè)備驅(qū)動框架2 1.1設(shè)備驅(qū)動模型2 1.2系統(tǒng)調(diào)用接口3 2章OneOS ADC設(shè)備8 2.1ADC簡介8 2.2STM32CubeMX配置14 2.3單通道ADC采集實驗16 2.3.1功能設(shè)計16 2.3.2軟件設(shè)計16 2.3.4下載驗證17 3章OneOS Serial設(shè)備18 3.1串口簡介18 3.1.1數(shù)據(jù)通信的基礎(chǔ)概念18 3.1.2串口通信協(xié)議20 3.2STM32CubeMX配置22 3.3串口通信實驗24 3.3.1功能設(shè)計24 3.3.2軟件設(shè)計25 3.3.3下載驗證27 4章OneOS IIC設(shè)備29 4.1IIC及24C0229 4.1.1IIC簡介29 4.1.224C02簡介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實驗40 4.4.1功能設(shè)計40 4.4.2軟件設(shè)計41 4.4.3下載驗證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實驗57 5.4.1功能設(shè)計57 5.4.2軟件設(shè)計58 5.4.3下載驗證62 6章OneOS RTC設(shè)備63 6.1RTC簡介63 6.2RTC相關(guān)函數(shù)63 6.3STM32CubeMX配置65 6.4RTC實驗66 6.4.1功能設(shè)計66 6.4.2軟件設(shè)計66 6.4.3下載驗證68 7章OneOS Clocksource設(shè)備69 7.1Clocksource簡介69 7.2Clocksource相關(guān)函數(shù)69 7.3STM32CubeMX配置71 7.4Clocksource實驗72 7.4.1功能設(shè)計72 7.4.2軟件設(shè)計72 7.4.3下載驗證76 8章OneOS Clockevent設(shè)備77 8.1Clockevent簡介77 8.2Clockevent相關(guān)函數(shù)77 8.3STM32CubeMX配置80 8.4Clockevent實驗81 8.4.1功能設(shè)計81 8.4.2軟件設(shè)計82 8.4.3下載驗證85 9章OneOS CAN設(shè)備86 9.1CAN簡介86 9.2CAN相關(guān)函數(shù)87 9.3STM32CubeMX配置92 9.4CAN實驗93 9.4.1功能設(shè)計93 9.4.2軟件設(shè)計94 9.4.3下載驗證96 組件篇 10章DLOG日志系統(tǒng)99 10.1DLOG日志系統(tǒng)簡介99 10.2DLOG日志系統(tǒng)相關(guān)函數(shù)100 10.3STM32CubeMX配置107 10.4DLOG日志系統(tǒng)實驗108 10.4.1功能設(shè)計108 10.4.2軟件設(shè)計108 10.4.3下載驗證110 11章文件系統(tǒng)116 11.1文件系統(tǒng)簡介116 11.2文件系統(tǒng)相關(guān)函數(shù)117 11.3STM32CubeMX配置130 11.4文件系統(tǒng)實驗131 11.4.1功能設(shè)計131 11.4.2軟件設(shè)計131 11.4.3下載驗證134 12章MoLink模組連接套件136 12.1MoLink模組簡介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模組實驗161 12.4.1功能設(shè)計161 12.4.2軟件設(shè)計161 12.4.3下載驗證165 13章CoAP協(xié)議167 13.1CoAP協(xié)議簡介167 13.2OneOS配置CoAP協(xié)議168 13.3libCoAP協(xié)議API函數(shù)168 13.4CoAP協(xié)議實驗178 13.4.1功能設(shè)計178 13.4.2軟件設(shè)計178 13.4.3下載驗證183 14章MQTT協(xié)議184 14.1MQTT協(xié)議簡介184 14.2MQTT協(xié)議原理185 14.2.1MQTT協(xié)議實現(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é)議中的訂閱、主題、會話186 14.2.6MQTT協(xié)議的服務(wù)質(zhì)量以及消息類型187 14.2.7MQTT協(xié)議數(shù)據(jù)包結(jié)構(gòu)188 14.3MQTT協(xié)議實現(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平臺配置MQTT203 14.6MQTT實驗205 14.6.1功能設(shè)計205 14.6.2軟件設(shè)計205 14.6.3下載驗證210 15章OTA遠(yuǎn)程升級211 15.1OTA簡介211 15.2OneOS OTA函數(shù)211 15.3OneOS的OTA配置214 15.4OTA實驗218 15.4.1功能設(shè)計218 15.4.2軟件設(shè)計218 15.4.3下載驗證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存儲分配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ū)動文件252 18.4.1Linu驅(qū)動編譯配置252 18.4.2Linu驅(qū)動文件253 18.4.3M4工程驅(qū)動文件255 19章Remoteproc相關(guān)驅(qū)動簡析258 19.1資源表258 19.2存儲和系統(tǒng)資源分配262 19.2.1存儲分配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 實例272 19.3.3出Remoteproc 實例274 19.3.4啟動遠(yuǎn)程處理器274 19.3.5關(guān)閉遠(yuǎn)程處理器276 19.3.6分配遠(yuǎn)程處理器句柄278 19.3.7注冊遠(yuǎn)程處理器280 19.3.8rproc設(shè)備樹節(jié)點287 19.4分散加載文件291 19.4.1分散加載文件地址分配291 19.4.2重新劃分存儲區(qū)域293 19.5Remoteproc的使用297 19.5.1硬件連接297 19.5.2傳輸固件297 19.5.3加載和運行固件301 19.5.4關(guān)閉固件305 19.5.4編寫腳本305 20章RPMsg相關(guān)驅(qū)動308 20.1Linu下RPMsg相關(guān)驅(qū)動文件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 端點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端點API函數(shù)327 20.2.5輪詢API函數(shù)327 20.2.6發(fā)送消息API函數(shù)328 20.3基于RPMsg的異核通信實驗330 20.3.1功能設(shè)計330 20.3.2軟件設(shè)計331 20.3.3實驗驗證339 21章基于虛擬串口實現(xiàn)異核通信346 21.1虛擬串口概述346 21.2Linu下虛擬串口驅(qū)動分析348 21.3OpenAMP庫中的API函數(shù)352 21.3.1虛擬串口初始化API函數(shù)352 21.3.2虛擬串口回調(diào)API函數(shù)352 21.3.3注冊回調(diào)函數(shù)352 21.3.4虛擬串口發(fā)送API函數(shù)353 21.4OneOS下虛擬串口驅(qū)動分析353 21.5基于虛擬串口的異核通信實驗1355 21.5.1功能設(shè)計355 21.5.2軟件設(shè)計356 21.5.3實驗驗證359 21.6基于虛擬串口的異核通信實驗2364 21.6.1功能設(shè)計364 21.6.2軟件設(shè)計364 21.6.3實驗驗證367 附錄A萬耦天工STM32F103開發(fā)板370 附錄B萬耦天工STM32MP157開發(fā)板377 參考文獻(xiàn)386
你還可能感興趣
我要評論
|