From f9ab9d586857adab254b97642e7a218812d322fd Mon Sep 17 00:00:00 2001 From: David Lin Date: Wed, 4 Mar 2020 23:04:52 +0800 Subject: Fixed wrong output information to -> too --- components/drivers/wlan/wlan_dev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'components') diff --git a/components/drivers/wlan/wlan_dev.c b/components/drivers/wlan/wlan_dev.c index 4241476a2b..1d17a8ca59 100644 --- a/components/drivers/wlan/wlan_dev.c +++ b/components/drivers/wlan/wlan_dev.c @@ -150,7 +150,7 @@ rt_err_t rt_wlan_dev_ap_start(struct rt_wlan_device *device, struct rt_wlan_info if ((password_len > RT_WLAN_PASSWORD_MAX_LENGTH) || (info->ssid.len > RT_WLAN_SSID_MAX_LENGTH)) { - LOG_E("L:%d password or ssid is to long", __LINE__); + LOG_E("L:%d password or ssid is too long", __LINE__); return -RT_ERROR; } -- cgit v1.3.1 From 39538e036bb317ebe147416bf0f9ad57940c7694 Mon Sep 17 00:00:00 2001 From: David Lin Date: Wed, 4 Mar 2020 23:13:45 +0800 Subject: Fixed wrong output information to ->too --- components/drivers/wlan/wlan_dev.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'components') diff --git a/components/drivers/wlan/wlan_dev.c b/components/drivers/wlan/wlan_dev.c index 1d17a8ca59..53b6138e99 100644 --- a/components/drivers/wlan/wlan_dev.c +++ b/components/drivers/wlan/wlan_dev.c @@ -102,7 +102,7 @@ rt_err_t rt_wlan_dev_connect(struct rt_wlan_device *device, struct rt_wlan_info if ((password_len > RT_WLAN_PASSWORD_MAX_LENGTH) || (info->ssid.len > RT_WLAN_SSID_MAX_LENGTH)) { - LOG_E("L:%d password or ssid is to long", __LINE__); + LOG_E("L:%d password or ssid is too long", __LINE__); return -RT_ERROR; } rt_memset(&sta_info, 0, sizeof(struct rt_sta_info)); @@ -530,7 +530,7 @@ rt_err_t rt_wlan_dev_scan(struct rt_wlan_device *device, struct rt_wlan_info *in { if (info->ssid.len > RT_WLAN_SSID_MAX_LENGTH) { - LOG_E("L:%d ssid is to long", __LINE__); + LOG_E("L:%d ssid is too long", __LINE__); return -RT_EINVAL; } rt_memcpy(&scan_info.ssid, &info->ssid, sizeof(rt_wlan_ssid_t)); -- cgit v1.3.1 From dfcd38b74df749055c9dc8ea5ff4b8c632de1ce9 Mon Sep 17 00:00:00 2001 From: yangjie Date: Tue, 7 Apr 2020 13:35:09 +0800 Subject: [components][dataqueue]add rt_data_queue_deinit --- components/drivers/include/ipc/dataqueue.h | 2 ++ components/drivers/src/dataqueue.c | 46 ++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) (limited to 'components') diff --git a/components/drivers/include/ipc/dataqueue.h b/components/drivers/include/ipc/dataqueue.h index f584c267bf..eb2fcd90cc 100644 --- a/components/drivers/include/ipc/dataqueue.h +++ b/components/drivers/include/ipc/dataqueue.h @@ -25,6 +25,7 @@ struct rt_data_queue rt_uint16_t size; rt_uint16_t lwm; rt_bool_t waiting_lwm; + rt_bool_t is_init; rt_uint16_t get_index; rt_uint16_t put_index; @@ -57,5 +58,6 @@ rt_err_t rt_data_queue_peak(struct rt_data_queue *queue, const void **data_ptr, rt_size_t *size); void rt_data_queue_reset(struct rt_data_queue *queue); +rt_err_t rt_data_queue_deinit(struct rt_data_queue *queue); #endif diff --git a/components/drivers/src/dataqueue.c b/components/drivers/src/dataqueue.c index 7553986b9f..219acb9ac8 100644 --- a/components/drivers/src/dataqueue.c +++ b/components/drivers/src/dataqueue.c @@ -31,6 +31,7 @@ rt_data_queue_init(struct rt_data_queue *queue, queue->size = size; queue->lwm = lwm; + queue->is_init = RT_TRUE; queue->get_index = 0; queue->put_index = 0; @@ -57,6 +58,11 @@ rt_err_t rt_data_queue_push(struct rt_data_queue *queue, rt_thread_t thread; rt_err_t result; + if(queue->is_init != RT_TRUE) + { + return RT_ERROR; + } + RT_ASSERT(queue != RT_NULL); result = RT_EOK; @@ -145,6 +151,11 @@ rt_err_t rt_data_queue_pop(struct rt_data_queue *queue, rt_ubase_t level; rt_thread_t thread; rt_err_t result; + + if(queue->is_init != RT_TRUE) + { + return RT_ERROR; + } RT_ASSERT(queue != RT_NULL); RT_ASSERT(data_ptr != RT_NULL); @@ -244,6 +255,11 @@ rt_err_t rt_data_queue_peak(struct rt_data_queue *queue, rt_size_t *size) { rt_ubase_t level; + + if(queue->is_init != RT_TRUE) + { + return RT_ERROR; + } RT_ASSERT(queue != RT_NULL); @@ -269,6 +285,11 @@ void rt_data_queue_reset(struct rt_data_queue *queue) { struct rt_thread *thread; register rt_ubase_t temp; + + if(queue->is_init != RT_TRUE) + { + return; + } rt_enter_critical(); /* wakeup all suspend threads */ @@ -325,3 +346,28 @@ void rt_data_queue_reset(struct rt_data_queue *queue) rt_schedule(); } RTM_EXPORT(rt_data_queue_reset); + +rt_err_t rt_data_queue_deinit(struct rt_data_queue *queue) +{ + rt_ubase_t level; + + if(queue->is_init != RT_TRUE) + { + return RT_ERROR; + } + + RT_ASSERT(queue != RT_NULL); + + level = rt_hw_interrupt_disable(); + + /* wakeup all suspend threads */ + rt_data_queue_reset(queue); + + queue->is_init = RT_FALSE; + rt_free(queue->queue); + + rt_hw_interrupt_enable(level); + + return RT_EOK; +} +RTM_EXPORT(rt_data_queue_deinit); -- cgit v1.3.1 From ebfba4974cbdc95c3bc611cfc43930c762799240 Mon Sep 17 00:00:00 2001 From: jch12138 Date: Tue, 7 Apr 2020 20:19:33 +0800 Subject: add clear --- components/finsh/cmd.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'components') diff --git a/components/finsh/cmd.c b/components/finsh/cmd.c index 48a629961b..9743bfd18b 100644 --- a/components/finsh/cmd.c +++ b/components/finsh/cmd.c @@ -29,6 +29,7 @@ * 2018-11-22 Jesven list_thread add smp support * 2018-12-27 Jesven Fix the problem that disable interrupt too long in list_thread * Provide protection for the "first layer of objects" when list_* + * 2020-04-07 chenhui add clear */ #include @@ -48,6 +49,15 @@ long hello(void) } FINSH_FUNCTION_EXPORT(hello, say hello world); +long clear(void) +{ + rt_kprintf("\x1b[2J\x1b[H"); + + return 0; +} +FINSH_FUNCTION_EXPORT(clear,clear the terminal screen); +MSH_CMD_EXPORT(clear,clear the terminal screen); + extern void rt_show_version(void); long version(void) { -- cgit v1.3.1 From 1d7b34f471171c94605cb95b739562d2dff664c7 Mon Sep 17 00:00:00 2001 From: yangjie Date: Wed, 8 Apr 2020 11:05:37 +0800 Subject: [components][dataqueue]修改is_init为magic数 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/drivers/include/ipc/dataqueue.h | 3 ++- components/drivers/src/dataqueue.c | 37 ++++++++---------------------- 2 files changed, 12 insertions(+), 28 deletions(-) (limited to 'components') diff --git a/components/drivers/include/ipc/dataqueue.h b/components/drivers/include/ipc/dataqueue.h index eb2fcd90cc..d90be76ffb 100644 --- a/components/drivers/include/ipc/dataqueue.h +++ b/components/drivers/include/ipc/dataqueue.h @@ -22,10 +22,11 @@ struct rt_data_item; /* data queue implementation */ struct rt_data_queue { + rt_uint32_t magic; + rt_uint16_t size; rt_uint16_t lwm; rt_bool_t waiting_lwm; - rt_bool_t is_init; rt_uint16_t get_index; rt_uint16_t put_index; diff --git a/components/drivers/src/dataqueue.c b/components/drivers/src/dataqueue.c index 219acb9ac8..5a802c0711 100644 --- a/components/drivers/src/dataqueue.c +++ b/components/drivers/src/dataqueue.c @@ -13,6 +13,8 @@ #include #include +#define DATAQUEUE_MAGIC 0xbead0e0e + struct rt_data_item { const void *data_ptr; @@ -29,9 +31,9 @@ rt_data_queue_init(struct rt_data_queue *queue, queue->evt_notify = evt_notify; + queue->magic = DATAQUEUE_MAGIC; queue->size = size; queue->lwm = lwm; - queue->is_init = RT_TRUE; queue->get_index = 0; queue->put_index = 0; @@ -58,11 +60,7 @@ rt_err_t rt_data_queue_push(struct rt_data_queue *queue, rt_thread_t thread; rt_err_t result; - if(queue->is_init != RT_TRUE) - { - return RT_ERROR; - } - + RT_ASSERT(queue->magic == DATAQUEUE_MAGIC); RT_ASSERT(queue != RT_NULL); result = RT_EOK; @@ -152,11 +150,7 @@ rt_err_t rt_data_queue_pop(struct rt_data_queue *queue, rt_thread_t thread; rt_err_t result; - if(queue->is_init != RT_TRUE) - { - return RT_ERROR; - } - + RT_ASSERT(queue->magic == DATAQUEUE_MAGIC); RT_ASSERT(queue != RT_NULL); RT_ASSERT(data_ptr != RT_NULL); RT_ASSERT(size != RT_NULL); @@ -256,11 +250,7 @@ rt_err_t rt_data_queue_peak(struct rt_data_queue *queue, { rt_ubase_t level; - if(queue->is_init != RT_TRUE) - { - return RT_ERROR; - } - + RT_ASSERT(queue->magic == DATAQUEUE_MAGIC); RT_ASSERT(queue != RT_NULL); level = rt_hw_interrupt_disable(); @@ -286,11 +276,8 @@ void rt_data_queue_reset(struct rt_data_queue *queue) struct rt_thread *thread; register rt_ubase_t temp; - if(queue->is_init != RT_TRUE) - { - return; - } - + RT_ASSERT(queue->magic == DATAQUEUE_MAGIC); + rt_enter_critical(); /* wakeup all suspend threads */ @@ -351,11 +338,7 @@ rt_err_t rt_data_queue_deinit(struct rt_data_queue *queue) { rt_ubase_t level; - if(queue->is_init != RT_TRUE) - { - return RT_ERROR; - } - + RT_ASSERT(queue->magic == DATAQUEUE_MAGIC); RT_ASSERT(queue != RT_NULL); level = rt_hw_interrupt_disable(); @@ -363,7 +346,7 @@ rt_err_t rt_data_queue_deinit(struct rt_data_queue *queue) /* wakeup all suspend threads */ rt_data_queue_reset(queue); - queue->is_init = RT_FALSE; + queue->magic = 0; rt_free(queue->queue); rt_hw_interrupt_enable(level); -- cgit v1.3.1 From cb9bc38ec9ad9dd6db0c5392078c9e2c3cfd24b3 Mon Sep 17 00:00:00 2001 From: yangjie Date: Fri, 10 Apr 2020 18:41:59 +0800 Subject: [components][serial]关闭uart时,反初始化tx_dma->data_queue,防止内存泄漏 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/drivers/serial/serial.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'components') diff --git a/components/drivers/serial/serial.c b/components/drivers/serial/serial.c index 7dd2918b9b..c442b052b1 100644 --- a/components/drivers/serial/serial.c +++ b/components/drivers/serial/serial.c @@ -785,6 +785,8 @@ static rt_err_t rt_serial_close(struct rt_device *dev) tx_dma = (struct rt_serial_tx_dma*)serial->serial_tx; RT_ASSERT(tx_dma != RT_NULL); + rt_data_queue_deinit(&(tx_dma->data_queue)); + rt_free(tx_dma); serial->serial_tx = RT_NULL; dev->open_flag &= ~RT_DEVICE_FLAG_DMA_TX; -- cgit v1.3.1 From 9545529b33cbaae137f1e389dd0e3a5233d516da Mon Sep 17 00:00:00 2001 From: DeclanHuaChen <33150823+DeclanHuaChen@users.noreply.github.com> Date: Sat, 11 Apr 2020 16:06:32 +0800 Subject: Fix some spelling mistakes --- bsp/stm32/libraries/STM32F2xx_HAL/SConscript | 2 +- components/drivers/usb/usbhost/class/adk.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'components') diff --git a/bsp/stm32/libraries/STM32F2xx_HAL/SConscript b/bsp/stm32/libraries/STM32F2xx_HAL/SConscript index 2f5f37d31c..b69484d566 100644 --- a/bsp/stm32/libraries/STM32F2xx_HAL/SConscript +++ b/bsp/stm32/libraries/STM32F2xx_HAL/SConscript @@ -29,7 +29,7 @@ if GetDepend(['RT_USING_SPI']): src += ['STM32F2xx_HAL_Driver/Src/stm32f2xx_hal_spi.c'] if GetDepend(['RT_USING_USB_HOST']) or GetDepend(['RT_USING_USB_DEVICE']): - src += ['STM32F2xx_HAL_Driver/Src/stm32f2xx_hal_pccd.c'] + src += ['STM32F2xx_HAL_Driver/Src/stm32f2xx_hal_pccard.c'] src += ['STM32F2xx_HAL_Driver/Src/stm32f2xx_hal_pcd.c'] src += ['STM32F2xx_HAL_Driver/Src/stm32f2xx_hal_pcd_ex.c'] src += ['STM32F2xx_HAL_Driver/Src/stm32f2xx_ll_usb.c'] diff --git a/components/drivers/usb/usbhost/class/adk.h b/components/drivers/usb/usbhost/class/adk.h index 041d47c674..c582ad7f17 100644 --- a/components/drivers/usb/usbhost/class/adk.h +++ b/components/drivers/usb/usbhost/class/adk.h @@ -8,8 +8,8 @@ * 2011-12-12 Yi Qiu first version */ -#ifndef __HID_H__ -#define __HID_H__ +#ifndef __ADK_H__ +#define __ADK_H__ #include -- cgit v1.3.1 From 3d29ac89538cc5a91147d6b1391189cc8b86f07a Mon Sep 17 00:00:00 2001 From: bigmagic Date: Sat, 11 Apr 2020 22:32:41 +0800 Subject: remove redefinition 'mode_t' --- components/libc/compilers/minilibc/sys/types.h | 2 -- 1 file changed, 2 deletions(-) (limited to 'components') diff --git a/components/libc/compilers/minilibc/sys/types.h b/components/libc/compilers/minilibc/sys/types.h index d3abc6bb38..746235273c 100644 --- a/components/libc/compilers/minilibc/sys/types.h +++ b/components/libc/compilers/minilibc/sys/types.h @@ -25,8 +25,6 @@ typedef unsigned short u_short; typedef unsigned int u_int; typedef unsigned long u_long; -typedef int mode_t; - typedef unsigned long clockid_t; typedef int pid_t; -- cgit v1.3.1 From ff09587d2381da4d02fd8a31a73e6271f3ca3e9f Mon Sep 17 00:00:00 2001 From: David Lin Date: Sun, 12 Apr 2020 11:58:33 +0800 Subject: [components/drivers] update pipe.c Fixed stackover flow bug when create pipe->fifo --- components/drivers/src/pipe.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'components') diff --git a/components/drivers/src/pipe.c b/components/drivers/src/pipe.c index ae87b6f5f2..393370fc9a 100644 --- a/components/drivers/src/pipe.c +++ b/components/drivers/src/pipe.c @@ -330,6 +330,11 @@ rt_err_t rt_pipe_open (rt_device_t device, rt_uint16_t oflag) if (pipe->fifo == RT_NULL) { pipe->fifo = rt_ringbuffer_create(pipe->bufsz); + if (pipe->fifo == RT_NULL) + { + rt_mutex_release(&(pipe->lock)); + return -RT_ENOMEM; + } } rt_mutex_release(&(pipe->lock)); -- cgit v1.3.1 From 63e855d78a036891f1bcc49b771c928736288d7e Mon Sep 17 00:00:00 2001 From: Keyun-Johan <1003085792@qq.com> Date: Sun, 12 Apr 2020 19:22:19 +0800 Subject: socket_new()成功后,后续函数不成功返回-1,没有删除socket MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/net/sal_socket/src/sal_socket.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'components') diff --git a/components/net/sal_socket/src/sal_socket.c b/components/net/sal_socket/src/sal_socket.c index e5c55f8bf8..a79890eb27 100644 --- a/components/net/sal_socket/src/sal_socket.c +++ b/components/net/sal_socket/src/sal_socket.c @@ -917,6 +917,7 @@ int sal_socket(int domain, int type, int protocol) socket = socket_new(); if (socket < 0) { + socket_delete(socket); return -1; } @@ -924,6 +925,7 @@ int sal_socket(int domain, int type, int protocol) sock = sal_get_socket(socket); if (sock == RT_NULL) { + socket_delete(socket); return -1; } @@ -956,7 +958,7 @@ int sal_socket(int domain, int type, int protocol) sock->user_data = (void *) proto_socket; return sock->socket; } - + socket_delete(socket); return -1; } -- cgit v1.3.1 From e9d930070d88362033312e0d7b6d07b0433e4069 Mon Sep 17 00:00:00 2001 From: David Lin Date: Mon, 13 Apr 2020 07:20:29 +0800 Subject: Update pipe.c --- components/drivers/src/pipe.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'components') diff --git a/components/drivers/src/pipe.c b/components/drivers/src/pipe.c index 393370fc9a..2a7e143f6c 100644 --- a/components/drivers/src/pipe.c +++ b/components/drivers/src/pipe.c @@ -323,8 +323,14 @@ static const struct dfs_file_ops pipe_fops = rt_err_t rt_pipe_open (rt_device_t device, rt_uint16_t oflag) { rt_pipe_t *pipe = (rt_pipe_t *)device; + rt_err_t ret = RT_EOK; - if (device == RT_NULL) return -RT_EINVAL; + if (device == RT_NULL) + { + ret = -RT_EINVAL; + goto __exit; + } + rt_mutex_take(&(pipe->lock), RT_WAITING_FOREVER); if (pipe->fifo == RT_NULL) @@ -332,14 +338,14 @@ rt_err_t rt_pipe_open (rt_device_t device, rt_uint16_t oflag) pipe->fifo = rt_ringbuffer_create(pipe->bufsz); if (pipe->fifo == RT_NULL) { - rt_mutex_release(&(pipe->lock)); - return -RT_ENOMEM; + ret = -RT_ENOMEM; } } rt_mutex_release(&(pipe->lock)); - return RT_EOK; +__exit: + return ret; } rt_err_t rt_pipe_close (rt_device_t device) -- cgit v1.3.1 From 5ea637903d29ec12e88dc9ab0ecce81940c74339 Mon Sep 17 00:00:00 2001 From: Keyun-Johan <63483837+Keyun-Johan@users.noreply.github.com> Date: Mon, 13 Apr 2020 17:42:37 +0800 Subject: Update sal_socket.c OK --- components/net/sal_socket/src/sal_socket.c | 1 - 1 file changed, 1 deletion(-) (limited to 'components') diff --git a/components/net/sal_socket/src/sal_socket.c b/components/net/sal_socket/src/sal_socket.c index a79890eb27..bd51c829c6 100644 --- a/components/net/sal_socket/src/sal_socket.c +++ b/components/net/sal_socket/src/sal_socket.c @@ -917,7 +917,6 @@ int sal_socket(int domain, int type, int protocol) socket = socket_new(); if (socket < 0) { - socket_delete(socket); return -1; } -- cgit v1.3.1 From 3afb24f4c1f7530887a9f3f981bc0fdd3961c44c Mon Sep 17 00:00:00 2001 From: bigmagic Date: Fri, 17 Apr 2020 22:30:41 +0800 Subject: fix aarch64 compiler warning --- components/finsh/finsh.h | 4 ++-- components/finsh/finsh_compiler.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'components') diff --git a/components/finsh/finsh.h b/components/finsh/finsh.h index eb38682c4f..7276ea7ce1 100644 --- a/components/finsh/finsh.h +++ b/components/finsh/finsh.h @@ -27,8 +27,8 @@ #define HEAP_ALIGNMENT 4 /* heap alignment */ #define FINSH_GET16(x) (*(x)) | (*((x)+1) << 8) -#define FINSH_GET32(x) (rt_uint32_t)(*(x)) | ((rt_uint32_t)*((x)+1) << 8) | \ - ((rt_uint32_t)*((x)+2) << 16) | ((rt_uint32_t)*((x)+3) << 24) +#define FINSH_GET32(x) (rt_ubase_t)(*(x)) | ((rt_ubase_t)*((x)+1) << 8) | \ + ((rt_ubase_t)*((x)+2) << 16) | ((rt_ubase_t)*((x)+3) << 24) #define FINSH_SET16(x, v) \ do \ diff --git a/components/finsh/finsh_compiler.c b/components/finsh/finsh_compiler.c index 8d33e0e567..f81409bf9a 100644 --- a/components/finsh/finsh_compiler.c +++ b/components/finsh/finsh_compiler.c @@ -191,7 +191,7 @@ static int finsh_compile(struct finsh_node* node) case FINSH_NODE_VALUE_NULL: case FINSH_NODE_VALUE_STRING: finsh_code_byte(FINSH_OP_LD_DWORD); - finsh_code_dword((uint32_t)node->value.ptr); + finsh_code_dword((rt_ubase_t)node->value.ptr); break; /* arithmetic operation */ -- cgit v1.3.1 From 9d374f873cc9d3f0ee1af5f463fcaeee75d5f6e8 Mon Sep 17 00:00:00 2001 From: hphuang Date: Tue, 28 Apr 2020 19:07:08 +0800 Subject: mstorage.c: fix the issue that _read_capacity() returns the wrong last valid address of storage medium --- components/drivers/usb/usbdevice/class/mstorage.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'components') diff --git a/components/drivers/usb/usbdevice/class/mstorage.c b/components/drivers/usb/usbdevice/class/mstorage.c index 43fb25afe4..a681b8212f 100644 --- a/components/drivers/usb/usbdevice/class/mstorage.c +++ b/components/drivers/usb/usbdevice/class/mstorage.c @@ -426,7 +426,7 @@ static rt_size_t _read_capacity(ufunction_t func, ustorage_cbw_t cbw) data = (struct mstorage*)func->user_data; buf = data->ep_in->buffer; - sector_count = data->geometry.sector_count; + sector_count = data->geometry.sector_count - 1; /* Last Logical Block Address */ sector_size = data->geometry.bytes_per_sector; buf[0] = sector_count >> 24; -- cgit v1.3.1 From 786eb5ae9c77970f25f662d57a83276d09c9a72d Mon Sep 17 00:00:00 2001 From: Bernard Xiong Date: Thu, 30 Apr 2020 21:08:04 +0800 Subject: [C++] rename the Thread/Mutex to cxx_Thread/Mutex to avoid same name issue --- bsp/lpc54608-LPCXpresso/project.ewp | 8 +- bsp/lpc54608-LPCXpresso/project.ewt | 8 +- bsp/lpc54608-LPCXpresso/project.uvprojx | 741 ++++++++++++++++---------------- components/cplusplus/Mutex.cpp | 43 -- components/cplusplus/Semaphore.cpp | 38 -- components/cplusplus/Thread.cpp | 116 ----- components/cplusplus/crt.cpp | 37 -- components/cplusplus/crt_init.c | 0 components/cplusplus/cxx_Mutex.cpp | 43 ++ components/cplusplus/cxx_Semaphore.cpp | 38 ++ components/cplusplus/cxx_Thread.cpp | 116 +++++ components/cplusplus/cxx_crt.cpp | 37 ++ 12 files changed, 609 insertions(+), 616 deletions(-) delete mode 100644 components/cplusplus/Mutex.cpp delete mode 100644 components/cplusplus/Semaphore.cpp delete mode 100644 components/cplusplus/Thread.cpp delete mode 100644 components/cplusplus/crt.cpp mode change 100755 => 100644 components/cplusplus/crt_init.c create mode 100644 components/cplusplus/cxx_Mutex.cpp create mode 100644 components/cplusplus/cxx_Semaphore.cpp create mode 100644 components/cplusplus/cxx_Thread.cpp create mode 100644 components/cplusplus/cxx_crt.cpp (limited to 'components') diff --git a/bsp/lpc54608-LPCXpresso/project.ewp b/bsp/lpc54608-LPCXpresso/project.ewp index 22154af07d..d16ead5d2c 100644 --- a/bsp/lpc54608-LPCXpresso/project.ewp +++ b/bsp/lpc54608-LPCXpresso/project.ewp @@ -2148,16 +2148,16 @@ CPlusPlus - $PROJ_DIR$\../../components/cplusplus/Mutex.cpp + $PROJ_DIR$\../../components/cplusplus/cxx_Mutex.cpp - $PROJ_DIR$\../../components/cplusplus/Semaphore.cpp + $PROJ_DIR$\../../components/cplusplus/cxx_Semaphore.cpp - $PROJ_DIR$\../../components/cplusplus/Thread.cpp + $PROJ_DIR$\../../components/cplusplus/cxx_Thread.cpp - $PROJ_DIR$\../../components/cplusplus/crt.cpp + $PROJ_DIR$\../../components/cplusplus/cxx_crt.cpp $PROJ_DIR$\../../components/cplusplus/crt_init.c diff --git a/bsp/lpc54608-LPCXpresso/project.ewt b/bsp/lpc54608-LPCXpresso/project.ewt index de78292e60..a1d63d5e4b 100644 --- a/bsp/lpc54608-LPCXpresso/project.ewt +++ b/bsp/lpc54608-LPCXpresso/project.ewt @@ -2355,19 +2355,19 @@ CPlusPlus - $PROJ_DIR$\..\..\components\cplusplus\crt.cpp + $PROJ_DIR$\..\..\components\cplusplus\cxx_crt.cpp $PROJ_DIR$\..\..\components\cplusplus\crt_init.c - $PROJ_DIR$\..\..\components\cplusplus\Mutex.cpp + $PROJ_DIR$\..\..\components\cplusplus\cxx_Mutex.cpp - $PROJ_DIR$\..\..\components\cplusplus\Semaphore.cpp + $PROJ_DIR$\..\..\components\cplusplus\cxx_Semaphore.cpp - $PROJ_DIR$\..\..\components\cplusplus\Thread.cpp + $PROJ_DIR$\..\..\components\cplusplus\cxx_Thread.cpp diff --git a/bsp/lpc54608-LPCXpresso/project.uvprojx b/bsp/lpc54608-LPCXpresso/project.uvprojx index ad2e225b2e..e7978224d2 100644 --- a/bsp/lpc54608-LPCXpresso/project.uvprojx +++ b/bsp/lpc54608-LPCXpresso/project.uvprojx @@ -330,9 +330,9 @@ 0 --library_interface=armcc --library_type=standardlib --diag_suppress=66,1296,186 - CPU_LPC54608J512ET180=1, CPU_LPC54608, CORE_M4, SDK_DEBUGCONSOLE=0, RT_USING_ARM_LIBC + SDK_DEBUGCONSOLE=0, CPU_LPC54608, CORE_M4, CPU_LPC54608J512ET180=1, RT_USING_ARM_LIBC - .;..\..\include;applications;.;drivers;SDK_2.2_LPCXpresso54608\CMSIS\Include;SDK_2.2_LPCXpresso54608\devices\LPC54608;SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers;SDK_2.2_LPCXpresso54608\devices\LPC54608\utilities;SDK_2.2_LPCXpresso54608\sdmmc_2.1.2\inc;SDK_2.2_LPCXpresso54608\sdmmc_2.1.2\src;..\..\libcpu\arm\common;..\..\libcpu\arm\cortex-m4;..\..\components\cplusplus;..\..\components\dfs\include;..\..\components\dfs\filesystems\devfs;..\..\components\dfs\filesystems\elmfat;..\..\components\drivers\include;..\..\components\drivers\include;..\..\components\drivers\include;..\..\components\drivers\include;..\..\components\drivers\include;..\..\components\drivers\include;..\..\components\drivers\spi;..\..\components\drivers\include;..\..\components\drivers\include;..\..\components\finsh;..\..\components\libc\compilers\armlibc;..\..\components\libc\compilers\common;..\..\components\libc\pthreads;..\..\components\libc\time;..\..\components\net\lwip-2.0.2\src;..\..\components\net\lwip-2.0.2\src\include;..\..\components\net\lwip-2.0.2\src\include\ipv4;..\..\components\net\lwip-2.0.2\src\arch\include;..\..\components\net\lwip-2.0.2\src\include\netif;..\..\components\net\netdev\include;..\..\components\net\sal_socket\include;..\..\components\net\sal_socket\include\socket;..\..\components\net\sal_socket\impl;..\..\components\net\sal_socket\include\dfs_net;..\..\components\net\sal_socket\include\dfs_net\sys_select;..\..\components\net\sal_socket\include\socket\sys_socket + .;../../include;applications;.;drivers;SDK_2.2_LPCXpresso54608/sdmmc_2.1.2/inc;SDK_2.2_LPCXpresso54608/sdmmc_2.1.2/src;SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers;SDK_2.2_LPCXpresso54608/devices/LPC54608/utilities;SDK_2.2_LPCXpresso54608/CMSIS/Include;SDK_2.2_LPCXpresso54608/devices/LPC54608;../../libcpu/arm/common;../../libcpu/arm/cortex-m4;../../components/finsh;../../components/dfs/include;../../components/dfs/filesystems/elmfat;../../components/dfs/filesystems/devfs;../../components/net/lwip-2.0.2/src;../../components/net/lwip-2.0.2/src/include;../../components/net/lwip-2.0.2/src/include/ipv4;../../components/net/lwip-2.0.2/src/arch/include;../../components/net/lwip-2.0.2/src/include/netif;../../components/net/netdev/include;../../components/net/sal_socket/include;../../components/net/sal_socket/include/socket;../../components/net/sal_socket/impl;../../components/net/sal_socket/include/dfs_net;../../components/net/sal_socket/include/dfs_net/sys_select;../../components/net/sal_socket/include/socket/sys_socket;../../components/drivers/include;../../components/drivers/include;../../components/drivers/spi;../../components/drivers/include;../../components/drivers/include;../../components/drivers/include;../../components/drivers/include;../../components/drivers/include;../../components/drivers/include;../../components/cplusplus;../../components/libc/compilers/armlibc;../../components/libc/compilers/common;../../components/libc/pthreads;../../components/libc/time @@ -379,112 +379,105 @@ clock.c 1 - ..\..\src\clock.c + ../../src/clock.c components.c 1 - ..\..\src\components.c - - - - - cpu.c - 1 - ..\..\src\cpu.c + ../../src/components.c device.c 1 - ..\..\src\device.c + ../../src/device.c idle.c 1 - ..\..\src\idle.c + ../../src/idle.c ipc.c 1 - ..\..\src\ipc.c + ../../src/ipc.c irq.c 1 - ..\..\src\irq.c + ../../src/irq.c kservice.c 1 - ..\..\src\kservice.c + ../../src/kservice.c mem.c 1 - ..\..\src\mem.c + ../../src/mem.c memheap.c 1 - ..\..\src\memheap.c + ../../src/memheap.c mempool.c 1 - ..\..\src\mempool.c + ../../src/mempool.c object.c 1 - ..\..\src\object.c + ../../src/object.c scheduler.c 1 - ..\..\src\scheduler.c + ../../src/scheduler.c signal.c 1 - ..\..\src\signal.c + ../../src/signal.c thread.c 1 - ..\..\src\thread.c + ../../src/thread.c timer.c 1 - ..\..\src\timer.c + ../../src/timer.c @@ -494,21 +487,21 @@ application.c 1 - applications\application.c + applications/application.c mnt.c 1 - applications\mnt.c + applications/mnt.c startup.c 1 - applications\startup.c + applications/startup.c @@ -518,419 +511,419 @@ board.c 1 - drivers\board.c + drivers/board.c clock_config.c 1 - drivers\clock_config.c + drivers/clock_config.c drt_mpu.c 1 - drivers\drt_mpu.c + drivers/drt_mpu.c drv_emac.c 1 - drivers\drv_emac.c + drivers/drv_emac.c drv_ft5406.c 1 - drivers\drv_ft5406.c + drivers/drv_ft5406.c drv_i2c.c 1 - drivers\drv_i2c.c + drivers/drv_i2c.c drv_lcd.c 1 - drivers\drv_lcd.c + drivers/drv_lcd.c drv_sd.c 1 - drivers\drv_sd.c + drivers/drv_sd.c drv_sdram.c 1 - drivers\drv_sdram.c + drivers/drv_sdram.c drv_sram.c 1 - drivers\drv_sram.c + drivers/drv_sram.c drv_uart.c 1 - drivers\drv_uart.c + drivers/drv_uart.c fsl_phy.c 1 - drivers\fsl_phy.c + drivers/fsl_phy.c - CMSIS + Libraries - startup_LPC54608.s - 2 - SDK_2.2_LPCXpresso54608\devices\LPC54608\arm\startup_LPC54608.s + fsl_sd.c + 1 + SDK_2.2_LPCXpresso54608/sdmmc_2.1.2/src/fsl_sd.c - system_LPC54608.c + fsl_sdmmc.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\system_LPC54608.c + SDK_2.2_LPCXpresso54608/sdmmc_2.1.2/src/fsl_sdmmc.c - keil_lib_power.lib - 4 - SDK_2.2_LPCXpresso54608\devices\LPC54608\arm\keil_lib_power.lib + fsl_host.c + 1 + SDK_2.2_LPCXpresso54608/sdmmc_2.1.2/src/fsl_host.c + + + + + fsl_sd_event.c + 1 + SDK_2.2_LPCXpresso54608/sdmmc_2.1.2/src/fsl_sd_event.c - - - Libraries fsl_adc.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_adc.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_adc.c fsl_clock.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_clock.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_clock.c fsl_common.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_common.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_common.c fsl_crc.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_crc.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_crc.c fsl_ctimer.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_ctimer.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_ctimer.c fsl_dma.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_dma.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_dma.c fsl_dmic.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_dmic.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_dmic.c fsl_dmic_dma.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_dmic_dma.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_dmic_dma.c fsl_eeprom.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_eeprom.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_eeprom.c fsl_emc.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_emc.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_emc.c fsl_enet.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_enet.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_enet.c fsl_flashiap.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_flashiap.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_flashiap.c fsl_flexcomm.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_flexcomm.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_flexcomm.c fsl_fmc.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_fmc.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_fmc.c fsl_fmeas.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_fmeas.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_fmeas.c fsl_gint.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_gint.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_gint.c fsl_gpio.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_gpio.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_gpio.c fsl_i2c.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_i2c.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_i2c.c fsl_i2c_dma.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_i2c_dma.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_i2c_dma.c fsl_i2s.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_i2s.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_i2s.c fsl_i2s_dma.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_i2s_dma.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_i2s_dma.c fsl_inputmux.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_inputmux.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_inputmux.c fsl_lcdc.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_lcdc.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_lcdc.c fsl_mcan.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_mcan.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_mcan.c fsl_mrt.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_mrt.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_mrt.c fsl_pint.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_pint.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_pint.c fsl_power.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_power.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_power.c fsl_reset.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_reset.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_reset.c fsl_rit.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_rit.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_rit.c fsl_rtc.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_rtc.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_rtc.c fsl_sctimer.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_sctimer.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_sctimer.c fsl_sdif.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_sdif.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_sdif.c fsl_spi.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_spi.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_spi.c fsl_spi_dma.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_spi_dma.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_spi_dma.c fsl_spifi.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_spifi.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_spifi.c fsl_spifi_dma.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_spifi_dma.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_spifi_dma.c fsl_usart.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_usart.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_usart.c fsl_usart_dma.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_usart_dma.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_usart_dma.c fsl_utick.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_utick.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_utick.c fsl_wwdt.c 1 - SDK_2.2_LPCXpresso54608\devices\LPC54608\drivers\fsl_wwdt.c - - - - - fsl_sd.c - 1 - SDK_2.2_LPCXpresso54608\sdmmc_2.1.2\src\fsl_sd.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/drivers/fsl_wwdt.c + + + CMSIS - fsl_sdmmc.c - 1 - SDK_2.2_LPCXpresso54608\sdmmc_2.1.2\src\fsl_sdmmc.c + startup_LPC54608.s + 2 + SDK_2.2_LPCXpresso54608/devices/LPC54608/arm/startup_LPC54608.s - fsl_host.c + system_LPC54608.c 1 - SDK_2.2_LPCXpresso54608\sdmmc_2.1.2\src\fsl_host.c + SDK_2.2_LPCXpresso54608/devices/LPC54608/system_LPC54608.c - fsl_sd_event.c - 1 - SDK_2.2_LPCXpresso54608\sdmmc_2.1.2\src\fsl_sd_event.c + keil_lib_power.lib + 4 + SDK_2.2_LPCXpresso54608/devices/LPC54608/arm/keil_lib_power.lib @@ -940,851 +933,851 @@ backtrace.c 1 - ..\..\libcpu\arm\common\backtrace.c + ../../libcpu/arm/common/backtrace.c div0.c 1 - ..\..\libcpu\arm\common\div0.c + ../../libcpu/arm/common/div0.c showmem.c 1 - ..\..\libcpu\arm\common\showmem.c + ../../libcpu/arm/common/showmem.c cpuport.c 1 - ..\..\libcpu\arm\cortex-m4\cpuport.c + ../../libcpu/arm/cortex-m4/cpuport.c context_rvds.S 2 - ..\..\libcpu\arm\cortex-m4\context_rvds.S + ../../libcpu/arm/cortex-m4/context_rvds.S - CPlusPlus + finsh - Mutex.cpp - 8 - ..\..\components\cplusplus\Mutex.cpp + shell.c + 1 + ../../components/finsh/shell.c - Semaphore.cpp - 8 - ..\..\components\cplusplus\Semaphore.cpp + cmd.c + 1 + ../../components/finsh/cmd.c - Thread.cpp - 8 - ..\..\components\cplusplus\Thread.cpp + msh.c + 1 + ../../components/finsh/msh.c - crt.cpp - 8 - ..\..\components\cplusplus\crt.cpp + msh_file.c + 1 + ../../components/finsh/msh_file.c - crt_init.c + finsh_compiler.c 1 - ..\..\components\cplusplus\crt_init.c + ../../components/finsh/finsh_compiler.c - - - Filesystem - dfs.c + finsh_error.c 1 - ..\..\components\dfs\src\dfs.c + ../../components/finsh/finsh_error.c - dfs_file.c + finsh_heap.c 1 - ..\..\components\dfs\src\dfs_file.c + ../../components/finsh/finsh_heap.c - dfs_fs.c + finsh_init.c 1 - ..\..\components\dfs\src\dfs_fs.c + ../../components/finsh/finsh_init.c - dfs_posix.c + finsh_node.c 1 - ..\..\components\dfs\src\dfs_posix.c + ../../components/finsh/finsh_node.c - poll.c + finsh_ops.c 1 - ..\..\components\dfs\src\poll.c + ../../components/finsh/finsh_ops.c - select.c + finsh_parser.c 1 - ..\..\components\dfs\src\select.c + ../../components/finsh/finsh_parser.c - devfs.c + finsh_var.c 1 - ..\..\components\dfs\filesystems\devfs\devfs.c + ../../components/finsh/finsh_var.c - dfs_elm.c + finsh_vm.c 1 - ..\..\components\dfs\filesystems\elmfat\dfs_elm.c + ../../components/finsh/finsh_vm.c - ff.c + finsh_token.c 1 - ..\..\components\dfs\filesystems\elmfat\ff.c + ../../components/finsh/finsh_token.c - DeviceDrivers + Filesystem - i2c_core.c + dfs.c 1 - ..\..\components\drivers\i2c\i2c_core.c + ../../components/dfs/src/dfs.c - i2c_dev.c + dfs_file.c 1 - ..\..\components\drivers\i2c\i2c_dev.c + ../../components/dfs/src/dfs_file.c - i2c-bit-ops.c + dfs_fs.c 1 - ..\..\components\drivers\i2c\i2c-bit-ops.c + ../../components/dfs/src/dfs_fs.c - pin.c + dfs_posix.c 1 - ..\..\components\drivers\misc\pin.c + ../../components/dfs/src/dfs_posix.c - mtd_nand.c + poll.c 1 - ..\..\components\drivers\mtd\mtd_nand.c + ../../components/dfs/src/poll.c - rtc.c + select.c 1 - ..\..\components\drivers\rtc\rtc.c + ../../components/dfs/src/select.c - block_dev.c + dfs_elm.c 1 - ..\..\components\drivers\sdio\block_dev.c + ../../components/dfs/filesystems/elmfat/dfs_elm.c - mmcsd_core.c + ff.c 1 - ..\..\components\drivers\sdio\mmcsd_core.c + ../../components/dfs/filesystems/elmfat/ff.c - sd.c + devfs.c 1 - ..\..\components\drivers\sdio\sd.c + ../../components/dfs/filesystems/devfs/devfs.c + + + lwIP - sdio.c + sys_arch.c 1 - ..\..\components\drivers\sdio\sdio.c + ../../components/net/lwip-2.0.2/src/arch/sys_arch.c - mmc.c + api_lib.c 1 - ..\..\components\drivers\sdio\mmc.c + ../../components/net/lwip-2.0.2/src/api/api_lib.c - serial.c + api_msg.c 1 - ..\..\components\drivers\serial\serial.c + ../../components/net/lwip-2.0.2/src/api/api_msg.c - spi_core.c + err.c 1 - ..\..\components\drivers\spi\spi_core.c + ../../components/net/lwip-2.0.2/src/api/err.c - spi_dev.c + netbuf.c 1 - ..\..\components\drivers\spi\spi_dev.c + ../../components/net/lwip-2.0.2/src/api/netbuf.c - completion.c + netdb.c 1 - ..\..\components\drivers\src\completion.c + ../../components/net/lwip-2.0.2/src/api/netdb.c - dataqueue.c + netifapi.c 1 - ..\..\components\drivers\src\dataqueue.c + ../../components/net/lwip-2.0.2/src/api/netifapi.c - pipe.c + sockets.c 1 - ..\..\components\drivers\src\pipe.c + ../../components/net/lwip-2.0.2/src/api/sockets.c - ringblk_buf.c + tcpip.c 1 - ..\..\components\drivers\src\ringblk_buf.c + ../../components/net/lwip-2.0.2/src/api/tcpip.c - ringbuffer.c + def.c 1 - ..\..\components\drivers\src\ringbuffer.c + ../../components/net/lwip-2.0.2/src/core/def.c - waitqueue.c + dns.c 1 - ..\..\components\drivers\src\waitqueue.c + ../../components/net/lwip-2.0.2/src/core/dns.c - workqueue.c + inet_chksum.c 1 - ..\..\components\drivers\src\workqueue.c + ../../components/net/lwip-2.0.2/src/core/inet_chksum.c - - - - - - - - - - - - - - - finsh - shell.c + init.c 1 - ..\..\components\finsh\shell.c + ../../components/net/lwip-2.0.2/src/core/init.c - cmd.c + ip.c 1 - ..\..\components\finsh\cmd.c + ../../components/net/lwip-2.0.2/src/core/ip.c - msh.c + memp.c 1 - ..\..\components\finsh\msh.c + ../../components/net/lwip-2.0.2/src/core/memp.c - msh_file.c + netif.c 1 - ..\..\components\finsh\msh_file.c + ../../components/net/lwip-2.0.2/src/core/netif.c - finsh_compiler.c + pbuf.c 1 - ..\..\components\finsh\finsh_compiler.c + ../../components/net/lwip-2.0.2/src/core/pbuf.c - finsh_error.c + raw.c 1 - ..\..\components\finsh\finsh_error.c + ../../components/net/lwip-2.0.2/src/core/raw.c - finsh_heap.c + stats.c 1 - ..\..\components\finsh\finsh_heap.c + ../../components/net/lwip-2.0.2/src/core/stats.c - finsh_init.c + sys.c 1 - ..\..\components\finsh\finsh_init.c + ../../components/net/lwip-2.0.2/src/core/sys.c - finsh_node.c + tcp.c 1 - ..\..\components\finsh\finsh_node.c + ../../components/net/lwip-2.0.2/src/core/tcp.c - finsh_ops.c + tcp_in.c 1 - ..\..\components\finsh\finsh_ops.c + ../../components/net/lwip-2.0.2/src/core/tcp_in.c - finsh_parser.c + tcp_out.c 1 - ..\..\components\finsh\finsh_parser.c + ../../components/net/lwip-2.0.2/src/core/tcp_out.c - finsh_var.c + timeouts.c 1 - ..\..\components\finsh\finsh_var.c + ../../components/net/lwip-2.0.2/src/core/timeouts.c - finsh_vm.c + udp.c 1 - ..\..\components\finsh\finsh_vm.c + ../../components/net/lwip-2.0.2/src/core/udp.c - finsh_token.c + ethernet.c 1 - ..\..\components\finsh\finsh_token.c + ../../components/net/lwip-2.0.2/src/netif/ethernet.c - - - libc - libc.c + ethernetif.c 1 - ..\..\components\libc\compilers\armlibc\libc.c + ../../components/net/lwip-2.0.2/src/netif/ethernetif.c - mem_std.c + lowpan6.c 1 - ..\..\components\libc\compilers\armlibc\mem_std.c + ../../components/net/lwip-2.0.2/src/netif/lowpan6.c - stdio.c + autoip.c 1 - ..\..\components\libc\compilers\armlibc\stdio.c + ../../components/net/lwip-2.0.2/src/core/ipv4/autoip.c - stubs.c + dhcp.c 1 - ..\..\components\libc\compilers\armlibc\stubs.c + ../../components/net/lwip-2.0.2/src/core/ipv4/dhcp.c - time.c + etharp.c 1 - ..\..\components\libc\compilers\common\time.c + ../../components/net/lwip-2.0.2/src/core/ipv4/etharp.c - - - pthreads - mqueue.c + icmp.c 1 - ..\..\components\libc\pthreads\mqueue.c + ../../components/net/lwip-2.0.2/src/core/ipv4/icmp.c - pthread.c + igmp.c 1 - ..\..\components\libc\pthreads\pthread.c + ../../components/net/lwip-2.0.2/src/core/ipv4/igmp.c - pthread_attr.c + ip4.c 1 - ..\..\components\libc\pthreads\pthread_attr.c + ../../components/net/lwip-2.0.2/src/core/ipv4/ip4.c - pthread_barrier.c + ip4_addr.c 1 - ..\..\components\libc\pthreads\pthread_barrier.c + ../../components/net/lwip-2.0.2/src/core/ipv4/ip4_addr.c - pthread_cond.c + ip4_frag.c 1 - ..\..\components\libc\pthreads\pthread_cond.c + ../../components/net/lwip-2.0.2/src/core/ipv4/ip4_frag.c - pthread_mutex.c + ping.c 1 - ..\..\components\libc\pthreads\pthread_mutex.c + ../../components/net/lwip-2.0.2/src/apps/ping/ping.c + + + netdev - pthread_rwlock.c + netdev.c 1 - ..\..\components\libc\pthreads\pthread_rwlock.c + ../../components/net/netdev/src/netdev.c - pthread_spin.c + netdev_ipaddr.c 1 - ..\..\components\libc\pthreads\pthread_spin.c + ../../components/net/netdev/src/netdev_ipaddr.c + + + SAL - pthread_tls.c + sal_socket.c 1 - ..\..\components\libc\pthreads\pthread_tls.c + ../../components/net/sal_socket/src/sal_socket.c - sched.c + net_netdb.c 1 - ..\..\components\libc\pthreads\sched.c + ../../components/net/sal_socket/socket/net_netdb.c - semaphore.c + af_inet_lwip.c 1 - ..\..\components\libc\pthreads\semaphore.c + ../../components/net/sal_socket/impl/af_inet_lwip.c - clock_time.c + net_sockets.c 1 - ..\..\components\libc\time\clock_time.c + ../../components/net/sal_socket/socket/net_sockets.c - posix_sleep.c + dfs_net.c 1 - ..\..\components\libc\time\posix_sleep.c + ../../components/net/sal_socket/dfs_net/dfs_net.c - lwIP + DeviceDrivers - sys_arch.c + block_dev.c 1 - ..\..\components\net\lwip-2.0.2\src\arch\sys_arch.c + ../../components/drivers/sdio/block_dev.c - api_lib.c + mmcsd_core.c 1 - ..\..\components\net\lwip-2.0.2\src\api\api_lib.c + ../../components/drivers/sdio/mmcsd_core.c - api_msg.c + sd.c 1 - ..\..\components\net\lwip-2.0.2\src\api\api_msg.c + ../../components/drivers/sdio/sd.c - err.c + sdio.c 1 - ..\..\components\net\lwip-2.0.2\src\api\err.c + ../../components/drivers/sdio/sdio.c - netbuf.c + mmc.c 1 - ..\..\components\net\lwip-2.0.2\src\api\netbuf.c + ../../components/drivers/sdio/mmc.c - netdb.c + rtc.c 1 - ..\..\components\net\lwip-2.0.2\src\api\netdb.c + ../../components/drivers/rtc/rtc.c - netifapi.c + spi_core.c 1 - ..\..\components\net\lwip-2.0.2\src\api\netifapi.c + ../../components/drivers/spi/spi_core.c - sockets.c + spi_dev.c 1 - ..\..\components\net\lwip-2.0.2\src\api\sockets.c + ../../components/drivers/spi/spi_dev.c - tcpip.c + i2c_core.c 1 - ..\..\components\net\lwip-2.0.2\src\api\tcpip.c + ../../components/drivers/i2c/i2c_core.c - def.c + i2c_dev.c 1 - ..\..\components\net\lwip-2.0.2\src\core\def.c + ../../components/drivers/i2c/i2c_dev.c - dns.c + i2c-bit-ops.c 1 - ..\..\components\net\lwip-2.0.2\src\core\dns.c + ../../components/drivers/i2c/i2c-bit-ops.c - inet_chksum.c + serial.c 1 - ..\..\components\net\lwip-2.0.2\src\core\inet_chksum.c + ../../components/drivers/serial/serial.c - init.c + completion.c 1 - ..\..\components\net\lwip-2.0.2\src\core\init.c + ../../components/drivers/src/completion.c - ip.c + dataqueue.c 1 - ..\..\components\net\lwip-2.0.2\src\core\ip.c + ../../components/drivers/src/dataqueue.c - memp.c + pipe.c 1 - ..\..\components\net\lwip-2.0.2\src\core\memp.c + ../../components/drivers/src/pipe.c - netif.c + ringblk_buf.c 1 - ..\..\components\net\lwip-2.0.2\src\core\netif.c + ../../components/drivers/src/ringblk_buf.c - pbuf.c + ringbuffer.c 1 - ..\..\components\net\lwip-2.0.2\src\core\pbuf.c + ../../components/drivers/src/ringbuffer.c - raw.c + waitqueue.c 1 - ..\..\components\net\lwip-2.0.2\src\core\raw.c + ../../components/drivers/src/waitqueue.c - stats.c + workqueue.c 1 - ..\..\components\net\lwip-2.0.2\src\core\stats.c + ../../components/drivers/src/workqueue.c - sys.c + mtd_nand.c 1 - ..\..\components\net\lwip-2.0.2\src\core\sys.c + ../../components/drivers/mtd/mtd_nand.c - tcp.c + pin.c 1 - ..\..\components\net\lwip-2.0.2\src\core\tcp.c + ../../components/drivers/misc/pin.c + + + + + + + + + + + + + + + CPlusPlus - tcp_in.c - 1 - ..\..\components\net\lwip-2.0.2\src\core\tcp_in.c + cxx_Mutex.cpp + 8 + ../../components/cplusplus/cxx_Mutex.cpp - tcp_out.c - 1 - ..\..\components\net\lwip-2.0.2\src\core\tcp_out.c + cxx_Semaphore.cpp + 8 + ../../components/cplusplus/cxx_Semaphore.cpp - timeouts.c - 1 - ..\..\components\net\lwip-2.0.2\src\core\timeouts.c + cxx_Thread.cpp + 8 + ../../components/cplusplus/cxx_Thread.cpp - udp.c - 1 - ..\..\components\net\lwip-2.0.2\src\core\udp.c + cxx_crt.cpp + 8 + ../../components/cplusplus/cxx_crt.cpp - ethernet.c + crt_init.c 1 - ..\..\components\net\lwip-2.0.2\src\netif\ethernet.c + ../../components/cplusplus/crt_init.c + + + libc - ethernetif.c + libc.c 1 - ..\..\components\net\lwip-2.0.2\src\netif\ethernetif.c + ../../components/libc/compilers/armlibc/libc.c - lowpan6.c + mem_std.c 1 - ..\..\components\net\lwip-2.0.2\src\netif\lowpan6.c + ../../components/libc/compilers/armlibc/mem_std.c - autoip.c + stdio.c 1 - ..\..\components\net\lwip-2.0.2\src\core\ipv4\autoip.c + ../../components/libc/compilers/armlibc/stdio.c - dhcp.c + stubs.c 1 - ..\..\components\net\lwip-2.0.2\src\core\ipv4\dhcp.c + ../../components/libc/compilers/armlibc/stubs.c - etharp.c + time.c 1 - ..\..\components\net\lwip-2.0.2\src\core\ipv4\etharp.c + ../../components/libc/compilers/common/time.c + + + pthreads - icmp.c + mqueue.c 1 - ..\..\components\net\lwip-2.0.2\src\core\ipv4\icmp.c + ../../components/libc/pthreads/mqueue.c - igmp.c + pthread.c 1 - ..\..\components\net\lwip-2.0.2\src\core\ipv4\igmp.c + ../../components/libc/pthreads/pthread.c - ip4.c + pthread_attr.c 1 - ..\..\components\net\lwip-2.0.2\src\core\ipv4\ip4.c + ../../components/libc/pthreads/pthread_attr.c - ip4_addr.c + pthread_barrier.c 1 - ..\..\components\net\lwip-2.0.2\src\core\ipv4\ip4_addr.c + ../../components/libc/pthreads/pthread_barrier.c - ip4_frag.c + pthread_cond.c 1 - ..\..\components\net\lwip-2.0.2\src\core\ipv4\ip4_frag.c + ../../components/libc/pthreads/pthread_cond.c - ping.c + pthread_mutex.c 1 - ..\..\components\net\lwip-2.0.2\src\apps\ping\ping.c + ../../components/libc/pthreads/pthread_mutex.c - - - netdev - netdev.c + pthread_rwlock.c 1 - ..\..\components\net\netdev\src\netdev.c + ../../components/libc/pthreads/pthread_rwlock.c - netdev_ipaddr.c + pthread_spin.c 1 - ..\..\components\net\netdev\src\netdev_ipaddr.c + ../../components/libc/pthreads/pthread_spin.c - - - SAL - sal_socket.c + pthread_tls.c 1 - ..\..\components\net\sal_socket\src\sal_socket.c + ../../components/libc/pthreads/pthread_tls.c - net_netdb.c + sched.c 1 - ..\..\components\net\sal_socket\socket\net_netdb.c + ../../components/libc/pthreads/sched.c - af_inet_lwip.c + semaphore.c 1 - ..\..\components\net\sal_socket\impl\af_inet_lwip.c + ../../components/libc/pthreads/semaphore.c - net_sockets.c + clock_time.c 1 - ..\..\components\net\sal_socket\socket\net_sockets.c + ../../components/libc/time/clock_time.c - dfs_net.c + posix_sleep.c 1 - ..\..\components\net\sal_socket\dfs_net\dfs_net.c + ../../components/libc/time/posix_sleep.c diff --git a/components/cplusplus/Mutex.cpp b/components/cplusplus/Mutex.cpp deleted file mode 100644 index 229e842446..0000000000 --- a/components/cplusplus/Mutex.cpp +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (c) 2006-2018, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - */ -#include "Mutex.h" - -using namespace rtthread; - -Mutex::Mutex(const char *name) -{ - rt_mutex_init(&mID, name, RT_IPC_FLAG_FIFO); -} - -bool Mutex::lock(int32_t millisec) -{ - rt_int32_t tick; - - if (millisec < 0) - tick = -1; - else - tick = rt_tick_from_millisecond(millisec); - - return rt_mutex_take(&mID, tick) == RT_EOK; -} - -bool Mutex::trylock() -{ - return lock(0); -} - -void Mutex::unlock() -{ - rt_mutex_release(&mID); -} - -Mutex::~Mutex() -{ - rt_mutex_detach(&mID); -} diff --git a/components/cplusplus/Semaphore.cpp b/components/cplusplus/Semaphore.cpp deleted file mode 100644 index c977a27c1a..0000000000 --- a/components/cplusplus/Semaphore.cpp +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (c) 2006-2018, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - */ -#include "Semaphore.h" - -using namespace rtthread; - -Semaphore::Semaphore(const char *name, int32_t count) -{ - rt_sem_init(&mID, name, count, RT_IPC_FLAG_FIFO); -} - -bool Semaphore::wait(int32_t millisec) -{ - rt_int32_t tick; - - if (millisec < 0) - tick = -1; - else - tick = rt_tick_from_millisecond(millisec); - - return rt_sem_take(&mID, tick) == RT_EOK; -} - -void Semaphore::release(void) -{ - rt_sem_release(&mID); -} - -Semaphore::~Semaphore() -{ - rt_sem_detach(&mID); -} diff --git a/components/cplusplus/Thread.cpp b/components/cplusplus/Thread.cpp deleted file mode 100644 index b21fbdce1f..0000000000 --- a/components/cplusplus/Thread.cpp +++ /dev/null @@ -1,116 +0,0 @@ -/* - * Copyright (c) 2006-2018, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - */ -#include "Thread.h" - -using namespace rtthread; - -Thread::Thread(rt_uint32_t stack_size, - rt_uint8_t priority, - rt_uint32_t tick, - const char *name) - : _entry(RT_NULL), _param(RT_NULL), started(false) -{ - rt_event_init(&_event, name, 0); - - _thread = rt_thread_create(name, - (thread_func_t)func, - this, - stack_size, - priority, - tick); -} - -Thread::Thread(void (*entry)(void *p), - void *p, - rt_uint32_t stack_size, - rt_uint8_t priority, - rt_uint32_t tick, - const char *name) - : _entry(entry), _param(p), started(false) -{ - rt_event_init(&_event, name, 0); - - _thread = rt_thread_create(name, - (thread_func_t)func, - this, - stack_size, - priority, - tick); -} - -Thread::~Thread() -{ - rt_event_detach(&_event); - rt_thread_delete(_thread); -} - -bool Thread::start() -{ - if (rt_thread_startup(_thread) == RT_EOK) - { - started = true; - } - - return started; -} - -void Thread::sleep(int32_t millisec) -{ - rt_int32_t tick; - - if (millisec < 0) - tick = 1; - else - tick = rt_tick_from_millisecond(millisec); - - rt_thread_delay(tick); -} - -void Thread::func(Thread *pThis) -{ - if (pThis->_entry != RT_NULL) - { - pThis->_entry(pThis->_param); - } - else - { - pThis->run(pThis->_param); - } - - rt_event_send(&pThis->_event, 1); -} - -void Thread::run(void *parameter) -{ - /* please overload this method */ -} - -rt_err_t Thread::wait(int32_t millisec) -{ - return join(millisec); -} - -rt_err_t Thread::join(int32_t millisec) -{ - if (started) - { - rt_int32_t tick; - - if (millisec < 0) - tick = -1; - else - tick = rt_tick_from_millisecond(millisec); - - return rt_event_recv(&_event, 1, RT_EVENT_FLAG_OR | RT_EVENT_FLAG_CLEAR, tick, RT_NULL); - } - else - { - return -RT_ENOSYS; - } -} diff --git a/components/cplusplus/crt.cpp b/components/cplusplus/crt.cpp deleted file mode 100644 index d4cb84f77c..0000000000 --- a/components/cplusplus/crt.cpp +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (c) 2006-2018, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * -* Change Logs: -* Date Author Notes -* 2015-03-07 Bernard Add copyright header. -*/ - -#include -#include "crt.h" - -void *operator new(size_t size) -{ - return rt_malloc(size); -} - -void *operator new[](size_t size) -{ - return rt_malloc(size); -} - -void operator delete(void *ptr) -{ - rt_free(ptr); -} - -void operator delete[](void *ptr) -{ - return rt_free(ptr); -} - -void __cxa_pure_virtual(void) -{ - rt_kprintf("Illegal to call a pure virtual function.\n"); -} diff --git a/components/cplusplus/crt_init.c b/components/cplusplus/crt_init.c old mode 100755 new mode 100644 diff --git a/components/cplusplus/cxx_Mutex.cpp b/components/cplusplus/cxx_Mutex.cpp new file mode 100644 index 0000000000..229e842446 --- /dev/null +++ b/components/cplusplus/cxx_Mutex.cpp @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2006-2018, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + */ +#include "Mutex.h" + +using namespace rtthread; + +Mutex::Mutex(const char *name) +{ + rt_mutex_init(&mID, name, RT_IPC_FLAG_FIFO); +} + +bool Mutex::lock(int32_t millisec) +{ + rt_int32_t tick; + + if (millisec < 0) + tick = -1; + else + tick = rt_tick_from_millisecond(millisec); + + return rt_mutex_take(&mID, tick) == RT_EOK; +} + +bool Mutex::trylock() +{ + return lock(0); +} + +void Mutex::unlock() +{ + rt_mutex_release(&mID); +} + +Mutex::~Mutex() +{ + rt_mutex_detach(&mID); +} diff --git a/components/cplusplus/cxx_Semaphore.cpp b/components/cplusplus/cxx_Semaphore.cpp new file mode 100644 index 0000000000..c977a27c1a --- /dev/null +++ b/components/cplusplus/cxx_Semaphore.cpp @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2006-2018, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + */ +#include "Semaphore.h" + +using namespace rtthread; + +Semaphore::Semaphore(const char *name, int32_t count) +{ + rt_sem_init(&mID, name, count, RT_IPC_FLAG_FIFO); +} + +bool Semaphore::wait(int32_t millisec) +{ + rt_int32_t tick; + + if (millisec < 0) + tick = -1; + else + tick = rt_tick_from_millisecond(millisec); + + return rt_sem_take(&mID, tick) == RT_EOK; +} + +void Semaphore::release(void) +{ + rt_sem_release(&mID); +} + +Semaphore::~Semaphore() +{ + rt_sem_detach(&mID); +} diff --git a/components/cplusplus/cxx_Thread.cpp b/components/cplusplus/cxx_Thread.cpp new file mode 100644 index 0000000000..b21fbdce1f --- /dev/null +++ b/components/cplusplus/cxx_Thread.cpp @@ -0,0 +1,116 @@ +/* + * Copyright (c) 2006-2018, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + */ +#include "Thread.h" + +using namespace rtthread; + +Thread::Thread(rt_uint32_t stack_size, + rt_uint8_t priority, + rt_uint32_t tick, + const char *name) + : _entry(RT_NULL), _param(RT_NULL), started(false) +{ + rt_event_init(&_event, name, 0); + + _thread = rt_thread_create(name, + (thread_func_t)func, + this, + stack_size, + priority, + tick); +} + +Thread::Thread(void (*entry)(void *p), + void *p, + rt_uint32_t stack_size, + rt_uint8_t priority, + rt_uint32_t tick, + const char *name) + : _entry(entry), _param(p), started(false) +{ + rt_event_init(&_event, name, 0); + + _thread = rt_thread_create(name, + (thread_func_t)func, + this, + stack_size, + priority, + tick); +} + +Thread::~Thread() +{ + rt_event_detach(&_event); + rt_thread_delete(_thread); +} + +bool Thread::start() +{ + if (rt_thread_startup(_thread) == RT_EOK) + { + started = true; + } + + return started; +} + +void Thread::sleep(int32_t millisec) +{ + rt_int32_t tick; + + if (millisec < 0) + tick = 1; + else + tick = rt_tick_from_millisecond(millisec); + + rt_thread_delay(tick); +} + +void Thread::func(Thread *pThis) +{ + if (pThis->_entry != RT_NULL) + { + pThis->_entry(pThis->_param); + } + else + { + pThis->run(pThis->_param); + } + + rt_event_send(&pThis->_event, 1); +} + +void Thread::run(void *parameter) +{ + /* please overload this method */ +} + +rt_err_t Thread::wait(int32_t millisec) +{ + return join(millisec); +} + +rt_err_t Thread::join(int32_t millisec) +{ + if (started) + { + rt_int32_t tick; + + if (millisec < 0) + tick = -1; + else + tick = rt_tick_from_millisecond(millisec); + + return rt_event_recv(&_event, 1, RT_EVENT_FLAG_OR | RT_EVENT_FLAG_CLEAR, tick, RT_NULL); + } + else + { + return -RT_ENOSYS; + } +} diff --git a/components/cplusplus/cxx_crt.cpp b/components/cplusplus/cxx_crt.cpp new file mode 100644 index 0000000000..d4cb84f77c --- /dev/null +++ b/components/cplusplus/cxx_crt.cpp @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2006-2018, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * +* Change Logs: +* Date Author Notes +* 2015-03-07 Bernard Add copyright header. +*/ + +#include +#include "crt.h" + +void *operator new(size_t size) +{ + return rt_malloc(size); +} + +void *operator new[](size_t size) +{ + return rt_malloc(size); +} + +void operator delete(void *ptr) +{ + rt_free(ptr); +} + +void operator delete[](void *ptr) +{ + return rt_free(ptr); +} + +void __cxa_pure_virtual(void) +{ + rt_kprintf("Illegal to call a pure virtual function.\n"); +} -- cgit v1.3.1 From 040816dee8c1933c75060a696638e368230a7dc2 Mon Sep 17 00:00:00 2001 From: Prry <445395670@qq.com> Date: Sat, 2 May 2020 00:39:48 +0800 Subject: add vendor information of sensor --- components/drivers/sensors/sensor.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'components') diff --git a/components/drivers/sensors/sensor.h b/components/drivers/sensors/sensor.h index a0eaaae9ea..3821ec36ca 100755 --- a/components/drivers/sensors/sensor.h +++ b/components/drivers/sensors/sensor.h @@ -61,6 +61,8 @@ extern "C" { #define RT_SENSOR_VENDOR_ASAIR (8) /* Aosong */ #define RT_SENSOR_VENDOR_SHARP (9) /* Sharp */ #define RT_SENSOR_VENDOR_SENSIRION (10) /* Sensirion */ +#define RT_SENSOR_VENDOR_TI (11) /* Texas Instruments*/ + /* Sensor unit types */ -- cgit v1.3.1 From 88a02d7bd8fc32a81b5a60e1e27853a70bb9f62a Mon Sep 17 00:00:00 2001 From: luhuadong Date: Sat, 9 May 2020 10:33:36 +0800 Subject: fixed some typos --- components/net/at/at_socket/at_socket.c | 2 +- components/net/netdev/src/netdev.c | 2 +- components/net/sal_socket/src/sal_socket.c | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) (limited to 'components') diff --git a/components/net/at/at_socket/at_socket.c b/components/net/at/at_socket/at_socket.c index 11be4e23c0..220bf9d620 100644 --- a/components/net/at/at_socket/at_socket.c +++ b/components/net/at/at_socket/at_socket.c @@ -744,7 +744,7 @@ int at_recvfrom(int socket, void *mem, size_t len, int flags, struct sockaddr *f goto __exit; } - /* if the socket type is UDP, nead to connect socket first */ + /* if the socket type is UDP, need to connect socket first */ if (from && sock->type == AT_SOCKET_UDP && sock->state == AT_SOCKET_OPEN) { ip_addr_t remote_addr; diff --git a/components/net/netdev/src/netdev.c b/components/net/netdev/src/netdev.c index 68e5364a9e..aa43d8d3db 100644 --- a/components/net/netdev/src/netdev.c +++ b/components/net/netdev/src/netdev.c @@ -1087,7 +1087,7 @@ int netdev_cmd_ping(char* target_name, rt_uint32_t times, rt_size_t size) } } - /* if the response time is more than NETDEV_PING_DELAY, no nead to delay */ + /* if the response time is more than NETDEV_PING_DELAY, no need to delay */ delay_tick = ((rt_tick_get() - start_tick) > NETDEV_PING_DELAY) || (index == times) ? 0 : NETDEV_PING_DELAY; rt_thread_delay(delay_tick); } diff --git a/components/net/sal_socket/src/sal_socket.c b/components/net/sal_socket/src/sal_socket.c index bd51c829c6..e3bea5a28e 100644 --- a/components/net/sal_socket/src/sal_socket.c +++ b/components/net/sal_socket/src/sal_socket.c @@ -679,7 +679,7 @@ int sal_shutdown(int socket, int how) /* get the socket object by socket descriptor */ SAL_SOCKET_OBJ_GET(sock, socket); - /* shutdown operation not nead to check network interface status */ + /* shutdown operation not need to check network interface status */ /* check the network interface socket opreation */ SAL_NETDEV_SOCKETOPS_VALID(sock->netdev, pf, shutdown); @@ -970,7 +970,7 @@ int sal_closesocket(int socket) /* get the socket object by socket descriptor */ SAL_SOCKET_OBJ_GET(sock, socket); - /* clsoesocket operation not nead to vaild network interface status */ + /* clsoesocket operation not need to vaild network interface status */ /* valid the network interface socket opreation */ SAL_NETDEV_SOCKETOPS_VALID(sock->netdev, pf, socket); -- cgit v1.3.1