Macros | Functions
mpu.h File Reference
#include <stdint.h>

Go to the source code of this file.

Macros

#define MPU_CONFIG_PRIV_DEFAULT   4
 
#define MPU_CONFIG_HARDFLT_NMI   2
 
#define MPU_CONFIG_NONE   0
 
#define MPU_RGN_SIZE_32B   (4 << 1)
 
#define MPU_RGN_SIZE_64B   (5 << 1)
 
#define MPU_RGN_SIZE_128B   (6 << 1)
 
#define MPU_RGN_SIZE_256B   (7 << 1)
 
#define MPU_RGN_SIZE_512B   (8 << 1)
 
#define MPU_RGN_SIZE_1K   (9 << 1)
 
#define MPU_RGN_SIZE_2K   (10 << 1)
 
#define MPU_RGN_SIZE_4K   (11 << 1)
 
#define MPU_RGN_SIZE_8K   (12 << 1)
 
#define MPU_RGN_SIZE_16K   (13 << 1)
 
#define MPU_RGN_SIZE_32K   (14 << 1)
 
#define MPU_RGN_SIZE_64K   (15 << 1)
 
#define MPU_RGN_SIZE_128K   (16 << 1)
 
#define MPU_RGN_SIZE_256K   (17 << 1)
 
#define MPU_RGN_SIZE_512K   (18 << 1)
 
#define MPU_RGN_SIZE_1M   (19 << 1)
 
#define MPU_RGN_SIZE_2M   (20 << 1)
 
#define MPU_RGN_SIZE_4M   (21 << 1)
 
#define MPU_RGN_SIZE_8M   (22 << 1)
 
#define MPU_RGN_SIZE_16M   (23 << 1)
 
#define MPU_RGN_SIZE_32M   (24 << 1)
 
#define MPU_RGN_SIZE_64M   (25 << 1)
 
#define MPU_RGN_SIZE_128M   (26 << 1)
 
#define MPU_RGN_SIZE_256M   (27 << 1)
 
#define MPU_RGN_SIZE_512M   (28 << 1)
 
#define MPU_RGN_SIZE_1G   (29 << 1)
 
#define MPU_RGN_SIZE_2G   (30 << 1)
 
#define MPU_RGN_SIZE_4G   (31 << 1)
 
#define MPU_RGN_PERM_EXEC   0x00000000
 
#define MPU_RGN_PERM_NOEXEC   0x10000000
 
#define MPU_RGN_PERM_PRV_NO_USR_NO   0x00000000
 
#define MPU_RGN_PERM_PRV_RW_USR_NO   0x01000000
 
#define MPU_RGN_PERM_PRV_RW_USR_RO   0x02000000
 
#define MPU_RGN_PERM_PRV_RW_USR_RW   0x03000000
 
#define MPU_RGN_PERM_PRV_RO_USR_NO   0x05000000
 
#define MPU_RGN_PERM_PRV_RO_USR_RO   0x06000000
 
#define MPU_SUB_RGN_DISABLE_0   0x00000100
 
#define MPU_SUB_RGN_DISABLE_1   0x00000200
 
#define MPU_SUB_RGN_DISABLE_2   0x00000400
 
#define MPU_SUB_RGN_DISABLE_3   0x00000800
 
#define MPU_SUB_RGN_DISABLE_4   0x00001000
 
#define MPU_SUB_RGN_DISABLE_5   0x00002000
 
#define MPU_SUB_RGN_DISABLE_6   0x00004000
 
#define MPU_SUB_RGN_DISABLE_7   0x00008000
 
#define MPU_RGN_ENABLE   1
 
#define MPU_RGN_DISABLE   0
 

Functions

void MPUEnable (uint32_t ui32MPUConfig)
 
void MPUDisable (void)
 
uint32_t MPURegionCountGet (void)
 
void MPURegionEnable (uint32_t ui32Region)
 
void MPURegionDisable (uint32_t ui32Region)
 
void MPURegionSet (uint32_t ui32Region, uint32_t ui32Addr, uint32_t ui32Flags)
 
void MPURegionGet (uint32_t ui32Region, uint32_t *pui32Addr, uint32_t *pui32Flags)
 
void MPUIntRegister (void(*pfnHandler)(void))
 
void MPUIntUnregister (void)
 

Macro Definition Documentation

§ MPU_CONFIG_PRIV_DEFAULT

#define MPU_CONFIG_PRIV_DEFAULT   4

Referenced by MPUEnable().

§ MPU_CONFIG_HARDFLT_NMI

#define MPU_CONFIG_HARDFLT_NMI   2

Referenced by MPUEnable().

§ MPU_CONFIG_NONE

#define MPU_CONFIG_NONE   0

§ MPU_RGN_SIZE_32B

#define MPU_RGN_SIZE_32B   (4 << 1)

§ MPU_RGN_SIZE_64B

#define MPU_RGN_SIZE_64B   (5 << 1)

§ MPU_RGN_SIZE_128B

#define MPU_RGN_SIZE_128B   (6 << 1)

§ MPU_RGN_SIZE_256B

#define MPU_RGN_SIZE_256B   (7 << 1)

§ MPU_RGN_SIZE_512B

#define MPU_RGN_SIZE_512B   (8 << 1)

§ MPU_RGN_SIZE_1K

#define MPU_RGN_SIZE_1K   (9 << 1)

§ MPU_RGN_SIZE_2K

#define MPU_RGN_SIZE_2K   (10 << 1)

§ MPU_RGN_SIZE_4K

#define MPU_RGN_SIZE_4K   (11 << 1)

§ MPU_RGN_SIZE_8K

#define MPU_RGN_SIZE_8K   (12 << 1)

§ MPU_RGN_SIZE_16K

#define MPU_RGN_SIZE_16K   (13 << 1)

§ MPU_RGN_SIZE_32K

#define MPU_RGN_SIZE_32K   (14 << 1)

§ MPU_RGN_SIZE_64K

#define MPU_RGN_SIZE_64K   (15 << 1)

§ MPU_RGN_SIZE_128K

#define MPU_RGN_SIZE_128K   (16 << 1)

§ MPU_RGN_SIZE_256K

#define MPU_RGN_SIZE_256K   (17 << 1)

§ MPU_RGN_SIZE_512K

#define MPU_RGN_SIZE_512K   (18 << 1)

§ MPU_RGN_SIZE_1M

#define MPU_RGN_SIZE_1M   (19 << 1)

§ MPU_RGN_SIZE_2M

#define MPU_RGN_SIZE_2M   (20 << 1)

§ MPU_RGN_SIZE_4M

#define MPU_RGN_SIZE_4M   (21 << 1)

§ MPU_RGN_SIZE_8M

#define MPU_RGN_SIZE_8M   (22 << 1)

§ MPU_RGN_SIZE_16M

#define MPU_RGN_SIZE_16M   (23 << 1)

§ MPU_RGN_SIZE_32M

#define MPU_RGN_SIZE_32M   (24 << 1)

§ MPU_RGN_SIZE_64M

#define MPU_RGN_SIZE_64M   (25 << 1)

§ MPU_RGN_SIZE_128M

#define MPU_RGN_SIZE_128M   (26 << 1)

§ MPU_RGN_SIZE_256M

#define MPU_RGN_SIZE_256M   (27 << 1)

§ MPU_RGN_SIZE_512M

#define MPU_RGN_SIZE_512M   (28 << 1)

§ MPU_RGN_SIZE_1G

#define MPU_RGN_SIZE_1G   (29 << 1)

§ MPU_RGN_SIZE_2G

#define MPU_RGN_SIZE_2G   (30 << 1)

§ MPU_RGN_SIZE_4G

#define MPU_RGN_SIZE_4G   (31 << 1)

§ MPU_RGN_PERM_EXEC

#define MPU_RGN_PERM_EXEC   0x00000000

§ MPU_RGN_PERM_NOEXEC

#define MPU_RGN_PERM_NOEXEC   0x10000000

§ MPU_RGN_PERM_PRV_NO_USR_NO

#define MPU_RGN_PERM_PRV_NO_USR_NO   0x00000000

§ MPU_RGN_PERM_PRV_RW_USR_NO

#define MPU_RGN_PERM_PRV_RW_USR_NO   0x01000000

§ MPU_RGN_PERM_PRV_RW_USR_RO

#define MPU_RGN_PERM_PRV_RW_USR_RO   0x02000000

§ MPU_RGN_PERM_PRV_RW_USR_RW

#define MPU_RGN_PERM_PRV_RW_USR_RW   0x03000000

§ MPU_RGN_PERM_PRV_RO_USR_NO

#define MPU_RGN_PERM_PRV_RO_USR_NO   0x05000000

§ MPU_RGN_PERM_PRV_RO_USR_RO

#define MPU_RGN_PERM_PRV_RO_USR_RO   0x06000000

§ MPU_SUB_RGN_DISABLE_0

#define MPU_SUB_RGN_DISABLE_0   0x00000100

§ MPU_SUB_RGN_DISABLE_1

#define MPU_SUB_RGN_DISABLE_1   0x00000200

§ MPU_SUB_RGN_DISABLE_2

#define MPU_SUB_RGN_DISABLE_2   0x00000400

§ MPU_SUB_RGN_DISABLE_3

#define MPU_SUB_RGN_DISABLE_3   0x00000800

§ MPU_SUB_RGN_DISABLE_4

#define MPU_SUB_RGN_DISABLE_4   0x00001000

§ MPU_SUB_RGN_DISABLE_5

#define MPU_SUB_RGN_DISABLE_5   0x00002000

§ MPU_SUB_RGN_DISABLE_6

#define MPU_SUB_RGN_DISABLE_6   0x00004000

§ MPU_SUB_RGN_DISABLE_7

#define MPU_SUB_RGN_DISABLE_7   0x00008000

§ MPU_RGN_ENABLE

#define MPU_RGN_ENABLE   1

§ MPU_RGN_DISABLE

#define MPU_RGN_DISABLE   0
Copyright 2017, Texas Instruments Incorporated