summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/SConscript25
-rw-r--r--src/kservice.c10
2 files changed, 34 insertions, 1 deletions
diff --git a/src/SConscript b/src/SConscript
index 77018f4d2c..6f56c29ca6 100644
--- a/src/SConscript
+++ b/src/SConscript
@@ -2,12 +2,35 @@ Import('RTT_ROOT')
Import('rtconfig')
from building import *
-src = Glob('*.c')
+src = Split('''
+device.c
+thread.c
+scheduler.c
+timer.c
+irq.c
+kservice.c
+clock.c
+object.c
+mempool.c
+ipc.c
+idle.c
+''')
+
CPPPATH = [RTT_ROOT + '/include']
if rtconfig.CROSS_TOOL == 'keil' and GetDepend('RT_USING_MODULE') == True:
LINKFLAGS = ' --keep __rtmsym_* '
else:
LINKFLAGS = ''
+
+if GetDepend('RT_USING_MODULE'):
+ src += Split('rtm.c')
+ src += Split('module.c')
+
+if GetDepend('RT_USING_SLAB'):
+ src += Split('slab.c')
+else:
+ src += Split('mem.c')
+
group = DefineGroup('Kernel', src, depend = [''], CPPPATH = CPPPATH, LINKFLAGS = LINKFLAGS)
Return('group')
diff --git a/src/kservice.c b/src/kservice.c
index 6ecb2a5995..34a3e8032e 100644
--- a/src/kservice.c
+++ b/src/kservice.c
@@ -941,6 +941,16 @@ rt_int32_t rt_sprintf(char *buf, const char *format, ...)
#ifdef RT_USING_DEVICE
/**
+ * This function returns the device using in console.
+ *
+ * @return the device using in console or RT_NULL
+ */
+rt_device_t rt_console_get_device(void)
+{
+ return _console_device;
+}
+
+/**
* This function will set a device as console device.
* After set a device to console, all output of rt_kprintf will be
* redirected to this new device.