- Everything seems to be in place. Integration tests have yet to be written, but the application seems quite stable when tested.
2.0.0pre6
- Fixed: Exceptions in the serial thread in dwlink.py are now caught and gracefully handled. Instead of showing a backtrace and keeping the connection open, the server is immediately terminated. - Added: Interpreting the argument "-c gdb_port <port>" provided by the Arduino IDE 2 when pretending to call OpenOCD. The good thing is that this is always an unused port! - Added: Check the voltage before ISP programming and raise a Fatal Error if the target is not powered. This gives a more reasonable output than "ISP command failed."
2.0.0pre5
- Added: `monitor info` command - Added: test cases for all modules that pass python -m unittest - Changed: Made all modules pylint compliant
2.0.0pre4
- Added: Range stepping. It works most effectively with just one exit point in the range. Otherwise, we stop at every branch point and single step. It will be more effective if more hardware breakpoints are accessible. I do not see a reason to use software breakpoints to implement range stepping. - Added `monitor rangestepping` command. - Fixed: several bugs introduced by refactoring.
2.0.0pre3
- Added: Tests for GdbHandler, Memory, and BreakAndExec - Changed: Simplified flash cache management. We only have one consecutive address space (not the potentially many caused by different vFlashErase statements) - Changed: By now, the new execution code is the standard (`_old_exec == False`)
2.0.0pre2
- Changed: Refactored memory access. It now has its own class. - Changed: All accesses to auxiliary classes are now through methods so that I can use auto-speccing.