以下过程完全按照官方教程搭建
系统安装官方地址:https://gitee.com/moldy-potato-chips/devboard\\\_device\\\_allwinner\\\_xr806
Gitee公钥设置官方教程:https://gitee.com/help/categories/38
安装ubuntu20.04,更换源为阿里源并更新
sudo apt update
一、设置公钥:
1.安装git:
sudo apt install git
2.设置用户名与邮箱
git config --global user.name "username"
git config --global user.email "email"
3.生成公钥并查看公钥
ssh-keygen -t ed25519 -C "xxxxx@xxxxx.com" # Generating public/private ed25519 key pair...
cat ~/.ssh/id_ed25519.pub
4.设置公钥:https://gitee.com/help/articles/4181#article-header0
二、配置鸿蒙编译环境
1.安装软件包
sudo apt-get install zlib1g=1:1.2.11.dfsg-2ubuntu1
sudo apt-get install libc6=2.31-0ubuntu9
sudo apt-get install libc6-dev:i386=2.31-0ubuntu9
sudo apt-get install gcc
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 libncursesw5-dev
2.查看python版本
python3 --version
3.设置python和python3软链接为python3.8。
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
4.安装并升级Python包管理工具(pip3)
sudo apt-get install python3-setuptools python3-pip -y
sudo pip3 install --upgrade pip
5.创建工具文件夹与源码文件夹
mkdir ~/tools
mkdir ~/openharmonyos
6.下载配置llvm工具并解压
cd ~/tools
wget https://repo.huaweicloud.com/harmonyos/compiler/clang/9.0.0-36191/linux/llvm-linux-9.0.0-36191.tar
tar -xvf llvm-linux-9.0.0-36191.tar
7.设置llvm环境变量
vim ~/.bashrc
#在.bashrc末尾加入保存并退出
export PATH=~/tools/llvm/bin:$PATH
#使环境变量生效
source ~/.bashrc
8.安装hb
python3 -m pip install --user ohos-build
vim ~/.bashrc
#在.bashrc末尾加入保存并退出
export PATH=~/.local/bin:$PATH
#使环境变量生效
source ~/.bashrc
9.验证鸿蒙编译环境搭建成功
hb -h
三、安装repo
1.下载repo并设置权限
cd ~/openharmonyos
mkdir bin
cd bin/
wget https://storage.googleapis.com/git-repo-downloads/repo -P ./
chmod a+x ./repo
2.设置环境变量
vim ~/.bashrc
#在.bashrc末尾加入保存并退出
export PATH=~/openharmonyos/bin:$PATH
export REPO_URL=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/
#使环境变量生效
source ~/.bashrc
3.修改repo默认文件夹
vim ~/openharmonyos/bin/repo
#大约在19% 修改括号内的路径,保存并退出
home_dot_repo = os.path.expanduser('~/openharmonyos/.repoconfig')
四、下载源码
repo init -u https://gitee.com/openharmony/manifest.git -b refs/tags/OpenHarmony-v1.1.2-LTS --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
cd ~/openharmonyos/device/
git clone https://gitee.com/moldy-potato-chips/devboard_device_allwinner_xr806
mkdir xradio
mv devboard_device_allwinner_xr806/xr806/ ./xradio/
rm -rf devboard_device_allwinner_xr806/
git clone https://gitee.com/moldy-potato-chips/devboard_vendor_allwinner_xr806
mv devboard_vendor_allwinner_xr806/xr806/ ./xradio/
rm -rf devboard_vendor_allwinner_xr806/
五、下载gcc-arm编译工具与gcc\\_riscv32-linux工具
cd ~/tools
wget https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-rm/10-2020q4/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
tar -jxvf gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
wget https://repo.huaweicloud.com/harmonyos/compiler/gcc_riscv32/7.3.0/linux/gcc_riscv32-linux-7.3.0.tar.gz
tar -zxvf gcc_riscv32-linux-7.3.0.tar.gz
#在.bashrc末尾加入保存并退出
vim ~/.bashrc
export PATH=~/tools/gcc_riscv32/bin:$PATH
#使环境变量生效
source ~/.bashrc
最后完成后如图:
六、编译
1. 进入源码目录
cd ~/openharmonyos/
2.修改XR806 gcc配置路径
修改device/xradio/xr806/liteos\\_m/config.gni中的board\\_toolchain\\_prefix为实际环境下的gcc路径,以存放在tools文件夹下为例
vim device/xradio/xr806/liteos_m/config.gni
#修改以下内容保存并退出(大约在35%)
board_toolchain_prefix = "~/tools/gcc-arm-none-eabi-10-2020-q4-major/bin/arm-none-eabi-"
device/xradio/xr806/xr\\_skylark/gcc.mk中的CC\\_DIR为实际环境下的gcc路径,以存放在tools文件夹下为例。
vim device/xradio/xr806/xr_skylark/gcc.mk
#修改以下内容保存并退出
CC_DIR := ~/tools/gcc-arm-none-eabi-10-2020-q4-major/bin
3.进入sdk目录并生成配置
cd ~/openharmonyos/device/xradio/xr806/xr_skylark/
cp project/demo/audio_demo/gcc/defconfig .config
#make menuconfig后,按方向键选择save保存后,选择exist退出
make menuconfig
#清理过程文件并生成静态库已经自动生成头文件
make build_clean
make lib -j
4.返回编译目录并选择编译厂商
cd ~/openharmonyos/
hb set #回车,并选择wifi_skylark
5.开始编译
hb build -f
七、固件和烧录软件位置
编译生成的固件保存在device/xradio/xr806/xr\\_skylark/out目录下,文件名固定为xr\\_system.img。
烧录软件保存在device/xradio/xr806/xr\\_skylark/tools下,名称为phoenixMC\\_xxxx.exe。