
Cotex-M3
joqian
这个作者很懒,什么都没留下…
展开
-
COTEX-M3 总体框架
详细的框图CM3 处理器其实是个大礼包,里面除了处理核心外,还有了好多其它组件,以用于系统管理和调试支持。 请注意:虚线框住的MPU 和ETM 是可选组件,不一定会包含在每一个CM3 的MCU 中。好多新东东,图中一时看不清了,表6.1 列出了新组件的清单。 表6.1 方框图中的缩写及其定义典型的连接方式图6.4 Cortex‐M3 总线连接范例翻译 2012-11-29 14:52:50 · 1189 阅读 · 0 评论 -
内建的嵌套向量中断控制器
Cortex‐M3 在内核水平上搭载了一颗中断控制器——嵌套向量中断控制器NVIC(Nested Vectored Interrupt Controller)。它与内核有很深的“私交”——与内核是紧耦合的。NVIC 提供如下的功能:翻译 2012-11-29 15:03:44 · 894 阅读 · 0 评论 -
Cortex-M3 时钟
Cortex-M3 时钟处理器含 3 个功能时钟输入。如表6-1所示。FCLK和HCLK互相同步。FCLK是一个自由振荡的HCLK。要了解更多信息,请查看第七章“电源管理”。FCLK和HCLK应该互相平衡,保证进入Cortex-M3时的延迟相同。处理器集成了供调试和跟踪使用的元件。宏单元可以包含表6-2所示的一些或全部时钟。SWCLK是串行线时钟,用来对串行调试端口翻译 2012-11-29 13:47:49 · 2477 阅读 · 0 评论 -
cote-m3 指令集
指令集Cortex‐M3 只使用Thumb‐2 指令集。这是个了不起的突破,因为它允许32 位指令和16 位指令水乳交融,代码密度与处理性能两手抓,两手都硬。而且虽然它很强大,却依然易于使用。在过去,做ARM 开发必须处理好两个状态。这两个状态是井水不犯河水的,它们是:32 位的ARM 状态和16 位的Thumb 状态。当处理器在ARM 状态下时,所有的指令均是32 位的(哪怕只是个”NO翻译 2012-11-29 13:52:07 · 1153 阅读 · 0 评论 -
Cotex-M3之复位
复位序列在离开复位状态后,CM3 做的第一件事就是读取下列两个32 位整数的值: 从地址 0x0000,0000 处取出MSP 的初始值。 从地址 0x0000,0004 处取出PC 的初始值——这个值是复位向量,LSB 必须是1。然后从这个值所对应的地址处取指。图3.17 复位序列请注意,这与传统的ARM 架构不同——其实也和绝大多数的其它单片机不同。传统的ARM翻译 2012-11-29 14:42:49 · 3060 阅读 · 0 评论 -
COTEX-M3中断和异常
中断和异常ARMv7‐M 开创了一个全新的异常模型,CM3 采用了它。请你一定要划清界线:这种异常模型跟传统ARM 处理器使用的完全是两码事。新的异常模型“使能”了非常高效的异常处理。它支持16‐4‐1=11 种系统异常(保留了4+1 个档位),外加240 个外部中断输入。在CM3 中取消了FIQ 的概念(v7 前的ARM 都有这个FIQ,快中断请求),这是因为有了更新更好的机制——中断优先级翻译 2012-11-29 14:58:33 · 1234 阅读 · 0 评论 -
单片机中printf函数的重映射
单片机中printf函数的重映射一、源自于:大侠有话说1.如果你在学习单片机之前学过C语言,那么一定知道printf这个函数.它最最好用的功能除了打印你想要的字符到屏幕上外,还能把数字进行格式化.例如十进制的33,用十进制方式输出就是33,用十六进制的形式就输出成21,如果用字符形式输出,那就是ASCII码表对应的’!’.2. 51年代,一些人软件仿真的时候也很喜欢使用pr原创 2012-12-17 15:20:19 · 8802 阅读 · 0 评论