Hello Word编译顺序在正式开始程序编写之前,有必要先整体上了解程序的编译顺序。 Harmony的编译路径主要由vendor/xradio/xr806/config.json决定
其中"product_name"决定了执行hb set出现的选项,"device_company","board","kernel_type"共同决定了编译路径。 hb set选定wifi_skylark后,会在根目录中生成文件ohos_config.json,里面的内容大致如下:
在执行hb build -f后,HarmonyOS的编译脚本会从device_path中获取编译工具和编译选项,从product_path下寻找BUILD.gn文件。BUILD.gn文件内容如下:
(1)deps关键字代表执行group("xr806")前需要先执行libSDK,也就是build_ext_component("libSDK")。 (2)执行build_ext_component("libSDK")前要求先寻找ohosdemo文件夹下的BUILD.gn,并且BUILD.gn里面会有ohosdemo的定义。 (3)“//”代表绝对路径,可以理解为根目录。//kernel/liteos_m代表根目录下的kernel/liteos_m文件夹。 打开ohosdemo/BUILD.gn
(1)“#”是gn文件的注释符号。 打开hello_demo/BUILD.gn
(1).gni文件类似C语言的.h文件,用于定义一些模板 (2)static_library代表生成静态库(.a)文件,其中包含main.c的静态库必须是app_打头,如app_hello,否则虽然可以编译成功,但无法生效。 (3)需要编译的C文件,代表src文件夹下的main.c文件。 (4)gcc编译选项,其中board_cflags在//device/xradio/xr806/liteos_m/config.gni中定义。 (5)全局头文件,其中board_include_dirs在//device/xradio/xr806/liteos_m/config.gni中定义。 (6)除了board_include_dirs,额外需要添加的头文件。 代码
(1)Harmony启动时会调用所有SYS_RUN,上文中提到的应用库必须用“app_ ”打头就是因为SYS_RUN不会加入ld链接,所以使用"app_"标识,强制链接。 (2)必须添加ohos_init.h头文件,否则SYS_RUN失效。 演示XR806_OpenHarmony串口默认配置为:波特率115200,无校验,8位数据位,1位停止位。 开发板成功连接PC上对串口调试助手后,按下开发板的复位按键,串口输出如下。 |
只有小组成员才能发言,加入小组>>
【实测】用全志A733平板搭建一个端侧Deepseek算力平台
758 浏览 0 评论
1506 浏览 0 评论
959 浏览 0 评论
1097 浏览 0 评论
全志T113双核异构处理器的使用基于Tina Linux5.0——RTOS系统定制开发
1820 浏览 0 评论
2975浏览 1评论
Yuzuki Lizard 全志V851S开发板 –移植 QT5.12.9教程
16610浏览 1评论
关于全志T113开发板接7寸LCD屏幕显示异常问题的解决方案
1288浏览 1评论
泰酷辣!基于全志R818的开源超迷你安卓手持终端CyberPad,芒果派惊喜之作
3452浏览 1评论
1605浏览 1评论