使用cube配置的hal库来写,由于G030没有eeprom,所以想使用flash写存来代替,常规的flash写存 1)解锁flash 2)flash页擦除 3)写flash数据 4)锁存flash 测试运行仅写存成功一次,之后无法在此写存,发现异常均卡在页擦除失败,无法对flash写存。在此发帖寻求答案,谢谢。 下面是牵扯到的程序, #define APPL_MAGIC_VALUE (uint32_t)0x08006000 /* NVM区域标记 */ #define NVM_MODE_VALUE_OFFSET APPL_MAGIC_VALUE FLASH_EraseInitTypeDef My_Flash; __disable_irq(); // HAL_FLASH_Unlock(); My_Flash.TypeErase = FLASH_TYPEERASE_PAGES; //标明Flash执行页面只做擦除操作 My_Flash.Page = APPL_MAGIC_VALUE; //声明要擦除的地址 My_Flash.NbPages = 1; uint32_t PageError = 0; //FLASH_PageErase(APPL_MAGIC_VALUE); asd=HAL_FLASHEx_Erase(&My_Flash, &PageError); HAL_FLASH_Lock(); HAL_FLASH_Unlock(); HAL_FLASH_Program(FLASH_TYPEPROGRAM_DOUBLEWORD,APPL_MAGIC_VALUE, Light_Change_Flag); HAL_FLASH_Lock(); __enable_irq(); |
STM32G0 一个引脚对应多个GPIO是怎么配置法?
STM32G0在IAR下环境搭建问题求助
STM32G031G8的引导模式配置问题
STM32G070RBT ADC关闭后无法降低ADC开启产生的功耗
STM32G0 USB 2.0 FS 是否支持
STM32G070RB芯片部分ADC通道采样异常问题请教
STM32G030Jx与SWD烧录口复用
STM32G071AD抖动严重问题求教
STM32G070 RTC时间不跑
怎么解决的?为以后遇到同样问题的兄弟留下一个思路。