色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

OpenHarmony瘦設備內核移植實戰

OpenHarmony技術社區 ? 來源:OpenHarmony技術社區 ? 2023-05-08 10:50 ? 次閱讀

OpenHarmony 系統移植最核心的步驟是內核的移植,內核的穩定是一切子系統穩定的基礎,本文將介紹內核移植實操部分。

內核啟動流程梳理

確保移植前開發板的官方 SDK 是可以跑起來的,原有 SDK 通常為 FreeRTOS 或者其他系統,固件的編譯有對應編譯流程,以及系統啟動流程。

我們要做的工作就是梳理原有系統啟動流程,包括:如何將固件代碼拷貝到內存,棧針從哪里開始引導系統啟動,系統啟動前需要做哪些軟硬件的初始工作,然后讓 OH 通過這套流程跑起來。

系統啟動流程及原理圖:

b0dba7a2-ed42-11ed-90ce-dac502259ad0.png

MCU 啟動工作原理圖:

b0f627da-ed42-11ed-90ce-dac502259ad0.png

①BootLoader 將系統程序從 Flash 加載到運行內存中。

②通過匯編指令完成系統啟動前的軟硬件初始化準備工作。

③初始化系統并啟動系統。

④系統啟動完成。

⑤完成系統框架層的啟動,使各個子系統處于可用狀態。

配置 vendor

配置 vendor,創建如下目錄結構:

b10a6dee-ed42-11ed-90ce-dac502259ad0.png

BUILD.gn 代碼如下:
group("explorer"){
}
config.json 代碼如下:
"product_name":"explorer",
"type":"mini",
"version":"3.0",
"device_company":"alientek",
"board":"explorer",
"kernel_type":"liteos_m",
"kernel_version":"3.0.0",
"subsystems":[
{//增加liteos_m內核
"subsystem":"kernel",
"components":[
{
"component":"liteos_m",
"features":[]
}
]
},
//這里可以繼續添加XTS子系統、DFX子系統,以及其他特性子系統
],
"third_party_dir":"",
"product_adapter_dir":""
}
配置完成后保存,我們可以使用 hb set 命令嘗試編譯。b11cd86c-ed42-11ed-90ce-dac502259ad0.png可以看到在選項中會出現 alientek -> explorer 構建選項。

直接使用 hb build -f 編譯后看看結果,得到錯誤提示:需要創建 device 相關的文件。

b12feb14-ed42-11ed-90ce-dac502259ad0.png

根據報錯提示,可得知應該是缺少 device 相關配置,接下來繼續創建 device 相關配置文件。

配置 device/board

board 配置板卡編譯相關的工具鏈,以及最為核心的啟動匯編命令、鏈接庫腳本,它將指定 main 函數來啟動系統。

根據配置規范,我們在 device 下創建對應的文件夾,開發板是正點原子(alientek)的探索者(explorer),因此我們根據 OH 規范創建目錄結構,如下:

b143f50a-ed42-11ed-90ce-dac502259ad0.png

BUILD.gn 代碼如下:

if(ohos_kernel_type=="liteos_m"){
import("http://kernel/liteos_m/liteos.gni")
module_name=get_path_info(rebase_path("."),"name")
module_group(module_name){
modules=[
"explorer",
]
在 /device/board/alientek/explorer/ 目錄下創建 BUILD.gn 文件,以及 liteos_m 目錄。BUILD.gn 代碼與之前一樣。

創建開發板配置文件,最終得到如下目錄結構。

b156360c-ed42-11ed-90ce-dac502259ad0.png配置文件代碼如下:

device/board/alientek/explorer/explorer_stm32f407_defconfig 配置:

LOSCFG_BOARD_EXPLORER_STM32F407=y
LOSCFG_SOC_SERIES_STM32F407=y
LOSCFG_SOC_STM32F407=y

device/board/alientek/explorer/Kconfig.liteos_m.board 配置:

configBOARD_EXPLORER_STM32F407
bool"selectboardexplorerstm32f407"
dependsonSOC_STM32F407

device/board/alientek/explorer/Kconfig.liteos_m.defconfig.board 配置:

ifBOARD_EXPLORER_STM32F407
configBOARD
string
default"explorer_stm32f407"
endif#BOARD_EXPLORER_STM32F407

device/board/alientek/Kconfig.liteos_m.boards 配置:

ifSOC_STM32F407
orsource"explorer/Kconfig.liteos_m.board"
endif

device/board/alientek/Kconfig.liteos_m.defconfig.boards 配置:

orsource"*/Kconfig.liteos_m.defconfig.board"

device/board/alientek/Kconfig.liteos_m.shields 配置:

//可以不用填內容


審核編輯 :李倩


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

    關注

    3

    文章

    1381

    瀏覽量

    40364
  • SDK
    SDK
    +關注

    關注

    3

    文章

    1045

    瀏覽量

    46131
  • OpenHarmony
    +關注

    關注

    25

    文章

    3744

    瀏覽量

    16473

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

文章出處:【微信號:gh_834c4b3d87fe,微信公眾號:OpenHarmony技術社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    linux 內核移植問題 make menuconfig

    linux內核移植問題make menuconfig
    發表于 08-25 13:25

    linux內核移植

    linux內核移植教程
    發表于 10-15 21:24

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

    一、背景 在各行各業存在很多不同的智能設備,每個設備都使用芯片去實現不同的業務場景需求。本文將以常用的STM32F407ZG芯片為例,介紹OpenHarmony
    發表于 04-24 16:04

    OpenHarmony設備內核移植實戰(二)

    一、背景 OpenHarmony系統移植最核心的步驟是內核移植內核的穩定是一切子系統穩定的基礎,上一篇我們一起認識了板卡、SoC、芯片架
    發表于 05-10 16:03

    HHARM9200移植2.6內核移植文檔

    HHARM9200移植2.6內核移植文檔
    發表于 03-01 16:04 ?37次下載
    HHARM9200<b class='flag-5'>移植</b>2.6<b class='flag-5'>內核移植</b>文檔

    ARM開發板上uClinux內核移植

    ARM開發板上uClinux內核移植 簡述:針對“如何在以S3C44B0X為核心的ARMSYS開發板上建立uClinux內核移植”的一個總結,其內容包括對Bootloader的功能分析和uClinux2.4.24發行版內
    發表于 02-02 11:07 ?735次閱讀

    嵌入式Linux內核移植詳解(頂嵌)

    嵌入式內核移植步驟詳解 含配置含義及內容等方面
    發表于 11-20 16:00 ?19次下載

    基于DSP的嵌入式Linux內核移植的研究與實現_王曉東

    基于DSP的嵌入式Linux內核移植的研究與實現_王曉東
    發表于 03-19 11:45 ?1次下載

    Linux內核移植相關代碼解析

    本文通過整理之前研發的一個項目(ARM7TDMI +uCLinux),分析內核啟動過程及需要修改的文件,以供內核移植者參考。整理過程中也同時參考了眾多網友的帖子,在此謝過。由于整理過程匆忙,難免錯誤
    發表于 11-07 11:29 ?0次下載

    騰訊物聯網系統TOS內核移植起來比你想象的要簡單

    騰訊物聯網系統TOS,內核移植起來比你想象的要簡單
    的頭像 發表于 02-05 12:51 ?2524次閱讀

    如何實現Linux內核移植和yaffs2根文件系統制作

    本文檔的主要內容詳細介紹的是如何實現Linux內核移植和yaffs2根文件系統制作。
    發表于 03-24 09:12 ?9次下載

    Armlinux內核移植及系統初始化過程分析

    Armlinux內核移植及系統初始化過程分析說明。
    發表于 04-06 15:53 ?11次下載

    RT-Thread文檔_內核移植

    RT-Thread文檔_內核移植
    發表于 02-22 18:31 ?3次下載
    RT-Thread文檔_<b class='flag-5'>內核移植</b>

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

    背景 在各行各業存在很多不同的智能設備,每個設備都使用芯片去實現不同的業務場景需求。本文將以常用的STM32F407ZG芯片為例,介紹OpenHarmony
    的頭像 發表于 05-11 20:16 ?1107次閱讀
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>瘦</b><b class='flag-5'>設備</b><b class='flag-5'>內核移植</b><b class='flag-5'>實戰</b>(一)

    鴻蒙設備移植:SoC適配

    OpenHarmony 系統移植最核心的步驟是內核移植內核的穩定是一切子系統穩定的基礎,上一篇我們講述了
    的頭像 發表于 05-22 10:49 ?1505次閱讀
    鴻蒙<b class='flag-5'>瘦</b><b class='flag-5'>設備</b><b class='flag-5'>移植</b>:SoC適配
    主站蜘蛛池模板: 棉签和冰块怎么弄出牛奶视频 | 亚洲黄色官网| 成人欧美一区二区三区白人| 暖暖视频免费观看高清完整版| 中文字幕无码一区二区免费| 女子扒开腿让男生桶爽| 伊人香蕉在线播放视频免费| 久久精品电影院| 一个人免费观看HD完整版| 好大好硬好湿再深一点网站| 免费A级毛片无码无遮挡| 中文字幕无码A片久久| 久久九九亚洲精品| 最近的2019中文字幕国语版| 国产成人啪精视频精东传媒网站| 久久成人精品免费播放| 伊人久综合| 免费夜色污私人影院网站| np高h肉文| 天天躁躁水汪汪人碰人| 3DNagoonimation动漫| 蜜柚免费视频高清观看在线| qvod欧美电影| 窝窝午夜色视频国产精品东北| 国产亚洲精品A久久777777| 亚洲免费无码中文在线亚洲在| 久久精品国产首叶| 99久久精品国内| 上原结衣快播| 成人毛片免费在线观看| 日日a.v拍夜夜添久久免费| 国产免费毛片在线观看| 伊人热| 秋霞电影午夜伦午夜| 狠狠狠狠狠狠干| bt成人社区| 亚洲国产成人精品无码区APP| 中文字幕高清在线观看| 欧美午夜免费观看福利片| 综合亚洲桃色第一影院| 秋霞电影院兔费理论观频84mb|