Hi, My application goes into a Deadlock condition OR some_Unknown_Problem. If i use JTAG and do 'Connect' , can i get the exact place of problem OR atleast near to the place of problem ? Any other ideas ?? I Use CCS(Code Composer Studio) & OMAP.
My VxWorks application goes into Deadlock condition. How to View/Identify Reason for Deadlock using VxWorks ? I would like to know a built-in feature in Vxworks that will help in identifying the Deadlock condition and tell me the reasons for the Deadlock .
I do not want to use this programming approach for finding the reason for Deadlock.
Is there any Feature in Vxworks for identifying the deadlock reason ? I do not find any info for Finding the Reason for Deadlock using VxWorks. I use PowerPC. Kindly provide me some solution for this .
Do you have a serial port avaiable? You could output a message of some sort whenever an important event takes place. It will slow down your system though unless you just dump all the messages into a big buffer for slow output. Of course this will probably overflow and give you a fresh crash but such is life.
Your JTAG links might enable you to step-through the code and examine registers and other things. Mine will give me a call history so I can see what functions have been called to get me to where I am.
It all depends on how your program is laid out really. If everything is called from one scheduler function then that is a good place for debug code but if you are relying on VxWorks to define your architecture then things are a bit harder.
Basically, you need to think of a method that alerts you when something important happens - a new task, deleting a task, a request for a resource etc - and you need to watch for it getting stuck. This could utilise a debugger, a serial terminal, flashing LEDs or a myriad of other methods.
How do you know it is a deadlock and not an infinite loop or other issue? I believe VxWorks has a facility to view the current tasks and their status. I don't remember how this is done (it has been over 10 years) but it should tell you what they are doing and if they are waiting for a resource, what that resource is.
You should be able to program up a simple status indicator by adding a process to monitor the other processes. We used to do that as part of a watchdog function. But if you don't want to do any programming, you need to learn about the VxWorks tools.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.