This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
如何使用 TM4C129*上的 TI-RTOS 调用故障处理程序,特别是 SVCall?
我不认为使用 Hwi_post 是可能的、因为传递的参数必须是数据表表表表2-9中的一个中断编号。
在 Tivaware 库的引导加载程序示例中执行以下操作:
(*(void (*)(void))(*(uint32_t *) 0x2C))();
看起来不起作用、(TI-RTOS 在启动时将矢量表复制到其他位置?)
应该更直、但对我来说仍然不明显。
感谢你的任何帮助。
你好、sjf、
这里出现了一个类似的主题、您能否查看一下它以了解您是否获得有关此主题的更多信息? e2e.ti.com/.../3293774
您好 Ralph、该帖子讨论了如何处理我已经设置的 SVCall 故障。 我正在尝试触发 TI-RTOS 内的 SVCall 故障/中断、如果不触发硬故障、我似乎无法做到这一点。
我发现可以使用内联汇编来调用 SVCall 故障处理程序。 我最初以为会有一个 TI-RTOS 函数允许这样做。
使用 IAR EWARM、可以执行以下操作:
_asm ("Svc #0");
执行上述行时调用的自定义 SVCallException 函数可以指定为下面的 Code Composer 屏幕截图所示。 也可以使用以下行在 TI-RTOS cfg 文件中进行设置:
VAR ArmHwi = xdc.useModule('ti.sysbios.family.arm.m3.Hwi');
ArmHwi.svCallFunc ="&MySVCallException;
ArmHwi.hardFaultFunc ="&MyHardFaultException";
ArmHwi.memFaultFunc ="&MyMemFaultException;
ArmHwi.busFaultFunc ="&MyBusFaultException;
ArmHwi.usageFaultFunc =“MyUsageFaultException”;
最后、我的目标是制作一个奇特的引导加载程序、现在、我将尝试在引导加载程序和应用程序之间来回切换的机制。