From: Sam C. <dsb...@gm...> - 2014-07-24 20:39:24
|
First of all, I will say that I have searched the archives and found many topics discussing "Timeout waiting for halt" in OpenOCD, however, it is usually from the context of bringing up a new board/CPU/JTAG programmer, etc... I am trying to understand what can happen in my code to cause "Timeout waiting for halt" errors. My debugging setup works great most of the time, but there is a state that my software is getting in to where a "halt" command no longer works and I am trying to determine what the cause could be. This code is running on an ARM Cortex-A9 CPU, but the question is meant to be general. I have looked at the OpenOCD code and I see that if I try to "step over" an infinite look it will return the error because it places a break point on the instruction following the loop and "continues". I am trying to figure out what may be happening in the code that could cause the "halt" command to fail to halt while running with no breakpoints enabled. Some Thoughts: 1) Code that changes clocks may be disrupting the JTAG clock speed 2) Code that turns off or resets SDRAM could cause a problem when halting 3) Data/Prefetch Aborts could cause a problem I don't think any of those things are happening. Any ideas on what else to look for?? |
From: <st...@co...> - 2014-07-24 20:54:10
|
I'm assuming this is linux...you might try adding a boot target with kernel command line parameter "nohlt". See kernel source regarding nohlt and /dev/ttyJ0: Documentation/devices.txt ----- Original Message -----From: Sam Catch <dsb...@gm...>To: Ope...@li...Sent: Thu, 24 Jul 2014 20:39:15 -0000 (UTC)Subject: [OpenOCD-user] Possible Program Faults that lead to "Timeout waiting for halt" First of all, I will say that I have searched the archives and found many topics discussing "Timeout waiting for halt" in OpenOCD, however, it is usually from the context of bringing up a new board/CPU/JTAG programmer, etc... I am trying to understand what can happen in my code to cause "Timeout waiting for halt" errors. My debugging setup works great most of the time, but there is a state that my software is getting in to where a "halt" command no longer works and I am trying to determine what the cause could be. This code is running on an ARM Cortex-A9 CPU, but the question is meant to be general. I have looked at the OpenOCD code and I see that if I try to "step over" an infinite look it will return the error because it places a break point on the instruction following the loop and "continues". I am trying to figure out what may be happening in the code that could cause the "halt" command to fail to halt while running with no breakpoints enabled. Some Thoughts: 1) Code that changes clocks may be disrupting the JTAG clock speed 2) Code that turns off or resets SDRAM could cause a problem when halting 3) Data/Prefetch Aborts could cause a problem I don't think any of those things are happening. Any ideas on what else to look for?? |
From: Sam C. <dsb...@gm...> - 2014-07-24 21:02:00
|
Thanks for the response, I will check that out. But the code in question is actually a fairly small bare-metal application. On Thu, Jul 24, 2014 at 3:54 PM, <st...@co...> wrote: > I'm assuming this is linux...you might try adding a boot target with > kernel command line parameter "nohlt". See kernel source regarding nohlt > and /dev/ttyJ0: > Documentation/devices.txt > > ----- Original Message ----- > From: Sam Catch <dsb...@gm...> > To: Ope...@li... > Sent: Thu, 24 Jul 2014 20:39:15 -0000 (UTC) > Subject: [OpenOCD-user] Possible Program Faults that lead to "Timeout > waiting for halt" > > First of all, I will say that I have searched the archives and found > many topics discussing "Timeout waiting for halt" in OpenOCD, however, it > is usually from the context of bringing up a new board/CPU/JTAG programmer, > etc... > > I am trying to understand what can happen in my code to cause "Timeout > waiting for halt" errors. My debugging setup works great most of the time, > but there is a state that my software is getting in to where a "halt" > command no longer works and I am trying to determine what the cause could > be. > > This code is running on an ARM Cortex-A9 CPU, but the question is meant > to be general. > > I have looked at the OpenOCD code and I see that if I try to "step over" > an infinite look it will return the error because it places a break point > on the instruction following the loop and "continues". I am trying to > figure out what may be happening in the code that could cause the "halt" > command to fail to halt while running with no breakpoints enabled. > > Some Thoughts: > 1) Code that changes clocks may be disrupting the JTAG clock speed > 2) Code that turns off or resets SDRAM could cause a problem when halting > 3) Data/Prefetch Aborts could cause a problem > > I don't think any of those things are happening. Any ideas on what else > to look for?? > > > > ------------------------------------------------------------------------------ > Want fast and easy access to all the code in your enterprise? Index and > search up to 200,000 lines of code with a free copy of Black Duck > Code Sight - the same software that powers the world's largest code > search on Ohloh, the Black Duck Open Hub! Try it now. > http://p.sf.net/sfu/bds > _______________________________________________ > OpenOCD-user mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/openocd-user > > |