diff options
Diffstat (limited to 'cpukit/libmisc/serdbg/README')
-rw-r--r-- | cpukit/libmisc/serdbg/README | 138 |
1 files changed, 138 insertions, 0 deletions
diff --git a/cpukit/libmisc/serdbg/README b/cpukit/libmisc/serdbg/README new file mode 100644 index 0000000000..338249c928 --- /dev/null +++ b/cpukit/libmisc/serdbg/README @@ -0,0 +1,138 @@ +# +# $Id$ +# + +This directory contains three useful packages related to the termios I/O +system: + +PACKAGE SERDBGIO +================ +"serdbgio" provides the "serial gdb" standard I/O functions "getDebugChar" +and "putDebugChar" for any device driver supporting polled termios mode. + +The initialization function "serdbg_open" opens the v.24 port intended +for the serial debug connection, and sets the desired baud rate. The +"getDebugChar" and "putDebugChar" functions then interact with the +corresponding driver using the calls intended for polled termios +operation. + +Specification for the debug device, baud rate and other parameters is +done in a global structure of type "serdbg_conf_t". A configuration +mechanism quite similar to the overall RTEMS configuration is available. + +PACKAGE SERDBG +============== +"serdbg" provides a means to optionally initialize and/or start a +serial gdb session as soon as possible, this means as soon as all +drivers have been initialized. The serial debug I/O functions can +either be integrated as special routines of the BSP drivers, or using +the package "serdbgio" + +PACKAGE TERMIOS_PRINTK +====================== +"termios_printk" provides a standard output function suitable to use +with "printk". It uses the same technique as serdbgio, hooking the +interface between a polled device driver and the termios system. + + +REQUIREMENTS +============ + +- These two packages can be used with any polled termios device +driver. +- For standard initialization, they need a modified "bsppost.c" +to perform the initialization calls. + +USAGE +===== + +For using these packages add the following to your "init" module or +your "system.h" file (Note: most macro settings fall back to a +default, if not set.): + +/* + * CONFIGURE_USE_SERDBG + * set this macro, if you want to connect gdb over a serial line + * when set, the debug stub will be connected after driver + * initialization in "bsppost.c" + */ +#define CONFIGURE_USE_SERDBG + + +/* + * CONFIGURE_SERDBG_SKIP_INIT_BKPT + * set this macro, if you do not want the gdb interface to wait for a + * debugger connection directly after initialization + * If you set this macro, the gdb stub will only hook various + * exception vectors when called from "bsppost.c". + */ +/* #define CONFIGURE_SERDBG_SKIP_INIT_BKPT */ + +/* + * CONFIGURE_SERDBG_USE_POLLED_TERMIOS + * set this macro, if you want "serdbgio" to provide the I/O + * functions for the serial gdb connection + */ +#define CONFIGURE_SERDBG_USE_POLLED_TERMIOS + +/* + * CONFIGURE_SERDBG_DEVNAME + * use this macro to specify the serial device to use + * for "serdbgio". + * Only used, when CONFIGURE_SERDBG_USE_POLLED_TERMIOS is set + */ +#define CONFIGURE_SERDBG_DEVNAME "/dev/tty03" + +/* + * CONFIGURE_SERDBG_BAUDRATE + * use this macro to specify the baud rate to use + * for "serdbgio". + * Only used, when CONFIGURE_SERDBG_USE_POLLED_TERMIOS is set + */ +#define CONFIGURE_SERDBG_BAUDRATE 57600 + +/* + * CONFIGURE_SERDBG_CALLOUT + * use this macro to specify a routine that will called during I/O polling + * Only used, when CONFIGURE_SERDBG_USE_POLLED_TERMIOS is set + * This function of type "void pollfnc(void)" can be used for e.g. + * tickling a watchdog + */ +/* #define CONFIGURE_SERDBG_CALLOUT tickle_my_watchdog_fnc */ + +#include <serdbgcnf.h> + +/* + * CONFIGURE_USE_TERMIOS_PRINTK + * set this macro, if you want printk output to be sent to a serial + * driver using the polled termios interface + * when set, the printk output function will be connected after driver + * initialization in "bsppost.c" + */ +#define CONFIGURE_USE_TERMIOS_PRINTK + +/* + * CONFIGURE_TERMIOS_PRINTK_DEVNAME + * use this macro to specify the serial device to use + * for printk output. + * Only used, when CONFIGURE_USE_TERMIOS_PRINTK is set + */ +#define CONFIGURE_TERMIOS_PRINTK_DEVNAME "/dev/console" + +/* + * CONFIGURE_TERMIOS_PRINTK_BAUDRATE + * use this macro to specify the baudrate to use + * for printk output. + * Only used, when CONFIGURE_USE_TERMIOS_PRINTK is set + */ +#define CONFIGURE_TERMIOS_PRINTK_BAUDRATE 9600 + +/* + * CONFIGURE_TERMIOS_PRINTK_CALLOUT + * use this macro to specify a routine that will called during I/O polling + * This function of type "void pollfnc(void)" can be used for e.g. + * tickling a watchdog + */ +/* #define CONFIGURE_TERMIOS_PRINTK_CALLOUT tickle_my_watchdog_fnc */ + +#include <termios_printk_cnf.h> |