0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

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

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-04-14 09:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一. 簡介

芯片介紹

XR806是全志科技旗下子公司廣州芯之聯(lián)研發(fā)設(shè)計的一款支持WiFi和BLE的高集成度無線MCU芯片,支持OpenHarmony輕量設(shè)置系統(tǒng)。具有集成度高、硬件設(shè)計簡單、BOM成本低、安全可靠等優(yōu)點??蓮V泛滿足 智能家居、智慧樓宇、工業(yè)互聯(lián)、兒童玩具、電子競賽、極客DIY等領(lǐng)域的無線連接需求。

開發(fā)板介紹

XR806_OpenHarmony開發(fā)板是基于XR806芯片設(shè)計開發(fā)的參考評估,板身集成了XR806芯片、WiFi/BT雙天線、供電系統(tǒng)、按鈕及LED等,并引出了所有可用引腳,可供開發(fā)者進(jìn)行方案評估、DIY或小規(guī)模產(chǎn)品研發(fā)使用。以下為開發(fā)板外觀圖([更多硬件資料地址]

二. 快速上手

1. 環(huán)境搭建

開發(fā)基礎(chǔ)環(huán)境由windows 工作臺和Linux編譯服務(wù)器組成。windows 工作臺可以通過samba 服務(wù)或ssh 方式訪問Linux編譯服務(wù)器。其中windows 工作臺用來燒錄和代碼編輯,Linux編譯服務(wù)器用來編譯OpenHarmony代碼,為了簡化步驟,Linux編譯服務(wù)器推薦安裝Ubuntu20.04。

搜狗高速瀏覽器截圖20240326151344.png

安裝編譯依賴基礎(chǔ)軟件
鴻蒙開發(fā)next學(xué)習(xí)文檔
mau123789是v直接拿取。
sudo apt-get install -y build-essential gcc g++ make zlib* libffi-dev
安裝和配置Python
  1. 打開Linux編譯服務(wù)器終端。

  2. 輸入如下命令,查看python版本號,需使用python3.7以上版本。

    python3 --version
    

    如果低于python3.7版本,不建議直接升級,請按照如下步驟重新安裝。以python3.8為例,按照以下步驟安裝python。

    1. 運行如下命令,查看Ubuntu版本:
      cat /etc/issue
      
    2. 根據(jù)Ubuntu不同版本,安裝python。
      • 如果Ubuntu 版本為18+,運行如下命令。

        sudo apt-get install python3.8
        
      • 如果Ubuntu版本為16。
        a. 安裝依賴包

        sudo apt update && sudo apt install software-properties-common
        

        b. 添加deadsnakes PPA 源,然后按回車鍵確認(rèn)安裝。

        sudo add-apt-repository ppa:deadsnakes/ppa
        

        c. 安裝python3.8

        sudo apt upgrade && sudo apt install python3.8
        
  3. 設(shè)置python和python3軟鏈接為python3.8。

    sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1
    sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
    
  4. 安裝并升級Python包管理工具(pip3),任選如下一種方式。

    • 命令行方式:
      sudo apt-get install python3-setuptools python3-pip -y
      sudo pip3 install --upgrade pip
      
    • 安裝包方式:
      curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
      python get-pip.py
      
安裝gn
  1. 打開Linux編譯服務(wù)器終端。

  2. 在根目錄下創(chuàng)建gn文件夾。

    mkdir ~/gn
    
  3. 解壓gn安裝包至~/gn路徑下。

    tar -xvf gn-linux-x86-1717.tar.gz -C ~/gn
    
  4. 設(shè)置環(huán)境變量。

    vim ~/.bashrc
    

    將以下命令拷貝到.bashrc文件的最后一行,保存并退出。

    export PATH=~/gn:$PATH
    
  5. 生效環(huán)境變量。

    source ~/.bashrc
    
安裝ninja
  1. 打開Linux編譯服務(wù)器終端。

  2. 解壓ninja安裝包至~/ninja路徑下。

    tar -xvf ninja.1.9.0.tar -C ~/
    
  3. 設(shè)置環(huán)境變量。

    vim ~/.bashrc
    

    將以下命令拷貝到.bashrc文件的最后一行,保存并退出。

    export PATH=~/ninja:$PATH
    
  4. 生效環(huán)境變量。

    source ~/.bashrc
    
安裝工具鏈
  • 編譯鏈工具推薦gcc-arm-none-eabi-10-2020-q4-major。
  • 將gcc-arm-none-eabi-10-2020-q4-major包解壓到~/tools目錄下
    tar -zxvf gcc-arm-none-eabi-10-2020-q4-major.tar.gz -C ~/tools/
    

2. 獲取源碼

安裝碼云repo工具
cd ~/
curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > ./repo
chmod a+x ./repo
sudo mv ./repo /usr/local/bin/
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple requests
代碼下載
  1. OpenHarmony代碼下載,以O(shè)penHarmony 3.1 Beta版本為例,下載方式如下:
mkdir ~/openharmony
cd ~/openharmony

repo init -u git@gitee.com:openharmony/manifest.git -b refs/tags/OpenHarmony-v3.1-Beta --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
  1. 下載板級soc模塊
    soc下面是包含芯片SDK和驅(qū)動代碼、第三方庫適配等接口層代碼。下載方法如下:

    mkdir ~/xradio
    cd ~/xradio
    git clone git@gitee.com:openharmony-sig/device_soc_allwinner.git
    

    因為最新的代碼未在適配相應(yīng)的HDF驅(qū)動,所以需要將代碼回退到指定版本:d5d336941a1ba1ba3b84aebab1d7173d20968ccd

    cd device_soc_allwinner
    git reset --hard d5d336941a1ba1ba3b84aebab1d7173d20968ccd
    

    將此代碼拷貝到soc下并重新命名為allwinner

    cp -raf device_soc_allwinner ~/openharmony/device/soc/allwinner
    
  2. 下載板級board模塊
    board主要存放板級配置,下載方法:

    git clone git@gitee.com:openharmony-sig/device_board_allwinner.git
    

    將此代碼拷貝到board下并重新命名為allwinner

    cp -raf device_board_allwinner ~/openharmony/device/board/allwinner
    
  3. 下載vendor模塊
    vendor存放的都是一些基于XRMCU開發(fā)的WiFi模組代碼樣例,下載方法:

    git clone git@gitee.com:openharmony-sig/vendor_allwinner.git
    

    將此代碼拷貝到vendor下并重新命名為allwinner

    cp -raf vendor_allwinner_xr806 ~/openharmony/vendor/allwinner
    
安裝hb
cd ~/openharmony
pip3 install build/lite	# 此語句需要在SDK根目錄下執(zhí)行。

3. 編寫自己的hello word

? 在vendor/allwinner/xradio_wifi_demo創(chuàng)建demo_hello_world文件夾

cd vendor/allwinner/xradio_wifi_demo/
mkdir demo_hello_world

? 然后創(chuàng)建hello_world.c 以及BUILD.gn

cd demo_hello_world
touch hello_world.c
touch BUILD.gn

在hello_world.c中添加以下代碼

#include < stdio.h >
#include < string.h >

#include "ohos_init.h"

int DemoMain(int argc, char **argv)
{
	printf("rnhello world!rnrn");
	return 0;
}

SYS_RUN(DemoMain);

在BUILD.gn中添加以下代碼

source_set("hello_world"){
    sources = [
        "hello_world.c"
    ]
}

將helloworld添加到編譯中,在 device/soc/allwinner/xradio/xr806/BUILD.gn中添加以下依賴:

module_group(module_name) {
  modules = [
      "src",
      "project",
      "include",
  ]
  configs = [
    ":SdkLdCconfig",
  ]
  deps = [ "http://vendor/allwinner/xradio_wifi_demo/demo_hello_world:hello_world" ]
}

4. 編譯

  • hb set 選擇demo指令,具體命令如下:
    hb set -root # 通過鍵盤選擇 xradio_wifi_demo
    

  • 修改編譯工具鏈地址

    cd kernel/liteos_m
    make menuconfig
    

    然后選擇Compiler->Compiler type(GCC),然后選擇路徑一行,按回車會彈出路徑的輸入框,此時輸入實際的工具鏈地址。按ESC返回,最后退出并保存配置即可。

  • 修改配置文件中的工具鏈路徑
    device/board/allwinner/xradio/liteos_m/config.gni

    device/soc/allwinner/xradio/xr806/build/Makefile

  • hb build 全量編譯命令

hb build -f

如果編譯中出現(xiàn)如下錯誤:

需要修改device/soc/allwinner/xradio/osal/include/target_config.h

// #define OS_SYS_CLOCK (SystemCoreClock)
#define OS_SYS_CLOCK 160000000

5. 燒錄 && 運行

  • 固件和燒錄軟件位置
  1. 編譯生成的固件保存在out/xradio/xradio_wifi_demo目錄下,文件名固定為xr_system.img。
  2. 燒錄軟件保存在device/soc/allwinner/xradio/xr806/tools下,名稱為phoenixMC_xxxx.exe。
  • 燒錄軟件界面
  • 操作步驟
  1. PC安裝CP2102驅(qū)動。
  2. 串口連接:通過USB-typeC數(shù)據(jù)線連接開發(fā)板和PC。
  3. 串口設(shè)置:點擊左上角的“刷新”按鈕可刷新已連接串口設(shè)備列表,勾選開發(fā)板對應(yīng)的COM口。串口波特率最大支持3000000,波特率越高,燒錄速度越快。如果高波特率下容易出現(xiàn)燒錄失敗,可檢查串口線、串口驅(qū)動是否穩(wěn)定支持該波特率;或者降低波特率進(jìn)行嘗試。為了避免燒錄速度過慢,建議波特率選擇3000000。
  4. 固件選擇:點擊“選擇固件”按鈕選擇需要燒錄的固件文件(xr_system.img),固件信息欄會顯示出當(dāng)前固件的詳細(xì)信息。另外,通過拖拽方式將固件直接拖入工具界面也可以達(dá)到同樣的效果。
  5. 開啟一鍵燒錄功能:點擊“設(shè)置”按鈕調(diào)出設(shè)置界面,如下圖勾選“硬件復(fù)位燒寫模式”.
  6. 啟動燒錄:點擊“升級固件”按鈕啟動固件燒錄。燒錄狀態(tài)欄顯示當(dāng)前選定串口對應(yīng)設(shè)備的燒錄進(jìn)度和狀態(tài)。當(dāng)燒錄成功時,進(jìn)度條會達(dá)到100%的進(jìn)度并顯示為綠色;當(dāng)燒錄失敗時,進(jìn)度條顯示為紅色并報告錯誤。
  7. 復(fù)位設(shè)備:固件燒錄成功后,開啟PC串口調(diào)試工具(115200,N,8,1),硬件復(fù)位開發(fā)板(按下復(fù)位按鈕),程序?qū)⑦\行且看到以下打印輸出。

?審核編輯 黃宇

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

    關(guān)注

    5145

    文章

    19597

    瀏覽量

    316129
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5620

    瀏覽量

    103498
  • 鴻蒙
    +關(guān)注

    關(guān)注

    59

    文章

    2571

    瀏覽量

    43890
  • OpenHarmony
    +關(guān)注

    關(guān)注

    29

    文章

    3847

    瀏覽量

    18346
  • xr806
    +關(guān)注

    關(guān)注

    0

    文章

    14

    瀏覽量

    1449
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

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

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

    如何使用XR806開發(fā)板來設(shè)計一個糧食霉變檢測系統(tǒng)?

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

    XR806芯片、XR806開源鴻蒙開發(fā)板簡介

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

    XR806芯片、XR806開源鴻蒙開發(fā)板簡介

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

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

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

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

    XR806開發(fā)板試用】下載代碼時遇到如下錯誤 fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle請問大家
    發(fā)表于 12-28 06:21

    請問大佬XR806鴻蒙開發(fā)板怎么樣?

    請問大佬XR806鴻蒙開發(fā)板怎么樣?
    發(fā)表于 12-29 07:06

    【資料合集】全志XR806開發(fā)板全部資料

    3.軟件SDK——OpenHarmony/鴻蒙XR806開發(fā)板支持L0(輕量設(shè)備)級別的鴻蒙系統(tǒng)全部代碼已經(jīng)從gitee開源gittee倉庫鏈接:https://gitee.com
    發(fā)表于 03-10 14:59

    OpenHarmony開發(fā)樣例】基于全志XR806開發(fā)板開發(fā)的智能門鎖

    參考 連接IOT云平臺指南;智能設(shè)備與數(shù)字管家應(yīng)用之間的設(shè)備模型定義可以參考profile .2. 實物簡介: 如上圖所示,上面是XR806開發(fā)板,中間的是hcsr04超聲波距離傳感器,下面
    發(fā)表于 03-11 10:29

    輕量系統(tǒng):全志XR806XR806AF2L)

    開發(fā)板名稱(芯片型號) 全志XR806XR806AF2L) 芯片架構(gòu) CPU頻率 介紹(字?jǐn)?shù)請控制在200字以內(nèi)) XR806是全志科技旗下子公司廣州芯之聯(lián)研發(fā)設(shè)計的一款支持Wi
    發(fā)表于 10-19 11:14

    簡述XR806開發(fā)板與STAR-MC1處理器

    全志XR806開發(fā)板基于XR806芯片設(shè)計,搭載了安謀中國的星辰系列STAR-MC1處理器。該開發(fā)板體積較小,具備WiFi、低功耗藍(lán)牙技術(shù)等功能,技術(shù)集成度高,成本低,支持鴻蒙系統(tǒng),能
    的頭像 發(fā)表于 04-11 18:08 ?3512次閱讀

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

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

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

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

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

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

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品