реклама на сайте
подробности

 
 
> IAP программирование Option Bytes (STM32F1)
Alt.F4
сообщение Jan 17 2015, 07:04
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256



Здравствуйте.
Создавал эту тему в разделе для начинающих, но там никто с подобным не сталкивался. Работаем по примерам от ST:
Код
if(FLASH_GetWriteProtectionOptionByte() != ~FLASH_WRProt_Pages0to1) {
FLASH_Unlock();
FLASH_EraseOptionBytes();
FLASH_UserOptionByteConfig(OB_IWDG_SW, OB_STOP_RST, OB_STDBY_RST);
FLASH_EnableWriteProtection(FLASH_WRProt_Pages0to1);
NVIC_SystemReset();}

Данный код работает как надо, т.е. по итогу мы получаем защиту от записи 0 и 1 страницы и прописанные User Bits, но смущает одна вещь.
В дебагере IAR после NVIC_SystemReset(); указатель не прыгает в Reset, а продолжает дальше выполнение кода, почему?

А теперь самый прикол, если написать вместо:
if(FLASH_GetWriteProtectionOptionByte() != ~FLASH_WRProt_Pages0to1)
любое другое условие,например:
if(FLASH_GetWriteProtectionOptionByte() != FLASH_WRProt_Pages0to1) или такое u8 k=0; if(!k),
то на NVIC_SystemReset(); дебаг прекращается и мы ловим защиту от чтения (причем защита от записи и User Bits при этом не устанавливаются).
Как это можно объяснить?
Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Alt.F4
сообщение Jan 20 2015, 15:53
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256



Заснял 2 минуты, вот ссылка на видео.
1. Дебаг по функциям библиотеки, показываю, что защита от записи не установилась, а все остальные позиции Option Byte прописались как надо.
2. Дебаг того же самого по дизассемблеру подвисает на самом интересном месте, но по итогу мы получаем тоже самое.
3. Пишем любое другое условие и ловит защиту от записи, причем без изменения других позиций Option Byte, магия?
Спасибо.

P.S. Чтобы обнулить Option Byte, необходимо изменить состояние Read Protection, поэтому в ST-Link Utility я сперва ее устанавливаю и затем сбрасываю.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 00:04
Рейтинг@Mail.ru


Страница сгенерированна за 0.01431 секунд с 7
ELECTRONIX ©2004-2016