我想通过社署闪存一个M0+设备。这是由主机处理器而不是程序员实现的。
我已经能够写入和验证RAM,但不能写入闪存。
它似乎与M3/4内核有点不同,因此它不适用于M0+。
也许你们中的谁能帮我做一个兼容的序列,通过SWD在M0+上进行芯片擦除和写命令?
谢谢,丹尼尔
发布于 2019-03-19 01:17:22
闪存擦除是设备特定的。通常,您不能只将值写入闪存,您需要使用闪存控制器首先擦除数据块,然后重复执行写入/验证访问,直到值稳定为止。这个写入阶段通常也是由控制器自动化的。
由于闪存通常是运行代码的地方,因此您还需要首先将代码下载例程复制到ram中,并在闪存繁忙时从RAM执行。
所有的访问都可以在处理器上执行,或者由外部调试器执行。如果您想通过SWD执行访问,您的调试软件需要知道确切的目标设备、它的内存映射以及闪存控制器的要求。所有这些信息都应该在你正在使用的设备的数据表中(并将由制造商的工具链支持)。
如果你编写自己的flash例程,一定要遵循规范。闪存是一个模拟组件,即使你不破坏芯片,你可能仍然很容易达到难以恢复的状态。
https://stackoverflow.com/questions/55222175
复制相似问题