> 文档中心 > Openharmony的L0与L2系统环境搭建编译烧录

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 curlsudo apt install python-pip# python安装版本需要3.7及以上 如报错python找不到或链接错误时,重定向pythonsudo 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/repopip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests

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

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

二、获取Openharmony代码

以下获取的master基座代码。git@gitee.com: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 git@gitee.com:openharmony/manifest.git -b master --no-repo-verifyrepo sync -crepo forall -c 'git lfs pull'
  • 方式二:通过repo + https下载。

repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verifyrepo sync -crepo 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/reposudo chmod +x /usr/bin/repo
# 如果repo init下载时,中途出现中断不载不下来,在命令中添加 --depth=1 如再不行再添加–no-clone-bundlerepo 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_bestechniccd openharmony_bestechnicrepo init -u https://gitee.com/openharmony/manifest --no-repo-verifyrepo sync -crepo 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

# 运行如下命令安装hbpip3 uninstall ohos-build # 如果安装了hb,先卸载pip3 install build/lite# 设置环境变量vim ~/.bashrc# 将以下命令拷贝到.bashrc文件的最后一行,保存并退出。export PATH=~/.local/bin:$PATH# 执行如下命令更新环境变量。source ~/.bashrc# 执行"hb -h",有打印以下信息即表示安装成功:usage: hbOHOS build systempositional arguments:  {build,set,env,clean}    build Build source code    set   OHOS build settings    env   Show OHOS build env    clean Clean outputoptional 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 -pbestechnic > display_demo   iotlink_demo   xts_demo选择display_demohb 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基座上的开发实例