最新のSDKに対応

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@33 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
yutaka 2007-09-28 06:18:49 +00:00
parent 3265f72164
commit 639fa13e41
9 changed files with 72 additions and 22 deletions

View File

@ -63,8 +63,8 @@ asm void MIi_InitMainMemCR( void )
{
mov r12, lr
mov r0, #0x8000 // low period 0.97ms
bl OS_SpinWait
mov r0, #0x10000 // low period 0.97ms
bl OS_SpinWaitCpuCycles
ldr r3, =REG_EXMEMCNT_ADDR
mov r1, #REG_MI_EXMEMCNT_CE2_MASK
@ -74,8 +74,8 @@ asm void MIi_InitMainMemCR( void )
strh r1, [r3]
mov r0, #0x8000 // high period 0.97ms
bl OS_SpinWait
mov r0, #0x10000 // high period 0.97ms
bl OS_SpinWaitCpuCycles
ldr r3, =HW_WRAM_AREA - 2
#ifdef SDK_BB

View File

@ -54,7 +54,7 @@ void OSi_Boot( void* entry, MIHeader_WramRegs* w )
#ifdef SDK_ARM9
OSBootCore = (void*)HW_ITCM;
#else // SDK_ARM7
OSBootCore = (void*)HW_EXT_WRAM;
OSBootCore = (void*)(HW_PRV_WRAM_SYS_STACK_DEFAULT - 0x200);
#endif // SDK_ARM7
MI_CpuCopyFast( OSi_BootCore, OSBootCore, 0x200 );

View File

@ -81,13 +81,17 @@ static void PreInit(void)
void TwlSpMain( void )
{
#ifdef FIRM_ENABLE_JTAG
reg_SCFG_JTAG = REG_SCFG_JTAG_CPUJE_MASK | REG_SCFG_JTAG_ARM7SEL_MASK;
#endif // FIRM_ENABLE_JTAG
// OS_InitDebugLED and OS_SetDebugLED are able to call after OS_Init
#ifndef SDK_FINALROM
I2Ci_WriteRegister(I2C_SLAVE_DEBUG_LED, 0x03, 0x00);
I2Ci_WriteRegister(I2C_SLAVE_DEBUG_LED, 0x01, ++step);
#endif
PreInit();
#ifndef SDK_FINALROM
I2Ci_WriteRegister(I2C_SLAVE_DEBUG_LED, 0x01, ++step);
// 0: before PXI
profile[pf_cnt++] = (u32)OS_TicksToMicroSeconds(OS_GetTick());
#endif
@ -99,7 +103,6 @@ void TwlSpMain( void )
profile[pf_cnt++] = (u32)OS_TicksToMicroSeconds(OS_GetTick());
#endif
OS_InitDebugLED();
OS_SetDebugLED(++step);
PM_InitFIRM();
@ -199,7 +202,7 @@ void TwlSpMain( void )
{
#ifndef SDK_FINALROM
// 127: before BootMenu
pf_cnt = 127;
pf_cnt = PRFILE_MAX-1;
profile[pf_cnt++] = (u32)OS_TicksToMicroSeconds(OS_GetTick());
#endif
OS_SetDebugLED(++step);

View File

@ -34,6 +34,7 @@ static const u8 rsa_key[128] =
0xa1, 0x96, 0xc6, 0xf7, 0x61, 0x68, 0x66, 0xe6, 0x65, 0x12, 0xb7, 0xf1, 0x49
};
#else
/* 鍵はどこへ? */
#define RSA_KEY_ADDR OSi_GetFromBromAddr()->rsa_pubkey[7]
#endif
@ -74,7 +75,9 @@ static void PreInit(void)
// メインメモリ関連
// SHARED領域クリア (IS-TWL-DEBUGGERの更新待ち)
//MIi_CpuClearFast( 0, (void*)HW_MAIN_MEM_SHARED, HW_MAIN_MEM_SHARED_END-HW_MAIN_MEM_SHARED );
#ifdef SDK_FINALROM
MIi_CpuClearFast( 0, (void*)HW_MAIN_MEM_SHARED, HW_MAIN_MEM_SHARED_END-HW_MAIN_MEM_SHARED );
#endif
}
void TwlMain( void )
@ -100,7 +103,7 @@ void TwlMain( void )
{
#ifndef SDK_FINALROM
// 127: before BootMenu
pf_cnt = 127;
pf_cnt = PRFILE_MAX-1;
profile[pf_cnt++] = (u32)OS_TicksToMicroSeconds(OS_GetTick());
#endif

View File

@ -113,6 +113,8 @@ extern "C" {
//---- PMIC_BT_CRCT
#define PMIC_BT_CRCT_TEMP_ON (1<< 0)
#define PMIC_BT_CRCT_AMPR_ON (1<< 1)
#define PMIC_BT_CRCT_BT2_ON (1<< 2)
#define PMIC_BT_CRCT_BT3_ON (1<< 3)
#define PMIC_BT_CRCT_AK_SHIFT 4
#define PMIC_BT_CRCT_AK_MASK (0x3<< PMIC_BT_CRCT_AK_SHIFT)
#define PMIC_BT_CRCT_TK_SHIFT 6

View File

@ -139,6 +139,18 @@ SECTIONS
<FOREACH.STATIC.LIBRARIES=.data>
<STATIC.LIBRARY=.data:t>
<END.STATIC.LIBRARIES>
<FOREACH.STATIC.OBJECTS=.ltdwram>
<STATIC.OBJECT=.ltdwram:t>
<END.STATIC.OBJECTS>
<FOREACH.STATIC.LIBRARIES=.ltdwram>
<STATIC.LIBRARY=.ltdwram:t>
<END.STATIC.LIBRARIES>
<FOREACH.STATIC.OBJECTS=.ltdmain>
<STATIC.OBJECT=.ltdmain:t>
<END.STATIC.OBJECTS>
<FOREACH.STATIC.LIBRARIES=.ltdmain>
<STATIC.LIBRARY=.ltdmain:t>
<END.STATIC.LIBRARIES>
#:::::::::: data
SDK_STATIC_DATA_END =.;
. = ALIGN(4);
@ -180,6 +192,18 @@ SECTIONS
<FOREACH.STATIC.LIBRARIES=.bss>
<STATIC.LIBRARY=.bss:t>
<END.STATIC.LIBRARIES>
<FOREACH.STATIC.OBJECTS=.ltdwram>
<STATIC.OBJECT=.ltdwram.bss:t>
<END.STATIC.OBJECTS>
<FOREACH.STATIC.LIBRARIES=.ltdwram>
<STATIC.LIBRARY=.ltdwram.bss:t>
<END.STATIC.LIBRARIES>
<FOREACH.STATIC.OBJECTS=.ltdmain>
<STATIC.OBJECT=.ltdmain.bss:t>
<END.STATIC.OBJECTS>
<FOREACH.STATIC.LIBRARIES=.ltdmain>
<STATIC.LIBRARY=.ltdmain.bss:t>
<END.STATIC.LIBRARIES>
#:::::::::: bss
. = ALIGN(4);
SDK_STATIC_BSS_END = .;

View File

@ -23,6 +23,9 @@ Static $(TARGET_NAME)
Address 0x037f8000
Object $(OBJS_STATIC)
Library $(LLIBS) $(GLIBS) $(CW_LIBS)
Object * (.etable)
Object * (.wram)
StackSize 1024 512
Object * (.ltdwram)
Object * (.ltdmain)
StackSize 1024 1024
}

View File

@ -470,6 +470,12 @@ SECTIONS
. = ALIGN(32);
SDK_OVERLAY.<OVERLAY.NAME>.DATA_START =.;
#:::::::::: data
<FOREACH.OVERLAY.OBJECTS=.ltdmain>
<OVERLAY.OBJECT=.ltdmain:t>
<END.OVERLAY.OBJECTS>
<FOREACH.OVERLAY.LIBRARIES=.ltdmain>
<OVERLAY.LIBRARY=.ltdmain:t>
<END.OVERLAY.LIBRARIES>
<FOREACH.OVERLAY.OBJECTS=.sdata>
<OVERLAY.OBJECT=.sdata:t>
<END.OVERLAY.OBJECTS>
@ -510,6 +516,12 @@ SECTIONS
#
SDK_OVERLAY.<OVERLAY.NAME>.BSS_START = .;
#:::::::::: bss
<FOREACH.OVERLAY.OBJECTS=.ltdmain>
<OVERLAY.OBJECT=.ltdmain.bss:t>
<END.OVERLAY.OBJECTS>
<FOREACH.OVERLAY.LIBRARIES=.ltdmain>
<OVERLAY.LIBRARY=.ltdmain.bss:t>
<END.OVERLAY.LIBRARIES>
<FOREACH.OVERLAY.OBJECTS=.bss>
<OVERLAY.OBJECT=.bss:t>
<END.OVERLAY.OBJECTS>

View File

@ -23,28 +23,31 @@ Static $(TARGET_NAME)
Address 0x03800000
Object $(OBJS_STATIC)
Library $(LLIBS) $(GLIBS) $(CW_LIBS)
Object * (.itcm)
Object $(OBJS_AUTOLOAD) (.text)
Object $(OBJS_AUTOLOAD) (.rodata)
Object * (.ltdmain)
Object $(OBJS_LTDAUTOLOAD)
Library $(GLTDLIBS)
Object * (.dtcm)
Object $(OBJS_AUTOLOAD) (.data)
Object $(OBJS_AUTOLOAD) (.sdata)
Object $(OBJS_AUTOLOAD) (.bss)
Object $(OBJS_AUTOLOAD) (.sbss)
}
Autoload ITCM
{
Address 0x01ff8000
Object * (.itcm)
Object $(OBJS_AUTOLOAD) (.text)
}
Autoload DTCM
{
Address 0x027e0000
Object * (.dtcm)
Object $(OBJS_AUTOLOAD) (.data)
Object $(OBJS_AUTOLOAD) (.bss)
Address $(ADDRESS_DTCM)
}
Ltdautoload LTDMAIN
{
# NITRO/TWL 共有のオーバーレイが在る場合は、さらにその後ろに配置する必要があります。
After $(TARGET_NAME)
Object * (.ltdmain)
Object $(OBJS_LTDAUTOLOAD)
Library $(GLTDLIBS)
}