summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/i386/ts_386ex/tools/README
blob: dbc4ed86b4a4f310f7ec7cdba71f38dbe80b33b9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
This directory contains various support software for using RTEMS on
the TS-1325. Descriptions follow.


DOS Loader
==========

The dos_sup directory contains a DOS-based loader (loader.com) for
RTEMS executables on the TS-1325. Fully commented source code is
included.

Once an application has been compiled and the resulting ELF format
executable converted to raw binary format and transferred to the
TS-1325, the DOS loader program must be used to load and execute
it. The loader is simply invoked as "loader filename", where the
filename cannot contain an explicit path.  

The loader will work with files stored either on the C: ram disk or
the A: flash disk. Since Zmodem transfers to the C: ram disk are much
faster than to the A: disk, most development work will be done using
the C: disk. Once completed, an application may copied to the
(non-volatile) A: disk. Additionally, one may add the line "loader
filename" to the AUTOEXEC.BAT file, allowing the application to be
run automatically at boot time.

Note that the DOS loader will abort and exit if it detects that the
push-button switch is pressed, thus allowing one to break out of a
pathological "boot loop" situation i.e. abort an automatic load from
the AUTOEXEC.BAT file.


elf2exe
========

The elf2exe script is just a convenient wrapper for the objcopy
command. It can convert a list of RTEMS-generated ELF files to raw
binary images that can be loaded on the TS-1325. The converted files
are saved in the current directory with a ".exe" extension.


TS-1325 Ada95 Support
=====================

The TS-1325 includes a few peripherals which are very useful for
embedded development: a push-button switch, an LED, and a parallel
port which may be used for digital I/O. Note that the pin-out for the
parallel port is given in the TS-1325 manual.

These devices are all supported by Ada packages allowing easy access;
they may be found in the ts_1325_ada directory. Doing a make command
here will build a program that tests and exercises all these support
packages. Plugging in some kind of parallel-port "loop-back" connector
would be useful during this test.

Brief descriptions of the main packages are as follows:
 
* ts1325-button: allows one to check or wait for a button press.  

* ts1325-led: allows safe reading and setting of the LED colour.

* ts1325-parallel: used to read and write byte date to the parallel
  port.  

* i386_ports: code to access the I/O address space, using Ada
  inline assembly.


Serial Debugging Support
========================

RTEMS supports an Ada95 and RTEMS aware version of the GNU gdb
debugger, which can be configured to debug targets over a serial
line. 

The port COM2 on the TS-1325 is normally used for console I/O, leaving
COM1 for use by gdb; an appropriate cable should be connected from the
development host to the TS-1325's COM1. The serial port used on the host
should match the line "target remote /dev/tty??" in the "cmds" file.

Sample C and Ada95 applications showing how to add debugging support
are given in the debug_c and debug_ada sub-directories. Once the
debugging-enabled executable is running on the TS-1325, gdb must be
started on the Linux host, taking as argument the RTEMS ELF executable.

Using a graphical front end to gdb such as the program ddd is highly
recommended. The script ddd-rtems shows how to invoke gdb using ddd as
a front end.


Ada95 Networking Support
========================

The sub-directory network_ada contains code and examples for an Ada95
binding to BSD network sockets. The code is based on Samuel Tardieu's
adasockets-0.1.3 package, but has been modified to work under RTEMS.

The binding itself is in the adasockets sub-directory. Edit the
Makefile to reflect your choice of installation directory, then type
the command  "make install" to compile and install the binding. The
file networkconfig.h should also be edited according to the RTEMS
networking document.

The directories listener and tcprelay contain networking examples that
use the binding. The listener application simply accepts connections
on a certain port and echoes back any received data. The tcprelay
program accepts connections on a port and then relays all subsequent
data to and from another remote host. The makefiles in both
directories should be edited to reflect the installation point of the
adasockets binding.



Tony Ambardar, 8/8/99