Is there anyway i can log the complete info provided by ROV Tool.
device: - c6670
mcsdk = .21 [latest available on ti website]
ccsv5 = .69
basically i am seeing a crash issue, and i am currently connecting the dsp to jtag and debugging. wanted a way if i can have the dump of the ROV contents and then i can import them later [offline] and do analysis/processing.
Also if dumped data is available, how to match them to the fields shown in the ROV Debug Tool. Kindly help.
Sorry, that capability/feature is not implemented today. It's a good idea and we will add it to the list of possible future additions.
That's a good question, I don't think that you can "save" the ROV contents with a single command. For each module in ROV it literally needs to read the data from the target while the core is halted.
I think this may be a question for the Code Composer Studio forum.
Have you considered of logging the data in run-time? I believe this option is available when using the Ethernet port to send the log data to CCS. Even at that point, the data would be stored in a binary form and not really usable other than in CCS.
Hi MarkGrosen and Tom Kopriva,
Thanks for your comments/post. Actually i am seeing crash issue in field [other country deployment] so debugging is little difficult for me to personally connect jtag and see.
Answering to Tom's question, we do have mechanism of logs through ethernet during run-time, but thats NOT for sys/bios [ROV Kind of]-related stuff [i mean to say application related logs].
I have one more question,do we have a way wherein after dsp crash, some exception handler will wake up and send some data through ethernet, is such kind of option is supported, please let me know. let me detail it below [the option i am looking for]
1. dsp crashes.
2. exception handler wakes up.
3. exception handler has a buffer [this is logging mechanism based buffer] which needs to be sent out through Ethernet.
Kindly let me know if such process/procedure is possible, if so how [please point me to any example/literature].
Short answer: I don't know and I would assume it depends on the root cause of your exception. If your system goes out to the woods due to some corrupt registers do to a bad stack pointer, you may not be able to recover from that to send your data....
I'm also not familiar in what you are using to transport the data via Ethernet? Does it require other tasks (which may have also been corrupted), other interrupts, etc... to be running?
SYS/BIOS uses a XDC run-time module which handles run-time errors. You can refer to the wiki page for more info on it.
few points on what you told
1. "I don't know and I would assume it depends on the root cause of your exception. If your system goes out to the woods due to some corrupt registers do to a bad stack pointer, you may not be able to recover from that to send your data...."
system is mainly causing due to sys/bios-related corruption,
2.I'm also not familiar in what you are using to transport the data via Ethernet? Does it require other tasks (which may have also been corrupted), other interrupts, etc... to be running?
i dont want to run any bios related stuff in that mode, here is my short form of code
crash -> exceptionhandler() [crash will invoke exceptionhandler function/API]
Note: - This does NOT require any tasking [as sys/bios is already crashed,]
sock_open(); //ethernet socket open
sock_send() //ethernet data send [I have data ready by the time, dsp arrives here]
my data buffers are ready at the time of crash with some info and they are in DDR3 memory, so let me know whether such arrangement is possible.
Hi RC Reddy,
Once an exception happens, all bets are off.
I can't say for sure if it will work because it depends on what caused the exception. For example, if your system stack has gotten corrupted, then calling a bunch of functions from within an exception handler probably wouldn't work.
You could try to send the data out. The worst that could happen is that it doesn't work.
Do you get some sort of register dump or output log explaining what exception event has happened?
i have written my own sys-bios analysis debug module, which is NOT so extensive but it is enoff to give some direction and i will be logging that in a cyclic buffer. Let me explain in detail steps
1. my dsp has a cylic buffer.
2. this buffer carries little sys-bios debug information.
3. this buffer is small enoff to fit in L2SRAM.
the following is the mechanism i wanted from Ti
A. dsp crashes and it invokes exception handler
B. exception handler should send the buffer [step 3] to ethernet [outer world].
I explained in basic detail steps, Kindly help.
You can add your own hook function into BIOS' exception handling for the C6X.
Take a look at the API docs for "ti/sysbios/family/c64p/Exception". There you will find information on how to add your own hook function that is called when an exception occurs.
You can create a hook function with this prototype:
typedef Void (*Exception_FuncPtr)(Void);
and then try to send out the data via Ethernet. Add this to your .cfg file:
var Exception = xdc.useModule('ti.sysbios.family.c64p.Exception');Exception.exceptionHook = "&yourHookFunction";
Thanks for your reply. I think this logic suits my needs, let me explore it and get back to you [if i face any issues].
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.