mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@1883 b08762b0-b915-fc4b-9d8c-17b2551a87ff
401 lines
13 KiB
Plaintext
401 lines
13 KiB
Plaintext
#---------------------------------------------------------------------------
|
||
# Project: TwlSDK - components - armadillo.TWL
|
||
# File: armadillo.lcf.template
|
||
#
|
||
# Copyright 2008 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.
|
||
#
|
||
# $Date:: $
|
||
# $Rev$
|
||
# $Author$
|
||
#---------------------------------------------------------------------------
|
||
MEMORY
|
||
{
|
||
<STATIC.NAME> (RWX) : ORIGIN = <STATIC.ADDRESS>, LENGTH = 0x0 > <STATIC.NAME><PROPERTY.FLXSUFFIX>
|
||
binary.STATIC_FOOTER (RWX) : ORIGIN = 0, LENGTH = 0x0 >> <STATIC.NAME><PROPERTY.FLXSUFFIX>
|
||
|
||
<PROPERTY.OVERLAYDEFS>F (RW) : ORIGIN = 0, LENGTH = 0x0 > <PROPERTY.OVERLAYDEFS><PROPERTY.FLXSUFFIX>
|
||
|
||
binary.LTDAUTOLOAD_TOP (RW) : ORIGIN = 0, LENGTH = 0x0 > <STATIC.NAME><PROPERTY.LTDSUFFIX>
|
||
<FOREACH.LTDAUTOLOADS>
|
||
<LTDAUTOLOAD.NAME> (RWX) : ORIGIN = <LTDAUTOLOAD.ADDRESS>, LENGTH = 0x0 >> <STATIC.NAME><PROPERTY.LTDSUFFIX>
|
||
<END.LTDAUTOLOADS>
|
||
binary.LTDAUTOLOAD_INFO (RWX) : ORIGIN = 0, LENGTH = 0x0 >> <STATIC.NAME><PROPERTY.LTDSUFFIX>
|
||
|
||
<PROPERTY.LTDOVERLAYDEFS>L (RW) : ORIGIN = 0, LENGTH = 0x0 > <PROPERTY.LTDOVERLAYDEFS><PROPERTY.LTDSUFFIX>
|
||
|
||
check.WORKRAM (RWX) : ORIGIN = 0x03740000, LENGTH = 0xd0000 > workram.check
|
||
}
|
||
|
||
KEEP_SECTION
|
||
{
|
||
.sinit
|
||
}
|
||
|
||
SECTIONS
|
||
{
|
||
############################ STATIC #################################
|
||
.<STATIC.NAME>:
|
||
{
|
||
ALIGNALL(4);
|
||
. = ALIGN(4);
|
||
|
||
#
|
||
# Definition to refer overlay segment, when same name symbols exist in multiple overlays.
|
||
#
|
||
<FOREACH.STATIC.SEARCHSYMBOLS>
|
||
SEARCH_SYMBOL <STATIC.SEARCHSYMBOL>;
|
||
<END.STATIC.SEARCHSYMBOLS>
|
||
|
||
#
|
||
# TEXT BLOCK: READ ONLY
|
||
#
|
||
SDK_STATIC_START =.;
|
||
OBJECT(_start,*)
|
||
<FOREACH.STATIC.OBJECTS=.text>
|
||
<STATIC.OBJECT=.text:t>
|
||
<END.STATIC.OBJECTS>
|
||
<FOREACH.STATIC.LIBRARIES=.text>
|
||
<STATIC.LIBRARY=.text:t>
|
||
<END.STATIC.LIBRARIES>
|
||
<FOREACH.STATIC.OBJECTS=.rodata>
|
||
<STATIC.OBJECT=.rodata:t>
|
||
<END.STATIC.OBJECTS>
|
||
<FOREACH.STATIC.LIBRARIES=.rodata>
|
||
<STATIC.LIBRARY=.rodata:t>
|
||
<END.STATIC.LIBRARIES>
|
||
<FOREACH.STATIC.OBJECTS=.init>
|
||
<STATIC.OBJECT=.init:t>
|
||
<END.STATIC.OBJECTS>
|
||
<FOREACH.STATIC.LIBRARIES=.init>
|
||
<STATIC.LIBRARY=.init:t>
|
||
<END.STATIC.LIBRARIES>
|
||
. = ALIGN(4);
|
||
SDK_STATIC_SINIT_START =.;
|
||
<FOREACH.STATIC.OBJECTS=.ctor>
|
||
<STATIC.OBJECT=.ctor:t>
|
||
<END.STATIC.OBJECTS>
|
||
<FOREACH.STATIC.LIBRARIES=.ctor>
|
||
<STATIC.LIBRARY=.ctor:t>
|
||
<END.STATIC.LIBRARIES>
|
||
<FOREACH.STATIC.OBJECTS=.sinit>
|
||
<STATIC.OBJECT=.sinit:t>
|
||
<END.STATIC.OBJECTS>
|
||
<FOREACH.STATIC.LIBRARIES=.sinit>
|
||
<STATIC.LIBRARY=.sinit:t>
|
||
<END.STATIC.LIBRARIES>
|
||
WRITEW 0;
|
||
|
||
#
|
||
# DATA BLOCK: READ WRITE
|
||
#
|
||
. = ALIGN(4);
|
||
<FOREACH.STATIC.OBJECTS=.sdata>
|
||
<STATIC.OBJECT=.sdata:t>
|
||
<END.STATIC.OBJECTS>
|
||
<FOREACH.STATIC.LIBRARIES=.sdata>
|
||
<STATIC.LIBRARY=.sdata:t>
|
||
<END.STATIC.LIBRARIES>
|
||
<FOREACH.STATIC.OBJECTS=.data>
|
||
<STATIC.OBJECT=.data:t>
|
||
<END.STATIC.OBJECTS>
|
||
<FOREACH.STATIC.LIBRARIES=.data>
|
||
<STATIC.LIBRARY=.data:t>
|
||
<END.STATIC.LIBRARIES>
|
||
. = ALIGN(4);
|
||
SDK_STATIC_END =.;
|
||
|
||
SDK_STATIC_SIZE = SDK_STATIC_END - SDK_STATIC_START;
|
||
__sinit__ = SDK_STATIC_SINIT_START; # for static initializer
|
||
|
||
} > <STATIC.NAME>
|
||
|
||
.<STATIC.NAME>.bss:
|
||
{
|
||
ALIGNALL(4);
|
||
. = ALIGN(4);
|
||
|
||
#
|
||
# Definition to refer overlay segment, when same name symbols exist in multiple overlays.
|
||
#
|
||
<FOREACH.STATIC.SEARCHSYMBOLS>
|
||
SEARCH_SYMBOL <STATIC.SEARCHSYMBOL>;
|
||
<END.STATIC.SEARCHSYMBOLS>
|
||
|
||
#
|
||
# BSS BLOCK
|
||
#
|
||
SDK_STATIC_BSS_START =.;
|
||
<FOREACH.STATIC.OBJECTS=.sbss>
|
||
<STATIC.OBJECT=.sbss:t>
|
||
<END.STATIC.OBJECTS>
|
||
<FOREACH.STATIC.LIBRARIES=.sbss>
|
||
<STATIC.LIBRARY=.sbss:t>
|
||
<END.STATIC.LIBRARIES>
|
||
<FOREACH.STATIC.OBJECTS=.bss>
|
||
<STATIC.OBJECT=.bss:t>
|
||
<END.STATIC.OBJECTS>
|
||
<FOREACH.STATIC.LIBRARIES=.bss>
|
||
<STATIC.LIBRARY=.bss:t>
|
||
<END.STATIC.LIBRARIES>
|
||
. = ALIGN(4);
|
||
SDK_STATIC_BSS_END = .;
|
||
|
||
SDK_STATIC_BSS_SIZE = SDK_STATIC_BSS_END - SDK_STATIC_BSS_START;
|
||
|
||
} >> <STATIC.NAME>
|
||
|
||
############################ STATIC_FOOTER ##########################
|
||
.binary.STATIC_FOOTER:
|
||
{
|
||
WRITEW 0xdec00621; # LE(0x2106C0DE) = NITRO CODE
|
||
WRITEW _start_ModuleParams - ADDR(.<STATIC.NAME>);
|
||
WRITEW 0; # NO DIGEST
|
||
WRITEW _start_LtdModuleParams - ADDR(.<STATIC.NAME>);
|
||
|
||
} > binary.STATIC_FOOTER
|
||
|
||
############################ OVERLAYDEFS ############################
|
||
.<PROPERTY.OVERLAYDEFS>F:
|
||
{
|
||
### <STATIC.NAME> module information
|
||
WRITEW ADDR(.<STATIC.NAME>); # load address
|
||
WRITEW _start; # entry address
|
||
WRITEW SDK_STATIC_SIZE; # size of module
|
||
WRITEW _start_AutoloadDoneCallback; # callback autoload done
|
||
|
||
} > <PROPERTY.OVERLAYDEFS>F
|
||
|
||
########################### LTDAUTOLOADS ############################
|
||
SDK_LTDAUTOLOAD_TOP_START = 0x02f00000;
|
||
SDK_LTDAUTOLOAD_TOP_SIZE = 4; # STATIC <20>̈悪<CC88><E682AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 4 bytes <20>̃_<CC83>~<7E>[<5B><><EFBFBD>o<EFBFBD>C<EFBFBD>i<EFBFBD><69><EFBFBD>t<EFBFBD>@<40>C<EFBFBD><43><EFBFBD>̐擪<CC90>ɓ<EFBFBD><C993><EFBFBD> #
|
||
SDK_LTDAUTOLOAD_START = SDK_LTDAUTOLOAD_TOP_START + SDK_LTDAUTOLOAD_TOP_SIZE;
|
||
SDK_LTDAUTOLOAD_SIZE = 0;
|
||
SDK_LTDAUTOLOAD_BSS_END = 0x03740000;
|
||
|
||
.binary.LTDAUTOLOAD_TOP:
|
||
{
|
||
WRITEW 0;
|
||
|
||
} > binary.LTDAUTOLOAD_TOP
|
||
|
||
<FOREACH.LTDAUTOLOADS>
|
||
.<LTDAUTOLOAD.NAME>:
|
||
{
|
||
ALIGNALL(4);
|
||
. = ALIGN(4);
|
||
|
||
#
|
||
# Definition to refer overlay segment, when same name symbols exist in multiple overlays.
|
||
#
|
||
<FOREACH.LTDAUTOLOAD.SEARCHSYMBOLS>
|
||
SEARCH_SYMBOL <LTDAUTOLOAD.SEARCHSYMBOL>;
|
||
<END.LTDAUTOLOAD.SEARCHSYMBOLS>
|
||
|
||
#
|
||
# TEXT BLOCK: READ ONLY
|
||
#
|
||
SDK_LTDAUTOLOAD.<LTDAUTOLOAD.NAME>.START =.;
|
||
<FOREACH.LTDAUTOLOAD.OBJECTS=.text>
|
||
<LTDAUTOLOAD.OBJECT=.text:t>
|
||
<END.LTDAUTOLOAD.OBJECTS>
|
||
<FOREACH.LTDAUTOLOAD.LIBRARIES=.text>
|
||
<LTDAUTOLOAD.LIBRARY=.text:t>
|
||
<END.LTDAUTOLOAD.LIBRARIES>
|
||
<FOREACH.LTDAUTOLOAD.OBJECTS=.etable>
|
||
<LTDAUTOLOAD.OBJECT=.exception:t>
|
||
. = ALIGN(4);
|
||
SDK_STATIC_ETABLE_START =.;
|
||
__exception_table_start__ =.;
|
||
EXCEPTION
|
||
__exception_table_end__ =.;
|
||
SDK_STATIC_ETABLE_END =.;
|
||
<END.LTDAUTOLOAD.OBJECTS>
|
||
<FOREACH.LTDAUTOLOAD.OBJECTS=.rodata>
|
||
<LTDAUTOLOAD.OBJECT=.rodata:t>
|
||
<END.LTDAUTOLOAD.OBJECTS>
|
||
<FOREACH.LTDAUTOLOAD.LIBRARIES=.rodata>
|
||
<LTDAUTOLOAD.LIBRARY=.rodata:t>
|
||
<END.LTDAUTOLOAD.LIBRARIES>
|
||
<FOREACH.LTDAUTOLOAD.OBJECTS=.init>
|
||
<LTDAUTOLOAD.OBJECT=.init:t>
|
||
<END.LTDAUTOLOAD.OBJECTS>
|
||
<FOREACH.LTDAUTOLOAD.LIBRARIES=.init>
|
||
<LTDAUTOLOAD.LIBRARY=.init:t>
|
||
<END.LTDAUTOLOAD.LIBRARIES>
|
||
. = ALIGN(4);
|
||
SDK_LTDAUTOLOAD.<LTDAUTOLOAD.NAME>.SINIT_START =.;
|
||
<FOREACH.LTDAUTOLOAD.OBJECTS=.ctor>
|
||
<LTDAUTOLOAD.OBJECT=.ctor:t>
|
||
<END.LTDAUTOLOAD.OBJECTS>
|
||
<FOREACH.LTDAUTOLOAD.LIBRARIES=.ctor>
|
||
<LTDAUTOLOAD.LIBRARY=.ctor:t>
|
||
<END.LTDAUTOLOAD.LIBRARIES>
|
||
<FOREACH.LTDAUTOLOAD.OBJECTS=.sinit>
|
||
<LTDAUTOLOAD.OBJECT=.sinit:t>
|
||
<END.LTDAUTOLOAD.OBJECTS>
|
||
<FOREACH.LTDAUTOLOAD.LIBRARIES=.sinit>
|
||
<LTDAUTOLOAD.LIBRARY=.sinit:t>
|
||
<END.LTDAUTOLOAD.LIBRARIES>
|
||
WRITEW 0;
|
||
|
||
#
|
||
# DATA BLOCK: READ WRITE BLOCK
|
||
#
|
||
. = ALIGN(4);
|
||
<FOREACH.LTDAUTOLOAD.OBJECTS=.sdata>
|
||
<LTDAUTOLOAD.OBJECT=.sdata:t>
|
||
<END.LTDAUTOLOAD.OBJECTS>
|
||
<FOREACH.LTDAUTOLOAD.LIBRARIES=.sdata>
|
||
<LTDAUTOLOAD.LIBRARY=.sdata:t>
|
||
<END.LTDAUTOLOAD.LIBRARIES>
|
||
<FOREACH.LTDAUTOLOAD.OBJECTS=.data>
|
||
<LTDAUTOLOAD.OBJECT=.data:t>
|
||
<END.LTDAUTOLOAD.OBJECTS>
|
||
<FOREACH.LTDAUTOLOAD.LIBRARIES=.data>
|
||
<LTDAUTOLOAD.LIBRARY=.data:t>
|
||
<END.LTDAUTOLOAD.LIBRARIES>
|
||
<FOREACH.LTDAUTOLOAD.OBJECTS=.wram>
|
||
<LTDAUTOLOAD.OBJECT=.wram:t>
|
||
<END.LTDAUTOLOAD.OBJECTS>
|
||
<FOREACH.LTDAUTOLOAD.LIBRARIES=.wram>
|
||
<LTDAUTOLOAD.LIBRARY=.wram:t>
|
||
<END.LTDAUTOLOAD.LIBRARIES>
|
||
<FOREACH.LTDAUTOLOAD.OBJECTS=.ltdwram>
|
||
<LTDAUTOLOAD.OBJECT=.ltdwram:t>
|
||
<END.LTDAUTOLOAD.OBJECTS>
|
||
<FOREACH.LTDAUTOLOAD.LIBRARIES=.ltdwram>
|
||
<LTDAUTOLOAD.LIBRARY=.ltdwram:t>
|
||
<END.LTDAUTOLOAD.LIBRARIES>
|
||
<FOREACH.LTDAUTOLOAD.OBJECTS=.rsvwram>
|
||
<LTDAUTOLOAD.OBJECT=.rsvwram:t>
|
||
<END.LTDAUTOLOAD.OBJECTS>
|
||
<FOREACH.LTDAUTOLOAD.LIBRARIES=.rsvwram>
|
||
<LTDAUTOLOAD.LIBRARY=.rsvwram:t>
|
||
<END.LTDAUTOLOAD.LIBRARIES>
|
||
<FOREACH.LTDAUTOLOAD.OBJECTS=.ltdmain>
|
||
<LTDAUTOLOAD.OBJECT=.ltdmain:t>
|
||
<END.LTDAUTOLOAD.OBJECTS>
|
||
<FOREACH.LTDAUTOLOAD.LIBRARIES=.ltdmain>
|
||
<LTDAUTOLOAD.LIBRARY=.ltdmain:t>
|
||
<END.LTDAUTOLOAD.LIBRARIES>
|
||
. = ALIGN(4);
|
||
SDK_LTDAUTOLOAD.<LTDAUTOLOAD.NAME>.END =.;
|
||
|
||
SDK_LTDAUTOLOAD.<LTDAUTOLOAD.NAME>.SIZE = SDK_LTDAUTOLOAD.<LTDAUTOLOAD.NAME>.END - SDK_LTDAUTOLOAD.<LTDAUTOLOAD.NAME>.START;
|
||
SDK_LTDAUTOLOAD_SIZE = SDK_LTDAUTOLOAD_SIZE + SDK_LTDAUTOLOAD.<LTDAUTOLOAD.NAME>.SIZE;
|
||
|
||
} > <LTDAUTOLOAD.NAME>
|
||
|
||
.<LTDAUTOLOAD.NAME>.bss:
|
||
{
|
||
ALIGNALL(4);
|
||
. = ALIGN(4);
|
||
|
||
#
|
||
# Definition to refer overlay segment, when same name symbols exist in multiple overlays.
|
||
#
|
||
<FOREACH.LTDAUTOLOAD.SEARCHSYMBOLS>
|
||
SEARCH_SYMBOL <LTDAUTOLOAD.SEARCHSYMBOL>;
|
||
<END.LTDAUTOLOAD.SEARCHSYMBOLS>
|
||
|
||
#
|
||
# BSS BLOCK
|
||
#
|
||
SDK_LTDAUTOLOAD.<LTDAUTOLOAD.NAME>.BSS_START =.;
|
||
<FOREACH.LTDAUTOLOAD.OBJECTS=.sbss>
|
||
<LTDAUTOLOAD.OBJECT=.sbss:t>
|
||
<END.LTDAUTOLOAD.OBJECTS>
|
||
<FOREACH.LTDAUTOLOAD.LIBRARIES=.sbss>
|
||
<LTDAUTOLOAD.LIBRARY=.sbss:t>
|
||
<END.LTDAUTOLOAD.LIBRARIES>
|
||
<FOREACH.LTDAUTOLOAD.OBJECTS=.bss>
|
||
<LTDAUTOLOAD.OBJECT=.bss:t>
|
||
<END.LTDAUTOLOAD.OBJECTS>
|
||
<FOREACH.LTDAUTOLOAD.LIBRARIES=.bss>
|
||
<LTDAUTOLOAD.LIBRARY=.bss:t>
|
||
<END.LTDAUTOLOAD.LIBRARIES>
|
||
<FOREACH.LTDAUTOLOAD.OBJECTS=.wram>
|
||
<LTDAUTOLOAD.OBJECT=.wram.bss:t>
|
||
<END.LTDAUTOLOAD.OBJECTS>
|
||
<FOREACH.LTDAUTOLOAD.LIBRARIES=.wram>
|
||
<LTDAUTOLOAD.LIBRARY=.wram.bss:t>
|
||
<END.LTDAUTOLOAD.LIBRARIES>
|
||
<FOREACH.LTDAUTOLOAD.OBJECTS=.ltdwram>
|
||
<LTDAUTOLOAD.OBJECT=.ltdwram.bss:t>
|
||
<END.LTDAUTOLOAD.OBJECTS>
|
||
<FOREACH.LTDAUTOLOAD.LIBRARIES=.ltdwram>
|
||
<LTDAUTOLOAD.LIBRARY=.ltdwram.bss:t>
|
||
<END.LTDAUTOLOAD.LIBRARIES>
|
||
<FOREACH.LTDAUTOLOAD.OBJECTS=.rsvwram>
|
||
<LTDAUTOLOAD.OBJECT=.rsvwram.bss:t>
|
||
<END.LTDAUTOLOAD.OBJECTS>
|
||
<FOREACH.LTDAUTOLOAD.LIBRARIES=.rsvwram>
|
||
<LTDAUTOLOAD.LIBRARY=.rsvwram.bss:t>
|
||
<END.LTDAUTOLOAD.LIBRARIES>
|
||
<FOREACH.LTDAUTOLOAD.OBJECTS=.ltdmain>
|
||
<LTDAUTOLOAD.OBJECT=.ltdmain.bss:t>
|
||
<END.LTDAUTOLOAD.OBJECTS>
|
||
<FOREACH.LTDAUTOLOAD.LIBRARIES=.ltdmain>
|
||
<LTDAUTOLOAD.LIBRARY=.ltdmain.bss:t>
|
||
<END.LTDAUTOLOAD.LIBRARIES>
|
||
. = ALIGN(4);
|
||
SDK_LTDAUTOLOAD.<LTDAUTOLOAD.NAME>.BSS_END =.;
|
||
SDK_LTDAUTOLOAD_BSS_END =.;
|
||
|
||
SDK_LTDAUTOLOAD.<LTDAUTOLOAD.NAME>.BSS_SIZE = SDK_LTDAUTOLOAD.<LTDAUTOLOAD.NAME>.BSS_END - SDK_LTDAUTOLOAD.<LTDAUTOLOAD.NAME>.BSS_START;
|
||
|
||
} >> <LTDAUTOLOAD.NAME>
|
||
<END.LTDAUTOLOADS>
|
||
|
||
SDK_MOUNT_INFO_TABLE = SDK_LTDAUTOLOAD_BSS_END;
|
||
SDK_LTDAUTOLOAD_BSS_END = SDK_MOUNT_INFO_TABLE + 0x400;
|
||
|
||
######################### LTDAUTOLOAD_INFO ##########################
|
||
.binary.LTDAUTOLOAD_INFO:
|
||
{
|
||
<FOREACH.LTDAUTOLOADS>
|
||
WRITEW ADDR(.<LTDAUTOLOAD.NAME>);
|
||
WRITEW SDK_LTDAUTOLOAD.<LTDAUTOLOAD.NAME>.SIZE;
|
||
WRITEW SDK_LTDAUTOLOAD.<LTDAUTOLOAD.NAME>.SINIT_START;
|
||
WRITEW SDK_LTDAUTOLOAD.<LTDAUTOLOAD.NAME>.BSS_SIZE;
|
||
<END.LTDAUTOLOADS>
|
||
|
||
} > binary.LTDAUTOLOAD_INFO
|
||
|
||
SDK_LTDAUTOLOAD_LIST = SDK_LTDAUTOLOAD_START + SDK_LTDAUTOLOAD_SIZE;
|
||
SDK_LTDAUTOLOAD_LIST_END = SDK_LTDAUTOLOAD_LIST + SIZEOF(.binary.LTDAUTOLOAD_INFO);
|
||
SDK_LTDAUTOLOAD_SIZE = SDK_LTDAUTOLOAD_SIZE + SIZEOF(.binary.LTDAUTOLOAD_INFO);
|
||
|
||
########################## LTDOVERLAYDEFS ###########################
|
||
.<PROPERTY.LTDOVERLAYDEFS>L:
|
||
{
|
||
### TWL limited extended static module information
|
||
WRITEW SDK_LTDAUTOLOAD_TOP_START; # load address
|
||
WRITEW SDK_MOUNT_INFO_TABLE; # address of the FS mount information table
|
||
WRITEW SDK_LTDAUTOLOAD_SIZE + SDK_LTDAUTOLOAD_TOP_SIZE; # size of module
|
||
WRITEW 0; # padding
|
||
|
||
} > <PROPERTY.LTDOVERLAYDEFS>L
|
||
|
||
############################ OTHERS #################################
|
||
SDK_SUBPRIV_ARENA_LO = 0x02ffc000; # <20><><EFBFBD>C<EFBFBD><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD><41><EFBFBD>[<5B>i<EFBFBD>̓T<CD83>C<EFBFBD>Y 0
|
||
SDK_SEA_KEY_STORE = SDK_LTDAUTOLOAD_BSS_END;
|
||
SDK_WRAM_ARENA_LO = SDK_LTDAUTOLOAD_BSS_END + 0x40;
|
||
|
||
SDK_IRQ_STACKSIZE = <STATIC.IRQSTACKSIZE>; # allocated in WRAM
|
||
SDK_SYS_STACKSIZE = <STATIC.STACKSIZE>; # allocated in WRAM
|
||
SDK_SYS_STACKSIZE_SIGN = (SDK_SYS_STACKSIZE < 0x80000000) * 2 - 1;
|
||
|
||
.check.WORKRAM:
|
||
{
|
||
. = SDK_WRAM_ARENA_LO + 0x80 + SDK_IRQ_STACKSIZE + SDK_SYS_STACKSIZE * SDK_SYS_STACKSIZE_SIGN;
|
||
|
||
} > check.WORKRAM
|
||
}
|