diff --git a/build/buildsetup/ioreg_sp/io_register_list.csv b/build/buildsetup/ioreg_sp/io_register_list.csv index d3100b8..13f0d55 100644 --- a/build/buildsetup/ioreg_sp/io_register_list.csv +++ b/build/buildsetup/ioreg_sp/io_register_list.csv @@ -5,7 +5,7 @@ 0x4002,,ROM_DEV,8,rw,CFG,volatile,WE,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 0x4004,,CLK,16,rw,CFG,volatile,SND,8,1,WRAM,7,1,AES,2,1,WSD,1,0,SD,0,1,,,,,,,,,,,,,,,,,,,,,,,, 0x4006,,DSP_JTAG,8,rw,CFG,volatile,E,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -0x4007,,CPU_JTAG,8,rw,CFG,volatile,E,1,1,A7,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +0x4007,,CPU_JTAG,8,rw,CFG,volatile,E,1,1,A7,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 0x4008,,DS_MDY,8,rw,CFG,volatile,MC,7,1,SND,2,1,SDMA,1,1,DMA,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,, 0x4009,,DS_EX,8,rw,CFG,volatile,MAIM_MEM,6,2,VRAM,5,1,LCDC,4,1,SIO,3,1,SDMA2,2,1,SPI,1,1,INTC,0,1,,,,,,,,,,,,,,,,,, 0x400a,,TWL_EX,16,rw,CFG,volatile,CFG_E,15,1,WSD_PU,13,1,SD_PU,12,1,WRAM,9,0,MC_B,8,1,GPIO,7,1,I2C,6,1,I2S,5,1,MIC,4,1,WSD,3,1,SD,2,1,AES,1,1,DMA4,0,1 diff --git a/build/buildtools/commondefs b/build/buildtools/commondefs index a75be73..1d7f7b4 100644 --- a/build/buildtools/commondefs +++ b/build/buildtools/commondefs @@ -31,18 +31,18 @@ TWLSDK_VERSION_MAJOR ?= 0 # # CodeGen Target # -# TWL_PLATFORM = [TEG/TS] +# TWL_PLATFORM = [BB/TEG/TS] # TWL_MEMSIZE = [4M/8M] # TWL_CODEGEN = [ARM/THUMB] # TWL_PROC = [ARM9/ARM7] # -TWL_PLATFORM ?= TS +TWL_PLATFORM ?= BB TWL_MEMSIZE ?= 8M TWL_CODEGEN ?= ARM TWL_PROC ?= ARM9 -NITRO_PLATFORM = $(TWL_PLATFORM) +NITRO_PLATFORM = TS NITRO_MEMSIZE = $(TWL_MEMSIZE) NITRO_CODEGEN = $(TWL_CODEGEN) NITRO_PROC = $(TWL_PROC) @@ -62,6 +62,32 @@ else # ($(TWL_CODEGEN),THUMB) TWL_CODEGEN_ARCH = .thumb endif +# +# SDK build type +# +# one of [TWL_DEBUG/TWL_RELEASE/TWL_FINALROM] +# + +ifdef TWL_DEBUG +TWL_BUILD_TYPE ?= DEBUG +TWL_BUILD_DIR ?= Debug + +else +ifdef TWL_FINALROM +TWL_BUILD_TYPE ?= FINALROM +TWL_BUILD_DIR ?= Rom + +else # TWL_RELEASE (default) +TWL_BUILD_TYPE ?= RELEASE +TWL_BUILD_DIR ?= Release + +endif +endif + +NITRO_BUILD_TYPE ?= $(TWL_BUILD_TYPE) +NITRO_BUILD_DIR ?= $(TWL_BUILD_DIR) + + # # Debugger Type # diff --git a/build/buildtools/modulerules b/build/buildtools/modulerules index 96978e3..dd5f383 100644 --- a/build/buildtools/modulerules +++ b/build/buildtools/modulerules @@ -23,7 +23,11 @@ include $(NITROSDK_ROOT)/build/buildtools/modulerules # .axf $(BINDIR)/$(TARGET_BIN_BASENAME).axf: $(OBJS) $(LCFILE) $(MAKEFILE) $(LDEPENDS_NEF) $(EDEPENDS_NEF) $(ALIBRARIES) $(LDRES_FILE) $(CW_LIBCXX) +ifeq ($(NITRO_CCTYPE),RVCT) + $(LD) $(LDFLAGS) $(LIBRARY_DIRS) -o $@ $(GLIBRARIES) $(OBJS) +else $(LD) $(LDFLAGS) $(LIBRARY_DIRS) @$(LDRES_FILE) $(LCFILE) -o $@ +endif #---------------------------------------------------------------------------- TWLSDK_MODULERULES_ = TRUE diff --git a/include/twl/specfiles/ARM7-TS.lcf.template b/include/twl/specfiles/ARM7-BB.lcf.template similarity index 85% rename from include/twl/specfiles/ARM7-TS.lcf.template rename to include/twl/specfiles/ARM7-BB.lcf.template index b5f35f1..43c15ab 100644 --- a/include/twl/specfiles/ARM7-TS.lcf.template +++ b/include/twl/specfiles/ARM7-BB.lcf.template @@ -1,8 +1,8 @@ #--------------------------------------------------------------------------- -# Project: NitroSDK - tools - makelcf +# Project: TwlSDK - tools - makelcf # File: ARM7-TS.lcf.template # -# Copyright 2003-2006 Nintendo. All rights reserved. +# Copyright 2007 Nintendo. All rights reserved. # # These coded instructions, statements, and computer programs contain # proprietary information of Nintendo of America Inc. and/or Nintendo @@ -10,79 +10,7 @@ # not be disclosed to third parties or copied or duplicated in any form, # in whole or in part, without the prior written consent of Nintendo. # -# $Log: ARM7-TS.lcf.template,v $ -# Revision 1.24 2006/05/10 03:19:47 yasu -# CodeWarrior 2.x のオーバーレイ拡張への対応 -# -# Revision 1.23 2006/04/07 04:45:14 kitase_hirotake -# .wram.bss の追加 -# -# Revision 1.22 2006/03/30 00:43:20 yasu -# 著作年度の変更 -# -# Revision 1.21 2006/03/29 13:19:14 yasu -# NUMBER_OVERLAYS -> NUMBER.OVERLAYS への修正 -# -# Revision 1.20 2005/09/02 04:14:22 yasu -# SDK2.2 でも使用可能のように古いシンボルを再定義した -# -# Revision 1.19 2005/08/31 09:34:57 yasu -# section_BSS というようなセクション名を使ったときに正常に動作しない場合があるのを修正 -# -# Revision 1.18 2005/06/20 12:29:20 yasu -# Surffix -> Suffix 修正 -# -# Revision 1.17 2005/06/14 09:03:42 yada -# fix around minus value of SDK_STACKSIZE -# -# Revision 1.16 2005/04/14 00:04:17 terui -# Update copyright. -# -# Revision 1.15 2005/04/13 12:52:50 terui -# Change SDK_AUTOLOAD.MAIN.START 0x027c0000 -> 0x027e0000 -# -# Revision 1.14 2004/09/08 01:27:18 yasu -# Add * (.wram) on static segment -# -# Revision 1.13 2004/08/18 01:50:40 yasu -# Support SDK_SUBPRIV_ARENA_LO -# -# Revision 1.12 2004/08/02 10:38:53 yasu -# Add autoload-done callback address in overlaydefs -# -# Revision 1.11 2004/07/26 00:08:27 yasu -# Fix label of exception table -# -# Revision 1.10 2004/07/24 05:42:25 yasu -# Set default values for SDK_AUTOGEN_xTCM_START -# -# Revision 1.9 2004/07/23 11:32:14 yasu -# Define labels for __exception_table_start__ and _end__ -# -# Revision 1.8 2004/07/12 12:24:12 yasu -# Fix checking WRAM -# -# Revision 1.7 2004/07/10 04:10:26 yasu -# Support command 'Library' -# -# Revision 1.6 2004/07/02 08:13:02 yasu -# Support OBJECT( ) -# -# Revision 1.5 2004/07/01 12:54:38 yasu -# support ITCM/DTCM/WRAM autoload -# -# Revision 1.4 2004/07/01 10:41:46 yasu -# support autoload -# -# Revision 1.3 2004/05/28 02:11:15 yasu -# set WRAM arena region correctly -# -# Revision 1.2 2004/04/26 12:17:49 yasu -# add KEEP_SECTIONS -# -# Revision 1.1 2004/04/06 01:59:54 yasu -# newly added -# +# $Log: $ # $NoKeywords: $ #--------------------------------------------------------------------------- MEMORY diff --git a/include/twl/specfiles/ARM7-BB.lsf b/include/twl/specfiles/ARM7-BB.lsf new file mode 100644 index 0000000..61c738e --- /dev/null +++ b/include/twl/specfiles/ARM7-BB.lsf @@ -0,0 +1,40 @@ +#---------------------------------------------------------------------------- +# Project: TwlSDK - include +# File: ARM7-BB.lsf +# +# Copyright 2007 Nintendo. All rights reserved. +# +# These coded insructions, statements, and computer programs contain +# proprietary information of Nintendo of America Inc. and/or Nintendo +# Company Ltd., and are protected by Federal copyright law. They may +# not be disclosed to third parties or copied or duplicated in any form, +# in whole or in part, without the prior written consent of Nintendo. +# +# $Log: $ +# $NoKeywords: $ +#---------------------------------------------------------------------------- +# +# Nitro LCF SPEC FILE +# + +Static $(TARGET_NAME) +{ + Address 0x02f80000 + Library crt0.o + StackSize 1024 512 +} + +#Objects on MAIN RAM # nothing for elf2bin +#Autoload MAIN +#{ +# Address 0x027e0000 +# Library +#} + +Autoload WRAM +{ + Address 0x037f8000 + Object $(OBJS_STATIC) + Library $(LLIBS) $(GLIBS) $(CW_LIBS) + Object * (.wram) +} diff --git a/include/twl/specfiles/ARM7-TEG.lcf.template b/include/twl/specfiles/ARM7-TEG.lcf.template deleted file mode 100644 index 19fbd95..0000000 --- a/include/twl/specfiles/ARM7-TEG.lcf.template +++ /dev/null @@ -1,606 +0,0 @@ -#--------------------------------------------------------------------------- -# Project: NitroSDK - tools - makelcf -# File: ARM7-TEG.lcf.template -# -# Copyright 2003-2006 Nintendo. All rights reserved. -# -# These coded instructions, statements, and computer programs contain -# proprietary information of Nintendo of America Inc. and/or Nintendo -# Company Ltd., and are protected by Federal copyright law. They may -# not be disclosed to third parties or copied or duplicated in any form, -# in whole or in part, without the prior written consent of Nintendo. -# -# $Log: ARM7-TEG.lcf.template,v $ -# Revision 1.31 2006/05/10 03:19:47 yasu -# CodeWarrior 2.x のオーバーレイ拡張への対応 -# -# Revision 1.30 2006/03/30 00:43:20 yasu -# 著作年度の変更 -# -# Revision 1.29 2006/03/29 13:19:14 yasu -# NUMBER_OVERLAYS -> NUMBER.OVERLAYS への修正 -# -# Revision 1.28 2005/09/02 04:14:22 yasu -# SDK2.2 でも使用可能のように古いシンボルを再定義した -# -# Revision 1.27 2005/08/31 09:34:57 yasu -# section_BSS というようなセクション名を使ったときに正常に動作しない場合があるのを修正 -# -# Revision 1.26 2005/06/20 12:29:20 yasu -# Surffix -> Suffix 修正 -# -# Revision 1.25 2005/06/17 03:16:11 yasu -# fix copyright header -# -# Revision 1.24 2005/06/14 09:03:42 yada -# fix around minus value of SDK_STACKSIZE -# -# Revision 1.23 2004/09/08 01:27:18 yasu -# Add * (.wram) on static segment -# -# Revision 1.22 2004/08/18 02:00:34 yasu -# Fix address of SDK_AUTOLOAD.MAIN.START -# -# Revision 1.21 2004/08/18 01:50:40 yasu -# Support SDK_SUBPRIV_ARENA_LO -# -# Revision 1.20 2004/08/02 10:38:53 yasu -# Add autoload-done callback address in overlaydefs -# -# Revision 1.19 2004/07/26 00:08:27 yasu -# Fix label of exception table -# -# Revision 1.18 2004/07/24 05:42:25 yasu -# Set default values for SDK_AUTOGEN_xTCM_START -# -# Revision 1.17 2004/07/23 11:32:14 yasu -# Define labels for __exception_table_start__ and _end__ -# -# Revision 1.16 2004/07/10 04:10:26 yasu -# Support command 'Library' -# -# Revision 1.15 2004/07/08 04:04:59 yasu -# fix small typo -# -# Revision 1.14 2004/07/02 08:13:02 yasu -# Support OBJECT( ) -# -# Revision 1.13 2004/07/01 12:54:38 yasu -# support ITCM/DTCM/WRAM autoload -# -# Revision 1.12 2004/07/01 10:41:46 yasu -# support autoload -# -# Revision 1.11 2004/07/01 09:41:50 yasu -# support autoload -# -# Revision 1.10 2004/06/14 11:28:15 yasu -# support section filter "FOREACH.STATIC.OBJECTS=.sectionName" -# -# Revision 1.9 2004/05/27 04:06:42 yasu -# fix SDK_WRAM_ARENA_LO -# -# Revision 1.8 2004/04/26 11:41:38 yasu -# add KEEP_SECTION { .ctor } -# -# Revision 1.7 2004/04/19 06:39:41 yasu -# fix workram checker -# -# Revision 1.6 2004/04/19 04:27:30 yasu -# support WRAM overflow check -# -# Revision 1.5 2004/04/06 01:53:34 yasu -# move rodata section into text section -# -# Revision 1.4 2004/04/06 01:39:24 miya -# modify overlay module size -# -# Revision 1.3 2004/03/29 11:40:48 yasu -# delete ROM SIZE parameter on overlay table -# -# Revision 1.2 2004/03/26 09:32:48 yasu -# delete useless ALIGN -# -# Revision 1.1 2004/03/26 06:04:32 yasu -# move spec files -# -# Revision 1.3 2004/03/23 00:15:35 yasu -# add WRITEW 0 for the termination of __OVERLAY_static_init__ -# -# Revision 1.2 2004/03/22 02:15:49 yasu -# set _start as entry address in rom header -# -# Revision 1.1 2004/03/16 10:06:07 yasu -# copy ARM9s template file -# -# $NoKeywords: $ -#--------------------------------------------------------------------------- -MEMORY -{ - (RWX) : ORIGIN = , LENGTH = 0x0 # > - - (RWX) : ORIGIN = , LENGTH = 0x0 # >> - - binary.AUTOLOAD_INFO (RWX) : ORIGIN = 0, LENGTH = 0x0 # >> - - (RW) : ORIGIN = AFTER(), LENGTH = 0x0 # > - (RW) : ORIGIN = AFTER(), LENGTH = 0x0 # > - - (RWXO): ORIGIN = , LENGTH = 0x0 # > - - arena.MAIN (RW) : ORIGIN = AFTER(,), LENGTH = 0x0 - check.WORKRAM (RWX) : ORIGIN = , LENGTH = 0x10000 # > workram.check -} - -KEEP_SECTION -{ - .ctor -} - -SECTIONS -{ - ############################ STATIC ################################# - .: - { - ALIGNALL(4); . = ALIGN(4); # Fit to cache line - - - SEARCH_SYMBOL ; - - - # - # TEXT BLOCK: READ ONLY - # - SDK_STATIC_START =.; - SDK_STATIC_TEXT_START =.; - #:::::::::: text/rodata - OBJECT(_start,*) - crt0.o (.text) - - - - - - - . = ALIGN(4); - * (.exception) - . = ALIGN(4); - SDK_STATIC_ETABLE_START =.; - EXCEPTION - SDK_STATIC_ETABLE_END =.; - . = ALIGN(4); - - - - - - - . = ALIGN(4); - - - - - - - . = ALIGN(4); - - SDK_STATIC_SINIT_START =.; - #:::::::::: ctor - - - - - - - WRITEW 0; - #:::::::::: ctor - SDK_STATIC_SINIT_END =.; - - #:::::::::: text/rodata - . = ALIGN(4); - SDK_STATIC_TEXT_END =.; - - # - # DATA BLOCK: READ WRITE - # - SDK_STATIC_DATA_START =.; - #:::::::::: data - - - - - - - . = ALIGN(4); - - - - - - - . = ALIGN(4); - - - - - - - . = ALIGN(4); - #:::::::::: data - . = ALIGN(4); - SDK_STATIC_DATA_END =.; - SDK_STATIC_END =.; - - SDK_STATIC_TEXT_SIZE = SDK_STATIC_TEXT_END - SDK_STATIC_TEXT_START; - SDK_STATIC_DATA_SIZE = SDK_STATIC_DATA_END - SDK_STATIC_DATA_START; - SDK_STATIC_SIZE = SDK_STATIC_END - SDK_STATIC_START; - __sinit__ = SDK_STATIC_SINIT_START; # for static initializer - __exception_table_start__ = SDK_STATIC_ETABLE_START; # for exception table - __exception_table_end__ = SDK_STATIC_ETABLE_END; # for exception table - } > - - ..bss: - { - ALIGNALL(4); . = ALIGN(4); - - - SEARCH_SYMBOL ; - - - # - # BSS BLOCK - # - SDK_STATIC_BSS_START =.; - #:::::::::: bss - - - - - - - . = ALIGN(4); - - - - - - - . = ALIGN(4); - #:::::::::: bss - . = ALIGN(4); - SDK_STATIC_BSS_END = .; - SDK_STATIC_BSS_SIZE = SDK_STATIC_BSS_END - SDK_STATIC_BSS_START; - - } >> - - - ############################ AUTOLOADS ############################## - SDK_AUTOLOAD.MAIN.START = 0x02380000; - SDK_AUTOLOAD.MAIN.END = SDK_AUTOLOAD.MAIN.START; - SDK_AUTOLOAD.MAIN.BSS_END = SDK_AUTOLOAD.MAIN.START; - SDK_AUTOLOAD.MAIN.SIZE = 0; - SDK_AUTOLOAD.MAIN.BSS_SIZE = 0; - SDK_AUTOLOAD.WRAM.START = 0x037f8000; - SDK_AUTOLOAD.WRAM.END = SDK_AUTOLOAD.WRAM.START; - SDK_AUTOLOAD.WRAM.BSS_END = SDK_AUTOLOAD.WRAM.START; - SDK_AUTOLOAD.WRAM.SIZE = 0; - SDK_AUTOLOAD.WRAM.BSS_SIZE = 0; - SDK_AUTOLOAD_START = SDK_STATIC_END; - SDK_AUTOLOAD_SIZE = 0; - SDK_AUTOLOAD_NUMBER = ; - - - .: - { - ALIGNALL(4); . = ALIGN(4); - - - SEARCH_SYMBOL ; - - - # - # TEXT BLOCK: READ ONLY - # - SDK_AUTOLOAD__ID =; - SDK_AUTOLOAD..ID =; - SDK_AUTOLOAD..START =.; - SDK_AUTOLOAD..TEXT_START =.; - #:::::::::: text/rodata - - - - - - - . = ALIGN(4); - - - - - - - . = ALIGN(4); - #:::::::::: text/rodata - SDK_AUTOLOAD..TEXT_END =.; - - # - # DATA BLOCK: READ WRITE BLOCK - # - SDK_AUTOLOAD..DATA_START =.; - #:::::::::: data - - - - - - - . = ALIGN(4); - - - - - - - . = ALIGN(4); - - - - - - - . = ALIGN(4); - #:::::::::: data - SDK_AUTOLOAD..DATA_END =.; - SDK_AUTOLOAD..END =.; - - SDK_AUTOLOAD..TEXT_SIZE = SDK_AUTOLOAD..TEXT_END - SDK_AUTOLOAD..TEXT_START; - SDK_AUTOLOAD..DATA_SIZE = SDK_AUTOLOAD..DATA_END - SDK_AUTOLOAD..DATA_START; - SDK_AUTOLOAD..SIZE = SDK_AUTOLOAD..END - SDK_AUTOLOAD..START; - SDK_AUTOLOAD_SIZE = SDK_AUTOLOAD_SIZE + SDK_AUTOLOAD..SIZE; - - } > - - ..bss: - { - ALIGNALL(4); . = ALIGN(4); - - - SEARCH_SYMBOL ; - - - # - # BSS BLOCK - # - SDK_AUTOLOAD..BSS_START = .; - #:::::::::: bss - - - - - - - . = ALIGN(4); - - - - - - - . = ALIGN(4); - #:::::::::: bss - . = ALIGN(4); - SDK_AUTOLOAD..BSS_END = .; - - SDK_AUTOLOAD..BSS_SIZE = SDK_AUTOLOAD..BSS_END - SDK_AUTOLOAD..BSS_START; - - } >> - - - - SDK_AUTOLOAD_MAIN_START = SDK_AUTOLOAD.MAIN.START; - SDK_AUTOLOAD_MAIN_END = SDK_AUTOLOAD.MAIN.END; - SDK_AUTOLOAD_MAIN_BSS_END = SDK_AUTOLOAD.MAIN.BSS_END; - SDK_AUTOLOAD_MAIN_SIZE = SDK_AUTOLOAD.MAIN.SIZE; - SDK_AUTOLOAD_MAIN_BSS_SIZE = SDK_AUTOLOAD.MAIN.BSS_SIZE; - SDK_AUTOLOAD_WRAM_START = SDK_AUTOLOAD.WRAM.START; - SDK_AUTOLOAD_WRAM_END = SDK_AUTOLOAD.WRAM.END; - SDK_AUTOLOAD_WRAM_BSS_END = SDK_AUTOLOAD.WRAM.BSS_END; - SDK_AUTOLOAD_WRAM_SIZE = SDK_AUTOLOAD.WRAM.SIZE; - SDK_AUTOLOAD_WRAM_BSS_SIZE = SDK_AUTOLOAD.WRAM.BSS_SIZE; - - ############################ AUTOLOAD_INFO ########################## - .binary.AUTOLOAD_INFO: - { - - WRITEW ADDR(.); - WRITEW SDK_AUTOLOAD..SIZE; - WRITEW SDK_AUTOLOAD..BSS_SIZE; - - } > binary.AUTOLOAD_INFO - - SDK_AUTOLOAD_LIST = SDK_AUTOLOAD_START + SDK_AUTOLOAD_SIZE; - SDK_AUTOLOAD_LIST_END = SDK_AUTOLOAD_START + SDK_AUTOLOAD_SIZE + SIZEOF(.binary.AUTOLOAD_INFO); - SDK_AUTOLOAD_SIZE = SDK_AUTOLOAD_SIZE + SIZEOF(.binary.AUTOLOAD_INFO); - - ############################ OVERLAYS ############################### - SDK_OVERLAY_NUMBER = ; - - - .: - { - ALIGNALL(4); . = ALIGN(4); - - - SEARCH_SYMBOL ; - - - # - # TEXT BLOCK: READ ONLY - # - SDK_OVERLAY__ID =; ### SEGMENT OVERLAY ID - SDK_OVERLAY..ID =; - SDK_OVERLAY..START =.; - SDK_OVERLAY..TEXT_START =.; - #:::::::::: text/rodata - - - - - - - . = ALIGN(4); - - - - - - - . = ALIGN(4); - - - - - - - . = ALIGN(4); - SDK_OVERLAY..SINIT_START =.; - #:::::::::: ctor - - - - - - - WRITEW 0; - #:::::::::: ctor - SDK_OVERLAY..SINIT_END =.; - - #:::::::::: text/rodata - . = ALIGN(4); - SDK_OVERLAY..TEXT_END =.; - - # - # DATA BLOCK: READ WRITE - # - SDK_OVERLAY..DATA_START =.; - #:::::::::: data - - - - - - - . = ALIGN(4); - - - - - - - . = ALIGN(4); - #:::::::::: data - . = ALIGN(4); - SDK_OVERLAY..DATA_END =.; - SDK_OVERLAY..END =.; - - SDK_OVERLAY..TEXT_SIZE = SDK_OVERLAY..TEXT_END - SDK_OVERLAY..TEXT_START; - SDK_OVERLAY..DATA_SIZE = SDK_OVERLAY..DATA_END - SDK_OVERLAY..DATA_START; - SDK_OVERLAY..SIZE = SDK_OVERLAY..END - SDK_OVERLAY..START; - - } > - - ..bss: - { - ALIGNALL(4); . = ALIGN(4); - - - SEARCH_SYMBOL ; - - - # - # BSS BLOCK - # - SDK_OVERLAY..BSS_START = .; - #:::::::::: bss - - - - - - - . = ALIGN(4); - - - - - - - . = ALIGN(4); - #:::::::::: bss - . = ALIGN(4); - SDK_OVERLAY..BSS_END = .; - - SDK_OVERLAY..BSS_SIZE = SDK_OVERLAY..BSS_END - SDK_OVERLAY..BSS_START; - - } >> - - - - - ############################ ARENA ################################## - .arena.MAIN: - { - . = ALIGN(4); - SDK_SECTION_ARENA_START =.; - } > arena.MAIN - - - ############################ OVERLAYDEFS ############################ - .: - { - ### module information - WRITEW ADDR(.); # load address - WRITEW _start; # entry address - WRITEW SDK_STATIC_SIZE + SDK_AUTOLOAD_SIZE; # size of module - WRITEW _start_AutoloadDoneCallback; # callback autoload done - - ### overlay filename - - WRITES (""); # Overlay - - - } > - - - ############################ OVERLAYTABLE ########################### - .: - { - - # Overlay - WRITEW ; # overlay ID - WRITEW ADDR(.); # load address - WRITEW SDK_OVERLAY..SIZE; # size of module - WRITEW SDK_OVERLAY..BSS_SIZE; # size of bss - WRITEW SDK_OVERLAY..SINIT_START; # start address of static init - WRITEW SDK_OVERLAY..SINIT_END; # end address of static init - WRITEW ; # ROM file ID - WRITEW 0; # Reserved - - - - } > - - - ############################ OTHERS ################################# - SDK_SUBPRIV_ARENA_LO = SDK_AUTOLOAD.MAIN.BSS_END; - SDK_WRAM_ARENA_LO = SDK_SECTION_ARENA_START; - SDK_IRQ_STACKSIZE = ; # allocated in WRAM - SDK_SYS_STACKSIZE = ; # allocated in WRAM - - # work ram size checker - SDK_SYS_STACKSIZE_SIGN = (SDK_SYS_STACKSIZE < 0x80000000) * 2 - 1; - .check.WORKRAM: - { - . = . + SDK_SECTION_ARENA_START - + SDK_IRQ_STACKSIZE + SDK_SYS_STACKSIZE * SDK_SYS_STACKSIZE_SIGN; - } > check.WORKRAM -} diff --git a/include/twl/specfiles/ARM7-TEG.lsf b/include/twl/specfiles/ARM7-TEG.lsf deleted file mode 100644 index af402c0..0000000 --- a/include/twl/specfiles/ARM7-TEG.lsf +++ /dev/null @@ -1,60 +0,0 @@ -#---------------------------------------------------------------------------- -# Project: NitroSDK - include -# File: ARM7-TEG.lsf -# -# Copyright 2003,2004 Nintendo. All rights reserved. -# -# These coded insructions, statements, and computer programs contain -# proprietary information of Nintendo of America Inc. and/or Nintendo -# Company Ltd., and are protected by Federal copyright law. They may -# not be disclosed to third parties or copied or duplicated in any form, -# in whole or in part, without the prior written consent of Nintendo. -# -# $Log: ARM7-TEG.lsf,v $ -# Revision 1.10 2004/07/10 12:17:51 yasu -# delete GROUP(ROOT) -# -# Revision 1.9 2004/07/10 04:11:17 yasu -# Add GROUP(xxx) as object group -# -# Revision 1.8 2004/07/02 08:33:49 yasu -# Add .wram -# -# Revision 1.7 2004/07/02 01:12:11 yasu -# clean up comments -# -# Revision 1.6 2004/07/01 10:41:46 yasu -# support autoload -# -# Revision 1.5 2004/06/28 10:46:45 yasu -# avoid to use '*' as wildcard -# -# Revision 1.4 2004/04/19 04:27:30 yasu -# support WRAM overflow check -# -# Revision 1.3 2004/04/14 10:25:09 yasu -# delete LIBRARIES group -# -# Revision 1.2 2004/03/26 13:16:17 yasu -# use variables -# -# Revision 1.1 2004/03/26 06:04:32 yasu -# move spec files -# -# Revision 1.2 2004/03/18 12:43:38 yasu -# set top address for static segment -# -# $NoKeywords: $ -#---------------------------------------------------------------------------- -# -# Nitro LCF SPEC FILE -# - -Static $(TARGET_NAME) -{ - Address 0x037f8000 - Object $(OBJS_STATIC) - Library $(LLIBS) $(GLIBS) $(CW_LIBS) - Object * (.wram) - StackSize 1024 512 -} diff --git a/include/twl/specfiles/ARM7-TS.lsf b/include/twl/specfiles/ARM7-TS.lsf deleted file mode 100644 index 45ac832..0000000 --- a/include/twl/specfiles/ARM7-TS.lsf +++ /dev/null @@ -1,76 +0,0 @@ -#---------------------------------------------------------------------------- -# Project: NitroSDK - include -# File: ARM7-TS.lsf -# -# Copyright 2003-2005 Nintendo. All rights reserved. -# -# These coded insructions, statements, and computer programs contain -# proprietary information of Nintendo of America Inc. and/or Nintendo -# Company Ltd., and are protected by Federal copyright law. They may -# not be disclosed to third parties or copied or duplicated in any form, -# in whole or in part, without the prior written consent of Nintendo. -# -# $Log: ARM7-TS.lsf,v $ -# Revision 1.12 2005/04/14 00:04:17 terui -# Update copyright. -# -# Revision 1.11 2005/04/13 12:49:24 terui -# Change Autoload MAIN Address 0x027c0000 -> 0x027e0000 -# -# Revision 1.10 2004/08/18 01:51:02 yasu -# Rename autoload section name -# -# Revision 1.9 2004/07/26 02:21:48 yasu -# Add comment for autoload on 0x027c0000 -# -# Revision 1.8 2004/07/12 12:23:14 yasu -# Delete GROUP(ROOT) -# -# Revision 1.7 2004/07/10 04:11:17 yasu -# Add GROUP(xxx) as object group -# -# Revision 1.6 2004/07/02 01:12:11 yasu -# clean up comments -# -# Revision 1.5 2004/07/01 12:54:38 yasu -# support ITCM/DTCM/WRAM autoload -# -# Revision 1.4 2004/07/01 10:41:46 yasu -# support autoload -# -# Revision 1.3 2004/06/28 10:46:45 yasu -# avoid to use '*' as wildcard -# -# Revision 1.2 2004/04/14 10:25:09 yasu -# delete LIBRARIES group -# -# Revision 1.1 2004/04/06 01:59:54 yasu -# newly added -# -# $NoKeywords: $ -#---------------------------------------------------------------------------- -# -# Nitro LCF SPEC FILE -# - -Static $(TARGET_NAME) -{ - Address 0x02f80000 - Library crt0.o - StackSize 1024 512 -} - -#Objects on MAIN RAM # nothing for elf2bin -#Autoload MAIN -#{ -# Address 0x027e0000 -# Library -#} - -Autoload WRAM -{ - Address 0x037f8000 - Object $(OBJS_STATIC) - Library $(LLIBS) $(GLIBS) $(CW_LIBS) - Object * (.wram) -} diff --git a/include/twl/specfiles/ARM9-TS.lcf.template b/include/twl/specfiles/ARM9-BB.lcf.template similarity index 82% rename from include/twl/specfiles/ARM9-TS.lcf.template rename to include/twl/specfiles/ARM9-BB.lcf.template index c8000ff..f748d62 100644 --- a/include/twl/specfiles/ARM9-TS.lcf.template +++ b/include/twl/specfiles/ARM9-BB.lcf.template @@ -1,8 +1,8 @@ #--------------------------------------------------------------------------- -# Project: NitroSDK - tools - makelcf -# File: ARM9-TS.lcf.template +# Project: TwlSDK - tools - makelcf +# File: ARM9-BB.lcf.template # -# Copyright 2003-2006 Nintendo. All rights reserved. +# Copyright 2007 Nintendo. All rights reserved. # # These coded instructions, statements, and computer programs contain # proprietary information of Nintendo of America Inc. and/or Nintendo @@ -10,113 +10,7 @@ # not be disclosed to third parties or copied or duplicated in any form, # in whole or in part, without the prior written consent of Nintendo. # -# $Log: ARM9-TS.lcf.template,v $ -# Revision 1.35 2006/05/10 03:19:47 yasu -# CodeWarrior 2.x のオーバーレイ拡張への対応 -# -# Revision 1.34 2006/04/06 09:02:36 kitase_hirotake -# .itcm.bss .dtcm.bss に対応 -# -# Revision 1.33 2006/03/30 23:59:22 yasu -# 著作年度の変更 -# -# Revision 1.32 2006/03/29 13:14:22 yasu -# CWVER 2.x でのオーバーレイのサポート -# -# Revision 1.31 2005/11/24 01:16:47 yada -# change start address of mainEX arena from 0x2400000 to 0x23e0000 -# -# Revision 1.30 2005/09/02 04:14:22 yasu -# SDK2.2 でも使用可能のように古いシンボルを再定義した -# -# Revision 1.29 2005/08/31 09:34:57 yasu -# section_BSS というようなセクション名を使ったときに正常に動作しない場合があるのを修正 -# -# Revision 1.28 2005/08/26 11:22:16 yasu -# ITCM/DTCM への overlay の対応 -# -# Revision 1.27 2005/06/20 12:29:20 yasu -# Surffix -> Suffix 修正 -# -# Revision 1.26 2005/06/14 09:03:42 yada -# fix around minus value of SDK_STACKSIZE -# -# Revision 1.25 2005/04/13 12:51:00 terui -# Change SDK_AUTOLOAD.DTCM.START 0x027c0000 -> 0x027e0000 -# -# Revision 1.24 2005/03/30 00:02:14 yosizaki -# fix copyright header. -# -# Revision 1.23 2005/03/25 12:54:59 yasu -# Include .version section -# -# Revision 1.22 2004/10/03 02:00:56 yasu -# Output component file list for compstatic tool -# -# Revision 1.21 2004/09/27 05:28:21 yasu -# Support .sinit -# -# Revision 1.20 2004/09/09 11:49:20 yasu -# Support compstatic in default -# -# Revision 1.19 2004/09/06 06:40:00 yasu -# Add labels for digest -# -# Revision 1.18 2004/08/20 06:19:59 yasu -# DTCM moves to 0x027c0000 at default -# -# Revision 1.17 2004/08/02 10:38:53 yasu -# Add autoload-done callback address in overlaydefs -# -# Revision 1.16 2004/07/26 02:22:32 yasu -# Change DTCM address to 0x023c0000 -# -# Revision 1.15 2004/07/26 00:08:27 yasu -# Fix label of exception table -# -# Revision 1.14 2004/07/24 05:42:25 yasu -# Set default values for SDK_AUTOGEN_xTCM_START -# -# Revision 1.13 2004/07/23 11:32:14 yasu -# Define labels for __exception_table_start__ and _end__ -# -# Revision 1.12 2004/07/12 12:21:08 yasu -# Check size of ITCM/DTCM -# -# Revision 1.11 2004/07/10 04:10:26 yasu -# Support command 'Library' -# -# Revision 1.10 2004/07/02 08:13:02 yasu -# Support OBJECT( ) -# -# Revision 1.9 2004/07/01 12:54:38 yasu -# support ITCM/DTCM/WRAM autoload -# -# Revision 1.8 2004/07/01 10:41:46 yasu -# support autoload -# -# Revision 1.7 2004/06/02 07:35:37 yasu -# Set libsyscall.a in FORCE_ACTIVE -# Put NitroMain at the top of ROM image -# -# Revision 1.6 2004/06/02 04:56:28 yasu -# Change to fit to new ROM map of TS -# -# Revision 1.5 2004/06/01 06:12:00 miya -# add padding at top of ROM image. -# -# Revision 1.4 2004/04/26 12:16:48 yasu -# add KEEP_SECTIONS -# -# Revision 1.3 2004/04/20 07:41:32 yasu -# Set STATICINIT instead of .ctor temporarily -# -# Revision 1.2 2004/04/14 07:16:42 yasu -# add ALIGN(32) for convenience to handle cache line -# -# Revision 1.1 2004/04/06 01:59:54 yasu -# newly added -# +# $Log: $ # $NoKeywords: $ #--------------------------------------------------------------------------- MEMORY diff --git a/include/twl/specfiles/ARM9-BB.lsf b/include/twl/specfiles/ARM9-BB.lsf new file mode 100644 index 0000000..031496d --- /dev/null +++ b/include/twl/specfiles/ARM9-BB.lsf @@ -0,0 +1,41 @@ +#---------------------------------------------------------------------------- +# Project: TwlSDK - include +# File: ARM9-BB.lsf +# +# Copyright 2007 Nintendo. All rights reserved. +# +# These coded insructions, statements, and computer programs contain +# proprietary information of Nintendo of America Inc. and/or Nintendo +# Company Ltd., and are protected by Federal copyright law. They may +# not be disclosed to third parties or copied or duplicated in any form, +# in whole or in part, without the prior written consent of Nintendo. +# +# $Log: $ +# $NoKeywords: $ +#---------------------------------------------------------------------------- +# +# Nitro LCF SPEC FILE +# + +Static $(TARGET_NAME) +{ + Address 0x02000000 + Object $(OBJS_STATIC) + Library $(LLIBS) $(GLIBS) $(CW_LIBS) +} + +Autoload ITCM +{ + Address 0x01ff8000 + Object * (.itcm) + Object $(OBJS_AUTOLOAD) (.text) +} + +Autoload DTCM +{ + Address 0x027e0000 + Object * (.dtcm) + Object $(OBJS_AUTOLOAD) (.data) + Object $(OBJS_AUTOLOAD) (.bss) +} + diff --git a/include/twl/specfiles/ARM9-TEG.lcf.template b/include/twl/specfiles/ARM9-TEG.lcf.template deleted file mode 100644 index e9b3992..0000000 --- a/include/twl/specfiles/ARM9-TEG.lcf.template +++ /dev/null @@ -1,692 +0,0 @@ -#--------------------------------------------------------------------------- -# Project: NitroSDK - tools - makelcf -# File: ARM9-TEG.lcf.template -# -# Copyright 2003-2006 Nintendo. All rights reserved. -# -# These coded instructions, statements, and computer programs contain -# proprietary information of Nintendo of America Inc. and/or Nintendo -# Company Ltd., and are protected by Federal copyright law. They may -# not be disclosed to third parties or copied or duplicated in any form, -# in whole or in part, without the prior written consent of Nintendo. -# -# $Log: ARM9-TEG.lcf.template,v $ -# Revision 1.31 2006/05/10 03:19:47 yasu -# CodeWarrior 2.x のオーバーレイ拡張への対応 -# -# Revision 1.30 2006/03/30 00:31:29 yasu -# NUMBER_OVERLAYS を NUMBER.OVERLAYS に修正 -# -# Revision 1.29 2006/03/29 13:19:14 yasu -# NUMBER_OVERLAYS -> NUMBER.OVERLAYS への修正 -# -# Revision 1.28 2005/09/02 04:14:22 yasu -# SDK2.2 でも使用可能のように古いシンボルを再定義した -# -# Revision 1.27 2005/08/31 09:34:57 yasu -# section_BSS というようなセクション名を使ったときに正常に動作しない場合があるのを修正 -# -# Revision 1.26 2005/08/26 11:22:16 yasu -# ITCM/DTCM への overlay の対応 -# -# Revision 1.25 2005/06/20 12:29:20 yasu -# Surffix -> Suffix 修正 -# -# Revision 1.24 2005/06/17 03:16:11 yasu -# fix copyright header -# -# Revision 1.23 2005/06/14 09:03:42 yada -# fix around minus value of SDK_STACKSIZE -# -# Revision 1.22 2004/10/03 02:00:56 yasu -# Output component file list for compstatic tool -# -# Revision 1.21 2004/09/09 11:49:20 yasu -# Support compstatic in default -# -# Revision 1.20 2004/09/09 03:15:36 yasu -# Support NITRO_COMPRESS on TEG -# -# Revision 1.19 2004/08/02 10:38:53 yasu -# Add autoload-done callback address in overlaydefs -# -# Revision 1.18 2004/07/26 00:08:27 yasu -# Fix label of exception table -# -# Revision 1.17 2004/07/24 05:42:25 yasu -# Set default values for SDK_AUTOGEN_xTCM_START -# -# Revision 1.16 2004/07/23 11:32:14 yasu -# Define labels for __exception_table_start__ and _end__ -# -# Revision 1.15 2004/07/12 12:21:08 yasu -# Check size of ITCM/DTCM -# -# Revision 1.14 2004/07/10 04:10:26 yasu -# Support command 'Library' -# -# Revision 1.13 2004/07/08 04:04:59 yasu -# fix small typo -# -# Revision 1.12 2004/07/02 08:13:02 yasu -# Support OBJECT( ) -# -# Revision 1.11 2004/07/01 12:54:38 yasu -# support ITCM/DTCM/WRAM autoload -# -# Revision 1.10 2004/07/01 09:41:50 yasu -# support autoload -# -# Revision 1.9 2004/06/14 11:28:15 yasu -# support section filter "FOREACH.STATIC.OBJECTS=.sectionName" -# -# Revision 1.8 2004/04/26 11:41:38 yasu -# add KEEP_SECTION { .ctor } -# -# Revision 1.7 2004/04/20 07:41:32 yasu -# Set STATICINIT instead of .ctor temporarily -# -# Revision 1.6 2004/04/14 07:13:20 yasu -# add ALIGN(32) for convenience to handle cache line -# -# Revision 1.5 2004/04/06 01:53:34 yasu -# move rodata section into text section -# -# Revision 1.4 2004/04/06 01:39:43 miya -# modify overlay module size -# -# Revision 1.3 2004/03/29 11:40:48 yasu -# delete ROM SIZE parameter on overlay table -# -# Revision 1.2 2004/03/26 09:32:48 yasu -# delete useless ALIGN -# -# Revision 1.1 2004/03/26 06:04:32 yasu -# move spec files -# -# Revision 1.9 2004/03/23 00:15:35 yasu -# add WRITEW 0 for the termination of __OVERLAY_static_init__ -# -# Revision 1.8 2004/03/22 02:15:49 yasu -# set _start as entry address in rom header -# -# Revision 1.7 2004/03/16 10:05:14 yasu -# add ALIGN(4) at end of section -# -# Revision 1.6 2004/02/14 03:34:00 yasu -# exchange .bss and .sbss -# -# Revision 1.5 2004/02/13 07:13:16 yasu -# support SDK_IRQ_STACKSIZE -# -# Revision 1.4 2004/02/05 12:21:14 yasu -# change SDK prefix iris -> nitro -# -# Revision 1.3 2004/01/16 01:34:01 yasu -# Clean up lcf to support ARENA functions -# -# Revision 1.2 2004/01/15 13:10:03 yasu -# clean unused variables -# -# Revision 1.1 2004/01/15 10:52:51 yasu -# lcf template for OVERLAY -# -# Revision 1.1 2004/01/14 01:59:02 yasu -# Change filename -# -# Revision 1.2 2004/01/07 13:11:08 yasu -# change command casing -# -# Revision 1.1 2004/01/05 02:32:59 yasu -# Initial version -# -# $NoKeywords: $ -#--------------------------------------------------------------------------- -MEMORY -{ - (RWX) : ORIGIN = , LENGTH = 0x0 # > - - (RWX) : ORIGIN = , LENGTH = 0x0 # >> - - binary.AUTOLOAD_INFO (RWX) : ORIGIN = 0, LENGTH = 0x0 # >> - binary.STATIC_FOOTER (RWX) : ORIGIN = 0, LENGTH = 0x0 # >> - - (RW) : ORIGIN = AFTER(), LENGTH = 0x0 # > - (RW) : ORIGIN = AFTER(), LENGTH = 0x0 # > - - (RWXO): ORIGIN = , LENGTH = 0x0 # > - - dummy.MAIN_EX (RW) : ORIGIN = 0x02400000, LENGTH = 0x0 - arena.MAIN (RW) : ORIGIN = AFTER(,), LENGTH = 0x0 - arena.MAIN_EX (RW) : ORIGIN = AFTER(dummy.MAIN_EX,), LENGTH = 0x0 - arena.ITCM (RW) : ORIGIN = AFTER(ITCM,), LENGTH = 0x0 - arena.DTCM (RW) : ORIGIN = AFTER(DTCM,), LENGTH = 0x0 - binary.MODULE_FILES (RW) : ORIGIN = 0x0, LENGTH = 0x0 # > component.files - check.ITCM (RWX) : ORIGIN = 0x0, LENGTH = 0x08000 # > itcm.check - check.DTCM (RW) : ORIGIN = 0x0, LENGTH = 0x04000 # > dtcm.check -} - -SECTIONS -{ - ############################ STATIC ################################# - .: - { - ALIGNALL(4); . = ALIGN(32); # Fit to cache line - - - SEARCH_SYMBOL ; - - - # - # TEXT BLOCK: READ ONLY - # - SDK_STATIC_START =.; - SDK_STATIC_TEXT_START =.; - #:::::::::: text/rodata - OBJECT(_start,*) - crt0.o (.text) - - - - - - - . = ALIGN(4); - * (.exception) - . = ALIGN(4); - SDK_STATIC_ETABLE_START =.; - EXCEPTION - SDK_STATIC_ETABLE_END =.; - . = ALIGN(4); - - - - - - - . = ALIGN(4); - - - - - - - . = ALIGN(4); - - SDK_STATIC_SINIT_START =.; - #:::::::::: ctor - - - - - - - WRITEW 0; - #:::::::::: ctor - SDK_STATIC_SINIT_END =.; - - #:::::::::: text/rodata - . = ALIGN(32); - SDK_STATIC_TEXT_END =.; - - # - # DATA BLOCK: READ WRITE - # - SDK_STATIC_DATA_START =.; - #:::::::::: data - - - - - - - . = ALIGN(4); - - - - - - - . = ALIGN(4); - SDK_OVERLAY_DIGEST =.; - # NO DIGEST - SDK_OVERLAY_DIGEST_END =.; - #:::::::::: data - . = ALIGN(32); - SDK_STATIC_DATA_END =.; - SDK_STATIC_END =.; - - SDK_STATIC_TEXT_SIZE = SDK_STATIC_TEXT_END - SDK_STATIC_TEXT_START; - SDK_STATIC_DATA_SIZE = SDK_STATIC_DATA_END - SDK_STATIC_DATA_START; - SDK_STATIC_SIZE = SDK_STATIC_END - SDK_STATIC_START; - __sinit__ = SDK_STATIC_SINIT_START; # for static initializer - __exception_table_start__ = SDK_STATIC_ETABLE_START; # for exception table - __exception_table_end__ = SDK_STATIC_ETABLE_END; # for exception table - } > - - ..bss: - { - ALIGNALL(4); . = ALIGN(32); - - - SEARCH_SYMBOL ; - - - # - # BSS BLOCK - # - SDK_STATIC_BSS_START =.; - #:::::::::: bss - - - - - - - . = ALIGN(4); - - - - - - - . = ALIGN(4); - #:::::::::: bss - . = ALIGN(32); - SDK_STATIC_BSS_END = .; - SDK_STATIC_BSS_SIZE = SDK_STATIC_BSS_END - SDK_STATIC_BSS_START; - - } >> - - - ############################ AUTOLOADS ############################## - SDK_AUTOLOAD.ITCM.START = 0x01ff8000; - SDK_AUTOLOAD.ITCM.END = SDK_AUTOLOAD.ITCM.START; - SDK_AUTOLOAD.ITCM.BSS_END = SDK_AUTOLOAD.ITCM.START; - SDK_AUTOLOAD.ITCM.SIZE = 0; - SDK_AUTOLOAD.ITCM.BSS_SIZE = 0; - SDK_AUTOLOAD.DTCM.START = 0x02380000; - SDK_AUTOLOAD.DTCM.END = SDK_AUTOLOAD.DTCM.START; - SDK_AUTOLOAD.DTCM.BSS_END = SDK_AUTOLOAD.DTCM.START; - SDK_AUTOLOAD.DTCM.SIZE = 0; - SDK_AUTOLOAD.DTCM.BSS_SIZE = 0; - SDK_AUTOLOAD_START = SDK_STATIC_END; - SDK_AUTOLOAD_SIZE = 0; - SDK_AUTOLOAD_NUMBER = ; - - - .: - { - ALIGNALL(4); . = ALIGN(32); - - - SEARCH_SYMBOL ; - - - # - # TEXT BLOCK: READ ONLY - # - SDK_AUTOLOAD__ID =; - SDK_AUTOLOAD..ID =; - SDK_AUTOLOAD..START =.; - SDK_AUTOLOAD..TEXT_START =.; - #:::::::::: text/rodata - - - - - - - . = ALIGN(4); - - - - - - - . = ALIGN(4); - - - - - - - . = ALIGN(4); - #:::::::::: text/rodata - SDK_AUTOLOAD..TEXT_END =.; - - # - # DATA BLOCK: READ WRITE BLOCK - # - SDK_AUTOLOAD..DATA_START =.; - #:::::::::: data - - - - - - - . = ALIGN(4); - - - - - - - . = ALIGN(4); - - - - - - - . = ALIGN(4); - #:::::::::: data - . = ALIGN(32); - SDK_AUTOLOAD..DATA_END =.; - SDK_AUTOLOAD..END =.; - - SDK_AUTOLOAD..TEXT_SIZE = SDK_AUTOLOAD..TEXT_END - SDK_AUTOLOAD..TEXT_START; - SDK_AUTOLOAD..DATA_SIZE = SDK_AUTOLOAD..DATA_END - SDK_AUTOLOAD..DATA_START; - SDK_AUTOLOAD..SIZE = SDK_AUTOLOAD..END - SDK_AUTOLOAD..START; - SDK_AUTOLOAD_SIZE = SDK_AUTOLOAD_SIZE + SDK_AUTOLOAD..SIZE; - - } > - - ..bss: - { - ALIGNALL(4); . = ALIGN(32); - - - SEARCH_SYMBOL ; - - - # - # BSS BLOCK - # - SDK_AUTOLOAD..BSS_START = .; - #:::::::::: bss - - - - - - - . = ALIGN(4); - - - - - - - . = ALIGN(4); - #:::::::::: bss - . = ALIGN(32); - SDK_AUTOLOAD..BSS_END = .; - - SDK_AUTOLOAD..BSS_SIZE = SDK_AUTOLOAD..BSS_END - SDK_AUTOLOAD..BSS_START; - - } >> - - - - SDK_AUTOLOAD_ITCM_START = SDK_AUTOLOAD.ITCM.START; - SDK_AUTOLOAD_ITCM_END = SDK_AUTOLOAD.ITCM.END; - SDK_AUTOLOAD_ITCM_BSS_END = SDK_AUTOLOAD.ITCM.BSS_END; - SDK_AUTOLOAD_ITCM_SIZE = SDK_AUTOLOAD.ITCM.SIZE; - SDK_AUTOLOAD_ITCM_BSS_SIZE = SDK_AUTOLOAD.ITCM.BSS_SIZE; - SDK_AUTOLOAD_DTCM_START = SDK_AUTOLOAD.DTCM.START; - SDK_AUTOLOAD_DTCM_END = SDK_AUTOLOAD.DTCM.END; - SDK_AUTOLOAD_DTCM_BSS_END = SDK_AUTOLOAD.DTCM.BSS_END; - SDK_AUTOLOAD_DTCM_SIZE = SDK_AUTOLOAD.DTCM.SIZE; - SDK_AUTOLOAD_DTCM_BSS_SIZE = SDK_AUTOLOAD.DTCM.BSS_SIZE; - - ############################ AUTOLOAD_INFO ########################## - .binary.AUTOLOAD_INFO: - { - - WRITEW ADDR(.); - WRITEW SDK_AUTOLOAD..SIZE; - WRITEW SDK_AUTOLOAD..BSS_SIZE; - - } > binary.AUTOLOAD_INFO - - SDK_AUTOLOAD_LIST = SDK_AUTOLOAD_START + SDK_AUTOLOAD_SIZE; - SDK_AUTOLOAD_LIST_END = SDK_AUTOLOAD_START + SDK_AUTOLOAD_SIZE + SIZEOF(.binary.AUTOLOAD_INFO); - SDK_AUTOLOAD_SIZE = SDK_AUTOLOAD_SIZE + SIZEOF(.binary.AUTOLOAD_INFO); - - ############################ STATIC_FOOTER ########################## - .binary.STATIC_FOOTER: - { - WRITEW 0xdec00621; # LE(0x2106C0DE) = NITRO CODE - WRITEW _start_ModuleParams - ADDR(.); - WRITEW 0; # NO DIGEST - } > binary.STATIC_FOOTER - - ############################ OVERLAYS ############################### - SDK_OVERLAY_NUMBER = ; - - - .: - { - ALIGNALL(4); . = ALIGN(32); - - - SEARCH_SYMBOL ; - - - # - # TEXT BLOCK: READ ONLY - # - SDK_OVERLAY__ID =; ### SEGMENT OVERLAY ID - SDK_OVERLAY..ID =; - SDK_OVERLAY..START =.; - SDK_OVERLAY..TEXT_START =.; - #:::::::::: text/rodata - - - - - - - . = ALIGN(4); - - - - - - - . = ALIGN(4); - - - - - - - . = ALIGN(4); - SDK_OVERLAY..SINIT_START =.; - #:::::::::: ctor - - - - - - - WRITEW 0; - #:::::::::: ctor - SDK_OVERLAY..SINIT_END =.; - - #:::::::::: text/rodata - . = ALIGN(32); - SDK_OVERLAY..TEXT_END =.; - - # - # DATA BLOCK: READ WRITE - # - SDK_OVERLAY..DATA_START =.; - #:::::::::: data - - - - - - - . = ALIGN(4); - - - - - - - . = ALIGN(4); - #:::::::::: data - . = ALIGN(32); - SDK_OVERLAY..DATA_END =.; - SDK_OVERLAY..END =.; - - SDK_OVERLAY..TEXT_SIZE = SDK_OVERLAY..TEXT_END - SDK_OVERLAY..TEXT_START; - SDK_OVERLAY..DATA_SIZE = SDK_OVERLAY..DATA_END - SDK_OVERLAY..DATA_START; - SDK_OVERLAY..SIZE = SDK_OVERLAY..END - SDK_OVERLAY..START; - - } > - - ..bss: - { - ALIGNALL(4); . = ALIGN(32); - - - SEARCH_SYMBOL ; - - - # - # BSS BLOCK - # - SDK_OVERLAY..BSS_START = .; - #:::::::::: bss - - - - - - - . = ALIGN(4); - - - - - - - . = ALIGN(4); - #:::::::::: bss - . = ALIGN(32); - SDK_OVERLAY..BSS_END = .; - - SDK_OVERLAY..BSS_SIZE = SDK_OVERLAY..BSS_END - SDK_OVERLAY..BSS_START; - - } >> - - - - - ############################ MAIN EX ################################## - .dummy.MAIN_EX: - { - . = ALIGN(32); - } > dummy.MAIN_EX - - - ############################ ARENA ################################## - .arena.MAIN: - { - . = ALIGN(32); - SDK_SECTION_ARENA_START =.; - } > arena.MAIN - - .arena.MAIN_EX: - { - . = ALIGN(32); - SDK_SECTION_ARENA_EX_START =.; - } > arena.MAIN_EX - - .arena.ITCM: - { - . = ALIGN(32); - SDK_SECTION_ARENA_ITCM_START =.; - } > arena.ITCM - - .arena.DTCM: - { - . = ALIGN(32); - SDK_SECTION_ARENA_DTCM_START =.; - } > arena.DTCM - - - ############################ OVERLAYDEFS ############################ - .: - { - ### module information - WRITEW ADDR(.); # load address - WRITEW _start; # entry address - WRITEW SDK_STATIC_SIZE + SDK_AUTOLOAD_SIZE; # size of module - WRITEW _start_AutoloadDoneCallback; # callback autoload done - - ### overlay filename - - WRITES (""); # Overlay - - - } > - - - ############################ OVERLAYTABLE ########################### - .: - { - - # Overlay - WRITEW ; # overlay ID - WRITEW ADDR(.); # load address - WRITEW SDK_OVERLAY..SIZE; # size of module - WRITEW SDK_OVERLAY..BSS_SIZE; # size of bss - WRITEW SDK_OVERLAY..SINIT_START; # start address of static init - WRITEW SDK_OVERLAY..SINIT_END; # end address of static init - WRITEW ; # ROM file ID - WRITEW 0; # Reserved - - - - } > - - - ############################ OTHERS ################################# - SDK_MAIN_ARENA_LO = SDK_SECTION_ARENA_START; - SDK_IRQ_STACKSIZE = ; # allocated in DTCM - SDK_SYS_STACKSIZE = ; # when 0 means all remains of DTCM - - # Module filelist - .binary.MODULE_FILES: - { - WRITES (""); - WRITES (""); - WRITES (""); - } > binary.MODULE_FILES - - # ITCM/DTCM size checker => check AUTOLOAD_ITCM/DTCM - .check.ITCM: - { - . = . + SDK_AUTOLOAD_ITCM_SIZE + SDK_AUTOLOAD_ITCM_BSS_SIZE; - - . = . + SDK_OVERLAY..SIZE + SDK_OVERLAY..BSS_SIZE; - - } > check.ITCM - - SDK_SYS_STACKSIZE_SIGN = (SDK_SYS_STACKSIZE < 0x80000000) * 2 - 1; - .check.DTCM: - { - . = . + SDK_AUTOLOAD_DTCM_SIZE + SDK_AUTOLOAD_DTCM_BSS_SIZE; - - . = . + SDK_OVERLAY..SIZE + SDK_OVERLAY..BSS_SIZE; - - . = . + SDK_IRQ_STACKSIZE + SDK_SYS_STACKSIZE * SDK_SYS_STACKSIZE_SIGN; - } > check.DTCM - -} diff --git a/include/twl/specfiles/ARM9-TEG.lsf b/include/twl/specfiles/ARM9-TEG.lsf deleted file mode 100644 index fc5f46e..0000000 --- a/include/twl/specfiles/ARM9-TEG.lsf +++ /dev/null @@ -1,76 +0,0 @@ -#---------------------------------------------------------------------------- -# Project: NitroSDK - include -# File: ARM9-TEG.lsf -# -# Copyright 2003,2004 Nintendo. All rights reserved. -# -# These coded insructions, statements, and computer programs contain -# proprietary information of Nintendo of America Inc. and/or Nintendo -# Company Ltd., and are protected by Federal copyright law. They may -# not be disclosed to third parties or copied or duplicated in any form, -# in whole or in part, without the prior written consent of Nintendo. -# -# $Log: ARM9-TEG.lsf,v $ -# Revision 1.9 2004/07/10 12:17:51 yasu -# delete GROUP(ROOT) -# -# Revision 1.8 2004/07/10 04:11:17 yasu -# Add GROUP(xxx) as object group -# -# Revision 1.7 2004/07/08 04:04:59 yasu -# fix small typo -# -# Revision 1.6 2004/07/01 12:54:38 yasu -# support ITCM/DTCM/WRAM autoload -# -# Revision 1.5 2004/07/01 09:41:50 yasu -# support autoload -# -# Revision 1.4 2004/06/28 10:53:23 yasu -# Avoid to use '*' as wildcard -# -# Revision 1.3 2004/04/14 10:25:09 yasu -# delete LIBRARIES group -# -# Revision 1.2 2004/03/26 13:16:17 yasu -# use variables -# -# Revision 1.1 2004/03/26 06:04:32 yasu -# move spec files -# -# Revision 1.1 2004/03/18 12:42:34 yasu -# default.lsf -> default.ARM[9/7]-TEG.lsf -# -# Revision 1.2 2004/03/18 03:11:26 yasu -# rename segment default -> main -# -# Revision 1.1 2004/03/18 02:51:51 yasu -# default lcf spec file -# -# $NoKeywords: $ -#---------------------------------------------------------------------------- -# -# Nitro LCF SPEC FILE -# - -Static $(TARGET_NAME) -{ - Address 0x02004000 - Object $(OBJS_STATIC) - Library $(LLIBS) $(GLIBS) $(CW_LIBS) -} - -Autoload ITCM -{ - Address 0x01ff8000 - Object * (.itcm) - Object $(OBJS_AUTOLOAD) (.text) -} - -Autoload DTCM -{ - Address 0x02380000 - Object * (.dtcm) - Object $(OBJS_AUTOLOAD) (.data) - Object $(OBJS_AUTOLOAD) (.bss) -} diff --git a/include/twl/specfiles/ARM9-TS.lsf b/include/twl/specfiles/ARM9-TS.lsf deleted file mode 100644 index 531983c..0000000 --- a/include/twl/specfiles/ARM9-TS.lsf +++ /dev/null @@ -1,77 +0,0 @@ -#---------------------------------------------------------------------------- -# Project: NitroSDK - include -# File: ARM9-TS.lsf -# -# Copyright 2003-2005 Nintendo. All rights reserved. -# -# These coded insructions, statements, and computer programs contain -# proprietary information of Nintendo of America Inc. and/or Nintendo -# Company Ltd., and are protected by Federal copyright law. They may -# not be disclosed to third parties or copied or duplicated in any form, -# in whole or in part, without the prior written consent of Nintendo. -# -# $Log: ARM9-TS.lsf,v $ -# Revision 1.12 2005/04/14 00:04:16 terui -# Update copyright. -# -# Revision 1.11 2005/04/13 12:49:59 terui -# Change Autoload DTCM Address 0x027c0000 -> 0x027e0000 -# -# Revision 1.10 2004/08/18 01:50:09 yasu -# DTCM moves to 0x027c0000 -# -# Revision 1.9 2004/07/26 02:22:32 yasu -# Change DTCM address to 0x023c0000 -# -# Revision 1.8 2004/07/10 12:17:51 yasu -# delete GROUP(ROOT) -# -# Revision 1.7 2004/07/10 04:11:17 yasu -# Add GROUP(xxx) as object group -# -# Revision 1.6 2004/07/01 12:54:38 yasu -# support ITCM/DTCM/WRAM autoload -# -# Revision 1.5 2004/07/01 10:41:46 yasu -# support autoload -# -# Revision 1.4 2004/06/28 10:46:45 yasu -# avoid to use '*' as wildcard -# -# Revision 1.3 2004/06/08 07:46:40 yasu -# move start address 0x02004000 -> 0x02000000 -# -# Revision 1.2 2004/04/14 10:25:09 yasu -# delete LIBRARIES group -# -# Revision 1.1 2004/04/06 01:59:54 yasu -# newly added -# -# $NoKeywords: $ -#---------------------------------------------------------------------------- -# -# Nitro LCF SPEC FILE -# - -Static $(TARGET_NAME) -{ - Address 0x02000000 - Object $(OBJS_STATIC) - Library $(LLIBS) $(GLIBS) $(CW_LIBS) -} - -Autoload ITCM -{ - Address 0x01ff8000 - Object * (.itcm) - Object $(OBJS_AUTOLOAD) (.text) -} - -Autoload DTCM -{ - Address 0x027e0000 - Object * (.dtcm) - Object $(OBJS_AUTOLOAD) (.data) - Object $(OBJS_AUTOLOAD) (.bss) -} -