标题: STM32F1的flash数据存储问题 [打印本页]

作者: 渐入寒冬    时间: 2021-5-12 13:59
标题: STM32F1的flash数据存储问题
在有些教程中STM32的flash可以作为EEPORM,但flash有几个存储区域,一般是采用主存储块进行存储吗
如果是采用主存储块作为EEPORM,是否所有主存储快空间都可以作为EEPROM
在一些资料中,描述主存储器存储着一些代码和数据常量,如果作为EEPROM不会出现将原本擦除的情况吗。。。。。
先感谢各位大佬的回答


作者: daemondong    时间: 2021-5-12 13:59
从后往前用,除非你的程序很大,否则不会冲突的。

#define FLASHSTART_ADDR         0x08000000                                //128K ���һҳ 1KBÿҳ �ɴ�512��16λ��  ������С��512K��Ʒ
#define FLASH_BLOCK_USE                1                                                                        //ʹ�õ���1��block
#define STM32_FLASH_SIZE        512                                                                //128K Flash

#if STM32_FLASH_SIZE<256
#define STM_SECTOR_SIZE 1024
#else
#define STM_SECTOR_SIZE        2048
#endif       

#define USER_ADDR (FLASHSTART_ADDR+STM32_FLASH_SIZE*1024-FLASH_BLOCK_USE*STM_SECTOR_SIZE)

USER_ADDR 就是倒数可用的地址
作者: 1cccc    时间: 2021-5-12 17:02
你自己规化啊,我都是把高地址的做为参数存储区。
作者: 渐入寒冬    时间: 2021-5-13 16:48
daemondong 发表于 2021-5-13 12:51
从后往前用,除非你的程序很大,否则不会冲突的。

#define FLASHSTART_ADDR         0x08000000                                //128K &#65 ...

明白了   感谢感谢




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1