Breakpoint 1,SPI1_IRQHandler() at libraries\HAL_Drivers\drivers\drv_spi.c:695695rt_base_t level =rt_hw_interrupt_disable();rt_hw_interrupt_disable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:3939 MRS r0, PRIMASK
40 CPSID I
41 BX LR
SPI1_IRQHandler() at libraries\HAL_Drivers\drivers\drv_spi.c:696696HAL_SPI_IRQHandler(&spi_bus_obj[SPI1_INDEX].handle);HAL_SPI_IRQHandler(hspi=0x24055734<spi_bus_obj>) at libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_spi.c:28882888uint32_t itsource = hspi->Instance->IER;2889uint32_t itflag = hspi->Instance->SR;2890uint32_t trigger = itsource & itflag;2891uint32_t cfg1 = hspi->Instance->CFG1;2892uint32_t handled =0UL;2894 HAL_SPI_StateTypeDef State = hspi->State;2896 __IO uint16_t*prxdr_16bits =(__IO uint16_t*)(&(hspi->Instance->RXDR));2900if(HAL_IS_BIT_SET(itflag, SPI_FLAG_SUSP)&&HAL_IS_BIT_SET(itsource, SPI_FLAG_EOT))2915if(HAL_IS_BIT_CLR(trigger, SPI_FLAG_OVR)&&HAL_IS_BIT_CLR(trigger, SPI_FLAG_UDR)&& \
2916HAL_IS_BIT_SET(trigger, SPI_FLAG_DXP))2915if(HAL_IS_BIT_CLR(trigger, SPI_FLAG_OVR)&&HAL_IS_BIT_CLR(trigger, SPI_FLAG_UDR)&& \
2924if(HAL_IS_BIT_CLR(trigger, SPI_FLAG_OVR)&&HAL_IS_BIT_SET(trigger, SPI_FLAG_RXP)&& \
2932if(HAL_IS_BIT_CLR(trigger, SPI_FLAG_UDR)&&HAL_IS_BIT_SET(trigger, SPI_FLAG_TXP)&& \
2947if(handled !=0UL)2953if(HAL_IS_BIT_SET(trigger, SPI_FLAG_EOT))2956__HAL_SPI_CLEAR_EOTFLAG(hspi);2957__HAL_SPI_CLEAR_TXTFFLAG(hspi);2958__HAL_SPI_CLEAR_SUSPFLAG(hspi);2961__HAL_SPI_DISABLE_IT(hspi, SPI_IT_EOT);2964if(HAL_IS_BIT_CLR(hspi->Instance->CFG1, SPI_CFG1_TXDMAEN | SPI_CFG1_RXDMAEN))2997SPI_CloseTransfer(hspi);SPI_CloseTransfer(hspi=0x24055734<spi_bus_obj>) at libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_spi.c:38933893uint32_t itflag = hspi->Instance->SR;3895__HAL_SPI_CLEAR_EOTFLAG(hspi);3896__HAL_SPI_CLEAR_TXTFFLAG(hspi);3899__HAL_SPI_DISABLE(hspi);3902__HAL_SPI_DISABLE_IT(hspi,(SPI_IT_EOT | SPI_IT_TXP | SPI_IT_RXP | SPI_IT_DXP | SPI_IT_UDR | SPI_IT_OVR | \
3906CLEAR_BIT(hspi->Instance->CFG1, SPI_CFG1_TXDMAEN | SPI_CFG1_RXDMAEN);3909if(hspi->State != HAL_SPI_STATE_BUSY_RX)3919if(hspi->State != HAL_SPI_STATE_BUSY_TX)3921if((itflag & SPI_FLAG_OVR)!=0UL)3941if((itflag & SPI_FLAG_MODF)!=0UL)3948if((itflag & SPI_FLAG_FRE)!=0UL)3954 hspi->TxXferCount =(uint16_t)0UL;3955 hspi->RxXferCount =(uint16_t)0UL;3956}HAL_SPI_IRQHandler(hspi=0x24055734<spi_bus_obj>) at libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_spi.c:29992999 hspi->State = HAL_SPI_STATE_READY;3000if(hspi->ErrorCode != HAL_SPI_ERROR_NONE)3026if(State == HAL_SPI_STATE_BUSY_TX_RX)3030elseif(State == HAL_SPI_STATE_BUSY_RX)3032HAL_SPI_RxCpltCallback(hspi);HAL_SPI_RxCpltCallback(hspi=0x24055734<spi_bus_obj>) at libraries\HAL_Drivers\drivers\drv_spi.c:10541054structstm32_spi*spi_drv =rt_container_of(hspi,structstm32_spi, handle);1055rt_completion_done(&spi_drv->cpt);rt_completion_done(completion=0x2405593c<spi_bus_obj+520>) at rt-thread\components\drivers\ipc\completion_comm.c:2121rt_completion_wakeup_by_errno(completion,-1);rt_completion_wakeup_by_errno(completion=0x2405593c<spi_bus_obj+520>, thread_errno=-1) at rt-thread\components\drivers\ipc\completion_up.c:189189RT_ASSERT(completion != RT_NULL);191 level =rt_spin_lock_irqsave(&_completion_lock);rt_spin_lock_irqsave(lock=0x2405c0a8<_completion_lock>) at rt-thread\src\cpu_up.c:6767 level =rt_hw_interrupt_disable();rt_hw_interrupt_disable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:3939 MRS r0, PRIMASK
40 CPSID I
41 BX LR
rt_spin_lock_irqsave(lock=0x2405c0a8<_completion_lock>) at rt-thread\src\cpu_up.c:6868rt_enter_critical();rt_enter_critical() at rt-thread\src\scheduler_up.c:507507 level =rt_hw_interrupt_disable();rt_hw_interrupt_disable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:3939 MRS r0, PRIMASK
40 CPSID I
41 BX LR
rt_enter_critical() at rt-thread\src\scheduler_up.c:513513 rt_scheduler_lock_nest ++;514 critical_level = rt_scheduler_lock_nest;517rt_hw_interrupt_enable(level);rt_hw_interrupt_enable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:4949 MSR PRIMASK, r0
50 BX LR
rt_enter_critical() at rt-thread\src\scheduler_up.c:519519return critical_level;520}rt_spin_lock_irqsave(lock=0x2405c0a8<_completion_lock>) at rt-thread\src\cpu_up.c:7070return level;71}rt_completion_wakeup_by_errno(completion=0x2405593c<spi_bus_obj+520>, thread_errno=-1) at rt-thread\components\drivers\ipc\completion_up.c:192192if(RT_COMPLETION_FLAG(completion)== RT_COMPLETED)198 suspend_thread =RT_COMPLETION_THREAD(completion);199if(suspend_thread)203if(thread_errno >=0)208 error =rt_thread_resume(suspend_thread);rt_thread_resume(thread=0x2405ebe0) at rt-thread\src\thread.c:10171017RT_ASSERT(thread != RT_NULL);1018RT_ASSERT(rt_object_get_type((rt_object_t)thread)== RT_Object_Class_Thread);rt_object_get_type(object=0x2405ebe0) at rt-thread\src\object.c:587587RT_ASSERT(object != RT_NULL);589return object->type &~RT_Object_Class_Static;590}rt_thread_resume(thread=0x2405ebe0) at rt-thread\src\thread.c:10221022rt_sched_lock(&slvl);rt_sched_lock(plvl=0x24001100) at rt-thread\src\scheduler_up.c:114114if(!plvl)117 level =rt_hw_interrupt_disable();rt_hw_interrupt_disable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:3939 MRS r0, PRIMASK
40 CPSID I
41 BX LR
rt_sched_lock(plvl=0x24001100) at rt-thread\src\scheduler_up.c:118118*plvl = level;120return RT_EOK;121}rt_thread_resume(thread=0x2405ebe0) at rt-thread\src\thread.c:10241024 error =rt_sched_thread_ready(thread);rt_sched_thread_ready(thread=0x2405ebe0) at rt-thread\src\scheduler_comm.c:109109if(!rt_sched_thread_is_suspended(thread))rt_sched_thread_is_suspended(thread=0x2405ebe0) at rt-thread\src\scheduler_comm.c:8383return(RT_SCHED_CTX(thread).stat & RT_THREAD_SUSPEND_MASK)== RT_THREAD_SUSPEND_MASK;84}rt_sched_thread_ready(thread=0x2405ebe0) at rt-thread\src\scheduler_comm.c:116116if(RT_SCHED_CTX(thread).sched_flag_ttmr_set)123 error =rt_sched_thread_timer_stop(thread);rt_sched_thread_timer_stop(thread=0x2405ebe0) at rt-thread\src\scheduler_comm.c:4545if(RT_SCHED_CTX(thread).sched_flag_ttmr_set)47 error =rt_timer_stop(&thread->thread_timer);rt_timer_stop(timer=0x2405ec28) at rt-thread\src\timer.c:632632RT_ASSERT(timer != RT_NULL);633RT_ASSERT(rt_object_get_type(&timer->parent)== RT_Object_Class_Timer);rt_object_get_type(object=0x2405ec28) at rt-thread\src\object.c:587587RT_ASSERT(object != RT_NULL);589return object->type &~RT_Object_Class_Static;590}rt_timer_stop(timer=0x2405ec28) at rt-thread\src\timer.c:635635 spinlock =_timerlock_idx(timer);_timerlock_idx(timer=0x2405ec28) at rt-thread\src\timer.c:102102if(timer->parent.flag & RT_TIMER_FLAG_SOFT_TIMER)109return&_htimer_lock;112}rt_timer_stop(timer=0x2405ec28) at rt-thread\src\timer.c:637637 level =rt_spin_lock_irqsave(spinlock);rt_spin_lock_irqsave(lock=0x2405e044<_htimer_lock>) at rt-thread\src\cpu_up.c:6767 level =rt_hw_interrupt_disable();rt_hw_interrupt_disable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:3939 MRS r0, PRIMASK
40 CPSID I
41 BX LR
rt_spin_lock_irqsave(lock=0x2405e044<_htimer_lock>) at rt-thread\src\cpu_up.c:6868rt_enter_critical();rt_enter_critical() at rt-thread\src\scheduler_up.c:507507 level =rt_hw_interrupt_disable();rt_hw_interrupt_disable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:3939 MRS r0, PRIMASK
40 CPSID I
41 BX LR
rt_enter_critical() at rt-thread\src\scheduler_up.c:513513 rt_scheduler_lock_nest ++;514 critical_level = rt_scheduler_lock_nest;517rt_hw_interrupt_enable(level);rt_hw_interrupt_enable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:4949 MSR PRIMASK, r0
50 BX LR
rt_enter_critical() at rt-thread\src\scheduler_up.c:519519return critical_level;520}rt_spin_lock_irqsave(lock=0x2405e044<_htimer_lock>) at rt-thread\src\cpu_up.c:7070return level;71}rt_timer_stop(timer=0x2405ec28) at rt-thread\src\timer.c:639639if(!(timer->parent.flag & RT_TIMER_FLAG_ACTIVATED))644RT_OBJECT_HOOK_CALL(rt_object_put_hook,(&(timer->parent)));646_timer_remove(timer);_timer_remove(timer=0x2405ec28) at rt-thread\src\timer.c:195195for(i =0; i < RT_TIMER_SKIP_LIST_LEVEL; i++)197rt_list_remove(&timer->row[i]);rt_list_remove(n=0x2405ec3c) at rt-thread\include/rtservice.h:9191 n->next->prev = n->prev;92 n->prev->next = n->next;94 n->next = n->prev = n;95}_timer_remove(timer=0x2405ec28) at rt-thread\src\timer.c:195195for(i =0; i < RT_TIMER_SKIP_LIST_LEVEL; i++)199}rt_timer_stop(timer=0x2405ec28) at rt-thread\src\timer.c:648648 timer->parent.flag &=~RT_TIMER_FLAG_ACTIVATED;650rt_spin_unlock_irqrestore(spinlock, level);rt_spin_unlock_irqrestore(lock=0x2405e044<_htimer_lock>, level=1) at rt-thread\src\cpu_up.c:8383RT_SPIN_UNLOCK_DEBUG(lock, critical_level);84rt_exit_critical_safe(critical_level);rt_exit_critical_safe(critical_level=0) at rt-thread\src\scheduler_up.c:492492rt_exit_critical();rt_exit_critical() at rt-thread\src\scheduler_up.c:531531 level =rt_hw_interrupt_disable();rt_hw_interrupt_disable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:3939 MRS r0, PRIMASK
40 CPSID I
41 BX LR
rt_exit_critical() at rt-thread\src\scheduler_up.c:533533 rt_scheduler_lock_nest --;534if(rt_scheduler_lock_nest <=0)549rt_hw_interrupt_enable(level);rt_hw_interrupt_enable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:4949 MSR PRIMASK, r0
50 BX LR
rt_exit_critical() at rt-thread\src\scheduler_up.c:551551}rt_exit_critical_safe(critical_level=0) at rt-thread\src\scheduler_up.c:493493}rt_spin_unlock_irqrestore(lock=0x2405e044<_htimer_lock>, level=1) at rt-thread\src\cpu_up.c:8585rt_hw_interrupt_enable(level);rt_hw_interrupt_enable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:4949 MSR PRIMASK, r0
50 BX LR
rt_spin_unlock_irqrestore(lock=0x2405e044<_htimer_lock>, level=1) at rt-thread\src\cpu_up.c:8686}rt_timer_stop(timer=0x2405ec28) at rt-thread\src\timer.c:652652return RT_EOK;653}rt_sched_thread_timer_stop(thread=0x2405ebe0) at rt-thread\src\scheduler_comm.c:5050RT_SCHED_CTX(thread).sched_flag_ttmr_set =0;56return error;57}rt_sched_thread_ready(thread=0x2405ebe0) at rt-thread\src\scheduler_comm.c:130130if(!error)133rt_list_remove(&RT_THREAD_LIST_NODE(thread));rt_list_remove(n=0x2405ec0c) at rt-thread\include/rtservice.h:9191 n->next->prev = n->prev;92 n->prev->next = n->next;94 n->next = n->prev = n;95}rt_sched_thread_ready(thread=0x2405ebe0) at rt-thread\src\scheduler_comm.c:140140rt_sched_insert_thread(thread);rt_sched_insert_thread(thread=0x2405ebe0) at rt-thread\src\scheduler_up.c:377377RT_ASSERT(thread != RT_NULL);380 level =rt_hw_interrupt_disable();rt_hw_interrupt_disable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:3939 MRS r0, PRIMASK
40 CPSID I
41 BX LR
rt_sched_insert_thread(thread=0x2405ebe0) at rt-thread\src\scheduler_up.c:383383if(thread == rt_current_thread)rt_thread_self() at rt-thread\src\thread.c:367367returnrt_cpu_self()->current_thread;rt_cpu_self() at rt-thread\src\cpu_up.c:9595return&_cpu;96}rt_thread_self() at rt-thread\src\thread.c:382382}rt_sched_insert_thread(thread=0x2405ebe0) at rt-thread\src\scheduler_up.c:390390RT_SCHED_CTX(thread).stat = RT_THREAD_READY |(RT_SCHED_CTX(thread).stat &~RT_THREAD_STAT_MASK);392if((RT_SCHED_CTX(thread).stat & RT_THREAD_STAT_YIELD_MASK)!=0)400rt_list_insert_after(&(rt_thread_priority_table[RT_SCHED_PRIV(thread).current_priority]),rt_list_insert_after(l=0x2405df74<rt_thread_priority_table+80>, n=0x2405ec0c) at rt-thread\include/rtservice.h:6363 l->next->prev = n;64 n->next = l->next;66 l->next = n;67 n->prev = l;68}rt_sched_insert_thread(thread=0x2405ebe0) at rt-thread\src\scheduler_up.c:411411 rt_thread_ready_priority_group |=RT_SCHED_PRIV(thread).number_mask;415rt_hw_interrupt_enable(level);rt_hw_interrupt_enable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:4949 MSR PRIMASK, r0
50 BX LR
rt_sched_insert_thread(thread=0x2405ebe0) at rt-thread\src\scheduler_up.c:416416}rt_sched_thread_ready(thread=0x2405ebe0) at rt-thread\src\scheduler_comm.c:144144return error;145}rt_thread_resume(thread=0x2405ebe0) at rt-thread\src\thread.c:10261026if(!error)1028 error =rt_sched_unlock_n_resched(slvl);rt_sched_unlock_n_resched(level=1) at rt-thread\src\scheduler_up.c:132132if(rt_thread_self())rt_thread_self() at rt-thread\src\thread.c:367367returnrt_cpu_self()->current_thread;rt_cpu_self() at rt-thread\src\cpu_up.c:9595return&_cpu;96}rt_thread_self() at rt-thread\src\thread.c:382382}rt_sched_unlock_n_resched(level=1) at rt-thread\src\scheduler_up.c:135135rt_schedule();rt_schedule() at rt-thread\src\scheduler_up.c:207207structrt_thread*curr_thread =rt_thread_self();rt_thread_self() at rt-thread\src\thread.c:367367returnrt_cpu_self()->current_thread;rt_cpu_self() at rt-thread\src\cpu_up.c:9595return&_cpu;96}rt_thread_self() at rt-thread\src\thread.c:382382}rt_schedule() at rt-thread\src\scheduler_up.c:210210 level =rt_hw_interrupt_disable();rt_hw_interrupt_disable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:3939 MRS r0, PRIMASK
40 CPSID I
41 BX LR
rt_schedule() at rt-thread\src\scheduler_up.c:213213if(rt_scheduler_lock_nest ==0)323rt_hw_interrupt_enable(level);rt_hw_interrupt_enable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:4949 MSR PRIMASK, r0
50 BX LR
rt_schedule() at rt-thread\src\scheduler_up.c:326326return;327}rt_sched_unlock_n_resched(level=1) at rt-thread\src\scheduler_up.c:137137rt_hw_interrupt_enable(level);rt_hw_interrupt_enable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:4949 MSR PRIMASK, r0
50 BX LR
rt_sched_unlock_n_resched(level=1) at rt-thread\src\scheduler_up.c:139139return RT_EOK;140}rt_thread_resume(thread=0x2405ebe0) at rt-thread\src\thread.c:10341034if(error ==-RT_ESCHEDLOCKED)1044RT_OBJECT_HOOK_CALL(rt_thread_resume_hook,(thread));1046return error;1047}rt_completion_wakeup_by_errno(completion=0x2405593c<spi_bus_obj+520>, thread_errno=-1) at rt-thread\components\drivers\ipc\completion_up.c:209209if(error)221 completion->susp_thread_n_flag =RT_COMPLETION_NEW_STAT(RT_NULL, RT_COMPLETED);223rt_spin_unlock_irqrestore(&_completion_lock, level);rt_spin_unlock_irqrestore(lock=0x2405c0a8<_completion_lock>, level=1) at rt-thread\src\cpu_up.c:8383RT_SPIN_UNLOCK_DEBUG(lock, critical_level);84rt_exit_critical_safe(critical_level);rt_exit_critical_safe(critical_level=0) at rt-thread\src\scheduler_up.c:492492rt_exit_critical();rt_exit_critical() at rt-thread\src\scheduler_up.c:531531 level =rt_hw_interrupt_disable();rt_hw_interrupt_disable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:3939 MRS r0, PRIMASK
40 CPSID I
41 BX LR
rt_exit_critical() at rt-thread\src\scheduler_up.c:533533 rt_scheduler_lock_nest --;534if(rt_scheduler_lock_nest <=0)536 rt_scheduler_lock_nest =0;538rt_hw_interrupt_enable(level);rt_hw_interrupt_enable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:4949 MSR PRIMASK, r0
50 BX LR
rt_exit_critical() at rt-thread\src\scheduler_up.c:540540if(rt_current_thread)rt_thread_self() at rt-thread\src\thread.c:367367returnrt_cpu_self()->current_thread;rt_cpu_self() at rt-thread\src\cpu_up.c:9595return&_cpu;96}rt_thread_self() at rt-thread\src\thread.c:382382}rt_exit_critical() at rt-thread\src\scheduler_up.c:543543rt_schedule();rt_schedule() at rt-thread\src\scheduler_up.c:207207structrt_thread*curr_thread =rt_thread_self();rt_thread_self() at rt-thread\src\thread.c:367367returnrt_cpu_self()->current_thread;rt_cpu_self() at rt-thread\src\cpu_up.c:9595return&_cpu;96}rt_thread_self() at rt-thread\src\thread.c:382382}rt_schedule() at rt-thread\src\scheduler_up.c:210210 level =rt_hw_interrupt_disable();rt_hw_interrupt_disable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:3939 MRS r0, PRIMASK
40 CPSID I
41 BX LR
rt_schedule() at rt-thread\src\scheduler_up.c:213213if(rt_scheduler_lock_nest ==0)217if(rt_thread_ready_priority_group !=0)220int need_insert_from_thread =0;222 to_thread =_scheduler_get_highest_priority_thread(&highest_ready_priority);_scheduler_get_highest_priority_thread(highest_prio=0x240010b8) at rt-thread\src\scheduler_up.c:100100 highest_ready_priority =__rt_ffs(rt_thread_ready_priority_group)-1;__rt_ffs(value=1024) at rt-thread\libcpu\arm\cortex-m7\cpuport.c:519519return__builtin_ffs(value);520}_scheduler_get_highest_priority_thread(highest_prio=0x240010b8) at rt-thread\src\scheduler_up.c:104104 highest_priority_thread =RT_THREAD_LIST_NODE_ENTRY(rt_thread_priority_table[highest_ready_priority].next);106*highest_prio = highest_ready_priority;108return highest_priority_thread;109}rt_schedule() at rt-thread\src\scheduler_up.c:224224if((RT_SCHED_CTX(curr_thread).stat & RT_THREAD_STAT_MASK)== RT_THREAD_RUNNING)226if(RT_SCHED_PRIV(curr_thread).current_priority < highest_ready_priority)230elseif(RT_SCHED_PRIV(curr_thread).current_priority == highest_ready_priority
237 need_insert_from_thread =1;241if(to_thread != curr_thread)244 rt_current_priority =(rt_uint8_t)highest_ready_priority;245 from_thread = curr_thread;246rt_cpu_self()->current_thread = to_thread;rt_cpu_self() at rt-thread\src\cpu_up.c:9595return&_cpu;96}rt_schedule() at rt-thread\src\scheduler_up.c:248248RT_OBJECT_HOOK_CALL(rt_scheduler_hook,(from_thread, to_thread));250if(need_insert_from_thread)252rt_sched_insert_thread(from_thread);rt_sched_insert_thread(thread=0x2405cc6c<idle_thread>) at rt-thread\src\scheduler_up.c:377377RT_ASSERT(thread != RT_NULL);380 level =rt_hw_interrupt_disable();rt_hw_interrupt_disable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:3939 MRS r0, PRIMASK
40 CPSID I
41 BX LR
rt_sched_insert_thread(thread=0x2405cc6c<idle_thread>) at rt-thread\src\scheduler_up.c:383383if(thread == rt_current_thread)rt_thread_self() at rt-thread\src\thread.c:367367returnrt_cpu_self()->current_thread;rt_cpu_self() at rt-thread\src\cpu_up.c:9595return&_cpu;96}rt_thread_self() at rt-thread\src\thread.c:382382}rt_sched_insert_thread(thread=0x2405cc6c<idle_thread>) at rt-thread\src\scheduler_up.c:390390RT_SCHED_CTX(thread).stat = RT_THREAD_READY |(RT_SCHED_CTX(thread).stat &~RT_THREAD_STAT_MASK);392if((RT_SCHED_CTX(thread).stat & RT_THREAD_STAT_YIELD_MASK)!=0)400rt_list_insert_after(&(rt_thread_priority_table[RT_SCHED_PRIV(thread).current_priority]),rt_list_insert_after(l=0x2405e01c<rt_thread_priority_table+248>, n=0x2405cc98<idle_thread+44>) at rt-thread\include/rtservice.h:6363 l->next->prev = n;64 n->next = l->next;66 l->next = n;67 n->prev = l;68}rt_sched_insert_thread(thread=0x2405cc6c<idle_thread>) at rt-thread\src\scheduler_up.c:411411 rt_thread_ready_priority_group |=RT_SCHED_PRIV(thread).number_mask;415rt_hw_interrupt_enable(level);rt_hw_interrupt_enable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:4949 MSR PRIMASK, r0
50 BX LR
rt_sched_insert_thread(thread=0x2405cc6c<idle_thread>) at rt-thread\src\scheduler_up.c:416416}rt_schedule() at rt-thread\src\scheduler_up.c:255255if((RT_SCHED_CTX(from_thread).stat & RT_THREAD_STAT_YIELD_MASK)!=0)260rt_sched_remove_thread(to_thread);rt_sched_remove_thread(thread=0x2405ebe0) at rt-thread\src\scheduler_up.c:429429RT_ASSERT(thread != RT_NULL);432 level =rt_hw_interrupt_disable();rt_hw_interrupt_disable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:3939 MRS r0, PRIMASK
40 CPSID I
41 BX LR
rt_sched_remove_thread(thread=0x2405ebe0) at rt-thread\src\scheduler_up.c:439439rt_list_remove(&RT_THREAD_LIST_NODE(thread));rt_list_remove(n=0x2405ec0c) at rt-thread\include/rtservice.h:9191 n->next->prev = n->prev;92 n->prev->next = n->next;94 n->next = n->prev = n;95}rt_sched_remove_thread(thread=0x2405ebe0) at rt-thread\src\scheduler_up.c:440440if(rt_list_isempty(&(rt_thread_priority_table[RT_SCHED_PRIV(thread).current_priority])))rt_list_isempty(l=0x2405df74<rt_thread_priority_table+80>) at rt-thread\include/rtservice.h:103103return l->next == l;104}rt_sched_remove_thread(thread=0x2405ebe0) at rt-thread\src\scheduler_up.c:449449 rt_thread_ready_priority_group &=~RT_SCHED_PRIV(thread).number_mask;454rt_hw_interrupt_enable(level);rt_hw_interrupt_enable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:4949 MSR PRIMASK, r0
50 BX LR
rt_sched_remove_thread(thread=0x2405ebe0) at rt-thread\src\scheduler_up.c:455455}rt_schedule() at rt-thread\src\scheduler_up.c:261261RT_SCHED_CTX(to_thread).stat = RT_THREAD_RUNNING |(RT_SCHED_CTX(to_thread).stat &~RT_THREAD_STAT_MASK);271RT_SCHEDULER_STACK_CHECK(to_thread);rt_scheduler_stack_check(thread=0x2405ebe0) at rt-thread\src\scheduler_comm.c:230230RT_ASSERT(thread != RT_NULL);249if(*((rt_uint8_t*)thread->stack_addr)!='#'||251(rt_uintptr_t)thread->sp <=(rt_uintptr_t)thread->stack_addr ||249if(*((rt_uint8_t*)thread->stack_addr)!='#'||252(rt_uintptr_t)thread->sp >253(rt_uintptr_t)thread->stack_addr +(rt_uintptr_t)thread->stack_size)251(rt_uintptr_t)thread->sp <=(rt_uintptr_t)thread->stack_addr ||274elseif((rt_uintptr_t)thread->sp <=((rt_uintptr_t)thread->stack_addr +32))rt_schedule() at rt-thread\src\scheduler_up.c:273273if(rt_interrupt_nest ==0)277RT_OBJECT_HOOK_CALL(rt_scheduler_switch_hook,(from_thread));279rt_hw_context_switch((rt_uintptr_t)&from_thread->sp,280(rt_uintptr_t)&to_thread->sp);279rt_hw_context_switch((rt_uintptr_t)&from_thread->sp,rt_hw_context_switch_interrupt() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:6565 LDR r2,=rt_thread_switch_interrupt_flag
66 LDR r3,[r2]67 CMP r3, #168 BEQ _reswitch
_reswitch() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:7676 LDR r2,=rt_interrupt_to_thread /* set rt_interrupt_to_thread */77 STR r1,[r2]79 LDR r0,=NVIC_INT_CTRL /* trigger the PendSV exception (causes context switch) */80 LDR r1,=NVIC_PENDSVSET
81 STR r1,[r0]82 BX LR
rt_schedule() at rt-thread\src\scheduler_up.c:283283rt_hw_interrupt_enable(level);rt_hw_interrupt_enable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:4949 MSR PRIMASK, r0
50 BX LR
rt_schedule() at rt-thread\src\scheduler_up.c:326326return;327}rt_exit_critical() at rt-thread\src\scheduler_up.c:551551}rt_exit_critical_safe(critical_level=0) at rt-thread\src\scheduler_up.c:493493}rt_spin_unlock_irqrestore(lock=0x2405c0a8<_completion_lock>, level=1) at rt-thread\src\cpu_up.c:8585rt_hw_interrupt_enable(level);rt_hw_interrupt_enable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:4949 MSR PRIMASK, r0
50 BX LR
rt_spin_unlock_irqrestore(lock=0x2405c0a8<_completion_lock>, level=1) at rt-thread\src\cpu_up.c:8686}rt_completion_wakeup_by_errno(completion=0x2405593c<spi_bus_obj+520>, thread_errno=-1) at rt-thread\components\drivers\ipc\completion_up.c:225225return error;226}rt_completion_done(completion=0x2405593c<spi_bus_obj+520>) at rt-thread\components\drivers\ipc\completion_comm.c:2222}HAL_SPI_RxCpltCallback(hspi=0x24055734<spi_bus_obj>) at libraries\HAL_Drivers\drivers\drv_spi.c:10561056}HAL_SPI_IRQHandler(hspi=0x24055734<spi_bus_obj>) at libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_spi.c:30443044return;3131}SPI1_IRQHandler() at libraries\HAL_Drivers\drivers\drv_spi.c:699699rt_hw_interrupt_enable(level);rt_hw_interrupt_enable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:4949 MSR PRIMASK, r0
50 BX LR
SPI1_IRQHandler() at libraries\HAL_Drivers\drivers\drv_spi.c:700700}rt_hw_interrupt_enable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:5050 BX LR
Continuing.
Breakpoint 2,SPI2_IRQHandler() at libraries\HAL_Drivers\drivers\drv_spi.c:743743rt_base_t level =rt_hw_interrupt_disable();rt_hw_interrupt_disable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:3939 MRS r0, PRIMASK
40 CPSID I
41 BX LR
SPI2_IRQHandler() at libraries\HAL_Drivers\drivers\drv_spi.c:745745HAL_SPI_IRQHandler(&spi_bus_obj[SPI2_INDEX].handle);HAL_SPI_IRQHandler(hspi=0x24055940<spi_bus_obj+524>) at libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_spi.c:28882888uint32_t itsource = hspi->Instance->IER;2889uint32_t itflag = hspi->Instance->SR;2890uint32_t trigger = itsource & itflag;2891uint32_t cfg1 = hspi->Instance->CFG1;2892uint32_t handled =0UL;2894 HAL_SPI_StateTypeDef State = hspi->State;2896 __IO uint16_t*prxdr_16bits =(__IO uint16_t*)(&(hspi->Instance->RXDR));2900if(HAL_IS_BIT_SET(itflag, SPI_FLAG_SUSP)&&HAL_IS_BIT_SET(itsource, SPI_FLAG_EOT))2915if(HAL_IS_BIT_CLR(trigger, SPI_FLAG_OVR)&&HAL_IS_BIT_CLR(trigger, SPI_FLAG_UDR)&& \
2916HAL_IS_BIT_SET(trigger, SPI_FLAG_DXP))2915if(HAL_IS_BIT_CLR(trigger, SPI_FLAG_OVR)&&HAL_IS_BIT_CLR(trigger, SPI_FLAG_UDR)&& \
2924if(HAL_IS_BIT_CLR(trigger, SPI_FLAG_OVR)&&HAL_IS_BIT_SET(trigger, SPI_FLAG_RXP)&& \
2932if(HAL_IS_BIT_CLR(trigger, SPI_FLAG_UDR)&&HAL_IS_BIT_SET(trigger, SPI_FLAG_TXP)&& \
2947if(handled !=0UL)2953if(HAL_IS_BIT_SET(trigger, SPI_FLAG_EOT))2956__HAL_SPI_CLEAR_EOTFLAG(hspi);2957__HAL_SPI_CLEAR_TXTFFLAG(hspi);2958__HAL_SPI_CLEAR_SUSPFLAG(hspi);2961__HAL_SPI_DISABLE_IT(hspi, SPI_IT_EOT);2964if(HAL_IS_BIT_CLR(hspi->Instance->CFG1, SPI_CFG1_TXDMAEN | SPI_CFG1_RXDMAEN))2997SPI_CloseTransfer(hspi);SPI_CloseTransfer(hspi=0x24055940<spi_bus_obj+524>) at libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_spi.c:38933893uint32_t itflag = hspi->Instance->SR;3895__HAL_SPI_CLEAR_EOTFLAG(hspi);3896__HAL_SPI_CLEAR_TXTFFLAG(hspi);3899__HAL_SPI_DISABLE(hspi);3902__HAL_SPI_DISABLE_IT(hspi,(SPI_IT_EOT | SPI_IT_TXP | SPI_IT_RXP | SPI_IT_DXP | SPI_IT_UDR | SPI_IT_OVR | \
3906CLEAR_BIT(hspi->Instance->CFG1, SPI_CFG1_TXDMAEN | SPI_CFG1_RXDMAEN);3909if(hspi->State != HAL_SPI_STATE_BUSY_RX)3911if((itflag & SPI_FLAG_UDR)!=0UL)3919if(hspi->State != HAL_SPI_STATE_BUSY_TX)3941if((itflag & SPI_FLAG_MODF)!=0UL)3948if((itflag & SPI_FLAG_FRE)!=0UL)3954 hspi->TxXferCount =(uint16_t)0UL;3955 hspi->RxXferCount =(uint16_t)0UL;3956}HAL_SPI_IRQHandler(hspi=0x24055940<spi_bus_obj+524>) at libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_spi.c:29992999 hspi->State = HAL_SPI_STATE_READY;3000if(hspi->ErrorCode != HAL_SPI_ERROR_NONE)3026if(State == HAL_SPI_STATE_BUSY_TX_RX)3030elseif(State == HAL_SPI_STATE_BUSY_RX)3034elseif(State == HAL_SPI_STATE_BUSY_TX)3036HAL_SPI_TxCpltCallback(hspi);HAL_SPI_TxCpltCallback(hspi=0x24055940<spi_bus_obj+524>) at libraries\HAL_Drivers\drivers\drv_spi.c:10481048structstm32_spi*spi_drv =rt_container_of(hspi,structstm32_spi, handle);1049rt_completion_done(&spi_drv->cpt);rt_completion_done(completion=0x24055b48<spi_bus_obj+1044>) at rt-thread\components\drivers\ipc\completion_comm.c:2121rt_completion_wakeup_by_errno(completion,-1);rt_completion_wakeup_by_errno(completion=0x24055b48<spi_bus_obj+1044>, thread_errno=-1) at rt-thread\components\drivers\ipc\completion_up.c:189189RT_ASSERT(completion != RT_NULL);191 level =rt_spin_lock_irqsave(&_completion_lock);rt_spin_lock_irqsave(lock=0x2405c0a8<_completion_lock>) at rt-thread\src\cpu_up.c:6767 level =rt_hw_interrupt_disable();rt_hw_interrupt_disable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:3939 MRS r0, PRIMASK
40 CPSID I
41 BX LR
rt_spin_lock_irqsave(lock=0x2405c0a8<_completion_lock>) at rt-thread\src\cpu_up.c:6868rt_enter_critical();rt_enter_critical() at rt-thread\src\scheduler_up.c:507507 level =rt_hw_interrupt_disable();rt_hw_interrupt_disable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:3939 MRS r0, PRIMASK
40 CPSID I
41 BX LR
rt_enter_critical() at rt-thread\src\scheduler_up.c:513513 rt_scheduler_lock_nest ++;514 critical_level = rt_scheduler_lock_nest;517rt_hw_interrupt_enable(level);rt_hw_interrupt_enable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:4949 MSR PRIMASK, r0
50 BX LR
rt_enter_critical() at rt-thread\src\scheduler_up.c:519519return critical_level;520}rt_spin_lock_irqsave(lock=0x2405c0a8<_completion_lock>) at rt-thread\src\cpu_up.c:7070return level;71}rt_completion_wakeup_by_errno(completion=0x24055b48<spi_bus_obj+1044>, thread_errno=-1) at rt-thread\components\drivers\ipc\completion_up.c:192192if(RT_COMPLETION_FLAG(completion)== RT_COMPLETED)198 suspend_thread =RT_COMPLETION_THREAD(completion);199if(suspend_thread)218 error =-RT_EEMPTY;221 completion->susp_thread_n_flag =RT_COMPLETION_NEW_STAT(RT_NULL, RT_COMPLETED);223rt_spin_unlock_irqrestore(&_completion_lock, level);rt_spin_unlock_irqrestore(lock=0x2405c0a8<_completion_lock>, level=1) at rt-thread\src\cpu_up.c:8383RT_SPIN_UNLOCK_DEBUG(lock, critical_level);84rt_exit_critical_safe(critical_level);rt_exit_critical_safe(critical_level=0) at rt-thread\src\scheduler_up.c:492492rt_exit_critical();rt_exit_critical() at rt-thread\src\scheduler_up.c:531531 level =rt_hw_interrupt_disable();rt_hw_interrupt_disable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:3939 MRS r0, PRIMASK
40 CPSID I
41 BX LR
rt_exit_critical() at rt-thread\src\scheduler_up.c:533533 rt_scheduler_lock_nest --;534if(rt_scheduler_lock_nest <=0)536 rt_scheduler_lock_nest =0;538rt_hw_interrupt_enable(level);rt_hw_interrupt_enable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:4949 MSR PRIMASK, r0
50 BX LR
rt_exit_critical() at rt-thread\src\scheduler_up.c:540540if(rt_current_thread)rt_thread_self() at rt-thread\src\thread.c:367367returnrt_cpu_self()->current_thread;rt_cpu_self() at rt-thread\src\cpu_up.c:9595return&_cpu;96}rt_thread_self() at rt-thread\src\thread.c:382382}rt_exit_critical() at rt-thread\src\scheduler_up.c:543543rt_schedule();rt_schedule() at rt-thread\src\scheduler_up.c:207207structrt_thread*curr_thread =rt_thread_self();rt_thread_self() at rt-thread\src\thread.c:367367returnrt_cpu_self()->current_thread;rt_cpu_self() at rt-thread\src\cpu_up.c:9595return&_cpu;96}rt_thread_self() at rt-thread\src\thread.c:382382}rt_schedule() at rt-thread\src\scheduler_up.c:210210 level =rt_hw_interrupt_disable();rt_hw_interrupt_disable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:3939 MRS r0, PRIMASK
40 CPSID I
41 BX LR
rt_schedule() at rt-thread\src\scheduler_up.c:213213if(rt_scheduler_lock_nest ==0)217if(rt_thread_ready_priority_group !=0)220int need_insert_from_thread =0;222 to_thread =_scheduler_get_highest_priority_thread(&highest_ready_priority);_scheduler_get_highest_priority_thread(highest_prio=0x240010b8) at rt-thread\src\scheduler_up.c:100100 highest_ready_priority =__rt_ffs(rt_thread_ready_priority_group)-1;__rt_ffs(value=-2147483648) at rt-thread\libcpu\arm\cortex-m7\cpuport.c:519519return__builtin_ffs(value);520}_scheduler_get_highest_priority_thread(highest_prio=0x240010b8) at rt-thread\src\scheduler_up.c:104104 highest_priority_thread =RT_THREAD_LIST_NODE_ENTRY(rt_thread_priority_table[highest_ready_priority].next);106*highest_prio = highest_ready_priority;108return highest_priority_thread;109}rt_schedule() at rt-thread\src\scheduler_up.c:224224if((RT_SCHED_CTX(curr_thread).stat & RT_THREAD_STAT_MASK)== RT_THREAD_RUNNING)226if(RT_SCHED_PRIV(curr_thread).current_priority < highest_ready_priority)228 to_thread = curr_thread;241if(to_thread != curr_thread)316rt_sched_remove_thread(curr_thread);rt_sched_remove_thread(thread=0x24063400) at rt-thread\src\scheduler_up.c:429429RT_ASSERT(thread != RT_NULL);432 level =rt_hw_interrupt_disable();rt_hw_interrupt_disable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:3939 MRS r0, PRIMASK
40 CPSID I
41 BX LR
rt_sched_remove_thread(thread=0x24063400) at rt-thread\src\scheduler_up.c:439439rt_list_remove(&RT_THREAD_LIST_NODE(thread));rt_list_remove(n=0x2406342c) at rt-thread\include/rtservice.h:9191 n->next->prev = n->prev;92 n->prev->next = n->next;94 n->next = n->prev = n;95}rt_sched_remove_thread(thread=0x24063400) at rt-thread\src\scheduler_up.c:440440if(rt_list_isempty(&(rt_thread_priority_table[RT_SCHED_PRIV(thread).current_priority])))rt_list_isempty(l=0x2405dfc4<rt_thread_priority_table+160>) at rt-thread\include/rtservice.h:103103return l->next == l;104}rt_sched_remove_thread(thread=0x24063400) at rt-thread\src\scheduler_up.c:449449 rt_thread_ready_priority_group &=~RT_SCHED_PRIV(thread).number_mask;454rt_hw_interrupt_enable(level);rt_hw_interrupt_enable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:4949 MSR PRIMASK, r0
50 BX LR
rt_sched_remove_thread(thread=0x24063400) at rt-thread\src\scheduler_up.c:455455}rt_schedule() at rt-thread\src\scheduler_up.c:317317RT_SCHED_CTX(curr_thread).stat = RT_THREAD_RUNNING |(RT_SCHED_CTX(curr_thread).stat &~RT_THREAD_STAT_MASK);323rt_hw_interrupt_enable(level);rt_hw_interrupt_enable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:4949 MSR PRIMASK, r0
50 BX LR
rt_schedule() at rt-thread\src\scheduler_up.c:326326return;327}rt_exit_critical() at rt-thread\src\scheduler_up.c:551551}rt_exit_critical_safe(critical_level=0) at rt-thread\src\scheduler_up.c:493493}rt_spin_unlock_irqrestore(lock=0x2405c0a8<_completion_lock>, level=1) at rt-thread\src\cpu_up.c:8585rt_hw_interrupt_enable(level);rt_hw_interrupt_enable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:4949 MSR PRIMASK, r0
50 BX LR
rt_spin_unlock_irqrestore(lock=0x2405c0a8<_completion_lock>, level=1) at rt-thread\src\cpu_up.c:8686}rt_completion_wakeup_by_errno(completion=0x24055b48<spi_bus_obj+1044>, thread_errno=-1) at rt-thread\components\drivers\ipc\completion_up.c:225225return error;226}rt_completion_done(completion=0x24055b48<spi_bus_obj+1044>) at rt-thread\components\drivers\ipc\completion_comm.c:2222}HAL_SPI_TxCpltCallback(hspi=0x24055940<spi_bus_obj+524>) at libraries\HAL_Drivers\drivers\drv_spi.c:10501050}HAL_SPI_IRQHandler(hspi=0x24055940<spi_bus_obj+524>) at libraries\STM32H7xx_HAL\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_spi.c:30443044return;3131}SPI2_IRQHandler() at libraries\HAL_Drivers\drivers\drv_spi.c:748748rt_hw_interrupt_enable(level);rt_hw_interrupt_enable() at rt-thread\libcpu\arm\cortex-m7/context_gcc.S:4949 MSR PRIMASK, r0
50 BX LR
SPI2_IRQHandler() at libraries\HAL_Drivers\drivers\drv_spi.c:749749}rt_completion_wait_flags(completion=0x24055b48<spi_bus_obj+1044>, timeout=1000, suspend_flag=2) at rt-thread\components\drivers\ipc\completion_up.c:7474RT_DEBUG_SCHEDULER_AVAILABLE(timeout !=0);