Adding reset() means it will start run() now

Still hangs on subsequent invocations though.
Annotated traced code from wireshark+windows stlink

Not really right yet, I get the same corrupted patterns, not sure how to
resync it :(
Working on a little shell to dump this, at least while I'm testing.

Still missing something in the usb trace, it doesnt' start runningn when
I think it should....

Pressing start in stlink's swo windows starts the processor running.