常山赵子龙 · 2021年12月26日

【XR806开发板试用】第一篇-基于ArchLinux配置开发环境并烧录

前段时间很幸运的申请到了XR806的这块开发板子。由于出差、生病还有各种事情的影响,这周末才有空拿出来收到的板子把玩一番。前段时间也抽空看了看其他工程师的体验文章。初步了解到全志为这块板子提供了比较方便的Linux开发环境。嗯,毕竟搞嵌入式嘛,很多产品居然不提供Linux下开发的条件这点也是迷惑,全志这点很好。
本次体验文章,及后续其他的应用分享都是基于Linux环境。开发环境软硬件情况如下:工作站是一台老Intel Core 笔记本一台,8G内存,Archlinux环境。我一般习惯于将开发环境放入虚拟机。开发虚拟机环境为Libvirt上运行的Archlinux,虚拟机中为终端环境,没有桌面。开发板的资源参考官方文档
首先在虚拟机中安装ArchLinux,安装方法可以参见官方文档
开始正式进入开发环境的搭建。这里建议新手可以先详细看下官方的文档,再看下其他工程师写的测评文章,目前主要是开发板官方文档、OpenHarmony官方环境配置文档、以及其他工程师写的教程,数量不多,先熟悉之后再配环境,遇到问题会更好解决。

一、搭建鸿蒙开发环境

参考官方Ubuntu开发环境搭建教程
使用repo获取源码,repo依赖Python3环境,官方要求是Python3.7,ArchLinux目前官方软件库已经到Python3.10,因此可以直接装

sudo Pacman -S python  python-pip

在Arch下通过如下命令获取repo

git clone https://gerrit-googlesource.lug.ustc.edu.cn/git-repo

因为目前仓库使用的还是OpenHarmony_v1.x分支,所以还需要安装llvm,下载9.0.0版本的llvm

解压llvm到一个目录,这个目录自己要知道,用来配置环境变量

配置llvm环境变量

vim ~/.bashrc

内容如下,因为已经看别人的文档知道后面还需要配置hb的环境变量,因此在这里也一并将hb环境变量配置好了。
然后接下来安装编译工具hb

python3 -m pip install --user ohos-build

安装完之后source一下

source ~/.bashrc

执行"hb -h",有打印以下信息即表示安装成功:
Screenshot_20211226_154055.png

Q1:这里遇到一个问题,hb报错

ImportError: cannot import name 'Mapping' from 'collections' (/usr/lib/python3.10/collections/init.py)

分析错误信息,将~/.local/lib/python3.10/site-packages/prompt_toolkit/styles/from_dict.py中的"from collections import Mapping" 改为"from collections.abc import Mapping"

继续获取openharmony源代码

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'`

环境配好了就可以进行代码编译了,下载编译工具 gcc-arm-none-eabi-10-2020-q4-major,设置编译工具的目录。

对代码工程进行配置

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   

编译完成为后就可以用

/xr806_openharmony/git-repo/xr806_openharmony/device/xradio/xr806/xr_skylark/tools/

目录的phoenixMC进行烧录。

Screenshot_20211225_215202.png

推荐阅读
关注数
13823
内容数
139
全志XR806开发板相关的知识介绍以及应用专栏。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息