OpenHarmony(鸿蒙)——Hello World

①新增my_app文件夹

./applications/BearPi/BearPi-HM_Nano/sample路径下新建一个my_app目录,用于存放业务源码文件。

②新增hello_world.c文件

./applications/BearPi/BearPi-HM_Nano/sample/my_app路径下新建一个hello_world.c文件,该文件为业务源码文件

③新增BUILD.gn文件

在./applications/BearPi/BearPi-HM_Nano/sample/my_app路径下新建一个BUILD.gn文件,该文件为业务源码编译脚本

④编写Hello World业务代码
hello_world.c中新建业务入口函数Hello_World,并实现业务逻辑。并在代码最下方,使用HarmonyOS启动恢复模块接口APP_FEATURE_INIT()启动业务。(printf定义在stdio.h文件中,APP_FEATURE_INIT定义在ohos_init.h文件中

头文件相关库函数网址(建议保存):OHOS Init-服务框架子系统-系统基础能力子系统集-智慧视觉设备-HarmonyOS设备开发

源码如下:

​
#include <stdio.h>  // 引入头文件
#include "ohos_init.h"  // 引入头文件
// <>和""寻找路径不一样,<>从系统库开始查找,""从用户目录开始找,若未找到才到系统库中去查找

void Hello_World(void)
{
    printf("Hello World!\r\n");  // 打印,\r是回车,\n是换行
}

APP_FEATURE_INIT(Hello_World);  // app函数入口,启动Hello_World

​

⑤编写编译构建文件BUILD.gn
在./applications/BearPi/BearPi-HM/sample/my_app下的BUILD.gn文件中添加如下代码。

# static_library中指定业务模块的编译结果,为静态库文件libmyapp.a,开发者根据实际情况完成填写。
static_library("myapp") {  # 此处参数填xxx,静态库文件就是libxxx.a
    # sources中指定静态库.a所依赖的.c文件及其路径,若路径中包含"//"则表示绝对路径(此处为代码根路径),若不包含"//"则表示相对路径。
    sources = [
        "hello_world.c"
    ]
    # include_dirs中指定source所需要依赖的.h文件路径。
    include_dirs = [
        "//utils/native/lite/include"  # ohos_init.h
    ]
}

helloWorld是相对路径,指向./applications/BearPi/BearPi-HM_Nano/sample/HelloWorld/BUILD.gn中的static_library(“helloWorld”)

⑥编写模块BUILD.gn文件,指定需参与构建的特性模块。
在./applications/BearPi/BearPi-HM/sample下的BUILD.gn文件中添加如下代码(可以将features中原有的模块注释掉,添加上"my_app:myapp",)

import("//build/lite/config/component/lite_component.gni")

lite_component("app") {
	features = [
    	# 指定需参与构建的特性模块
		"my_app:myapp",
	]
}

my_app是相对路径,指向./applications/BearPi/BearPi-HM/sample/my_app/BUILD.gn。
myapp是目标,指向./applications/BearPi/BearPi-HM/sample/my_app/BUILD.gn中的static_library(“myapp”)

⑦编译烧录Hello World程序
首先打开MobaXterm工具,登录服务器后,进入源码目录下,输入编译命令

#源码从小熊派码云仓库中获取的编译命令
python build.py BearPi-HM_Nano
#源码从华为云中获取的编译命令
hpm dist

使用HiBurn工具烧录源码(先将电脑与开发板连接起来,通过设备管理器->端口查看端口)

COM:端口的选择要和设备管理器中显示的端口一致

波特率选择921600,左上角setting->Com setting->Baud

Select File:烧录文件选择刚才生成的bin文件(\home\bearpi\code\code3\out\BearPi-HM_Nano路径下Hi3861_wifiiot_app_allinone.bin)

Auto burn:前面打勾

点击Connect,下方显示Connecting…时,再按一下开发板复位按键,此时Connect按钮变成Disconnect

等待烧录,烧录成功后,下方重新显示Connecting…(如果再按复位按键,代码又会重新烧录),此时点击Disconnect,Disconnect按钮又变回Connect

使用MobaXterm中的串口工具查看日志

左上角->Session->Serial

Serial port:选择端口号,与设备管理器中显示的端口一致

Speed(bps):波特率设置为115200

点击OK

再次点击开发板复位按键,日志就会被打印出来,可以看到打印出来Hello World!

猜你喜欢

转载自blog.csdn.net/butnotif/article/details/128731246