This is the bug/patch tracker for Rockbox. Click here for more information.
Quick links: Bugs · Patches · Rockbox frontpage
FS#8454 - Implement debug() for ARM architectures via JTAG DCC
Attached to Project:
Rockbox
Opened by Catalin Patulea (Catalin Patulea) - Sunday, 13 January 2008, 19:41 GMT+2
Opened by Catalin Patulea (Catalin Patulea) - Sunday, 13 January 2008, 19:41 GMT+2
|
DetailsThe ARM hardware debugger via JTAG spec (EmbeddedICE) specifies a sideband channel for target<->debugger communication called DCC (Debug Communications Channel). openocd, an open-source debugger compatible with the EmbeddedICE standard, supports using this channel for textual debug messages from the target.
The attached patch implements the target side of this channel. Messages can be enabled in openocd using the "target_request debugmsgs enable" command. WARNING: If -DDEBUG is enabled and there is no hardware debugger attached to drain the DCC buffer, debug() becomes very slow because it has to wait for the writes to time out. However, this is unlikely to happen because -DDEBUG isn't typically enabled for target builds. |
This task depends upon
Fix for "Error: selected processor does not support `bkpt 0'" on non-arm9ej-s architectures (like arm9tdmi).
Oh, and this patch also fixes some concurrency issues with debugf (which is not reentrant because of the static printf buffer).
Now also fixes "undefined reference to `debug_init'" for Normal (as opposed to Bootloader) builds.
Once more with passion! (Fix double-newlines due to openocd appending a newline.)