26
CHAPTER 4
ARM erratum 837070
4.4 ARM erratum 837070
Up to V5.02 of embOS-MPU for Cortex-M and IAR the workaround for ARM erratum 837070
was applied by default for ARMv7-M devices. Starting with V5.8.0.0, the workaround is no
longer applied by default. If libraries including the workaround are desired, a suitable set
of libraries is provided, but projects would need to be updated accordingly. Please add the
define
USE_ERRATUM_837070
set to 1 to your preprocessor settings or
OS_Config.h
.
If you are working with the embOS source code instead of the library please add the define
USE_ERRATUM_837070
set to 1 to the C and assembler preprocessor settings.
This workaround sets PRIMASK before writing to BASEPRI and unconditionally clears it af-
terwards. If the previous value of PRIMASK shall be retained after modification of BASEPRI,
the
OS_PRESERVE_PRIMASK
definition may be set to 1 in the C and assembler preprocessor
settings.
Devices with the ARM core r0p0 or r0p1 are affected only. When an embOS library without
this erratum is used with a device which needs the workaround, a debug build of embOS
calls
OS_Error()
with the error code
OS_ERR_HW_NOT_AVAILABLE
.
embOS-MPU for Cortex-M and IAR
© 2010-2020 SEGGER Microcontroller GmbH