女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

【XR806開(kāi)發(fā)板試用】實(shí)戰(zhàn)OpenHarmony固件編譯

冬至子 ? 來(lái)源:還沒(méi)吃飯 ? 作者:還沒(méi)吃飯 ? 2023-11-29 11:44 ? 次閱讀

固件編譯是一種將源代碼轉(zhuǎn)化為可執(zhí)行文件的過(guò)程,其中涉及了多個(gè)環(huán)節(jié)和工具的使用。在這次的學(xué)習(xí)過(guò)程中,我主要了解了設(shè)置編譯工具鏈、對(duì)代碼工程進(jìn)行配置、關(guān)鍵步驟說(shuō)明等方面的內(nèi)容,下面我將結(jié)合自己的學(xué)習(xí)經(jīng)歷和感受,談?wù)勛约旱男牡皿w會(huì)。

在深入了解XR806和OpenHarmony的過(guò)程中,我領(lǐng)略到了輕量級(jí)系統(tǒng)在嵌入式解決方案中的獨(dú)特地位和潛力。OpenHarmony作為一種通用的輕量級(jí)系統(tǒng),尤其適用于MCU處理器,如Arm Cortex-M和RISC-V 32位設(shè)備。在硬件資源極其有限的情況下,它提供了豐富的功能和工具,如多種輕量級(jí)網(wǎng)絡(luò)協(xié)議、輕量級(jí)的圖形框架,以及豐富的IOT總線讀寫(xiě)部件等。這樣的系統(tǒng)非常適合于智能家居領(lǐng)域的連接類模組、傳感器設(shè)備、穿戴類設(shè)備等產(chǎn)品的開(kāi)發(fā)。

image.png

XR806_OpenHarmony代碼的構(gòu)成部分包括device和vendor兩部分。其中,device目錄主要包含芯片層驅(qū)動(dòng),負(fù)責(zé)承接Harmony系統(tǒng)和芯片驅(qū)動(dòng)庫(kù)。這部分代碼結(jié)構(gòu)清晰,包括適配器、編譯腳本、指導(dǎo)文檔、動(dòng)態(tài)配置編譯環(huán)境的腳本、編譯工具、例程以及rtos接口層等。而vendor目錄則主要包含方案設(shè)置,其中,Harmony的主要特點(diǎn)之一是組件的插拔,這是通過(guò)vendor/config.json對(duì)方案進(jìn)行裁剪實(shí)現(xiàn)的。

獲取源碼的過(guò)程也給我留下了深刻的印象。除了安裝碼云repo工具,還可以使用pip3安裝requests庫(kù),并設(shè)置鏡像源以加快下載速度。這些步驟都展示了在開(kāi)源社區(qū)中獲取和使用資源的便捷性。

Device目錄主要包括芯片層驅(qū)動(dòng),負(fù)責(zé)承接Harmony系統(tǒng)和芯片驅(qū)動(dòng)庫(kù)。其結(jié)構(gòu)如下:

  • adapter: Harmony接口適配
  • BUILD.gn: gn編譯腳本
  • build.sh: 編譯腳本,用于搭橋Harmony與原生SDK
  • doc: 指導(dǎo)文檔
  • libcopy.py: 編譯腳本,用于動(dòng)態(tài)配置編譯環(huán)境
  • liteos_m: 編譯工具,編譯選項(xiàng)設(shè)置
  • ohosdemo: 例程
  • os: rtos接口層,通過(guò)接口層方便后續(xù)移植其他rtos
  • target_config.h: liteos系統(tǒng)裁剪
  • xr_skylark: 芯片原生驅(qū)動(dòng)

Vendor目錄主要為方案設(shè)置,Harmony主要特點(diǎn)之一為組件的插拔,通過(guò)vendor/config.json對(duì)方案進(jìn)行裁剪。其結(jié)構(gòu)如下:

  • BUILD.gn: 編譯腳本
  • config.json: 方案裁剪
  • hals: 系統(tǒng)信息

獲取源碼:
安裝碼云repo工具,可以執(zhí)行如下命令:

curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo 
#如果沒(méi)有權(quán)限,可下載至其他目錄,并將其配置到環(huán)境變量中
chmod a+x /usr/local/bin/repo
pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests

設(shè)置鏡像源(可選):

vim ~/.bashrc
#在文件的最后輸入以下內(nèi)容
export PATH=~/bin:$PATH
export REPO_URL=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/
#設(shè)置完成后重啟shell
#設(shè)置為清華鏡像源后,下載源碼時(shí)如果提示server certificate verification failed,輸入export GIT_SSL_NO_VERIFY=1后重新下載即可。

下載源碼:

# OpenHarmony通用于各種系統(tǒng),導(dǎo)致整個(gè)系統(tǒng)文件比較多,XR806把部分不必要的代碼倉(cāng)在xml中刪除了。
# 如果想要減少或增加需要下載的代碼倉(cāng),請(qǐng)把manifest倉(cāng)fork到本地后,自行裁剪。
repo init -u https://gitee.com/awol/open-harmony_-xr806_manifest.git -b master --no-repo-verify -m devboard_xr806.xml 
repo sync -c 
repo forall -c 'git lfs pull'

首先,設(shè)置編譯工具鏈?zhǔn)沁M(jìn)行固件編譯的前提條件。在XR806_SDK中,推薦使用gcc-arm-none-eabi-10-2020-q4-major進(jìn)行編譯。為了方便后續(xù)的操作,我們需要將編譯工具鏈下載并保存到“~/tools”目錄下。如果該目錄不存在,我們還需要先創(chuàng)建它。這個(gè)環(huán)節(jié)讓我明白了在編譯之前,一定要先確保編譯工具鏈的正確安裝和配置。

使用文本格式來(lái)模擬魚(yú)骨圖的結(jié)構(gòu)。

XR806支持的OpenHarmony系統(tǒng)

├── 輕量系統(tǒng)(Mini System)
│ ├── 硬件資源有限
│ ├── 支持最小內(nèi)存:128KiB
│ ├── 提供輕量級(jí)網(wǎng)絡(luò)協(xié)議
│ ├── 提供輕量級(jí)圖形框架
│ ├── 提供豐富的IOT總線讀寫(xiě)部件
│ └── 可用于智能家居領(lǐng)域的連接類模組、傳感器設(shè)備、穿戴類設(shè)備等
├── XR806_OpenHarmony代碼
│ ├── device目錄:芯片層驅(qū)動(dòng),承接Harmony系統(tǒng)和芯片驅(qū)動(dòng)庫(kù)
│ │ ├── adapter:Harmony接口適配
│ │ ├── BUILD.gn:gn編譯腳本
│ │ ├── build.sh:編譯腳本,用于搭橋Harmony與原生SDK
│ │ ├── doc:指導(dǎo)文檔
│ │ ├── libcopy.py:編譯腳本,用于動(dòng)態(tài)配置編譯環(huán)境
│ │ ├── liteos_m:編譯工具,編譯選項(xiàng)設(shè)置
│ │ ├── ohosdemo:例程
│ │ ├── os:rtos接口層,方便后續(xù)移植其他rtos
│ │ ├── target_config.h:liteos系統(tǒng)裁剪
│ │ └── xr_skylark:芯片原生驅(qū)動(dòng)
│ └── vendor目錄:方案設(shè)置,通過(guò)vendor/config.json對(duì)方案進(jìn)行裁剪
└── 其他操作:獲取源碼、固件編譯等步驟

其次,OpenHarmony的編譯分為兩部分,一部分是編譯OpenHarmony的系統(tǒng)庫(kù),另一部分是芯片驅(qū)動(dòng)的編譯,也叫原生庫(kù)。這兩部分分別使用gn腳本和makefile腳本進(jìn)行編譯。在配置代碼工程時(shí),我們需要進(jìn)入原生SDK目錄,并復(fù)制配置文件。然后通過(guò)圖形化界面配置生成靜態(tài)庫(kù)和全局頭文件。這個(gè)過(guò)程需要仔細(xì)認(rèn)真,避免出現(xiàn)錯(cuò)誤導(dǎo)致編譯失敗。

最后,關(guān)鍵步驟說(shuō)明中涉及了一些命令和操作,這些步驟需要按照一定的順序進(jìn)行,否則可能會(huì)遇到問(wèn)題。比如在執(zhí)行make menuconfig命令后,我們需要獲取目錄下的.config文件并生成圖形化配置界面;在hb set命令后,我們需要選擇指定的工程并確認(rèn);在hb build -f命令后,如果出現(xiàn)了異常提示,可能是因?yàn)榕f的flash分配方案不再使用,我們需要自動(dòng)生成文件image_auto_cal.cfg并覆蓋image_wlan_ble.cfg或者image.cfg。這些步驟需要我們認(rèn)真按照說(shuō)明進(jìn)行操作,才能確保固件編譯的順利進(jìn)行。

對(duì)固件編譯的過(guò)程進(jìn)行詳細(xì)的講解,主要包括以下步驟:

  1. 設(shè)置編譯工具鏈 :首先需要下載適合編譯的gcc編譯器,并且推薦使用gcc-arm-none-eabi-10-2020-q4-major版本。下載完成后保存在“~/tools”目錄下。
  2. 編譯OpenHarmony的系統(tǒng)庫(kù) :OpenHarmony的編譯分為兩部分,一部分是編譯OpenHarmony的系統(tǒng)庫(kù),這個(gè)過(guò)程使用gn腳本進(jìn)行。在OpenHarmony的編譯工具配置文件(device/xradio/xr806/liteos_m/config.gni)中設(shè)置編譯器前綴(board_toolchain_prefix)和編譯器類型(board_toolchain_type)。
  3. 編譯芯片驅(qū)動(dòng)的原生庫(kù) :另一部分是芯片驅(qū)動(dòng)的編譯,也叫原生庫(kù),這個(gè)過(guò)程使用makefile腳本進(jìn)行。原生庫(kù)的編譯工具在device/xradio/xr806/xr_skylark/gcc.mk設(shè)置。
  4. 對(duì)代碼工程進(jìn)行配置 :首次編譯工程,需要對(duì)原生庫(kù)進(jìn)行配置,否則無(wú)法編譯通過(guò)。配置步驟包括進(jìn)入原生SDK目錄,復(fù)制配置文件,通過(guò)圖形化界面配置,清除舊配置,根據(jù)配置生成靜態(tài)庫(kù)和全局頭文件。
  5. 選擇工程并編譯 :選擇指定的工程進(jìn)行編譯。常見(jiàn)的編譯命令包括hb set用于選擇工程,hb build -f用于編譯。

在編譯過(guò)程中可能會(huì)遇到一些異常情況,例如舊的flash分配方案不再使用。此時(shí)需要在自動(dòng)生成的image_auto_cal.cfg文件中覆蓋image_wlan_ble.cfg或者image.cfg的內(nèi)容。

通過(guò)這次學(xué)習(xí),我深刻認(rèn)識(shí)到了固件編譯的復(fù)雜性和細(xì)節(jié)性。在編譯過(guò)程中,不僅需要選擇合適的編譯器和編譯選項(xiàng),還需要根據(jù)項(xiàng)目需求進(jìn)行正確的配置和調(diào)試。此外,對(duì)于出現(xiàn)的問(wèn)題需要及時(shí)進(jìn)行處理和解決,否則可能會(huì)影響整個(gè)編譯過(guò)程的順利進(jìn)行。因此,在進(jìn)行固件編譯時(shí),我們需要有充分的準(zhǔn)備和耐心,并不斷學(xué)習(xí)和積累經(jīng)驗(yàn)。

總之,這次學(xué)習(xí)讓我對(duì)固件編譯有了更深入的了解和認(rèn)識(shí)。通過(guò)設(shè)置編譯工具鏈、對(duì)代碼工程進(jìn)行配置、關(guān)鍵步驟說(shuō)明等方面的學(xué)習(xí),我不僅掌握了固件編譯的基本流程和方法,還學(xué)會(huì)了如何處理和解決編譯過(guò)程中可能出現(xiàn)的問(wèn)題。這些知識(shí)將對(duì)我今后的學(xué)習(xí)和工作產(chǎn)生積極的影響。

聲明:本文內(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)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19812

    瀏覽量

    233608
  • RTOS
    +關(guān)注

    關(guān)注

    24

    文章

    841

    瀏覽量

    120781
  • Cortex-M
    +關(guān)注

    關(guān)注

    2

    文章

    230

    瀏覽量

    30237
  • OpenHarmony
    +關(guān)注

    關(guān)注

    27

    文章

    3835

    瀏覽量

    18171
  • xr806
    +關(guān)注

    關(guān)注

    0

    文章

    14

    瀏覽量

    1434
收藏 人收藏

    評(píng)論

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

    XR806開(kāi)發(fā)板適用】基于多源信息融合的糧食霉變檢測(cè)系統(tǒng)設(shè)計(jì)

    XR806開(kāi)發(fā)板具有強(qiáng)大的數(shù)據(jù)處理和傳輸能力,廣泛應(yīng)用于物聯(lián)網(wǎng)和嵌入式系統(tǒng)開(kāi)發(fā)
    的頭像 發(fā)表于 10-27 17:06 ?1231次閱讀
    【<b class='flag-5'>XR806</b><b class='flag-5'>開(kāi)發(fā)板</b>適用】基于多源信息融合的糧食霉變檢測(cè)系統(tǒng)設(shè)計(jì)

    基于全志XR806開(kāi)發(fā)板的家用環(huán)境監(jiān)測(cè)傳感器設(shè)計(jì)

    本文來(lái)自全志XR806開(kāi)發(fā)板評(píng)測(cè)活動(dòng)文章,作者使用XR806開(kāi)發(fā)板制作一個(gè)簡(jiǎn)單的家用環(huán)境監(jiān)測(cè)傳感器,可以獲取當(dāng)前的溫度、濕度、氣壓、海拔這四個(gè)參數(shù),同時(shí)能夠通過(guò)外部的屏幕實(shí)時(shí)顯示刷新。
    的頭像 發(fā)表于 12-03 10:20 ?949次閱讀
    基于全志<b class='flag-5'>XR806</b><b class='flag-5'>開(kāi)發(fā)板</b>的家用環(huán)境監(jiān)測(cè)傳感器設(shè)計(jì)

    XR806開(kāi)發(fā)板試用】+4.OpenHarmony編譯順序

    首先呢,得看看這個(gè)"vendor/xradio/xr806/config.json",這可是個(gè)關(guān)鍵角色。
    的頭像 發(fā)表于 12-11 14:02 ?965次閱讀

    如何使用XR806開(kāi)發(fā)板來(lái)設(shè)計(jì)一個(gè)糧食霉變檢測(cè)系統(tǒng)?

    XR806開(kāi)發(fā)板具有強(qiáng)大的數(shù)據(jù)處理和傳輸能力,廣泛應(yīng)用于物聯(lián)網(wǎng)和嵌入式系統(tǒng)開(kāi)發(fā)
    的頭像 發(fā)表于 01-05 17:30 ?1061次閱讀
    如何使用<b class='flag-5'>XR806</b><b class='flag-5'>開(kāi)發(fā)板</b>來(lái)設(shè)計(jì)一個(gè)糧食霉變檢測(cè)系統(tǒng)?

    OpenHarmony南向嵌入式:【XR806開(kāi)發(fā)板指導(dǎo)文檔】

    XR806_OpenHarmony開(kāi)發(fā)板是基于XR806芯片設(shè)計(jì)開(kāi)發(fā)的參考評(píng)估,身集成了XR806
    的頭像 發(fā)表于 04-14 09:25 ?1009次閱讀
    <b class='flag-5'>OpenHarmony</b>南向嵌入式:【<b class='flag-5'>XR806</b><b class='flag-5'>開(kāi)發(fā)板</b>指導(dǎo)文檔】

    XR806芯片、XR806開(kāi)源鴻蒙開(kāi)發(fā)板簡(jiǎn)介

    。可廣泛滿足 智能家居、智慧樓宇、工業(yè)互聯(lián)、兒童玩具、電子競(jìng)賽、極客DIY 等領(lǐng)域的無(wú)線連接需求。芯片框圖芯片參數(shù)XR806開(kāi)源鴻蒙開(kāi)發(fā)板介紹XR806開(kāi)發(fā)板是基于
    發(fā)表于 11-15 17:08

    XR806芯片、XR806開(kāi)源鴻蒙開(kāi)發(fā)板簡(jiǎn)介

    。可廣泛滿足 智能家居、智慧樓宇、工業(yè)互聯(lián)、兒童玩具、電子競(jìng)賽、極客DIY 等領(lǐng)域的無(wú)線連接需求。芯片框圖芯片參數(shù)XR806開(kāi)源鴻蒙開(kāi)發(fā)板介紹XR806開(kāi)發(fā)板是基于
    發(fā)表于 11-15 18:32

    【資料釋放】全志XR806開(kāi)發(fā)板全資料釋放,連bomlist都給出來(lái)了

    ://www.openharmony.cn/#/supportDevices/XR8061.硬件bomlist包含核心和底板兩個(gè)部分核心:底板:完整excel文檔下載:
    發(fā)表于 12-06 14:06

    XR806開(kāi)發(fā)板下載代碼時(shí)遇到錯(cuò)誤fatal: Cannot get該怎么辦

    XR806開(kāi)發(fā)板試用】下載代碼時(shí)遇到如下錯(cuò)誤 fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle請(qǐng)問(wèn)大家
    發(fā)表于 12-28 06:21

    【直播預(yù)告】全志XR806芯片應(yīng)用實(shí)戰(zhàn)分享

    /joinXR806優(yōu)秀開(kāi)發(fā)例程《基于OpenHarmony的棋子分揀機(jī)》《用全志XR806開(kāi)源鴻蒙開(kāi)發(fā)板做一個(gè)四足行走機(jī)器狗》《【
    發(fā)表于 02-28 17:39

    【直播預(yù)告】全志XR806芯片應(yīng)用實(shí)戰(zhàn)分享會(huì)!

    /joinXR806優(yōu)秀開(kāi)發(fā)例程《基于OpenHarmony的棋子分揀機(jī)》《用全志XR806開(kāi)源鴻蒙開(kāi)發(fā)板做一個(gè)四足行走機(jī)器狗》《【
    發(fā)表于 03-01 09:27

    用deepin進(jìn)行xr806開(kāi)發(fā)板開(kāi)發(fā)

    為了防止后面一些玄學(xué)問(wèn)題,就放棄在deepin上進(jìn)行xr806開(kāi)發(fā)了,還是老老實(shí)實(shí)的在ubuntu上吧.相同的操作,在ubuntu20是,就沒(méi)有問(wèn)題。由于下載源碼時(shí),正好原官方倉(cāng)庫(kù)不可用,就使用了臨時(shí)
    發(fā)表于 11-17 10:50

    XR806開(kāi)發(fā)板試用】留言功能開(kāi)發(fā)

    XR806開(kāi)源鴻蒙開(kāi)發(fā)板是一款基于XR806芯片設(shè)計(jì),高度集成WiFi/BLE/常用外設(shè),可供開(kāi)發(fā)者進(jìn)行方案評(píng)估、DIY或小規(guī)模產(chǎn)品研發(fā),可廣泛應(yīng)用于智能家居、智能樓宇、智能城市和工業(yè)
    的頭像 發(fā)表于 10-08 10:58 ?947次閱讀

    XR806開(kāi)發(fā)板試用】FreeRTOS創(chuàng)建任務(wù)測(cè)試

    這篇來(lái)學(xué)習(xí)下,XR806開(kāi)發(fā)板在FreeRTOS系統(tǒng)下創(chuàng)建兩個(gè)任務(wù)測(cè)試,由于沒(méi)有找到學(xué)習(xí)的文檔,試著參考例程來(lái)測(cè)試。
    的頭像 發(fā)表于 10-10 11:47 ?846次閱讀
    【<b class='flag-5'>XR806</b><b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>試用</b>】FreeRTOS創(chuàng)建任務(wù)測(cè)試

    全志XR806開(kāi)發(fā)板原理圖

    全志XR806開(kāi)發(fā)板原理圖
    發(fā)表于 10-19 15:11 ?12次下載