RM新时代网站-首页

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

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

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

OpenHarmony瘦設備內(nèi)核移植實戰(zhàn)(一)

電子發(fā)燒友開源社區(qū) ? 來源:未知 ? 2023-05-11 20:16 ? 次閱讀

背景

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

認識芯片架構(gòu)、Soc、開發(fā)板

36aa19c4-e64d-11ed-ab56-dac502259ad0.png

芯片架構(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ā)板不同,難度不大。配置板卡編譯相關(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瘦設備已支持的芯片架構(gòu)

36c0509a-e64d-11ed-ab56-dac502259ad0.png

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

36cadcf4-e64d-11ed-ab56-dac502259ad0.png

總結(jié)

OpenHarmony瘦設備的移植需要從芯片架構(gòu)、SoC、開發(fā)板開始,因此本文首先講述了三者之前的關(guān)系。瘦設備使用的內(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ū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。


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

    關(guān)注

    33

    文章

    549

    瀏覽量

    32958
  • 開源社區(qū)
    +關(guān)注

    關(guān)注

    0

    文章

    94

    瀏覽量

    406

原文標題:OpenHarmony瘦設備內(nèi)核移植實戰(zhàn)(一)

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

收藏 人收藏

    評論

    相關(guān)推薦

    嵌入式學習-飛凌嵌入式ElfBoard ELF 1板卡-Linux內(nèi)核移植內(nèi)核簡介

    用戶提供移植好的板級開發(fā)包。板卡廠商也會對移植好的內(nèi)核版本進行維護,例如些BUG修復或者物料替換。接下來講下獲取這三種源碼的方法:獲取l
    發(fā)表于 12-16 13:08

    飛凌嵌入式ElfBoard ELF 1板卡-Linux內(nèi)核移植內(nèi)核簡介

    用戶提供移植好的板級開發(fā)包。板卡廠商也會對移植好的內(nèi)核版本進行維護,例如些BUG修復或者物料替換。接下來講下獲取這三種源碼的方法:獲取l
    發(fā)表于 12-13 09:03

    客戶機是什么?客戶機能單獨使用嗎?

    在當今數(shù)字化辦公環(huán)境中,客戶機作為種高效的終端設備,逐漸成為企業(yè)和機構(gòu)的首選。那么,究竟什么是客戶機呢?其實,客戶機是
    的頭像 發(fā)表于 10-10 10:04 ?405次閱讀

    openharmony移植AT32F407編譯時錯誤

    openharmony移植AT32F407,hb build后出現(xiàn)鏈接錯誤 [OHOS ERROR] /home/sven/openharmony/env_setup
    發(fā)表于 08-18 17:04

    鴻蒙OpenHarmony南向/北向快速開發(fā)教程-迅為RK3568開發(fā)板

    P13_vendor和device目錄介紹 P14_內(nèi)核編譯腳本構(gòu)建分析 P15_內(nèi)核移植 P16_內(nèi)核移植優(yōu)化 P17_配置電源管理芯片和點亮HDMI屏幕 P18_源碼定制-修改調(diào)試串口波特率 P19_源碼定制
    發(fā)表于 07-23 10:44

    如何在Openharmony中實現(xiàn)USB復合設備

    如何讓Openharmony設備HDC接口(OTG接口)作為個復合設備,實現(xiàn)HDC(HDC:鴻蒙設備連接器) + CDC ACM(USB
    的頭像 發(fā)表于 06-13 15:03 ?1604次閱讀
    如何在<b class='flag-5'>Openharmony</b>中實現(xiàn)USB復合<b class='flag-5'>設備</b>

    OpenHarmony設備統(tǒng)互聯(lián)技術(shù)規(guī)范發(fā)布

    在此次大會上,15家合作方共同制定的《OpenHarmony設備統(tǒng)互聯(lián)技術(shù)標準》正式發(fā)布。該標準是為了實現(xiàn)教育、金融、交通、政務、醫(yī)療及航空等行業(yè)內(nèi)設備間的互聯(lián)互通而打造的。
    的頭像 發(fā)表于 05-29 15:42 ?798次閱讀

    freertos移植到M0內(nèi)核的mcu直不成功的原因?

    求助各位大佬,小弟最近手頭有個項目,需要在手頭個公司已做出來的m0內(nèi)核的mcu上移植freertos,但苦于直不成功,還望指教。 網(wǎng)
    發(fā)表于 04-28 06:30

    OpenHarmony內(nèi)核編程實戰(zhàn)

    編程入門[Hello,OpenHarmony]在正式開始之前,對于剛接觸OpenHarmony的伙伴們,面對大篇幅的源碼可能無從下手,不知道怎么去編碼寫程序,下面用個簡單的例子帶伙伴們?nèi)腴T。▍任務
    的頭像 發(fā)表于 03-27 08:31 ?807次閱讀
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>內(nèi)核</b>編程<b class='flag-5'>實戰(zhàn)</b>

    鴻蒙OpenHarmony技術(shù):【設備互信認證】

    OpenHarmony中,設備互信認證模塊作為安全子系統(tǒng)的子模塊,負責設備間可信關(guān)系的建立、維護、使用、撤銷等全生命周期的管理,實現(xiàn)可信設備間的互信認證和安全會話密鑰協(xié)商,是搭載
    的頭像 發(fā)表于 03-25 17:04 ?734次閱讀
    鴻蒙<b class='flag-5'>OpenHarmony</b>技術(shù):【<b class='flag-5'>設備</b>互信認證】

    鴻蒙開發(fā)實戰(zhàn):基于【Markwon】移植和開發(fā)

    本項目是基于開源項目**Markwon**進行適用harmonyos的移植和開發(fā)的。
    的頭像 發(fā)表于 03-25 16:27 ?817次閱讀
    鴻蒙開發(fā)<b class='flag-5'>實戰(zhàn)</b>:基于【Markwon】<b class='flag-5'>移植</b>和開發(fā)

    鴻蒙OpenHarmony開發(fā)實戰(zhàn):【MiniCanvas】

    基于OpenHarmony的Cavas組件封裝了版極簡操作的MiniCanvas,屏蔽了原有Canvas內(nèi)部復雜的調(diào)用流程,支持個API就可以實現(xiàn)相應的繪制能力,該庫還在繼續(xù)完善中,也歡迎PR。
    的頭像 發(fā)表于 03-23 20:43 ?351次閱讀

    【鴻蒙】OpenHarmony運行docker詳細步驟

    1.環(huán)境和設備 系統(tǒng)版本: 3.2release(64 位) OpenHarmony 內(nèi)核版本:5.10 標準系統(tǒng)設備: DAYU200 Docker:18.03.1 (64 位) s
    的頭像 發(fā)表于 03-02 15:10 ?2606次閱讀
    【鴻蒙】<b class='flag-5'>OpenHarmony</b>運行docker詳細步驟

    rk3399移植Linux內(nèi)核

    RK3399是款由中國廠商瑞芯微推出的高性能處理器芯片,被廣泛用于嵌入式系統(tǒng)開發(fā)。在進行應用程序開發(fā)之前,我們需要將Linux內(nèi)核移植到RK3399上,以支持硬件的驅(qū)動和功能。本文將詳細介紹如何將
    的頭像 發(fā)表于 01-08 09:56 ?1123次閱讀

    OpenHarmony開源GPU庫Mesa3D適配說明

    (利用了圖形加速硬件)依賴于顯示設備廠家的硬件及實現(xiàn)。 OpenGL API實現(xiàn)的方式又分為閉源及開源兩種方式。閉源實現(xiàn)般由設備廠家完成,這種方式充分保證了它的高效性,但移植起來比較
    發(fā)表于 12-25 11:38
    RM新时代网站-首页