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 r12, lr
|
||||||
|
|
||||||
mov r0, #0x8000 // low period 0.97ms
|
mov r0, #0x10000 // low period 0.97ms
|
||||||
bl OS_SpinWait
|
bl OS_SpinWaitCpuCycles
|
||||||
|
|
||||||
ldr r3, =REG_EXMEMCNT_ADDR
|
ldr r3, =REG_EXMEMCNT_ADDR
|
||||||
mov r1, #REG_MI_EXMEMCNT_CE2_MASK
|
mov r1, #REG_MI_EXMEMCNT_CE2_MASK
|
||||||
@ -74,8 +74,8 @@ asm void MIi_InitMainMemCR( void )
|
|||||||
|
|
||||||
strh r1, [r3]
|
strh r1, [r3]
|
||||||
|
|
||||||
mov r0, #0x8000 // high period 0.97ms
|
mov r0, #0x10000 // high period 0.97ms
|
||||||
bl OS_SpinWait
|
bl OS_SpinWaitCpuCycles
|
||||||
|
|
||||||
ldr r3, =HW_WRAM_AREA - 2
|
ldr r3, =HW_WRAM_AREA - 2
|
||||||
#ifdef SDK_BB
|
#ifdef SDK_BB
|
||||||
|
|||||||
@ -54,7 +54,7 @@ void OSi_Boot( void* entry, MIHeader_WramRegs* w )
|
|||||||
#ifdef SDK_ARM9
|
#ifdef SDK_ARM9
|
||||||
OSBootCore = (void*)HW_ITCM;
|
OSBootCore = (void*)HW_ITCM;
|
||||||
#else // SDK_ARM7
|
#else // SDK_ARM7
|
||||||
OSBootCore = (void*)HW_EXT_WRAM;
|
OSBootCore = (void*)(HW_PRV_WRAM_SYS_STACK_DEFAULT - 0x200);
|
||||||
#endif // SDK_ARM7
|
#endif // SDK_ARM7
|
||||||
|
|
||||||
MI_CpuCopyFast( OSi_BootCore, OSBootCore, 0x200 );
|
MI_CpuCopyFast( OSi_BootCore, OSBootCore, 0x200 );
|
||||||
|
|||||||
@ -81,13 +81,17 @@ static void PreInit(void)
|
|||||||
|
|
||||||
void TwlSpMain( void )
|
void TwlSpMain( void )
|
||||||
{
|
{
|
||||||
#ifdef FIRM_ENABLE_JTAG
|
// OS_InitDebugLED and OS_SetDebugLED are able to call after OS_Init
|
||||||
reg_SCFG_JTAG = REG_SCFG_JTAG_CPUJE_MASK | REG_SCFG_JTAG_ARM7SEL_MASK;
|
#ifndef SDK_FINALROM
|
||||||
#endif // FIRM_ENABLE_JTAG
|
I2Ci_WriteRegister(I2C_SLAVE_DEBUG_LED, 0x03, 0x00);
|
||||||
|
I2Ci_WriteRegister(I2C_SLAVE_DEBUG_LED, 0x01, ++step);
|
||||||
|
#endif
|
||||||
|
|
||||||
PreInit();
|
PreInit();
|
||||||
|
|
||||||
#ifndef SDK_FINALROM
|
#ifndef SDK_FINALROM
|
||||||
|
I2Ci_WriteRegister(I2C_SLAVE_DEBUG_LED, 0x01, ++step);
|
||||||
|
|
||||||
// 0: before PXI
|
// 0: before PXI
|
||||||
profile[pf_cnt++] = (u32)OS_TicksToMicroSeconds(OS_GetTick());
|
profile[pf_cnt++] = (u32)OS_TicksToMicroSeconds(OS_GetTick());
|
||||||
#endif
|
#endif
|
||||||
@ -99,7 +103,6 @@ void TwlSpMain( void )
|
|||||||
profile[pf_cnt++] = (u32)OS_TicksToMicroSeconds(OS_GetTick());
|
profile[pf_cnt++] = (u32)OS_TicksToMicroSeconds(OS_GetTick());
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
OS_InitDebugLED();
|
|
||||||
OS_SetDebugLED(++step);
|
OS_SetDebugLED(++step);
|
||||||
|
|
||||||
PM_InitFIRM();
|
PM_InitFIRM();
|
||||||
@ -199,7 +202,7 @@ void TwlSpMain( void )
|
|||||||
{
|
{
|
||||||
#ifndef SDK_FINALROM
|
#ifndef SDK_FINALROM
|
||||||
// 127: before BootMenu
|
// 127: before BootMenu
|
||||||
pf_cnt = 127;
|
pf_cnt = PRFILE_MAX-1;
|
||||||
profile[pf_cnt++] = (u32)OS_TicksToMicroSeconds(OS_GetTick());
|
profile[pf_cnt++] = (u32)OS_TicksToMicroSeconds(OS_GetTick());
|
||||||
#endif
|
#endif
|
||||||
OS_SetDebugLED(++step);
|
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
|
0xa1, 0x96, 0xc6, 0xf7, 0x61, 0x68, 0x66, 0xe6, 0x65, 0x12, 0xb7, 0xf1, 0x49
|
||||||
};
|
};
|
||||||
#else
|
#else
|
||||||
|
/* 鍵はどこへ? */
|
||||||
#define RSA_KEY_ADDR OSi_GetFromBromAddr()->rsa_pubkey[7]
|
#define RSA_KEY_ADDR OSi_GetFromBromAddr()->rsa_pubkey[7]
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -74,7 +75,9 @@ static void PreInit(void)
|
|||||||
// メインメモリ関連
|
// メインメモリ関連
|
||||||
|
|
||||||
// SHARED領域クリア (IS-TWL-DEBUGGERの更新待ち)
|
// 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 )
|
void TwlMain( void )
|
||||||
@ -100,7 +103,7 @@ void TwlMain( void )
|
|||||||
{
|
{
|
||||||
#ifndef SDK_FINALROM
|
#ifndef SDK_FINALROM
|
||||||
// 127: before BootMenu
|
// 127: before BootMenu
|
||||||
pf_cnt = 127;
|
pf_cnt = PRFILE_MAX-1;
|
||||||
profile[pf_cnt++] = (u32)OS_TicksToMicroSeconds(OS_GetTick());
|
profile[pf_cnt++] = (u32)OS_TicksToMicroSeconds(OS_GetTick());
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@ -113,6 +113,8 @@ extern "C" {
|
|||||||
//---- PMIC_BT_CRCT
|
//---- PMIC_BT_CRCT
|
||||||
#define PMIC_BT_CRCT_TEMP_ON (1<< 0)
|
#define PMIC_BT_CRCT_TEMP_ON (1<< 0)
|
||||||
#define PMIC_BT_CRCT_AMPR_ON (1<< 1)
|
#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_SHIFT 4
|
||||||
#define PMIC_BT_CRCT_AK_MASK (0x3<< PMIC_BT_CRCT_AK_SHIFT)
|
#define PMIC_BT_CRCT_AK_MASK (0x3<< PMIC_BT_CRCT_AK_SHIFT)
|
||||||
#define PMIC_BT_CRCT_TK_SHIFT 6
|
#define PMIC_BT_CRCT_TK_SHIFT 6
|
||||||
|
|||||||
@ -139,6 +139,18 @@ SECTIONS
|
|||||||
<FOREACH.STATIC.LIBRARIES=.data>
|
<FOREACH.STATIC.LIBRARIES=.data>
|
||||||
<STATIC.LIBRARY=.data:t>
|
<STATIC.LIBRARY=.data:t>
|
||||||
<END.STATIC.LIBRARIES>
|
<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
|
#:::::::::: data
|
||||||
SDK_STATIC_DATA_END =.;
|
SDK_STATIC_DATA_END =.;
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
@ -180,6 +192,18 @@ SECTIONS
|
|||||||
<FOREACH.STATIC.LIBRARIES=.bss>
|
<FOREACH.STATIC.LIBRARIES=.bss>
|
||||||
<STATIC.LIBRARY=.bss:t>
|
<STATIC.LIBRARY=.bss:t>
|
||||||
<END.STATIC.LIBRARIES>
|
<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
|
#:::::::::: bss
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
SDK_STATIC_BSS_END = .;
|
SDK_STATIC_BSS_END = .;
|
||||||
|
|||||||
@ -23,6 +23,9 @@ Static $(TARGET_NAME)
|
|||||||
Address 0x037f8000
|
Address 0x037f8000
|
||||||
Object $(OBJS_STATIC)
|
Object $(OBJS_STATIC)
|
||||||
Library $(LLIBS) $(GLIBS) $(CW_LIBS)
|
Library $(LLIBS) $(GLIBS) $(CW_LIBS)
|
||||||
|
Object * (.etable)
|
||||||
Object * (.wram)
|
Object * (.wram)
|
||||||
StackSize 1024 512
|
Object * (.ltdwram)
|
||||||
|
Object * (.ltdmain)
|
||||||
|
StackSize 1024 1024
|
||||||
}
|
}
|
||||||
|
|||||||
@ -470,6 +470,12 @@ SECTIONS
|
|||||||
. = ALIGN(32);
|
. = ALIGN(32);
|
||||||
SDK_OVERLAY.<OVERLAY.NAME>.DATA_START =.;
|
SDK_OVERLAY.<OVERLAY.NAME>.DATA_START =.;
|
||||||
#:::::::::: data
|
#:::::::::: 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>
|
<FOREACH.OVERLAY.OBJECTS=.sdata>
|
||||||
<OVERLAY.OBJECT=.sdata:t>
|
<OVERLAY.OBJECT=.sdata:t>
|
||||||
<END.OVERLAY.OBJECTS>
|
<END.OVERLAY.OBJECTS>
|
||||||
@ -510,6 +516,12 @@ SECTIONS
|
|||||||
#
|
#
|
||||||
SDK_OVERLAY.<OVERLAY.NAME>.BSS_START = .;
|
SDK_OVERLAY.<OVERLAY.NAME>.BSS_START = .;
|
||||||
#:::::::::: bss
|
#:::::::::: 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>
|
<FOREACH.OVERLAY.OBJECTS=.bss>
|
||||||
<OVERLAY.OBJECT=.bss:t>
|
<OVERLAY.OBJECT=.bss:t>
|
||||||
<END.OVERLAY.OBJECTS>
|
<END.OVERLAY.OBJECTS>
|
||||||
|
|||||||
@ -23,28 +23,31 @@ Static $(TARGET_NAME)
|
|||||||
Address 0x03800000
|
Address 0x03800000
|
||||||
Object $(OBJS_STATIC)
|
Object $(OBJS_STATIC)
|
||||||
Library $(LLIBS) $(GLIBS) $(CW_LIBS)
|
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
|
Autoload ITCM
|
||||||
{
|
{
|
||||||
Address 0x01ff8000
|
Address 0x01ff8000
|
||||||
Object * (.itcm)
|
|
||||||
Object $(OBJS_AUTOLOAD) (.text)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Autoload DTCM
|
Autoload DTCM
|
||||||
{
|
{
|
||||||
Address 0x027e0000
|
Address $(ADDRESS_DTCM)
|
||||||
Object * (.dtcm)
|
|
||||||
Object $(OBJS_AUTOLOAD) (.data)
|
|
||||||
Object $(OBJS_AUTOLOAD) (.bss)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Ltdautoload LTDMAIN
|
Ltdautoload LTDMAIN
|
||||||
{
|
{
|
||||||
# NITRO/TWL 共有のオーバーレイが在る場合は、さらにその後ろに配置する必要があります。
|
# NITRO/TWL 共有のオーバーレイが在る場合は、さらにその後ろに配置する必要があります。
|
||||||
After $(TARGET_NAME)
|
After $(TARGET_NAME)
|
||||||
Object * (.ltdmain)
|
|
||||||
Object $(OBJS_LTDAUTOLOAD)
|
|
||||||
Library $(GLTDLIBS)
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user