RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何移植OpenHarmony輕量系統(tǒng)

電子發(fā)燒友開源社區(qū) ? 來(lái)源:HarmonyOS官方合作社區(qū) ? 作者:HarmonyOS官方合作社 ? 2022-02-25 12:14 ? 次閱讀

摘要:本文簡(jiǎn)單介紹OpenHarmony輕量系統(tǒng)移植,會(huì)分多篇

適合群體:想自己動(dòng)手移植OpenHarmony輕量系統(tǒng)的朋友

開始嘗試講解一下系統(tǒng)的移植,主要是輕量系統(tǒng),也可能會(huì)順便講下L1移植。

1.1 移植類型

OpenHarmony輕量系統(tǒng)的移植比較簡(jiǎn)單,代碼中解耦做得非常好。從代碼的設(shè)計(jì)理念上來(lái)看,移植主要是3部分的內(nèi)容:

(1)ARCH部分的代碼

(2)SoC部分的代碼

(3)board級(jí)的代碼

從上至下我們可以用一張圖來(lái)做對(duì)比:

如何移植OpenHarmony輕量系統(tǒng)

ARCH也就是架構(gòu),例如arm架構(gòu)、RISC-V架構(gòu)等

SoC是具體芯片,例如STM32、海思等,一個(gè)架構(gòu)可以有多個(gè)芯片。

Board是具體開發(fā)板,例如3861有潤(rùn)和的開發(fā)板、也有小熊派的開發(fā)板。

通常來(lái)說(shuō),相關(guān)架構(gòu)的不同SoC,應(yīng)該是共用一套ARCH代碼,不需要為每個(gè)SoC都重新寫一遍ARCH代碼,可以增加代碼的復(fù)用。

相關(guān)SoC的不通過(guò)board開發(fā)板,也應(yīng)該共用一套SoC代碼即可,板卡之間的代碼差異應(yīng)該放到board中。

基于如上設(shè)計(jì),我們移植的類型可以分為3部分:

(1)ARCH移植:全新的架構(gòu)級(jí)別的移植

(2)SoC移植:已支持的架構(gòu)做SoC級(jí)別的移植

(3)board級(jí)別的移植:只針對(duì)開發(fā)板做少量移植。

移植的難度也是ARCH最難,SoC較難、board較簡(jiǎn)單。

1.2 相關(guān)代碼

我們看下OpenHarmony輕量系統(tǒng)之3部分的代碼分別在哪里:

(1)ARCH相關(guān)代碼

ARCH相關(guān)的代碼存放在kernelliteos_march文件夾中

如何移植OpenHarmony輕量系統(tǒng)

可以看到目前已支持的架構(gòu)有ARM(M3、M4、M33、M7、ARM9)、csky、risc-v、xtensa。

(2)SoC相關(guān)代碼

SoC相關(guān)的代碼位于:devicesoc

如何移植OpenHarmony輕量系統(tǒng)

(3)board相關(guān)代碼

board相關(guān)的代碼位于:device/board

如何移植OpenHarmony輕量系統(tǒng)

(4)vendor相關(guān)代碼

除了以上3部分的代碼之外,還有廠商配置相關(guān)代碼,這一部分主要是用于編譯系統(tǒng)、HDF配置等,路徑為:vendor

內(nèi)容如下:

如何移植OpenHarmony輕量系統(tǒng)

1.3 移植思路

建議是先從最簡(jiǎn)單的開始,路線如下:

vendor —— board —— soc —— ARCH

下一篇文章,將開始講解如何創(chuàng)建一個(gè)自己的vendor廠商配置和編譯流程。

一開始基于hi3861,之后會(huì)基于STM32或者gd32單片機(jī)開始,大家也可以在評(píng)論區(qū)里寫上想要移植的芯片型號(hào)。

原文標(biāo)題:移植OpenHarmony輕量系統(tǒng)【1】移植思路

文章出處:【微信公眾號(hào):HarmonyOS官方合作社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • soc
    soc
    +關(guān)注

    關(guān)注

    38

    文章

    4161

    瀏覽量

    218152
  • 移植
    +關(guān)注

    關(guān)注

    1

    文章

    379

    瀏覽量

    28124
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3713

    瀏覽量

    16252

原文標(biāo)題:移植OpenHarmony輕量系統(tǒng)【1】移植思路

文章出處:【微信號(hào):HarmonyOS_Community,微信公眾號(hào):電子發(fā)燒友開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    詳解Board和SoC解耦的設(shè)計(jì)思路

    本文簡(jiǎn)單介紹OpenHarmony系統(tǒng)移植,Board和SoC解耦的設(shè)計(jì)思路。適合自己動(dòng)手移植
    的頭像 發(fā)表于 03-03 09:50 ?5416次閱讀
    詳解Board和SoC解耦的設(shè)計(jì)思路

    【熱門直播】移植OpenHarmony系統(tǒng)到龍芯1c300芯片

    直播簡(jiǎn)介:慧睿思通于12月9日成為國(guó)內(nèi)第一家成功將OpenHarmony系統(tǒng)移植到龍芯平臺(tái)的公司。本次突破得益于慧睿思通研發(fā)團(tuán)隊(duì)和龍芯廣
    發(fā)表于 12-20 16:05

    【水】OpenHarmony開源見面會(huì)分享

    非常榮幸,能受邀參加OpenHarmony開源見面會(huì) 南京站的活動(dòng),并且上臺(tái)分享。同臺(tái)的有開放原子基金會(huì)、潤(rùn)和軟件、中科院等大佬。我分享的主題是《ARM架構(gòu)和MIPS架構(gòu)如何移植OpenHarmony
    發(fā)表于 12-31 10:10

    從零移植OpenHarmony系統(tǒng)【1】移植思路

    摘要:本文簡(jiǎn)單介紹OpenHarmony系統(tǒng)移植,會(huì)分多篇適合群體:想自己動(dòng)手移植
    發(fā)表于 01-26 17:18

    從零移植OpenHarmony系統(tǒng)【2】Board和SoC解耦的設(shè)計(jì)思路

    本帖最后由 jf_39160458 于 2022-1-27 17:18 編輯 摘要:本文簡(jiǎn)單介紹OpenHarmony系統(tǒng)移植,B
    發(fā)表于 01-27 17:16

    從零移植OpenHarmony系統(tǒng)【3】Board、SOC、架構(gòu)與代碼對(duì)應(yīng)關(guān)系

    摘要:本文簡(jiǎn)單介紹OpenHarmony系統(tǒng)移植,Board和SoC與代碼的對(duì)應(yīng)關(guān)系適合群體:想自己動(dòng)手
    發(fā)表于 02-07 14:29

    移植OpenHarmony系統(tǒng)【4】啟動(dòng)文件與鏈接

    摘要:本文簡(jiǎn)單介紹OpenHarmony系統(tǒng)移植,啟動(dòng)文件和鏈接適合群體:想自己動(dòng)手移植
    發(fā)表于 02-09 18:05

    移植OpenHarmony系統(tǒng)【5】newlibc庫(kù)移植

    摘要:本文簡(jiǎn)單介紹OpenHarmony系統(tǒng)移植,libc庫(kù)移植適合群體:想自己動(dòng)手
    發(fā)表于 02-09 18:06

    移植OpenHarmony系統(tǒng)【6】?jī)?nèi)核初始化和啟動(dòng)

    摘要:本文簡(jiǎn)單介紹OpenHarmony系統(tǒng)移植,內(nèi)核初始化和啟動(dòng)適合群體:想自己動(dòng)手移植
    發(fā)表于 02-09 18:08

    移植OpenHarmony系統(tǒng)【7】燒錄與驗(yàn)證

    摘要:本文簡(jiǎn)單介紹OpenHarmony系統(tǒng)移植,內(nèi)核初始化和啟動(dòng)適合群體:想自己動(dòng)手移植
    發(fā)表于 02-09 18:09

    從零開始移植OpenHarmony系統(tǒng)

    摘要:本文簡(jiǎn)單介紹OpenHarmony系統(tǒng)移植,如何使用移植示例適合群體:想自己動(dòng)手
    發(fā)表于 02-09 18:58

    一文詳解Niobe407開發(fā)板移植OpenHarmony系統(tǒng)

    系統(tǒng)的全過(guò)程。本次移植架構(gòu)采用 Board 與 SoC 分離的方案,使用 arm gcc 工具鏈 Newlib C 庫(kù),實(shí)現(xiàn) lwip、littlefs、hdf 等子
    發(fā)表于 07-20 18:13

    龍芯1c300芯片移植OpenHarmony系統(tǒng)

    導(dǎo)語(yǔ):本周熱點(diǎn),通信企業(yè)慧睿思通宣布,于12月9日成功地將OpenHarmony 3.0移植到智龍開發(fā)板上,板載芯片1C300B,成為國(guó)內(nèi)第一家成功將OpenHarmony
    的頭像 發(fā)表于 12-21 09:34 ?2372次閱讀

    OpenHarmony Dev-Board-SIG專場(chǎng):ARM架構(gòu)和MIPS架構(gòu)移植OpenHarmony系統(tǒng)

    OpenHarmony Dev-Board-SIG專場(chǎng):ARM架構(gòu)和MIPS架構(gòu)移植OpenHarmony
    的頭像 發(fā)表于 12-28 16:00 ?1881次閱讀
    <b class='flag-5'>OpenHarmony</b> Dev-Board-SIG專場(chǎng):ARM架構(gòu)和MIPS架構(gòu)<b class='flag-5'>移植</b><b class='flag-5'>OpenHarmony</b><b class='flag-5'>輕</b><b class='flag-5'>量</b><b class='flag-5'>系統(tǒng)</b>

    OpenHarmony Dev-Board-SIG專場(chǎng):MIPS架構(gòu)移植OpenHarmony系統(tǒng)展示

    OpenHarmony Dev-Board-SIG專場(chǎng):MIPS構(gòu)架移植OpenHarmony系統(tǒng)
    的頭像 發(fā)表于 12-28 16:07 ?1501次閱讀
    <b class='flag-5'>OpenHarmony</b> Dev-Board-SIG專場(chǎng):MIPS架構(gòu)<b class='flag-5'>移植</b><b class='flag-5'>OpenHarmony</b><b class='flag-5'>輕</b><b class='flag-5'>量</b><b class='flag-5'>系統(tǒng)</b>展示
    RM新时代网站-首页