历史上的今天
今天是:2024年12月08日(星期日)
2020年12月08日 | Cortex M3存储器映射
2020-12-08 来源:elecfans
CM3 只有一个单一固定的存储器映射。这一点极大地方便了软件在各种 CM3 单片机间的移植。
存储空间的一些位置用于调试组件等私有外设,这个地址段被称为“私有外设区”。私有外设区的组件包括:闪存地址重载及断点单元(FPB),数据观察点单元(DWT),仪器化跟踪宏单元(ITM),嵌入式跟踪宏单元(ETM),跟踪端口接口单元(TPIU), ROM 表。
CM3的地址空间是 4GB, 程序可以在代码区,内部 SRAM 区以及外部 RAM 区中执行。但是因为指令总线与数据总线是分开的,最理想的是把程序放到代码区,从而使取指和数据访问各自使用自己的总线,并行不悖。

1、代码区
存放指令和数据,取指通过指令码(ICode)总线,数据访问借助数据码(DCode)总线。
2、片上SRAM
内部SRAM 区的大小是 512MB,用于让芯片制造商连接片上的 SRAM,这个区通过系统总线来访问。在这个区的下部,有一个 1MB 的区间,被称为“位带区”。该位带区还有一个对应的、 32MB 的“位带别名(alias)区”,容纳了 8M 个“位变量”(对比 8051 的只有 128 个位变量)。位带区对应的是最低的 1MB 地址范围,而位带别名区里面的每个字对应位带区的一个比特。位带操作只适用于数据访问,不适用于取指。通过位带的功能,可以把多个布尔型数据打包在单一的字中,却依然可以从位带别名区中,像访问普通内存一样地使用它们。位带别名区中的访问操作是原子的。
3、片上外设
512M由片上外设(的寄存器)使用。这个区中也有一条 32MB 的位带别名,以便于快捷地访问外设寄存器,用法与内部 SRAM 区中的位带相同。
4、2个1G空间
分别用于连接外部 RAM 和外部设备,它们之中没有位带。两者的区别在于外部 RAM 区允许执行指令,而外部设备区则不允许。
5、最后0.5G
包括了系统级组件,内部私有外设总线 s,外部私有外设总线 s,以及由提供者定义的系统外设。
私有外设总线有两条:
AHB 私有外设总线,只用于CM3内部的AHB外设,它们是:NVIC, FPB, DWT和ITM。
APB 私有外设总线,既用于CM3内部的APB设备,也用于外部设备(这里的“外部”是对内核而言)。CM3允许器件制造商再添加一些片上APB外设到APB私有总线上,它们通过APB接口来访问。
上一篇:STM32——流水灯
下一篇:Cortex M3内核架构
史海拾趣
|
诚聘电子设计师一名。 要求:①.大专以上学历,电子类相关专业; ②.三年以上电子电路设计经验; ③.熟悉单片机开发、汇编语言,熟练使用protel、cad等相关设计软件,精通模拟和数字电路,了解常用电子元器件的性能及特性; ④.能独立开发设计电路 ...… 查看全部问答> |
|
verilog中 比如always @(posedge clk)//CLK频率为125MHZ. 8ns周期 begin ...... end 实际begin end中的语句执行一次 要多少时间啊… 查看全部问答> |
|
最近玩launchpad,写了个简单的小程序通过msp430g2553内部测量温度,然后通过串口通信上传给电脑,但是没有加上校正,只能简单的使用… 查看全部问答> |
|
大家好: 第二期学生的全免费培训已经正式开始,这一期的培训视频也是全部免费的除了周末外视频可能会不定时更新,敬请大家以后多关注。 以下是这一期的培训视频: 免费视频地址为: http://pan.baidu.com/share/link?shareid=484506&uk=1846172 ...… 查看全部问答> |




