闲着没事看看看STM32F4各种存储的发现 内部flash好像是FMC的的地址,细看FMC的原理只能从各种存储开始看起了。
先说STM32内部有的:
我用的是F429实际上没有2MB是只有1MB的FLASH
FLASH (起始地址 0X08000000 大小 1MB)
实际上就是 RAM存储器 在芯片中植入一个微型电源 可以像ROM一 保证信息不丢失 但由于是RAM 读写的速度快 故叫 闪存。,这个区域就是单片机程序存储的区域。 一般来讲 单片机执行完bootloader之后就根据 BOOT0和BOOT1选择要执行的区域我们一般的模式(把BOOT0拉低进入的就是这段区域,也可以改变boot进入一会介绍的RAM区)
我们一般操作MAIN memory 部分其他区域是系统控制区我也不多解释
FLASH是只能整块擦除的而且程序是在FLASH 里的不知道程序有多大随便修改FLASH是很容易使程序出问题的
SRAM Static Random-Access Memory(静态随机存取存储器)
简单来说就是程序的一些堆栈随机数缓存的地方,简单理解为运存,类比与手机 FLASH ROM是程序软件可以放得空间。SRAM是手机程序使用时占的内存。SRAM的运行很快适合动态存储但掉电会失去数据。
在KEIL里修改这个也很简单。可以把程序放在SRAM里调试据说是快一点。有兴趣可以去试试。
再来看芯片手机F4升级的一个很好用的功能就是支持了SDRAM 那SDRAM是什呢
我们来看看
SDRAM:Synchronous Dynamic Random Access Memory:
同步动态随机存储器,同步是指内存工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据读写。
W9825G6KH 32MB这个是正点原子开发版上搭载的一个SDRAM我们看一下他的资料
4M 4BANK 16bit的一款SDRAM是4*4*16/8,及32M的储存芯片
看见了这个博主的文章大概 sukhoi27smk 点击打开链接 总结一下SRAM 和SDRAM的区别,因为DRAM是动态随机存储。说以需要不断刷新电路此案呢个保存数据 ,而SRAM 是静态的随机只要不断电数据就不会丢失,由于工艺原因SDRAM内存一般大于SRAM但是SRAM的速度是快于SDRAM的。实际上我都不知道拓展了这些内存运存有什么作用感觉只有做高端系统再才会有用吧。你们也只到=当入门看看吧到时候又提起有点印象。
PSRAM也是类似SRAM的产品只是牺牲一部分速度扩大内存,降低价格降低功耗的替代产品。不多解释
再看一下可以外接的NOR FLASH和NAND FLASH 模块
flash存储器”经常可以与相“NOR存储器”互换使用。许多业内人士也搞不清楚NAND闪存技术相对于NOR技术的优越之处,因为大多数情况下闪存只是用来存储少量的代码,这时NOR闪存更适合一些。而NAND则是高数据存储密度的理想解决方案。NOR Flash 的读取和我们常见的 SDRAM 的读取是一样,用户可以直接运行装载在 NOR FLASH 里面的代码,这样可以减少 SRAM 的容量从而节约了成本。 NAND Flash 没有采取内存的随机读取技术,它的读取是以一次读取一块的形式来进行的, 通常是一次读取 512 个字节,采用这种技术的 Flash 比较廉价。用户 不能直接运行 NAND Flash 上的代码,因此好多使用 NAND Flash 的开发板除了使用 NAND Flah 以外,还作上了 一块小的 NOR Flash 来运行启动代码。
NOR flash是intel公司1988年开发出了NOR flash技术。NOR的特点是芯片内执行(XIP, eXecute In Place),这样应用程序可以直接在flash 闪存内运行,不必再把代码读到系统RAM中。NOR的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除 速度大大影响了它的性能.
Nand-flash内存是flash内存的一种,1989年,东芝公司发表了NAND flash结构。其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案。Nand-flash存储器具有容量较大,改写速度快等优点,适用于大量数据的存储,因而在业界得到了越来越广泛的应用,如嵌入式产品中包括数码相机、MP3随身听记忆卡、体积小巧的U盘等。
再来看一下FMC的地址(我这里实际一开始还是不理解为什么F1x和f40x系列FSMC而到F42X,F43X更高版本就有两个。那地址不是冲突掉了。实际不然F42X系列就没有FSMC而是被FMC取代功能更加完善了)
是0X60000000开头的内部FLASH不是一个位级别啊,问题迎刃而解了。顺便提一句所有FSMC 和FMC配置的外设内存都可以通过内存地址直接调用使用十分方便。
今天的文件储存笔记就到这里了,过会研究一下文件系统开始学习STM32系统HAL配置了