summaryrefslogtreecommitdiffstats
path: root/cpukit/include/rtems
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2018-02-21 12:40:18 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-03-06 12:32:09 +0100
commit337a1869092779be0afca381dba674d3de4d7c9b (patch)
tree02a8dc8e446160b69b4053caf51ef0cc6bf68b5a /cpukit/include/rtems
parentbsps/sparc: Fix global construction/destruction (diff)
downloadrtems-337a1869092779be0afca381dba674d3de4d7c9b.tar.bz2
Add a simple task console driver
Close #3320.
Diffstat (limited to 'cpukit/include/rtems')
-rwxr-xr-xcpukit/include/rtems/confdefs.h22
-rw-r--r--cpukit/include/rtems/console.h13
2 files changed, 29 insertions, 6 deletions
diff --git a/cpukit/include/rtems/confdefs.h b/cpukit/include/rtems/confdefs.h
index be937ab6c0..04b9708aca 100755
--- a/cpukit/include/rtems/confdefs.h
+++ b/cpukit/include/rtems/confdefs.h
@@ -1529,9 +1529,13 @@ extern rtems_initialization_tasks_table Initialization_tasks[];
#define NULL_DRIVER_TABLE_ENTRY \
{ NULL, NULL, NULL, NULL, NULL, NULL }
-#if defined(CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER) && \
- defined(CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER)
-#error "CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER and CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER are mutually exclusive"
+#if (defined(CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER) && \
+ defined(CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER)) || \
+ (defined(CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER) && \
+ defined(CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER)) || \
+ (defined(CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER) && \
+ defined(CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER))
+#error "CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER, CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER, and CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER are mutually exclusive"
#endif
#ifdef CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
@@ -1550,6 +1554,18 @@ extern rtems_initialization_tasks_table Initialization_tasks[];
#endif
#endif
+#ifdef CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER
+ #include <rtems/console.h>
+
+ #ifdef CONFIGURE_INIT
+ RTEMS_SYSINIT_ITEM(
+ _Console_simple_task_Initialize,
+ RTEMS_SYSINIT_DEVICE_DRIVERS,
+ RTEMS_SYSINIT_ORDER_SECOND
+ );
+ #endif
+#endif
+
#ifdef CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
#include <rtems/clockdrv.h>
#endif
diff --git a/cpukit/include/rtems/console.h b/cpukit/include/rtems/console.h
index f9a7de186c..522e6fef41 100644
--- a/cpukit/include/rtems/console.h
+++ b/cpukit/include/rtems/console.h
@@ -150,12 +150,19 @@ rtems_device_driver console_control(
/**
* @brief Initializes a simple console device.
*
- * This device writes via rtems_putc() and reads via getchark(). The Termios
- * framework is not used. There is no support to change device settings, e.g.
- * baud, stop bits, parity, etc.
+ * See CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER documentation in the
+ * "RTEMS Classic API Guide".
*/
void _Console_simple_Initialize( void );
+/**
+ * @brief Initializes a simple task console device.
+ *
+ * See CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER documentation in
+ * the "RTEMS Classic API Guide".
+ */
+void _Console_simple_task_Initialize( void );
+
#ifdef __cplusplus
}
#endif