diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 1999-08-11 23:45:57 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 1999-08-11 23:45:57 +0000 |
commit | 1d4048b236f1ca4ee555de04ca1b8d1492434670 (patch) | |
tree | 19ba7b2e04b8576d685a274a04cc720e56e6adfc /c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada | |
parent | Final update from Santanu Mitra <smitra@cs.uah.edu>, T.N.S. Prasad (diff) | |
download | rtems-1d4048b236f1ca4ee555de04ca1b8d1492434670.tar.bz2 |
Patch from Tony R. Ambardar <tonya@ece.ubc.ca>:
I'm attaching a big patch for the ts_386ex BSP which adds and includes
the following:
1) Conversion to ELF format + minor code cleanups + documentation.
2) An Ada95 binding to FreeBSD sockets, based on Samuel Tardieu's
adasockets-0.1.3 package. This includes some sample applications.
3) Some Ada and C interfaces to add serial-port debugging to
programs. Comes with examples, too; the Ada one shows how
transparent adding the support can be. Note that Rosimildo sent me
the original C code.
The network stuff is not BSP specific, and could be added to your Ada
code collection. The debugging stuff is specific to the i386. Right
now, everything sits in my "tools" directory.
Diffstat (limited to 'c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada')
8 files changed, 578 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/Makefile b/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/Makefile new file mode 100644 index 0000000000..4effbc7f75 --- /dev/null +++ b/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/Makefile @@ -0,0 +1,42 @@ +# +# Makefile for debug example +# + +MAIN=debug + +# Tool paths +tooldir=/usr/local/rtems +rtemsdir=${tooldir}/ts_386ex + +# Tool names +GCC=${tooldir}/bin/i386-rtemself-gcc +GNATMAKE=${tooldir}/bin/i386-rtemself-gnatmake +SIZE=${tooldir}/bin/i386-rtemself-size +SIS=${tooldir}/bin/sis +GDB=${tooldir}/bin/sis-gdb + +CINCLUDES= + +AINCLUDES=-i -I../ts_1325_ada + +CARGS=-B${rtemsdir}/lib/ -specs bsp_specs -qrtems \ + -msoft-float -mno-fp-ret-in-387 + +all: init.o + $(GNATMAKE) -O2 -g -gnata -gnatE -gnato -gnatn $(AINCLUDES) $(MAIN) \ + -bargs -r \ + -cargs $(CARGS) \ + -largs $(CARGS) init.o + $(SIZE) $(MAIN) + +init.o: init.c + $(GCC) -O2 -g -Wall -ansi -fasm $(CARGS) $(CINCLUDES) -c init.c + +run: + $(SIS) $(MAIN) + +gdb: + $(GDB) $(MAIN) + +clean: + rm -f b_$(MAIN).c b_$(MAIN).o *.o *.ali $(MAIN) diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/Makefile.ts_386ex b/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/Makefile.ts_386ex new file mode 100644 index 0000000000..4effbc7f75 --- /dev/null +++ b/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/Makefile.ts_386ex @@ -0,0 +1,42 @@ +# +# Makefile for debug example +# + +MAIN=debug + +# Tool paths +tooldir=/usr/local/rtems +rtemsdir=${tooldir}/ts_386ex + +# Tool names +GCC=${tooldir}/bin/i386-rtemself-gcc +GNATMAKE=${tooldir}/bin/i386-rtemself-gnatmake +SIZE=${tooldir}/bin/i386-rtemself-size +SIS=${tooldir}/bin/sis +GDB=${tooldir}/bin/sis-gdb + +CINCLUDES= + +AINCLUDES=-i -I../ts_1325_ada + +CARGS=-B${rtemsdir}/lib/ -specs bsp_specs -qrtems \ + -msoft-float -mno-fp-ret-in-387 + +all: init.o + $(GNATMAKE) -O2 -g -gnata -gnatE -gnato -gnatn $(AINCLUDES) $(MAIN) \ + -bargs -r \ + -cargs $(CARGS) \ + -largs $(CARGS) init.o + $(SIZE) $(MAIN) + +init.o: init.c + $(GCC) -O2 -g -Wall -ansi -fasm $(CARGS) $(CINCLUDES) -c init.c + +run: + $(SIS) $(MAIN) + +gdb: + $(GDB) $(MAIN) + +clean: + rm -f b_$(MAIN).c b_$(MAIN).o *.o *.ali $(MAIN) diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/cmds b/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/cmds new file mode 100644 index 0000000000..13573f86e4 --- /dev/null +++ b/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/cmds @@ -0,0 +1,293 @@ +dir /usr/local/rtems/tools/rtems-19990709/c/src/ +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/sapi +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/sapi/src +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/sapi/include +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/sapi/include/wrap +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/sapi/include/rtems +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/sapi/inline +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/sapi/inline/rtems +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/sapi/macros +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/sapi/macros/rtems +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/sapi/optman +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/src +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/include +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/include/sys +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/include/rtems +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/include/rtems/posix +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/include/wrap +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/inline +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/inline/rtems +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/inline/rtems/posix +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/macros +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/macros/rtems +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/macros/rtems/posix +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/optman +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems/src +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems/include +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems/include/wrap +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems/include/rtems +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems/include/rtems/rtems +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems/inline +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems/inline/rtems +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems/inline/rtems/rtems +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems/macros +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems/macros/rtems +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems/macros/rtems/rtems +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems/optman +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/cpu +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/cpu/i386 +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/cpu/i386/wrap +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/cpu/i386/rtems +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/cpu/i386/rtems/score +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/include +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/include/rtems +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/include/rtems/wrap +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/include/rtems/score +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/inline +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/inline/rtems +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/inline/rtems/score +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/macros +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/macros/rtems +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/macros/rtems/score +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/src +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/tools +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/tools/sh +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/tools/generic +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/tools/hppa1.1 +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/tools/unix +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/wrapup +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/wrapup/posix +dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/wrapup/rtems +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libc +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/include +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/include/rdbg +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/include/rdbg/i386 +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/include/rpc +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/include/rtems++ +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/include/sys +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/bare +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/bare/include +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/bare/wrapup +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386 +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/shared +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/shared/comm +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/shared/io +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/shared/irq +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/shared/pci +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/ts_386ex +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/ts_386ex/clock +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/ts_386ex/console +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/ts_386ex/include +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/ts_386ex/network +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/ts_386ex/start +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/ts_386ex/startup +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/ts_386ex/timer +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/ts_386ex/tools +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/ts_386ex/tools/dos_sup +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/ts_386ex/wrapup +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libchip +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libchip/rtc +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libchip/network +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libchip/serial +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libcpu +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libcpu/i386 +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libcpu/i386/wrapup +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libmisc +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libmisc/assoc +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libmisc/cpuuse +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libmisc/dumpbuf +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libmisc/error +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libmisc/monitor +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libmisc/rtmonuse +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libmisc/stackchk +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libmisc/untar +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libmisc/wrapup +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/arpa +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/include +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/kern +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/lib +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/libc +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/machine +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/net +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/netinet +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/nfs +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/rtems +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/rtems_servers +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/sys +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/vm +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/wrapup +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/librdbg +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/librdbg/i386 +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/librdbg/i386/pc386 +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/librpc +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/librtems++ +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/start +dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/wrapup +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/libtests +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/libtests/cpuuse +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/libtests/malloctest +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/libtests/monitor +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/libtests/rtems++ +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/libtests/rtmonuse +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/libtests/stackchk +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/libtests/termios +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp01 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp01/node1 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp01/node2 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp02 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp02/node1 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp02/node2 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp03 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp03/node1 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp03/node2 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp04 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp04/node1 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp04/node2 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp05 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp05/node1 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp05/node2 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp06 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp06/node1 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp06/node2 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp07 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp07/node1 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp07/node2 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp08 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp08/node1 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp08/node2 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp09 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp09/node1 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp09/node2 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp10 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp10/node1 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp10/node2 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp11 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp11/node1 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp11/node2 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp12 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp12/node1 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp12/node2 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp13 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp13/node1 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp13/node2 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp14 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp14/node1 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp14/node2 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/filesupp +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx01 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx02 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx03 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx04 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx05 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx06 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx07 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx08 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx09 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx10 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx11 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx12 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx13 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psxfile01 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psxfile02 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psxhdrs +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psxmount +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psxreaddir +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psxstat +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psxtime +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psxtimer +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/support +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/support/include +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/samples +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/samples/base_mp +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/samples/base_mp/node1 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/samples/base_mp/node2 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/samples/base_sp +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/samples/cdtest +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/samples/hello +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/samples/paranoia +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/samples/ticker +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/samples/unlimited +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/samples/minimum +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp01 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp02 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp03 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp04 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp05 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp06 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp07 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp08 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp09 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp11 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp12 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp13 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp14 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp15 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp16 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp17 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp19 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp20 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp21 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp22 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp23 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp24 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp25 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/spfatal +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/spsize +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/support +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/support/include +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/support/stubdr +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/support/wrapup +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm01 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/include +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm02 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm03 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm04 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm05 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm06 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm07 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm08 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm09 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm10 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm11 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm12 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm13 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm14 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm15 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm16 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm17 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm18 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm19 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm20 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm21 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm22 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm23 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm24 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm25 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm26 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm27 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm28 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm29 +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tmck +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tmoverhd +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tools +dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tools/generic + +dir /usr/local/rtems/include +dir /usr/local/rtems/include/g++ +dir /usr/local/rtems/include/g++/std + +set remotebaud 38400 +target remote /dev/ttyS0 diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/ddd-rtems b/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/ddd-rtems new file mode 100644 index 0000000000..84b343b13d --- /dev/null +++ b/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/ddd-rtems @@ -0,0 +1 @@ +ddd --debugger "i386-rtemself-gdb --nx --command=./cmds" $* diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/debug.adb b/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/debug.adb new file mode 100644 index 0000000000..fd9215c978 --- /dev/null +++ b/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/debug.adb @@ -0,0 +1,32 @@ +with Ada.Text_IO; use Ada.Text_IO; +with Ada.Numerics.Discrete_Random; + +with TS1325.LED; use TS1325.LED; + +with Serial_Debug; use Serial_Debug; + +procedure Debug is + + package Random_LED_Colour is + new Ada.Numerics.Discrete_Random (LED_Colour); + use Random_LED_Colour; + + Colour_Gen: Random_LED_Colour.Generator; + + New_Colour: LED_Colour; + + Count: Integer := 0; + +begin + Breakpoint; + + Put_Line ("******* Starting Random LED Debug Test *******"); + + for I in 1 .. 10_000 loop + Count := Count + 1; + New_Colour := Random_LED_Colour.Random (Colour_Gen); + LED_State.Set (New_Colour); + end loop; + + Put_Line ("******* Finished Random LED Debug Test *******"); +end Debug; diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/init.c b/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/init.c new file mode 100644 index 0000000000..0f52a84156 --- /dev/null +++ b/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/init.c @@ -0,0 +1,85 @@ +/* + * COPYRIGHT (c) 1989-1997. + * On-Line Applications Research Corporation (OAR). + * Copyright assigned to U.S. Government, 1994. + * + * The license and distribution terms for this file may be found in + * the file LICENSE in this distribution or at + * http://www.OARcorp.com/rtems/license.html. + * + * $Id$ + */ + +#include <bsp.h> + +#include <assert.h> +#include <pthread.h> + +#include <stdio.h> + +#ifdef GNAT_PID +#include <unistd.h> +pid_t getpid() +{ + return GNAT_PID; +} +#endif + +/* + * By having the POSIX_Init thread create a second thread just + * to invoke gnat_main, we can override all default attributes + * of the "Ada environment task". Otherwise, we would be + * stuck with the defaults set by RTEMS. + */ + +void *start_gnat_main( void * argument ) +{ + extern int gnat_main ( int argc, char **argv, char **envp ); + + (void) gnat_main ( 0, 0, 0 ); + + exit( 0 ); + + return 0; +} + +void *POSIX_Init( void *argument ) +{ + pthread_t thread_id; + pthread_attr_t attr; + int status; + + status = pthread_attr_init( &attr ); + assert( !status ); + +#ifdef GNAT_MAIN_STACKSPACE + status = pthread_attr_setstacksize( &attr, GNAT_MAIN_STACKSPACE ); + assert( !status ); +#endif + + status = pthread_create( &thread_id, &attr, start_gnat_main, NULL ); + assert( !status ); + + pthread_exit( 0 ); + + return 0; +} + +/* configuration information */ + +#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER +#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER + +#define CONFIGURE_POSIX_INIT_THREAD_TABLE + +#define CONFIGURE_MICROSECONDS_PER_TICK RTEMS_MILLISECONDS_TO_MICROSECONDS(1) + +#define CONFIGURE_MAXIMUM_POSIX_THREADS 20 +#define CONFIGURE_MAXIMUM_POSIX_KEYS 20 +#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 30 +#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 20 + +#define CONFIGURE_INIT + +#include <confdefs.h> + diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/serial_debug.adb b/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/serial_debug.adb new file mode 100644 index 0000000000..f89e290764 --- /dev/null +++ b/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/serial_debug.adb @@ -0,0 +1,66 @@ +with Ada.Text_IO; use Ada.Text_IO; +with System.Machine_Code; use System.Machine_Code; + +package body Serial_Debug is + + ---------------- + -- Breakpoint -- + ---------------- + + procedure Breakpoint is + begin + Asm ("int $3", + No_Output_Operands, + No_Input_Operands, + Volatile => True); + end Breakpoint; + + + -- This type is from uart.h + -- Equivalent to an int, with (COM1, COM2) => (0, 1) + + type BSP_Uart is (COM1, COM2); + pragma Convention (C, BSP_Uart); + + + -- The serial port currently used for console I/O + + BSP_Console_Port: BSP_Uart; + pragma Import (C, BSP_Console_Port, "BSPConsolePort"); + + + -- C utility routines to set up serial-port debugging + + procedure I386_Stub_Glue_Init (Debug_Port: in BSP_Uart); + pragma Import (C, I386_Stub_Glue_Init, "i386_stub_glue_init"); + + procedure Set_Debug_Traps; + pragma Import (C, Set_Debug_Traps, "set_debug_traps"); + + procedure I386_Stub_Glue_Init_Breakin; + pragma Import (C, I386_Stub_Glue_Init_Breakin, + "i386_stub_glue_init_breakin"); + +begin + + if BSP_Console_Port /= COM2 + then + I386_Stub_Glue_Init (COM2); + + Put_Line ("Remote GDB using COM2..."); + else + I386_Stub_Glue_Init (COM1); + + Put_Line ("Remote GDB using COM1..."); + end if; + + Put_Line ("Remote GDB setting traps..."); + + Set_Debug_Traps; + + Put_Line ("Remote GDB waiting for connection..."); + + I386_Stub_Glue_Init_Breakin; + +end Serial_Debug; + diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/serial_debug.ads b/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/serial_debug.ads new file mode 100644 index 0000000000..d645ca52c5 --- /dev/null +++ b/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/serial_debug.ads @@ -0,0 +1,17 @@ +-- This package allows one to easily add serial debugging support to any +-- Ada program by simply adding "with Serial_Debug; use Serial_Debug". +-- Debugging will be automatically initialized when the program is run, +-- and it should be possible to interrupt the running program from ddd/gdb. +-- +-- Additionally, one can place explicit breakpoints for the debugger using +-- the procedure Breakpoint + +package Serial_Debug is + + procedure Breakpoint; + +private + + pragma Inline (Breakpoint); + +end Serial_Debug; |