/****************************************************************************** * $Revision: 423 $ * $Date:: 2017-04-07 16:03:30 +0900#$ *****************************************************************************/ /* __DISCLAIMER_START__ */ /****************************************************************************** * (c)2017, Cypress Semiconductor Corporation * or a subsidiary of Cypress Semiconductor Corporation. All rights * reserved. * * This software, including source code, documentation and related * materials ( "Software" ), is owned by Cypress Semiconductor * Corporation or one of its subsidiaries ( "Cypress" ) and is protected by * and subject to worldwide patent protection (United States and foreign), * United States copyright laws and international treaty provisions. * Therefore, you may use this Software only as provided in the license * agreement accompanying the software package from which you * obtained this Software ( "EULA" ). * * If no EULA applies, Cypress hereby grants you a personal, nonexclusive, * non-transferable license to copy, modify, and compile the * Software source code solely for use in connection with Cypress' s * integrated circuit products. Any reproduction, modification, translation, * compilation, or representation of this Software except as specified * above is prohibited without the express written permission of Cypress. * * Disclaimer: THIS SOFTWARE IS PROVIDED AS-IS, WITH NO * WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING, * BUT NOT LIMITED TO, NONINFRINGEMENT, IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A * PARTICULAR PURPOSE. Cypress reserves the right to make * changes to the Software without notice. Cypress does not assume any * liability arising out of the application or use of the Software or any * product or circuit described in the Software. Cypress does not * authorize its products for use in any products where a malfunction or * failure of the Cypress product may reasonably be expected to result in * significant property damage, injury or death ( "High Risk Product" ). By * including Cypress' s product in a High Risk Product, the manufacturer * of such system or application assumes all risk of such use and in doing * so agrees to indemnify Cypress against all liability. ******************************************************************************/ /* __DISCLAIMER_END__ */ /*****************************************************************************/ /** \file start.h ** ** \brief Device dependent, tool-chain independent C header for device initialization ** ** This file allows to configure device settings and declares functions that ** are called from the startup script. All items marked by "<<<" can be ** configured to influence the device initialization. ** ** \note Function Start_PreInit() will be called prior to global variable ** initialization. ** ** History: ** - 2015-09-01 0.01 HS Initial version for Traveo *****************************************************************************/ #ifndef __START_H__ #define __START_H__ // File version YYXX = vYY.XX #define START_H_VERSION 0x0001 #ifndef __FILE_VERSION_CHECK__ /*****************************************************************************/ /* Include files */ /*****************************************************************************/ #include "base_types.h" /*****************************************************************************/ /* Global pre-processor symbols/macros ('#define') */ /*****************************************************************************/ /** System RAM start address */ #define SYSRAM_START_ADDRESS MCU_SYSRAM_BASE_ADDRESS /** System RAM size in byte */ #define SYSRAM_SIZE_BYTE MCU_SYSRAM_SIZE_BYTE /** Retention RAM start address */ #define BURAM_START_ADDRESS MCU_BURAM_BASE_ADDRESS /** Retention RAM size in byte */ #define BURAM_SIZE_BYTE MCU_BURAM_SIZE_BYTE /** Video RAM start address */ #define VRAM_START_ADDRESS MCU_VRAM_BASE_ADDRESS /** Retention RAM size in byte */ #define VRAM_SIZE_BYTE MCU_VRAM_SIZE_BYTE /** TCMRAM start address (TCMRAM AXI slave interface - no DMA access via TCM port) ** The start stack (located at the beginning of TCM RAM) must be excluded. It is ** defined and ECC initialized in the start assembly file. */ #define TCMRAM_AXI_START_ADDRESS MCU_TCMRAM_ADDRESS_TCM2AXI(0) /** TCMRAM size in byte */ #define TCMRAM_SIZE_BYTE MCU_TCMRAM_SIZE_BYTE /*****************************************************************************/ /* Global type definitions ('typedef') */ /*****************************************************************************/ typedef struct stc_clear_ecc_memories { uint32_t u32TcmRamStartAddress; ///< TCMRAM memory to ECC clean : Begin uint32_t u32TcmRamSizeByte; ///< TCMRAM memory to ECC clean : Size in bytes uint32_t u32SysRamStartAddress; ///< SYSRAM memory to ECC clean : Begin uint32_t u32SysRamSizeByte; ///< SYSRAM memory to ECC clean : Size in bytes uint32_t u32BuRamStartAddress; ///< BURAM memory to ECC clean : Begin uint32_t u32BuRamSizeByte; ///< BURAM memory to ECC clean : Size in bytes uint32_t u32EthRamStartAddress; ///< ETHRAM memory to ECC clean : Begin uint32_t u32EthRamSizeByte; ///< ETHRAM memory to ECC clean : Size in bytes } stc_clear_ecc_memories_t; /*****************************************************************************/ /* Global variable declarations ('extern', definition in C source) */ /*****************************************************************************/ extern const stc_clear_ecc_memories_t Start_stcClearEccMemories; /*****************************************************************************/ /* Global function prototypes ('extern', definition in C source) */ /*****************************************************************************/ extern void Start_PreInit(void); extern void Start_Init(void); extern uint32_t TestBackupRam; #endif /* __FILE_VERSION_CHECK__ */ #endif /* __START_H__ */