From 9e50adcc520e5e80b7cd9a05e25f871f6bc9c3e1 Mon Sep 17 00:00:00 2001 From: kamikawa Date: Wed, 18 Jun 2008 06:44:22 +0000 Subject: [PATCH] =?UTF-8?q?=E3=82=AB=E3=83=BC=E3=83=89=E9=9B=BB=E6=BA=90?= =?UTF-8?q?=E3=82=92ON=E3=81=99=E3=82=8B=20HOTSWi=5FTurnCardPowerOn?= =?UTF-8?q?=E3=80=80=E3=82=92=E5=AE=9F=E8=A1=8C=E3=81=99=E3=82=8B=E5=89=8D?= =?UTF-8?q?=E3=81=AB=E3=83=80=E3=83=9F=E3=83=BC=E3=82=B9=E3=83=AC=E3=83=83?= =?UTF-8?q?=E3=83=89=E3=82=92=E7=94=9F=E6=88=90=E3=81=99=E3=82=8B=E3=82=88?= =?UTF-8?q?=E3=81=86=E3=81=AB=E4=BF=AE=E6=AD=A3=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@1645 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- .../NandInitializerRed/ARM7.TWL/src/main.c | 53 +++++++++++++------ 1 file changed, 37 insertions(+), 16 deletions(-) diff --git a/build/systemMenu_tools/NandInitializerRed/ARM7.TWL/src/main.c b/build/systemMenu_tools/NandInitializerRed/ARM7.TWL/src/main.c index 44e0c48e..cd65e253 100644 --- a/build/systemMenu_tools/NandInitializerRed/ARM7.TWL/src/main.c +++ b/build/systemMenu_tools/NandInitializerRed/ARM7.TWL/src/main.c @@ -73,6 +73,7 @@ static void PrintDebugInfo(void); static OSHeapHandle InitializeAllocateSystem(void); static void InitializeFatfs(void); +static void InitializeCardPower(void); static void InitializeNwm(OSHeapHandle hh); static void InitializeCdc(void); static void DummyThread(void* arg); @@ -118,6 +119,10 @@ TwlSpMain(void) (void)OS_EnableIrq(); (void)OS_EnableInterrupts(); +#ifndef NAND_INITIALIZER_LIMITED_MODE + KamiPxiInit(); +#endif + /* 各ライブラリ初期化 */ AES_Init(); // AES SEA_Init(); // SEA @@ -138,22 +143,7 @@ TwlSpMain(void) RTC_Init(THREAD_PRIO_RTC); // RTC // WVR_Begin(heapHandle); // NITRO 無線 SPI_Init(THREAD_PRIO_SPI); - - // チャッタリングカウンタの値を設定 - reg_MI_MC1 = (u32)((reg_MI_MC1 & ~REG_MI_MC1_CC_MASK) | - (CHATTERING_COUNTER << REG_MI_MC1_CC_SHIFT)); - - // チャタリングカウンタ分待つことによりCDETが0になる - OS_SpinWait( OS_MSEC_TO_CPUCYC(200) ); - - // カードスロット1電源ON - HOTSWi_TurnCardPowerOn(1); - -/////////////// -#ifndef NAND_INITIALIZER_LIMITED_MODE - KamiPxiInit(); -#endif -/////////////// + InitializeCardPower(); // カード電源ON(検査プログラム用) while (TRUE) { @@ -260,6 +250,37 @@ InitializeFatfs(void) OS_KillThread(&thread, NULL); } +/*---------------------------------------------------------------------------* + Name: InitializeCardPower + Description: カード電源をONする。 + Arguments: None. + Returns: None. + *---------------------------------------------------------------------------*/ +static void +InitializeCardPower(void) +{ + OSThread thread; + u32 stack[18]; + + /* ダミースレッド作成 */ + OS_CreateThread(&thread, DummyThread, NULL, + (void*)((u32)stack + (sizeof(u32) * 18)), sizeof(u32) * 18, OS_THREAD_PRIORITY_MAX); + OS_WakeupThreadDirect(&thread); + + // チャッタリングカウンタの値を設定 + reg_MI_MC1 = (u32)((reg_MI_MC1 & ~REG_MI_MC1_CC_MASK) | + (CHATTERING_COUNTER << REG_MI_MC1_CC_SHIFT)); + + // チャタリングカウンタ分待つことによりCDETが0になる + OS_SpinWait( OS_MSEC_TO_CPUCYC(200) ); + + // カードスロット1電源ON + HOTSWi_TurnCardPowerOn(1); + + /* ダミースレッド破棄 */ + OS_KillThread(&thread, NULL); +} + /*---------------------------------------------------------------------------* Name: InitializeNwm Description: NWMライブラリを初期化する。