Hello,
Currently I am trying to handle the NMI and ILLEGAL trap process on 28335 which runs SysBios 6.32.05.54.
I want to dump the system stack and the task stack information so we can do the off line analysis to know where we crash, and the snap shot of each task.
The following link just show us how to do the analysis, but I have no idea about how to generate the dump data for 28335 with SysBios 6.32.05.54
http://processors.wiki.ti.com/index.php/Crash_Dump_Analysis
Hi Tony,
I was able to copy some register data from within the CCS register view, however it's not in the same format as shown in the ExampleCrashDump.txt file:
PC 0x00700000 Core Register CLK 0x00000000 Core Register SP 0xC30CE320 Core Register FP 0xC30CE320 Core Register A0 0xC30B7C8C Core Register A1 0x00000000 Core Register A2 0xC30C0080 Core Register A3 0xFFFFFF16 Core Register A4 0xC30CE7F8 Core Register A5 0x00000018 Core Register A6 0xFFFFFFFF Core Register A7 0xC30CD6C0 Core Register A8 0x000000E7 Core Register A9 0xC30CE2FC Core Register A10 0x00000000 Core Register A11 0x00000000 Core Register A12 0x00000000 Core Register A13 0x00000000 Core Register A14 0x00000000 Core Register A15 0x00000000 Core Register A16 0x00000000 Core Register A17 0x00000000 Core Register A18 0xC30A9658 Core Register A19 0x00000000 Core Register A20 0x85C02904 Core Register
I got the above by just selecting registers in the register view and hitting "ctrl-c" on the keyboard to copy.
But, I suspect there's a better way to get it. Let's see what the CCS team says; I'll have this forum reposted there.
Steve
Hi Steve,
What I want to do is to do the core dump on chip without Jtag and CCS connected, and dump data can either be stored in Flash or sent out by communication channel.
So I can do the off-line analysis by using your DebugServer tool.
Tony,
The registers are memory mapped, so you can read them from within your code in order to store their values elsewhere.
Are you trying to do this for a system that is already deployed in the field?
I am trying to do this in a pre-study system, in which several task was created, and
in case NMI or ILLEGAL interrupt was triggered, I want to dump out the enough CPU register and task stack information,
so I can do the off line backtrace analysis, and know where each task is running just before crash.
You have talked about CPU register dump.
but How to handle the task stack?
B&R
tony
tony,
You can access a Task's instance information, including its stack pointer and size using the Task_stat() API.
Please refer to the SYS/BIOS API guide (available under your CCS help) for the ti.sysbios.knl.Task module for more information.