OpenMPTL - ARM Cortex (common)
C++ Microprocessor Template Library
arch
arm
cortex
common
reg
mpu.hpp
Go to the documentation of this file.
1
/*
2
* OpenMPTL - C++ Microprocessor Template Library
3
*
4
* Copyright (C) 2012-2017 Axel Burri <axel@tty0.ch>
5
*
6
* This program is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation; either version 3 of the License, or
9
* (at your option) any later version.
10
*
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with this program. If not, see <http://www.gnu.org/licenses/>.
18
*
19
*/
20
21
#ifndef ARM_CORTEX_COMMON_REG_MPU_HPP_INCLUDED
22
#define ARM_CORTEX_COMMON_REG_MPU_HPP_INCLUDED
23
24
#include <
register.hpp
>
25
26
namespace
mptl
{
27
28
/**
29
* MPU (Memory Protection Unit) Register
30
*
31
* For details, see "Cortex-M3 Technical Reference Manual":
32
* <http://infocenter.arm.com/help/topic/com.arm.doc.subset.cortexm.m3/index.html>
33
*/
34
struct
MPU
35
{
36
using
TYPE
=
reg< uint32_t, 0xE000ED90, ro, 0x00000800 >
;
/**< MPU Type Register */
37
using
CTRL
=
reg< uint32_t, 0xE000ED94, rw >
;
/**< MPU Control Register */
38
using
RNR
=
reg< uint32_t, 0xE000ED98, rw >
;
/**< MPU Region Number Register */
39
using
RBAR
=
reg< uint32_t, 0xE000ED9C, rw >
;
/**< MPU Region Base Address Register */
40
using
RASR
=
reg< uint32_t, 0xE000EDA0, rw >
;
/**< MPU Region Attribute and Size Register */
41
using
RBAR_A1
=
reg< uint32_t, 0xE000EDA4, rw >
;
/**< MPU alias registers */
42
using
RASR_A1
=
reg< uint32_t, 0xE000EDA8, rw >
;
/**< */
43
using
RBAR_A2
=
reg< uint32_t, 0xE000EDAC, rw >
;
/**< */
44
using
RASR_A2
=
reg< uint32_t, 0xE000EDB0, rw >
;
/**< */
45
using
RBAR_A3
=
reg< uint32_t, 0xE000EDB4, rw >
;
/**< */
46
using
RASR_A3
=
reg< uint32_t, 0xE000EDB8, rw >
;
/**< */
47
};
48
49
}
// namespace mptl
50
51
#endif // ARM_CORTEX_COMMON_REG_MPU_HPP_INCLUDED
mptl::MPU
MPU (Memory Protection Unit) Register.
Definition:
mpu.hpp:34
mptl::reg
mptl
register.hpp
Generated by
1.8.13