STM32使用内部flash模拟EEPROM

本文介绍了在Ubuntu16.04环境下,使用SW4STM32、STM32CubeMX和STM32F103C8T6微控制器,如何将内部Flash的最后2k空间模拟为EEPROM。通过修改eeprom.h文件中的页大小和起始地址,实现了在有限的Flash资源中创建模拟EEPROM的功能,并提供了测试代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开发环境:

Ubuntu16.04 + SW4STM32 + STM32CubeMX + STM32F103C8T6

 

首先复制SW4STM32模拟EEPROM例子中的eeprom.h和eeprom.c到自己的project,例子路径为:

~/.ac6/SW4STM32/firmwares/STM32Cube_FW_F1_V1.6.0/Projects/STM32F103RB-Nucleo/Applications/EEPROM/EEPROM_Emulation

并按如下进行修改eeprom.h。

默认的page太大,我们将其改为1024Byte,这样2个page就只占用了2k的空间。

我们所用芯片只有64k的flash,所以把最后的2k拿来模拟eeprom,因此要将起始地址 改为ADDR_FLASH_PAGE_62。

/* Define the size of the sectors to be used */
-#define PAGE_SIZE               (uint32_t)FLASH_PAGE_S
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值