blob: c243c3650b1f91c3fda2261e6c97eb6c9e7c9f77 [file] [log] [blame]
/**************************************************
*
* This module contains the function `__low_level_init', a function
* that is called before the `main' function of the program. Normally
* low-level initializations - such as setting the prefered interrupt
* level or setting the watchdog - can be performed here.
*
* Note that this function is called before the data segments are
* initialized, this means that this function cannot rely on the
* values of global or static variables.
*
* When this function returns zero, the startup code will inhibit the
* initialization of the data segments. The result is faster startup,
* the drawback is that neither global nor static data will be
* initialized.
*
* Copyright 1999-2004 IAR Systems. All rights reserved.
*
* $Revision: 50082 $
*
**************************************************/
#ifdef __cplusplus
extern "C" {
#endif
#include "System_XMC4500.h"
#pragma language=extended
__interwork int __low_level_init(void);
__interwork int __low_level_init(void)
{
/*==================================*/
/* Initialize hardware. */
/*==================================*/
/*==================================*/
/* Choose if segment initialization */
/* should be done or not. */
/* Return: 0 to omit seg_init */
/* 1 to run seg_init */
/*==================================*/
/* Init clock Sys clk 96MHz, MCU clk 96MHz, PB clk 48MHz */
SystemInit();
return 1;
}
#pragma language=default
#ifdef __cplusplus
}
#endif