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

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 станут невозможны. Для продолжения работы с контроллером, SWD позволяет снять READ OUT PROTECTION.

    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
    
    

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

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

Translate
Архіви

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