【XR806官方开发板入门】openHarmony编译与烧录
-
【XR806官方开发板入门】openHarmony编译与烧录
非常感谢AW陈老板赠与XR806开发板~~~
期望未来线下面基活动不会太晚.首先画重点:
【严重警告】不要用全志客户服务平台Freertos v1.2版本编出来的固件烧到XR806开源鸿蒙开发板
由于我鸽子特性, 所以前一段时间我卡在了openharmony(简称OH)开发路线上, 所以避开了官方RTOS这坑.OH开发路线我断断续续地摸索了2天
- 一是文档教程分散且有多个版本(见 参考文献);
- 二是估计OH官方库跟XR806的适配出现了一些分歧, 两者没有合并在一起.
平台
原生Ubuntu 20.04
资源
先建个文件夹, 边下载边往下看
mkdir xradio && cd ~/xradio
gn
需要下载gn-linux-x86-1717.tar.gz工具. 链接忘了
放到~/gn目录下, 并加入环境变量
工具链
Linux: gcc-arm-none-eabi-10-2020-q4-major
下载解压, 加不加到PATH不要紧. 因为OH依靠ninja工具构建. 只要将工具链路径(gcc-arm-none-eabi-10-2020-q4-major/arm-none-eabi/bin)加入
特定库
devboard_device_allwinner_xr806
git@gitee.com:moldy-potato-chips/devboard_device_allwinner_xr806.git
devboard_vendor_allwinner_xr806
git@gitee.com:moldy-potato-chips/devboard_vendor_allwinner_xr806.git
以上两个库是早期从OH库特定分支fork下来的. 个人认为可能是最新的OH官方库与xr806适配方式存在一些分歧, 所以导致官方教程的里repo sync时无法同步到特定目录(库).
下载完之后xradio目录应该为:
xradio ├── devboard_device_allwinner_xr806 ├── devboard_vendor_allwinner_xr806 └── gcc-arm-none-eabi-10-2020-q4-major
OH
先来看看官方教程, 然而并不能正常repo sync(21/03/06之前)
mkdir openharmony cd openharmony repo init -u ssh://git@gitee.com/openharmony-sig/manifest.git -b OpenHarmony_1.0.1_release --no-repo-verify -m devboard_xr806.xml repo sync -c repo forall -c 'git lfs pull' #下载部分大容量二进制文件
问题出现在
-m devboard_xr806.xml
所以直接取得OpenHarmony_1.0.1_release分支OH仓即可:
repo init -u https://gitee.com/openharmony/manifest.git -b OpenHarmony_1.0.1_release --no-repo-verify repo sync -c repo forall -c 'git lfs pull'
注意xr806仅适配特定分支的OH系统.
整合目录★★★
以下操作是为了弥补该分支OH仓的一些差异.
估计是OH官方仓作了一些修改没法向前兼容XR806的适配.# 若~/openharmony/device/xradio目录已存在, 则可备份一下. # 复制device库 cp -rfa ~/xradio/devboard_device_allwinner_xr806 ~/openharmony/device/xradio # 复制vender库 cp -rfa ~/xradio/devboard_vendor_allwinner_xr806 ~/openharmony/vendor/xradio
配置工具链
cd ~/openharmony
修改:
device/board/allwinner/xradio
device/xradio/xr806/liteos_m/config.gni +37# Compiler prefix. board_toolchain_prefix = "~/xradio/gcc-arm-none-eabi-10-2020-q4-major/bin/arm-none-eabi-"
修改:
device/xradio/xr806/xr_skylark/gcc.mk
CC_DIR := ~/xradio/gcc-arm-none-eabi-10-2020-q4-major/bin
编译注意事项
hb工具选择兼容XR806的版本
hb是构件OHOS的python工具. 它位于openharmony/build/lite/hb.
hb最新版本不兼容编译XR806 SDK, 所以必须使用b765e35分支的hb工具, 即对应OH仓OpenHarmony_1.0.1_release分支的版本.
git reset --hard b765e35 # 在openharmony目录下执行安装才会替换hb python3 -m pip install --user build/lite
编译SDK
编译前要包含一下要编译的程序, 比如
~/openharmony/device/xradio/xr806/ohosdemo/hello_demo
需要修改一些Build.gn...
详细见官方教程和OH仓吧...
还有一些生成文件需要注意:openharmony/device/xradio/xr806/liteos_m/SDKconfig.gni
编译
hb set 然后按一下回车出现:
!imga
选择wifi_skylark@xradio选项.
然后hb build -f -c gcc
见success即可.
烧录
记得按官方教程打上 配置里的勾勾.
参考文献
[2] 系统下载与编译
-
666666 手动点赞
-
为大佬点赞,一次成功
-
你好,我按照你的文档操作,最后build的时候出现了下图的,不知道如何解决,期待你的回复!
-
-
-
-
-
-
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号