鸿蒙OpenHarmony【轻量系统 编译】 (基于Hi3861开发板)

编译

OpenHarmony支持hb和build.sh两种编译方式。此处介绍hb方式,build.sh脚本编译方式请参考[使用build.sh脚本编译源码]。

使用build.sh脚本编译源码

  1. 进入源码根目录,执行如下命令进行版本编译。

    cpp 复制代码
    ./build.sh --product-name name --ccache

    说明: _name_为产品名称,例如Hi3516DV300、rk3568等。

  2. 检查编译结果。编译完成后,log中显示如下:

    cpp 复制代码
    post_process
    =====build name successful.

    编译所生成的文件都归档在out/{device_name}/目录下,结果镜像输出在out/{device_name}/packages/phone/images/ 目录下。

    说明: 其他模块化编译操作,可参见编译构建指南

想要详细了解OpenHarmony编译构建模块功能的开发者可参考编译构建指南

前提条件

  • 已正确[安装库和工具集]。
  • 已正确[安装编译工具]。
  • 已正确[安装Hi3861特有工具])。
  • "Hello World"程序已编写完成。
  • 可正常登录Ubuntu环境。

操作步骤

鸿蒙开发指导文档:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。

在Ubuntu环境下进入源码根目录,执行如下命令进行编译:

  1. 设置编译路径。

    复制代码
    hb set
  2. 选择当前路径。

  3. 在hisilicon下选择wifiiot_hispark_pegasus并回车。

    说明:

    同样的开发板在适配不同的场景时,要采用的编译形态不同(即此处要选择的product不同),请参考[编译形态整体说明]。

编译形态整体说明

在编译过程中,需要根据实际需求选择不同的编译形态。单击下表中的链接可获取具体产品配置,从而了解其中差异。

表1 编译构建支持的产品列表

编译形态 开发板 主芯片 内核 系统类型
neptune100 neptune100 winnermicro liteos_m mini
rk3568 rk3568 rockchip linux standard
rk3568_mini_system rk3568 rockchip linux standard
bearpi_hm_micro bearpi_hm_micro stm32mp1xx liteos_a small
bearpi_hm_nano bearpi_hm_nano hi3861v100 liteos_m mini
wifiiot_hispark_pegasus hispark_pegasus hi3861v100 liteos_m mini
ipcamera_hispark_aries hispark_aries hi3518ev300 liteos_a small
ipcamera_hispark_taurus hispark_taurus hi3516dv300 liteos_a small
ipcamera_hispark_taurus_linux hispark_taurus hi3516dv300 linux small
hispark_taurus_standard hispark_taurus hi3516dv300 linux standard
watchos hispark_taurus hi3516dv300 linux standard
hispark_phoenix hispark_phoenix hi3751v350 linux standard
hispark_taurus_mini_system hispark_taurus hi3516dv300 liteos_a mini
hispark_pegasus_mini_system hispark_pegasus hi3861v100 liteos_m mini
gr5515_sk_iotlink_demo gr5515_sk gr551x liteos_m mini
gr5515_sk_xts_demo gr5515_sk gr551x liteos_m mini
wifi_demo dev_wifi_a asr582x liteos_m mini
xts_demo dev_wifi_a asr582x liteos_m mini
display_demo v200zr bes2600 liteos_m mini
xts_demo v200zr bes2600 liteos_m mini
iotlink_demo v200zr bes2600 liteos_m mini
mini_distributed_music_player v200zr bes2600 liteos_m mini
niobe407 niobe407 stm32f4xx liteos_m mini
qemu_mini_system_demo arm_mps2_an386 qemu liteos_m mini
qemu_csky_mini_system_demo SmartL_E802 qemu liteos_m mini
qemu_cm55_mini_system_demo arm_mps3_an547 qemu liteos_m mini
qemu_xtensa_mini_system_demo esp32 qemu liteos_m mini
qemu_riscv_mini_system_demo ricsv32_virt qemu liteos_m mini
qemu_ca7_mini_system_demo arm_virt qemu liteos_a small
qemu_small_system_demo arm_virt qemu liteos_a small
qemu_arm_linux_min qemu-arm-linux qemu linux standard
qemu_arm_linux_headless qemu-arm-linux qemu linux standard
iotlink_demo cst85_wblink chipsea liteos_m mini
dsoftbus_demo cst85_wblink chipsea liteos_m mini
xts_demo cst85_wblink chipsea liteos_m mini

图1 Hi3861编译设置图例

  1. 执行编译。

说明:

  • 单独编译一个部件(例如hello),可使用"hb build -T 目标名称"进行编译。
  • 增量编译整个产品,可使用"hb build"进行编译。
  • 完整编译整个产品,可使用"hb build -f"进行编译。

此处以完整编译整个产品为例进行说明。

cpp 复制代码
hb build -f
  1. 编译结束后,出现"build success"字样,则证明构建成功。

须知: 编译结果文件及编译日志获取路径:out/hispark_pegasus/wifiiot_hispark_pegasus。

鸿蒙Next核心技术分享

1、鸿蒙基础知识←《鸿蒙NEXT星河版开发学习文档》

2、鸿蒙ArkUI←《鸿蒙NEXT星河版开发学习文档》

3、鸿蒙进阶技术←《鸿蒙NEXT星河版开发学习文档》

4、鸿蒙就业高级技能←《鸿蒙NEXT星河版开发学习文档》

5、鸿蒙多媒体技术←《鸿蒙NEXT星河版开发学习文档》

6、鸿蒙南向驱动开发←《鸿蒙NEXT星河版开发学习文档》

7、鸿蒙南向内核设备开发←《鸿蒙NEXT星河版开发学习文档》

8、鸿蒙系统裁剪与移植←《鸿蒙NEXT星河版开发学习文档》

相关推荐
祥睿夫子1 天前
鸿蒙 ArkTS 类继承与多态实战:从语法到员工工资计算全指南
harmonyos
shenshizhong1 天前
看懂鸿蒙系统源码 比较重要的知识点
android·harmonyos
特立独行的猫a1 天前
强大的鸿蒙HarmonyOS网络调试工具PageSpy 介绍及使用
网络·华为·harmonyos
ChinaDragon1 天前
HarmonyOS:在NDK工程中使用预构建库
harmonyos
程序员潘Sir1 天前
鸿蒙应用开发从入门到实战(三):第一个鸿蒙应用
harmonyos·鸿蒙
安卓开发者1 天前
鸿蒙NEXT中SQLite数据库全面实战指南
数据库·sqlite·harmonyos
HarderCoder1 天前
仓颉语言Option 的“问号”全景图—— 一个 `?` 与 `.` `()` `[]` `{}` 的组合写法
harmonyos
威哥爱编程2 天前
HarmonyOS 5.1手势事件详解
harmonyos
HarderCoder2 天前
使用仓颉语言理解 SOLID 原则:概念、实战与踩坑总结
harmonyos
爱笑的眼睛112 天前
HarmonyOS 应用开发深度解析:ArkTS 声明式 UI 与状态管理最佳实践
华为·harmonyos