mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
最新のSDKに対応
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@33 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
3265f72164
commit
639fa13e41
@ -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
|
||||
|
||||
@ -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 );
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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 = .;
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user