27#include <mstd_cstddef>
66#if !defined(MBED_MPU_CUSTOM)
68#ifdef MBED_CONF_TARGET_MPU_ROM_END
69#define MBED_MPU_ROM_END MBED_CONF_TARGET_MPU_ROM_END
71#define MBED_MPU_ROM_END (0x10000000 - 1)
74#ifdef MBED_CONF_TARGET_MPU_RAM_START
75#define MBED_MPU_RAM_START MBED_CONF_TARGET_MPU_RAM_START
78#define MBED_MPU_RAM_START (MBED_MPU_ROM_END + 1)
81#if ((__ARM_ARCH_8M_BASE__ == 1U) || (__ARM_ARCH_8M_MAIN__ == 1U) || (__ARM_ARCH_8_1M_MAIN__ == 1U))
86enum mbed_mpu_attr_index {
88 MBED_MPU_ATTR_INDEX_NORMAL_WRITE_THROUGH = 0,
91 MBED_MPU_ATTR_INDEX_NORMAL_WRITE_BACK = 1,
95 MBED_MPU_ATTR_INDEX_NON_CACHEABLE = 2,
101static MSTD_CONSTEXPR_OBJ_11
size_t mbed_used_mpu_regions =
102#if ((__ARM_ARCH_8M_BASE__ == 1U) || (__ARM_ARCH_8M_MAIN__ == 1U) || (__ARM_ARCH_8_1M_MAIN__ == 1U))
106#if MBED_MPU_RAM_START < 0x20000000
113#if MBED_MPU_HAS_RAM_FUNCTION_REGION
162#define mbed_mpu_init()
164#define mbed_mpu_enable_rom_wn(enable) (void)enable
166#define mbed_mpu_enable_ram_xn(enable) (void)enable
168#define mbed_mpu_free()
void mbed_mpu_enable_rom_wn(bool disable)
Enable or disable ROM MPU protection.
void mbed_mpu_init(void)
Initialize the MPU.
void mbed_mpu_enable_ram_xn(bool disable)
Enable or disable ram MPU protection.
void mbed_mpu_free(void)
Deinitialize the MPU.