From 08737c2a2612b7304e4c36afd7bddf1909fec8a6 Mon Sep 17 00:00:00 2001 From: Meco Man <920369182@qq.com> Date: Tue, 17 May 2022 02:19:53 -0400 Subject: [PATCH] =?UTF-8?q?[simulator]=20=E6=B6=88=E9=99=A4windows?= =?UTF-8?q?=E4=B8=8B=E7=9A=84=E8=AD=A6=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bsp/simulator/drivers/dfs_win32.c | 2 +- bsp/simulator/drivers/drv_rtc.c | 18 ++++++++---------- bsp/simulator/drivers/uart_console.c | 1 + components/finsh/shell.c | 6 +++--- 4 files changed, 13 insertions(+), 14 deletions(-) diff --git a/bsp/simulator/drivers/dfs_win32.c b/bsp/simulator/drivers/dfs_win32.c index f0e08a958d..15ad0fdb51 100644 --- a/bsp/simulator/drivers/dfs_win32.c +++ b/bsp/simulator/drivers/dfs_win32.c @@ -345,7 +345,7 @@ static int dfs_win32_getdents(struct dfs_fd *file, struct dirent *dirp, rt_uint3 d->d_type = DT_DIR; else d->d_type = DT_REG; - d->d_namlen = strlen(wdirp->curr); + d->d_namlen = (rt_uint8_t)strlen(wdirp->curr); strncpy(d->d_name, wdirp->curr, DFS_PATH_MAX); d->d_reclen = (rt_uint16_t)sizeof(struct dirent); wdirp->curr += (strlen(wdirp->curr) + 1); diff --git a/bsp/simulator/drivers/drv_rtc.c b/bsp/simulator/drivers/drv_rtc.c index 4f6f3a6e37..3d65349472 100644 --- a/bsp/simulator/drivers/drv_rtc.c +++ b/bsp/simulator/drivers/drv_rtc.c @@ -58,10 +58,8 @@ static void get_rtc_timeval(struct timeval *tv) tv->tv_usec = sys_time.wMilliseconds * 1000UL; } -static rt_err_t windows_rtc_control(rt_device_t dev, int cmd, void *args) +static rt_err_t pc_rtc_control(rt_device_t dev, int cmd, void *args) { - struct tm newtime; - RT_ASSERT(dev != RT_NULL); switch (cmd) @@ -70,7 +68,7 @@ static rt_err_t windows_rtc_control(rt_device_t dev, int cmd, void *args) { struct timeval tv; get_rtc_timeval(&tv); - *(rt_uint32_t *) args = tv.tv_sec; + *(time_t*) args = tv.tv_sec; break; } case RT_DEVICE_CTRL_RTC_GET_TIMEVAL: @@ -104,18 +102,18 @@ static rt_err_t windows_rtc_control(rt_device_t dev, int cmd, void *args) } #ifdef RT_USING_DEVICE_OPS -const static struct rt_device_ops soft_rtc_ops = +const static struct rt_device_ops pc_rtc_ops = { RT_NULL, RT_NULL, RT_NULL, RT_NULL, RT_NULL, - windows_rtc_control + pc_rtc_control }; #endif -int rt_windows_rtc_init(void) +int rt_pc_rtc_init(void) { /* make sure only one 'rtc' device */ RT_ASSERT(!rt_device_find("rtc")); @@ -133,18 +131,18 @@ int rt_windows_rtc_init(void) /* register rtc device */ #ifdef RT_USING_DEVICE_OPS - rtc_dev.ops = &soft_rtc_ops; + rtc_dev.ops = &pc_rtc_ops; #else rtc_dev.init = RT_NULL; rtc_dev.open = RT_NULL; rtc_dev.close = RT_NULL; rtc_dev.read = RT_NULL; rtc_dev.write = RT_NULL; - rtc_dev.control = windows_rtc_control; + rtc_dev.control = pc_rtc_control; #endif rtc_dev.user_data = RT_NULL; /* no private */ rt_device_register(&rtc_dev, "rtc", RT_DEVICE_FLAG_RDWR); return 0; } -INIT_BOARD_EXPORT(rt_windows_rtc_init); +INIT_BOARD_EXPORT(rt_pc_rtc_init); diff --git a/bsp/simulator/drivers/uart_console.c b/bsp/simulator/drivers/uart_console.c index 8fd799b297..ca4119429e 100644 --- a/bsp/simulator/drivers/uart_console.c +++ b/bsp/simulator/drivers/uart_console.c @@ -29,6 +29,7 @@ static struct rt_serial_device _serial; #include #include #include +extern int getch(void); /* * Handler for OSKey Thread diff --git a/components/finsh/shell.c b/components/finsh/shell.c index 1fc2bf7bcd..c06b688ed3 100644 --- a/components/finsh/shell.c +++ b/components/finsh/shell.c @@ -529,7 +529,7 @@ void finsh_thread_entry(void *parameter) /* copy the history command */ rt_memcpy(shell->line, &shell->cmd_history[shell->current_history][0], FINSH_CMD_SIZE); - shell->line_curpos = shell->line_position = strlen(shell->line); + shell->line_curpos = shell->line_position = (rt_uint16_t)strlen(shell->line); shell_handle_history(shell); #endif continue; @@ -551,7 +551,7 @@ void finsh_thread_entry(void *parameter) rt_memcpy(shell->line, &shell->cmd_history[shell->current_history][0], FINSH_CMD_SIZE); - shell->line_curpos = shell->line_position = strlen(shell->line); + shell->line_curpos = shell->line_position = (rt_uint16_t)strlen(shell->line); shell_handle_history(shell); #endif continue; @@ -591,7 +591,7 @@ void finsh_thread_entry(void *parameter) /* auto complete */ shell_auto_complete(&shell->line[0]); /* re-calculate position */ - shell->line_curpos = shell->line_position = strlen(shell->line); + shell->line_curpos = shell->line_position = (rt_uint16_t)strlen(shell->line); continue; }