// --------------------------------------------------------- // ATMEL Microcontroller Software Support - ROUSSET - // --------------------------------------------------------- // The software is delivered "AS IS" without warranty or // condition of any kind, either express, implied or // statutory. This includes without limitation any warranty // or condition with respect to merchantability or fitness // for any particular purpose, or against the infringements of // intellectual property rights of others. // --------------------------------------------------------- // File: at91SAM7S64_Remap.xlc // // 1.2 04/Feb/05 JPP : Creation for 4.11A // 1.2 08/Feb/05 JPP : Add Remap address and CODE_I for __ramfuc // // $Revision: 1.2 $ // // --------------------------------------------------------- //************************************************************************* // XLINK command file template for EWARM/ICCARM // // Usage: xlink -f lnkarm // -s // // $Revision: 1.2 $ //************************************************************************* //************************************************ // Inform the linker about the CPU family used. // AT91SAM7S64 Memory mapping // No remap // ROMSTART // Start address 0x0000 0000 // Size 256 Kbo 0x0004 0000 // RAMSTART // Start address 0x0020 0000 // Size 64 Kbo 0x0001 0000 // Remap done // RAMSTART // Start address 0x0000 0000 // Size 64 Kbo 0x0001 0000 // ROMSTART // Start address 0x0010 0000 // Size 256 Kbo 0x0004 0000 //************************************************ -carm //************************************************************************* // Internal Ram segments mapped AFTER REMAP 64 K. //************************************************************************* // Base address used to stack before remap -Z(CONST)INTRAMSTART=00200000 -Z(CONST)INTRAMEND_BEFORE_REMAP=00210000 // Base address used to RAM after Reamp -Z(CONST)INTRAMEND_REMAP=00010000 //************************************************************************* // Read-only segments mapped to Flash 256 K. //************************************************************************* -DROMSTART=00100000 -DROMEND=0013FFFF //************************************************************************* // Read/write segments mapped to RAM. //************************************************************************* // the first space it used for interrupt vector -DRAMSTART=00000100 -DRAMEND=0000FFFF //************************************************ // Address range for reset and exception // vectors (INTVEC). // The vector area is 32 bytes, // an additional 32 bytes is allocated for the // constant table used by ldr PC in cstartup.s79. //************************************************ -Z(CODE)INTVEC=00-3F //************************************************ // Startup code and exception routines (ICODE). //************************************************ -Z(CODE)ICODE,DIFUNCT=ROMSTART-ROMEND -Z(CODE)SWITAB=ROMSTART-ROMEND //************************************************ // Code segments may be placed anywhere. //************************************************ -Z(CODE)CODE=ROMSTART-ROMEND //************************************************ // Various constants and initializers. //************************************************ -Z(CONST)INITTAB,DATA_ID,DATA_C=ROMSTART-ROMEND -Z(CONST)CHECKSUM=ROMSTART-ROMEND //************************************************ // Data segments. //************************************************ -Z(DATA)DATA_I,DATA_Z,DATA_N=RAMSTART-RAMEND //************************************************ // ICCARM produces code for __ramfunc functions in // CODE_I segments. The -Q XLINK command line // option redirects XLINK to emit the code in the // debug information associated with the CODE_I // segment, where the code will execute. //************************************************ //************************************************ // __ramfunc code copied to and executed from RAM. //************************************************ -Z(DATA)CODE_I=RAMSTART-RAMEND -Z(CONST)CODE_ID=ROMSTART-ROMEND // Initializer for -QCODE_I=CODE_ID //************************************************************************* // Stack and heap segments. //************************************************************************* -D_CSTACK_SIZE=(100*4) -D_IRQ_STACK_SIZE=(3*8*4) -Z(DATA)CSTACK+_CSTACK_SIZE=RAMSTART-RAMEND -Z(DATA)IRQ_STACK+_IRQ_STACK_SIZE=RAMSTART-RAMEND //************************************************************************* // ELF/DWARF support. // // Uncomment the line "-Felf" below to generate ELF/DWARF output. // Available format specifiers are: // // "-yn": Suppress DWARF debug output // "-yp": Multiple ELF program sections // "-yas": Format suitable for debuggers from ARM Ltd (also sets -p flag) // // "-Felf" and the format specifiers can also be supplied directly as // command line options, or selected from the Xlink Output tab in the // IAR Embedded Workbench. //************************************************************************* // -Felf