середу, 14 грудня 2016 р.

STM32: Як зняти захист на читання пам'яті мікроконтролера

Передмова

Часто-густо використовую мікроконтролерну міні платку з чипом STM32F103C8T6. Дуже зручно використовувати в якихось поштучних проектах-замовленнях. Замовляю на EBAY чи ALIEXPRESS. Платка приходить вже з прошитою простою програмою мікроконтролерного "Hello World" - блимання набортним світлодіодом. Підключаєш живлення до плати і блимає світлодіод - плата в робочому стані. І заливаєш потім свою прошивку.
Mini Board STM32F103CT6
Але одного разу залити прошивку в нещодавно придбані плати не вдалось. Хоча світлодіод блимав, як зазвичай. Прошивач обурювався помилкою - не можу прочитати флеш! "No read flash". Спробував інший прошивач - те саме. Запідозрив що щось не те і згадав, що на мікроконтролерах можна захищати свої прошивки від читання (авторскі права і все таке). Раз можна встановити захист, значить можна і зняти. В сенсі не прочитати код прошивки з метою крадіжки інтелектуальної праці, а з метою залити свою програму до мікроконтролера. Звісно, що при знятті захисту, попередня прошивка затирається.

Знімаємо захист на читання

Запускаємо ST-LINK Utility, завантажити можна на сайті виробника - ST-LINK Utility. Тицяємо мишею по меню "Target -> Option Bytes", або тиснемо зразу "CTRL+B". І в пункті "Read Out Protection" обираємо "Disable".
Protection Disable
Потім тиснемо кнопку "Apply" - пам'ять мікроконтролера очиститься від захищеної прошивки і ви зможете заливати свою. Якщо буде потреба захистити свою прошивку від посягань, то в пункті "Read Out Protection" обрати - "Enable".

Немає коментарів:

Дописати коментар