1、flash规格
本文使用N32L43XRL_STB官方开发板展开说明:

本文使用的主芯片为N32L436RBL7,flash大小为128k;

flash分为64个page,编号0-63,每个page为2k。
2、flash操作注意事项

(1)写、擦除操作必须打开HSI时钟;
(2)写操作仅支持32位,擦除至少以1个page位单位进行;
(3)等待周期,本文配置的HCLK为108MHZ,所以设置等待周期为3。
3、代码实现
//PAGE 0-63 0x0800 0000 - 0x0801 FFFF
#define FLASH_PAGE_SIZE 0x800 //2k
void FlashWrite(uint16_t len,uint8_t *data,uint32_t addr_start)
{
uint16_t i=0;
uint32_t temp=0;
uint32_t addr=addr_start;
FLASH_STS status = FLASH_COMPL;
while(FLASH_HSICLOCK_ENABLE != FLASH_ClockInit());
FLASH_Unlock();
for(i=0;i<l


776

被折叠的 条评论
为什么被折叠?



