IBugger

From freemyipod.org
Revision as of 16:42, 22 July 2009 by TheSeven (talk | contribs) (Rewrote the iBugger stuff)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
iBugger Loader

iBugger Loader

iBugger Loader is the loader for iBugger, a debugger written by TheSeven. It is a .htm file invoked via the notes exploit. iBugger Loader allows code to be uploaded and data to be dumped through USB. The most recent released version of the iBugger package is located here. iBugger Loader can also be used to upload arbitrary unsigned code without space restrictions (besides RAM size), and it removes the hassle of having to boot to disk mode all the time to upload new code.

iBugger (Core)

iBugger

iBugger is being written by TheSeven. It aims to be a fully-featured debugger on the iPod. iBugger is sent to iBugger Loader via USB. Current features are:

  • Up- and downloading memory regions
  • Executing uploaded code
  • Dumping the processor's registers
  • Halting the program and showing/modifying registers and/or memory contents
  • Catching prefetch aborts, data aborts, and undefined instruction exceptions, and keeping record of the register contents at the time the abort occurred
  • Debugging console (printf and other functions available to uploaded code, which will print via USB to a console on the attached PC. The client (PC) side is still read-only, but the core would support a bidirectional console. Feel free to add this on the PC side)
  • Very little changes needed to the code being debugged, to allow running it in iBugger

Rockbox bootloader

2G Rockbox bootloader

We've managed to run the Rockbox bootloader for Nano2G (still in a very early state) inside iBugger (picture shown to the right). It is important to understand that this can only be achieved while tethered to a computer. A different way to boot a custom firmware (similar to how it was done on the older iPods) will be researched in the long term.