GD32F303 片上FLASH无法写入数据

[复制链接]
 楼主| 慢慢爱上M3 发表于 2019-4-9 14:33 | 显示全部楼层 |阅读模式
代码如下:
#define WRITE_ADDR 0x0807F800
int main(void)
{
        uint32_t buff[5] = {1,2,3,4,5};
    /* configure systick */
  systick_config();
       
  fmc_unlock();
       
        fmc_page_erase(0x0807F800);
       
        fmc_flag_clear(FMC_FLAG_BANK0_END | FMC_FLAG_BANK0_WPERR | FMC_FLAG_BANK0_PGERR );
       
        fmc_word_program(WRITE_ADDR,0x88);
       
        fmc_lock();
       
        while(1)
        {
               
//                ST480_GetRawData();
               
               
                DelayMs(1000);
               
               
        }
       
   
}
 楼主| 慢慢爱上M3 发表于 2019-4-9 14:34 | 显示全部楼层
仿真查看memory发现无数据写入,有没有遇到同样的问题?是不是我哪里没配置好
 楼主| 慢慢爱上M3 发表于 2019-4-9 14:50 | 显示全部楼层
@版主大人 求指导
 楼主| 慢慢爱上M3 发表于 2019-4-12 11:22 | 显示全部楼层
结贴了,写入的地址不对
szn 发表于 2021-4-7 19:00 | 显示全部楼层
楼主GD32F303 片上FLASH最后有一个片区地址是不是0xA000 0000
szn 发表于 2021-4-7 19:06 | 显示全部楼层
@版主大人 求指导
麻花油条 发表于 2025-5-30 15:18 | 显示全部楼层
检查写入地址
laocuo1142 发表于 2025-5-30 15:19 | 显示全部楼层
FLASH写入前必须擦除对应地址的数据,通常以页或扇区为单位进行擦除。若直接覆盖写入,可能导致数据异常。
powerantone 发表于 2025-5-30 15:19 | 显示全部楼层
检查电压稳定性
stormwind123 发表于 2025-5-30 15:19 | 显示全部楼层
在代码中实现地址对齐时,建议使用位操作(如address & ~0x7FF)确保对齐性,避免依赖十进制计算的近似结果。
probedog 发表于 2025-5-30 15:20 | 显示全部楼层
在写入和擦除操作后,需检查返回值或状态标志位,对错误情况进行处理,避免程序继续执行导致数据错误。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

14

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部