Слияние кода завершено, страница обновится автоматически
#ifndef __BSP_MPU_H__
#define __BSP_MPU_H__
#include "stm32h7xx_hal.h"
//定义MPU->RASR寄存器AP[26:24]位的设置值
#define MPU_1KB MPU_REGION_SIZE_1KB
#define MPU_2KB MPU_REGION_SIZE_2KB
#define MPU_4KB MPU_REGION_SIZE_4KB
#define MPU_8KB MPU_REGION_SIZE_8KB
#define MPU_16KB MPU_REGION_SIZE_16KB
#define MPU_32KB MPU_REGION_SIZE_32KB
#define MPU_64KB MPU_REGION_SIZE_64KB
#define MPU_128KB MPU_REGION_SIZE_128KB
#define MPU_256KB MPU_REGION_SIZE_256KB
#define MPU_512KB MPU_REGION_SIZE_512KB
#define MPU_1MB MPU_REGION_SIZE_1MB
#define MPU_2MB MPU_REGION_SIZE_2MB
#define MPU_4MB MPU_REGION_SIZE_4MB
#define MPU_8MB MPU_REGION_SIZE_8MB
#define MPU_16MB MPU_REGION_SIZE_16MB
#define MPU_32MB MPU_REGION_SIZE_32MB
#define MPU_64MB MPU_REGION_SIZE_64MB
#define MPU_128MB MPU_REGION_SIZE_128MB
#define MPU_256MB MPU_REGION_SIZE_256MB
#define MPU_512MB MPU_REGION_SIZE_512MB
#define MPU_NO_ACCESS ((uint8_t)0x00U)
#define MPU_PRIV_RW ((uint8_t)0x01U)
#define MPU_PRIV_RW_URO ((uint8_t)0x02U)
#define MPU_FULL_ACCESS ((uint8_t)0x03U)
#define MPU_PRIV_RO ((uint8_t)0x05U)
#define MPU_PRIV_RO_URO ((uint8_t)0x06U)
/*属性为Normal,cache的属性为 write-back,即仅更新cache,
*在合适的时候(由cache策略决定或者软件强制更新)将数据更新到相应的SRAM空间
*特别注意:如果要数据立即更新,写之后要SCB_CleanDCache,读数据时要SCB_InvalidateDCache
*/
#define MPU_Normal_WB 0x00
/*属性为Normal,cache的属性为 write-back,即仅更新cache,
*在合适的时候(由cache策略决定或者软件强制更新)将数据更新到相应的SRAM空间
*特别注意:如果要数据立即更新,写之后要SCB_CleanDCache,读数据时要SCB_InvalidateDCache
*/
#define MPU_Normal_WBWARA 0x01 //外部和内部写入无写入分配
/*属性为 normal,cache的属性为 Write-through,即更新cache的同时,
*将数据同时写入相应的物理地址空间
*特别注意:如果要数据立即更新,可以直接往内存写数据,但读数据时要SCB_InvalidateDCache
*/
#define MPU_Normal_WT 0x02
/*属性为 normal,禁用共享,禁用缓存
*/
#define MPU_Normal_NonCache 0x03
/*属性为 Device,共享设置无效,禁用共享,禁用缓存
*/
#define MPU_Device_NonCache 0x04
void Board_MPU_Config(uint8_t Region ,uint8_t Mode,uint32_t Address,uint32_t Size);
#endif
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарий ( 0 )