ntdisp, short for NtD In System Programming, is a system for
programming LPC and STM32 (and possible others) embedded devices.
Further backend can be added by implementing the NtdIsp virtual
class: NtdStm and NtdLpc are two examples.
Three different front-ends are provided: a GObject based library
(for developers), an executable binary (for computer geeks) and
a graphical interface (for less geeky users).
ntdisp is a cross-platform project and should run on POSIX
systems that implements unistd.h and where the communication
devices are mapped to files (GNU/Linux, *BSD and OpenIndiana
should fit the bill) and on Windows platforms that provide the
needed APIs (AFAICT, all versions are supported). The graphical
interface needs to be built on a platform supported by the
GTK+3 library. If needed, the compilation of this graphical
front-end can be disable at configure time.
When the program does not work out of the box on a platform
where it should, it is a bug. Please consider submitting it
on the bug tracker: http://dev.entidi.com/p/ntdisp/issues/
Below, a typical command line session on POSIX systems:
ntdisp -p lpc -d /dev/ttyS0 -iC
ntdisp -p lpc -d /dev/ttyS0 -W dump.bin
ntdisp -p lpc -d /dev/ttyS0 -R > new-dump.bin
and the equivalent on Windows:
ntdisp.exe -p lpc -d COM1 -iC
ntdisp.exe -p lpc -d COM1 -W dump.bin
ntdisp.exe -p lpc -d COM1 -R > new-dump.bin