Cortex-M3 的存储系统架构与传统的 ARM 处理器有很大的区别。 Cortex-M3 处理器采用哈佛( Harvard)结构,拥有独立的指令总线( I-Code)与数据总线( D-Code)。具有以下新特性:
1. 存储器映射是预定义的,它规定了存储器访问所使用的总线。访问不同的存储设备时,处理器可对访问速度进行优化。
2. Cortex-M3 的存储系统支持位带操作,可对存储器和外设的位数据进行原子操作(位带操作仅限于存储器的部分特殊区域)。
3. Cortex-M3 的存储器系统支持非对齐的数据传输和互斥访问,并同时支持小端格式与大端格式两种配置。这些新特性都是 ARMv7-M 架构微处理器所特有的。

存储器映射
Cortex-M3 处理器采用单一固定的存储器映射, NVIC 和 MPU 都在相同的位置布设寄存器,使得它们与具体器件无关,从而方便软件代码在各种不同型号的 Cortex-M3 微处理器间移植。
Cortex-M3 支持 4GB 的地址空间,程序可以在代码区、内部 SRAM 和外部 RAM 中运行。由于指令总线与数据总线是分开的,最理想的是将程序放到代码区,取指和数据访问使用各自的总线,并行不悖的执行。 Cortex-M3 存储器映射如图下图所示。

存储器映射寻址与处理器接口见下表

存储器映射 接口
代码区 指令取指在 ICode 总线上执行,数据访问在 DCode 总线上执行
SRAM 区 指令取指和数据访问都在系统总线上执行
SRAM 位操作区 位别名区域,数据访问是别名,指令访问不是别名
外设区 指令取指和数据访问都在系统总线上执行
片外 RAM 区 指令取指和数据访问都在系统总线上执行
片外外设区 指令取指和数据访问都在系统总线上执行
私有外设总线 AHB 私有外设总线:只用于 Cortex-M3 内部的 APB 设备,包括: NVIC、 FPB、DWT 和 ITM; APB 私有外设总线:既用于 Cortex-M3 内部的 APB 设备,也用于外部设备(指相对于内核而言。Cortex-M3 允许器件制造商再添加一些片上 APB 外设到 APB 私有总线上,它们通过 APB 接口来访问
芯片厂商定义区 厂商系统外设的系统部分

Cortex-M3的存储器系统相关推荐

  1. Cortex M3存储器映射

    CortexM3存储器系统 宗旨:技术的学习是有限的,分享的精神是无限的. CM3 只有一个单一固定的存储器映射.这一点极大地方便了软件在各种 CM3 单片机间的移植. 存储空间的一些位置用于调试组件 ...

  2. Cortex M3 NVIC与中断控制

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

  3. Cortex M3内核架构

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

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

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

  5. Cortex‐M3的Faults异常究竟是什么?

    关注+星标公众号,不错过精彩内容 作者 | strongerHuang 微信公众号 | strongerHuang 有许多朋友在学习,或者开发STM32时都遇到过HardFault_Handler的情 ...

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

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

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

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

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

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

  9. Cortex M3 Bit-banding简介

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

  10. cortex m3的操作模式和状态

    1.操作状态(operation state): debug state:处理器在调试器发起halt或匹配到断点时,会进入debug state并停止执行指令. thumb state:处理器正在运行 ...

最新文章

  1. apache 定义日志格式 及日志记录
  2. 【模型解读】从LeNet到VGG,看卷积+池化串联的网络结构
  3. 浅析IBM i上C/C++应用程序编译调试方法
  4. NYOJ 229 工程 二分+dp检验
  5. [Qt教程] 第19篇 2D绘图(九)图形视图框架(上)
  6. if match header test - 428 Precondition required
  7. 电脑没有声音一键修复_电脑上有没有好用点的办公提醒小软件?有带声音提醒的桌面便签软件吗...
  8. Spring AspectJ Execution 表达式
  9. hdu 3635 Dragon Balls(加权并查集)2010 ACM-ICPC Multi-University Training Contest(19)
  10. C++中的模板那点事
  11. Kafka分区分配策略(Partition Assignment Strategy
  12. Python模块的下载与导入
  13. jenkins恢复删除的文件
  14. react-app-rewired 修改 react 项目默认端口号
  15. p4:MATLAB安装出现license checkout failed, license Manager Error-8 如何解决?
  16. 哪些专业不建议跨考计算机
  17. AD19中错误总结(持续进行中。。。。。。)
  18. 什么是防火墙?防火墙基础知识讲解
  19. HTML代码实现符号及商标
  20. 软件项目管理:教你如何做好团队管理

热门文章

  1. idea jdbc封装_IDEA 中 MyBatis还可以这么玩!!!
  2. 异常检测2——PCA异常检测
  3. ipv6网络使用scp,并解决No route to host与no matches found报错
  4. Ubuntu衍生(elementary os)虚拟机安装后的基础配置
  5. 分页缓冲池占用很高怎么解决_一次线上服务高 CPU 占用优化实践
  6. c++ 线程软件看门狗_装配生产线MES系统软件
  7. Java抓取Codeforces——针对某一次提交的源码和数据
  8. C# ToString()和Convert.ToString()的区别【转】
  9. java List 数组删除元素
  10. 【线段树】HDU 3397 Sequence operation 区间合并