forked from Imagelibrary/rtems
and RPC support to RTEMS. Thanks. :) Email follows:
Hello,
For Xmas, here is the Remote Debugger on RTEMS !
Here are 2 patches for the Remote Debugger on RTEMS for pc386 from Linux
host :
- one for RTEMS it self,
- one for GDB-4.17.
1/ RTEMS patch
--------------
This patch adds 2 libraries :
- a simplified SUN RPC library
- the Remote Debugger library
The configuration command is the following :
../rtems4/configure --target=i386-rtemself --enable-rtemsbsp=pc386
--enable-rdbg
The SUN RPC library is built only if networking is set.
The RDBG library is built if networking and enable-rdbg are set.
The function used to initialize the debugger is :
rtems_rdbg_initialize ();
A special function has been created to force a task to be
in a "debug" state : enterRdbg().
The use of this function is not mandatory.
2/ GDB-4.17 patch
-----------------
This patch create a new RTEMS target for GDB-4.17.
The configuration command is the following :
./configure --enable-shared --target=i386RTEMS
To connect to a target, use :
target rtems [your_site_address]
Then, attach the target using : attach 1
And... Debug ;)
You can obtain the original GDB-4.17 on
ftp://ftp.debian.org/debian/dists/stable/main/source/devel/gdb_4.17.orig.tar.gz
This has been tested from a Debian 2.0.1 linux host.
91 lines
2.2 KiB
INI
91 lines
2.2 KiB
INI
# Default target settings
|
|
#
|
|
# Some of these values are redefined in the target specific .cfg files.
|
|
#
|
|
# Created by Jiri Gaisler, 16-03-97 (who is owed a debt of gratitude
|
|
# for converting RTEMS to autoconf. Thanks. --joel)
|
|
#
|
|
# $Id$
|
|
#
|
|
|
|
include $(PROJECT_ROOT)/make/target.cfg
|
|
include $(PROJECT_ROOT)/make/host.cfg
|
|
|
|
# Specify here the host and target "architectures"
|
|
HOST_ARCH=o-$(RTEMS_HOST)
|
|
ifndef TARGET_ARCH
|
|
TARGET_ARCH=o-$(RTEMS_BSP)
|
|
endif
|
|
|
|
include $(RTEMS_ROOT)/make/main.cfg
|
|
|
|
# use the inline functions instead of the macros
|
|
# ref: src/exec/generic/Makefile
|
|
ifeq ($(RTEMS_USE_MACROS),yes)
|
|
INLINE=macros
|
|
INLINE_UPCASE=
|
|
else
|
|
INLINE=inline
|
|
INLINE_UPCASE=INLINE
|
|
endif
|
|
|
|
# HOST Compiler config file
|
|
# You may also want to specify where the compiler resides here.
|
|
CONFIG.$(HOST_ARCH).CC = $(PROJECT_ROOT)/make/compilers/gcc.cfg
|
|
|
|
## Target compiler config file, if any
|
|
CONFIG.$(TARGET_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc-target-default.cfg
|
|
|
|
## GCC specs extension file location
|
|
RTEMS_BSP_SPECS = $(PROJECT_ROOT)/$(RTEMS_BSP)/lib/bsp_specs
|
|
|
|
## LIBC support
|
|
## Specify the one you want here and fill in the blanks.
|
|
## Currently CYGNUS newlib is supported.
|
|
## NOTE: RTEMS libcsupport.a includes RTEMS versions of stuff like
|
|
## malloc, gettimeofday, etc.
|
|
|
|
# Use the LIBC support for CYGNUS newlib
|
|
# RTEMS_LIBC_DIR must already be set (by module file)
|
|
RTEMS_USE_NEWLIB=yes
|
|
|
|
# Define this to yes if C++ is included in the development environment.
|
|
# This requires that at least the GNU C++ compiler and libg++ be installed.
|
|
ifeq ($(RTEMS_HAS_CPLUSPLUS),yes)
|
|
HAS_CPLUSPLUS=yes
|
|
else
|
|
HAS_CPLUSPLUS=no
|
|
endif
|
|
|
|
# Define this to yes if this target supports multiprocessor environments.
|
|
ifeq ($(RTEMS_HAS_MULTIPROCESSING),yes)
|
|
HAS_MP=yes
|
|
else
|
|
HAS_MP=no
|
|
endif
|
|
|
|
# Define this to yes if this target wants the TCP/IP stack
|
|
ifeq ($(RTEMS_HAS_NETWORKING),yes)
|
|
HAS_NETWORKING=yes
|
|
else
|
|
HAS_NETWORKING=no
|
|
endif
|
|
|
|
# Define this to yes if this target wants the remote debugger
|
|
ifeq ($(RTEMS_HAS_RDBG),yes)
|
|
HAS_RDBG=yes
|
|
else
|
|
HAS_RDBG=no
|
|
endif
|
|
|
|
# Define this to yes if this target wants the posix api
|
|
ifeq ($(RTEMS_HAS_POSIX_API),yes)
|
|
HAS_POSIX_API=yes
|
|
else
|
|
HAS_POSIX_API=no
|
|
endif
|
|
|
|
# Base name of start file
|
|
START_BASE=start
|
|
|