1#--------------------------------------------------------------------------- 2# Project: NitroSDK - tools - makelcf 3# File: ARM7-TS.lcf 4# 5# Copyright 2003-2008 Nintendo. All rights reserved. 6# 7# These coded instructions, statements, and computer programs contain 8# proprietary information of Nintendo of America Inc. and/or Nintendo 9# Company Ltd., and are protected by Federal copyright law. They may 10# not be disclosed to third parties or copied or duplicated in any form, 11# in whole or in part, without the prior written consent of Nintendo. 12# 13# $Log: ARM7-TS.lcf,v $ 14# Revision 1.10 2005/04/14 00:04:17 terui 15# Update copyright. 16# 17# Revision 1.9 2005/04/13 12:53:20 terui 18# Change SDK_SUBPRIV_ARENA_LO 0x027c0000 -> 0x027e0000 19# 20# Revision 1.8 2004/08/18 01:59:32 yasu 21# Support SDK_SUBPRIV_ARENA_LO 22# 23# Revision 1.7 2004/07/26 00:08:27 yasu 24# Fix label of exception table 25# 26# Revision 1.6 2004/07/23 11:32:14 yasu 27# Define labels for __exception_table_start__ and _end__ 28# 29# Revision 1.5 2004/07/02 08:35:06 yasu 30# Add .wram section 31# 32# Revision 1.4 2004/07/01 10:41:46 yasu 33# support autoload 34# 35# Revision 1.3 2004/05/28 02:11:15 yasu 36# set WRAM arena region correctly 37# 38# Revision 1.2 2004/05/07 05:13:47 yasu 39# remove STATICINIT for cw0.5 40# 41# Revision 1.1 2004/04/06 01:59:54 yasu 42# newly added 43# 44# $NoKeywords: $ 45#--------------------------------------------------------------------------- 46MEMORY 47{ 48 main (RWX) : ORIGIN = 0x037f8000, LENGTH = 0x0 49 bss (RWX) : ORIGIN = AFTER(main), LENGTH = 0x0 50 arena (RW) : ORIGIN = AFTER(bss), LENGTH = 0x0 51 workram (RWX) : ORIGIN = 0x037f8000, LENGTH = 0x10000 > workram.check 52} 53 54KEEP_SECTION 55{ 56 .ctor 57} 58 59SECTIONS 60{ 61 .main: AT 0x037f8000 62 { 63 ALIGNALL(4); . = ALIGN(4); 64 65 SDK_STATIC_START =.; 66 SDK_STATIC_TEXT_START =.; 67 #:::::::::: text 68 crt0.o (.text) 69 * (.text) 70 * (.wram) 71 * (.init) 72 * (.exception) 73 . = ALIGN(4); 74 __exception_table_start__ =.; 75 EXCEPTION 76 __exception_table_end__ =.; 77 . = ALIGN(4); 78 * (.rodata) 79 __sinit__ =.; 80 * (.ctor) 81 WRITEW 0; 82 #:::::::::: text 83 . = ALIGN(4); 84 SDK_STATIC_TEXT_END =.; 85 86 SDK_STATIC_DATA_START =.; 87 #:::::::::: data 88 * (.sdata) 89 * (.data) 90 #:::::::::: data 91 . = ALIGN(4); 92 SDK_STATIC_DATA_END =.; 93 SDK_STATIC_END =.; 94 95 SDK_STATIC_TEXT_SIZE = SDK_STATIC_TEXT_END - SDK_STATIC_TEXT_START; 96 SDK_STATIC_DATA_SIZE = SDK_STATIC_DATA_END - SDK_STATIC_DATA_START; 97 SDK_STATIC_SIZE = SDK_STATIC_END - SDK_STATIC_START; 98 99 } > main 100 101 102 .bss: AT 0x037f8000 + SIZEOF(main) 103 { 104 ALIGNALL(4); . = ALIGN(4); 105 106 SDK_STATIC_BSS_START =.; 107 #:::::::::: bss 108 * (.sbss) 109 * (.bss) 110 #:::::::::: bss 111 SDK_STATIC_BSS_END =.; 112 113 SDK_STATIC_BSS_SIZE = SDK_STATIC_BSS_END - SDK_STATIC_BSS_START; 114 115 } > bss 116 117 .area: 118 { 119 . = ALIGN(4); 120 SDK_SECTION_ARENA_START = .; 121 122 } > arena 123 124 ############################ AUTOLOAD_INFO ########################## 125 SDK_AUTOLOAD_START = SDK_STATIC_END; 126 SDK_AUTOLOAD_SIZE = 0; 127 SDK_AUTOLOAD_NUMBER = 0; 128 SDK_AUTOLOAD_LIST = SDK_AUTOLOAD_START; 129 SDK_AUTOLOAD_LIST_END = SDK_AUTOLOAD_START; 130 131 ############################ OVERLAYS ############################### 132 SDK_OVERLAY_NUMBER = 0; 133 134 ############################ OTHERS ################################# 135 SDK_SUBPRIV_ARENA_LO = 0x027e0000; 136 SDK_WRAM_ARENA_LO = SDK_SECTION_ARENA_START; 137 SDK_IRQ_STACKSIZE = 0x200; # allocated in PWRAM 138 SDK_SYS_STACKSIZE = 0x400; # allocated in PWRAM 139 140 # work ram size checker 141 .workram: 142 { 143 . = . + SDK_SECTION_ARENA_START - 0x037f8000 + SDK_IRQ_STACKSIZE + SDK_SYS_STACKSIZE; 144 } > workram 145} 146