У STM32F2 micro-controller
есть возможности предотвратить считывание кода приложения с помощью интерфейса отладки. Он отлично работает и выполняется довольно легко, настроив уровень защиты чтения (RDP) на '1' (!0xAA || !0xCC) or '2' (0xCC which is irreversible)
. Кроме того, что я пытаюсь отключить его, я запускаю проблемы.Снятие защиты считывания STM32F2
ожидаемое поведение, когда уровень RDP опускается обратно в 0:
- чип будет выполнять массовый флэш-стирания.
- После этого производится очистка флага защиты.
- Система сброса
За исключением после цикла питания вспышка была успешно стерт, но флаг защиты остается на уровне «1» (0x55), поддерживая интерфейс отладки отключен. И, таким образом, я не могу написать какой-либо новый код приложения. Можно обходиться с отладчиком и заставлять флаг на уровень 0 (0xAA) вручную, хотя ..
Есть ли у кого были такие же или подобные проблемы с серией STM32F2xx
, которые могут мне помочь? Я использую стандартные периферийные драйверы STM32
для программирования вспышки.
Включить
// Enable read out protection
FLASH_OB_Unlock();
FLASH_OB_RDPConfig(OB_RDP_Level_1);
FLASH_OB_Launch();
FLASH_OB_Lock();
// Restart platform
NVIC_SystemReset();
Отключить
// Disable read out protection
FLASH_OB_Unlock();
FLASH_OB_RDPConfig(OB_RDP_Level_0);
FLASH_OB_Launch();
FLASH_OB_Lock();
// Restart platform
NVIC_SystemReset();