lowry_lee 发表于 2019-11-30 18:43:27

关于SVC异常中断的问题

请求各位高手:
      在使用RTX5的时候,想使用SVC异常中断由用户模式切换会特权模式,使用以下代码创建svc的1中断函数结构:
#define SVC1_0N(f,t)                                                         \
__SVC_INDIRECT(1) t    svc##f (t(*)());                                        \
__attribute__((always_inline))                                                 \
__STATIC_INLINE   t__svc##f (void) {                                       \
svc##f(svcUser##f);                                                         \
}

并使用该结构实例化函数:SVC1_0N(Sw_SupervisorMode,       void);
但实际运行时,并没有进入Sw_SupervisorMode函数体内部。想请教一下是什么原因呢?

eric2013 发表于 2019-11-30 22:35:58

#define SVC1_0N(f,t)                                                         \
__SVC_INDIRECT(1) t    svc##f (t(*)());                                        \
__attribute__((always_inline))                                                 \
__STATIC_INLINE   t__svc##f (void) {                                       \
svc##f(svcUser##f);                                                         \
}

void * const osRtxUserSVC = {Sw_SupervisorMode };
页: [1]
查看完整版本: 关于SVC异常中断的问题