野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1063|回复: 6

STM32F429 内部flash 写失败

[复制链接]
发表于 2023-11-14 16:02:18 | 显示全部楼层 |阅读模式
求大神帮忙,用了一段时间的stm32f429,突然写内部flash失败。能读不能写。程序应该没有问题,100台里有1台异常的,而且用野火的例程改的。这个芯片的内部flash硬件容易坏吗?



        uint32_t uwStartSector = 0;
        uint32_t uwEndSector = 0;
       
        uint32_t uwAddress = 0;
        uint32_t uwSectorCounter = 0;

        uint8_t k = 0;
       
        __IO uint32_t uwData32 = 0;
        __IO uint32_t uwMemoryProgramStatus = 0;

  FLASH_Unlock();

  FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR |
                  FLASH_FLAG_PGAERR | FLASH_FLAG_PGPERR|FLASH_FLAG_PGSERR);

        uwStartSector = GetSector(FLASH_GRADS_START_ADDR);
        uwEndSector = GetSector(FLASH_GRADS_END_ADDR);

  uwSectorCounter = uwStartSector;
        while (uwSectorCounter <= uwEndSector)
  {
    if (FLASH_EraseSector(uwSectorCounter, VoltageRange_3) != FLASH_COMPLETE)
    {
        return 1;
    }
    if (uwSectorCounter == FLASH_Sector_11)
    {
       uwSectorCounter += 40;
    }
    else
    {
      uwSectorCounter += 8;
    }
  }
  uwAddress = FLASH_GRADS_START_ADDR;

        for(k = 0;k<=200;k++)
        {
                if (FLASH_ProgramWord(uwAddress, Sys.Grads_Chach[k] ) == FLASH_COMPLETE)
                {
                        uwAddress = uwAddress + 4;
                }
                else
                {
                        return 1;
                }               
        }
       
  FLASH_Lock();

  uwAddress = FLASH_GRADS_START_ADDR;
  uwMemoryProgramStatus = 0;

回复

使用道具 举报

发表于 2023-11-17 08:52:17 | 显示全部楼层
程序没看出有什么问题,有具体debug看看现象嘛,具体卡死在哪一步
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-11-17 09:52:54 | 显示全部楼层
菠萝片 发表于 2023-11-17 08:52
程序没看出有什么问题,有具体debug看看现象嘛,具体卡死在哪一步

擦除数据还是成功的,全FFFF,再写入是失败的。100台有1台,发生这个问题,感觉硬件不能这么脆弱吧
回复 支持 反对

使用道具 举报

发表于 2023-11-17 14:10:53 | 显示全部楼层
ppr123 发表于 2023-11-17 09:52
擦除数据还是成功的,全FFFF,再写入是失败的。100台有1台,发生这个问题,感觉硬件不能这么脆弱吧 ...

不改程序,直接使用给出的例程能不能正常的读写呢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-18 15:17:48 | 显示全部楼层
不是开始就不行的,都是用了一段时间,flash数据丢失的
回复 支持 反对

使用道具 举报

发表于 2024-1-18 16:40:06 | 显示全部楼层
ppr123 发表于 2024-1-18 15:17
不是开始就不行的,都是用了一段时间,flash数据丢失的

不是说是无法写入嘛,怎么又丢死?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-2-6 11:24:26 | 显示全部楼层
菠萝片 发表于 2024-1-18 16:40
不是说是无法写入嘛,怎么又丢死?

提问是用了一段时间的STM,突然就不能写数据了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 01:47 , Processed in 0.148296 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表