慢慢爱上M3 发表于 2019-4-9 14:33

GD32F303 片上FLASH无法写入数据

代码如下:
#define WRITE_ADDR 0x0807F800
int main(void)
{
        uint32_t buff = {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

在写入和擦除操作后,需检查返回值或状态标志位,对错误情况进行处理,避免程序继续执行导致数据错误。
页: [1]
查看完整版本: GD32F303 片上FLASH无法写入数据