mirror of
https://github.com/bluekitchen/btstack.git
synced 2025-01-08 12:50:52 +00:00
89 lines
2.8 KiB
C
89 lines
2.8 KiB
C
/*=============================================================================
|
|
* (C) Copyright Albis Technologies Ltd 2011
|
|
*==============================================================================
|
|
* STM32 Example Code
|
|
*==============================================================================
|
|
* File name: vector_funcs.c
|
|
*
|
|
* Notes: STM32 vector functions.
|
|
*============================================================================*/
|
|
|
|
/* Get a linker script symbol's value. */
|
|
#define GET_LDS_ULONG(symbol) ((unsigned long)(&symbol))
|
|
|
|
extern unsigned long _data_start_in_flash;
|
|
extern unsigned long _data_start_in_ram;
|
|
extern unsigned long _data_section_size;
|
|
extern unsigned long _bss_start;
|
|
extern unsigned long _bss_size;
|
|
|
|
extern void main(void);
|
|
|
|
/*=============================================================================
|
|
=============================================================================*/
|
|
void startup(void)
|
|
{
|
|
unsigned long len, i;
|
|
unsigned long *src, *dest;
|
|
|
|
/* Zero out BSS. */
|
|
dest = (void *)GET_LDS_ULONG(_bss_start);
|
|
len = GET_LDS_ULONG(_bss_size);
|
|
for(i = 0; i < len; i += 4)
|
|
{
|
|
*(dest++) = 0;
|
|
}
|
|
|
|
/* Copy the data segment initializers from Flash to RAM. */
|
|
src = (void *)GET_LDS_ULONG(_data_start_in_flash);
|
|
dest = (void *)GET_LDS_ULONG(_data_start_in_ram);
|
|
len = GET_LDS_ULONG(_data_section_size);
|
|
for(i = 0; i < len; i += 4)
|
|
{
|
|
*(dest++) = *(src++);
|
|
}
|
|
|
|
main();
|
|
}
|
|
|
|
/*=============================================================================
|
|
=============================================================================*/
|
|
void App_NMI_ISR(void)
|
|
{
|
|
}
|
|
|
|
/*=============================================================================
|
|
=============================================================================*/
|
|
void App_Fault_ISR(void)
|
|
{
|
|
for(;;);
|
|
}
|
|
|
|
/*=============================================================================
|
|
=============================================================================*/
|
|
void App_BusFault_ISR(void)
|
|
{
|
|
for(;;);
|
|
}
|
|
|
|
/*=============================================================================
|
|
=============================================================================*/
|
|
void App_UsageFault_ISR(void)
|
|
{
|
|
for(;;);
|
|
}
|
|
|
|
/*=============================================================================
|
|
=============================================================================*/
|
|
void App_MemFault_ISR(void)
|
|
{
|
|
for(;;);
|
|
}
|
|
|
|
/*=============================================================================
|
|
=============================================================================*/
|
|
void App_Spurious_ISR(void)
|
|
{
|
|
for(;;);
|
|
}
|