一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(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)核類型、系統(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)步入快車道
  • 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)容及配圖由入駐作者撰寫或者入駐合作網(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)推薦

    從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 ?1539次閱讀
    從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 ?1059次閱讀
    北京迅為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)

    【入門必看】文搞懂鴻蒙系統(tǒng)設(shè)備開(kāi)發(fā),從入門到12大物聯(lián)網(wǎng)項(xiàng)目實(shí)戰(zhàn)

    01OpenHarmony簡(jiǎn)介OpenHarmony款面向全場(chǎng)景的開(kāi)源分布式操作系統(tǒng),是開(kāi)放原子開(kāi)源基金會(huì)旗下開(kāi)源項(xiàng)目。OpenHarmony在傳統(tǒng)的單
    的頭像 發(fā)表于 02-24 09:30 ?971次閱讀
    【入門必看】<b class='flag-5'>一</b>文搞懂鴻蒙系統(tǒng)<b class='flag-5'>設(shè)備</b>開(kāi)發(fā),從入門到12大物聯(lián)網(wǎng)項(xiàng)目<b class='flag-5'>實(shí)戰(zhàn)</b>

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-Linux內(nèi)核移植內(nèi)核啟動(dòng)流程

    關(guān)于內(nèi)核啟動(dòng)流程涉及內(nèi)容較多而且復(fù)雜,過(guò)度的分析意義不大,因此,這里不做詳細(xì)講解,只做個(gè)大概的介紹。初學(xué)者只做了解,有定基礎(chǔ)的可以深入理解。內(nèi)核鏡像被uboot加載到內(nèi)存空間之后,
    發(fā)表于 01-07 09:20

    飛凌嵌入式ElfBoard ELF 1板卡-Linux內(nèi)核移植內(nèi)核啟動(dòng)流程

    關(guān)于內(nèi)核啟動(dòng)流程涉及內(nèi)容較多而且復(fù)雜,過(guò)度的分析意義不大,因此,這里不做詳細(xì)講解,只做個(gè)大概的介紹。初學(xué)者只做了解,有定基礎(chǔ)的可以深入理解。 內(nèi)核鏡像被uboot加載到內(nèi)存空間之后
    發(fā)表于 01-06 09:51

    飛凌嵌入式ElfBoard ELF 1板卡-內(nèi)核移植之編譯后生成文件說(shuō)明

    Linux內(nèi)核編譯完成之后,會(huì)生成大量的中間文件和目標(biāo)文件,我們這里只介紹比較重要的幾個(gè)文件。 我們所關(guān)注的最終需要燒寫到開(kāi)發(fā)板的是.dtb設(shè)備樹(shù)鏡像和zImage內(nèi)核鏡像。 dtb文件是設(shè)
    發(fā)表于 12-19 09:11

    飛凌嵌入式ElfBoard ELF 1板卡-內(nèi)核移植之編譯后生成文件說(shuō)明

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

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

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

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

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

    客戶機(jī)是什么?客戶機(jī)能單獨(dú)使用嗎?

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

    【龍芯2K0300蜂鳥(niǎo)板試用】OpenHarmony代碼

    收到龍芯2K0300蜂鳥(niǎo)開(kāi)發(fā)板后,對(duì)開(kāi)發(fā)板做了些了解和研究,現(xiàn)將OpenHarmony代碼提供給大家測(cè)試,也希望大家能更多的認(rèn)識(shí)龍芯2K0300蜂鳥(niǎo)開(kāi)發(fā)板,下面先簡(jiǎn)單介紹下這塊開(kāi)發(fā)板。 廣東
    發(fā)表于 09-18 11:42

    第二屆大會(huì)回顧第25期 | OpenHarmony上的Python設(shè)備應(yīng)用開(kāi)發(fā)

    Python以其簡(jiǎn)單、易學(xué)和功能強(qiáng)大而聞名,有著廣泛的用戶群體。采用Python開(kāi)發(fā)有助于降低OpenHarmony的學(xué)習(xí)門檻。如何在OpenHarmony上用Python開(kāi)發(fā)設(shè)備應(yīng)用,有哪些關(guān)鍵技術(shù)?電
    的頭像 發(fā)表于 08-27 11:53 ?1167次閱讀
    第二屆大會(huì)回顧第25期 | <b class='flag-5'>OpenHarmony</b>上的Python<b class='flag-5'>設(shè)備</b>應(yīng)用開(kāi)發(fā)

    openharmony移植AT32F407編譯時(shí)錯(cuò)誤

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

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

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

    名單公布!【書(shū)籍評(píng)測(cè)活動(dòng)NO.38】OpenHarmony開(kāi)發(fā)與實(shí)踐 | 基于紅莓RK2206開(kāi)發(fā)板

    OpenHarmony操作系統(tǒng)的概述、快速入門、內(nèi)核、適配移植、IoT組件開(kāi)發(fā)、SIMPLEGUI顯示及開(kāi)發(fā)示例。第1章介紹了OpenHarmony操作系統(tǒng)的基本概念、特點(diǎn)和架構(gòu);第2
    發(fā)表于 07-19 10:57