From 8ea23c894c73e200e1d2538f12317f44545332ac Mon Sep 17 00:00:00 2001 From: nakasima Date: Tue, 8 May 2007 10:15:28 +0000 Subject: [PATCH] fix OS_IrqHandler. test ex-dma to main memory. git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/twl_wrapsdk/trunk@66 4ee2a332-4b2b-5046-8439-1ba90f034370 --- build/libraries/os/common/os_irqHandler.c | 19 ++++++++++++------- build/tests/mi/exDma-1/ARM7/src/main.c | 2 +- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/build/libraries/os/common/os_irqHandler.c b/build/libraries/os/common/os_irqHandler.c index ab1b516..cd7f9be 100644 --- a/build/libraries/os/common/os_irqHandler.c +++ b/build/libraries/os/common/os_irqHandler.c @@ -75,21 +75,20 @@ asm void OS_IrqHandler( void ) #endif // get IE&IF - ldmia r12, { r1-r2 } // r1: IE, r2: IF, r3: IE2, r4: IF2 + ldmia r12, { r1-r2 } // r1: IE, r2: IF ands r1, r1, r2 // r1: IE & IF + // add for TWL-ARM7 +#ifdef SDK_ARM7 + beq @irq_hi +#else // SDK_ARM9 // if IE&IF==0 then return (without changing IF) #ifdef SDK_NO_THREAD bxeq lr #else ldmeqfd sp!, { pc } #endif - - // add for TWL-ARM7 -#ifdef SDK_ARM7 - cmp r1, #0 - beq @irq_hi -#endif +#endif // SDK_ARM9 #if defined(SDK_ARM9) && !defined(SDK_CWBUG_PROC_OPT) //-------------------------------------------------- @@ -126,6 +125,12 @@ asm void OS_IrqHandler( void ) ldmia r12, { r1-r2 } // r1: IE2, r2: IF2 ands r1, r1, r2 // r1: IE2 & IF2 + // if IE&IF==0 then return (without changing IF) +#ifdef SDK_NO_THREAD + bxeq lr +#else + ldmeqfd sp!, { pc } +#endif //-------------------------------------------------- // IRQ HANDLING CODE for ARCHITECTURE VERSION 4 //-------------------------------------------------- diff --git a/build/tests/mi/exDma-1/ARM7/src/main.c b/build/tests/mi/exDma-1/ARM7/src/main.c index 20bc334..732e792 100644 --- a/build/tests/mi/exDma-1/ARM7/src/main.c +++ b/build/tests/mi/exDma-1/ARM7/src/main.c @@ -17,7 +17,7 @@ #define MY_DMA_MMEM ((t_TestBuf *)HW_MAIN_MEM_SUB) -#define MY_TEST_LOOPS 2 // (sizeof(copyfillArg)/sizeof(t_CommonArg)) +#define MY_TEST_LOOPS (sizeof(copyfillArg)/sizeof(t_CommonArg)) #define ONE_BUF_SIZE 0x2004 typedef struct