STM32学习第八天---看了点ARM Cortex-M3的概览
2015-12-08 23:15
169 查看
------------真是尴尬,本来学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在节能模式上提供了睡眠模式和深度睡眠模式
看书的简单总结:
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在节能模式上提供了睡眠模式和深度睡眠模式
相关文章推荐
- #新闻拍一拍# IBM 招聘广告要求应聘者具备至少 12 年 K8S 使用经验
- vivi下重新调整分区
- ARM Linux系统启动
- Linux及ARM Linux程序开发笔记(零基础入门篇)
- 零基础入门篇之Linux及Arm-Linux程序开发笔记
- STM32 IO口双向问题
- 我的 ARM+Linux 学习路线
- 关于ARM启动的一篇文章
- ARM 的堆栈初始化详解
- ARM条件码与CPSR标志位的关系
- 加载/存储指令
- 关于ARM 汇编的一些疑问
- ARM汇编伪指令介绍
- linux的防火墙及arm与虚拟机共享
- 编译单个驱动的Makefile文件。
- ARM Linux系统调用的原理
- Android LKM Rootkit,查找sys_call_table
- LKM Tricks to Android Devices,查找sys_call_table
- Arm Linux系统调用流程详细解析
- ARM下的injectso