[TARGET] Name=STM32F373RC [LINK] ## link command file for STM32F373RC ## Copyright (c) 2015 by COSMIC Software ## +seg .vector -b 0x8000000 -o0 -m 0x10000 -n .vector # vectors start address #if defined(__OPT_PSPLIT__) -k #endif +seg .sconst -a .vector -n .sconst -r2 # short constants follow vectors +seg .const -a .sconst -m 0x40000 -n .const # large constants follow short constants +seg .text -a .const -n .text # program follow constants +seg .sdata -b 0x20000000 -o0 -m 0x1000 -n .sdata -r2 -id # short data start address +seg .sbss -a .sdata -n .sbss # short bss follow short data +seg .bss -a .sbss -o0 -m 0x8000 -n .bss # large bss follow short bss +seg .data -a .bss -n .data # large data follow large bss ## interrupt vectors #if defined(__STP_VECTOR__) __STP_VECTORFILE__ #endif ## startup file #if defined(__STP_CRTS__) "crts.cxm" #elif defined(__STP_CRTSI__) "crtsi.cxm" #endif ## application files __STP_FILES__ ## libraries #if defined(__OPT_PMODS__) #if defined(__STP_FLOAT__) #if defined(__OPT_PFPU__) "libfpus.cxm" #elif defined(__OPT_PSPREC__) "libfs.cxm" #else "libds.cxm" #endif #endif "libilc.cxm" # C library (if needed) #elif defined(__OPT_PMODSC__) #if defined(__STP_FLOAT__) #if defined(__OPT_PFPU__) "libfpusc.cxm" #elif defined(__OPT_PSPREC__) "libfsc.cxm" #else "libdsc.cxm" #endif #endif "libisc.cxm" # C library (if needed) #elif defined(__OPT_PMODL__) #if defined(__STP_FLOAT__) #if defined(__OPT_PFPU__) "libfpul.cxm" #elif defined(__OPT_PSPREC__) "libfl.cxm" #else "libdl.cxm" #endif #endif "libil.cxm" # C library (if needed) #else #if defined(__STP_FLOAT__) #if defined(__OPT_PFPU__) "libfpulc.cxm" #elif defined(__OPT_PSPREC__) "libflc.cxm" #else "libdlc.cxm" #endif #endif "libilc.cxm" # C library (if needed) #endif "libm.cxm" # machine library ## symbols +def __sram=pstart(.sbss) # bss start address +def __eram=pend(.bss) # bss end address +def __sdata=pstart(.sdata) # start of based data +def __stack=0x20008000 # stack pointer initial value +def __memory=pend(.data) # symbol used by library [VECTOR] /* INTERRUPT VECTOR TABLE FOR STM32F373 * Copyright (c) 2015 by COSMIC Software */ extern void _stext(void); /* startup code */ extern int _stack; /* stack address */ /* dummy interrupt function */ @interrupt void _dummit(void) { } #pragma section const {vector} /* vector table */ void (* const _vectab[98])(void) = { /* 0 */ (void *)&_stack, /* Initial Stack Pointer */ /* 1 */ _stext, /* Initial Program Counter */ /* 2 */ _dummit, /* Non-maskable Interrupt (NMI) */ /* 3 */ _dummit, /* Hard Fault */ /* 4 */ _dummit, /* MemManage Fault */ /* 5 */ _dummit, /* Bus Fault */ /* 6 */ _dummit, /* Usage fault */ /* 7 */ _dummit, /* reserved */ /* 8 */ _dummit, /* reserved */ /* 9 */ _dummit, /* reserved */ /* 10 */ _dummit, /* reserved */ /* 11 */ _dummit, /* Supervisor Call (SVCall) */ /* 12 */ _dummit, /* Debug Monitor */ /* 13 */ _dummit, /* reserved */ /* 14 */ _dummit, /* Pendable Service Request */ /* 15 */ _dummit, /* System Tick Timer */ /* 16 */ _dummit, /* Watchdog */ /* 17 */ _dummit, /* PVD */ /* 18 */ _dummit, /* TAMPER/STAMP */ /* 19 */ _dummit, /* RTC wakeup */ /* 20 */ _dummit, /* FLASH */ /* 21 */ _dummit, /* RCC */ /* 22 */ _dummit, /* EXTI0 */ /* 23 */ _dummit, /* EXTI1 */ /* 24 */ _dummit, /* EXTI2/TS */ /* 25 */ _dummit, /* EXTI3 */ /* 26 */ _dummit, /* EXTI4 */ /* 27 */ _dummit, /* DMA1 channel 1 */ /* 28 */ _dummit, /* DMA1 channel 2 */ /* 29 */ _dummit, /* DMA1 channel 3 */ /* 30 */ _dummit, /* DMA1 channel 4 */ /* 31 */ _dummit, /* DMA1 channel 5 */ /* 32 */ _dummit, /* DMA1 channel 6 */ /* 33 */ _dummit, /* DMA1 channel 7 */ /* 34 */ _dummit, /* ADC1 */ /* 35 */ _dummit, /* CAN TX */ /* 36 */ _dummit, /* CAN RX0 */ /* 37 */ _dummit, /* CAN RX1 */ /* 38 */ _dummit, /* CAN SCE */ /* 39 */ _dummit, /* EXTI5_9 */ /* 40 */ _dummit, /* TIM15 */ /* 41 */ _dummit, /* TIM16 */ /* 42 */ _dummit, /* TIM17 */ /* 43 */ _dummit, /* TIM18/DAC2 */ /* 44 */ _dummit, /* TIM2 */ /* 45 */ _dummit, /* TIM3 */ /* 46 */ _dummit, /* TIM4 */ /* 47 */ _dummit, /* I2C1 event */ /* 48 */ _dummit, /* I2C1 error */ /* 49 */ _dummit, /* I2C2 event */ /* 50 */ _dummit, /* I2C2 error */ /* 51 */ _dummit, /* SPI1 */ /* 52 */ _dummit, /* SPI2 */ /* 53 */ _dummit, /* USART1 */ /* 54 */ _dummit, /* USART2 */ /* 55 */ _dummit, /* USART3 */ /* 56 */ _dummit, /* EXTI10_15 */ /* 57 */ _dummit, /* RTC alarm */ /* 58 */ _dummit, /* CEC */ /* 59 */ _dummit, /* TIM12 */ /* 60 */ _dummit, /* TIM13 */ /* 61 */ _dummit, /* TIM14 */ /* 62 */ _dummit, /* reserved */ /* 63 */ _dummit, /* reserved */ /* 64 */ _dummit, /* reserved */ /* 65 */ _dummit, /* reserved */ /* 66 */ _dummit, /* TIM5 */ /* 67 */ _dummit, /* SPI3 */ /* 68 */ _dummit, /* reserved */ /* 69 */ _dummit, /* reserved */ /* 70 */ _dummit, /* TIM6/DAC1 */ /* 71 */ _dummit, /* TIM7 */ /* 72 */ _dummit, /* DMA2 channel 1 */ /* 73 */ _dummit, /* DMA2 channel 2 */ /* 74 */ _dummit, /* DMA2 channel 3 */ /* 75 */ _dummit, /* DMA2 channel 4 */ /* 76 */ _dummit, /* DMA2 channel 5 */ /* 77 */ _dummit, /* SDADC1 */ /* 78 */ _dummit, /* SDADC2 */ /* 79 */ _dummit, /* SDADC3 */ /* 80 */ _dummit, /* COMP1_2 */ /* 81 */ _dummit, /* reserved */ /* 82 */ _dummit, /* reserved */ /* 83 */ _dummit, /* reserved */ /* 84 */ _dummit, /* reserved */ /* 85 */ _dummit, /* reserved */ /* 86 */ _dummit, /* reserved */ /* 87 */ _dummit, /* reserved */ /* 88 */ _dummit, /* reserved */ /* 89 */ _dummit, /* reserved */ /* 90 */ _dummit, /* USB HP */ /* 91 */ _dummit, /* USB LP */ /* 92 */ _dummit, /* USB wakeup */ /* 93 */ _dummit, /* reserved */ /* 94 */ _dummit, /* TIM19 */ /* 95 */ _dummit, /* reserved */ /* 96 */ _dummit, /* reserved */ /* 97 */ _dummit, /* FPU */ }; [OPTION] +modlc