From 2c054c226448f1d86df9a2247da2257740b1f0f9 Mon Sep 17 00:00:00 2001 From: wdfk-prog <1425075683@qq.com> Date: Tue, 2 Sep 2025 17:35:02 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=9C=A8=E6=B2=A1=E6=9C=89=E5=AE=9A?= =?UTF-8?q?=E4=B9=89FINSH=5FUSING=5FSYMTAB=E6=97=B6=E7=BC=96=E8=AF=91?= =?UTF-8?q?=E6=8A=A5=E9=94=99=E4=BB=A5=E5=8F=8AIPC=E5=8F=8Afinsh=E5=90=AF?= =?UTF-8?q?=E7=94=A8=E6=97=B6=E8=87=AA=E5=8A=A8=E9=80=89=E6=8B=A9=E5=BF=85?= =?UTF-8?q?=E8=A6=81=E7=9A=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/drivers/ipc/Kconfig | 2 ++ components/finsh/Kconfig | 1 + components/finsh/finsh.h | 2 ++ components/finsh/msh.c | 19 ++++++++++--------- 4 files changed, 15 insertions(+), 9 deletions(-) diff --git a/components/drivers/ipc/Kconfig b/components/drivers/ipc/Kconfig index 4c3765ec21f..e0411d29b48 100644 --- a/components/drivers/ipc/Kconfig +++ b/components/drivers/ipc/Kconfig @@ -1,6 +1,8 @@ menuconfig RT_USING_DEVICE_IPC bool "Using device drivers IPC" default y + select RT_USING_MUTEX + select RT_USING_SEMAPHORE if RT_USING_DEVICE_IPC config RT_UNAMED_PIPE_NUMBER diff --git a/components/finsh/Kconfig b/components/finsh/Kconfig index c99ce6a8d52..f7ccc707621 100644 --- a/components/finsh/Kconfig +++ b/components/finsh/Kconfig @@ -2,6 +2,7 @@ menuconfig RT_USING_MSH bool "MSH: command shell" default n if RT_USING_NANO default y + select RT_USING_SEMAPHORE if RT_USING_MSH diff --git a/components/finsh/finsh.h b/components/finsh/finsh.h index d9ddec59831..a40d1b3ed96 100644 --- a/components/finsh/finsh.h +++ b/components/finsh/finsh.h @@ -88,6 +88,8 @@ typedef long (*syscall_func)(void); }; #endif /* _MSC_VER */ +#else +#define MSH_FUNCTION_EXPORT_CMD(name, cmd, desc, opt) #endif /* FINSH_USING_SYMTAB */ /** diff --git a/components/finsh/msh.c b/components/finsh/msh.c index d8586e54a42..505f97f4ad8 100644 --- a/components/finsh/msh.c +++ b/components/finsh/msh.c @@ -37,17 +37,18 @@ static int msh_help(int argc, char **argv) rt_kprintf("RT-Thread shell commands:\n"); { struct finsh_syscall *index; - +#if defined(FINSH_USING_SYMTAB) for (index = _syscall_table_begin; index < _syscall_table_end; FINSH_NEXT_SYSCALL(index)) { -#if defined(FINSH_USING_DESCRIPTION) && defined(FINSH_USING_SYMTAB) +#if defined(FINSH_USING_DESCRIPTION) rt_kprintf("%-16s - %s\n", index->name, index->desc); #else rt_kprintf("%s ", index->name); -#endif +#endif /* FINSH_USING_DESCRIPTION */ } +#endif /* FINSH_USING_SYMTAB */ } rt_kprintf("\n"); @@ -231,7 +232,7 @@ static cmd_function_t msh_get_cmd(char *cmd, int size) { struct finsh_syscall *index; cmd_function_t cmd_func = RT_NULL; - +#if defined(FINSH_USING_SYMTAB) for (index = _syscall_table_begin; index < _syscall_table_end; FINSH_NEXT_SYSCALL(index)) @@ -243,7 +244,7 @@ static cmd_function_t msh_get_cmd(char *cmd, int size) break; } } - +#endif /* FINSH_USING_SYMTAB */ return cmd_func; } @@ -814,7 +815,7 @@ void msh_auto_complete(char *prefix) #endif /* RT_USING_MODULE */ } #endif /* DFS_USING_POSIX */ - +#if defined(FINSH_USING_SYMTAB) /* checks in internal command */ { for (index = _syscall_table_begin; index < _syscall_table_end; FINSH_NEXT_SYSCALL(index)) @@ -839,7 +840,7 @@ void msh_auto_complete(char *prefix) } } } - +#endif /* FINSH_USING_SYMTAB */ /* auto complete string */ if (name_ptr != NULL) { @@ -866,7 +867,7 @@ static msh_cmd_opt_t *msh_get_cmd_opt(char *opt_str) { len = strlen(opt_str); } - +#if defined(FINSH_USING_SYMTAB) for (index = _syscall_table_begin; index < _syscall_table_end; FINSH_NEXT_SYSCALL(index)) @@ -877,7 +878,7 @@ static msh_cmd_opt_t *msh_get_cmd_opt(char *opt_str) break; } } - +#endif /* FINSH_USING_SYMTAB */ return opt; }