GadgetSeed  0.9.6
interrupt.c ファイル

STM32 割り込みハンドラ [詳解]

#include "interrupt.h"
#include "sysconfig.h"
#include "tkprintf.h"
#include "task/calltrace.h"
#include "task/task.h"
interrupt.c の依存先関係図:

[ソースコード]

マクロ定義

#define CFSR   (*(volatile unsigned int *)0xE000ED28)
 
#define MMSR   (*(volatile unsigned char *)0xE000ED28)
 
#define BFSR   (*(volatile unsigned char *)0xE000ED29)
 
#define UFSR   (*(volatile unsigned short *)0xE000ED2A)
 
#define HFSR   (*(volatile unsigned int *)0xE000ED2C)
 
#define DFSR   (*(volatile unsigned int *)0xE000ED30)
 
#define AFSR   (*(volatile unsigned int *)0xE000ED3C)
 
#define DHCSR   (*(volatile unsigned int *)0xE000EDF0)
 
#define DCRSR   (*(volatile unsigned int *)0xE000EDF4)
 
#define DCRDR   (*(volatile unsigned int *)0xE000EDF8)
 
#define DEMCR   (*(volatile unsigned int *)0xE000EDFC)
 

型定義

typedef void(* inthdr) (void)
 
typedef void(* gs_inthdr) (unsigned int intnum, void *sp)
 

関数

int is_in_interrupt (void)
 
static void unreg_inthdr (unsigned int intnum, void *sp)
 
void disp_debug_info (void)
 
void fault_inthdr (unsigned int intnum, void *sp)
 
void ur_inthdr_000 (unsigned int intnum, void *sp)
 
void ur_inthdr_001 (unsigned int intnum, void *sp)
 
void ur_inthdr_002 (unsigned int intnum, void *sp)
 
void ur_inthdr_003 (unsigned int intnum, void *sp)
 
void ur_inthdr_004 (unsigned int intnum, void *sp)
 
void ur_inthdr_005 (unsigned int intnum, void *sp)
 
void ur_inthdr_006 (unsigned int intnum, void *sp)
 
void ur_inthdr_007 (unsigned int intnum, void *sp)
 
void ur_inthdr_008 (unsigned int intnum, void *sp)
 
void ur_inthdr_009 (unsigned int intnum, void *sp)
 
void ur_inthdr_010 (unsigned int intnum, void *sp)
 
void ur_inthdr_011 (unsigned int intnum, void *sp)
 
void ur_inthdr_012 (unsigned int intnum, void *sp)
 
void ur_inthdr_013 (unsigned int intnum, void *sp)
 
void ur_inthdr_014 (unsigned int intnum, void *sp)
 
void ur_inthdr_015 (unsigned int intnum, void *sp)
 
void ur_inthdr_016 (unsigned int intnum, void *sp)
 
void ur_inthdr_017 (unsigned int intnum, void *sp)
 
void ur_inthdr_018 (unsigned int intnum, void *sp)
 
void ur_inthdr_019 (unsigned int intnum, void *sp)
 
void ur_inthdr_020 (unsigned int intnum, void *sp)
 
void ur_inthdr_021 (unsigned int intnum, void *sp)
 
void ur_inthdr_022 (unsigned int intnum, void *sp)
 
void ur_inthdr_023 (unsigned int intnum, void *sp)
 
void ur_inthdr_024 (unsigned int intnum, void *sp)
 
void ur_inthdr_025 (unsigned int intnum, void *sp)
 
void ur_inthdr_026 (unsigned int intnum, void *sp)
 
void ur_inthdr_027 (unsigned int intnum, void *sp)
 
void ur_inthdr_028 (unsigned int intnum, void *sp)
 
void ur_inthdr_029 (unsigned int intnum, void *sp)
 
void ur_inthdr_030 (unsigned int intnum, void *sp)
 
void ur_inthdr_031 (unsigned int intnum, void *sp)
 
void ur_inthdr_032 (unsigned int intnum, void *sp)
 
void ur_inthdr_033 (unsigned int intnum, void *sp)
 
void ur_inthdr_034 (unsigned int intnum, void *sp)
 
void ur_inthdr_035 (unsigned int intnum, void *sp)
 
void ur_inthdr_036 (unsigned int intnum, void *sp)
 
void ur_inthdr_037 (unsigned int intnum, void *sp)
 
void ur_inthdr_038 (unsigned int intnum, void *sp)
 
void ur_inthdr_039 (unsigned int intnum, void *sp)
 
void ur_inthdr_040 (unsigned int intnum, void *sp)
 
void ur_inthdr_041 (unsigned int intnum, void *sp)
 
void ur_inthdr_042 (unsigned int intnum, void *sp)
 
void ur_inthdr_043 (unsigned int intnum, void *sp)
 
void ur_inthdr_044 (unsigned int intnum, void *sp)
 
void ur_inthdr_045 (unsigned int intnum, void *sp)
 
void ur_inthdr_046 (unsigned int intnum, void *sp)
 
void ur_inthdr_047 (unsigned int intnum, void *sp)
 
void ur_inthdr_048 (unsigned int intnum, void *sp)
 
void ur_inthdr_049 (unsigned int intnum, void *sp)
 
void ur_inthdr_050 (unsigned int intnum, void *sp)
 
void ur_inthdr_051 (unsigned int intnum, void *sp)
 
void ur_inthdr_052 (unsigned int intnum, void *sp)
 
void ur_inthdr_053 (unsigned int intnum, void *sp)
 
void ur_inthdr_054 (unsigned int intnum, void *sp)
 
void ur_inthdr_055 (unsigned int intnum, void *sp)
 
void ur_inthdr_056 (unsigned int intnum, void *sp)
 
void ur_inthdr_057 (unsigned int intnum, void *sp)
 
void ur_inthdr_058 (unsigned int intnum, void *sp)
 
void ur_inthdr_059 (unsigned int intnum, void *sp)
 
void ur_inthdr_060 (unsigned int intnum, void *sp)
 
void ur_inthdr_061 (unsigned int intnum, void *sp)
 
void ur_inthdr_062 (unsigned int intnum, void *sp)
 
void ur_inthdr_063 (unsigned int intnum, void *sp)
 
void ur_inthdr_064 (unsigned int intnum, void *sp)
 
void ur_inthdr_065 (unsigned int intnum, void *sp)
 
void ur_inthdr_066 (unsigned int intnum, void *sp)
 
void ur_inthdr_067 (unsigned int intnum, void *sp)
 
void ur_inthdr_068 (unsigned int intnum, void *sp)
 
void ur_inthdr_069 (unsigned int intnum, void *sp)
 
void ur_inthdr_070 (unsigned int intnum, void *sp)
 
void ur_inthdr_071 (unsigned int intnum, void *sp)
 
void ur_inthdr_072 (unsigned int intnum, void *sp)
 
void ur_inthdr_073 (unsigned int intnum, void *sp)
 
void ur_inthdr_074 (unsigned int intnum, void *sp)
 
void ur_inthdr_075 (unsigned int intnum, void *sp)
 
void ur_inthdr_076 (unsigned int intnum, void *sp)
 
void ur_inthdr_077 (unsigned int intnum, void *sp)
 
void ur_inthdr_078 (unsigned int intnum, void *sp)
 
void ur_inthdr_079 (unsigned int intnum, void *sp)
 
void ur_inthdr_080 (unsigned int intnum, void *sp)
 
void ur_inthdr_081 (unsigned int intnum, void *sp)
 
void ur_inthdr_082 (unsigned int intnum, void *sp)
 
void ur_inthdr_083 (unsigned int intnum, void *sp)
 
void ur_inthdr_084 (unsigned int intnum, void *sp)
 
void ur_inthdr_085 (unsigned int intnum, void *sp)
 
void ur_inthdr_086 (unsigned int intnum, void *sp)
 
void ur_inthdr_087 (unsigned int intnum, void *sp)
 
void ur_inthdr_088 (unsigned int intnum, void *sp)
 
void ur_inthdr_089 (unsigned int intnum, void *sp)
 
void ur_inthdr_090 (unsigned int intnum, void *sp)
 
void ur_inthdr_091 (unsigned int intnum, void *sp)
 
void ur_inthdr_092 (unsigned int intnum, void *sp)
 
void ur_inthdr_093 (unsigned int intnum, void *sp)
 
void ur_inthdr_094 (unsigned int intnum, void *sp)
 
void ur_inthdr_095 (unsigned int intnum, void *sp)
 
void ur_inthdr_096 (unsigned int intnum, void *sp)
 
void ur_inthdr_097 (unsigned int intnum, void *sp)
 
void _endof_stack ()
 
void start (void)
 
void int000 (void)
 
void int001 (void)
 
void int002 (void)
 
void int003 (void)
 
void int004 (void)
 
void int005 (void)
 
void int006 (void)
 
void int007 (void)
 
void int008 (void)
 
void int009 (void)
 
void int010 (void)
 
void int011 (void)
 
void int012 (void)
 
void int013 (void)
 
void int014 (void)
 
void int015 (void)
 
void int016 (void)
 
void int017 (void)
 
void int018 (void)
 
void int019 (void)
 
void int020 (void)
 
void int021 (void)
 
void int022 (void)
 
void int023 (void)
 
void int024 (void)
 
void int025 (void)
 
void int026 (void)
 
void int027 (void)
 
void int028 (void)
 
void int029 (void)
 
void int030 (void)
 
void int031 (void)
 
void int032 (void)
 
void int033 (void)
 
void int034 (void)
 
void int035 (void)
 
void int036 (void)
 
void int037 (void)
 
void int038 (void)
 
void int039 (void)
 
void int040 (void)
 
void int041 (void)
 
void int042 (void)
 
void int043 (void)
 
void int044 (void)
 
void int045 (void)
 
void int046 (void)
 
void int047 (void)
 
void int048 (void)
 
void int049 (void)
 
void int050 (void)
 
void int051 (void)
 
void int052 (void)
 
void int053 (void)
 
void int054 (void)
 
void int055 (void)
 
void int056 (void)
 
void int057 (void)
 
void int058 (void)
 
void int059 (void)
 
void int060 (void)
 
void int061 (void)
 
void int062 (void)
 
void int063 (void)
 
void int064 (void)
 
void int065 (void)
 
void int066 (void)
 
void int067 (void)
 
void int068 (void)
 
void int069 (void)
 
void int070 (void)
 
void int071 (void)
 
void int072 (void)
 
void int073 (void)
 
void int074 (void)
 
void int075 (void)
 
void int076 (void)
 
void int077 (void)
 
void int078 (void)
 
void int079 (void)
 
void int080 (void)
 
void int081 (void)
 
void int082 (void)
 
void int083 (void)
 
void int084 (void)
 
void int085 (void)
 
void int086 (void)
 
void int087 (void)
 
void int088 (void)
 
void int089 (void)
 
void int090 (void)
 
void int091 (void)
 
void int092 (void)
 
void int093 (void)
 
void int094 (void)
 
void int095 (void)
 
void int096 (void)
 
void int097 (void)
 
const inthdr init_inthdr_table [MAXVECT] __attribute__ ((section("vect")))
 
void init_interrupt_vector (void)
 
int register_interrupt (unsigned short vectnum, void(*func)(unsigned int intnum, void *sp))
 
int unregister_interrupt (unsigned short vectnum)
 
void interrupt_func (unsigned int intnum, void *sp)
 

変数

unsigned int last_int
 
void * last_sp
 
volatile int flg_interrput_proc = 0
 
static const gs_inthdr init_gs_inthdr_table [MAXVECT]
 
gs_inthdr inthdr_table [MAXVECT]
 

詳解

STM32 割り込みハンドラ

日付
2013.03.10
著者
Takashi SHUDO

interrupt.c に定義があります。