久芯网

stm32g030c8t 常量 const uint8_t test_code [64]= {0xff, 0xff......0xff} , 不能再次用代码

avatar yuntian365 提问时间: 2023-08-24 13:43:37 / 未解决
在f303, f407之类的是可以的
程序先定义了一些常量在 flash 里,初始化为 0xff, 用st-link把程序写入,程序再用代码把常量编程为非 0xff值,
提示错误,编程地址为空

如需获得 stm32g030c8t 等器件的更多信息,请点击链接或 点击此处 联系在线客服!

6个回答
  • avatar moluxiyan
    回答时间: 2023-08-24 14:12:00

    const 修饰了还能改?

  • avatar Hans.he
    回答时间: 2023-08-24 14:41:07

    您好 这个问题我大致知道,因为G0系列的flash是64+8有校验的,不能往flash写0xff的值。

  • avatar xmshao
    回答时间: 2023-08-24 15:10:14

    你说的这个情况是存在的,那样操作在F1/F3系列的确可以,但到了L0/L4这些系列就不支持这样操作了,这个地方存在着差异。你可以考虑留出1~2页空间供你所用,如果做结尾部分的就比较好操作点。另外,L0的flash标准编程方式只支持64位双字模式,这点要注意。

  • avatar xmshao
    回答时间: 2023-08-24 15:43:23

    修正下,前面的回复的L0应是 G0,笔误 谢谢!

  • avatar yuntian365
    回答时间: 2023-08-24 16:16:21

    混淆数据不能搞了,只能留空间,选擦除再写了

  • avatar butterflyspring
    回答时间: 2023-08-24 16:41:15

    查查是不是SIZERR 或者 PGAERR标志被置起来啦,如果是,那就是二楼说的那个问题哦,要按照64位去写,需要对齐。当然更巧妙的方法是单独留出1页或两页去写(也要按64位对齐),而且通过寿命管理可以增加次数

会员中心 微信客服
客服
回到顶部