BES2600WM---HiLink RM56 EVK

时间:2024-11-07 08:36:41

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目录下也有相应的固件)

根据需求选择选项

  • 第一次烧录选择
  • 开发过程中一般选择 1
  • 更换文件系统选择 2

等待烧录

 单击RST或者单击PWR触发固件下载

固件下载完成,系统会自动重启。