mirror of https://github.com/ARMmbed/mbed-os.git
Use MBED_ASSERT in MPU manager
MPU lock under- or overflow is not a likely random runtime failure - it will be a mismatched lock/unlock programming error, so should be detected during development. Make the checks asserts so they can be left out from release builds. MBED_ASSERT is also a bit smaller than MBED_ERROR in develop builds.pull/9030/head
parent
842587ddb5
commit
1289406f9f
|
|
@ -28,10 +28,7 @@ static uint16_t mem_wn_lock;
|
|||
void mbed_mpu_manager_lock_ram_execution()
|
||||
{
|
||||
core_util_critical_section_enter();
|
||||
if (mem_xn_lock == USHRT_MAX) {
|
||||
core_util_critical_section_exit();
|
||||
MBED_ERROR1(MBED_MAKE_ERROR(MBED_MODULE_PLATFORM, MBED_ERROR_CODE_OVERFLOW), "Ram execute never lock overflow (> USHRT_MAX)", mem_xn_lock);
|
||||
}
|
||||
MBED_ASSERT(mem_xn_lock != USHRT_MAX);
|
||||
if (mem_xn_lock == 0) {
|
||||
mbed_mpu_enable_ram_xn(false);
|
||||
}
|
||||
|
|
@ -42,10 +39,7 @@ void mbed_mpu_manager_lock_ram_execution()
|
|||
void mbed_mpu_manager_unlock_ram_execution()
|
||||
{
|
||||
core_util_critical_section_enter();
|
||||
if (mem_xn_lock == 0) {
|
||||
core_util_critical_section_exit();
|
||||
MBED_ERROR1(MBED_MAKE_ERROR(MBED_MODULE_PLATFORM, MBED_ERROR_CODE_UNDERFLOW), "Ram execute never lock underflow (< 0)", mem_xn_lock);
|
||||
}
|
||||
MBED_ASSERT(mem_xn_lock != 0);
|
||||
mem_xn_lock--;
|
||||
if (mem_xn_lock == 0) {
|
||||
mbed_mpu_enable_ram_xn(true);
|
||||
|
|
@ -56,10 +50,7 @@ void mbed_mpu_manager_unlock_ram_execution()
|
|||
void mbed_mpu_manager_lock_rom_write()
|
||||
{
|
||||
core_util_critical_section_enter();
|
||||
if (mem_wn_lock == USHRT_MAX) {
|
||||
core_util_critical_section_exit();
|
||||
MBED_ERROR1(MBED_MAKE_ERROR(MBED_MODULE_PLATFORM, MBED_ERROR_CODE_OVERFLOW), "Rom write never lock overflow (> USHRT_MAX)", mem_wn_lock);
|
||||
}
|
||||
MBED_ASSERT(mem_wn_lock != USHRT_MAX);
|
||||
if (mem_wn_lock == 0) {
|
||||
mbed_mpu_enable_rom_wn(false);
|
||||
}
|
||||
|
|
@ -70,10 +61,7 @@ void mbed_mpu_manager_lock_rom_write()
|
|||
void mbed_mpu_manager_unlock_rom_write()
|
||||
{
|
||||
core_util_critical_section_enter();
|
||||
if (mem_wn_lock == 0) {
|
||||
core_util_critical_section_exit();
|
||||
MBED_ERROR1(MBED_MAKE_ERROR(MBED_MODULE_PLATFORM, MBED_ERROR_CODE_UNDERFLOW), "Rom write never lock underflow (< 0)", mem_wn_lock);
|
||||
}
|
||||
MBED_ASSERT(mem_wn_lock != 0);
|
||||
mem_wn_lock--;
|
||||
if (mem_wn_lock == 0) {
|
||||
mbed_mpu_enable_rom_wn(true);
|
||||
|
|
|
|||
Loading…
Reference in New Issue