]> git.sur5r.net Git - freertos/commitdiff
Add IAR MPU project for STM32L475 Discovery Kit IoT Node
authorgaurav-aws <gaurav-aws@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Sat, 21 Dec 2019 00:04:04 +0000 (00:04 +0000)
committergaurav-aws <gaurav-aws@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Sat, 21 Dec 2019 00:04:04 +0000 (00:04 +0000)
git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@2771 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

12 files changed:
FreeRTOS/Demo/CORTEX_MPU_STM32L4_Discovery_Keil_STM32Cube/Demo/app_main.c
FreeRTOS/Demo/CORTEX_MPU_STM32L4_Discovery_Keil_STM32Cube/Demo/mpu_demo.c
FreeRTOS/Demo/CORTEX_MPU_STM32L4_Discovery_Keil_STM32Cube/Projects/IAR/MPUDemo.ewd [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_MPU_STM32L4_Discovery_Keil_STM32Cube/Projects/IAR/MPUDemo.ewp [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_MPU_STM32L4_Discovery_Keil_STM32Cube/Projects/IAR/MPUDemo.eww [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_MPU_STM32L4_Discovery_Keil_STM32Cube/Projects/IAR/memfault_handler.s [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_MPU_STM32L4_Discovery_Keil_STM32Cube/Projects/IAR/startup_stm32l475xx.s [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_MPU_STM32L4_Discovery_Keil_STM32Cube/Projects/IAR/stm32l475xx_flash.icf [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_MPU_STM32L4_Discovery_Keil_STM32Cube/Projects/Keil/MPUDemo.uvoptx
FreeRTOS/Demo/CORTEX_MPU_STM32L4_Discovery_Keil_STM32Cube/Projects/Keil/MPUDemo.uvprojx
FreeRTOS/Demo/CORTEX_MPU_STM32L4_Discovery_Keil_STM32Cube/Projects/Keil/memfault_handler.c [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_MPU_STM32L4_Discovery_Keil_STM32Cube/Projects/STM32Cube/Startup/memfault_handler.c [new file with mode: 0644]

index 84f5c97ad547760328dd476efaad2dc23bc43f1a..81d6f5f69ad2753ba46a7ba5e98a5cfec27a1b51 100644 (file)
 /* 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
@@ -142,19 +115,3 @@ static StackType_t uxTimerTaskStack[ configTIMER_TASK_STACK_DEPTH ];
        *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
index 9f4c12a356a417955aaa0e961ecd927177c74877..039439a914bfdb5cfd10906f7e21845ccefe5eb9 100644 (file)
@@ -60,7 +60,7 @@ static uint8_t ucSharedMemory[ SHARED_MEMORY_SIZE ] __attribute__( ( aligned( SH
  * @note We are declaring a region of 32 bytes even though we need only one.\r
  * The reason is that the smallest supported MPU region size is 32 bytes.\r
  */\r
-static uint8_t ucROTaskFaultTracker[ SHARED_MEMORY_SIZE ] __attribute__( ( aligned( SHARED_MEMORY_SIZE ) ) ) = { 0 };\r
+static volatile uint8_t ucROTaskFaultTracker[ SHARED_MEMORY_SIZE ] __attribute__( ( aligned( SHARED_MEMORY_SIZE ) ) ) = { 0 };\r
 /*-----------------------------------------------------------*/\r
 \r
 /**\r
@@ -209,9 +209,9 @@ TaskParameters_t xROAccessTaskParameters =
        .uxPriority             = tskIDLE_PRIORITY,\r
        .puxStackBuffer = xROAccessTaskStack,\r
        .xRegions               =       {\r
-                                                       { ucSharedMemory,               SHARED_MEMORY_SIZE,     portMPU_REGION_PRIVILEGED_READ_WRITE_UNPRIV_READ_ONLY | portMPU_REGION_EXECUTE_NEVER    },\r
-                                                       { ucROTaskFaultTracker, SHARED_MEMORY_SIZE,     portMPU_REGION_READ_WRITE | portMPU_REGION_EXECUTE_NEVER},\r
-                                                       { 0,                                    0,                                      0                                                                                                               },\r
+                                                       { ucSharedMemory,                                       SHARED_MEMORY_SIZE,     portMPU_REGION_PRIVILEGED_READ_WRITE_UNPRIV_READ_ONLY | portMPU_REGION_EXECUTE_NEVER    },\r
+                                                       { ( void * ) ucROTaskFaultTracker,      SHARED_MEMORY_SIZE,     portMPU_REGION_READ_WRITE | portMPU_REGION_EXECUTE_NEVER                                                                },\r
+                                                       { 0,                                                            0,                                      0                                                                                                                                                                               },\r
                                                }\r
 };\r
 TaskParameters_t xRWAccessTaskParameters =\r
diff --git a/FreeRTOS/Demo/CORTEX_MPU_STM32L4_Discovery_Keil_STM32Cube/Projects/IAR/MPUDemo.ewd b/FreeRTOS/Demo/CORTEX_MPU_STM32L4_Discovery_Keil_STM32Cube/Projects/IAR/MPUDemo.ewd
new file mode 100644 (file)
index 0000000..f9ec12d
--- /dev/null
@@ -0,0 +1,1419 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<project>\r
+       <fileVersion>3</fileVersion>\r
+       <configuration>\r
+               <name>MPUDemo</name>\r
+               <toolchain>\r
+                       <name>ARM</name>\r
+               </toolchain>\r
+               <debug>1</debug>\r
+               <settings>\r
+                       <name>C-SPY</name>\r
+                       <archiveVersion>2</archiveVersion>\r
+                       <data>\r
+                               <version>29</version>\r
+                               <wantNonLocal>1</wantNonLocal>\r
+                               <debug>1</debug>\r
+                               <option>\r
+                                       <name>CInput</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CEndian</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CProcessor</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCVariant</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>MacOverride</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>MacFile</name>\r
+                                       <state />\r
+                               </option>\r
+                               <option>\r
+                                       <name>MemOverride</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>MemFile</name>\r
+                                       <state />\r
+                               </option>\r
+                               <option>\r
+                                       <name>RunToEnable</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>RunToName</name>\r
+                                       <state>main</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CExtraOptionsCheck</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CExtraOptions</name>\r
+                                       <state />\r
+                               </option>\r
+                               <option>\r
+                                       <name>CFpuProcessor</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCDDFArgumentProducer</name>\r
+                                       <state />\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCDownloadSuppressDownload</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCDownloadVerifyAll</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCProductVersion</name>\r
+                                       <state>7.10.3.6927</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCDynDriverList</name>\r
+                                       <state>STLINK_ID</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCLastSavedByProductVersion</name>\r
+                                       <state>8.20.1.14181</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>UseFlashLoader</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CLowLevel</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCBE8Slave</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>MacFile2</name>\r
+                                       <state />\r
+                               </option>\r
+                               <option>\r
+                                       <name>CDevice</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>FlashLoadersV3</name>\r
+                                       <state />\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCImagesSuppressCheck1</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCImagesPath1</name>\r
+                                       <state />\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCImagesSuppressCheck2</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCImagesPath2</name>\r
+                                       <state />\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCImagesSuppressCheck3</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCImagesPath3</name>\r
+                                       <state />\r
+                               </option>\r
+                               <option>\r
+                                       <name>OverrideDefFlashBoard</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCImagesOffset1</name>\r
+                                       <state />\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCImagesOffset2</name>\r
+                                       <state />\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCImagesOffset3</name>\r
+                                       <state />\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCImagesUse1</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCImagesUse2</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCImagesUse3</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCDeviceConfigMacroFile</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCDebuggerExtraOption</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCAllMTBOptions</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCMulticoreNrOfCores</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCMulticoreMaster</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCMulticorePort</name>\r
+                                       <state>53461</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCMulticoreWorkspace</name>\r
+                                       <state />\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCMulticoreSlaveProject</name>\r
+                                       <state />\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCMulticoreSlaveConfiguration</name>\r
+                                       <state />\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCDownloadExtraImage</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCAttachSlave</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>MassEraseBeforeFlashing</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                       </data>\r
+               </settings>\r
+               <settings>\r
+                       <name>ARMSIM_ID</name>\r
+                       <archiveVersion>2</archiveVersion>\r
+                       <data>\r
+                               <version>1</version>\r
+                               <wantNonLocal>1</wantNonLocal>\r
+                               <debug>1</debug>\r
+                               <option>\r
+                                       <name>OCSimDriverInfo</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCSimEnablePSP</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCSimPspOverrideConfig</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCSimPspConfigFile</name>\r
+                                       <state />\r
+                               </option>\r
+                       </data>\r
+               </settings>\r
+               <settings>\r
+                       <name>CADI_ID</name>\r
+                       <archiveVersion>2</archiveVersion>\r
+                       <data>\r
+                               <version>0</version>\r
+                               <wantNonLocal>1</wantNonLocal>\r
+                               <debug>1</debug>\r
+                               <option>\r
+                                       <name>CCadiMemory</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>Fast Model</name>\r
+                                       <state />\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCADILogFileCheck</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCADILogFileEditB</name>\r
+                                       <state>$PROJ_DIR$\cspycomm.log</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCDriverInfo</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                       </data>\r
+               </settings>\r
+               <settings>\r
+                       <name>CMSISDAP_ID</name>\r
+                       <archiveVersion>2</archiveVersion>\r
+                       <data>\r
+                               <version>4</version>\r
+                               <wantNonLocal>1</wantNonLocal>\r
+                               <debug>1</debug>\r
+                               <option>\r
+                                       <name>CatchSFERR</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCDriverInfo</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCIarProbeScriptFile</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CMSISDAPResetList</name>\r
+                                       <version>1</version>\r
+                                       <state>10</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CMSISDAPHWResetDuration</name>\r
+                                       <state>300</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CMSISDAPHWResetDelay</name>\r
+                                       <state>200</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CMSISDAPDoLogfile</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CMSISDAPLogFile</name>\r
+                                       <state>$PROJ_DIR$\cspycomm.log</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CMSISDAPInterfaceRadio</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CMSISDAPInterfaceCmdLine</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CMSISDAPMultiTargetEnable</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CMSISDAPMultiTarget</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CMSISDAPJtagSpeedList</name>\r
+                                       <version>0</version>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CMSISDAPBreakpointRadio</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CMSISDAPRestoreBreakpointsCheck</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CMSISDAPUpdateBreakpointsEdit</name>\r
+                                       <state>_call_main</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>RDICatchReset</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>RDICatchUndef</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>RDICatchSWI</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>RDICatchData</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>RDICatchPrefetch</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>RDICatchIRQ</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>RDICatchFIQ</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CatchCORERESET</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CatchMMERR</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CatchNOCPERR</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CatchCHKERR</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CatchSTATERR</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CatchBUSERR</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CatchINTERR</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CatchHARDERR</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CatchDummy</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CMSISDAPMultiCPUEnable</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CMSISDAPMultiCPUNumber</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCProbeCfgOverride</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCProbeConfig</name>\r
+                                       <state />\r
+                               </option>\r
+                               <option>\r
+                                       <name>CMSISDAPProbeConfigRadio</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CMSISDAPSelectedCPUBehaviour</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>ICpuName</name>\r
+                                       <state />\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCJetEmuParams</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCCMSISDAPUsbSerialNo</name>\r
+                                       <state />\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCCMSISDAPUsbSerialNoSelect</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                       </data>\r
+               </settings>\r
+               <settings>\r
+                       <name>GDBSERVER_ID</name>\r
+                       <archiveVersion>2</archiveVersion>\r
+                       <data>\r
+                               <version>0</version>\r
+                               <wantNonLocal>1</wantNonLocal>\r
+                               <debug>1</debug>\r
+                               <option>\r
+                                       <name>OCDriverInfo</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>TCPIP</name>\r
+                                       <state>aaa.bbb.ccc.ddd</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>DoLogfile</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>LogFile</name>\r
+                                       <state>$PROJ_DIR$\cspycomm.log</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCJTagBreakpointRadio</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCJTagDoUpdateBreakpoints</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCJTagUpdateBreakpoints</name>\r
+                                       <state>_call_main</state>\r
+                               </option>\r
+                       </data>\r
+               </settings>\r
+               <settings>\r
+                       <name>IJET_ID</name>\r
+                       <archiveVersion>2</archiveVersion>\r
+                       <data>\r
+                               <version>8</version>\r
+                               <wantNonLocal>1</wantNonLocal>\r
+                               <debug>1</debug>\r
+                               <option>\r
+                                       <name>CatchSFERR</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCDriverInfo</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCIarProbeScriptFile</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>IjetResetList</name>\r
+                                       <version>1</version>\r
+                                       <state>10</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>IjetHWResetDuration</name>\r
+                                       <state>300</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>IjetHWResetDelay</name>\r
+                                       <state>200</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>IjetPowerFromProbe</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>IjetPowerRadio</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>IjetDoLogfile</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>IjetLogFile</name>\r
+                                       <state>$PROJ_DIR$\cspycomm.log</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>IjetInterfaceRadio</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>IjetInterfaceCmdLine</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>IjetMultiTargetEnable</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>IjetMultiTarget</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>IjetScanChainNonARMDevices</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>IjetIRLength</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>IjetJtagSpeedList</name>\r
+                                       <version>0</version>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>IjetProtocolRadio</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>IjetSwoPin</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>IjetCpuClockEdit</name>\r
+                                       <state>72.0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>IjetSwoPrescalerList</name>\r
+                                       <version>1</version>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>IjetBreakpointRadio</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>IjetRestoreBreakpointsCheck</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>IjetUpdateBreakpointsEdit</name>\r
+                                       <state>_call_main</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>RDICatchReset</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>RDICatchUndef</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>RDICatchSWI</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>RDICatchData</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>RDICatchPrefetch</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>RDICatchIRQ</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>RDICatchFIQ</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CatchCORERESET</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CatchMMERR</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CatchNOCPERR</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CatchCHKERR</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CatchSTATERR</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CatchBUSERR</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CatchINTERR</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CatchHARDERR</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CatchDummy</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCProbeCfgOverride</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCProbeConfig</name>\r
+                                       <state />\r
+                               </option>\r
+                               <option>\r
+                                       <name>IjetProbeConfigRadio</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>IjetMultiCPUEnable</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>IjetMultiCPUNumber</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>IjetSelectedCPUBehaviour</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>ICpuName</name>\r
+                                       <state />\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCJetEmuParams</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>IjetPreferETB</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>IjetTraceSettingsList</name>\r
+                                       <version>0</version>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>IjetTraceSizeList</name>\r
+                                       <version>0</version>\r
+                                       <state>4</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>FlashBoardPathSlave</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCIjetUsbSerialNo</name>\r
+                                       <state />\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCIjetUsbSerialNoSelect</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                       </data>\r
+               </settings>\r
+               <settings>\r
+                       <name>JLINK_ID</name>\r
+                       <archiveVersion>2</archiveVersion>\r
+                       <data>\r
+                               <version>16</version>\r
+                               <wantNonLocal>1</wantNonLocal>\r
+                               <debug>1</debug>\r
+                               <option>\r
+                                       <name>CCCatchSFERR</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>JLinkSpeed</name>\r
+                                       <state>1000</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCJLinkDoLogfile</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCJLinkLogFile</name>\r
+                                       <state>$PROJ_DIR$\cspycomm.log</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCJLinkHWResetDelay</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCDriverInfo</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>JLinkInitialSpeed</name>\r
+                                       <state>1000</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCDoJlinkMultiTarget</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCScanChainNonARMDevices</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCJLinkMultiTarget</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCJLinkIRLength</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCJLinkCommRadio</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCJLinkTCPIP</name>\r
+                                       <state>aaa.bbb.ccc.ddd</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCJLinkSpeedRadioV2</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCUSBDevice</name>\r
+                                       <version>1</version>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCRDICatchReset</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCRDICatchUndef</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCRDICatchSWI</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCRDICatchData</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCRDICatchPrefetch</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCRDICatchIRQ</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCRDICatchFIQ</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCJLinkBreakpointRadio</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCJLinkDoUpdateBreakpoints</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCJLinkUpdateBreakpoints</name>\r
+                                       <state>_call_main</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCJLinkInterfaceRadio</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCJLinkResetList</name>\r
+                                       <version>6</version>\r
+                                       <state>7</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCJLinkInterfaceCmdLine</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCCatchCORERESET</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCCatchMMERR</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCCatchNOCPERR</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCCatchCHRERR</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCCatchSTATERR</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCCatchBUSERR</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCCatchINTERR</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCCatchHARDERR</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCCatchDummy</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCJLinkScriptFile</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCJLinkUsbSerialNo</name>\r
+                                       <state />\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCTcpIpAlt</name>\r
+                                       <version>0</version>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCJLinkTcpIpSerialNo</name>\r
+                                       <state />\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCCpuClockEdit</name>\r
+                                       <state>72.0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCSwoClockAuto</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCSwoClockEdit</name>\r
+                                       <state>2000</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCJLinkTraceSource</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCJLinkTraceSourceDummy</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCJLinkDeviceName</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                       </data>\r
+               </settings>\r
+               <settings>\r
+                       <name>LMIFTDI_ID</name>\r
+                       <archiveVersion>2</archiveVersion>\r
+                       <data>\r
+                               <version>2</version>\r
+                               <wantNonLocal>1</wantNonLocal>\r
+                               <debug>1</debug>\r
+                               <option>\r
+                                       <name>OCDriverInfo</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>LmiftdiSpeed</name>\r
+                                       <state>500</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCLmiftdiDoLogfile</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCLmiftdiLogFile</name>\r
+                                       <state>$PROJ_DIR$\cspycomm.log</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCLmiFtdiInterfaceRadio</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCLmiFtdiInterfaceCmdLine</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                       </data>\r
+               </settings>\r
+               <settings>\r
+                       <name>PEMICRO_ID</name>\r
+                       <archiveVersion>2</archiveVersion>\r
+                       <data>\r
+                               <version>3</version>\r
+                               <wantNonLocal>1</wantNonLocal>\r
+                               <debug>1</debug>\r
+                               <option>\r
+                                       <name>OCDriverInfo</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCJPEMicroShowSettings</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>DoLogfile</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>LogFile</name>\r
+                                       <state>$PROJ_DIR$\cspycomm.log</state>\r
+                               </option>\r
+                       </data>\r
+               </settings>\r
+               <settings>\r
+                       <name>STLINK_ID</name>\r
+                       <archiveVersion>2</archiveVersion>\r
+                       <data>\r
+                               <version>4</version>\r
+                               <wantNonLocal>1</wantNonLocal>\r
+                               <debug>1</debug>\r
+                               <option>\r
+                                       <name>OCDriverInfo</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCSTLinkInterfaceRadio</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCSTLinkInterfaceCmdLine</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCSTLinkResetList</name>\r
+                                       <version>3</version>\r
+                                       <state>4</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCCpuClockEdit</name>\r
+                                       <state>80.0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCSwoClockAuto</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCSwoClockEdit</name>\r
+                                       <state>2000</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>DoLogfile</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>LogFile</name>\r
+                                       <state>$PROJ_DIR$\cspycomm.log</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCSTLinkDoUpdateBreakpoints</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCSTLinkUpdateBreakpoints</name>\r
+                                       <state>_call_main</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCSTLinkCatchCORERESET</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCSTLinkCatchMMERR</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCSTLinkCatchNOCPERR</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCSTLinkCatchCHRERR</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCSTLinkCatchSTATERR</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCSTLinkCatchBUSERR</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCSTLinkCatchINTERR</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCSTLinkCatchSFERR</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCSTLinkCatchHARDERR</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCSTLinkCatchDummy</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCSTLinkUsbSerialNo</name>\r
+                                       <state />\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCSTLinkUsbSerialNoSelect</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCSTLinkJtagSpeedList</name>\r
+                                       <version>0</version>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCSTLinkDAPNumber</name>\r
+                                       <state />\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCSTLinkDebugAccessPortRadio</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                       </data>\r
+               </settings>\r
+               <settings>\r
+                       <name>THIRDPARTY_ID</name>\r
+                       <archiveVersion>2</archiveVersion>\r
+                       <data>\r
+                               <version>0</version>\r
+                               <wantNonLocal>1</wantNonLocal>\r
+                               <debug>1</debug>\r
+                               <option>\r
+                                       <name>CThirdPartyDriverDll</name>\r
+                                       <state>###Uninitialized###</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CThirdPartyLogFileCheck</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CThirdPartyLogFileEditB</name>\r
+                                       <state>$PROJ_DIR$\cspycomm.log</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>OCDriverInfo</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                       </data>\r
+               </settings>\r
+               <settings>\r
+                       <name>TIFET_ID</name>\r
+                       <archiveVersion>2</archiveVersion>\r
+                       <data>\r
+                               <version>1</version>\r
+                               <wantNonLocal>1</wantNonLocal>\r
+                               <debug>1</debug>\r
+                               <option>\r
+                                       <name>OCDriverInfo</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCMSPFetResetList</name>\r
+                                       <version>0</version>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCMSPFetInterfaceRadio</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCMSPFetInterfaceCmdLine</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCMSPFetTargetVccTypeDefault</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCMSPFetTargetVoltage</name>\r
+                                       <state>###Uninitialized###</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCMSPFetVCCDefault</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCMSPFetTargetSettlingtime</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCMSPFetRadioJtagSpeedType</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCMSPFetConnection</name>\r
+                                       <version>0</version>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCMSPFetUsbComPort</name>\r
+                                       <state>Automatic</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCMSPFetAllowAccessToBSL</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCMSPFetDoLogfile</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCMSPFetLogFile</name>\r
+                                       <state>$PROJ_DIR$\cspycomm.log</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCMSPFetRadioEraseFlash</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                       </data>\r
+               </settings>\r
+               <settings>\r
+                       <name>XDS100_ID</name>\r
+                       <archiveVersion>2</archiveVersion>\r
+                       <data>\r
+                               <version>6</version>\r
+                               <wantNonLocal>1</wantNonLocal>\r
+                               <debug>1</debug>\r
+                               <option>\r
+                                       <name>OCDriverInfo</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>TIPackageOverride</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>TIPackage</name>\r
+                                       <state />\r
+                               </option>\r
+                               <option>\r
+                                       <name>BoardFile</name>\r
+                                       <state />\r
+                               </option>\r
+                               <option>\r
+                                       <name>DoLogfile</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>LogFile</name>\r
+                                       <state>$PROJ_DIR$\cspycomm.log</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCXds100BreakpointRadio</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCXds100DoUpdateBreakpoints</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCXds100UpdateBreakpoints</name>\r
+                                       <state>_call_main</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCXds100CatchReset</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCXds100CatchUndef</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCXds100CatchSWI</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCXds100CatchData</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCXds100CatchPrefetch</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCXds100CatchIRQ</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCXds100CatchFIQ</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCXds100CatchCORERESET</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCXds100CatchMMERR</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCXds100CatchNOCPERR</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCXds100CatchCHRERR</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCXds100CatchSTATERR</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCXds100CatchBUSERR</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCXds100CatchINTERR</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCXds100CatchSFERR</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCXds100CatchHARDERR</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCXds100CatchDummy</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCXds100CpuClockEdit</name>\r
+                                       <state />\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCXds100SwoClockAuto</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCXds100SwoClockEdit</name>\r
+                                       <state>1000</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCXds100HWResetDelay</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCXds100ResetList</name>\r
+                                       <version>0</version>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCXds100UsbSerialNo</name>\r
+                                       <state />\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCXds100UsbSerialNoSelect</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCXds100JtagSpeedList</name>\r
+                                       <version>0</version>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCXds100InterfaceRadio</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCXds100InterfaceCmdLine</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCXds100ProbeList</name>\r
+                                       <version>0</version>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCXds100SWOPortRadio</name>\r
+                                       <state>0</state>\r
+                               </option>\r
+                               <option>\r
+                                       <name>CCXds100SWOPort</name>\r
+                                       <state>1</state>\r
+                               </option>\r
+                       </data>\r
+               </settings>\r
+               <debuggerPlugins>\r
+                       <plugin>\r
+                               <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin</file>\r
+                               <loadFlag>0</loadFlag>\r
+                       </plugin>\r
+                       <plugin>\r
+                               <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin</file>\r
+                               <loadFlag>0</loadFlag>\r
+                       </plugin>\r
+                       <plugin>\r
+                               <file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file>\r
+                               <loadFlag>0</loadFlag>\r
+                       </plugin>\r
+                       <plugin>\r
+                               <file>$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin</file>\r
+                               <loadFlag>0</loadFlag>\r
+                       </plugin>\r
+                       <plugin>\r
+                               <file>$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin</file>\r
+                               <loadFlag>0</loadFlag>\r
+                       </plugin>\r
+                       <plugin>\r
+                               <file>$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin</file>\r
+                               <loadFlag>0</loadFlag>\r
+                       </plugin>\r
+                       <plugin>\r
+                               <file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin</file>\r
+                               <loadFlag>0</loadFlag>\r
+                       </plugin>\r
+                       <plugin>\r
+                               <file>$TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin</file>\r
+                               <loadFlag>0</loadFlag>\r
+                       </plugin>\r
+                       <plugin>\r
+                               <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin</file>\r
+                               <loadFlag>0</loadFlag>\r
+                       </plugin>\r
+                       <plugin>\r
+                               <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin</file>\r
+                               <loadFlag>0</loadFlag>\r
+                       </plugin>\r
+                       <plugin>\r
+                               <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin</file>\r
+                               <loadFlag>0</loadFlag>\r
+                       </plugin>\r
+                       <plugin>\r
+                               <file>$EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin</file>\r
+                               <loadFlag>1</loadFlag>\r
+                       </plugin>\r
+                       <plugin>\r
+                               <file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file>\r
+                               <loadFlag>0</loadFlag>\r
+                       </plugin>\r
+                       <plugin>\r
+                               <file>$EW_DIR$\common\plugins\TargetAccessServer\TargetAccessServer.ENU.ewplugin</file>\r
+                               <loadFlag>0</loadFlag>\r
+                       </plugin>\r
+                       <plugin>\r
+                               <file>$EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin</file>\r
+                               <loadFlag>0</loadFlag>\r
+                       </plugin>\r
+               </debuggerPlugins>\r
+       </configuration>\r
+</project>\r
diff --git a/FreeRTOS/Demo/CORTEX_MPU_STM32L4_Discovery_Keil_STM32Cube/Projects/IAR/MPUDemo.ewp b/FreeRTOS/Demo/CORTEX_MPU_STM32L4_Discovery_Keil_STM32Cube/Projects/IAR/MPUDemo.ewp
new file mode 100644 (file)
index 0000000..7344028
--- /dev/null
@@ -0,0 +1,1212 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<project>\r
+    <fileVersion>3</fileVersion>\r
+    <configuration>\r
+        <name>MPUDemo</name>\r
+        <toolchain>\r
+            <name>ARM</name>\r
+        </toolchain>\r
+        <debug>1</debug>\r
+        <settings>\r
+            <name>General</name>\r
+            <archiveVersion>3</archiveVersion>\r
+            <data>\r
+                <version>31</version>\r
+                <wantNonLocal>1</wantNonLocal>\r
+                <debug>1</debug>\r
+                <option>\r
+                    <name>ExePath</name>\r
+                    <state>Debug/Objects</state>\r
+                </option>\r
+                <option>\r
+                    <name>ObjPath</name>\r
+                    <state>Debug/Objects</state>\r
+                </option>\r
+                <option>\r
+                    <name>ListPath</name>\r
+                    <state>Debug/Listings</state>\r
+                </option>\r
+                <option>\r
+                    <name>GEndianMode</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>Input description</name>\r
+                    <state>Full formatting, with multibyte support.</state>\r
+                </option>\r
+                <option>\r
+                    <name>Output description</name>\r
+                    <state>Full formatting, with multibyte support.</state>\r
+                </option>\r
+                <option>\r
+                    <name>GOutputBinary</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>OGCoreOrChip</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>GRuntimeLibSelect</name>\r
+                    <version>0</version>\r
+                    <state>2</state>\r
+                </option>\r
+                <option>\r
+                    <name>GRuntimeLibSelectSlave</name>\r
+                    <version>0</version>\r
+                    <state>2</state>\r
+                </option>\r
+                <option>\r
+                    <name>RTDescription</name>\r
+                    <state>Use the full configuration of the C/C++ runtime library. Full locale interface, C locale, file descriptor support, multibytes in printf and scanf, and hex floats in strtod.</state>\r
+                </option>\r
+                <option>\r
+                    <name>OGProductVersion</name>\r
+                    <state>4.41A</state>\r
+                </option>\r
+                <option>\r
+                    <name>OGLastSavedByProductVersion</name>\r
+                    <state>8.30.2.18207</state>\r
+                </option>\r
+                <option>\r
+                    <name>GeneralEnableMisra</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>GeneralMisraVerbose</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>OGChipSelectEditMenu</name>\r
+                    <state>STM32L475VG ST STM32L475VG</state>\r
+                </option>\r
+                <option>\r
+                    <name>GenLowLevelInterface</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>GEndianModeBE</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>OGBufferedTerminalOutput</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>GenStdoutInterface</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>GeneralMisraRules98</name>\r
+                    <version>0</version>\r
+                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\r
+                </option>\r
+                <option>\r
+                    <name>GeneralMisraVer</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>GeneralMisraRules04</name>\r
+                    <version>0</version>\r
+                    <state>011111111111111110111111111111011111111111111011110100111111111111111111111111111111111111111111101111111111111011111111111111111111111111111</state>\r
+                </option>\r
+                <option>\r
+                    <name>RTConfigPath2</name>\r
+                    <state>$TOOLKIT_DIR$\inc\c\DLib_Config_Full.h</state>\r
+                </option>\r
+                <option>\r
+                    <name>GBECoreSlave</name>\r
+                    <version>26</version>\r
+                    <state>39</state>\r
+                </option>\r
+                <option>\r
+                    <name>OGUseCmsis</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>OGUseCmsisDspLib</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>GRuntimeLibThreads</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>CoreVariant</name>\r
+                    <version>26</version>\r
+                    <state>39</state>\r
+                </option>\r
+                <option>\r
+                    <name>GFPUDeviceSlave</name>\r
+                    <state>STM32L475VG ST STM32L475VG</state>\r
+                </option>\r
+                <option>\r
+                    <name>FPU2</name>\r
+                    <version>0</version>\r
+                    <state>4</state>\r
+                </option>\r
+                <option>\r
+                    <name>NrRegs</name>\r
+                    <version>0</version>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>NEON</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>GFPUCoreSlave2</name>\r
+                    <version>26</version>\r
+                    <state>39</state>\r
+                </option>\r
+                <option>\r
+                    <name>OGCMSISPackSelectDevice</name>\r
+                </option>\r
+                <option>\r
+                    <name>OgLibHeap</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>OGLibAdditionalLocale</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>OGPrintfVariant</name>\r
+                    <version>0</version>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>OGPrintfMultibyteSupport</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>OGScanfVariant</name>\r
+                    <version>0</version>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>OGScanfMultibyteSupport</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>GenLocaleTags</name>\r
+                    <state></state>\r
+                </option>\r
+                <option>\r
+                    <name>GenLocaleDisplayOnly</name>\r
+                    <state></state>\r
+                </option>\r
+                <option>\r
+                    <name>DSPExtension</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>TrustZone</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>TrustZoneModes</name>\r
+                    <version>0</version>\r
+                    <state>0</state>\r
+                </option>\r
+            </data>\r
+        </settings>\r
+        <settings>\r
+            <name>ICCARM</name>\r
+            <archiveVersion>2</archiveVersion>\r
+            <data>\r
+                <version>34</version>\r
+                <wantNonLocal>1</wantNonLocal>\r
+                <debug>1</debug>\r
+                <option>\r
+                    <name>CCOptimizationNoSizeConstraints</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>CCDefines</name>\r
+                    <state>USE_HAL_DRIVER</state>\r
+                    <state>STM32L475xx</state>\r
+                </option>\r
+                <option>\r
+                    <name>CCPreprocFile</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>CCPreprocComments</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>CCPreprocLine</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>CCListCFile</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>CCListCMnemonics</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>CCListCMessages</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>CCListAssFile</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>CCListAssSource</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>CCEnableRemarks</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>CCDiagSuppress</name>\r
+                    <state></state>\r
+                </option>\r
+                <option>\r
+                    <name>CCDiagRemark</name>\r
+                    <state></state>\r
+                </option>\r
+                <option>\r
+                    <name>CCDiagWarning</name>\r
+                    <state></state>\r
+                </option>\r
+                <option>\r
+                    <name>CCDiagError</name>\r
+                    <state></state>\r
+                </option>\r
+                <option>\r
+                    <name>CCObjPrefix</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>CCAllowList</name>\r
+                    <version>1</version>\r
+                    <state>00000000</state>\r
+                </option>\r
+                <option>\r
+                    <name>CCDebugInfo</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>IEndianMode</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>IProcessor</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>IExtraOptionsCheck</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IExtraOptions</name>\r
+                    <state></state>\r
+                </option>\r
+                <option>\r
+                    <name>CCLangConformance</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>CCSignedPlainChar</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>CCRequirePrototypes</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>CCDiagWarnAreErr</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>CCCompilerRuntimeInfo</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IFpuProcessor</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>OutputFile</name>\r
+                    <state>$FILE_BNAME$.o</state>\r
+                </option>\r
+                <option>\r
+                    <name>CCLibConfigHeader</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>PreInclude</name>\r
+                    <state></state>\r
+                </option>\r
+                <option>\r
+                    <name>CompilerMisraOverride</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>CCIncludePath2</name>\r
+                    <state>$PROJ_DIR$/../../ST_Code/Core/Inc</state>\r
+                    <state>$PROJ_DIR$/../../ST_Code/Drivers/STM32L4xx_HAL_Driver/Inc</state>\r
+                    <state>$PROJ_DIR$/../../ST_Code/Drivers/STM32L4xx_HAL_Driver/Inc/Legacy</state>\r
+                    <state>$PROJ_DIR$/../../ST_Code/Drivers/CMSIS/Device/ST/STM32L4xx/Include</state>\r
+                    <state>$PROJ_DIR$/../../ST_Code/Drivers/CMSIS/Include</state>\r
+                    <state>$PROJ_DIR$/../../Config</state>\r
+                    <state>$PROJ_DIR$/../../Demo</state>\r
+                    <state>$PROJ_DIR$/../../../../Source/include</state>\r
+                    <state>$PROJ_DIR$/../../../../Source/portable/IAR/ARM_CM4F_MPU</state>\r
+                    <state>$PROJ_DIR$/../../../../Source/portable/IAR/ARM_CM4F_MPU</state>\r
+                </option>\r
+                <option>\r
+                    <name>CCStdIncCheck</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>CCCodeSection</name>\r
+                    <state>.text</state>\r
+                </option>\r
+                <option>\r
+                    <name>IProcessorMode2</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>CCOptLevel</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>CCOptStrategy</name>\r
+                    <version>0</version>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>CCOptLevelSlave</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>CompilerMisraRules98</name>\r
+                    <version>0</version>\r
+                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\r
+                </option>\r
+                <option>\r
+                    <name>CompilerMisraRules04</name>\r
+                    <version>0</version>\r
+                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\r
+                </option>\r
+                <option>\r
+                    <name>CCPosIndRopi</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>CCPosIndRwpi</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>CCPosIndNoDynInit</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IccLang</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IccCDialect</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>IccAllowVLA</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IccStaticDestr</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IccCppInlineSemantics</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IccCmsis</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>IccFloatSemantics</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>CCNoLiteralPool</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>CCOptStrategySlave</name>\r
+                    <version>0</version>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>CCGuardCalls</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>CCEncSource</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>CCEncOutput</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>CCEncOutputBom</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>CCEncInput</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IccExceptions2</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IccRTTI2</name>\r
+                    <state>0</state>\r
+                </option>\r
+            </data>\r
+        </settings>\r
+        <settings>\r
+            <name>AARM</name>\r
+            <archiveVersion>2</archiveVersion>\r
+            <data>\r
+                <version>10</version>\r
+                <wantNonLocal>1</wantNonLocal>\r
+                <debug>1</debug>\r
+                <option>\r
+                    <name>AObjPrefix</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>AEndian</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>ACaseSensitivity</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>MacroChars</name>\r
+                    <version>0</version>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>AWarnEnable</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>AWarnWhat</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>AWarnOne</name>\r
+                    <state></state>\r
+                </option>\r
+                <option>\r
+                    <name>AWarnRange1</name>\r
+                    <state></state>\r
+                </option>\r
+                <option>\r
+                    <name>AWarnRange2</name>\r
+                    <state></state>\r
+                </option>\r
+                <option>\r
+                    <name>ADebug</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>AltRegisterNames</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>ADefines</name>\r
+                    <state></state>\r
+                </option>\r
+                <option>\r
+                    <name>AList</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>AListHeader</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>AListing</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>Includes</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>MacDefs</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>MacExps</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>MacExec</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>OnlyAssed</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>MultiLine</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>PageLengthCheck</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>PageLength</name>\r
+                    <state>80</state>\r
+                </option>\r
+                <option>\r
+                    <name>TabSpacing</name>\r
+                    <state>8</state>\r
+                </option>\r
+                <option>\r
+                    <name>AXRef</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>AXRefDefines</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>AXRefInternal</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>AXRefDual</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>AProcessor</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>AFpuProcessor</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>AOutputFile</name>\r
+                    <state>$FILE_BNAME$.o</state>\r
+                </option>\r
+                <option>\r
+                    <name>ALimitErrorsCheck</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>ALimitErrorsEdit</name>\r
+                    <state>100</state>\r
+                </option>\r
+                <option>\r
+                    <name>AIgnoreStdInclude</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>AUserIncludes</name>\r
+                    <state>$PROJ_DIR$\..\..\Config</state>\r
+                </option>\r
+                <option>\r
+                    <name>AExtraOptionsCheckV2</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>AExtraOptionsV2</name>\r
+                    <state></state>\r
+                </option>\r
+                <option>\r
+                    <name>AsmNoLiteralPool</name>\r
+                    <state>0</state>\r
+                </option>\r
+            </data>\r
+        </settings>\r
+        <settings>\r
+            <name>OBJCOPY</name>\r
+            <archiveVersion>0</archiveVersion>\r
+            <data>\r
+                <version>1</version>\r
+                <wantNonLocal>1</wantNonLocal>\r
+                <debug>1</debug>\r
+                <option>\r
+                    <name>OOCOutputFormat</name>\r
+                    <version>3</version>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>OCOutputOverride</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>OOCOutputFile</name>\r
+                    <state>MPUDemo.hex</state>\r
+                </option>\r
+                <option>\r
+                    <name>OOCCommandLineProducer</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>OOCObjCopyEnable</name>\r
+                    <state>1</state>\r
+                </option>\r
+            </data>\r
+        </settings>\r
+        <settings>\r
+            <name>CUSTOM</name>\r
+            <archiveVersion>3</archiveVersion>\r
+            <data>\r
+                <extensions></extensions>\r
+                <cmdline></cmdline>\r
+                <hasPrio>0</hasPrio>\r
+            </data>\r
+        </settings>\r
+        <settings>\r
+            <name>BICOMP</name>\r
+            <archiveVersion>0</archiveVersion>\r
+            <data />\r
+        </settings>\r
+        <settings>\r
+            <name>BUILDACTION</name>\r
+            <archiveVersion>1</archiveVersion>\r
+            <data>\r
+                <prebuild></prebuild>\r
+                <postbuild></postbuild>\r
+            </data>\r
+        </settings>\r
+        <settings>\r
+            <name>ILINK</name>\r
+            <archiveVersion>0</archiveVersion>\r
+            <data>\r
+                <version>21</version>\r
+                <wantNonLocal>1</wantNonLocal>\r
+                <debug>1</debug>\r
+                <option>\r
+                    <name>IlinkLibIOConfig</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>XLinkMisraHandler</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkInputFileSlave</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkOutputFile</name>\r
+                    <state>MPUDemo.out</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkDebugInfoEnable</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkKeepSymbols</name>\r
+                    <state></state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkRawBinaryFile</name>\r
+                    <state></state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkRawBinarySymbol</name>\r
+                    <state></state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkRawBinarySegment</name>\r
+                    <state></state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkRawBinaryAlign</name>\r
+                    <state></state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkDefines</name>\r
+                    <state></state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkConfigDefines</name>\r
+                    <state></state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkMapFile</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkLogFile</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkLogInitialization</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkLogModule</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkLogSection</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkLogVeneer</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkIcfOverride</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkIcfFile</name>\r
+                    <state>$PROJ_DIR$/stm32l475xx_flash.icf</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkIcfFileSlave</name>\r
+                    <state></state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkEnableRemarks</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkSuppressDiags</name>\r
+                    <state></state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkTreatAsRem</name>\r
+                    <state></state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkTreatAsWarn</name>\r
+                    <state></state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkTreatAsErr</name>\r
+                    <state></state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkWarningsAreErrors</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkUseExtraOptions</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkExtraOptions</name>\r
+                    <state></state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkLowLevelInterfaceSlave</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkAutoLibEnable</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkAdditionalLibs</name>\r
+                    <state></state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkOverrideProgramEntryLabel</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkProgramEntryLabelSelect</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkProgramEntryLabel</name>\r
+                    <state>__iar_program_start</state>\r
+                </option>\r
+                <option>\r
+                    <name>DoFill</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>FillerByte</name>\r
+                    <state>0xFF</state>\r
+                </option>\r
+                <option>\r
+                    <name>FillerStart</name>\r
+                    <state>0x0</state>\r
+                </option>\r
+                <option>\r
+                    <name>FillerEnd</name>\r
+                    <state>0x0</state>\r
+                </option>\r
+                <option>\r
+                    <name>CrcSize</name>\r
+                    <version>0</version>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>CrcAlign</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>CrcPoly</name>\r
+                    <state>0x11021</state>\r
+                </option>\r
+                <option>\r
+                    <name>CrcCompl</name>\r
+                    <version>0</version>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>CrcBitOrder</name>\r
+                    <version>0</version>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>CrcInitialValue</name>\r
+                    <state>0x0</state>\r
+                </option>\r
+                <option>\r
+                    <name>DoCrc</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkBE8Slave</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkBufferedTerminalOutput</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkStdoutInterfaceSlave</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>CrcFullSize</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkIElfToolPostProcess</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkLogAutoLibSelect</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkLogRedirSymbols</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkLogUnusedFragments</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkCrcReverseByteOrder</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkCrcUseAsInput</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkOptInline</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkOptExceptionsAllow</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkOptExceptionsForce</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkCmsis</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkOptMergeDuplSections</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkOptUseVfe</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkOptForceVfe</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkStackAnalysisEnable</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkStackControlFile</name>\r
+                    <state></state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkStackCallGraphFile</name>\r
+                    <state></state>\r
+                </option>\r
+                <option>\r
+                    <name>CrcAlgorithm</name>\r
+                    <version>1</version>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>CrcUnitSize</name>\r
+                    <version>0</version>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkThreadsSlave</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkLogCallGraph</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkIcfFile_AltDefault</name>\r
+                    <state></state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkEncInput</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkEncOutput</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkEncOutputBom</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkHeapSelect</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkLocaleSelect</name>\r
+                    <state>1</state>\r
+                </option>\r
+                <option>\r
+                    <name>IlinkTrustzoneImportLibraryOut</name>\r
+                    <state>MPUDemo_import_lib.o</state>\r
+                </option>\r
+            </data>\r
+        </settings>\r
+        <settings>\r
+            <name>IARCHIVE</name>\r
+            <archiveVersion>0</archiveVersion>\r
+            <data>\r
+                <version>0</version>\r
+                <wantNonLocal>1</wantNonLocal>\r
+                <debug>1</debug>\r
+                <option>\r
+                    <name>IarchiveInputs</name>\r
+                    <state></state>\r
+                </option>\r
+                <option>\r
+                    <name>IarchiveOverride</name>\r
+                    <state>0</state>\r
+                </option>\r
+                <option>\r
+                    <name>IarchiveOutput</name>\r
+                    <state>###Unitialized###</state>\r
+                </option>\r
+            </data>\r
+        </settings>\r
+        <settings>\r
+            <name>BILINK</name>\r
+            <archiveVersion>0</archiveVersion>\r
+            <data />\r
+        </settings>\r
+    </configuration>\r
+    <group>\r
+        <name>Config</name>\r
+        <file>\r
+            <name>$PROJ_DIR$\..\..\Config\FreeRTOSConfig.h</name>\r
+        </file>\r
+    </group>\r
+    <group>\r
+        <name>Demo</name>\r
+        <file>\r
+            <name>$PROJ_DIR$\..\..\Demo\app_main.c</name>\r
+        </file>\r
+        <file>\r
+            <name>$PROJ_DIR$\..\..\Demo\app_main.h</name>\r
+        </file>\r
+        <file>\r
+            <name>$PROJ_DIR$\..\..\Demo\mpu_demo.c</name>\r
+        </file>\r
+        <file>\r
+            <name>$PROJ_DIR$\..\..\Demo\mpu_demo.h</name>\r
+        </file>\r
+    </group>\r
+    <group>\r
+        <name>FreeRTOS</name>\r
+        <file>\r
+            <name>$PROJ_DIR$\..\..\..\..\Source\croutine.c</name>\r
+        </file>\r
+        <file>\r
+            <name>$PROJ_DIR$\..\..\..\..\Source\event_groups.c</name>\r
+        </file>\r
+        <file>\r
+            <name>$PROJ_DIR$\..\..\..\..\Source\portable\MemMang\heap_4.c</name>\r
+        </file>\r
+        <file>\r
+            <name>$PROJ_DIR$\..\..\..\..\Source\list.c</name>\r
+        </file>\r
+        <file>\r
+            <name>$PROJ_DIR$\..\..\..\..\Source\portable\Common\mpu_wrappers.c</name>\r
+        </file>\r
+        <file>\r
+            <name>$PROJ_DIR$\..\..\..\..\Source\portable\IAR\ARM_CM4F_MPU\port.c</name>\r
+        </file>\r
+        <file>\r
+            <name>$PROJ_DIR$\..\..\..\..\Source\portable\IAR\ARM_CM4F_MPU\portasm.s</name>\r
+        </file>\r
+        <file>\r
+            <name>$PROJ_DIR$\..\..\..\..\Source\portable\IAR\ARM_CM4F_MPU\portmacro.h</name>\r
+        </file>\r
+        <file>\r
+            <name>$PROJ_DIR$\..\..\..\..\Source\queue.c</name>\r
+        </file>\r
+        <file>\r
+            <name>$PROJ_DIR$\..\..\..\..\Source\stream_buffer.c</name>\r
+        </file>\r
+        <file>\r
+            <name>$PROJ_DIR$\..\..\..\..\Source\tasks.c</name>\r
+        </file>\r
+        <file>\r
+            <name>$PROJ_DIR$\..\..\..\..\Source\timers.c</name>\r
+        </file>\r
+    </group>\r
+    <group>\r
+        <name>ST_Code</name>\r
+        <group>\r
+            <name>Core</name>\r
+            <file>\r
+                <name>$PROJ_DIR$\..\..\ST_Code\Core\Src\main.c</name>\r
+            </file>\r
+            <file>\r
+                <name>$PROJ_DIR$\..\..\ST_Code\Core\Src\stm32l4xx_hal_msp.c</name>\r
+            </file>\r
+            <file>\r
+                <name>$PROJ_DIR$\..\..\ST_Code\Core\Src\stm32l4xx_hal_timebase_tim.c</name>\r
+            </file>\r
+            <file>\r
+                <name>$PROJ_DIR$\..\..\ST_Code\Core\Src\stm32l4xx_it.c</name>\r
+            </file>\r
+            <file>\r
+                <name>$PROJ_DIR$\..\..\ST_Code\Core\Src\system_stm32l4xx.c</name>\r
+            </file>\r
+        </group>\r
+        <group>\r
+            <name>STM32L4xx_HAL_Driver</name>\r
+            <file>\r
+                <name>$PROJ_DIR$\..\..\ST_Code\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal.c</name>\r
+            </file>\r
+            <file>\r
+                <name>$PROJ_DIR$\..\..\ST_Code\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cortex.c</name>\r
+            </file>\r
+            <file>\r
+                <name>$PROJ_DIR$\..\..\ST_Code\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dfsdm.c</name>\r
+            </file>\r
+            <file>\r
+                <name>$PROJ_DIR$\..\..\ST_Code\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma.c</name>\r
+            </file>\r
+            <file>\r
+                <name>$PROJ_DIR$\..\..\ST_Code\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma_ex.c</name>\r
+            </file>\r
+            <file>\r
+                <name>$PROJ_DIR$\..\..\ST_Code\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_exti.c</name>\r
+            </file>\r
+            <file>\r
+                <name>$PROJ_DIR$\..\..\ST_Code\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash.c</name>\r
+            </file>\r
+            <file>\r
+                <name>$PROJ_DIR$\..\..\ST_Code\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ex.c</name>\r
+            </file>\r
+            <file>\r
+                <name>$PROJ_DIR$\..\..\ST_Code\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ramfunc.c</name>\r
+            </file>\r
+            <file>\r
+                <name>$PROJ_DIR$\..\..\ST_Code\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_gpio.c</name>\r
+            </file>\r
+            <file>\r
+                <name>$PROJ_DIR$\..\..\ST_Code\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c.c</name>\r
+            </file>\r
+            <file>\r
+                <name>$PROJ_DIR$\..\..\ST_Code\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c_ex.c</name>\r
+            </file>\r
+            <file>\r
+                <name>$PROJ_DIR$\..\..\ST_Code\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pcd.c</name>\r
+            </file>\r
+            <file>\r
+                <name>$PROJ_DIR$\..\..\ST_Code\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pcd_ex.c</name>\r
+            </file>\r
+            <file>\r
+                <name>$PROJ_DIR$\..\..\ST_Code\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr.c</name>\r
+            </file>\r
+            <file>\r
+                <name>$PROJ_DIR$\..\..\ST_Code\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr_ex.c</name>\r
+            </file>\r
+            <file>\r
+                <name>$PROJ_DIR$\..\..\ST_Code\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_qspi.c</name>\r
+            </file>\r
+            <file>\r
+                <name>$PROJ_DIR$\..\..\ST_Code\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc.c</name>\r
+            </file>\r
+            <file>\r
+                <name>$PROJ_DIR$\..\..\ST_Code\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc_ex.c</name>\r
+            </file>\r
+            <file>\r
+                <name>$PROJ_DIR$\..\..\ST_Code\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_spi.c</name>\r
+            </file>\r
+            <file>\r
+                <name>$PROJ_DIR$\..\..\ST_Code\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_spi_ex.c</name>\r
+            </file>\r
+            <file>\r
+                <name>$PROJ_DIR$\..\..\ST_Code\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_tim.c</name>\r
+            </file>\r
+            <file>\r
+                <name>$PROJ_DIR$\..\..\ST_Code\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_tim_ex.c</name>\r
+            </file>\r
+            <file>\r
+                <name>$PROJ_DIR$\..\..\ST_Code\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart.c</name>\r
+            </file>\r
+            <file>\r
+                <name>$PROJ_DIR$\..\..\ST_Code\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart_ex.c</name>\r
+            </file>\r
+            <file>\r
+                <name>$PROJ_DIR$\..\..\ST_Code\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_usb.c</name>\r
+            </file>\r
+        </group>\r
+    </group>\r
+    <group>\r
+        <name>Startup</name>\r
+        <file>\r
+            <name>$PROJ_DIR$\memfault_handler.s</name>\r
+        </file>\r
+        <file>\r
+            <name>$PROJ_DIR$\startup_stm32l475xx.s</name>\r
+        </file>\r
+    </group>\r
+</project>\r
diff --git a/FreeRTOS/Demo/CORTEX_MPU_STM32L4_Discovery_Keil_STM32Cube/Projects/IAR/MPUDemo.eww b/FreeRTOS/Demo/CORTEX_MPU_STM32L4_Discovery_Keil_STM32Cube/Projects/IAR/MPUDemo.eww
new file mode 100644 (file)
index 0000000..5fcd4a0
--- /dev/null
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<workspace>\r
+  <project>\r
+    <path>$WS_DIR$\MPUDemo.ewp</path>\r
+  </project>\r
+  <batchBuild />\r
+</workspace>\r
diff --git a/FreeRTOS/Demo/CORTEX_MPU_STM32L4_Discovery_Keil_STM32Cube/Projects/IAR/memfault_handler.s b/FreeRTOS/Demo/CORTEX_MPU_STM32L4_Discovery_Keil_STM32Cube/Projects/IAR/memfault_handler.s
new file mode 100644 (file)
index 0000000..4e7b3af
--- /dev/null
@@ -0,0 +1,43 @@
+/*\r
+ * FreeRTOS Kernel V10.2.1\r
+ * Copyright (C) 2019 Amazon.com, Inc. or its affiliates.  All Rights Reserved.\r
+ *\r
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of\r
+ * this software and associated documentation files (the "Software"), to deal in\r
+ * the Software without restriction, including without limitation the rights to\r
+ * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\r
+ * the Software, and to permit persons to whom the Software is furnished to do so,\r
+ * subject to the following conditions:\r
+ *\r
+ * The above copyright notice and this permission notice shall be included in all\r
+ * copies or substantial portions of the Software.\r
+ *\r
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\r
+ * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\r
+ * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\r
+ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
+ *\r
+ * http://www.FreeRTOS.org\r
+ * http://aws.amazon.com/freertos\r
+ *\r
+ * 1 tab == 4 spaces!\r
+ */\r
+\r
+       EXTERN vHandleMemoryFault\r
+       PUBLIC MemManage_Handler\r
+\r
+       SECTION .text:CODE:NOROOT(2)\r
+       THUMB\r
+/*-----------------------------------------------------------*/\r
+\r
+MemManage_Handler:\r
+       tst lr, #4\r
+       ite eq\r
+       mrseq r0, msp\r
+       mrsne r0, psp\r
+       b vHandleMemoryFault\r
+/*-----------------------------------------------------------*/\r
+\r
+       END\r
diff --git a/FreeRTOS/Demo/CORTEX_MPU_STM32L4_Discovery_Keil_STM32Cube/Projects/IAR/startup_stm32l475xx.s b/FreeRTOS/Demo/CORTEX_MPU_STM32L4_Discovery_Keil_STM32Cube/Projects/IAR/startup_stm32l475xx.s
new file mode 100644 (file)
index 0000000..ca1cd67
--- /dev/null
@@ -0,0 +1,630 @@
+;/********************* COPYRIGHT(c) 2017 STMicroelectronics ********************\r
+;* File Name          : startup_stm32l475xx.s\r
+;* Author             : MCD Application Team\r
+;* Description        : STM32L475xx Ultra Low Power Devices vector\r
+;*                      This module performs:\r
+;*                      - Set the initial SP\r
+;*                      - Set the initial PC == _iar_program_start,\r
+;*                      - Set the vector table entries with the exceptions ISR\r
+;*                        address.\r
+;*                      - Branches to main in the C library (which eventually\r
+;*                        calls main()).\r
+;*                      After Reset the Cortex-M4 processor is in Thread mode,\r
+;*                      priority is Privileged, and the Stack is set to Main.\r
+;********************************************************************************\r
+;*\r
+;* Redistribution and use in source and binary forms, with or without modification,\r
+;* are permitted provided that the following conditions are met:\r
+;*   1. Redistributions of source code must retain the above copyright notice,\r
+;*      this list of conditions and the following disclaimer.\r
+;*   2. Redistributions in binary form must reproduce the above copyright notice,\r
+;*      this list of conditions and the following disclaimer in the documentation\r
+;*      and/or other materials provided with the distribution.\r
+;*   3. Neither the name of STMicroelectronics nor the names of its contributors\r
+;*      may be used to endorse or promote products derived from this software\r
+;*      without specific prior written permission.\r
+;*\r
+;* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"\r
+;* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r
+;* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\r
+;* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\r
+;* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
+;* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\r
+;* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\r
+;* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\r
+;* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\r
+;* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+;*\r
+;*******************************************************************************\r
+;\r
+;\r
+; The modules in this file are included in the libraries, and may be replaced\r
+; by any user-defined modules that define the PUBLIC symbol _program_start or\r
+; a user defined start symbol.\r
+; To override the cstartup defined in the library, simply add your modified\r
+; version to the workbench project.\r
+;\r
+; The vector table is normally located at address 0.\r
+; When debugging in RAM, it can be located in RAM, aligned to at least 2^6.\r
+; The name "__vector_table" has special meaning for C-SPY:\r
+; it is where the SP start value is found, and the NVIC vector\r
+; table register (VTOR) is initialized to this address if != 0.\r
+;\r
+; Cortex-M version\r
+;\r
+\r
+        MODULE  ?cstartup\r
+\r
+        ;; Forward declaration of sections.\r
+        SECTION CSTACK:DATA:NOROOT(3)\r
+\r
+        SECTION .intvec:CODE:NOROOT(2)\r
+\r
+        EXTERN  __iar_program_start\r
+        EXTERN  SystemInit\r
+        PUBLIC  __vector_table\r
+\r
+        DATA\r
+__vector_table\r
+        DCD     sfe(CSTACK)\r
+        DCD     Reset_Handler             ; Reset Handler\r
+\r
+        DCD     NMI_Handler               ; NMI Handler\r
+        DCD     HardFault_Handler         ; Hard Fault Handler\r
+        DCD     MemManage_Handler         ; MPU Fault Handler\r
+        DCD     BusFault_Handler          ; Bus Fault Handler\r
+        DCD     UsageFault_Handler        ; Usage Fault Handler\r
+        DCD     0                         ; Reserved\r
+        DCD     0                         ; Reserved\r
+        DCD     0                         ; Reserved\r
+        DCD     0                         ; Reserved\r
+        DCD     SVC_Handler               ; SVCall Handler\r
+        DCD     DebugMon_Handler          ; Debug Monitor Handler\r
+        DCD     0                         ; Reserved\r
+        DCD     PendSV_Handler            ; PendSV Handler\r
+        DCD     SysTick_Handler           ; SysTick Handler\r
+\r
+         ; External Interrupts\r
+        DCD     WWDG_IRQHandler                   ; Window WatchDog\r
+        DCD     PVD_PVM_IRQHandler                ; PVD/PVM1/PVM2/PVM3/PVM4 through EXTI Line detection\r
+        DCD     TAMP_STAMP_IRQHandler             ; Tamper and TimeStamps through the EXTI line\r
+        DCD     RTC_WKUP_IRQHandler               ; RTC Wakeup through the EXTI line\r
+        DCD     FLASH_IRQHandler                  ; FLASH\r
+        DCD     RCC_IRQHandler                    ; RCC\r
+        DCD     EXTI0_IRQHandler                  ; EXTI Line0\r
+        DCD     EXTI1_IRQHandler                  ; EXTI Line1\r
+        DCD     EXTI2_IRQHandler                  ; EXTI Line2\r
+        DCD     EXTI3_IRQHandler                  ; EXTI Line3\r
+        DCD     EXTI4_IRQHandler                  ; EXTI Line4\r
+        DCD     DMA1_Channel1_IRQHandler          ; DMA1 Channel 1\r
+        DCD     DMA1_Channel2_IRQHandler          ; DMA1 Channel 2\r
+        DCD     DMA1_Channel3_IRQHandler          ; DMA1 Channel 3\r
+        DCD     DMA1_Channel4_IRQHandler          ; DMA1 Channel 4\r
+        DCD     DMA1_Channel5_IRQHandler          ; DMA1 Channel 5\r
+        DCD     DMA1_Channel6_IRQHandler          ; DMA1 Channel 6\r
+        DCD     DMA1_Channel7_IRQHandler          ; DMA1 Channel 7\r
+        DCD     ADC1_2_IRQHandler                 ; ADC1, ADC2\r
+        DCD     CAN1_TX_IRQHandler                ; CAN1 TX\r
+        DCD     CAN1_RX0_IRQHandler               ; CAN1 RX0\r
+        DCD     CAN1_RX1_IRQHandler               ; CAN1 RX1\r
+        DCD     CAN1_SCE_IRQHandler               ; CAN1 SCE\r
+        DCD     EXTI9_5_IRQHandler                ; External Line[9:5]s\r
+        DCD     TIM1_BRK_TIM15_IRQHandler         ; TIM1 Break and TIM15\r
+        DCD     TIM1_UP_TIM16_IRQHandler          ; TIM1 Update and TIM16\r
+        DCD     TIM1_TRG_COM_TIM17_IRQHandler     ; TIM1 Trigger and Commutation and TIM17\r
+        DCD     TIM1_CC_IRQHandler                ; TIM1 Capture Compare\r
+        DCD     TIM2_IRQHandler                   ; TIM2\r
+        DCD     TIM3_IRQHandler                   ; TIM3\r
+        DCD     TIM4_IRQHandler                   ; TIM4\r
+        DCD     I2C1_EV_IRQHandler                ; I2C1 Event\r
+        DCD     I2C1_ER_IRQHandler                ; I2C1 Error\r
+        DCD     I2C2_EV_IRQHandler                ; I2C2 Event\r
+        DCD     I2C2_ER_IRQHandler                ; I2C2 Error\r
+        DCD     SPI1_IRQHandler                   ; SPI1\r
+        DCD     SPI2_IRQHandler                   ; SPI2\r
+        DCD     USART1_IRQHandler                 ; USART1\r
+        DCD     USART2_IRQHandler                 ; USART2\r
+        DCD     USART3_IRQHandler                 ; USART3\r
+        DCD     EXTI15_10_IRQHandler              ; External Line[15:10]\r
+        DCD     RTC_Alarm_IRQHandler              ; RTC Alarm (A and B) through EXTI Line\r
+        DCD     DFSDM1_FLT3_IRQHandler            ; DFSDM1 Filter 3 global Interrupt\r
+        DCD     TIM8_BRK_IRQHandler               ; TIM8 Break Interrupt\r
+        DCD     TIM8_UP_IRQHandler                ; TIM8 Update Interrupt\r
+        DCD     TIM8_TRG_COM_IRQHandler           ; TIM8 Trigger and Commutation Interrupt\r
+        DCD     TIM8_CC_IRQHandler                ; TIM8 Capture Compare Interrupt\r
+        DCD     ADC3_IRQHandler                   ; ADC3 global  Interrupt\r
+        DCD     FMC_IRQHandler                    ; FMC\r
+        DCD     SDMMC1_IRQHandler                 ; SDMMC1\r
+        DCD     TIM5_IRQHandler                   ; TIM5\r
+        DCD     SPI3_IRQHandler                   ; SPI3\r
+        DCD     UART4_IRQHandler                  ; UART4\r
+        DCD     UART5_IRQHandler                  ; UART5\r
+        DCD     TIM6_DAC_IRQHandler               ; TIM6 and DAC1&2 underrun errors\r
+        DCD     TIM7_IRQHandler                   ; TIM7\r
+        DCD     DMA2_Channel1_IRQHandler          ; DMA2 Channel 1\r
+        DCD     DMA2_Channel2_IRQHandler          ; DMA2 Channel 2\r
+        DCD     DMA2_Channel3_IRQHandler          ; DMA2 Channel 3\r
+        DCD     DMA2_Channel4_IRQHandler          ; DMA2 Channel 4\r
+        DCD     DMA2_Channel5_IRQHandler          ; DMA2 Channel 5\r
+        DCD     DFSDM1_FLT0_IRQHandler            ; DFSDM1 Filter 0 global Interrupt\r
+        DCD     DFSDM1_FLT1_IRQHandler            ; DFSDM1 Filter 1 global Interrupt\r
+        DCD     DFSDM1_FLT2_IRQHandler            ; DFSDM1 Filter 2 global Interrupt\r
+        DCD     COMP_IRQHandler                   ; COMP Interrupt\r
+        DCD     LPTIM1_IRQHandler                 ; LP TIM1 interrupt\r
+        DCD     LPTIM2_IRQHandler                 ; LP TIM2 interrupt\r
+        DCD     OTG_FS_IRQHandler                 ; USB OTG FS\r
+        DCD     DMA2_Channel6_IRQHandler          ; DMA2 Channel 6\r
+        DCD     DMA2_Channel7_IRQHandler          ; DMA2 Channel 7\r
+        DCD     LPUART1_IRQHandler                ; LP UART 1 interrupt\r
+        DCD     QUADSPI_IRQHandler                ; Quad SPI global interrupt\r
+        DCD     I2C3_EV_IRQHandler                ; I2C3 event\r
+        DCD     I2C3_ER_IRQHandler                ; I2C3 error\r
+        DCD     SAI1_IRQHandler                   ; Serial Audio Interface 1 global interrupt\r
+        DCD     SAI2_IRQHandler                   ; Serial Audio Interface 2 global interrupt\r
+        DCD     SWPMI1_IRQHandler                 ; Serial Wire Interface global interrupt\r
+        DCD     TSC_IRQHandler                    ; Touch Sense Controller global interrupt\r
+        DCD     0                                 ; Reserved        \r
+        DCD     0                                 ; Reserved        \r
+        DCD     RNG_IRQHandler                    ; RNG global interrupt\r
+        DCD     FPU_IRQHandler                    ; FPU\r
+\r
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\r
+;;\r
+;; Default interrupt handlers.\r
+;;\r
+        THUMB\r
+        PUBWEAK Reset_Handler\r
+        SECTION .text:CODE:NOROOT:REORDER(2)\r
+Reset_Handler\r
+        LDR     R0, =SystemInit\r
+        BLX     R0\r
+        LDR     R0, =__iar_program_start\r
+        BX      R0\r
+\r
+        PUBWEAK NMI_Handler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+NMI_Handler\r
+        B NMI_Handler\r
+\r
+        PUBWEAK HardFault_Handler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+HardFault_Handler\r
+        B HardFault_Handler\r
+\r
+        PUBWEAK MemManage_Handler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+MemManage_Handler\r
+        B MemManage_Handler\r
+\r
+        PUBWEAK BusFault_Handler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+BusFault_Handler\r
+        B BusFault_Handler\r
+\r
+        PUBWEAK UsageFault_Handler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+UsageFault_Handler\r
+        B UsageFault_Handler\r
+\r
+        PUBWEAK SVC_Handler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+SVC_Handler\r
+        B SVC_Handler\r
+\r
+        PUBWEAK DebugMon_Handler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+DebugMon_Handler\r
+        B DebugMon_Handler\r
+\r
+        PUBWEAK PendSV_Handler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+PendSV_Handler\r
+        B PendSV_Handler\r
+\r
+        PUBWEAK SysTick_Handler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+SysTick_Handler\r
+        B SysTick_Handler\r
+\r
+        PUBWEAK WWDG_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+WWDG_IRQHandler\r
+        B WWDG_IRQHandler\r
+\r
+        PUBWEAK PVD_PVM_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+PVD_PVM_IRQHandler\r
+        B PVD_PVM_IRQHandler\r
+\r
+        PUBWEAK TAMP_STAMP_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+TAMP_STAMP_IRQHandler\r
+        B TAMP_STAMP_IRQHandler\r
+\r
+        PUBWEAK RTC_WKUP_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+RTC_WKUP_IRQHandler\r
+        B RTC_WKUP_IRQHandler\r
+\r
+        PUBWEAK FLASH_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+FLASH_IRQHandler\r
+        B FLASH_IRQHandler\r
+\r
+        PUBWEAK RCC_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+RCC_IRQHandler\r
+        B RCC_IRQHandler\r
+\r
+        PUBWEAK EXTI0_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+EXTI0_IRQHandler\r
+        B EXTI0_IRQHandler\r
+\r
+        PUBWEAK EXTI1_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+EXTI1_IRQHandler\r
+        B EXTI1_IRQHandler\r
+\r
+        PUBWEAK EXTI2_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+EXTI2_IRQHandler\r
+        B EXTI2_IRQHandler\r
+\r
+        PUBWEAK EXTI3_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+EXTI3_IRQHandler\r
+        B EXTI3_IRQHandler\r
+\r
+        PUBWEAK EXTI4_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+EXTI4_IRQHandler\r
+        B EXTI4_IRQHandler\r
+\r
+        PUBWEAK DMA1_Channel1_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+DMA1_Channel1_IRQHandler\r
+        B DMA1_Channel1_IRQHandler\r
+\r
+        PUBWEAK DMA1_Channel2_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+DMA1_Channel2_IRQHandler\r
+        B DMA1_Channel2_IRQHandler\r
+\r
+        PUBWEAK DMA1_Channel3_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+DMA1_Channel3_IRQHandler\r
+        B DMA1_Channel3_IRQHandler\r
+\r
+        PUBWEAK DMA1_Channel4_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+DMA1_Channel4_IRQHandler\r
+        B DMA1_Channel4_IRQHandler\r
+\r
+        PUBWEAK DMA1_Channel5_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+DMA1_Channel5_IRQHandler\r
+        B DMA1_Channel5_IRQHandler\r
+\r
+        PUBWEAK DMA1_Channel6_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+DMA1_Channel6_IRQHandler\r
+        B DMA1_Channel6_IRQHandler\r
+\r
+        PUBWEAK DMA1_Channel7_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+DMA1_Channel7_IRQHandler\r
+        B DMA1_Channel7_IRQHandler\r
+\r
+        PUBWEAK ADC1_2_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+ADC1_2_IRQHandler\r
+        B ADC1_2_IRQHandler\r
+\r
+        PUBWEAK CAN1_TX_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+CAN1_TX_IRQHandler\r
+        B CAN1_TX_IRQHandler\r
+\r
+        PUBWEAK CAN1_RX0_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+CAN1_RX0_IRQHandler\r
+        B CAN1_RX0_IRQHandler\r
+\r
+        PUBWEAK CAN1_RX1_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+CAN1_RX1_IRQHandler\r
+        B CAN1_RX1_IRQHandler\r
+\r
+        PUBWEAK CAN1_SCE_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+CAN1_SCE_IRQHandler\r
+        B CAN1_SCE_IRQHandler\r
+\r
+        PUBWEAK EXTI9_5_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+EXTI9_5_IRQHandler\r
+        B EXTI9_5_IRQHandler\r
+\r
+        PUBWEAK TIM1_BRK_TIM15_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+TIM1_BRK_TIM15_IRQHandler\r
+        B TIM1_BRK_TIM15_IRQHandler\r
+\r
+        PUBWEAK TIM1_UP_TIM16_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+TIM1_UP_TIM16_IRQHandler\r
+        B TIM1_UP_TIM16_IRQHandler\r
+\r
+        PUBWEAK TIM1_TRG_COM_TIM17_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+TIM1_TRG_COM_TIM17_IRQHandler\r
+        B TIM1_TRG_COM_TIM17_IRQHandler\r
+\r
+        PUBWEAK TIM1_CC_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+TIM1_CC_IRQHandler\r
+        B TIM1_CC_IRQHandler\r
+\r
+        PUBWEAK TIM2_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+TIM2_IRQHandler\r
+        B TIM2_IRQHandler\r
+\r
+        PUBWEAK TIM3_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+TIM3_IRQHandler\r
+        B TIM3_IRQHandler\r
+\r
+        PUBWEAK TIM4_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+TIM4_IRQHandler\r
+        B TIM4_IRQHandler\r
+\r
+        PUBWEAK I2C1_EV_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+I2C1_EV_IRQHandler\r
+        B I2C1_EV_IRQHandler\r
+\r
+        PUBWEAK I2C1_ER_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+I2C1_ER_IRQHandler\r
+        B I2C1_ER_IRQHandler\r
+\r
+        PUBWEAK I2C2_EV_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+I2C2_EV_IRQHandler\r
+        B I2C2_EV_IRQHandler\r
+\r
+        PUBWEAK I2C2_ER_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+I2C2_ER_IRQHandler\r
+        B I2C2_ER_IRQHandler\r
+\r
+        PUBWEAK SPI1_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+SPI1_IRQHandler\r
+        B SPI1_IRQHandler\r
+\r
+        PUBWEAK SPI2_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+SPI2_IRQHandler\r
+        B SPI2_IRQHandler\r
+\r
+        PUBWEAK USART1_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+USART1_IRQHandler\r
+        B USART1_IRQHandler\r
+\r
+        PUBWEAK USART2_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+USART2_IRQHandler\r
+        B USART2_IRQHandler\r
+\r
+        PUBWEAK USART3_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+USART3_IRQHandler\r
+        B USART3_IRQHandler\r
+\r
+        PUBWEAK EXTI15_10_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+EXTI15_10_IRQHandler\r
+        B EXTI15_10_IRQHandler\r
+\r
+        PUBWEAK RTC_Alarm_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+RTC_Alarm_IRQHandler\r
+        B RTC_Alarm_IRQHandler\r
+\r
+        PUBWEAK DFSDM1_FLT3_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+DFSDM1_FLT3_IRQHandler\r
+        B DFSDM1_FLT3_IRQHandler\r
+\r
+        PUBWEAK TIM8_BRK_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+TIM8_BRK_IRQHandler\r
+        B TIM8_BRK_IRQHandler\r
+\r
+        PUBWEAK TIM8_UP_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+TIM8_UP_IRQHandler\r
+        B TIM8_UP_IRQHandler\r
+\r
+        PUBWEAK TIM8_TRG_COM_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+TIM8_TRG_COM_IRQHandler\r
+        B TIM8_TRG_COM_IRQHandler\r
+\r
+        PUBWEAK TIM8_CC_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+TIM8_CC_IRQHandler\r
+        B TIM8_CC_IRQHandler\r
+\r
+        PUBWEAK ADC3_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+ADC3_IRQHandler\r
+        B ADC3_IRQHandler\r
+\r
+        PUBWEAK FMC_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+FMC_IRQHandler\r
+        B FMC_IRQHandler\r
+\r
+        PUBWEAK SDMMC1_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+SDMMC1_IRQHandler\r
+        B SDMMC1_IRQHandler\r
+\r
+        PUBWEAK TIM5_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+TIM5_IRQHandler\r
+        B TIM5_IRQHandler\r
+\r
+        PUBWEAK SPI3_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+SPI3_IRQHandler\r
+        B SPI3_IRQHandler\r
+\r
+        PUBWEAK UART4_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+UART4_IRQHandler\r
+        B UART4_IRQHandler\r
+\r
+        PUBWEAK UART5_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+UART5_IRQHandler\r
+        B UART5_IRQHandler\r
+\r
+        PUBWEAK TIM6_DAC_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+TIM6_DAC_IRQHandler\r
+        B TIM6_DAC_IRQHandler\r
+\r
+        PUBWEAK TIM7_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+TIM7_IRQHandler\r
+        B TIM7_IRQHandler\r
+\r
+        PUBWEAK DMA2_Channel1_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+DMA2_Channel1_IRQHandler\r
+        B DMA2_Channel1_IRQHandler\r
+\r
+        PUBWEAK DMA2_Channel2_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+DMA2_Channel2_IRQHandler\r
+        B DMA2_Channel2_IRQHandler\r
+\r
+        PUBWEAK DMA2_Channel3_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+DMA2_Channel3_IRQHandler\r
+        B DMA2_Channel3_IRQHandler\r
+\r
+        PUBWEAK DMA2_Channel4_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+DMA2_Channel4_IRQHandler\r
+        B DMA2_Channel4_IRQHandler\r
+\r
+        PUBWEAK DMA2_Channel5_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+DMA2_Channel5_IRQHandler\r
+        B DMA2_Channel5_IRQHandler\r
+\r
+        PUBWEAK DFSDM1_FLT0_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+DFSDM1_FLT0_IRQHandler\r
+        B DFSDM1_FLT0_IRQHandler\r
+\r
+        PUBWEAK DFSDM1_FLT1_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+DFSDM1_FLT1_IRQHandler\r
+        B DFSDM1_FLT1_IRQHandler\r
+\r
+        PUBWEAK DFSDM1_FLT2_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+DFSDM1_FLT2_IRQHandler\r
+        B DFSDM1_FLT2_IRQHandler\r
+\r
+        PUBWEAK COMP_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+COMP_IRQHandler\r
+        B COMP_IRQHandler\r
+\r
+        PUBWEAK LPTIM1_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+LPTIM1_IRQHandler\r
+        B LPTIM1_IRQHandler\r
+\r
+        PUBWEAK LPTIM2_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+LPTIM2_IRQHandler\r
+        B LPTIM2_IRQHandler\r
+\r
+        PUBWEAK OTG_FS_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+OTG_FS_IRQHandler\r
+        B OTG_FS_IRQHandler\r
+\r
+        PUBWEAK DMA2_Channel6_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+DMA2_Channel6_IRQHandler\r
+        B DMA2_Channel6_IRQHandler\r
+\r
+        PUBWEAK DMA2_Channel7_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+DMA2_Channel7_IRQHandler\r
+        B DMA2_Channel7_IRQHandler\r
+\r
+        PUBWEAK LPUART1_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+LPUART1_IRQHandler\r
+        B LPUART1_IRQHandler\r
+\r
+        PUBWEAK QUADSPI_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+QUADSPI_IRQHandler\r
+        B QUADSPI_IRQHandler\r
+\r
+        PUBWEAK I2C3_EV_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+I2C3_EV_IRQHandler\r
+        B I2C3_EV_IRQHandler\r
+\r
+        PUBWEAK I2C3_ER_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+I2C3_ER_IRQHandler\r
+        B I2C3_ER_IRQHandler\r
+\r
+        PUBWEAK SAI1_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+SAI1_IRQHandler\r
+        B SAI1_IRQHandler\r
+\r
+       PUBWEAK SAI2_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+SAI2_IRQHandler\r
+        B SAI2_IRQHandler\r
+\r
+        PUBWEAK SWPMI1_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+SWPMI1_IRQHandler\r
+        B SWPMI1_IRQHandler\r
+\r
+       PUBWEAK TSC_IRQHandler\r
+       SECTION .text:CODE:NOROOT:REORDER(1)\r
+TSC_IRQHandler\r
+       B TSC_IRQHandler\r
+\r
+        PUBWEAK RNG_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+RNG_IRQHandler\r
+        B RNG_IRQHandler\r
+\r
+        PUBWEAK FPU_IRQHandler\r
+        SECTION .text:CODE:NOROOT:REORDER(1)\r
+FPU_IRQHandler\r
+        B FPU_IRQHandler\r
+\r
+        END\r
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/\r
diff --git a/FreeRTOS/Demo/CORTEX_MPU_STM32L4_Discovery_Keil_STM32Cube/Projects/IAR/stm32l475xx_flash.icf b/FreeRTOS/Demo/CORTEX_MPU_STM32L4_Discovery_Keil_STM32Cube/Projects/IAR/stm32l475xx_flash.icf
new file mode 100644 (file)
index 0000000..90a1e1e
--- /dev/null
@@ -0,0 +1,96 @@
+/*###ICF### Section handled by ICF editor, don't touch! ****/\r
+/*-Editor annotation file-*/\r
+/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */\r
+/*-Specials-*/\r
+define symbol __ICFEDIT_intvec_start__ = 0x08000000;\r
+/*-Memory Regions-*/\r
+define symbol __ICFEDIT_region_ROM_start__    = 0x08000000;\r
+define symbol __ICFEDIT_region_ROM_end__      = 0x080FFFFF;\r
+define symbol __ICFEDIT_region_RAM_start__    = 0x20000000;\r
+define symbol __ICFEDIT_region_RAM_end__      = 0x20017FFF;\r
+\r
+/*-Sizes-*/\r
+define symbol __ICFEDIT_size_cstack__ = 0x400;\r
+define symbol __ICFEDIT_size_heap__ = 0x200;\r
+/**** End of ICF editor section. ###ICF###*/\r
+\r
+/* Flash Organization\r
+ *  1. Privileged Code:\r
+ *      Start   : 0x08000000\r
+ *      End     : 0x08007FFF\r
+ *      Size    : 32 Kbytes\r
+ *  2. System calls:\r
+ *      Start   : 0x08008000\r
+ *      End     : 0x08008FFF\r
+ *      Size    : 4 Kbytes\r
+ *  3. Unprivileged Code:\r
+ *      Start   : 0x08009000\r
+ *      End     : 0x080FFFFF\r
+ *      Size    : 988 Kbytes\r
+ */\r
+define symbol __reigon_ROM_privileged_start__   = __ICFEDIT_region_ROM_start__;\r
+define symbol __reigon_ROM_privileged_end__     = 0x08007FFF;\r
+define symbol __reigon_ROM_system_calls_start__ = 0x08008000;\r
+define symbol __reigon_ROM_system_calls_end__   = 0x08008FFF;\r
+define symbol __reigon_ROM_unprivileged_start__ = 0x08009000;\r
+define symbol __reigon_ROM_unprivileged_end__   = __ICFEDIT_region_ROM_end__;\r
+\r
+/* RAM Organization\r
+ *  1. Privileged Data:\r
+ *      Start   : 0x20000000\r
+ *      End     : 0x200003FF\r
+ *      Size    : 1 Kbytes\r
+ *  2. Unprivileged Data:\r
+ *      Start   : 0x20000400\r
+ *      End     : 0x20017FFF\r
+ *      Size    : 95 Kbytes\r
+ */\r
+define symbol __region_RAM_privileged_start__   = __ICFEDIT_region_RAM_start__;\r
+define symbol __region_RAM_privileged_end__     = 0x200003FF;\r
+define symbol __region_RAM_unprivileged_start__ = 0x20000400;\r
+define symbol __region_RAM_unprivileged_end__   = __ICFEDIT_region_RAM_end__;\r
+define symbol __region_SRAM2_start__            = 0x10000000;\r
+define symbol __region_SRAM2_end__              = 0x10007FFF;\r
+\r
+/* Memory regions. */\r
+define memory mem with size = 4G;\r
+define region ROM_region_privileged     = mem:[from __reigon_ROM_privileged_start__ to __reigon_ROM_privileged_end__];\r
+define region ROM_region_system_calls   = mem:[from __reigon_ROM_system_calls_start__ to __reigon_ROM_system_calls_end__];\r
+define region ROM_region_unprivileged   = mem:[from __reigon_ROM_unprivileged_start__ to __reigon_ROM_unprivileged_end__];\r
+define region RAM_region_privileged     = mem:[from __region_RAM_privileged_start__   to __region_RAM_privileged_end__];\r
+define region RAM_region_unprivileged   = mem:[from __region_RAM_unprivileged_start__   to __region_RAM_unprivileged_end__];\r
+define region SRAM2_region              = mem:[from __region_SRAM2_start__   to __region_SRAM2_end__];\r
+\r
+/* Stack and Heap. */\r
+define block CSTACK    with alignment = 8, size = __ICFEDIT_size_cstack__   { };\r
+define block HEAP      with alignment = 8, size = __ICFEDIT_size_heap__     { };\r
+\r
+/* Initialization. */\r
+initialize by copy { readwrite };\r
+do not initialize  { section .noinit };\r
+\r
+/* Exported symbols. */\r
+define exported symbol __FLASH_segment_start__          = __ICFEDIT_region_ROM_start__;\r
+define exported symbol __FLASH_segment_end__            = __ICFEDIT_region_ROM_end__;\r
+define exported symbol __SRAM_segment_start__           = __ICFEDIT_region_RAM_start__;\r
+define exported symbol __SRAM_segment_end__             = __ICFEDIT_region_RAM_end__;\r
+\r
+define exported symbol __privileged_functions_start__   = __reigon_ROM_privileged_start__;\r
+define exported symbol __privileged_functions_end__     = __reigon_ROM_privileged_end__;\r
+define exported symbol __privileged_data_start__        = __region_RAM_privileged_start__;\r
+define exported symbol __privileged_data_end__          = __region_RAM_privileged_end__;\r
+\r
+define exported symbol __syscalls_flash_start__         = __reigon_ROM_system_calls_start__;\r
+define exported symbol __syscalls_flash_end__           = __reigon_ROM_system_calls_end__;\r
+\r
+/* Placements. */\r
+place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };\r
+\r
+place in ROM_region_privileged      { readonly section privileged_functions };\r
+place in ROM_region_system_calls    { readonly section freertos_system_calls };\r
+place in ROM_region_unprivileged    { readonly };\r
+\r
+place in RAM_region_privileged      { readwrite section privileged_data };\r
+place in RAM_region_unprivileged    { readwrite,\r
+                                      block CSTACK, block HEAP }; \r
+place in SRAM2_region               { };\r
index 7ee2605226cc580df5ce4c997b3afd987a11f98a..6cdaf39cd5a9cbe87617bc81cf36c2416e00faf7 100644 (file)
           <Name>-U-O142 -O2254 -SF10000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP (ARM Core") -D00(2BA01477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32L4xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32L475VGTx$CMSIS\Flash\STM32L4xx_1024.FLM)</Name>
         </SetRegEntry>
       </TargetDriverDllRegistry>
-      <Breakpoint>
-        <Bp>
-          <Number>0</Number>
-          <Type>0</Type>
-          <LineNumber>112</LineNumber>
-          <EnabledFlag>1</EnabledFlag>
-          <Address>134274678</Address>
-          <ByteObject>0</ByteObject>
-          <HtxType>0</HtxType>
-          <ManyObjects>0</ManyObjects>
-          <SizeOfObject>0</SizeOfObject>
-          <BreakByAccess>0</BreakByAccess>
-          <BreakIfRCount>1</BreakIfRCount>
-          <Filename>../../Demo/mpu_demo.c</Filename>
-          <ExecCommand></ExecCommand>
-          <Expression>\\MPUDemo\../../Demo/mpu_demo.c\112</Expression>
-        </Bp>
-      </Breakpoint>
+      <Breakpoint/>
       <Tracepoint>
         <THDelay>0</THDelay>
       </Tracepoint>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
+    <File>
+      <GroupNumber>1</GroupNumber>
+      <FileNumber>2</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>.\memfault_handler.c</PathWithFileName>
+      <FilenameWithoutPath>memfault_handler.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
   </Group>
 
   <Group>
     <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>2</GroupNumber>
-      <FileNumber>2</FileNumber>
+      <FileNumber>3</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>2</GroupNumber>
-      <FileNumber>3</FileNumber>
+      <FileNumber>4</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>2</GroupNumber>
-      <FileNumber>4</FileNumber>
+      <FileNumber>5</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>2</GroupNumber>
-      <FileNumber>5</FileNumber>
+      <FileNumber>6</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>2</GroupNumber>
-      <FileNumber>6</FileNumber>
+      <FileNumber>7</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>2</GroupNumber>
-      <FileNumber>7</FileNumber>
+      <FileNumber>8</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>2</GroupNumber>
-      <FileNumber>8</FileNumber>
+      <FileNumber>9</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>2</GroupNumber>
-      <FileNumber>9</FileNumber>
+      <FileNumber>10</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>2</GroupNumber>
-      <FileNumber>10</FileNumber>
+      <FileNumber>11</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>2</GroupNumber>
-      <FileNumber>11</FileNumber>
+      <FileNumber>12</FileNumber>
       <FileType>5</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>2</GroupNumber>
-      <FileNumber>12</FileNumber>
+      <FileNumber>13</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>3</GroupNumber>
-      <FileNumber>13</FileNumber>
+      <FileNumber>14</FileNumber>
       <FileType>5</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>4</GroupNumber>
-      <FileNumber>14</FileNumber>
+      <FileNumber>15</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>4</GroupNumber>
-      <FileNumber>15</FileNumber>
+      <FileNumber>16</FileNumber>
       <FileType>5</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>4</GroupNumber>
-      <FileNumber>16</FileNumber>
+      <FileNumber>17</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>4</GroupNumber>
-      <FileNumber>17</FileNumber>
+      <FileNumber>18</FileNumber>
       <FileType>5</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>5</GroupNumber>
-      <FileNumber>18</FileNumber>
+      <FileNumber>19</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>5</GroupNumber>
-      <FileNumber>19</FileNumber>
+      <FileNumber>20</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>5</GroupNumber>
-      <FileNumber>20</FileNumber>
+      <FileNumber>21</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>5</GroupNumber>
-      <FileNumber>21</FileNumber>
+      <FileNumber>22</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>22</FileNumber>
+      <FileNumber>23</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>23</FileNumber>
+      <FileNumber>24</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>24</FileNumber>
+      <FileNumber>25</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>25</FileNumber>
+      <FileNumber>26</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>26</FileNumber>
+      <FileNumber>27</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>27</FileNumber>
+      <FileNumber>28</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>28</FileNumber>
+      <FileNumber>29</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>29</FileNumber>
+      <FileNumber>30</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>30</FileNumber>
+      <FileNumber>31</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>31</FileNumber>
+      <FileNumber>32</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>32</FileNumber>
+      <FileNumber>33</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>33</FileNumber>
+      <FileNumber>34</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>34</FileNumber>
+      <FileNumber>35</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>35</FileNumber>
+      <FileNumber>36</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>36</FileNumber>
+      <FileNumber>37</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>37</FileNumber>
+      <FileNumber>38</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>38</FileNumber>
+      <FileNumber>39</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>39</FileNumber>
+      <FileNumber>40</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>40</FileNumber>
+      <FileNumber>41</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>41</FileNumber>
+      <FileNumber>42</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>42</FileNumber>
+      <FileNumber>43</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>43</FileNumber>
+      <FileNumber>44</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>44</FileNumber>
+      <FileNumber>45</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>45</FileNumber>
+      <FileNumber>46</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>46</FileNumber>
+      <FileNumber>47</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>47</FileNumber>
+      <FileNumber>48</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
     <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>48</FileNumber>
+      <FileNumber>49</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
index 3e8a9e3904dbefed31f4145fe70a18db734fbee6..b69de9de16bed6aa4e4258b69e35b6e95bdae530 100644 (file)
               <FileType>2</FileType>
               <FilePath>startup_stm32l475xx.s</FilePath>
             </File>
+            <File>
+              <FileName>memfault_handler.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\memfault_handler.c</FilePath>
+            </File>
           </Files>
         </Group>
         <Group>
diff --git a/FreeRTOS/Demo/CORTEX_MPU_STM32L4_Discovery_Keil_STM32Cube/Projects/Keil/memfault_handler.c b/FreeRTOS/Demo/CORTEX_MPU_STM32L4_Discovery_Keil_STM32Cube/Projects/Keil/memfault_handler.c
new file mode 100644 (file)
index 0000000..59efcd7
--- /dev/null
@@ -0,0 +1,69 @@
+/*\r
+ * FreeRTOS Kernel V10.2.1\r
+ * Copyright (C) 2019 Amazon.com, Inc. or its affiliates.  All Rights Reserved.\r
+ *\r
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of\r
+ * this software and associated documentation files (the "Software"), to deal in\r
+ * the Software without restriction, including without limitation the rights to\r
+ * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\r
+ * the Software, and to permit persons to whom the Software is furnished to do so,\r
+ * subject to the following conditions:\r
+ *\r
+ * The above copyright notice and this permission notice shall be included in all\r
+ * copies or substantial portions of the Software.\r
+ *\r
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\r
+ * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\r
+ * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\r
+ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
+ *\r
+ * http://www.FreeRTOS.org\r
+ * http://aws.amazon.com/freertos\r
+ *\r
+ * 1 tab == 4 spaces!\r
+ */\r
+\r
+#include <stdint.h>\r
+\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
+/*-----------------------------------------------------------*/\r
+\r
+/**\r
+ * @brief Mem fault handler.\r
+ */\r
+void MemManage_Handler( void ) __attribute__ (( naked ));\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
diff --git a/FreeRTOS/Demo/CORTEX_MPU_STM32L4_Discovery_Keil_STM32Cube/Projects/STM32Cube/Startup/memfault_handler.c b/FreeRTOS/Demo/CORTEX_MPU_STM32L4_Discovery_Keil_STM32Cube/Projects/STM32Cube/Startup/memfault_handler.c
new file mode 100644 (file)
index 0000000..f0e1b92
--- /dev/null
@@ -0,0 +1,48 @@
+/*\r
+ * FreeRTOS Kernel V10.2.1\r
+ * Copyright (C) 2019 Amazon.com, Inc. or its affiliates.  All Rights Reserved.\r
+ *\r
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of\r
+ * this software and associated documentation files (the "Software"), to deal in\r
+ * the Software without restriction, including without limitation the rights to\r
+ * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\r
+ * the Software, and to permit persons to whom the Software is furnished to do so,\r
+ * subject to the following conditions:\r
+ *\r
+ * The above copyright notice and this permission notice shall be included in all\r
+ * copies or substantial portions of the Software.\r
+ *\r
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\r
+ * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\r
+ * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\r
+ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
+ *\r
+ * http://www.FreeRTOS.org\r
+ * http://aws.amazon.com/freertos\r
+ *\r
+ * 1 tab == 4 spaces!\r
+ */\r
+\r
+/**\r
+ * @brief Mem fault handler.\r
+ */\r
+void MemManage_Handler( void ) __attribute__ (( naked ));\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