[16a384cf] | 1 | 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 | |
---|
[1d4048b2] | 12 | Once an application has been compiled and the resulting ELF format |
---|
[16a384cf] | 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 |
---|
[1d4048b2] | 23 | filename" to the AUTOEXEC.BAT file, allowing the application to be |
---|
[16a384cf] | 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 |
---|
[1d4048b2] | 28 | pathological "boot loop" situation i.e. abort an automatic load from |
---|
| 29 | the AUTOEXEC.BAT file. |
---|
[16a384cf] | 30 | |
---|
| 31 | |
---|
[1d4048b2] | 32 | elf2exe |
---|
[16a384cf] | 33 | ======== |
---|
| 34 | |
---|
[1d4048b2] | 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 |
---|
[16a384cf] | 37 | binary images that can be loaded on the TS-1325. The converted files |
---|
[1d4048b2] | 38 | are saved in the current directory with a ".exe" extension. |
---|
[16a384cf] | 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 |
---|
[1d4048b2] | 46 | port which may be used for digital I/O. Note that the pin-out for the |
---|
[16a384cf] | 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 | |
---|
[1d4048b2] | 68 | Serial Debugging Support |
---|
| 69 | ======================== |
---|
[16a384cf] | 70 | |
---|
[1d4048b2] | 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 |
---|