Remove system files not longer required by IAR V5.11.

pull/4/head
Richard Barry 17 years ago
parent 474cb76864
commit c4edb21f63

@ -1,223 +0,0 @@
;------------------------------------------------------------------------------
;- 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 source : Cstartup.s79
;- Object : Generic CStartup for IAR No Use REMAP
;- Compilation flag : None
;-
;- 1.0 15/Jun/04 JPP : Creation
;------------------------------------------------------------------------------
#include "AT91SAM7S64_inc.h"
;------------------------------------------------------------------------------
;- Area Definition
;------------------------------------------------------------------------------
;---------------------------------------------------------------
; ?RESET
; Reset Vector.
; Normally, segment INTVEC is linked at address 0.
; For debugging purposes, INTVEC may be placed at other
; addresses.
; A debugger that honors the entry point will start the
; program in a normal way even if INTVEC is not at address 0.
;-------------------------------------------------------------
PROGRAM ?RESET
RSEG INTRAMSTART_REMAP
RSEG INTRAMEND_REMAP
EXTERN vPortYieldProcessor
RSEG ICODE:CODE:ROOT(2)
CODE32 ; Always ARM mode after reset
org 0
reset
;------------------------------------------------------------------------------
;- Exception vectors
;--------------------
;- These vectors can be read at address 0 or at RAM address
;- They ABSOLUTELY requires to be in relative addresssing mode in order to
;- guarantee a valid jump. For the moment, all are just looping.
;- If an exception occurs before remap, this would result in an infinite loop.
;- To ensure if a exeption occurs before start application to infinite loop.
;------------------------------------------------------------------------------
B InitReset ; 0x00 Reset handler
undefvec:
B undefvec ; 0x04 Undefined Instruction
swivec:
B vPortYieldProcessor ; 0x08 Software Interrupt
pabtvec:
B pabtvec ; 0x0C Prefetch Abort
dabtvec:
B dabtvec ; 0x10 Data Abort
rsvdvec:
B rsvdvec ; 0x14 reserved
irqvec:
LDR PC, [PC, #-0xF20] ; Jump directly to the address given by the AIC
fiqvec: ; 0x1c FIQ
;------------------------------------------------------------------------------
;- Function : FIQ_Handler_Entry
;- Treatments : FIQ Controller Interrupt Handler.
;- Called Functions : AIC_FVR[interrupt]
;------------------------------------------------------------------------------
FIQ_Handler_Entry:
;- Switch in SVC/User Mode to allow User Stack access for C code
; because the FIQ is not yet acknowledged
;- Save and r0 in FIQ_Register
mov r9,r0
ldr r0 , [r8, #AIC_FVR]
msr CPSR_c,#I_BIT | F_BIT | ARM_MODE_SVC
;- Save scratch/used registers and LR in User Stack
stmfd sp!, { r1-r3, r12, lr}
;- Branch to the routine pointed by the AIC_FVR
mov r14, pc
bx r0
;- Restore scratch/used registers and LR from User Stack
ldmia sp!, { r1-r3, r12, lr}
;- Leave Interrupts disabled and switch back in FIQ mode
msr CPSR_c, #I_BIT | F_BIT | ARM_MODE_FIQ
;- Restore the R0 ARM_MODE_SVC register
mov r0,r9
;- Restore the Program Counter using the LR_fiq directly in the PC
subs pc,lr,#4
InitReset:
;------------------------------------------------------------------------------
;- Low level Init (PMC, AIC, ? ....) by C function AT91F_LowLevelInit
;------------------------------------------------------------------------------
EXTERN AT91F_LowLevelInit
#define __iramend SFB(INTRAMEND_REMAP)
;- minumum C initialization
;- call AT91F_LowLevelInit( void)
ldr r13,=__iramend ; temporary stack in internal RAM
;--Call Low level init function in ABSOLUTE through the Interworking
ldr r0,=AT91F_LowLevelInit
mov lr, pc
bx r0
;------------------------------------------------------------------------------
;- Stack Sizes Definition
;------------------------
;- Interrupt Stack requires 2 words x 8 priority level x 4 bytes when using
;- the vectoring. This assume that the IRQ management.
;- The Interrupt Stack must be adjusted depending on the interrupt handlers.
;- Fast Interrupt not requires stack If in your application it required you must
;- be definehere.
;- The System stack size is not defined and is limited by the free internal
;- SRAM.
;------------------------------------------------------------------------------
;------------------------------------------------------------------------------
;- Top of Stack Definition
;-------------------------
;- Interrupt and Supervisor Stack are located at the top of internal memory in
;- order to speed the exception handling context saving and restoring.
;- ARM_MODE_SVC (Application, C) Stack is located at the top of the external memory.
;------------------------------------------------------------------------------
IRQ_STACK_SIZE EQU 300
ARM_MODE_FIQ EQU 0x11
ARM_MODE_IRQ EQU 0x12
ARM_MODE_SVC EQU 0x13
I_BIT EQU 0x80
F_BIT EQU 0x40
;------------------------------------------------------------------------------
;- Setup the stack for each mode
;-------------------------------
ldr r0, =__iramend
;- Set up Fast Interrupt Mode and set FIQ Mode Stack
msr CPSR_c, #ARM_MODE_FIQ | I_BIT | F_BIT
;- Init the FIQ register
ldr r8, =AT91C_BASE_AIC
;- Set up Interrupt Mode and set IRQ Mode Stack
msr CPSR_c, #ARM_MODE_IRQ | I_BIT | F_BIT
mov r13, r0 ; Init stack IRQ
sub r0, r0, #IRQ_STACK_SIZE
;- Enable interrupt & Set up Supervisor Mode and set Supervisor Mode Stack
msr CPSR_c, #ARM_MODE_SVC
mov r13, r0
;---------------------------------------------------------------
; ?CSTARTUP
;---------------------------------------------------------------
EXTERN __segment_init
EXTERN main
; Initialize segments.
; __segment_init is assumed to use
; instruction set and to be reachable by BL from the ICODE segment
; (it is safest to link them in segment ICODE).
ldr r0,=__segment_init
mov lr, pc
bx r0
PUBLIC __main
?jump_to_main:
ldr lr,=?call_exit
ldr r0,=main
__main:
bx r0
;------------------------------------------------------------------------------
;- Loop for ever
;---------------
;- End of application. Normally, never occur.
;- Could jump on Software Reset ( B 0x0 ).
;------------------------------------------------------------------------------
?call_exit:
End
b End
;---------------------------------------------------------------
; ?EXEPTION_VECTOR
; This module is only linked if needed for closing files.
;---------------------------------------------------------------
PUBLIC AT91F_Default_FIQ_handler
PUBLIC AT91F_Default_IRQ_handler
PUBLIC AT91F_Spurious_handler
CODE32 ; Always ARM mode after exeption
AT91F_Default_FIQ_handler
b AT91F_Default_FIQ_handler
AT91F_Default_IRQ_handler
b AT91F_Default_IRQ_handler
AT91F_Spurious_handler
b AT91F_Spurious_handler
ENDMOD
END

@ -1,135 +0,0 @@
// ---------------------------------------------------------
// 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_16KRAM.xlc
//
// 1.1 16/Jun/04 JPP : Creation for 4.11A
//
// $Revision: 1.1.1.1 $
//
// ---------------------------------------------------------
//*************************************************************************
// XLINK command file template for EWARM/ICCARM
//
// Usage: xlink -f lnkarm <your_object_file(s)>
// -s <program start label> <C/C++ runtime library>
//
// $Revision: 1.1.1.1 $
//*************************************************************************
//************************************************
// Inform the linker about the CPU family used.
// AT91SAM7S64 Memory mapping
// No remap
// ROMSTART
// Start address 0x0000 0000
// Size 64 Kbo 0x0001 0000
// RAMSTART
// Start address 0x0020 0000
// Size 16 Kbo 0x0000 4000
// Remap done
// RAMSTART
// Start address 0x0000 0000
// Size 16 Kbo 0x0000 4000
// ROMSTART
// Start address 0x0010 0000
// Size 64 Kbo 0x0001 0000
//************************************************
-carm
//*************************************************************************
// Internal Ram segments mapped AFTER REMAP 16 K.
//*************************************************************************
// Use these addresses for the .
-Z(CONST)INTRAMSTART_REMAP=00000000
-Z(CONST)INTRAMEND_REMAP=00003FFF
//*************************************************************************
// Read-only segments mapped to Flash 64 K.
//*************************************************************************
-DROMSTART=00000000
-DROMEND=0000FFFF
//*************************************************************************
// Read/write segments mapped to RAM.
//*************************************************************************
-DRAMSTART=00000000
-DRAMEND=00003FFF
//************************************************
// 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
//************************************************
// __ramfunc code copied to and executed from RAM.
//************************************************
-Z(DATA)CODE_I=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.
//************************************************
//*************************************************************************
// Stack and heap segments.
//*************************************************************************
-D_CSTACK_SIZE=(100*4)
-D_IRQ_STACK_SIZE=(2*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

@ -1,136 +0,0 @@
// ---------------------------------------------------------
// 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_NoRemap.xlc
//
// 1.1 16/Jun/04 JPP : Creation for 4.11A
//
// $Revision: 1.1.1.1 $
//
// ---------------------------------------------------------
//*************************************************************************
// XLINK command file template for EWARM/ICCARM
//
// Usage: xlink -f lnkarm <your_object_file(s)>
// -s <program start label> <C/C++ runtime library>
//
// $Revision: 1.1.1.1 $
//*************************************************************************
//************************************************
// Inform the linker about the CPU family used.
// AT91SAM7S64 Memory mapping
// No remap
// ROMSTART
// Start address 0x0000 0000
// Size 64 Kbo 0x0001 0000
// RAMSTART
// Start address 0x0020 0000
// Size 16 Kbo 0x0000 4000
// Remap done
// RAMSTART
// Start address 0x0000 0000
// Size 16 Kbo 0x0000 4000
// ROMSTART
// Start address 0x0010 0000
// Size 64 Kbo 0x0001 0000
//************************************************
-carm
//*************************************************************************
// Internal Ram segments mapped AFTER REMAP 16 K.
//*************************************************************************
// Use these addresses for the .
-Z(CONST)INTRAMSTART_REMAP=00200000
-Z(CONST)INTRAMEND_REMAP=00203FFF
//*************************************************************************
// Read-only segments mapped to Flash 64 K.
//*************************************************************************
-DROMSTART=00000000
-DROMEND=0000FFFF
//*************************************************************************
// Read/write segments mapped to RAM.
//*************************************************************************
-DRAMSTART=00200000
-DRAMEND=002003FFF
//************************************************
// 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
//************************************************
// __ramfunc code copied to and executed from RAM.
//************************************************
-Z(DATA)CODE_I=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.
//************************************************
//*************************************************************************
// Stack and heap segments.
//*************************************************************************
//-D_CSTACK_SIZE=(100*4)
//-D_IRQ_STACK_SIZE=(2*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

@ -1,173 +0,0 @@
;-----------------------------------------------------------------------------
; This file contains the startup code used by the ICCARM C compiler.
;
; The modules in this file are included in the libraries, and may be replaced
; by any user-defined modules that define the PUBLIC symbol _program_start or
; a user defined start symbol.
; To override the cstartup defined in the library, simply add your modified
; version to the workbench project.
;
; All code in the modules (except ?RESET) will be placed in the ICODE segment.
;
; $Revision: 1.56 $
;
;-----------------------------------------------------------------------------
;
; Naming covention of labels in this file:
;
; ?xxx - External labels only accessed from assembler.
; __xxx - External labels accessed from or defined in C.
; xxx - Labels local to one module (note: this file contains
; several modules).
; main - The starting point of the user program.
;
;---------------------------------------------------------------
; Macros and definitions for the whole file
;---------------------------------------------------------------
; Mode, correspords to bits 0-5 in CPSR
MODE_BITS DEFINE 0x1F ; Bit mask for mode bits in CPSR
USR_MODE DEFINE 0x10 ; User mode
FIQ_MODE DEFINE 0x11 ; Fast Interrupt Request mode
IRQ_MODE DEFINE 0x12 ; Interrupt Request mode
SVC_MODE DEFINE 0x13 ; Supervisor mode
ABT_MODE DEFINE 0x17 ; Abort mode
UND_MODE DEFINE 0x1B ; Undefined Instruction mode
SYS_MODE DEFINE 0x1F ; System mode
I_Bit DEFINE 0x80 ; IRQ Disable Bit
F_Bit DEFINE 0x40 ; FIQ Disable Bit
;---------------------------------------------------------------
; ?RESET
; Reset Vector.
; Normally, segment INTVEC is linked at address 0.
; For debugging purposes, INTVEC may be placed at other
; addresses.
; A debugger that honors the entry point will start the
; program in a normal way even if INTVEC is not at address 0.
;---------------------------------------------------------------
MODULE ?RESET
COMMON INTVEC:CODE:NOROOT(2)
PUBLIC __program_start
EXTERN ?cstartup
EXTERN undef_handler, swi_handler, prefetch_handler
EXTERN data_handler, irq_handler, fiq_handler
EXTERN vPortYieldProcessor
CODE32 ; Always ARM mode after reset
__program_start
org 0x00
B InitReset ; 0x00 Reset handler
undefvec:
B undefvec ; 0x04 Undefined Instruction
swivec:
B vPortYieldProcessor ; 0x08 Software Interrupt
pabtvec:
B pabtvec ; 0x0C Prefetch Abort
dabtvec:
B dabtvec ; 0x10 Data Abort
rsvdvec:
B rsvdvec ; 0x14 reserved
irqvec:
LDR PC, [PC, #-0xFF0] ; Jump directly to the address given by the AIC
fiqvec: ; 0x1c FIQ
;---------------------------------------------------------------
; ?CSTARTUP
;---------------------------------------------------------------
RSEG IRQ_STACK:DATA(2)
RSEG SVC_STACK:DATA:NOROOT(2)
RSEG CSTACK:DATA(2)
RSEG ICODE:CODE:NOROOT(2)
EXTERN ?main
; Execution starts here.
; After a reset, the mode is ARM, Supervisor, interrupts disabled.
CODE32
InitReset
; Add initialization needed before setup of stackpointers here
; Initialize the stack pointers.
; The pattern below can be used for any of the exception stacks:
; FIQ, IRQ, SVC, ABT, UND, SYS.
; The USR mode uses the same stack as SYS.
; The stack segments must be defined in the linker command file,
; and be declared above.
mrs r0,cpsr ; Original PSR value
bic r0,r0,#MODE_BITS ; Clear the mode bits
orr r0,r0,#IRQ_MODE ; Set IRQ mode bits
msr cpsr_c,r0 ; Change the mode
ldr sp,=SFE(IRQ_STACK) & 0xFFFFFFF8 ; End of IRQ_STACK
bic r0,r0,#MODE_BITS ; Clear the mode bits
orr r0,r0,#SYS_MODE ; Set System mode bits
msr cpsr_c,r0 ; Change the mode
ldr sp,=SFE(CSTACK) & 0xFFFFFFF8 ; End of CSTACK
bic r0,r0,#MODE_BITS ; Clear the mode bits
orr r0,r0,#SVC_MODE ; Set System mode bits
msr cpsr_c,r0 ; Change the mode
ldr sp,=SFE(SVC_STACK) & 0xFFFFFFF8 ; End of CSTACK
; Must start in supervisor mode.
MSR CPSR_c, #SVC_MODE|I_Bit|F_Bit
; Add more initialization here
; Continue to ?main for more IAR specific system startup
ldr r0,=?main
bx r0
;---------------------------------------------------------------
; ?EXEPTION_VECTOR
; This module is only linked if needed for closing files.
;---------------------------------------------------------------
PUBLIC AT91F_Default_FIQ_handler
PUBLIC AT91F_Default_IRQ_handler
PUBLIC AT91F_Spurious_handler
CODE32 ; Always ARM mode after exeption
AT91F_Default_FIQ_handler
b AT91F_Default_FIQ_handler
AT91F_Default_IRQ_handler
b AT91F_Default_IRQ_handler
AT91F_Spurious_handler
b AT91F_Spurious_handler
ENDMOD
END
ENDMOD
END

@ -1,190 +0,0 @@
//*************************************************************************
// XLINK command file template for EWARM/ICCARM
//
// Usage: xlink -f lnkarm <your_object_file(s)>
// -s <program start label> <C/C++ runtime library>
//
// $Revision: 1.1 $
//*************************************************************************
//*************************************************************************
//
// -------------
// Code segments - may be placed anywhere in memory.
// -------------
//
// INTVEC -- Exception vector table.
// SWITAB -- Software interrupt vector table.
// ICODE -- Startup (cstartup) and exception code.
// DIFUNCT -- Dynamic initialization vectors used by C++.
// CODE -- Compiler generated code.
// CODE_I -- Compiler generated code declared __ramfunc (executes in RAM)
// CODE_ID -- Initializer for CODE_I (ROM).
//
// -------------
// Data segments - may be placed anywhere in memory.
// -------------
//
// CSTACK -- The stack used by C/C++ programs (system and user mode).
// IRQ_STACK -- The stack used by IRQ service routines.
// SVC_STACK -- The stack used in supervisor mode
// (Define other exception stacks as needed for
// FIQ, ABT, UND).
// HEAP -- The heap used by malloc and free in C and new and
// delete in C++.
// INITTAB -- Table containing addresses and sizes of segments that
// need to be initialized at startup (by cstartup).
// CHECKSUM -- The linker places checksum byte(s) in this segment,
// when the -J linker command line option is used.
// DATA_y -- Data objects.
//
// Where _y can be one of:
//
// _AN -- Holds uninitialized located objects, i.e. objects with
// an absolute location given by the @ operator or the
// #pragma location directive. Since these segments
// contain objects which already have a fixed address,
// they should not be mentioned in this linker command
// file.
// _C -- Constants (ROM).
// _I -- Initialized data (RAM).
// _ID -- The original content of _I (copied to _I by cstartup) (ROM).
// _N -- Uninitialized data (RAM).
// _Z -- Zero initialized data (RAM).
//
// Note: Be sure to use end values for the defined address ranges.
// Otherwise, the linker may allocate space outside the
// intended memory range.
//*************************************************************************
//************************************************
// Inform the linker about the CPU family used.
//************************************************
-carm
//*************************************************************************
// Segment placement - General information
//
// All numbers in the segment placement command lines below are interpreted
// as hexadecimal unless they are immediately preceded by a '.', which
// denotes decimal notation.
//
// When specifying the segment placement using the -P instead of the -Z
// option, the linker is free to split each segment into its segment parts
// and randomly place these parts within the given ranges in order to
// achieve a more efficient memory usage. One disadvantage, however, is
// that it is not possible to find the start or end address (using
// the assembler operators .sfb./.sfe.) of a segment which has been split
// and reformed.
//
// When generating an output file which is to be used for programming
// external ROM/Flash devices, the -M linker option is very useful
// (see xlink.pdf for details).
//*************************************************************************
//*************************************************************************
// Read-only segments mapped to ROM.
//*************************************************************************
-DROMSTART=00000000
-DROMEND=00001ffff
//************************************************
// 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=00000000-0000003f
//************************************************
// 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
//************************************************
// Original ROM location for __ramfunc code copied
// to and executed from RAM.
//************************************************
-Z(CONST)CODE_ID=ROMSTART-ROMEND
//************************************************
// Various constants and initializers.
//************************************************
-Z(CONST)INITTAB,DATA_ID,DATA_C=ROMSTART-ROMEND
-Z(CONST)CHECKSUM=ROMSTART-ROMEND
//*************************************************************************
// Read/write segments mapped to RAM.
//*************************************************************************
-DRAMSTART=40000000
-DRAMEND=40003fff
//************************************************
// Data segments.
//************************************************
-Z(DATA)DATA_I,DATA_Z,DATA_N=RAMSTART-RAMEND
//************************************************
// __ramfunc code copied to and executed from RAM.
//************************************************
-Z(DATA)CODE_I=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
// CODE_ID segment instead, but to keep symbol and
// debug information associated with the CODE_I
// segment, where the code will execute.
//************************************************
-QCODE_I=CODE_ID
//*************************************************************************
// Stack and heap segments.
//*************************************************************************
-D_CSTACK_SIZE=200
-D_SVC_STACK_SIZE=190
-D_IRQ_STACK_SIZE=190
-D_HEAP_SIZE=4
-Z(DATA)CSTACK+_CSTACK_SIZE=RAMSTART-RAMEND
-Z(DATA)SVC_STACK+_SVC_STACK_SIZE=RAMSTART-RAMEND
-Z(DATA)IRQ_STACK+_IRQ_STACK_SIZE,HEAP+_HEAP_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

@ -1,866 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<project>
<fileVersion>2</fileVersion>
<configuration>
<name>Debug</name>
<outputs>
<file>$PROJ_DIR$\..\Common\Minimal\comtest.c</file>
<file>$PROJ_DIR$\Debug\Obj\tasks.pbi</file>
<file>$PROJ_DIR$\Debug\Obj\serial.pbi</file>
<file>$PROJ_DIR$\Debug\Obj\71x_lib.pbi</file>
<file>$PROJ_DIR$\Debug\Obj\wdg.pbi</file>
<file>$PROJ_DIR$\Debug\Obj\semtest.r79</file>
<file>$TOOLKIT_DIR$\inc\string.h</file>
<file>$TOOLKIT_DIR$\inc\ysizet.h</file>
<file>$PROJ_DIR$\..\Common\include\comtest.h</file>
<file>$PROJ_DIR$\Debug\Obj\BlockQ.pbi</file>
<file>$PROJ_DIR$\..\Common\include\dynamic.h</file>
<file>$PROJ_DIR$\Library\include\71x_map.h</file>
<file>$PROJ_DIR$\Debug\Obj\list.r79</file>
<file>$PROJ_DIR$\Library\include\eic.h</file>
<file>$TOOLKIT_DIR$\inc\xencoding_limits.h</file>
<file>$PROJ_DIR$\Debug\Obj\list.pbi</file>
<file>$PROJ_DIR$\Debug\Obj\ParTest.r79</file>
<file>$PROJ_DIR$\Debug\Obj\BlockQ.r79</file>
<file>$TOOLKIT_DIR$\inc\yvals.h</file>
<file>$PROJ_DIR$\Debug\Obj\main.r79</file>
<file>$PROJ_DIR$\..\Common\include\partest.h</file>
<file>$PROJ_DIR$\Library\include\rccu.h</file>
<file>$PROJ_DIR$\Debug\Obj\portasm.r79</file>
<file>$PROJ_DIR$\..\..\Source\portable\IAR\STR71x\ISR_Support.h</file>
<file>$PROJ_DIR$\..\Common\include\PollQ.h</file>
<file>$PROJ_DIR$\Debug\Obj\cstartup.r79</file>
<file>$TOOLKIT_DIR$\inc\DLib_Threads.h</file>
<file>$PROJ_DIR$\FreeRTOSConfig.h</file>
<file>$PROJ_DIR$\Debug\Obj\dynamic.pbi</file>
<file>$PROJ_DIR$\..\..\Source\include\FreeRTOS.h</file>
<file>$PROJ_DIR$\Debug\Obj\heap_2.r79</file>
<file>$PROJ_DIR$\Debug\Obj\queue.r79</file>
<file>$PROJ_DIR$\..\..\Source\include\queue.h</file>
<file>$TOOLKIT_DIR$\inc\stdlib.h</file>
<file>$PROJ_DIR$\Library\include\wdg.h</file>
<file>$PROJ_DIR$\Debug\Obj\serialISR.r79</file>
<file>$TOOLKIT_DIR$\lib\dl4tptinl8n.h</file>
<file>$PROJ_DIR$\Debug\Obj\heap_2.pbi</file>
<file>$PROJ_DIR$\Debug\Obj\integer.pbi</file>
<file>$PROJ_DIR$\Debug\Obj\rccu.pbi</file>
<file>$PROJ_DIR$\Debug\Obj\uart.r79</file>
<file>$PROJ_DIR$\Debug\Obj\port.pbi</file>
<file>$PROJ_DIR$\..\..\Source\include\croutine.h</file>
<file>$PROJ_DIR$\Debug\Obj\queue.pbi</file>
<file>$TOOLKIT_DIR$\inc\DLib_Defaults.h</file>
<file>$PROJ_DIR$\Debug\Obj\port.r79</file>
<file>$TOOLKIT_DIR$\inc\stddef.h</file>
<file>$PROJ_DIR$\..\Common\include\comtest2.h</file>
<file>$PROJ_DIR$\Library\include\71x_conf.h</file>
<file>$TOOLKIT_DIR$\inc\stdio.h</file>
<file>$PROJ_DIR$\Debug\Obj\serial.r79</file>
<file>$PROJ_DIR$\..\Common\include\BlockQ.h</file>
<file>$PROJ_DIR$\..\Common\include\integer.h</file>
<file>$PROJ_DIR$\Debug\Obj\comtest.r79</file>
<file>$PROJ_DIR$\Debug\Obj\71x_lib.r79</file>
<file>$PROJ_DIR$\Debug\Obj\main.pbi</file>
<file>$PROJ_DIR$\Debug\Obj\dynamic.r79</file>
<file>$PROJ_DIR$\Library\include\gpio.h</file>
<file>$TOOLKIT_DIR$\inc\DLib_Product.h</file>
<file>$PROJ_DIR$\Debug\Obj\tasks.r79</file>
<file>$PROJ_DIR$\..\..\Source\include\semphr.h</file>
<file>$TOOLKIT_DIR$\inc\intrinsic.h</file>
<file>$PROJ_DIR$\Library\include\uart.h</file>
<file>$PROJ_DIR$\Debug\Exe\RTOSDemo.sim</file>
<file>$PROJ_DIR$\Debug\Obj\flash.r79</file>
<file>$PROJ_DIR$\Debug\Obj\integer.r79</file>
<file>$PROJ_DIR$\Debug\Obj\PollQ.r79</file>
<file>$PROJ_DIR$\Debug\Exe\RTOSDemo.d79</file>
<file>$TOOLKIT_DIR$\lib\dl4tptinl8n.r79</file>
<file>$PROJ_DIR$\..\..\Source\include\task.h</file>
<file>$PROJ_DIR$\Debug\Obj\uart.pbi</file>
<file>$PROJ_DIR$\Debug\Obj\gpio.pbi</file>
<file>$PROJ_DIR$\Debug\Obj\flash.pbi</file>
<file>$PROJ_DIR$\Debug\Obj\vect.r79</file>
<file>$PROJ_DIR$\..\Common\include\serial.h</file>
<file>$PROJ_DIR$\..\Common\include\flash.h</file>
<file>$PROJ_DIR$\Debug\Obj\rccu.r79</file>
<file>$PROJ_DIR$\Debug\Obj\ParTest.pbi</file>
<file>$PROJ_DIR$\Debug\Obj\PollQ.pbi</file>
<file>$PROJ_DIR$\Debug\Obj\semtest.pbi</file>
<file>$PROJ_DIR$\..\..\Source\include\projdefs.h</file>
<file>$PROJ_DIR$\..\..\Source\include\list.h</file>
<file>$PROJ_DIR$\Debug\Obj\comtest.pbi</file>
<file>$PROJ_DIR$\Library\include\71x_type.h</file>
<file>$PROJ_DIR$\Debug\Obj\gpio.r79</file>
<file>$PROJ_DIR$\..\..\Source\include\portable.h</file>
<file>$PROJ_DIR$\..\..\Source\portable\IAR\STR71x\portmacro.h</file>
<file>$PROJ_DIR$\Debug\Obj\wdg.r79</file>
<file>$PROJ_DIR$\..\Common\include\semtest.h</file>
<file>$PROJ_DIR$\cstartup.s79</file>
<file>$PROJ_DIR$\lnkarm.xcl</file>
<file>$PROJ_DIR$\vect.s79</file>
<file>$PROJ_DIR$\..\Common\Minimal\BlockQ.c</file>
<file>$PROJ_DIR$\serial\serialISR.s79</file>
<file>$PROJ_DIR$\Library\rccu.c</file>
<file>$PROJ_DIR$\Library\uart.c</file>
<file>$PROJ_DIR$\Library\wdg.c</file>
<file>$PROJ_DIR$\..\..\Source\list.c</file>
<file>$PROJ_DIR$\..\..\Source\portable\IAR\STR71x\port.c</file>
<file>$PROJ_DIR$\..\..\Source\portable\IAR\STR71x\portasm.s79</file>
<file>$PROJ_DIR$\..\..\Source\queue.c</file>
<file>$PROJ_DIR$\..\..\Source\tasks.c</file>
<file>$PROJ_DIR$\..\Common\Minimal\flash.c</file>
<file>$PROJ_DIR$\..\..\Source\portable\MemMang\heap_2.c</file>
<file>$PROJ_DIR$\..\Common\Minimal\dynamic.c</file>
<file>$PROJ_DIR$\..\Common\Minimal\integer.c</file>
<file>$PROJ_DIR$\main.c</file>
<file>$PROJ_DIR$\ParTest\ParTest.c</file>
<file>$PROJ_DIR$\..\Common\Minimal\PollQ.c</file>
<file>$PROJ_DIR$\..\Common\Minimal\semtest.c</file>
<file>$PROJ_DIR$\serial\serial.c</file>
<file>$PROJ_DIR$\Library\gpio.c</file>
<file>$PROJ_DIR$\Library\71x_lib.c</file>
</outputs>
<file>
<name>$PROJ_DIR$\..\Common\Minimal\comtest.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 53</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 82</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
<file> 33 18 44 36 58 14 26 7 29 46 80 27 85 86 61 69 81 74 8 20</file>
</tool>
</inputs>
</file>
<file>
<name>[ROOT_NODE]</name>
<outputs>
<tool>
<name>XLINK</name>
<file> 67 63</file>
</tool>
</outputs>
</file>
<file>
<name>$PROJ_DIR$\Debug\Exe\RTOSDemo.d79</name>
<outputs>
<tool>
<name>XLINK</name>
<file> 63</file>
</tool>
</outputs>
<inputs>
<tool>
<name>XLINK</name>
<file> 90 54 17 16 66 53 25 56 64 84 30 65 12 19 45 22 31 76 5 50 35 59 40 73 87 68</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\cstartup.s79</name>
<outputs>
<tool>
<name>AARM</name>
<file> 25</file>
</tool>
</outputs>
</file>
<file>
<name>$PROJ_DIR$\vect.s79</name>
<outputs>
<tool>
<name>AARM</name>
<file> 73</file>
</tool>
</outputs>
<inputs>
<tool>
<name>AARM</name>
<file> 27</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\Common\Minimal\BlockQ.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 17</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 9</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
<file> 33 18 44 36 58 14 26 7 29 46 80 27 85 86 61 69 81 32 51</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\serial\serialISR.s79</name>
<outputs>
<tool>
<name>AARM</name>
<file> 35</file>
</tool>
</outputs>
<inputs>
<tool>
<name>AARM</name>
<file> 23</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\Library\rccu.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 76</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 39</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
<file> 21 11 48 83</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\Library\uart.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 40</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 70</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
<file> 62 11 48 83 21</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\Library\wdg.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 87</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 4</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
<file> 34 11 48 83 21</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\..\Source\list.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 12</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 15</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
<file> 33 18 44 36 58 14 26 7 29 46 80 27 85 86 61 81</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\..\Source\portable\IAR\STR71x\port.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 45</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 41</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
<file> 34 11 48 83 21 13 33 18 44 36 58 14 26 7 29 46 80 27 85 86 61 69 81</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\..\Source\portable\IAR\STR71x\portasm.s79</name>
<outputs>
<tool>
<name>AARM</name>
<file> 22</file>
</tool>
</outputs>
<inputs>
<tool>
<name>AARM</name>
<file> 23</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\..\Source\queue.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 31</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 43</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
<file> 33 18 44 36 58 14 26 7 6 29 46 80 27 85 86 61 69 81 42</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\..\Source\tasks.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 59</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 1</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
<file> 49 18 44 36 58 14 26 7 33 6 29 46 80 27 85 86 61 69 81</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\Common\Minimal\flash.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 64</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 72</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
<file> 33 18 44 36 58 14 26 7 29 46 80 27 85 86 61 69 81 20 75</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\..\Source\portable\MemMang\heap_2.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 30</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 37</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
<file> 33 18 44 36 58 14 26 7 29 46 80 27 85 86 61 69 81</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\Common\Minimal\dynamic.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 56</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 28</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
<file> 33 18 44 36 58 14 26 7 29 46 80 27 85 86 61 69 81 60 32 10</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\Common\Minimal\integer.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 65</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 38</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
<file> 33 18 44 36 58 14 26 7 29 46 80 27 85 86 61 69 81 52</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\main.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 19</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 55</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
<file> 21 11 48 83 34 29 46 18 44 36 58 14 26 7 80 27 85 86 61 69 81 75 52 24 51 88 10 20 47</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\ParTest\ParTest.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 16</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 77</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
<file> 57 11 48 83 29 46 18 44 36 58 14 26 7 80 27 85 86 61 20</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\Common\Minimal\PollQ.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 66</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 78</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
<file> 33 18 44 36 58 14 26 7 29 46 80 27 85 86 61 69 81 32 24</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\Common\Minimal\semtest.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 5</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 79</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
<file> 33 18 44 36 58 14 26 7 29 46 80 27 85 86 61 69 81 60 32 88</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\serial\serial.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 50</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 2</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
<file> 62 11 48 83 21 57 13 29 46 18 44 36 58 14 26 7 80 27 85 86 61 32 74</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\Library\gpio.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 84</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 71</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
<file> 57 11 48 83</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\Library\71x_lib.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 54</file>
</tool>
<tool>
<name>BICOMP</name>
<file> 3</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
<file> 11 48 83</file>
</tool>
</inputs>
</file>
</configuration>
<configuration>
<name>Release</name>
<outputs>
<file>$PROJ_DIR$\Release\Obj\dynamic.r79</file>
<file>$PROJ_DIR$\Release\Obj\list.r79</file>
<file>$PROJ_DIR$\Release\Obj\wdg.r79</file>
<file>$PROJ_DIR$\Release\Obj\ParTest.r79</file>
<file>$PROJ_DIR$\Release\Obj\71x_lib.r79</file>
<file>$PROJ_DIR$\..\Common\Minimal\comtest.c</file>
<file>$PROJ_DIR$\Release\Obj\cstartup.r79</file>
<file>$PROJ_DIR$\Release\Obj\uart.r79</file>
<file>$PROJ_DIR$\Release\Obj\vect.r79</file>
<file>$PROJ_DIR$\Release\Obj\portasm.r79</file>
<file>$PROJ_DIR$\Release\Obj\heap_2.r79</file>
<file>$PROJ_DIR$\Release\Obj\tasks.r79</file>
<file>$PROJ_DIR$\Release\Obj\BlockQ.r79</file>
<file>$PROJ_DIR$\Release\Obj\integer.r79</file>
<file>$PROJ_DIR$\Release\Obj\rccu.r79</file>
<file>$PROJ_DIR$\Release\Obj\PollQ.r79</file>
<file>$PROJ_DIR$\Release\Obj\flash.r79</file>
<file>$PROJ_DIR$\Release\Obj\main.r79</file>
<file>$PROJ_DIR$\Release\Obj\gpio.r79</file>
<file>$PROJ_DIR$\Release\Obj\semtest.r79</file>
<file>$PROJ_DIR$\Release\Exe\RTOSDemo.d79</file>
<file>$PROJ_DIR$\Release\Obj\serialISR.r79</file>
<file>$PROJ_DIR$\Release\Obj\port.r79</file>
<file>$PROJ_DIR$\Release\Obj\comtest.r79</file>
<file>$PROJ_DIR$\Release\Obj\serial.r79</file>
<file>$PROJ_DIR$\Release\Obj\queue.r79</file>
<file>$PROJ_DIR$\cstartup.s79</file>
<file>$PROJ_DIR$\vect.s79</file>
<file>$PROJ_DIR$\..\Common\Minimal\BlockQ.c</file>
<file>$PROJ_DIR$\serial\serialISR.s79</file>
<file>$PROJ_DIR$\Library\rccu.c</file>
<file>$PROJ_DIR$\Library\uart.c</file>
<file>$PROJ_DIR$\Library\wdg.c</file>
<file>$PROJ_DIR$\..\..\Source\list.c</file>
<file>$PROJ_DIR$\..\..\Source\portable\IAR\STR71x\port.c</file>
<file>$PROJ_DIR$\..\..\Source\portable\IAR\STR71x\portasm.s79</file>
<file>$PROJ_DIR$\..\..\Source\queue.c</file>
<file>$PROJ_DIR$\..\..\Source\tasks.c</file>
<file>$PROJ_DIR$\..\Common\Minimal\flash.c</file>
<file>$PROJ_DIR$\..\..\Source\portable\MemMang\heap_2.c</file>
<file>$PROJ_DIR$\..\Common\Minimal\dynamic.c</file>
<file>$PROJ_DIR$\..\Common\Minimal\integer.c</file>
<file>$PROJ_DIR$\main.c</file>
<file>$PROJ_DIR$\ParTest\ParTest.c</file>
<file>$PROJ_DIR$\..\Common\Minimal\PollQ.c</file>
<file>$PROJ_DIR$\..\Common\Minimal\semtest.c</file>
<file>$PROJ_DIR$\serial\serial.c</file>
<file>$PROJ_DIR$\Library\gpio.c</file>
<file>$PROJ_DIR$\Library\71x_lib.c</file>
</outputs>
<file>
<name>$PROJ_DIR$\..\Common\Minimal\comtest.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 23</file>
</tool>
</outputs>
</file>
<file>
<name>[ROOT_NODE]</name>
<outputs>
<tool>
<name>XLINK</name>
<file> 20</file>
</tool>
</outputs>
</file>
<file>
<name>$PROJ_DIR$\cstartup.s79</name>
<outputs>
<tool>
<name>AARM</name>
<file> 6</file>
</tool>
</outputs>
</file>
<file>
<name>$PROJ_DIR$\vect.s79</name>
<outputs>
<tool>
<name>AARM</name>
<file> 8</file>
</tool>
</outputs>
</file>
<file>
<name>$PROJ_DIR$\..\Common\Minimal\BlockQ.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 12</file>
</tool>
</outputs>
</file>
<file>
<name>$PROJ_DIR$\serial\serialISR.s79</name>
<outputs>
<tool>
<name>AARM</name>
<file> 21</file>
</tool>
</outputs>
</file>
<file>
<name>$PROJ_DIR$\Library\rccu.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 14</file>
</tool>
</outputs>
</file>
<file>
<name>$PROJ_DIR$\Library\uart.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 7</file>
</tool>
</outputs>
</file>
<file>
<name>$PROJ_DIR$\Library\wdg.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 2</file>
</tool>
</outputs>
</file>
<file>
<name>$PROJ_DIR$\..\..\Source\list.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 1</file>
</tool>
</outputs>
</file>
<file>
<name>$PROJ_DIR$\..\..\Source\portable\IAR\STR71x\port.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 22</file>
</tool>
</outputs>
</file>
<file>
<name>$PROJ_DIR$\..\..\Source\portable\IAR\STR71x\portasm.s79</name>
<outputs>
<tool>
<name>AARM</name>
<file> 9</file>
</tool>
</outputs>
</file>
<file>
<name>$PROJ_DIR$\..\..\Source\queue.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 25</file>
</tool>
</outputs>
</file>
<file>
<name>$PROJ_DIR$\..\..\Source\tasks.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 11</file>
</tool>
</outputs>
</file>
<file>
<name>$PROJ_DIR$\..\Common\Minimal\flash.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 16</file>
</tool>
</outputs>
</file>
<file>
<name>$PROJ_DIR$\..\..\Source\portable\MemMang\heap_2.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 10</file>
</tool>
</outputs>
</file>
<file>
<name>$PROJ_DIR$\..\Common\Minimal\dynamic.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 0</file>
</tool>
</outputs>
</file>
<file>
<name>$PROJ_DIR$\..\Common\Minimal\integer.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 13</file>
</tool>
</outputs>
</file>
<file>
<name>$PROJ_DIR$\main.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 17</file>
</tool>
</outputs>
</file>
<file>
<name>$PROJ_DIR$\ParTest\ParTest.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 3</file>
</tool>
</outputs>
</file>
<file>
<name>$PROJ_DIR$\..\Common\Minimal\PollQ.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 15</file>
</tool>
</outputs>
</file>
<file>
<name>$PROJ_DIR$\..\Common\Minimal\semtest.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 19</file>
</tool>
</outputs>
</file>
<file>
<name>$PROJ_DIR$\serial\serial.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 24</file>
</tool>
</outputs>
</file>
<file>
<name>$PROJ_DIR$\Library\gpio.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 18</file>
</tool>
</outputs>
</file>
<file>
<name>$PROJ_DIR$\Library\71x_lib.c</name>
<outputs>
<tool>
<name>ICCARM</name>
<file> 4</file>
</tool>
</outputs>
</file>
<forcedrebuild>
<name>[MULTI_TOOL]</name>
<tool>XLINK</tool>
</forcedrebuild>
</configuration>
</project>

@ -1,212 +0,0 @@
;-----------------------------------------------------------------------------
; This file contains the startup code used by the ICCARM C compiler.
;
; The modules in this file are included in the libraries, and may be replaced
; by any user-defined modules that define the PUBLIC symbol _program_start or
; a user defined start symbol.
; To override the cstartup defined in the library, simply add your modified
; version to the workbench project.
;
; All code in the modules (except ?RESET) will be placed in the ICODE segment.
;
; $Revision: 1.1 $
;
;-----------------------------------------------------------------------------
;
; Naming covention of labels in this file:
;
; ?xxx - External labels only accessed from assembler.
; __xxx - External labels accessed from or defined in C.
; xxx - Labels local to one module (note: this file contains
; several modules).
; main - The starting point of the user program.
;
;---------------------------------------------------------------
; Macros and definitions for the whole file
;---------------------------------------------------------------
; --- Standard definitions of mode bits and interrupt (I & F) flags in PSRs
Mode_USR DEFINE 0x10
Mode_FIQ DEFINE 0x11
Mode_IRQ DEFINE 0x12
Mode_SVC DEFINE 0x13
Mode_ABT DEFINE 0x17
Mode_UNDEF DEFINE 0x1B
Mode_SYS DEFINE 0x1F ; available on ARM Arch 4 and later
I_Bit DEFINE 0x80 ; when I bit is set, IRQ is disabled
F_Bit DEFINE 0x40 ; when F bit is set, FIQ is disabled
; --- System memory locations
RAM_Base DEFINE 0x20000000
RAM_Limit DEFINE 0x20010000
SRAM_Base DEFINE 0x60000000
SVC_Stack DEFINE RAM_Limit ; 512 byte SVC stack at
; top of memory - used by kernel.
IRQ_Stack DEFINE SVC_Stack-512 ; followed by IRQ stack
USR_Stack DEFINE IRQ_Stack-512 ; followed by USR stack. Tasks run in
; system mode but task stacks are allocated
; when the task is created.
FIQ_Stack DEFINE USR_Stack-8 ; followed by FIQ stack
ABT_Stack DEFINE FIQ_Stack-8 ; followed by ABT stack
UNDEF_Stack DEFINE ABT_Stack-8 ; followed by UNDEF stack
EIC_Base_addr DEFINE 0xFFFFF800 ; EIC base address
ICR_off_addr DEFINE 0x00 ; Interrupt Control register offset
CIPR_off_addr DEFINE 0x08 ; Current Interrupt Priority Register offset
IVR_off_addr DEFINE 0x18 ; Interrupt Vector Register offset
FIR_off_addr DEFINE 0x1C ; Fast Interrupt Register offset
IER_off_addr DEFINE 0x20 ; Interrupt Enable Register offset
IPR_off_addr DEFINE 0x40 ; Interrupt Pending Bit Register offset
SIR0_off_addr DEFINE 0x60 ; Source Interrupt Register 0
EMI_Base_addr DEFINE 0x6C000000 ; EMI base address
BCON0_off_addr DEFINE 0x00 ; Bank 0 configuration register offset
BCON1_off_addr DEFINE 0x04 ; Bank 1 configuration register offset
BCON2_off_addr DEFINE 0x08 ; Bank 2 configuration register offset
BCON3_off_addr DEFINE 0x0C ; Bank 3 configuration register offset
GPIO2_Base_addr DEFINE 0xE0005000 ; GPIO2 base address
PC0_off_addr DEFINE 0x00 ; Port Configuration Register 0 offset
PC1_off_addr DEFINE 0x04 ; Port Configuration Register 1 offset
PC2_off_addr DEFINE 0x08 ; Port Configuration Register 2 offset
PD_off_addr DEFINE 0x0C ; Port Data Register offset
CPM_Base_addr DEFINE 0xA0000040 ; CPM Base Address
BOOTCONF_off_addr DEFINE 0x10 ; CPM - Boot Configuration Register
FLASH_mask DEFINE 0x0000 ; to remap FLASH at 0x0
RAM_mask DEFINE 0x0002 ; to remap RAM at 0x0
EXTMEM_mask DEFINE 0x0003 ; to remap EXTMEM at 0x0
;---------------------------------------------------------------
; ?RESET
; Reset Vector.
; Normally, segment INTVEC is linked at address 0.
; For debugging purposes, INTVEC may be placed at other
; addresses.
; A debugger that honors the entry point will start the
; program in a normal way even if INTVEC is not at address 0.
;---------------------------------------------------------------
MODULE ?RESET
COMMON INTVEC:CODE:NOROOT(2)
PUBLIC __program_start
EXTERN ?cstartup
CODE32 ; Always ARM mode after reset
__program_start
ldr pc,=?cstartup ; Absolute jump can reach 4 GByte
b ?cstartup ; Relative branch allows remap, limited to 32 MByte
LTORG
ENDMOD
;---------------------------------------------------------------
; ?CSTARTUP
;---------------------------------------------------------------
MODULE ?CSTARTUP
; RSEG IRQ_STACK:DATA(2)
; RSEG SVC_STACK:DATA:NOROOT(2)
; RSEG CSTACK:DATA(2)
RSEG ICODE:CODE:NOROOT(2)
PUBLIC ?cstartup
EXTERN ?main
CODE32
?cstartup
NOP ; Wait for OSC stabilization
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
/* Setup a stack for each mode - note that this only sets up a usable stack
for system/user, SWI and IRQ modes. Also each mode is setup with
interrupts initially disabled. */
msr CPSR_c, #Mode_UNDEF|I_Bit|F_Bit /* Undefined Instruction Mode */
LDR SP, =UNDEF_Stack
msr CPSR_c, #Mode_ABT|I_Bit|F_Bit /* Abort Mode */
LDR SP, =ABT_Stack
msr CPSR_c, #Mode_FIQ|I_Bit|F_Bit /* FIQ Mode */
LDR SP, =FIQ_Stack
msr CPSR_c, #Mode_IRQ|I_Bit|F_Bit /* IRQ Mode */
LDR SP, =IRQ_Stack
msr CPSR_c, #Mode_SVC|I_Bit|F_Bit /* Supervisor Mode */
LDR SP, =SVC_Stack
msr CPSR_c, #Mode_SYS|I_Bit|F_Bit /* System Mode */
LDR SP, =USR_Stack
/* We want to start in supervisor mode. Operation will switch to system
mode when the first task starts. */
msr CPSR_c, #Mode_SVC|I_Bit|F_Bit
IMPORT T0TIMI_Addr
EIC_INIT
LDR r3, =EIC_Base_addr
LDR r4, =0x00000000
STR r4, [r3, #ICR_off_addr] ; Disable FIQ and IRQ
STR r4, [r3, #IER_off_addr] ; Disable all channels interrupts
LDR r4, =0xFFFFFFFF
STR r4, [r3, #IPR_off_addr] ; Clear all IRQ pending bits
LDR r4, =0x0C
STR r4, [r3, #FIR_off_addr] ; Disable FIQ channels and clear FIQ pending bits
LDR r4, =0x00000000
STR r4, [r3, #CIPR_off_addr] ; Reset the current priority register
LDR r4, =0xE59F0000
STR r4, [r3, #IVR_off_addr] ; Write the LDR pc,pc,#offset instruction code in IVR[31:16]
LDR r2, =32 ; 32 Channel to initialize
LDR r0, =T0TIMI_Addr ; Read the address of the IRQs address table
LDR r1, =0x00000FFF
AND r0,r0,r1
LDR r5, =SIR0_off_addr ; Read SIR0 address
SUB r4,r0,#8 ; subtract 8 for prefetch
LDR r1, =0xF7E8 ; add the offset to the 0x00000000 address(IVR address + 7E8 = 0x00000000)
; 0xF7E8 used to complete the LDR pc,pc,#offset opcode
ADD r1,r4,r1 ; compute the jump offset
EIC_INI MOV r4, r1, LSL #16 ; Left shift the result
STR r4, [r3, r5] ; Store the result in SIRx register
ADD r1, r1, #4 ; Next IRQ address
ADD r5, r5, #4 ; Next SIR
SUBS r2, r2, #1 ; Decrement the number of SIR registers to initialize
BNE EIC_INI ; If more then continue
ldr r0,=?main
bx r0
LTORG
ENDMOD
END

@ -1,201 +0,0 @@
//*************************************************************************
// XLINK command file template for EWARM/ICCARM
//
// Usage: xlink -f lnkarm <your_object_file(s)>
// -s <program start label> <C/C++ runtime library>
//
// $Revision: 1.1 $
//*************************************************************************
// Code memory in flash
-DROMSTART=0x00000000
-DROMEND=0x0003FFFF
-DVECSTART=ROMSTART
// Data memory
-DRAMSTART=0x20000000
-DRAMEND=0x2000FFFF
//*************************************************************************
// In this file it is assumed that the system has the following
// memory layout:
//
// Exception vectors [0x000000--0x00001F] RAM or ROM
// ROMSTART--ROMEND [0x008000--0x0FFFFF] ROM (or other non-volatile memory)
// RAMSTART--RAMEND [0x100000--0x7FFFFF] RAM (or other read/write memory)
//
// -------------
// Code segments - may be placed anywhere in memory.
// -------------
//
// INTVEC -- Exception vector table.
// SWITAB -- Software interrupt vector table.
// ICODE -- Startup (cstartup) and exception code.
// DIFUNCT -- Dynamic initialization vectors used by C++.
// CODE -- Compiler generated code.
// CODE_I -- Compiler generated code declared __ramfunc (executes in RAM)
// CODE_ID -- Initializer for CODE_I (ROM).
//
// -------------
// Data segments - may be placed anywhere in memory.
// -------------
//
// CSTACK -- The stack used by C/C++ programs (system and user mode).
// IRQ_STACK -- The stack used by IRQ service routines.
// SVC_STACK -- The stack used in supervisor mode
// (Define other exception stacks as needed for
// FIQ, ABT, UND).
// HEAP -- The heap used by malloc and free in C and new and
// delete in C++.
// INITTAB -- Table containing addresses and sizes of segments that
// need to be initialized at startup (by cstartup).
// CHECKSUM -- The linker places checksum byte(s) in this segment,
// when the -J linker command line option is used.
// DATA_y -- Data objects.
//
// Where _y can be one of:
//
// _AN -- Holds uninitialized located objects, i.e. objects with
// an absolute location given by the @ operator or the
// #pragma location directive. Since these segments
// contain objects which already have a fixed address,
// they should not be mentioned in this linker command
// file.
// _C -- Constants (ROM).
// _I -- Initialized data (RAM).
// _ID -- The original content of _I (copied to _I by cstartup) (ROM).
// _N -- Uninitialized data (RAM).
// _Z -- Zero initialized data (RAM).
//
// Note: Be sure to use end values for the defined address ranges.
// Otherwise, the linker may allocate space outside the
// intended memory range.
//*************************************************************************
//************************************************
// Inform the linker about the CPU family used.
//************************************************
-carm
//*************************************************************************
// Segment placement - General information
//
// All numbers in the segment placement command lines below are interpreted
// as hexadecimal unless they are immediately preceded by a '.', which
// denotes decimal notation.
//
// When specifying the segment placement using the -P instead of the -Z
// option, the linker is free to split each segment into its segment parts
// and randomly place these parts within the given ranges in order to
// achieve a more efficient memory usage. One disadvantage, however, is
// that it is not possible to find the start or end address (using
// the assembler operators .sfb./.sfe.) of a segment which has been split
// and reformed.
//
// When generating an output file which is to be used for programming
// external ROM/Flash devices, the -M linker option is very useful
// (see xlink.pdf for details).
//*************************************************************************
//*************************************************************************
// Read-only segments mapped to ROM.
//*************************************************************************
//************************************************
// 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=VECSTART:+0x940
//************************************************
// 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
//************************************************
// Original ROM location for __ramfunc code copied
// to and executed from RAM.
//************************************************
-Z(CONST)CODE_ID=ROMSTART-ROMEND
//************************************************
// Various constants and initializers.
//************************************************
-Z(CONST)INITTAB,DATA_ID,DATA_C=ROMSTART-ROMEND
-Z(CONST)CHECKSUM=ROMSTART-ROMEND
//*************************************************************************
// Read/write segments mapped to RAM.
//*************************************************************************
//************************************************
// Data segments.
//************************************************
-Z(DATA)DATA_I,DATA_Z,DATA_N=RAMSTART-RAMEND
//************************************************
// __ramfunc code copied to and executed from RAM.
//************************************************
-Z(DATA)CODE_I=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
// CODE_ID segment instead, but to keep symbol and
// debug information associated with the CODE_I
// segment, where the code will execute.
//************************************************
-QCODE_I=CODE_ID
//*************************************************************************
// Stack and heap segments.
//*************************************************************************
//-D_CSTACK_SIZE=400
// -D_SVC_STACK_SIZE=10
//-D_IRQ_STACK_SIZE=500
//-D_HEAP_SIZE=4
//-Z(DATA)CSTACK+_CSTACK_SIZE=RAMSTART-RAMEND
//-Z(DATA)SVC_STACK+_SVC_STACK_SIZE=RAMSTART-RAMEND
//-Z(DATA)IRQ_STACK+_IRQ_STACK_SIZE,HEAP+_HEAP_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

@ -1,127 +0,0 @@
#include "FreeRTOSConfig.h"
IVR_ADDR DEFINE 0xFFFFF818
;*******************************************************************************
; Import the Reset_Handler address from 71x_init.s
;*******************************************************************************
IMPORT __program_start
;*******************************************************************************
; Import exception handlers
;*******************************************************************************
IMPORT vPortYieldProcessor ; FreeRTOS SWI handler
;*******************************************************************************
; Import IRQ handlers from 71x_it.c
;*******************************************************************************
IMPORT vPortNonPreemptiveTick ; Cooperative FreeRTOS tick handler
IMPORT vPortPreemptiveTickISR ; Preemptive FreeRTOS tick handler
IMPORT vSerialISREntry ; Demo serial port handler
;*******************************************************************************
; Export Peripherals IRQ handlers table address
;*******************************************************************************
CODE32
LDR PC, Reset_Addr
LDR PC, Undefined_Addr
LDR PC, SWI_Addr
LDR PC, Prefetch_Addr
LDR PC, Abort_Addr
NOP ; Reserved vector
LDR PC, =IVR_ADDR
LDR PC, FIQ_Addr
;*******************************************************************************
; Exception handlers address table
;*******************************************************************************
Reset_Addr DCD __program_start
Undefined_Addr DCD UndefinedHandler
SWI_Addr DCD vPortYieldProcessor
Prefetch_Addr DCD PrefetchAbortHandler
Abort_Addr DCD DataAbortHandler
DCD 0 ; Reserved vector
IRQ_Addr DCD IRQHandler
FIQ_Addr DCD FIQHandler
;*******************************************************************************
; Peripherals IRQ handlers address table
;*******************************************************************************
EXPORT T0TIMI_Addr
T0TIMI_Addr DCD DefaultISR
FLASH_Addr DCD DefaultISR
RCCU_Addr DCD DefaultISR
RTC_Addr DCD DefaultISR
#if configUSE_PREEMPTION == 0
WDG_Addr DCD vPortNonPreemptiveTick ; Tick ISR if the cooperative scheduler is used.
#else
WDG_Addr DCD vPortPreemptiveTickISR ; Tick ISR if the preemptive scheduler is used.
#endif
XTI_Addr DCD DefaultISR
USBHP_Addr DCD DefaultISR
I2C0ITERR_Addr DCD DefaultISR
I2C1ITERR_ADDR DCD DefaultISR
UART0_Addr DCD vSerialISREntry
UART1_Addr DCD DefaultISR
UART2_ADDR DCD DefaultISR
UART3_ADDR DCD DefaultISR
BSPI0_ADDR DCD DefaultISR
BSPI1_Addr DCD DefaultISR
I2C0_Addr DCD DefaultISR
I2C1_Addr DCD DefaultISR
CAN_Addr DCD DefaultISR
ADC12_Addr DCD DefaultISR
T1TIMI_Addr DCD DefaultISR
T2TIMI_Addr DCD DefaultISR
T3TIMI_Addr DCD DefaultISR
DCD 0 ; reserved
DCD 0 ; reserved
DCD 0 ; reserved
HDLC_Addr DCD DefaultISR
USBLP_Addr DCD DefaultISR
DCD 0 ; reserved
DCD 0 ; reserved
T0TOI_Addr DCD DefaultISR
T0OC1_Addr DCD DefaultISR
T0OC2_Addr DCD DefaultISR
;*******************************************************************************
; Exception Handlers
;*******************************************************************************
UndefinedHandler
b UndefinedHandler
PrefetchAbortHandler
b PrefetchAbortHandler
DataAbortHandler
b DataAbortHandler
IRQHandler
b DefaultISR
FIQHandler
b FIQHandler
DefaultISR
b DefaultISR
LTORG
END

@ -1,215 +0,0 @@
/*;******************** (C) COPYRIGHT 2005 STMicroelectronics ******************
;* File Name : lnkarm_flash.xcl
;* Author : MCD Application Team
;* Date First Issued : 03/10/2006
;* Description : XLINK command file for EWARM/ICCARM
;* : Usage: xlink -f lnkarm <your_object_file(s)>
;* : -s <program start label> <C/C++ runtime library>
;*******************************************************************************
; History:
; 07/17/2006 : V1.0
; 03/10/2006 : V0.1
;*******************************************************************************
; THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
; WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
; AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
; INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
; CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
; INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
;******************************************************************************/
// Embedded Flash (256/128/64Kbytes)
// The user has to change the flash memory length depending STR75xFxx devices
// Code memory in flash
-DROMSTART=0x20000000
-DROMEND=0x2003FFFF //0x2001FFFF;0x200FFFF
// Data memory
-DRAMSTART=0x40000000
-DRAMEND=0x40003FFF
//*************************************************************************
// -------------
// Code segments - may be placed anywhere in memory.
// -------------
//
// INTVEC -- Exception vector table.
// SWITAB -- Software interrupt vector table.
// ICODE -- Startup (cstartup) and exception code.
// DIFUNCT -- Dynamic initialization vectors used by C++.
// CODE -- Compiler generated code.
// CODE_I -- Compiler generated code declared __ramfunc (executes in RAM)
// CODE_ID -- Initializer for CODE_I (ROM).
//
// -------------
// Data segments - may be placed anywhere in memory.
// -------------
//
// CSTACK -- The stack used by C/C++ programs (system and user mode).
// IRQ_STACK -- The stack used by IRQ service routines.
// SVC_STACK -- The stack used in supervisor mode
// UND_STACK -- The stack used in Und mode
// ABT_STACK -- The stack used in Abort mode
// FIQ_STACK -- The stack used by FIQ service routines
// HEAP -- The heap used by malloc and free in C and new and
// delete in C++.
// INITTAB -- Table containing addresses and sizes of segments that
// need to be initialized at startup (by cstartup).
// CHECKSUM -- The linker places checksum byte(s) in this segment,
// when the -J linker command line option is used.
// DATA_y -- Data objects.
//
// Where _y can be one of:
//
// _AN -- Holds uninitialized located objects, i.e. objects with
// an absolute location given by the @ operator or the
// #pragma location directive. Since these segments
// contain objects which already have a fixed address,
// they should not be mentioned in this linker command
// file.
// _C -- Constants (ROM).
// _I -- Initialized data (RAM).
// _ID -- The original content of _I (copied to _I by cstartup) (ROM).
// _N -- Uninitialized data (RAM).
// _Z -- Zero initialized data (RAM).
//
// Note: Be sure to use end values for the defined address ranges.
// Otherwise, the linker may allocate space outside the
// intended memory range.
//*************************************************************************
//************************************************
// Inform the linker about the CPU family used.
//************************************************
-carm
//*************************************************************************
// Segment placement - General information
//
// All numbers in the segment placement command lines below are interpreted
// as hexadecimal unless they are immediately preceded by a '.', which
// denotes decimal notation.
//
// When specifying the segment placement using the -P instead of the -Z
// option, the linker is free to split each segment into its segment parts
// and randomly place these parts within the given ranges in order to
// achieve a more efficient memory usage. One disadvantage, however, is
// that it is not possible to find the start or end address (using
// the assembler operators .sfb./.sfe.) of a segment which has been split
// and reformed.
//
// When generating an output file which is to be used for programming
// external ROM/Flash devices, the -M linker option is very useful
// (see xlink.pdf for details).
//*************************************************************************
//*************************************************************************
// Read-only segments mapped to ROM.
//*************************************************************************
//************************************************
// Address range for reset and exception
// vectors (INTVEC).
//************************************************
-Z(CODE)INTVEC=ROMSTART-ROMEND
//************************************************
// 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
//************************************************
// Original ROM location for __ramfunc code copied
// to and executed from RAM.
//************************************************
-Z(CONST)CODE_ID=ROMSTART-ROMEND
//************************************************
// Various constants and initializers.
//************************************************
-Z(CONST)INITTAB,DATA_ID,DATA_C=ROMSTART-ROMEND
-Z(CONST)CHECKSUM=ROMSTART-ROMEND
//*************************************************************************
// Read/write segments mapped to RAM.
//*************************************************************************
//************************************************
// Data segments.
//************************************************
-Z(DATA)DATA_I,DATA_Z,DATA_N=RAMSTART-RAMEND
//************************************************
// __ramfunc code copied to and executed from RAM.
//************************************************
-Z(DATA)CODE_I=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
// CODE_ID segment instead, but to keep symbol and
// debug information associated with the CODE_I
// segment, where the code will execute.
//************************************************
-QCODE_I=CODE_ID
//*************************************************************************
// Stack and heap segments.
//*************************************************************************
// Add size >0 for ABT_Stack, UND_Stack if you need them.
// size must be 8 byte aligned.
-D_CSTACK_SIZE=0x100
-D_SVC_STACK_SIZE=0x400
-D_IRQ_STACK_SIZE=0x400
-D_FIQ_STACK_SIZE=0x40
-D_ABT_STACK_SIZE=0x0
-D_UND_STACK_SIZE=0x0
-D_HEAP_SIZE=0x10
-Z(DATA)CSTACK+_CSTACK_SIZE=RAMSTART-RAMEND
-Z(DATA)SVC_STACK+_SVC_STACK_SIZE=RAMSTART-RAMEND
-Z(DATA)ABT_STACK+_ABT_STACK_SIZE=RAMSTART-RAMEND
-Z(DATA)UND_STACK+_UND_STACK_SIZE=RAMSTART-RAMEND
-Z(DATA)FIQ_STACK+_FIQ_STACK_SIZE=RAMSTART-RAMEND
-Z(DATA)IRQ_STACK+_IRQ_STACK_SIZE=RAMSTART-RAMEND
-Z(DATA)HEAP+_HEAP_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

@ -1,218 +0,0 @@
/*;******************** (C) COPYRIGHT 2005 STMicroelectronics **************************
;* File Name : lnkarm_ram.xcl
;* Author : MCD Application Team
;* Date First Issued : 09/27/2005 : V1.0
;* Description : XLINK command file for EWARM/ICCARM
;* : Usage: xlink -f lnkarm <your_object_file(s)>
;* : -s <program start label> <C/C++ runtime library>
;*************************************************************************************
;* History:
;* 09/27/2005 : V1.0
;*************************************************************************************
; THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
; WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
; AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT
; OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
; OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION
; CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
;*************************************************************************************/
// Code memory in flash
-DROMSTART=0x00000000
-DROMEND=0x00080000
-DVECSTART=ROMSTART
// Data memory
-DRAMSTART=0x4000000
-DRAMEND=0x04018000
//*************************************************************************
// In this file it is assumed that the system has the following
// memory layout:
//
// Exception vectors [0x000000--0x00001F] RAM or ROM
// ROMSTART--ROMEND [0x008000--0x0FFFFF] ROM (or other non-volatile memory)
// RAMSTART--RAMEND [0x100000--0x7FFFFF] RAM (or other read/write memory)
//
// -------------
// Code segments - may be placed anywhere in memory.
// -------------
//
// INTVEC -- Exception vector table.
// SWITAB -- Software interrupt vector table.
// ICODE -- Startup (cstartup) and exception code.
// DIFUNCT -- Dynamic initialization vectors used by C++.
// CODE -- Compiler generated code.
// CODE_I -- Compiler generated code declared __ramfunc (executes in RAM)
// CODE_ID -- Initializer for CODE_I (ROM).
//
// -------------
// Data segments - may be placed anywhere in memory.
// -------------
//
// CSTACK -- The stack used by C/C++ programs (system and user mode).
// IRQ_STACK -- The stack used by IRQ service routines.
// SVC_STACK -- The stack used in supervisor mode
// (Define other exception stacks as needed for
// FIQ, ABT, UND).
// HEAP -- The heap used by malloc and free in C and new and
// delete in C++.
// INITTAB -- Table containing addresses and sizes of segments that
// need to be initialized at startup (by cstartup).
// CHECKSUM -- The linker places checksum byte(s) in this segment,
// when the -J linker command line option is used.
// DATA_y -- Data objects.
//
// Where _y can be one of:
//
// _AN -- Holds uninitialized located objects, i.e. objects with
// an absolute location given by the @ operator or the
// #pragma location directive. Since these segments
// contain objects which already have a fixed address,
// they should not be mentioned in this linker command
// file.
// _C -- Constants (ROM).
// _I -- Initialized data (RAM).
// _ID -- The original content of _I (copied to _I by cstartup) (ROM).
// _N -- Uninitialized data (RAM).
// _Z -- Zero initialized data (RAM).
//
// Note: Be sure to use end values for the defined address ranges.
// Otherwise, the linker may allocate space outside the
// intended memory range.
//*************************************************************************
//************************************************
// Inform the linker about the CPU family used.
//************************************************
-carm
//*************************************************************************
// Segment placement - General information
//
// All numbers in the segment placement command lines below are interpreted
// as hexadecimal unless they are immediately preceded by a '.', which
// denotes decimal notation.
//
// When specifying the segment placement using the -P instead of the -Z
// option, the linker is free to split each segment into its segment parts
// and randomly place these parts within the given ranges in order to
// achieve a more efficient memory usage. One disadvantage, however, is
// that it is not possible to find the start or end address (using
// the assembler operators .sfb./.sfe.) of a segment which has been split
// and reformed.
//
// When generating an output file which is to be used for programming
// external ROM/Flash devices, the -M linker option is very useful
// (see xlink.pdf for details).
//*************************************************************************
//*************************************************************************
// Read-only segments mapped to ROM.
//*************************************************************************
//************************************************
// 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=ROMSTART-ROMEND
//************************************************
// 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
//************************************************
// Original ROM location for __ramfunc code copied
// to and executed from RAM.
//************************************************
-Z(CONST)CODE_ID=ROMSTART-ROMEND
//************************************************
// Various constants and initializers.
//************************************************
-Z(CONST)INITTAB,DATA_ID,DATA_C=ROMSTART-ROMEND
-Z(CONST)CHECKSUM=ROMSTART-ROMEND
//*************************************************************************
// Read/write segments mapped to RAM.
//*************************************************************************
//************************************************
// Data segments.
//************************************************
-Z(DATA)DATA_I,DATA_Z,DATA_N=RAMSTART-RAMEND
//************************************************
// __ramfunc code copied to and executed from RAM.
//************************************************
-Z(DATA)CODE_I=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
// CODE_ID segment instead, but to keep symbol and
// debug information associated with the CODE_I
// segment, where the code will execute.
//************************************************
-QCODE_I=CODE_ID
//*************************************************************************
// Stack and heap segments.
//*************************************************************************
//-D_CSTACK_SIZE=0x1000
//-D_SVC_STACK_SIZE=0x100
//-D_IRQ_STACK_SIZE=0x400
//-D_FIQ_STACK_SIZE=0x40
//-D_ABT_STACK_SIZE=0x40
//-D_UND_STACK_SIZE=0x40
//-D_HEAP_SIZE=0x400
//-Z(DATA)CSTACK+_CSTACK_SIZE=RAMSTART-RAMEND
//-Z(DATA)SVC_STACK+_SVC_STACK_SIZE=RAMSTART-RAMEND
//-Z(DATA)ABT_STACK+_ABT_STACK_SIZE=RAMSTART-RAMEND
//-Z(DATA)UND_STACK+_UND_STACK_SIZE=RAMSTART-RAMEND
//-Z(DATA)FIQ_STACK+_FIQ_STACK_SIZE=RAMSTART-RAMEND
//-Z(DATA)IRQ_STACK+_IRQ_STACK_SIZE=RAMSTART-RAMEND
//-Z(DATA)HEAP+_HEAP_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

@ -1,192 +0,0 @@
// Generated : 06/01/06 20:29:52
//**********************************************************************
// XLINK template command file to be used with the ICCARM C/C++ Compiler
//
// Usage: xlink -f lnkarm <your_object_file(s)>
// -s <program start label> <C/C++ runtime library>
//
// $Revision: 1.3 $
//
//**********************************************************************
//*************************************************************************
// In this file it is assumed that the system has the following
// memory layout:
//
// Exception vectors [0x000000--0x00001F] RAM or ROM
// ROMSTART--ROMEND [0x008000--0x0FFFFF] ROM (or other non-volatile memory)
// RAMSTART--RAMEND [0x100000--0x7FFFFF] RAM (or other read/write memory)
//
// -------------
// Code segments - may be placed anywhere in memory.
// -------------
//
// INTVEC -- Exception vector table.
// SWITAB -- Software interrupt vector table.
// ICODE -- Startup (cstartup) and exception code.
// DIFUNCT -- Dynamic initialization vectors used by C++.
// CODE -- Compiler generated code.
// CODE_I -- Compiler generated code declared __ramfunc (executes in RAM)
// CODE_ID -- Initializer for CODE_I (ROM).
//
// -------------
// Data segments - may be placed anywhere in memory.
// -------------
//
// CSTACK -- The stack used by C/C++ programs (system and user mode).
// IRQ_STACK -- The stack used by IRQ service routines.
// SVC_STACK -- The stack used in supervisor mode
// (Define other exception stacks as needed for
// FIQ, ABT, UND).
// HEAP -- The heap used by malloc and free in C and new and
// delete in C++.
// INITTAB -- Table containing addresses and sizes of segments that
// need to be initialized at startup (by cstartup).
// CHECKSUM -- The linker places checksum byte(s) in this segment,
// when the -J linker command line option is used.
// DATA_y -- Data objects.
//
// Where _y can be one of:
//
// _AN -- Holds uninitialized located objects, i.e. objects with
// an absolute location given by the @ operator or the
// #pragma location directive. Since these segments
// contain objects which already have a fixed address,
// they should not be mentioned in this linker command
// file.
// _C -- Constants (ROM).
// _I -- Initialized data (RAM).
// _ID -- The original content of _I (copied to _I by cstartup) (ROM).
// _N -- Uninitialized data (RAM).
// _Z -- Zero initialized data (RAM).
//
// Note: Be sure to use end values for the defined address ranges.
// Otherwise, the linker may allocate space outside the
// intended memory range.
//*************************************************************************
//************************************************
// Inform the linker about the CPU family used.
//************************************************
-carm
//*************************************************************************
// Segment placement - General information
//
// All numbers in the segment placement command lines below are interpreted
// as hexadecimal unless they are immediately preceded by a '.', which
// denotes decimal notation.
//
// When specifying the segment placement using the -P instead of the -Z
// option, the linker is free to split each segment into its segment parts
// and randomly place these parts within the given ranges in order to
// achieve a more efficient memory usage. One disadvantage, however, is
// that it is not possible to find the start or end address (using
// the assembler operators .sfb./.sfe.) of a segment which has been split
// and reformed.
//
// When generating an output file which is to be used for programming
// external ROM/Flash devices, the -M linker option is very useful
// (see xlink.pdf for details).
//*************************************************************************
//*************************************************************************
// Read-only segments mapped to ROM.
//*************************************************************************
//************************************************
// 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=0-3F
//************************************************
// Startup code and exception routines (ICODE).
//************************************************
-Z(CODE)ICODE,DIFUNCT=8000-FFFFF
-Z(CODE)SWITAB=8000-FFFFF
//************************************************
// Code segments may be placed anywhere.
//************************************************
-Z(CODE)CODE=8000-FFFFF
//************************************************
// Original ROM location for __ramfunc code copied
// to and executed from RAM.
//************************************************
-Z(CONST)CODE_ID=8000-FFFFF
//************************************************
// Various constants and initializers.
//************************************************
-Z(CONST)INITTAB,DATA_ID,DATA_C=8000-FFFFF
-Z(CONST)CHECKSUM=8000-FFFFF
//*************************************************************************
// Read/write segments mapped to RAM.
//*************************************************************************
//************************************************
// Data segments.
//************************************************
-Z(DATA)DATA_I,DATA_Z,DATA_N=100000-7FFFFF
//************************************************
// __ramfunc code copied to and executed from RAM.
//************************************************
-Z(DATA)CODE_I=100000-7FFFFF
//************************************************
// ICCARM produces code for __ramfunc functions in
// CODE_I segments. The -Q XLINK command line
// option redirects XLINK to emit the code in the
// CODE_ID segment instead, but to keep symbol and
// debug information associated with the CODE_I
// segment, where the code will execute.
//************************************************
-QCODE_I=CODE_ID
//*************************************************************************
// Stack and heap segments.
//*************************************************************************
-Z(DATA)CSTACK+200=100000-7FFFFF
-Z(DATA)IRQ_STACK+100=100000-7FFFFF
-Z(DATA)HEAP+8000=100000-7FFFFF
//**********************************************************************
// Output user defined segments
//**********************************************************************
//*************************************************************************
// 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

@ -1,196 +0,0 @@
//*************************************************************************
// XLINK command file template for EWARM/ICCARM
//
// Usage: xlink -f lnkarm <your_object_file(s)>
// -s <program start label> <C/C++ runtime library>
//
// $Revision: 1.32 $
//*************************************************************************
//*************************************************************************
// In this file it is assumed that the system has the following
// memory layout:
//
// Exception vectors [0x000000--0x00001F] RAM or ROM
// ROMSTART--ROMEND [0x008000--0x0FFFFF] ROM (or other non-volatile memory)
// RAMSTART--RAMEND [0x100000--0x7FFFFF] RAM (or other read/write memory)
//
// -------------
// Code segments - may be placed anywhere in memory.
// -------------
//
// INTVEC -- Exception vector table.
// SWITAB -- Software interrupt vector table.
// ICODE -- Startup (cstartup) and exception code.
// DIFUNCT -- Dynamic initialization vectors used by C++.
// CODE -- Compiler generated code.
// CODE_I -- Compiler generated code declared __ramfunc (executes in RAM)
// CODE_ID -- Initializer for CODE_I (ROM).
//
// -------------
// Data segments - may be placed anywhere in memory.
// -------------
//
// CSTACK -- The stack used by C/C++ programs (system and user mode).
// IRQ_STACK -- The stack used by IRQ service routines.
// SVC_STACK -- The stack used in supervisor mode
// (Define other exception stacks as needed for
// FIQ, ABT, UND).
// HEAP -- The heap used by malloc and free in C and new and
// delete in C++.
// INITTAB -- Table containing addresses and sizes of segments that
// need to be initialized at startup (by cstartup).
// CHECKSUM -- The linker places checksum byte(s) in this segment,
// when the -J linker command line option is used.
// DATA_y -- Data objects.
//
// Where _y can be one of:
//
// _AN -- Holds uninitialized located objects, i.e. objects with
// an absolute location given by the @ operator or the
// #pragma location directive. Since these segments
// contain objects which already have a fixed address,
// they should not be mentioned in this linker command
// file.
// _C -- Constants (ROM).
// _I -- Initialized data (RAM).
// _ID -- The original content of _I (copied to _I by cstartup) (ROM).
// _N -- Uninitialized data (RAM).
// _Z -- Zero initialized data (RAM).
//
// Note: Be sure to use end values for the defined address ranges.
// Otherwise, the linker may allocate space outside the
// intended memory range.
//*************************************************************************
//************************************************
// Inform the linker about the CPU family used.
//************************************************
-carm
//*************************************************************************
// Segment placement - General information
//
// All numbers in the segment placement command lines below are interpreted
// as hexadecimal unless they are immediately preceded by a '.', which
// denotes decimal notation.
//
// When specifying the segment placement using the -P instead of the -Z
// option, the linker is free to split each segment into its segment parts
// and randomly place these parts within the given ranges in order to
// achieve a more efficient memory usage. One disadvantage, however, is
// that it is not possible to find the start or end address (using
// the assembler operators .sfb./.sfe.) of a segment which has been split
// and reformed.
//
// When generating an output file which is to be used for programming
// external ROM/Flash devices, the -M linker option is very useful
// (see xlink.pdf for details).
//*************************************************************************
//*************************************************************************
// Read-only segments mapped to ROM.
//*************************************************************************
-DROMSTART=08000
-DROMEND=FFFFF
//************************************************
// 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
//************************************************
// Original ROM location for __ramfunc code copied
// to and executed from RAM.
//************************************************
-Z(CONST)CODE_ID=ROMSTART-ROMEND
//************************************************
// Various constants and initializers.
//************************************************
-Z(CONST)INITTAB,DATA_ID,DATA_C=ROMSTART-ROMEND
-Z(CONST)CHECKSUM=ROMSTART-ROMEND
//*************************************************************************
// Read/write segments mapped to RAM.
//*************************************************************************
-DRAMSTART=100000
-DRAMEND=7FFFFF
//************************************************
// Data segments.
//************************************************
-Z(DATA)DATA_I,DATA_Z,DATA_N=RAMSTART-RAMEND
//************************************************
// __ramfunc code copied to and executed from RAM.
//************************************************
-Z(DATA)CODE_I=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
// CODE_ID segment instead, but to keep symbol and
// debug information associated with the CODE_I
// segment, where the code will execute.
//************************************************
-QCODE_I=CODE_ID
//*************************************************************************
// Stack and heap segments.
//*************************************************************************
-D_CSTACK_SIZE=2000
// -D_SVC_STACK_SIZE=10
-D_IRQ_STACK_SIZE=100
-D_HEAP_SIZE=8000
-Z(DATA)CSTACK+_CSTACK_SIZE=RAMSTART-RAMEND
// -Z(DATA)SVC_STACK+_SVC_STACK_SIZE=RAMSTART-RAMEND
-Z(DATA)IRQ_STACK+_IRQ_STACK_SIZE,HEAP+_HEAP_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

@ -1,192 +0,0 @@
//*************************************************************************
// XLINK command file template for EWARM/ICCARM
//
// Usage: xlink -f lnkarm <your_object_file(s)>
// -s <program start label> <C/C++ runtime library>
//
// $Revision: 1.1 $
//*************************************************************************
//*************************************************************************
// In this file it is assumed that the system has the following
// memory layout:
//
// ROMSTART--ROMEND [00000000--00001FFF] Flash
// RAMSTART--RAMEND [20000000--200007FF] RAM
//
// -------------
// Code segments - may be placed anywhere in memory (except INTVEC).
// -------------
//
// INTVEC -- Exception vector table.
// SWITAB -- Software interrupt vector table.
// ICODE -- Startup (cstartup) and exception code.
// DIFUNCT -- Dynamic initialization vectors used by C++.
// CODE -- Compiler generated code.
// CODE_I -- Compiler generated code declared __ramfunc (executes in RAM)
// CODE_ID -- Initializer for CODE_I (ROM).
//
// -------------
// Data segments - may be placed anywhere in memory.
// -------------
//
// CSTACK -- The stack used by C/C++ programs (system and user mode).
// HEAP -- The heap used by malloc and free in C and new and
// delete in C++.
// INITTAB -- Table containing addresses and sizes of segments that
// need to be initialized at startup (by cstartup).
// CHECKSUM -- The linker places checksum byte(s) in this segment,
// when the -J linker command line option is used.
// DATA_y -- Data objects.
//
// Where _y can be one of:
//
// _AN -- Holds uninitialized located objects, i.e. objects with
// an absolute location given by the @ operator or the
// #pragma location directive. Since these segments
// contain objects which already have a fixed address,
// they should not be mentioned in this linker command
// file.
// _C -- Constants (ROM).
// _I -- Initialized data (RAM).
// _ID -- The original content of _I (copied to _I by cstartup) (ROM).
// _N -- Uninitialized data (RAM).
// _Z -- Zero initialized data (RAM).
//
// Note: Be sure to use end values for the defined address ranges.
// Otherwise, the linker may allocate space outside the
// intended memory range.
//*************************************************************************
//************************************************
// Inform the linker about the CPU family used.
//************************************************
-carm
//*************************************************************************
// Segment placement - General information
//
// All numbers in the segment placement command lines below are interpreted
// as hexadecimal unless they are immediately preceded by a '.', which
// denotes decimal notation.
//
// When specifying the segment placement using the -P instead of the -Z
// option, the linker is free to split each segment into its segment parts
// and randomly place these parts within the given ranges in order to
// achieve a more efficient memory usage. One disadvantage, however, is
// that it is not possible to find the start or end address (using
// the assembler operators .sfb./.sfe.) of a segment which has been split
// and reformed.
//
// When generating an output file which is to be used for programming
// external ROM/Flash devices, the -M linker option is very useful
// (see xlink.pdf for details).
//*************************************************************************
//*************************************************************************
// Read-only segments mapped to ROM.
//*************************************************************************
-DROMSTART=00000000
-DROMEND=00001FFF
//************************************************
// Address range for reset and exception
// vectors (INTVEC).
// The vector area is at least 8 bytes,
// and is normally located at address 0.
// It may be changed to a RAM address when
// debugging in RAM (aligned to 2^7).
//************************************************
-Z(CODE)INTVEC=ROMSTART-ROMEND
//************************************************
// 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
//************************************************
// Original ROM location for __ramfunc code copied
// to and executed from RAM.
//************************************************
-Z(CONST)CODE_ID=ROMSTART-ROMEND
//************************************************
// Various constants and initializers.
//************************************************
-Z(CONST)INITTAB,DATA_ID,DATA_C=ROMSTART-ROMEND
-Z(CONST)CHECKSUM=ROMSTART-ROMEND
//*************************************************************************
// Read/write segments mapped to RAM.
//*************************************************************************
-DRAMSTART=20000000
-DRAMEND=200007FF
//************************************************
// Data segments.
//************************************************
-Z(DATA)VTABLE=RAMSTART-RAMEND
-Z(DATA)DATA_I,DATA_Z,DATA_N=RAMSTART-RAMEND
//************************************************
// __ramfunc code copied to and executed from RAM.
//************************************************
-Z(DATA)CODE_I=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
// CODE_ID segment instead, but to keep symbol and
// debug information associated with the CODE_I
// segment, where the code will execute.
//************************************************
-QCODE_I=CODE_ID
//*************************************************************************
// Stack and heap segments.
//*************************************************************************
-D_CSTACK_SIZE=180
-D_IRQ_STACK_SIZE=100
-D_HEAP_SIZE=100
-Z(DATA)CSTACK+_CSTACK_SIZE=RAMSTART-RAMEND
-Z(DATA)HEAP+_HEAP_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

@ -1,37 +0,0 @@
//*****************************************************************************
//
// standalone.xcl - Linker script for EW-ARM.
//
// Copyright (c) 2006 Luminary Micro, Inc. All rights reserved.
//
//*****************************************************************************
//
// Set the CPU type to ARM.
//
-carm
//
// Define the size of flash and SRAM.
//
-DROMSTART=00000000
-DROMEND=0000FFFF
-DRAMSTART=20000000
-DRAMEND=20001FFF
//
// Define the sections to place into flash, and the order to place them.
//
-Z(CODE)INTVEC=ROMSTART-ROMEND
-Z(CODE)ICODE,DIFUNCT=ROMSTART-ROMEND
-Z(CODE)CODE=ROMSTART-ROMEND
-Z(CONST)CODE_ID=ROMSTART-ROMEND
-Z(CONST)INITTAB,DATA_ID,DATA_C=ROMSTART-ROMEND
-Z(CONST)CHECKSUM=ROMSTART-ROMEND
//
// Define the sections to place into SRAM, and the order to place them.
//
-Z(DATA)VTABLE=RAMSTART-RAMEND
-Z(DATA)DATA_I,DATA_Z,DATA_N=RAMSTART-RAMEND
-Z(DATA)CODE_I=RAMSTART-RAMEND

@ -1,37 +0,0 @@
//*****************************************************************************
//
// standalone.xcl - Linker script for EW-ARM.
//
// Copyright (c) 2006 Luminary Micro, Inc. All rights reserved.
//
//*****************************************************************************
//
// Set the CPU type to ARM.
//
-carm
//
// Define the size of flash and SRAM.
//
-DROMSTART=00000000
-DROMEND=0000FFFF
-DRAMSTART=20000000
-DRAMEND=20001FFF
//
// Define the sections to place into flash, and the order to place them.
//
-Z(CODE)INTVEC=ROMSTART-ROMEND
-Z(CODE)ICODE,DIFUNCT=ROMSTART-ROMEND
-Z(CODE)CODE=ROMSTART-ROMEND
-Z(CONST)CODE_ID=ROMSTART-ROMEND
-Z(CONST)INITTAB,DATA_ID,DATA_C=ROMSTART-ROMEND
-Z(CONST)CHECKSUM=ROMSTART-ROMEND
//
// Define the sections to place into SRAM, and the order to place them.
//
-Z(DATA)VTABLE=RAMSTART-RAMEND
-Z(DATA)DATA_I,DATA_Z,DATA_N=RAMSTART-RAMEND
-Z(DATA)CODE_I=RAMSTART-RAMEND

@ -1,957 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<project>
<fileVersion>2</fileVersion>
<fileChecksum>4157957474</fileChecksum>
<configuration>
<name>Debug</name>
<outputs>
<file>$TOOLKIT_DIR$\inc\DLib_Product.h</file>
<file>$PROJ_DIR$\Debug\Exe\RTOSDemo.out</file>
<file>$PROJ_DIR$\Debug\Obj\startup_ewarm.pbi</file>
<file>$PROJ_DIR$\Debug\Obj\death.pbi</file>
<file>$PROJ_DIR$\..\Common\drivers\LuminaryMicro\hw_ints.h</file>
<file>$PROJ_DIR$\..\..\Source\include\semphr.h</file>
<file>$PROJ_DIR$\..\Common\drivers\LuminaryMicro\hw_ssi.h</file>
<file>$PROJ_DIR$\Debug\Obj\psock.o</file>
<file>$PROJ_DIR$\Debug\Obj\GenQTest.o</file>
<file>$PROJ_DIR$\LuminaryDrivers\hw_ssi.h</file>
<file>$PROJ_DIR$\LuminaryDrivers\pdc.c</file>
<file>$PROJ_DIR$\..\Common\drivers\LuminaryMicro\hw_ethernet.h</file>
<file>$PROJ_DIR$\..\Common\include\semtest.h</file>
<file>$PROJ_DIR$\webserver\httpd-cgi.h</file>
<file>$PROJ_DIR$\..\..\Source\include\portable.h</file>
<file>$PROJ_DIR$\LuminaryDrivers\hw_types.h</file>
<file>$PROJ_DIR$\LM3Sxxxx.icf</file>
<file>$PROJ_DIR$\lcd_message.h</file>
<file>$PROJ_DIR$\Debug\Obj\http-strings.o</file>
<file>$PROJ_DIR$\..\..\Source\portable\IAR\ARM_CM3\portasm.s</file>
<file>$PROJ_DIR$\Debug\Obj\port.pbi</file>
<file>$PROJ_DIR$\LuminaryDrivers\osram128x64x4.c</file>
<file>$PROJ_DIR$\webserver\httpd.h</file>
<file>$TOOLKIT_DIR$\inc\ysizet.h</file>
<file>$PROJ_DIR$\Debug\Obj\rit128x96x4.o</file>
<file>$PROJ_DIR$\..\Common\include\BlockQ.h</file>
<file>$PROJ_DIR$\..\..\Source\include\FreeRTOS.h</file>
<file>$TOOLKIT_DIR$\inc\DLib_Defaults.h</file>
<file>$PROJ_DIR$\..\Common\include\integer.h</file>
<file>$PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\pt.h</file>
<file>$PROJ_DIR$\Debug\Obj\emac.pbi</file>
<file>$PROJ_DIR$\Debug\Obj\timer.o</file>
<file>$PROJ_DIR$\..\..\Source\portable\IAR\ARM_CM3\portmacro.h</file>
<file>$TOOLKIT_DIR$\inc\stdint.h</file>
<file>$PROJ_DIR$\LuminaryDrivers\gpio.h</file>
<file>$PROJ_DIR$\Debug\Obj\ParTest.o</file>
<file>$PROJ_DIR$\..\Common\Minimal\integer.c</file>
<file>$PROJ_DIR$\..\Common\drivers\LuminaryMicro\lmi_timer.h</file>
<file>$PROJ_DIR$\Debug\Obj\PollQ.o</file>
<file>$PROJ_DIR$\LuminaryDrivers\hw_memmap.h</file>
<file>$PROJ_DIR$\..\..\Source\include\list.h</file>
<file>$PROJ_DIR$\Debug\Obj\port.o</file>
<file>$TOOLKIT_DIR$\lib\dl7M_tl_in.a</file>
<file>$PROJ_DIR$\Debug\Obj\queue.pbi</file>
<file>$PROJ_DIR$\Debug\Obj\uip_arp.o</file>
<file>$PROJ_DIR$\webserver\uip-conf.h</file>
<file>$PROJ_DIR$\Debug\Obj\portasm.o</file>
<file>$PROJ_DIR$\..\..\Source\portable\MemMang\heap_2.c</file>
<file>$PROJ_DIR$\osram128x64x4.c</file>
<file>$PROJ_DIR$\Debug\Obj\http-strings.pbi</file>
<file>$PROJ_DIR$\..\Common\drivers\LuminaryMicro\gpio.h</file>
<file>$PROJ_DIR$\Debug\Obj\httpd-cgi.o</file>
<file>$PROJ_DIR$\..\Common\Minimal\flash.c</file>
<file>$PROJ_DIR$\..\Common\include\blocktim.h</file>
<file>$PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\timer.h</file>
<file>$PROJ_DIR$\Debug\Obj\flash.o</file>
<file>$TOOLKIT_DIR$\inc\xencoding_limits.h</file>
<file>$PROJ_DIR$\..\Common\include\PollQ.h</file>
<file>$PROJ_DIR$\..\..\Source\include\projdefs.h</file>
<file>$PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\psock.h</file>
<file>$PROJ_DIR$\webserver\httpd-fsdata.c</file>
<file>$PROJ_DIR$\Debug\Obj\startup_ewarm.o</file>
<file>$PROJ_DIR$\Debug\Obj\uip.pbi</file>
<file>$PROJ_DIR$\Debug\Obj\osram128x64x4.r79</file>
<file>$PROJ_DIR$\Debug\Obj\rit128x96x4.pbi</file>
<file>$PROJ_DIR$\webserver\httpd-cgi.c</file>
<file>$PROJ_DIR$\..\..\Source\portable\IAR\ARM_CM3\port.c</file>
<file>$PROJ_DIR$\..\..\Source\queue.c</file>
<file>$PROJ_DIR$\..\Common\drivers\LuminaryMicro\lmi_flash.h</file>
<file>$PROJ_DIR$\Debug\Obj\blocktim.o</file>
<file>$PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip_arp.h</file>
<file>$PROJ_DIR$\Debug\Obj\list.o</file>
<file>$PROJ_DIR$\Debug\Obj\tasks.pbi</file>
<file>$PROJ_DIR$\Debug\Obj\timertest.pbi</file>
<file>$PROJ_DIR$\..\Common\include\partest.h</file>
<file>$PROJ_DIR$\webserver\clock-arch.h</file>
<file>$PROJ_DIR$\webserver\httpd-fs.h</file>
<file>$PROJ_DIR$\Debug\Obj\flash.pbi</file>
<file>$PROJ_DIR$\Debug\Obj\GenQTest.pbi</file>
<file>$TOOLKIT_DIR$\inc\stddef.h</file>
<file>$PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uipopt.h</file>
<file>$PROJ_DIR$\Debug\Obj\httpd-fs.o</file>
<file>$TOOLKIT_DIR$\inc\ycheck.h</file>
<file>$PROJ_DIR$\..\Common\include\QPeek.h</file>
<file>$PROJ_DIR$\Debug\Obj\list.pbi</file>
<file>$PROJ_DIR$\Debug\Obj\ParTest.pbi</file>
<file>$PROJ_DIR$\webserver\http-strings.h</file>
<file>$PROJ_DIR$\Debug\Obj\semtest.pbi</file>
<file>$PROJ_DIR$\..\Common\drivers\LuminaryMicro\interrupt.h</file>
<file>$PROJ_DIR$\..\Common\drivers\LuminaryMicro\debug.h</file>
<file>$PROJ_DIR$\..\Common\drivers\LuminaryMicro\hw_types.h</file>
<file>$PROJ_DIR$\Debug\Obj\uIP_Task.pbi</file>
<file>$PROJ_DIR$\Debug\Obj\RTOSDemo.pbd</file>
<file>$TOOLKIT_DIR$\inc\DLib_Config_Normal.h</file>
<file>$PROJ_DIR$\ParTest\ParTest.c</file>
<file>$PROJ_DIR$\Debug\Obj\BlockQ.o</file>
<file>$PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip_arch.h</file>
<file>$PROJ_DIR$\main.c</file>
<file>$PROJ_DIR$\Debug\Obj\osram128x64x4.pbi</file>
<file>$PROJ_DIR$\Debug\Obj\uip.o</file>
<file>$PROJ_DIR$\rit128x96x4.c</file>
<file>$PROJ_DIR$\LuminaryDrivers\ssi.h</file>
<file>$PROJ_DIR$\..\Common\drivers\LuminaryMicro\hw_sysctl.h</file>
<file>$PROJ_DIR$\webserver\uIP_Task.c</file>
<file>$PROJ_DIR$\Debug\Obj\emac.o</file>
<file>$PROJ_DIR$\Debug\Obj\BlockQ.pbi</file>
<file>$PROJ_DIR$\LuminaryDrivers\pdc.h</file>
<file>$TOOLKIT_DIR$\inc\DLib_Threads.h</file>
<file>$PROJ_DIR$\..\..\Source\include\task.h</file>
<file>$PROJ_DIR$\LuminaryDrivers\osram128x64x4.h</file>
<file>$PROJ_DIR$\Debug\Obj\uip_arp.pbi</file>
<file>$PROJ_DIR$\Debug\Obj\httpd.o</file>
<file>$PROJ_DIR$\..\Common\include\death.h</file>
<file>$PROJ_DIR$\..\Common\Minimal\death.c</file>
<file>$PROJ_DIR$\Debug\Obj\pdc.r79</file>
<file>$PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip.h</file>
<file>$PROJ_DIR$\startup_ewarm.c</file>
<file>$PROJ_DIR$\Debug\Obj\blocktim.pbi</file>
<file>$PROJ_DIR$\Debug\Obj\semtest.o</file>
<file>$PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\lc-switch.h</file>
<file>$PROJ_DIR$\Debug\Obj\integer.o</file>
<file>$PROJ_DIR$\Debug\Obj\death.o</file>
<file>$PROJ_DIR$\Debug\Obj\QPeek.o</file>
<file>$PROJ_DIR$\..\Common\drivers\LuminaryMicro\hw_memmap.h</file>
<file>$TOOLKIT_DIR$\inc\yvals.h</file>
<file>$PROJ_DIR$\Debug\Obj\httpd.pbi</file>
<file>$PROJ_DIR$\..\Common\drivers\LuminaryMicro\timer.h</file>
<file>$PROJ_DIR$\Debug\Obj\queue.o</file>
<file>$PROJ_DIR$\Debug\Obj\httpd-cgi.pbi</file>
<file>$PROJ_DIR$\LuminaryDrivers\debug.h</file>
<file>$PROJ_DIR$\webserver\webserver.h</file>
<file>$PROJ_DIR$\..\..\Source\list.c</file>
<file>$PROJ_DIR$\..\Common\include\flash.h</file>
<file>$PROJ_DIR$\..\..\Source\include\croutine.h</file>
<file>$PROJ_DIR$\Debug\Obj\timer.pbi</file>
<file>$TOOLKIT_DIR$\inc\stdio.h</file>
<file>$PROJ_DIR$\Debug\Obj\timertest.o</file>
<file>$TOOLKIT_DIR$\inc\DLib_Product_string.h</file>
<file>$PROJ_DIR$\webserver\httpd-fsdata.h</file>
<file>$TOOLKIT_DIR$\lib\rt7M_tl.a</file>
<file>$PROJ_DIR$\..\Common\drivers\LuminaryMicro\IAR\driverlib.a</file>
<file>$TOOLKIT_DIR$\inc\string.h</file>
<file>$PROJ_DIR$\Debug\Obj\integer.pbi</file>
<file>$PROJ_DIR$\..\Common\drivers\LuminaryMicro\ssi.h</file>
<file>$PROJ_DIR$\..\Common\Minimal\GenQTest.c</file>
<file>$PROJ_DIR$\Debug\Obj\PollQ.pbi</file>
<file>$PROJ_DIR$\LuminaryDrivers\hw_sysctl.h</file>
<file>$PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\clock.h</file>
<file>$PROJ_DIR$\bitmap.h</file>
<file>$PROJ_DIR$\..\Common\Minimal\blocktim.c</file>
<file>$PROJ_DIR$\..\Common\Minimal\PollQ.c</file>
<file>$PROJ_DIR$\Debug\Obj\osram128x64x4.o</file>
<file>$PROJ_DIR$\osram128x64x4.h</file>
<file>$PROJ_DIR$\..\Common\drivers\LuminaryMicro\sysctl.h</file>
<file>$PROJ_DIR$\..\Common\drivers\LuminaryMicro\ethernet.h</file>
<file>$PROJ_DIR$\..\Common\drivers\LuminaryMicro\rit128x96x4.h</file>
<file>$PROJ_DIR$\..\Common\Minimal\BlockQ.c</file>
<file>$PROJ_DIR$\LuminaryDrivers\sysctl.h</file>
<file>$PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip_arp.c</file>
<file>$PROJ_DIR$\webserver\emac.c</file>
<file>$PROJ_DIR$\..\..\Source\tasks.c</file>
<file>$PROJ_DIR$\webserver\http-strings.c</file>
<file>$TOOLKIT_DIR$\inc\stdlib.h</file>
<file>$PROJ_DIR$\Debug\Obj\main.o</file>
<file>$PROJ_DIR$\Debug\Obj\main.pbi</file>
<file>$PROJ_DIR$\..\Common\Minimal\QPeek.c</file>
<file>$PROJ_DIR$\timertest.c</file>
<file>$PROJ_DIR$\..\Common\Minimal\semtest.c</file>
<file>$PROJ_DIR$\webserver\httpd-fs.c</file>
<file>$PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip.c</file>
<file>$PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\timer.c</file>
<file>$PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\psock.c</file>
<file>$PROJ_DIR$\webserver\httpd.c</file>
<file>$PROJ_DIR$\Debug\Obj\httpd-fs.pbi</file>
<file>$PROJ_DIR$\FreeRTOSConfig.h</file>
<file>$PROJ_DIR$\Debug\Obj\pdc.pbi</file>
<file>$PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\lc.h</file>
<file>$PROJ_DIR$\Debug\Obj\uIP_Task.o</file>
<file>$PROJ_DIR$\Debug\Obj\heap_2.pbi</file>
<file>$PROJ_DIR$\..\..\Source\include\queue.h</file>
<file>$PROJ_DIR$\Debug\Obj\psock.pbi</file>
<file>$PROJ_DIR$\Debug\Obj\tasks.o</file>
<file>$PROJ_DIR$\Debug\Obj\QPeek.pbi</file>
<file>$PROJ_DIR$\Debug\Obj\heap_2.o</file>
<file>$PROJ_DIR$\..\Common\include\GenQTest.h</file>
<file>$PROJ_DIR$\webserver\emac.h</file>
</outputs>
<file>
<name>$PROJ_DIR$\Debug\Exe\RTOSDemo.out</name>
<inputs>
<tool>
<name>ILINK</name>
<file> 16 95 8 35 38 122 69 121 104 55 183 18 51 81 111 120 71 163 151 41 46 7 127 24 118 61 181 31 136 177 99 44 140 139 42</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\LuminaryDrivers\pdc.c</name>
<outputs>
<tool>
<name>BICOMP</name>
<file> 175</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 114</file>
</tool>
</outputs>
<inputs>
<tool>
<name>BICOMP</name>
<file> 39 15 129 34 101 157 106</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 39 15 129 34 101 157 106</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\..\Source\portable\IAR\ARM_CM3\portasm.s</name>
<outputs>
<tool>
<name>AARM</name>
<file> 46</file>
</tool>
</outputs>
<inputs>
<tool>
<name>AARM</name>
<file> 174</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\LuminaryDrivers\osram128x64x4.c</name>
<outputs>
<tool>
<name>BICOMP</name>
<file> 98</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 63</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
<file> 9 39 146 15 129 34 101 157 109</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\Common\Minimal\integer.c</name>
<outputs>
<tool>
<name>BICOMP</name>
<file> 142</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 120</file>
</tool>
</outputs>
<inputs>
<tool>
<name>BICOMP</name>
<file> 162 82 124 27 0 56 107 23 26 79 58 174 14 32 108 40 28</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 162 82 124 27 93 0 56 107 23 26 79 58 174 14 32 108 40 28</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\..\Source\portable\MemMang\heap_2.c</name>
<outputs>
<tool>
<name>BICOMP</name>
<file> 178</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 183</file>
</tool>
</outputs>
<inputs>
<tool>
<name>BICOMP</name>
<file> 162 82 124 27 0 56 107 23 26 79 58 174 14 32 108 40</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 162 82 124 27 93 0 56 107 23 26 79 58 174 14 32 108 40</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\osram128x64x4.c</name>
<outputs>
<tool>
<name>BICOMP</name>
<file> 98</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 151</file>
</tool>
</outputs>
<inputs>
<tool>
<name>BICOMP</name>
<file> 6 123 102 90 89 50 143 153 152</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 6 123 102 90 89 50 143 153 152</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\Common\Minimal\flash.c</name>
<outputs>
<tool>
<name>BICOMP</name>
<file> 77</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 55</file>
</tool>
</outputs>
<inputs>
<tool>
<name>BICOMP</name>
<file> 162 82 124 27 0 56 107 23 26 79 58 174 14 32 108 40 74 132</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 162 82 124 27 93 0 56 107 23 26 79 58 174 14 32 108 40 74 132</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\webserver\httpd-cgi.c</name>
<outputs>
<tool>
<name>BICOMP</name>
<file> 128</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 51</file>
</tool>
</outputs>
<inputs>
<tool>
<name>BICOMP</name>
<file> 115 80 45 33 82 124 27 0 56 107 130 22 59 29 176 119 76 13 135 23 141 137</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 115 80 45 33 82 124 27 93 0 56 107 130 22 59 29 176 119 76 13 135 23 141 137</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\..\Source\portable\IAR\ARM_CM3\port.c</name>
<outputs>
<tool>
<name>BICOMP</name>
<file> 20</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 41</file>
</tool>
</outputs>
<inputs>
<tool>
<name>BICOMP</name>
<file> 26 79 82 124 27 0 56 107 23 58 174 14 32 108 40</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 26 79 82 124 27 93 0 56 107 23 58 174 14 32 108 40</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\..\Source\queue.c</name>
<outputs>
<tool>
<name>BICOMP</name>
<file> 43</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 127</file>
</tool>
</outputs>
<inputs>
<tool>
<name>BICOMP</name>
<file> 162 82 124 27 0 56 107 23 141 137 26 79 58 174 14 32 108 40 133</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 162 82 124 27 93 0 56 107 23 141 137 26 79 58 174 14 32 108 40 133</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\Debug\Obj\RTOSDemo.pbd</name>
<inputs>
<tool>
<name>BILINK</name>
<file> 105 78 85 145 182 117 3 30 77 178 49 128 173 125 142 84 164 98 20 180 43 64 87 2 72 134 73 91 62 110</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\ParTest\ParTest.c</name>
<outputs>
<tool>
<name>BICOMP</name>
<file> 85</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 35</file>
</tool>
</outputs>
<inputs>
<tool>
<name>BICOMP</name>
<file> 26 79 82 124 27 0 56 107 23 58 174 14 32 108 40 74 90 50 123</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 26 79 82 124 27 93 0 56 107 23 58 174 14 32 108 40 74 90 50 123</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\main.c</name>
<outputs>
<tool>
<name>BICOMP</name>
<file> 164</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 163</file>
</tool>
</outputs>
<inputs>
<tool>
<name>BICOMP</name>
<file> 135 82 124 27 0 56 107 23 26 79 58 174 14 32 108 40 179 5 25 112 28 53 132 74 12 57 17 148 184 83 123 90 102 153 50 155 152</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 135 82 124 27 93 0 56 107 23 26 79 58 174 14 32 108 40 179 5 25 112 28 53 132 74 12 57 17 148 184 83 123 90 102 153 50 155 152</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\rit128x96x4.c</name>
<outputs>
<tool>
<name>BICOMP</name>
<file> 64</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 24</file>
</tool>
</outputs>
<inputs>
<tool>
<name>BICOMP</name>
<file> 6 123 102 90 89 50 143 153 155</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 6 123 102 90 89 50 143 153 155</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\webserver\uIP_Task.c</name>
<outputs>
<tool>
<name>BICOMP</name>
<file> 91</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 177</file>
</tool>
</outputs>
<inputs>
<tool>
<name>BICOMP</name>
<file> 141 82 124 27 0 56 107 23 137 26 79 58 174 14 32 108 40 5 179 90 115 80 45 33 130 22 59 29 176 119 76 70 126 75 11 154 153 123 68 185 74 17</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 141 82 124 27 93 0 56 107 23 137 26 79 58 174 14 32 108 40 5 179 90 115 80 45 33 130 22 59 29 176 119 76 70 126 75 11 154 153 123 68 185 74 17</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\Common\Minimal\death.c</name>
<outputs>
<tool>
<name>BICOMP</name>
<file> 3</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 121</file>
</tool>
</outputs>
<inputs>
<tool>
<name>BICOMP</name>
<file> 162 82 124 27 0 56 107 23 26 79 58 174 14 32 108 40 112</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 162 82 124 27 93 0 56 107 23 26 79 58 174 14 32 108 40 112</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\startup_ewarm.c</name>
<outputs>
<tool>
<name>BICOMP</name>
<file> 2</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 61</file>
</tool>
</outputs>
</file>
<file>
<name>$PROJ_DIR$\..\..\Source\list.c</name>
<outputs>
<tool>
<name>BICOMP</name>
<file> 84</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 71</file>
</tool>
</outputs>
<inputs>
<tool>
<name>BICOMP</name>
<file> 162 82 124 27 0 56 107 23 26 79 58 174 14 32 40</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 162 82 124 27 93 0 56 107 23 26 79 58 174 14 32 40</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\Common\Minimal\GenQTest.c</name>
<outputs>
<tool>
<name>BICOMP</name>
<file> 78</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 8</file>
</tool>
</outputs>
<inputs>
<tool>
<name>BICOMP</name>
<file> 162 82 124 27 0 56 107 23 26 79 58 174 14 32 108 40 179 5 184</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 162 82 124 27 93 0 56 107 23 26 79 58 174 14 32 108 40 179 5 184</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\Common\Minimal\blocktim.c</name>
<outputs>
<tool>
<name>BICOMP</name>
<file> 117</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 69</file>
</tool>
</outputs>
<inputs>
<tool>
<name>BICOMP</name>
<file> 26 79 82 124 27 0 56 107 23 58 174 14 32 108 40 179 53</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 26 79 82 124 27 93 0 56 107 23 58 174 14 32 108 40 179 53</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\Common\Minimal\PollQ.c</name>
<outputs>
<tool>
<name>BICOMP</name>
<file> 145</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 38</file>
</tool>
</outputs>
<inputs>
<tool>
<name>BICOMP</name>
<file> 162 82 124 27 0 56 107 23 26 79 58 174 14 32 108 40 179 57</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 162 82 124 27 93 0 56 107 23 26 79 58 174 14 32 108 40 179 57</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\Common\Minimal\BlockQ.c</name>
<outputs>
<tool>
<name>BICOMP</name>
<file> 105</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 95</file>
</tool>
</outputs>
<inputs>
<tool>
<name>BICOMP</name>
<file> 162 82 124 27 0 56 107 23 26 79 58 174 14 32 108 40 179 25</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 162 82 124 27 93 0 56 107 23 26 79 58 174 14 32 108 40 179 25</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip_arp.c</name>
<outputs>
<tool>
<name>BICOMP</name>
<file> 110</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 44</file>
</tool>
</outputs>
<inputs>
<tool>
<name>BICOMP</name>
<file> 70 115 80 45 33 82 124 27 0 56 107 130 22 59 29 176 119 76 141 23 137</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 70 115 80 45 33 82 124 27 93 0 56 107 130 22 59 29 176 119 76 141 23 137</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\webserver\emac.c</name>
<outputs>
<tool>
<name>BICOMP</name>
<file> 30</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 104</file>
</tool>
</outputs>
<inputs>
<tool>
<name>BICOMP</name>
<file> 26 79 82 124 27 0 56 107 23 58 174 14 32 5 179 108 40 185 115 80 45 33 130 22 59 29 176 119 76 90 123 4 11 154 153 88</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 26 79 82 124 27 93 0 56 107 23 58 174 14 32 5 179 108 40 185 115 80 45 33 130 22 59 29 176 119 76 90 123 4 11 154 153 88</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\..\Source\tasks.c</name>
<outputs>
<tool>
<name>BICOMP</name>
<file> 72</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 181</file>
</tool>
</outputs>
<inputs>
<tool>
<name>BICOMP</name>
<file> 135 82 124 27 0 56 107 23 162 141 137 26 79 58 174 14 32 108 40</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 135 82 124 27 93 0 56 107 23 162 141 137 26 79 58 174 14 32 108 40</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\webserver\http-strings.c</name>
<outputs>
<tool>
<name>BICOMP</name>
<file> 49</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 18</file>
</tool>
</outputs>
</file>
<file>
<name>$PROJ_DIR$\..\Common\Minimal\QPeek.c</name>
<outputs>
<tool>
<name>BICOMP</name>
<file> 182</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 122</file>
</tool>
</outputs>
<inputs>
<tool>
<name>BICOMP</name>
<file> 162 82 124 27 0 56 107 23 26 79 58 174 14 32 108 40 179 5 83</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 162 82 124 27 93 0 56 107 23 26 79 58 174 14 32 108 40 179 5 83</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\timertest.c</name>
<outputs>
<tool>
<name>BICOMP</name>
<file> 73</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 136</file>
</tool>
</outputs>
<inputs>
<tool>
<name>BICOMP</name>
<file> 26 79 82 124 27 0 56 107 23 58 174 14 32 4 123 90 88 153 37</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 26 79 82 124 27 93 0 56 107 23 58 174 14 32 4 123 90 88 153 37</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\Common\Minimal\semtest.c</name>
<outputs>
<tool>
<name>BICOMP</name>
<file> 87</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 118</file>
</tool>
</outputs>
<inputs>
<tool>
<name>BICOMP</name>
<file> 162 82 124 27 0 56 107 23 26 79 58 174 14 32 108 40 5 179 12</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 162 82 124 27 93 0 56 107 23 26 79 58 174 14 32 108 40 5 179 12</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\webserver\httpd-fs.c</name>
<outputs>
<tool>
<name>BICOMP</name>
<file> 173</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 81</file>
</tool>
</outputs>
<inputs>
<tool>
<name>BICOMP</name>
<file> 22 59 80 45 33 82 124 27 0 56 107 130 29 176 119 76 138 115 60</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 22 59 80 45 33 82 124 27 93 0 56 107 130 29 176 119 76 138 115 60</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip.c</name>
<outputs>
<tool>
<name>BICOMP</name>
<file> 62</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 99</file>
</tool>
</outputs>
<inputs>
<tool>
<name>BICOMP</name>
<file> 115 80 45 33 82 124 27 0 56 107 130 22 59 29 176 119 76 96 141 23 137</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 115 80 45 33 82 124 27 93 0 56 107 130 22 59 29 176 119 76 96 141 23 137</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\timer.c</name>
<outputs>
<tool>
<name>BICOMP</name>
<file> 134</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 31</file>
</tool>
</outputs>
<inputs>
<tool>
<name>BICOMP</name>
<file> 147 75 26 79 82 124 27 0 56 107 23 58 174 14 32 54</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 147 75 26 79 82 124 27 93 0 56 107 23 58 174 14 32 54</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\psock.c</name>
<outputs>
<tool>
<name>BICOMP</name>
<file> 180</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 7</file>
</tool>
</outputs>
<inputs>
<tool>
<name>BICOMP</name>
<file> 135 82 124 27 0 56 107 23 141 137 80 45 33 130 22 59 29 176 119 76 115</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 135 82 124 27 93 0 56 107 23 141 137 80 45 33 130 22 59 29 176 119 76 115</file>
</tool>
</inputs>
</file>
<file>
<name>$PROJ_DIR$\webserver\httpd.c</name>
<outputs>
<tool>
<name>BICOMP</name>
<file> 125</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 111</file>
</tool>
</outputs>
<inputs>
<tool>
<name>BICOMP</name>
<file> 115 80 45 33 82 124 27 0 56 107 130 22 59 29 176 119 76 13 86 141 23 137</file>
</tool>
<tool>
<name>ICCARM</name>
<file> 115 80 45 33 82 124 27 93 0 56 107 130 22 59 29 176 119 76 13 86 141 23 137</file>
</tool>
</inputs>
</file>
<file>
<name>[ROOT_NODE]</name>
<outputs>
<tool>
<name>ILINK</name>
<file> 1</file>
</tool>
</outputs>
</file>
<forcedrebuild>
<name>$PROJ_DIR$\LuminaryDrivers\osram128x64x4.c</name>
<tool>ICCARM</tool>
</forcedrebuild>
</configuration>
</project>

@ -1,56 +0,0 @@
//*****************************************************************************
//
// webserver-lwip.xcl - Linker script for EW-ARM.
//
// Copyright (c) 2006-2007 Luminary Micro, Inc. All rights reserved.
//
// Software License Agreement
//
// Luminary Micro, Inc. (LMI) is supplying this software for use solely and
// exclusively on LMI's microcontroller products.
//
// The software is owned by LMI and/or its suppliers, and is protected under
// applicable copyright laws. All rights are reserved. Any use in violation
// of the foregoing restrictions may subject the user to criminal sanctions
// under applicable laws, as well as to civil liability for the breach of the
// terms and conditions of this license.
//
// THIS SOFTWARE IS PROVIDED AS IS. NO WARRANTIES, WHETHER EXPRESS, IMPLIED
// OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
// LMI SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
// CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
//
//*****************************************************************************
//
// Set the CPU type to ARM.
//
-carm
//
// Define the size of flash and SRAM.
//
-DROMSTART=00000000
-DROMEND=00040000
-DRAMSTART=20000000
-DRAMEND=20010000
//
// Define the sections to place into flash, and the order to place them.
//
-Z(CODE)INTVEC=ROMSTART-ROMEND
-Z(CODE)ICODE,DIFUNCT=ROMSTART-ROMEND
-Z(CODE)CODE=ROMSTART-ROMEND
-Z(CONST)CODE_ID=ROMSTART-ROMEND
-Z(CONST)INITTAB,DATA_ID,DATA_C=ROMSTART-ROMEND
-Z(CONST)CHECKSUM=ROMSTART-ROMEND
//
// Define the sections to place into SRAM, and the order to place them.
//
-Z(DATA)VTABLE=RAMSTART-RAMEND
-Z(DATA)DATA_I,DATA_Z,DATA_N=RAMSTART-RAMEND
-Z(DATA)CODE_I=RAMSTART-RAMEND

@ -1,194 +0,0 @@
/*;******************** (C) COPYRIGHT 2007 STMicroelectronics ******************
;* File Name : lnkarm_flash.xcl
;* Author : MCD Application Team
;* Date First Issued : 02/19/2007
;* Description : XLINK command file template for EWARM/ICCARM
;* Usage : xlink -f lnkarm <your_object_file(s)>
;* :-s <program start label> <C/C++ runtime library>
;*******************************************************************************
; History:
; 04/02/2007: V0.2
; 02/19/2007: V0.1
;*******************************************************************************
; THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
; WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
; AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
; INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
; CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
; INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
;******************************************************************************/
// Code memory in FLASH
-DROMSTART=0x8000000
-DROMEND=0x801FFFF
// Data in RAM
-DRAMSTART=0x20000000
-DRAMEND=0x20004FFF
//*************************************************************************
// -------------
// Code segments - may be placed anywhere in memory.
// -------------
//
// INTVEC -- Exception vector table.
// SWITAB -- Software interrupt vector table.
// ICODE -- Startup (cstartup) and exception code.
// DIFUNCT -- Dynamic initialization vectors used by C++.
// CODE -- Compiler generated code.
// CODE_I -- Compiler generated code declared __ramfunc (executes in RAM)
// CODE_ID -- Initializer for CODE_I (ROM).
//
// -------------
// Data segments - may be placed anywhere in memory.
// -------------
//
// CSTACK -- The stack used by C/C++ programs (system and user mode).
// HEAP -- The heap used by malloc and free in C and new and
// delete in C++.
// INITTAB -- Table containing addresses and sizes of segments that
// need to be initialized at startup (by cstartup).
// CHECKSUM -- The linker places checksum byte(s) in this segment,
// when the -J linker command line option is used.
// DATA_y -- Data objects.
//
// Where _y can be one of:
//
// _AN -- Holds uninitialized located objects, i.e. objects with
// an absolute location given by the @ operator or the
// #pragma location directive. Since these segments
// contain objects which already have a fixed address,
// they should not be mentioned in this linker command
// file.
// _C -- Constants (ROM).
// _I -- Initialized data (RAM).
// _ID -- The original content of _I (copied to _I by cstartup) (ROM).
// _N -- Uninitialized data (RAM).
// _Z -- Zero initialized data (RAM).
//
// Note: Be sure to use end values for the defined address ranges.
// Otherwise, the linker may allocate space outside the
// intended memory range.
//*************************************************************************
//************************************************
// Inform the linker about the CPU family used.
//************************************************
-carm
//*************************************************************************
// Segment placement - General information
//
// All numbers in the segment placement command lines below are interpreted
// as hexadecimal unless they are immediately preceded by a '.', which
// denotes decimal notation.
//
// When specifying the segment placement using the -P instead of the -Z
// option, the linker is free to split each segment into its segment parts
// and randomly place these parts within the given ranges in order to
// achieve a more efficient memory usage. One disadvantage, however, is
// that it is not possible to find the start or end address (using
// the assembler operators .sfb./.sfe.) of a segment which has been split
// and reformed.
//
// When generating an output file which is to be used for programming
// external ROM/Flash devices, the -M linker option is very useful
// (see xlink.pdf for details).
//*************************************************************************
//*************************************************************************
// Read-only segments mapped to ROM.
//*************************************************************************
//************************************************
// Address range for reset and exception
// vectors (INTVEC).
//************************************************
-Z(CODE)INTVEC=ROMSTART-ROMEND
//************************************************
// 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
//************************************************
// Original ROM location for __ramfunc code copied
// to and executed from RAM.
//************************************************
-Z(CONST)CODE_ID=ROMSTART-ROMEND
//************************************************
// Various constants and initializers.
//************************************************
-Z(CONST)INITTAB,DATA_ID,DATA_C=ROMSTART-ROMEND
-Z(CONST)CHECKSUM=ROMSTART-ROMEND
//*************************************************************************
// Read/write segments mapped to RAM.
//*************************************************************************
//************************************************
// Data segments.
//************************************************
-Z(DATA)DATA_I,DATA_Z,DATA_N=RAMSTART-RAMEND
//************************************************
// __ramfunc code copied to and executed from RAM.
//************************************************
-Z(DATA)CODE_I=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
// CODE_ID segment instead, but to keep symbol and
// debug information associated with the CODE_I
// segment, where the code will execute.
//************************************************
-QCODE_I=CODE_ID
//*************************************************************************
// Stack and heap segments.
//*************************************************************************
-D_CSTACK_SIZE=400
-D_HEAP_SIZE=4
-Z(DATA)CSTACK+_CSTACK_SIZE=RAMSTART-RAMEND
-Z(DATA)HEAP+_HEAP_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

@ -1,223 +0,0 @@
;------------------------------------------------------------------------------
;- 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 source : Cstartup.s79
;- Object : Generic CStartup for IAR No Use REMAP
;- Compilation flag : None
;-
;- 1.0 15/Jun/04 JPP : Creation
;------------------------------------------------------------------------------
#include "AT91SAM7X256_inc.h"
;------------------------------------------------------------------------------
;- Area Definition
;------------------------------------------------------------------------------
;---------------------------------------------------------------
; ?RESET
; Reset Vector.
; Normally, segment INTVEC is linked at address 0.
; For debugging purposes, INTVEC may be placed at other
; addresses.
; A debugger that honors the entry point will start the
; program in a normal way even if INTVEC is not at address 0.
;-------------------------------------------------------------
PROGRAM ?RESET
RSEG INTRAMSTART_REMAP
RSEG INTRAMEND_REMAP
EXTERN vPortYieldProcessor
RSEG ICODE:CODE:ROOT(2)
CODE32 ; Always ARM mode after reset
org 0
reset
;------------------------------------------------------------------------------
;- Exception vectors
;--------------------
;- These vectors can be read at address 0 or at RAM address
;- They ABSOLUTELY requires to be in relative addresssing mode in order to
;- guarantee a valid jump. For the moment, all are just looping.
;- If an exception occurs before remap, this would result in an infinite loop.
;- To ensure if a exeption occurs before start application to infinite loop.
;------------------------------------------------------------------------------
B InitReset ; 0x00 Reset handler
undefvec:
B undefvec ; 0x04 Undefined Instruction
swivec:
B vPortYieldProcessor ; 0x08 Software Interrupt
pabtvec:
B pabtvec ; 0x0C Prefetch Abort
dabtvec:
B dabtvec ; 0x10 Data Abort
rsvdvec:
B rsvdvec ; 0x14 reserved
irqvec:
LDR PC, [PC, #-0xF20] ; Jump directly to the address given by the AIC
fiqvec: ; 0x1c FIQ
;------------------------------------------------------------------------------
;- Function : FIQ_Handler_Entry
;- Treatments : FIQ Controller Interrupt Handler.
;- Called Functions : AIC_FVR[interrupt]
;------------------------------------------------------------------------------
FIQ_Handler_Entry:
;- Switch in SVC/User Mode to allow User Stack access for C code
; because the FIQ is not yet acknowledged
;- Save and r0 in FIQ_Register
mov r9,r0
ldr r0 , [r8, #AIC_FVR]
msr CPSR_c,#I_BIT | F_BIT | ARM_MODE_SVC
;- Save scratch/used registers and LR in User Stack
stmfd sp!, { r1-r3, r12, lr}
;- Branch to the routine pointed by the AIC_FVR
mov r14, pc
bx r0
;- Restore scratch/used registers and LR from User Stack
ldmia sp!, { r1-r3, r12, lr}
;- Leave Interrupts disabled and switch back in FIQ mode
msr CPSR_c, #I_BIT | F_BIT | ARM_MODE_FIQ
;- Restore the R0 ARM_MODE_SVC register
mov r0,r9
;- Restore the Program Counter using the LR_fiq directly in the PC
subs pc,lr,#4
InitReset:
;------------------------------------------------------------------------------
;- Low level Init (PMC, AIC, ? ....) by C function AT91F_LowLevelInit
;------------------------------------------------------------------------------
EXTERN AT91F_LowLevelInit
#define __iramend SFB(INTRAMEND_REMAP)
;- minumum C initialization
;- call AT91F_LowLevelInit( void)
ldr r13,=__iramend ; temporary stack in internal RAM
;--Call Low level init function in ABSOLUTE through the Interworking
ldr r0,=AT91F_LowLevelInit
mov lr, pc
bx r0
;------------------------------------------------------------------------------
;- Stack Sizes Definition
;------------------------
;- Interrupt Stack requires 2 words x 8 priority level x 4 bytes when using
;- the vectoring. This assume that the IRQ management.
;- The Interrupt Stack must be adjusted depending on the interrupt handlers.
;- Fast Interrupt not requires stack If in your application it required you must
;- be definehere.
;- The System stack size is not defined and is limited by the free internal
;- SRAM.
;------------------------------------------------------------------------------
;------------------------------------------------------------------------------
;- Top of Stack Definition
;-------------------------
;- Interrupt and Supervisor Stack are located at the top of internal memory in
;- order to speed the exception handling context saving and restoring.
;- ARM_MODE_SVC (Application, C) Stack is located at the top of the external memory.
;------------------------------------------------------------------------------
IRQ_STACK_SIZE EQU 300
ARM_MODE_FIQ EQU 0x11
ARM_MODE_IRQ EQU 0x12
ARM_MODE_SVC EQU 0x13
I_BIT EQU 0x80
F_BIT EQU 0x40
;------------------------------------------------------------------------------
;- Setup the stack for each mode
;-------------------------------
ldr r0, =__iramend
;- Set up Fast Interrupt Mode and set FIQ Mode Stack
msr CPSR_c, #ARM_MODE_FIQ | I_BIT | F_BIT
;- Init the FIQ register
ldr r8, =AT91C_BASE_AIC
;- Set up Interrupt Mode and set IRQ Mode Stack
msr CPSR_c, #ARM_MODE_IRQ | I_BIT | F_BIT
mov r13, r0 ; Init stack IRQ
sub r0, r0, #IRQ_STACK_SIZE
;- Enable interrupt & Set up Supervisor Mode and set Supervisor Mode Stack
msr CPSR_c, #ARM_MODE_SVC
mov r13, r0
;---------------------------------------------------------------
; ?CSTARTUP
;---------------------------------------------------------------
EXTERN __segment_init
EXTERN main
; Initialize segments.
; __segment_init is assumed to use
; instruction set and to be reachable by BL from the ICODE segment
; (it is safest to link them in segment ICODE).
ldr r0,=__segment_init
mov lr, pc
bx r0
PUBLIC __main
?jump_to_main:
ldr lr,=?call_exit
ldr r0,=main
__main:
bx r0
;------------------------------------------------------------------------------
;- Loop for ever
;---------------
;- End of application. Normally, never occur.
;- Could jump on Software Reset ( B 0x0 ).
;------------------------------------------------------------------------------
?call_exit:
End
b End
;---------------------------------------------------------------
; ?EXEPTION_VECTOR
; This module is only linked if needed for closing files.
;---------------------------------------------------------------
PUBLIC AT91F_Default_FIQ_handler
PUBLIC AT91F_Default_IRQ_handler
PUBLIC AT91F_Spurious_handler
CODE32 ; Always ARM mode after exeption
AT91F_Default_FIQ_handler
b AT91F_Default_FIQ_handler
AT91F_Default_IRQ_handler
b AT91F_Default_IRQ_handler
AT91F_Spurious_handler
b AT91F_Spurious_handler
ENDMOD
END

@ -1,135 +0,0 @@
// ---------------------------------------------------------
// 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: at91SAM7x256_NoRemap.xlc
//
//
// $Revision: 1.1.1.1 $
//
// ---------------------------------------------------------
//*************************************************************************
// XLINK command file template for EWARM/ICCARM
//
// Usage: xlink -f lnkarm <your_object_file(s)>
// -s <program start label> <C/C++ runtime library>
//
// $Revision: 1.1.1.1 $
//*************************************************************************
//************************************************
// 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 64Kbo 0x0001 0000
// Remap done
// RAMSTART
// Start address 0x0000 0000
// Size 64Kbo 0x0001 0000
// ROMSTART
// Start address 0x0010 0000
// Size 256Kbo 0x0004 0000
//************************************************
-carm
//*************************************************************************
// Internal Ram segments mapped AFTER REMAP 64K.
//*************************************************************************
// Use these addresses for the .
-Z(CONST)INTRAMSTART_REMAP=00200000
-Z(CONST)INTRAMEND_REMAP=0020FFFF
//*************************************************************************
// Read-only segments mapped to Flash 256K.
//*************************************************************************
-DROMSTART=00000000
-DROMEND=0003FFFF
//*************************************************************************
// Read/write segments mapped to RAM.
//*************************************************************************
-DRAMSTART=00200000
-DRAMEND=00200FFFF
//************************************************
// 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
//************************************************
// __ramfunc code copied to and executed from RAM.
//************************************************
-Z(DATA)CODE_I=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.
//************************************************
//*************************************************************************
// Stack and heap segments.
//*************************************************************************
//-D_CSTACK_SIZE=(400*4)
//-D_IRQ_STACK_SIZE=(2*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
Loading…
Cancel
Save