/* Demo includes. */\r
#include "mpu_demo.h"\r
\r
-#if defined( __ARMCC_VERSION )\r
- extern uint32_t Image$$ER_IROM_FREERTOS_SYSTEM_CALLS$$Base;\r
- extern uint32_t Image$$ER_IROM_FREERTOS_SYSTEM_CALLS$$Limit;\r
-\r
- /* Memory map needed for MPU setup. Must must match the one defined in\r
- * the scatter-loading file (MPUDemo.sct). */\r
- const uint32_t * __FLASH_segment_start__ = ( uint32_t * ) 0x08000000;\r
- const uint32_t * __FLASH_segment_end__ = ( uint32_t * ) 0x08100000;\r
- const uint32_t * __SRAM_segment_start__ = ( uint32_t * ) 0x20000000;\r
- const uint32_t * __SRAM_segment_end__ = ( uint32_t * ) 0x20018000;\r
-\r
- const uint32_t * __privileged_functions_start__ = ( uint32_t * ) 0x08000000;\r
- const uint32_t * __privileged_functions_end__ = ( uint32_t * ) 0x08008000;\r
- const uint32_t * __privileged_data_start__ = ( uint32_t * ) 0x20000000;\r
- const uint32_t * __privileged_data_end__ = ( uint32_t * ) 0x20000400;\r
-\r
- const uint32_t * __syscalls_flash_start__ = ( uint32_t * ) &( Image$$ER_IROM_FREERTOS_SYSTEM_CALLS$$Base );\r
- const uint32_t * __syscalls_flash_end__ = ( uint32_t * ) &( Image$$ER_IROM_FREERTOS_SYSTEM_CALLS$$Limit );\r
-#endif /* #if defined( __ARMCC_VERSION ) */\r
-/*-----------------------------------------------------------*/\r
-\r
-/**\r
- * @brief Mem fault handler.\r
- */\r
-void MemManage_Handler( void ) __attribute__ (( naked ));\r
-/*-----------------------------------------------------------*/\r
-\r
void app_main( void )\r
{\r
/* Start the MPU demo. */\r
*pulTimerTaskStackSize = configTIMER_TASK_STACK_DEPTH;\r
}\r
/*-----------------------------------------------------------*/\r
-\r
-void MemManage_Handler( void )\r
-{\r
- __asm volatile\r
- (\r
- " tst lr, #4 \n"\r
- " ite eq \n"\r
- " mrseq r0, msp \n"\r
- " mrsne r0, psp \n"\r
- " ldr r1, handler_address_const \n"\r
- " bx r1 \n"\r
- " \n"\r
- " handler_address_const: .word vHandleMemoryFault \n"\r
- );\r
-}\r
-/*-----------------------------------------------------------*/\r