STM32学习第八天---看了点ARM Cortex-M3的概览

来源:互联网 发布:软件技术支持岗位职责 编辑:程序博客网 时间:2024/06/06 06:37

------------真是尴尬,本来学stm32是为了备战蓝桥杯的,而且也把某几个库函数看了个大概,但是老师坚决不同意我直接看库函数,就给了一本2009年出版的《ARM Cortex-M3 权威指南》,对于我这个完完全全的零起步而言,也不知道怎么做是最好,我还是听从老师的先把这本书快速看完吧。

看书的简单总结:


Cortex-M3所有的中断机制都有NVIC来实现,另外Cortex-M3还有个牛X的“不可屏蔽中断NMI”

NVIC(嵌套向量中断控制器)、其功能包括:

1.可嵌套中断支持: 就是说啊如果有更高优先级的中断服务程序到来,立即抢占(好霸道)

2.向量中断支持:里面定位了一张中断向量表,这样大大缩短了中断延迟

3.动态优先级调整:运行的期间把优先级给改了,并且还没有重入的危险

4.中断可屏蔽:可屏蔽优先级低于某个阈值的 中断/异常


内部总线有:

1.指令存储区总线(两条)

2.系统总线

3.私有外设总线


MPU (存储器保护单元)

它可以使嵌入式系统更加健壮、更加可靠


更换了Thumb2指令集

采用Thumb2代码密度更高,程序容量就可减少

以前总是在ARM指令集状态下处理所有的中断和异常

现在中断都会在Thumb态下处理、好处是:

1.消灭了状态切换的的额外开销,节省了执行时间和指令空间

2.不再需要把源代码文件分成ARM编译和Thumb编译,软件开发的管理大大减负

3.无需反复的求证和测试:究竟该在何时何地切换到何种状态下程序才最有效、开发软件变得容易


另外Cortex-M3在节能模式上提供了睡眠模式和深度睡眠模式

0 0