Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: STM32F4 dfu-utils
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > GNU/OpenSource средства разработки
klen
Здравствуйте!
вчера возникла ситуация когда потребовалось подменить прошивку в моем девайсе на 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
klen
да как то dfu-util говорил что не может прописать OB и результатом был ресет после чго было видно что ничего не изменилось - выполнялась старая прошивка.
у меня рабочаяя идея чт ов OB надо писать правильные байты чтоб контроллер флеша понял что мы от него хотим.
то есть я полагал что как то это автоматизировано, типа отдельной командой - но в данном случае вероятно все можно с помощью dfu-util почистить но нужно правильную последовательность из 16 байтов всовывать. как в коде - программировать регистры контроллера флеша.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.