欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

3天內不再提示

OpenHarmony瘦設備內核移植實戰(zhàn)

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

OpenHarmony 系統(tǒng)移植最核心的步驟是內核的移植,內核的穩(wěn)定是一切子系統(tǒng)穩(wěn)定的基礎,本文將介紹內核移植實操部分。

內核啟動流程梳理

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

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

系統(tǒng)啟動流程及原理圖:

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

MCU 啟動工作原理圖:

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

①BootLoader 將系統(tǒng)程序從 Flash 加載到運行內存中。

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

③初始化系統(tǒng)并啟動系統(tǒng)。

④系統(tǒng)啟動完成。

⑤完成系統(tǒng)框架層的啟動,使各個子系統(tǒng)處于可用狀態(tài)。

配置 vendor

配置 vendor,創(chuàng)建如下目錄結構:

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":[]
}
]
},
//這里可以繼續(xù)添加XTS子系統(tǒng)、DFX子系統(tǒng),以及其他特性子系統(tǒng)
],
"third_party_dir":"",
"product_adapter_dir":""
}
配置完成后保存,我們可以使用 hb set 命令嘗試編譯。b11cd86c-ed42-11ed-90ce-dac502259ad0.png可以看到在選項中會出現(xiàn) alientek -> explorer 構建選項。

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

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

根據(jù)報錯提示,可得知應該是缺少 device 相關配置,接下來繼續(xù)創(chuàng)建 device 相關配置文件。

配置 device/board

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

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

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/ 目錄下創(chuàng)建 BUILD.gn 文件,以及 liteos_m 目錄。BUILD.gn 代碼與之前一樣。

創(chuàng)建開發(fā)板配置文件,最終得到如下目錄結構。

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 配置:

//可以不用填內容


審核編輯 :李倩


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

    關注

    3

    文章

    1384

    瀏覽量

    40445
  • SDK
    SDK
    +關注

    關注

    3

    文章

    1047

    瀏覽量

    46326
  • OpenHarmony
    +關注

    關注

    25

    文章

    3753

    瀏覽量

    16676

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

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

收藏 人收藏

    評論

    相關推薦

    linux 內核移植問題 make menuconfig

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

    linux內核移植

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

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

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

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

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

    HHARM9200移植2.6內核移植文檔

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

    ARM開發(fā)板上uClinux內核移植

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

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

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

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

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

    Linux內核移植相關代碼解析

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

    騰訊物聯(lián)網(wǎng)系統(tǒng)TOS內核移植起來比你想象的要簡單

    騰訊物聯(lián)網(wǎng)系統(tǒng)TOS,內核移植起來比你想象的要簡單
    的頭像 發(fā)表于 02-05 12:51 ?2569次閱讀

    如何實現(xiàn)Linux內核移植和yaffs2根文件系統(tǒng)制作

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

    Armlinux內核移植及系統(tǒng)初始化過程分析

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

    RT-Thread文檔_內核移植

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

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

    背景 在各行各業(yè)存在很多不同的智能設備,每個設備都使用芯片去實現(xiàn)不同的業(yè)務場景需求。本文將以常用的STM32F407ZG芯片為例,介紹OpenHarmony
    的頭像 發(fā)表于 05-11 20:16 ?1146次閱讀
    <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'>實戰(zhàn)</b>(一)

    鴻蒙設備移植:SoC適配

    OpenHarmony 系統(tǒng)移植最核心的步驟是內核移植內核的穩(wěn)定是一切子系統(tǒng)穩(wěn)定的基礎,上一篇我們講述了
    的頭像 發(fā)表于 05-22 10:49 ?1563次閱讀
    鴻蒙<b class='flag-5'>瘦</b><b class='flag-5'>設備</b><b class='flag-5'>移植</b>:SoC適配