精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

    文章

    548

    瀏覽量

    32674
  • 開源社區
    +關注

    關注

    0

    文章

    93

    瀏覽量

    376

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

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

收藏 人收藏

    評論

    相關推薦

    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 ?983次閱讀
    如何在<b class='flag-5'>Openharmony</b>中實現USB復合<b class='flag-5'>設備</b>

    OpenHarmony內核編程實戰

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

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

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

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

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

    鴻蒙OpenHarmony開發實戰:【MiniCanvas】

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

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

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

    rk3399移植Linux內核

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

    如何修改內核設備

    如何修改內核設備
    的頭像 發表于 12-14 14:06 ?677次閱讀
    如何修改<b class='flag-5'>內核</b><b class='flag-5'>設備</b>樹

    嵌入式Linux移植與系統啟動解讀

    所謂移植就是把程序代碼從種運行環境轉移到另種運行環境。對于內核移植來說,主要是從種硬件平臺轉移到另
    的頭像 發表于 11-25 10:07 ?1222次閱讀
    嵌入式Linux<b class='flag-5'>移植</b>與系統啟動解讀

    OpenHarmony技術大會 | OS內核及視窗分論壇嘉賓金句

    點擊藍字 ╳ 關注我們 開源項目 OpenHarmony 是每個人的 OpenHarmony 原文標題:OpenHarmony技術大會 | OS內核及視窗分論壇嘉賓金句 文章出處:【微
    的頭像 發表于 11-10 20:25 ?404次閱讀

    議程直擊 | 第二屆OpenHarmony技術大會——OS內核及視窗分論壇

    點擊藍字 ╳ 關注我們 開源項目 OpenHarmony 是每個人的 OpenHarmony 原文標題:議程直擊 | 第二屆OpenHarmony技術大會——OS內核及視窗分論壇 文章
    的頭像 發表于 11-01 09:25 ?396次閱讀

    移植Linux內核ramfs和ramdisk文件系統

    移植Linux內核早期時,如果flash等存儲設備的驅動還沒寫好,可以將文件系統放到內存中運行。 此時可以使用 ramfs 和 ramdisk ,即將內存的部分用作文件系統。 ra
    的頭像 發表于 10-04 14:41 ?894次閱讀
    <b class='flag-5'>移植</b>Linux<b class='flag-5'>內核</b>ramfs和ramdisk文件系統

    FreeRTOS內核實現與應用開發實戰指南

    上。本書分為兩個部分,第部分為“從 0 到 1 叫你寫 FreeRTOS 內核”,該部分的章節名字與其姐妹篇《RT-Thread 內核實現與應用開發實戰指南—基于 STM32》的章節
    發表于 09-28 08:05