# HG changeset patch # User Jacob Alexander # Date 1415174973 28800 # Node ID 2ddb7c0a4f513594b20bb3690ea32d0ca8b333cb # Parent f23f6cff7ef8aae35484065d6888b36f559cedbf Adding FPROT flash protection bit for 4k Bootloader on the mk20dx128vlf5 - Minimum protection size is 4k on the mk20dx128vlf5 diff -r f23f6cff7ef8 -r 2ddb7c0a4f51 Lib/mk20dx.c --- a/Lib/mk20dx.c Sun Nov 02 23:24:59 2014 -0800 +++ b/Lib/mk20dx.c Wed Nov 05 00:09:33 2014 -0800 @@ -361,7 +361,17 @@ __attribute__ ((section(".flashconfig"), used)) const uint8_t flashconfigbytes[16] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // Backdoor Verif Key 28.3.1 - 0xFF, 0xFF, 0xFF, 0xFF, // Program Flash Protection Bytes FPROT0-3 + + // + // Protecting the first 4k of Flash memory from being over-written while running (bootloader protection) + // Still possible to overwrite the bootloader using an external flashing device + // For more details see: + // http://cache.freescale.com/files/training/doc/dwf/AMF_ENT_T1031_Boston.pdf (page 8) + // http://cache.freescale.com/files/microcontrollers/doc/app_note/AN4507.pdf + // http://cache.freescale.com/files/32bit/doc/ref_manual/K20P48M50SF0RM.pdf (28.34.6) + // + 0xFF, 0xFF, 0xFF, 0xFE, // Program Flash Protection Bytes FPROT0-3 + 0xBE, // Flash security byte FSEC 0x03, // Flash nonvolatile option byte FOPT 0xFF, // EEPROM Protection Byte FEPROT