程序小白
认证:优质创作者
作者动态
小小调度器——原来C代码还能这么写,原作者没少挨打吧!
2天前
解析由系统库引发的hardfault血案(RT-Thread+ESP32)
2023-07-17 16:04
TINA瞬时现象仿真分析——运放缓冲器振铃
2023-02-28 11:38
你对接地到底了解多少?——那些年接错的地
2023-02-16 15:53
重新认识电子元器件——二极管原理
2022-09-29 14:28

Cortex-M系列内核构架知识点(深入RTOS掌握)


      很多单片机老手也许会觉得内核的知识点毫无用处,但如果你想深入理解RTOS内核工作原理,我还是建议你翻一翻一本叫cortex-M3权威指南的书。相信很多人都下载过电子版。虽然电子书只有300多页,但很多人都没有看完。本文将总结几个RTOS相关的重要知识点,欢迎指正。


先介绍一下CPU寄存器。

R13(堆栈指针寄存器):一个名为R13的寄存器,实际对应于两个物理寄存器,他们是通过XX寄存器(RTT据说是LR寄存器)的指示状态进行切换的。


Cortex-M引入的操作模式和特权级别:

第一个概念操作模式,简直不要太好理解,其实就是中断模式和非中断模式,官方给出的概念是处理者模式和线程模式(这个真的不用说讲太多,自己撸过单片机的都懂)。

第二个概念特权级别,这个就不是特别好理解了,因为基本上不会出现在用户视野, 这可以提供一种存储器访问的 保护机制,使得普通的用户程序代码不能意外地,甚至是恶意地执行涉及到要害的操作。处理器支 持两种特权级,这也是一个基本的安全模型 (这个概念暂时理解就好)。

你的代码的执行环境不会逃出以下这三种:

关于这三种执行环境之间是如何切换的=====》》》》》:

总结:特权级通过修改control寄存器可以回到用户级,但是用户级不能操作control寄存器,这是用户级和特权级的本质区别,至于中断与非中断的操作模式,没什么好总结的。


嵌套向量中断控制器原图框图:

NVIC提供多种中断向量,而RTOS主要应用其中的SVC、PednSV、SysTick中断实现其操作系统的线程调度器功能,大体了解就OK,因为不需要从头重新整个RTOS的逻辑,了解会用就可以了。

有时间还是建议大家去读一下cortex-M3权威指南。

声明:本内容为作者独立观点,不代表电子星球立场。未经允许不得转载。授权事宜与稿件投诉,请联系:editor@netbroad.com
觉得内容不错的朋友,别忘了一键三连哦!
赞 2
收藏 2
关注 114
成为作者 赚取收益
全部留言
0/200
成为第一个和作者交流的人吧