通过SW0在M0 +上进行芯片擦除

问题描述 投票:0回答:1

我想通过SWD刷一个M0 +设备。这是由主处理器而不是程序员实现的。

我已经能够写入和验证到RAM而不是闪存。

它似乎与M3 / 4内核略有不同,因此它不适用于M0 +。

也许有人帮助我使用兼容的序列通过M0 +上的SWD进行芯片擦除和写入命令?

谢谢Daniel

arm cortex-m swd
1个回答
2
投票

闪存擦除是特定于器件的。您通常不能只将值写入闪存,您需要使用闪存控制器首先擦除块,然后重复执行写/验证访问,直到值稳定。该写入阶段通常也由控制器自动化。

由于闪存是通常运行代码的地方,因此您还需要先将代码下载例程复制到ram中,然后在闪存忙碌时从RAM执行。

所有访问都可以通过处理器或外部调试器执行。如果您想通过SWD执行访问,您的调试软件需要知道确切的目标设备,它的内存映射以及闪存控制器的要求。所有这些信息都应该在您正在使用的设备的数据表中(并且将由制造商的工具链支持)。

如果您编写自己的闪存程序,请务必坚持使用。 Flash是一个模拟组件,即使你不破坏芯片,你仍然可能很容易进入一个难以恢复的状态。

© www.soinside.com 2019 - 2024. All rights reserved.