背景
在各行各業(yè)存在很多不同的智能設備,每個設備都使用芯片去實現(xiàn)不同的業(yè)務場景需求。本文將以常用的STM32F407ZG芯片為例,介紹OpenHarmony瘦設備內(nèi)核移植方法,希望能對熱愛OpenHarmony的開發(fā)小伙伴有所幫助。
認識芯片架構(gòu)、Soc、開發(fā)板

芯片架構(gòu)是指芯片的內(nèi)部器件構(gòu)造以及對應的指令集,比如PC使用的英特爾i7或者AMD的R7-4800都是x86架構(gòu),手機使用的驍龍8Gen2芯片使用的則是ARM架構(gòu)。
SoC是指具體的芯片架構(gòu)實現(xiàn),芯片廠商針對不同的應用場景開發(fā)出的芯片各不相同,但要符合架構(gòu)定義,比如STM32F470就會有不同的定制版本,有些Flash會大一些,有些則是芯片封裝或者引腳數(shù)不同。
開發(fā)板則是板卡廠商針對不同的產(chǎn)品定制的不同開發(fā)板,會根據(jù)業(yè)務需求設計不同的PCB、外設器件。
本文采用正點原子的STM32F407ZG開發(fā)板,對應的開發(fā)板、SoC、芯片架構(gòu)分別是:
-
開發(fā)板型號:explorer(探索者)
-
板卡廠商:alientek(正點原子)
-
芯片型號:STM32F407ZGT6
-
芯片系列:STM32F407
-
芯片廠商:ST(意法半導體)
-
具體架構(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ā)板不同,難度不大。配置板卡編譯相關的工具鏈,以及最為核心的啟動匯編命令、鏈接庫腳本,將指定這里的main函數(shù)來啟動系統(tǒng)。Board相關的代碼位于://device/board
SoC
SoC片上系統(tǒng)層面的移植,芯片架構(gòu)已支持,有一定難度
配置芯片層級編譯依賴庫,包括CMSIS、HAL(硬件抽象層)等,這里包含操作總線、串口、時鐘、寄存等庫函數(shù)。SoC相關的代碼位于://device/soc
ARCH
目標芯片架構(gòu)不在支持的范圍內(nèi)的全新架構(gòu)移植,難度較大。ARCH相關的代碼存放在//kernel/liteos_m/arch文件夾中。整體難易度:Vendor < Board < SoC < ARCH
OpenHarmony瘦設備已支持的芯片架構(gòu)

源碼路徑為:kernel/liteos_m/arch/arm

總結(jié)
OpenHarmony瘦設備的移植需要從芯片架構(gòu)、SoC、開發(fā)板開始,因此本文首先講述了三者之前的關系。瘦設備使用的內(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的工地檢測平臺設計
-
DevEco Device Tool 3.1 Release新版本發(fā)布
提示:本文由電子發(fā)燒友論壇發(fā)布,轉(zhuǎn)載請注明來源。如需社區(qū)合作及入群交流,請?zhí)砑游⑿臙EFans0806,或者發(fā)郵箱liuyong@huaqiu.com。
原文標題:OpenHarmony瘦設備內(nèi)核移植實戰(zhàn)(一)
文章出處:【微信公眾號:電子發(fā)燒友開源社區(qū)】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
-
電子發(fā)燒友
+關注
關注
33文章
591瀏覽量
34132 -
開源社區(qū)
+關注
關注
1文章
95瀏覽量
798
原文標題:OpenHarmony瘦設備內(nèi)核移植實戰(zhàn)(一)
文章出處:【微信號:HarmonyOS_Community,微信公眾號:電子發(fā)燒友開源社區(qū)】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
【原創(chuàng)】OpenHarmony系統(tǒng)投屏工具軟件 - OpenHarmony_OHScrcpy使用推薦
基于M4-R1開發(fā)板的OpenHarmony開發(fā)實戰(zhàn)丨創(chuàng)建第一個應用工程
迅為驅(qū)動開發(fā)實戰(zhàn):iTOP-RK3568開發(fā)板eDP屏幕移植全攻略
【迅為工業(yè)RK3568穩(wěn)定可靠】itop-3568開發(fā)板Linux驅(qū)動開發(fā)實戰(zhàn):RK3568內(nèi)核模塊符號導出詳解
將蜂鳥E203的內(nèi)核移植到fpga之后該怎么進行二次開發(fā)呢?
如何把蜂鳥E203的核移植在N4DDR平臺上?
E203內(nèi)核移植到FPGA開發(fā)板時出現(xiàn)時序違例的解決方式
迅為RK3568開發(fā)板OpeHarmony學習開發(fā)手冊1.1-內(nèi)核移植優(yōu)化
RT-Thread Nano硬核移植指南:手把手實現(xiàn)VGLite圖形驅(qū)動適配 | 技術(shù)集結(jié)
從DeepSeek到Qwen,AI大模型的移植與交互實戰(zhàn)指南-飛凌嵌入式
北京迅為RK3568開發(fā)板OpenHarmony系統(tǒng)南向驅(qū)動開發(fā)內(nèi)核HDF驅(qū)動框架架構(gòu)
OpenHarmony瘦設備內(nèi)核移植實戰(zhàn)(一)
評論