LiteOS增加执行自定义源码

开发过程注意事项:

  1.  源码工程路径不能太长
  2.  源码工程路径不能有中文
  3.  一定要关闭360等杀毒软件,否则编译的打包阶段会出错

增加自定义源码的步骤:

  1.创建源码目录

2. 创建源文件

新建myhello目录后,再此目录下再新建源文件myhello_demo.c

3. 编写自定义代码

在myhello_demo.c中增加代码如下:

#include <stdio.h>

#include <ohos_init.h> //必须包含此头文件,否则无法调试输出



void myhello_init() //自定义一个入口函数

{

    printf("myhello init\n");

}



//声明myhello_init为入口函数

SYS_RUN(myhello_init); //在鸿蒙系统层自动执行入口函数

// APP_FEATURE_INIT(myhello_init); //在鸿蒙系统的应用层自动执行入口函数

4. 配置自定义源码的编译

   鸿蒙系统源码是通过目录下的BUILD.gn描述当前源码如何编译,则有哪些源文件,及使用的头文件路径。复制iothardware目录下的BUILD.gn到myhello目录下。

修改myhello目录下的BUILD.gn文件内容为:

static_library("myhello_demo") {

    sources = [

        "myhello_demo.c"

    ]



    include_dirs = [

        "//utils/native/lite/include",

        "//kernel/liteos_m/kal/cmsis",

        "//base/iot_hardware/peripheral/interfaces/kits",

    ]

}

其中:myhello_demo为编译的目标名, sources指定当前目标由哪些源文件组成, include_dirs指定源码中使用的头文件所在路径。

修改myhello上级App目录下的BUILD.gn, 修改内容为:

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



lite_component("app") {

    features = [

#备注 "源码目录名:源码目录BUILD.gn的目标名"

        "myhello:myhello_demo",

    ]

}

5. 执行程序

重新ReBuild工程后,upload烧录并打开monitor后即可接收开发板里输出的信息。

相关推荐

  1. 在FFmpeg增加定义程序

    2024-07-11 03:00:03       43 阅读
  2. 定义ORM(mybatis)(六)-类型处理器

    2024-07-11 03:00:03       54 阅读
  3. 定义ORM(mybatis)(二)-解析mapper.xml

    2024-07-11 03:00:03       55 阅读
  4. 定义ORM(mybatis)(一)-解析config.xml

    2024-07-11 03:00:03       50 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-11 03:00:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-11 03:00:03       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-11 03:00:03       58 阅读
  4. Python语言-面向对象

    2024-07-11 03:00:03       69 阅读

热门阅读

  1. 【牛客网】华为2016研发工程师编程题

    2024-07-11 03:00:03       19 阅读
  2. 【Perl CGI脚本全解析】打造动态Web应用的秘籍

    2024-07-11 03:00:03       22 阅读
  3. Leetcode 59. 螺旋打印矩阵

    2024-07-11 03:00:03       23 阅读
  4. MySQL 日期和时间函数

    2024-07-11 03:00:03       18 阅读
  5. Leetcode234.判断是否是回文单链表

    2024-07-11 03:00:03       19 阅读
  6. 基于深度学习的点云降噪

    2024-07-11 03:00:03       21 阅读
  7. Git 一种分布式版本控制系统

    2024-07-11 03:00:03       19 阅读
  8. C# —— FileStream文件流

    2024-07-11 03:00:03       20 阅读
  9. Pandas 进阶 —— 数据转换、聚合与可视化

    2024-07-11 03:00:03       24 阅读
  10. Ubuntu 22.04.1 LTS 离线安装Docker

    2024-07-11 03:00:03       21 阅读