梅科尔工作室-14天鸿蒙设备开发实战-快速入门笔记 原创
OpenHarmony快速入门
Hello World
编写Hello World程序
参考:【鸿蒙2.0设备开发教程】小熊派HarmonyOS 鸿蒙·季 开发教程_哔哩哔哩_bilibili
添加Hello World源码文件
下载源码的方法可参考梅科尔工作室-#14天鸿蒙设备开发实战#环境搭建笔记-开源基础软件社区-51CTO.COM,部署环境->简易步骤中的在Ubuntu上获取源码相应步骤,此处使用其中的第一种方法,将代码下载到code3中。
将Ubuntu的文件远程映射到Windows文件夹中后,将下载的源码文件使用VS Code打开(直接拖到VS Code就可以)
新增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文件中)
#include "ohos_init.h" // 引入头文件
// <>和""寻找路径不一样,<>从系统库开始查找,""从用户目录开始找,若未找到才到系统库中去查找
void Hello_World(void)
{
printf("Hello World!\r\n"); // 打印,\r是回车,\n是换行
}
APP_FEATURE_INIT(Hello_World); // app函数入口,启动Hello_World
static_library中指定业务模块的编译结果,为静态库文件libmyapp.a,开发者根据实际情况完成填写。
sources中指定静态库.a所依赖的.c文件及其路径,若路径中包含"//“则表示绝对路径(此处为代码根路径),若不包含”//" 则表示相对路径。
include_dirs中指定source所需要依赖的.h文件路径。
编写模块BUILD.gn文件,指定需参与构建的特性模块。
在./applications/BearPi/BearPi-HM/sample下的BUILD.gn文件中添加如下代码(可以将features中原有的模块注释掉,添加上"my_app:myapp",)
编译烧录Hello World程序
首先打开MobaXterm工具,登录服务器后,进入源码目录code3下
输入hpm dist,开始编译源码,如果出现BUILD SUCCESS字样,说明编译成功
使用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!