mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Committer:
bogdanm
Date:
Mon Aug 19 18:17:02 2013 +0300
Revision:
19:398f4c622e1b
Sync with official mbed library release 66

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bogdanm 19:398f4c622e1b 1 extern "C" {
bogdanm 19:398f4c622e1b 2
bogdanm 19:398f4c622e1b 3 #include "LPC11Uxx.h"
bogdanm 19:398f4c622e1b 4
bogdanm 19:398f4c622e1b 5 #define WEAK __attribute__ ((weak))
bogdanm 19:398f4c622e1b 6 #define ALIAS(f) __attribute__ ((weak, alias (#f)))
bogdanm 19:398f4c622e1b 7 #define AFTER_VECTORS __attribute__ ((section(".after_vectors")))
bogdanm 19:398f4c622e1b 8
bogdanm 19:398f4c622e1b 9 void ResetISR (void);
bogdanm 19:398f4c622e1b 10 WEAK void NMI_Handler (void);
bogdanm 19:398f4c622e1b 11 WEAK void HardFault_Handler (void);
bogdanm 19:398f4c622e1b 12 WEAK void SVCall_Handler (void);
bogdanm 19:398f4c622e1b 13 WEAK void PendSV_Handler (void);
bogdanm 19:398f4c622e1b 14 WEAK void SysTick_Handler (void);
bogdanm 19:398f4c622e1b 15 WEAK void IntDefaultHandler (void);
bogdanm 19:398f4c622e1b 16 void FLEX_INT0_IRQHandler(void) ALIAS(IntDefaultHandler);
bogdanm 19:398f4c622e1b 17 void FLEX_INT1_IRQHandler(void) ALIAS(IntDefaultHandler);
bogdanm 19:398f4c622e1b 18 void FLEX_INT2_IRQHandler(void) ALIAS(IntDefaultHandler);
bogdanm 19:398f4c622e1b 19 void FLEX_INT3_IRQHandler(void) ALIAS(IntDefaultHandler);
bogdanm 19:398f4c622e1b 20 void FLEX_INT4_IRQHandler(void) ALIAS(IntDefaultHandler);
bogdanm 19:398f4c622e1b 21 void FLEX_INT5_IRQHandler(void) ALIAS(IntDefaultHandler);
bogdanm 19:398f4c622e1b 22 void FLEX_INT6_IRQHandler(void) ALIAS(IntDefaultHandler);
bogdanm 19:398f4c622e1b 23 void FLEX_INT7_IRQHandler(void) ALIAS(IntDefaultHandler);
bogdanm 19:398f4c622e1b 24 void GINT0_IRQHandler (void) ALIAS(IntDefaultHandler);
bogdanm 19:398f4c622e1b 25 void GINT1_IRQHandler (void) ALIAS(IntDefaultHandler);
bogdanm 19:398f4c622e1b 26 void SSP1_IRQHandler (void) ALIAS(IntDefaultHandler);
bogdanm 19:398f4c622e1b 27 void I2C_IRQHandler (void) ALIAS(IntDefaultHandler);
bogdanm 19:398f4c622e1b 28 void TIMER16_0_IRQHandler(void) ALIAS(IntDefaultHandler);
bogdanm 19:398f4c622e1b 29 void TIMER16_1_IRQHandler(void) ALIAS(IntDefaultHandler);
bogdanm 19:398f4c622e1b 30 void TIMER32_0_IRQHandler(void) ALIAS(IntDefaultHandler);
bogdanm 19:398f4c622e1b 31 void TIMER32_1_IRQHandler(void) ALIAS(IntDefaultHandler);
bogdanm 19:398f4c622e1b 32 void SSP0_IRQHandler (void) ALIAS(IntDefaultHandler);
bogdanm 19:398f4c622e1b 33 void UART_IRQHandler (void) ALIAS(IntDefaultHandler);
bogdanm 19:398f4c622e1b 34 void USB_IRQHandler (void) ALIAS(IntDefaultHandler);
bogdanm 19:398f4c622e1b 35 void USB_FIQHandler (void) ALIAS(IntDefaultHandler);
bogdanm 19:398f4c622e1b 36 void ADC_IRQHandler (void) ALIAS(IntDefaultHandler);
bogdanm 19:398f4c622e1b 37 void WDT_IRQHandler (void) ALIAS(IntDefaultHandler);
bogdanm 19:398f4c622e1b 38 void BOD_IRQHandler (void) ALIAS(IntDefaultHandler);
bogdanm 19:398f4c622e1b 39 void FMC_IRQHandler (void) ALIAS(IntDefaultHandler);
bogdanm 19:398f4c622e1b 40 void USBWakeup_IRQHandler(void) ALIAS(IntDefaultHandler);
bogdanm 19:398f4c622e1b 41
bogdanm 19:398f4c622e1b 42 extern void __libc_init_array(void);
bogdanm 19:398f4c622e1b 43 extern int main(void);
bogdanm 19:398f4c622e1b 44 extern void _vStackTop(void);
bogdanm 19:398f4c622e1b 45
bogdanm 19:398f4c622e1b 46 extern void (* const g_pfnVectors[])(void);
bogdanm 19:398f4c622e1b 47 __attribute__ ((section(".isr_vector")))
bogdanm 19:398f4c622e1b 48 void (* const g_pfnVectors[])(void) = {
bogdanm 19:398f4c622e1b 49 &_vStackTop,
bogdanm 19:398f4c622e1b 50 ResetISR,
bogdanm 19:398f4c622e1b 51 NMI_Handler,
bogdanm 19:398f4c622e1b 52 HardFault_Handler,
bogdanm 19:398f4c622e1b 53 0,
bogdanm 19:398f4c622e1b 54 0,
bogdanm 19:398f4c622e1b 55 0,
bogdanm 19:398f4c622e1b 56 0,
bogdanm 19:398f4c622e1b 57 0,
bogdanm 19:398f4c622e1b 58 0,
bogdanm 19:398f4c622e1b 59 0,
bogdanm 19:398f4c622e1b 60 SVCall_Handler,
bogdanm 19:398f4c622e1b 61 0,
bogdanm 19:398f4c622e1b 62 0,
bogdanm 19:398f4c622e1b 63 PendSV_Handler,
bogdanm 19:398f4c622e1b 64 SysTick_Handler,
bogdanm 19:398f4c622e1b 65 FLEX_INT0_IRQHandler,
bogdanm 19:398f4c622e1b 66 FLEX_INT1_IRQHandler,
bogdanm 19:398f4c622e1b 67 FLEX_INT2_IRQHandler,
bogdanm 19:398f4c622e1b 68 FLEX_INT3_IRQHandler,
bogdanm 19:398f4c622e1b 69 FLEX_INT4_IRQHandler,
bogdanm 19:398f4c622e1b 70 FLEX_INT5_IRQHandler,
bogdanm 19:398f4c622e1b 71 FLEX_INT6_IRQHandler,
bogdanm 19:398f4c622e1b 72 FLEX_INT7_IRQHandler,
bogdanm 19:398f4c622e1b 73 GINT0_IRQHandler,
bogdanm 19:398f4c622e1b 74 GINT1_IRQHandler,
bogdanm 19:398f4c622e1b 75 0,
bogdanm 19:398f4c622e1b 76 0,
bogdanm 19:398f4c622e1b 77 0,
bogdanm 19:398f4c622e1b 78 0,
bogdanm 19:398f4c622e1b 79 SSP1_IRQHandler,
bogdanm 19:398f4c622e1b 80 I2C_IRQHandler,
bogdanm 19:398f4c622e1b 81 TIMER16_0_IRQHandler,
bogdanm 19:398f4c622e1b 82 TIMER16_1_IRQHandler,
bogdanm 19:398f4c622e1b 83 TIMER32_0_IRQHandler,
bogdanm 19:398f4c622e1b 84 TIMER32_1_IRQHandler,
bogdanm 19:398f4c622e1b 85 SSP0_IRQHandler,
bogdanm 19:398f4c622e1b 86 UART_IRQHandler,
bogdanm 19:398f4c622e1b 87 USB_IRQHandler,
bogdanm 19:398f4c622e1b 88 USB_FIQHandler,
bogdanm 19:398f4c622e1b 89 ADC_IRQHandler,
bogdanm 19:398f4c622e1b 90 WDT_IRQHandler,
bogdanm 19:398f4c622e1b 91 BOD_IRQHandler,
bogdanm 19:398f4c622e1b 92 FMC_IRQHandler,
bogdanm 19:398f4c622e1b 93 0,
bogdanm 19:398f4c622e1b 94 0,
bogdanm 19:398f4c622e1b 95 USBWakeup_IRQHandler,
bogdanm 19:398f4c622e1b 96 0,
bogdanm 19:398f4c622e1b 97 };
bogdanm 19:398f4c622e1b 98
bogdanm 19:398f4c622e1b 99 AFTER_VECTORS void data_init(unsigned int romstart, unsigned int start, unsigned int len) {
bogdanm 19:398f4c622e1b 100 unsigned int *pulDest = (unsigned int*) start;
bogdanm 19:398f4c622e1b 101 unsigned int *pulSrc = (unsigned int*) romstart;
bogdanm 19:398f4c622e1b 102 unsigned int loop;
bogdanm 19:398f4c622e1b 103 for (loop = 0; loop < len; loop = loop + 4) *pulDest++ = *pulSrc++;
bogdanm 19:398f4c622e1b 104 }
bogdanm 19:398f4c622e1b 105
bogdanm 19:398f4c622e1b 106 AFTER_VECTORS void bss_init(unsigned int start, unsigned int len) {
bogdanm 19:398f4c622e1b 107 unsigned int *pulDest = (unsigned int*) start;
bogdanm 19:398f4c622e1b 108 unsigned int loop;
bogdanm 19:398f4c622e1b 109 for (loop = 0; loop < len; loop = loop + 4) *pulDest++ = 0;
bogdanm 19:398f4c622e1b 110 }
bogdanm 19:398f4c622e1b 111
bogdanm 19:398f4c622e1b 112 extern unsigned int __data_section_table;
bogdanm 19:398f4c622e1b 113 extern unsigned int __data_section_table_end;
bogdanm 19:398f4c622e1b 114 extern unsigned int __bss_section_table_end;
bogdanm 19:398f4c622e1b 115
bogdanm 19:398f4c622e1b 116 AFTER_VECTORS void ResetISR(void) {
bogdanm 19:398f4c622e1b 117 unsigned int LoadAddr, ExeAddr, SectionLen;
bogdanm 19:398f4c622e1b 118 unsigned int *SectionTableAddr;
bogdanm 19:398f4c622e1b 119
bogdanm 19:398f4c622e1b 120 // Data Init
bogdanm 19:398f4c622e1b 121 SectionTableAddr = &__data_section_table;
bogdanm 19:398f4c622e1b 122 while (SectionTableAddr < &__data_section_table_end) {
bogdanm 19:398f4c622e1b 123 LoadAddr = *SectionTableAddr++;
bogdanm 19:398f4c622e1b 124 ExeAddr = *SectionTableAddr++;
bogdanm 19:398f4c622e1b 125 SectionLen = *SectionTableAddr++;
bogdanm 19:398f4c622e1b 126 data_init(LoadAddr, ExeAddr, SectionLen);
bogdanm 19:398f4c622e1b 127 }
bogdanm 19:398f4c622e1b 128
bogdanm 19:398f4c622e1b 129 // BSS Init
bogdanm 19:398f4c622e1b 130 while (SectionTableAddr < &__bss_section_table_end) {
bogdanm 19:398f4c622e1b 131 ExeAddr = *SectionTableAddr++;
bogdanm 19:398f4c622e1b 132 SectionLen = *SectionTableAddr++;
bogdanm 19:398f4c622e1b 133 bss_init(ExeAddr, SectionLen);
bogdanm 19:398f4c622e1b 134 }
bogdanm 19:398f4c622e1b 135
bogdanm 19:398f4c622e1b 136 SystemInit();
bogdanm 19:398f4c622e1b 137 __libc_init_array();
bogdanm 19:398f4c622e1b 138 main();
bogdanm 19:398f4c622e1b 139 while (1) {;}
bogdanm 19:398f4c622e1b 140 }
bogdanm 19:398f4c622e1b 141
bogdanm 19:398f4c622e1b 142 AFTER_VECTORS void NMI_Handler (void) {while(1){}}
bogdanm 19:398f4c622e1b 143 AFTER_VECTORS void HardFault_Handler(void) {while(1){}}
bogdanm 19:398f4c622e1b 144 AFTER_VECTORS void SVCall_Handler (void) {while(1){}}
bogdanm 19:398f4c622e1b 145 AFTER_VECTORS void PendSV_Handler (void) {while(1){}}
bogdanm 19:398f4c622e1b 146 AFTER_VECTORS void SysTick_Handler (void) {while(1){}}
bogdanm 19:398f4c622e1b 147 AFTER_VECTORS void IntDefaultHandler(void) {while(1){}}
bogdanm 19:398f4c622e1b 148
bogdanm 19:398f4c622e1b 149 #include <stdlib.h>
bogdanm 19:398f4c622e1b 150
bogdanm 19:398f4c622e1b 151 void *operator new (size_t size) {return malloc(size);}
bogdanm 19:398f4c622e1b 152 void *operator new[](size_t size) {return malloc(size);}
bogdanm 19:398f4c622e1b 153
bogdanm 19:398f4c622e1b 154 void operator delete (void *p) {free(p);}
bogdanm 19:398f4c622e1b 155 void operator delete[](void *p) {free(p);}
bogdanm 19:398f4c622e1b 156
bogdanm 19:398f4c622e1b 157 int __aeabi_atexit(void *object, void (*destructor)(void *), void *dso_handle) {
bogdanm 19:398f4c622e1b 158 return 0;
bogdanm 19:398f4c622e1b 159 }
bogdanm 19:398f4c622e1b 160
bogdanm 19:398f4c622e1b 161 }