1 // ---------------------------------------------------------
\r
2 // ATMEL Microcontroller Software Support - ROUSSET -
\r
3 // ---------------------------------------------------------
\r
4 // The software is delivered "AS IS" without warranty or
\r
5 // condition of any kind, either express, implied or
\r
6 // statutory. This includes without limitation any warranty
\r
7 // or condition with respect to merchantability or fitness
\r
8 // for any particular purpose, or against the infringements of
\r
9 // intellectual property rights of others.
\r
10 // ---------------------------------------------------------
\r
11 // File: at91SAM7S64_16KRAM.xlc
\r
13 // 1.1 16/Jun/04 JPP : Creation for 4.11A
\r
15 // $Revision: 1.1.1.1 $
\r
17 // ---------------------------------------------------------
\r
19 //*************************************************************************
\r
20 // XLINK command file template for EWARM/ICCARM
\r
22 // Usage: xlink -f lnkarm <your_object_file(s)>
\r
23 // -s <program start label> <C/C++ runtime library>
\r
25 // $Revision: 1.1.1.1 $
\r
26 //*************************************************************************
\r
28 //************************************************
\r
29 // Inform the linker about the CPU family used.
\r
30 // AT91SAM7S64 Memory mapping
\r
33 // Start address 0x0000 0000
\r
34 // Size 64 Kbo 0x0001 0000
\r
36 // Start address 0x0020 0000
\r
37 // Size 16 Kbo 0x0000 4000
\r
40 // Start address 0x0000 0000
\r
41 // Size 16 Kbo 0x0000 4000
\r
43 // Start address 0x0010 0000
\r
44 // Size 64 Kbo 0x0001 0000
\r
46 //************************************************
\r
49 //*************************************************************************
\r
50 // Internal Ram segments mapped AFTER REMAP 16 K.
\r
51 //*************************************************************************
\r
52 // Use these addresses for the .
\r
53 -Z(CONST)INTRAMSTART_REMAP=00000000
\r
54 -Z(CONST)INTRAMEND_REMAP=00003FFF
\r
56 //*************************************************************************
\r
57 // Read-only segments mapped to Flash 64 K.
\r
58 //*************************************************************************
\r
61 //*************************************************************************
\r
62 // Read/write segments mapped to RAM.
\r
63 //*************************************************************************
\r
67 //************************************************
\r
68 // Address range for reset and exception
\r
69 // vectors (INTVEC).
\r
70 // The vector area is 32 bytes,
\r
71 // an additional 32 bytes is allocated for the
\r
72 // constant table used by ldr PC in cstartup.s79.
\r
73 //************************************************
\r
74 -Z(CODE)INTVEC=00-3F
\r
76 //************************************************
\r
77 // Startup code and exception routines (ICODE).
\r
78 //************************************************
\r
79 -Z(CODE)ICODE,DIFUNCT=ROMSTART-ROMEND
\r
80 -Z(CODE)SWITAB=ROMSTART-ROMEND
\r
82 //************************************************
\r
83 // Code segments may be placed anywhere.
\r
84 //************************************************
\r
85 -Z(CODE)CODE=ROMSTART-ROMEND
\r
87 //************************************************
\r
88 // Various constants and initializers.
\r
89 //************************************************
\r
90 -Z(CONST)INITTAB,DATA_ID,DATA_C=ROMSTART-ROMEND
\r
91 -Z(CONST)CHECKSUM=ROMSTART-ROMEND
\r
93 //************************************************
\r
95 //************************************************
\r
96 -Z(DATA)DATA_I,DATA_Z,DATA_N=RAMSTART-RAMEND
\r
98 //************************************************
\r
99 // __ramfunc code copied to and executed from RAM.
\r
100 //************************************************
\r
101 -Z(DATA)CODE_I=RAMSTART-RAMEND
\r
103 //************************************************
\r
104 // ICCARM produces code for __ramfunc functions in
\r
105 // CODE_I segments. The -Q XLINK command line
\r
106 // option redirects XLINK to emit the code in the
\r
107 // debug information associated with the CODE_I
\r
108 // segment, where the code will execute.
\r
109 //************************************************
\r
111 //*************************************************************************
\r
112 // Stack and heap segments.
\r
113 //*************************************************************************
\r
114 -D_CSTACK_SIZE=(100*4)
\r
115 -D_IRQ_STACK_SIZE=(2*8*4)
\r
117 -Z(DATA)CSTACK+_CSTACK_SIZE=RAMSTART-RAMEND
\r
118 -Z(DATA)IRQ_STACK+_IRQ_STACK_SIZE=RAMSTART-RAMEND
\r
120 //*************************************************************************
\r
121 // ELF/DWARF support.
\r
123 // Uncomment the line "-Felf" below to generate ELF/DWARF output.
\r
124 // Available format specifiers are:
\r
126 // "-yn": Suppress DWARF debug output
\r
127 // "-yp": Multiple ELF program sections
\r
128 // "-yas": Format suitable for debuggers from ARM Ltd (also sets -p flag)
\r
130 // "-Felf" and the format specifiers can also be supplied directly as
\r
131 // command line options, or selected from the Xlink Output tab in the
\r
132 // IAR Embedded Workbench.
\r
133 //*************************************************************************
\r