стереть чип через SWD на M0 + - PullRequest
0 голосов
/ 18 марта 2019

Я хочу прошить устройство M0 + через SWD.Это реализуется хост-процессором вместо программиста.

Я уже могу писать и проверять в ОЗУ, но не во флэш-памяти.

Кажется, он немного отличается от M3 / 4.Ядра, поэтому он не работает для M0 +.

Может быть, кто-нибудь из вас поможет мне с совместимой последовательностью сделать стирание микросхемы и команду записи через SWD на M0 +?

спасибо Даниэль

1 Ответ

2 голосов
/ 18 марта 2019

Стирание флэш-памяти зависит от устройства. Как правило, вы не можете просто записать значения во флэш-память, вам нужно использовать контроллер флэш-памяти, чтобы сначала стереть блок, а затем повторно выполнять операции записи / проверки, пока значение не станет стабильным. Эта стадия записи обычно также автоматизируется контроллером.

Поскольку флэш-память - это то место, откуда обычно запускается код, вам также необходимо сначала скопировать подпрограмму загрузки кода в оперативную память и выполнить ее из ОЗУ, пока флэш-память занята.

Все обращения могут выполняться через процессор или с помощью внешнего отладчика. Если вы хотите выполнить доступ через SWD, ваше программное обеспечение для отладки должно знать точное целевое устройство, его карту памяти и требования контроллера флэш-памяти. Вся эта информация должна быть в таблице данных для устройства, которое вы используете (и где-то будет поддерживаться цепочкой инструментов производителя).

Если вы пишете свою собственную флэш-программу, обязательно придерживайтесь спецификаций. Флэш - это скорее аналоговый компонент, и даже если вы не уничтожите чип, вы все равно можете легко прийти в состояние, из которого трудно восстановиться.

...