Other Parts Discussed in Thread: TMS320C6747
Hi,
I am using the following setup:
- C6455 DSP with the EDMA, GPIO, INT, EMIF, SRIO, EMAC peripherals
- DSP/BIOS 5.33.06
- CGTools 6.1.12
- NDK 2.0.0.0
My project runs a time and halts at UTL_halt. I placed a breakpoint on the exception vector, at a label called 'hwi1'. When the application stops there, the B3 register has a value that points to a valid instruction, that location differs. I have already excluded the algorithms, getting the interrupts working.
The Message Log of Execution Graph Details show the message below:
1097622 SWI: end KNL_swi (TSK scheduler) (0x8e4fc8) state = done
1097623 SEM: post <unknown handle> (0x8a593c) count = 47
1097624 SWI: post processBufferSwi (0x8e4f70)
1097625 SWI: begin processBufferSwi (0x8e4f70)
1097626 SEM: post <unknown handle> (0x8a5e0c) count = 1
1097627 SWI: post KNL_swi (TSK scheduler) (0x8e4fc8)
1097628 SEM: post <unknown handle> (0x8a591c) count = 0
1097629 SWI: post KNL_swi (TSK scheduler) (0x8e4fc8)
(continue run,then halted at UTL_halt)
1097630 EXC_exceptionHandler: EFR=0x2
1097631 NRP=0xe0137d80
1097632 mode=supervisor
1097633 Internal exception: IERR=0x10
1097634 Resource conflict exception
1097635 SYS abort called with message 'Run-time exception detected, aborting ...'
I do not modify the task context during runtime. Maybe the NDK or the scheduler does this. I am using a task switch hook function for checking the task stack, system stack and logging the previous and next task. This is the only piece of code working on the task context.
Regards,
Christoph