鸿蒙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星河版开发学习文档》

相关推荐
摘星编程7 分钟前
【参赛心得】HarmonyOS创新赛获奖秘籍:如何用Stage模型和声明式UI打造高分作品
ui·华为·harmonyos·鸿蒙开发·stage模型
2501_919749031 小时前
flutter鸿蒙:实现类似B站或抖音的弹幕功能
flutter·华为·harmonyos
鸿蒙小白龙2 小时前
OpenHarmony后台服务开发指南:ServiceAbility与ServiceExtensionAbility全解析
harmonyos·鸿蒙系统·open harmony
浅蓝色5 小时前
flutter平台判断,这次应该没问题了。支持鸿蒙,插件已发布
flutter·harmonyos
小雨青年13 小时前
鸿蒙 HarmonyOS 6|ArkUI(03):状态管理
华为·harmonyos·1024程序员节
夏洛特飞21 小时前
X86 OpenHarmony5.1.0编译及安装
鸿蒙系统
猫林老师1 天前
HarmonyOS分布式数据库深度应用
harmonyos
LucianaiB1 天前
【成长纪实】从“Hello World”到分布式实战的进阶之路
harmonyos·鸿蒙·成长纪实
万添裁1 天前
基于ArkAnalyzer的HarmonyOS通用API多端安全性分析工具
harmonyos·ark
无风听海1 天前
HarmonyOS之启动应用内的UIAbility组件
前端·华为·harmonyos