1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-22 22:38:08 +00:00

memory_protect: update last commit

This commit is contained in:
Pavol Rusnak 2017-08-31 11:25:34 +02:00
parent 5bb769a740
commit 0c30a19300
No known key found for this signature in database
GPG Key ID: 91F3B339B9A02A3D

View File

@ -22,16 +22,16 @@
#include "memory.h"
#include "sha2.h"
#define OPTION_BYTES_1 ((uint64_t *)0x1FFFC000)
#define OPTION_BYTES_2 ((uint64_t *)0x1FFFC008)
#define FLASH_OPTION_BYTES_1 (*(const uint64_t *)0x1FFFC000)
#define FLASH_OPTION_BYTES_2 (*(const uint64_t *)0x1FFFC008)
void memory_protect(void)
{
#if MEMORY_PROTECT
// Reference STM32F205 Flash programming manual revision 5 http://www.st.com/resource/en/programming_manual/cd00233952.pdf
// Section 2.6 Option bytes
// set RDP level 2 WRP for sectors 0 and 1 flash option control register matches
if ((((*OPTION_BYTES_1) & 0xFFEC) == 0xCCEC) && (((*OPTION_BYTES_2) & 0xFFF) == 0xFFC) && (FLASH_OPTCR == 0x0FFCCCED)) {
// set RDP level 2 WRP for sectors 0 and 1 flash option control register matches
if (((FLASH_OPTION_BYTES_1 & 0xFFEC) == 0xCCEC) && ((FLASH_OPTION_BYTES_2 & 0xFFF) == 0xFFC) && ((FLASH_OPTCR & 0x0FFFFFEC) == 0x0FFCCCED)) {
return; // already set up correctly - bail out
}
flash_unlock_option_bytes();