背景
在各行各業(yè)存在很多不同的智能設(shè)備,每個設(shè)備都使用芯片去實現(xiàn)不同的業(yè)務(wù)場景需求。本文將以常用的STM32F407ZG芯片為例,介紹OpenHarmony瘦設(shè)備內(nèi)核移植方法,希望能對熱愛OpenHarmony的開發(fā)小伙伴有所幫助。
認識芯片架構(gòu)、Soc、開發(fā)板
芯片架構(gòu)是指芯片的內(nèi)部器件構(gòu)造以及對應(yīng)的指令集,比如PC使用的英特爾i7或者AMD的R7-4800都是x86架構(gòu),手機使用的驍龍8Gen2芯片使用的則是ARM架構(gòu)。
SoC是指具體的芯片架構(gòu)實現(xiàn),芯片廠商針對不同的應(yīng)用場景開發(fā)出的芯片各不相同,但要符合架構(gòu)定義,比如STM32F470就會有不同的定制版本,有些Flash會大一些,有些則是芯片封裝或者引腳數(shù)不同。
開發(fā)板則是板卡廠商針對不同的產(chǎn)品定制的不同開發(fā)板,會根據(jù)業(yè)務(wù)需求設(shè)計不同的PCB、外設(shè)器件。
本文采用正點原子的STM32F407ZG開發(fā)板,對應(yīng)的開發(fā)板、SoC、芯片架構(gòu)分別是:
-
開發(fā)板型號:explorer(探索者)
-
板卡廠商:alientek(正點原子)
-
芯片型號:STM32F407ZGT6
-
芯片系列:STM32F407
-
芯片廠商:ST(意法半導(dǎo)體)
-
具體架構(gòu):Cortex-M4
-
芯片架構(gòu):ARM
內(nèi)核移植的四個層面
OH適配分為如下四個層面
Vendor
負責配置的目標產(chǎn)品的內(nèi)核類型、系統(tǒng)版本、子系統(tǒng)、三方庫等。編譯時,工具鏈依賴這里的配置。Vendor的代碼位于://vendor/
Board
開發(fā)板層面的移植,芯片已適配OH,只是開發(fā)板不同,難度不大。配置板卡編譯相關(guān)的工具鏈,以及最為核心的啟動匯編命令、鏈接庫腳本,將指定這里的main函數(shù)來啟動系統(tǒng)。Board相關(guān)的代碼位于://device/board
SoC
SoC片上系統(tǒng)層面的移植,芯片架構(gòu)已支持,有一定難度
配置芯片層級編譯依賴庫,包括CMSIS、HAL(硬件抽象層)等,這里包含操作總線、串口、時鐘、寄存等庫函數(shù)。SoC相關(guān)的代碼位于://device/soc
ARCH
目標芯片架構(gòu)不在支持的范圍內(nèi)的全新架構(gòu)移植,難度較大。ARCH相關(guān)的代碼存放在//kernel/liteos_m/arch文件夾中。整體難易度:Vendor < Board < SoC < ARCH
OpenHarmony瘦設(shè)備已支持的芯片架構(gòu)
源碼路徑為:kernel/liteos_m/arch/arm
總結(jié)
OpenHarmony瘦設(shè)備的移植需要從芯片架構(gòu)、SoC、開發(fā)板開始,因此本文首先講述了三者之前的關(guān)系。瘦設(shè)備使用的內(nèi)核為LiteOS-M,針對不同層面的移植工作的難易度、工作量也會有所不同,根據(jù)以往經(jīng)驗難易度排序為Vendor < Board < SoC < ARCH,下篇文章將繼續(xù)介紹移植前的準備工作。
更多熱點文章閱讀
- OpenHarmony開發(fā)者大會圓滿舉辦:3.2 Release版本發(fā)布,生態(tài)步入快車道
- DevEco Studio 3.1 Beta新特性知多少?
- Cocos攜手樂元素,《開心消消樂》成功移植OpenHarmony
- 開源樣例!基于小凌派RK2206的工地檢測平臺設(shè)計
-
DevEco Device Tool 3.1 Release新版本發(fā)布
提示:本文由電子發(fā)燒友論壇發(fā)布,轉(zhuǎn)載請注明來源。如需社區(qū)合作及入群交流,請?zhí)砑游⑿臙EFans0806,或者發(fā)郵箱liuyong@huaqiu.com。
原文標題:OpenHarmony瘦設(shè)備內(nèi)核移植實戰(zhàn)(一)
文章出處:【微信公眾號:電子發(fā)燒友開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
電子發(fā)燒友
+關(guān)注
關(guān)注
33文章
548瀏覽量
32870 -
開源社區(qū)
+關(guān)注
關(guān)注
0文章
93瀏覽量
397
原文標題:OpenHarmony瘦設(shè)備內(nèi)核移植實戰(zhàn)(一)
文章出處:【微信號:HarmonyOS_Community,微信公眾號:電子發(fā)燒友開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論