New OpenOCD developer here...
I've been doing some work to try to add support for PowerPC. I have an
eval board that uses OSBDM and has a Freescale MPC5634.
It is talking and I can get some things working, but there are many
things not yet handled and some weirdnesses. Experienced devs will
hopefully be able to point me in the right direction to address these
and move forwards.
1.
OSBDM - the CPU on this eval board has a "JCOMP" pin which needs to be
asserted to enable JTAG. The OSBDM code isn't doing that. It was easy to
add code to resolve that. Is there any reason this shouldn't be present
for all OSBDM interfaces ?
case JTAG_RESET:
if (cmd->cmd.reset->trst) {
LOG_ERROR("BUG: nTRST signal is not supported");
retval = ERROR_FAIL;
} else {
retval = osbdm_flush(osbdm, queue);
+/* JCOMP setting critical on MPC5634M/OSBDM */
+if (retval == ERROR_OK)
+retval = osbdm_jcomp(osbdm, 0); /* Activate */
if (retval == ERROR_OK)
retval = osbdm_srst(osbdm, cmd->cmd.reset->srst);
}
break;
where osbdm_jcomp is a new function that asserts that line.
2.
With help from the gdb mailing list I learned of "set tdesc filename"
and used a target description that excluded the PPC Altivec registers
that don't exist on this chip. (Solved.)
3.
I seem to get random register synchronisation. Most times when I connect
gdb to OpenOCD, gdb shows all the processor registers as zeros even
though OpenOCD knows what their real contents are. I have to use
flushregs and then usually the latest values are fetched.
4.
What's the correct way to live view memory or variables?
I'm aiming to use Eclipse / Zylin to work on my target code. Watching
stuff in realtime is very important to me and something I'm used to from
Freescale/P&E tools. I found some online references about a "live view"
button, but I'm not seeing it.
5.
How to use "non-stop" or asynchronous mode? I'm thinking this is needed
for point 4, but when I try to use it, gdb tells me that the target
doesn't support it. Not sure how to tell gdb that it does.
6.
Is there a way to "hot-sync" with a running target?
7.
What's needed to let gdb or Eclipse "know" what regions of memory need
hardware breakpoints?
I'm sure I'll have other questions as my work proceeds, but that's all
for now.
regards
James Murray
------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel