From 98942da9b96342c5fdc7b79acbf8ec674636aae3 Mon Sep 17 00:00:00 2001 From: kamikawa Date: Fri, 27 Mar 2009 09:09:54 +0000 Subject: [PATCH] =?UTF-8?q?codec=E3=82=A2=E3=82=AF=E3=82=BB=E3=82=B9?= =?UTF-8?q?=E9=96=A2=E6=95=B0=E3=81=ABSPI=E3=83=AD=E3=83=83=E3=82=AF?= =?UTF-8?q?=E5=87=A6=E7=90=86=E3=82=92=E8=BF=BD=E5=8A=A0=E3=80=82=20FS=5FI?= =?UTF-8?q?nitFatDriver=E3=81=AE=E5=AE=9F=E8=A1=8C=E3=82=92=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0=EF=BC=88trancSDK=E3=81=A7Nand=E3=81=AB=E3=82=A2?= =?UTF-8?q?=E3=82=AF=E3=82=BB=E3=82=B9=E3=81=99=E3=82=8B=E3=81=9F=E3=82=81?= =?UTF-8?q?=E3=81=AB=E5=BF=85=E8=A6=81=EF=BC=89?= 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@2773 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- build/tests/TestComponent/ARM7.TWL/src/kami_pxi.c | 12 ++++++++++++ build/tests/TestComponent/ARM9.TWL/src/main.c | 8 ++++++++ 2 files changed, 20 insertions(+) diff --git a/build/tests/TestComponent/ARM7.TWL/src/kami_pxi.c b/build/tests/TestComponent/ARM7.TWL/src/kami_pxi.c index 9bf00a8f..2484fbea 100644 --- a/build/tests/TestComponent/ARM7.TWL/src/kami_pxi.c +++ b/build/tests/TestComponent/ARM7.TWL/src/kami_pxi.c @@ -34,6 +34,8 @@ extern BOOL FATFSi_nandRtfsIo( int driveno, dword block, void* buffer, word count, BOOLEAN reading); extern BOOL sdmcFormatNandLog( BOOL verify_flag); extern void sdmcGetCID( SDMC_PORT_NO port, u32* dest); +extern void SPI_Lock(u32 id); +extern void SPI_Unlock(u32 id); /*---------------------------------------------------------------------------* 定数定義 @@ -76,6 +78,7 @@ KamiWork; *---------------------------------------------------------------------------*/ static BOOL kamiInitialized; static KamiWork kamiWork; +static u32 kamiSpiLockId; /*---------------------------------------------------------------------------* 内部関数定義 @@ -92,6 +95,11 @@ void KamiPxiInit(void) return; } kamiInitialized = TRUE; + kamiSpiLockId = (u32)OS_GetLockID(); + if (kamiSpiLockId == OS_LOCK_ID_ERROR) + { + OS_Panic("%s: OS_GetLockID failed.\n", __FUNCTION__); + } PXI_Init(); PXI_SetFifoRecvCallback(PXI_FIFO_TAG_KAMITEST, KamiPxiCallback); @@ -283,12 +291,16 @@ static void KamiThread(void *arg) if (is_read) { + SPI_Lock(kamiSpiLockId); // CODEC用SPI排他ロック read = CDC_ReadSpiRegisterEx( page, reg_no ); + SPI_Unlock(kamiSpiLockId); // CODEC用SPI排他ロック KamiReturnResultEx(kamiWork.command, KAMI_PXI_RESULT_SUCCESS, sizeof(u8), (u8*)&read ); } else { + SPI_Lock(kamiSpiLockId); // CODEC用SPI排他ロック CDC_WriteSpiRegisterEx( page, reg_no, (u8)write ); + SPI_Unlock(kamiSpiLockId); // CODEC用SPI排他ロック KamiReturnResult(kamiWork.command, KAMI_PXI_RESULT_SUCCESS); } } diff --git a/build/tests/TestComponent/ARM9.TWL/src/main.c b/build/tests/TestComponent/ARM9.TWL/src/main.c index 7774f910..ac9585b1 100644 --- a/build/tests/TestComponent/ARM9.TWL/src/main.c +++ b/build/tests/TestComponent/ARM9.TWL/src/main.c @@ -101,6 +101,11 @@ TwlMain() // initialize file-system FS_Init(FS_DMA_NOT_USE); + // FATドライバを初期化します。 + // NANDにアクセスするために必要です。 + // この関数はTwlSDK_branchUIGには含まれていません。 + FS_InitFatDriver(); + // SDカードの挿抜イベント監視コールバック設定 // FS_RegisterEventHook("sdmc", &sSDHook, SDEvents, NULL); @@ -173,6 +178,7 @@ TwlMain() } #endif +/* { u8 temp; kamiCodecRead( 1, 31, &temp); @@ -182,6 +188,8 @@ TwlMain() OS_Printf("temp = %x\n", temp); } +*/ + while (1) { kamiPadRead();