#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