CMSIS-RTOS2 应用笔记 二 配置接口

来源:互联网 发布:定义结构体数组 编辑:程序博客网 时间:2024/05/21 12:48

使用CMSIS-RTOS2实现


CMSIS-RTOS2实现通常作为库提供。 要将RTOS功能添加到现有的基于CMSIS的应用程序,需要添加RTOS库(通常是一个或多个配置文件)。 有一个新的头文件cmsis_os2.h可用。 这是完全便携式应用程序所需的唯一头文件。 在这种情况下,用户提供的控制块存储器,对象数据和线程堆栈不能使用。 或者,您可以包括实现特定的头文件(例如rtx_os.h),它还为资源分配(例如控制块的大小,对象数据和线程堆栈所需的内存)提供定义。 这是可选的,意味着应用程序代码不是完全可移植的。




将文件添加到项目中后,用户可以开始使用CMSIS-RTOS功能。 以下提供代码示例:

Code Example

/*----------------------------------------------------------------------------
* CMSIS-RTOS 'main' function template
*---------------------------------------------------------------------------*/
#include "RTE_Components.h"
#include CMSIS_device_header
#include "cmsis_os2.h"
/*----------------------------------------------------------------------------
* Application main thread
*---------------------------------------------------------------------------*/
void app_main (void *argument) {
// ...
for (;;) {}
}
int main (void) {
// System Initialization
SystemCoreClockUpdate();
#ifdef RTE_Compiler_EventRecorder
// Initialize and start Event Recorder
EventRecorderInitialize(EventRecordError, 1U);
#endif
// ...
osKernelInitialize();// Initialize CMSIS-RTOS
osThreadNew(app_main, NULL, NULL); // Create application main thread
osKernelStart();// Start thread execution
for (;;) {}
}

0 0