1 | @c |
---|
2 | @c COPYRIGHT (c) 1988-1998. |
---|
3 | @c On-Line Applications Research Corporation (OAR). |
---|
4 | @c All rights reserved. |
---|
5 | @c |
---|
6 | @c $Id$ |
---|
7 | @c |
---|
8 | |
---|
9 | @chapter Free Software that Works with RTEMS |
---|
10 | |
---|
11 | This section describes other free software packages that are known to work |
---|
12 | with RTEMS. |
---|
13 | |
---|
14 | @section Development Tools |
---|
15 | |
---|
16 | @subsection Basic Development Environment |
---|
17 | |
---|
18 | The standard RTEMS development environment consists of the following GNU |
---|
19 | components: |
---|
20 | |
---|
21 | @itemize @bullet |
---|
22 | |
---|
23 | @item gcc/egcs |
---|
24 | @item binutils |
---|
25 | @item gdb |
---|
26 | |
---|
27 | @end itemize |
---|
28 | |
---|
29 | Although not from the Free Software Foundation, the Cygnus newlib C |
---|
30 | library integrates well with the GNU tools and is a standard part of the |
---|
31 | RTEMS development environment. |
---|
32 | |
---|
33 | @subsection GNU Ada |
---|
34 | |
---|
35 | For those interested in using the Ada95 programming language, the GNU Ada |
---|
36 | compiler (GNAT) is available and has excellent support for RTEMS. |
---|
37 | |
---|
38 | @subsection DDD - Data Display Debugger |
---|
39 | |
---|
40 | By far the easiest way to use DDD if you are on a Redhat Linux system is |
---|
41 | to retrieve the RPM package for your OS version. In general, it is |
---|
42 | easier to install a static binary since doing so avoids all problems |
---|
43 | with dynamic library versions. |
---|
44 | |
---|
45 | Some versions of DDD have had trouble with Lesstif. If you |
---|
46 | are using Lesstiff, you will need version 0.88 or newer. It |
---|
47 | is also available as an RPM at the popular sites. Another Motif |
---|
48 | clone is Motive and versions 1.2 and newer known to work with DDD |
---|
49 | on popular distributions of Linux including RedHat and Slackware. |
---|
50 | |
---|
51 | Installed as RPMs, DDD in conjunction with either Lesstif or Motive |
---|
52 | should work out-of-the-box. |
---|
53 | |
---|
54 | User comments indicate that both Lesstif and DDD can be built |
---|
55 | from scratch without any problems. Instructions on installing |
---|
56 | Lesstif are at @uref{http://www.cs.tu-bs.de/softech/ddd/}. They |
---|
57 | indicate that |
---|
58 | |
---|
59 | @itemize @bullet |
---|
60 | LessTif should be used in (default) Motif 1.2 compatibility mode. |
---|
61 | |
---|
62 | The Motif 2.0 compatibility mode of LessTif is still incomplete. |
---|
63 | @end itemize |
---|
64 | |
---|
65 | So configure lesstif with --enable-default-12. |
---|
66 | |
---|
67 | The configure script is broken (see www.lesstif.org --> known problems) |
---|
68 | for 0.88.1. I didn't fix the script as they show, so I just have links |
---|
69 | in /usr/local/lib (also shown). |
---|
70 | |
---|
71 | Watch out: Lesstif installs its libraries in /usr/local/Lesstif. You |
---|
72 | will need to update /etc/ld.so.conf and regenerate the cache of shared |
---|
73 | library paths to point to the Motif 1.2 library. |
---|
74 | |
---|
75 | The following notes are from an RTEMS user who uses DDD in conjunction |
---|
76 | with Lesstif. Configure DDD "--with-motif-libraries=/usr/local/lib |
---|
77 | --with-motif-includes=/usr/local/include" DDD needs gnuplot 3.7. |
---|
78 | @uref{ftp://ftp.dartmouth.edu/pub/gnuplot/gnuplot-3.7.tar.gz}. Build and |
---|
79 | install from scratch. |
---|
80 | |
---|
81 | DDD can be started from a script that specifies the cross debugger. |
---|
82 | This simplifies the invocation. The following example shows what |
---|
83 | a script doing this looks like. |
---|
84 | |
---|
85 | @example |
---|
86 | #!/bin/bash |
---|
87 | ddd --debugger m68k-elf-gdb $1 |
---|
88 | @end example |
---|
89 | |
---|
90 | Under many flavors of UNIX, you will likely have to relax permissions. |
---|
91 | |
---|
92 | On Linux, to get gdb to use the serial ports while running as a |
---|
93 | normal user, edit /etc/security/console.perms, and create a <serial> |
---|
94 | class (call it whatever you want). |
---|
95 | |
---|
96 | @example |
---|
97 | <serial>=/dev/ttyS* /dev/cua* |
---|
98 | @end example |
---|
99 | |
---|
100 | Now enable the change of ownership of these devices when users log in |
---|
101 | from the console: |
---|
102 | |
---|
103 | @example |
---|
104 | <console> 0600 <serial> 0600 root |
---|
105 | @end example |
---|
106 | |
---|
107 | Users report using minicom to communicate with the target to initiate a TFTP |
---|
108 | download. They then suspend minicom, launch DDD, and begin debugging. |
---|
109 | |
---|
110 | The procedure should be the same on other platforms, modulo the choice |
---|
111 | of terminal emulator program and the scheme used to access the serial |
---|
112 | ports. From problem reports on the cygwin mailing list, it appears that |
---|
113 | GDB has some problems communicating over serial lines on that platform. |
---|
114 | |
---|
115 | NOTE: GDB does not like getting lots of input from the program under test |
---|
116 | over the serial line. Actually, it does not care, but it looses |
---|
117 | characters. It would appear that flow control is not re-enabled when it |
---|
118 | resumes program execution. At times, it looked like the test were |
---|
119 | failing, but everything was OK. We modified the MVME167 serial driver to |
---|
120 | send test output to another serial port. Using two serial ports is |
---|
121 | usually the easiest way to get test output while retaining a reliable debug |
---|
122 | connection regardless of the debugger/target combination. |
---|
123 | |
---|
124 | Information provided by Charles-Antoine Gauthier (charles.gauthier@@iit.nrc.ca) |
---|
125 | and Jiri Gaisler (jgais@@ws.estec.esa.nl). |
---|
126 | |
---|
127 | |
---|
128 | @section omniORB |
---|
129 | |
---|
130 | omniORB is a GPL'ed CORBA which has been ported to RTEMS. It is |
---|
131 | available from |
---|
132 | (@uref{http://www.uk.research.att.com/omniORB/omniORB.html,http://www.uk.research.att.com/omniORB/omniORB.html}) |
---|
133 | . |
---|
134 | |
---|
135 | For information on the RTEMS port of omniORB to RTEMS, see the following |
---|
136 | URL |
---|
137 | (@uref{http://www.connecttel.com/corba/rtems_omni.html,http://www.connecttel.com/corba/rtems_omni.html}). |
---|
138 | |
---|
139 | C++ exceptions must work properly on your target for omniORB to work. |
---|
140 | |
---|
141 | The port of omniORB to RTEMS was done by Rosimildo DaSilva |
---|
142 | <rdasilva@@connecttel.com>. |
---|
143 | |
---|
144 | @section TCL |
---|
145 | |
---|
146 | Tool Command Language. |
---|
147 | |
---|
148 | ditto |
---|
149 | |
---|
150 | @section ncurses |
---|
151 | |
---|
152 | Free version of curses. |
---|
153 | |
---|
154 | ditto |
---|
155 | |
---|
156 | |
---|
157 | @section zlib |
---|
158 | |
---|
159 | Free compression/decompression library. |
---|
160 | |
---|
161 | ditto |
---|
162 | |
---|