0
点赞
收藏
分享

微信扫一扫

梅科尔工作室-小熊派开发笔记2

Harmony编译构建介绍

1.      简单来说编译流程是通过bearpi-hm_nano\build\lite\product\BearPi-HM_Nano.json定义编译.c文件变成.a文件最后输出为.bin文件

如果是复杂来说的话

如下图

梅科尔工作室-小熊派开发笔记2_应用程序

具体视频链接:

​​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接口联系:

梅科尔工作室-小熊派开发笔记2_回调函数_02

任务管理

任务状态通常分为四种:就绪、运行、阻塞、退出。

它们之间的关系:

梅科尔工作室-小熊派开发笔记2_应用程序_03

创建任务: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);

举报

相关推荐

0 条评论