OpenHarmonyOs / LiteOs-a 开发环境搭建

这篇具有很好参考价值的文章主要介绍了OpenHarmonyOs / LiteOs-a 开发环境搭建。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

相关文章

下一篇:OpenHarmonyOs / LiteOs-a 驱动开发文章来源地址https://www.toymoban.com/news/detail-774210.html


前言

本文介绍了在 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 点虚拟机
如何搭建安卓+openharmongos,OpenHarmonyOs / LiteOs-a 开发,鸿蒙系统,harmonyos,鸿蒙
然后点设置,然后点选项,然后点共享文件夹,然后点添加,然后点下一步,
如何搭建安卓+openharmongos,OpenHarmonyOs / LiteOs-a 开发,鸿蒙系统,harmonyos,鸿蒙
然后点浏览,选择新建的共享文件夹,然后点下一步,
如何搭建安卓+openharmongos,OpenHarmonyOs / LiteOs-a 开发,鸿蒙系统,harmonyos,鸿蒙
选启用此共享,然后点完成。
如何搭建安卓+openharmongos,OpenHarmonyOs / LiteOs-a 开发,鸿蒙系统,harmonyos,鸿蒙
然后点确定。
这时候在 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
点配置小齿轮
如何搭建安卓+openharmongos,OpenHarmonyOs / LiteOs-a 开发,鸿蒙系统,harmonyos,鸿蒙
然后点 SSH 公钥,然后把生成的密钥贴进公钥的框框,然后点确定
如何搭建安卓+openharmongos,OpenHarmonyOs / LiteOs-a 开发,鸿蒙系统,harmonyos,鸿蒙

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 项,回车
如何搭建安卓+openharmongos,OpenHarmonyOs / LiteOs-a 开发,鸿蒙系统,harmonyos,鸿蒙
可以用 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
如何搭建安卓+openharmongos,OpenHarmonyOs / LiteOs-a 开发,鸿蒙系统,harmonyos,鸿蒙
USB 线一端连接开发板背面的 TypeC 口,另一端接电脑连 Win10。
如何搭建安卓+openharmongos,OpenHarmonyOs / LiteOs-a 开发,鸿蒙系统,harmonyos,鸿蒙

4. 配置Hitool

打开解压后的Hitool,保证当前芯片选择的是 Hi3516DV300
如何搭建安卓+openharmongos,OpenHarmonyOs / LiteOs-a 开发,鸿蒙系统,harmonyos,鸿蒙
打开设备管理器查看串口号
如何搭建安卓+openharmongos,OpenHarmonyOs / LiteOs-a 开发,鸿蒙系统,harmonyos,鸿蒙
在Hitool的传输方式选串口,设置串口号
如何搭建安卓+openharmongos,OpenHarmonyOs / LiteOs-a 开发,鸿蒙系统,harmonyos,鸿蒙
点终端1标签的设置
如何搭建安卓+openharmongos,OpenHarmonyOs / LiteOs-a 开发,鸿蒙系统,harmonyos,鸿蒙
设置串口号,配置波特率为 115200,以及数据位停止位等,然后点确定
如何搭建安卓+openharmongos,OpenHarmonyOs / LiteOs-a 开发,鸿蒙系统,harmonyos,鸿蒙
点连接串口
如何搭建安卓+openharmongos,OpenHarmonyOs / LiteOs-a 开发,鸿蒙系统,harmonyos,鸿蒙
然后传输方式选择 USB 口
点烧写 eMMC 标签
点浏览选择分区表文件,然后各分区信息会显示在表格里
如何搭建安卓+openharmongos,OpenHarmonyOs / LiteOs-a 开发,鸿蒙系统,harmonyos,鸿蒙

5. 镜像烧写

如果烧写不同类型内核的系统,需要先擦除分区:
1)先点擦除全器件,
如何搭建安卓+openharmongos,OpenHarmonyOs / LiteOs-a 开发,鸿蒙系统,harmonyos,鸿蒙
2)然后按住开发板上 update 键的同时
如何搭建安卓+openharmongos,OpenHarmonyOs / LiteOs-a 开发,鸿蒙系统,harmonyos,鸿蒙
3)同时拔插一下接电脑端的 USB线重新给开发板上电
像这样:
如何搭建安卓+openharmongos,OpenHarmonyOs / LiteOs-a 开发,鸿蒙系统,harmonyos,鸿蒙
4)注意此时虚拟机会弹个框框让选择连接虚拟机还是连接主机 Win10,须要选择连接主机 Win10,否则会擦除失败
5)此时出现绿色进度条,开始擦除分区
如何搭建安卓+openharmongos,OpenHarmonyOs / LiteOs-a 开发,鸿蒙系统,harmonyos,鸿蒙
6)擦除完成后点烧写
如何搭建安卓+openharmongos,OpenHarmonyOs / LiteOs-a 开发,鸿蒙系统,harmonyos,鸿蒙
7)如果烧写失败则需要重做这个流程:点烧写,按开发板 update 键,同时拔插 USB 线给开发板重新上电,选择连接主机 Win10,等绿色进度条出现
8)烧写完成后开发板自动重新开机,终端1的框框会打印信息
如何搭建安卓+openharmongos,OpenHarmonyOs / LiteOs-a 开发,鸿蒙系统,harmonyos,鸿蒙
此时需要配置 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

开发板重启后正常进系统
如何搭建安卓+openharmongos,OpenHarmonyOs / LiteOs-a 开发,鸿蒙系统,harmonyos,鸿蒙
Hitool 里的终端1框框里可以输入命令
如何搭建安卓+openharmongos,OpenHarmonyOs / LiteOs-a 开发,鸿蒙系统,harmonyos,鸿蒙


总结

下一篇讲讲驱动。

相关文章

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

到了这里,关于OpenHarmonyOs / LiteOs-a 开发环境搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Qt | Qt For Android、Qt5.14.2安卓开发环境搭建详细步骤

    1、简介 搭建Qt For Android开发环境需要安装的软件有: JAVA SDK Android SDK Android NDK 其中Android NDK直接下载的压缩包,解压即可。 Android SDK提供了安装包和压缩包,用哪个都行。 Qt For Android开发环境的搭建说简单也简单,说复杂也比较复杂。说它简单是因为安装的软件就一两个,安

    2024年02月02日
    浏览(53)
  • 【Python】实现简易安卓开发:BeeWare 框架介绍 | 环境搭建 | 安装 BeeWare | Briecase 公文包 | 分析框架默认生成的 app.py

      ​​​​​​   一起玩蛇啊  👉 《一起玩蛇》🐍 💭 写在前面: 我们假定读者已经安装好了 3.8 版本后的 Python,并且安装好了依赖项,在 Windows 上构建 BeeWare 应用程序需要 Git,你可以可以从 git-scm.org 网站下载。安装完毕后重新启动 cmd,然后就可以准备建立虚拟环境了

    2024年02月02日
    浏览(100)
  • 【BeeWare 框架】Python 安卓开发:BeeWare 框架介绍 | 环境搭建 | 安装 BeeWare | Briecase 公文包 | 分析框架默认生成的 app.py

      ​​​​​​   一起玩蛇啊  👉 《一起玩蛇》🐍 💭 写在前面: 我们假定读者已经安装好了 3.8 版本后的 Python,并且安装好了依赖项,在 Windows 上构建 BeeWare 应用程序需要 Git,你可以可以从 git-scm.org 网站下载。安装完毕后重新启动 cmd,然后就可以准备建立虚拟环境了

    2024年02月03日
    浏览(47)
  • 如何搭建flutter开发环境

    学习Flutter,首先需要搭建好Flutter的开发环境,下面我将一步步带领大家搭建开发环境并且成功运行flutter项目。 操作系统:windows7以上64位操作系统 git环境:flutter需要git环境的支持 因为Flutter是基于Android的,所以要安装Java环境 Java环境下载地址:https://www.oracle.com/java/technol

    2024年02月11日
    浏览(40)
  • 如何在VS Code上搭建 C/C++开发环境

    顾得泉: 个人主页 个人专栏: 《Linux操作系统》 《C++从入门到精通》  《LeedCode刷题》 键盘敲烂,年薪百万!        VScode(Visual Studio Code)是一款由微软开发的免费开源的轻量级代码 编辑器 。它支持多种编程语言,并提供了丰富的功能和插件扩展,使开发者能够更高

    2024年03月28日
    浏览(60)
  • STM32如何通过K210进行物体识别(1.开发环境搭建)

    本来参加智能物流机器人比赛是要用OpenMV的,但无奈于诸多因素只有K210可以使用,这也算是不幸中的万幸吧。这篇文章也作为我这一段时间的学习K210进行物体识别的复习与总结(因为种种原因,比赛也面临无法完成,大哭;人工智能小白一枚,欢迎各路大神指正,求轻喷)

    2023年04月10日
    浏览(44)
  • 【VScode】手把手教你如何搭建C/C++开发环境

    目录 1.VScode是什么 2.VScode的下载和安装  安装中文插件 3.VScode配置C/C++开发环境 3.1 下载MinGW-w64 编译器套件 3.2 配置MinGW-w64  3.3 安装C/C++插件 4.在VScode上编写C语言代码并编译成功 4.1打开文件夹 4.2 新建C语言文件,编写C语言代码 4.3设置C/C++编译的选项 4.4 创建执行任务:tasks.

    2023年04月21日
    浏览(54)
  • 如何在Ubuntu 18.04上安装PHP 7.4并搭建本地开发环境

    PHP是一种流行的服务器脚本语言,用于创建动态和交互式web页面。开始使用你选择的语言是学习编程的第一步。 本教程将指导您在Ubuntu上安装PHP 7.4,并通过命令行设置本地编程环境。您还将安装依赖管理器Composer,并通过运行脚本来测试您的安装。 要完成本教程,您需要安

    2024年02月11日
    浏览(71)
  • Android Studio安卓手机模拟器环境搭建

    1、以管理员身份启动命令提示符工具 2、清理旧环境  2、解压缩文件夹内提供的JDK 11(一定是11,不能是其它版本,如果前面已经安装过JDK8,需要先在控制面板中卸载JDK8,并且删除环境变量JAVA_HOME,以及删除环境变量Path中涉及到JDK8的内容;重启后安装JDK11)     将JDK解压

    2024年02月09日
    浏览(51)
  • QGroundControl Qt安卓环境搭建及编译出现的问题

    记录Qt 5.15.2搭建安卓环境出现的各种问题。 答:需要将DANDROID_PLATFORM升级到已下载的版本. 答:参考: https://developernote.com/2022/04/building-qt-6-3-0-for-android-on-windows-with-cpp20/ 将sdk_definitions.json中的cmdline-tools修改为latest;ndk版本要对应上 答:As a workaround, manually copying the qmake_qmake_qm

    2024年01月16日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包