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

 
 
> STM32F407 OPTCR, Убивается МК
alevnew
сообщение Jul 4 2014, 05:16
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 90
Регистрация: 17-05-07
Пользователь №: 27 775



Сделал свой бутлоадер, вроде работает все.
Начал экспериментировать с залочкой прошивки, регистр FLASH->OPTCR.
Сделал отдельную команду для установки этого регистра, чтобы было более наглядно.
Когда меняю биты nWRP, все адекватно меняется и записывается в Option bytes.
После удачных экспериментов с nWRP начал пробовать менять биты RDP.
RDP успешно меняю с 0xAA на другое значение (кроме 0xCC, их пока не пробовал).
При этом камень обычно подвисает намертво, но после переподачи питания все работает и RDP какой надо.

Но вот обратно сменить уровень защиты с Level1 на Level0 (0xAA) получилось только один раз - камень тоже завис, но после переподачи питания стал работать, при этом вся прошивка оказалась испорченной (стертой?). При этом RDP стал снова 0xAA.
Но вот в остальных случаях камень убивался намертво. J-Link говорит что-то типа "Core CPU locked".
Потребление питания становится минимальным.
Пожертвовал на эксперименты уже 4 МК, решил пока остановиться sm.gif
Вот код изменения регистра OPTCR:

Код
void UpdateOPTCR(dword v){
    v &=0xFFFFFEC;
    while (FLASH->SR & FLASH_SR_BSY){};
    FLASH->OPTKEYR = 0x08192A3B;
    FLASH->OPTKEYR = 0x4C5D6E7F;
    while (FLASH->SR & FLASH_SR_BSY){};

        FLASH->OPTCR=v;
    FLASH->OPTCR =v | FLASH_OPTCR_OPTSTRT;
    while (FLASH->OPTCR & FLASH_OPTCR_OPTSTRT){}; //?????
    while (FLASH->SR & FLASH_SR_BSY){};
    FLASH->OPTCR |= FLASH_OPTCR_OPTLOCK;
}


Кто-то може сталкивался, знает в чем дело?
Тактирование от HSE, HSI тоже потом включил - не помогло.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- alevnew   STM32F407 OPTCR   Jul 4 2014, 05:16
- - mantech   Цитата(alevnew @ Jul 4 2014, 08:16) Сдела...   Jul 4 2014, 05:44
|- - alevnew   Цитата(mantech @ Jul 4 2014, 11:44) Если ...   Jul 4 2014, 07:17
|- - Сергей Борщ   Цитата(alevnew @ Jul 4 2014, 10:17) В док...   Jul 4 2014, 08:08
|- - alevnew   Цитата(Сергей Борщ @ Jul 4 2014, 14:08) Т...   Jul 4 2014, 09:00
- - adnega   Попробуйте ST-Link`ом по SWD с функцией Connec...   Jul 4 2014, 07:31
- - adnega   Попробуйте на BOOT0 подать 3.3В и сбросить CPU. За...   Jul 4 2014, 09:32
|- - alevnew   Цитата(adnega @ Jul 4 2014, 15:32) Попроб...   Jul 4 2014, 09:36
|- - adnega   Цитата(alevnew @ Jul 4 2014, 13:36) ...   Jul 4 2014, 10:05
|- - alevnew   Цитата(adnega @ Jul 4 2014, 16:05) А про ...   Jul 4 2014, 10:21
- - alevnew   Перенес функцию в ОЗУ - больше такой проблемы не в...   Jul 4 2014, 11:30
|- - Сергей Борщ   Цитата(alevnew @ Jul 4 2014, 14:30) Перен...   Jul 4 2014, 11:50
- - Golikov A.   ЦитатаМомент действительно неочевидный и в докумен...   Jul 4 2014, 16:49
|- - Сергей Борщ   Цитата(Golikov A. @ Jul 4 2014, 19:49) По...   Jul 4 2014, 17:31
|- - alevnew   Цитата(Golikov A. @ Jul 4 2014, 22:49) Но...   Jul 5 2014, 07:43
|- - adnega   Цитата(alevnew @ Jul 5 2014, 11:43) Но с ...   Jul 5 2014, 08:29
- - Golikov A.   Ну чисто теоретически: Берем какой-нибудь взрывоз...   Jul 4 2014, 18:24
|- - Сергей Борщ   Цитата(Golikov A. @ Jul 4 2014, 21:24) По...   Jul 4 2014, 18:40
|- - mantech   Цитата(Golikov A. @ Jul 4 2014, 21:24) Ну...   Jul 5 2014, 14:55
|- - Сергей Борщ   Цитата(mantech @ Jul 5 2014, 17:55) приче...   Jul 7 2014, 07:51
- - Golikov A.   тогда у меня нет вариантов... Может только как сам...   Jul 5 2014, 06:31
- - Golikov A.   ЦитатаВот это загадка... да может и не загадка. В...   Jul 5 2014, 09:48
- - adnega   Глобальное стирание flash длится более 5 секунд. А...   Jul 5 2014, 10:03


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

 


RSS Текстовая версия Сейчас: 20th July 2025 - 08:15
Рейтинг@Mail.ru


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