<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[【XR806开发板试用】shell脚本一键配置XR806开发环境]]></title><description><![CDATA[<p dir="auto">本文是我基于官方文档整理的最新XR806开发环境搭建步骤，所有步骤都合并为几段shell脚本，可以直接复制粘贴执行。</p>
<p dir="auto">我的开发环境是基于Ubuntu 20.04的，目前XR806的OpenHarmony代码版本是1.0.1_release；</p>
<p dir="auto">每段脚本下方的注都是容易遇到坑的地方，请大家遇到问题的时候多注意。</p>
<h1>准备repo命令行工具</h1>
<pre><code>[ "$(id -u)" == "0" ] &amp;&amp; alias sudo=

sudo apt update
sudo apt -y install curl git python3 python3-pip
ln -s /usr/bin/python3 /usr/bin/python

# 设置pip源为阿里镜像站
pip config set global.index-url http://mirrors.aliyun.com/pypi/simple/
pip config set global.timeout 120
pip config set global.trusted-host mirrors.aliyun.com

# 下载repo工具
[ -e ~/bin/ ] || mkdir ~/bin/
curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 &gt; ~/bin/repo
chmod +x ~/bin/repo
pip install requests # 码云的 repo 依赖这个pip包
echo 'export PATH=$PATH:~/bin' | tee -a ~/.bashrc
</code></pre>
<p dir="auto">注：</p>
<p dir="auto">repo命令行工具本身是一个python脚本，所以需要先安装python3；<br />
这里的repo为码云提供的版本，REPO_URL的值他们已经修改好了，不需要再修改；<br />
他们修改的代码依赖了requests包，因此步骤中有配置pip源和下载requests包；</p>
<h1>下载ARM交叉编译工具链</h1>
<pre><code># 下载 gn 压缩包
GN_TARBALL=gn-linux-x86-1717.tar.gz
GN_URL_PREFIX=https://repo.huaweicloud.com/harmonyos/compiler/gn/1717/linux
curl $GN_URL_PREFIX/$GN_TARBALL &gt; $GN_TARBALL

# 下载 ninja 压缩包
NINJA_TARBALL=ninja.1.9.0.tar
NINJA_URL_PREFIX=https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux
curl $NINJA_URL_PREFIX/$NINJA_TARBALL &gt; $NINJA_TARBALL

# 下载clang 9.0 压缩包
CLANG_TARBALL=llvm-linux-9.0.0-36191.tar
CLANG_URL_PREFIX=https://repo.huaweicloud.com/harmonyos/compiler/clang/9.0.0-36191/linux
curl $CLANG_URL_PREFIX/$CLANG_TARBALL &gt; $CLANG_TARBALL

# 下载 gcc-arm-none-eabi-10-2020-q4-major 压缩包
GCC_TARBALL=gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
GCC_URL_PREFIX=https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-rm/10-2020q4
curl $GCC_URL_PREFIX/$GCC_TARBALL &gt; $GCC_TARBALL

[ -e ~/tools/ ] || mkdir ~/tools/

# 解压gn和ninja压缩包
tar -C ~/tools/ -xvf $GN_TARBALL
tar -C ~/tools/ -xvf $NINJA_TARBALL
echo 'export PATH=$PATH:~/tools:~/tools/ninja' | tee -a ~/.bashrc

# 解压clang压缩包
tar -C ~/tools/ -xvf $CLANG_TARBALL
echo 'export PATH=$PATH:~/tools/llvm/bin' | tee -a ~/.bashrc

# 解压gcc压缩包
tar -C ~/tools/ -xvf $GCC_TARBALL
echo 'export PATH=$PATH:~/tools/gcc-arm-none-eabi-10-2020-q4-major/bin' | tee -a ~/.bashrc

source ~/.bashrc # 生效环境变量
</code></pre>
<p dir="auto">注：</p>
<p dir="auto">全志在线的步骤描述里面没有写需要下载gn/ninja/clang，但是后续的hb build命令会依赖这几个命令行工具；</p>
<h1>下载OpenHarmony和XR806代码</h1>
<pre><code># 配置你的git作者信息
git config --global user.email "yourname@example.com"
git config --global user.name "Your Name"

# 创建目录
[ -e ~/xr806_openharmony ] || mkdir ~/xr806_openharmony
cd ~/xr806_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'

# 下载 xr806 的 device和vendor 仓到 device/xradio和vendor/xradio目录
git clone https://gitee.com/XR806/devboard_device_allwinner_xr806.git device/xradio/
git clone https://gitee.com/XR806/devboard_vendor_allwinner_xr806.git vendor/xradio/
</code></pre>
<p dir="auto">注：</p>
<p dir="auto">最后的两个仓是我从uncleli克隆的两个代码仓，因为全职在线文档中openharmony-sig组织下的代码仓暂设置访问权限为私有了，组织外部人员暂时无法访问；</p>
<h1>编译XR806的OpenHarmony代码</h1>
<p dir="auto"><strong>配置项目</strong><br />
第一次编译前需要执行“配置项目”的步骤。主要用于生成部分Kconfig配置和Makefile代码片段，后续编译不再需要执行这里的步骤。</p>
<pre><code>sudo apt install -y libncurses5-dev  # menuconfig 依赖的ncurses库

# 进入SDK目录。
cd device/xradio/xr806/xr_skylark/

# 复制配置文件。
cp project/demo/audio_demo/gcc/defconfig .config

# 使用图形化界面确认配置。
make menuconfig
# 执行make menuconfig后，按方向键选择save保存后，选择exist退出即可。

# 清除过程文件。
make build_clean

# 生成静态库已经自动生成头文件。
make lib -j

# 返回根目录。
cd -
</code></pre>
<p dir="auto"><strong>安装hb命令</strong><br />
第一次编译前，需要安装hb命令。后续的编译不再需要执行这里的命令。</p>
<pre><code>cd ~/xr806_openharmony
cd build/lite
pip install prompt_toolkit==1.0.14
python setup.py install --user
echo 'export PATH=$PATH:~/.local/bin' | tee -a ~/.bashrc # 将hb命令所在目录加到PATH环境变量
source ~/.bashrc # 生效环境变量
</code></pre>
<p dir="auto"><strong>编译代码</strong></p>
<pre><code>hb set  #回车，并选择wifi_skylark，第一次编译需要执行这个命令，执行完成后会生成ohos_config.json文件
hb build -f # 编译代码
</code></pre>
<h1>烧录镜像</h1>
<p dir="auto">运行device\xradio\xr806\xr_skylark\tools目录下的phoenixMC_v3.1.21014b.exe；<br />
编译完的镜像文件在device\xradio\xr806\xr_skylark\out目录下；<br />
烧录软件的使用参考全志在线的文档：固件烧录 - XR806 (<a href="http://aw-ol.com" target="_blank" rel="noopener noreferrer nofollow ugc">aw-ol.com</a>)<br />
烧录需要注意：记得勾选“硬件复位烧写模式”，否则进度到92%就会报错。</p>
<h1>观察日志</h1>
<p dir="auto">XR806 OpenHarmony默认的串口配置为：波特率115200，无校验，8位数据位，1位停止位。</p>
<p dir="auto">使用PuTTY查看启动日志，需要在的Terminal配置中，勾选“Implicit CR in every LF”和“Implicit LF in every CR”这两个选项。</p>
<h1>参考链接</h1>
<p dir="auto">参考了以下链接：</p>
<p dir="auto">全志在线XR806的文档：<a href="https://xr806.docs.aw-ol.com/" target="_blank" rel="noopener noreferrer nofollow ugc">https://xr806.docs.aw-ol.com/</a> (<a href="http://aw-ol.com" target="_blank" rel="noopener noreferrer nofollow ugc">aw-ol.com</a>)<br />
码云临时代码仓：uncleli/devboard_device_allwinner_XR806 (<a href="http://gitee.com" target="_blank" rel="noopener noreferrer nofollow ugc">gitee.com</a>)</p>
<p dir="auto"><strong>文章转自极术社区：<a href="https://aijishu.com/a/1060000000291606" target="_blank" rel="noopener noreferrer nofollow ugc">https://aijishu.com/a/1060000000291606</a><br />
作者：xusiwei1236</strong></p>
]]></description><link>https://bbs.aw-ol.com/topic/925/xr806开发板试用-shell脚本一键配置xr806开发环境</link><generator>RSS for Node</generator><lastBuildDate>Sun, 10 May 2026 08:50:21 GMT</lastBuildDate><atom:link href="https://bbs.aw-ol.com/topic/925.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 07 Jan 2022 06:37:17 GMT</pubDate><ttl>60</ttl></channel></rss>