Keith Packard [Wed, 31 Dec 2008 06:35:53 +0000 (22:35 -0800)]
Save/restore registers to host during memory operations. Cache ROM data.
Because the debug port uses instructions for most operations, the debug code
will clobber registers used by the running program. Save and restore these
to avoid corrupting application data.
If the ROM file is known, use that to return data instead of fetching it
from the target to improve performance.
Keith Packard [Mon, 29 Dec 2008 20:35:11 +0000 (12:35 -0800)]
Fix flashing less than a full page of data. Verify page at a time.
The 8051 flashing code requires special help with counts with non-zero low
byte. Also, instead of verifying the entire flash contents at the end,
verify each page as it goes.
Keith Packard [Sun, 28 Dec 2008 08:09:30 +0000 (00:09 -0800)]
Save/restore regs when reading/writing memory. Add SFR access.
The DPL and ACC registers are used by the memory access code,
so they need to be saved and restored. Stuff them up high in ram for now;
this should probably be fixed to pull them back to the host instead.
Special SFR access is required as not all SFRs are visible in the unified
address space.
Keith Packard [Sat, 27 Dec 2008 07:05:04 +0000 (23:05 -0800)]
Switch to libusb-1.0 and use async interface.
The async libusb interface offers substantial performance benefits by not
making each command wait for the reply. This makes talking over this
interface almost reasonable.
Keith Packard [Mon, 22 Dec 2008 07:33:35 +0000 (23:33 -0800)]
Add preliminary version of s51, a UI clone of the 8051 emulator.
sdcdb provides source-level debugging using the 8051 emulator, s51. By
emulating that emulator a the UI level, we should be able to get source
debugging right on our target platform.
This is just the preliminary structure for the program with most commands
not yet implemented.