81 #if defined(MPU_OVER_MPU)
130 #elif defined(MPU_OVER_SMPU)
137 } mpu_access_permission_t;
169 #if defined(MPU_OVER_SMPU)
170 #if (FEATURE_SMPU_HAS_SPECIFIC_ACCESS_RIGHT_COUNT != 0U)
184 MPU_SUPERVISOR_NONE_USER_NONE = 0x00U,
185 MPU_SUPERVISOR_NONE_USER_X = 0x01U,
186 MPU_SUPERVISOR_NONE_USER_W = 0x02U,
187 MPU_SUPERVISOR_NONE_USER_WX = 0x03U,
188 MPU_SUPERVISOR_NONE_USER_R = 0x04U,
189 MPU_SUPERVISOR_NONE_USER_RX = 0x05U,
190 MPU_SUPERVISOR_NONE_USER_RW = 0x06U,
191 MPU_SUPERVISOR_NONE_USER_RWX = 0x07U,
192 MPU_SUPERVISOR_X_USER_NONE = 0x08U,
193 MPU_SUPERVISOR_X_USER_X = 0x09U,
194 MPU_SUPERVISOR_X_USER_W = 0x0AU,
195 MPU_SUPERVISOR_X_USER_WX = 0x0BU,
196 MPU_SUPERVISOR_X_USER_R = 0x0CU,
197 MPU_SUPERVISOR_X_USER_RX = 0x0DU,
198 MPU_SUPERVISOR_X_USER_RW = 0x0EU,
199 MPU_SUPERVISOR_X_USER_RWX = 0x0FU,
200 MPU_SUPERVISOR_W_USER_NONE = 0x10U,
201 MPU_SUPERVISOR_W_USER_X = 0x11U,
202 MPU_SUPERVISOR_W_USER_W = 0x12U,
203 MPU_SUPERVISOR_W_USER_WX = 0x13U,
204 MPU_SUPERVISOR_W_USER_R = 0x14U,
205 MPU_SUPERVISOR_W_USER_RX = 0x15U,
206 MPU_SUPERVISOR_W_USER_RW = 0x16U,
207 MPU_SUPERVISOR_W_USER_RWX = 0x17U,
208 MPU_SUPERVISOR_WX_USER_NONE = 0x18U,
209 MPU_SUPERVISOR_WX_USER_X = 0x19U,
210 MPU_SUPERVISOR_WX_USER_W = 0x1AU,
211 MPU_SUPERVISOR_WX_USER_WX = 0x1BU,
212 MPU_SUPERVISOR_WX_USER_R = 0x1CU,
213 MPU_SUPERVISOR_WX_USER_RX = 0x1DU,
214 MPU_SUPERVISOR_WX_USER_RW = 0x1EU,
215 MPU_SUPERVISOR_WX_USER_RWX = 0x1FU,
216 MPU_SUPERVISOR_R_USER_NONE = 0x20U,
217 MPU_SUPERVISOR_R_USER_X = 0x21U,
218 MPU_SUPERVISOR_R_USER_W = 0x22U,
219 MPU_SUPERVISOR_R_USER_WX = 0x23U,
220 MPU_SUPERVISOR_R_USER_R = 0x24U,
221 MPU_SUPERVISOR_R_USER_RX = 0x25U,
222 MPU_SUPERVISOR_R_USER_RW = 0x26U,
223 MPU_SUPERVISOR_R_USER_RWX = 0x27U,
248 } mpu_specific_access_permission_t;
258 #if FEATURE_SMPU_HAS_OWNER_LOCK
272 #if FEATURE_SMPU_HAS_OWNER_LOCK
275 mpu_lock_t lockConfig;
284 #if (FEATURE_SMPU_HAS_SPECIFIC_ACCESS_RIGHT_COUNT != 0U)
285 bool specAccessEnable;
286 const mpu_specific_access_permission_t *specAccessSet;
288 bool cacheInhibitEnable;
289 mpu_lock_t lockConfig;
290 } mpu_extension_smpu_region_t;
301 #if defined(__cplusplus)
405 #if defined(MPU_OVER_SMPU)
420 mpu_lock_t lockConfig);
434 mpu_region_lock_t * regionLock);
440 #if defined(__cplusplus)
uint8_t processIdentifier
MPU master access permission. Implements : mpu_master_access_permission_t_Class.
Structure storing PAL instance information.
mpu_access_permission_t accessRight
status_t MPU_Init(const mpu_instance_t *const instance, uint8_t regionCnt, const mpu_region_config_t *configPtr)
Initializes memory protection unit by allocating regions and granting access rights for masters...
status_t MPU_Deinit(const mpu_instance_t *const instance)
De-initializes memory protection unit by reseting all regions and masters to default and disable modu...
mpu_access_rights_t
MPU access rights. Code Supervisor User Description MPU_SUPERVISOR_RWX_USER_NONE r w x - - - Allow R...
status_t MPU_UpdateRegion(const mpu_instance_t *const instance, uint8_t regionNum, const mpu_region_config_t *configPtr)
Updates region configuration.
status_t
Status return codes. Common error codes will be a unified enumeration (C enum) that will contain all ...
status_t MPU_GetDefautRegionConfig(const mpu_instance_t *const instance, mpu_master_access_permission_t *masterAccRight, mpu_region_config_t *regionConfig)
Gets default region configuration. Grants all access rights for masters; disable PID and cache; unloc...
MPU detail error access info Implements : mpu_error_info_t_Class.
mpu_error_access_type_t
MPU access error Implements : mpu_error_access_type_t_Class.
mpu_error_attributes_t attributes
mpu_error_access_type_t accessType
const mpu_master_access_permission_t * masterAccRight
status_t MPU_EnableRegion(const mpu_instance_t *const instance, uint8_t regionNum, bool enable)
Enables or disables an exist region configuration.
mpu_error_attributes_t
MPU access error attributes Implements : mpu_error_attributes_t_Class.
MPU region configuration structure. Implements : mpu_region_config_t_Class.
bool MPU_GetError(const mpu_instance_t *const instance, uint8_t channel, mpu_error_info_t *errPtr)
Checks and gets the access error detail information then clear error flag if the error caused by a ma...