Difference between revisions of "OpenOCD PandaBoard"
(added categories) |
|||
(5 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
− | + | = 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 [http://openocd.berlios.de/web/ OpenOCD homepage]. | + | 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> | ||
− | + | [[Eclipse]] can be used as a [[GDB]] front end.<br> | |
+ | |||
+ | |||
+ | = JTAG Hardware HowTos = | ||
* [[Flyswatter2_Pandaboard_How_To|Connecting TinCanTools Flyswatter2 to the PandaBoard]] | * [[Flyswatter2_Pandaboard_How_To|Connecting TinCanTools Flyswatter2 to the PandaBoard]] | ||
* [http://www.omappedia.com/wiki/Android_Debugging Android Debugging] | * [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). | ||
− | + | == SMP Support == | |
debugging A9 cores simultaneously is currrently not supported | debugging A9 cores simultaneously is currrently not supported | ||
Line 21: | Line 28: | ||
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. | ||
+ | |||
+ | [[Category:OpenOCD]] | ||
+ | [[Category:Debugging]] | ||
+ | [[Category:PandaBoard]] |
Latest revision as of 06:56, 11 May 2012
Contents
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.