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@236 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
53bc5f01d3
commit
20d3856cb6
@ -45,12 +45,14 @@ Autoload WRAM
|
||||
libmath_sp.TWL$(CODEGEN).a \
|
||||
libscfg_sp.TWL$(CODEGEN).a \
|
||||
libtp_sp.TWL$(CODEGEN).a \
|
||||
libmic_sp.TWL$(CODEGEN).a \
|
||||
libfs_sp.TWL$(CODEGEN).a \
|
||||
libcard_sp.TWL$(CODEGEN).a \
|
||||
libi2c_sp.TWL$(CODEGEN).a \
|
||||
libcamera_sp.TWL$(CODEGEN).a \
|
||||
libcdc_sp.TWL$(CODEGEN).a \
|
||||
libtpex_sp.TWL$(CODEGEN).a \
|
||||
libmicex_sp.TWL$(CODEGEN).a \
|
||||
libnvram_sp.TWL$(CODEGEN).a \
|
||||
librtc_sp.TWL$(CODEGEN).a \
|
||||
libwvr_sp.TWL$(CODEGEN).a \
|
||||
|
||||
@ -30,15 +30,15 @@
|
||||
#include <twl/rtc.h>
|
||||
#include <nitro/hw/common/lcd.h>
|
||||
#include <nitro/gx.h>
|
||||
#include <twl/os/ARM7/codecmode.h>
|
||||
#include <twl/os/common/codecmode.h>
|
||||
#include <twl/cdc.h>
|
||||
#include <twl/aes.h>
|
||||
#include <twl/mcu.h>
|
||||
#include <sysmenu/boot/common/boot.h>
|
||||
#include <sysmenu/sysmenu_lib/common/sysmenu_work.h>
|
||||
#include <sysmenu/boot/common/boot.h>
|
||||
#include <sysmenu/sysmenu_lib/common/sysmenu_work.h>
|
||||
|
||||
#include <sysmenu/card/common/blowfish.h>
|
||||
#include <sysmenu/card/common/Card.h>
|
||||
#include <sysmenu/card/common/blowfish.h>
|
||||
#include <sysmenu/card/common/Card.h>
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
定数定義
|
||||
@ -83,26 +83,26 @@ TwlSpMain(void)
|
||||
{
|
||||
OSHeapHandle heapHandle;
|
||||
|
||||
// SYSMワークのクリア
|
||||
MI_CpuClear32( SYSMi_GetWork(), sizeof(SYSM_work) );
|
||||
// SYSMワークのクリア
|
||||
MI_CpuClear32( SYSMi_GetWork(), sizeof(SYSM_work) );
|
||||
|
||||
// OS 初期化
|
||||
OS_Init();
|
||||
PrintDebugInfo();
|
||||
|
||||
// Cold/Hotスタート判定
|
||||
ReadResetParameter();
|
||||
SYSMi_GetWork()->isARM9Start = TRUE; // ※HW_RED_RESERVEDはNANDファームでクリアしておいて欲しい
|
||||
// Cold/Hotスタート判定
|
||||
ReadResetParameter();
|
||||
SYSMi_GetWork()->isARM9Start = TRUE; // ※HW_RED_RESERVEDはNANDファームでクリアしておいて欲しい
|
||||
|
||||
// ヒープ領域設定
|
||||
{
|
||||
void *wram = OS_GetWramSubPrivArenaHi();
|
||||
void *mmem = OS_GetSubPrivArenaHi();
|
||||
OS_SetSubPrivArenaHi( (void*)SYSM_OWN_ARM7_MMEM_ADDR_END ); // メモリ配置をいじっているので、アリーナHiも変更しないとダメ!!
|
||||
OS_SetWramSubPrivArenaHi( (void*)SYSM_OWN_ARM7_WRAM_ADDR_END );
|
||||
OS_TPrintf( "MMEM SUBPRV ARENA HI : %08x -> %08x\n", mmem, OS_GetSubPrivArenaHi() );
|
||||
OS_TPrintf( "WRAM SUBPRV ARENA HI : %08x -> %08x\n", wram, OS_GetWramSubPrivArenaHi() );
|
||||
}
|
||||
{
|
||||
void *wram = OS_GetWramSubPrivArenaHi();
|
||||
void *mmem = OS_GetSubPrivArenaHi();
|
||||
OS_SetSubPrivArenaHi( (void*)SYSM_OWN_ARM7_MMEM_ADDR_END ); // メモリ配置をいじっているので、アリーナHiも変更しないとダメ!!
|
||||
OS_SetWramSubPrivArenaHi( (void*)SYSM_OWN_ARM7_WRAM_ADDR_END );
|
||||
OS_TPrintf( "MMEM SUBPRV ARENA HI : %08x -> %08x\n", mmem, OS_GetSubPrivArenaHi() );
|
||||
OS_TPrintf( "WRAM SUBPRV ARENA HI : %08x -> %08x\n", wram, OS_GetWramSubPrivArenaHi() );
|
||||
}
|
||||
heapHandle = InitializeAllocateSystem();
|
||||
|
||||
// ボタン入力サーチ初期化
|
||||
@ -125,7 +125,7 @@ TwlSpMain(void)
|
||||
AES_Init(); // AES 初期化
|
||||
}
|
||||
|
||||
if (OS_IsCodecTwlMode() == TRUE)
|
||||
if (OSi_IsCodecTwlMode() == TRUE)
|
||||
{
|
||||
// CODEC 初期化
|
||||
InitializeCdc();
|
||||
@ -148,7 +148,7 @@ TwlSpMain(void)
|
||||
BOOT_Init();
|
||||
|
||||
// 活栓挿抜機能初期化
|
||||
Cardm_Init();
|
||||
Cardm_Init();
|
||||
|
||||
// カードがささっていたらブート開始
|
||||
Card_Boot();
|
||||
@ -169,32 +169,32 @@ TwlSpMain(void)
|
||||
// Hot/Coldスタート判定およびリセットパラメータのリード
|
||||
static void ReadResetParameter( void )
|
||||
{
|
||||
// Hot/Coldスタート判定
|
||||
// Hot/Coldスタート判定
|
||||
#ifdef SDK_FINALROM
|
||||
if( SYSMi_GetMCUFreeRegisterValue() == 0 ) // マイコンフリーレジスタ値が"0"ならColdスタート
|
||||
if( SYSMi_GetMCUFreeRegisterValue() == 0 ) // マイコンフリーレジスタ値が"0"ならColdスタート
|
||||
#else
|
||||
if( 1 ) // ISデバッガでのデバッグ動作時に常にホットスタート判定されるのを防ぐ
|
||||
if( 1 ) // ISデバッガでのデバッグ動作時に常にホットスタート判定されるのを防ぐ
|
||||
#endif
|
||||
{
|
||||
u8 data = 1;
|
||||
MCU_SetFreeRegisters( 0, &data, 1 ); // マイコンフリーレジスタにホットスタートフラグをセット
|
||||
SYSMi_GetWork()->isHotStart = FALSE;
|
||||
}else {
|
||||
SYSMi_GetWork()->isHotStart = TRUE;
|
||||
// リセットパラメータ有効判定
|
||||
if( ( STD_StrNCmp( (const char *)&SYSMi_GetResetParamAddr()->header.magicCode,
|
||||
SYSM_RESET_PARAM_MAGIC_CODE,
|
||||
SYSM_RESET_PARAM_MAGIC_CODE_LEN ) == 0 ) &&
|
||||
( SYSMi_GetResetParamAddr()->header.bodyLength > 0 ) &&
|
||||
( SVC_GetCRC16( 65535, &SYSMi_GetResetParamAddr()->body, SYSMi_GetResetParamAddr()->header.bodyLength ) )
|
||||
) {
|
||||
// リセットパラメータが有効なら、ワークに退避
|
||||
MI_CpuCopy32 ( SYSMi_GetResetParamAddr(), &SYSMi_GetWork()->resetParam, sizeof(ResetParam) );
|
||||
SYSMi_GetWork()->isValidResetParam = TRUE;
|
||||
}
|
||||
}
|
||||
// メインメモリのリセットパラメータをクリアしておく
|
||||
MI_CpuClear32( SYSMi_GetResetParamAddr(), 0x100 );
|
||||
{
|
||||
u8 data = 1;
|
||||
MCU_SetFreeRegisters( 0, &data, 1 ); // マイコンフリーレジスタにホットスタートフラグをセット
|
||||
SYSMi_GetWork()->isHotStart = FALSE;
|
||||
}else {
|
||||
SYSMi_GetWork()->isHotStart = TRUE;
|
||||
// リセットパラメータ有効判定
|
||||
if( ( STD_StrNCmp( (const char *)&SYSMi_GetResetParamAddr()->header.magicCode,
|
||||
SYSM_RESET_PARAM_MAGIC_CODE,
|
||||
SYSM_RESET_PARAM_MAGIC_CODE_LEN ) == 0 ) &&
|
||||
( SYSMi_GetResetParamAddr()->header.bodyLength > 0 ) &&
|
||||
( SVC_GetCRC16( 65535, &SYSMi_GetResetParamAddr()->body, SYSMi_GetResetParamAddr()->header.bodyLength ) )
|
||||
) {
|
||||
// リセットパラメータが有効なら、ワークに退避
|
||||
MI_CpuCopy32 ( SYSMi_GetResetParamAddr(), &SYSMi_GetWork()->resetParam, sizeof(ResetParam) );
|
||||
SYSMi_GetWork()->isValidResetParam = TRUE;
|
||||
}
|
||||
}
|
||||
// メインメモリのリセットパラメータをクリアしておく
|
||||
MI_CpuClear32( SYSMi_GetResetParamAddr(), 0x100 );
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user