梅科尔工作室OpenHarmony设备开发培训笔记-第3章学习笔记 原创

wx62f2888df272b
发布于 2022-8-10 01:05
浏览
0收藏

@[toc]

HarmonyOS 编译框架介绍

  • ninja编译工具
    • 简介:在 Unix/Linux 下通常使用 Makefile 来控制代码的编译,但是 Makefile 对于比较大的项目有时候会比较慢,代码在编译都变成了程序员放松的借口了。所以这个 Google 的程序员在开发 Chrome 的时候因为忍受不了Makefile 的速度,自己重新开发出来一套新的控制编译的工具叫作 Ninja,Ninja 相对于 Makefile 这套工具更注重于编译速度。除了 Chrome 现在还有一些其他的比较大的项目也在开始使用Ninja。
  • 如何编译模块
    • ssh 命令报错
      • 梅科尔工作室OpenHarmony设备开发培训笔记-第3章学习笔记-鸿蒙开发者社区
      • 解决方法:多试了几次
      • 运行成功:梅科尔工作室OpenHarmony设备开发培训笔记-第3章学习笔记-鸿蒙开发者社区
    • gn文件
      • 一些对应:梅科尔工作室OpenHarmony设备开发培训笔记-第3章学习笔记-鸿蒙开发者社区
    • Json 文件
      • 编译时使用到:描述编译模块的一些路径
      • build\lite\product\BearPi-HM_Nano.json
  • 代码运行逻辑
    • 编译是一步一步指向的,例子:从 BearPi-HM_Nano.json 第一个 application 指向 BUILD.gn 的 app,app 指向其中的 my_led 模块,首先链接 my_led.a 文件,然后编译成 .bin 的二进制文件
    • 入口函数: vendor\hisi\hi3861\hi3861\app\wifiiot_app\src\app_main.c

CMSIS-RTOS2 接口

  • 什么是 CMSIS-RTOS2 接口
    • CMSIS 是 Cortex微控制器软件接口标准,是 ARM 和一些编译器厂家以及半导体厂家共同遵循的一套标准,是由 ARM 专门针对 Cortex-M 系列提出的标准。在该标准的约定下,ARM 和芯片厂商会提供一些通用的 API 接口来访问 Cortex 内核以及一些专用外设,以减少更换芯片以及开发工具等移植工作所带来的金钱以及时间上的消耗。
    • CMSIS-RTOS2 (CMSIS-RTOS API Version 2) 是Arm Cortex -M处理器的通用的RTOS接口。为需要RTOS功能的软件组件提供了标准化的API。// 这个 API 与底层 RTOS 内核是无关的,能屏蔽底层差异,即若更换底层 RTOS 内核,上层应用层可以不变
    • CMSIS-RTOS2是一个通用的API,它与底层的RTOS内核无关,写应用程序的程序员在用户代码中调用CMSIS-RTOS2API函数,可以更方便地将应用程序从一个RTOS到另一个RTOS,使用CMSIS-RTOS2 API的中间件也可以避免很多不必要的移植工作。
  • 鸿蒙是如何封装 CMSIS-RTOS2 接口
    • 鸿蒙与 CMSIS-RTOS2 接口联系
      • 鸿蒙在CMSIS-RTOS2接口中封装了LiteOS-m的内核代码
      • CMSIS-RTOS2 实现 : //kernel/liteos_m/kal/cmsis/cmsis_liteos2.c
      • 梅科尔工作室OpenHarmony设备开发培训笔记-第3章学习笔记-鸿蒙开发者社区
      • 通过调用CMSIS-RTOS API 2.0 接口,实现对内核功能调用
      • 注意梅科尔工作室OpenHarmony设备开发培训笔记-第3章学习笔记-鸿蒙开发者社区文件 gitee 路径与文件夹里面不一样
        • gitee:梅科尔工作室OpenHarmony设备开发培训笔记-第3章学习笔记-鸿蒙开发者社区
        • 文件夹里面:梅科尔工作室OpenHarmony设备开发培训笔记-第3章学习笔记-鸿蒙开发者社区
        • 该文件里面做了上面步骤图的配置工作,调用了很多 LOS 为首的函数梅科尔工作室OpenHarmony设备开发培训笔记-第3章学习笔记-鸿蒙开发者社区
  • 如何使用 CMSIS-RTOS2 接口
    1. 在业务代码中包含“ cmsis_os2.h ” // 所有接口都在这个.h 的文件里面
    2. 通过调用“cmsis_os2.h”中的API函数使用系统相关功能
    3. 更多API介绍请参考: https://arm-software.github.io/CMSIS_5/RTOS2/html/index.html
      1. 梅科尔工作室OpenHarmony设备开发培训笔记-第3章学习笔记-鸿蒙开发者社区

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
收藏
回复
举报
回复
    相关推荐