GD32学习笔记-3 一SRAM与FLASH的区别

[复制链接]
 楼主| sunmeat 发表于 2014-8-5 10:12 | 显示全部楼层 |阅读模式
一直以来,对SRAM和FLASH的区别没什么概念,今天百度找了半天,弄懂了一点点
1.flash写入的内容不会因电源关闭而失去,读取速度慢,成本较低,一般用作程序存储器或者低速数据读取的情况。
2.sram有最快的读写速度,但电源掉落后其内容也会失去,价格昂贵,一般用作cpu的二级缓存,内存条也不用这个,适合高速数据读取的场合。
两者的关系为flash为ROM,sram为RAM。

 楼主| sunmeat 发表于 2014-8-5 10:16 | 显示全部楼层
GD32F103xx 系列微控制器提供最大 20kB 的片上 SRAM,起始地址为 0x2000 0000。片上 SRAM支持按字节(8 位对齐)访问、按半字(16 位对齐)访问、按字(32 位对齐)访问。
/******
定义结构体变量的时候,基本不用考虑字节对齐的问题了
************/
 楼主| sunmeat 发表于 2014-8-5 10:21 | 显示全部楼层
本帖最后由 sunmeat 于 2014-8-6 10:50 编辑

Flash 存储器可以单次编程一个半字(16 位)或一个字(32 位) 。Flash 存储器的每个页都可以分别擦除。
/******
对Flash 的写入操作要 “先擦除后写入”的原则;            GD32的内置flash 编程操作都是以页为单位写入的,而写入的操作必须要以16位半字宽度数据位单位/或者32位的一个字宽,允许跨页写,写入其他位时会导致数据错误
************/
 楼主| sunmeat 发表于 2014-8-6 10:52 | 显示全部楼层
这里顺便看了看STM32的手册,手册的原话是这么写的
图像 203.png
即STM32一次只能写16个字,GD32可以一次写16位/或者32位
锐鑫同创 发表于 2014-8-7 13:59 | 显示全部楼层
又学到东西了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

208

主题

2132

帖子

13

粉丝
快速回复 在线客服 返回列表 返回顶部