请选择 进入手机版 | 继续访问电脑版

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32G030 flash写存

[复制链接]
折翼的信鸽 提问时间:2020-2-18 15:11 /
使用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();  
收藏 评论2 发布时间:2020-2-18 15:11

举报

2个回答
折翼的信鸽 回答时间:2020-2-19 08:42:08
已解决
网络孤客 回答时间:2020-2-19 10:29:03

怎么解决的?为以后遇到同样问题的兄弟留下一个思路。
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版