This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSPM0L1228:在移植基于 Zephyr 的 ARM 固件的上下文中进行闪存擦除

Guru**** 2782615 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1611348/mspm0l1228-flash-erase-in-context-of-porting-a-zephyr-based-arm-firmware

器件型号: MSPM0L1228

我觉得很傻的问,因为答案必须是显而易见的:

我的任务是编写一份基于 Zephyr 的 ARM 固件到 TI 微控制器的迁移指南。

 

写入前我是否需要擦除闪存扇区 (1KB)?

不同制造商提供的电流控制器需要在写入随机数据之前进行页 (2KB) 擦除。

 

TI 控制器接缝允许写入随机数据、而无需先显式擦除存储器?

我们在移植期间是否可以只禁用 flash_erase 调用?

 

www.ti.com/.../slau847e.pdf 第 6 章是我想要的。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Michael:

    大多数情况下、需要在编程前擦除。 还应注意的是、存储器也在执行闪存操作后自动受到动态写保护。 通用编程流程如下:

    1. 取消保护  
    2. 擦除
    3. 取消保护
    4. 变量

    1KB 闪存是最小的擦除分辨率、但编程为 8 个字节(但也可以配置为 1 字节分辨率)。 擦除一个扇区后、用户可以向任何闪存字大小的区域写入一次、然后才需要再次擦除。

    最后需要注意的一点是、在不擦除的情况下、可以重新编程同一闪存字、但只能在将 1 转换为 0 时使用。 如果不再次擦除、则无法将 0 转换为 1。

    此致、
    Brian