Перейти к содержанию
    

STM32F4 dfu-utils

Здравствуйте!

вчера возникла ситуация когда потребовалось подменить прошивку в моем девайсе на 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

как бы все ожидаемо.

это же туда писатся не хочет

как и что надо туда запихнуть чтоб почистить микросхему?

я не разобрася а надо бы....

просьба поделится знаниями кто это уже пропахал чтоб время не тратить

спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

да как то dfu-util говорил что не может прописать OB и результатом был ресет после чго было видно что ничего не изменилось - выполнялась старая прошивка.

у меня рабочаяя идея чт ов OB надо писать правильные байты чтоб контроллер флеша понял что мы от него хотим.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...