| 1 |
1026 |
ivang |
This directory contains various support software for using RTEMS on
|
| 2 |
|
|
the TS-1325. Descriptions follow.
|
| 3 |
|
|
|
| 4 |
|
|
|
| 5 |
|
|
DOS Loader
|
| 6 |
|
|
==========
|
| 7 |
|
|
|
| 8 |
|
|
The dos_sup directory contains a DOS-based loader (loader.com) for
|
| 9 |
|
|
RTEMS executables on the TS-1325. Fully commented source code is
|
| 10 |
|
|
included.
|
| 11 |
|
|
|
| 12 |
|
|
Once an application has been compiled and the resulting ELF format
|
| 13 |
|
|
executable converted to raw binary format and transferred to the
|
| 14 |
|
|
TS-1325, the DOS loader program must be used to load and execute
|
| 15 |
|
|
it. The loader is simply invoked as "loader filename", where the
|
| 16 |
|
|
filename cannot contain an explicit path.
|
| 17 |
|
|
|
| 18 |
|
|
The loader will work with files stored either on the C: ram disk or
|
| 19 |
|
|
the A: flash disk. Since Zmodem transfers to the C: ram disk are much
|
| 20 |
|
|
faster than to the A: disk, most development work will be done using
|
| 21 |
|
|
the C: disk. Once completed, an application may copied to the
|
| 22 |
|
|
(non-volatile) A: disk. Additionally, one may add the line "loader
|
| 23 |
|
|
filename" to the AUTOEXEC.BAT file, allowing the application to be
|
| 24 |
|
|
run automatically at boot time.
|
| 25 |
|
|
|
| 26 |
|
|
Note that the DOS loader will abort and exit if it detects that the
|
| 27 |
|
|
push-button switch is pressed, thus allowing one to break out of a
|
| 28 |
|
|
pathological "boot loop" situation i.e. abort an automatic load from
|
| 29 |
|
|
the AUTOEXEC.BAT file.
|
| 30 |
|
|
|
| 31 |
|
|
|
| 32 |
|
|
elf2exe
|
| 33 |
|
|
========
|
| 34 |
|
|
|
| 35 |
|
|
The elf2exe script is just a convenient wrapper for the objcopy
|
| 36 |
|
|
command. It can convert a list of RTEMS-generated ELF files to raw
|
| 37 |
|
|
binary images that can be loaded on the TS-1325. The converted files
|
| 38 |
|
|
are saved in the current directory with a ".exe" extension.
|
| 39 |
|
|
|
| 40 |
|
|
|
| 41 |
|
|
TS-1325 Ada95 Support
|
| 42 |
|
|
=====================
|
| 43 |
|
|
|
| 44 |
|
|
The TS-1325 includes a few peripherals which are very useful for
|
| 45 |
|
|
embedded development: a push-button switch, an LED, and a parallel
|
| 46 |
|
|
port which may be used for digital I/O. Note that the pin-out for the
|
| 47 |
|
|
parallel port is given in the TS-1325 manual.
|
| 48 |
|
|
|
| 49 |
|
|
These devices are all supported by Ada packages allowing easy access;
|
| 50 |
|
|
they may be found in the ts_1325_ada directory. Doing a make command
|
| 51 |
|
|
here will build a program that tests and exercises all these support
|
| 52 |
|
|
packages. Plugging in some kind of parallel-port "loop-back" connector
|
| 53 |
|
|
would be useful during this test.
|
| 54 |
|
|
|
| 55 |
|
|
Brief descriptions of the main packages are as follows:
|
| 56 |
|
|
|
| 57 |
|
|
* ts1325-button: allows one to check or wait for a button press.
|
| 58 |
|
|
|
| 59 |
|
|
* ts1325-led: allows safe reading and setting of the LED colour.
|
| 60 |
|
|
|
| 61 |
|
|
* ts1325-parallel: used to read and write byte date to the parallel
|
| 62 |
|
|
port.
|
| 63 |
|
|
|
| 64 |
|
|
* i386_ports: code to access the I/O address space, using Ada
|
| 65 |
|
|
inline assembly.
|
| 66 |
|
|
|
| 67 |
|
|
|
| 68 |
|
|
Serial Debugging Support
|
| 69 |
|
|
========================
|
| 70 |
|
|
|
| 71 |
|
|
RTEMS supports an Ada95 and RTEMS aware version of the GNU gdb
|
| 72 |
|
|
debugger, which can be configured to debug targets over a serial
|
| 73 |
|
|
line.
|
| 74 |
|
|
|
| 75 |
|
|
The port COM2 on the TS-1325 is normally used for console I/O, leaving
|
| 76 |
|
|
COM1 for use by gdb; an appropriate cable should be connected from the
|
| 77 |
|
|
development host to the TS-1325's COM1. The serial port used on the host
|
| 78 |
|
|
should match the line "target remote /dev/tty??" in the "cmds" file.
|
| 79 |
|
|
|
| 80 |
|
|
Sample C and Ada95 applications showing how to add debugging support
|
| 81 |
|
|
are given in the debug_c and debug_ada sub-directories. Once the
|
| 82 |
|
|
debugging-enabled executable is running on the TS-1325, gdb must be
|
| 83 |
|
|
started on the Linux host, taking as argument the RTEMS ELF executable.
|
| 84 |
|
|
|
| 85 |
|
|
Using a graphical front end to gdb such as the program ddd is highly
|
| 86 |
|
|
recommended. The script ddd-rtems shows how to invoke gdb using ddd as
|
| 87 |
|
|
a front end.
|
| 88 |
|
|
|
| 89 |
|
|
|
| 90 |
|
|
Ada95 Networking Support
|
| 91 |
|
|
========================
|
| 92 |
|
|
|
| 93 |
|
|
The sub-directory network_ada contains code and examples for an Ada95
|
| 94 |
|
|
binding to BSD network sockets. The code is based on Samuel Tardieu's
|
| 95 |
|
|
adasockets-0.1.3 package, but has been modified to work under RTEMS.
|
| 96 |
|
|
|
| 97 |
|
|
The binding itself is in the adasockets sub-directory. Edit the
|
| 98 |
|
|
Makefile to reflect your choice of installation directory, then type
|
| 99 |
|
|
the command "make install" to compile and install the binding. The
|
| 100 |
|
|
file networkconfig.h should also be edited according to the RTEMS
|
| 101 |
|
|
networking document.
|
| 102 |
|
|
|
| 103 |
|
|
The directories listener and tcprelay contain networking examples that
|
| 104 |
|
|
use the binding. The listener application simply accepts connections
|
| 105 |
|
|
on a certain port and echoes back any received data. The tcprelay
|
| 106 |
|
|
program accepts connections on a port and then relays all subsequent
|
| 107 |
|
|
data to and from another remote host. The makefiles in both
|
| 108 |
|
|
directories should be edited to reflect the installation point of the
|
| 109 |
|
|
adasockets binding.
|
| 110 |
|
|
|
| 111 |
|
|
|
| 112 |
|
|
|
| 113 |
|
|
Tony Ambardar, 8/8/99
|