EE445M RTOS
Taken at the University of Texas Spring 2015
mpu.h File Reference
This graph shows which files directly or indirectly include this file:

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

#define MPU_CONFIG_HARDFLT_NMI   2

Definition at line 60 of file mpu.h.

Referenced by MPUEnable().

#define MPU_CONFIG_NONE   0

Definition at line 61 of file mpu.h.

#define MPU_CONFIG_PRIV_DEFAULT   4

Definition at line 59 of file mpu.h.

Referenced by MPUEnable().

#define MPU_RGN_DISABLE   0

Definition at line 134 of file mpu.h.

#define MPU_RGN_ENABLE   1

Definition at line 133 of file mpu.h.

#define MPU_RGN_PERM_EXEC   0x00000000

Definition at line 105 of file mpu.h.

#define MPU_RGN_PERM_NOEXEC   0x10000000

Definition at line 106 of file mpu.h.

#define MPU_RGN_PERM_PRV_NO_USR_NO   0x00000000

Definition at line 107 of file mpu.h.

#define MPU_RGN_PERM_PRV_RO_USR_NO   0x05000000

Definition at line 111 of file mpu.h.

#define MPU_RGN_PERM_PRV_RO_USR_RO   0x06000000

Definition at line 112 of file mpu.h.

#define MPU_RGN_PERM_PRV_RW_USR_NO   0x01000000

Definition at line 108 of file mpu.h.

#define MPU_RGN_PERM_PRV_RW_USR_RO   0x02000000

Definition at line 109 of file mpu.h.

#define MPU_RGN_PERM_PRV_RW_USR_RW   0x03000000

Definition at line 110 of file mpu.h.

#define MPU_RGN_SIZE_128B   (6 << 1)

Definition at line 70 of file mpu.h.

#define MPU_RGN_SIZE_128K   (16 << 1)

Definition at line 81 of file mpu.h.

#define MPU_RGN_SIZE_128M   (26 << 1)

Definition at line 92 of file mpu.h.

#define MPU_RGN_SIZE_16K   (13 << 1)

Definition at line 78 of file mpu.h.

#define MPU_RGN_SIZE_16M   (23 << 1)

Definition at line 89 of file mpu.h.

#define MPU_RGN_SIZE_1G   (29 << 1)

Definition at line 96 of file mpu.h.

#define MPU_RGN_SIZE_1K   (9 << 1)

Definition at line 74 of file mpu.h.

#define MPU_RGN_SIZE_1M   (19 << 1)

Definition at line 85 of file mpu.h.

#define MPU_RGN_SIZE_256B   (7 << 1)

Definition at line 71 of file mpu.h.

#define MPU_RGN_SIZE_256K   (17 << 1)

Definition at line 82 of file mpu.h.

#define MPU_RGN_SIZE_256M   (27 << 1)

Definition at line 93 of file mpu.h.

#define MPU_RGN_SIZE_2G   (30 << 1)

Definition at line 97 of file mpu.h.

#define MPU_RGN_SIZE_2K   (10 << 1)

Definition at line 75 of file mpu.h.

#define MPU_RGN_SIZE_2M   (20 << 1)

Definition at line 86 of file mpu.h.

#define MPU_RGN_SIZE_32B   (4 << 1)

Definition at line 68 of file mpu.h.

#define MPU_RGN_SIZE_32K   (14 << 1)

Definition at line 79 of file mpu.h.

#define MPU_RGN_SIZE_32M   (24 << 1)

Definition at line 90 of file mpu.h.

#define MPU_RGN_SIZE_4G   (31 << 1)

Definition at line 98 of file mpu.h.

#define MPU_RGN_SIZE_4K   (11 << 1)

Definition at line 76 of file mpu.h.

#define MPU_RGN_SIZE_4M   (21 << 1)

Definition at line 87 of file mpu.h.

#define MPU_RGN_SIZE_512B   (8 << 1)

Definition at line 72 of file mpu.h.

#define MPU_RGN_SIZE_512K   (18 << 1)

Definition at line 83 of file mpu.h.

#define MPU_RGN_SIZE_512M   (28 << 1)

Definition at line 94 of file mpu.h.

#define MPU_RGN_SIZE_64B   (5 << 1)

Definition at line 69 of file mpu.h.

#define MPU_RGN_SIZE_64K   (15 << 1)

Definition at line 80 of file mpu.h.

#define MPU_RGN_SIZE_64M   (25 << 1)

Definition at line 91 of file mpu.h.

#define MPU_RGN_SIZE_8K   (12 << 1)

Definition at line 77 of file mpu.h.

#define MPU_RGN_SIZE_8M   (22 << 1)

Definition at line 88 of file mpu.h.

#define MPU_SUB_RGN_DISABLE_0   0x00000100

Definition at line 119 of file mpu.h.

#define MPU_SUB_RGN_DISABLE_1   0x00000200

Definition at line 120 of file mpu.h.

#define MPU_SUB_RGN_DISABLE_2   0x00000400

Definition at line 121 of file mpu.h.

#define MPU_SUB_RGN_DISABLE_3   0x00000800

Definition at line 122 of file mpu.h.

#define MPU_SUB_RGN_DISABLE_4   0x00001000

Definition at line 123 of file mpu.h.

#define MPU_SUB_RGN_DISABLE_5   0x00002000

Definition at line 124 of file mpu.h.

#define MPU_SUB_RGN_DISABLE_6   0x00004000

Definition at line 125 of file mpu.h.

#define MPU_SUB_RGN_DISABLE_7   0x00008000

Definition at line 126 of file mpu.h.