mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
40bcfc9211
Signed-off-by: Anton Gerasimov <anton.gerasimov@here.com>
75 lines
2.9 KiB
C
75 lines
2.9 KiB
C
/*
|
|
* Copyright (C) 2015 PHYTEC Messtechnik GmbH
|
|
* Copyright (C) 2015 Eistec AB
|
|
*
|
|
* This file is subject to the terms and conditions of the GNU Lesser General
|
|
* Public License v2.1. See the file LICENSE in the top level directory for more
|
|
* details.
|
|
*/
|
|
|
|
/**
|
|
* @ingroup cpu_kinetis
|
|
* @{
|
|
*
|
|
* @file
|
|
* @brief Default FCF code for Freescale Kinetis MCUs
|
|
*
|
|
* @author Johann Fischer <j.fischer@phytec.de>
|
|
* @author Joakim Nohlgård <joakim.nohlgard@eistec.se>
|
|
*
|
|
* @}
|
|
*/
|
|
|
|
#include <stdint.h>
|
|
#include "cpu.h"
|
|
#include "board.h"
|
|
|
|
/* See the corresponding CPU reference manual for the meaning of the FOPT boot
|
|
* configuration bits. */
|
|
#ifndef KINETIS_FOPT
|
|
#define KINETIS_FOPT 0xff
|
|
#endif
|
|
|
|
/* fcfield table */
|
|
#ifdef KINETIS_SERIES_EA
|
|
__attribute__((weak, used, section(".fcfield")))
|
|
const uint8_t flash_configuration_field[] = {
|
|
0xff, /* backdoor comparison key 3., offset: 0x0 */
|
|
0xff, /* backdoor comparison key 2., offset: 0x1 */
|
|
0xff, /* backdoor comparison key 1., offset: 0x2 */
|
|
0xff, /* backdoor comparison key 0., offset: 0x3 */
|
|
0xff, /* backdoor comparison key 7., offset: 0x4 */
|
|
0xff, /* backdoor comparison key 6., offset: 0x5 */
|
|
0xff, /* backdoor comparison key 5., offset: 0x6 */
|
|
0xff, /* backdoor comparison key 4., offset: 0x7 */
|
|
0xff, /* reserved, offset: 0x8 */
|
|
0xff, /* reserved, offset: 0x9 */
|
|
0xff, /* reserved, offset: 0xa */
|
|
0xff, /* reserved, offset: 0xb */
|
|
0xff, /* reserved, offset: 0xc */
|
|
0xff, /* non-volatile flash protection register, offset: 0xd */
|
|
0xfe, /* non-volatile flash security register, offset: 0xe */
|
|
0xff, /* non-volatile flash nonvolatile register, offset: 0xf */
|
|
};
|
|
#else
|
|
__attribute__((weak, used, section(".fcfield")))
|
|
const uint8_t flash_configuration_field[] = {
|
|
0xff, /* backdoor comparison key 3., offset: 0x0 */
|
|
0xff, /* backdoor comparison key 2., offset: 0x1 */
|
|
0xff, /* backdoor comparison key 1., offset: 0x2 */
|
|
0xff, /* backdoor comparison key 0., offset: 0x3 */
|
|
0xff, /* backdoor comparison key 7., offset: 0x4 */
|
|
0xff, /* backdoor comparison key 6., offset: 0x5 */
|
|
0xff, /* backdoor comparison key 5., offset: 0x6 */
|
|
0xff, /* backdoor comparison key 4., offset: 0x7 */
|
|
0xff, /* non-volatile p-flash protection 1 - low register, offset: 0x8 */
|
|
0xff, /* non-volatile p-flash protection 1 - high register, offset: 0x9 */
|
|
0xff, /* non-volatile p-flash protection 0 - low register, offset: 0xa */
|
|
0xff, /* non-volatile p-flash protection 0 - high register, offset: 0xb */
|
|
0xfe, /* non-volatile flash security register, offset: 0xc */
|
|
KINETIS_FOPT, /* FOPT non-volatile flash option register, offset: 0xd */
|
|
0xff, /* non-volatile eeram protection register, offset: 0xe */
|
|
0xff, /* non-volatile d-flash protection register, offset: 0xf */
|
|
};
|
|
#endif
|