打印

GD32F350G8 fmc写不进数据到flash

[复制链接]
1137|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
IFELSERETURN|  楼主 | 2023-8-25 16:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 IFELSERETURN 于 2023-8-25 16:57 编辑

--write_update_flag是入口函数
void write_update_flag(uint32_t flag) {
        if(FMC_flash_write_word(0x80FC00, 0xaa))
                printf("FMC_flash_write_word success\n");
        else
                printf("FMC_flash_write_word error\n");

        FMC_flash_read_word(0x80FC00);
}

uint8_t FMC_flash_write_word(uint32_t address, uint32_t pData)
{
        fmc_state_enum FLASHStatus;
        uint32_t AddressTemp = 0;
        
        AddressTemp = address ;

        printf("FMC_flash_write_word write: %d \r\n",pData);
        fmc_unlock();
        fmc_page_erase(AddressTemp);
        fmc_flag_clear(FMC_FLAG_END | FMC_FLAG_WPERR | FMC_FLAG_PGERR);
        FLASHStatus = fmc_word_program(AddressTemp, pData);
        if (*((volatile uint32_t*)AddressTemp) != pData){
                printf("write error\n");
                return 0;
        }
        if (FLASHStatus != FMC_READY){
                printf("FLASHStatus != FMC_READY\n");
                return 0;
        }
        fmc_lock();
        return 1;
}

使用特权

评论回复
沙发
IFELSERETURN|  楼主 | 2023-8-25 16:43 | 只看该作者
读出来的数据一直是0

使用特权

评论回复
板凳
Addition| | 2023-8-25 16:48 | 只看该作者
官网的Firmware_Library有例程

使用特权

评论回复
地板
IFELSERETURN|  楼主 | 2023-8-25 16:58 | 只看该作者
可以了

使用特权

评论回复
5
zhuhuis| | 2023-8-25 21:55 | 只看该作者
怎么解决的?

使用特权

评论回复
6
Bowclad| | 2023-9-5 23:53 | 只看该作者
这个有例程的吧

使用特权

评论回复
7
duo点| | 2023-9-20 15:36 | 只看该作者
请确保FMC配置正确,包括FMC地址、数据宽度、时序等参数。可以参考GD32F350G8的FMC配置文档进行检查和配置。

使用特权

评论回复
8
Undshing| | 2023-9-27 22:22 | 只看该作者
要先解锁

使用特权

评论回复
9
AloneKaven| | 2023-9-29 22:39 | 只看该作者
怎么修改的啊?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

22

帖子

1

粉丝