Thread 中讨论的其他器件:SYSBIOS
工具/软件:TI-RTOS
尊敬的所有人:
我们使用的是 OMAP L138和 CCS 5.1.1。 ARM CPU 正在运行具有多个任务的 SYS BIOS。 我当前正在跟踪可能的指针错误、因此我使用如下中断激活了 MPU 单元:
//--------------------------------------------------------
静态 IntSetup HwiMpuInt;
void MPU_IrqHneln (void* x)
{
while (1);
}
void MPU_InitIrq (void)
{
HwiMpuInt.intVectId = PROTERR;// PROTERR = 27
HwiMpuInt.sysEvtCount = 1;
HwiMpuInt.sysEvtId[0] = 15;
HwiMpuInt.pCallbackFxn = MPU_IrqHnle;
HwiMpuInt.pCallbackArg=0;
HwiMpuInt.bEnable = 1;
if (Interrupt_add (&HwimpuInt)!= 0)
{
while (1);
}
}
//--------------------------------------------------------
当中断发生时、CCS 调用堆栈为:
Spectrum Digital XDS510USB Emulator_0/ARM9_0 (挂起)
main.c:572 0xC01789B8处的 MPU_IrqHnlfrld (void *)()
TI_SYSBIOS_family_ARM_DA830_Hwi_handlerSELF____I (struct ti_SysBIOS_family_ARM_DA830_Hwi_Object *、unsigned int)() at Hwi.c:957 0xC01A85C0
TI_SYSBIOS_family_ARM_DA830_Hwi_dispatchIRQC__I ()、位于 Hwi.c:822 0xC0190BA8
TI_SYSBIOS_family_ARM_DA830_Hwi_d调度 IRQ___I ()、位于 Hwi_asM.s470:85 0xC01A9444
TI_SYSBIOS_family_ARM_DA830_Hwi_handlerSELF____I (struct ti_SysBIOS_family_ARM_DA830_Hwi_Object *、unsigned int)() at Hwi.c:957 0xC01A85C0
0xFFFFFFFE (没有为0xFFFFFFFE 定义符号)
但是、我的目的是找到导致 MPU 中断的指令。 是否可以查看中断来自何处?
感谢你的任何帮助。
亚历山大