91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

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

電子發(fā)燒友開(kāi)源社區(qū) ? 來(lái)源:未知 ? 2023-05-11 20:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

背景

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

認(rèn)識(shí)芯片架構(gòu)、Soc、開(kāi)發(fā)板

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

芯片架構(gòu)是指芯片的內(nèi)部器件構(gòu)造以及對(duì)應(yīng)的指令集,比如PC使用的英特爾i7或者AMD的R7-4800都是x86架構(gòu),手機(jī)使用的驍龍8Gen2芯片使用的則是ARM架構(gòu)。

SoC是指具體的芯片架構(gòu)實(shí)現(xiàn),芯片廠商針對(duì)不同的應(yīng)用場(chǎng)景開(kāi)發(fā)出的芯片各不相同,但要符合架構(gòu)定義,比如STM32F470就會(huì)有不同的定制版本,有些Flash會(huì)大一些,有些則是芯片封裝或者引腳數(shù)不同。

開(kāi)發(fā)板則是板卡廠商針對(duì)不同的產(chǎn)品定制的不同開(kāi)發(fā)板,會(huì)根據(jù)業(yè)務(wù)需求設(shè)計(jì)不同的PCB、外設(shè)器件。

本文采用正點(diǎn)原子的STM32F407ZG開(kāi)發(fā)板,對(duì)應(yīng)的開(kāi)發(fā)板、SoC、芯片架構(gòu)分別是:

  • 開(kāi)發(fā)板型號(hào):explorer(探索者)

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

  • 芯片型號(hào):STM32F407ZGT6

  • 芯片系列:STM32F407

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

  • 具體架構(gòu):Cortex-M4

  • 芯片架構(gòu):ARM

內(nèi)核移植的四個(gè)層面

OH適配分為如下四個(gè)層面

Vendor

負(fù)責(zé)配置的目標(biāo)產(chǎn)品的內(nèi)核類(lèi)型、系統(tǒng)版本、子系統(tǒng)、三方庫(kù)等。編譯時(shí),工具鏈依賴這里的配置。Vendor的代碼位于://vendor/

Board

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

SoC

SoC片上系統(tǒng)層面的移植,芯片架構(gòu)已支持,有一定難度

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

ARCH

目標(biāo)芯片架構(gòu)不在支持的范圍內(nèi)的全新架構(gòu)移植,難度較大。ARCH相關(guān)的代碼存放在//kernel/liteos_m/arch文件夾中。整體難易度:Vendor < Board < SoC < ARCH

OpenHarmony瘦設(shè)備已支持的芯片架構(gòu)

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

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

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

總結(jié)

OpenHarmony瘦設(shè)備的移植需要從芯片架構(gòu)、SoC、開(kāi)發(fā)板開(kāi)始,因此本文首先講述了三者之前的關(guān)系。瘦設(shè)備使用的內(nèi)核為L(zhǎng)iteOS-M,針對(duì)不同層面的移植工作的難易度、工作量也會(huì)有所不同,根據(jù)以往經(jīng)驗(yàn)難易度排序?yàn)閂endor < Board < SoC < ARCH,下篇文章將繼續(xù)介紹移植前的準(zhǔn)備工作。


更多熱點(diǎn)文章閱讀
  • OpenHarmony開(kāi)發(fā)者大會(huì)圓滿舉辦:3.2 Release版本發(fā)布,生態(tài)步入快車(chē)道
  • DevEco Studio 3.1 Beta新特性知多少?
  • Cocos攜手樂(lè)元素,《開(kāi)心消消樂(lè)》成功移植OpenHarmony
  • 開(kāi)源樣例!基于小凌派RK2206的工地檢測(cè)平臺(tái)設(shè)計(jì)
  • DevEco Device Tool 3.1 Release新版本發(fā)布

提示:本文由電子發(fā)燒友論壇發(fā)布,轉(zhuǎn)載請(qǐng)注明來(lái)源。如需社區(qū)合作及入群交流,請(qǐng)?zhí)砑游⑿臙EFans0806,或者發(fā)郵箱liuyong@huaqiu.com。


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

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


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Linux內(nèi)核驅(qū)動(dòng)開(kāi)發(fā)的技術(shù)核心精要

    ;initcall_debug用于啟動(dòng)優(yōu)化;kgdb支持源碼級(jí)調(diào)試;動(dòng)態(tài)調(diào)試(dynamic debug)靈活開(kāi)啟日志。內(nèi)核移植新板時(shí)需實(shí)現(xiàn)時(shí)鐘樹(shù)、中斷控制器、GPIO、早期串口等基礎(chǔ)支撐,并正確編寫(xiě)設(shè)備樹(shù),最終使能
    發(fā)表于 03-10 13:56

    #OpenHarmony HDC調(diào)試

    OpenHarmony
    視美泰
    發(fā)布于 :2026年01月16日 09:46:28

    #OpenHarmony 鏡像燒錄

    OpenHarmony
    視美泰
    發(fā)布于 :2026年01月16日 09:42:36

    #OpenHarmony 系統(tǒng)概述

    OpenHarmony
    視美泰
    發(fā)布于 :2026年01月16日 09:39:20

    基于M4-R1開(kāi)發(fā)板的OpenHarmony開(kāi)發(fā)實(shí)戰(zhàn)丨創(chuàng)建第個(gè)應(yīng)用工程

    前言在萬(wàn)物互聯(lián)的時(shí)代,設(shè)備之間的協(xié)同與智能交互已成為技術(shù)發(fā)展的必然趨勢(shì)。作為面向這未來(lái)的關(guān)鍵基石,OpenHarmony應(yīng)運(yùn)而生。它是個(gè)由開(kāi)放原子開(kāi)源基金會(huì)孵化及運(yùn)營(yíng)的開(kāi)源項(xiàng)目,旨
    的頭像 發(fā)表于 01-13 15:15 ?799次閱讀
    基于M4-R1開(kāi)發(fā)板的<b class='flag-5'>OpenHarmony</b>開(kāi)發(fā)<b class='flag-5'>實(shí)戰(zhàn)</b>丨創(chuàng)建第<b class='flag-5'>一</b>個(gè)應(yīng)用工程

    迅為驅(qū)動(dòng)開(kāi)發(fā)實(shí)戰(zhàn):iTOP-RK3568開(kāi)發(fā)板e(cuò)DP屏幕移植全攻略

    迅為驅(qū)動(dòng)開(kāi)發(fā)實(shí)戰(zhàn):iTOP-RK3568開(kāi)發(fā)板e(cuò)DP屏幕移植全攻略
    的頭像 發(fā)表于 12-30 15:42 ?912次閱讀
    迅為驅(qū)動(dòng)開(kāi)發(fā)<b class='flag-5'>實(shí)戰(zhàn)</b>:iTOP-RK3568開(kāi)發(fā)板e(cuò)DP屏幕<b class='flag-5'>移植</b>全攻略

    【迅為工業(yè)RK3568穩(wěn)定可靠】itop-3568開(kāi)發(fā)板Linux驅(qū)動(dòng)開(kāi)發(fā)實(shí)戰(zhàn):RK3568內(nèi)核模塊符號(hào)導(dǎo)出詳解

    【迅為工業(yè)RK3568穩(wěn)定可靠】itop-3568開(kāi)發(fā)板Linux驅(qū)動(dòng)開(kāi)發(fā)實(shí)戰(zhàn):RK3568內(nèi)核模塊符號(hào)導(dǎo)出詳解
    的頭像 發(fā)表于 11-21 13:25 ?1234次閱讀
    【迅為工業(yè)RK3568穩(wěn)定可靠】itop-3568開(kāi)發(fā)板Linux驅(qū)動(dòng)開(kāi)發(fā)<b class='flag-5'>實(shí)戰(zhàn)</b>:RK3568<b class='flag-5'>內(nèi)核</b>模塊符號(hào)導(dǎo)出詳解

    N4DDR怎么移植蜂鳥(niǎo)內(nèi)核?

    有大佬知道N4DDR怎么移植蜂鳥(niǎo)內(nèi)核嗎,或者哪里有教程,或者有哪些論壇有相關(guān)資料。請(qǐng)求告知個(gè)途徑。
    發(fā)表于 11-10 07:31

    將蜂鳥(niǎo)E203的內(nèi)核移植到fpga之后該怎么進(jìn)行二次開(kāi)發(fā)呢?

    你們好!請(qǐng)問(wèn)下我將蜂鳥(niǎo)E203的內(nèi)核移植到fpga之后該怎么進(jìn)行二次開(kāi)發(fā)呢?比如我想點(diǎn)亮板子上的led?驅(qū)動(dòng)攝像頭進(jìn)行圖像識(shí)別?這些該如何進(jìn)行呢?蜂鳥(niǎo)有類(lèi)似freedom studio這樣的嵌入式開(kāi)發(fā)平臺(tái)嗎?
    發(fā)表于 11-10 07:09

    如何把蜂鳥(niǎo)E203的核移植在N4DDR平臺(tái)上?

    請(qǐng)問(wèn)下我想把蜂鳥(niǎo)E203的核移植在N4DDR平臺(tái)上,但是他們的約束文件及硬件電路區(qū)別很大,具體我該怎么修改呢?比如蜂鳥(niǎo)的核中只有4個(gè)撥碼開(kāi)關(guān)而N4DDR上有16個(gè)撥碼開(kāi)關(guān)。
    發(fā)表于 11-10 06:46

    E203內(nèi)核移植到FPGA開(kāi)發(fā)板時(shí)出現(xiàn)時(shí)序違例的解決方式

    移植內(nèi)核時(shí),用VIVADO進(jìn)行綜合實(shí)現(xiàn)后會(huì)出現(xiàn)時(shí)序違例,如圖: 雖然可以上板正常進(jìn)行開(kāi)發(fā),但是還是想把這些違例解決下^_^ 檢查后,發(fā)現(xiàn)是 apb_adv_timer 這條路徑報(bào)的違例,解決方式
    發(fā)表于 10-27 07:32

    迅為RK3568開(kāi)發(fā)板OpeHarmony學(xué)習(xí)開(kāi)發(fā)手冊(cè)1.1-內(nèi)核移植優(yōu)化

    在上小節(jié)的內(nèi)核移植過(guò)程中,我們重新創(chuàng)建了內(nèi)核補(bǔ)丁文件。然而,對(duì)于頻繁修改內(nèi)核源代碼進(jìn)行開(kāi)發(fā)的情況來(lái)說(shuō),每次都制作內(nèi)核補(bǔ)丁并不是
    發(fā)表于 07-26 10:37

    RT-Thread Nano硬核移植指南:手把手實(shí)現(xiàn)VGLite圖形驅(qū)動(dòng)適配 | 技術(shù)集結(jié)

    VGLite是NXP提供的輕量級(jí)2D圖形API,本文將手把手帶你實(shí)現(xiàn)VGLite圖形驅(qū)動(dòng)適配RT-Thread。文章分為上、下兩篇,將手把手教您移植。上篇對(duì)RT-ThreadNano內(nèi)核與Finsh組件進(jìn)行移植,下篇?jiǎng)t教您改寫(xiě)S
    的頭像 發(fā)表于 07-17 14:40 ?3399次閱讀
    RT-Thread Nano硬<b class='flag-5'>核移植</b>指南:手把手實(shí)現(xiàn)VGLite圖形驅(qū)動(dòng)適配 | 技術(shù)集結(jié)

    從DeepSeek到Qwen,AI大模型的移植與交互實(shí)戰(zhàn)指南-飛凌嵌入式

    在不久前發(fā)布的《技術(shù)實(shí)戰(zhàn)|OK3588-C開(kāi)發(fā)板上部署DeepSeek-R1大模型的完整指南》文中,小編為大家介紹了DeepSeek-R1在飛凌嵌入式OK3588-C開(kāi)發(fā)板上的移植部署、效果展示以及性能評(píng)測(cè),本篇文章不僅將繼續(xù)
    的頭像 發(fā)表于 03-28 08:06 ?2828次閱讀
    從DeepSeek到Qwen,AI大模型的<b class='flag-5'>移植</b>與交互<b class='flag-5'>實(shí)戰(zhàn)</b>指南-飛凌嵌入式

    北京迅為RK3568開(kāi)發(fā)板OpenHarmony系統(tǒng)南向驅(qū)動(dòng)開(kāi)發(fā)內(nèi)核HDF驅(qū)動(dòng)框架架構(gòu)

    北京迅為RK3568開(kāi)發(fā)板OpenHarmony系統(tǒng)南向驅(qū)動(dòng)開(kāi)發(fā)內(nèi)核HDF驅(qū)動(dòng)框架架構(gòu)
    的頭像 發(fā)表于 03-11 14:13 ?1877次閱讀
    北京迅為RK3568開(kāi)發(fā)板<b class='flag-5'>OpenHarmony</b>系統(tǒng)南向驅(qū)動(dòng)開(kāi)發(fā)<b class='flag-5'>內(nèi)核</b>HDF驅(qū)動(dòng)框架架構(gòu)