klen 1 24 марта, 2016 Опубликовано 24 марта, 2016 · Жалоба Здравствуйте! вчера возникла ситуация когда потребовалось подменить прошивку в моем девайсе на 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 как бы все ожидаемо. это же туда писатся не хочет как и что надо туда запихнуть чтоб почистить микросхему? я не разобрася а надо бы.... просьба поделится знаниями кто это уже пропахал чтоб время не тратить спасибо Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 24 марта, 2016 Опубликовано 24 марта, 2016 · Жалоба Возможно не в тему, но - мы тут как-то на форуме (в прошлом году?) разбирались, что защита от чтения вступает в силу и снимается только в момент сброса. То есть если защита включена - записать вы можете, но результат снаружи сможете считать только после сброса или передергивания питания, поскольку защита продолжает действовать до сброса. Поэтому вы можете изнутри залоченной программы стереть option bytes и записать в них новое значение, и если в этом новом значении защита от чтения также будет включена - программа не сотрется и сможет работать с новыми значениями option bytes Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 24 марта, 2016 Опубликовано 24 марта, 2016 · Жалоба да как то dfu-util говорил что не может прописать OB и результатом был ресет после чго было видно что ничего не изменилось - выполнялась старая прошивка. у меня рабочаяя идея чт ов OB надо писать правильные байты чтоб контроллер флеша понял что мы от него хотим. то есть я полагал что как то это автоматизировано, типа отдельной командой - но в данном случае вероятно все можно с помощью dfu-util почистить но нужно правильную последовательность из 16 байтов всовывать. как в коде - программировать регистры контроллера флеша. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться