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