芯片解決方案配置規(guī)則
- 芯片解決方案是指基于某款開發(fā)板的完整解決方案,包含驅(qū)動、設(shè)備側(cè)接口適配、開發(fā)板sdk等。
- 芯片解決方案是一個特殊的部件,源碼路徑規(guī)則為:device/{開發(fā)板}/{芯片解決方案廠商} 。
- 芯片解決方案部件會隨產(chǎn)品選擇的開發(fā)板默認編譯。
- 芯片解決方案目錄樹規(guī)則如下:
- 開發(fā)前請熟悉鴻蒙開發(fā)指導(dǎo)文檔:[
gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
device
└── board
└── company # 芯片解決方案廠商
└── hispark_aries # 開發(fā)板名稱
├── BUILD.gn # 編譯腳本
├── hals # OS南向接口適配
├── linux # 可選,linux內(nèi)核版本
│ └── config.gni # linux版本編譯配置
└── liteos_a # 可選,liteos內(nèi)核版本
└── config.gni # liteos_a版本編譯配置
注意 :config.gni為開發(fā)板編譯相關(guān)的配置,編譯時會采用該配置文件中的參數(shù)編譯所有OS部件,編譯階段系統(tǒng)全局可見。
- config.gni的關(guān)鍵字段介紹如下:
kernel_type: 開發(fā)板使用的內(nèi)核類型,例如:“l(fā)iteos_a”, “l(fā)iteos_m”, “l(fā)inux”。
kernel_version: 開發(fā)使用的內(nèi)核版本,例如:“4.19”。
board_cpu: 開發(fā)板CPU類型,例如:“cortex-a7”, “riscv32”。
board_arch: 開發(fā)芯片arch, 例如: “armv7-a”, “rv32imac”。
board_toolchain: 開發(fā)板自定義的編譯工具鏈名稱,例如:“gcc-arm-none-eabi”。若為空,則使用默認為ohos-clang。
board_toolchain_prefix:編譯工具鏈前綴,例如:“gcc-arm-none-eabi”。
board_toolchain_type: 編譯工具鏈類型,目前支持gcc和clang。例如:“gcc” ,“clang”。
board_cflags: 開發(fā)板配置的c文件編譯選項。
board_cxx_flags: 開發(fā)板配置的cpp文件編譯選項。
board_ld_flags: 開發(fā)板配置的鏈接選項。
新增并編譯芯片解決方案
編譯構(gòu)建支持添加新的芯片解決方案廠商,具體步驟如下:
- 創(chuàng)建芯片解決方案目錄。 按照芯片解決方案配置規(guī)則創(chuàng)建目錄,以芯片廠商realtek的“rtl8720“開發(fā)板為例, 在代碼根目錄執(zhí)行:
mkdir -p device/board/realtek/rtl8720
- 創(chuàng)建內(nèi)核適配目錄,并編寫開發(fā)板編譯配置config.gni文件。 以realtek的“rtl8720“開發(fā)板的liteos_a適配為例,device/board/realtek/rtl8720/liteos_a/config.gni的內(nèi)容如下:
# Kernel type, e.g. "linux", "liteos_a", "liteos_m". kernel_type = "liteos_a" # Kernel version. kernel_version = "3.0.0" # Board CPU type, e.g. "cortex-a7", "riscv32". board_cpu = "real-m300" # Board arch, e.g. "armv7-a", "rv32imac". board_arch = "" # Toolchain name used for system compiling. # E.g. gcc-arm-none-eabi, arm-linux-harmonyeabi-gcc, ohos-clang, riscv32-unknown-elf. # Note: The default toolchain is "ohos-clang". It's not mandatory if you use the default toochain. board_toolchain = "gcc-arm-none-eabi" # The toolchain path instatlled, it's not mandatory if you have added toolchian path to your ~/.bashrc. board_toolchain_path = rebase_path("http://prebuilts/gcc/linux-x86/arm/gcc-arm-none-eabi/bin", root_build_dir) # Compiler prefix. board_toolchain_prefix = "gcc-arm-none-eabi-" # Compiler type, "gcc" or "clang". board_toolchain_type = "gcc" # Board related common compile flags. board_cflags = [] board_cxx_flags = [] board_ld_flags = [] `HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿`
- 編寫編譯腳本。 在開發(fā)板目錄下創(chuàng)建BUILD.gn,target名稱應(yīng)與開發(fā)板名稱一致。以realtek的rtl8720開發(fā)板為例,device/board/realtek/rtl8720/BUILD.gn內(nèi)容可以是:
group("rtl8720") { # target類型也可以shared_library, static_library, executable # 具體內(nèi)容 ...... }
- 編譯芯片解決方案。 在開發(fā)板目錄下執(zhí)行hb build,即可啟動芯片解決方案的編譯。
審核編輯 黃宇
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
芯片
+關(guān)注
關(guān)注
455文章
50714瀏覽量
423131 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5032瀏覽量
97371 -
鴻蒙
+關(guān)注
關(guān)注
57文章
2339瀏覽量
42805 -
OpenHarmony
+關(guān)注
關(guān)注
25文章
3713瀏覽量
16254
發(fā)布評論請先 登錄
相關(guān)推薦
OpenHarmony鴻蒙南向開發(fā)案例:【智能貓眼(基于Hi3518開發(fā)板)】
基于Hi3518開發(fā)板,使用開源OpenHarmony開發(fā)的RTSP協(xié)議流媒體應(yīng)用。達到將Hi3518開發(fā)板中攝像頭獲取的數(shù)據(jù)通過RTSP協(xié)議傳輸?shù)绞謾C并顯示 。
鴻蒙OpenHarmony開發(fā)板:【產(chǎn)品配置規(guī)則】
產(chǎn)品解決方案為基于開發(fā)板的完整產(chǎn)品,主要包含產(chǎn)品對OS的適配、部件拼裝配置、啟動配置和文件系統(tǒng)配置等。產(chǎn)品解決方案的源碼路徑規(guī)則為:**vendor/{產(chǎn)品解決方案廠商}/{產(chǎn)品名稱}
鴻蒙OpenHarmony南向/北向快速開發(fā)教程-迅為RK3568開發(fā)板
大家期待已久的迅為RK3568開發(fā)板終于迎來了鴻蒙4.1系統(tǒng)的強勢支持!想知道如何實現(xiàn)快速開發(fā)學(xué)習(xí)嗎?跟著我們一起來探索吧!
迅為RK3568開發(fā)板:
想象一下,你手中的RK3568
發(fā)表于 07-23 10:44
XR806芯片、XR806開源鴻蒙開發(fā)板簡介
??蓮V泛滿足 智能家居、智慧樓宇、工業(yè)互聯(lián)、兒童玩具、電子競賽、極客DIY 等領(lǐng)域的無線連接需求。芯片框圖芯片參數(shù)XR806開源鴻蒙開發(fā)板介紹XR806
發(fā)表于 11-15 17:08
XR806芯片、XR806開源鴻蒙開發(fā)板簡介
??蓮V泛滿足 智能家居、智慧樓宇、工業(yè)互聯(lián)、兒童玩具、電子競賽、極客DIY 等領(lǐng)域的無線連接需求。芯片框圖芯片參數(shù)XR806開源鴻蒙開發(fā)板介紹XR806
發(fā)表于 11-15 18:32
迅為RK3568開發(fā)板鴻蒙OpenHarmony系統(tǒng)固件燒寫步驟
1、迅為RK3568開發(fā)板鴻蒙OpenHarmony系統(tǒng)固件燒寫首先拷貝燒寫器(燒寫器在光盤資料“iTOP-3568 開發(fā)板\01_【iTOP-RK3568
發(fā)表于 08-26 17:45
openharmony開發(fā)版 openharmony開發(fā)板
現(xiàn)在市面上支持OpenHarmony的開發(fā)板已經(jīng)非常多了,OpenHarmony不僅僅只能在海思系列芯片上運行,比較常見的有HiSpark、小熊派系列。這些
開發(fā)板如何適配OpenHarmony 3.2
科技基于RK3568設(shè)計的HCPAD-100開發(fā)板以及基于RK3566設(shè)計的中控屏HongzPad2022在OpenHarmony 3.2 Beta5版本上的適配過程。 涉及到開發(fā)板的添加/u-boot /linux-5.10/
OpenHarmony鴻蒙南向開發(fā)案例:【智能貓眼(基于3516開發(fā)板)】
基于Hi3516開發(fā)板,使用開源OpenHarmony開發(fā)的RTSP協(xié)議流媒體應(yīng)用。達到將Hi3516開發(fā)板中攝像頭獲取的數(shù)據(jù)通過RTSP協(xié)議傳輸?shù)绞謾C并顯示 。
瑞芯微RK3568鴻蒙開發(fā)板OpenHarmony系統(tǒng)修改cfg文件權(quán)限方法
本文適用于OpenHarmony開源鴻蒙系統(tǒng)修改cfg文件權(quán)限方法,深圳觸覺智能研發(fā)的RK3566、RK3568、RK3588等開發(fā)板、主板等產(chǎn)品均適用此教程
觸覺智能Purple Pi OH鴻蒙開發(fā)板成功適配OpenHarmony5.0 Release,開啟新征程
觸覺智能Purple Pi OH鴻蒙開發(fā)板,成功適配OpenHarmony5.0 Release版本!為大家?guī)?b class='flag-5'>OpenHarmony5.0特性講解!關(guān)注觸覺智能,為大家?guī)砀?/div>
如何在開源鴻蒙OpenHarmony開啟SELinux模式?RK3566鴻蒙開發(fā)板演示
本文介紹開源鴻蒙OpenHarmony系統(tǒng)下,開啟/關(guān)閉SELinux權(quán)限的方法,觸覺智能Purple Pi OH鴻蒙開發(fā)板演示,已適配全新Open
OpenHarmony屬性信息怎么修改?觸覺智能RK3566鴻蒙開發(fā)板來演示
本文介紹開源鴻蒙OpenHarmony系統(tǒng)下,修改產(chǎn)品屬性信息的方法,觸覺智能Purple Pi OH鴻蒙開發(fā)板演示,已適配全新OpenHarmon
OpenHarmony默認30秒熄屏太麻煩?觸覺智能鴻蒙開發(fā)板教你輕松取消
OpenHarmony系統(tǒng)開機后 30 秒會自動息屏,教大家兩招輕松取消自動息屏,觸覺智能Purple Pi OH鴻蒙開發(fā)板演示,已適配全新OpenHarmony5.0 Release
評論