File tree Expand file tree Collapse file tree 2 files changed +20
-20
lines changed Expand file tree Collapse file tree 2 files changed +20
-20
lines changed Original file line number Diff line number Diff line change @@ -195,13 +195,18 @@ void mbed_mpu_free()
195
195
__ISB ();
196
196
}
197
197
198
+ static void enable_region (bool enable , uint32_t region )
199
+ {
200
+ MPU -> RNR = region ;
201
+ MPU -> RASR = (MPU -> RASR & ~MPU_RASR_ENABLE_Msk ) | (enable << MPU_RASR_ENABLE_Pos );
202
+ }
203
+
198
204
void mbed_mpu_enable_rom_wn (bool enable )
199
205
{
200
206
// Flush memory writes before configuring the MPU.
201
207
__DMB ();
202
208
203
- MPU -> RNR = 0 ;
204
- MPU -> RASR = (MPU -> RASR & ~MPU_RASR_ENABLE_Msk ) | (enable ? MPU_RASR_ENABLE_Msk : 0 );
209
+ enable_region (enable , 0 );
205
210
206
211
// Ensure changes take effect
207
212
__DSB ();
@@ -213,14 +218,9 @@ void mbed_mpu_enable_ram_xn(bool enable)
213
218
// Flush memory writes before configuring the MPU.
214
219
__DMB ();
215
220
216
- MPU -> RNR = 1 ;
217
- MPU -> RASR = (MPU -> RASR & ~MPU_RASR_ENABLE_Msk ) | (enable ? MPU_RASR_ENABLE_Msk : 0 );
218
-
219
- MPU -> RNR = 2 ;
220
- MPU -> RASR = (MPU -> RASR & ~MPU_RASR_ENABLE_Msk ) | (enable ? MPU_RASR_ENABLE_Msk : 0 );
221
-
222
- MPU -> RNR = 3 ;
223
- MPU -> RASR = (MPU -> RASR & ~MPU_RASR_ENABLE_Msk ) | (enable ? MPU_RASR_ENABLE_Msk : 0 );
221
+ for (uint32_t region = 1 ; region <= 3 ; region ++ ) {
222
+ enable_region (enable , region );
223
+ }
224
224
225
225
// Ensure changes take effect
226
226
__DSB ();
Original file line number Diff line number Diff line change @@ -144,13 +144,18 @@ void mbed_mpu_free()
144
144
__ISB ();
145
145
}
146
146
147
+ static void enable_region (bool enable , uint32_t region )
148
+ {
149
+ MPU -> RNR = region ;
150
+ MPU -> RLAR = (MPU -> RLAR & ~MPU_RLAR_EN_Msk ) | (enable << MPU_RLAR_EN_Pos );
151
+ }
152
+
147
153
void mbed_mpu_enable_rom_wn (bool enable )
148
154
{
149
155
// Flush memory writes before configuring the MPU.
150
156
__DMB ();
151
157
152
- MPU -> RNR = 0 ;
153
- MPU -> RLAR = (MPU -> RLAR & ~MPU_RLAR_EN_Msk ) | (enable ? MPU_RLAR_EN_Msk : 0 );
158
+ enable_region (enable , 0 );
154
159
155
160
// Ensure changes take effect
156
161
__DSB ();
@@ -162,14 +167,9 @@ void mbed_mpu_enable_ram_xn(bool enable)
162
167
// Flush memory writes before configuring the MPU.
163
168
__DMB ();
164
169
165
- MPU -> RNR = 1 ;
166
- MPU -> RLAR = (MPU -> RLAR & ~MPU_RLAR_EN_Msk ) | (enable ? MPU_RLAR_EN_Msk : 0 );
167
-
168
- MPU -> RNR = 2 ;
169
- MPU -> RLAR = (MPU -> RLAR & ~MPU_RLAR_EN_Msk ) | (enable ? MPU_RLAR_EN_Msk : 0 );
170
-
171
- MPU -> RNR = 3 ;
172
- MPU -> RLAR = (MPU -> RLAR & ~MPU_RLAR_EN_Msk ) | (enable ? MPU_RLAR_EN_Msk : 0 );
170
+ for (uint32_t region = 1 ; region <= 3 ; region ++ ) {
171
+ enable_region (enable , region );
172
+ }
173
173
174
174
// Ensure changes take effect
175
175
__DSB ();
You can’t perform that action at this time.
0 commit comments