关于CH32X035系列片上闪存(FLASH)编程问题

您好!

我在开发IAP程序时,注意到CH32X035系列芯片的片上FLASH的擦除与编程操作不同于之前用过的一些MCU。之前经常接触到的MCU片上FLASH允许按半字/字编程,只要地址对齐半字即可,擦除则是擦除1K-4K左右的一个较大的页;CH32X035则是在库中只提供了快速编程方法(一次编程256Bytes),擦除是一次擦除256Bytes的一个较小的页。

我想咨询:

1 CH32X035系列芯片是否不支持按半字/字编程?或者是支持但手册未写?

2 若只支持一次编程256Bytes,则我按照如下步骤进行操作后,是否可以得到预期的结果?

    a. 解锁闪存

    b. 擦除一页256Bytes

    c. 对该页写入0x55 0xaa 0xff (后面省略253个0xff)

    d. 对该页写入0xf0 0x0f 0x55 0xaa 0xff (后面省略251个0xff)

    e. 编程完毕后锁定闪存

    预期的结果:读取闪存该页,得到0x50 0x0a 0x55 0xaa 0xff (后面省略251个0x方法)


您好,CH32X035不支持半字/字编程,此外需要注意每次写之前需要进行一次擦除,因此你d步骤写入之前需要在执行一次擦除,最后读取的结果是最后一次写入的结果。后续若有问题,可邮箱(lzs@wch.cn)沟通。


如果d步骤没有擦除就直接写入,会报错,还是写入的再读取结果不可预期?


您好,没有擦除再写入读取的结果不确定


只有登录才能回复,可以选择微信账号登录