打印

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

[复制链接]
1975|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
一直以来,对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的手册,手册的原话是这么写的

即STM32一次只能写16个字,GD32可以一次写16位/或者32位

使用特权

评论回复
5
锐鑫同创| | 2014-8-7 13:59 | 只看该作者
又学到东西了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

208

主题

2132

帖子

13

粉丝