Hello,
we're using MQX 4.1 with the K70 and have taken a look at the MQX User Guide section 3.9.3.4.
Out of the box BSP_DEFAULT_MQX_HARDWARE_INTERRUPT_LEVEL_MAX = 2.
We were wondering why this value was chosen as a default?
In general we assume that all our tasks can be interrupted by an IRQ.
For the most part we let MQX manage our interrupts; but we do have the odd occasion to install a kernel interrupt when necessary.
We're thinking of changing BSP_DEFAULT_MQX_HARDWARE_INTERRUPT_LEVEL_MAX = 7; we don't have any tasks with priorities less than 2.
Are there any consequences to this besides ensuring that our tasks can always be interrupted?
Thanks for the help,
Matt
Hello Matt,
BSP_DEFAULT_MQX_HARDWARE_INTERRUPT_LEVEL_MAX is used during MQX initialization to set MQX_HARDWARE_INTERRUPT_LEVEL_MAX, which is described in the MQX User Guide document in section 3.9.3.4.
It lets a user re-configure MQX so that when a MQX task is running, it leaves some interrupt levels still enabled so that any interrupt below that level will act like a NMI and execute asynchronously to MQX kernel execution. Table 3-46 shows this relationship.
Typically this value is not changed, and can cause some odd things to happen if some interrupt priorities are not configured correctly.
Have a great day,
Sol
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------