diff --git a/cm_backtrace/cm_backtrace.c b/cm_backtrace/cm_backtrace.c index 056244a..1b7acca 100644 --- a/cm_backtrace/cm_backtrace.c +++ b/cm_backtrace/cm_backtrace.c @@ -251,11 +251,10 @@ void cm_backtrace_firmware_info(void) { /** * Get current thread stack information * - * @param sp stack current pointer * @param start_addr stack start address * @param size stack size */ -static void get_cur_thread_stack_info(uint32_t sp, uint32_t *start_addr, size_t *size) { +static void get_cur_thread_stack_info(uint32_t *start_addr, size_t *size) { CMB_ASSERT(start_addr); CMB_ASSERT(size); @@ -287,7 +286,7 @@ static const char *get_cur_thread_name(void) { #elif (CMB_OS_PLATFORM_TYPE == CMB_OS_PLATFORM_UCOSII) extern OS_TCB *OSTCBCur; -#if OS_TASK_NAME_SIZE > 0 || OS_TASK_NAME_EN > 0 +#if OS_TASK_NAME_EN > 0 return (const char *)OSTCBCur->OSTCBTaskName; #else return NULL; @@ -611,7 +610,7 @@ static uint32_t statck_del_fpu_regs(uint32_t fault_handler_lr, uint32_t sp) { statck_has_fpu_regs = (fault_handler_lr & (1UL << 4)) == 0 ? true : false; /* the stack has S0~S15 and FPSCR registers when statck_has_fpu_regs is true, double word align */ - return statck_has_fpu_regs == true ? sp + sizeof(size_t) * 18 : sp; + return statck_has_fpu_regs == true ? sp + sizeof(size_t) * 17 : sp; } #endif @@ -668,7 +667,7 @@ void cm_backtrace_fault(uint32_t fault_handler_lr, uint32_t fault_handler_sp) { #ifdef CMB_USING_DUMP_STACK_INFO /* check stack overflow */ - if (stack_pointer < stack_start_addr || stack_pointer > stack_start_addr + stack_size) { + if (stack_pointer < stack_start_addr || stack_pointer >= stack_start_addr + stack_size) { stack_is_overflow = true; } /* dump stack information */