diff --git a/bsp/allwinner_tina/libcpu/trap.c b/bsp/allwinner_tina/libcpu/trap.c index daf3501c683cdbf307f469f336a2cf941b5e37ab..66f3e2ecb677b50ba29c8c2c20841a1964dccd55 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 f68ec1bba8b364f7f35d986f02aede3c4bea0917..92753a361cf95b961d9fffacbacd8c837567918f 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 5c5f0272b35e3de25294b7f9a36173860fbdf627..c1636a5ab08bac9ed3323ff5dc806cf1c6072ee3 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 f3b2c26e6d531ca8de8a53c55fa1947cb3029d76..451a2f40db357119ed5f6cabf5c15594abaa386e 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 c6ca45aee7322ba2677afe480fb7867046bdf125..319dba851c6c6fa54acbcc80f50a2b5b6222140f 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 8a1eb33c65eeb869d41fba568c6dbff0d0b8b22e..a8c3d5be0e47ee271a2a14e55c76627c9561ecbc 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 b9fa6bb1c5b3cdefd853a1ce8223b0574bafa833..8a9cf9b133c383efe3b8a72bcebadd1214427a1f 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 637b1a30c126581a1f3a3de7bd4082a84ad92aca..4c5740929eada18517787288b6f52dc52362d369 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 1a6d7c8fc70d9a22eb1eaec3dbda474b116a48eb..bacd25ea12ed502b88ed4e31a1ffc745555de4de 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 899a6567b11977f5a79043d4a879b448c9306ac1..a0680e2ce9fc18497a462c806322970bd2da1ebe 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 ca5b6ecd4465c6fb5cf3dc105c3641b256502d4c..4837d445d40d2f9a05783a6253437df790d0c9a2 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 bd76f7717bf6d045b6cc1ac9cbc253808ec295e8..b89a2cca70d4d2b5ad92e77e02edd20866a0072c 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 7c73ce93d3425b4c368812def2baa2b601bd5b35..94da0063d002550c4b0e998e86acbcaff31223a2 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 c364b2addd7b199705b737048bac5e41a42c8e85..5751636259714636cdc388cdb743f2c9709ad5c6 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 b3efe31a640497d0dbc5ceade12c047b937e3fb3..a2153743486935001b7f9000e4f124dcd204449e 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 49e15bf33957c4679f519e6fafcd2bef778b133e..d6c9be11cf242a7cd0c6989c2297514534ddd73a 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 d8f9b12c2cad3042dca2ba5ba7765cb4b0f6a3b6..4619534c0523c670e8459a66b9a468fbc6caa30e 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 19c33bd7c9c8d7088890a10e8f604fe791833200..02f84564d5d1ce2dbafb408ec7d89055211efcfc 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 928689d9c8e219cd0015c28f11fac4afd4658455..8f73985f87a3180f4f7029ca404084bf1b99549f 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 dbc42d21cfed8976064ebfd29656b5e69b20d1f9..8dfcbe9cc4557663a11842f203b88e8817afecd3 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 dbc42d21cfed8976064ebfd29656b5e69b20d1f9..8dfcbe9cc4557663a11842f203b88e8817afecd3 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 e6c62390c1f3efc5de1bfc7983e2550d18d6062a..9cb24026f0ffd4c82783820469f02317ba31fb6a 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 c6ca45aee7322ba2677afe480fb7867046bdf125..319dba851c6c6fa54acbcc80f50a2b5b6222140f 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 f0e8a7097a96672a11c90c113df3faad0b3a05a5..29190dce4e90f1d4521e4728c59702f92fe00d1c 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 64d4cbf5e8fed419c8e0976581b5457486cc3118..9ec5d1a5682a820895d6c285d9c093f68f5c30bd 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 934acbdbf85ca9710696240636b85fe5bafa0c52..98cbef54015fe827a3f9f5186d58c0f7253afc7b 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 7916be8f6fe4877afa602dc45e172e48e24a1d93..4b109d71ad0c62234ed252fea0fdc5c124af2bf0 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 00f9e26ba91f813c0b05f4f7dc919daa60d0589f..9f737a50e7a7d1d0f29b0b9237ef29db49d34004 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 d0801d721b8667b51911cd459a46d08928bc56a6..1f62c3afb0d7587f37c533d5416ff44a24b34098 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++)