CortexM3存储器系统


宗旨:技术的学习是有限的,分享的精神是无限的。


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接口来访问。

Cortex M3存储器映射相关推荐

  1. Cortex‐M3-存储器映射

    总体来说,支持 4GB 存储空间: Cortex‐M3 存储器映射由半导体厂家说了算,Cortex‐M3 预先定义好了"粗线条的"存储器映射.通过把片上外设的寄存器映射到外设区,就 ...

  2. Cortex M3 NVIC与中断控制

    Cortex M3 NVIC与中断控制 宗旨:技术的学习是有限的,分享的精神是无限的. 一.NVIC概览 --嵌套中断向量表控制器 NVIC 的寄存器以存储器映射的方式来访问,除了包含控制寄存器和中断 ...

  3. Cortex M3 Bit-banding简介

    http://blog.csdn.net/shevsten/article/details/7676397 Cortex M3 Bit-banding简介 分类: ARM MCU2012-06-19 ...

  4. Cortex、ARMv8、arm架构、ARM指令集、soc?Cortex A8、A9都是ARMv7a 架构;Cortex M3、M4是ARMv7m架构;前者是处理器(内核)后者是指令集的架构(架构)

    架构组成元素的指令集状态或者语法thumb指令集与arm指令集的区别例如thumb指令集是什么_thumb指令集与arm指令集的区别以及thumb-2的关系在下一文中介绍,本文暂时不讨论 有粉丝问我到 ...

  5. ARM 架构、ARM7、ARM9、STM32、Cortex M3 M4 、51、AVR 有啥区别

    ARM架构.ARM7.ARM9.STM32.Cortex M3 M4.51.AVR之间有什么区别和联系? ARM架构:由英国ARM公司设计的一系列32位的RISC微处理器架构总称,现有ARMv1~AR ...

  6. ARM 架构、ARM7、ARM9、STM32、Cortex M3 M4 、51、AVR 之间有什么区别和联系?

    本文转自嵌入式资讯精选公众号,特别鸣谢, 编者按:初学习ARM单片机的同学们可能会对ARM的架构定义并不是很明确,形形色色的名词背后到底代表什么含义呢?请听听这位嵌入式工程师的经验总结. ARM架构: ...

  7. ARM 架构 ARM7 ARM9 STM32 Cortex M3 M4 51 AVR 有啥区别

    ARM架构.ARM7.ARM9.STM32.Cortex M3 M4.51.AVR之间有什么区别和联系? ARM架构:由英国ARM公司设计的一系列32位的RISC微处理器架构总称,现有ARMv1~AR ...

  8. Cortex M3内核架构

    CortexM3内核架构 宗旨:技术的学习是有限的,分享的精神是无限的. 1.ARMCortex-M3处理器 Cortex-M3处理器内核是单片机的中央处理单元( CPU). 完整的基于CM3的MCU ...

  9. 【STM32存储器映射-寄存器基地址-偏移】

    前言 在学习STM32的时候,我们看到很多的寄存器编程, 比方说LED灯: //GPIOB.5端口输出高电平GPIOB->ODR|=1<<5; //PB.5 输出高GPIOE-> ...

最新文章

  1. 【转】Mac 程序员的十种武器
  2. 两个什么漏洞,可让十亿安卓手机被获取Root权限?
  3. TCP滑动窗口(Sliding Window)原理
  4. 160921、React入门教程第一课--从零开始构建项目
  5. IDEA 2019.2版本下载安装与PJ教程
  6. 盒模型的属性丶display显示丶浮动
  7. JWT ( JSON Web Token ) 入门教程
  8. Java Integer类highestOneBit()方法与示例
  9. linux c变量命名规则,C语言中变量名及函数名的命名规则与驼峰命名法
  10. 搭建MVC及WebAPI项目框架时碰到的问题集合
  11. 在线代码片段管理工具gistbox + github
  12. EntityFramewrok 使用
  13. HTML5写的简单小游戏-绵羊快跑
  14. linux服务器学习笔记:linux如何远程登录?
  15. 尚硅谷大数据之Linux
  16. 07 ,矩阵的转置,矩阵的行列式,方阵 ( 2阶行列式,3阶行列式,n 阶行列式 ) :
  17. 互联网周刊_11年第15期(115网盘下载)
  18. SpringMVC 学谈 (第四章)
  19. 《那些年啊,那些事——一个程序员的奋斗史》——25
  20. 使用长角牛演示:防止ARP协议被攻击原理和配置

热门文章

  1. Windows 7操作系统使用移动硬盘快速安装
  2. Android 弹出有确认按键的对话
  3. quantaxis中使用docker安装,出现的问题
  4. kafka 异常:ERROR Failed to clean up log for __consumer_offsets-30 in dir /tmp/kafka-logs due to IOExce
  5. 生物信息学概论_大学专业详解系列83——生物信息学(理学学士)
  6. 解决 :sudo:/etc/sudoers 可被任何人写
  7. Pandas常用操作总结
  8. 玩Linux碰到的问题以及使用技巧总结
  9. css标签resolution,html/css to fit all screen resolution
  10. 计算机在输电线路设计中的应用研究,计算机在输电线路基础设计中的应用原稿(备份存档)...