LiteOS增加执行自定义源码

开发过程注意事项:

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

增加自定义源码的步骤:

1.创建源码目录

2. 创建源文件

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

3. 编写自定义代码

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

cpp 复制代码
#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文件内容为:

cpp 复制代码
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, 修改内容为:

bash 复制代码
import("//build/lite/config/component/lite_component.gni")



lite_component("app") {

    features = [

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

        "myhello:myhello_demo",

    ]

}

5. 执行程序

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

相关推荐
三声三视25 分钟前
ArkTS 自定义组件完全指南:@Builder、@Extend、@Styles 实战解析
华为·harmonyos
Utopia^2 小时前
Flutter 框架跨平台鸿蒙开发 - 旅行预算管家
flutter·华为·harmonyos
李李李勃谦3 小时前
Flutter 框架跨平台鸿蒙开发 - 星空识别助手
flutter·华为·harmonyos
李李李勃谦3 小时前
Flutter 框架跨平台鸿蒙开发 - 本地生活服务预约
flutter·华为·生活·harmonyos
我的世界洛天依3 小时前
胡桃讲编程:早期华为手机(比如畅享等)可以升级鸿蒙吗?
华为·harmonyos
2301_822703203 小时前
开源鸿蒙跨平台Flutter开发:幼儿疫苗全生命周期追踪系统:基于 Flutter 的免疫接种档案与状态机设计
算法·flutter·华为·开源·harmonyos·鸿蒙
2301_822703204 小时前
鸿蒙flutter三方库实战——教育与学习平台:Flutter Markdown
学习·算法·flutter·华为·harmonyos·鸿蒙
humors2214 小时前
各厂商工具包网址
java·数据库·python·华为·sdk·苹果·工具包
2301_822703206 小时前
开源鸿蒙跨平台Flutter开发:蛋白质序列特征提取:氨基酸组成与理化性质计算
flutter·华为·开源·harmonyos·鸿蒙
钛态7 小时前
Flutter 三方库 ethereum_addresses 的鸿蒙化适配指南 - 掌控区块链地址资产、精密校验治理实战、鸿蒙级 Web3 专家
flutter·harmonyos·鸿蒙·openharmony·ethereum_addresses