From 29828dc94fb55b1224dd0b7a31b388a11fe51870 Mon Sep 17 00:00:00 2001 From: Meco Man <920369182@qq.com> Date: Wed, 25 Aug 2021 19:10:01 -0400 Subject: [PATCH] =?UTF-8?q?[finsh]=20finsh=E7=BB=84=E4=BB=B6=E5=8F=AF?= =?UTF-8?q?=E4=BB=A5=E9=80=89=E6=8B=A9=E6=98=AF=E5=90=A6=E5=8C=85=E5=90=AB?= =?UTF-8?q?=E5=86=85=E7=BD=AE=E5=91=BD=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bsp/allwinner_tina/libcpu/trap.c | 8 +++---- bsp/bluetrum/ab32vg1-ab-prougen/board/board.c | 2 ++ bsp/dm365/platform/trap.c | 8 +++---- bsp/imx6sx/cortex-a9/cpu/trap.c | 12 +++++----- bsp/qemu-vexpress-gemini/cpu/trap.c | 12 +++++----- bsp/raspberry-pi/raspi2/cpu/trap.c | 12 +++++----- bsp/raspberry-pi/raspi3-32/cpu/trap.c | 12 +++++----- components/finsh/Kconfig | 4 ++++ components/finsh/SConscript | 4 +++- components/finsh/msh.c | 22 ++++++++++--------- libcpu/aarch64/cortex-a53/trap.c | 4 ++-- libcpu/aarch64/cortex-a72/trap.c | 4 ++-- libcpu/arm/am335x/trap.c | 8 +++---- libcpu/arm/arm926/trap.c | 8 +++---- libcpu/arm/cortex-a/trap.c | 12 +++++----- libcpu/arm/cortex-m0/cpuport.c | 4 +++- libcpu/arm/cortex-m23/cpuport.c | 4 +++- libcpu/arm/cortex-m3/cpuport.c | 6 +++-- libcpu/arm/cortex-m33/cpuport.c | 4 +++- libcpu/arm/cortex-m4/cpuport.c | 4 +++- libcpu/arm/cortex-m7/cpuport.c | 4 +++- libcpu/arm/cortex-r4/trap.c | 8 +++---- libcpu/arm/realview-a8-vmm/trap.c | 12 +++++----- libcpu/arm/s3c24x0/trap.c | 8 +++---- libcpu/arm/zynqmp-r5/trap.c | 12 +++++----- libcpu/risc-v/k210/interrupt.c | 4 +++- libcpu/risc-v/virt64/interrupt.c | 5 +++-- libcpu/rx/cpuport.c | 4 ++-- src/memheap.c | 6 +++-- 29 files changed, 122 insertions(+), 95 deletions(-) diff --git a/bsp/allwinner_tina/libcpu/trap.c b/bsp/allwinner_tina/libcpu/trap.c index daf3501c6..66f3e2ecb 100644 --- a/bsp/allwinner_tina/libcpu/trap.c +++ b/bsp/allwinner_tina/libcpu/trap.c @@ -15,7 +15,7 @@ #define INT_FIQ 0x01 extern struct rt_thread *rt_current_thread; -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) extern long list_thread(void); #endif @@ -89,7 +89,7 @@ void rt_hw_trap_udef(struct rt_hw_register *regs) rt_kprintf("undefined instruction\n"); rt_kprintf("thread - %s stack:\n", rt_current_thread->name); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -141,7 +141,7 @@ void rt_hw_trap_pabt(struct rt_hw_register *regs) rt_kprintf("prefetch abort\n"); rt_kprintf("thread - %s stack:\n", RT_NAME_MAX, rt_current_thread->name); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -169,7 +169,7 @@ void rt_hw_trap_dabt(struct rt_hw_register *regs) rt_kprintf("data abort\n"); rt_kprintf("thread - %s stack:\n", RT_NAME_MAX, rt_current_thread->name); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); diff --git a/bsp/bluetrum/ab32vg1-ab-prougen/board/board.c b/bsp/bluetrum/ab32vg1-ab-prougen/board/board.c index f68ec1bba..92753a361 100644 --- a/bsp/bluetrum/ab32vg1-ab-prougen/board/board.c +++ b/bsp/bluetrum/ab32vg1-ab-prougen/board/board.c @@ -209,7 +209,9 @@ void rt_hw_console_output(const char *str) RT_SECTION(".irq.err") void exception_isr(void) { +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) extern long list_thread(void); +#endif sys_error_hook(1); #ifdef RT_USING_CONSOLE diff --git a/bsp/dm365/platform/trap.c b/bsp/dm365/platform/trap.c index 5c5f0272b..c1636a5ab 100644 --- a/bsp/dm365/platform/trap.c +++ b/bsp/dm365/platform/trap.c @@ -20,7 +20,7 @@ /*@{*/ extern struct rt_thread *rt_current_thread; -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) extern long list_thread(void); #endif @@ -56,7 +56,7 @@ void rt_hw_trap_udef(struct rt_hw_register *regs) rt_kprintf("undefined instruction\n"); rt_kprintf("thread - %s stack:\n", rt_current_thread->name); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -94,7 +94,7 @@ void rt_hw_trap_pabt(struct rt_hw_register *regs) rt_kprintf("prefetch abort\n"); rt_kprintf("thread - %s stack:\n", rt_current_thread->name); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -130,7 +130,7 @@ void rt_hw_trap_dabt(struct rt_hw_register *regs) rt_kprintf("data abort\n"); rt_kprintf("thread - %s stack:\n", rt_current_thread->name); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); diff --git a/bsp/imx6sx/cortex-a9/cpu/trap.c b/bsp/imx6sx/cortex-a9/cpu/trap.c index f3b2c26e6..451a2f40d 100644 --- a/bsp/imx6sx/cortex-a9/cpu/trap.c +++ b/bsp/imx6sx/cortex-a9/cpu/trap.c @@ -17,7 +17,7 @@ #include "gic.h" extern struct rt_thread *rt_current_thread; -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) extern long list_thread(void); #endif @@ -49,7 +49,7 @@ void rt_hw_trap_undef(struct rt_hw_exp_stack *regs) { rt_kprintf("undefined instruction:\n"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -68,7 +68,7 @@ void rt_hw_trap_swi(struct rt_hw_exp_stack *regs) { rt_kprintf("software interrupt:\n"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -86,7 +86,7 @@ void rt_hw_trap_pabt(struct rt_hw_exp_stack *regs) { rt_kprintf("prefetch abort:\n"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -104,7 +104,7 @@ void rt_hw_trap_dabt(struct rt_hw_exp_stack *regs) { rt_kprintf("data abort:"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -121,7 +121,7 @@ void rt_hw_trap_resv(struct rt_hw_exp_stack *regs) { rt_kprintf("reserved trap:\n"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); diff --git a/bsp/qemu-vexpress-gemini/cpu/trap.c b/bsp/qemu-vexpress-gemini/cpu/trap.c index c6ca45aee..319dba851 100644 --- a/bsp/qemu-vexpress-gemini/cpu/trap.c +++ b/bsp/qemu-vexpress-gemini/cpu/trap.c @@ -21,7 +21,7 @@ #include "gic.h" extern struct rt_thread *rt_current_thread; -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) extern long list_thread(void); #endif @@ -53,7 +53,7 @@ void rt_hw_trap_undef(struct rt_hw_exp_stack *regs) { rt_kprintf("undefined instruction:\n"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -72,7 +72,7 @@ void rt_hw_trap_swi(struct rt_hw_exp_stack *regs) { rt_kprintf("software interrupt:\n"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -90,7 +90,7 @@ void rt_hw_trap_pabt(struct rt_hw_exp_stack *regs) { rt_kprintf("prefetch abort:\n"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -108,7 +108,7 @@ void rt_hw_trap_dabt(struct rt_hw_exp_stack *regs) { rt_kprintf("data abort:"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -125,7 +125,7 @@ void rt_hw_trap_resv(struct rt_hw_exp_stack *regs) { rt_kprintf("reserved trap:\n"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); diff --git a/bsp/raspberry-pi/raspi2/cpu/trap.c b/bsp/raspberry-pi/raspi2/cpu/trap.c index 8a1eb33c6..a8c3d5be0 100644 --- a/bsp/raspberry-pi/raspi2/cpu/trap.c +++ b/bsp/raspberry-pi/raspi2/cpu/trap.c @@ -15,7 +15,7 @@ #include "armv7.h" extern struct rt_thread *rt_current_thread; -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) extern long list_thread(void); #endif @@ -47,7 +47,7 @@ void rt_hw_trap_undef(struct rt_hw_exp_stack *regs) { rt_kprintf("undefined instruction:\n"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -66,7 +66,7 @@ void rt_hw_trap_swi(struct rt_hw_exp_stack *regs) { rt_kprintf("software interrupt:\n"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -84,7 +84,7 @@ void rt_hw_trap_pabt(struct rt_hw_exp_stack *regs) { rt_kprintf("prefetch abort:\n"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -102,7 +102,7 @@ void rt_hw_trap_dabt(struct rt_hw_exp_stack *regs) { rt_kprintf("data abort:"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -119,7 +119,7 @@ void rt_hw_trap_resv(struct rt_hw_exp_stack *regs) { rt_kprintf("reserved trap:\n"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); diff --git a/bsp/raspberry-pi/raspi3-32/cpu/trap.c b/bsp/raspberry-pi/raspi3-32/cpu/trap.c index b9fa6bb1c..8a9cf9b13 100644 --- a/bsp/raspberry-pi/raspi3-32/cpu/trap.c +++ b/bsp/raspberry-pi/raspi3-32/cpu/trap.c @@ -18,7 +18,7 @@ #include "armv7.h" extern struct rt_thread *rt_current_thread; -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) extern long list_thread(void); #endif @@ -52,7 +52,7 @@ void rt_hw_trap_undef(struct rt_hw_exp_stack *regs) { rt_kprintf("undefined instruction:\n"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -71,7 +71,7 @@ void rt_hw_trap_swi(struct rt_hw_exp_stack *regs) { rt_kprintf("software interrupt:\n"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -89,7 +89,7 @@ void rt_hw_trap_pabt(struct rt_hw_exp_stack *regs) { rt_kprintf("prefetch abort:\n"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -107,7 +107,7 @@ void rt_hw_trap_dabt(struct rt_hw_exp_stack *regs) { rt_kprintf("data abort:"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -124,7 +124,7 @@ void rt_hw_trap_resv(struct rt_hw_exp_stack *regs) { rt_kprintf("reserved trap:\n"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); diff --git a/components/finsh/Kconfig b/components/finsh/Kconfig index 637b1a30c..4c5740929 100644 --- a/components/finsh/Kconfig +++ b/components/finsh/Kconfig @@ -31,6 +31,10 @@ config FINSH_USING_DESCRIPTION bool "Keeping description in symbol table" default y +config FINSH_USING_BUILT_IN_COMMANDS + bool "Enable built-in commands, such as list_thread" + default y + config FINSH_ECHO_DISABLE_DEFAULT bool "Disable the echo mode in default" default n diff --git a/components/finsh/SConscript b/components/finsh/SConscript index 1a6d7c8fc..bacd25ea1 100644 --- a/components/finsh/SConscript +++ b/components/finsh/SConscript @@ -3,10 +3,12 @@ from building import * cwd = GetCurrentDir() src = Split(''' shell.c -cmd.c msh.c ''') +if GetDepend('FINSH_USING_BUILT_IN_COMMANDS'): + src += ['cmd.c'] + if GetDepend('RT_USING_DFS'): src += ['msh_file.c'] diff --git a/components/finsh/msh.c b/components/finsh/msh.c index 899a6567b..a0680e2ce 100644 --- a/components/finsh/msh.c +++ b/components/finsh/msh.c @@ -54,6 +54,7 @@ int msh_help(int argc, char **argv) } MSH_CMD_EXPORT_ALIAS(msh_help, help, RT - Thread shell help.); +#ifdef FINSH_USING_BUILT_IN_COMMANDS int cmd_ps(int argc, char **argv) { extern long list_thread(void); @@ -77,13 +78,14 @@ int cmd_free(int argc, char **argv) #ifdef RT_USING_MEMHEAP_AS_HEAP list_memheap(); -#else +#else /* RT_USING_MEMHEAP_AS_HEAP */ list_mem(); #endif return 0; } MSH_CMD_EXPORT_ALIAS(cmd_free, free, Show the memory usage in the system.); -#endif +#endif /* RT_USING_HEAP */ +#endif /* FINSH_USING_BUILT_IN_COMMANDS */ static int msh_split(char *cmd, rt_size_t length, char *argv[FINSH_ARG_MAX]) { @@ -270,7 +272,7 @@ int system(const char *command) return ret; } RTM_EXPORT(system); -#endif +#endif /* defined(RT_USING_MODULE) && defined(RT_USING_DFS) */ static int _msh_exec_cmd(char *cmd, rt_size_t length, int *retp) { @@ -339,7 +341,7 @@ static int _msh_exec_lwp(char *cmd, rt_size_t length) return 0; } -#endif +#endif /* defined(RT_USING_LWP) && defined(RT_USING_DFS) */ int msh_exec(char *cmd, rt_size_t length) { @@ -376,15 +378,15 @@ int msh_exec(char *cmd, rt_size_t length) { return 0; } -#endif +#endif /* RT_USING_MODULE */ #ifdef RT_USING_LWP if (_msh_exec_lwp(cmd, length) == 0) { return 0; } -#endif -#endif +#endif /* RT_USING_LWP */ +#endif /* RT_USING_DFS */ /* truncate the cmd at the first space. */ { @@ -534,7 +536,7 @@ void msh_auto_complete_path(char *path) closedir(dir); rt_free(full_path); } -#endif +#endif /* RT_USING_DFS */ void msh_auto_complete(char *prefix) { @@ -575,9 +577,9 @@ void msh_auto_complete(char *prefix) { msh_auto_complete_path(ptr); } -#endif +#endif /* RT_USING_MODULE */ } -#endif +#endif /* RT_USING_DFS */ /* checks in internal command */ { diff --git a/libcpu/aarch64/cortex-a53/trap.c b/libcpu/aarch64/cortex-a53/trap.c index ca5b6ecd4..4837d445d 100644 --- a/libcpu/aarch64/cortex-a53/trap.c +++ b/libcpu/aarch64/cortex-a53/trap.c @@ -19,7 +19,7 @@ #endif extern struct rt_thread *rt_current_thread; -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) extern long list_thread(void); #endif @@ -55,7 +55,7 @@ void rt_hw_trap_error(struct rt_hw_exp_stack *regs) { rt_kprintf("error exception:\n"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); diff --git a/libcpu/aarch64/cortex-a72/trap.c b/libcpu/aarch64/cortex-a72/trap.c index bd76f7717..b89a2cca7 100644 --- a/libcpu/aarch64/cortex-a72/trap.c +++ b/libcpu/aarch64/cortex-a72/trap.c @@ -14,7 +14,7 @@ #include "armv8.h" extern struct rt_thread *rt_current_thread; -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) extern long list_thread(void); #endif @@ -50,7 +50,7 @@ void rt_hw_trap_error(struct rt_hw_exp_stack *regs) { rt_kprintf("error exception:\n"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); diff --git a/libcpu/arm/am335x/trap.c b/libcpu/arm/am335x/trap.c index 7c73ce93d..94da0063d 100644 --- a/libcpu/arm/am335x/trap.c +++ b/libcpu/arm/am335x/trap.c @@ -24,7 +24,7 @@ /*@{*/ extern struct rt_thread *rt_current_thread; -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) extern long list_thread(void); #endif @@ -67,7 +67,7 @@ void rt_hw_trap_udef(struct rt_hw_register *regs) rt_kprintf("undefined instruction\n"); rt_kprintf("thread %.*s stack:\n", RT_NAME_MAX, rt_current_thread->name); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -105,7 +105,7 @@ void rt_hw_trap_pabt(struct rt_hw_register *regs) rt_kprintf("prefetch abort\n"); rt_kprintf("thread %.*s stack:\n", RT_NAME_MAX, rt_current_thread->name); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -133,7 +133,7 @@ void rt_hw_trap_dabt(struct rt_hw_register *regs) rt_kprintf("data abort\n"); rt_kprintf("thread %.*s stack:\n", RT_NAME_MAX, rt_current_thread->name); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); diff --git a/libcpu/arm/arm926/trap.c b/libcpu/arm/arm926/trap.c index c364b2add..575163625 100644 --- a/libcpu/arm/arm926/trap.c +++ b/libcpu/arm/arm926/trap.c @@ -16,7 +16,7 @@ #define INT_FIQ 0x01 extern struct rt_thread *rt_current_thread; -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) extern long list_thread(void); #endif @@ -90,7 +90,7 @@ void rt_hw_trap_udef(struct rt_hw_register *regs) rt_kprintf("undefined instruction\n"); rt_kprintf("thread - %s stack:\n", rt_current_thread->name); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -142,7 +142,7 @@ void rt_hw_trap_pabt(struct rt_hw_register *regs) rt_kprintf("prefetch abort\n"); rt_kprintf("thread - %s stack:\n", RT_NAME_MAX, rt_current_thread->name); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -170,7 +170,7 @@ void rt_hw_trap_dabt(struct rt_hw_register *regs) rt_kprintf("data abort\n"); rt_kprintf("thread - %s stack:\n", RT_NAME_MAX, rt_current_thread->name); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); diff --git a/libcpu/arm/cortex-a/trap.c b/libcpu/arm/cortex-a/trap.c index b3efe31a6..a21537434 100644 --- a/libcpu/arm/cortex-a/trap.c +++ b/libcpu/arm/cortex-a/trap.c @@ -15,7 +15,7 @@ #include "armv7.h" #include "interrupt.h" -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) extern long list_thread(void); #endif @@ -89,7 +89,7 @@ void rt_hw_trap_undef(struct rt_hw_exp_stack *regs) { rt_kprintf("undefined instruction:\n"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -115,7 +115,7 @@ void rt_hw_trap_swi(struct rt_hw_exp_stack *regs) { rt_kprintf("software interrupt:\n"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -140,7 +140,7 @@ void rt_hw_trap_pabt(struct rt_hw_exp_stack *regs) { rt_kprintf("prefetch abort:\n"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -165,7 +165,7 @@ void rt_hw_trap_dabt(struct rt_hw_exp_stack *regs) { rt_kprintf("data abort:"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -189,7 +189,7 @@ void rt_hw_trap_resv(struct rt_hw_exp_stack *regs) { rt_kprintf("reserved trap:\n"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); diff --git a/libcpu/arm/cortex-m0/cpuport.c b/libcpu/arm/cortex-m0/cpuport.c index 49e15bf33..d6c9be11c 100644 --- a/libcpu/arm/cortex-m0/cpuport.c +++ b/libcpu/arm/cortex-m0/cpuport.c @@ -90,7 +90,9 @@ rt_uint8_t *rt_hw_stack_init(void *tentry, return stk; } +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) extern long list_thread(void); +#endif extern rt_thread_t rt_current_thread; /** * fault exception handling @@ -108,7 +110,7 @@ void rt_hw_hard_fault_exception(struct exception_stack_frame *contex) rt_kprintf("hard fault on thread: %s\n", rt_current_thread->name); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif diff --git a/libcpu/arm/cortex-m23/cpuport.c b/libcpu/arm/cortex-m23/cpuport.c index d8f9b12c2..4619534c0 100644 --- a/libcpu/arm/cortex-m23/cpuport.c +++ b/libcpu/arm/cortex-m23/cpuport.c @@ -91,7 +91,9 @@ rt_uint8_t *rt_hw_stack_init(void *tentry, return stk; } +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) extern long list_thread(void); +#endif extern rt_thread_t rt_current_thread; /** * fault exception handling @@ -109,7 +111,7 @@ void rt_hw_hard_fault_exception(struct exception_stack_frame *contex) rt_kprintf("hard fault on thread: %s\n", rt_current_thread->name); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif diff --git a/libcpu/arm/cortex-m3/cpuport.c b/libcpu/arm/cortex-m3/cpuport.c index 19c33bd7c..02f84564d 100644 --- a/libcpu/arm/cortex-m3/cpuport.c +++ b/libcpu/arm/cortex-m3/cpuport.c @@ -291,7 +291,9 @@ struct exception_info */ void rt_hw_hard_fault_exception(struct exception_info * exception_info) { +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) extern long list_thread(void); +#endif struct stack_frame* context = &exception_info->stack_frame; if (rt_exception_hook != RT_NULL) @@ -325,9 +327,9 @@ void rt_hw_hard_fault_exception(struct exception_info * exception_info) { rt_kprintf("hard fault on thread: %s\r\n\r\n", rt_thread_self()->name); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); -#endif /* RT_USING_FINSH */ +#endif } else { diff --git a/libcpu/arm/cortex-m33/cpuport.c b/libcpu/arm/cortex-m33/cpuport.c index 928689d9c..8f73985f8 100644 --- a/libcpu/arm/cortex-m33/cpuport.c +++ b/libcpu/arm/cortex-m33/cpuport.c @@ -373,7 +373,9 @@ struct exception_info void rt_hw_hard_fault_exception(struct exception_info *exception_info) { +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) extern long list_thread(void); +#endif struct exception_stack_frame *exception_stack = &exception_info->stack_frame.exception_stack_frame; struct stack_frame *context = &exception_info->stack_frame; @@ -407,7 +409,7 @@ void rt_hw_hard_fault_exception(struct exception_info *exception_info) { rt_kprintf("hard fault on thread: %s\r\n\r\n", rt_thread_self()->name); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif } diff --git a/libcpu/arm/cortex-m4/cpuport.c b/libcpu/arm/cortex-m4/cpuport.c index dbc42d21c..8dfcbe9cc 100644 --- a/libcpu/arm/cortex-m4/cpuport.c +++ b/libcpu/arm/cortex-m4/cpuport.c @@ -370,7 +370,9 @@ struct exception_info void rt_hw_hard_fault_exception(struct exception_info *exception_info) { +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) extern long list_thread(void); +#endif struct exception_stack_frame *exception_stack = &exception_info->stack_frame.exception_stack_frame; struct stack_frame *context = &exception_info->stack_frame; @@ -404,7 +406,7 @@ void rt_hw_hard_fault_exception(struct exception_info *exception_info) { rt_kprintf("hard fault on thread: %s\r\n\r\n", rt_thread_self()->name); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif } diff --git a/libcpu/arm/cortex-m7/cpuport.c b/libcpu/arm/cortex-m7/cpuport.c index dbc42d21c..8dfcbe9cc 100644 --- a/libcpu/arm/cortex-m7/cpuport.c +++ b/libcpu/arm/cortex-m7/cpuport.c @@ -370,7 +370,9 @@ struct exception_info void rt_hw_hard_fault_exception(struct exception_info *exception_info) { +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) extern long list_thread(void); +#endif struct exception_stack_frame *exception_stack = &exception_info->stack_frame.exception_stack_frame; struct stack_frame *context = &exception_info->stack_frame; @@ -404,7 +406,7 @@ void rt_hw_hard_fault_exception(struct exception_info *exception_info) { rt_kprintf("hard fault on thread: %s\r\n\r\n", rt_thread_self()->name); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif } diff --git a/libcpu/arm/cortex-r4/trap.c b/libcpu/arm/cortex-r4/trap.c index e6c62390c..9cb24026f 100644 --- a/libcpu/arm/cortex-r4/trap.c +++ b/libcpu/arm/cortex-r4/trap.c @@ -67,7 +67,7 @@ void rt_hw_trap_svc(struct rt_hw_exp_stack *regs) { rt_kprintf("software interrupt\n"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -85,7 +85,7 @@ void rt_hw_trap_pabt(struct rt_hw_exp_stack *regs) { rt_kprintf("prefetch abort\n"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -103,7 +103,7 @@ void rt_hw_trap_dabt(struct rt_hw_exp_stack *regs) { rt_kprintf("Data Abort "); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -120,7 +120,7 @@ void rt_hw_trap_resv(struct rt_hw_exp_stack *regs) { rt_kprintf("Reserved trap\n"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); diff --git a/libcpu/arm/realview-a8-vmm/trap.c b/libcpu/arm/realview-a8-vmm/trap.c index c6ca45aee..319dba851 100644 --- a/libcpu/arm/realview-a8-vmm/trap.c +++ b/libcpu/arm/realview-a8-vmm/trap.c @@ -21,7 +21,7 @@ #include "gic.h" extern struct rt_thread *rt_current_thread; -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) extern long list_thread(void); #endif @@ -53,7 +53,7 @@ void rt_hw_trap_undef(struct rt_hw_exp_stack *regs) { rt_kprintf("undefined instruction:\n"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -72,7 +72,7 @@ void rt_hw_trap_swi(struct rt_hw_exp_stack *regs) { rt_kprintf("software interrupt:\n"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -90,7 +90,7 @@ void rt_hw_trap_pabt(struct rt_hw_exp_stack *regs) { rt_kprintf("prefetch abort:\n"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -108,7 +108,7 @@ void rt_hw_trap_dabt(struct rt_hw_exp_stack *regs) { rt_kprintf("data abort:"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -125,7 +125,7 @@ void rt_hw_trap_resv(struct rt_hw_exp_stack *regs) { rt_kprintf("reserved trap:\n"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); diff --git a/libcpu/arm/s3c24x0/trap.c b/libcpu/arm/s3c24x0/trap.c index f0e8a7097..29190dce4 100644 --- a/libcpu/arm/s3c24x0/trap.c +++ b/libcpu/arm/s3c24x0/trap.c @@ -22,7 +22,7 @@ /*@{*/ extern struct rt_thread *rt_current_thread; -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) extern long list_thread(void); #endif @@ -58,7 +58,7 @@ void rt_hw_trap_udef(struct rt_hw_register *regs) rt_kprintf("undefined instruction\n"); rt_kprintf("thread - %s stack:\n", rt_current_thread->name); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -96,7 +96,7 @@ void rt_hw_trap_pabt(struct rt_hw_register *regs) rt_kprintf("prefetch abort\n"); rt_kprintf("thread - %s stack:\n", rt_current_thread->name); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -117,7 +117,7 @@ void rt_hw_trap_dabt(struct rt_hw_register *regs) rt_kprintf("data abort\n"); rt_kprintf("thread - %s stack:\n", rt_current_thread->name); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); diff --git a/libcpu/arm/zynqmp-r5/trap.c b/libcpu/arm/zynqmp-r5/trap.c index 64d4cbf5e..9ec5d1a56 100644 --- a/libcpu/arm/zynqmp-r5/trap.c +++ b/libcpu/arm/zynqmp-r5/trap.c @@ -16,7 +16,7 @@ #include "armv7.h" #include "interrupt.h" -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) extern long list_thread(void); #endif @@ -48,7 +48,7 @@ void rt_hw_trap_undef(struct rt_hw_exp_stack *regs) { rt_kprintf("undefined instruction:\n"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -67,7 +67,7 @@ void rt_hw_trap_swi(struct rt_hw_exp_stack *regs) { rt_kprintf("software interrupt:\n"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -85,7 +85,7 @@ void rt_hw_trap_pabt(struct rt_hw_exp_stack *regs) { rt_kprintf("prefetch abort:\n"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -103,7 +103,7 @@ void rt_hw_trap_dabt(struct rt_hw_exp_stack *regs) { rt_kprintf("data abort:"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); @@ -120,7 +120,7 @@ void rt_hw_trap_resv(struct rt_hw_exp_stack *regs) { rt_kprintf("reserved trap:\n"); rt_hw_show_register(regs); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif rt_hw_cpu_shutdown(); diff --git a/libcpu/risc-v/k210/interrupt.c b/libcpu/risc-v/k210/interrupt.c index 934acbdbf..98cbef540 100644 --- a/libcpu/risc-v/k210/interrupt.c +++ b/libcpu/risc-v/k210/interrupt.c @@ -335,7 +335,9 @@ uintptr_t handle_trap(uintptr_t mcause, uintptr_t epc, uintptr_t * sp) else { rt_thread_t tid; +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) extern long list_thread(); +#endif rt_hw_interrupt_disable(); @@ -387,7 +389,7 @@ uintptr_t handle_trap(uintptr_t mcause, uintptr_t epc, uintptr_t * sp) print_stack_frame(sp); rt_kprintf("exception pc => 0x%08x\n", epc); rt_kprintf("current thread: %.*s\n", RT_NAME_MAX, tid->name); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif while(1); diff --git a/libcpu/risc-v/virt64/interrupt.c b/libcpu/risc-v/virt64/interrupt.c index 7916be8f6..4b109d71a 100644 --- a/libcpu/risc-v/virt64/interrupt.c +++ b/libcpu/risc-v/virt64/interrupt.c @@ -212,8 +212,9 @@ void handle_trap(rt_size_t xcause,rt_size_t xtval,rt_size_t xepc,struct rt_hw_st else { rt_thread_t tid; +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) extern long list_thread(); - +#endif rt_hw_interrupt_disable(); rt_kprintf("xcause = %08x,xtval = %08x,xepc = %08x\n", xcause, xtval, xepc); @@ -265,7 +266,7 @@ void handle_trap(rt_size_t xcause,rt_size_t xtval,rt_size_t xepc,struct rt_hw_st dump_regs(sp); rt_kprintf("exception pc => 0x%08x\n", xepc); rt_kprintf("current thread: %.*s\n", RT_NAME_MAX, tid->name); -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif while(1); diff --git a/libcpu/rx/cpuport.c b/libcpu/rx/cpuport.c index 00f9e26ba..9f737a50e 100644 --- a/libcpu/rx/cpuport.c +++ b/libcpu/rx/cpuport.c @@ -94,7 +94,7 @@ rt_uint8_t *rt_hw_stack_init(void *tentry, void *parameter, return(rt_uint8_t *)stack_frame; } -#ifdef RT_USING_FINSH +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) extern void list_thread(void); #endif extern rt_thread_t rt_current_thread; @@ -130,7 +130,7 @@ void rt_hw_hard_fault_exception(struct stack_frame* exception_contex) rt_kprintf("acclo: 0x%08x\n", exception_contex->ACCLO); } rt_kprintf("hard fault on thread: %s\n", rt_current_thread->name); - #ifdef RT_USING_FINSH + #if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_thread(); #endif while (1); diff --git a/src/memheap.c b/src/memheap.c index d0801d721..1f62c3afb 100644 --- a/src/memheap.c +++ b/src/memheap.c @@ -730,13 +730,15 @@ int memheaptrace(void) if (count > 0) { int index; +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) extern int list_memheap(void); +#endif heaps = (struct rt_memheap **)rt_malloc(sizeof(struct rt_memheap *) * count); if (heaps == RT_NULL) return 0; - +#if defined(RT_USING_FINSH) && defined(FINSH_USING_BUILT_IN_COMMANDS) list_memheap(); - +#endif rt_kprintf("memheap header size: %d\n", RT_MEMHEAP_SIZE); count = rt_object_get_pointers(RT_Object_Class_MemHeap, (rt_object_t *)heaps, count); for (index = 0; index < count; index++) -- GitLab