X-Git-Url: http://git.asbjorn.biz/?p=rapper.git;a=blobdiff_plain;f=bitbucket_lpc1768%2Fstartup.c;fp=bitbucket_lpc1768%2Fstartup.c;h=0000000000000000000000000000000000000000;hp=b1c6418e587026daa33f58c0bc062e16e49697ee;hb=7964505b5eaf8be846f82c6c3c5a3f6c9dc84ede;hpb=dddaffd50b66ca9c149601a71673a66b90924b52 diff --git a/bitbucket_lpc1768/startup.c b/bitbucket_lpc1768/startup.c deleted file mode 100644 index b1c6418..0000000 --- a/bitbucket_lpc1768/startup.c +++ /dev/null @@ -1,91 +0,0 @@ -/* - * This is an ARM Cortex-M3 startup file for the NXP LPC1768. - * - * TODO: Add vendor (NXP) specific interrupt vectors. - * - * See also: http://bitbucket.org/jpc/lpc1768/ - * - * Copyright (c) 2010 LoEE - Jakub Piotr Cłapa - * This program is released under the new BSD license. - */ -#include "CMSIS/LPC17xx.h" - -// Dummy handler. -void Default_Handler (void) { while (1); } - -// Weakly bind all interrupt vectors to the dummy handler. -void __attribute__((weak)) Reset_Handler(void); -void __attribute__((weak)) NMI_Handler(void); -void __attribute__((weak)) HardFault_Handler(void); -void __attribute__((weak)) MemManage_Handler(void); -void __attribute__((weak)) BusFault_Handler(void); -void __attribute__((weak)) UsageFault_Handler(void); -void __attribute__((weak)) SVC_Handler(void); -void __attribute__((weak)) DebugMon_Handler(void); -void __attribute__((weak)) PendSV_Handler(void); -void __attribute__((weak)) SysTick_Handler(void); -#pragma weak NMI_Handler = Default_Handler -#pragma weak HardFault_Handler = Default_Handler -#pragma weak MemManage_Handler = Default_Handler -#pragma weak BusFault_Handler = Default_Handler -#pragma weak UsageFault_Handler = Default_Handler -#pragma weak SVC_Handler = Default_Handler -#pragma weak DebugMon_Handler = Default_Handler -#pragma weak PendSV_Handler = Default_Handler -#pragma weak SysTick_Handler = Default_Handler - -// Start of the stack (last RAM address; exported in the linker script) -extern void _sstack; - -// The signature of Cortex-M3 interrupt handlers. -typedef void (* const Interrupt_Handler_P)(void); - -// Interrupt vectors table -__attribute__ ((section(".cs3.interrupt_vector"))) -Interrupt_Handler_P interrupt_vectors[] = { - &_sstack, // the first word contains the initial - // stack pointer the hardware loads it - // to the SP register before the first - // instruction - // Standard Cortex-M3 interrupts: - Reset_Handler, - NMI_Handler, - HardFault_Handler, - MemManage_Handler, - BusFault_Handler, - UsageFault_Handler, - 0xefff7d26, - 0, - 0, - 0, - SVC_Handler, - DebugMon_Handler, - 0, - PendSV_Handler, - SysTick_Handler, - // Vendor specific interrupts for LPC1768: -}; - -extern int main (void); - -extern uint32_t _etext, _sdata, _edata, _sbss, _ebss; - -void -Reset_Handler(void) -{ - // Initialize clocks - SystemInit (); - - uint32_t *s, *d; - // Copy initialization data to RAM (.data section) - s = &_etext; - d = &_sdata; - while (d < &_edata) *d++ = *s++; - // Zero the remaining allocated RAM (.bss section) - d = &_sbss; - while (d < &_ebss) *d++ = 0; - - // Everything is ready. Run the user program. - main(); - while (1); -}