[TARGET] Name=s12z_vmc128 [LINK] ## link command file for S12ZVMC128 ## Copyright (c) 2014 by COSMIC Software ## +seg .text -b 0xfe0000 -m 0x1fe00 -n .text # program start address +seg .const -a .text -n .const # constants follow code +seg .eeprom -b 0x100000 -m 512 # internal eeprom #if defined(__OPT_PCALIGN__) || defined(__OPT_PALIGN__) -r2 #endif +seg .sdata -b 0x1000 -m 0x2000 -n .sdata -id # data start address #ifdef __OPT_PALIGN__ -r2 #endif +seg .bit -a .sdata -n .bit -id +seg .sbss -a .bit -n .sbss +def __sbss=@.sbss # bss start address ## startup file #if defined(__STP_CRTS__) "crts.z12" #elif defined(__STP_CRTSI__) "crtsi.z12" #endif ## application files __STP_FILES__ ## libraries #if defined(__STP_FLOAT__) #if defined(__OPT_PSPREC__) "libf.z12" #else "libd.z12" #endif #endif "libi.z12" # C library (if needed) "libm.z12" # machine library ## interrupt vectors +seg .vector -b 0xfffe10 # vectors start address #if defined(__STP_VECTOR__) "vector.o" #if defined(__OPT_PSPLIT__) -k #endif #endif ## symbols +def __memory=@.sbss # symbol used by library +def __stack=0x3000 # stack pointer initial value [VECTOR] /* INTERRUPT VECTORS TABLE S12ZVMC FAMILY * Copyright (c) 2014 by COSMIC Software */ void _stext(); /* startup routine */ /* for unused vectors */ void _dumit_(void) { for (;;) ; } #pragma section const {vector} void (* @vector const _vectab[])() = { /* 0xFFFE10 */ 0,0,0,0, /* reserved */ 0,0,0,0,0,0,0,0, /* reserved */ 0,0,0,0,0,0,0, /* reserved */ _dumit_, /* SSG ready */ _dumit_, /* RTC */ _dumit_, /* SSD3 */ _dumit_, /* SSD2 */ _dumit_, /* SSD1 */ _dumit_, /* SSD0 */ _dumit_, /* Motor timer overf */ 0,0, /* reserved */ _dumit_, /* Timer 1 pac input */ _dumit_, /* Timer 1 pac overf */ _dumit_, /* Timer 1 overflow */ _dumit_, /* Timer 1 channel 7 */ _dumit_, /* Timer 1 channel 6 */ _dumit_, /* Timer 1 channel 5 */ _dumit_, /* Timer 1 channel 4 */ _dumit_, /* Timer 1 channel 3 */ _dumit_, /* Timer 1 channel 2 */ _dumit_, /* Timer 1 channel 1 */ _dumit_, /* Timer 1 channel 0 */ 0, /* reserved */ _dumit_, /* I2C */ 0,0,0,0,0,0,0,0, /* reserved */ 0,0,0,0,0,0,0, /* reserved */ _dumit_, /* Port AD */ 0, /* reserved */ _dumit_, /* High temerature */ 0, /* API */ _dumit_, /* Low voltage */ 0,0,0,0,0,0,0, /* reserved */ _dumit_, /* Port S */ _dumit_, /* CAN physical layer */ _dumit_, /* Port T */ 0,0,0,0, /* reserved */ _dumit_, /* BATS voltage */ 0,0,0, /* reserved */ _dumit_, /* CAN transmit */ _dumit_, /* CAN receive */ _dumit_, /* CAN errors */ _dumit_, /* CAN wake-up */ _dumit_, /* Flash command */ _dumit_, /* Flash error */ 0,0, /* reserved */ _dumit_, /* Ram error */ 0,0, /* reserved */ _dumit_, /* PLL lock */ _dumit_, /* Oscillator status */ _dumit_, /* ADC 0 complete */ _dumit_, /* ADC 0 abort */ _dumit_, /* ADC 0 error */ _dumit_, /* ADC 0 compare */ 0,0, /* reserved */ _dumit_, /* SCI 1 */ _dumit_, /* SCI 0 */ _dumit_, /* SPI */ _dumit_, /* Timer 0 pac input */ _dumit_, /* Timer 0 pac overf */ _dumit_, /* Timer 0 overflow */ _dumit_, /* Timer 0 channel 7 */ _dumit_, /* Timer 0 channel 6 */ _dumit_, /* Timer 0 channel 5 */ _dumit_, /* Timer 0 channel 4 */ _dumit_, /* Timer 0 channel 3 */ _dumit_, /* Timer 0 channel 2 */ _dumit_, /* Timer 0 channel 1 */ _dumit_, /* Timer 0 channel 0 */ _dumit_, /* Real time */ _dumit_, /* IRQ */ _dumit_, /* XIRQ */ _dumit_, /* Spurious interrupt */ 0,0, /* reserved */ _dumit_, /* Machine Exception */ _dumit_, /* SYS */ _dumit_, /* SWI */ _dumit_, /* TRAP */ _dumit_, /* SPARE */ _stext, /* RESET */ }; [OPTION] +small