当前位置:网站首页>梅科尔工作室-小熊派开发笔记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);
边栏推荐
- (干货)结合Scikit-learn介绍几种常用的特征选择方法
- Principe de l'énergie et méthode variationnelle note 19: principe de l'énergie résiduelle minimale + principe du travail possible
- Basic process of process scheduling
- Paddle implementation, multidimensional time series data enhancement, mixup (using beta distribution to make continuous random numbers)
- MySQL master-slave replication
- Configure MySQL master-slave replication with mysqldump or mydumper
- Talk about the parental delegation mechanism in detail (often asked in interviews) [easy to understand]
- C language leak detection and filling (1)
- Leetcode 228. 汇总区间(可以,已解决)
- R language data The table package performs data grouping aggregation statistical transformations and calculates the grouping minimum value (min) of dataframe data
猜你喜欢

Publish the local image to Alibaba cloud warehouse

Powercli moves virtual machines from host01 host to host02 host

Energy principle and variational method note 12: minimum potential energy principle

PowerCLi 导入 LicenseKey 到esxi

MySQL data recovery - using the data directory

White paper on adaptive robot interaction

Cannot read properties of null (reading ‘pickAlgorithm‘)

AtCoder——Subtree K-th Max

梅科尔工作室-华为14天鸿蒙设备开发实战笔记六
![Educational codeforces round 132 (rated for Div. 2) [competition record]](/img/7d/ef0df3e0d772b17264beb9c189a3c2.png)
Educational codeforces round 132 (rated for Div. 2) [competition record]
随机推荐
Latex(katex)csdn 希腊字母表示,数学符号,集合符号,特殊标记
三维点云课程(七)——特征点描述
R语言作图:坐标轴设置
Three implementation schemes of MySQL read-write separation
能量原理与变分法笔记14:总结+问题的求解
Powercli moves virtual machines from host01 host to host02 host
梅科尔工作室-华为14天鸿蒙设备开发实战笔记五
PC performance monitoring tool is an indispensable helper for software testers
Typescript新数据类型Symbol的使用
White paper on adaptive robot interaction
R language ggplot2 visualization: use ggplot2 to visualize the scatter diagram, and use the theme of ggpubr package_ The classic2 function sets the visual image to classic theme with axis lines
Boundschecker usage "recommended collection"
2022山东老博会,山东养老展,中国国际养老服务业展9月举办
Type-C Bluetooth speaker single C-Port rechargeable OTG solution
【无标题】
Basic process of process scheduling
Mysql主从复制
Configure MySQL master-slave replication with mysqldump or mydumper
.Net CLR R2R编译的原理简析
Energy principle and variational method note 16: solution of virtual displacement principle