|
|
@ -91,6 +91,14 @@ __WEAK int main(void) |
|
|
/* MPU Configuration--------------------------------------------------------*/ |
|
|
/* MPU Configuration--------------------------------------------------------*/ |
|
|
MPU_Config(); |
|
|
MPU_Config(); |
|
|
|
|
|
|
|
|
|
|
|
/* Enable the CPU Cache */ |
|
|
|
|
|
|
|
|
|
|
|
/* Enable I-Cache---------------------------------------------------------*/ |
|
|
|
|
|
SCB_EnableICache(); |
|
|
|
|
|
|
|
|
|
|
|
/* Enable D-Cache---------------------------------------------------------*/ |
|
|
|
|
|
SCB_EnableDCache(); |
|
|
|
|
|
|
|
|
/* MCU Configuration--------------------------------------------------------*/ |
|
|
/* MCU Configuration--------------------------------------------------------*/ |
|
|
|
|
|
|
|
|
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */ |
|
|
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */ |
|
|
@ -534,15 +542,46 @@ void MPU_Config(void) |
|
|
*/ |
|
|
*/ |
|
|
MPU_InitStruct.Enable = MPU_REGION_ENABLE; |
|
|
MPU_InitStruct.Enable = MPU_REGION_ENABLE; |
|
|
MPU_InitStruct.Number = MPU_REGION_NUMBER0; |
|
|
MPU_InitStruct.Number = MPU_REGION_NUMBER0; |
|
|
MPU_InitStruct.BaseAddress = 0x0; |
|
|
MPU_InitStruct.BaseAddress = 0x24000000; |
|
|
MPU_InitStruct.Size = MPU_REGION_SIZE_4GB; |
|
|
MPU_InitStruct.Size = MPU_REGION_SIZE_512KB; |
|
|
MPU_InitStruct.SubRegionDisable = 0x87; |
|
|
MPU_InitStruct.SubRegionDisable = 0x0; |
|
|
MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL0; |
|
|
MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL0; |
|
|
MPU_InitStruct.AccessPermission = MPU_REGION_NO_ACCESS; |
|
|
MPU_InitStruct.AccessPermission = MPU_REGION_NO_ACCESS; |
|
|
MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_DISABLE; |
|
|
MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_ENABLE; |
|
|
MPU_InitStruct.IsShareable = MPU_ACCESS_SHAREABLE; |
|
|
MPU_InitStruct.IsShareable = MPU_ACCESS_NOT_SHAREABLE; |
|
|
MPU_InitStruct.IsCacheable = MPU_ACCESS_NOT_CACHEABLE; |
|
|
MPU_InitStruct.IsCacheable = MPU_ACCESS_CACHEABLE; |
|
|
MPU_InitStruct.IsBufferable = MPU_ACCESS_NOT_BUFFERABLE; |
|
|
MPU_InitStruct.IsBufferable = MPU_ACCESS_BUFFERABLE; |
|
|
|
|
|
|
|
|
|
|
|
HAL_MPU_ConfigRegion(&MPU_InitStruct); |
|
|
|
|
|
|
|
|
|
|
|
/** Initializes and configures the Region and the memory to be protected
|
|
|
|
|
|
*/ |
|
|
|
|
|
MPU_InitStruct.Number = MPU_REGION_NUMBER1; |
|
|
|
|
|
MPU_InitStruct.BaseAddress = 0x30000000; |
|
|
|
|
|
MPU_InitStruct.Size = MPU_REGION_SIZE_128KB; |
|
|
|
|
|
|
|
|
|
|
|
HAL_MPU_ConfigRegion(&MPU_InitStruct); |
|
|
|
|
|
|
|
|
|
|
|
/** Initializes and configures the Region and the memory to be protected
|
|
|
|
|
|
*/ |
|
|
|
|
|
MPU_InitStruct.Number = MPU_REGION_NUMBER2; |
|
|
|
|
|
MPU_InitStruct.BaseAddress = 0x30020000; |
|
|
|
|
|
|
|
|
|
|
|
HAL_MPU_ConfigRegion(&MPU_InitStruct); |
|
|
|
|
|
|
|
|
|
|
|
/** Initializes and configures the Region and the memory to be protected
|
|
|
|
|
|
*/ |
|
|
|
|
|
MPU_InitStruct.Number = MPU_REGION_NUMBER3; |
|
|
|
|
|
MPU_InitStruct.BaseAddress = 0x0; |
|
|
|
|
|
MPU_InitStruct.Size = MPU_REGION_SIZE_32KB; |
|
|
|
|
|
|
|
|
|
|
|
HAL_MPU_ConfigRegion(&MPU_InitStruct); |
|
|
|
|
|
|
|
|
|
|
|
/** Initializes and configures the Region and the memory to be protected
|
|
|
|
|
|
*/ |
|
|
|
|
|
MPU_InitStruct.Number = MPU_REGION_NUMBER4; |
|
|
|
|
|
MPU_InitStruct.BaseAddress = 0xC0000000; |
|
|
|
|
|
MPU_InitStruct.Size = MPU_REGION_SIZE_32MB; |
|
|
|
|
|
|
|
|
HAL_MPU_ConfigRegion(&MPU_InitStruct); |
|
|
HAL_MPU_ConfigRegion(&MPU_InitStruct); |
|
|
/* Enables the MPU */ |
|
|
/* Enables the MPU */ |
|
|
|