diff --git a/components/drivers/serial/serial.c b/components/drivers/serial/serial.c index f5a199e10..3bae89c74 100644 --- a/components/drivers/serial/serial.c +++ b/components/drivers/serial/serial.c @@ -522,12 +522,10 @@ void rt_hw_serial_isr(struct rt_serial_device *serial, int event) rt_base_t level; struct rt_serial_rx_fifo* rx_fifo; + /* interrupt mode receive */ rx_fifo = (struct rt_serial_rx_fifo*)serial->serial_rx; RT_ASSERT(rx_fifo != RT_NULL); - - /* interrupt mode receive */ - RT_ASSERT(serial->parent.open_flag & RT_DEVICE_FLAG_INT_RX); - + while (1) { ch = serial->ops->getc(serial); diff --git a/components/external/lodepng/SConscript b/components/external/lodepng/SConscript index fd05e1013..55d6d01d3 100644 --- a/components/external/lodepng/SConscript +++ b/components/external/lodepng/SConscript @@ -1,4 +1,5 @@ from building import * +import rtconfig cwd = GetCurrentDir() src = Split(''' @@ -7,6 +8,9 @@ lodepng.c CPPPATH = [cwd] -group = DefineGroup('RTGUI', src, depend = ['RT_USING_RTGUI', 'RTGUI_IMAGE_LODEPNG', 'RT_USING_LIBC'], CPPPATH = CPPPATH) +if rtconfig.ARCH == 'sim': + group = DefineGroup('RTGUI', src, depend = ['RT_USING_RTGUI', 'RTGUI_IMAGE_LODEPNG'], CPPPATH = CPPPATH) +else: + group = DefineGroup('RTGUI', src, depend = ['RT_USING_RTGUI', 'RTGUI_IMAGE_LODEPNG', 'RT_USING_LIBC'], CPPPATH = CPPPATH) Return('group') diff --git a/src/module.c b/src/module.c index 0de93867c..b03611a4f 100644 --- a/src/module.c +++ b/src/module.c @@ -178,6 +178,7 @@ rt_module_t rt_module_self(void) /* return current module */ return (rt_module_t)tid->module_id; } +RTM_EXPORT(rt_module_self); static int rt_module_arm_relocate(struct rt_module *module, Elf32_Rel *rel, @@ -1563,6 +1564,7 @@ rt_module_t rt_module_find(const char *name) /* not found */ return RT_NULL; } +RTM_EXPORT(rt_module_find); #ifdef RT_USING_SLAB /*