STM32H7有64KB的ITCM RAM、128KB的DTCM RAM、D1域512KB的AXI SRAM、D2域128KB SRAM1+128KB SRAM2+32KB SRAM3以及D3域64KB SRAM4和4KB备份SRAM。(具体详情请参考STM32H7x3编程参考手册P96)我们可以自由地分配这些内存。目前,MDK与IAR均支持这种内存使用方式。

  1. MDK管理各个D域SRAM及TCM RAM的方法与步骤:

    通常情况下我们都是通过编译器分配内存区:
    但这种操作方法具有局限性,只能使用两个连续的内存区,若要充分利用所有的内存资源,可通过修改后缀为.sct文件,该文件是通过选中on-chip中的IRAM1和IRAM2,编译器自动生成的脚本文件YS-H7Multi.sct。内容如下:

    此代码中只定义了两个RAM内存区域:DTCM RAM(0x20000000-0x20020000)与AXI RAM(0x24000000-0x24080000)。现在我们使用其它D域的RAM.

    现在我们定义了5块内存区,注意分号“;”在这里是屏蔽的作用。接着,如下图,点击Linker,再把”Use Memory Layout from Target Dialog”这一选项的勾勾去掉,最后加载编辑好的脚本文件YS-H7Multi.sct。

    那我们如何使用这个脚本呢?

    使用起来还是蛮简单的。验证实验:KEY1~KEY4操控着D1域的AXI RAM、D2域的SRAM1~SRAM3、D3域的SRAM4以及D3域备份RAM。打印出定义在各个内存区变量的地址,是否位于各内存区的地址。

    由此得到验证。

  2. IAR管理各个D域SRAM及TCM RAM的方法与步骤:
    IAR相比MDK的设置要简单一些,仅需在IAR的配置文件stm32h743xx_flash.icf中添加如下代码即可, stm32h743xx_flash.icf文件位于如下下图所示:

    打开stm32h743xx_flash.icf文件,并添加代码:

    用户使用的话如下:

    补充:如果用MDK时,想把堆栈放置不同D域的SRAM1中,可以这样:

    先在YS-H7Multi.sct设置好堆栈使用哪块区域的内存,


再在startup_stm32h743xx.s文件设置堆栈大小,务必与第一步的堆栈大小一致。
最后打开YS-H7Multi.map文件核对堆栈起始地址是否一致

下载例程连接:https://download.csdn.net/download/Jaken5213/15467599

STM32H743内部所有SRAM的使用相关推荐

  1. STM32H743+CubeMX-使用ADC(16bit分辨率)模数转换器读取CPU的温度(串行方式)

    文章目录 一.前言 二.CubeMX 2.1.RCC 2.2.SYS 2.3.ADC 2.4.Clock Configuration 四.代码 4.1.adc.c 4.2.adc.h 4.3.main ...

  2. 2021-08-13 TM32F103 SRAM 内存扩展管理

    SRAM 本文展示了STM32 SRAM 内存扩展管理 内容涉及 : SRAM 内存扩展管理 FatFs 文件系统移植 SPI函数移植过程 SPI字节数据模拟输出独写 缓存读写 USART串口的识别 ...

  3. 基于 AHB 总线的 SRAM 控制器设计

    基于 AHB 总线的 SRAM 控制器设计 一.基于 AHB 的 sram 设计 1.总体设计框架 2.AHB总线传输协议 ①没有等待状态的单个读写操作 ②有等待状态的单个读写操作 ③连续读写操作 二 ...

  4. RAM、 ROM 、SRAM 、DRAM 、SDRAM 、DDR (2、3、4)SDRAM辨析

    乍一看,这么多RAM,ROM是不是感觉大脑发懵,且听我一一道来. 在了解其他概念之前,我们要首先知道,什么是存储器 存储器 存储器是用来存储程序和各种数据信息的记忆部件 许多存储单元的集合,按单元号顺 ...

  5. SRAM和SDRAM的简单介绍

    参考:IS62WV51216ALL数据手册 W9825G6KH数据手册 1.SRAM 静态随机存取存储器(Static Random-Access Memory,SRAM)是随机存取存储器的一种.相对 ...

  6. 嵌入式开发人员,这些SRAM、SDRAM等存储技术,需要了解一下

    现在嵌入式处理器中的RAM内存类型主要为SRAM与SDRAM,微型处理器如Cortex-M内核系列MCU的RAM基本上是内置的,以SRAM为主,容量大小基本上为几K至几百K级别:而基于Cortex-A ...

  7. 国产低成本SRAM芯片EMI504WF16替换IS61WV25616B

    虽然很多单片机内部集成SRAM空间,但是在一些需要大数据存储的场合,SRAM仍然不够用,需要外扩SRAM芯片,来扩展处理器的性能. IS61WV25616B芯片的访问时间为8到12ns,典型功耗为85 ...

  8. 【Paper Reading】MCUNet:物联网设备上的微型深度学习

    MCUNet: Tiny Deep Learning on IoT Devices 本文纯翻译,原文见:https://arxiv.org/abs/2007.10319 目录 MCUNet: Tiny ...

  9. FPGA之道(12)FPGA芯片的配置方式

    文章目录 前言 FPGA芯片的配置方法 主动配置模式 被动配置模式 JTAG配置模式 前言 Xilinx公司FPGA芯片的配置方法在调试阶段可以通过JTAG的方式将bit流文件烧写(编程)进FPGA芯 ...

最新文章

  1. 领域驱动设计(DDD:Domain-Driven Design)
  2. 链表面试题2:编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前
  3. navicat的字符集和排序规则
  4. php判断是否为数字_PHP知识点:从'xulei' == 0是否为真谈谈运算符===和==
  5. 美国喜提刷脸登机,官方开心发通告,竟马上引发公民不适
  6. python基础教程-学习python有什么好的视频教程?
  7. 去掉字符串首尾逗号_去除字符串首尾空格和特殊字符
  8. MVC登陆认证简单设置
  9. java删除未引用的库_利用Proguard移除无用代码以及碰到的坑
  10. Java基本sql_SQL基本语句
  11. 复制字符串中的元音字母
  12. 万年历(hao123)代码
  13. 项目知识管理体系指南阅读(2)
  14. pest分析和swot分析的区别
  15. linux下使用代理加速下载方案集合
  16. Bootstrap学习(六)响应式嵌入、well、分页符、label、徽章、巨幕、警告框、进度条
  17. 线路板入行必读:PCB电路板小常识
  18. 小红帽系统搭建dns服务器,红帽7(centos 7 )配置DNS服务器
  19. mobx系列(二)-mobx主要概念
  20. PCF8951读程序

热门文章

  1. Android 高德地图 自定义Location小蓝点
  2. 亚马逊评价计算器 分析评价利器
  3. 基金申请:关键科学问题,不是科学问题
  4. Linux云计算运维之Shell
  5. 鼠标滑轮将物体放大缩小
  6. 图像识别VPU——易用的嵌入式AI支持深度学习平台介绍
  7. linux用户自动输入密码,Linux自动输入密码登录用户
  8. 如何使用免费的Powerpoint录制屏幕(最简单的录屏工具)
  9. 2022年模式识别高峰论坛学习与个人感悟
  10. 华东康桥计算机音乐,感受人文至美 华东康桥2019年第二届音乐飨宴盛大开幕