mirror of
https://github.com/rvtr/ctr_firmware.git
synced 2025-10-31 07:51:08 -04:00
割り込みハンドラ登録。
git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-09-30%20-%20paladin.7z/paladin/ctr_firmware@91 b871894f-2f95-9b40-918c-086798483c85
This commit is contained in:
parent
df206e2787
commit
64b1e317ab
@ -17,6 +17,8 @@
|
||||
#include <brom/os.h>
|
||||
|
||||
|
||||
asm void i_osIrqVeneer( void );
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
Name: osInitInterrupt
|
||||
|
||||
@ -39,6 +41,8 @@ void osInitInterrupt( void )
|
||||
|
||||
osInitInterruptTable();
|
||||
|
||||
*(u64*)HW_INTR_VENEER_BUF = *(u64*)i_osIrqVeneer;
|
||||
|
||||
{
|
||||
u32 num = OS_INTR_ID_NUM;
|
||||
u32 conf = 0;
|
||||
@ -72,6 +76,26 @@ void osInitInterrupt( void )
|
||||
}
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
Name: i_osIrqVeneer
|
||||
|
||||
Description: Interrupt Vevver
|
||||
|
||||
Arguments: None
|
||||
|
||||
Returns: None
|
||||
*---------------------------------------------------------------------------*/
|
||||
#include <brom/code32.h>
|
||||
|
||||
asm void i_osIrqVeneer( void )
|
||||
{
|
||||
INASM_EXTERN( osIrqHandler )
|
||||
|
||||
ldr pc, =osIrqHandler
|
||||
LTORG
|
||||
}
|
||||
|
||||
#include <brom/codereset.h>
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
Name: osEnableInterruptID
|
||||
|
||||
@ -17,6 +17,8 @@
|
||||
#include <brom/os.h>
|
||||
|
||||
|
||||
asm void i_osIrqVeneer( void );
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
Name: osInitInterrupt
|
||||
|
||||
@ -39,6 +41,8 @@ void osInitInterrupt( void )
|
||||
|
||||
i_osInitInterruptTable();
|
||||
|
||||
*(u64*)HW_INTR_VENEER_BUF = *(u64*)i_osIrqVeneer;
|
||||
|
||||
reg_OS_IE = 0;
|
||||
|
||||
reg_OS_IF = 0xffffffff;
|
||||
@ -47,6 +51,26 @@ void osInitInterrupt( void )
|
||||
}
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
Name: i_osIrqVeneer
|
||||
|
||||
Description: Interrupt Vevver
|
||||
|
||||
Arguments: None
|
||||
|
||||
Returns: None
|
||||
*---------------------------------------------------------------------------*/
|
||||
#include <brom/code32.h>
|
||||
|
||||
asm void i_osIrqVeneer( void )
|
||||
{
|
||||
INASM_EXTERN( osIrqHandler )
|
||||
|
||||
ldr pc, =osIrqHandler
|
||||
LTORG
|
||||
}
|
||||
|
||||
#include <brom/codereset.h>
|
||||
|
||||
//================================================================================
|
||||
// InterruptMask
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
#endif
|
||||
|
||||
//---- thread queue for interrupt
|
||||
OSThreadQueue OSi_IrqThreadQueue; // = { NULL, NULL };
|
||||
OSThreadQueue OSi_IrqThreadQueue;
|
||||
|
||||
#ifdef SDK_ARM9
|
||||
#include <brom/dtcm_end.h>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user