реклама на сайте
подробности

 
 
> STM32F4 dfu-utils, прочистка option bytes? mass erase
klen
сообщение Mar 24 2016, 13:31
Сообщение #1


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



Здравствуйте!
вчера возникла ситуация когда потребовалось подменить прошивку в моем девайсе на STM32F4 который уехал далеко.
я переслал по почте новый бинарь и инструкцию как залить через USB с помощью dfu-utils (как я обычно делал в таких ситуациях), если микросхема залочена то я отладчиком ее чистил.
засада оказалась в том что я в этом устройстве ввел защиту от чтения (level 1), и dfu-util предсказуемо послала моих далеких коллег лесом погулять. я потыкался и понять как прочистить option bytes с помощью dfu-utils с кондачка неполучилось.
поскольку надо было быстро решить проблему я порекомендовал виндовой DfuSe demo ее почистить и потом стандартным способом с помощью dfu-util все перезалить, так все сработало.
хотелось бы одной dfu-util обойтись


имеем незалоченну микросхему
dfu-util --device 0483:df11 --alt 1 --dfuse-address 0x1FFFC000 -U opt_bytes.bin -t 16 -v
читает
FF AA 00 55 FF AA 00 55 FF FF 00 00 FF FF 00 00
как бы все ожидаемо.
это же туда писатся не хочет
как и что надо туда запихнуть чтоб почистить микросхему?
я не разобрася а надо бы....
просьба поделится знаниями кто это уже пропахал чтоб время не тратить
спасибо
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 2)
Сергей Борщ
сообщение Mar 24 2016, 17:11
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



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


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
klen
сообщение Mar 24 2016, 18:49
Сообщение #3


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



да как то dfu-util говорил что не может прописать OB и результатом был ресет после чго было видно что ничего не изменилось - выполнялась старая прошивка.
у меня рабочаяя идея чт ов OB надо писать правильные байты чтоб контроллер флеша понял что мы от него хотим.
то есть я полагал что как то это автоматизировано, типа отдельной командой - но в данном случае вероятно все можно с помощью dfu-util почистить но нужно правильную последовательность из 16 байтов всовывать. как в коде - программировать регистры контроллера флеша.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 4th July 2025 - 03:57
Рейтинг@Mail.ru


Страница сгенерированна за 0.02977 секунд с 7
ELECTRONIX ©2004-2016