当前位置:网站首页>梅科尔工作室-小熊派开发笔记2
梅科尔工作室-小熊派开发笔记2
2022-07-23 18:35:00 【51CTO】
Harmony编译构建介绍
1. 简单来说编译流程是通过bearpi-hm_nano\build\lite\product\BearPi-HM_Nano.json定义编译.c文件变成.a文件最后输出为.bin文件
如果是复杂来说的话
如下图

具体视频链接:
https://www.bilibili.com/video/BV1Hi4y1c7dM?from=search&seid=11981477053638768133
2. 代码运行具体流程就是
https://blog.csdn.net/qq_42754570/article/details/112184043
CMSIS-RTOS2接口
CMSIS是Cortex微控制器软件接口标准(Cortex Microcontroller Software Interface Standard)是ARM和一些编译器厂家以及半导体厂家共同遵循的一套标准,是由ARM专门针对Cortex-M系列提出的标准。在该标准的约定下,ARM和芯片厂商会提供一些通用的API接口来访问Cortex内核以及一些专用外设,以减少更换芯片以及开发工具等移植工作所带来的金钱以及时间上的消耗。
CMSIS-RTOS2(CMSIS-RTOS API Version 2)是Arm Cortex-M 处理器的通用的RTOS接口。为需要RTOS功能的软件组件提供了标准化的API。
CMSIS-RTOS2是一个通用的API,它与底层的RTOS内核无关,写应用序的程序员在用户代码中调用CMSISRTOS2 API函数,可以更方便地将应用程序从一个RTOS到另一个RTOS,使用CMSIS-RTOS2 API的中间件也可以避免很多不必要的移植工作。
简单来说使用CMSIS-RTOS2可以不用管底层内核的不同,应用程序都可以运行
鸿蒙与CMSIS-RTOS2接口联系:

任务管理
任务状态通常分为四种:就绪、运行、阻塞、退出。
它们之间的关系:

创建任务:osThreadNew(osThreadFunc_t func,void * argument,const osThreadAttr_t * attr)
删除某个任务:osThreadTerminate(osThreadId_t thread_id);
任务挂起:osThreadSuspend(osThreadId_t thread_id)
任务恢复:osThreadResume (osThreadId_t thread_id)
软件定时器
软件定时器,是基于系统Tick时钟中断且由软件来模拟的定时器,当经过设定的Tick时钟计数值后 会触发用户定义的回调函数。定时精度与系统Tick时钟的周期有关。
软件定时器功能上支持:
静态裁剪:能通过宏关闭软件定时器功能。
软件定时器创建。
软件定时器启动。
软件定时器停止。
软件定时器删除。
软件定时器剩余Tick数获取
创建定时器:osTimerNew (osTimerFunc_t func, osTimerType_t type, void *argument, const osTimerAttr_t *attr);
启动定时器:osTimerStart (osTimerId_t timer_id, uint32_t ticks);
停止定时器:osTimerStop (osTimerId_t timer_id);
删除定时器:osTimerDelete (osTimerId_t timer_id);
边栏推荐
- Atcoder regular contest 144 [VP record]
- [unity project practice] entrustment
- socat 使用「建议收藏」
- Energy principle and variational method note 19: minimum complementary energy principle + possible work principle
- Energy principle and variational method note 17: generalized variational principle (identification factor method)
- 【Unity项目实践】委托
- MySQL data recovery - using the data directory
- [深入研究4G/5G/6G专题-40]: URLLC-11-《3GPP URLLC相关协议、规范、技术原理深度解读》-5-5G Qos原理与架构: 切片、PDU会话、QosFlow、5QI、DRB
- USB3.0: layout guide for vl817q7-c0
- 3D point cloud course (VI) -- 3D target detection
猜你喜欢

为啥一问 JVM 就 懵B ?

梅科尔工作室-华为14天鸿蒙设备开发实战笔记六

PowerCLi 添加esxi主机到vCenter

编译器LLVM-MLIR-Intrinics-llvm backend-instruction
![[英雄星球七月集训LeetCode解题日报] 第23日 字典树](/img/e3/74cb4ce8aa08e0ea90e26bb2d197c3.png)
[英雄星球七月集训LeetCode解题日报] 第23日 字典树

三维点云课程(七)——特征点描述

PowerCLi 管理VMware vCenter 一键批量部署OVA

MySQL master-slave replication

USB3.0: layout guide for vl817q7-c0

PostgreSQL sequence cache 参数导致的数值序列不连续 有间隔 gap
随机推荐
AtCoder B - Pizza
Boundschecker usage "recommended collection"
测试如何应对新的开发模式?
四旋翼飞行器1——结构和控制原理
Leetcode 238. 除自身以外数组的乘积
MySQL中 8 种常见的 SQL 错误用法
ACM mm 2022 oral | dig: the new framework of self-monitoring character recognition refreshes the recognition performance of 11 public scene character data sets, with an average improvement of 5%
Energy principle and variational method note 19: minimum complementary energy principle + possible work principle
Leetcode 209. 长度最小的子数组
家用 NAS 服务器(3)| SSD缓存加速机械硬盘
PowerCLi 管理VMware vCenter 批量部署导出导入
[英雄星球七月集训LeetCode解题日报] 第23日 字典树
千呼万唤,5G双卡双通到底有多重要?
Codeforces Round #809 (Div. 2)【VP记录】
Solutions to SecureCRT garbled code problem [easy to understand]
Huawei cloud stack [interview]
Energy principle and variational method note 14: summary + problem solving
R language uses the gather function of tidyr package to convert a wide table to a long table (wide table to long table), the first parameter specifies the name of the new data column generated from th
【luogu P6656】【LOJ 173】【模板】Runs(字符串)(Lyndon 串)
3D point cloud course (VI) -- 3D target detection