要开中断管理首先需要在los_config.h中初始化宏定义
#define LOSCFG_PLATFORM_HWI YES
在los_hwi.h中有两个数组用来管理中断
LITE_OS_SEC_VEC HWI_PROC_FUNC m_pstHwiForm[OS_M4_VECTOR_CNT]
HWI_PROC_FUNC m_pstHwiSlaveForm[OS_M4_VECTOR_CNT]
当系统调用osHwiInit()函数后会把m_pstHwiForm初始化,
其中LosAdapIntInit会把m_pstHwiForm地址给中断向量指针
那么我们在调用LOS_HwiCreate函数时就可以把相应的中断入口函数赋值给m_pstHwiSlaveForm
osInterrupt赋值给m_pstHwiForm
最终中断来时先执行osInterrupt 再在osInterrupt中调用相应的中断函数
其中在注意uwHwiNum ,它传到osSetVector是会加OS_M4_SYS_VECTOR_CNT的
#define osSetVector(uwNum, pfnVector) \
m_pstHwiForm[uwNum + OS_M4_SYS_VECTOR_CNT] = osInterrupt;\
m_pstHwiSlaveForm[uwNum + OS_M4_SYS_VECTOR_CNT] = pfnVector;
#define HWI_NUM_INT50 (53-OS_M4_SYS_VECTOR_CNT)