安装Ubuntu
我是在虚拟机下安装,这部分大家应该都会吧,就不过多阐述了。
环境配置
大家应该先看官方文档【XR806】
1.准备工作
Git
在安装git后,需git-lfs并配置用户信息。否则可能拉代码失败
git config
git config
git config
repo
安装码云repo工具,可以执行如下命令
配置环境变量 如果安装了vim,则可以使用vim编辑。否则手动在~/.bashrc文件最后添加
vim ~/.bashrc
export PATH=~/bin:$PATH
生效环境变量
source ~/.bashrc
修改repo镜像地址,在文章基于星辰处理器的全志XR806开源鸿蒙开发板上手体验中就有相应步骤。
当直接执行repo init时候,系统会提示连接超时。
因为Repo init 默认会访问的url地址往往会失败;
所以我们需要替换为国内的地址,在修改git-repo下载到的repo文件REPO_URL地址。
Python
安装python3.7+,我安装的是3.8版本,根据Ubuntu不同版本,安装python。
如果Ubuntu 版本为18+,运行如下命令。
sudo apt-get install python3.8
如果Ubuntu版本为16。需安装依赖包
sudo apt update && sudo apt install software-properties-common
b. 添加deadsnakes PPA 源,然后按回车键确认安装。
sudo add-apt-repository ppa:deadsnakes/ppa
c. 安装python3.8
sudo apt upgrade && sudo apt install python3.8
设置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
LLVM
请先下载llvm工具
解压LLVM安装包至~/llvm路径下,也可以自己手动解压至对应目录下
tar -zxvf llvm.tar -C /
设置环境变量
如果安装了vim,则可以使用vim编辑。否则手动在/.bashrc文件最后添加
vim ~/.bashrc
export PATH=~/llvm/bin:$PATH
生效环境变量
source ~/.bashrc
hb
先安装Python 3.7.4及以上版本和pip工具,才能正常安装。
pip install --user ohos-build
设置环境变量,仿照上面设置即可
PATH="HOME/.local/bin:PATH"
执行"hb -h",有打印以下信息即表示安装成功:
usage: hb
OHOS build system
positional arguments:
{build,set,env,clean}
build Build source code
set OHOS build settings
env Show OHOS build env
clean Clean output
optional arguments:
-h, --help show this help message and exit
安装必要的库和工具
sudo apt-get install build-essential gcc g++ make zlib* libffi-dev e2fsprogs pkg-config flex bison perl bc openssl libssl-dev libelf-dev libc6-dev-amd64 binutils binutils-dev libdwarf-dev u-boot-tools mtd-utils gcc-arm-linux-gnueabi cpio device-tree-compiler
否则在后面的步骤中,会有许多错误信息,由于缺少对应的工具和库。
安装libncurses5-dev
sudo apt-get install libncurses5-dev
可能还会缺少其他组件
如果出现,对应安装即可
参考XR806编译的一些环境问题及解决
2.源码
获取源码
只获取鸿蒙代码,再手动加入
XR806代码正在走合入开源鸿蒙主仓流程,这几天会暂时不可用。
下载编译链
我们使用gcc-arm-none-eabi-10-2020-q4-major, 解压放在指定位置,我们默认放在~/tools中,这样就不用去更改文件里面的路径。
代码编译
首次编译工程,需要对原生库进行配置,否则无法编译通过,配置步骤如下:
cd device/xradio/xr806/xr_skylark
cp project/demo/audio_demo/gcc/deconfig .config
make menuconfig
make build_clean
make lib -j
cd -
hb set
hb build -f
其中就是将device/xradio/xr806/xr_skylark/project/demo/audio_demo/gcc/deconfig中的配置文件内容复制在device/xradio/xr806/xr_skylark的.config 中,在进行make menuconfig 进入图形化配置文件,记得检查是否安装libncurses5-dev。进入图形化配置页面后
直接选择退出,在执行make build_clean清除旧配置, make lib -j根据配置生成静态库和全局头文件,cd - 返回根目录,
hb set
直接回车
确定选中的是wifi_skylark,直接enter即可。
之后进行hb build -f,编译。如果出现错误,参考官方文档。
代码编写说明
请先查看文档编译顺序
如果是在编译烧录后,并没有成功运行,则可能是libcopy.py的问题。
在文件xr806_openharmony/device/xradio/xr806/xr_skylark/ohos.mk中,并没有更新路径。
文件未被更新如:
OHOSSOURCE = -Wl,--whole-archive
OHOSSOURCE += $(ROOT_PATH)/lib/ohos/libapp_console.a
OHOSSOURCE += $(ROOT_PATH)/lib/ohos/libapp_led.a
OHOSSOURCE += $(ROOT_PATH)/lib/ohos/libapp_WlanTest.a
OHOSSOURCE += -Wl,--no-whole-archive
其中是否有你需要启动的路径,如果没有可以手动添加,但最好还需找出原因。
3.固件烧录
这部分比较简单,我是直接在编译生成的固件在device/xradio/xr806/xr_skylark/out,名称为xr_system.img。
XR806的烧录固件为phoenixMC_xxxx.exe,文件位于device/xradio/xr806/xr_skylark/tools。打开后界面如下:
原作者:kings669669