获取源码方式
获取源有四种方式,如下所述,常用采用方式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基座代码。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-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等目录下进行了区分。后期有读者涉及此方面再另一开章节进行详细讲解,此处不表。
获取源码
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'
安装的库和工具
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文章来源:https://www.toymoban.com/news/detail-415102.html
4.L0设备在Openharmony基座上的开发实例文章来源地址https://www.toymoban.com/news/detail-415102.html
到了这里,关于Openharmony的L0与L2系统环境搭建编译烧录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!