cancel
Showing results for 
Search instead for 
Did you mean: 

vPortValidateInterruptPriority crash?

duane-sd
Associate

It a ppears that I am having this problem:

https://community.st.com/t5/stm32-mcus-embedded-software/stm32-freertos-vportvalidateinterruptpriority-assert-crash/m-p/80870#M2550

I understand the intent here.. Basically to do a "critical section" in freeRTOS you raise the current priority to (X), and any IRQ that is above/below (take your pick)(X) - can still occur but cannot call an RTOS api.  This allows highly critical IRQs to continue to occur even when the OS is in a quasi-critical section.

 

From what I see in the call stack:

a) There ETH_IRQHandler() is called, then HAL_ETH_TxCpltCallback, which calls: xQueueGiveFromISR() which is a FREERTOS API - which then fires the assert.

I can fully understand if I wrote this code and was doing things, yea totally my fault my problem.

But that is not the case here. I just installed CubMX - a week ago [mid-may-2026 for those finding this later via google]  I have not modified the generated app - just using it as is sort of "out of the box" and it fails like this.

To dig in and need to solve this with out of the box code seems just wrong.

What have I modified: A) used MX to generate an APP with Ethernet, USB DEVICE (CDC), SERIAL and a TIMER.

Build it with CUBE-IDE and load on the board and it crashes as described.

This implies the code generator is not generating working code. that seems wrong. Things "out of the box should just work" . Hence my ask.

 

0 REPLIES 0