OpenHarmony2.0 Hi3516系列小型系统源码编译及烧录 原创 精华
jerckNing
发布于 2021-7-16 15:26
1.9w浏览
4收藏
本文主要介绍在腾讯云服务器上编译小型系统以及Windows本地烧录
一、购买腾讯云服务器
初始购买界面,Ubuntu的系统版本只能选择18.04
二、重装Ubuntu 20.0.4系统
为了避免踩坑,重装系统为Ubuntu 20.04版本:
三、apt-get以及Python安装
1、更新apt-get
2、python版本安装 (官方要求python3.7以上版本)
先确认python版本
如果没有达到指定版本,先安装python 根据Ubuntu不同版本,安装python。
如果Ubuntu 版本为18+,运行如下命令。
如果Ubuntu版本为16。
a. 安装依赖包
b. 添加deadsnakes PPA 源,然后按回车键确认安装。
c. 安装python3.8
3、设置python和python3软链接为python3.8。
4、安装并升级Python包管理工具(pip3),任选如下一种方式。
命令行方式:
安装包方式:
四、 Linux服务器开发工具安装
开发工具 | 用途 | 获取途径 |
---|---|---|
gn | 产生ninja编译脚本 | https://repo.huaweicloud.com/harmonyos/compiler/gn/1717/linux/gn-linux-x86-1717.tar.gz |
ninja | 执行ninja编译脚本 | https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar |
LLVM | 编译工具链 | https://repo.huaweicloud.com/harmonyos/compiler/clang/10.0.1-62608/linux/llvm.tar.gz |
针对OpenHarmony_1.0.1_release分支使用以下链接下载:https://repo.huaweicloud.com/harmonyos/compiler/clang/9.0.0-36191/linux/llvm-linux-9.0.0-36191.tar | ||
hc-gen | 驱动配置编译工具 | https://repo.huaweicloud.com/harmonyos/compiler/hc-gen/0.65/linux/hc-gen-0.65-linux.tar |
hb | OpenHarmony编译构建命令行工具 | 通过互联网获取 |
bash | 命令行处理工具 | 系统配置 |
编译基础软件包(仅ubuntu 20+需要) | 编译依赖的基础软件包 | 通过互联网获取 |
dosfstools、mtools、mtd-utils | 文件打包工具 | 通过apt-get install安装 |
Java 虚拟机环境 | 编译、调试和运行Java程序 | 通过apt-get install安装 |
1、下载gn、ninja、LLVM、hc-gen
2、解压并配置环境变量
设置环境变量
3、安装hb
1、安装命令
2、将以下命令拷贝到.bashrc文件的最后一行,保存并退出。
执行如下命令更新环境变量。
source ~/.bashrc
3、执行"hb -h",有打印以下信息即表示安装成功:
4、将Linux shell改为bash
查看shell是否为bash,在终端运行如下命令
如果显示为“/bin/sh -> bash”则为正常,否则请按以下方式修改:
方法一:在终端运行如下命令,然后选择 no。
方法二:先删除sh,再创建软链接。
5、安装编译依赖基础软件(仅Ubuntu 20+需要)
执行以下命令进行安装:
6、安装文件打包工具及Java虚拟机环境
打开Linux编译服务器终端
运行如下命令,安装dosfstools,mtools,mtd-utils,Java运行时环境(JRE)和Java sdk 开发工具包。
五、通过repo下载源码
1、配置 repo 工具
如果没有 curl 命令需要先下载
2、安装git lfs(如未安装、下载源码会报错)
3、通过repo下载OpenHarmony-2.0-Canary源码
首先配置git
下载2.0 Release版本代码初始化
下载master分支代码
六、编译Hi3516(小系统)源码
1、hb set(设置编译路径)
2、选择ipcamera_hispark_taurus
3、hb build -f(执行编译)
经过1个半小时后编译成功
七、小型系统烧录
1、连接开发板,查看串口号
Hi3516开发板的代码烧录支持USB烧录、网口烧录和串口烧录三种方式。我主要将一下串口烧录
请连接好电脑和待烧录开发板,以Hi3516DV300为例,需要同时连接串口、网口和电源,具体可参考Hi3516开发板介绍。
打开电脑的设备管理器,查看并记录对应的串口号。
2、打开DevEco Device Tool,在Projects中,点击Settings打开工程配置界面。
3、在“Partition Configuration”页签,设置待烧录文件信息,默认情况下,DevEco Device Tool已针对Hi3516系列开发板进行适配,无需单独修改。
4、在“hi3516dv300”页签,设置烧录选项,包括upload_port、upload_partitions和upload_protocol。
- upload_port:选择步骤2中查询的串口号。
- upload_protocol:选择烧录协议,固定选择“hiburn-serial”。
- upload_partitions:选择待烧录的文件,默认情况下会同时烧录fastboot、kernel、rootfs和userfs。
5、所有的配置都修改完成后,在工程配置页签的顶部,点击Save进行保存。
6、打开工程文件,点击图标,打开DevEco Device Tool界面,在“PROJECT TASKS”中,点击hi3516dv300下的Upload按钮,启动烧录。
7、开始烧录(串口烧录会比较慢)
8、烧录成功
9、烧录注意事项
如果烧录了boot,此时还不能点亮屏幕
重新写入引导内核启动的指令和参数
9.1、单击Monitor打开串口
9.2、当出现下图所示时,给开发版上电, 连续输入回车直到串口显示"hisilicon"9
此时输入如下四条命令,执行完四条命令之后,系统会重启并点亮屏幕
执行命令 | 命令解释 |
---|---|
reset | 表示复位单板。 |
saveenv | 表示保存当前配置。 |
setenv bootargs “console=ttyAMA0,115200n8 root=emmc fstype=vfat rootaddr=10M rootsize=20M rw”; | 表示设置启动参数,输出模式为串口输出,波特率为115200,数据位8,rootfs挂载于emmc器件,文件系统类型为vfat,“rootaddr=10M rootsize=20M rw”处对应填入rootfs.img的烧写起始位置与长度,此处与IDE中新增rootfs.img文件时所填大小必须相同。 |
setenv bootcmd “mmc read 0x0 0x80000000 0x800 0x4800; go 0x80000000”; | 读取FLASH起始地址为0x800(单位为512B,即1MB),大小为0x4800(单位为512B,即9MB)的内容到0x80000000的内存地址,该大小(9MB)与IDE中所填写OHOS_Image.bin文件大小必须相同。 |
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2021-7-16 15:42:34修改
赞
6
收藏 4
回复
6
2
4
相关推荐
我只知道因为USB驱动的问题,疯了好几个😂😂😂
很详细的文章,先记录一下usb的坑hhh