一. 簡介
芯片介紹
XR806是全志科技旗下子公司廣州芯之聯研發設計的一款支持WiFi和BLE的高集成度無線MCU芯片,支持OpenHarmony輕量設置系統。具有集成度高、硬件設計簡單、BOM成本低、安全可靠等優點??蓮V泛滿足 智能家居、智慧樓宇、工業互聯、兒童玩具、電子競賽、極客DIY等領域的無線連接需求。
開發板介紹
XR806_OpenHarmony開發板是基于XR806芯片設計開發的參考評估,板身集成了XR806芯片、WiFi/BT雙天線、供電系統、按鈕及LED等,并引出了所有可用引腳,可供開發者進行方案評估、DIY或小規模產品研發使用。以下為開發板外觀圖([更多硬件資料地址]
二. 快速上手
1. 環境搭建
開發基礎環境由windows 工作臺和Linux編譯服務器組成。windows 工作臺可以通過samba 服務或ssh 方式訪問Linux編譯服務器。其中windows 工作臺用來燒錄和代碼編輯,Linux編譯服務器用來編譯OpenHarmony代碼,為了簡化步驟,Linux編譯服務器推薦安裝Ubuntu20.04。
安裝編譯依賴基礎軟件
鴻蒙開發next學習文檔
mau123789是v直接拿取。
sudo apt-get install -y build-essential gcc g++ make zlib* libffi-dev
安裝和配置Python
打開Linux編譯服務器終端。
輸入如下命令,查看python版本號,需使用python3.7以上版本。
python3 --version
如果低于python3.7版本,不建議直接升級,請按照如下步驟重新安裝。以python3.8為例,按照以下步驟安裝python。
- 運行如下命令,查看Ubuntu版本:
cat /etc/issue
- 根據Ubuntu不同版本,安裝python。
- 運行如下命令,查看Ubuntu版本:
設置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
安裝并升級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
打開Linux編譯服務器終端。
在根目錄下創建gn文件夾。
mkdir ~/gn
解壓gn安裝包至~/gn路徑下。
tar -xvf gn-linux-x86-1717.tar.gz -C ~/gn
設置環境變量。
vim ~/.bashrc
將以下命令拷貝到.bashrc文件的最后一行,保存并退出。
export PATH=~/gn:$PATH
生效環境變量。
source ~/.bashrc
安裝ninja
打開Linux編譯服務器終端。
解壓ninja安裝包至~/ninja路徑下。
tar -xvf ninja.1.9.0.tar -C ~/
設置環境變量。
vim ~/.bashrc
將以下命令拷貝到.bashrc文件的最后一行,保存并退出。
export PATH=~/ninja:$PATH
生效環境變量。
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
代碼下載
- OpenHarmony代碼下載,以OpenHarmony 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'
下載板級soc模塊
soc下面是包含芯片SDK和驅動代碼、第三方庫適配等接口層代碼。下載方法如下:mkdir ~/xradio cd ~/xradio git clone git@gitee.com:openharmony-sig/device_soc_allwinner.git
因為最新的代碼未在適配相應的HDF驅動,所以需要將代碼回退到指定版本:d5d336941a1ba1ba3b84aebab1d7173d20968ccd
cd device_soc_allwinner git reset --hard d5d336941a1ba1ba3b84aebab1d7173d20968ccd
將此代碼拷貝到soc下并重新命名為allwinner
cp -raf device_soc_allwinner ~/openharmony/device/soc/allwinner
下載板級board模塊
board主要存放板級配置,下載方法:git clone git@gitee.com:openharmony-sig/device_board_allwinner.git
將此代碼拷貝到board下并重新命名為allwinner
cp -raf device_board_allwinner ~/openharmony/device/board/allwinner
下載vendor模塊
vendor存放的都是一些基于XRMCU開發的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根目錄下執行。
3. 編寫自己的hello word
? 在vendor/allwinner/xradio_wifi_demo創建demo_hello_world文件夾
cd vendor/allwinner/xradio_wifi_demo/
mkdir demo_hello_world
? 然后創建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/Makefilehb build 全量編譯命令
hb build -f
如果編譯中出現如下錯誤:
需要修改device/soc/allwinner/xradio/osal/include/target_config.h
// #define OS_SYS_CLOCK (SystemCoreClock)
#define OS_SYS_CLOCK 160000000
5. 燒錄 && 運行
- 固件和燒錄軟件位置
- 編譯生成的固件保存在out/xradio/xradio_wifi_demo目錄下,文件名固定為xr_system.img。
- 燒錄軟件保存在device/soc/allwinner/xradio/xr806/tools下,名稱為phoenixMC_xxxx.exe。
- 燒錄軟件界面
- 操作步驟
- PC安裝CP2102驅動。
- 串口連接:通過USB-typeC數據線連接開發板和PC。
- 串口設置:點擊左上角的“刷新”按鈕可刷新已連接串口設備列表,勾選開發板對應的COM口。串口波特率最大支持3000000,波特率越高,燒錄速度越快。如果高波特率下容易出現燒錄失敗,可檢查串口線、串口驅動是否穩定支持該波特率;或者降低波特率進行嘗試。為了避免燒錄速度過慢,建議波特率選擇3000000。
- 固件選擇:點擊“選擇固件”按鈕選擇需要燒錄的固件文件(xr_system.img),固件信息欄會顯示出當前固件的詳細信息。另外,通過拖拽方式將固件直接拖入工具界面也可以達到同樣的效果。
- 開啟一鍵燒錄功能:點擊“設置”按鈕調出設置界面,如下圖勾選“硬件復位燒寫模式”.
- 啟動燒錄:點擊“升級固件”按鈕啟動固件燒錄。燒錄狀態欄顯示當前選定串口對應設備的燒錄進度和狀態。當燒錄成功時,進度條會達到100%的進度并顯示為綠色;當燒錄失敗時,進度條顯示為紅色并報告錯誤。
- 復位設備:固件燒錄成功后,開啟PC串口調試工具(115200,N,8,1),硬件復位開發板(按下復位按鈕),程序將運行且看到以下打印輸出。
?審核編輯 黃宇
-
嵌入式
+關注
關注
5082文章
19104瀏覽量
304825 -
開發板
+關注
關注
25文章
5032瀏覽量
97375 -
鴻蒙
+關注
關注
57文章
2339瀏覽量
42809 -
OpenHarmony
+關注
關注
25文章
3713瀏覽量
16256 -
xr806
+關注
關注
0文章
14瀏覽量
1322
發布評論請先 登錄
相關推薦
評論