回复
     梅科尔工作室OpenHarmony设备开发培训笔记-第2章学习笔记 原创
wx62f2888df272b
 发布于 2022-8-10 00:58
 浏览
 0收藏
@[toc]
Hello_World
添加 Hello_World 源码文件
- 打开 vscode 添加源码文件夹 :code1
- 发现报错
 
- 解决:打开 RaiDrive 将设置的只读勾去掉
 
 - 在 ./applications/BearPi/BearPi-HM_Nano/sample 路径下新建一个目录(或一套目录结构),用于存放业务源码文件。例如:在 ./applications/BearPi/BearPi-HM_Nano/sample 路径下新建一个 my_app 目录,然后在 my_app 下添加两个文件
 
写 Hello_World 业务代码

- 
#include <stdio.h> //prinf头文件 #include "ohos_init.h" //调用APP_FEATURE_INIT(Hello_World)来启动Hello_World命令 void Hello_World(void) { printf("Hello World!/r/n"); } APP_FEATURE_INIT(Hello_World); 
编写用于将业务构建成静态库的BUILD.gn文件
- 在 .applications\BearPi\BearPi-HM_Nano\sample\my_app\BULD.gn 中添加如下代码
static_library("myapp") { sources = [ "hello_world.c" ] include_dirs = [ "//utils/native/liteos/include" ] } - static_library中指定业务模块的编译结果,把 “hello_world.c” 文件编译为静态库文件libmyapp.a。
 - sources中指定静态库.a所依赖的.c文件及其路径,若路径中包含"//“则表示绝对路径(此处为代码根路径),若不包含”//"则表示相对路径。
 - include_dirs中指定source所需要依赖的.h文件路径
 
编写模块BUILD.gn文件,指定需参与构建的特性模块。
- 配置./applications/BearPi/BearPi-HM_Nano/sample/BUILD.gn文件,在features字段中增加索引"my_app:myapp",使目标模块参与编译。并屏蔽其他模块。
 - 编译
- 编译成功

 
 - 编译成功
 
点亮 LED
编写点亮 LED
- 添加源码文件
- 在 ./applications/BearPi/BearPi-HM_Nano/sample 路径下新建一个 my_led 目录,用于存放业务源码文件
 - 在 ./applications/BearPi/BearPi-HM_Nano/sample/my_led 路径下新建一个 led_example.c 文件,该文件为业务源码文件
 - 在 ./applications/BearPi/BearPi-HM_Nano/sample/my_app 路径下新建 BUILD.gn 文件,该文件为业务源码编译脚本
 
 - 编写业务代码
- 
#include "ohos_init.h" //调用APP_FEATURE_INIT(Hello_World)来启动Hello_World命令 #include "wifiiot_gpio.h" #include "wifiiot_gpio_ex.h" void led_example(void) // 点亮 led 业务代码 { gpio,GpioInit(); //初始化 gpio,GpioInit 函数 IoSetFunc(WIFI_IOT_IO_NAME_GPIO_2,WIFI_IOT_IO_FUNC_GPIO_2_GPIO); //设置 gpio 管脚功能:普通 gpio,接在芯片上的管脚号 GpioSetDir(WIFI_IOT_IO_NAME_GPIO_2,WIFI_IO_GPIO_DIR_OUT); //gpio 模式为输出模式 GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_2,1); } APP_FEATURE_INIT(led_example); 
 - 
 - 编写编译构建文件BUILD.gn
- 
static_library("myled") { sources = [ "led_example.c" ] include_dirs = [ "//utils/native/liteos/include", "//base/iot_hardware/interfaces/kits/wifiiot_lite" //添加"wifiiot_gpio.h"、"wifiiot_gpio_ex.h"路径 ] } 
 - 
 - 编写模块BUILD.gn文件,指定需参与构建的特性模块
 
编译烧录点亮 LED
- 报错:

 - 解决:多写了一句话,导致代码错误
- 已解决:

 
 - 已解决:
 
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
 分类 
 标签 
   
        赞
        
 
        收藏 
      
 回复
  相关推荐
 






















