Merge remote-tracking branch 'upstream/master' into abo_RTH_sanity_fix
[inav.git] / src / main / drivers / memprot.h
blob4d6b07c24a85319a78dc522e02c4dac7818a2946
1 /*
2 * This file is part of Cleanflight and Betaflight.
4 * Cleanflight and Betaflight are free software. You can redistribute
5 * this software and/or modify this software under the terms of the
6 * GNU General Public License as published by the Free Software
7 * Foundation, either version 3 of the License, or (at your option)
8 * any later version.
10 * Cleanflight and Betaflight are distributed in the hope that they
11 * will be useful, but WITHOUT ANY WARRANTY; without even the implied
12 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13 * See the GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this software.
18 * If not, see <http://www.gnu.org/licenses/>.
21 #pragma once
23 typedef struct mpuRegion_s {
24 uint32_t start;
25 uint32_t end; // Zero if determined by size member (MPU_REGION_SIZE_xxx)
26 uint8_t size; // Zero if determined from linker symbols
27 uint8_t perm;
28 uint8_t exec;
29 uint8_t shareable;
30 uint8_t cacheable;
31 uint8_t bufferable;
32 } mpuRegion_t;
34 extern mpuRegion_t mpuRegions[];
35 extern unsigned mpuRegionCount;
37 void memProtReset(void);
38 void memProtConfigure(mpuRegion_t *mpuRegions, unsigned regionCount);