⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nkm103s.xcl

📁 ATmega103、ATmega128做的开发板web server源码
💻 XCL
字号:
/*                      - lnkm104.xcl -
 *
 *   XLINK command file for the ICCAVR C-compiler using the --cpu=m103, -ms
 *   options. Segments are defined for an ATmega103 whithout external
 *   memory. It is also possible to "add" external SRAM, EPROM and EEPROM.
 *
 *   Usage: xlink your_file(s) -f lnkm103
 *
 *   File version:   $Name: V2.21H V2.21G V2_25A $
 */

/*
 * Modify the lines below to alter the size of the RSTACK, CSTACK and HEAP
 * segments. These need to be fine tuned to suit your specific application.
 * The '_..X_' prefix is used by C-SPY as an indication that the label should
 * not be displayed in the dissassembly window.
 */
-D_..X_CSTACK_SIZE=1000  /* 4K bytes for auto variables and saved registers, to much. */
-D_..X_RSTACK_SIZE=300   /* 64 bytes for return addresses, equivalent to 32 */
                        /* levels of calls, including interrupts. */
-D_..X_HEAP_SIZE=100    /* 256 bytes of heap. */

/*
 * Modify these lines if you have an external SRAM connected to the system.
 *
 * Note: Remember to turn on the external data and address busses in
 *       __low_level_init if external memory is used.
 */
-D_..X_EXT_SRAM_BASE=1000
-D_..X_EXT_SRAM_SIZE=7FFF

/*
 * Modify these lines if you have an external EPROM connected to the system.
 *
 * Note: Remember to turn on the external data and address busses in
 *       __low_level_init if external memory is used.
 */
-D_..X_EXT_EPROM_BASE=0
-D_..X_EXT_EPROM_SIZE=0

/*
 * Modify these lines if you have an external EEPROM connected to the system.
 *
 * Note: Remember to turn on the external data and address busses in
 *       __low_level_init if external memory is used.
 */
-D_..X_EXT_EEPROM_BASE=0
-D_..X_EXT_EEPROM_SIZE=0

/* Define CPU */
-ca90

/*
 * The following segments are located in the internal memory of
 * the ATmega103. Do not change these lines.
 */

/* Code memory */
-Z(CODE)INTVEC=0-5F /* 24 Interrupt vectors * 4 bytes each */

/* Fill unused interrupt vector's with RETI */
-H1895 -h(CODE)0-5F

-Z(CODE)TINY_F=60-1FF
-Z(CODE)NEAR_F,SWITCH,INITTAB,DIFUNCT=60-FFFF
-Z(CODE)CODE=60-1FFFF
-Z(FARCODE)FAR_F=60-1FFFF
-Z(CODE)HUGE_F=60-1FFFF
-Z(CODE)TINY_ID,NEAR_ID=60-1FFFF

/* Internal data memory */
//-Z(DATA)TINY_I,TINY_Z,TINY_N=60-1FF
-Z(DATA)NEAR_I,NEAR_Z=60-FFF,_..X_EXT_SRAM_BASE-(_..X_EXT_SRAM_BASE+_..X_EXT_SRAM_SIZE)

/*
 * If external SRAM is available it is possible to place the stacks there.
 * However, the external memory is slower than the internal so moving the
 * stacks to the external memory will degrade the system performance.
 */


// -Z(DATA)RSTACK+_..X_RSTACK_SIZE=60-FFF /* ,_..X_EXT_SRAM_BASE-(_..X_EXT_SRAM_BASE+_..X_EXT_SRAM_SIZE) */
// -Z(DATA)CSTACK+_..X_CSTACK_SIZE=60-FFF /* ,_..X_EXT_SRAM_BASE-(_..X_EXT_SRAM_BASE+_..X_EXT_SRAM_SIZE) */


-Z(DATA)RSTACK+_..X_RSTACK_SIZE=_..X_EXT_SRAM_BASE-(_..X_EXT_SRAM_BASE+_..X_EXT_SRAM_SIZE) 
-Z(DATA)CSTACK+_..X_CSTACK_SIZE=_..X_EXT_SRAM_BASE-(_..X_EXT_SRAM_BASE+_..X_EXT_SRAM_SIZE) 
/*
 * If external SRAM is available it might be a good idea to move the
 * heap segment there, i.e. remove the 60-FFF range.
 */
//-Z(DATA)HEAP+_..X_HEAP_SIZE=60-FFF,_..X_EXT_SRAM_BASE-(_..X_EXT_SRAM_BASE+_..X_EXT_SRAM_SIZE)
-Z(DATA)HEAP+_..X_HEAP_SIZE=_..X_EXT_SRAM_BASE-(_..X_EXT_SRAM_BASE+_..X_EXT_SRAM_SIZE)

/* Internal eeprom memory */
-Z(XDATA)EEPROM_I,EEPROM_N,EEPROM_AN=0-FFF

/*
 * The following segment definitions are only used if external memory is
 * connected to the AVR controller.
 */

/* External EPROM */
-Z(CONST)NEAR_C=_..X_EXT_EPROM_BASE-(_..X_EXT_EPROM_BASE+_..X_EXT_EPROM_SIZE)

/* External EEPROM */
-Z(DATA)NEAR_N=_..X_EXT_EEPROM_BASE-(_..X_EXT_EEPROM_BASE+_..X_EXT_EEPROM_SIZE)

/* Select reduced "printf" support to reduce library size.
   See configuration section in manual concerning printf/sprintf. */
-e_Printf_1=_Printf

/* Disable floating-point support in "scanf" to reduce library size.
   See configuration section in manual concerning scanf/sscanf */
-e_Scanf_1=_Scanf

/* Suppress one warning which is not relevant for this processor */
-w29

/* Code will now reside in file aout.a90 or aout.d90, unless -o is specified */
/* .d90 is the default if debug system is linked (option -r) */
/* .a90 is the default without debugging. Default format is -Fmotorola */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -