diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2009-06-18 19:58:27 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2009-06-18 19:58:27 +0000 |
commit | 737f8c4d5d0d1ee70919c1e5b467d3ecd0e6096c (patch) | |
tree | 3391fc5ab864c97d08b66cacbc47cc3b6f2ce5b7 /c | |
parent | 2009-06-18 Joel Sherrill <joel.sherrill@OARcorp.com> (diff) | |
download | rtems-737f8c4d5d0d1ee70919c1e5b467d3ecd0e6096c.tar.bz2 |
2009-06-18 Fernando Nicodemos <fgnicodemos@terra.com.br>
* Makefile.am, configure.ac, console/uarts.c: Add console device that
uses MicroMonitor to do actual input and output. This driver should
work on any board that uses MicroMonitor.
Diffstat (limited to 'c')
-rw-r--r-- | c/src/lib/libbsp/arm/csb337/ChangeLog | 6 | ||||
-rw-r--r-- | c/src/lib/libbsp/arm/csb337/Makefile.am | 2 | ||||
-rw-r--r-- | c/src/lib/libbsp/arm/csb337/configure.ac | 16 | ||||
-rw-r--r-- | c/src/lib/libbsp/arm/csb337/console/uarts.c | 35 |
4 files changed, 49 insertions, 10 deletions
diff --git a/c/src/lib/libbsp/arm/csb337/ChangeLog b/c/src/lib/libbsp/arm/csb337/ChangeLog index 2645bc333c..d849d1067c 100644 --- a/c/src/lib/libbsp/arm/csb337/ChangeLog +++ b/c/src/lib/libbsp/arm/csb337/ChangeLog @@ -1,3 +1,9 @@ +2009-06-18 Fernando Nicodemos <fgnicodemos@terra.com.br> + + * Makefile.am, configure.ac, console/uarts.c: Add console device that + uses MicroMonitor to do actual input and output. This driver should + work on any board that uses MicroMonitor. + 2009-06-18 Joel Sherrill <joel.sherrill@OARcorp.com> * startup/linkcmds, startup/linkcmds.csb637: Move .init section from diff --git a/c/src/lib/libbsp/arm/csb337/Makefile.am b/c/src/lib/libbsp/arm/csb337/Makefile.am index 55528f3870..f0bd90d05d 100644 --- a/c/src/lib/libbsp/arm/csb337/Makefile.am +++ b/c/src/lib/libbsp/arm/csb337/Makefile.am @@ -61,7 +61,7 @@ libbsp_a_SOURCES += ../shared/abort/abort.c # umon libbsp_a_SOURCES += ../../shared/umon/umonrtemsglue.c \ ../../shared/umon/monlib.c ../../shared/umon/tfsDriver.c \ - startup/umonsupp.c + ../../shared/umon/umoncons.c startup/umonsupp.c if HAS_NETWORKING network_CPPFLAGS = -D__INSIDE_RTEMS_BSD_TCPIP_STACK__ diff --git a/c/src/lib/libbsp/arm/csb337/configure.ac b/c/src/lib/libbsp/arm/csb337/configure.ac index 3408180aef..6b85649f5b 100644 --- a/c/src/lib/libbsp/arm/csb337/configure.ac +++ b/c/src/lib/libbsp/arm/csb337/configure.ac @@ -24,17 +24,21 @@ RTEMS_BSPOPTS_HELP([csb637], [If defined, this indicates that the BSP is being built for the csb637 variant.]) +RTEMS_BSPOPTS_SET([ENABLE_LCD],[*],[0]) +RTEMS_BSPOPTS_HELP([ENABLE_LCD], +[If defined, enable use of the SED1356 controller and LCD.]) +AM_CONDITIONAL(ENABLE_LCD,test "$ENABLE_LCD" = "1") + +RTEMS_BSPOPTS_SET([ENABLE_UMON_CONSOLE],[*],[1]) +RTEMS_BSPOPTS_HELP([ENABLE_UMON_CONSOLE], +[If defined, enable use of the MicroMonitor console device.]) +AM_CONDITIONAL(ENABLE_LCD,test "$ENABLE_UMON_CONSOLE" = "1") + RTEMS_BSPOPTS_SET([BSP_PRESS_KEY_FOR_RESET],[*],[1]) RTEMS_BSPOPTS_HELP([BSP_PRESS_KEY_FOR_RESET], [If defined, print a message and wait until pressed before resetting board when application exits.]) -RTEMS_BSPOPTS_SET([ENABLE_LCD],[*],[0]) -RTEMS_BSPOPTS_HELP([ENABLE_LCD], -[If defined, enable use of the SED1356 controller.]) - -AM_CONDITIONAL(ENABLE_LCD,test "$ENABLE_LCD" = "1") - RTEMS_BSPOPTS_SET([BSP_RESET_BOARD_AT_EXIT],[*],[1]) RTEMS_BSPOPTS_HELP([BSP_RESET_BOARD_AT_EXIT], [If defined, reset the board when the application exits.]) diff --git a/c/src/lib/libbsp/arm/csb337/console/uarts.c b/c/src/lib/libbsp/arm/csb337/console/uarts.c index a4713dd5a5..8bc1977c47 100644 --- a/c/src/lib/libbsp/arm/csb337/console/uarts.c +++ b/c/src/lib/libbsp/arm/csb337/console/uarts.c @@ -32,16 +32,24 @@ rtems_device_minor_number Console_Port_Minor = 0; extern console_fns dbgu_fns; #if ENABLE_LCD extern console_fns fbcons_fns; - #define NUM_DEVS 2 + #define LCD_DEVICE 1 #else - #define NUM_DEVS 1 + #define LCD_DEVICE 0 #endif +#if ENABLE_UMON_CONSOLE + extern console_fns umoncons_fns; + #define UMON_CONSOLE_DEVICE 1 +#else + #define UMON_CONSOLE_DEVICE 0 +#endif + +#define NUM_DEVS (1 + LCD_DEVICE + UMON_CONSOLE_DEVICE) + /* These are used by code in console.c */ unsigned long Console_Port_Count = NUM_DEVS; console_data Console_Port_Data[NUM_DEVS]; - /* * There's one item in array for each UART. * @@ -90,6 +98,27 @@ console_tbl Console_Port_Tbl[] = { NULL, /* setData - NOT USED */ 0, /* ulClock - NOT USED */ 0 /* ulIntVector - NOT USED */ + }, +#endif +#if ENABLE_UMON_CONSOLE + { + "/dev/umon", /* sDeviceName */ + SERIAL_CUSTOM, /* deviceType */ + &umoncons_fns, /* pDeviceFns */ + NULL, /* deviceProbe */ + NULL, /* pDeviceFlow */ + 0, /* ulMargin - NOT USED */ + 0, /* ulHysteresis - NOT USED */ + NULL, /* pDeviceParams */ + 0, /* ulCtrlPort1 - Pointer to UMON regs */ + 0, /* ulCtrlPort2 - NOT USED */ + 0, /* ulDataPort - NOT USED */ + NULL, /* getRegister - NOT USED */ + NULL, /* setRegister - NOT USED */ + NULL, /* getData - NOT USED */ + NULL, /* setData - NOT USED */ + 0, /* ulClock - NOT USED */ + 0 /* ulIntVector - NOT USED */ } #endif }; |