00001
00041 #ifndef LINKER_H_INCLUDED
00042 #define LINKER_H_INCLUDED
00043
00044 #include <chip/memory-map.h>
00045
00046 #ifndef __ASSEMBLY__
00047
00053 extern void _evba(void);
00054
00062 #if defined(__ICCAVR32__)
00063 __no_init static const unsigned char stack_area[CONFIG_STACK_SIZE] @ "SSTACK";
00064 #elif defined(__ICCAVR__)
00065 __no_init static const unsigned char stack_area[CONFIG_CSTACK_SIZE] @ "CSTACK";
00066 #else
00067 extern unsigned char stack_area[];
00068 #endif
00069
00075 #if defined(__ICCAVR32__)
00076 __no_init static const unsigned char heap_area[1] @ "HEAP";
00077 #elif defined(__ICCAVR__)
00078 __no_init static const unsigned char heap_area[1] @ "NEAR_HEAP";
00079 #else
00080 extern unsigned char heap_area[];
00081 #endif
00082
00083 #endif
00084
00085
00086
00087
00088
00089 #if DATA_SRAM_BASE < 32
00090 # define DATA_VMA 32
00091 #else
00092 # define DATA_VMA DATA_SRAM_BASE
00093 #endif
00094
00095 #ifdef CONFIG_APPLICATION_LMA
00096 # define TEXT_LMA CONFIG_APPLICATION_LMA
00097 # define TEXT_VMA CACHEABLE_VMA(TEXT_LMA)
00098 #else
00099 # define TEXT_LMA CHIP_ENTRY_LMA
00100 # define TEXT_VMA CHIP_ENTRY_VMA
00101 #endif
00102
00103 #endif