前言
我是一个喜欢体验和尝试的人,首先,感谢给予极术社区的试用机会。借助本次对XR806开发板的试用,第一次接触到了鸿蒙harmonyos,在一次次摸索中不断地踩雷碰壁,心情心如死灰,但也是一点点摸索,经过不断的尝试,终于完成了环境配置及编译下载。同时社区中有许多优秀的文章,感谢各位大佬的指点,在本次的试用中是参考了这两位大佬的,XR806编译的一些环境问题及解决和【XR806开发板试用】XR806与鸿蒙,简化构建环境流程。
开发板介绍:
XR806 是全志科技旗下子公司广州芯之联研发设计的一款支持 WiFi 和 BLE 的高集成度无线 MCU 芯片,支持鸿蒙 L0 系统。具有集成度高、硬件设计简单、BOM 成本低、安全可靠等优点。
环境搭建
系统:Ubuntu 20.04.4 LTS
Python: Python 3.8.10
编译链:gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
虚拟机:VMware Workstation 16 Player
(这里建议安装采用ubuntu 18.04以上的版本,因为较高版本基本内置好python3,从而减少了安装配置的麻烦)
安装git(配置用户)
1.下载git
- sudo apt-get install git
- git config --global user.name+用户名 (github官网注册的用户名)
- git config --global user.email+邮箱 (gitub官网注册绑定的邮箱)
- git config --list(查看配置)
2. 配置SSH
(不配置SSH的话,git@github...的URL不能下载,大文件传输需要通过SSH才稳定)
生成SSH秘钥:
- ssh-keygen -t rsa -C "注册绑定的邮箱"
( 输入两次密码后,提示的地方直接按Enter,成功生成如下图所示)
查看生成秘钥:
- cat ~/.ssh/id_rsa.pub
3.GitHub上配置SSH
登录git官网,网址:https://github.com/
右上角登陆后点击settings->SSH and GPS keys->New SSH key
把id_rsa.pub文件中的生成的内容全部复制到key中,输入title,点击Add SSH key即可。
安装python3.8
- sudo apt-get install 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
安装hb
(安装前提条件:请先安装Python 3.7.4及以上版本,请先安装Python3.8)
- python3 -m pip install --user ohos-build
- vim ~/.bashrc
(设置环境变量) - export PATH=~/.local/bin:$PATH
(将以下命令拷贝到.bashrc文件的最后一行,保存并退出) - source ~/.bashrc
(执行如下命令更新环境变量)
安装repo
1.创建repo安装目录
- wget https://storage.googleapis.co... -P ~/tools/
2.改变执行权限。
- chmod a+x ~/tools/repo
3.改变环境变量,在~/.bashrc文件的最后输入。
- vim ~/.bashrc
- export PATH=~/tools:$PATH
- export REPO_URL=https://mirrors.tuna.tsinghua...
4.重启shell。
至此,环境搭建完成,接下来是下载源码及编译工具。
下载鸿蒙系统源码
1.创建目录:
- mkdir code
- cd code
2.通过repo,从gitee仓库中获取鸿蒙系统分支源码:
- repo init -u https://gitee.com/openharmony... -b OpenHarmony_1.0.1_release --no-repo-verify
- repo sync -c
- repo forall -c 'git lfs pull'
下载xr806源码
- 下载device源码:
- cd device/
- git clone https://gitee.com/moldy-potat...
- mv devboard_device_allwinner_xr806/ xradio
- 下载vendor源码:
- cd vendor/
- com/moldy-potato-chips/devboard_vendor_allwinner_xr806.git
- mv devboard_vendor_allwinner_xr806/ xradio
下载交叉编译工具
1.创建目录:
- mkdir tool
2.进入该目录:
- cd tool
3.下载编译工具:
4.下载完成后,解压:
- tar -jxvf gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
(注意,不要选择最新版的,亲测后续编译会不成功)
修改交叉编译工具
- 修改device/xradio/xr806/liteos_m/config.gni中的board_toolchain_prefix为自己实际环境下的gcc路径。
- cd code/device/xradio/xr806/liteos_m
- vim config.gni
- 修改device/xradio/xr806/xr_skylark/gcc.mk(更改实际环境下的路径)
SDK配置
在修改完交叉编译工具路径后 ,在xr_skylark目录下执行
1.复制配置文件
- cp project/demo/wlan_ble_demo/gcc/defconfig .config
2.可使用图形化界面确认配置
- make menuconfig
3.清除过程文件
- make build_clean
4.生成静态库已经自动生成头文件
- make lib -j
5.成功结果如图:
系统源码编译
- 回到xr806系统源码目录:
- 输入hb set 后选择skylark:
- 输入hb build -f 编译:
- 生成的镜像文件xr_system.img
烧录代码
- 生成的镜像位于device/xradio/xr806/xr_skylark/out;
- 烧录工具名称为(phoenixMC),位于device\xradio\xr806\xr_skylark\tools下。
在windows下,打开该工具,通过串口烧写镜像
修改烧录配置项,勾选“硬件复位烧写模式”:
点击升级固件,然后等待烧录到100%,便完成整个流程。
至此,系统成功编译下载通过。