[MCU]SRAM

stm32h7内存分配_【STM32H7教程】第25章 STM32H7的TCM,SRAM等五塊內存基礎知識 第25章 STM32H7的TCM,SRAM等五塊內存基礎知識本章教程為大家介紹STM32H7帶的ITCM,DTCM,AXI SRAM,SRAM1,SRAM2,SRAM3,SRAM4和備份SRAM的基礎知識。25.1 初學者重要提示25.2 各塊RAM在總線中的位置25.3 各塊RAM的特性25.4 各塊RAM的時鍾問題25.5 各塊RAM的DMA問題25.6 實際工程推薦的RAM分配方... 阅读详情

MCU存储体系

1.SRAM
2.FLASH
3.TCM

SRAM

SRAM(Static Random-Access Memory):静态随机存取存储器.
特点:访问速度快、断电丢失、不

SRAM分类

1.系统SRAM:连接在系统总线上,所有外设和CPU都可访问
2.TCM SRAM:紧耦合内存,专为CPU高速访问设计(如ARM的DTCM)
3.外设SRAM:某些外设专用的缓冲区(如USB、DMA等
在这里插入图片描述
128KB = 128 * 1024 byte = 0x20000
地址范围:0x2000_0000 ~ 0x2002_0000

SYS SRAM与TCM DRAM的区别

在这里插入图片描述

SYS SRAMTCM SRAM
共享资源:多主设备(CPU/DMA/外设)通过总线矩阵访问物理隔离:独立于总线矩阵的专用接口
缓存支持:通常配合Cache使用提升性能零等待状态:与CPU寄存器同级别的访问速度
动态分配:支持标准内存管理 “malloc”静态分配:需显式指定变量位置
SYS SRAM 和AP SRAM区别

在这里插入图片描述

SYS SRAM

mcu访问错误的sram地址可能会导致总线访问失败

TCM SRAM

ITCM Instruction Tightly Coupled Memory :指令紧耦合存储器,用于存储需要快速执行的代码(如中断处理程序、关键算法)

DTCM Data Tightly Coupled Memory :数据紧耦合存储器,用于存储需要快速访问的数据(如实时控制变量、DSP数据)

WIFI FW SRAM

在无线芯片(如WiFi/BT Combo芯片)的架构设计中,FW SRAM(固件SRAM)和SYS SRAM(系统SRAM)是两种不同的内存区域,它们在功能和使用方式上有显著差异
在这里插入图片描述

内存属性

内存区域通常被划分为缓存(Cacheable, C)、非缓存(Non-Cacheable, NC)、安全(Secure, S)和非安全(Non-Secure, NS)四种属性

C /NC

在嵌入式系统和MCU开发中,SRAM的缓存(Cacheable, C)和非缓存(Non-Cacheable, NC)区域是两种重要的内存配置方式
在这里插入图片描述
在这里插入图片描述

S /NS

SRAM的安全(Secure, S)和非安全(Non-Secure, NS)区域划分
在这里插入图片描述

查看内存分区

指令

查看内存段指令
`arm-none-eabi-size -A -x your_elf_file.elf`

lst文件

链接器生成的.lst或.map文件中的"Sections"部分提供了关于程序各个段的详细信息

Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         00001234  08000000  08000000  00010000  2**4

在这里插入图片描述

ld定义不同SRAM区域

“ram_extra0_bss”
“tcm_data”

__attribute__((section(".ram_extra0_bss"))) 
static uint32_t system_ram_var;

// 使用宏简化
#define SYS_RAM_VAR __attribute__((section(".ram_extra0_bss")))
SYS_RAM_VAR uint8_t buffer[1024];

ld文件指定SYS SRAM 和 TCM SRAM内存地址范围

MEMORY {
    /* 定义内存区域 */
    SRAM (rwx) : ORIGIN = 0x20000000, LENGTH = 512K
    TCM  (rwx) : ORIGIN = 0x10000000, LENGTH = 128K
}

SECTIONS {
    /* 系统SRAM区域 */
    .ram_extra0_bss (NOLOAD) : {
        __ram_extra0_start__ = .;
        *(.ram_extra0_bss*)
        . = ALIGN(4);
        __ram_extra0_end__ = .;
    } > SRAM
    
    /* TCM区域 */
    .tcm_section : {
        *(.tcm_data*)
    } > TCM
}

测试

#pragma once

#ifdef __GNUC__
#define SYS_RAM_ALLOC(name) \
    __attribute__((section(#s(.ram_extra0_bss, __LINE__))) \
    __attribute__((aligned(4))) name
    
#define TCM_ALLOC(name) \
    __attribute__((section(".tcm_data"))) \
    __attribute__((aligned(32))) name
#else
#error "Compiler not supported"
#endif

// 使用示例
SYS_RAM_ALLOC(static uint32_t sys_var);  // 分配到系统SRAM
TCM_ALLOC(float32_t dsp_buffer[256]);   // 分配到TCM
GD32F4的ram分区的坑 GD32F4的片上RAM坑 阅读详情

相关推荐

GD32 mcu sram启动配置方法

**GD32 MCU sram启动配置方法** 1.1 sram启动与flash启动的区别

qq_31446727的博客 3676

【STM32H7教程】第27章 STM32H7的TCM,SRAM等五块内存的动态内存分配实现

完整教程下载地址:http://forum.armfly.com/forum.php?mod=viewthread&tid=86980 第27章 STM32H7的TCM,SRAM等五块内存的动态内存分配实现 本章教程为大家分享一种DTCM,SRAM1,SRAM2,SRAM3和SRAM4可以独立管理的动态内存管理方案,在实际项目中有一定的实用价值,比如MP3编解码,JPEG...

Simon223的博客 2160

【GD32L233C-START】7、获取MCU96位唯一ID、SRAM、FLASH大小

​ 1、关于电子签名 设备的电子签名中包含的存储容量信息和96位的唯一设备ID。它被存储在片上闪存的信息模块 中。96位唯一设备ID对于每颗芯片而言都是唯一的。它可以用作序列号,或安全密钥的一部分, 等等。 2、96位唯一ID 96位ID信息,地址依次为0x1FFFF7E8、0x1FFFF7EC、0x1FFFF7F0,设备出厂的时候,已经固化在mcu内部的,用户不可更改。 3、关于SRAM和FLASH大小 存储容量信息,地址为0x1FFFF7E0,设备出厂的时候,已经固化在mcu内部的,用户不可更改。

freemote的博客 4717

TCM SRAM等五块内存的使用和动态分配

【代码】TCM SRAM等五块内存的使用和动态分配。

yybyg的博客 1086

从SRAM 6116到现代MCU:聊聊单片机RAM扩展技术的变迁与选型思考

本文探讨了从SRAM 6116到现代MCU的单片机RAM扩展技术演进历程,分析了AT89C51等经典芯片的技术约束与现代存储架构的创新。文章详细介绍了外扩RAM的历史背景、设计挑战及解决方案,并对比了不同存储器类型的性能特点,为工程师提供选型参考。

weixin_29166013的博客 218

TCM 参考资料(提升ARM性能)

相信设计过ARM的都知道TCM 的重要性,但是这方面的资料却非常的零碎,本人最近也弄这个,找到的一点资料和大家分享!

MCU——SRAM和Flash

前言:MCU中的SRAM和Flash相当于计算机系统中的RAM和ROM概念。 1. SRAM和Flash对比区别 分类 SRAM Flash 容量 容量小 容量大 读写速度 快 慢 掉电易失 掉电易失 掉电不易失 价格 高昂 低廉 应用场合 程序运行中数据变量的运算 存储代码或者常量数据 2. 芯片容量   由于SRAM用于存储程序运行过程当中产生的临时数据,因此在程序中定义大批量数据时候必须考虑到SRAM的容量大小,特别是实时数据采集时,一旦需要采集大量数据,考虑到

qq_36749906的博客 1万+

LDO稳定性分析

根据补偿方式和拓扑结构的不同,三个极点之间的相互位置有可能发生变化,但 是 LDO 通常采用较大的输出电容 Cout,以及较大的调整管也会导致较大的 Cpar, 所以 p1、p2 通常位于较低的频率处,而 p3 和 z1 则由于 Resr较小会位于较高的频 率处。不过幸运的是,对于较大的 Cout来说,只要选择合适的 Resr,就可以将左半平面零点 Z1 的频率降低,甚至使 Z1 进入单位增益带宽内,左半平面零点的进入将对相位有所改善,这不仅可以消除振荡的风险,还可以在单位增益频率处得到较好的相位裕度。

模拟芯片设计 1592

MCU的SRAM读写是0周期等待吗

在 MCU 或处理器系统中,“等待周期”(Wait State)是指:当 CPU 或总线试图访问某一存储部件(如 Flash、RAM、外设等)时,如果该部件的响应速度跟不上 CPU 的时钟速度,系统就需要插入额外的空闲时钟周期(等待周期),以确保数据能够正确传输。0 周期等待 = 单周期访问 = 最快访问,无需等待1 个或多个等待周期 = 访问该存储器需要更多时钟周期,速度变慢项目说明片内 SRAM 是否为 0 周期等待?✅通常是!

创新改变世界! 578

【ADCU详解】PMIC电源管理集成电路详解

自动驾驶域控制器(ADCU)中的电源管理集成电路(PMIC)是高度集成的关键部件,负责为计算核心、传感器等提供高效稳定的多路电源。其核心特点包括:符合车规AEC-Q100标准、支持功能安全ASIL等级、精确的时序控制及强抗干扰能力。PMIC由开关稳压器、LDO、时序控制器、监控保护电路等模块组成,通过分层电源树框架实现电能分配。设计需考虑效率、功率密度、噪声性能等关键维度,底层基于Buck转换器和LDO原理工作。使用中需满足严苛的车规环境要求,并通过静态/动态测试及故障注入测试进行验证,确保系统可靠性和安全

qq_40844444的博客 841

《广告核心指标驱动的AI投放系统:从数据洞察到智能决策的全链路优化》

本方案通过构建广告核心指标驱动的AI投放系统,实现从数据采集到智能决策的全链路自动化。

专注Java领域与微服务架构,热爱人工智能与深度学习 1068

MCU的FLASH与SRAM中存了什么?

SRAM 是"可读写"的运行时存储器,存放会变化的东西:全局变量、动态分配的内存、函数调用栈。掉电后内容全部丢失。上电后:硬件设置 MSP/PC → 启动代码拷贝 .data → 清零 .bss → 初始化堆 → 创建线程 → 运行。

SXSBJS_XYT的博客 958

基于Matlab与Gurobi的园区微电网风光储协同规划:从独立运营到联合优化的建模实战

本文详细介绍了如何利用Matlab与Gurobi进行园区微电网的风光储协同规划建模实战。通过构建从独立运营到联合优化的数学模型,结合Yalmip工具箱,旨在解决源荷不匹配问题,实现储能系统的最优配置与运行,从而降低总供电成本并提升新能源利用率。

weixin_29053073的博客 140

MCU-缓存Cache与CPU中的主存SRAM

(如 MPU 设置)决定。普通 SRAM(如 AXI SRAM、SRAM1/SRAM2)可能被 D-Cache 缓存,具体取决于 MPU(内存保护单元)的配置。TCM 是紧耦合内存,直接挂载到 CPU 总线,不经过 Cache,访问。Flash、SRAM 或外部存储器 读取的数据。Cache 的缓存范围是全局的,可以覆盖所有可缓存的地址空间(包括内部 SRAM)。是否需要缓存某个内存区域,由内存属性配置。数据缓存(D-Cache)指令缓存(I-Cache):缓存从。Cortex-A7(含MMU)

xiandang8023的博客 999

Topas——基于Geant4的放射治疗蒙特卡罗算法模拟工具

本文内容参考Joseph Perl 的线上会议,视频详情可见于,该视频会议内容主要介绍Topas功能、软件架构、工作流程、参数设定、物理模型、具体案例等,对TOPAS的基本入门使用方法以及使用规定作出阐述。

fy方的博客 7604

1014. 福尔摩斯的约会 (20)-PAT乙级真题

1014. 福尔摩斯的约会 (20) 大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧!3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”,因为前面两字符串中第1对相同的大写英文字母(大小写有区分)是第4个字母’D’,代表星期四;第2对相同的字符是’

柳婼 の blog 2644

MCU中的BSS和data都占用SRAM空间吗?

‌。

haoyj2222的博客 558

用户画像标签维度_搭建电商平台用户画像标签体系

01 整体思路电商平台连接了卖家和买家两端,最终目的都是促进交易,从而追求更高的销售额。提高人货匹配度是促进交易的关键,而提高人货匹配度的关键就是“让买家找到想要的货物”。本文结合“人、货、场”理论模型,尝试建立电商平台的用户画像标签体系。02 三类标签用户在平台购物的整体流程可以概括为:进入平台、选择商品、下单付款。可以将该过程抽象为“人、货、场”。即用户通过什么途径进入什么商品的页面...

weixin_31668621的博客 1642

S32K310MCU SRAM过载

摘要:NXP S32K310 MCU的RTD6.0存在SRAM和FLASH占用过高问题。SRAM方面,由于核心数变量NUMBER_OF_CORES固定为4(实际单核),建议修改为1或删除相关变量;FLASH方面,存在大量未使用的SchM_Enter_Gpt函数,建议删除以释放空间。针对S32K3系列其他型号也可参考此方法检查优化。

ke_huan_tian_yi的博客 80

1、开启 Microsoft Power Automate 自动化之旅

本文介绍了 Microsoft Power Automate 的基本概念和其在信息时代自动化需求中的重要作用。Power Automate 是 Power Platform 的一部分,能够通过无代码/低代码的方式自动化处理重复性任务,例如邮件处理、文件复制等,从而提升工作效率。文章还详细讲解了 Power Automate 的核心术语、登录方式、创建第一个流程的操作步骤,并通过示例帮助用户快速上手。无论是终端用户还是管理员,都可以通过本文了解如何利用 Power Automate 实现业务流程自动化。

corn8的博客 169

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

嵌入式开发必知:SRAM与SDRAM在MCU中的实战选型指南

本文深入解析了嵌入式开发中SRAM与SDRAM的核心差异、工作原理及实战选型策略。SRAM速度快、接口简单但成本高,适合用作MCU内部高速缓存;SDRAM容量大、成本低但需定期刷新和复杂时序控制,适用于需要大容量缓冲区的图形界面、音视频处理等场景。文章结合MCU型号(Cortex-M/A系列)、项目需求(速度、容量、功耗、成本)及软硬件复杂度,提供了清晰的选型决策指南和避坑建议,帮助开发者做出最优选择。

echo99的专栏 750

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

可作为MCU外扩SRAM芯片的型号推荐

世界上最早的全电子化存储器是1947年诞生的,其原理是用阴极射线管在屏幕表面上留下记录数据的“点”。从那时起,计算机内存开始使用磁存储技术并经历了数代演变,相关系统包括磁鼓存储器、磁芯存储器、磁带驱动器和磁泡存储器。从1970年代开始,主流的集成半导体存储器则主要分为三类:动态随机存取存储器 (DRAM)、静态随机存取存储器 (SRAM) 和闪存。 计算机内存主要是DRAM和SRAM。SRAM则具有最快的片上缓存。已经历了数十年的发展。SRAM不需要周期性刷新就能锁存“0”和“1”信号,影响其发展的主要因素

EVERSPIN的博客 2899

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

GD32 MCU SRAM启动调试全攻略:Keil工程配置与实战技巧

本文详细解析了GD32 MCU进行SRAM启动调试的核心原理与实战步骤。通过剖析SRAM内存地图划分、Keil工程的目标配置与Debug设置,并重点讲解了启动文件的深度修改方法,帮助开发者避开常见陷阱,实现无需擦写Flash的快速程序加载与调试,极大提升开发效率。

weixin_29162439的博客 396

Cortex-M3-STM32F1 开发:(一)单片机 MCU 的构成,包括 FLASH 和 SRAM 的区别,以及引脚类型

详细介绍了:单片机 MCU 的构成,包括 FLASH 和 SRAM 的区别,以及引脚类型

qq_51409113的博客 1416

MCU推理存储器层级优化策略:SRAM、TCM、Flash、Cache的数据放置与命中率调优

热数据放零延迟存储器(DTCM),冷数据放大容量存储器(Flash),中间数据放缓冲存储器(AXI SRAM),Cache 命中率通过内存布局对齐和预热来最大化。实测数据证明,通过权重对齐布局(+15%)、激活值放 DTCM(+30%)、Cache 预热(+18%)和推理代码放 ITCM(+16%)四步组合优化,推理延迟从 620ms 降至 260ms,2.38 倍加速。DTCM 的 128KB 零延迟存储器是 Cortex-M7 推理加速的杀手级优势——合理利用 DTCM 可以消除存储器墙的主要瓶颈。

qq_42431428的博客 3099

MCU开发者必看:SRAM与SDRAM选型实战指南(附性能对比表)

本文为MCU开发者提供SRAM与SDRAM选型实战指南,详细对比两种存储技术的核心特性、硬件设计关键点及性能优化技巧。通过性能对比表和选型决策树,帮助开发者在嵌入式系统设计中做出最优选择,平衡成本与性能需求。

gamma的博客 228
上一篇: [wifi]射频指标
下一篇: [sniffer]根据mac地址查看空口重传
有多少个小土豆
博客等级 码龄10年 235粉丝 210原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值