mirror of
https://github.com/rvtr/ctr_firmware.git
synced 2025-10-31 07:51:08 -04:00
osLockByByte->osLockByte.
git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-09-30%20-%20paladin.7z/paladin/ctr_firmware@268 b871894f-2f95-9b40-918c-086798483c85
This commit is contained in:
parent
6d5e6e251a
commit
8a92549793
@ -24,15 +24,15 @@ void _ISTDbgLib_Initialize(void);
|
|||||||
void _ISTDbgLib_AllocateEmualtor(void);
|
void _ISTDbgLib_AllocateEmualtor(void);
|
||||||
void _ISTDbgLib_FreeEmulator(void);
|
void _ISTDbgLib_FreeEmulator(void);
|
||||||
|
|
||||||
s32 osLockByWord_IrqAndFiq(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void));
|
s32 osLockWord_IrqAndFiq(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void));
|
||||||
s32 osUnlockByByte_IrqAndFiq(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void));
|
s32 osUnlockByte_IrqAndFiq(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void));
|
||||||
s32 osTryLockByByte_IrqAndFiq(u8 lockID, OSLockByte *lockp, void (*crtlFuncp) (void));
|
s32 osTryLockByte_IrqAndFiq(u8 lockID, OSLockByte *lockp, void (*crtlFuncp) (void));
|
||||||
|
|
||||||
static s32 i_osDoLockByByte(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void),
|
static s32 i_osDoLockByte(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void),
|
||||||
BOOL disableFiq);
|
BOOL disableFiq);
|
||||||
static s32 i_osDoUnlockByByte(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void),
|
static s32 i_osDoUnlockByte(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void),
|
||||||
BOOL disableFIQ);
|
BOOL disableFIQ);
|
||||||
static s32 i_osDoTryLockByByte(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void),
|
static s32 i_osDoTryLockByte(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void),
|
||||||
BOOL disableFIQ);
|
BOOL disableFIQ);
|
||||||
|
|
||||||
static void i_osAllocateCartridgeBus(void);
|
static void i_osAllocateCartridgeBus(void);
|
||||||
@ -189,7 +189,7 @@ void osInitLock(void)
|
|||||||
i_osSyncWithOtherProc( OSi_SYNCTYPE_RECVER, (void*)HW_INIT_LOCK_BUF );
|
i_osSyncWithOtherProc( OSi_SYNCTYPE_RECVER, (void*)HW_INIT_LOCK_BUF );
|
||||||
|
|
||||||
//lockp->lockFlag = 0;
|
//lockp->lockFlag = 0;
|
||||||
//(void)osLockByByte(OS_MAINP_SYSTEM_LOCK_ID, lockp, NULL);
|
//(void)osLockByte(OS_MAINP_SYSTEM_LOCK_ID, lockp, NULL);
|
||||||
|
|
||||||
#else // SDK_ARM9
|
#else // SDK_ARM9
|
||||||
// ロックIDカウンタ用フラグ 初期化
|
// ロックIDカウンタ用フラグ 初期化
|
||||||
@ -207,7 +207,7 @@ void osInitLock(void)
|
|||||||
// LOCK
|
// LOCK
|
||||||
//======================================================================
|
//======================================================================
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: i_osDoLockByByte
|
Name: i_osDoLockByte
|
||||||
|
|
||||||
Description: do spinlock. keep to try till success
|
Description: do spinlock. keep to try till success
|
||||||
|
|
||||||
@ -218,13 +218,13 @@ void osInitLock(void)
|
|||||||
|
|
||||||
Returns: OS_LOCK_SUCCESS success to lock
|
Returns: OS_LOCK_SUCCESS success to lock
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
static s32 i_osDoLockByByte(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void),
|
static s32 i_osDoLockByte(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void),
|
||||||
BOOL disableFiq)
|
BOOL disableFiq)
|
||||||
{
|
{
|
||||||
s32 lastLockFlag;
|
s32 lastLockFlag;
|
||||||
|
|
||||||
while ((lastLockFlag =
|
while ((lastLockFlag =
|
||||||
i_osDoTryLockByByte(lockID, lockp, ctrlFuncp, disableFiq)) > OS_LOCK_SUCCESS)
|
i_osDoTryLockByte(lockID, lockp, ctrlFuncp, disableFiq)) > OS_LOCK_SUCCESS)
|
||||||
{
|
{
|
||||||
i_osWaitByLoop();
|
i_osWaitByLoop();
|
||||||
}
|
}
|
||||||
@ -233,7 +233,7 @@ static s32 i_osDoLockByByte(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (voi
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: osLockByByte
|
Name: osLockByte
|
||||||
|
|
||||||
Description: do spinlock. keep to try till success.
|
Description: do spinlock. keep to try till success.
|
||||||
|
|
||||||
@ -243,13 +243,13 @@ static s32 i_osDoLockByByte(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (voi
|
|||||||
|
|
||||||
Returns: OS_LOCK_SUCCESS success to lock
|
Returns: OS_LOCK_SUCCESS success to lock
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
s32 osLockByByte(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void))
|
s32 osLockByte(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void))
|
||||||
{
|
{
|
||||||
return i_osDoLockByByte(lockID, lockp, ctrlFuncp, FALSE);
|
return i_osDoLockByte(lockID, lockp, ctrlFuncp, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: osLockByByte_IrqAndFiq
|
Name: osLockByte_IrqAndFiq
|
||||||
|
|
||||||
Description: do spinlock. keep to try till success.
|
Description: do spinlock. keep to try till success.
|
||||||
disable irq and fiq
|
disable irq and fiq
|
||||||
@ -260,9 +260,9 @@ s32 osLockByByte(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void))
|
|||||||
|
|
||||||
Returns: OS_LOCK_SUCCESS success to lock
|
Returns: OS_LOCK_SUCCESS success to lock
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
s32 osLockByByte_IrqAndFiq(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void))
|
s32 osLockByte_IrqAndFiq(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void))
|
||||||
{
|
{
|
||||||
return i_osDoLockByByte(lockID, lockp, ctrlFuncp, TRUE);
|
return i_osDoLockByte(lockID, lockp, ctrlFuncp, TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -270,7 +270,7 @@ s32 osLockByByte_IrqAndFiq(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void
|
|||||||
// UNLOCK
|
// UNLOCK
|
||||||
//======================================================================
|
//======================================================================
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: i_osDoUnlockByByte
|
Name: i_osDoUnlockByte
|
||||||
|
|
||||||
Description: do unlock lock.
|
Description: do unlock lock.
|
||||||
|
|
||||||
@ -282,7 +282,7 @@ s32 osLockByByte_IrqAndFiq(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void
|
|||||||
Returns: OS_UNLOCK_SUCCESS success
|
Returns: OS_UNLOCK_SUCCESS success
|
||||||
OS_UNLOCK_ERROR error of unlocking lock
|
OS_UNLOCK_ERROR error of unlocking lock
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
static s32 i_osDoUnlockByByte(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void),
|
static s32 i_osDoUnlockByte(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void),
|
||||||
BOOL disableFIQ)
|
BOOL disableFIQ)
|
||||||
{
|
{
|
||||||
OSIntrMode lastInterrupts;
|
OSIntrMode lastInterrupts;
|
||||||
@ -318,7 +318,7 @@ static s32 i_osDoUnlockByByte(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (v
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: osUnlockByByte
|
Name: osUnlockByte
|
||||||
|
|
||||||
Description: do unlock lock.
|
Description: do unlock lock.
|
||||||
disable irq and fiq
|
disable irq and fiq
|
||||||
@ -330,13 +330,13 @@ static s32 i_osDoUnlockByByte(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (v
|
|||||||
Returns: OS_UNLOCK_SUCCESS success
|
Returns: OS_UNLOCK_SUCCESS success
|
||||||
OS_UNLOCK_ERROR error of unlocking lock
|
OS_UNLOCK_ERROR error of unlocking lock
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
s32 osUnlockByByte(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void))
|
s32 osUnlockByte(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void))
|
||||||
{
|
{
|
||||||
return i_osDoUnlockByByte(lockID, lockp, ctrlFuncp, FALSE);
|
return i_osDoUnlockByte(lockID, lockp, ctrlFuncp, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: osUnlockByByte_IrqAndFiq
|
Name: osUnlockByte_IrqAndFiq
|
||||||
|
|
||||||
Description: do unlock lock.
|
Description: do unlock lock.
|
||||||
|
|
||||||
@ -347,9 +347,9 @@ s32 osUnlockByByte(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void))
|
|||||||
Returns: OS_UNLOCK_SUCCESS success
|
Returns: OS_UNLOCK_SUCCESS success
|
||||||
OS_UNLOCK_ERROR error of unlocking lock
|
OS_UNLOCK_ERROR error of unlocking lock
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
s32 osUnlockByByte_IrqAndFiq(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void))
|
s32 osUnlockByte_IrqAndFiq(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void))
|
||||||
{
|
{
|
||||||
return i_osDoUnlockByByte(lockID, lockp, ctrlFuncp, TRUE);
|
return i_osDoUnlockByte(lockID, lockp, ctrlFuncp, TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -357,7 +357,7 @@ s32 osUnlockByByte_IrqAndFiq(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (vo
|
|||||||
// TRY LOCK
|
// TRY LOCK
|
||||||
//======================================================================
|
//======================================================================
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: i_osDoTryLockByByte
|
Name: i_osDoTryLockByte
|
||||||
|
|
||||||
Description: try to lock spinlock only once.
|
Description: try to lock spinlock only once.
|
||||||
|
|
||||||
@ -369,7 +369,7 @@ s32 osUnlockByByte_IrqAndFiq(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (vo
|
|||||||
Returns: >0 value previous locked id
|
Returns: >0 value previous locked id
|
||||||
OS_LOCK_SUCCESS success to lock
|
OS_LOCK_SUCCESS success to lock
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
static s32 i_osDoTryLockByByte(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void),
|
static s32 i_osDoTryLockByte(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void),
|
||||||
BOOL disableFIQ)
|
BOOL disableFIQ)
|
||||||
{
|
{
|
||||||
s32 lastLockFlag;
|
s32 lastLockFlag;
|
||||||
@ -405,7 +405,7 @@ static s32 i_osDoTryLockByByte(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: osTryLockByByte
|
Name: osTryLockByte
|
||||||
|
|
||||||
Description: try to lock spinlock only once.
|
Description: try to lock spinlock only once.
|
||||||
|
|
||||||
@ -416,13 +416,13 @@ static s32 i_osDoTryLockByByte(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (
|
|||||||
Returns: >0 value previous locked id
|
Returns: >0 value previous locked id
|
||||||
OS_LOCK_SUCCESS success to lock
|
OS_LOCK_SUCCESS success to lock
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
s32 osTryLockByByte(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void))
|
s32 osTryLockByte(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void))
|
||||||
{
|
{
|
||||||
return i_osDoTryLockByByte(lockID, lockp, ctrlFuncp, FALSE);
|
return i_osDoTryLockByte(lockID, lockp, ctrlFuncp, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: osTryLockByByte_IrqAndFiq
|
Name: osTryLockByte_IrqAndFiq
|
||||||
|
|
||||||
Description: try to lock spinlock only once.
|
Description: try to lock spinlock only once.
|
||||||
|
|
||||||
@ -433,9 +433,9 @@ s32 osTryLockByByte(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void))
|
|||||||
Returns: >0 value previous locked id
|
Returns: >0 value previous locked id
|
||||||
OS_LOCK_SUCCESS success to lock
|
OS_LOCK_SUCCESS success to lock
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
s32 osTryLockByByte_IrqAndFiq(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void))
|
s32 osTryLockByte_IrqAndFiq(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void))
|
||||||
{
|
{
|
||||||
return i_osDoTryLockByByte(lockID, lockp, ctrlFuncp, TRUE);
|
return i_osDoTryLockByte(lockID, lockp, ctrlFuncp, TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -455,7 +455,7 @@ s32 osLockCard(u8 lockID)
|
|||||||
{
|
{
|
||||||
OSi_ASSERT_ID(lockID);
|
OSi_ASSERT_ID(lockID);
|
||||||
|
|
||||||
return osLockByByte(lockID, (OSLockByte *)HW_CARD_LOCK_BUF, i_osAllocateCardBus);
|
return osLockByte(lockID, (OSLockByte *)HW_CARD_LOCK_BUF, i_osAllocateCardBus);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
@ -472,7 +472,7 @@ s32 osUnlockCard(u8 lockID)
|
|||||||
{
|
{
|
||||||
OSi_ASSERT_ID(lockID);
|
OSi_ASSERT_ID(lockID);
|
||||||
|
|
||||||
return osUnlockByByte(lockID, (OSLockByte *)HW_CARD_LOCK_BUF, i_osFreeCardBus);
|
return osUnlockByte(lockID, (OSLockByte *)HW_CARD_LOCK_BUF, i_osFreeCardBus);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
@ -487,7 +487,7 @@ s32 osUnlockCard(u8 lockID)
|
|||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
s32 osTryLockCard(u8 lockID)
|
s32 osTryLockCard(u8 lockID)
|
||||||
{
|
{
|
||||||
return osTryLockByByte(lockID, (OSLockByte *)HW_CARD_LOCK_BUF, i_osAllocateCardBus);
|
return osTryLockByte(lockID, (OSLockByte *)HW_CARD_LOCK_BUF, i_osAllocateCardBus);
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------
|
//----------------
|
||||||
@ -495,7 +495,7 @@ static void i_osAllocateCardBus(void)
|
|||||||
{
|
{
|
||||||
#ifdef SDK_ARM11
|
#ifdef SDK_ARM11
|
||||||
#ifdef SDK_TWL
|
#ifdef SDK_TWL
|
||||||
// preset reset flag with status of disable interrupts in i_osDoTryLockByByte
|
// preset reset flag with status of disable interrupts in i_osDoTryLockByte
|
||||||
if ( ((reg_MI_MC & REG_MI_MC_SL1_MODE_MASK) >> REG_MI_MC_SL1_MODE_SHIFT) == 0x2 )
|
if ( ((reg_MI_MC & REG_MI_MC_SL1_MODE_MASK) >> REG_MI_MC_SL1_MODE_SHIFT) == 0x2 )
|
||||||
{
|
{
|
||||||
reg_MI_MCCNT1 |= REG_MI_MCCNT1_RESB_MASK;
|
reg_MI_MCCNT1 |= REG_MI_MCCNT1_RESB_MASK;
|
||||||
|
|||||||
50
trunk/bootrom/build/tests/exclusive/ARM11/Makefile
Normal file
50
trunk/bootrom/build/tests/exclusive/ARM11/Makefile
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: CtrBrom - tests - thread
|
||||||
|
# File: Makefile
|
||||||
|
#
|
||||||
|
# Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded instructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Date:: $
|
||||||
|
# $Rev$
|
||||||
|
# $Author$
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#BROM_DEF_LINK_SCATLD = TRUE
|
||||||
|
|
||||||
|
BROM_TARGET = APP
|
||||||
|
|
||||||
|
SUBDIRS =
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
TARGET_BIN = thread11.dasm
|
||||||
|
|
||||||
|
SRCS = \
|
||||||
|
main.c \
|
||||||
|
|
||||||
|
#LCFILE = # using default
|
||||||
|
|
||||||
|
include $(CTRBROM_ROOT)/build/buildtools/commondefs
|
||||||
|
|
||||||
|
SRCDIR = . $(ROOT)/bootrom/build/bootrom/thread/ARM11 \
|
||||||
|
|
||||||
|
INSTALL_DIR = ..
|
||||||
|
INSTALL_TARGETS = $(BINDIR)/$(TARGET_BIN_BASENAME).axf
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
do-build: $(TARGETS)
|
||||||
|
|
||||||
|
|
||||||
|
include $(CTRBROM_ROOT)/build/buildtools/modulerules
|
||||||
|
|
||||||
|
|
||||||
|
#===== End of Makefile =====
|
||||||
38
trunk/bootrom/build/tests/exclusive/ARM11/main.c
Normal file
38
trunk/bootrom/build/tests/exclusive/ARM11/main.c
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Project: TwlBrom - thread
|
||||||
|
File: main.c
|
||||||
|
|
||||||
|
Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
|
||||||
|
These coded instructions, statements, and computer programs contain
|
||||||
|
proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
|
||||||
|
$Date:: $
|
||||||
|
$Rev$
|
||||||
|
$Author$
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
#include <brom.h>
|
||||||
|
|
||||||
|
void BromMain( void )
|
||||||
|
{
|
||||||
|
osInitException();
|
||||||
|
osInitBROM();
|
||||||
|
|
||||||
|
osPrintf( "ARM11: start\n" );
|
||||||
|
|
||||||
|
osInitThread();
|
||||||
|
while (1)
|
||||||
|
{
|
||||||
|
u32 pmon = osGetPerfMonitor(OS_MONITOR_1);
|
||||||
|
OSTick tick = osGetTick();
|
||||||
|
osSleep(1000);
|
||||||
|
tick = osGetTick() - tick;
|
||||||
|
pmon = osGetPerfMonitor(OS_MONITOR_1) - pmon;
|
||||||
|
osTPrintf( "sleep tick = %llu msec\n", OS_TICK_TO_MSEC(tick) );
|
||||||
|
osTPrintf( "sleep pmon = %llu msec\n", OS_PMON_TO_MSEC(pmon) );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
52
trunk/bootrom/build/tests/exclusive/ARM9/Makefile
Normal file
52
trunk/bootrom/build/tests/exclusive/ARM9/Makefile
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: CtrBrom - tests - thread
|
||||||
|
# File: Makefile
|
||||||
|
#
|
||||||
|
# Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded instructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Date:: $
|
||||||
|
# $Rev$
|
||||||
|
# $Author$
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
#BROM_DEF_LINK_SCATLD = TRUE
|
||||||
|
|
||||||
|
BROM_TARGET = APP
|
||||||
|
BROM_PROC = ARM9
|
||||||
|
|
||||||
|
SUBDIRS =
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
TARGET_BIN = thread9.dasm
|
||||||
|
|
||||||
|
SRCS = \
|
||||||
|
main.c \
|
||||||
|
|
||||||
|
#LCFILE = # using default
|
||||||
|
|
||||||
|
include $(CTRBROM_ROOT)/build/buildtools/commondefs
|
||||||
|
|
||||||
|
SRCDIR = . $(ROOT)/bootrom/build/bootrom/thread/ARM9 \
|
||||||
|
|
||||||
|
INSTALL_DIR = ..
|
||||||
|
INSTALL_TARGETS = $(BINDIR)/$(TARGET_BIN_BASENAME).axf
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
do-build: $(TARGETS)
|
||||||
|
|
||||||
|
|
||||||
|
include $(CTRBROM_ROOT)/build/buildtools/modulerules
|
||||||
|
|
||||||
|
|
||||||
|
#===== End of Makefile =====
|
||||||
35
trunk/bootrom/build/tests/exclusive/ARM9/main.c
Normal file
35
trunk/bootrom/build/tests/exclusive/ARM9/main.c
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Project: TwlBrom - thread
|
||||||
|
File: main.c
|
||||||
|
|
||||||
|
Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
|
||||||
|
These coded instructions, statements, and computer programs contain
|
||||||
|
proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
|
||||||
|
$Date:: $
|
||||||
|
$Rev$
|
||||||
|
$Author$
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
#include <brom.h>
|
||||||
|
|
||||||
|
void BromSpMain( void )
|
||||||
|
{
|
||||||
|
osInitException();
|
||||||
|
osInitBROM();
|
||||||
|
|
||||||
|
osPrintf( "ARM9: start\n" );
|
||||||
|
|
||||||
|
osInitThread();
|
||||||
|
while (1)
|
||||||
|
{
|
||||||
|
OSTick tick = osGetTick();
|
||||||
|
osSleep(1000);
|
||||||
|
tick = osGetTick() - tick;
|
||||||
|
osTPrintf( "sleep tick = %llu msec\n", OS_TICK_TO_MSEC(tick) );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
33
trunk/bootrom/build/tests/exclusive/Makefile
Normal file
33
trunk/bootrom/build/tests/exclusive/Makefile
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: CtrBrom - tests
|
||||||
|
# File: Makefile
|
||||||
|
#
|
||||||
|
# Copyright 2009 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded instructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Date:: $
|
||||||
|
# $Rev$
|
||||||
|
# $Author$
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
include $(CTRBROM_ROOT)/build/buildtools/commondefs
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
SUBDIRS = \
|
||||||
|
ARM11 \
|
||||||
|
ARM9 \
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
include $(CTRBROM_ROOT)/build/buildtools/modulerules
|
||||||
|
|
||||||
|
|
||||||
|
#===== End of Makefile =====
|
||||||
@ -98,7 +98,7 @@ void osInitLock(void);
|
|||||||
//・戻り値:
|
//・戻り値:
|
||||||
// OS_LOCK_SUCCESS ロック成功
|
// OS_LOCK_SUCCESS ロック成功
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
s32 osLockByByte(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void));
|
s32 osLockByte(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void));
|
||||||
s32 osLockCard(u8 lockID);
|
s32 osLockCard(u8 lockID);
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
@ -116,7 +116,7 @@ s32 osLockCard(u8 lockID);
|
|||||||
// OS_UNLOCK_SUCCESS ロック解除成功
|
// OS_UNLOCK_SUCCESS ロック解除成功
|
||||||
// OS_UNLOCK_ERROR ロック解除エラー
|
// OS_UNLOCK_ERROR ロック解除エラー
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
s32 osUnlockByByte(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void));
|
s32 osUnlockByte(u8 lockID, OSLockByte *lockp, void (*ctrlFuncp) (void));
|
||||||
s32 osUnlockCard(u8 lockID);
|
s32 osUnlockCard(u8 lockID);
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
@ -137,7 +137,7 @@ s32 osUnlockCard(u8 lockID);
|
|||||||
// 正 ロック中(直前に格納されていたID)
|
// 正 ロック中(直前に格納されていたID)
|
||||||
// OS_LOCK_SUCCESS ロック成功
|
// OS_LOCK_SUCCESS ロック成功
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
s32 osTryLockByByte(u8 lockID, OSLockByte *lockp, void (*crtlFuncp) (void));
|
s32 osTryLockByte(u8 lockID, OSLockByte *lockp, void (*crtlFuncp) (void));
|
||||||
s32 osTryLockCard(u8 lockID);
|
s32 osTryLockCard(u8 lockID);
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user