Difference between revisions of "OpenOCD PandaBoard"

From eLinux.org
Jump to: navigation, search
(Introduction)
(added categories)
 
(8 intermediate revisions by one other user not shown)
Line 1: Line 1:
== Introduction ==
+
= Introduction =
OpenOCD mainline includes preliminary support for Cortex-A9 and Pandaboard.  See the [http://openocd.berlios.de/web/ OpenOCD homepage] for instructions to checkout and build from source.
+
OpenOCD mainline includes preliminary support for Cortex-A9 and Pandaboard.  See the [[Compiling_OpenOCD]] for instructions to checkout and build from source, or visit [http://openocd.berlios.de/web/ OpenOCD homepage].<br>
 +
For using this solution, you need at least:<br>
 +
- a usb jtag dongle,<br>
 +
- an openocd excutable running on a host machine,<br>
 +
- a gdb cross compile for arm platform.<br>
  
== Working Items ==
+
[[Eclipse]] can be used as a [[GDB]] front end.<br>
* halt, single-step, resume
+
* breakpoints and watchpoints
+
* reading/writing memory
+
* inspecting core/register state
+
  
 +
 +
= JTAG Hardware HowTos =
 +
* [[Flyswatter2_Pandaboard_How_To|Connecting TinCanTools Flyswatter2 to the PandaBoard]]
 +
* [http://www.omappedia.com/wiki/Android_Debugging Android Debugging]
 +
 +
= Known Issues =
 +
 +
== Memory Access ==
 
All memory accesses (including md/mw commands and disassembly) execute through the debug AHB on the L3 interconnect; resources on the L2 interconnect currently can not be accessed.  This includes ROM, local PRCM, and anything in the Cortex-A9 "private memory region" (snoop-control unit, global interrupt controller, timers and watchdogs).
 
All memory accesses (including md/mw commands and disassembly) execute through the debug AHB on the L3 interconnect; resources on the L2 interconnect currently can not be accessed.  This includes ROM, local PRCM, and anything in the Cortex-A9 "private memory region" (snoop-control unit, global interrupt controller, timers and watchdogs).
  
== Non-Working Items ==
+
== SMP Support ==
* debugging A9 cores simultaneously
+
 
* accessing L2 memory resources
+
debugging A9 cores simultaneously is currrently not supported
* unify a8/a9 code
+
  
 
== Debug clocking ==
 
== Debug clocking ==
Line 22: Line 29:
 
The current [http://gitorious.org/x-loader x-loader] mainline includes a workaround.
 
The current [http://gitorious.org/x-loader x-loader] mainline includes a workaround.
  
== JTAG Dongle Howtos ==
+
[[Category:OpenOCD]]
* [[Flyswatter2_Pandaboard_How_To|Connecting TinCanTools Flyswatter2 to the PandaBoard]]
+
[[Category:Debugging]]
* [http://www.omappedia.com/wiki/Android_Debugging Android Debugging]
+
[[Category:PandaBoard]]

Latest revision as of 13:56, 11 May 2012

Introduction

OpenOCD mainline includes preliminary support for Cortex-A9 and Pandaboard. See the Compiling_OpenOCD for instructions to checkout and build from source, or visit OpenOCD homepage.
For using this solution, you need at least:
- a usb jtag dongle,
- an openocd excutable running on a host machine,
- a gdb cross compile for arm platform.

Eclipse can be used as a GDB front end.


JTAG Hardware HowTos

Known Issues

Memory Access

All memory accesses (including md/mw commands and disassembly) execute through the debug AHB on the L3 interconnect; resources on the L2 interconnect currently can not be accessed. This includes ROM, local PRCM, and anything in the Cortex-A9 "private memory region" (snoop-control unit, global interrupt controller, timers and watchdogs).

SMP Support

debugging A9 cores simultaneously is currrently not supported

Debug clocking

The debugger may not be able to access the A9 processor cores due to an issue with omap4430 clocking. If your debugger can identify JTAG devices, e.g.:

Info : 375 316 core.c:948 jtag_examine_chain_display(): JTAG tap: omap4430.jrc tap/device found: 0x3b95c02f (mfg: 0x017, part: 0xb95c, ver: 0x3)

but no Cortex-A9 target appears, you are probably running into this issue. Verify by connecting the debugger with no SD card inserted: if it now works, you're hitting this issue.

The current x-loader mainline includes a workaround.