实时操作系统中的任务与线程详解
1. FreeRTOS与Mbed OS简介
在嵌入式系统开发中,FreeRTOS和Mbed OS是常用的实时操作系统(RTOS)。Mbed OS基于CMSIS - RTOS RTX,在Mbed Studio中使用时,所有内核组件都被定义为对象,在代码执行过程中按对象处理。其相关信息可从官网https://os.mbed.com/docs/mbed - os/获取。
在Mbed Studio中创建第一个Mbed OS项目,可使用可用模板,选择 “mbed - os - example - blinky” 项目。以下是该项目的 “main.cpp” 文件代码:
#include "mbed.h"
#define BLINKING_RATE 500ms
int main()
{
DigitalOut greenLED(LED1);
while (true)
{
greenLED = !greenLED;
ThisThread::sleep_for(BLINKING_RATE);
}
}
编译此代码时,Mbed Studio会将所有相关的操作系统组件包含到项目中。运行代码后,STM32F4板上的绿色LED将开始闪烁,这一操作由RTOS组件完成。
2. 任务与线程的概念
在RTOS中,任务是主要构建块。在FreeRTOS中使用 “任务” 概念,在Mbed OS中使用 “线程” 概念。在嵌入式系统中,二者在内存空间使用上的差异不明显。在解释通用概念时,一般使用
超级会员免费看
订阅专栏 解锁全文
2016

被折叠的 条评论
为什么被折叠?



