23. STM32. Програмування STM32F103. Option bytes
Как захистити прошивку мыкроконтролера STM32 выд копыювання? Чи це взагалы реально?
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, програматор не зможе зчитувати памʼять мікроконтролера і виконувати debugging. Для відновлення роботи з мікроконтролером треба зняти Read Out Protection. 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. Тестова плата. Прошивка через UART та через 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
Недавні записи
- Деякі думки про точність вимірювань в електроприводі
- Датчики Холла 120/60 градусів
- Модуль драйверів напівмосту IGBT транзисторів
- Драйвер IGBT транзисторів на A316J
- AS5600. Варіант встановлення на BLDC мотор
- DC-DC для IGBT драйверів ізольований 2 W +15 -8 вольт
- U-FOC - Векторне керування безколекторними моторами
- FOC - своя реалізація векторного керування. Підбиваю підсумки 2022 року
- Конструктор регуляторів моторів. Підбиваю підсумки 2022 року.
- Чому трифазні мотори стали такими популярними?
Tags
html uart pmsm hih-4000 mpu-9250 soldering dc-dc ethernet mpx4115a foc programmator ssd1306 bmp280 examples java-script raspberry-pi tim servo books eb-500 mongodb nodemcu docker wifi lcd adc max1674 dht11 python ssd1331 mpu-6050 remap rtc piezo solar displays led web css options dma gpio usart sms rfid esp8266 i2c 3d-printer usb pwm bldc atmega sensors barometer rs-232 git websocket motor meteo encoder bluetooth brushless timer watchdog eeprom battery st-link ngnix nvic smd stm32 flask gps capture avr bme280 flash bkp exti
Архіви