You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Workaround: Implement g_nvic_prio_bits for disabled.c
When __uvisor_mode is UVISOR_DISABLED the NVIC APIs are used instead of
the vIRQ ones. Now that those APIs are pre-compiled into a library, the
NVIC APIs use the uVisor built-in definitions from cmsis/core_generic.h.
In that file __NVIC_PRIO_BITS is re-defined as a global variable which
is evaluated at start-up. This behaviour has now been mirrored to the
case of disabled uVisor.
Warning: This is a workaround.
Applications that are written following the uVisor guidelines for the
use of vIRQ APIs will work without problems:
> The vIRQ_SetVector must be used before any other vIRQ API for any given
IRQn slot.
While this is currently the case for all mbed OS code, it is not
guaranteed to work with new code. For example, if vIRQ_SetPriority is
called before vIRQ_SetVector unpredictable behaviour will follow.
This issue will be fixed by a more generalized approach to disabled
uVisor.
0 commit comments