OpenHarmonyOs / LiteOs-a 开发环境搭建

本文详细介绍了如何在Ubuntu20.04系统上搭建OpenHarmonyOs/LiteOs-a开发环境,包括系统配置、环境安装、源码下载、编译环境配置、源码编译和镜像烧写全过程,适用于HI3516DV300芯片的润和ipcamera_hispark_taurus开发板。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

相关文章

下一篇:OpenHarmonyOs / LiteOs-a 驱动开发


前言

本文介绍了在 Ubuntu 20.04 系统搭建 OpenHarmonyOs / LiteOs-a 开发环境的方法。
开发板用的是润和的ipcamera_hispark_taurus,芯片是HI3516DV300。


一、前期准备

包括安装配置 Ubuntu 系统和注册 Gitee 账户。如果两者都准备好了可以略过。

1. 下载 Ubuntu 系统

https://ubuntu.com/download/desktop

2. Vmware 虚拟机安装 Ubuntu 20.04:(略)
3. 整一个共享文件夹

在主机 Windows 10 的 E 盘新建一个 share 文件夹。然后在 Vmware 点虚拟机
在这里插入图片描述
然后点设置,然后点选项,然后点共享文件夹,然后点添加,然后点下一步,
在这里插入图片描述
然后点浏览,选择新建的共享文件夹,然后点下一步,
在这里插入图片描述
选启用此共享,然后点完成。
在这里插入图片描述
然后点确定。
这时候在 Ubuntu 会生成一个路径

/mnt/hgfs/share/ 
4. 根据操作习惯瞎逼配置一下

1)更新软件List

sudo apt update

2)安装和配置vim
安装vim文本编辑器

sudo apt-get install vim

配置vim:打开 ~/.vimrc

vim ~/.vimrc

添加

set nu
set hlsearch
set cursorline
set cursorcolumn
set autoindent

set laststatus=2
"highlight StatusLine cterm=bold ctermfg=yellow ctermbg=blue
function! CurDir()
	let curdir = substitute(getcwd(), $HOME, "~", "g")
	return curdir
endfunction
set statusline=\ %f%m%r%h\ \|\ \ pwd:\ %{CurDir()}\ \ \|%=\|\ %l,%c\ %p%%
5. 注册 Gitee 账户

https://gitee.com/signup?from=homepage
注册步骤:(略)

二、下载环境配置

1. 安装和配置 git

安装版本管理工具 git 和 git-lfs:

sudo apt-get install git
sudo apt-get install git-lfs

配置 git:
用户名 UserName
邮箱 account@email.com

git config --global user.name "UserName"
git config --global user.email "account@email.com"
git config --global credential.helper store
2. ssh 密钥配置

1)生成 ssh 密钥
如果已生成 ssh 密钥可以略过这步

ssh-keygen -t rsa

一路回车后,生成 ssh 密钥在路径 ~/.ssh/

cat ~/.ssh/id_rsa.pub

打印出来这坨很长的东西就是 ssh 公钥

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDZxilDryT.................................

2)添加公钥
登录 Gitee https://gitee.com/login#lang=zh-CN
点配置小齿轮
在这里插入图片描述
然后点 SSH 公钥,然后把生成的密钥贴进公钥的框框,然后点确定
在这里插入图片描述

3. 下载下载代码的工具和 OpenHarmony 源码

1)安装 repo 代码仓库管理工具

sudo apt install curl
mkdir ~/bin
curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > ~/bin/repo
sudo chmod 777 ~/bin/repo

打开 ~/.bashrc

vim ~/.bashrc

在最后一行添加系统环境变量

export PATH=~/bin:$PATH

source 一下!

. ~/.bashrc

2)安装 python 2.7
因为 Ubuntu 20.04 自带的 python 是3.9版本的,而 repo 需要用到 python 2.7,所以安装一下 python 2.7 并配置为默认的 python

sudo apt install python2.7
sudo ln -sf /usr/bin/python2.7 /usr/bin/python

3)安装 pip3 和 requests 库

sudo apt install python3-pip
python3 -m pip install -i https://repo.huaweicloud.com/repository/pypi/simple requests

这个不知道是搞毛用的,但是官网的文档里有,勉为其难地装一下
(Requests is an elegant and simple HTTP library for Python, built for human beings. )
4)下载代码
新建工作路径放代码

mkdir ~/work/OpenHOS -p
cd ~/work/OpenHOS

init 一下 repo,下载 master 分支的源码。(master 分支的代码包含最新的功能,而 LTS 分支的代码比较稳定。)
官网上的文档用的是这个命令

repo init -u git@gitee.com:openharmony/manifest.git -b master --no-repo-verify

但是我这里会报错。如果报错的话试试添加 --no-clone-bundle

repo init -u git@gitee.com:openharmony/manifest.git -b master --no-repo-verify --no-clone-bundle

开始同步代码!

repo sync -c
repo forall -c 'git lfs pull'

源码总共18G左右,注意预留硬盘空间。

三、配置编译环境

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 cpio device-tree-compiler
2. 下载安装交叉编译工具

因为 OpenHarmonyOs 跑在 Arm 平台,而源代码是在 PC 平台上编译,所以需要交叉编译工具来编译(出)在 Arm 平台上跑的软件。
在源码根目录下跑

bash build/prebuilts_download.sh

会在上层目录新建一个目录 OpenHarmony_2.0_canary_prebuilts,保存交叉编译工具的压缩包,之后会自动解压到源码中相应的位置

3. 下载安装鸿蒙编译工具
python3 -m pip install --user ohos-build

添加系统环境变量

vim ~/.bashrc

最后一行添加

export PATH=~/.local/bin:$PATH

source 一下!

source ~/.bashrc
4. 下载 openjdk

编译源码打包 hap 应用的时候会用到 openjdk

sudo apt install openjdk-11-jdk

四、编译OpenHarmonyOs源代码

1. 测试一下!
hb -h

打印一堆东西

usage: hb [-h] [-v] {build,set,env,clean} ...

OHOS Build System version 0.4.6

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
  -v, --version         show program's version number and exit
2. 选择平台
hb set

因为开发板是润和的开发板ipcamera_hispark_taurus,所以选择对应的配置 ipcamera_hispark_taurus 项,回车
在这里插入图片描述
可以用 hb env 打印出来配置好的编译参数

~/work/OpenHOS$ hb env
[OHOS INFO] root path: /home/username/work/OpenHOS
[OHOS INFO] board: hispark_taurus
[OHOS INFO] kernel: liteos_a
[OHOS INFO] product: ipcamera_hispark_taurus
[OHOS INFO] product path: /home/username/work/OpenHOS/vendor/hisilicon/hispark_taurus
[OHOS INFO] device path: /home/username/work/OpenHOS/device/board/hisilicon/hispark_taurus/liteos_a
[OHOS INFO] device company: hisilicon
3. 编译源码
hb build -f

编译完成的信息

......
[OHOS INFO] [6635/6637] STAMP obj/build/ohos/packages/copy_testfwk_required_files_phone.stamp
[OHOS INFO] [6636/6637] STAMP obj/build/ohos/packages/package_testcase.stamp
[OHOS INFO] [6637/6637] STAMP obj/build/core/gn/make_test.stamp
[OHOS INFO] 54614+0 records in
[OHOS INFO] 54614+0 records out
[OHOS INFO] 27962368 bytes (28 MB, 27 MiB) copied, 0.0615173 s, 455 MB/s
[OHOS INFO] 54598+0 records in
[OHOS INFO] 54598+0 records out
[OHOS INFO] 27954176 bytes (28 MB, 27 MiB) copied, 0.0614429 s, 455 MB/s
[OHOS INFO] 102400+0 records in
[OHOS INFO] 102400+0 records out
[OHOS INFO] 52428800 bytes (52 MB, 50 MiB) copied, 0.112262 s, 467 MB/s
[OHOS INFO] c targets overlap rate statistics
[OHOS INFO] subsystem       	files NO.	percentage	builds NO.	percentage	overlap rate
[OHOS INFO] aafwk           	      67	1.0%	      67	1.0%	1.00
[OHOS INFO] ace             	     693	10.6%	     693	10.6%	1.00
[OHOS INFO] ai              	      76	1.2%	      76	1.2%	1.00
[OHOS INFO] appexecfwk      	      38	0.6%	      38	0.6%	1.00
[OHOS INFO] communication   	     218	3.3%	     218	3.3%	1.00
[OHOS INFO] distributedschedule	      43	0.7%	      43	0.7%	1.00
[OHOS INFO] global          	      38	0.6%	      38	0.6%	1.00
[OHOS INFO] graphic         	     331	5.1%	     331	5.1%	1.00
[OHOS INFO] hdf             	     625	9.6%	     625	9.6%	1.00
[OHOS INFO] hiviewdfx       	       9	0.1%	       9	0.1%	1.00
[OHOS INFO] kernel          	    2435	37.4%	    2435	37.4%	1.00
[OHOS INFO] multimedia      	     124	1.9%	     124	1.9%	1.00
[OHOS INFO] powermgr        	      25	0.4%	      25	0.4%	1.00
[OHOS INFO] securec         	     117	1.8%	     117	1.8%	1.00
[OHOS INFO] security        	     284	4.4%	     284	4.4%	1.00
[OHOS INFO] sensors         	       7	0.1%	       7	0.1%	1.00
[OHOS INFO] startup         	      68	1.0%	      68	1.0%	1.00
[OHOS INFO] third_party     	    1333	20.5%	    1333	20.5%	1.00
[OHOS INFO] updater         	       4	0.1%	       4	0.1%	1.00
[OHOS INFO] utils           	      12	0.2%	      12	0.2%	1.00
[OHOS INFO] 
[OHOS INFO] c overall build overlap rate: 1.00
[OHOS INFO] 
[OHOS INFO] 
[OHOS INFO] ipcamera_hispark_taurus build success
[OHOS INFO] cost time: 0:07:47

编译出来的镜像路径

device/board/hisilicon/hispark_taurus/uboot/out/boot/u-boot-hi3516dv300.bin
out/hispark_taurus/ipcamera_hispark_taurus/OHOS_Image.bin
out/hispark_taurus/ipcamera_hispark_taurus/rootfs_vfat.img
out/hispark_taurus/ipcamera_hispark_taurus/userfs_vfat.img

注意 LTS 分支编译出来的 uboot 路径是在

device/hisilicon/hispark_taurus/sdk_liteos/uboot/out/boot/u-boot-hi3516dv300.bin

跟 master 分支不同。
复制编译出来的镜像到共享文件夹

mkdir images
cp device/board/hisilicon/hispark_taurus/uboot/out/boot/u-boot-hi3516dv300.bin images
cp out/hispark_taurus/ipcamera_hispark_taurus/OHOS_Image.bin images
cp out/hispark_taurus/ipcamera_hispark_taurus/rootfs_vfat.img images
cp out/hispark_taurus/ipcamera_hispark_taurus/userfs_vfat.img images
cp images /mnt/hgfs/share/ -frp

五、烧写镜像

1. 编写 emmc 分区表文件

emmc 分区表文件包含 fastboot,kernel,rootfs,user 分区的分区名字 PartitionName,文件系统 FileSystem,起始地址 Start,长度 Length,路径 SelectFile
先在源码根目录

ls -l images

可以获得镜像大小

-rwxrwxr-x 1 lu lu 6.3M Apr 24 05:13 OHOS_Image.bin
-rw-rw-r-- 1 lu lu  27M Apr 24 05:13 rootfs_vfat.img
-rwxrwxr-x 1 lu lu 259K Apr 24 05:13 u-boot-hi3516dv300.bin
-rw-rw-r-- 1 lu lu  50M Apr 24 05:13 userfs_vfat.img

由镜像大小来确定起分区始地址和长度:分区长度要大于镜像大小,分区起始地址 = 上一个分区的起始地址 + 上一个分区的长度
在 E:\share\images 目录新建文件 3516.xml,添加各分区的信息:

<?xml version="1.0" encoding="GB2312" ?>
<Partition_Info>
<Part Sel="1" PartitionName="fastboot" FlashType="emmc" FileSystem="none" Start="0" Length="1M" SelectFile="E:\share\images\u-boot-hi3516dv300.bin"/>
<Part Sel="1" PartitionName="kernel" FlashType="emmc" FileSystem="none" Start="1M" Length="9M" SelectFile="E:\share\images\OHOS_Image.bin"/>
<Part Sel="1" PartitionName="rootfs" FlashType="emmc" FileSystem="none" Start="10M" Length="30M" SelectFile="E:\share\images\rootfs_vfat.img"/>
<Part Sel="1" PartitionName="user" FlashType="emmc" FileSystem="none" Start="40M" Length="50M" SelectFile="E:\share\images\userfs_vfat.img"/>
</Partition_Info>
2. 下载海思芯片的烧写软件Hitool

可以在润和官网上下载。貌似要注册账号。

3. 连接数据线

串口线连接开发板和 Win10。串口从左到右依次是 GND,RX,TX
在这里插入图片描述
USB 线一端连接开发板背面的 TypeC 口,另一端接电脑连 Win10。
在这里插入图片描述

4. 配置Hitool

打开解压后的Hitool,保证当前芯片选择的是 Hi3516DV300
在这里插入图片描述
打开设备管理器查看串口号
在这里插入图片描述
在Hitool的传输方式选串口,设置串口号
在这里插入图片描述
点终端1标签的设置
在这里插入图片描述
设置串口号,配置波特率为 115200,以及数据位停止位等,然后点确定
在这里插入图片描述
点连接串口
在这里插入图片描述
然后传输方式选择 USB 口
点烧写 eMMC 标签
点浏览选择分区表文件,然后各分区信息会显示在表格里
在这里插入图片描述

5. 镜像烧写

如果烧写不同类型内核的系统,需要先擦除分区:
1)先点擦除全器件,
在这里插入图片描述
2)然后按住开发板上 update 键的同时
在这里插入图片描述
3)同时拔插一下接电脑端的 USB线重新给开发板上电
像这样:
在这里插入图片描述
4)注意此时虚拟机会弹个框框让选择连接虚拟机还是连接主机 Win10,须要选择连接主机 Win10,否则会擦除失败
5)此时出现绿色进度条,开始擦除分区
在这里插入图片描述
6)擦除完成后点烧写
在这里插入图片描述
7)如果烧写失败则需要重做这个流程:点烧写,按开发板 update 键,同时拔插 USB 线给开发板重新上电,选择连接主机 Win10,等绿色进度条出现
8)烧写完成后开发板自动重新开机,终端1的框框会打印信息
在这里插入图片描述
此时需要配置 uboot 启动参数,在终端1的框框中依次输入命令然后回车

setenv bootcmd "mmc read 0x0 0x80000000 0x800 0x4800; go 0x80000000";
setenv bootargs "console=ttyAMA0,115200n8 root=emmc fstype=vfat rootaddr=10M rootsize=30M rw";
saveenv
reset

开发板重启后正常进系统
在这里插入图片描述
Hitool 里的终端1框框里可以输入命令
在这里插入图片描述


总结

下一篇讲讲驱动。

相关文章

下一篇:OpenHarmonyOs / LiteOs-a 驱动开发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值