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.
77 lines
1.6 KiB
INI
77 lines
1.6 KiB
INI
#
|
|
# $Id$
|
|
#
|
|
# Target specific settings.
|
|
#
|
|
|
|
prefix = @prefix@
|
|
|
|
CFLAGS = @CFLAGS@
|
|
CPPFLAGS = @CPPFLAGS@
|
|
DEFS = @DEFS@
|
|
LDFLAGS =
|
|
LIBS = @LIBS@
|
|
CC_FOR_BUILD = @CC@
|
|
|
|
CC = @CC_FOR_TARGET@
|
|
AS = @AS_FOR_TARGET@
|
|
AR = @AR_FOR_TARGET@
|
|
NM = @NM_FOR_TARGET@
|
|
LD = @LD_FOR_TARGET@
|
|
SIZE = @SIZE_FOR_TARGET@
|
|
STRIP = @STRIP_FOR_TARGET@
|
|
OBJCOPY = @OBJCOPY_FOR_TARGET@
|
|
RANLIB = @RANLIB_FOR_TARGET@
|
|
|
|
CXX = @CXX_FOR_TARGET@
|
|
|
|
export CC
|
|
export AS
|
|
export LD
|
|
export NM
|
|
export AR
|
|
export SIZE
|
|
export OBJCOPY
|
|
|
|
export CXX
|
|
|
|
RTEMS_CROSS_TARGET=@rtems_cv_prog_cc_cross@
|
|
|
|
RTEMS_HOST = @RTEMS_HOST@
|
|
RTEMS_USE_OWN_PDIR = @RTEMS_USE_OWN_PDIR@
|
|
RTEMS_HAS_MULTIPROCESSING = @RTEMS_HAS_MULTIPROCESSING@
|
|
RTEMS_HAS_POSIX_API = @RTEMS_HAS_POSIX_API@
|
|
RTEMS_HAS_POSIX_1H_API = @RTEMS_HAS_POSIX_1H_API@
|
|
RTEMS_HAS_NETWORKING = @RTEMS_HAS_NETWORKING@
|
|
RTEMS_HAS_RDBG = @RTEMS_HAS_RDBG@
|
|
RTEMS_HAS_CPLUSPLUS = @RTEMS_HAS_CPLUSPLUS@
|
|
RTEMS_USE_MACROS = @RTEMS_USE_MACROS@
|
|
RTEMS_USE_GCC272 = @RTEMS_USE_GCC272@
|
|
RTEMS_LIBC_DIR = @RTEMS_LIBC_DIR@
|
|
RTEMS_CPU = @target_cpu@
|
|
|
|
# the following are only used for the bare bsp
|
|
BARE_CPU_MODEL = @BARE_CPU_MODEL@
|
|
BARE_CPU_CFLAGS = @BARE_CPU_CFLAGS@
|
|
|
|
INSTALL=$(PROJECT_ROOT)/$(RTEMS_BSP)/build-tools/install-if-change
|
|
XCFLAGS=$(CFLAGS_FOR_TARGET)
|
|
|
|
export RTEMS_BSP
|
|
export RTEMS_CUSTOM
|
|
export PROJECT_ROOT
|
|
|
|
# List (possibly empty) of required managers
|
|
# We require:
|
|
# region -- used by lib/libcsupport for malloc()
|
|
# ext -- used by libc for libc reentrancy hooks
|
|
|
|
MANAGERS_REQUIRED=region ext sem
|
|
|
|
# Create a RTEMS executable based on MANAGERS which was set in
|
|
# app's Makefile
|
|
|
|
MANAGERS_NOT_WANTED=$(filter-out $(MANAGERS) \
|
|
$(MANAGERS_REQUIRED), $(MANAGER_LIST))
|
|
|