一 RTOS系统介绍
FreeRTOS基础
RTOS是指一类系统,如 FreeRTOS,uC/OS,RTX,RT-Thread 等,都是 RTOS 类操作系统。FreeRTOS 是一个免费的嵌入式实时操作系统,其开源、轻量级、可移植的特点使其成为许多嵌入式开发者的首选。在近几年的使用排名上位居前列。
1 基础概念
2 思考问题
问题1 若中断发生后的高优先级函数,进入死循环了,会发生什么事情,如何避免这种情况?
RTOS中,通常采用优先级调度算法,优先级高的任务往往会抢占优先级低的任务。若高优先级任务陷入死循环,它将一直占用CPU资源,阻止其他任何任务(包括较低优先级的任务)获得执行的机会。
如何避免:
看门狗定时器: 使用看门狗定时器来监控任务的执行时间,果一个任务运行的时间超过了预设的阈值,看门狗定时器可以重置系统或恢复任务到初始状态。
异常处理: 在RTOS中实现异常处理机制,当检测到异常行为时可以采取相应的补救措施。
搞清楚volatile关键字的作用
C语言全局变量编译阶段是如何初始化
二 处理器架构
AMP架构 (Asymmetric Multi-processing) | SMP架构(Symmetric Multi-processing) | |
---|---|---|
处理器对等性 | 非对称处理器架构 | 对称处理器架构 |
通常CPU之间不共享物理资源 | 所有CPU共享物理资源(内存,IO总线) | |
内存一致性 | 每个处理器有自己的内存空间,需要关注内存一致性,处理器之间的 | 所有CPU共享内存空间,任何一个CPU对内存修改,其它CPU都会看到 |