吴忠躺衫网络科技有限公司

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

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

3天內不再提示

OpenHarmony瘦設備內核移植實戰(一)

電子發燒友開源社區 ? 來源:未知 ? 2023-05-11 20:16 ? 次閱讀

背景

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

認識芯片架構、Soc、開發板

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

芯片架構是指芯片的內部器件構造以及對應的指令集,比如PC使用的英特爾i7或者AMD的R7-4800都是x86架構,手機使用的驍龍8Gen2芯片使用的則是ARM架構。

SoC是指具體的芯片架構實現,芯片廠商針對不同的應用場景開發出的芯片各不相同,但要符合架構定義,比如STM32F470就會有不同的定制版本,有些Flash會大一些,有些則是芯片封裝或者引腳數不同。

開發板則是板卡廠商針對不同的產品定制的不同開發板,會根據業務需求設計不同的PCB、外設器件。

本文采用正點原子的STM32F407ZG開發板,對應的開發板、SoC、芯片架構分別是:

  • 開發板型號:explorer(探索者)

  • 板卡廠商:alientek(正點原子)

  • 芯片型號:STM32F407ZGT6

  • 芯片系列:STM32F407

  • 芯片廠商:ST(意法半導體)

  • 具體架構:Cortex-M4

  • 芯片架構:ARM

內核移植的四個層面

OH適配分為如下四個層面

Vendor

負責配置的目標產品的內核類型、系統版本、子系統、三方庫等。編譯時,工具鏈依賴這里的配置。Vendor的代碼位于://vendor/

Board

開發板層面的移植,芯片已適配OH,只是開發板不同,難度不大。配置板卡編譯相關的工具鏈,以及最為核心的啟動匯編命令、鏈接庫腳本,將指定這里的main函數來啟動系統。Board相關的代碼位于://device/board

SoC

SoC片上系統層面的移植,芯片架構已支持,有一定難度

配置芯片層級編譯依賴庫,包括CMSIS、HAL(硬件抽象層)等,這里包含操作總線、串口、時鐘、寄存等庫函數。SoC相關的代碼位于://device/soc

ARCH

目標芯片架構不在支持的范圍內的全新架構移植,難度較大。ARCH相關的代碼存放在//kernel/liteos_m/arch文件夾中。整體難易度:Vendor < Board < SoC < ARCH

OpenHarmony瘦設備已支持的芯片架構

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

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

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

總結

OpenHarmony瘦設備的移植需要從芯片架構、SoC、開發板開始,因此本文首先講述了三者之前的關系。瘦設備使用的內核為LiteOS-M,針對不同層面的移植工作的難易度、工作量也會有所不同,根據以往經驗難易度排序為Vendor < Board < SoC < ARCH,下篇文章將繼續介紹移植前的準備工作。


更多熱點文章閱讀
  • OpenHarmony開發者大會圓滿舉辦:3.2 Release版本發布,生態步入快車道
  • DevEco Studio 3.1 Beta新特性知多少?
  • Cocos攜手樂元素,《開心消消樂》成功移植OpenHarmony
  • 開源樣例!基于小凌派RK2206的工地檢測平臺設計
  • DevEco Device Tool 3.1 Release新版本發布

提示:本文由電子發燒友論壇發布,轉載請注明來源。如需社區合作及入群交流,請添加微信EEFans0806,或者發郵箱liuyong@huaqiu.com。


原文標題:OpenHarmony瘦設備內核移植實戰(一)

文章出處:【微信公眾號:電子發燒友開源社區】歡迎添加關注!文章轉載請注明出處。


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

    關注

    33

    文章

    556

    瀏覽量

    33101
  • 開源社區
    +關注

    關注

    0

    文章

    94

    瀏覽量

    483

原文標題:OpenHarmony瘦設備內核移植實戰(一)

文章出處:【微信號:HarmonyOS_Community,微信公眾號:電子發燒友開源社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    飛凌嵌入式ElfBoard ELF 1板卡-Linux內核移植內核啟動流程

    關于內核啟動流程涉及內容較多而且復雜,過度的分析意義不大,因此,這里不做詳細講解,只做個大概的介紹。初學者只做了解,有定基礎的可以深入理解。 內核鏡像被uboot加載到內存空間之后
    發表于 01-06 09:51

    飛凌嵌入式ElfBoard ELF 1板卡-內核移植之編譯后生成文件說明

    Linux內核編譯完成之后,會生成大量的中間文件和目標文件,我們這里只介紹比較重要的幾個文件。我們所關注的最終需要燒寫到開發板的是.dtb設備樹鏡像和zImage內核鏡像。dtb文件是設備
    發表于 12-18 08:52

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

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

    飛凌嵌入式ElfBoard ELF 1板卡-Linux內核移植內核簡介

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

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

    在當今數字化辦公環境中,客戶機作為種高效的終端設備,逐漸成為企業和機構的首選。那么,究竟什么是客戶機呢?其實,客戶機是
    的頭像 發表于 10-10 10:04 ?640次閱讀

    openharmony移植AT32F407編譯時錯誤

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

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

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

    如何在Openharmony中實現USB復合設備

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

    OpenHarmony設備互聯技術規范發布

    在此次大會上,15家合作方共同制定的《OpenHarmony設備互聯技術標準》正式發布。該標準是為了實現教育、金融、交通、政務、醫療及航空等行業內設備間的互聯互通而打造的。
    的頭像 發表于 05-29 15:42 ?883次閱讀

    freertos移植到M0內核的mcu直不成功的原因?

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

    OpenHarmony內核編程實戰

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

    鴻蒙OpenHarmony技術:【設備互信認證】

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

    鴻蒙開發實戰:基于【Markwon】移植和開發

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

    鴻蒙OpenHarmony開發實戰:【MiniCanvas】

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

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

    1.環境和設備 系統版本: 3.2release(64 位) OpenHarmony 內核版本:5.10 標準系統設備: DAYU200 Docker:18.03.1 (64 位) s
    的頭像 發表于 03-02 15:10 ?2824次閱讀
    【鴻蒙】<b class='flag-5'>OpenHarmony</b>運行docker詳細步驟
    百家乐技巧发布| 网上百家乐游戏哪家信誉度最好| 神州百家乐的玩法技巧和规则 | 百家乐官网平台出租家乐平台出租| 百家乐官网有多少种游戏| 百家乐官网庄闲和收益| 百家乐博彩通| 百家乐计划工具| 华侨人娱乐城| 百家乐官网平台送彩金| 缅甸百家乐玩家吗| 安徽棋牌游戏中心| 老虎机破解| 百家乐官网有看牌器吗| 阳宅24方位座向| 大发888游戏平台3403| 百家乐官网盛大娱乐城城| 新锦江百家乐娱乐场开户注册| 圣淘沙娱乐| 百家乐官网皇室百家乐官网| 试玩百家乐1000| 带百家乐官网的时时彩平台| 足球百家乐投注网出租 | 百家乐官网游戏大厅下| 喜力百家乐的玩法技巧和规则| 网上玩百家乐官网技巧| 网络百家乐输了很多钱| 百家乐官网外挂程式| 百家乐双面数字筹码| 会泽县| 免费百家乐官网统计| 百家乐群必胜打朽法| 玩百家乐官网免费| 大发888如何下载| 永利百家乐官网娱乐平台| 新全讯网22335555| G3百家乐官网的玩法技巧和规则| 大发888娱乐官方| 百家乐官网开发软件| 百家乐平台哪个比较安全| 百家乐官网视频游365|