STM32开发(FreeRTOS实时操作系统)

FreeRTOS在STM32中的应用

1、FreeRTOS实时操作系统是什么

FreeRTOS实时操作系统,是一种轻量级的实时操作系统,为了实现快速响应、快速处理
FreeRTOS实时操作系统,是RTOS实时操作系统下的一个版本/子集
FreeRTOS实时操作系统 = 裸机开发 + 多线程(多任务)并发处理
 
RTOS实时操作系统具备很多版本/子集:FreeRTOS、RT-Thread、Thread-X ······
 
基于操作系统开发的是系统开发,不基于操作系统开发的是裸机开发

2、裸机开发和系统开发的区别

裸机开发:不使用操作系统开发,所有的驱动代码都按照main函数中的执行顺序执行
系统开发:使用操作系统开发,所有的驱动代码支持多进程/多线程的并发处理机制,实现快速响应、快速处理
 
多进程和多线程的区别:
    1. 资源量(进程是资源分配的最小单位、线程是任务调度的最小单位)
    2. 安全性(进程间用户空间相互独立[IPC通讯机制]、同一进程下的线程间共享同一用户资源[同步互斥])
    3. 高效性(进程间切换涉及到进程的上下文切换、线程间可以直接切换,固然线程的并发效率更高)

3、FreeRTOS实时操作系统的特点

1)多任务并发处理(实时性)

具有严格的任务调度机制,确保任务按照优先级和时间约束、以预定的先后顺序执行

(1)抢占式调度机制(任务管理)

抢占式任务调度机制:
    给每个任务/线程分配对应的优先级等级,
    优先级等级高的任务/线程先执行、优先级等级低的任务/线程后执行
 
FreeRTOS实时操作系统默认使用抢占式调度机制:
    优先级不同时:系统内核会优先执行线程等待列表中优先等级最高的线程,
    优先级相同时:系统内核会按照队列思想逐个执行
 
注意:
    1.只有当线程变为阻塞态时,才会被抢夺内核资源
    2.任务的优先级等级就是一个数字,数字越大,优先级等级越高
      中断的优先级等级就是一个数字,数字越小,优先级等级越高
 
linux操作系统的任务调度机制:默认使用时间片轮询机制,也可以使用抢占式任务调度机制
FreeRTOS实时操作系统的任务调度机制:默认使用抢占式任务调度机制,也可以使用时间片轮询机制

(2)通讯机制(同步互斥)

多种通讯机制,实现同步互斥,使任务在相同优先级下,也可以按照规定有序执行
 
1. 互斥锁
2. 消息队列
3. 信号量
4. 事件组

2)内存管理

可以动态分配内存空间,静态分配内存空间

3)时间管理

有软件定时器,严格管理任务时间

4)记录功能

有内核,文件信息,设备信息,内核链表/内核数组

4、FreeRTOS实时操作系统的任务调度机制

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值