Cortex-M3的存储器映射
2015-09-10 10:48
211 查看
Cortex-M3不同于其他ARM系列的处理器,它的存储器映射表已经在内核设计时固定好,不能由芯片厂商更改。
Cortex‐M3预先定义好了“粗线条的”存储器映射。通过把片上外设的寄存器映射到外设区,就可以简单地以访问内存的方式来访问这些外设的寄存器,从而控制外设的工作。结果,片上外设可以使用C语言来操作。这种预定义的映射关系,也使得对访问速度可以做高度的优化,而且对于片上系统的设计而言更易集成(还有一个重要的,不用每学一种不同的单片机就要熟悉一种新的存储器映射了哈哈)。
Cortex‐M3的内部拥有一个总线基础设施,专用于优化对这种存储器结构的使用。在此之上,CM3甚至还允许这些区域之间“越权使用”。比如说,数据存储器也可以被放到代码区,而且代码也能够在外部RAM区中执行(但是会变慢不少)。
处于最高地址的系统级存储区,是CM3用于藏“私房钱”的——包括中断控制器、MPU以及各种调试组件。所有这些设备均使用固定的地址。通过把基础设施的地址定死,就至少在内核水平上,为应用程序的移植扫清了障碍。
Cortex‐M3预先定义好了“粗线条的”存储器映射。通过把片上外设的寄存器映射到外设区,就可以简单地以访问内存的方式来访问这些外设的寄存器,从而控制外设的工作。结果,片上外设可以使用C语言来操作。这种预定义的映射关系,也使得对访问速度可以做高度的优化,而且对于片上系统的设计而言更易集成(还有一个重要的,不用每学一种不同的单片机就要熟悉一种新的存储器映射了哈哈)。
Cortex‐M3的内部拥有一个总线基础设施,专用于优化对这种存储器结构的使用。在此之上,CM3甚至还允许这些区域之间“越权使用”。比如说,数据存储器也可以被放到代码区,而且代码也能够在外部RAM区中执行(但是会变慢不少)。
处于最高地址的系统级存储区,是CM3用于藏“私房钱”的——包括中断控制器、MPU以及各种调试组件。所有这些设备均使用固定的地址。通过把基础设施的地址定死,就至少在内核水平上,为应用程序的移植扫清了障碍。
相关文章推荐
- 2015、9、10 已忘初心
- ABAP选择屏幕(SELECTION SCREEN)事件解析
- AsyncTask 比较好的解释
- 菜鸟眼中的数据库 SQLSERVER
- 运用IntentService类下载文件
- 在UltraEdit、Notepad++、EmEditor中使用正则表达式将字符串中的小写转换成大写
- mysql添加、修改字段
- 解决微信内置浏览器tel:手机号不能打电话的问题
- tomcat会话之持久化会话管理器
- php的字符串操作与正则表达式
- Linux驱动加载顺序
- CCF201503-2
- Zookeeper Api(java)入门与应用(转)
- HTML <!DOCTYPE> 标签
- mysql int(x) 显示宽度
- MySQL查询语句大全集锦
- tomcat会话之持久化会话管理器
- 每日一linux命令--查看linux系统版本命令
- FrameLayout
- 关联A850刷机包 高级电源 时间中心 优化 ROOT 动力 美化 简化