сайт для палких паяльників

Option bytes, защита прошивки

Option bytes настраиваются разработчиком прошивки в зависимости от потребностей. Это несколько байт, в разных контроллеров их количество разное, с помощью которых можно установить некоторые настройки и защитить Flash от записи и чтения. Защитив нужные страницы Flash от записи, можно избежать ошибочного повреждения программы во время работы. Установка защиты от считывания делает невозможным считывание и копирование прошивки.

Подробно о том, как организованы Option bytes, можно прочитать в Programming manual en.CD00233952.pdf

Option bytes доступные для нашего контроллера STM32F103:

  • RDP – Защита от считывания программы записанной во Flash. Для STM32F0, STM32F2, STM32F3, STM32F4, STM32L4, STM32L1 могут быть три уровня, для нашего контроллера STM32F103 только Enabled / Disabled. Если установить RDP, программатор ST-LINK не сможет ничего сделать с микроконтроллером. Надо будет подключиться через UART и сбросить RDP. При сбросе RDP выполняется Full Erase, то есть полная очистка. Помните, снимая защиту от считывания, прошивка с микроконтроллера УДАЛЯЕТСЯ !
  • WDG_SW – Если выключить, тогда watchdog будет включаться автоматически при подаче питания на микроконтроллер.
  • nRST_STOP – Если выключить, будет перезагружаться при входе в режим STOP.
  • nRST_STDBY – Если выключить, будет перезагружаться при входе в режим STANDBY.
  • User Storage option bytes (Data 0, Data 1). Два байта, которые можно использовать для собственных нужд. Этих двух байт нет у STM32F0, STM32F2, STM32F3, STM32F4, STM32L1.
  • Flash sector protection – защищает страницы флэш от записи при выполнении программы. Если на страницы Flash установлена защита, ST-LINK Utility сможет перезаписать прошивку. ST-LINK Utility выдаст предупреждение, что защита была снята перед прошивкой, а потом защита была восстановлена. А вот Flash Loader Demonstartor, пишущий через UART, записать не сможет. Надо сначала снять защиту, залить новую прошивку, а затем вернуть защиту.

ST-LINK Utility (Windows)

Для настройки Option bytes с помощью ST-LINK Utility надо выполнить Target -> Connect, после чего зайти в Target -> Option bytes … и установить нужные Option bytes. Обращаю Ваше внимание, после установки Read Out Protection, программатор не сможет больше работать с контроллером по SWD.

st-linkutility_ob_01

st-linkutility_ob_02

Flash Loader Demonstartor (Windows)

Для настройки Option bytes с помощью Flash Loader Demonstartor надо выбрать пункт “Edit option bytes” и в следующем окне установить нужные Option bytes.

flashloaderdemonstartor_ob_03

flashloaderdemonstartor_ob_04

stm32flash (Ubuntu)

Установить Read protection:

sudo stm32flash -j /dev/ttyUSB0

Снять защиту от чтения:

sudo stm32flash -k /dev/ttyUSB0

Снять защиту от записи:

sudo stm32flash -u /dev/ttyUSB0

Желаю успехов!

Смотри также:

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

 
Translate
Архіви

© 2011-2017 Андрій Корягін, Кременчук, Україна