BES2600WM---HiLink RM56 EVK
0 Preface/Foreword
0.1 路径
OpenHarmony/device_soc_bestechnic - 码云 - 开源中国
https://github.com/Hi-LinkDuino/RM56
1 环境搭建
1.1 安装依赖工具
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
1.2 安装Python3
需要安装python3.8,否则编译会出问题。
sudo apt-get 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
安装并升级python包管理工具(pip3):
sudo apt-get install python3-setuptools python3-pip -y
sudo pip3 install --upgrade pip
1.3 安装hb
如果之前有安装hb,需要先卸载后重新安装:
pip3 uninstall ohos-build
安装时候,需要在源码下进行。build/lite是源码中的路径。
pip3 install build/lite
安装成功后,在系统重可以找到。
将hb工具添加到环境变量PATH中:修改.bashrc
在最后一行中添加:
export PATH=~/.local/bin:$PATH
执行如下命令更新环境变量:
source ~/.bashrc
在代码路径下,查看hb是否能正常运行:
hb -h
1.4 SDK下载
克隆命令:
git clone https://github/Hi-LinkDuino/RM56.git
下载代码结果:
Linux中:
克隆正常,没有error或者warning。
Windows中:git checkout出现异常
2 编译
2.1 第一次编译
使用命令hb set,选择对应的目标后,会生成一些相关文件:
运行脚本prebuilts_download.sh
原因:不同操作系统间CR, 0x0D, (\r) LF, 0x0A, (\n)不同。
解决方法:
- 在WSL中直接git clone代码。
- 在当前仓库中,添加.gitattributes文件
完成下载后的工具链:
build/prebuilts_download.sh
仓库外包含的工具包:
仓库中添加的内容:
最后SDK和先关工具容量:
NOTE:每一个重新克隆的仓库都需要进行一次prebuilds_download.sh脚本。(有没有方法可以跳过这个步骤呢?)
2.2 编译
选择项目:
hb set
选完之后,后面编译,只要不切换项目,不需再选择。配置文件为ohos_config.json
编译命令:
hb build
编译后的固件路径:
2.2.1 编译出错
使用WSL,从github克隆,查看文件结构发现:.gn是一个软链接(符号链接)文件。
在Windowns环境下,从github克隆,查看文件结构发现:.gn是一个普通文件。
git checkout时候,文件不存在情况。(Linux平台,不存在该问题)video文件使用了LFS功能,在远程仓库LFS服务器,保存原始大小,但是在本地仓库,进行了瘦身,只记录该原始文件的指针。
Linux平台克隆仓库,git checkout正常。
2.3 烧录
烧录方法有两种,一种是通过GUI方式烧录,一种是通过命令行模式烧录,GUI烧录过程中会全部烧录,命令行可以根据情况进行选择,所以在开发阶段,使用命令行模式。
编译成功后,相应的固件放置在$ROOT/dist/burn,运行burn.bat脚本:(在out目录下也有相应的固件)
根据需求选择选项:
- 第一次烧录选择 6
- 开发过程中一般选择 1
- 更换文件系统选择 2
等待烧录:
单击RST或者单击PWR触发固件下载:
固件下载完成,系统会自动重启。