23. STM32. Программирование STM32F103. Option bytes
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.

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

stm32flash (Ubuntu)
Установить Read protection:
sudo stm32flash -j /dev/ttyUSB0
Снять защиту от чтения:
sudo stm32flash -k /dev/ttyUSB0
Снять защиту от записи:
sudo stm32flash -u /dev/ttyUSB0
Желаю успехов!
Смотри также:
- 1. STM32. Программирование STM32F103. Тестовая плата. Прошивка через последовательный порт и через ST-Link программатор
- 2. STM32. Программирование. IDE для STM32
- 3. STM32. Программирование STM32F103. GPIO
- 4. STM32. Программирование STM32F103. Тактирование
- 5. STM32. Программирование STM32F103. USART
- 6. STM32. Программирование STM32F103. NVIC
- 7. STM32. Программирование STM32F103. ADC
- 8. STM32. Программирование STM32F103. DMA
- 9. STM32. Программирование STM32F103. TIMER
- 10. STM32. Программирование STM32F103. TIMER. Захват сигнала
- 11. STM32. Программирование STM32F103. TIMER. Encoder
- 12. STM32. Программирование STM32F103. TIMER. PWM
- 13. STM32. Программирование STM32F103. EXTI
- 14. STM32. Программирование STM32F103. RTC
- 15. STM32. Программирование STM32F103. BKP
- 16. STM32. Программирование STM32F103. Flash
- 17. STM32. Программирование STM32F103. Watchdog
- 18. STM32. Программирование STM32F103. Remap
- 19. STM32. Программирование STM32F103. I2C Master
- 20. STM32. Программирование STM32F103. I2C Slave
- 21. STM32. Программирование STM32F103. USB
- 22. STM32. Программирование STM32F103. PWR
- 23. STM32. Программирование STM32F103. Option bytes
- 24. STM32. Программирование STM32F103. Bootloader
- STM32. Скачать примеры
- System Workbench for STM32 Установка на Ubuntu
- Keil uVision5 – IDE для STM32
- IAR Workbench – IDE для STM32
- Управление бесколлекторным двигателем постоянного тока (BLDC) с помощью STM32
- Управление PMSM с помощью STM32
Додати коментар
Недавні записи
- 🇺🇦 FOC Board STM32F103RB 🧩
- STM32 Motor control SDK - керування оборотами мотора за допомогою потенціометра 📑
- Flask✙Gunicorn✙Nginx➭😎
- STM32 Motor control SDK - програмне керування обертам мотора
- STM32 Motor control SDK - як створити перший проект
- Vue SVG. Приклад побудови живого параметричного креслення
- Вимірювання моменту мотора
- Vue SVG - компонент. Приклад 📑
- Flask + Vue 🏁 Финальный пример 🏁
- Flask, CORS, JSON-файл. Пример#6
Tags
bldc brushless stm32 motor web html css flask atmega foc git java-script pmsm raspberry-pi python websocket mongodb esp8266 nodemcu st-link tim timer docker ngnix programmator ssd1331 ssd1306 wifi uart meteo bme280 bmp280 i2c gps mpu-6050 mpu-9250 sensors 3d-printer options usb barometer remap watchdog flash eeprom rtc bkp encoder pwm servo capture examples dma adc nvic usart gpio books battery dc-dc sms max1674 avr lcd dht11 piezo rs-232 rfid solar exti bluetooth eb-500 displays ethernet led smd soldering mpx4115a hih-4000
Архіви