#define ISR_TYPE_2 1\r
\r
/* ----------------------------[macro]---------------------------------------*/\r
+#if 0\r
+//#ifdef CFG_DRIVERS_USE_CONFIG_ISRS\r
+#define ISR_INSTALL_ISR2( _name, _entry, _vector, _priority, _app )\r
+#define ISR_INSTALL_ISR1(_name,_entry, _vector,_priority,_app)\r
+#else\r
#define ISR_DECLARE_ISR2(_name, _entry, _unique, _vector,_priority,_app ) \\r
static const OsIsrConstType _entry ## _unique = { \\r
.vector = _vector, \\r
do { \\r
static const OsIsrConstType _entry ## _unique = { \\r
.vector = _vector, \\r
- .type = ISR_TYPE_2, \\r
+ .type = ISR_TYPE_1, \\r
.priority = _priority, \\r
.entry = _entry, \\r
.name = _name, \\r
#define ISR_INSTALL_ISR1(_name,_entry, _vector,_priority,_app) \\r
_ISR_INSTALL_ISR1(_name,_entry, __LINE__, _vector,_priority,_app)\r
\r
-\r
+#endif\r
\r
/* ----------------------------[typedef]-------------------------------------*/\r
\r
/*\r
*\r
*/\r
-typedef struct {\r
+typedef struct OsIsrVar{\r
ISRType id;\r
// OsIsrStackType stack;\r
int state;\r
const OsIsrConstType *constPtr;\r
+#if defined(CFG_ARM_CR4)\r
+ int16_t activeVector;\r
+#endif\r
+\r
/* List of resource held by this ISR */\r
TAILQ_HEAD(,OsResource) resourceHead;\r
} OsIsrVarType;\r
ISRType Os_IsrAdd( const OsIsrConstType * restrict isrPtr );\r
void Os_IsrGetStackInfo( OsIsrStackType *stack );\r
void *Os_Isr( void *stack, int16_t vector);\r
+#if defined(CFG_ARM_CR4)\r
+void *Os_Isr_cr4( void *stack, int16_t virtualVector, int16_t vector );\r
+#endif\r
#if defined(CFG_ARM_CM3)\r
void Os_Isr_cm3( int16_t vector );\r
void TailChaining(void *stack);\r
#endif\r
\r
static inline const OsIsrVarType *Os_IsrGet( ISRType id ) {\r
+#if OS_ISR_CNT != 0\r
return &Os_IsrVarList[id];\r
+#else\r
+ (void)id;\r
+ return NULL;\r
+#endif\r
}\r
\r
static inline ApplicationType Os_IsrGetApplicationOwner( ISRType id ) {\r