开发Hi3518第一个示例程序
Tiechui.Wang 2021-07-02 10:03:00 发布3652 浏览 25 点赞 18 收藏
开发Hi3518第一个示例程序
本节指导开发者在单板上运行第一个应用程序,其中包括新建应用程序、编译、烧写、运行等步骤,最终输出“Hello OHOS!”。
新建应用程序
- 新建目录及源码 新建applications/sample/camera/apps/src/helloworld.c目录及文件,代码如下所示,用户可以自定义修改打印内容(例如:修改OHOS为World)。当前应用程序可支持标准C及C++的代码开发。 #include <stdio.h> int main(int argc, char **argv) {printf("\n************************************************\n"); printf("\n\t\tHello OHOS!\n"); printf("\n************************************************\n\n"); return 0; }1.2.3.4.5.6.7.8.9.10.
- 新建编译组织文件
新建applications/sample/camera/apps/BUILD.gn文件,内容如下所示:
import("//build/lite/config/component/lite_component.gni")
lite_component("hello-OHOS") {
features = [ ":helloworld" ]
}
executable("helloworld") {
output_name = "helloworld"
sources = [ "src/helloworld.c" ]
include_dirs = []
defines = []
cflags_c = []
ldflags = []
}
- 添加新组件 修改文件build/lite/components/applications.json,添加组件hello_world_app的配置,如下所示为applications.json文件片段,"##start##"和"##end##"之间为新增配置("##start##"和"##end##"仅用来标识位置,添加完配置后删除这两行): { "components": [ { "component": "camera_sample_communication", "description": "Communication related samples.", "optional": "true", "dirs": [ "applications/sample/camera/communication" ], "targets": [ "//applications/sample/camera/communication:sample" ], "rom": "", "ram": "", "output": [], "adapted_kernel": [ "liteos_a" ], "features": [], "deps": { "components": [], "third_party": [] } }, ##start## { "component": "hello_world_app", "description": "Communication related samples.", "optional": "true", "dirs": [ "applications/sample/camera/apps" ], "targets": [ "//applications/sample/camera/apps:hello-OHOS" ], "rom": "", "ram": "", "output": [], "adapted_kernel": [ "liteos_a" ], "features": [], "deps": { "components": [], "third_party": [] } }, ##end## { "component": "camera_sample_app", "description": "Camera related samples.", "optional": "true", "dirs": [ "applications/sample/camera/launcher", "applications/sample/camera/cameraApp", "applications/sample/camera/setting", "applications/sample/camera/gallery", "applications/sample/camera/media" ],
- 修改单板配置文件 修改文件vendor/hisilicon/hispark_aries/config.json,新增hello_world_app组件的条目,如下所示代码片段为applications子系统配置,"##start##"和"##end##"之间为新增条目("##start##"和"##end##"仅用来标识位置,添加完配置后删除这两行): { "subsystem": "applications", "components": [ ##start## { "component": "hello_world_app", "features":[] }, ##end## { "component": "camera_sample_app", "features":[] } ] },
编译
如果Linux编译环境通过Docker方式安装,具体编译过程请参见Docker方式获取编译环境的编译操作。如果Linux编译环境通过软件包方式安装,进入源码根目录,执行如下命令进行编译:
hb set(设置编译路径)
.(选择当前路径)
选择ipcamera_hispark_aries@hisilicon并回车
hb build -f(执行编译)结果文件生成在out/hispark_aries/ipcamera_hispark_aries目录下。
图 1 设置图例

须知: Hi3518EV300单板的U-boot文件获取路径:device/hisilicon/hispark_aries/sdk_liteos/uboot/out/boot/u-boot-hi3518ev300.bin
烧录
Hi3518开发板的代码烧录仅支持USB烧录方式。
- 请连接好电脑和待烧录开发板,以Hi3518EV300为例,需要同时连接串口和USB口,具体可参考Hi3518开发板介绍。
- 打开电脑的设备管理器,查看并记录对应的串口号。 说明: 如果对应的串口异常,请根据Hi3516/Hi3518系列开发板串口驱动安装指导安装USB转串口的驱动程序。
- 打开DevEco Device Tool,在Projects中,点击Settings打开工程配置界面。
- 在“hi3516dv300”页签,设置烧录选项,包括upload_port、upload_partitions和upload_protocol。 upload_port:选择步骤2中查询的串口号。 upload_protocol:选择烧录协议,固定选择“hiburn-net”。 upload_partitions:选择待烧录的文件,默认情况下会同时烧录fastboot、kernel、rootfs和userfs。
- 检查和设置连接开发板后的网络适配器的IP地址信息,设置方法请参考设置Hi3516网口烧录的IP地址信息。
- 设置网口烧录的IP地址信息,设置如下选项: upload_net_server_ip:选择5中设置的IP地址信息。例如192.168.1.2 upload_net_client_mask:设置开发板的子网掩码,工具会自动根据选择的upload_net_server_ip进行设置。例如255.255.255.0 upload_net_client_gw:设置开发板的网关,工具会自动根据选择的upload_net_server_ip进行设置。例如192.168.1.1 upload_net_client_ip:设置开发板的IP地址,工具会自动根据选择的upload_net_server_ip进行设置。例如192.168.1.3
- 修改待烧录文件(对应hi3516dv300_fastboothi3516dv300_kernel、hi3516dv300_rootfs和hi3516dv300_userfs页签)的设置,默认情况下,DevEco Device Tool已针对Hi3516系列开发板进行适配,无需单独修改。如果需要修改,请在New Option中,选择对应的修改项进行更改
- 所有的配置都修改完成后,在工程配置页签的顶部,点击Save进行保存。
- 打开工程文件,点击图标,打开DevEco Device Tool界面,在“PROJECT TASKS”中,点击env:hi3516dv300下的Upload按钮,启动烧录。
- 启动烧录后,显示如下提示信息时,请重启开发板(下电再上电)。
- 重新上电后,启动烧录,界面提示如下信息时,表示烧录成功。
须知: **“go 0x80000000”**为可选指令,默认配置已将该指令固化在启动参数中,单板复位后可自动启动。若想切换为手动启动,可在U-boot启动倒数阶段使用"回车"打断自动启动。
输入**“reset”**指令并回车,重启单板,启动成功如下图,输入回车串口显示OHOS字样。
图 3 系统启动图

执行应用程序
根目录下,在命令行输入指令“./bin/helloworld”执行写入的demo程序,显示成功结果如下图所示。
图 4 启动并成功执行应用程序图

©本站发布的所有内容,包括但不限于文字、图片、音频、视频、图表、标志、标识、广告、商标、商号、域名、软件、程序等,除特别标明外,均来源于网络或用户投稿,版权归原作者或原出处所有。我们致力于保护原作者版权,若涉及版权问题,请及时联系我们进行处理。
分类
其它
标签
鸿蒙
操作系统
HarmonyOS
相关推荐
鸿蒙生物识别开发:从指纹识别到3D人脸识别的完整指南
周正
0
0鸿蒙NFC开发实战:从读卡器模式到卡模拟的完整实现
周正
1
0鸿蒙加密存储开发:数据安全保护的完整方案
周正
1
0鸿蒙模块化开发最佳实践:从单体应用到模块化架构的演进之路
周正
1
0鸿蒙组件库开发实战:从零打造可复用的UI组件库
周正
1
0
Tiechui.Wang
我还没有写个人简介......
1091
帖子
0
提问
893
粉丝
最新发布
华为应用市场增长优化师火热认证中
2025-03-10 10:16:02 发布华为应用市场斩获Pocket Gamer2023年移动游戏奖,全球第三大移动应用生态获行业认可
2024-04-27 11:06:07 发布热门推荐