GD32E230 内部flash 可以擦除 但不能写入

[复制链接]
3945|20
 楼主| 时空vsxx 发表于 2023-4-24 11:20 | 显示全部楼层 |阅读模式
最近使用GD32E230 进行开发,按照如下流程  扇区擦除(成功)-》flash解锁后(成功)-》字写入(32bit写入,函数返回值表示写入成功)-》flash锁定 ,使用MDK 的memory窗查看flash 依然是FF FF FF FF。测试双字写入也是一样的。但是函数返回值提示写入并没有错误。大家帮我看看这是什么情况
玛尼玛尼哄 发表于 2023-4-30 20:14 | 显示全部楼层
试试官方的例子,如果可以,那应该是操作错误,如果不行,那可能锁定了吧。
呐咯密密 发表于 2023-5-5 09:55 | 显示全部楼层
用官方例程测试,记住写的区域不能和代码区域重叠,不能超出FLASH容量,不会有问题的,我用的就是这款,没任何问题

评论

请问是用官方给的FMC例程测试的FLASH读写吗,我官方例程擦除成功,但是写不进去,写完立即读都是FF,麻烦大佬指点12  发表于 2023-7-24 09:31
 楼主| 时空vsxx 发表于 2023-5-16 09:56 | 显示全部楼层
好的,谢谢大家 找到问题了,粗心没看实际芯片的尾缀,实际只有32K flash , 我以为是64K flash的芯片 写到;了flash 区域以外
V853 发表于 2023-5-16 13:38 | 显示全部楼层
时空vsxx 发表于 2023-5-16 09:56
好的,谢谢大家 找到问题了,粗心没看实际芯片的尾缀,实际只有32K flash , 我以为是64K flash的芯片 写到 ...

哈哈,那你这个确实是疏忽大意了。
tpgf 发表于 2023-5-17 09:03 | 显示全部楼层
是不是楼主在做完擦除操作之后不小心锁上了flash啊
磨砂 发表于 2023-5-17 10:56 | 显示全部楼层
V853 发表于 2023-5-16 13:38
哈哈,那你这个确实是疏忽大意了。

这么小的flash 其最小的操作单元是多大的呢
晓伍 发表于 2023-5-17 11:56 | 显示全部楼层
V853 发表于 2023-5-16 13:38
哈哈,那你这个确实是疏忽大意了。

可是如果可以擦除的话 在擦除的时候不会报错吗
八层楼 发表于 2023-5-17 12:19 | 显示全部楼层
V853 发表于 2023-5-16 13:38
哈哈,那你这个确实是疏忽大意了。

超出其实际的大小的话  会不会吧不应该擦除的位置擦除了呢
观海 发表于 2023-5-17 13:29 | 显示全部楼层
呐咯密密 发表于 2023-5-5 09:55
用官方例程测试,记住写的区域不能和代码区域重叠,不能超出FLASH容量,不会有问题的,我用的就是这款,没 ...

如何确定代码区域的地址呢?是否可以考虑复制代码出来擦掉后再写入?
guanjiaer 发表于 2023-5-17 14:41 | 显示全部楼层
可以单独对超出的部分进行写保护防止误操作吗
linkunzhen 发表于 2023-5-23 17:02 | 显示全部楼层
呐咯密密 发表于 2023-5-5 09:55
用官方例程测试,记住写的区域不能和代码区域重叠,不能超出FLASH容量,不会有问题的,我用的就是这款,没 ...

您好,我们是GD的代理商,GD32E230C8T6这款你们有用到吗?我们有库存低价处理,不止是否有机会合作一下!
lidi911 发表于 2023-5-23 20:51 来自手机 | 显示全部楼层
有可能是MDK显示的问题,直接读出来比较数据是不是对的就OK了。
V853 发表于 2023-6-13 15:20 | 显示全部楼层
磨砂 发表于 2023-5-17 10:56
这么小的flash 其最小的操作单元是多大的呢

应该是4KB吧。
V853 发表于 2023-6-13 15:20 | 显示全部楼层
八层楼 发表于 2023-5-17 12:19
超出其实际的大小的话  会不会吧不应该擦除的位置擦除了呢

往上的话,我感觉应该不会,往下就说不好了。
V853 发表于 2023-6-13 15:21 | 显示全部楼层
晓伍 发表于 2023-5-17 11:56
可是如果可以擦除的话 在擦除的时候不会报错吗

可以重复擦除,有啥好报错的呢?
家有两宝呀 发表于 2023-7-24 15:52 | 显示全部楼层
在写入Flash后,处理器可能存在缓存,可能导致读回的数据并不是最新的。在执行写入后,可以使用(memory barrier)来刷新处理器的缓存,读取到的是最新的数据。
家有两宝呀 发表于 2023-7-24 15:52 | 显示全部楼层
也有可能是写入操作虽然函数返回值表示成功,但实际上并没有成功写入。这样的话可能需要检查写入函数的实现,确保写入操作成功了。
家有两宝呀 发表于 2023-7-24 15:53 | 显示全部楼层
数据的长度和地址等参数如果不正确,可能导致只有部分数据被写入。另外一部分可想而知,就没写进去。会导致错误
fred123456 发表于 2024-1-14 13:30 | 显示全部楼层
请问你这个怎么解决的 ? 我目前也是 可以erase 但是写入失败。 flash大小也看了 没有问题 我直接写了 800000+ 2k的地方  查看的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

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