About
This is about software for using the
TMS320C5x DSP Starter Kit (DSK) with GNU/Linux.
Somewhere in the 90's I got myself this little Board with DOS software that came on a
5 1/4 inch floppy.
Software
The Software consists of an assembler, a debugger (source code included!) and some pieces of example code.
The old DOS debugger was written in borland-cpp and uses a strange mixture of assembler/c to communicate over RS-232. As a result the old debugger does not run in a DOS box or emulation on any recent operating system.
To create something like the old DOS dsk5d we need at least
- communication over RS-232
- resetting, initializing the DSK
- dumping and modifying program and data memory
- register views
- loading dsk-format programs
- setting breakpoints
- different modes of program execution
- disassembling memory
Development
I started with a command line program to set up the main communication routines. Later on I embedded these routines in a GTK-program. With the time I discovered "glade" I decided to do a complete rewrite as I am still learning...
The way the DSK debugger kernel and the DOS software are communicating can be seen in the borland source code available at
ftp://ftp.ti.com/pub/tms320bbs/c5xdskfiles/
Some other fine links:
Status
| task |
status |
| RS-232 communication routines |
done |
| reset via CTS line |
done |
| initialising DSK |
done |
| read D/P memory |
done |
| fill D/P memory |
done |
| load DSK-files |
done |
| read registers |
done |
| put registers in text widget! |
done |
| execution to address |
75% |
| breakpoints |
25% |
| execution to breakpoint |
75% |
| disassembler |
75% |
| TRAP management |
50% |
| single step execution |
75% |
| automatic update of reg-widget |
done |
| display data from load-dialog |
0% |
Screenshot
- here is a snapshot of the software in action.
Download
As of Jan 2003 there is only a very early version to offer. It is very basic and somewhat buggy.
Stay tuned as this is under heavy development.
- gc50-0.2.tar.gz (03 Jan 2003):
- Bugfix in representation of ARx registers
- Changes in GUI (still under development)
- execution to address implemented
- reverse assembler works
- gc50-0.3.tar.gz:
- even more changes in the GUI
- Status registers added (APR etc.)
- query for connection status added
- execute to breakpoint / stop works
- gc50-0.4.tar.gz (04 Jan 2003):
- single stepping added
- automatic update of registers
- automatic dump/update after reset
Feedback