打印
[STM32L0]

stm32g071 flash iap 写入progerr 有点怪

[复制链接]
502|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yuntian|  楼主 | 2021-5-12 09:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
定义了一个结构体常量,并初始化在 flash 中,
struct
{
uint8_t  dat[64]
}ct;

const struct ct test_data  = {0xff.0xff.0xff........0xff}

hal_program_flash 提示出错, progerr 手册里这个错误原因是 写入地址 不是 值为 全1 ,即 0xffffffffffffffff,
因为初始化了这个地方就是全 1 ,如果写入的地址不是这个常量位置就是可以写入的。
    因为用st-link 写入时,是全片擦除的,这样就可以写入,问题在于哪怕是你写入 0xffff这种全 1 的值,再次写入也会出错,咋会是这样呢?

使用特权

评论回复
沙发
yuntian|  楼主 | 2021-5-18 08:35 | 只看该作者
没人碰到过这个问题么?

使用特权

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

本版积分规则

29

主题

178

帖子

1

粉丝