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

相关推荐
zhanshuo14 分钟前
构建可扩展的状态系统:基于 ArkTS 的模块化状态管理设计与实现
harmonyos
zhanshuo19 分钟前
ArkTS 模块通信全解析:用事件总线实现页面消息联动
harmonyos
codefish7985 小时前
鸿蒙开发学习之路:从入门到实践的全面指南
harmonyos
yrjw11 小时前
一款基于react-native harmonyOS 封装的【文档】文件预览查看开源库(基于Harmony 原生文件预览服务进行封装)
harmonyos
搜狐技术产品小编20231 天前
搜狐新闻直播间适配HarmonyOs实现点赞动画
华为·harmonyos
zhanshuo1 天前
ArkUI 玩转水平滑动视图:超全实战教程与项目应用解析
harmonyos·arkui
zhanshuo1 天前
ArkUI Canvas 实战:快速绘制柱状图图表组件
harmonyos·arkui
zhanshuo2 天前
手把手教你用 ArkUI 写出高性能分页列表:List + onScroll 实战解析
harmonyos
zhanshuo2 天前
深入解析 ArkUI 触摸事件机制:从点击到滑动的开发全流程
harmonyos
i仙银2 天前
鸿蒙沙箱浏览器 - SandboxFinder
app·harmonyos