Openharmony的L0与L2系统环境搭建编译烧录

获取源码方式

获取源有四种方式,如下所述,常用采用方式1与方式3。以下主要讲解通过第1种方式获取的步骤和注意事项。

  • 获取方式1:从码云代码仓库获取。通过repo或git工具从代码仓库中下载,此方式可获取最新代码。

  • 获取方式2:通过DevEco Marketplace网站获取。访问DevEco Marketplace网站,查找满足需求的开源发行版,直接下载(或者定制后下载),再通过hpm-cli命令工具将所需的组件及工具链下载、安装到本地。

  • 获取方式3:从镜像站点下载归档后的发行版压缩文件。如果要获取旧版本的源码,也可通过此方式获取,此方式下载速度较快。

  • 获取方式4:从github代码仓库获取。通过repo或git工具从代码仓库中下载,此方式可获取最新代码。

获取方式1:从码云仓库获取

一、前题条件

1.注册码云gitee帐号。

2.注册码云SSH公钥。以下链接为注册步骤帮助。

https://gitee.com/help/articles/4191#article-header0

3.安装git客户端和git-lfs并配置用户信息。

# 安装git客户端
sudo dnf install git-all
# git-lfs 工具按如下网页所示安装即可
# https://gitee.com/vcs-all-in-one/git-lfs?_from=gitee_search#downloading
# 配置用户信息
git config --global user.name "yourname"
git config --global user.email "your-email-address"
git config --global credential.helper store

4.安装码云repo工具

# 安装curl python pip3本机linux有curl,略过
apt-get install curl
sudo apt install python-pip
# python安装版本需要3.7及以上 如报错python找不到或链接错误时,重定向python
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.7 1
# 如果没有权限,可下载至其他目录,并将其配置到环境变量中
curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 -o /usr/local/bin/repo  
chmod a+x /usr/local/bin/repo
pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests

5.将repo添加到环境变量。

vim ~/.bashrc               # 编辑环境变量
export PATH=~/bin:$PATH     # 在环境变量的最后添加一行repo路径信息
source ~/.bashrc            # 应用环境变量

二、获取Openharmony代码

以下获取的master基座代码。[email protected]:openharmony/manifest.git

Openharmony V3.1 Release或V3.2等其它版本的基座代码,可以通过https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/get-code/sourcecode-acquire.md网站获取基座地址来获取。

  • 方式一(推荐):通过repo + ssh下载

repo init -u [email protected]:openharmony/manifest.git -b master --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
  • 方式二:通过repo + https下载。

repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
  • 注意事项:

# 当repo不可用时,更换其它的repo,以下以清华的源为例
export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'
sudo curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o /usr/bin/repo
sudo chmod +x /usr/bin/repo
# 如果repo init下载时,中途出现中断不载不下来,在命令中添加 --depth=1 如再不行再添加–no-clone-bundle
repo init -u https://gitee.com/openharmony/manifest.git -b refs/tags/OpenHarmony-v3.1-Release --no-repo-verify --depth=1

编译Openharmony

一、标准设备L2

# 下载预编译工具
./build/prebuilts_download.sh
# 编译rockchip的标准设备 rk3568
./build.sh --product-name rk3568
# 关于编译会专门列一个章节进行讲解,静请期待......
# rk3568烧录通过RKDevTool.exe 进行烧录,此工具由瑞芯微提供。

二、 轻量设备L0

轻量设备与小型设备的编译方式基本相同,只是下载使用的交叉编译工具不同而已,在此以恒玄芯片bes2600为例进行示例:

https://gitee.com/openharmony/device_soc_bestechnic

由于恒玄对Openharmony的master的主仓新建了一个分仓,所以需要重新下载Openharmony的源码,后期的Openharmony将恒玄也合入master主仓,此点在Openharmony的V3.2版本才体现出来。因为V3.2版本将soc与芯片名、product_name等在/device与/vendor等目录下进行了区分。后期有读者涉及此方面再另一开章节进行详细讲解,此处不表。

  1. 获取源码

mkdir openharmony_bestechnic

cd openharmony_bestechnic

repo init -u https://gitee.com/openharmony/manifest --no-repo-verify

repo sync -c

repo forall -c 'git lfs pull'
  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

3.安装hb

# 运行如下命令安装hb
pip3 uninstall ohos-build # 如果安装了hb,先卸载
pip3 install build/lite
# 设置环境变量
vim ~/.bashrc
# 将以下命令拷贝到.bashrc文件的最后一行,保存并退出。
export PATH=~/.local/bin:$PATH
# 执行如下命令更新环境变量。
source ~/.bashrc
# 执行"hb -h",有打印以下信息即表示安装成功:
usage: hb

OHOS build system

positional arguments:
  {build,set,env,clean}
    build               Build source code
    set                 OHOS build settings
    env                 Show OHOS build env
    clean               Clean output

optional arguments:
  -h, --help            show this help message and exit

4.交叉编译工具安装

# 安装arm-none-eabi-gcc
# 下载arm-none-eabi-gcc 编译工具下载 https://gitee.com/link?target=https%3A%2F%2Fdeveloper.arm.com%2F-%2Fmedia%2FFiles%2Fdownloads%2Fgnu-rm%2F10.3-2021.10%2Fgcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2
# 解压 gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2 安装包至~/toolchain/路径下。
mkdir -p ~/toolchain/
tar -jxvf gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2 -C ~/toolchain/
# 设置环境变量。
vim ~/.bashrc
# 将以下命令拷贝到.bashrc文件的最后一行,保存并退出
export PATH=~/toolchain/gcc-arm-none-eabi-10.3-2021.10/bin:$PATH
# 生效环境变量
source ~/.bashrc

5. 编译流程

hb set -root .
hb set -p

bestechnic
 > display_demo
   iotlink_demo
   xts_demo

选择display_demo

hb build -f

6.烧录

https://gitee.com/openharmony/device_soc_bestechnic#%E7%83%A7%E5%BD%95%E6%89%93%E5%8D%B0

注意事项:

1.编译完成后,烧录工具在编译生成后的目录下,直接tar -zxvf命令解压write_flash_gui-display_demo-2022-11-11-17-26-51.tar.gz,进write_flash_gui打开烧录软件时行烧录。

2.xshell串口调试打印输出时,必须将波特率设置为1500000,并且在勾选上终端----高级----用CR+LF接收LF(R)。

后续更精彩

1.关于service ability的前世今生

2.鸿蒙编译构建流程

3.Openharmony的驱动开发与HDF

4.L0设备在Openharmony基座上的开发实例

猜你喜欢

转载自blog.csdn.net/procedurecode/article/details/128719158