摘要:本文簡單介紹OpenHarmony輕量系統移植,會分多篇
適合群體:想自己動手移植OpenHarmony輕量系統的朋友
開始嘗試講解一下系統的移植,主要是輕量系統,也可能會順便講下L1移植。
1.1 移植類型
OpenHarmony輕量系統的移植比較簡單,代碼中解耦做得非常好。從代碼的設計理念上來看,移植主要是3部分的內容:
(1)ARCH部分的代碼
(2)SoC部分的代碼
(3)board級的代碼
從上至下我們可以用一張圖來做對比:
SoC是具體芯片,例如STM32、海思等,一個架構可以有多個芯片。
Board是具體開發板,例如3861有潤和的開發板、也有小熊派的開發板。
通常來說,相關架構的不同SoC,應該是共用一套ARCH代碼,不需要為每個SoC都重新寫一遍ARCH代碼,可以增加代碼的復用。
相關SoC的不通過board開發板,也應該共用一套SoC代碼即可,板卡之間的代碼差異應該放到board中。
基于如上設計,我們移植的類型可以分為3部分:
(1)ARCH移植:全新的架構級別的移植
(2)SoC移植:已支持的架構做SoC級別的移植
(3)board級別的移植:只針對開發板做少量移植。
移植的難度也是ARCH最難,SoC較難、board較簡單。
1.2 相關代碼
我們看下OpenHarmony輕量系統之3部分的代碼分別在哪里:
(1)ARCH相關代碼
ARCH相關的代碼存放在kernelliteos_march文件夾中
可以看到目前已支持的架構有ARM(M3、M4、M33、M7、ARM9)、csky、risc-v、xtensa。
(2)SoC相關代碼
SoC相關的代碼位于:devicesoc
(3)board相關代碼
board相關的代碼位于:device/board
(4)vendor相關代碼
除了以上3部分的代碼之外,還有廠商配置相關代碼,這一部分主要是用于編譯系統、HDF配置等,路徑為:vendor
內容如下:
1.3 移植思路
建議是先從最簡單的開始,路線如下:
vendor —— board —— soc —— ARCH
下一篇文章,將開始講解如何創建一個自己的vendor廠商配置和編譯流程。
一開始基于hi3861,之后會基于STM32或者gd32單片機開始,大家也可以在評論區里寫上想要移植的芯片型號。
原文標題:移植OpenHarmony輕量系統【1】移植思路
文章出處:【微信公眾號:HarmonyOS官方合作社區】歡迎添加關注!文章轉載請注明出處。
審核編輯:湯梓紅
-
soc
+關注
關注
38文章
4165瀏覽量
218244 -
移植
+關注
關注
1文章
379瀏覽量
28130 -
OpenHarmony
+關注
關注
25文章
3722瀏覽量
16313
原文標題:移植OpenHarmony輕量系統【1】移植思路
文章出處:【微信號:HarmonyOS_Community,微信公眾號:電子發燒友開源社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論