Cortex-M4 存储器系统

Cortex-M处理器的总线接口为通用总线接口。微控制器存储器系统中的存储器一般为两种或更多:程序代码用的Flash存储器,数据用的静态RAM(SRAM),有时还会有电可擦除只读存储器(EEPROM)。软件开发人员主要了解程序存储器和SRAM的地址及大小。

存储器映射:Coretex-M处理器的4GB地址空间被分为了多个存储器区域,主要用于:程序代码访问(CODE区),数据访问(SRAM区),外设区域,处理器的内部控制和调试部件,存储器映射如下:

图1 某型号STM32的存储器映射

栈存储

栈可用于:

1.当正在执行的函数需要寄存器进行数据处理时,临时存储数据的初始值。这些数据在函数结束时可以被恢复出来,以免调用函数的程序丢失数据

2.往函数或子程序中的信息传递

3.用于存储局部变量

4.在中断等异常产生时保存处理器状态和寄存器数值

图2 栈

以下同时描述了堆栈指针R13(SP)的主堆栈指针(MSP) 和 进程堆栈指针(PSP)的使用模型。

图2-1 堆栈指针R13(SP)进出中断

图2-2 堆栈指针R13(SP)进出中断

Cortex-M4 存储器系统相关推荐

  1. mft按钮设计_奥林巴斯M4/3系统新品激情再燃 以轻量化设计铸就微单极致体验

    继传统相机品牌尼康与佳能先后推出了全画幅无反相机后,在M4/3系统领域深耕多年的松下也终于坚持不住,开始进军全画幅无反相机市场,从此全画幅无反相机不再是索尼一家独大,迎来了百花齐发的市场现状,曾经的M ...

  2. 计算机硬件存储器,个人计算机的存储器系统 说说内核与计算机硬件结构(5)

    之所以依然叫做ROM,归纳一下,大概有几个原因: ①不能像RAM那样快速的写: ②可能需要特殊的擦写电压: ③可能需要特殊的擦写时序: ④可能需要在写之前进行擦除操作: ⑤擦写次数有限,不像RAM那样 ...

  3. Cortex M3存储器映射

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

  4. ****** 三十三 ******、软设笔记【存储器系统】-主存储器、辅存储器

    存储器系统 主存储器 存储器是计算机系统中的记忆设备,用来存放程序和数据. 计算机中全部的信息,包括输入的原始数据.计算机程序.中间运行结果和最终运行结果都保存在存储器中. 存储器分为: *寄存器 * ...

  5. Cortex-M3存储器系统

     一.存储器系统的功能概览 1.Cortex-CM3存储器系统功能 1).存储器映射是预定义的,并且还规定好了那个位置使用那条总线. 2).Cortex-CM3的存储器系统支持"位带&q ...

  6. Cortex-M3的存储器系统

    Cortex-M3 的存储系统架构与传统的 ARM 处理器有很大的区别. Cortex-M3 处理器采用哈佛( Harvard)结构,拥有独立的指令总线( I-Code)与数据总线( D-Code). ...

  7. ARM Cortex-M0(6)--- 存储器系统

    ARM Cortex-M0 存储器系统 1. Cortex-M0 的两种总线协议:  1)AHB_Lite 系统总线协议:32位地址线,高速高性能访问(Flash, SRAM,总线桥,外部存储器接口) ...

  8. 《Cortex-M0权威指南》之体系结构---存储器系统

    <Cortex-M0权威指南>之体系结构---存储器系统 转载请注明来源:cuixiaolei的技术博客 Cortex-M0处理器为32位处理器,所以具有最大4G的寻址空间.在体系结构上, ...

  9. CM3学习笔记(一)存储器系统

    目录 前言 存储器映射 存储器的缺省访问 位带操作 非对齐数据传输 前言 CM3有着非常复杂的存储器系统.对于原来只接触过51单片机的初学者来说,这种指令系统真的是令人头疼. CM3的存储器系统可以说 ...

  10. 【沧海拾昧】微机原理:存储器系统

    #C0302 沧海茫茫千钟粟,且拾吾昧一微尘 --<沧海拾昧集>@CuPhoenix [阅前敬告] 沧海拾昧集仅做个人学习笔记之用,所述内容不专业不严谨不成体系 如有问题定为本集记录有谬, ...

最新文章

  1. android 日期弹出框,Android 日期选择框 简洁常用
  2. SpringBoot(七)整合themeleaf+bootstrap
  3. Java性能监控:您应该了解的5个开源工具
  4. ftp同一主机的多个子进程使用同一个套接字_linux进程通信方式对比
  5. 游戏开发引擎 Cryengine 在 GitHub 上公开全部源代码
  6. BootStrap FileInput 插件实现多文件上传前端功能
  7. 用简单Mask分类实现语义分割、实例分割“大一统”!FacebookUIUC开源MaskFormer
  8. 【pytorch】——报错 exporting the operator pixel_unshuffle to onnx opset version 11 is not supported
  9. react:customize-cra修改webpack配置
  10. 使用AppNode部署IT资产管理平台(Chemex 3.2.0版本)- 肥仔Sam
  11. back-end 后端开发面试题
  12. sdut——4541:小志志和小峰峰的日常(取石子博弈模板题 4合1)
  13. 写不完的数学试卷-----试卷生成器(Qt含源码)
  14. 计算机网络(五)DNS、HTTP和HTTPS
  15. 餐饮店如何在小红书上引流?小红书转化怎么样
  16. 服务器收集系统清单,EAS的Linux服务器系统依赖包清单
  17. 条条干货!超实用的5个Excel小技巧!
  18. 投资组合优化的人工蜂群算法(Matlab代码实现)
  19. CG, DCG, NDCG
  20. arduino新手入门详细教程系列之《Ⅰ:初识Arduino》

热门文章

  1. Could not load file or assembly 'System.Core, Version=2.0.5.0
  2. 计算机内部逻辑基础,计算机逻辑基础
  3. 用python写全自动赛马娘脚本 全自动赛马娘脚本 Auto_Pretty Derby
  4. 鸿蒙内核分析,鸿蒙内核源码分析(中断概念篇) | 外人眼中权势滔天的当红海公公...
  5. FastReport分组、填充空格、分页和小计
  6. 尝试证明快慢指针可以相遇问题 以及 证明入环点问题
  7. VAT (Vertex Animation Texture) on Unity HDRP examples
  8. 欧式距离与马氏距离比较
  9. jquery实现简单的下拉菜单
  10. 更改eclipse默认在C盘下生成的.p2和.m2