diff --git a/bsp/simulator/drivers/module_win32.c b/bsp/simulator/drivers/module_win32.c index 0c998eed2c16286f771978e0ee1e5dc9052eebad..8fcf3ef2fe0c9d099494b741526ffd89da38f3e8 100644 --- a/bsp/simulator/drivers/module_win32.c +++ b/bsp/simulator/drivers/module_win32.c @@ -164,15 +164,15 @@ rt_module_t rt_module_find(const char *name) struct rt_object *object; struct rt_list_node *node; - extern struct rt_object_information rt_object_container[]; - RT_DEBUG_NOT_IN_INTERRUPT; /* enter critical */ rt_enter_critical(); /* try to find device object */ - information = &rt_object_container[RT_Object_Class_Module]; + information = rt_object_get_information(RT_Object_Class_Module); + RT_ASSERT(information != RT_NULL); + for (node = information->object_list.next; node != &(information->object_list); node = node->next) diff --git a/components/finsh/cmd.c b/components/finsh/cmd.c index 995ec2a10917bc11a5fe6f161d0210b8fe4740b6..9cd292d570214b6676df17cd8e4b78ef30f9c81d 100644 --- a/components/finsh/cmd.c +++ b/components/finsh/cmd.c @@ -67,8 +67,6 @@ long version(void) FINSH_FUNCTION_EXPORT(version, show RT-Thread version information); MSH_CMD_EXPORT(version, show RT-Thread version information); -extern struct rt_object_information rt_object_container[]; - static int object_name_maxlen(struct rt_list_node *list) { struct rt_list_node *node; @@ -135,7 +133,10 @@ static long _list_thread(struct rt_list_node *list) long list_thread(void) { - return _list_thread(&rt_object_container[RT_Object_Class_Thread].object_list); + struct rt_object_information *info; + + info = rt_object_get_information(RT_Object_Class_Thread); + return _list_thread(&info->object_list); } FINSH_FUNCTION_EXPORT(list_thread, list thread); MSH_CMD_EXPORT(list_thread, list thread); @@ -195,7 +196,11 @@ static long _list_sem(struct rt_list_node *list) long list_sem(void) { - return _list_sem(&rt_object_container[RT_Object_Class_Semaphore].object_list); + struct rt_object_information *info; + + info = rt_object_get_information(RT_Object_Class_Semaphore); + + return _list_sem(&info->object_list); } FINSH_FUNCTION_EXPORT(list_sem, list semaphone in system); MSH_CMD_EXPORT(list_sem, list semaphore in system); @@ -237,7 +242,10 @@ static long _list_event(struct rt_list_node *list) long list_event(void) { - return _list_event(&rt_object_container[RT_Object_Class_Event].object_list); + struct rt_object_information *info; + + info = rt_object_get_information(RT_Object_Class_Event); + return _list_event(&info->object_list); } FINSH_FUNCTION_EXPORT(list_event, list event in system); MSH_CMD_EXPORT(list_event, list event in system); @@ -270,7 +278,11 @@ static long _list_mutex(struct rt_list_node *list) long list_mutex(void) { - return _list_mutex(&rt_object_container[RT_Object_Class_Mutex].object_list); + struct rt_object_information *info; + + info = rt_object_get_information(RT_Object_Class_Mutex); + + return _list_mutex(&info->object_list); } FINSH_FUNCTION_EXPORT(list_mutex, list mutex in system); MSH_CMD_EXPORT(list_mutex, list mutex in system); @@ -321,7 +333,10 @@ static long _list_mailbox(struct rt_list_node *list) long list_mailbox(void) { - return _list_mailbox(&rt_object_container[RT_Object_Class_MailBox].object_list); + struct rt_object_information *info; + + info = rt_object_get_information(RT_Object_Class_MailBox); + return _list_mailbox(&info->object_list); } FINSH_FUNCTION_EXPORT(list_mailbox, list mail box in system); MSH_CMD_EXPORT(list_mailbox, list mail box in system); @@ -370,7 +385,10 @@ static long _list_msgqueue(struct rt_list_node *list) long list_msgqueue(void) { - return _list_msgqueue(&rt_object_container[RT_Object_Class_MessageQueue].object_list); + struct rt_object_information *info; + + info = rt_object_get_information(RT_Object_Class_MessageQueue); + return _list_msgqueue(&info->object_list); } FINSH_FUNCTION_EXPORT(list_msgqueue, list message queue in system); MSH_CMD_EXPORT(list_msgqueue, list message queue in system); @@ -404,7 +422,10 @@ static long _list_memheap(struct rt_list_node *list) long list_memheap(void) { - return _list_memheap(&rt_object_container[RT_Object_Class_MemHeap].object_list); + struct rt_object_information *info; + + info = rt_object_get_information(RT_Object_Class_MemHeap); + return _list_memheap(&info->object_list); } FINSH_FUNCTION_EXPORT(list_memheap, list memory heap in system); MSH_CMD_EXPORT(list_memheap, list memory heap in system); @@ -453,7 +474,10 @@ static long _list_mempool(struct rt_list_node *list) long list_mempool(void) { - return _list_mempool(&rt_object_container[RT_Object_Class_MemPool].object_list); + struct rt_object_information *info; + + info = rt_object_get_information(RT_Object_Class_MemPool); + return _list_mempool(&info->object_list); } FINSH_FUNCTION_EXPORT(list_mempool, list memory pool in system) MSH_CMD_EXPORT(list_mempool, list memory pool in system); @@ -490,7 +514,10 @@ static long _list_timer(struct rt_list_node *list) long list_timer(void) { - return _list_timer(&rt_object_container[RT_Object_Class_Timer].object_list); + struct rt_object_information *info; + + info = rt_object_get_information(RT_Object_Class_Timer); + return _list_timer(&info->object_list); } FINSH_FUNCTION_EXPORT(list_timer, list timer in system); MSH_CMD_EXPORT(list_timer, list timer in system); @@ -550,7 +577,10 @@ static long _list_device(struct rt_list_node *list) long list_device(void) { - return _list_device(&rt_object_container[RT_Object_Class_Device].object_list); + struct rt_object_information *info; + + info = rt_object_get_information(RT_Object_Class_Device); + return _list_device(&info->object_list); } FINSH_FUNCTION_EXPORT(list_device, list device in system); MSH_CMD_EXPORT(list_device, list device in system); @@ -564,8 +594,10 @@ int list_module(void) int maxlen; struct rt_module *module; struct rt_list_node *list, *node; + struct rt_object_information *info; - list = &rt_object_container[RT_Object_Class_Module].object_list; + info = rt_object_get_information(RT_Object_Class_Module); + list = &info->object_list; maxlen = object_name_maxlen(list);