嵌入式开发——RTOS

总述

对于较为复杂的应用开发,还是使用RTOS比较好。RTOS一般都集成了线程管理、线程同步、共享资源保护等功能模块。使用RTOS能够方便的管理多个功能模块,并且发挥CPU的最大资源使用(无时无刻的进行着任务的切换与运行)。

RTOS对比

名称简述
RT-Thread国产开源RTOS,生态组件很多(GUI、IDE等),文档丰富,对于国内开发者比较友好,支持POSIX接口 官网
FreeRTOS比较经典开源的RTOS,使用很广泛,组件较少
UCOS早期的商用付费RTOS

RTOS基础讲解

RTOS绝大部分的代码实现主要围绕在任务的切换以及最高等级任务的查找,任务的切换主要实对任务上下文(一些不能自动保存的寄存器)的保存与恢复,保存的位置就是创建任务时的堆栈。而任务切换的时间就是由内核的心跳——定时器确定的,每次心跳来临时,内核就会查找有没有高优先级任务就绪(一般任务是由一个链表串起来的),如果有则进行切换。对于同等级的任务,会进行同等时间片运行切换,也就是说A运行一段时间B运行一段时间(一般同等级的任务位于同一个表)。

使用RTOS注意防止死锁,对于多个任务使用同一个锁时要即时释放锁

优先级反转是高优先级任务等待资源时产生的

任务创建时要考虑内存资源的分配,任务里一定要有释放运行权操作

互斥锁用于资源共享,一般具有优先级继承功能

信号线用于任务间资源同步

总结

RTOS具体使用要考虑实际开发是否需要,毕竟RTOS对资源具有一定的占用,简单的程序开发使用状态机足矣。没有最好的,只有最合适的,不然Linux早就全部占领嵌入式开发了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值