本帖最后由 creep 于 2015-6-3 22:24 编辑 今天刚拿到开发板,写个测试程序熟悉下芯片结构。 对于ST的很多MCU内部都没有EEPROM,比如我接触到的F1/F3/F4,如果想保存一些简单的参数比如产品SN号,固件版本号等信息就可以使用内部FALSH模拟EEPROM来做,简单方便实惠。 我使用F303RE的内部Flash的Main memory的第255页(最后一页)2K字节的大小来模拟EEPROM,这个根据自己的需要来选择,尽量别和代码存放的地方相冲突。 不同的FLASH访问的操作最小单位不同,比如F103和F303都只能以16 bits操作,但是F429可以8bits/16bits/32bits访问,这要特别注意。F303的库函数提供了16bits和32bits的写Flash函数,其中的32bits函数是分2次操作,每次写16bits,可以根据要保存的数据类型分别调用。 访问内部flash需要一定的操作步骤,比如:解锁FLASH,擦除相应的页,写相应的页,锁FLASH,只要按照对应的步骤即可. 写完之后可以查看对应的FLASH空间已经有了我们写的数据了,这个数据掉电之后还是存在的。 读出写的数据发送到串口查看。 |
F303RE_EEPROM.rar
下载388.28 KB, 下载次数: 1457, 下载积分: ST金币 -1
æµè¯DEMO
【STM32F303开发】开发学习笔记、教程集合贴
【合集】STM32F303开发教程
【STM32F303开发】+ 使用片内的CCMRAM缩短代码执行时间
【STM32F303开发】(五)TIM定时器PWM的输出与捕获
【STM32F303开发】+如何解析GPS数据
【STM32F303开发】+使用fromelf反汇编keil生成的AXF文件
使用STM32F303VBT6的SPI驱动TM1629A
【STM32F303开发】+ 使用SWO输出调试信息到Debug Viewer窗口
【STM32F303开发】基础:工程模板+LED+USART+常用文档+按键中断
【STM32F303开发】(二)DAC+定时器+DMA实例
对于产品序列号,固件版本号这些参数,只会在出厂烧写一次,以后都是读取来显示。和读写CODE一样,所以不存在频繁擦写的问题。如果真的需要频繁修改,那就要另外的考虑了。
已经更新了,
是的F1和F3系列的一样,F4的和这个有点区别。
是的,L0系列内部是有EEPROM,我用过的F1/F3/F4好像都没有。按道理里面加点EEPROM应该不难,不知道ST是怎么考虑的。
谢谢!!!