STM32F407读写SRAM

洋桃电子STM32F407单片机入门教程笔记三:备用SRAM读写 使用Flash保存数据可以在单片机断电后保持数据永久不丢失,但单片机运行在偶尔需要保存一次数据的场合是没有问题的,但如果单片机长期运行在需要频繁保存数据的场合,会在很短时间达到Flash擦写上限。 为了解决频繁擦写和断电后不丢失的问题,STM32F4系列单片机内置了一块4KB容量的备用SRAM,SRAM存储器的特点是可无限次读写,但是断电后会丢失数据,只要给SRAM添加一个备用电源就可实现无限读写且不丢失数据,备用SRAM就是一个带有备用电源的SRAM存储器。 阅读详情

STM32内部的RAM空间有限,当处理大数组时就不够用了,需要外扩RAM,给STM32芯片扩展内存与给PC扩展内存的原理是一样的。

1. SRAM(1MB)

表1 SRAM的引脚说明

图1 芯片引脚

2、STM32的FSMC控制器

 

图2 STM32的FSMC地址映射

因此每个Bank最大管理的空间是256M,而每个Bank有分为4个Sector,每个Sector管理的空间为64MB,FSMC控制器的FSMC_NE就决定了使用哪个Sector,例如下图板子的FSMC_NE3连接到SRAM的片选,因此地址空间就是:

0x6800 0000-0x6BFF FFFF

图3 原理图

FSMC控制寄存器主要是以下三类BCRx、RTRx、BWTRx,x对应1,2,3,4,四个Bank,也对应着NE1、NE2、NE3、NE4

 

 

其中在库函数中BCR,BTR合并成BTCR,

BTCR[0]是BCR1
BTCR[1]是BTR1

BTCR[2]是BCR2
BTCR[3]是BTR2

BTCR[4]是BCR3
BTCR[5]是BTR3

BTCR[6]是BCR4
BTCR[7]是BTR4

注意:当外扩了SRAM,可以适当设置,F407可以和内部SRAM一样使用。

1、system_stm32f4xx.c把宏定义打开

2、检查自己的SRAM使用的NEx,默认是NE2(PG9),以及引脚,如果不一致需要修改初始化代码。例如我的使用的就是NE3,就需要修改GPIOG->OSPEEDR = 0x00300fff等等;

3、Keil设置

4、定义数组,unsigned int Sram_Buffer[262140] __attribute__((section("EXRAM")));

 

RT_THREAD管理STM32F407外挂SDRAM 本文旨在讲解一下怎样让RT_THREAD管理STM32F407外挂的SDRAM,因官方没有对STM32F407作详细的移植教程,自己摸索了几天,把过程分享于此,需要下载源码的,可以到这里去下载。 首先参考STM32F407外挂SRAM应用,实现了在启动过程中,将外挂的SDRAM初始化。该参考完成以后不加系统,也可以在应用代码里面实现内存的各种应用,不需要用__atrribute__来指定具体的内存位置。这里主要参考了对.s文件的修改,注:参考里的“0x20000100 替换 __initial_sp”这一 阅读详情

相关推荐

STM32F407的内存管理

无

qq_45578181的博客 3507

STM32开发板扩展外部SRAM

一步配置STM32开发板外部SRAM

kate_smith的博客 2137

细说STM32F407单片机以轮询方式读写外部SRAM的方法

本文介绍STM32F407单片机以轮询方式读写外部SRAM IS61LV25616AL的方法。继续使用旺宝红龙开发板STM32F407ZGT6 KIT V1.0。关于 IS61LV25616AL,可以详见参考文章1。参考文章1:细说STM32F407单片机FSMC连接外部SRAM的方法及HAL驱动-优快云博客参考文章2:细说STM32F407单片机轮询方式读写SPI FLASH W25Q16BV_stm32f407 spiflash驱动程序-优快云博客。

wenchm的博客 1822

F407 sram

sram 介绍 1、SRAM控制原理 STM32控制器芯片内部有一定大小的SRAM及FLASH作为内存和程序存储空间,但当程序较大,内存和程序空间不足时,就需要在STM32芯片的外部扩展存储器了。 STM32F407ZE系列芯片可以扩展外部SRAM用作内存。 给STM32芯片扩展内存与给PC扩展内存的原理是一样的,只是PC上一般以内存条的形式扩展, 而且内存条实质是由多个内存颗粒(即SDRAM芯片)组成的通用标准模块,而STM32扩展时,直接直接与SRAM芯片连接 内存:8M bit static

weixin_44628381的博客 3118

STM32CubeMX | 34-使用硬件FSMC读写SRAM(IS62WV51216)

本篇详细的记录了如何使用STM32CubeMX配置 STM32F407ZGT6 的硬件FSMC外设与 SRAM 通信(IS62WV51216)。 1. 准备工作 硬件准备 开发板 首先需要准备一个开发板,这里我准备的是STM32F407ZGT6的核心板。 SRAM 核心板板载一片SRAM,型号为 IS62WV51216,大小为 512K x 16 bit,也就是 1 MB。 软件准备 需要准备一份 IS62WV51216 的数据手册。 2. STM32 FSMC外设概述 2.1. 什么是FS

Mculover666的博客(嵌入式) 6140

STM32F407 FSMC项目实战:代码解析与应用

STM32F407微控制器是ST公司推出的高性能微控制器系列之一,它搭载了ARM Cortex-M4内核,拥有高达168MHz的处理速度和强大的浮点运算能力。这款微控制器集成了丰富的外设接口和高性能的模拟功能,使其成为工业控制、医疗设备、音频处理等领域的理想选择。在了解STM32F407的特点时,首先要关注的是其核心处理单元,Cortex-M4内核除了具备一般的32位处理器功能,还支持单周期乘法和硬件除法,极大提高了数据处理效率。

weixin_28999139的博客 942

细说STM32F407单片机以DMA方式读写外部SRAM的方法

本文作者旨在介绍如何使用DMA方式读写外部SRAM。继续使用旺宝红龙开发板STM32F407ZGT6 KIT V1.0。参考文章:细说STM32F407单片机以轮询方式读写外部SRAM的方法-优快云博客原理图,详见参考文章。

wenchm的博客 2037

RT_T+STM32F407+外挂SDRAM.zip

本工程实现了STM32F407芯片加外挂SDRAM在rt_thread上的移植,可能通过rt_malloc等接口直接申请内存等操作。内存芯片为IS62WV51216,用FSMC接口连接。

细说STM32F407单片机FSMC连接外部SRAM的方法及HAL驱动

本文介绍STM32F407单片机FSMC连接外部SRAM及以轮询方式读写外部SRAM的方法。本文将继续使用旺宝红龙开发板STM32F407ZGT6 KIT V1.0。FSMC的Bank1除能连接TFT LC外,还可以用于连接外部的SRAM、NOR FLASH、PSRAM等存储器。STM32F407ZG有192KB的SRAM存储器,一般的应用程序足够用了,但是在使用GUI等需要大量内存的功能时,就需要扩展SRAM了。

wenchm的博客 2782

IC设计新手必看:如何正确使用去耦电容(decap)避免电源噪声?

本文深入探讨了IC设计中去耦电容(decap)的应用技巧,从核心原理到布局实现,帮助新手工程师有效抑制电源噪声。文章详细解析了MIM、MOM等电容类型的特性与选择策略,并提供了先进的布局技巧和验证方法,特别适用于28nm以下先进工艺的电路设计挑战。

weixin_30555125的博客 113

MTK PE+2.0介绍

  PE+2.0介绍:   1.      PE+2.0的状态机: 2.      升压波形协议及编码规则: PE+2.0软件设计:   在充电器类型为标充且底层电量SOC在1%—95%之间时,开始PE+2.0升压充电器的检测:首先将VBUSreset至5V,之后发送8.5的current pattern再获取此时VBUS电压和8.5V比较,若其与8.5的差值绝对值在0.5之...

raydom07的博客 1万+

STM32 基础系列教程 43 – SRAM

前言 STM32F407ZGT6 自带了 192K 字节的 SRAM,对一般应用来说,已经足够了,不过在一些对内存要求高的场合, 比如跑算法或者跑 GUI 等,自带的这些内存就不够用了。比如跑算法或者跑 GUI 等,就可能不太够用。这个时候就会用到外部的SRAM或SDRAM,本节,我们将使用带领大家用STM32CUBE工具,快速实现基于FSMC接口的外部SRAM的读写操作实验。 ...

张十三的博客 1万+

ERGM指数随机图模型全解析:从基础原理到R语言实操

从社交网络中的互惠、传递性和同质性等基本现象切入,介绍网络数据与传统回归分析的本质差异——边与边之间的依赖关系。指数随机图模型(ERGM)正是为刻画这种依赖结构而设计的统计框架,它通过指数族分布将网络结构效应显式建模,结合MCMC方法完成参数估计。ERGM在组织协作、传播扩散、生物生态等领域的应用日益广泛,其扩展模型TERGM、GERGM和多层ERGM进一步支持时序、权重与多重关系网络。本文系统梳理ERGM的理论基础、核心统计量、扩展模型选型及R语言实操要点,帮助研究者理解网络生成机制并完成收敛性诊断与结果

weixin_29050271的博客 358

FSMC 扩展外部SRAM(基于STM32F407)

例如,NOR控制器的FSMC_CLK引脚输出的时钟,它可用于与同步类型的SRAM芯片进行同步通讯,它的时钟频率可通过FSMC_BTR寄存器的CLKDIV位配置,可以配置为HCLK的1/2或1/3,也就是说,若它与同步类型的SRAM通讯时,同步时钟最高频率为84MHz。:初始化完FSMC外设后(包括对存储器的读写操作),在程序里,定义一个指向STM32内核地址的指针,由于内核中的地址直接映射到FSMC访问不同存储器的存储空间,就可以通过指针直接修改该存储单元的内容,从而改变存储器的内容。

2301_79745668的博客 2218

零基础学习CANoe Panel(17)—— Panel CAPL Function

CANoe内置了几个CAPLFunction,允许我们在CAPL运行时动态的更改Panel控件的属性,比如打开某个panel,禁用某个控件,更改控件颜色等。

蚂蚁小兵 3508

基于计算机视觉的无人便利店技术:从算法到部署的系统化实战指南

摘要:本文系统介绍了基于计算机视觉的无人便利店技术方案,提出"商品检测-跟踪-动作识别-防损-结算"五段式流水线架构。详细阐述了YOLOv8-Seg商品检测、OC-Sort多目标跟踪、3D-CNN+ST-GCN动作识别等核心算法实现,并完成NVIDIA Jetson Xavier NX边缘端的优化部署。通过TensorRT量化、DeepStream加速等技术手段,系统在保持94.7%动作识别准确率的同时,将漏单率降至0.8%,单店云端算力成本较行业平均降低84%。所有代码已开源,可直接应

博客 624

实战对比:STM32F407轮询vs DMA方式读写SRAM性能测试(附CubeMX工程)

本文通过STM32F407微控制器对比了轮询与DMA方式读写SRAM的性能差异,详细介绍了CubeMX环境下的FSMC接口配置和DMA优化技巧。实测数据显示,DMA模式在大数据量传输中效率更高且CPU占用率低,适用于工业控制等高实时性场景。文章还提供了混合使用策略和常见问题解决方案,帮助开发者优化SRAM访问性能。

ol789012的博客 168

C#实现网络寻路(附完整源码)

C#实现网络寻路(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 420

外部sram数组读写volatile_探索者 STM32F407 开发板资料连载第四十一章 外部 SRAM 实验

1)实验平台:alientek 阿波罗 STM32F767 开发板2)摘自《STM32F7 开发指南(HAL 库版)》关注官方微信号公众号,获取更多资料:正点原子第四十一章 外部 SRAM 实验STM32F407ZGT6 自带了 192K 字节的 SRAM,对一般应用来说,已经足够了,不过在一些对内存要求高的场合,STM32F4 自带的这些内存就不够用了。比如跑算法或者跑 GUI 等,就可能不太够...

weixin_39832965的博客 912

提高RFID检测距离以及检测速度的方法总结

摘要:提高RFID检测距离需优化阅读器功率、标签灵敏度、天线设计及频段选择,同时减少环境干扰;提升检测速度则需改进防碰撞算法、增强并行处理能力、精简数据传输。实际应用需平衡两者关系,如物流仓储采用UHF频段、高增益天线和动态Q算法实现远距离高速读取,ETC系统则通过微波频段和高速调制实现超远距离快速识别。不同场景需针对性优化硬件配置和系统参数。

start_up_go的博客 290

ROS机器人未知环境自主探索功能包explore_lite最全源码详细解析(二)

本系列文章主要针对ROS机器人常使用的未知环境自主探索功能包explore_lite展开全源码的详细解析,并进行概括总结。 本系列文章共包含六篇文章,前五篇文章主要介绍explore_lite功能包中 explore.cpp、costmap_tools.h、frontier_search.cpp、costmap_client.cpp等源码实现文件中全部函数的详细介绍,第六篇文章进行概括总结,包含自主探索功能包explore_lite的简介,实现未知环境自主探索功能的原理及流程总结,效果演示,使用功能包exp

慕羽★的博客 1647

STM32F427利用FSMC接口访问FPGA的SRAM(3)—— STM32F427访问FPGA的SRAM

参考STM32F407例程,外部SRAM章节。 关于时序的配置,主要是设置这7个参数,如果是SRAM,则只需关注前3个参数,和最后一个参数。 根据F427 datasheet也可以看出,前3个参数均设为0x01。  代码不一定对,先贴出来记录下 #include "sram.h" #define Bank1_SRAM3_ADDR ((u32)(0x68000000)) ...

豚 4825

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

STM32 SPI+DMA 驱动 SRAM LY68L6400SLIT 应用笔记

库函数,STM32F407,SPI+DMA ,SPI-DMA,SRAM , LY68L6400SLIT,STM32CubeMX大黄蜂本笔记记录 基于 STM32F407 + RT RTOS 采用 SPI接口和 SPI+DMA接口 调试 SRAM LY68L6400SLIT (8M 字节 SRAM)STM32 HAL SPI 库函数;STM32CubeMX SPI 配置;STM32CubeMX SPI 配置+DMA配置;SPI+DMA 读写SRAM。

yutian0606的博客 6254

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

【正点原子STM32连载】 第四十七章 外部SRAM实验摘自【正点原子】APM32F407最小系统板使用指南

1)实验平台:正点原子stm32f103战舰开发板V43)全套实验源码+手册+视频下载地址:##

weixin_55796564的博客 500

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

扩展外部SRAM

扩展外部SRAM 一、SRAM控制原理 STM32控制器芯片内部有一定大小的SRAM及FLASH作为内存和程序存储空间,但当程序较大,内存和程序空间不足时,就需要在STM32芯片的外部扩展存储器了。SRAM中的数据断电即失(属于易失性存储器),因此只适用于存储经常改变的变量。扩展内存时一般使用SRAM和SDRAM存储器,但STM32F407系列的芯片不支持扩展SDRAM(STM32F429系列支持),它仅支持使用FSMC外设扩展SRAM。给STM32芯片扩展内存与给PC扩展内存的原理是一样的,只是PC上一般

Kudo_chitose的博客 4788

STM32CubeMX教程23 FSMC - IS62WV51216(SRAM)驱动

使用STM32CubeMX软件配置STM32F407开发板的FSMC实现以轮询或DMA的方式读写IS62WV51216(SRAM)芯片

lc_guo的博客 4690
上一篇: 手机模拟加密门禁卡
下一篇: 手机模拟门禁卡 — 加密门禁卡模拟教程
AHappySpringA
博客等级 码龄14年 7粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值