/******************************************************************************
|
* @file system_MK8000.h
|
* @brief CMSIS Device System Header
|
* File for Device MK8000
|
* @version V5.00
|
* @date 10. January 2018
|
******************************************************************************/
|
/*
|
* Copyright (c) 2009-2018 Arm Limited. All rights reserved.
|
*
|
* SPDX-License-Identifier: Apache-2.0
|
*
|
* Licensed under the Apache License, Version 2.0 (the License); you may
|
* not use this file except in compliance with the License.
|
* You may obtain a copy of the License at
|
*
|
* www.apache.org/licenses/LICENSE-2.0
|
*
|
* Unless required by applicable law or agreed to in writing, software
|
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
* See the License for the specific language governing permissions and
|
* limitations under the License.
|
*/
|
|
#ifndef SYSTEM_MK8000_H
|
#define SYSTEM_MK8000_H
|
|
#ifdef __cplusplus
|
extern "C" {
|
#endif
|
|
#include <stdint.h>
|
|
// define the firmware version
|
#define FIRMWARE_VERSION "V0.6.2"
|
#define VERSION_MAJOR (0)
|
#define VERSION_MID (6)
|
#define VERSION_MINOR (2)
|
|
// This version don't support secure boot
|
#define SECURE_EN 0
|
|
// User define
|
#define APP_BOOT_FLAG 0x10000000
|
#define APP_VERSION 0x00000002
|
#define APP_CPC 0x7F5AAAAA
|
|
#define BOOT_HEADER_MARKER 0x4D4BA5A5
|
|
#define SIG_LEN 256
|
#define PW_LEN 16
|
|
/**
|
\brief Exception / Interrupt Handler Function Prototype
|
*/
|
typedef void (*VECTOR_TABLE_Type)(void);
|
|
struct BOOT_DESC_T
|
{
|
uint32_t header_marker;
|
uint32_t boot_flag;
|
uint32_t boot_addr;
|
uint32_t cpc;
|
uint32_t image_len;
|
uint32_t image_crc;
|
uint32_t image_ver;
|
uint32_t code_crc;
|
#if SECURE_EN
|
uint8_t image_sig[SIG_LEN];
|
#endif
|
const uint8_t isp_unprotect_pw[PW_LEN];
|
const uint8_t isp_backdoor_pw[PW_LEN];
|
uint32_t copy_len;
|
uint32_t crc;
|
};
|
|
extern const struct BOOT_DESC_T mk_boot_desc __attribute__((aligned(16))) __attribute__((section(".ZBOOT_SECTION")));
|
extern const char mk_build_inf[80] __attribute__((section(".ZBUILD_SECTION")));
|
|
/**
|
\brief System Clock Frequency (Core Clock)
|
*/
|
extern uint32_t SystemCoreClock;
|
|
/**
|
\brief Setup the microcontroller system.
|
|
Initialize the System and update the SystemCoreClock variable.
|
*/
|
extern void SystemInit(void);
|
|
/**
|
\brief Update SystemCoreClock variable.
|
|
Updates the SystemCoreClock with current core Clock retrieved from cpu registers.
|
*/
|
extern void SystemCoreClockUpdate(void);
|
|
#ifdef __cplusplus
|
}
|
#endif
|
|
#endif /* SYSTEM_MK8000_H */
|