雪坤杰宇
时间:2026-09-09
你这里最大的问题是操作了0x08000000,这通常是程序起始地址,前面的0x20000db0也很像向量表里的初始栈指针,直接擦除这一页可能把正在运行的程序破坏掉
建议先在链接文件中预留一块不存放程序的Flash区域,再用这个地址测试,另外不要只靠delay判断操作完成,检查fmc_page_erase和fmc_continuous_program的返回值,以及FMC状态寄存器中的错误标志
GD32W51x还需要注意安全与非安全Flash的访问权限,以及页面写保护配置,写入受保护页面会被忽略并产生错误标志
可以先换一个确认空闲的页,擦除后验证是否为0xFFFFFFFF,再单独写入一个32位数据测试,确认基础读写正常后再使用连续编程
暂无内容
相关内容会显示在这里,期待您的分享与发现。
暂无内容
相关内容会显示在这里,期待您的分享与发现。
暂无内容
相关内容会显示在这里,期待您的分享与发现。
暂无内容
相关内容会显示在这里,期待您的分享与发现。
暂无内容
相关内容会显示在这里,期待您的分享与发现。
确定删除吗?
删除后无法恢复,请确认后操作!
编辑