编译
OpenHarmony支持hb和build.sh两种编译方式。此处介绍hb方式,build.sh脚本编译方式请参考[使用build.sh脚本编译源码]。
使用build.sh脚本编译源码
-
进入源码根目录,执行如下命令进行版本编译。
cpp./build.sh --product-name name --ccache
说明: _name_为产品名称,例如Hi3516DV300、rk3568等。
-
检查编译结果。编译完成后,log中显示如下:
cpppost_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环境下进入源码根目录,执行如下命令进行编译:
-
设置编译路径。
hb set
-
选择当前路径。
-
在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编译设置图例
- 执行编译。
说明:
- 单独编译一个部件(例如hello),可使用"hb build -T 目标名称"进行编译。
- 增量编译整个产品,可使用"hb build"进行编译。
- 完整编译整个产品,可使用"hb build -f"进行编译。
此处以完整编译整个产品为例进行说明。
cpp
hb build -f
- 编译结束后,出现"build success"字样,则证明构建成功。
须知: 编译结果文件及编译日志获取路径:out/hispark_pegasus/wifiiot_hispark_pegasus。