runtest/idle mode commands?

I’m new to OOCD, and I’ve been studying the documentation looking for a way to keep a watchdog alive during code download and processor halt. So far I haven’t found the method, if it can be done.

I’m using an arm-based chip which has a watchdog that cannot be disabled . :? … and there isn’t a way to stretch the clock during halt.

Using other interfaces, I have found that I can configure to periodically update the watchdog timer during JTAG idle-mode with a write command.

With OpenOCD is it possible to do the same thing or something equivalent?

I am currently using OOCD with other chips in the same family that do not have the wd problem, and it would be great to use it for all chips.

What device are you using?

Spen

I’m using the Amontec JTAGkey, with arm7tdmi targets

could you be a bit more specific, there are lots of arm7tdmi targets

Regards

Spen

Ah, well it’s a DICEII

Regardless, since the idle command I need is a single memory write to a fixed arm memory location, I think that I’m asking about a feature of the OCD driver/JTAG interface.

I hope this is possible, because alternative JTAG probes that I know of that can do this are not as cost effective (Mentor/EPI MAJIC, Abatron BDI2000)

Hi,

this isn’t currently implemented in the OpenOCD, but it shouldn’t be too hard to add such a feature. How often does that watchdog need to be called? Something on the order of several seconds would be quite easy, but if we’re talking about tenth of a second this might be difficult, because there’s no preemption of stuff like flash programming.

There’s already a timer framework, so you would just have to register a handler that’s called every n seconds which then executes some user defined script.

Regards,

Dominic

Thanks for the suggestion.

I’ve registered a timer handler, with a period of 2 seconds, which is less than half of the watchdog timeout. Timer callbacks are happening as expected, and this works when the target is halted, and I’m getting callbacks during large image loads as well.

This is working well now.