From f724b159c7d7d62006e466938abe8762fd4a1179 Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Fri, 10 Nov 2023 14:30:04 +0000 Subject: [PATCH] . --- Makefile | 4 +- bsp/dp32g030/pwmplus.h | 146 + .../CMSIS/Core/Template/ARMv8-M/main_s.c | 58 - .../CMSIS/Core/Template/ARMv8-M/tz_context.c | 200 - .../CoreValidation/Include/CV_Framework.h | 44 - .../CMSIS/CoreValidation/Include/CV_Report.h | 89 - .../CoreValidation/Include/CV_Typedefs.h | 58 - .../CMSIS/CoreValidation/Include/cmsis_cv.h | 135 - .../CMSIS_5/CMSIS/CoreValidation/LICENSE.txt | 201 - .../App/Bootloader_Cortex-M/App.clayer.yml | 14 - .../App/Bootloader_Cortex-M/bootloader.c | 84 - .../App/Validation_Cortex-A/App.clayer.yml | 48 - .../Layer/App/Validation_Cortex-A/main.c | 133 - .../App/Validation_Cortex-M/App.clayer.yml | 73 - .../Layer/App/Validation_Cortex-M/main.c | 143 - .../Target/CA5/RTE/Device/ARMCA5/ARMCA5.icf | 67 - .../RTE/Device/ARMCA5/ARMCA5.icf.base@1.0.0 | 67 - .../Target/CA5/RTE/Device/ARMCA5/ARMCA5.ld | 181 - .../Target/CA5/RTE/Device/ARMCA5/ARMCA5.sct | 77 - .../Target/CA5/RTE/Device/ARMCA5/mem_ARMCA5.h | 100 - .../Target/CA5/RTE/Device/ARMCA5/mmu_ARMCA5.c | 232 - .../CA5/RTE/Device/ARMCA5/startup_ARMCA5.c | 148 - .../Device/ARMCA5/startup_ARMCA5.c.base@1.0.1 | 136 - .../CA5/RTE/Device/ARMCA5/startup_ARMCA5.s | 140 - .../Device/ARMCA5/startup_ARMCA5.s.base@1.0.0 | 140 - .../CA5/RTE/Device/ARMCA5/system_ARMCA5.c | 93 - .../Device/ARMCA5/system_ARMCA5.c.base@1.0.1 | 93 - .../CA5/RTE/Device/ARMCA5/system_ARMCA5.h | 65 - .../Device/ARMCA5/system_ARMCA5.h.base@1.0.0 | 65 - .../Layer/Target/CA5/Target.clayer.yml | 23 - .../Layer/Target/CA5/model_config.txt | 21 - .../Target/CA7/RTE/Device/ARMCA7/ARMCA7.icf | 67 - .../RTE/Device/ARMCA7/ARMCA7.icf.base@1.0.0 | 67 - .../Target/CA7/RTE/Device/ARMCA7/ARMCA7.ld | 181 - .../Target/CA7/RTE/Device/ARMCA7/ARMCA7.sct | 77 - .../Target/CA7/RTE/Device/ARMCA7/mem_ARMCA7.h | 100 - .../Target/CA7/RTE/Device/ARMCA7/mmu_ARMCA7.c | 232 - .../CA7/RTE/Device/ARMCA7/startup_ARMCA7.c | 148 - .../Device/ARMCA7/startup_ARMCA7.c.base@1.0.1 | 136 - .../CA7/RTE/Device/ARMCA7/startup_ARMCA7.s | 140 - .../Device/ARMCA7/startup_ARMCA7.s.base@1.0.0 | 140 - .../CA7/RTE/Device/ARMCA7/system_ARMCA7.c | 93 - .../Device/ARMCA7/system_ARMCA7.c.base@1.0.1 | 93 - .../CA7/RTE/Device/ARMCA7/system_ARMCA7.h | 65 - .../Device/ARMCA7/system_ARMCA7.h.base@1.0.0 | 65 - .../Layer/Target/CA7/Target.clayer.yml | 23 - .../Layer/Target/CA7/model_config.txt | 22 - .../Target/CA9/RTE/Device/ARMCA9/ARMCA9.icf | 67 - .../RTE/Device/ARMCA9/ARMCA9.icf.base@1.0.0 | 67 - .../Target/CA9/RTE/Device/ARMCA9/ARMCA9.ld | 181 - .../Target/CA9/RTE/Device/ARMCA9/ARMCA9.sct | 77 - .../Target/CA9/RTE/Device/ARMCA9/mem_ARMCA9.h | 100 - .../Target/CA9/RTE/Device/ARMCA9/mmu_ARMCA9.c | 232 - .../CA9/RTE/Device/ARMCA9/startup_ARMCA9.c | 148 - .../CA9/RTE/Device/ARMCA9/startup_ARMCA9.s | 140 - .../Device/ARMCA9/startup_ARMCA9.s.base@1.0.0 | 140 - .../CA9/RTE/Device/ARMCA9/system_ARMCA9.c | 93 - .../CA9/RTE/Device/ARMCA9/system_ARMCA9.h | 65 - .../Device/ARMCA9/system_ARMCA9.h.base@1.0.0 | 65 - .../Layer/Target/CA9/Target.clayer.yml | 23 - .../Layer/Target/CA9/model_config.txt | 21 - .../CM0/RTE/Device/ARMCM0/ARMCM0_ac6.sct | 80 - .../Target/CM0/RTE/Device/ARMCM0/gcc_arm.ld | 296 -- .../CM0/RTE/Device/ARMCM0/startup_ARMCM0.c | 146 - .../Device/ARMCM0/startup_ARMCM0.c.base@2.0.3 | 146 - .../CM0/RTE/Device/ARMCM0/system_ARMCM0.c | 56 - .../Target/CM0/RTE/Device/ARMCM0/tiac_arm.cmd | 41 - .../Layer/Target/CM0/Target.clayer.yml | 22 - .../Layer/Target/CM0/model_config.txt | 8 - .../RTE/Device/ARMCM0P/ARMCM0plus_ac6.sct | 80 - .../CM0plus/RTE/Device/ARMCM0P/gcc_arm.ld | 296 -- .../RTE/Device/ARMCM0P/startup_ARMCM0plus.c | 148 - .../ARMCM0P/startup_ARMCM0plus.c.base@2.0.3 | 148 - .../RTE/Device/ARMCM0P/system_ARMCM0plus.c | 65 - .../CM0plus/RTE/Device/ARMCM0P/tiac_arm.cmd | 41 - .../Layer/Target/CM0plus/Target.clayer.yml | 22 - .../Layer/Target/CM0plus/model_config.txt | 8 - .../CM23/RTE/Device/ARMCM23/ARMCM23_ac6.sct | 123 - .../Target/CM23/RTE/Device/ARMCM23/gcc_arm.ld | 316 -- .../CM23/RTE/Device/ARMCM23/startup_ARMCM23.c | 161 - .../ARMCM23/startup_ARMCM23.c.base@2.1.0 | 161 - .../CM23/RTE/Device/ARMCM23/system_ARMCM23.c | 80 - .../Layer/Target/CM23/Target.clayer.yml | 22 - .../Layer/Target/CM23/model_config.txt | 16 - .../RTE/Device/ARMCM23_TZ/ARMCM23_ac6.sct | 123 - .../CM23NS/RTE/Device/ARMCM23_TZ/gcc_arm.ld | 316 -- .../RTE/Device/ARMCM23_TZ/startup_ARMCM23.c | 161 - .../ARMCM23_TZ/startup_ARMCM23.c.base@2.1.0 | 161 - .../RTE/Device/ARMCM23_TZ/system_ARMCM23.c | 80 - .../Layer/Target/CM23NS/Target.clayer.yml | 22 - .../Layer/Target/CM23NS/model_config.txt | 16 - .../RTE/Device/ARMCM23_TZ/ARMCM23_ac6_s.sct | 123 - .../CM23S/RTE/Device/ARMCM23_TZ/gcc_arm.ld | 316 -- .../RTE/Device/ARMCM23_TZ/partition_ARMCM23.h | 832 ---- .../RTE/Device/ARMCM23_TZ/startup_ARMCM23.c | 161 - .../ARMCM23_TZ/startup_ARMCM23.c.base@2.1.0 | 161 - .../RTE/Device/ARMCM23_TZ/system_ARMCM23.c | 80 - .../Layer/Target/CM23S/Target.clayer.yml | 22 - .../Layer/Target/CM23S/model_config.txt | 16 - .../RTE/Device/ARMCM23_TZ/ARMCM23_ac6_s.sct | 123 - .../CM23S_BL/RTE/Device/ARMCM23_TZ/gcc_arm.ld | 316 -- .../RTE/Device/ARMCM23_TZ/partition_ARMCM23.h | 832 ---- .../RTE/Device/ARMCM23_TZ/startup_ARMCM23.c | 161 - .../ARMCM23_TZ/startup_ARMCM23.c.base@2.1.0 | 161 - .../RTE/Device/ARMCM23_TZ/system_ARMCM23.c | 80 - .../Layer/Target/CM23S_BL/Target.clayer.yml | 22 - .../Layer/Target/CM23S_BL/model_config.txt | 16 - .../CM3/RTE/Device/ARMCM3/ARMCM3_ac6.sct | 80 - .../Device/ARMCM3/ARMCM3_ac6.sct.base@1.0.0 | 76 - .../Target/CM3/RTE/Device/ARMCM3/gcc_arm.ld | 296 -- .../CM3/RTE/Device/ARMCM3/startup_ARMCM3.c | 150 - .../Device/ARMCM3/startup_ARMCM3.c.base@2.0.3 | 150 - .../CM3/RTE/Device/ARMCM3/system_ARMCM3.c | 65 - .../Device/ARMCM3/system_ARMCM3.c.base@1.0.1 | 65 - .../Target/CM3/RTE/Device/ARMCM3/tiac_arm.cmd | 41 - .../Layer/Target/CM3/Target.clayer.yml | 22 - .../Layer/Target/CM3/model_config.txt | 13 - .../RTE/Device/ARMCM33_DSP_FP/ARMCM33_ac6.sct | 123 - .../CM33/RTE/Device/ARMCM33_DSP_FP/gcc_arm.ld | 316 -- .../Device/ARMCM33_DSP_FP/startup_ARMCM33.c | 170 - .../startup_ARMCM33.c.base@2.1.0 | 170 - .../Device/ARMCM33_DSP_FP/system_ARMCM33.c | 97 - .../RTE/Device/ARMCM33_DSP_FP/tiac_arm.cmd | 41 - .../Layer/Target/CM33/Target.clayer.yml | 22 - .../Layer/Target/CM33/model_config.txt | 32 - .../Device/ARMCM33_DSP_FP_TZ/ARMCM33_ac6.sct | 123 - .../RTE/Device/ARMCM33_DSP_FP_TZ/gcc_arm.ld | 316 -- .../ARMCM33_DSP_FP_TZ/startup_ARMCM33.c | 170 - .../startup_ARMCM33.c.base@2.1.0 | 170 - .../Device/ARMCM33_DSP_FP_TZ/system_ARMCM33.c | 97 - .../Layer/Target/CM33NS/Target.clayer.yml | 22 - .../Layer/Target/CM33NS/model_config.txt | 32 - .../ARMCM33_DSP_FP_TZ/ARMCM33_ac6_s.sct | 123 - .../RTE/Device/ARMCM33_DSP_FP_TZ/gcc_arm.ld | 316 -- .../ARMCM33_DSP_FP_TZ/partition_ARMCM33.h | 1260 ----- .../ARMCM33_DSP_FP_TZ/startup_ARMCM33.c | 170 - .../startup_ARMCM33.c.base@2.1.0 | 170 - .../Device/ARMCM33_DSP_FP_TZ/system_ARMCM33.c | 97 - .../Layer/Target/CM33S/Target.clayer.yml | 22 - .../Layer/Target/CM33S/model_config.txt | 32 - .../ARMCM33_DSP_FP_TZ/ARMCM33_ac6_s.sct | 123 - .../RTE/Device/ARMCM33_DSP_FP_TZ/gcc_arm.ld | 316 -- .../ARMCM33_DSP_FP_TZ/partition_ARMCM33.h | 1260 ----- .../ARMCM33_DSP_FP_TZ/startup_ARMCM33.c | 170 - .../startup_ARMCM33.c.base@2.1.0 | 170 - .../Device/ARMCM33_DSP_FP_TZ/system_ARMCM33.c | 97 - .../Layer/Target/CM33S_BL/Target.clayer.yml | 22 - .../Layer/Target/CM33S_BL/model_config.txt | 32 - .../Device/ARMCM35P_DSP_FP/ARMCM35P_ac6.sct | 123 - .../RTE/Device/ARMCM35P_DSP_FP/gcc_arm.ld | 316 -- .../Device/ARMCM35P_DSP_FP/startup_ARMCM35P.c | 170 - .../startup_ARMCM35P.c.base@2.1.0 | 170 - .../Device/ARMCM35P_DSP_FP/system_ARMCM35P.c | 97 - .../Layer/Target/CM35P/Target.clayer.yml | 22 - .../Layer/Target/CM35P/model_config.txt | 32 - .../ARMCM35P_DSP_FP_TZ/ARMCM35P_ac6.sct | 123 - .../RTE/Device/ARMCM35P_DSP_FP_TZ/gcc_arm.ld | 316 -- .../ARMCM35P_DSP_FP_TZ/startup_ARMCM35P.c | 170 - .../startup_ARMCM35P.c.base@2.1.0 | 170 - .../ARMCM35P_DSP_FP_TZ/system_ARMCM35P.c | 97 - .../Layer/Target/CM35PNS/Target.clayer.yml | 22 - .../Layer/Target/CM35PNS/model_config.txt | 32 - .../ARMCM35P_DSP_FP_TZ/ARMCM35P_ac6_s.sct | 123 - .../RTE/Device/ARMCM35P_DSP_FP_TZ/gcc_arm.ld | 316 -- .../ARMCM35P_DSP_FP_TZ/partition_ARMCM35P.h | 1260 ----- .../ARMCM35P_DSP_FP_TZ/startup_ARMCM35P.c | 170 - .../startup_ARMCM35P.c.base@2.1.0 | 170 - .../ARMCM35P_DSP_FP_TZ/system_ARMCM35P.c | 97 - .../Layer/Target/CM35PS/Target.clayer.yml | 22 - .../Layer/Target/CM35PS/model_config.txt | 32 - .../ARMCM35P_DSP_FP_TZ/ARMCM35P_ac6_s.sct | 123 - .../RTE/Device/ARMCM35P_DSP_FP_TZ/gcc_arm.ld | 316 -- .../ARMCM35P_DSP_FP_TZ/partition_ARMCM35P.h | 1260 ----- .../ARMCM35P_DSP_FP_TZ/startup_ARMCM35P.c | 170 - .../startup_ARMCM35P.c.base@2.1.0 | 170 - .../ARMCM35P_DSP_FP_TZ/system_ARMCM35P.c | 97 - .../Layer/Target/CM35PS_BL/Target.clayer.yml | 22 - .../Layer/Target/CM35PS_BL/model_config.txt | 32 - .../CM4/RTE/Device/ARMCM4/ARMCM4_ac6.sct | 80 - .../Target/CM4/RTE/Device/ARMCM4/gcc_arm.ld | 296 -- .../CM4/RTE/Device/ARMCM4/startup_ARMCM4.c | 152 - .../Device/ARMCM4/startup_ARMCM4.c.base@2.0.3 | 152 - .../CM4/RTE/Device/ARMCM4/system_ARMCM4.c | 81 - .../Target/CM4/RTE/Device/ARMCM4/tiac_arm.cmd | 41 - .../Layer/Target/CM4/Target.clayer.yml | 22 - .../Layer/Target/CM4/model_config.txt | 14 - .../CM4FP/RTE/Device/ARMCM4_FP/ARMCM4_ac6.sct | 80 - .../CM4FP/RTE/Device/ARMCM4_FP/gcc_arm.ld | 296 -- .../RTE/Device/ARMCM4_FP/startup_ARMCM4.c | 152 - .../ARMCM4_FP/startup_ARMCM4.c.base@2.0.3 | 152 - .../RTE/Device/ARMCM4_FP/system_ARMCM4.c | 81 - .../CM4FP/RTE/Device/ARMCM4_FP/tiac_arm.cmd | 41 - .../Layer/Target/CM4FP/Target.clayer.yml | 22 - .../Layer/Target/CM4FP/model_config.txt | 14 - .../CM55NS/RTE/Device/ARMCM55/ARMCM55_ac6.sct | 123 - .../Device/ARMCM55/ARMCM55_ac6.sct.base@1.1.0 | 119 - .../CM55NS/RTE/Device/ARMCM55/gcc_arm.ld | 316 -- .../RTE/Device/ARMCM55/startup_ARMCM55.c | 164 - .../ARMCM55/startup_ARMCM55.c.base@1.1.0 | 164 - .../RTE/Device/ARMCM55/system_ARMCM55.c | 107 - .../ARMCM55/system_ARMCM55.c.base@1.1.0 | 107 - .../Layer/Target/CM55NS/Target.clayer.yml | 22 - .../Layer/Target/CM55NS/model_config.txt | 29 - .../RTE/Device/ARMCM55/ARMCM55_ac6_s.sct | 123 - .../ARMCM55/ARMCM55_ac6_s.sct.base@1.1.0 | 119 - .../CM55S/RTE/Device/ARMCM55/gcc_arm.ld | 316 -- .../RTE/Device/ARMCM55/partition_ARMCM55.h | 1261 ----- .../RTE/Device/ARMCM55/startup_ARMCM55.c | 164 - .../ARMCM55/startup_ARMCM55.c.base@1.1.0 | 164 - .../CM55S/RTE/Device/ARMCM55/system_ARMCM55.c | 107 - .../ARMCM55/system_ARMCM55.c.base@1.1.0 | 107 - .../Layer/Target/CM55S/Target.clayer.yml | 22 - .../Layer/Target/CM55S/model_config.txt | 29 - .../RTE/Device/ARMCM55/ARMCM55_ac6_s.sct | 123 - .../ARMCM55/ARMCM55_ac6_s.sct.base@1.1.0 | 119 - .../CM55S_BL/RTE/Device/ARMCM55/gcc_arm.ld | 316 -- .../RTE/Device/ARMCM55/partition_ARMCM55.h | 1261 ----- .../RTE/Device/ARMCM55/startup_ARMCM55.c | 164 - .../ARMCM55/startup_ARMCM55.c.base@1.1.0 | 164 - .../RTE/Device/ARMCM55/system_ARMCM55.c | 107 - .../ARMCM55/system_ARMCM55.c.base@1.1.0 | 107 - .../Layer/Target/CM55S_BL/Target.clayer.yml | 22 - .../Layer/Target/CM55S_BL/model_config.txt | 29 - .../CM7/RTE/Device/ARMCM7/ARMCM7_ac6.sct | 80 - .../Target/CM7/RTE/Device/ARMCM7/gcc_arm.ld | 296 -- .../CM7/RTE/Device/ARMCM7/startup_ARMCM7.c | 154 - .../Device/ARMCM7/startup_ARMCM7.c.base@2.0.3 | 154 - .../CM7/RTE/Device/ARMCM7/system_ARMCM7.c | 83 - .../Layer/Target/CM7/Target.clayer.yml | 22 - .../Layer/Target/CM7/model_config.txt | 14 - .../CM7DP/RTE/Device/ARMCM7_DP/ARMCM7_ac6.sct | 80 - .../CM7DP/RTE/Device/ARMCM7_DP/gcc_arm.ld | 296 -- .../RTE/Device/ARMCM7_DP/startup_ARMCM7.c | 154 - .../ARMCM7_DP/startup_ARMCM7.c.base@2.0.3 | 154 - .../RTE/Device/ARMCM7_DP/system_ARMCM7.c | 83 - .../Layer/Target/CM7DP/Target.clayer.yml | 22 - .../Layer/Target/CM7DP/model_config.txt | 15 - .../CM7SP/RTE/Device/ARMCM7_SP/ARMCM7_ac6.sct | 80 - .../CM7SP/RTE/Device/ARMCM7_SP/gcc_arm.ld | 296 -- .../RTE/Device/ARMCM7_SP/startup_ARMCM7.c | 154 - .../ARMCM7_SP/startup_ARMCM7.c.base@2.0.3 | 154 - .../RTE/Device/ARMCM7_SP/system_ARMCM7.c | 83 - .../Layer/Target/CM7SP/Target.clayer.yml | 22 - .../Layer/Target/CM7SP/model_config.txt | 15 - .../CM85NS/RTE/Device/ARMCM85/ARMCM85_ac6.sct | 130 - .../Device/ARMCM85/ARMCM85_ac6.sct.base@1.0.0 | 126 - .../CM85NS/RTE/Device/ARMCM85/gcc_arm.ld | 314 -- .../RTE/Device/ARMCM85/gcc_arm.ld.base@1.0.0 | 314 -- .../RTE/Device/ARMCM85/startup_ARMCM85.c | 164 - .../ARMCM85/startup_ARMCM85.c.base@1.0.0 | 164 - .../RTE/Device/ARMCM85/system_ARMCM85.c | 106 - .../ARMCM85/system_ARMCM85.c.base@1.0.0 | 106 - .../Layer/Target/CM85NS/Target.clayer.yml | 22 - .../Layer/Target/CM85NS/model_config.txt | 30 - .../RTE/Device/ARMCM85/ARMCM85_ac6_s.sct | 130 - .../ARMCM85/ARMCM85_ac6_s.sct.base@1.0.0 | 126 - .../CM85S/RTE/Device/ARMCM85/gcc_arm.ld | 314 -- .../RTE/Device/ARMCM85/gcc_arm.ld.base@1.0.0 | 314 -- .../RTE/Device/ARMCM85/partition_ARMCM85.h | 1301 ----- .../ARMCM85/partition_ARMCM85.h.base@1.0.0 | 1301 ----- .../RTE/Device/ARMCM85/startup_ARMCM85.c | 164 - .../ARMCM85/startup_ARMCM85.c.base@1.0.0 | 164 - .../CM85S/RTE/Device/ARMCM85/system_ARMCM85.c | 106 - .../ARMCM85/system_ARMCM85.c.base@1.0.0 | 106 - .../Layer/Target/CM85S/Target.clayer.yml | 22 - .../Layer/Target/CM85S/model_config.txt | 30 - .../RTE/Device/ARMCM85/ARMCM85_ac6_s.sct | 130 - .../ARMCM85/ARMCM85_ac6_s.sct.base@1.0.0 | 126 - .../CM85S_BL/RTE/Device/ARMCM85/gcc_arm.ld | 314 -- .../RTE/Device/ARMCM85/gcc_arm.ld.base@1.0.0 | 314 -- .../RTE/Device/ARMCM85/partition_ARMCM85.h | 1301 ----- .../ARMCM85/partition_ARMCM85.h.base@1.0.0 | 1301 ----- .../RTE/Device/ARMCM85/startup_ARMCM85.c | 164 - .../ARMCM85/startup_ARMCM85.c.base@1.0.0 | 164 - .../RTE/Device/ARMCM85/system_ARMCM85.c | 106 - .../ARMCM85/system_ARMCM85.c.base@1.0.0 | 106 - .../Layer/Target/CM85S_BL/Target.clayer.yml | 22 - .../Layer/Target/CM85S_BL/model_config.txt | 30 - .../Project/Bootloader.cproject.yml | 117 - .../Project/Validation.cproject.yml | 491 -- .../Project/Validation.csolution.yml | 235 - .../CMSIS/CoreValidation/Project/avh.yml | 39 - .../CMSIS/CoreValidation/Project/build.py | 259 - .../CoreValidation/Project/cpacklist.txt | 1 - .../CoreValidation/Project/requirements.txt | 6 - .../CoreValidation/Project/validation.xsl | 42 - .../CMSIS_5/CMSIS/CoreValidation/README.md | 133 - .../CoreValidation/Source/CV_CAL1Cache.c | 181 - .../CoreValidation/Source/CV_CML1Cache.c | 56 - .../CoreValidation/Source/CV_CoreAFunc.c | 284 -- .../CMSIS/CoreValidation/Source/CV_CoreFunc.c | 723 --- .../CoreValidation/Source/CV_CoreInstr.c | 821 ---- .../CMSIS/CoreValidation/Source/CV_CoreSimd.c | 713 --- .../CoreValidation/Source/CV_Framework.c | 104 - .../CMSIS/CoreValidation/Source/CV_GenTimer.c | 70 - .../CoreValidation/Source/CV_MPU_ARMv7.c | 121 - .../CoreValidation/Source/CV_MPU_ARMv8.c | 113 - .../CMSIS/CoreValidation/Source/CV_Report.c | 393 -- .../CoreValidation/Source/Config/CV_Config.h | 158 - .../Source/Config/CV_Config_template.h | 146 - .../Source/Config/partition_ARMCM23.h | 832 ---- .../Source/Config/partition_ARMCM33.h | 1260 ----- .../Source/Config/partition_ARMCM35P.h | 1260 ----- .../Source/Config/partition_ARMCM55.h | 1261 ----- .../CoreValidation/Source/ConfigA/CV_Config.h | 124 - .../Source/ConfigA/CV_Config_template.h | 120 - .../CMSIS/CoreValidation/Source/cmsis_cv.c | 189 - .../CMSIS/Core_A/Include/cmsis_armcc.h | 605 --- .../CMSIS/Core_A/Include/cmsis_armclang.h | 644 --- .../CMSIS/Core_A/Include/cmsis_compiler.h | 245 - .../CMSIS_5/CMSIS/Core_A/Include/cmsis_cp15.h | 523 -- .../CMSIS_5/CMSIS/Core_A/Include/cmsis_gcc.h | 966 ---- .../CMSIS/Core_A/Include/cmsis_iccarm.h | 573 --- .../CMSIS_5/CMSIS/Core_A/Include/core_ca.h | 2940 ----------- .../CMSIS_5/CMSIS/Core_A/Include/irq_ctrl.h | 192 - .../CMSIS/Core_A/Source/irq_ctrl_gic.c | 433 -- .../CMSIS/DAP/Firmware/Config/DAP_config.h | 561 --- .../Examples/LPC-Link2/CMSIS_DAP.uvguix | 1878 ------- .../Examples/LPC-Link2/CMSIS_DAP.uvoptx | 554 --- .../Examples/LPC-Link2/CMSIS_DAP.uvprojx | 1208 ----- .../Firmware/Examples/LPC-Link2/DAP_config.h | 709 --- .../LPC-Link2_LPC4370_Cortex-M4.dbgconf | 43 - ...C-Link2_on-board_LPC4322_Cortex-M4.dbgconf | 43 - .../Examples/LPC-Link2/Objects/CMSIS_DAP.hex | 4356 ----------------- .../DAP/Firmware/Examples/LPC-Link2/README.md | 8 - .../Examples/LPC-Link2/RTE/CMSIS/RTX_Config.c | 63 - .../Examples/LPC-Link2/RTE/CMSIS/RTX_Config.h | 580 --- .../RTE/Device/LPC4322_Cortex-M4/RTE_Device.h | 2483 ---------- .../LPC4322_Cortex-M4/startup_LPC43xx.s | 333 -- .../Device/LPC4322_Cortex-M4/system_LPC43xx.c | 938 ---- .../RTE/Device/LPC4370_Cortex-M4/RTE_Device.h | 2483 ---------- .../LPC4370_Cortex-M4/startup_LPC43xx.s | 333 -- .../Device/LPC4370_Cortex-M4/system_LPC43xx.c | 938 ---- .../LPC-Link2/RTE/USB/USBD_Config_0.c | 206 - .../LPC-Link2/RTE/USB/USBD_Config_CDC_0.h | 364 -- .../RTE/USB/USBD_Config_CustomClass_0.h | 3771 -------------- .../LPC-Link2/USBD_User_CDC_ACM_UART_0.c | 381 -- .../LPC-Link2/USBD_User_CustomClass_0.c | 358 -- .../DAP/Firmware/Examples/LPC-Link2/main.c | 78 - .../Firmware/Examples/LPC-Link2/osObjects.h | 54 - .../DAP/Firmware/Examples/LPC-Link2/ser_num.c | 93 - .../DAP/Firmware/Examples/LPC-Link2/ser_num.h | 33 - .../DAP/Firmware/Examples/LPC-Link2/target.c | 35 - .../Examples/MCU-LINK/CMSIS_DAP.uvguix | 3619 -------------- .../Examples/MCU-LINK/CMSIS_DAP.uvoptx | 480 -- .../Examples/MCU-LINK/CMSIS_DAP.uvprojx | 955 ---- .../Firmware/Examples/MCU-LINK/DAP_config.h | 651 --- .../MCU-Link_LPC55S69JBD64_cm33_core0.dbgconf | 18 - .../Firmware/Examples/MCU-LINK/MCU-Link.mex | 743 --- .../Examples/MCU-LINK/Objects/CMSIS_DAP.hex | 4356 ----------------- .../DAP/Firmware/Examples/MCU-LINK/README.md | 13 - .../Examples/MCU-LINK/RTE/CMSIS/RTX_Config.c | 64 - .../Examples/MCU-LINK/RTE/CMSIS/RTX_Config.h | 580 --- .../LPC55S69_cm33_core0_flash.scf | 105 - .../LPC55S69_cm33_core0_flash_ns.scf | 107 - .../LPC55S69_cm33_core0_flash_s.scf | 116 - .../LPC55S69_cm33_core0_ram.scf | 105 - .../LPC55S69JBD64_cm33_core0/RTE_Device.h | 215 - .../startup_LPC55S69_cm33_core0.S | 801 --- .../Examples/MCU-LINK/RTE/USB/USBD_Config_0.c | 206 - .../MCU-LINK/RTE/USB/USBD_Config_CDC_0.h | 364 -- .../RTE/USB/USBD_Config_CustomClass_0.h | 3771 -------------- .../Examples/MCU-LINK/USBD1_LPC55xxx.c | 984 ---- .../MCU-LINK/USBD_User_CDC_ACM_UART_0.c | 381 -- .../MCU-LINK/USBD_User_CustomClass_0.c | 358 -- .../Firmware/Examples/MCU-LINK/USB_LPC55xxx.h | 70 - .../Examples/MCU-LINK/board/clock_config.c | 150 - .../Examples/MCU-LINK/board/clock_config.h | 62 - .../Examples/MCU-LINK/board/peripherals.c | 77 - .../Examples/MCU-LINK/board/peripherals.h | 33 - .../Examples/MCU-LINK/board/pin_mux.c | 337 -- .../Examples/MCU-LINK/board/pin_mux.h | 276 -- .../Firmware/Examples/MCU-LINK/fsl_usart.c | 1284 ----- .../DAP/Firmware/Examples/MCU-LINK/main.c | 96 - .../Firmware/Examples/MCU-LINK/osObjects.h | 54 - .../DAP/Firmware/Examples/MCU-LINK/ser_num.c | 86 - .../DAP/Firmware/Examples/MCU-LINK/ser_num.h | 33 - .../CMSIS_5/CMSIS/DAP/Firmware/Include/DAP.h | 367 -- .../CMSIS_5/CMSIS/DAP/Firmware/Source/DAP.c | 1816 ------- .../CMSIS/DAP/Firmware/Source/DAP_vendor.c | 100 - .../CMSIS/DAP/Firmware/Source/JTAG_DP.c | 370 -- .../CMSIS_5/CMSIS/DAP/Firmware/Source/SWO.c | 798 --- .../CMSIS_5/CMSIS/DAP/Firmware/Source/SW_DP.c | 286 -- .../CMSIS_5/CMSIS/DAP/Firmware/Source/UART.c | 652 --- .../DAP/Firmware/Template/CMSIS_DAP_v2.inf | 54 - .../Template/MDK5/USBD_User_CDC_ACM_UART_0.c | 381 -- .../Template/MDK5/USBD_User_CustomClass_0.c | 358 -- .../Firmware/Template/MDK5/USBD_User_HID_0.c | 246 - .../CMSIS/DAP/Firmware/Template/MDK5/main.c | 71 - .../DAP/Firmware/Template/MDK5/osObjects.h | 54 - .../DAP/Firmware/Validation/MDK5/README.md | 37 - .../MDK5/RTE/Device/ARMCM3/startup_ARMCM3.s | 262 - .../MDK5/RTE/Device/ARMCM3/system_ARMCM3.c | 68 - .../MDK5/RTE/_CMSIS_DAP/RTE_Components.h | 21 - .../Validation/MDK5/Validation.CMSIS_DAP.cprj | 45 - .../Validation/MDK5/Validation.uvguix | 1878 ------- .../Validation/MDK5/Validation.uvoptx | 248 - .../Validation/MDK5/Validation.uvprojx | 449 -- .../DAP/Firmware/Validation/MDK5/test.bat | 50 - .../CMSIS/DAP/Firmware/Validation/MDK5/test.c | 89 - .../DAP/Firmware/Validation/MDK5/test.ini | 430 -- .../CMSIS/Driver/DriverTemplates/Driver_CAN.c | 317 -- .../Driver/DriverTemplates/Driver_ETH_MAC.c | 231 - .../Driver/DriverTemplates/Driver_ETH_PHY.c | 128 - .../Driver/DriverTemplates/Driver_Flash.c | 144 - .../CMSIS/Driver/DriverTemplates/Driver_I2C.c | 150 - .../CMSIS/Driver/DriverTemplates/Driver_MCI.c | 225 - .../Driver/DriverTemplates/Driver_NAND.c | 190 - .../CMSIS/Driver/DriverTemplates/Driver_SAI.c | 128 - .../CMSIS/Driver/DriverTemplates/Driver_SPI.c | 150 - .../Driver/DriverTemplates/Driver_Storage.c | 118 - .../Driver/DriverTemplates/Driver_USART.c | 153 - .../Driver/DriverTemplates/Driver_USBD.c | 164 - .../Driver/DriverTemplates/Driver_USBH.c | 181 - .../Driver/DriverTemplates/Driver_WiFi.c | 213 - .../CMSIS_5/CMSIS/Driver/Include/Driver_CAN.h | 388 -- .../CMSIS/Driver/Include/Driver_Common.h | 69 - .../CMSIS_5/CMSIS/Driver/Include/Driver_ETH.h | 87 - .../CMSIS/Driver/Include/Driver_ETH_MAC.h | 310 -- .../CMSIS/Driver/Include/Driver_ETH_PHY.h | 143 - .../CMSIS/Driver/Include/Driver_Flash.h | 209 - .../CMSIS_5/CMSIS/Driver/Include/Driver_I2C.h | 223 - .../CMSIS_5/CMSIS/Driver/Include/Driver_MCI.h | 366 -- .../CMSIS/Driver/Include/Driver_NAND.h | 426 -- .../CMSIS_5/CMSIS/Driver/Include/Driver_SAI.h | 315 -- .../CMSIS_5/CMSIS/Driver/Include/Driver_SPI.h | 254 - .../CMSIS/Driver/Include/Driver_Storage.h | 434 -- .../CMSIS/Driver/Include/Driver_USART.h | 347 -- .../CMSIS_5/CMSIS/Driver/Include/Driver_USB.h | 92 - .../CMSIS/Driver/Include/Driver_USBD.h | 279 -- .../CMSIS/Driver/Include/Driver_USBH.h | 423 -- .../CMSIS/Driver/Include/Driver_WiFi.h | 666 --- .../CMSIS/Driver/VIO/Include/cmsis_vio.h | 175 - .../CMSIS_5/CMSIS/Driver/VIO/Source/vio.c | 337 -- .../CMSIS/Driver/VIO/Source/vio_memory.c | 208 - .../CMSIS_5/CMSIS/Driver/VIO/cmsis_vio.scvd | 78 - .../Device/ARM/ARMCA5/Config/mem_ARMCA5.h | 100 - .../Device/ARM/ARMCA5/Config/system_ARMCA5.h | 65 - .../Device/ARM/ARMCA5/Include/ARMCA5.h | 138 - .../Device/ARM/ARMCA5/Source/AC5/ARMCA5.sct | 77 - .../ARM/ARMCA5/Source/AC5/startup_ARMCA5.c | 151 - .../Device/ARM/ARMCA5/Source/AC6/ARMCA5.sct | 77 - .../ARM/ARMCA5/Source/AC6/startup_ARMCA5.c | 136 - .../Device/ARM/ARMCA5/Source/GCC/ARMCA5.ld | 181 - .../Device/ARM/ARMCA5/Source/GCC/ARMCA5.sct | 77 - .../ARM/ARMCA5/Source/GCC/startup_ARMCA5.c | 136 - .../Device/ARM/ARMCA5/Source/IAR/ARMCA5.icf | 67 - .../ARM/ARMCA5/Source/IAR/startup_ARMCA5.s | 140 - .../Device/ARM/ARMCA5/Source/mmu_ARMCA5.c | 232 - .../Device/ARM/ARMCA5/Source/system_ARMCA5.c | 93 - .../Device/ARM/ARMCA7/Config/mem_ARMCA7.h | 100 - .../Device/ARM/ARMCA7/Config/system_ARMCA7.h | 65 - .../Device/ARM/ARMCA7/Include/ARMCA7.h | 135 - .../Device/ARM/ARMCA7/Source/AC5/ARMCA7.sct | 77 - .../ARM/ARMCA7/Source/AC5/startup_ARMCA7.c | 151 - .../Device/ARM/ARMCA7/Source/AC6/ARMCA7.sct | 77 - .../ARM/ARMCA7/Source/AC6/startup_ARMCA7.c | 136 - .../Device/ARM/ARMCA7/Source/GCC/ARMCA7.ld | 181 - .../ARM/ARMCA7/Source/GCC/startup_ARMCA7.c | 136 - .../Device/ARM/ARMCA7/Source/IAR/ARMCA7.icf | 67 - .../ARM/ARMCA7/Source/IAR/startup_ARMCA7.s | 140 - .../Device/ARM/ARMCA7/Source/mmu_ARMCA7.c | 232 - .../Device/ARM/ARMCA7/Source/system_ARMCA7.c | 93 - .../Device/ARM/ARMCA9/Config/mem_ARMCA9.h | 100 - .../Device/ARM/ARMCA9/Config/system_ARMCA9.h | 65 - .../Device/ARM/ARMCA9/Include/ARMCA9.h | 139 - .../Device/ARM/ARMCA9/Source/AC5/ARMCA9.sct | 77 - .../ARM/ARMCA9/Source/AC5/startup_ARMCA9.c | 151 - .../Device/ARM/ARMCA9/Source/AC6/ARMCA9.sct | 77 - .../ARM/ARMCA9/Source/AC6/startup_ARMCA9.c | 136 - .../Device/ARM/ARMCA9/Source/GCC/ARMCA9.ld | 181 - .../ARM/ARMCA9/Source/GCC/startup_ARMCA9.c | 136 - .../Device/ARM/ARMCA9/Source/IAR/ARMCA9.icf | 67 - .../ARM/ARMCA9/Source/IAR/startup_ARMCA9.s | 140 - .../Device/ARM/ARMCA9/Source/mmu_ARMCA9.c | 232 - .../Device/ARM/ARMCA9/Source/system_ARMCA9.c | 93 - .../ARM/ARMCM0/Source/IAR/startup_ARMCM0.s | 147 - .../ARM/ARMCM0plus/Include/ARMCM0plus.h | 127 - .../ARM/ARMCM0plus/Include/ARMCM0plus_MPU.h | 127 - .../ARMCM0plus/Include/system_ARMCM0plus.h | 64 - .../ARMCM0plus/Source/ARM/ARMCM0plus_ac5.sct | 80 - .../ARMCM0plus/Source/ARM/ARMCM0plus_ac6.sct | 80 - .../Source/ARM/startup_ARMCM0plus.s | 168 - .../ARM/ARMCM0plus/Source/GCC/gcc_arm.ld | 296 -- .../Source/GCC/startup_ARMCM0plus.S | 181 - .../Source/IAR/startup_ARMCM0plus.s | 147 - .../ARMCM0plus/Source/startup_ARMCM0plus.c | 148 - .../ARM/ARMCM0plus/Source/system_ARMCM0plus.c | 65 - .../Device/ARM/ARMCM1/Include/ARMCM1.h | 128 - .../Device/ARM/ARMCM1/Include/system_ARMCM1.h | 64 - .../ARM/ARMCM1/Source/ARM/ARMCM1_ac5.sct | 80 - .../ARM/ARMCM1/Source/ARM/ARMCM1_ac6.sct | 80 - .../ARM/ARMCM1/Source/ARM/startup_ARMCM1.s | 168 - .../Device/ARM/ARMCM1/Source/GCC/gcc_arm.ld | 296 -- .../ARM/ARMCM1/Source/GCC/startup_ARMCM1.S | 181 - .../ARM/ARMCM1/Source/IAR/startup_ARMCM1.s | 147 - .../Device/ARM/ARMCM1/Source/startup_ARMCM1.c | 146 - .../Device/ARM/ARMCM1/Source/system_ARMCM1.c | 56 - .../Device/ARM/ARMCM23/Debug/ARMv8MBL.dbgconf | 13 - .../Device/ARM/ARMCM23/Include/ARMCM23.h | 128 - .../Device/ARM/ARMCM23/Include/ARMCM23_TZ.h | 128 - .../Include/Template/partition_ARMCM23.h | 832 ---- .../ARM/ARMCM23/Include/system_ARMCM23.h | 64 - .../ARM/ARMCM23/Source/ARM/ARMCM23_ac6.sct | 123 - .../ARM/ARMCM23/Source/ARM/ARMCM23_ac6_s.sct | 123 - .../ARM/ARMCM23/Source/ARM/startup_ARMCM23.S | 155 - .../Device/ARM/ARMCM23/Source/GCC/gcc_arm.ld | 316 -- .../ARM/ARMCM23/Source/GCC/startup_ARMCM23.S | 200 - .../ARM/ARMCM23/Source/IAR/startup_ARMCM23.s | 168 - .../ARM/ARMCM23/Source/startup_ARMCM23.c | 161 - .../ARM/ARMCM23/Source/system_ARMCM23.c | 80 - .../Device/ARM/ARMCM3/Include/ARMCM3.h | 127 - .../Device/ARM/ARMCM3/Include/system_ARMCM3.h | 64 - .../ARM/ARMCM3/Source/ARM/ARMCM3_ac5.sct | 80 - .../ARM/ARMCM3/Source/ARM/ARMCM3_ac6.sct | 80 - .../ARM/ARMCM3/Source/ARM/startup_ARMCM3.s | 172 - .../Device/ARM/ARMCM3/Source/GCC/gcc_arm.ld | 296 -- .../ARM/ARMCM3/Source/GCC/startup_ARMCM3.S | 182 - .../ARM/ARMCM3/Source/IAR/startup_ARMCM3.s | 155 - .../Device/ARM/ARMCM3/Source/startup_ARMCM3.c | 150 - .../Device/ARM/ARMCM3/Source/system_ARMCM3.c | 65 - .../Device/ARM/ARMCM33/Include/ARMCM33.h | 131 - .../ARM/ARMCM33/Include/ARMCM33_DSP_FP.h | 131 - .../ARM/ARMCM33/Include/ARMCM33_DSP_FP_TZ.h | 131 - .../Device/ARM/ARMCM33/Include/ARMCM33_TZ.h | 131 - .../Include/Template/partition_ARMCM33.h | 1260 ----- .../ARM/ARMCM33/Include/system_ARMCM33.h | 64 - .../ARM/ARMCM33/Source/ARM/ARMCM33_ac6.sct | 123 - .../ARM/ARMCM33/Source/ARM/ARMCM33_ac6_s.sct | 123 - .../ARM/ARMCM33/Source/ARM/startup_ARMCM33.S | 159 - .../Device/ARM/ARMCM33/Source/GCC/gcc_arm.ld | 316 -- .../ARM/ARMCM33/Source/GCC/startup_ARMCM33.S | 202 - .../ARM/ARMCM33/Source/IAR/startup_ARMCM33.s | 177 - .../ARM/ARMCM33/Source/startup_ARMCM33.c | 170 - .../ARM/ARMCM33/Source/system_ARMCM33.c | 97 - .../Device/ARM/ARMCM35P/Include/ARMCM35P.h | 131 - .../ARM/ARMCM35P/Include/ARMCM35P_DSP_FP.h | 131 - .../ARM/ARMCM35P/Include/ARMCM35P_DSP_FP_TZ.h | 131 - .../Device/ARM/ARMCM35P/Include/ARMCM35P_TZ.h | 131 - .../Include/Template/partition_ARMCM35P.h | 1260 ----- .../ARM/ARMCM35P/Include/system_ARMCM35P.h | 64 - .../ARM/ARMCM35P/Source/ARM/ARMCM35P_ac6.sct | 123 - .../ARMCM35P/Source/ARM/ARMCM35P_ac6_s.sct | 123 - .../ARMCM35P/Source/ARM/startup_ARMCM35P.S | 159 - .../Device/ARM/ARMCM35P/Source/GCC/gcc_arm.ld | 316 -- .../ARMCM35P/Source/GCC/startup_ARMCM35P.S | 202 - .../ARMCM35P/Source/IAR/startup_ARMCM35P.s | 177 - .../ARM/ARMCM35P/Source/startup_ARMCM35P.c | 170 - .../ARM/ARMCM35P/Source/system_ARMCM35P.c | 97 - .../Device/ARM/ARMCM4/Include/ARMCM4.h | 128 - .../Device/ARM/ARMCM4/Include/ARMCM4_FP.h | 128 - .../Device/ARM/ARMCM4/Include/system_ARMCM4.h | 64 - .../ARM/ARMCM4/Source/ARM/ARMCM4_ac5.sct | 80 - .../ARM/ARMCM4/Source/ARM/ARMCM4_ac6.sct | 80 - .../ARM/ARMCM4/Source/ARM/startup_ARMCM4.s | 172 - .../Device/ARM/ARMCM4/Source/GCC/gcc_arm.ld | 296 -- .../ARM/ARMCM4/Source/GCC/startup_ARMCM4.S | 182 - .../ARM/ARMCM4/Source/IAR/startup_ARMCM4.s | 155 - .../Device/ARM/ARMCM4/Source/startup_ARMCM4.c | 152 - .../Device/ARM/ARMCM4/Source/system_ARMCM4.c | 81 - .../Device/ARM/ARMCM55/Include/ARMCM55.h | 137 - .../Include/Template/partition_ARMCM55.h | 1261 ----- .../ARM/ARMCM55/Include/system_ARMCM55.h | 64 - .../ARM/ARMCM55/Source/ARM/ARMCM55_ac6.sct | 123 - .../ARM/ARMCM55/Source/ARM/ARMCM55_ac6_s.sct | 123 - .../Device/ARM/ARMCM55/Source/GCC/gcc_arm.ld | 316 -- .../ARM/ARMCM55/Source/startup_ARMCM55.c | 164 - .../ARM/ARMCM55/Source/system_ARMCM55.c | 107 - .../Device/ARM/ARMCM7/Include/ARMCM7.h | 133 - .../Device/ARM/ARMCM7/Include/ARMCM7_DP.h | 133 - .../Device/ARM/ARMCM7/Include/ARMCM7_SP.h | 133 - .../Device/ARM/ARMCM7/Include/system_ARMCM7.h | 64 - .../ARM/ARMCM7/Source/ARM/ARMCM7_ac5.sct | 80 - .../ARM/ARMCM7/Source/ARM/ARMCM7_ac6.sct | 80 - .../ARM/ARMCM7/Source/ARM/startup_ARMCM7.s | 172 - .../Device/ARM/ARMCM7/Source/GCC/gcc_arm.ld | 296 -- .../ARM/ARMCM7/Source/GCC/startup_ARMCM7.S | 182 - .../ARM/ARMCM7/Source/IAR/startup_ARMCM7.s | 155 - .../Device/ARM/ARMCM7/Source/startup_ARMCM7.c | 154 - .../Device/ARM/ARMCM7/Source/system_ARMCM7.c | 83 - .../Device/ARM/ARMCM85/Include/ARMCM85.h | 135 - .../Include/Template/partition_ARMCM85.h | 1301 ----- .../ARM/ARMCM85/Include/system_ARMCM85.h | 63 - .../ARM/ARMCM85/Source/ARM/ARMCM85_ac6.sct | 130 - .../ARM/ARMCM85/Source/ARM/ARMCM85_ac6_s.sct | 130 - .../Device/ARM/ARMCM85/Source/GCC/gcc_arm.ld | 314 -- .../ARM/ARMCM85/Source/startup_ARMCM85.c | 164 - .../ARM/ARMCM85/Source/system_ARMCM85.c | 106 - .../Device/ARM/ARMSC000/Include/ARMSC000.h | 126 - .../ARM/ARMSC000/Include/system_ARMSC000.h | 64 - .../ARM/ARMSC000/Source/ARM/ARMSC000_ac5.sct | 76 - .../ARM/ARMSC000/Source/ARM/ARMSC000_ac6.sct | 76 - .../ARMSC000/Source/ARM/startup_ARMSC000.s | 168 - .../Device/ARM/ARMSC000/Source/GCC/gcc_arm.ld | 296 -- .../ARMSC000/Source/GCC/startup_ARMSC000.S | 181 - .../ARMSC000/Source/IAR/startup_ARMSC000.s | 147 - .../ARM/ARMSC000/Source/startup_ARMSC000.c | 146 - .../ARM/ARMSC000/Source/system_ARMSC000.c | 56 - .../Device/ARM/ARMSC300/Include/ARMSC300.h | 126 - .../ARM/ARMSC300/Include/system_ARMSC300.h | 65 - .../ARM/ARMSC300/Source/ARM/ARMSC300_ac5.sct | 76 - .../ARM/ARMSC300/Source/ARM/ARMSC300_ac6.sct | 76 - .../ARMSC300/Source/ARM/startup_ARMSC300.s | 172 - .../Device/ARM/ARMSC300/Source/GCC/gcc_arm.ld | 296 -- .../ARMSC300/Source/GCC/startup_ARMSC300.S | 182 - .../ARMSC300/Source/IAR/startup_ARMSC300.s | 155 - .../ARM/ARMSC300/Source/startup_ARMSC300.c | 150 - .../ARM/ARMSC300/Source/system_ARMSC300.c | 70 - .../Include/ARMv81MML_DSP_DP_MVE_FP.h | 134 - .../Include/Template/partition_ARMv81MML.h | 1261 ----- .../ARM/ARMv81MML/Include/system_ARMv81MML.h | 65 - .../ARMv81MML/Source/ARM/ARMv81MML_ac6.sct | 119 - .../ARMv81MML/Source/ARM/ARMv81MML_ac6_s.sct | 119 - .../ARM/ARMv81MML/Source/GCC/gcc_arm.ld | 316 -- .../ARM/ARMv81MML/Source/startup_ARMv81MML.c | 164 - .../ARM/ARMv81MML/Source/system_ARMv81MML.c | 93 - .../Device/ARM/ARMv8MBL/Include/ARMv8MBL.h | 127 - .../Include/Template/partition_ARMv8MBL.h | 1232 ----- .../ARM/ARMv8MBL/Include/system_ARMv8MBL.h | 65 - .../ARM/ARMv8MBL/Source/ARM/ARMv8MBL_ac6.sct | 119 - .../ARMv8MBL/Source/ARM/ARMv8MBL_ac6_s.sct | 119 - .../ARMv8MBL/Source/ARM/startup_ARMv8MBL.S | 155 - .../Device/ARM/ARMv8MBL/Source/GCC/gcc_arm.ld | 316 -- .../ARMv8MBL/Source/GCC/startup_ARMv8MBL.S | 200 - .../ARMv8MBL/Source/IAR/startup_ARMv8MBL.s | 147 - .../ARM/ARMv8MBL/Source/startup_ARMv8MBL.c | 159 - .../ARM/ARMv8MBL/Source/system_ARMv8MBL.c | 74 - .../Device/ARM/ARMv8MML/Include/ARMv8MML.h | 132 - .../Device/ARM/ARMv8MML/Include/ARMv8MML_DP.h | 133 - .../ARM/ARMv8MML/Include/ARMv8MML_DSP.h | 132 - .../ARM/ARMv8MML/Include/ARMv8MML_DSP_DP.h | 133 - .../ARM/ARMv8MML/Include/ARMv8MML_DSP_SP.h | 133 - .../Device/ARM/ARMv8MML/Include/ARMv8MML_SP.h | 133 - .../Include/Template/partition_ARMv8MML.h | 1260 ----- .../ARM/ARMv8MML/Include/system_ARMv8MML.h | 65 - .../ARM/ARMv8MML/Source/ARM/ARMv8MML_ac6.sct | 119 - .../ARMv8MML/Source/ARM/ARMv8MML_ac6_s.sct | 119 - .../ARMv8MML/Source/ARM/startup_ARMv8MML.S | 159 - .../Device/ARM/ARMv8MML/Source/GCC/gcc_arm.ld | 316 -- .../ARMv8MML/Source/GCC/startup_ARMv8MML.S | 202 - .../ARMv8MML/Source/IAR/startup_ARMv8MML.s | 157 - .../ARM/ARMv8MML/Source/startup_ARMv8MML.c | 174 - .../ARM/ARMv8MML/Source/system_ARMv8MML.c | 98 - external/CMSIS_5/Device/ARM/SVD/ARMCM1.svd | 76 - external/CMSIS_5/Device/ARM/SVD/ARMCM23.svd | 103 - external/CMSIS_5/Device/ARM/SVD/ARMCM3.svd | 76 - external/CMSIS_5/Device/ARM/SVD/ARMCM33.svd | 103 - external/CMSIS_5/Device/ARM/SVD/ARMCM35P.svd | 103 - external/CMSIS_5/Device/ARM/SVD/ARMCM4.svd | 76 - external/CMSIS_5/Device/ARM/SVD/ARMCM55.svd | 107 - external/CMSIS_5/Device/ARM/SVD/ARMCM7.svd | 80 - external/CMSIS_5/Device/ARM/SVD/ARMCM85.svd | 105 - external/CMSIS_5/Device/ARM/SVD/ARMSC000.svd | 76 - external/CMSIS_5/Device/ARM/SVD/ARMSC300.svd | 76 - external/CMSIS_5/Device/ARM/SVD/ARMv8MBL.svd | 103 - external/CMSIS_5/Device/ARM/SVD/ARMv8MML.svd | 103 - .../Device/_Template_Flash/Abstract.txt | 32 - .../CMSIS_5/Device/_Template_Flash/FlashDev.c | 45 - .../CMSIS_5/Device/_Template_Flash/FlashOS.h | 77 - .../CMSIS_5/Device/_Template_Flash/FlashPrg.c | 118 - .../Device/_Template_Flash/NewDevice.uvguix | 1848 ------- .../Device/_Template_Flash/NewDevice.uvoptx | 232 - .../Device/_Template_Flash/NewDevice.uvprojx | 420 -- .../CMSIS_5/Device/_Template_Flash/Target.lin | 22 - .../Device/_Template_Vendor/ReadMe.txt | 71 - .../Vendor/Device/Include/Device.h | 230 - .../Include/Template/partition_Device.h | 1262 ----- .../Vendor/Device/Include/system_Device.h | 64 - .../Vendor/Device/Source/ARM/Device_ac5.sct | 79 - .../Vendor/Device/Source/ARM/Device_ac6.sct | 119 - .../Device/Source/ARM/startup_Device_ac5.s | 137 - .../Source/ARM/startup_Device_ac5_noSct.s | 164 - .../Device/Source/ARM/startup_Device_ac6.S | 151 - .../Vendor/Device/Source/GCC/gcc_arm.ld | 316 -- .../Vendor/Device/Source/GCC/startup_Device.S | 194 - .../Vendor/Device/Source/startup_Device.c | 151 - .../Vendor/Device/Source/system_Device.c | 100 - .../Vendor/Device_A/Include/Device.h | 248 - .../Vendor/Device_A/Include/mem_Device.h | 91 - .../Vendor/Device_A/Include/system_Device.h | 61 - .../Vendor/Device_A/Source/ARM/Device.sct | 75 - .../Device_A/Source/ARM/startup_Device.c | 145 - .../Vendor/Device_A/Source/mmu_Device.c | 232 - .../Vendor/Device_A/Source/system_Device.c | 111 - firmware.bin | Bin 61184 -> 61180 bytes firmware.packed.bin | Bin 61202 -> 61198 bytes main.c | 4 + 687 files changed, 152 insertions(+), 170290 deletions(-) create mode 100644 bsp/dp32g030/pwmplus.h delete mode 100644 external/CMSIS_5/CMSIS/Core/Template/ARMv8-M/main_s.c delete mode 100644 external/CMSIS_5/CMSIS/Core/Template/ARMv8-M/tz_context.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Include/CV_Framework.h delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Include/CV_Report.h delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Include/CV_Typedefs.h delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Include/cmsis_cv.h delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/LICENSE.txt delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/App/Bootloader_Cortex-M/App.clayer.yml delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/App/Bootloader_Cortex-M/bootloader.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/App/Validation_Cortex-A/App.clayer.yml delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/App/Validation_Cortex-A/main.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/App/Validation_Cortex-M/App.clayer.yml delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/App/Validation_Cortex-M/main.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/ARMCA5.icf delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/ARMCA5.icf.base@1.0.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/ARMCA5.ld delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/ARMCA5.sct delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/mem_ARMCA5.h delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/mmu_ARMCA5.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/startup_ARMCA5.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/startup_ARMCA5.c.base@1.0.1 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/startup_ARMCA5.s delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/startup_ARMCA5.s.base@1.0.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/system_ARMCA5.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/system_ARMCA5.c.base@1.0.1 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/system_ARMCA5.h delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/system_ARMCA5.h.base@1.0.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/Target.clayer.yml delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/model_config.txt delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/ARMCA7.icf delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/ARMCA7.icf.base@1.0.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/ARMCA7.ld delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/ARMCA7.sct delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/mem_ARMCA7.h delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/mmu_ARMCA7.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/startup_ARMCA7.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/startup_ARMCA7.c.base@1.0.1 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/startup_ARMCA7.s delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/startup_ARMCA7.s.base@1.0.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/system_ARMCA7.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/system_ARMCA7.c.base@1.0.1 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/system_ARMCA7.h delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/system_ARMCA7.h.base@1.0.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/Target.clayer.yml delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/model_config.txt delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/ARMCA9.icf delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/ARMCA9.icf.base@1.0.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/ARMCA9.ld delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/ARMCA9.sct delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/mem_ARMCA9.h delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/mmu_ARMCA9.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/startup_ARMCA9.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/startup_ARMCA9.s delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/startup_ARMCA9.s.base@1.0.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/system_ARMCA9.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/system_ARMCA9.h delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/system_ARMCA9.h.base@1.0.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/Target.clayer.yml delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/model_config.txt delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0/RTE/Device/ARMCM0/ARMCM0_ac6.sct delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0/RTE/Device/ARMCM0/gcc_arm.ld delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0/RTE/Device/ARMCM0/startup_ARMCM0.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0/RTE/Device/ARMCM0/startup_ARMCM0.c.base@2.0.3 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0/RTE/Device/ARMCM0/system_ARMCM0.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0/RTE/Device/ARMCM0/tiac_arm.cmd delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0/Target.clayer.yml delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0/model_config.txt delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0plus/RTE/Device/ARMCM0P/ARMCM0plus_ac6.sct delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0plus/RTE/Device/ARMCM0P/gcc_arm.ld delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0plus/RTE/Device/ARMCM0P/startup_ARMCM0plus.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0plus/RTE/Device/ARMCM0P/startup_ARMCM0plus.c.base@2.0.3 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0plus/RTE/Device/ARMCM0P/system_ARMCM0plus.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0plus/RTE/Device/ARMCM0P/tiac_arm.cmd delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0plus/Target.clayer.yml delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0plus/model_config.txt delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23/RTE/Device/ARMCM23/ARMCM23_ac6.sct delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23/RTE/Device/ARMCM23/gcc_arm.ld delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23/RTE/Device/ARMCM23/startup_ARMCM23.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23/RTE/Device/ARMCM23/startup_ARMCM23.c.base@2.1.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23/RTE/Device/ARMCM23/system_ARMCM23.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23/Target.clayer.yml delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23/model_config.txt delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23NS/RTE/Device/ARMCM23_TZ/ARMCM23_ac6.sct delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23NS/RTE/Device/ARMCM23_TZ/gcc_arm.ld delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23NS/RTE/Device/ARMCM23_TZ/startup_ARMCM23.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23NS/RTE/Device/ARMCM23_TZ/startup_ARMCM23.c.base@2.1.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23NS/RTE/Device/ARMCM23_TZ/system_ARMCM23.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23NS/Target.clayer.yml delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23NS/model_config.txt delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S/RTE/Device/ARMCM23_TZ/ARMCM23_ac6_s.sct delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S/RTE/Device/ARMCM23_TZ/gcc_arm.ld delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S/RTE/Device/ARMCM23_TZ/partition_ARMCM23.h delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S/RTE/Device/ARMCM23_TZ/startup_ARMCM23.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S/RTE/Device/ARMCM23_TZ/startup_ARMCM23.c.base@2.1.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S/RTE/Device/ARMCM23_TZ/system_ARMCM23.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S/Target.clayer.yml delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S/model_config.txt delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S_BL/RTE/Device/ARMCM23_TZ/ARMCM23_ac6_s.sct delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S_BL/RTE/Device/ARMCM23_TZ/gcc_arm.ld delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S_BL/RTE/Device/ARMCM23_TZ/partition_ARMCM23.h delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S_BL/RTE/Device/ARMCM23_TZ/startup_ARMCM23.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S_BL/RTE/Device/ARMCM23_TZ/startup_ARMCM23.c.base@2.1.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S_BL/RTE/Device/ARMCM23_TZ/system_ARMCM23.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S_BL/Target.clayer.yml delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S_BL/model_config.txt delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/RTE/Device/ARMCM3/ARMCM3_ac6.sct delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/RTE/Device/ARMCM3/ARMCM3_ac6.sct.base@1.0.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/RTE/Device/ARMCM3/gcc_arm.ld delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/RTE/Device/ARMCM3/startup_ARMCM3.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/RTE/Device/ARMCM3/startup_ARMCM3.c.base@2.0.3 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/RTE/Device/ARMCM3/system_ARMCM3.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/RTE/Device/ARMCM3/system_ARMCM3.c.base@1.0.1 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/RTE/Device/ARMCM3/tiac_arm.cmd delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/Target.clayer.yml delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/model_config.txt delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33/RTE/Device/ARMCM33_DSP_FP/ARMCM33_ac6.sct delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33/RTE/Device/ARMCM33_DSP_FP/gcc_arm.ld delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33/RTE/Device/ARMCM33_DSP_FP/startup_ARMCM33.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33/RTE/Device/ARMCM33_DSP_FP/startup_ARMCM33.c.base@2.1.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33/RTE/Device/ARMCM33_DSP_FP/system_ARMCM33.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33/RTE/Device/ARMCM33_DSP_FP/tiac_arm.cmd delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33/Target.clayer.yml delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33/model_config.txt delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33NS/RTE/Device/ARMCM33_DSP_FP_TZ/ARMCM33_ac6.sct delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33NS/RTE/Device/ARMCM33_DSP_FP_TZ/gcc_arm.ld delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33NS/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33NS/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.c.base@2.1.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33NS/RTE/Device/ARMCM33_DSP_FP_TZ/system_ARMCM33.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33NS/Target.clayer.yml delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33NS/model_config.txt delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S/RTE/Device/ARMCM33_DSP_FP_TZ/ARMCM33_ac6_s.sct delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S/RTE/Device/ARMCM33_DSP_FP_TZ/gcc_arm.ld delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S/RTE/Device/ARMCM33_DSP_FP_TZ/partition_ARMCM33.h delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.c.base@2.1.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S/RTE/Device/ARMCM33_DSP_FP_TZ/system_ARMCM33.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S/Target.clayer.yml delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S/model_config.txt delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S_BL/RTE/Device/ARMCM33_DSP_FP_TZ/ARMCM33_ac6_s.sct delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S_BL/RTE/Device/ARMCM33_DSP_FP_TZ/gcc_arm.ld delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S_BL/RTE/Device/ARMCM33_DSP_FP_TZ/partition_ARMCM33.h delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S_BL/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S_BL/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.c.base@2.1.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S_BL/RTE/Device/ARMCM33_DSP_FP_TZ/system_ARMCM33.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S_BL/Target.clayer.yml delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S_BL/model_config.txt delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35P/RTE/Device/ARMCM35P_DSP_FP/ARMCM35P_ac6.sct delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35P/RTE/Device/ARMCM35P_DSP_FP/gcc_arm.ld delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35P/RTE/Device/ARMCM35P_DSP_FP/startup_ARMCM35P.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35P/RTE/Device/ARMCM35P_DSP_FP/startup_ARMCM35P.c.base@2.1.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35P/RTE/Device/ARMCM35P_DSP_FP/system_ARMCM35P.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35P/Target.clayer.yml delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35P/model_config.txt delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PNS/RTE/Device/ARMCM35P_DSP_FP_TZ/ARMCM35P_ac6.sct delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PNS/RTE/Device/ARMCM35P_DSP_FP_TZ/gcc_arm.ld delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PNS/RTE/Device/ARMCM35P_DSP_FP_TZ/startup_ARMCM35P.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PNS/RTE/Device/ARMCM35P_DSP_FP_TZ/startup_ARMCM35P.c.base@2.1.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PNS/RTE/Device/ARMCM35P_DSP_FP_TZ/system_ARMCM35P.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PNS/Target.clayer.yml delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PNS/model_config.txt delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS/RTE/Device/ARMCM35P_DSP_FP_TZ/ARMCM35P_ac6_s.sct delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS/RTE/Device/ARMCM35P_DSP_FP_TZ/gcc_arm.ld delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS/RTE/Device/ARMCM35P_DSP_FP_TZ/partition_ARMCM35P.h delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS/RTE/Device/ARMCM35P_DSP_FP_TZ/startup_ARMCM35P.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS/RTE/Device/ARMCM35P_DSP_FP_TZ/startup_ARMCM35P.c.base@2.1.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS/RTE/Device/ARMCM35P_DSP_FP_TZ/system_ARMCM35P.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS/Target.clayer.yml delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS/model_config.txt delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS_BL/RTE/Device/ARMCM35P_DSP_FP_TZ/ARMCM35P_ac6_s.sct delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS_BL/RTE/Device/ARMCM35P_DSP_FP_TZ/gcc_arm.ld delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS_BL/RTE/Device/ARMCM35P_DSP_FP_TZ/partition_ARMCM35P.h delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS_BL/RTE/Device/ARMCM35P_DSP_FP_TZ/startup_ARMCM35P.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS_BL/RTE/Device/ARMCM35P_DSP_FP_TZ/startup_ARMCM35P.c.base@2.1.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS_BL/RTE/Device/ARMCM35P_DSP_FP_TZ/system_ARMCM35P.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS_BL/Target.clayer.yml delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS_BL/model_config.txt delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4/RTE/Device/ARMCM4/ARMCM4_ac6.sct delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4/RTE/Device/ARMCM4/gcc_arm.ld delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4/RTE/Device/ARMCM4/startup_ARMCM4.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4/RTE/Device/ARMCM4/startup_ARMCM4.c.base@2.0.3 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4/RTE/Device/ARMCM4/system_ARMCM4.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4/RTE/Device/ARMCM4/tiac_arm.cmd delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4/Target.clayer.yml delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4/model_config.txt delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4FP/RTE/Device/ARMCM4_FP/ARMCM4_ac6.sct delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4FP/RTE/Device/ARMCM4_FP/gcc_arm.ld delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4FP/RTE/Device/ARMCM4_FP/startup_ARMCM4.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4FP/RTE/Device/ARMCM4_FP/startup_ARMCM4.c.base@2.0.3 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4FP/RTE/Device/ARMCM4_FP/system_ARMCM4.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4FP/RTE/Device/ARMCM4_FP/tiac_arm.cmd delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4FP/Target.clayer.yml delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4FP/model_config.txt delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55NS/RTE/Device/ARMCM55/ARMCM55_ac6.sct delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55NS/RTE/Device/ARMCM55/ARMCM55_ac6.sct.base@1.1.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55NS/RTE/Device/ARMCM55/gcc_arm.ld delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55NS/RTE/Device/ARMCM55/startup_ARMCM55.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55NS/RTE/Device/ARMCM55/startup_ARMCM55.c.base@1.1.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55NS/RTE/Device/ARMCM55/system_ARMCM55.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55NS/RTE/Device/ARMCM55/system_ARMCM55.c.base@1.1.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55NS/Target.clayer.yml delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55NS/model_config.txt delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/RTE/Device/ARMCM55/ARMCM55_ac6_s.sct delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/RTE/Device/ARMCM55/ARMCM55_ac6_s.sct.base@1.1.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/RTE/Device/ARMCM55/gcc_arm.ld delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/RTE/Device/ARMCM55/partition_ARMCM55.h delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/RTE/Device/ARMCM55/startup_ARMCM55.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/RTE/Device/ARMCM55/startup_ARMCM55.c.base@1.1.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/RTE/Device/ARMCM55/system_ARMCM55.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/RTE/Device/ARMCM55/system_ARMCM55.c.base@1.1.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/Target.clayer.yml delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/model_config.txt delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/RTE/Device/ARMCM55/ARMCM55_ac6_s.sct delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/RTE/Device/ARMCM55/ARMCM55_ac6_s.sct.base@1.1.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/RTE/Device/ARMCM55/gcc_arm.ld delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/RTE/Device/ARMCM55/partition_ARMCM55.h delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/RTE/Device/ARMCM55/startup_ARMCM55.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/RTE/Device/ARMCM55/startup_ARMCM55.c.base@1.1.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/RTE/Device/ARMCM55/system_ARMCM55.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/RTE/Device/ARMCM55/system_ARMCM55.c.base@1.1.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/Target.clayer.yml delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/model_config.txt delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7/RTE/Device/ARMCM7/ARMCM7_ac6.sct delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7/RTE/Device/ARMCM7/gcc_arm.ld delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7/RTE/Device/ARMCM7/startup_ARMCM7.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7/RTE/Device/ARMCM7/startup_ARMCM7.c.base@2.0.3 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7/RTE/Device/ARMCM7/system_ARMCM7.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7/Target.clayer.yml delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7/model_config.txt delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7DP/RTE/Device/ARMCM7_DP/ARMCM7_ac6.sct delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7DP/RTE/Device/ARMCM7_DP/gcc_arm.ld delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7DP/RTE/Device/ARMCM7_DP/startup_ARMCM7.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7DP/RTE/Device/ARMCM7_DP/startup_ARMCM7.c.base@2.0.3 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7DP/RTE/Device/ARMCM7_DP/system_ARMCM7.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7DP/Target.clayer.yml delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7DP/model_config.txt delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7SP/RTE/Device/ARMCM7_SP/ARMCM7_ac6.sct delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7SP/RTE/Device/ARMCM7_SP/gcc_arm.ld delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7SP/RTE/Device/ARMCM7_SP/startup_ARMCM7.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7SP/RTE/Device/ARMCM7_SP/startup_ARMCM7.c.base@2.0.3 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7SP/RTE/Device/ARMCM7_SP/system_ARMCM7.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7SP/Target.clayer.yml delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7SP/model_config.txt delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/RTE/Device/ARMCM85/ARMCM85_ac6.sct delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/RTE/Device/ARMCM85/ARMCM85_ac6.sct.base@1.0.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/RTE/Device/ARMCM85/gcc_arm.ld delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/RTE/Device/ARMCM85/gcc_arm.ld.base@1.0.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/RTE/Device/ARMCM85/startup_ARMCM85.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/RTE/Device/ARMCM85/startup_ARMCM85.c.base@1.0.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/RTE/Device/ARMCM85/system_ARMCM85.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/RTE/Device/ARMCM85/system_ARMCM85.c.base@1.0.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/Target.clayer.yml delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/model_config.txt delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/ARMCM85_ac6_s.sct delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/ARMCM85_ac6_s.sct.base@1.0.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/gcc_arm.ld delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/gcc_arm.ld.base@1.0.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/partition_ARMCM85.h delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/partition_ARMCM85.h.base@1.0.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/startup_ARMCM85.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/startup_ARMCM85.c.base@1.0.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/system_ARMCM85.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/system_ARMCM85.c.base@1.0.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/Target.clayer.yml delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/model_config.txt delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/ARMCM85_ac6_s.sct delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/ARMCM85_ac6_s.sct.base@1.0.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/gcc_arm.ld delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/gcc_arm.ld.base@1.0.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/partition_ARMCM85.h delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/partition_ARMCM85.h.base@1.0.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/startup_ARMCM85.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/startup_ARMCM85.c.base@1.0.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/system_ARMCM85.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/system_ARMCM85.c.base@1.0.0 delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/Target.clayer.yml delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/model_config.txt delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Project/Bootloader.cproject.yml delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Project/Validation.cproject.yml delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Project/Validation.csolution.yml delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Project/avh.yml delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Project/build.py delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Project/cpacklist.txt delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Project/requirements.txt delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Project/validation.xsl delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/README.md delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Source/CV_CAL1Cache.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Source/CV_CML1Cache.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Source/CV_CoreAFunc.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Source/CV_CoreFunc.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Source/CV_CoreInstr.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Source/CV_CoreSimd.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Source/CV_Framework.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Source/CV_GenTimer.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Source/CV_MPU_ARMv7.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Source/CV_MPU_ARMv8.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Source/CV_Report.c delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Source/Config/CV_Config.h delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Source/Config/CV_Config_template.h delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Source/Config/partition_ARMCM23.h delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Source/Config/partition_ARMCM33.h delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Source/Config/partition_ARMCM35P.h delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Source/Config/partition_ARMCM55.h delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Source/ConfigA/CV_Config.h delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Source/ConfigA/CV_Config_template.h delete mode 100644 external/CMSIS_5/CMSIS/CoreValidation/Source/cmsis_cv.c delete mode 100644 external/CMSIS_5/CMSIS/Core_A/Include/cmsis_armcc.h delete mode 100644 external/CMSIS_5/CMSIS/Core_A/Include/cmsis_armclang.h delete mode 100644 external/CMSIS_5/CMSIS/Core_A/Include/cmsis_compiler.h delete mode 100644 external/CMSIS_5/CMSIS/Core_A/Include/cmsis_cp15.h delete mode 100644 external/CMSIS_5/CMSIS/Core_A/Include/cmsis_gcc.h delete mode 100644 external/CMSIS_5/CMSIS/Core_A/Include/cmsis_iccarm.h delete mode 100644 external/CMSIS_5/CMSIS/Core_A/Include/core_ca.h delete mode 100644 external/CMSIS_5/CMSIS/Core_A/Include/irq_ctrl.h delete mode 100644 external/CMSIS_5/CMSIS/Core_A/Source/irq_ctrl_gic.c delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Config/DAP_config.h delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/CMSIS_DAP.uvguix delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/CMSIS_DAP.uvoptx delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/CMSIS_DAP.uvprojx delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/DAP_config.h delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/DebugConfig/LPC-Link2_LPC4370_Cortex-M4.dbgconf delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/DebugConfig/LPC-Link2_on-board_LPC4322_Cortex-M4.dbgconf delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/Objects/CMSIS_DAP.hex delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/README.md delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/CMSIS/RTX_Config.c delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/CMSIS/RTX_Config.h delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/Device/LPC4322_Cortex-M4/RTE_Device.h delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/Device/LPC4322_Cortex-M4/startup_LPC43xx.s delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/Device/LPC4322_Cortex-M4/system_LPC43xx.c delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/Device/LPC4370_Cortex-M4/RTE_Device.h delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/Device/LPC4370_Cortex-M4/startup_LPC43xx.s delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/Device/LPC4370_Cortex-M4/system_LPC43xx.c delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/USB/USBD_Config_0.c delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/USB/USBD_Config_CDC_0.h delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/USB/USBD_Config_CustomClass_0.h delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/USBD_User_CDC_ACM_UART_0.c delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/USBD_User_CustomClass_0.c delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/main.c delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/osObjects.h delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/ser_num.c delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/ser_num.h delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/target.c delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/CMSIS_DAP.uvguix delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/CMSIS_DAP.uvoptx delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/CMSIS_DAP.uvprojx delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/DAP_config.h delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/DebugConfig/MCU-Link_LPC55S69JBD64_cm33_core0.dbgconf delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/MCU-Link.mex delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/Objects/CMSIS_DAP.hex delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/README.md delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/CMSIS/RTX_Config.c delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/CMSIS/RTX_Config.h delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/Device/LPC55S69JBD64_cm33_core0/LPC55S69_cm33_core0_flash.scf delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/Device/LPC55S69JBD64_cm33_core0/LPC55S69_cm33_core0_flash_ns.scf delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/Device/LPC55S69JBD64_cm33_core0/LPC55S69_cm33_core0_flash_s.scf delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/Device/LPC55S69JBD64_cm33_core0/LPC55S69_cm33_core0_ram.scf delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/Device/LPC55S69JBD64_cm33_core0/RTE_Device.h delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/Device/LPC55S69JBD64_cm33_core0/startup_LPC55S69_cm33_core0.S delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/USB/USBD_Config_0.c delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/USB/USBD_Config_CDC_0.h delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/USB/USBD_Config_CustomClass_0.h delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/USBD1_LPC55xxx.c delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/USBD_User_CDC_ACM_UART_0.c delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/USBD_User_CustomClass_0.c delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/USB_LPC55xxx.h delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/board/clock_config.c delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/board/clock_config.h delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/board/peripherals.c delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/board/peripherals.h delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/board/pin_mux.c delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/board/pin_mux.h delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/fsl_usart.c delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/main.c delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/osObjects.h delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/ser_num.c delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/ser_num.h delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Include/DAP.h delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Source/DAP.c delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Source/DAP_vendor.c delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Source/JTAG_DP.c delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Source/SWO.c delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Source/SW_DP.c delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Source/UART.c delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Template/CMSIS_DAP_v2.inf delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Template/MDK5/USBD_User_CDC_ACM_UART_0.c delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Template/MDK5/USBD_User_CustomClass_0.c delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Template/MDK5/USBD_User_HID_0.c delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Template/MDK5/main.c delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Template/MDK5/osObjects.h delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/README.md delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/RTE/Device/ARMCM3/startup_ARMCM3.s delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/RTE/Device/ARMCM3/system_ARMCM3.c delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/RTE/_CMSIS_DAP/RTE_Components.h delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/Validation.CMSIS_DAP.cprj delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/Validation.uvguix delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/Validation.uvoptx delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/Validation.uvprojx delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/test.bat delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/test.c delete mode 100644 external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/test.ini delete mode 100644 external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_CAN.c delete mode 100644 external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_ETH_MAC.c delete mode 100644 external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_ETH_PHY.c delete mode 100644 external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_Flash.c delete mode 100644 external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_I2C.c delete mode 100644 external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_MCI.c delete mode 100644 external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_NAND.c delete mode 100644 external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_SAI.c delete mode 100644 external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_SPI.c delete mode 100644 external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_Storage.c delete mode 100644 external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_USART.c delete mode 100644 external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_USBD.c delete mode 100644 external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_USBH.c delete mode 100644 external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_WiFi.c delete mode 100644 external/CMSIS_5/CMSIS/Driver/Include/Driver_CAN.h delete mode 100644 external/CMSIS_5/CMSIS/Driver/Include/Driver_Common.h delete mode 100644 external/CMSIS_5/CMSIS/Driver/Include/Driver_ETH.h delete mode 100644 external/CMSIS_5/CMSIS/Driver/Include/Driver_ETH_MAC.h delete mode 100644 external/CMSIS_5/CMSIS/Driver/Include/Driver_ETH_PHY.h delete mode 100644 external/CMSIS_5/CMSIS/Driver/Include/Driver_Flash.h delete mode 100644 external/CMSIS_5/CMSIS/Driver/Include/Driver_I2C.h delete mode 100644 external/CMSIS_5/CMSIS/Driver/Include/Driver_MCI.h delete mode 100644 external/CMSIS_5/CMSIS/Driver/Include/Driver_NAND.h delete mode 100644 external/CMSIS_5/CMSIS/Driver/Include/Driver_SAI.h delete mode 100644 external/CMSIS_5/CMSIS/Driver/Include/Driver_SPI.h delete mode 100644 external/CMSIS_5/CMSIS/Driver/Include/Driver_Storage.h delete mode 100644 external/CMSIS_5/CMSIS/Driver/Include/Driver_USART.h delete mode 100644 external/CMSIS_5/CMSIS/Driver/Include/Driver_USB.h delete mode 100644 external/CMSIS_5/CMSIS/Driver/Include/Driver_USBD.h delete mode 100644 external/CMSIS_5/CMSIS/Driver/Include/Driver_USBH.h delete mode 100644 external/CMSIS_5/CMSIS/Driver/Include/Driver_WiFi.h delete mode 100644 external/CMSIS_5/CMSIS/Driver/VIO/Include/cmsis_vio.h delete mode 100644 external/CMSIS_5/CMSIS/Driver/VIO/Source/vio.c delete mode 100644 external/CMSIS_5/CMSIS/Driver/VIO/Source/vio_memory.c delete mode 100644 external/CMSIS_5/CMSIS/Driver/VIO/cmsis_vio.scvd delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA5/Config/mem_ARMCA5.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA5/Config/system_ARMCA5.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA5/Include/ARMCA5.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA5/Source/AC5/ARMCA5.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA5/Source/AC5/startup_ARMCA5.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA5/Source/AC6/ARMCA5.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA5/Source/AC6/startup_ARMCA5.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA5/Source/GCC/ARMCA5.ld delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA5/Source/GCC/ARMCA5.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA5/Source/GCC/startup_ARMCA5.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA5/Source/IAR/ARMCA5.icf delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA5/Source/IAR/startup_ARMCA5.s delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA5/Source/mmu_ARMCA5.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA5/Source/system_ARMCA5.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA7/Config/mem_ARMCA7.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA7/Config/system_ARMCA7.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA7/Include/ARMCA7.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA7/Source/AC5/ARMCA7.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA7/Source/AC5/startup_ARMCA7.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA7/Source/AC6/ARMCA7.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA7/Source/AC6/startup_ARMCA7.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA7/Source/GCC/ARMCA7.ld delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA7/Source/GCC/startup_ARMCA7.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA7/Source/IAR/ARMCA7.icf delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA7/Source/IAR/startup_ARMCA7.s delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA7/Source/mmu_ARMCA7.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA7/Source/system_ARMCA7.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA9/Config/mem_ARMCA9.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA9/Config/system_ARMCA9.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA9/Include/ARMCA9.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA9/Source/AC5/ARMCA9.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA9/Source/AC5/startup_ARMCA9.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA9/Source/AC6/ARMCA9.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA9/Source/AC6/startup_ARMCA9.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA9/Source/GCC/ARMCA9.ld delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA9/Source/GCC/startup_ARMCA9.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA9/Source/IAR/ARMCA9.icf delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA9/Source/IAR/startup_ARMCA9.s delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA9/Source/mmu_ARMCA9.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMCA9/Source/system_ARMCA9.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM0/Source/IAR/startup_ARMCM0.s delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM0plus/Include/ARMCM0plus.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM0plus/Include/ARMCM0plus_MPU.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM0plus/Include/system_ARMCM0plus.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM0plus/Source/ARM/ARMCM0plus_ac5.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM0plus/Source/ARM/ARMCM0plus_ac6.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM0plus/Source/ARM/startup_ARMCM0plus.s delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM0plus/Source/GCC/gcc_arm.ld delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM0plus/Source/GCC/startup_ARMCM0plus.S delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM0plus/Source/IAR/startup_ARMCM0plus.s delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM0plus/Source/startup_ARMCM0plus.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM0plus/Source/system_ARMCM0plus.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM1/Include/ARMCM1.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM1/Include/system_ARMCM1.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM1/Source/ARM/ARMCM1_ac5.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM1/Source/ARM/ARMCM1_ac6.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM1/Source/ARM/startup_ARMCM1.s delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM1/Source/GCC/gcc_arm.ld delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM1/Source/GCC/startup_ARMCM1.S delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM1/Source/IAR/startup_ARMCM1.s delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM1/Source/startup_ARMCM1.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM1/Source/system_ARMCM1.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM23/Debug/ARMv8MBL.dbgconf delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM23/Include/ARMCM23.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM23/Include/ARMCM23_TZ.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM23/Include/Template/partition_ARMCM23.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM23/Include/system_ARMCM23.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM23/Source/ARM/ARMCM23_ac6.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM23/Source/ARM/ARMCM23_ac6_s.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM23/Source/ARM/startup_ARMCM23.S delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM23/Source/GCC/gcc_arm.ld delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM23/Source/GCC/startup_ARMCM23.S delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM23/Source/IAR/startup_ARMCM23.s delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM23/Source/startup_ARMCM23.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM23/Source/system_ARMCM23.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM3/Include/ARMCM3.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM3/Include/system_ARMCM3.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM3/Source/ARM/ARMCM3_ac5.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM3/Source/ARM/ARMCM3_ac6.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM3/Source/ARM/startup_ARMCM3.s delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM3/Source/GCC/gcc_arm.ld delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM3/Source/GCC/startup_ARMCM3.S delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM3/Source/IAR/startup_ARMCM3.s delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM3/Source/startup_ARMCM3.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM3/Source/system_ARMCM3.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM33/Include/ARMCM33.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM33/Include/ARMCM33_DSP_FP.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM33/Include/ARMCM33_DSP_FP_TZ.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM33/Include/ARMCM33_TZ.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM33/Include/Template/partition_ARMCM33.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM33/Include/system_ARMCM33.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM33/Source/ARM/ARMCM33_ac6.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM33/Source/ARM/ARMCM33_ac6_s.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM33/Source/ARM/startup_ARMCM33.S delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM33/Source/GCC/gcc_arm.ld delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM33/Source/GCC/startup_ARMCM33.S delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM33/Source/IAR/startup_ARMCM33.s delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM33/Source/startup_ARMCM33.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM33/Source/system_ARMCM33.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM35P/Include/ARMCM35P.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM35P/Include/ARMCM35P_DSP_FP.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM35P/Include/ARMCM35P_DSP_FP_TZ.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM35P/Include/ARMCM35P_TZ.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM35P/Include/Template/partition_ARMCM35P.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM35P/Include/system_ARMCM35P.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM35P/Source/ARM/ARMCM35P_ac6.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM35P/Source/ARM/ARMCM35P_ac6_s.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM35P/Source/ARM/startup_ARMCM35P.S delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM35P/Source/GCC/gcc_arm.ld delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM35P/Source/GCC/startup_ARMCM35P.S delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM35P/Source/IAR/startup_ARMCM35P.s delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM35P/Source/startup_ARMCM35P.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM35P/Source/system_ARMCM35P.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM4/Include/ARMCM4.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM4/Include/ARMCM4_FP.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM4/Include/system_ARMCM4.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM4/Source/ARM/ARMCM4_ac5.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM4/Source/ARM/ARMCM4_ac6.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM4/Source/ARM/startup_ARMCM4.s delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM4/Source/GCC/gcc_arm.ld delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM4/Source/GCC/startup_ARMCM4.S delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM4/Source/IAR/startup_ARMCM4.s delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM4/Source/startup_ARMCM4.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM4/Source/system_ARMCM4.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM55/Include/ARMCM55.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM55/Include/Template/partition_ARMCM55.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM55/Include/system_ARMCM55.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM55/Source/ARM/ARMCM55_ac6.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM55/Source/ARM/ARMCM55_ac6_s.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM55/Source/GCC/gcc_arm.ld delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM55/Source/startup_ARMCM55.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM55/Source/system_ARMCM55.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM7/Include/ARMCM7.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM7/Include/ARMCM7_DP.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM7/Include/ARMCM7_SP.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM7/Include/system_ARMCM7.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM7/Source/ARM/ARMCM7_ac5.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM7/Source/ARM/ARMCM7_ac6.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM7/Source/ARM/startup_ARMCM7.s delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM7/Source/GCC/gcc_arm.ld delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM7/Source/GCC/startup_ARMCM7.S delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM7/Source/IAR/startup_ARMCM7.s delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM7/Source/startup_ARMCM7.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM7/Source/system_ARMCM7.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM85/Include/ARMCM85.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM85/Include/Template/partition_ARMCM85.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM85/Include/system_ARMCM85.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM85/Source/ARM/ARMCM85_ac6.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM85/Source/ARM/ARMCM85_ac6_s.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM85/Source/GCC/gcc_arm.ld delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM85/Source/startup_ARMCM85.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMCM85/Source/system_ARMCM85.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMSC000/Include/ARMSC000.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMSC000/Include/system_ARMSC000.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMSC000/Source/ARM/ARMSC000_ac5.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMSC000/Source/ARM/ARMSC000_ac6.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMSC000/Source/ARM/startup_ARMSC000.s delete mode 100644 external/CMSIS_5/Device/ARM/ARMSC000/Source/GCC/gcc_arm.ld delete mode 100644 external/CMSIS_5/Device/ARM/ARMSC000/Source/GCC/startup_ARMSC000.S delete mode 100644 external/CMSIS_5/Device/ARM/ARMSC000/Source/IAR/startup_ARMSC000.s delete mode 100644 external/CMSIS_5/Device/ARM/ARMSC000/Source/startup_ARMSC000.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMSC000/Source/system_ARMSC000.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMSC300/Include/ARMSC300.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMSC300/Include/system_ARMSC300.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMSC300/Source/ARM/ARMSC300_ac5.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMSC300/Source/ARM/ARMSC300_ac6.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMSC300/Source/ARM/startup_ARMSC300.s delete mode 100644 external/CMSIS_5/Device/ARM/ARMSC300/Source/GCC/gcc_arm.ld delete mode 100644 external/CMSIS_5/Device/ARM/ARMSC300/Source/GCC/startup_ARMSC300.S delete mode 100644 external/CMSIS_5/Device/ARM/ARMSC300/Source/IAR/startup_ARMSC300.s delete mode 100644 external/CMSIS_5/Device/ARM/ARMSC300/Source/startup_ARMSC300.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMSC300/Source/system_ARMSC300.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMv81MML/Include/ARMv81MML_DSP_DP_MVE_FP.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMv81MML/Include/Template/partition_ARMv81MML.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMv81MML/Include/system_ARMv81MML.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMv81MML/Source/ARM/ARMv81MML_ac6.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMv81MML/Source/ARM/ARMv81MML_ac6_s.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMv81MML/Source/GCC/gcc_arm.ld delete mode 100644 external/CMSIS_5/Device/ARM/ARMv81MML/Source/startup_ARMv81MML.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMv81MML/Source/system_ARMv81MML.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMv8MBL/Include/ARMv8MBL.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMv8MBL/Include/Template/partition_ARMv8MBL.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMv8MBL/Include/system_ARMv8MBL.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMv8MBL/Source/ARM/ARMv8MBL_ac6.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMv8MBL/Source/ARM/ARMv8MBL_ac6_s.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMv8MBL/Source/ARM/startup_ARMv8MBL.S delete mode 100644 external/CMSIS_5/Device/ARM/ARMv8MBL/Source/GCC/gcc_arm.ld delete mode 100644 external/CMSIS_5/Device/ARM/ARMv8MBL/Source/GCC/startup_ARMv8MBL.S delete mode 100644 external/CMSIS_5/Device/ARM/ARMv8MBL/Source/IAR/startup_ARMv8MBL.s delete mode 100644 external/CMSIS_5/Device/ARM/ARMv8MBL/Source/startup_ARMv8MBL.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMv8MBL/Source/system_ARMv8MBL.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMv8MML/Include/ARMv8MML.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMv8MML/Include/ARMv8MML_DP.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMv8MML/Include/ARMv8MML_DSP.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMv8MML/Include/ARMv8MML_DSP_DP.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMv8MML/Include/ARMv8MML_DSP_SP.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMv8MML/Include/ARMv8MML_SP.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMv8MML/Include/Template/partition_ARMv8MML.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMv8MML/Include/system_ARMv8MML.h delete mode 100644 external/CMSIS_5/Device/ARM/ARMv8MML/Source/ARM/ARMv8MML_ac6.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMv8MML/Source/ARM/ARMv8MML_ac6_s.sct delete mode 100644 external/CMSIS_5/Device/ARM/ARMv8MML/Source/ARM/startup_ARMv8MML.S delete mode 100644 external/CMSIS_5/Device/ARM/ARMv8MML/Source/GCC/gcc_arm.ld delete mode 100644 external/CMSIS_5/Device/ARM/ARMv8MML/Source/GCC/startup_ARMv8MML.S delete mode 100644 external/CMSIS_5/Device/ARM/ARMv8MML/Source/IAR/startup_ARMv8MML.s delete mode 100644 external/CMSIS_5/Device/ARM/ARMv8MML/Source/startup_ARMv8MML.c delete mode 100644 external/CMSIS_5/Device/ARM/ARMv8MML/Source/system_ARMv8MML.c delete mode 100644 external/CMSIS_5/Device/ARM/SVD/ARMCM1.svd delete mode 100644 external/CMSIS_5/Device/ARM/SVD/ARMCM23.svd delete mode 100644 external/CMSIS_5/Device/ARM/SVD/ARMCM3.svd delete mode 100644 external/CMSIS_5/Device/ARM/SVD/ARMCM33.svd delete mode 100644 external/CMSIS_5/Device/ARM/SVD/ARMCM35P.svd delete mode 100644 external/CMSIS_5/Device/ARM/SVD/ARMCM4.svd delete mode 100644 external/CMSIS_5/Device/ARM/SVD/ARMCM55.svd delete mode 100644 external/CMSIS_5/Device/ARM/SVD/ARMCM7.svd delete mode 100644 external/CMSIS_5/Device/ARM/SVD/ARMCM85.svd delete mode 100644 external/CMSIS_5/Device/ARM/SVD/ARMSC000.svd delete mode 100644 external/CMSIS_5/Device/ARM/SVD/ARMSC300.svd delete mode 100644 external/CMSIS_5/Device/ARM/SVD/ARMv8MBL.svd delete mode 100644 external/CMSIS_5/Device/ARM/SVD/ARMv8MML.svd delete mode 100644 external/CMSIS_5/Device/_Template_Flash/Abstract.txt delete mode 100644 external/CMSIS_5/Device/_Template_Flash/FlashDev.c delete mode 100644 external/CMSIS_5/Device/_Template_Flash/FlashOS.h delete mode 100644 external/CMSIS_5/Device/_Template_Flash/FlashPrg.c delete mode 100644 external/CMSIS_5/Device/_Template_Flash/NewDevice.uvguix delete mode 100644 external/CMSIS_5/Device/_Template_Flash/NewDevice.uvoptx delete mode 100644 external/CMSIS_5/Device/_Template_Flash/NewDevice.uvprojx delete mode 100644 external/CMSIS_5/Device/_Template_Flash/Target.lin delete mode 100644 external/CMSIS_5/Device/_Template_Vendor/ReadMe.txt delete mode 100644 external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Include/Device.h delete mode 100644 external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Include/Template/partition_Device.h delete mode 100644 external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Include/system_Device.h delete mode 100644 external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Source/ARM/Device_ac5.sct delete mode 100644 external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Source/ARM/Device_ac6.sct delete mode 100644 external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Source/ARM/startup_Device_ac5.s delete mode 100644 external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Source/ARM/startup_Device_ac5_noSct.s delete mode 100644 external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Source/ARM/startup_Device_ac6.S delete mode 100644 external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Source/GCC/gcc_arm.ld delete mode 100644 external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Source/GCC/startup_Device.S delete mode 100644 external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Source/startup_Device.c delete mode 100644 external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Source/system_Device.c delete mode 100644 external/CMSIS_5/Device/_Template_Vendor/Vendor/Device_A/Include/Device.h delete mode 100644 external/CMSIS_5/Device/_Template_Vendor/Vendor/Device_A/Include/mem_Device.h delete mode 100644 external/CMSIS_5/Device/_Template_Vendor/Vendor/Device_A/Include/system_Device.h delete mode 100644 external/CMSIS_5/Device/_Template_Vendor/Vendor/Device_A/Source/ARM/Device.sct delete mode 100644 external/CMSIS_5/Device/_Template_Vendor/Vendor/Device_A/Source/ARM/startup_Device.c delete mode 100644 external/CMSIS_5/Device/_Template_Vendor/Vendor/Device_A/Source/mmu_Device.c delete mode 100644 external/CMSIS_5/Device/_Template_Vendor/Vendor/Device_A/Source/system_Device.c diff --git a/Makefile b/Makefile index 64689a2..2639be5 100644 --- a/Makefile +++ b/Makefile @@ -258,8 +258,6 @@ endif CFLAGS = -CFLAGS += -DCPU_CLOCK_HZ=48000000 - ifeq ($(ENABLE_CLANG),0) #CFLAGS += -Os -Wall -Werror -mcpu=cortex-m0 -fno-builtin -fshort-enums -fno-delete-null-pointer-checks -std=c11 -MMD CFLAGS += -Os -Werror -mcpu=cortex-m0 -freorder-blocks-algorithm=stc -std=c11 -MMD @@ -282,6 +280,8 @@ endif # better to bust than add new bugs CFLAGS += -Wall -Wextra -Wpedantic +CFLAGS += -DCPU_CLOCK_HZ=48000000 + CFLAGS += -DPRINTF_INCLUDE_CONFIG_H CFLAGS += -DGIT_HASH=\"$(GIT_HASH)\" ifeq ($(ENABLE_SWD),1) diff --git a/bsp/dp32g030/pwmplus.h b/bsp/dp32g030/pwmplus.h new file mode 100644 index 0000000..3b74475 --- /dev/null +++ b/bsp/dp32g030/pwmplus.h @@ -0,0 +1,146 @@ +#ifndef HARDWARE_DP32G030_PWMPLUS_H +#define HARDWARE_DP32G030_PWMPLUS_H + +#define PWM_PLUS0_BASE_ADDR 0x400B4000U + +//--------------- + +#define PWMPLUS_CFG 0x00U + +#define PWMPLUS_CFG_COUNTER_EN_SHIFT 0U +#define PWMPLUS_CFG_COUNTER_EN_WIDTH 1U +#define PWMPLUS_CFG_COUNTER_EN_MASK (((1U << PWMPLUS_CFG_COUNTER_EN_WIDTH) - 1U) << PWMPLUS_CFG_COUNTER_EN_SHIFT) +#define PWMPLUS_CFG_COUNTER_EN_VALUE_ENABLE 1U +#define PWMPLUS_CFG_COUNTER_EN_BITS_ENABLE (PWMPLUS_CFG_COUNTER_EN_VALUE_ENABLE << PWMPLUS_CFG_COUNTER_EN_SHIFT) + +#define PWMPLUS_CFG_CNT_TYPE_SHIFT 1U + +#define PWMPLUS_CFG_CNT_REP_SHIFT 2U +#define PWMPLUS_CFG_CNT_REP_WIDTH 1U +#define PWMPLUS_CFG_CNT_REP_VALUE_ENABLE 1U +#define PWMPLUS_CFG_CNT_REP_BITS_ENABLE (PWMPLUS_CFG_CNT_REP_VALUE_ENABLE << PWMPLUS_CFG_CNT_REP_SHIFT) + +#define PWMPLUS_CFG_OUT_MODE_SHIFT 3U +#define PWMPLUS_CFG_OUT_MODE_VALUE_ENABLE 1U +#define PWMPLUS_CFG_OUT_MODE_BITS_ENABLE (PWMPLUS_CFG_OUT_MODE_VALUE_ENABLE << PWMPLUS_CFG_OUT_MODE_SHIFT) + +#define PWMPLUS_CFG_AUTO_RELOAD_SHIFT 8U + +//--------------- + +#define PWMPLUS_GEN 0x04U + +#define PWMPLUS_GEN_CH0_OE_SHIFT 24U +#define PWMPLUS_GEN_CH0_OE_WIDTH 1U +#define PWMPLUS_GEN_CH0_OE_VALUE_ENABLE 1U +#define PWMPLUS_GEN_CH0_OE_BITS_ENABLE (PWMPLUS_GEN_CH0_OE_VALUE_ENABLE << PWMPLUS_GEN_CH0_OE_SHIFT) + +#define PWMPLUS_GEN_CH0_OUTINV_SHIFT 16U +#define PWMPLUS_GEN_CH0_OUTINV_WIDTH 1U +#define PWMPLUS_GEN_CH0_OUTINV_VALUE_ENABLE 1U +#define PWMPLUS_GEN_CH0_OUTINV_BITS_ENABLE (PWMPLUS_GEN_CH0_OUTINV_VALUE_ENABLE << PWMPLUS_GEN_CH0_OUTINV_SHIFT) + +#define PWMPLUS_GEN_CH0_START_SHIFT 8U +#define PWMPLUS_GEN_CH0_START_WIDTH 1U +#define PWMPLUS_GEN_CH0_START_VALUE_ENABLE 1U +#define PWMPLUS_GEN_CH0_START_BITS_ENABLE (PWMPLUS_GEN_CH0_START_VALUE_ENABLE << PWMPLUS_GEN_CH0_START_SHIFT) + +#define PWMPLUS_GEN_CH0_IDLE_SHIFT 0U +#define PWMPLUS_GEN_CH0_IDLE_WIDTH 1U +#define PWMPLUS_GEN_CH0_IDLE_VALUE_ENABLE 1U +#define PWMPLUS_GEN_CH0_IDLE_BITS_ENABLE (PWMPLUS_GEN_CH0_IDLE_VALUE_ENABLE << PWMPLUS_GEN_CH0_IDLE_SHIFT) + +//--------------- + +#define PWMPLUS_CLKSRC 0x08U +#define PWMPLUS_BRAKE_CFG 0x0CU +#define PWMPLUS_MASK_LEV 0x10U +#define PWMPLUS_PERIOD 0x1CU +#define PWMPLUS_CH0_COMP 0x20U +#define PWMPLUS_CH1_COMP 0x24U +#define PWMPLUS_CH2_COMP 0x28U +#define PWMPLUS_CH0_DT 0x30U +#define PWMPLUS_CH1_DT 0x34U +#define PWMPLUS_CH2_DT 0x38U +#define PWMPLUS_TRIG_COMP 0x40U +#define PWMPLUS_TRIG_CFG 0x44U +#define PWMPLUS_IE 0x60U +#define PWMPLUS_IF 0x64U +#define PWMPLUS_SWLOAD 0x84U +#define PWMPLUS_MASK_EN 0x88 +#define PWMPLUS_CNT_ST 0xE0 +#define PWMPLUS_BRAKE_ST 0xE4 + + + + + + + + + + + + + +#define PWM_PLUS0_CFG_ADDR (PWM_PLUS0_BASE_ADDR + PWMPLUS_CFG) +#define PWM_PLUS0_CFG (*(volatile uint32_t *)PWM_PLUS0_CFG_ADDR) + +#define PWM_PLUS0_GEN_ADDR (PWM_PLUS0_BASE_ADDR + PWMPLUS_GEN) +#define PWM_PLUS0_GEN (*(volatile uint32_t *)PWM_PLUS0_GEN_ADDR) + +#define PWM_PLUS0_CLKSRC_ADDR (PWM_PLUS0_BASE_ADDR + PWMPLUS_CLKSRC) +#define PWM_PLUS0_CLKSRC (*(volatile uint32_t *)PWM_PLUS0_CLKSRC_ADDR) + +#define PWM_PLUS0_BRAKE_CFG_ADDR (PWM_PLUS0_BASE_ADDR + PWMPLUS_BRAKE_CFG) +#define PWM_PLUS0_BRAKE_CFG (*(volatile uint32_t *)PWM_PLUS0_BRAKE_CFG_ADDR) + +#define PWM_PLUS0_MASK_LEV_ADDR (PWM_PLUS0_BASE_ADDR + PWMPLUS_MASK_LEV) +#define PWM_PLUS0_MASK_LEV (*(volatile uint32_t *)PWM_PLUS0_MASK_LEV_ADDR) + +#define PWM_PLUS0_PERIOD_ADDR (PWM_PLUS0_BASE_ADDR + PWMPLUS_PERIOD) +#define PWM_PLUS0_PERIOD (*(volatile uint32_t *)PWM_PLUS0_PERIOD_ADDR) + +#define PWM_PLUS0_CH0_COMP_ADDR (PWM_PLUS0_BASE_ADDR + PWMPLUS_CH0_COMP) +#define PWM_PLUS0_CH0_COMP (*(volatile uint32_t *)PWM_PLUS0_CH0_COMP_ADDR) + +#define PWM_PLUS0_CH1_COMP_ADDR (PWM_PLUS0_BASE_ADDR + PWMPLUS_CH1_COMP) +#define PWM_PLUS0_CH1_COMP (*(volatile uint32_t *)PWM_PLUS0_CH1_COMP_ADDR) + +#define PWM_PLUS0_CH2_COMP_ADDR (PWM_PLUS0_BASE_ADDR + PWMPLUS_CH2_COMP) +#define PWM_PLUS0_CH2_COMP (*(volatile uint32_t *)PWM_PLUS0_CH2_COMP_ADDR) + +#define PWM_PLUS0_CH0_DT_ADDR (PWM_PLUS0_BASE_ADDR + PWMPLUS_CH0_DT) +#define PWM_PLUS0_CH0_DT (*(volatile uint32_t *)PWM_PLUS0_CH0_DT_ADDR) + +#define PWM_PLUS0_CH1_DT_ADDR (PWM_PLUS0_BASE_ADDR + PWMPLUS_CH1_DT) +#define PWM_PLUS0_CH1_DT (*(volatile uint32_t *)PWM_PLUS0_CH1_DT_ADDR) + +#define PWM_PLUS0_CH2_DT_ADDR (PWM_PLUS0_BASE_ADDR + PWMPLUS_CH2_DT) +#define PWM_PLUS0_CH2_DT (*(volatile uint32_t *)PWM_PLUS0_CH2_DT_ADDR) + +#define PWM_PLUS0_TRIG_COMP_ADDR (PWM_PLUS0_BASE_ADDR + PWMPLUS_TRIG_COMP) +#define PWM_PLUS0_TRIG_COMP (*(volatile uint32_t *)PWM_PLUS0_TRIG_COMP_ADDR) + +#define PWM_PLUS0_TRIG_CFG_ADDR (PWM_PLUS0_BASE_ADDR + PWMPLUS_TRIG_CFG) +#define PWM_PLUS0_TRIG_CFG (*(volatile uint32_t *)PWM_PLUS0_TRIG_CFG_ADDR) + +#define PWM_PLUS0_IE_ADDR (PWM_PLUS0_BASE_ADDR + PWMPLUS_IE) +#define PWM_PLUS0_IE (*(volatile uint32_t *)PWM_PLUS0_IE_ADDR) + +#define PWM_PLUS0_IF_ADDR (PWM_PLUS0_BASE_ADDR + PWMPLUS_IF) +#define PWM_PLUS0_IF (*(volatile uint32_t *)PWM_PLUS0_IF_ADDR) + +#define PWM_PLUS0_SWLOAD_ADDR (PWM_PLUS0_BASE_ADDR + PWMPLUS_SWLOAD) +#define PWM_PLUS0_SWLOAD (*(volatile uint32_t *)PWM_PLUS0_SWLOAD_ADDR) + +#define PWM_PLUS0_MASK_EN_ADDR (PWM_PLUS0_BASE_ADDR + PWMPLUS_MASK_EN) +#define PWM_PLUS0_MASK_EN (*(volatile uint32_t *)PWM_PLUS0_MASK_EN_ADDR) + +#define PWM_PLUS0_CNT_ST_ADDR (PWM_PLUS0_BASE_ADDR + PWMPLUS_CNT_ST) +#define PWM_PLUS0_CNT_ST (*(volatile uint32_t *)PWM_PLUS0_CNT_ST_ADDR) + +#define PWM_PLUS0_BRAKE_ST_ADDR (PWM_PLUS0_BASE_ADDR + PWMPLUS_BRAKE_ST) +#define PWM_PLUS0_BRAKE_ST (*(volatile uint32_t *)PWM_PLUS0_BRAKE_ST_ADDR) + +#endif \ No newline at end of file diff --git a/external/CMSIS_5/CMSIS/Core/Template/ARMv8-M/main_s.c b/external/CMSIS_5/CMSIS/Core/Template/ARMv8-M/main_s.c deleted file mode 100644 index 273607b..0000000 --- a/external/CMSIS_5/CMSIS/Core/Template/ARMv8-M/main_s.c +++ /dev/null @@ -1,58 +0,0 @@ -/****************************************************************************** - * @file main_s.c - * @brief Code template for secure main function - * @version V1.1.1 - * @date 10. January 2018 - ******************************************************************************/ -/* - * Copyright (c) 2013-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* Use CMSE intrinsics */ -#include - -#include "RTE_Components.h" -#include CMSIS_device_header - -/* TZ_START_NS: Start address of non-secure application */ -#ifndef TZ_START_NS -#define TZ_START_NS (0x200000U) -#endif - -/* typedef for non-secure callback functions */ -typedef void (*funcptr_void) (void) __attribute__((cmse_nonsecure_call)); - -/* Secure main() */ -int main(void) { - funcptr_void NonSecure_ResetHandler; - - /* Add user setup code for secure part here*/ - - /* Set non-secure main stack (MSP_NS) */ - __TZ_set_MSP_NS(*((uint32_t *)(TZ_START_NS))); - - /* Get non-secure reset handler */ - NonSecure_ResetHandler = (funcptr_void)(*((uint32_t *)((TZ_START_NS) + 4U))); - - /* Start non-secure state software application */ - NonSecure_ResetHandler(); - - /* Non-secure software does not return, this code is not executed */ - while (1) { - __NOP(); - } -} diff --git a/external/CMSIS_5/CMSIS/Core/Template/ARMv8-M/tz_context.c b/external/CMSIS_5/CMSIS/Core/Template/ARMv8-M/tz_context.c deleted file mode 100644 index e2e8294..0000000 --- a/external/CMSIS_5/CMSIS/Core/Template/ARMv8-M/tz_context.c +++ /dev/null @@ -1,200 +0,0 @@ -/****************************************************************************** - * @file tz_context.c - * @brief Context Management for Armv8-M TrustZone - Sample implementation - * @version V1.1.1 - * @date 10. January 2018 - ******************************************************************************/ -/* - * Copyright (c) 2016-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "RTE_Components.h" -#include CMSIS_device_header -#include "tz_context.h" - -/// Number of process slots (threads may call secure library code) -#ifndef TZ_PROCESS_STACK_SLOTS -#define TZ_PROCESS_STACK_SLOTS 8U -#endif - -/// Stack size of the secure library code -#ifndef TZ_PROCESS_STACK_SIZE -#define TZ_PROCESS_STACK_SIZE 256U -#endif - -typedef struct { - uint32_t sp_top; // stack space top - uint32_t sp_limit; // stack space limit - uint32_t sp; // current stack pointer -} stack_info_t; - -static stack_info_t ProcessStackInfo [TZ_PROCESS_STACK_SLOTS]; -static uint64_t ProcessStackMemory[TZ_PROCESS_STACK_SLOTS][TZ_PROCESS_STACK_SIZE/8U]; -static uint32_t ProcessStackFreeSlot = 0xFFFFFFFFU; - - -/// Initialize secure context memory system -/// \return execution status (1: success, 0: error) -__attribute__((cmse_nonsecure_entry)) -uint32_t TZ_InitContextSystem_S (void) { - uint32_t n; - - if (__get_IPSR() == 0U) { - return 0U; // Thread Mode - } - - for (n = 0U; n < TZ_PROCESS_STACK_SLOTS; n++) { - ProcessStackInfo[n].sp = 0U; - ProcessStackInfo[n].sp_limit = (uint32_t)&ProcessStackMemory[n]; - ProcessStackInfo[n].sp_top = (uint32_t)&ProcessStackMemory[n] + TZ_PROCESS_STACK_SIZE; - *((uint32_t *)ProcessStackMemory[n]) = n + 1U; - } - *((uint32_t *)ProcessStackMemory[--n]) = 0xFFFFFFFFU; - - ProcessStackFreeSlot = 0U; - - // Default process stack pointer and stack limit - __set_PSPLIM((uint32_t)ProcessStackMemory); - __set_PSP ((uint32_t)ProcessStackMemory); - - // Privileged Thread Mode using PSP - __set_CONTROL(0x02U); - - return 1U; // Success -} - - -/// Allocate context memory for calling secure software modules in TrustZone -/// \param[in] module identifies software modules called from non-secure mode -/// \return value != 0 id TrustZone memory slot identifier -/// \return value 0 no memory available or internal error -__attribute__((cmse_nonsecure_entry)) -TZ_MemoryId_t TZ_AllocModuleContext_S (TZ_ModuleId_t module) { - uint32_t slot; - - (void)module; // Ignore (fixed Stack size) - - if (__get_IPSR() == 0U) { - return 0U; // Thread Mode - } - - if (ProcessStackFreeSlot == 0xFFFFFFFFU) { - return 0U; // No slot available - } - - slot = ProcessStackFreeSlot; - ProcessStackFreeSlot = *((uint32_t *)ProcessStackMemory[slot]); - - ProcessStackInfo[slot].sp = ProcessStackInfo[slot].sp_top; - - return (slot + 1U); -} - - -/// Free context memory that was previously allocated with \ref TZ_AllocModuleContext_S -/// \param[in] id TrustZone memory slot identifier -/// \return execution status (1: success, 0: error) -__attribute__((cmse_nonsecure_entry)) -uint32_t TZ_FreeModuleContext_S (TZ_MemoryId_t id) { - uint32_t slot; - - if (__get_IPSR() == 0U) { - return 0U; // Thread Mode - } - - if ((id == 0U) || (id > TZ_PROCESS_STACK_SLOTS)) { - return 0U; // Invalid ID - } - - slot = id - 1U; - - if (ProcessStackInfo[slot].sp == 0U) { - return 0U; // Inactive slot - } - ProcessStackInfo[slot].sp = 0U; - - *((uint32_t *)ProcessStackMemory[slot]) = ProcessStackFreeSlot; - ProcessStackFreeSlot = slot; - - return 1U; // Success -} - - -/// Load secure context (called on RTOS thread context switch) -/// \param[in] id TrustZone memory slot identifier -/// \return execution status (1: success, 0: error) -__attribute__((cmse_nonsecure_entry)) -uint32_t TZ_LoadContext_S (TZ_MemoryId_t id) { - uint32_t slot; - - if ((__get_IPSR() == 0U) || ((__get_CONTROL() & 2U) == 0U)) { - return 0U; // Thread Mode or using Main Stack for threads - } - - if ((id == 0U) || (id > TZ_PROCESS_STACK_SLOTS)) { - return 0U; // Invalid ID - } - - slot = id - 1U; - - if (ProcessStackInfo[slot].sp == 0U) { - return 0U; // Inactive slot - } - - // Setup process stack pointer and stack limit - __set_PSPLIM(ProcessStackInfo[slot].sp_limit); - __set_PSP (ProcessStackInfo[slot].sp); - - return 1U; // Success -} - - -/// Store secure context (called on RTOS thread context switch) -/// \param[in] id TrustZone memory slot identifier -/// \return execution status (1: success, 0: error) -__attribute__((cmse_nonsecure_entry)) -uint32_t TZ_StoreContext_S (TZ_MemoryId_t id) { - uint32_t slot; - uint32_t sp; - - if ((__get_IPSR() == 0U) || ((__get_CONTROL() & 2U) == 0U)) { - return 0U; // Thread Mode or using Main Stack for threads - } - - if ((id == 0U) || (id > TZ_PROCESS_STACK_SLOTS)) { - return 0U; // Invalid ID - } - - slot = id - 1U; - - if (ProcessStackInfo[slot].sp == 0U) { - return 0U; // Inactive slot - } - - sp = __get_PSP(); - if ((sp < ProcessStackInfo[slot].sp_limit) || - (sp > ProcessStackInfo[slot].sp_top)) { - return 0U; // SP out of range - } - ProcessStackInfo[slot].sp = sp; - - // Default process stack pointer and stack limit - __set_PSPLIM((uint32_t)ProcessStackMemory); - __set_PSP ((uint32_t)ProcessStackMemory); - - return 1U; // Success -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Include/CV_Framework.h b/external/CMSIS_5/CMSIS/CoreValidation/Include/CV_Framework.h deleted file mode 100644 index 241f615..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Include/CV_Framework.h +++ /dev/null @@ -1,44 +0,0 @@ -/*----------------------------------------------------------------------------- - * Name: CV_Framework.h - * Purpose: Framework header - *---------------------------------------------------------------------------- - * Copyright (c) 2017 ARM Limited. All rights reserved. - *----------------------------------------------------------------------------*/ -#ifndef __FRAMEWORK_H__ -#define __FRAMEWORK_H__ - -#include "CV_Typedefs.h" -#include "CV_Report.h" - -/*----------------------------------------------------------------------------- - * Test framework global definitions - *----------------------------------------------------------------------------*/ - -/* Test case definition macro */ -#define TCD(x, y) {x, #x, y} - -/* Test case description structure */ -typedef struct __TestCase { - void (*TestFunc)(void); /* Test function */ - const char *TFName; /* Test function name string */ - BOOL en; /* Test function enabled */ -} TEST_CASE; - -/* Test suite description structure */ -typedef struct __TestSuite { - const char *FileName; /* Test module file name */ - const char *Date; /* Compilation date */ - const char *Time; /* Compilation time */ - const char *ReportTitle; /* Title or name of module under test */ - void (*Init)(void); /* Init function callback */ - - uint32_t TCBaseNum; /* Base number for test case numbering */ - TEST_CASE *TC; /* Array of test cases */ - uint32_t NumOfTC; /* Number of test cases (sz of TC array)*/ - -} TEST_SUITE; - -/* Defined in user test module */ -extern TEST_SUITE ts; - -#endif /* __FRAMEWORK_H__ */ diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Include/CV_Report.h b/external/CMSIS_5/CMSIS/CoreValidation/Include/CV_Report.h deleted file mode 100644 index 7c34466..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Include/CV_Report.h +++ /dev/null @@ -1,89 +0,0 @@ -/*----------------------------------------------------------------------------- - * Name: CV_Report.h - * Purpose: Report statistics and layout header - *---------------------------------------------------------------------------- - * Copyright (c) 2017 ARM Limited. All rights reserved. - *----------------------------------------------------------------------------*/ -#ifndef __REPORT_H__ -#define __REPORT_H__ - -#include "CV_Config.h" -#include "CV_Typedefs.h" - -/*----------------------------------------------------------------------------- - * Test report global definitions - *----------------------------------------------------------------------------*/ - -#define REP_TC_FAIL 0 -#define REP_TC_WARN 1 -#define REP_TC_PASS 2 -#define REP_TC_NOEX 3 - -/* Test case result definition */ -typedef enum { - PASSED = 0, - WARNING, - FAILED, - NOT_EXECUTED -} TC_RES; - -/* Assertion result info */ -typedef struct { - const char *module; /* Module name */ - uint32_t line; /* Assertion line */ -} AS_INFO; - -/* Test case callback interface definition */ -typedef struct { - BOOL (* Result) (TC_RES res); - BOOL (* Dbgi) (TC_RES res, const char *fn, uint32_t ln, char *desc); -} TC_ITF; - -/* Assert interface to the report */ -extern TC_ITF tcitf; - -/* Assertion result buffer */ -typedef struct { -AS_INFO passed[BUFFER_ASSERTIONS]; -AS_INFO failed[BUFFER_ASSERTIONS]; -AS_INFO warnings[BUFFER_ASSERTIONS]; -} AS_T_INFO; - -/* Assertion statistics */ -typedef struct { - uint32_t passed; /* Total assertions passed */ - uint32_t failed; /* Total assertions failed */ - uint32_t warnings; /* Total assertions warnings */ - AS_T_INFO info; /* Detailed assertion info */ -} AS_STAT; - -/* Test global statistics */ -typedef struct { - uint32_t tests; /* Total test cases count */ - uint32_t executed; /* Total test cases executed */ - uint32_t passed; /* Total test cases passed */ - uint32_t failed; /* Total test cases failed */ - uint32_t warnings; /* Total test cases warnings */ - AS_STAT assertions; /* Total assertions statistics */ -} TEST_REPORT; - -/* Test report interface */ -typedef struct { - BOOL (* Init) (void); - BOOL (* Open) (const char *title, const char *date, const char *time, const char *fn); - BOOL (* Close) (void); - BOOL (* Open_TC) (uint32_t num, const char *fn); - BOOL (* Close_TC) (void); -} REPORT_ITF; - -/* Test report statistics */ -extern TEST_REPORT test_report; - -/* Test report interface */ -extern REPORT_ITF ritf; - -/* Assertions and test results */ -extern TC_RES __set_result (const char *fn, uint32_t ln, TC_RES res, char* desc); -extern TC_RES __assert_true (const char *fn, uint32_t ln, uint32_t cond); - -#endif /* __REPORT_H__ */ diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Include/CV_Typedefs.h b/external/CMSIS_5/CMSIS/CoreValidation/Include/CV_Typedefs.h deleted file mode 100644 index 20fe08e..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Include/CV_Typedefs.h +++ /dev/null @@ -1,58 +0,0 @@ -/*----------------------------------------------------------------------------- - * Name: CV_Typedefs.h - * Purpose: Test framework filetypes and structures description - *---------------------------------------------------------------------------- - * Copyright (c) 2017 - 2018 Arm Limited. All rights reserved. - *----------------------------------------------------------------------------*/ -#ifndef __TYPEDEFS_H__ -#define __TYPEDEFS_H__ - -#include -#include -#include -#include - -typedef unsigned int BOOL; - -#ifndef __TRUE - #define __TRUE 1 -#endif -#ifndef __FALSE - #define __FALSE 0 -#endif - -#ifndef ENABLED - #define ENABLED 1 -#endif -#ifndef DISABLED - #define DISABLED 0 -#endif - -#ifndef NULL - #ifdef __cplusplus // EC++ - #define NULL 0 - #else - #define NULL ((void *) 0) - #endif -#endif - -#define ARRAY_SIZE(arr) (sizeof(arr)/sizeof((arr)[0])) - -#if defined( __GNUC__ ) || defined ( __clang__ ) -static const int PATH_DELIMITER = '/'; -#else -static const int PATH_DELIMITER = '\\'; -#endif - -//lint -emacro(9016,__FILENAME__) allow pointer arithmetic for truncating filename -//lint -emacro(613,__FILENAME__) null pointer is checked -#define __FILENAME__ ((strrchr(__FILE__, PATH_DELIMITER) != NULL) ? (strrchr(__FILE__, PATH_DELIMITER) + 1) : __FILE__) - -/* Assertions and test results */ -#define SET_RESULT(res, desc) (void)__set_result(__FILENAME__, __LINE__, (res), (desc)); - -//lint -emacro(9031,ASSERT_TRUE) allow boolean condition as parameter -//lint -emacro(613,ASSERT_TRUE) null pointer is checked -#define ASSERT_TRUE(cond) (void)__assert_true (__FILENAME__, __LINE__, (cond) ? 1U : 0U) - -#endif /* __TYPEDEFS_H__ */ diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Include/cmsis_cv.h b/external/CMSIS_5/CMSIS/CoreValidation/Include/cmsis_cv.h deleted file mode 100644 index 26fedc9..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Include/cmsis_cv.h +++ /dev/null @@ -1,135 +0,0 @@ -/*----------------------------------------------------------------------------- - * Name: cmsis_cv.h - * Purpose: cmsis_cv header - *---------------------------------------------------------------------------- - * Copyright (c) 2017 - 2021 Arm Limited. All rights reserved. - *----------------------------------------------------------------------------*/ -#ifndef __CMSIS_CV_H -#define __CMSIS_CV_H - -#include -#include "CV_Config.h" - -/* Expansion macro used to create CMSIS Driver references */ -#define EXPAND_SYMBOL(name, port) name##port -#define CREATE_SYMBOL(name, port) EXPAND_SYMBOL(name, port) - -// Simulator counter -#ifndef HW_PRESENT -extern uint32_t SIM_CYCCNT; -#endif - -// SVC interrupt callback -extern void (*TST_IRQHandler)(void); - -// Test main function -extern void cmsis_cv (void); -extern void cmsis_cv_abort (const char *fn, uint32_t ln, char *desc); - -// Test cases -extern void TC_CoreInstr_NOP (void); -extern void TC_CoreInstr_SEV (void); -extern void TC_CoreInstr_BKPT (void); -extern void TC_CoreInstr_ISB (void); -extern void TC_CoreInstr_DSB (void); -extern void TC_CoreInstr_DMB (void); -extern void TC_CoreInstr_WFI (void); -extern void TC_CoreInstr_WFE (void); -extern void TC_CoreInstr_REV (void); -extern void TC_CoreInstr_REV16 (void); -extern void TC_CoreInstr_REVSH (void); -extern void TC_CoreInstr_ROR (void); -extern void TC_CoreInstr_RBIT (void); -extern void TC_CoreInstr_CLZ (void); -extern void TC_CoreInstr_SSAT (void); -extern void TC_CoreInstr_USAT (void); -extern void TC_CoreInstr_RRX (void); -extern void TC_CoreInstr_LoadStoreExclusive (void); -extern void TC_CoreInstr_LoadStoreUnpriv (void); -extern void TC_CoreInstr_LoadStoreAcquire (void); -extern void TC_CoreInstr_LoadStoreAcquireExclusive (void); -extern void TC_CoreInstr_UnalignedUint16 (void); -extern void TC_CoreInstr_UnalignedUint32 (void); - -extern void TC_CoreSimd_SatAddSub (void); -extern void TC_CoreSimd_ParSat16 (void); -extern void TC_CoreSimd_PackUnpack (void); -extern void TC_CoreSimd_ParSel (void); -extern void TC_CoreSimd_ParAddSub8 (void); -extern void TC_CoreSimd_AbsDif8 (void); -extern void TC_CoreSimd_ParAddSub16 (void); -extern void TC_CoreSimd_ParMul16 (void); -extern void TC_CoreSimd_Pack16 (void); -extern void TC_CoreSimd_MulAcc32 (void); - -#if defined(__CORTEX_M) - extern void TC_CoreFunc_EnDisIRQ (void); - extern void TC_CoreFunc_IRQPrio (void); - extern void TC_CoreFunc_EncDecIRQPrio (void); - extern void TC_CoreFunc_IRQVect (void); - extern void TC_CoreFunc_Control (void); - extern void TC_CoreFunc_IPSR (void); - extern void TC_CoreFunc_APSR (void); - extern void TC_CoreFunc_PSP (void); - extern void TC_CoreFunc_MSP (void); - extern void TC_CoreFunc_PSPLIM (void); - extern void TC_CoreFunc_PSPLIM_NS (void); - extern void TC_CoreFunc_MSPLIM (void); - extern void TC_CoreFunc_MSPLIM_NS (void); - extern void TC_CoreFunc_PRIMASK (void); - extern void TC_CoreFunc_FAULTMASK (void); - extern void TC_CoreFunc_BASEPRI (void); - extern void TC_CoreFunc_FPUType (void); - extern void TC_CoreFunc_FPSCR (void); -#elif defined(__CORTEX_A) - extern void TC_CoreAFunc_IRQ (void); - extern void TC_CoreAFunc_FaultIRQ (void); - extern void TC_CoreAFunc_FPSCR (void); - extern void TC_CoreAFunc_CPSR (void); - extern void TC_CoreAFunc_Mode (void); - extern void TC_CoreAFunc_SP (void); - extern void TC_CoreAFunc_SP_usr (void); - extern void TC_CoreAFunc_FPEXC (void); - extern void TC_CoreAFunc_ACTLR (void); - extern void TC_CoreAFunc_CPACR (void); - extern void TC_CoreAFunc_DFSR (void); - extern void TC_CoreAFunc_IFSR (void); - extern void TC_CoreAFunc_ISR (void); - extern void TC_CoreAFunc_CBAR (void); - extern void TC_CoreAFunc_TTBR0 (void); - extern void TC_CoreAFunc_DACR (void); - extern void TC_CoreAFunc_SCTLR (void); - extern void TC_CoreAFunc_ACTRL (void); - extern void TC_CoreAFunc_MPIDR (void); - extern void TC_CoreAFunc_VBAR (void); - extern void TC_CoreAFunc_MVBAR (void); - extern void TC_CoreAFunc_FPU_Enable (void); -#endif - -#if defined(__CORTEX_M) -extern void TC_MPU_SetClear (void); -extern void TC_MPU_Load (void); -#endif - -#if defined(__CORTEX_A) -extern void TC_GenTimer_CNTFRQ (void); -extern void TC_GenTimer_CNTP_TVAL (void); -extern void TC_GenTimer_CNTP_CTL (void); -extern void TC_GenTimer_CNTPCT(void); -extern void TC_GenTimer_CNTP_CVAL(void); -#endif - -#if defined(__CORTEX_M) -extern void TC_CML1Cache_EnDisableICache(void); -extern void TC_CML1Cache_EnDisableDCache(void); -extern void TC_CML1Cache_CleanDCacheByAddrWhileDisabled(void); -#elif defined(__CORTEX_A) -extern void TC_CAL1Cache_EnDisable(void); -extern void TC_CAL1Cache_EnDisableBTAC(void); -extern void TC_CAL1Cache_log2_up(void); -extern void TC_CAL1Cache_InvalidateDCacheAll(void); -extern void TC_CAL1Cache_CleanDCacheAll(void); -extern void TC_CAL1Cache_CleanInvalidateDCacheAll(void); -#endif - -#endif /* __CMSIS_CV_H */ diff --git a/external/CMSIS_5/CMSIS/CoreValidation/LICENSE.txt b/external/CMSIS_5/CMSIS/CoreValidation/LICENSE.txt deleted file mode 100644 index 8dada3e..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/LICENSE.txt +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/App/Bootloader_Cortex-M/App.clayer.yml b/external/CMSIS_5/CMSIS/CoreValidation/Layer/App/Bootloader_Cortex-M/App.clayer.yml deleted file mode 100644 index 49fcb6d..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/App/Bootloader_Cortex-M/App.clayer.yml +++ /dev/null @@ -1,14 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/1.3.0/tools/projmgr/schemas/clayer.schema.json - -layer: - # type: App - # name: CMSIS-Core_Validation (Bootloader) - description: Validation of CMSIS-Core implementation (Bootloader part) - - # packs: - # - pack: ARM::CMSIS - - groups: - - group: Source Files - files: - - file: ./bootloader.c diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/App/Bootloader_Cortex-M/bootloader.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/App/Bootloader_Cortex-M/bootloader.c deleted file mode 100644 index eb9b011..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/App/Bootloader_Cortex-M/bootloader.c +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright (c) 2013-2016 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ---------------------------------------------------------------------- - * - * $Date: 15. October 2016 - * $Revision: 1.1.0 - * - * Project: TrustZone for ARMv8-M - * Title: Code template for secure main function - * - *---------------------------------------------------------------------------*/ - -#include -#include - -/* Use CMSE intrinsics */ -#include - -#include "RTE_Components.h" -#include CMSIS_device_header - -/* TZ_START_NS: Start address of non-secure application */ -#ifndef TZ_START_NS -#define TZ_START_NS (0x200000U) -#endif - -#if 1 -/* Dummy Non-secure callable (entry) function */ -__attribute__((cmse_nonsecure_entry)) int validationDummy(int x) { - return x; -} -#endif - -/* typedef for non-secure callback functions */ -typedef void (*funcptr_void) (void) __attribute__((cmse_nonsecure_call)); - -/* Secure main() */ -int main(void) { - funcptr_void NonSecure_ResetHandler; - - /* Add user setup code for secure part here*/ - - /* Set non-secure main stack (MSP_NS) */ - __TZ_set_MSP_NS(*((uint32_t *)(TZ_START_NS))); - - /* Get non-secure reset handler */ - NonSecure_ResetHandler = (funcptr_void)(*((uint32_t *)((TZ_START_NS) + 4U))); - - /* Start non-secure state software application */ - NonSecure_ResetHandler(); - - /* Non-secure software does not return, this code is not executed */ - while (1) { - __NOP(); - } -} - -#if defined(__CORTEX_M) -__NO_RETURN -extern void HardFault_Handler(void); -void HardFault_Handler(void) { - printf("Bootloader HardFault!\n"); - #ifdef __MICROLIB - for(;;) {} - #else - exit(1); - #endif -} -#endif diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/App/Validation_Cortex-A/App.clayer.yml b/external/CMSIS_5/CMSIS/CoreValidation/Layer/App/Validation_Cortex-A/App.clayer.yml deleted file mode 100644 index e8fece9..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/App/Validation_Cortex-A/App.clayer.yml +++ /dev/null @@ -1,48 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/1.3.0/tools/projmgr/schemas/clayer.schema.json - -layer: - # type: App - # name: CMSIS-Core_Validation - description: Validation of CMSIS-Core implementation - - # packs: - # - pack: ARM::CMSIS - - define: - - PRINT_XML_REPORT: 1 - - add-path: - - ../../../Include - - ../../../Source/ConfigA - - misc: - - for-compiler: AC6 - C-CPP: - - -Wno-declaration-after-statement - - -Wno-covered-switch-default - - for-compiler: GCC - C-CPP: - - -Wno-declaration-after-statement - - -Wno-covered-switch-default - - groups: - - group: Documentation - files: - - file: ../../../README.md - - - group: Source Files - files: - - file: ./main.c - - - group: CMSIS-Core_Validation - files: - - file: ../../../Source/cmsis_cv.c - - file: ../../../Source/CV_CoreAFunc.c - - file: ../../../Source/CV_CoreInstr.c - - file: ../../../Source/CV_CAL1Cache.c -# - file: ../../../Source/ConfigA/mmu.c - - - group: Validation Framework - files: - - file: ../../../Source/CV_Framework.c - - file: ../../../Source/CV_Report.c diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/App/Validation_Cortex-A/main.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/App/Validation_Cortex-A/main.c deleted file mode 100644 index ce1e0e6..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/App/Validation_Cortex-A/main.c +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Copyright (C) 2022 ARM Limited or its affiliates. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include - -#include "RTE_Components.h" -#include CMSIS_device_header - -#ifdef RTE_Compiler_EventRecorder -#include "EventRecorder.h" -#endif - -#include "cmsis_cv.h" -#include "CV_Report.h" - -//lint -e970 allow using int for main - -int main (void) -{ - - // System Initialization - SystemCoreClockUpdate(); - -#ifdef RTE_Compiler_EventRecorder - // Initialize and start Event Recorder - (void)EventRecorderInitialize(EventRecordError, 1U); - (void)EventRecorderEnable(EventRecordAll, 0xFEU, 0xFEU); -#endif - - cmsis_cv(); - - #ifdef __MICROLIB - for(;;) {} - #else - exit(0); - #endif -} - -#if defined(__CORTEX_A) -#include "irq_ctrl.h" - -#if (defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) || \ - (defined ( __GNUC__ )) - #define __IRQ __attribute__((interrupt("IRQ"))) -#elif defined ( __CC_ARM ) - #define __IRQ __irq -#elif defined ( __ICCARM__ ) - #define __IRQ __irq __arm -#else - #error "Unsupported compiler!" -#endif - - -__IRQ -void IRQ_Handler(void); -__IRQ -void IRQ_Handler(void) { - const IRQn_ID_t irqn = IRQ_GetActiveIRQ(); - IRQHandler_t const handler = IRQ_GetHandler(irqn); - if (handler != NULL) { - __enable_irq(); - handler(); - __disable_irq(); - } - IRQ_EndOfInterrupt(irqn); -} - -__IRQ __NO_RETURN -void Undef_Handler (void); -__IRQ __NO_RETURN -void Undef_Handler (void) { - cmsis_cv_abort(__FILENAME__, __LINE__, "Undefined Instruction!"); - exit(0); -} - -__IRQ -void SVC_Handler (void); -__IRQ -void SVC_Handler (void) { -} - -__IRQ __NO_RETURN -void PAbt_Handler (void); -__IRQ __NO_RETURN -void PAbt_Handler (void) { - cmsis_cv_abort(__FILENAME__, __LINE__, "Prefetch Abort!"); - exit(0); -} - -__IRQ __NO_RETURN -void DAbt_Handler (void); -__IRQ __NO_RETURN -void DAbt_Handler (void) { - cmsis_cv_abort(__FILENAME__, __LINE__, "Data Abort!"); - exit(0); -} - -__IRQ -void FIQ_Handler (void); -__IRQ -void FIQ_Handler (void) { -} -#endif - -#if defined(__CORTEX_M) -__NO_RETURN -void HardFault_Handler(void); -__NO_RETURN -void HardFault_Handler(void) { - cmsis_cv_abort(__FILENAME__, __LINE__, "HardFault!"); - #ifdef __MICROLIB - for(;;) {} - #else - exit(0); - #endif -} -#endif diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/App/Validation_Cortex-M/App.clayer.yml b/external/CMSIS_5/CMSIS/CoreValidation/Layer/App/Validation_Cortex-M/App.clayer.yml deleted file mode 100644 index e722ac5..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/App/Validation_Cortex-M/App.clayer.yml +++ /dev/null @@ -1,73 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/1.3.0/tools/projmgr/schemas/clayer.schema.json - -layer: - # type: App - # name: CMSIS-Core_Validation - description: Validation of CMSIS-Core implementation - - # packs: - # - pack: ARM::CMSIS - - define: - - PRINT_XML_REPORT: 1 - - add-path: - - ../../../Include - - ../../../Source/Config - - misc: - - for-compiler: AC6 - C-CPP: - - -Wno-declaration-after-statement - - -Wno-covered-switch-default - - for-compiler: GCC - C-CPP: - - -Wno-declaration-after-statement - - -Wno-covered-switch-default - - groups: - - group: Documentation - files: - - file: ../../../README.md - - - group: Source Files - files: - - file: ./main.c - - - group: CMSIS-Core_Validation - files: - - file: ../../../Source/cmsis_cv.c - - file: ../../../Source/CV_CoreFunc.c - - file: ../../../Source/CV_CoreInstr.c - - file: ../../../Source/CV_CoreSimd.c - - file: ../../../Source/CV_CML1Cache.c - - file: ../../../Source/CV_MPU_ARMv7.c - for-context: - - +CM0 - - +CM0plus - - +CM3 - - +CM4 - - +CM4FP - - +CM7 - - +CM7SP - - +CM7DP - - file: ../../../Source/CV_MPU_ARMv8.c - for-context: - - +CM23 - - +CM23S - - +CM23NS - - +CM33 - - +CM33S - - +CM33NS - - +CM35P - - +CM35PS - - +CM35PNS - - +CM55S - - +CM55NS - - +CM85S - - +CM85NS - - - group: Validation Framework - files: - - file: ../../../Source/CV_Framework.c - - file: ../../../Source/CV_Report.c diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/App/Validation_Cortex-M/main.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/App/Validation_Cortex-M/main.c deleted file mode 100644 index 0d927ab..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/App/Validation_Cortex-M/main.c +++ /dev/null @@ -1,143 +0,0 @@ -/* - * Copyright (C) 2022 ARM Limited or its affiliates. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include - -#include "RTE_Components.h" -#include CMSIS_device_header - -#ifdef RTE_Compiler_EventRecorder -#include "EventRecorder.h" -#endif - -#include "cmsis_cv.h" -#include "CV_Report.h" - -//lint -e970 allow using int for main - - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include - - /* Dummy Non-secure callable (entry) function */ - __attribute__((cmse_nonsecure_entry)) int validationDummy(int x) { - return x; - } -#endif - -int main (void) -{ - - // System Initialization - SystemCoreClockUpdate(); - -#ifdef RTE_Compiler_EventRecorder - // Initialize and start Event Recorder - (void)EventRecorderInitialize(EventRecordError, 1U); - (void)EventRecorderEnable(EventRecordAll, 0xFEU, 0xFEU); -#endif - - cmsis_cv(); - - #ifdef __MICROLIB - for(;;) {} - #else - exit(0); - #endif -} - -#if defined(__CORTEX_A) -#include "irq_ctrl.h" - -#if (defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) || \ - (defined ( __GNUC__ )) - #define __IRQ __attribute__((interrupt("IRQ"))) -#elif defined ( __CC_ARM ) - #define __IRQ __irq -#elif defined ( __ICCARM__ ) - #define __IRQ __irq __arm -#else - #error "Unsupported compiler!" -#endif - - -__IRQ -void IRQ_Handler(void); -__IRQ -void IRQ_Handler(void) { - const IRQn_ID_t irqn = IRQ_GetActiveIRQ(); - IRQHandler_t const handler = IRQ_GetHandler(irqn); - if (handler != NULL) { - __enable_irq(); - handler(); - __disable_irq(); - } - IRQ_EndOfInterrupt(irqn); -} - -__IRQ __NO_RETURN -void Undef_Handler (void); -__IRQ __NO_RETURN -void Undef_Handler (void) { - cmsis_cv_abort(__FILENAME__, __LINE__, "Undefined Instruction!"); - exit(0); -} - -__IRQ -void SVC_Handler (void); -__IRQ -void SVC_Handler (void) { -} - -__IRQ __NO_RETURN -void PAbt_Handler (void); -__IRQ __NO_RETURN -void PAbt_Handler (void) { - cmsis_cv_abort(__FILENAME__, __LINE__, "Prefetch Abort!"); - exit(0); -} - -__IRQ __NO_RETURN -void DAbt_Handler (void); -__IRQ __NO_RETURN -void DAbt_Handler (void) { - cmsis_cv_abort(__FILENAME__, __LINE__, "Data Abort!"); - exit(0); -} - -__IRQ -void FIQ_Handler (void); -__IRQ -void FIQ_Handler (void) { -} -#endif - -#if defined(__CORTEX_M) -__NO_RETURN -void HardFault_Handler(void); -__NO_RETURN -void HardFault_Handler(void) { - cmsis_cv_abort(__FILENAME__, __LINE__, "HardFault!"); - #ifdef __MICROLIB - for(;;) {} - #else - exit(0); - #endif -} -#endif diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/ARMCA5.icf b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/ARMCA5.icf deleted file mode 100644 index ce564bb..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/ARMCA5.icf +++ /dev/null @@ -1,67 +0,0 @@ - -/*-Memory Regions-*/ -define symbol __ICFEDIT_region_IROM1_start__ = 0x80000000; -define symbol __ICFEDIT_region_IROM1_end__ = 0x801FFFFF; -define symbol __ICFEDIT_region_IROM2_start__ = 0x0; -define symbol __ICFEDIT_region_IROM2_end__ = 0x0; -define symbol __ICFEDIT_region_EROM1_start__ = 0x0; -define symbol __ICFEDIT_region_EROM1_end__ = 0x0; -define symbol __ICFEDIT_region_EROM2_start__ = 0x0; -define symbol __ICFEDIT_region_EROM2_end__ = 0x0; -define symbol __ICFEDIT_region_EROM3_start__ = 0x0; -define symbol __ICFEDIT_region_EROM3_end__ = 0x0; -define symbol __ICFEDIT_region_IRAM1_start__ = 0x80200000; -define symbol __ICFEDIT_region_IRAM1_end__ = 0x803FFFFF; -define symbol __ICFEDIT_region_IRAM2_start__ = 0x0; -define symbol __ICFEDIT_region_IRAM2_end__ = 0x0; -define symbol __ICFEDIT_region_ERAM1_start__ = 0x0; -define symbol __ICFEDIT_region_ERAM1_end__ = 0x0; -define symbol __ICFEDIT_region_ERAM2_start__ = 0x0; -define symbol __ICFEDIT_region_ERAM2_end__ = 0x0; -define symbol __ICFEDIT_region_ERAM3_start__ = 0x0; -define symbol __ICFEDIT_region_ERAM3_end__ = 0x0; -define symbol __ICFEDIT_region_TTB_start__ = 0x80500000; -define symbol __ICFEDIT_region_TTB_end__ = 0x805FFFFF; - -/*-Sizes-*/ -define symbol __ICFEDIT_size_cstack__ = 0x1000; -define symbol __ICFEDIT_size_irqstack__ = 0x100; -define symbol __ICFEDIT_size_fiqstack__ = 0x100; -define symbol __ICFEDIT_size_svcstack__ = 0x100; -define symbol __ICFEDIT_size_abtstack__ = 0x100; -define symbol __ICFEDIT_size_undstack__ = 0x100; -define symbol __ICFEDIT_size_heap__ = 0x8000; -define symbol __ICFEDIT_size_ttb__ = 0x4000; - -define memory mem with size = 4G; -define region IROM_region = mem:[from __ICFEDIT_region_IROM1_start__ to __ICFEDIT_region_IROM1_end__] - | mem:[from __ICFEDIT_region_IROM2_start__ to __ICFEDIT_region_IROM2_end__]; -define region IRAM_region = mem:[from __ICFEDIT_region_IRAM1_start__ to __ICFEDIT_region_IRAM1_end__] - | mem:[from __ICFEDIT_region_IRAM2_start__ to __ICFEDIT_region_IRAM2_end__]; -define region ERAM_region = mem:[from __ICFEDIT_region_ERAM1_start__ to __ICFEDIT_region_ERAM1_end__] - | mem:[from __ICFEDIT_region_ERAM2_start__ to __ICFEDIT_region_ERAM2_end__] - | mem:[from __ICFEDIT_region_ERAM3_start__ to __ICFEDIT_region_ERAM3_end__]; -define region TTB_region = mem:[from __ICFEDIT_region_TTB_start__ to __ICFEDIT_region_TTB_end__ ]; - -define block USR_STACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; -define block IRQ_STACK with alignment = 8, size = __ICFEDIT_size_irqstack__ { }; -define block FIQ_STACK with alignment = 8, size = __ICFEDIT_size_fiqstack__ { }; -define block SVC_STACK with alignment = 8, size = __ICFEDIT_size_svcstack__ { }; -define block ABT_STACK with alignment = 8, size = __ICFEDIT_size_abtstack__ { }; -define block UND_STACK with alignment = 8, size = __ICFEDIT_size_undstack__ { }; -define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; -define block TTB with alignment = 8, size = __ICFEDIT_size_ttb__ { section TTB }; - -do not initialize { section .noinit }; - -initialize by copy { readwrite }; -if (isdefinedsymbol(__USE_DLIB_PERTHREAD)) -{ - // Required in a multi-threaded application - initialize by copy with packing = none { section __DLIB_PERTHREAD }; -} - -place at address mem:__ICFEDIT_region_IROM1_start__ { readonly section RESET }; -place in IROM_region { readonly }; -place in IRAM_region { readwrite, block HEAP, block USR_STACK, block IRQ_STACK, block FIQ_STACK, block SVC_STACK, block ABT_STACK, block UND_STACK }; -place in TTB_region { block TTB }; \ No newline at end of file diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/ARMCA5.icf.base@1.0.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/ARMCA5.icf.base@1.0.0 deleted file mode 100644 index ce564bb..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/ARMCA5.icf.base@1.0.0 +++ /dev/null @@ -1,67 +0,0 @@ - -/*-Memory Regions-*/ -define symbol __ICFEDIT_region_IROM1_start__ = 0x80000000; -define symbol __ICFEDIT_region_IROM1_end__ = 0x801FFFFF; -define symbol __ICFEDIT_region_IROM2_start__ = 0x0; -define symbol __ICFEDIT_region_IROM2_end__ = 0x0; -define symbol __ICFEDIT_region_EROM1_start__ = 0x0; -define symbol __ICFEDIT_region_EROM1_end__ = 0x0; -define symbol __ICFEDIT_region_EROM2_start__ = 0x0; -define symbol __ICFEDIT_region_EROM2_end__ = 0x0; -define symbol __ICFEDIT_region_EROM3_start__ = 0x0; -define symbol __ICFEDIT_region_EROM3_end__ = 0x0; -define symbol __ICFEDIT_region_IRAM1_start__ = 0x80200000; -define symbol __ICFEDIT_region_IRAM1_end__ = 0x803FFFFF; -define symbol __ICFEDIT_region_IRAM2_start__ = 0x0; -define symbol __ICFEDIT_region_IRAM2_end__ = 0x0; -define symbol __ICFEDIT_region_ERAM1_start__ = 0x0; -define symbol __ICFEDIT_region_ERAM1_end__ = 0x0; -define symbol __ICFEDIT_region_ERAM2_start__ = 0x0; -define symbol __ICFEDIT_region_ERAM2_end__ = 0x0; -define symbol __ICFEDIT_region_ERAM3_start__ = 0x0; -define symbol __ICFEDIT_region_ERAM3_end__ = 0x0; -define symbol __ICFEDIT_region_TTB_start__ = 0x80500000; -define symbol __ICFEDIT_region_TTB_end__ = 0x805FFFFF; - -/*-Sizes-*/ -define symbol __ICFEDIT_size_cstack__ = 0x1000; -define symbol __ICFEDIT_size_irqstack__ = 0x100; -define symbol __ICFEDIT_size_fiqstack__ = 0x100; -define symbol __ICFEDIT_size_svcstack__ = 0x100; -define symbol __ICFEDIT_size_abtstack__ = 0x100; -define symbol __ICFEDIT_size_undstack__ = 0x100; -define symbol __ICFEDIT_size_heap__ = 0x8000; -define symbol __ICFEDIT_size_ttb__ = 0x4000; - -define memory mem with size = 4G; -define region IROM_region = mem:[from __ICFEDIT_region_IROM1_start__ to __ICFEDIT_region_IROM1_end__] - | mem:[from __ICFEDIT_region_IROM2_start__ to __ICFEDIT_region_IROM2_end__]; -define region IRAM_region = mem:[from __ICFEDIT_region_IRAM1_start__ to __ICFEDIT_region_IRAM1_end__] - | mem:[from __ICFEDIT_region_IRAM2_start__ to __ICFEDIT_region_IRAM2_end__]; -define region ERAM_region = mem:[from __ICFEDIT_region_ERAM1_start__ to __ICFEDIT_region_ERAM1_end__] - | mem:[from __ICFEDIT_region_ERAM2_start__ to __ICFEDIT_region_ERAM2_end__] - | mem:[from __ICFEDIT_region_ERAM3_start__ to __ICFEDIT_region_ERAM3_end__]; -define region TTB_region = mem:[from __ICFEDIT_region_TTB_start__ to __ICFEDIT_region_TTB_end__ ]; - -define block USR_STACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; -define block IRQ_STACK with alignment = 8, size = __ICFEDIT_size_irqstack__ { }; -define block FIQ_STACK with alignment = 8, size = __ICFEDIT_size_fiqstack__ { }; -define block SVC_STACK with alignment = 8, size = __ICFEDIT_size_svcstack__ { }; -define block ABT_STACK with alignment = 8, size = __ICFEDIT_size_abtstack__ { }; -define block UND_STACK with alignment = 8, size = __ICFEDIT_size_undstack__ { }; -define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; -define block TTB with alignment = 8, size = __ICFEDIT_size_ttb__ { section TTB }; - -do not initialize { section .noinit }; - -initialize by copy { readwrite }; -if (isdefinedsymbol(__USE_DLIB_PERTHREAD)) -{ - // Required in a multi-threaded application - initialize by copy with packing = none { section __DLIB_PERTHREAD }; -} - -place at address mem:__ICFEDIT_region_IROM1_start__ { readonly section RESET }; -place in IROM_region { readonly }; -place in IRAM_region { readwrite, block HEAP, block USR_STACK, block IRQ_STACK, block FIQ_STACK, block SVC_STACK, block ABT_STACK, block UND_STACK }; -place in TTB_region { block TTB }; \ No newline at end of file diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/ARMCA5.ld b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/ARMCA5.ld deleted file mode 100644 index 8811727..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/ARMCA5.ld +++ /dev/null @@ -1,181 +0,0 @@ -#include "mem_ARMCA5.h" - -MEMORY -{ - ROM (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - L_TTB (rw) : ORIGIN = __TTB_BASE, LENGTH = __TTB_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - - Image$$VECTORS$$Base = .; - * (RESET) - KEEP(*(.isr_vector)) - Image$$VECTORS$$Limit = .; - - *(SVC_TABLE) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - Image$$RO_DATA$$Base = .; - *(.rodata*) - Image$$RO_DATA$$Limit = .; - - KEEP(*(.eh_frame*)) - } > ROM - - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > ROM - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > ROM - __exidx_end = .; - - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - LONG (__etext) - LONG (__data_start__) - LONG (__data_end__ - __data_start__) - __copy_table_end__ = .; - } > ROM - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - LONG (__bss_start__) - LONG (__bss_end__ - __bss_start__) - __zero_table_end__ = .; - } > ROM - - __etext = .; - - .ttb : - { - Image$$TTB$$ZI$$Base = .; - . += __TTB_SIZE; - Image$$TTB$$ZI$$Limit = .; - } > L_TTB - - .data : - { - Image$$RW_DATA$$Base = .; - __data_start__ = .; - *(vtable) - *(.data*) - Image$$RW_DATA$$Limit = .; - - . = ALIGN(4); - /* preinit data */ - PROVIDE (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE (__init_array_end = .); - - - . = ALIGN(4); - /* finit data */ - PROVIDE (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE (__fini_array_end = .); - - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - - .bss ALIGN(0x400): - { - Image$$ZI_DATA$$Base = .; - __bss_start__ = .; - *(.bss*) - *(COMMON) - __bss_end__ = .; - Image$$ZI_DATA$$Limit = .; - __end__ = .; - end = __end__; - } > RAM AT > RAM - -#if defined(__HEAP_SIZE) && (__HEAP_SIZE > 0) - .heap (NOLOAD): - { - . = ALIGN(8); - Image$$HEAP$$ZI$$Base = .; - . += __HEAP_SIZE; - Image$$HEAP$$ZI$$Limit = .; - __HeapLimit = .; - } > RAM -#endif - - .stack (NOLOAD): - { - . = ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE - __FIQ_STACK_SIZE - __IRQ_STACK_SIZE - __SVC_STACK_SIZE - __ABT_STACK_SIZE - __UND_STACK_SIZE; - . = ALIGN(8); - - __StackTop = .; - Image$$SYS_STACK$$ZI$$Base = .; - . += __STACK_SIZE; - Image$$SYS_STACK$$ZI$$Limit = .; - __stack = .; - - Image$$FIQ_STACK$$ZI$$Base = .; - . += __FIQ_STACK_SIZE; - Image$$FIQ_STACK$$ZI$$Limit = .; - - Image$$IRQ_STACK$$ZI$$Base = .; - . += __IRQ_STACK_SIZE; - Image$$IRQ_STACK$$ZI$$Limit = .; - - Image$$SVC_STACK$$ZI$$Base = .; - . += __SVC_STACK_SIZE; - Image$$SVC_STACK$$ZI$$Limit = .; - - Image$$ABT_STACK$$ZI$$Base = .; - . += __ABT_STACK_SIZE; - Image$$ABT_STACK$$ZI$$Limit = .; - - Image$$UND_STACK$$ZI$$Base = .; - . += __UND_STACK_SIZE; - Image$$UND_STACK$$ZI$$Limit = .; - - } > RAM -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/ARMCA5.sct b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/ARMCA5.sct deleted file mode 100644 index 41e562c..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/ARMCA5.sct +++ /dev/null @@ -1,77 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-a5 -xc -;************************************************** -; Copyright (c) 2017 ARM Ltd. All rights reserved. -;************************************************** - -; Scatter-file for RTX Example on Versatile Express - -; This scatter-file places application code, data, stack and heap at suitable addresses in the memory map. - -; This platform has 2GB SDRAM starting at 0x80000000. - -#include "mem_ARMCA5.h" - -SDRAM __ROM_BASE __ROM_SIZE ; load region size_region -{ - VECTORS __ROM_BASE __ROM_SIZE ; load address = execution address - { - * (RESET, +FIRST) ; Vector table and other startup code - * (InRoot$$Sections) ; All (library) code that must be in a root region - * (+RO-CODE) ; Application RO code (.text) - * (+RO-DATA) ; Application RO data (.constdata) - } - - RW_DATA __RAM_BASE __RW_DATA_SIZE - { * (+RW) } ; Application RW data (.data) - - ZI_DATA (__RAM_BASE+ - __RW_DATA_SIZE) __ZI_DATA_SIZE - { * (+ZI) } ; Application ZI data (.bss) - - ARM_LIB_HEAP (__RAM_BASE - +__RW_DATA_SIZE - +__ZI_DATA_SIZE) EMPTY __HEAP_SIZE ; Heap region growing up - { } - - ARM_LIB_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE - -__SVC_STACK_SIZE - -__ABT_STACK_SIZE - -__UND_STACK_SIZE) EMPTY -__STACK_SIZE ; Stack region growing down - { } - - UND_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE - -__SVC_STACK_SIZE - -__ABT_STACK_SIZE) EMPTY -__UND_STACK_SIZE ; UND mode stack - { } - - ABT_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE - -__SVC_STACK_SIZE) EMPTY -__ABT_STACK_SIZE ; ABT mode stack - { } - - SVC_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE) EMPTY -__SVC_STACK_SIZE ; SVC mode stack - { } - - IRQ_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE) EMPTY -__IRQ_STACK_SIZE ; IRQ mode stack - { } - - FIQ_STACK (__RAM_BASE - +__RAM_SIZE) EMPTY -__FIQ_STACK_SIZE ; FIQ mode stack - { } - - TTB __TTB_BASE EMPTY __TTB_SIZE ; Level-1 Translation Table for MMU - { } -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/mem_ARMCA5.h b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/mem_ARMCA5.h deleted file mode 100644 index 9fe85c0..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/mem_ARMCA5.h +++ /dev/null @@ -1,100 +0,0 @@ -/**************************************************************************//** - * @file mem_ARMCA5.h - * @brief Memory base and size definitions (used in scatter file) - * @version V1.1.0 - * @date 15. May 2019 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __MEM_ARMCA5_H -#define __MEM_ARMCA5_H - -/*---------------------------------------------------------------------------- - User Stack & Heap size definition - *----------------------------------------------------------------------------*/ -/* -//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ -*/ - -/*--------------------- ROM Configuration ------------------------------------ -// -// ROM Configuration -// For compatibility with MMU config the sections must be multiple of 1MB -// ROM Base Address <0x0-0xFFFFFFFF:0x100000> -// ROM Size (in Bytes) <0x0-0xFFFFFFFF:0x100000> -// - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x80000000 -#define __ROM_SIZE 0x00200000 - -/*--------------------- RAM Configuration ----------------------------------- -// RAM Configuration -// For compatibility with MMU config the sections must be multiple of 1MB -// RAM Base Address <0x0-0xFFFFFFFF:0x100000> -// RAM Total Size (in Bytes) <0x0-0xFFFFFFFF:0x100000> -// Data Sections -// RW_DATA Size (in Bytes) <0x0-0xFFFFFFFF:8> -// ZI_DATA Size (in Bytes) <0x0-0xFFFFFFFF:8> -// -// Stack / Heap Configuration -// Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -// Exceptional Modes -// UND Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// ABT Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// SVC Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// IRQ Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// FIQ Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// -// -// - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x80200000 -#define __RAM_SIZE 0x00200000 - -#define __RW_DATA_SIZE 0x00100000 -#define __ZI_DATA_SIZE 0x000F0000 - -#define __STACK_SIZE 0x00001000 -#define __HEAP_SIZE 0x00008000 - -#define __UND_STACK_SIZE 0x00000100 -#define __ABT_STACK_SIZE 0x00000100 -#define __SVC_STACK_SIZE 0x00000100 -#define __IRQ_STACK_SIZE 0x00000100 -#define __FIQ_STACK_SIZE 0x00000100 - -/*----------------------------------------------------------------------------*/ - -/*--------------------- TTB Configuration ------------------------------------ -// -// TTB Configuration -// The TLB L1 contains 4096 32-bit entries and must be 16kB aligned -// The TLB L2 entries are placed after the L1 in the MMU config -// TTB Base Address <0x0-0xFFFFFFFF:0x4000> -// TTB Size (in Bytes) <0x0-0xFFFFFFFF:8> -// - *----------------------------------------------------------------------------*/ -#define __TTB_BASE 0x80500000 -#define __TTB_SIZE 0x00005000 - -#endif /* __MEM_ARMCA5_H */ diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/mmu_ARMCA5.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/mmu_ARMCA5.c deleted file mode 100644 index 58a9480..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/mmu_ARMCA5.c +++ /dev/null @@ -1,232 +0,0 @@ -/**************************************************************************//** - * @file mmu_ARMCA5.c - * @brief MMU Configuration for ARM Cortex-A5 Device Series - * @version V1.2.0 - * @date 15. May 2019 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* Memory map description from: DUI0447G_v2m_p1_trm.pdf 4.2.2 Arm Cortex-A Series memory map - - Memory Type -0xffffffff |--------------------------| ------------ - | FLAG SYNC | Device Memory -0xfffff000 |--------------------------| ------------ - | Fault | Fault -0xfff00000 |--------------------------| ------------ - | | Normal - | | - | Daughterboard | - | memory | - | | -0x80505000 |--------------------------| ------------ - |TTB (L2 Sync Flags ) 4k | Normal -0x80504C00 |--------------------------| ------------ - |TTB (L2 Peripherals-B) 16k| Normal -0x80504800 |--------------------------| ------------ - |TTB (L2 Peripherals-A) 16k| Normal -0x80504400 |--------------------------| ------------ - |TTB (L2 Priv Periphs) 4k | Normal -0x80504000 |--------------------------| ------------ - | TTB (L1 Descriptors) | Normal -0x80500000 |--------------------------| ------------ - | Stack | Normal - |--------------------------| ------------ - | Heap | Normal -0x80400000 |--------------------------| ------------ - | ZI Data | Normal -0x80300000 |--------------------------| ------------ - | RW Data | Normal -0x80200000 |--------------------------| ------------ - | RO Data | Normal - |--------------------------| ------------ - | RO Code | USH Normal -0x80000000 |--------------------------| ------------ - | Daughterboard | Fault - | HSB AXI buses | -0x40000000 |--------------------------| ------------ - | Daughterboard | Fault - | test chips peripherals | -0x2c002000 |--------------------------| ------------ - | Private Address | Device Memory -0x2c000000 |--------------------------| ------------ - | Daughterboard | Fault - | test chips peripherals | -0x20000000 |--------------------------| ------------ - | Peripherals | Device Memory RW/RO - | | & Fault -0x00000000 |--------------------------| -*/ - -// L1 Cache info and restrictions about architecture of the caches (CCSIR register): -// Write-Through support *not* available -// Write-Back support available. -// Read allocation support available. -// Write allocation support available. - -//Note: You should use the Shareable attribute carefully. -//For cores without coherency logic (such as SCU) marking a region as shareable forces the processor to not cache that region regardless of the inner cache settings. -//Cortex-A versions of RTX use LDREX/STREX instructions relying on Local monitors. Local monitors will be used only when the region gets cached, regions that are not cached will use the Global Monitor. -//Some Cortex-A implementations do not include Global Monitors, so wrongly setting the attribute Shareable may cause STREX to fail. - -//Recall: When the Shareable attribute is applied to a memory region that is not Write-Back, Normal memory, data held in this region is treated as Non-cacheable. -//When SMP bit = 0, Inner WB/WA Cacheable Shareable attributes are treated as Non-cacheable. -//When SMP bit = 1, Inner WB/WA Cacheable Shareable attributes are treated as Cacheable. - - -//Following MMU configuration is expected -//SCTLR.AFE == 1 (Simplified access permissions model - AP[2:1] define access permissions, AP[0] is an access flag) -//SCTLR.TRE == 0 (TEX remap disabled, so memory type and attributes are described directly by bits in the descriptor) -//Domain 0 is always the Client domain -//Descriptors should place all memory in domain 0 - -#include "ARMCA5.h" -#include "mem_ARMCA5.h" - -// TTB base address -#define TTB_BASE ((uint32_t*)__TTB_BASE) - -// L2 table pointers -//---------------------------------------- -#define TTB_L1_SIZE (0x00004000) // The L1 translation table divides the full 4GB address space of a 32-bit core - // into 4096 equally sized sections, each of which describes 1MB of virtual memory space. - // The L1 translation table therefore contains 4096 32-bit (word-sized) entries. - -#define PRIVATE_TABLE_L2_BASE_4k (__TTB_BASE + TTB_L1_SIZE) // Map 4k Private Address space -#define PERIPHERAL_A_TABLE_L2_BASE_64k (__TTB_BASE + TTB_L1_SIZE + 0x400) // Map 64k Peripheral #1 0x1C000000 - 0x1C00FFFFF -#define PERIPHERAL_B_TABLE_L2_BASE_64k (__TTB_BASE + TTB_L1_SIZE + 0x800) // Map 64k Peripheral #2 0x1C100000 - 0x1C1FFFFFF -#define SYNC_FLAGS_TABLE_L2_BASE_4k (__TTB_BASE + TTB_L1_SIZE + 0xC00) // Map 4k Flag synchronization - -//--------------------- PERIPHERALS ------------------- -#define PERIPHERAL_A_FAULT (0x00000000 + 0x1c000000) //0x1C000000-0x1C00FFFF (1M) -#define PERIPHERAL_B_FAULT (0x00100000 + 0x1c000000) //0x1C100000-0x1C10FFFF (1M) - -//--------------------- SYNC FLAGS -------------------- -#define FLAG_SYNC 0xFFFFF000 -#define F_SYNC_BASE 0xFFF00000 //1M aligned - -static uint32_t Sect_Normal; //outer & inner wb/wa, non-shareable, executable, rw, domain 0, base addr 0 -static uint32_t Sect_Normal_Cod; //outer & inner wb/wa, non-shareable, executable, ro, domain 0, base addr 0 -static uint32_t Sect_Normal_RO; //as Sect_Normal_Cod, but not executable -static uint32_t Sect_Normal_RW; //as Sect_Normal_Cod, but writeable and not executable -static uint32_t Sect_Device_RO; //device, non-shareable, non-executable, ro, domain 0, base addr 0 -static uint32_t Sect_Device_RW; //as Sect_Device_RO, but writeable - -/* Define global descriptors */ -static uint32_t Page_L1_4k = 0x0; //generic -static uint32_t Page_L1_64k = 0x0; //generic -static uint32_t Page_4k_Device_RW; //Shared device, not executable, rw, domain 0 -static uint32_t Page_64k_Device_RW; //Shared device, not executable, rw, domain 0 - -void MMU_CreateTranslationTable(void) -{ - mmu_region_attributes_Type region; - - //Create 4GB of faulting entries - MMU_TTSection (TTB_BASE, 0, 4096, DESCRIPTOR_FAULT); - - /* - * Generate descriptors. Refer to core_ca.h to get information about attributes - * - */ - //Create descriptors for Vectors, RO, RW, ZI sections - section_normal(Sect_Normal, region); - section_normal_cod(Sect_Normal_Cod, region); - section_normal_ro(Sect_Normal_RO, region); - section_normal_rw(Sect_Normal_RW, region); - //Create descriptors for peripherals - section_device_ro(Sect_Device_RO, region); - section_device_rw(Sect_Device_RW, region); - //Create descriptors for 64k pages - page64k_device_rw(Page_L1_64k, Page_64k_Device_RW, region); - //Create descriptors for 4k pages - page4k_device_rw(Page_L1_4k, Page_4k_Device_RW, region); - - - /* - * Define MMU flat-map regions and attributes - * - */ - - //Define Image - MMU_TTSection (TTB_BASE, __ROM_BASE, __ROM_SIZE/0x100000, Sect_Normal_Cod); // multiple of 1MB sections - MMU_TTSection (TTB_BASE, __RAM_BASE, __RAM_SIZE/0x100000, Sect_Normal_RW); // multiple of 1MB sections - - //--------------------- PERIPHERALS ------------------- - MMU_TTSection (TTB_BASE, VE_A5_MP_FLASH_BASE0 , 64, Sect_Device_RO); // 64MB NOR - MMU_TTSection (TTB_BASE, VE_A5_MP_FLASH_BASE1 , 64, Sect_Device_RO); // 64MB NOR - MMU_TTSection (TTB_BASE, VE_A5_MP_SRAM_BASE , 32, Sect_Device_RW); // 32MB RAM - MMU_TTSection (TTB_BASE, VE_A5_MP_VRAM_BASE , 32, Sect_Device_RW); // 32MB RAM - MMU_TTSection (TTB_BASE, VE_A5_MP_ETHERNET_BASE , 16, Sect_Device_RW); - MMU_TTSection (TTB_BASE, VE_A5_MP_USB_BASE , 16, Sect_Device_RW); - - // Create (16 * 64k)=1MB faulting entries to cover peripheral range 0x1C000000-0x1C00FFFF - MMU_TTPage64k(TTB_BASE, PERIPHERAL_A_FAULT , 16, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, DESCRIPTOR_FAULT); - // Define peripheral range 0x1C000000-0x1C00FFFF - MMU_TTPage64k(TTB_BASE, VE_A5_MP_DAP_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A5_MP_SYSTEM_REG_BASE, 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A5_MP_SERIAL_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A5_MP_AACI_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A5_MP_MMCI_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A5_MP_KMI0_BASE , 2, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A5_MP_UART_BASE , 4, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A5_MP_WDT_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - - // Create (16 * 64k)=1MB faulting entries to cover peripheral range 0x1C100000-0x1C10FFFF - MMU_TTPage64k(TTB_BASE, PERIPHERAL_B_FAULT , 16, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, DESCRIPTOR_FAULT); - // Define peripheral range 0x1C100000-0x1C10FFFF - MMU_TTPage64k(TTB_BASE, VE_A5_MP_TIMER_BASE , 2, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A5_MP_DVI_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A5_MP_RTC_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A5_MP_UART4_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A5_MP_CLCD_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); - - // Create (256 * 4k)=1MB faulting entries to cover private address space. Needs to be marked as Device memory - MMU_TTPage4k (TTB_BASE, __get_CBAR() ,256, Page_L1_4k, (uint32_t *)PRIVATE_TABLE_L2_BASE_4k, DESCRIPTOR_FAULT); - // Define private address space entry. - MMU_TTPage4k (TTB_BASE, __get_CBAR() , 3, Page_L1_4k, (uint32_t *)PRIVATE_TABLE_L2_BASE_4k, Page_4k_Device_RW); - // Define L2CC entry. Uncomment if PL310 is present - // MMU_TTPage4k (TTB_BASE, VE_A5_MP_PL310_BASE , 1, Page_L1_4k, (uint32_t *)PRIVATE_TABLE_L2_BASE_4k, Page_4k_Device_RW); - - // Create (256 * 4k)=1MB faulting entries to synchronization space (Useful if some non-cacheable DMA agent is present in the SoC) - MMU_TTPage4k (TTB_BASE, F_SYNC_BASE , 256, Page_L1_4k, (uint32_t *)SYNC_FLAGS_TABLE_L2_BASE_4k, DESCRIPTOR_FAULT); - // Define synchronization space entry. - MMU_TTPage4k (TTB_BASE, FLAG_SYNC , 1, Page_L1_4k, (uint32_t *)SYNC_FLAGS_TABLE_L2_BASE_4k, Page_4k_Device_RW); - - /* Set location of level 1 page table - ; 31:14 - Translation table base addr (31:14-TTBCR.N, TTBCR.N is 0 out of reset) - ; 13:7 - 0x0 - ; 6 - IRGN[0] 0x1 (Inner WB WA) - ; 5 - NOS 0x0 (Non-shared) - ; 4:3 - RGN 0x01 (Outer WB WA) - ; 2 - IMP 0x0 (Implementation Defined) - ; 1 - S 0x0 (Non-shared) - ; 0 - IRGN[1] 0x0 (Inner WB WA) */ - __set_TTBR0(__TTB_BASE | 0x48); - __ISB(); - - /* Set up domain access control register - ; We set domain 0 to Client and all other domains to No Access. - ; All translation table entries specify domain 0 */ - __set_DACR(1); - __ISB(); -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/startup_ARMCA5.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/startup_ARMCA5.c deleted file mode 100644 index 55c6029..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/startup_ARMCA5.c +++ /dev/null @@ -1,148 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCA5.c - * @brief CMSIS Device System Source File for Arm Cortex-A5 Device Series - * @version V1.0.1 - * @date 10. January 2021 - ******************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include - -/*---------------------------------------------------------------------------- - Definitions - *----------------------------------------------------------------------------*/ -#define USR_MODE 0x10 // User mode -#define FIQ_MODE 0x11 // Fast Interrupt Request mode -#define IRQ_MODE 0x12 // Interrupt Request mode -#define SVC_MODE 0x13 // Supervisor mode -#define ABT_MODE 0x17 // Abort mode -#define UND_MODE 0x1B // Undefined Instruction mode -#define SYS_MODE 0x1F // System mode - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -void Vectors (void) __attribute__ ((naked, section("RESET"))); -void Reset_Handler (void) __attribute__ ((naked)); -void Default_Handler(void) __attribute__ ((noreturn)); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -void Undef_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PAbt_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DAbt_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void IRQ_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void FIQ_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector Table - *----------------------------------------------------------------------------*/ -void Vectors(void) { - __ASM volatile( - "LDR PC, =Reset_Handler \n" - "LDR PC, =Undef_Handler \n" - "LDR PC, =SVC_Handler \n" - "LDR PC, =PAbt_Handler \n" - "LDR PC, =DAbt_Handler \n" - "NOP \n" - "LDR PC, =IRQ_Handler \n" - "LDR PC, =FIQ_Handler \n" - ); -} - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -void Reset_Handler(void) { - __ASM volatile( - - // Mask interrupts - "CPSID if \n" - - // Put any cores other than 0 to sleep - "MRC p15, 0, R0, c0, c0, 5 \n" // Read MPIDR - "ANDS R0, R0, #3 \n" - "goToSleep: \n" - "WFINE \n" - "BNE goToSleep \n" - - // Reset SCTLR Settings - "MRC p15, 0, R0, c1, c0, 0 \n" // Read CP15 System Control register - "BIC R0, R0, #(0x1 << 12) \n" // Clear I bit 12 to disable I Cache - "BIC R0, R0, #(0x1 << 2) \n" // Clear C bit 2 to disable D Cache - "BIC R0, R0, #0x1 \n" // Clear M bit 0 to disable MMU - "BIC R0, R0, #(0x1 << 11) \n" // Clear Z bit 11 to disable branch prediction - "BIC R0, R0, #(0x1 << 13) \n" // Clear V bit 13 to disable hivecs - "MCR p15, 0, R0, c1, c0, 0 \n" // Write value back to CP15 System Control register - "ISB \n" - - // Configure ACTLR - "MRC p15, 0, r0, c1, c0, 1 \n" // Read CP15 Auxiliary Control Register - "ORR r0, r0, #(1 << 1) \n" // Enable L2 prefetch hint (UNK/WI since r4p1) - "MCR p15, 0, r0, c1, c0, 1 \n" // Write CP15 Auxiliary Control Register - - // Set Vector Base Address Register (VBAR) to point to this application's vector table - "LDR R0, =Vectors \n" - "MCR p15, 0, R0, c12, c0, 0 \n" - - // Setup Stack for each exceptional mode - "CPS #0x11 \n" - "LDR SP, =Image$$FIQ_STACK$$ZI$$Limit \n" - "CPS #0x12 \n" - "LDR SP, =Image$$IRQ_STACK$$ZI$$Limit \n" - "CPS #0x13 \n" - "LDR SP, =Image$$SVC_STACK$$ZI$$Limit \n" - "CPS #0x17 \n" - "LDR SP, =Image$$ABT_STACK$$ZI$$Limit \n" - "CPS #0x1B \n" - "LDR SP, =Image$$UND_STACK$$ZI$$Limit \n" - "CPS #0x1F \n" -#if defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6100100) - "LDR SP, =Image$$ARM_LIB_STACK$$ZI$$Limit \n" -#elif defined ( __GNUC__ ) - "LDR SP, =Image$$SYS_STACK$$ZI$$Limit \n" -#else - #error Unknown compiler. -#endif - - // Call SystemInit - "BL SystemInit \n" - - // Unmask interrupts - "CPSIE if \n" - - // Call __main -#if defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6100100) - "BL __main \n" -#elif defined ( __GNUC__ ) - "BL _start \n" -#else - #error Unknown compiler. -#endif - ); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) { - while(1); -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/startup_ARMCA5.c.base@1.0.1 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/startup_ARMCA5.c.base@1.0.1 deleted file mode 100644 index 1bdd541..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/startup_ARMCA5.c.base@1.0.1 +++ /dev/null @@ -1,136 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCA5.c - * @brief CMSIS Device System Source File for Arm Cortex-A5 Device Series - * @version V1.0.1 - * @date 10. January 2021 - ******************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include - -/*---------------------------------------------------------------------------- - Definitions - *----------------------------------------------------------------------------*/ -#define USR_MODE 0x10 // User mode -#define FIQ_MODE 0x11 // Fast Interrupt Request mode -#define IRQ_MODE 0x12 // Interrupt Request mode -#define SVC_MODE 0x13 // Supervisor mode -#define ABT_MODE 0x17 // Abort mode -#define UND_MODE 0x1B // Undefined Instruction mode -#define SYS_MODE 0x1F // System mode - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -void Vectors (void) __attribute__ ((naked, section("RESET"))); -void Reset_Handler (void) __attribute__ ((naked)); -void Default_Handler(void) __attribute__ ((noreturn)); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -void Undef_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PAbt_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DAbt_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void IRQ_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void FIQ_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector Table - *----------------------------------------------------------------------------*/ -void Vectors(void) { - __ASM volatile( - "LDR PC, =Reset_Handler \n" - "LDR PC, =Undef_Handler \n" - "LDR PC, =SVC_Handler \n" - "LDR PC, =PAbt_Handler \n" - "LDR PC, =DAbt_Handler \n" - "NOP \n" - "LDR PC, =IRQ_Handler \n" - "LDR PC, =FIQ_Handler \n" - ); -} - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -void Reset_Handler(void) { - __ASM volatile( - - // Mask interrupts - "CPSID if \n" - - // Put any cores other than 0 to sleep - "MRC p15, 0, R0, c0, c0, 5 \n" // Read MPIDR - "ANDS R0, R0, #3 \n" - "goToSleep: \n" - "WFINE \n" - "BNE goToSleep \n" - - // Reset SCTLR Settings - "MRC p15, 0, R0, c1, c0, 0 \n" // Read CP15 System Control register - "BIC R0, R0, #(0x1 << 12) \n" // Clear I bit 12 to disable I Cache - "BIC R0, R0, #(0x1 << 2) \n" // Clear C bit 2 to disable D Cache - "BIC R0, R0, #0x1 \n" // Clear M bit 0 to disable MMU - "BIC R0, R0, #(0x1 << 11) \n" // Clear Z bit 11 to disable branch prediction - "BIC R0, R0, #(0x1 << 13) \n" // Clear V bit 13 to disable hivecs - "MCR p15, 0, R0, c1, c0, 0 \n" // Write value back to CP15 System Control register - "ISB \n" - - // Configure ACTLR - "MRC p15, 0, r0, c1, c0, 1 \n" // Read CP15 Auxiliary Control Register - "ORR r0, r0, #(1 << 1) \n" // Enable L2 prefetch hint (UNK/WI since r4p1) - "MCR p15, 0, r0, c1, c0, 1 \n" // Write CP15 Auxiliary Control Register - - // Set Vector Base Address Register (VBAR) to point to this application's vector table - "LDR R0, =Vectors \n" - "MCR p15, 0, R0, c12, c0, 0 \n" - - // Setup Stack for each exceptional mode - "CPS #0x11 \n" - "LDR SP, =Image$$FIQ_STACK$$ZI$$Limit \n" - "CPS #0x12 \n" - "LDR SP, =Image$$IRQ_STACK$$ZI$$Limit \n" - "CPS #0x13 \n" - "LDR SP, =Image$$SVC_STACK$$ZI$$Limit \n" - "CPS #0x17 \n" - "LDR SP, =Image$$ABT_STACK$$ZI$$Limit \n" - "CPS #0x1B \n" - "LDR SP, =Image$$UND_STACK$$ZI$$Limit \n" - "CPS #0x1F \n" - "LDR SP, =Image$$ARM_LIB_STACK$$ZI$$Limit \n" - - // Call SystemInit - "BL SystemInit \n" - - // Unmask interrupts - "CPSIE if \n" - - // Call __main - "BL __main \n" - ); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) { - while(1); -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/startup_ARMCA5.s b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/startup_ARMCA5.s deleted file mode 100644 index 85babb9..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/startup_ARMCA5.s +++ /dev/null @@ -1,140 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCA9.s - * @brief CMSIS Device System Source File for ARM Cortex-A5 Device Series - * @version V1.00 - * @date 01 Nov 2017 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2017 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - MODULE ?startup_ARMCA5 - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ - PUBLIC Reset_Handler - PUBWEAK Undef_Handler - PUBWEAK SVC_Handler - PUBWEAK PAbt_Handler - PUBWEAK DAbt_Handler - PUBWEAK IRQ_Handler - PUBWEAK FIQ_Handler - - SECTION SVC_STACK:DATA:NOROOT(3) - SECTION IRQ_STACK:DATA:NOROOT(3) - SECTION FIQ_STACK:DATA:NOROOT(3) - SECTION ABT_STACK:DATA:NOROOT(3) - SECTION UND_STACK:DATA:NOROOT(3) - SECTION USR_STACK:DATA:NOROOT(3) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector Table - *----------------------------------------------------------------------------*/ - - section RESET:CODE:NOROOT(2) - PUBLIC Vectors - -Vectors: - LDR PC, =Reset_Handler - LDR PC, =Undef_Handler - LDR PC, =SVC_Handler - LDR PC, =PAbt_Handler - LDR PC, =DAbt_Handler - NOP - LDR PC, =IRQ_Handler - LDR PC, =FIQ_Handler - - - section .text:CODE:NOROOT(4) - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ - EXTERN SystemInit - EXTERN __iar_program_start - -Reset_Handler: - - // Mask interrupts - CPSID if - - // Put any cores other than 0 to sleep - MRC p15, 0, R0, c0, c0, 5 - ANDS R0, R0, #3 -goToSleep: - WFINE - BNE goToSleep - - // Reset SCTLR Settings - MRC p15, 0, R0, c1, c0, 0 // Read CP15 System Control register - BIC R0, R0, #(0x1 << 12) // Clear I bit 12 to disable I Cache - BIC R0, R0, #(0x1 << 2) // Clear C bit 2 to disable D Cache - BIC R0, R0, #0x1 // Clear M bit 0 to disable MMU - BIC R0, R0, #(0x1 << 11) // Clear Z bit 11 to disable branch prediction - BIC R0, R0, #(0x1 << 13) // Clear V bit 13 to disable hivecs - MCR p15, 0, R0, c1, c0, 0 // Write value back to CP15 System Control register - ISB - - // Configure ACTLR - MRC p15, 0, r0, c1, c0, 1 // Read CP15 Auxiliary Control Register - ORR r0, r0, #(1 << 1) // Enable L2 prefetch hint (UNK/WI since r4p1) - MCR p15, 0, r0, c1, c0, 1 // Write CP15 Auxiliary Control Register - - // Set Vector Base Address Register (VBAR) to point to this application's vector table - LDR R0, =Vectors - MCR p15, 0, R0, c12, c0, 0 - - // Setup Stack for each exception mode - CPS #0x11 - LDR SP, =SFE(FIQ_STACK) - CPS #0x12 - LDR SP, =SFE(IRQ_STACK) - CPS #0x13 - LDR SP, =SFE(SVC_STACK) - CPS #0x17 - LDR SP, =SFE(ABT_STACK) - CPS #0x1B - LDR SP, =SFE(UND_STACK) - CPS #0x1F - LDR SP, =SFE(USR_STACK) - - // Call SystemInit - BL SystemInit - - // Unmask interrupts - CPSIE if - - // Call __iar_program_start - BL __iar_program_start - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -Undef_Handler: -SVC_Handler: -PAbt_Handler: -DAbt_Handler: -IRQ_Handler: -FIQ_Handler: -Default_Handler: - B . - - END diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/startup_ARMCA5.s.base@1.0.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/startup_ARMCA5.s.base@1.0.0 deleted file mode 100644 index 85babb9..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/startup_ARMCA5.s.base@1.0.0 +++ /dev/null @@ -1,140 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCA9.s - * @brief CMSIS Device System Source File for ARM Cortex-A5 Device Series - * @version V1.00 - * @date 01 Nov 2017 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2017 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - MODULE ?startup_ARMCA5 - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ - PUBLIC Reset_Handler - PUBWEAK Undef_Handler - PUBWEAK SVC_Handler - PUBWEAK PAbt_Handler - PUBWEAK DAbt_Handler - PUBWEAK IRQ_Handler - PUBWEAK FIQ_Handler - - SECTION SVC_STACK:DATA:NOROOT(3) - SECTION IRQ_STACK:DATA:NOROOT(3) - SECTION FIQ_STACK:DATA:NOROOT(3) - SECTION ABT_STACK:DATA:NOROOT(3) - SECTION UND_STACK:DATA:NOROOT(3) - SECTION USR_STACK:DATA:NOROOT(3) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector Table - *----------------------------------------------------------------------------*/ - - section RESET:CODE:NOROOT(2) - PUBLIC Vectors - -Vectors: - LDR PC, =Reset_Handler - LDR PC, =Undef_Handler - LDR PC, =SVC_Handler - LDR PC, =PAbt_Handler - LDR PC, =DAbt_Handler - NOP - LDR PC, =IRQ_Handler - LDR PC, =FIQ_Handler - - - section .text:CODE:NOROOT(4) - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ - EXTERN SystemInit - EXTERN __iar_program_start - -Reset_Handler: - - // Mask interrupts - CPSID if - - // Put any cores other than 0 to sleep - MRC p15, 0, R0, c0, c0, 5 - ANDS R0, R0, #3 -goToSleep: - WFINE - BNE goToSleep - - // Reset SCTLR Settings - MRC p15, 0, R0, c1, c0, 0 // Read CP15 System Control register - BIC R0, R0, #(0x1 << 12) // Clear I bit 12 to disable I Cache - BIC R0, R0, #(0x1 << 2) // Clear C bit 2 to disable D Cache - BIC R0, R0, #0x1 // Clear M bit 0 to disable MMU - BIC R0, R0, #(0x1 << 11) // Clear Z bit 11 to disable branch prediction - BIC R0, R0, #(0x1 << 13) // Clear V bit 13 to disable hivecs - MCR p15, 0, R0, c1, c0, 0 // Write value back to CP15 System Control register - ISB - - // Configure ACTLR - MRC p15, 0, r0, c1, c0, 1 // Read CP15 Auxiliary Control Register - ORR r0, r0, #(1 << 1) // Enable L2 prefetch hint (UNK/WI since r4p1) - MCR p15, 0, r0, c1, c0, 1 // Write CP15 Auxiliary Control Register - - // Set Vector Base Address Register (VBAR) to point to this application's vector table - LDR R0, =Vectors - MCR p15, 0, R0, c12, c0, 0 - - // Setup Stack for each exception mode - CPS #0x11 - LDR SP, =SFE(FIQ_STACK) - CPS #0x12 - LDR SP, =SFE(IRQ_STACK) - CPS #0x13 - LDR SP, =SFE(SVC_STACK) - CPS #0x17 - LDR SP, =SFE(ABT_STACK) - CPS #0x1B - LDR SP, =SFE(UND_STACK) - CPS #0x1F - LDR SP, =SFE(USR_STACK) - - // Call SystemInit - BL SystemInit - - // Unmask interrupts - CPSIE if - - // Call __iar_program_start - BL __iar_program_start - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -Undef_Handler: -SVC_Handler: -PAbt_Handler: -DAbt_Handler: -IRQ_Handler: -FIQ_Handler: -Default_Handler: - B . - - END diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/system_ARMCA5.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/system_ARMCA5.c deleted file mode 100644 index 5f599f6..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/system_ARMCA5.c +++ /dev/null @@ -1,93 +0,0 @@ -/****************************************************************************** - * @file system_ARMCA5.c - * @brief CMSIS Device System Source File for Arm Cortex-A5 Device Series - * @version V1.0.1 - * @date 13. February 2019 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "RTE_Components.h" -#include CMSIS_device_header -#include "irq_ctrl.h" - -#define SYSTEM_CLOCK 12000000U - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System Initialization - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ -/* do not use global variables because this function is called before - reaching pre-main. RW section may be overwritten afterwards. */ - - // Invalidate entire Unified TLB - __set_TLBIALL(0); - - // Invalidate entire branch predictor array - __set_BPIALL(0); - __DSB(); - __ISB(); - - // Invalidate instruction cache and flush branch target cache - __set_ICIALLU(0); - __DSB(); - __ISB(); - - // Invalidate data cache - L1C_InvalidateDCacheAll(); - -#if ((__FPU_PRESENT == 1) && (__FPU_USED == 1)) - // Enable FPU - __FPU_Enable(); -#endif - - // Create Translation Table - MMU_CreateTranslationTable(); - - // Enable MMU - MMU_Enable(); - - // Enable Caches - L1C_EnableCaches(); - L1C_EnableBTAC(); - -#if (__L2C_PRESENT == 1) - // Enable GIC - L2C_Enable(); -#endif - - // IRQ Initialize - IRQ_Initialize(); -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/system_ARMCA5.c.base@1.0.1 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/system_ARMCA5.c.base@1.0.1 deleted file mode 100644 index 5f599f6..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/system_ARMCA5.c.base@1.0.1 +++ /dev/null @@ -1,93 +0,0 @@ -/****************************************************************************** - * @file system_ARMCA5.c - * @brief CMSIS Device System Source File for Arm Cortex-A5 Device Series - * @version V1.0.1 - * @date 13. February 2019 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "RTE_Components.h" -#include CMSIS_device_header -#include "irq_ctrl.h" - -#define SYSTEM_CLOCK 12000000U - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System Initialization - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ -/* do not use global variables because this function is called before - reaching pre-main. RW section may be overwritten afterwards. */ - - // Invalidate entire Unified TLB - __set_TLBIALL(0); - - // Invalidate entire branch predictor array - __set_BPIALL(0); - __DSB(); - __ISB(); - - // Invalidate instruction cache and flush branch target cache - __set_ICIALLU(0); - __DSB(); - __ISB(); - - // Invalidate data cache - L1C_InvalidateDCacheAll(); - -#if ((__FPU_PRESENT == 1) && (__FPU_USED == 1)) - // Enable FPU - __FPU_Enable(); -#endif - - // Create Translation Table - MMU_CreateTranslationTable(); - - // Enable MMU - MMU_Enable(); - - // Enable Caches - L1C_EnableCaches(); - L1C_EnableBTAC(); - -#if (__L2C_PRESENT == 1) - // Enable GIC - L2C_Enable(); -#endif - - // IRQ Initialize - IRQ_Initialize(); -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/system_ARMCA5.h b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/system_ARMCA5.h deleted file mode 100644 index 6a2a6da..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/system_ARMCA5.h +++ /dev/null @@ -1,65 +0,0 @@ -/****************************************************************************** - * @file system_ARMCA5.h - * @brief CMSIS Device System Header File for Arm Cortex-A5 Device Series - * @version V1.00 - * @date 10. January 2018 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __SYSTEM_ARMCA5_H -#define __SYSTEM_ARMCA5_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */ - -/** - \brief Setup the microcontroller system. - - Initialize the System and update the SystemCoreClock variable. - */ -extern void SystemInit (void); - - -/** - \brief Update SystemCoreClock variable. - - Updates the SystemCoreClock with current core Clock retrieved from cpu registers. - */ -extern void SystemCoreClockUpdate (void); - -/** - \brief Create Translation Table. - - Creates Memory Management Unit Translation Table. - */ -extern void MMU_CreateTranslationTable(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __SYSTEM_ARMCA5_H */ diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/system_ARMCA5.h.base@1.0.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/system_ARMCA5.h.base@1.0.0 deleted file mode 100644 index 6a2a6da..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/RTE/Device/ARMCA5/system_ARMCA5.h.base@1.0.0 +++ /dev/null @@ -1,65 +0,0 @@ -/****************************************************************************** - * @file system_ARMCA5.h - * @brief CMSIS Device System Header File for Arm Cortex-A5 Device Series - * @version V1.00 - * @date 10. January 2018 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __SYSTEM_ARMCA5_H -#define __SYSTEM_ARMCA5_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */ - -/** - \brief Setup the microcontroller system. - - Initialize the System and update the SystemCoreClock variable. - */ -extern void SystemInit (void); - - -/** - \brief Update SystemCoreClock variable. - - Updates the SystemCoreClock with current core Clock retrieved from cpu registers. - */ -extern void SystemCoreClockUpdate (void); - -/** - \brief Create Translation Table. - - Creates Memory Management Unit Translation Table. - */ -extern void MMU_CreateTranslationTable(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __SYSTEM_ARMCA5_H */ diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/Target.clayer.yml b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/Target.clayer.yml deleted file mode 100644 index 354560a..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/Target.clayer.yml +++ /dev/null @@ -1,23 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/1.3.0/tools/projmgr/schemas/clayer.schema.json - -layer: - # type: Target - description: Target setup - - # packs: - # - pack: ARM::CMSIS - - components: - # [Cvendor::] Cclass [&Cbundle] :Cgroup [:Csub] [&Cvariant] [@[>=]Cversion] - - component: ARM::CMSIS:CORE - - component: Device:Startup - - component: Device:IRQ Controller:GIC - - misc: - - for-compiler: IAR - Link: [--config generic_cortex.icf] - - groups: - - group: VHT/FVP - files: - - file: ./model_config.txt diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/model_config.txt b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/model_config.txt deleted file mode 100644 index 7d9b5be..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA5/model_config.txt +++ /dev/null @@ -1,21 +0,0 @@ -# Parameters: -# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] -#---------------------------------------------------------------------------------------------- -motherboard.vis.disable_visualisation=1 # (bool , init-time) default = '0' : Enable/disable visualisation -cluster.cpu0.vfp-present=1 # (bool , init-time) default = '1' : Set whether the model has VFP support -cluster.cpu0.ase-present=0 # (bool , init-time) default = '1' : Set whether model has NEON support -cluster.cpu0.semihosting-enable=1 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false -cluster.cpu0.semihosting-hlt-enable=0 # (bool , init-time) default = '0' : Enable semihosting HLT traps. Applications that use HLT semihosting must set this parameter to true and the semihosting-enable parameter to true -cluster.cpu0.semihosting-ARM_SVC=0x123456 # (int , init-time) default = '0x123456' : ARM SVC number for semihosting : [0x0..0xFFFFFF] -cluster.cpu0.semihosting-Thumb_SVC=0xAB # (int , init-time) default = '0xAB' : Thumb SVC number for semihosting : [0x0..0xFF] -cluster.cpu0.semihosting-ARM_HLT=0xF000 # (int , init-time) default = '0xF000' : ARM HLT number for semihosting : [0x0..0xFFFF] -cluster.cpu0.semihosting-Thumb_HLT=0x3C # (int , init-time) default = '0x3C' : Thumb HLT number for semihosting : [0x0..0x3F] -cluster.cpu0.semihosting-cmd_line="" # (string, init-time) default = '' : Command line available to semihosting SVC calls -cluster.cpu0.semihosting-heap_base=0x0 # (int , init-time) default = '0x0' : Virtual address of heap base : [0x0..0xFFFFFFFF] -cluster.cpu0.semihosting-heap_limit=0x0 # (int , init-time) default = '0xFF000000' : Virtual address of top of heap : [0x0..0xFFFFFFFF] -cluster.cpu0.semihosting-stack_base=0x0 # (int , init-time) default = '0xFFFF0000' : Virtual address of base of descending stack : [0x0..0xFFFFFFFF] -cluster.cpu0.semihosting-stack_limit=0x0 # (int , init-time) default = '0xFF000000' : Virtual address of stack limit : [0x0..0xFFFFFFFF] -cluster.cpu0.semihosting-cwd="" # (string, init-time) default = '' : Base directory for semihosting file access. -cluster.dcache-state_modelled=1 # (bool , run-time ) default = '0' : Set whether D-cache has stateful implementation -cluster.icache-state_modelled=1 # (bool , run-time ) default = '0' : Set whether I-cache has stateful implementation -#---------------------------------------------------------------------------------------------- diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/ARMCA7.icf b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/ARMCA7.icf deleted file mode 100644 index ce564bb..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/ARMCA7.icf +++ /dev/null @@ -1,67 +0,0 @@ - -/*-Memory Regions-*/ -define symbol __ICFEDIT_region_IROM1_start__ = 0x80000000; -define symbol __ICFEDIT_region_IROM1_end__ = 0x801FFFFF; -define symbol __ICFEDIT_region_IROM2_start__ = 0x0; -define symbol __ICFEDIT_region_IROM2_end__ = 0x0; -define symbol __ICFEDIT_region_EROM1_start__ = 0x0; -define symbol __ICFEDIT_region_EROM1_end__ = 0x0; -define symbol __ICFEDIT_region_EROM2_start__ = 0x0; -define symbol __ICFEDIT_region_EROM2_end__ = 0x0; -define symbol __ICFEDIT_region_EROM3_start__ = 0x0; -define symbol __ICFEDIT_region_EROM3_end__ = 0x0; -define symbol __ICFEDIT_region_IRAM1_start__ = 0x80200000; -define symbol __ICFEDIT_region_IRAM1_end__ = 0x803FFFFF; -define symbol __ICFEDIT_region_IRAM2_start__ = 0x0; -define symbol __ICFEDIT_region_IRAM2_end__ = 0x0; -define symbol __ICFEDIT_region_ERAM1_start__ = 0x0; -define symbol __ICFEDIT_region_ERAM1_end__ = 0x0; -define symbol __ICFEDIT_region_ERAM2_start__ = 0x0; -define symbol __ICFEDIT_region_ERAM2_end__ = 0x0; -define symbol __ICFEDIT_region_ERAM3_start__ = 0x0; -define symbol __ICFEDIT_region_ERAM3_end__ = 0x0; -define symbol __ICFEDIT_region_TTB_start__ = 0x80500000; -define symbol __ICFEDIT_region_TTB_end__ = 0x805FFFFF; - -/*-Sizes-*/ -define symbol __ICFEDIT_size_cstack__ = 0x1000; -define symbol __ICFEDIT_size_irqstack__ = 0x100; -define symbol __ICFEDIT_size_fiqstack__ = 0x100; -define symbol __ICFEDIT_size_svcstack__ = 0x100; -define symbol __ICFEDIT_size_abtstack__ = 0x100; -define symbol __ICFEDIT_size_undstack__ = 0x100; -define symbol __ICFEDIT_size_heap__ = 0x8000; -define symbol __ICFEDIT_size_ttb__ = 0x4000; - -define memory mem with size = 4G; -define region IROM_region = mem:[from __ICFEDIT_region_IROM1_start__ to __ICFEDIT_region_IROM1_end__] - | mem:[from __ICFEDIT_region_IROM2_start__ to __ICFEDIT_region_IROM2_end__]; -define region IRAM_region = mem:[from __ICFEDIT_region_IRAM1_start__ to __ICFEDIT_region_IRAM1_end__] - | mem:[from __ICFEDIT_region_IRAM2_start__ to __ICFEDIT_region_IRAM2_end__]; -define region ERAM_region = mem:[from __ICFEDIT_region_ERAM1_start__ to __ICFEDIT_region_ERAM1_end__] - | mem:[from __ICFEDIT_region_ERAM2_start__ to __ICFEDIT_region_ERAM2_end__] - | mem:[from __ICFEDIT_region_ERAM3_start__ to __ICFEDIT_region_ERAM3_end__]; -define region TTB_region = mem:[from __ICFEDIT_region_TTB_start__ to __ICFEDIT_region_TTB_end__ ]; - -define block USR_STACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; -define block IRQ_STACK with alignment = 8, size = __ICFEDIT_size_irqstack__ { }; -define block FIQ_STACK with alignment = 8, size = __ICFEDIT_size_fiqstack__ { }; -define block SVC_STACK with alignment = 8, size = __ICFEDIT_size_svcstack__ { }; -define block ABT_STACK with alignment = 8, size = __ICFEDIT_size_abtstack__ { }; -define block UND_STACK with alignment = 8, size = __ICFEDIT_size_undstack__ { }; -define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; -define block TTB with alignment = 8, size = __ICFEDIT_size_ttb__ { section TTB }; - -do not initialize { section .noinit }; - -initialize by copy { readwrite }; -if (isdefinedsymbol(__USE_DLIB_PERTHREAD)) -{ - // Required in a multi-threaded application - initialize by copy with packing = none { section __DLIB_PERTHREAD }; -} - -place at address mem:__ICFEDIT_region_IROM1_start__ { readonly section RESET }; -place in IROM_region { readonly }; -place in IRAM_region { readwrite, block HEAP, block USR_STACK, block IRQ_STACK, block FIQ_STACK, block SVC_STACK, block ABT_STACK, block UND_STACK }; -place in TTB_region { block TTB }; \ No newline at end of file diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/ARMCA7.icf.base@1.0.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/ARMCA7.icf.base@1.0.0 deleted file mode 100644 index ce564bb..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/ARMCA7.icf.base@1.0.0 +++ /dev/null @@ -1,67 +0,0 @@ - -/*-Memory Regions-*/ -define symbol __ICFEDIT_region_IROM1_start__ = 0x80000000; -define symbol __ICFEDIT_region_IROM1_end__ = 0x801FFFFF; -define symbol __ICFEDIT_region_IROM2_start__ = 0x0; -define symbol __ICFEDIT_region_IROM2_end__ = 0x0; -define symbol __ICFEDIT_region_EROM1_start__ = 0x0; -define symbol __ICFEDIT_region_EROM1_end__ = 0x0; -define symbol __ICFEDIT_region_EROM2_start__ = 0x0; -define symbol __ICFEDIT_region_EROM2_end__ = 0x0; -define symbol __ICFEDIT_region_EROM3_start__ = 0x0; -define symbol __ICFEDIT_region_EROM3_end__ = 0x0; -define symbol __ICFEDIT_region_IRAM1_start__ = 0x80200000; -define symbol __ICFEDIT_region_IRAM1_end__ = 0x803FFFFF; -define symbol __ICFEDIT_region_IRAM2_start__ = 0x0; -define symbol __ICFEDIT_region_IRAM2_end__ = 0x0; -define symbol __ICFEDIT_region_ERAM1_start__ = 0x0; -define symbol __ICFEDIT_region_ERAM1_end__ = 0x0; -define symbol __ICFEDIT_region_ERAM2_start__ = 0x0; -define symbol __ICFEDIT_region_ERAM2_end__ = 0x0; -define symbol __ICFEDIT_region_ERAM3_start__ = 0x0; -define symbol __ICFEDIT_region_ERAM3_end__ = 0x0; -define symbol __ICFEDIT_region_TTB_start__ = 0x80500000; -define symbol __ICFEDIT_region_TTB_end__ = 0x805FFFFF; - -/*-Sizes-*/ -define symbol __ICFEDIT_size_cstack__ = 0x1000; -define symbol __ICFEDIT_size_irqstack__ = 0x100; -define symbol __ICFEDIT_size_fiqstack__ = 0x100; -define symbol __ICFEDIT_size_svcstack__ = 0x100; -define symbol __ICFEDIT_size_abtstack__ = 0x100; -define symbol __ICFEDIT_size_undstack__ = 0x100; -define symbol __ICFEDIT_size_heap__ = 0x8000; -define symbol __ICFEDIT_size_ttb__ = 0x4000; - -define memory mem with size = 4G; -define region IROM_region = mem:[from __ICFEDIT_region_IROM1_start__ to __ICFEDIT_region_IROM1_end__] - | mem:[from __ICFEDIT_region_IROM2_start__ to __ICFEDIT_region_IROM2_end__]; -define region IRAM_region = mem:[from __ICFEDIT_region_IRAM1_start__ to __ICFEDIT_region_IRAM1_end__] - | mem:[from __ICFEDIT_region_IRAM2_start__ to __ICFEDIT_region_IRAM2_end__]; -define region ERAM_region = mem:[from __ICFEDIT_region_ERAM1_start__ to __ICFEDIT_region_ERAM1_end__] - | mem:[from __ICFEDIT_region_ERAM2_start__ to __ICFEDIT_region_ERAM2_end__] - | mem:[from __ICFEDIT_region_ERAM3_start__ to __ICFEDIT_region_ERAM3_end__]; -define region TTB_region = mem:[from __ICFEDIT_region_TTB_start__ to __ICFEDIT_region_TTB_end__ ]; - -define block USR_STACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; -define block IRQ_STACK with alignment = 8, size = __ICFEDIT_size_irqstack__ { }; -define block FIQ_STACK with alignment = 8, size = __ICFEDIT_size_fiqstack__ { }; -define block SVC_STACK with alignment = 8, size = __ICFEDIT_size_svcstack__ { }; -define block ABT_STACK with alignment = 8, size = __ICFEDIT_size_abtstack__ { }; -define block UND_STACK with alignment = 8, size = __ICFEDIT_size_undstack__ { }; -define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; -define block TTB with alignment = 8, size = __ICFEDIT_size_ttb__ { section TTB }; - -do not initialize { section .noinit }; - -initialize by copy { readwrite }; -if (isdefinedsymbol(__USE_DLIB_PERTHREAD)) -{ - // Required in a multi-threaded application - initialize by copy with packing = none { section __DLIB_PERTHREAD }; -} - -place at address mem:__ICFEDIT_region_IROM1_start__ { readonly section RESET }; -place in IROM_region { readonly }; -place in IRAM_region { readwrite, block HEAP, block USR_STACK, block IRQ_STACK, block FIQ_STACK, block SVC_STACK, block ABT_STACK, block UND_STACK }; -place in TTB_region { block TTB }; \ No newline at end of file diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/ARMCA7.ld b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/ARMCA7.ld deleted file mode 100644 index 44ef88f..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/ARMCA7.ld +++ /dev/null @@ -1,181 +0,0 @@ -#include "mem_ARMCA7.h" - -MEMORY -{ - ROM (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - L_TTB (rw) : ORIGIN = __TTB_BASE, LENGTH = __TTB_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - - Image$$VECTORS$$Base = .; - * (RESET) - KEEP(*(.isr_vector)) - Image$$VECTORS$$Limit = .; - - *(SVC_TABLE) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - Image$$RO_DATA$$Base = .; - *(.rodata*) - Image$$RO_DATA$$Limit = .; - - KEEP(*(.eh_frame*)) - } > ROM - - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > ROM - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > ROM - __exidx_end = .; - - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - LONG (__etext) - LONG (__data_start__) - LONG (__data_end__ - __data_start__) - __copy_table_end__ = .; - } > ROM - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - LONG (__bss_start__) - LONG (__bss_end__ - __bss_start__) - __zero_table_end__ = .; - } > ROM - - __etext = .; - - .ttb : - { - Image$$TTB$$ZI$$Base = .; - . += __TTB_SIZE; - Image$$TTB$$ZI$$Limit = .; - } > L_TTB - - .data : - { - Image$$RW_DATA$$Base = .; - __data_start__ = .; - *(vtable) - *(.data*) - Image$$RW_DATA$$Limit = .; - - . = ALIGN(4); - /* preinit data */ - PROVIDE (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE (__init_array_end = .); - - - . = ALIGN(4); - /* finit data */ - PROVIDE (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE (__fini_array_end = .); - - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - - .bss ALIGN(0x400): - { - Image$$ZI_DATA$$Base = .; - __bss_start__ = .; - *(.bss*) - *(COMMON) - __bss_end__ = .; - Image$$ZI_DATA$$Limit = .; - __end__ = .; - end = __end__; - } > RAM AT > RAM - -#if defined(__HEAP_SIZE) && (__HEAP_SIZE > 0) - .heap (NOLOAD): - { - . = ALIGN(8); - Image$$HEAP$$ZI$$Base = .; - . += __HEAP_SIZE; - Image$$HEAP$$ZI$$Limit = .; - __HeapLimit = .; - } > RAM -#endif - - .stack (NOLOAD): - { - . = ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE - __FIQ_STACK_SIZE - __IRQ_STACK_SIZE - __SVC_STACK_SIZE - __ABT_STACK_SIZE - __UND_STACK_SIZE; - . = ALIGN(8); - - __StackTop = .; - Image$$SYS_STACK$$ZI$$Base = .; - . += __STACK_SIZE; - Image$$SYS_STACK$$ZI$$Limit = .; - __stack = .; - - Image$$FIQ_STACK$$ZI$$Base = .; - . += __FIQ_STACK_SIZE; - Image$$FIQ_STACK$$ZI$$Limit = .; - - Image$$IRQ_STACK$$ZI$$Base = .; - . += __IRQ_STACK_SIZE; - Image$$IRQ_STACK$$ZI$$Limit = .; - - Image$$SVC_STACK$$ZI$$Base = .; - . += __SVC_STACK_SIZE; - Image$$SVC_STACK$$ZI$$Limit = .; - - Image$$ABT_STACK$$ZI$$Base = .; - . += __ABT_STACK_SIZE; - Image$$ABT_STACK$$ZI$$Limit = .; - - Image$$UND_STACK$$ZI$$Base = .; - . += __UND_STACK_SIZE; - Image$$UND_STACK$$ZI$$Limit = .; - - } > RAM -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/ARMCA7.sct b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/ARMCA7.sct deleted file mode 100644 index d8f3716..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/ARMCA7.sct +++ /dev/null @@ -1,77 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-a7 -xc -;************************************************** -; Copyright (c) 2017 ARM Ltd. All rights reserved. -;************************************************** - -; Scatter-file for RTX Example on Versatile Express - -; This scatter-file places application code, data, stack and heap at suitable addresses in the memory map. - -; This platform has 2GB SDRAM starting at 0x80000000. - -#include "mem_ARMCA7.h" - -SDRAM __ROM_BASE __ROM_SIZE ; load region size_region -{ - VECTORS __ROM_BASE __ROM_SIZE ; load address = execution address - { - * (RESET, +FIRST) ; Vector table and other startup code - * (InRoot$$Sections) ; All (library) code that must be in a root region - * (+RO-CODE) ; Application RO code (.text) - * (+RO-DATA) ; Application RO data (.constdata) - } - - RW_DATA __RAM_BASE __RW_DATA_SIZE - { * (+RW) } ; Application RW data (.data) - - ZI_DATA (__RAM_BASE+ - __RW_DATA_SIZE) __ZI_DATA_SIZE - { * (+ZI) } ; Application ZI data (.bss) - - ARM_LIB_HEAP (__RAM_BASE - +__RW_DATA_SIZE - +__ZI_DATA_SIZE) EMPTY __HEAP_SIZE ; Heap region growing up - { } - - ARM_LIB_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE - -__SVC_STACK_SIZE - -__ABT_STACK_SIZE - -__UND_STACK_SIZE) EMPTY -__STACK_SIZE ; Stack region growing down - { } - - UND_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE - -__SVC_STACK_SIZE - -__ABT_STACK_SIZE) EMPTY -__UND_STACK_SIZE ; UND mode stack - { } - - ABT_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE - -__SVC_STACK_SIZE) EMPTY -__ABT_STACK_SIZE ; ABT mode stack - { } - - SVC_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE) EMPTY -__SVC_STACK_SIZE ; SVC mode stack - { } - - IRQ_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE) EMPTY -__IRQ_STACK_SIZE ; IRQ mode stack - { } - - FIQ_STACK (__RAM_BASE - +__RAM_SIZE) EMPTY -__FIQ_STACK_SIZE ; FIQ mode stack - { } - - TTB __TTB_BASE EMPTY __TTB_SIZE ; Level-1 Translation Table for MMU - { } -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/mem_ARMCA7.h b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/mem_ARMCA7.h deleted file mode 100644 index 9590595..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/mem_ARMCA7.h +++ /dev/null @@ -1,100 +0,0 @@ -/**************************************************************************//** - * @file mem_ARMCA7.h - * @brief Memory base and size definitions (used in scatter file) - * @version V1.1.0 - * @date 15. May 2019 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __MEM_ARMCA7_H -#define __MEM_ARMCA7_H - -/*---------------------------------------------------------------------------- - User Stack & Heap size definition - *----------------------------------------------------------------------------*/ -/* -//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ -*/ - -/*--------------------- ROM Configuration ------------------------------------ -// -// ROM Configuration -// For compatibility with MMU config the sections must be multiple of 1MB -// ROM Base Address <0x0-0xFFFFFFFF:0x100000> -// ROM Size (in Bytes) <0x0-0xFFFFFFFF:0x100000> -// - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x80000000 -#define __ROM_SIZE 0x00200000 - -/*--------------------- RAM Configuration ----------------------------------- -// RAM Configuration -// For compatibility with MMU config the sections must be multiple of 1MB -// RAM Base Address <0x0-0xFFFFFFFF:0x100000> -// RAM Total Size (in Bytes) <0x0-0xFFFFFFFF:0x100000> -// Data Sections -// RW_DATA Size (in Bytes) <0x0-0xFFFFFFFF:8> -// ZI_DATA Size (in Bytes) <0x0-0xFFFFFFFF:8> -// -// Stack / Heap Configuration -// Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -// Exceptional Modes -// UND Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// ABT Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// SVC Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// IRQ Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// FIQ Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// -// -// - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x80200000 -#define __RAM_SIZE 0x00200000 - -#define __RW_DATA_SIZE 0x00100000 -#define __ZI_DATA_SIZE 0x000F0000 - -#define __STACK_SIZE 0x00001000 -#define __HEAP_SIZE 0x00008000 - -#define __UND_STACK_SIZE 0x00000100 -#define __ABT_STACK_SIZE 0x00000100 -#define __SVC_STACK_SIZE 0x00000100 -#define __IRQ_STACK_SIZE 0x00000100 -#define __FIQ_STACK_SIZE 0x00000100 - -/*----------------------------------------------------------------------------*/ - -/*--------------------- TTB Configuration ------------------------------------ -// -// TTB Configuration -// The TLB L1 contains 4096 32-bit entries and must be 16kB aligned -// The TLB L2 entries are placed after the L1 in the MMU config -// TTB Base Address <0x0-0xFFFFFFFF:0x4000> -// TTB Size (in Bytes) <0x0-0xFFFFFFFF:8> -// - *----------------------------------------------------------------------------*/ -#define __TTB_BASE 0x80500000 -#define __TTB_SIZE 0x00005000 - -#endif /* __MEM_ARMCA7_H */ diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/mmu_ARMCA7.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/mmu_ARMCA7.c deleted file mode 100644 index 26431f3..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/mmu_ARMCA7.c +++ /dev/null @@ -1,232 +0,0 @@ -/**************************************************************************//** - * @file mmu_ARMCA7.c - * @brief MMU Configuration for Arm Cortex-A7 Device Series - * @version V1.2.0 - * @date 15. May 2019 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* Memory map description from: DUI0447G_v2m_p1_trm.pdf 4.2.2 Arm Cortex-A Series memory map - - Memory Type -0xffffffff |--------------------------| ------------ - | FLAG SYNC | Device Memory -0xfffff000 |--------------------------| ------------ - | Fault | Fault -0xfff00000 |--------------------------| ------------ - | | Normal - | | - | Daughterboard | - | memory | - | | -0x80505000 |--------------------------| ------------ - |TTB (L2 Sync Flags ) 4k | Normal -0x80504C00 |--------------------------| ------------ - |TTB (L2 Peripherals-B) 16k| Normal -0x80504800 |--------------------------| ------------ - |TTB (L2 Peripherals-A) 16k| Normal -0x80504400 |--------------------------| ------------ - |TTB (L2 Priv Periphs) 4k | Normal -0x80504000 |--------------------------| ------------ - | TTB (L1 Descriptors) | Normal -0x80500000 |--------------------------| ------------ - | Stack | Normal - |--------------------------| ------------ - | Heap | Normal -0x80400000 |--------------------------| ------------ - | ZI Data | Normal -0x80300000 |--------------------------| ------------ - | RW Data | Normal -0x80200000 |--------------------------| ------------ - | RO Data | Normal - |--------------------------| ------------ - | RO Code | USH Normal -0x80000000 |--------------------------| ------------ - | Daughterboard | Fault - | HSB AXI buses | -0x40000000 |--------------------------| ------------ - | Daughterboard | Fault - | test chips peripherals | -0x2c002000 |--------------------------| ------------ - | Private Address | Device Memory -0x2c000000 |--------------------------| ------------ - | Daughterboard | Fault - | test chips peripherals | -0x20000000 |--------------------------| ------------ - | Peripherals | Device Memory RW/RO - | | & Fault -0x00000000 |--------------------------| -*/ - -// L1 Cache info and restrictions about architecture of the caches (CCSIR register): -// Write-Through support *not* available -// Write-Back support available. -// Read allocation support available. -// Write allocation support available. - -//Note: You should use the Shareable attribute carefully. -//For cores without coherency logic (such as SCU) marking a region as shareable forces the processor to not cache that region regardless of the inner cache settings. -//Cortex-A versions of RTX use LDREX/STREX instructions relying on Local monitors. Local monitors will be used only when the region gets cached, regions that are not cached will use the Global Monitor. -//Some Cortex-A implementations do not include Global Monitors, so wrongly setting the attribute Shareable may cause STREX to fail. - -//Recall: When the Shareable attribute is applied to a memory region that is not Write-Back, Normal memory, data held in this region is treated as Non-cacheable. -//When SMP bit = 0, Inner WB/WA Cacheable Shareable attributes are treated as Non-cacheable. -//When SMP bit = 1, Inner WB/WA Cacheable Shareable attributes are treated as Cacheable. - - -//Following MMU configuration is expected -//SCTLR.AFE == 1 (Simplified access permissions model - AP[2:1] define access permissions, AP[0] is an access flag) -//SCTLR.TRE == 0 (TEX remap disabled, so memory type and attributes are described directly by bits in the descriptor) -//Domain 0 is always the Client domain -//Descriptors should place all memory in domain 0 - -#include "ARMCA7.h" -#include "mem_ARMCA7.h" - -// TTB base address -#define TTB_BASE ((uint32_t*)__TTB_BASE) - -// L2 table pointers -//---------------------------------------- -#define TTB_L1_SIZE (0x00004000) // The L1 translation table divides the full 4GB address space of a 32-bit core - // into 4096 equally sized sections, each of which describes 1MB of virtual memory space. - // The L1 translation table therefore contains 4096 32-bit (word-sized) entries. - -#define PRIVATE_TABLE_L2_BASE_4k (__TTB_BASE + TTB_L1_SIZE) // Map 4k Private Address space -#define PERIPHERAL_A_TABLE_L2_BASE_64k (__TTB_BASE + TTB_L1_SIZE + 0x400) // Map 64k Peripheral #1 0x1C000000 - 0x1C00FFFFF -#define PERIPHERAL_B_TABLE_L2_BASE_64k (__TTB_BASE + TTB_L1_SIZE + 0x800) // Map 64k Peripheral #2 0x1C100000 - 0x1C1FFFFFF -#define SYNC_FLAGS_TABLE_L2_BASE_4k (__TTB_BASE + TTB_L1_SIZE + 0xC00) // Map 4k Flag synchronization - -//--------------------- PERIPHERALS ------------------- -#define PERIPHERAL_A_FAULT (0x00000000 + 0x1c000000) //0x1C000000-0x1C00FFFF (1M) -#define PERIPHERAL_B_FAULT (0x00100000 + 0x1c000000) //0x1C100000-0x1C10FFFF (1M) - -//--------------------- SYNC FLAGS -------------------- -#define FLAG_SYNC 0xFFFFF000 -#define F_SYNC_BASE 0xFFF00000 //1M aligned - -static uint32_t Sect_Normal; //outer & inner wb/wa, non-shareable, executable, rw, domain 0, base addr 0 -static uint32_t Sect_Normal_Cod; //outer & inner wb/wa, non-shareable, executable, ro, domain 0, base addr 0 -static uint32_t Sect_Normal_RO; //as Sect_Normal_Cod, but not executable -static uint32_t Sect_Normal_RW; //as Sect_Normal_Cod, but writeable and not executable -static uint32_t Sect_Device_RO; //device, non-shareable, non-executable, ro, domain 0, base addr 0 -static uint32_t Sect_Device_RW; //as Sect_Device_RO, but writeable - -/* Define global descriptors */ -static uint32_t Page_L1_4k = 0x0; //generic -static uint32_t Page_L1_64k = 0x0; //generic -static uint32_t Page_4k_Device_RW; //Shared device, not executable, rw, domain 0 -static uint32_t Page_64k_Device_RW; //Shared device, not executable, rw, domain 0 - -void MMU_CreateTranslationTable(void) -{ - mmu_region_attributes_Type region; - - //Create 4GB of faulting entries - MMU_TTSection (TTB_BASE, 0, 4096, DESCRIPTOR_FAULT); - - /* - * Generate descriptors. Refer to core_ca.h to get information about attributes - * - */ - //Create descriptors for Vectors, RO, RW, ZI sections - section_normal(Sect_Normal, region); - section_normal_cod(Sect_Normal_Cod, region); - section_normal_ro(Sect_Normal_RO, region); - section_normal_rw(Sect_Normal_RW, region); - //Create descriptors for peripherals - section_device_ro(Sect_Device_RO, region); - section_device_rw(Sect_Device_RW, region); - //Create descriptors for 64k pages - page64k_device_rw(Page_L1_64k, Page_64k_Device_RW, region); - //Create descriptors for 4k pages - page4k_device_rw(Page_L1_4k, Page_4k_Device_RW, region); - - - /* - * Define MMU flat-map regions and attributes - * - */ - - //Define Image - MMU_TTSection (TTB_BASE, __ROM_BASE, __ROM_SIZE/0x100000, Sect_Normal_Cod); // multiple of 1MB sections - MMU_TTSection (TTB_BASE, __RAM_BASE, __RAM_SIZE/0x100000, Sect_Normal_RW); // multiple of 1MB sections - - //--------------------- PERIPHERALS ------------------- - MMU_TTSection (TTB_BASE, VE_A7_MP_FLASH_BASE0 , 64, Sect_Device_RO); // 64MB NOR - MMU_TTSection (TTB_BASE, VE_A7_MP_FLASH_BASE1 , 64, Sect_Device_RO); // 64MB NOR - MMU_TTSection (TTB_BASE, VE_A7_MP_SRAM_BASE , 32, Sect_Device_RW); // 32MB RAM - MMU_TTSection (TTB_BASE, VE_A7_MP_VRAM_BASE , 32, Sect_Device_RW); // 32MB RAM - MMU_TTSection (TTB_BASE, VE_A7_MP_ETHERNET_BASE , 16, Sect_Device_RW); - MMU_TTSection (TTB_BASE, VE_A7_MP_USB_BASE , 16, Sect_Device_RW); - - // Create (16 * 64k)=1MB faulting entries to cover peripheral range 0x1C000000-0x1C00FFFF - MMU_TTPage64k(TTB_BASE, PERIPHERAL_A_FAULT , 16, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, DESCRIPTOR_FAULT); - // Define peripheral range 0x1C000000-0x1C00FFFF - MMU_TTPage64k(TTB_BASE, VE_A7_MP_DAP_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A7_MP_SYSTEM_REG_BASE, 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A7_MP_SERIAL_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A7_MP_AACI_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A7_MP_MMCI_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A7_MP_KMI0_BASE , 2, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A7_MP_UART_BASE , 4, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A7_MP_WDT_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - - // Create (16 * 64k)=1MB faulting entries to cover peripheral range 0x1C100000-0x1C10FFFF - MMU_TTPage64k(TTB_BASE, PERIPHERAL_B_FAULT , 16, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, DESCRIPTOR_FAULT); - // Define peripheral range 0x1C100000-0x1C10FFFF - MMU_TTPage64k(TTB_BASE, VE_A7_MP_TIMER_BASE , 2, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A7_MP_DVI_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A7_MP_RTC_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A7_MP_UART4_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A7_MP_CLCD_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); - - // Create (256 * 4k)=1MB faulting entries to cover private address space. Needs to be marked as Device memory - MMU_TTPage4k (TTB_BASE, __get_CBAR() ,256, Page_L1_4k, (uint32_t *)PRIVATE_TABLE_L2_BASE_4k, DESCRIPTOR_FAULT); - // Define private address space entry. - MMU_TTPage4k (TTB_BASE, __get_CBAR() , 3, Page_L1_4k, (uint32_t *)PRIVATE_TABLE_L2_BASE_4k, Page_4k_Device_RW); - // Define L2CC entry. Uncomment if PL310 is present - // MMU_TTPage4k (TTB_BASE, VE_A5_MP_PL310_BASE , 1, Page_L1_4k, (uint32_t *)PRIVATE_TABLE_L2_BASE_4k, Page_4k_Device_RW); - - // Create (256 * 4k)=1MB faulting entries to synchronization space (Useful if some non-cacheable DMA agent is present in the SoC) - MMU_TTPage4k (TTB_BASE, F_SYNC_BASE , 256, Page_L1_4k, (uint32_t *)SYNC_FLAGS_TABLE_L2_BASE_4k, DESCRIPTOR_FAULT); - // Define synchronization space entry. - MMU_TTPage4k (TTB_BASE, FLAG_SYNC , 1, Page_L1_4k, (uint32_t *)SYNC_FLAGS_TABLE_L2_BASE_4k, Page_4k_Device_RW); - - /* Set location of level 1 page table - ; 31:14 - Translation table base addr (31:14-TTBCR.N, TTBCR.N is 0 out of reset) - ; 13:7 - 0x0 - ; 6 - IRGN[0] 0x1 (Inner WB WA) - ; 5 - NOS 0x0 (Non-shared) - ; 4:3 - RGN 0x01 (Outer WB WA) - ; 2 - IMP 0x0 (Implementation Defined) - ; 1 - S 0x0 (Non-shared) - ; 0 - IRGN[1] 0x0 (Inner WB WA) */ - __set_TTBR0(__TTB_BASE | 0x48); - __ISB(); - - /* Set up domain access control register - ; We set domain 0 to Client and all other domains to No Access. - ; All translation table entries specify domain 0 */ - __set_DACR(1); - __ISB(); -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/startup_ARMCA7.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/startup_ARMCA7.c deleted file mode 100644 index 7847189..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/startup_ARMCA7.c +++ /dev/null @@ -1,148 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCA7.c - * @brief CMSIS Device System Source File for Arm Cortex-A7 Device Series - * @version V1.0.1 - * @date 10. January 2021 - ******************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include - -/*---------------------------------------------------------------------------- - Definitions - *----------------------------------------------------------------------------*/ -#define USR_MODE 0x10 // User mode -#define FIQ_MODE 0x11 // Fast Interrupt Request mode -#define IRQ_MODE 0x12 // Interrupt Request mode -#define SVC_MODE 0x13 // Supervisor mode -#define ABT_MODE 0x17 // Abort mode -#define UND_MODE 0x1B // Undefined Instruction mode -#define SYS_MODE 0x1F // System mode - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -void Vectors (void) __attribute__ ((naked, section("RESET"))); -void Reset_Handler (void) __attribute__ ((naked)); -void Default_Handler(void) __attribute__ ((noreturn)); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -void Undef_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PAbt_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DAbt_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void IRQ_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void FIQ_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector Table - *----------------------------------------------------------------------------*/ -void Vectors(void) { - __ASM volatile( - "LDR PC, =Reset_Handler \n" - "LDR PC, =Undef_Handler \n" - "LDR PC, =SVC_Handler \n" - "LDR PC, =PAbt_Handler \n" - "LDR PC, =DAbt_Handler \n" - "NOP \n" - "LDR PC, =IRQ_Handler \n" - "LDR PC, =FIQ_Handler \n" - ); -} - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -void Reset_Handler(void) { - __ASM volatile( - - // Mask interrupts - "CPSID if \n" - - // Put any cores other than 0 to sleep - "MRC p15, 0, R0, c0, c0, 5 \n" // Read MPIDR - "ANDS R0, R0, #3 \n" - "goToSleep: \n" - "WFINE \n" - "BNE goToSleep \n" - - // Reset SCTLR Settings - "MRC p15, 0, R0, c1, c0, 0 \n" // Read CP15 System Control register - "BIC R0, R0, #(0x1 << 12) \n" // Clear I bit 12 to disable I Cache - "BIC R0, R0, #(0x1 << 2) \n" // Clear C bit 2 to disable D Cache - "BIC R0, R0, #0x1 \n" // Clear M bit 0 to disable MMU - "BIC R0, R0, #(0x1 << 11) \n" // Clear Z bit 11 to disable branch prediction - "BIC R0, R0, #(0x1 << 13) \n" // Clear V bit 13 to disable hivecs - "MCR p15, 0, R0, c1, c0, 0 \n" // Write value back to CP15 System Control register - "ISB \n" - - // Configure ACTLR - "MRC p15, 0, r0, c1, c0, 1 \n" // Read CP15 Auxiliary Control Register - "ORR r0, r0, #(1 << 1) \n" // Enable L2 prefetch hint (UNK/WI since r4p1) - "MCR p15, 0, r0, c1, c0, 1 \n" // Write CP15 Auxiliary Control Register - - // Set Vector Base Address Register (VBAR) to point to this application's vector table - "LDR R0, =Vectors \n" - "MCR p15, 0, R0, c12, c0, 0 \n" - - // Setup Stack for each exceptional mode - "CPS #0x11 \n" - "LDR SP, =Image$$FIQ_STACK$$ZI$$Limit \n" - "CPS #0x12 \n" - "LDR SP, =Image$$IRQ_STACK$$ZI$$Limit \n" - "CPS #0x13 \n" - "LDR SP, =Image$$SVC_STACK$$ZI$$Limit \n" - "CPS #0x17 \n" - "LDR SP, =Image$$ABT_STACK$$ZI$$Limit \n" - "CPS #0x1B \n" - "LDR SP, =Image$$UND_STACK$$ZI$$Limit \n" - "CPS #0x1F \n" -#if defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6100100) - "LDR SP, =Image$$ARM_LIB_STACK$$ZI$$Limit \n" -#elif defined ( __GNUC__ ) - "LDR SP, =Image$$SYS_STACK$$ZI$$Limit \n" -#else - #error Unknown compiler. -#endif - - // Call SystemInit - "BL SystemInit \n" - - // Unmask interrupts - "CPSIE if \n" - - // Call __main -#if defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6100100) - "BL __main \n" -#elif defined ( __GNUC__ ) - "BL _start \n" -#else - #error Unknown compiler. -#endif - ); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) { - while(1); -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/startup_ARMCA7.c.base@1.0.1 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/startup_ARMCA7.c.base@1.0.1 deleted file mode 100644 index da8ae87..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/startup_ARMCA7.c.base@1.0.1 +++ /dev/null @@ -1,136 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCA7.c - * @brief CMSIS Device System Source File for Arm Cortex-A7 Device Series - * @version V1.0.1 - * @date 10. January 2021 - ******************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include - -/*---------------------------------------------------------------------------- - Definitions - *----------------------------------------------------------------------------*/ -#define USR_MODE 0x10 // User mode -#define FIQ_MODE 0x11 // Fast Interrupt Request mode -#define IRQ_MODE 0x12 // Interrupt Request mode -#define SVC_MODE 0x13 // Supervisor mode -#define ABT_MODE 0x17 // Abort mode -#define UND_MODE 0x1B // Undefined Instruction mode -#define SYS_MODE 0x1F // System mode - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -void Vectors (void) __attribute__ ((naked, section("RESET"))); -void Reset_Handler (void) __attribute__ ((naked)); -void Default_Handler(void) __attribute__ ((noreturn)); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -void Undef_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PAbt_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DAbt_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void IRQ_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void FIQ_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector Table - *----------------------------------------------------------------------------*/ -void Vectors(void) { - __ASM volatile( - "LDR PC, =Reset_Handler \n" - "LDR PC, =Undef_Handler \n" - "LDR PC, =SVC_Handler \n" - "LDR PC, =PAbt_Handler \n" - "LDR PC, =DAbt_Handler \n" - "NOP \n" - "LDR PC, =IRQ_Handler \n" - "LDR PC, =FIQ_Handler \n" - ); -} - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -void Reset_Handler(void) { - __ASM volatile( - - // Mask interrupts - "CPSID if \n" - - // Put any cores other than 0 to sleep - "MRC p15, 0, R0, c0, c0, 5 \n" // Read MPIDR - "ANDS R0, R0, #3 \n" - "goToSleep: \n" - "WFINE \n" - "BNE goToSleep \n" - - // Reset SCTLR Settings - "MRC p15, 0, R0, c1, c0, 0 \n" // Read CP15 System Control register - "BIC R0, R0, #(0x1 << 12) \n" // Clear I bit 12 to disable I Cache - "BIC R0, R0, #(0x1 << 2) \n" // Clear C bit 2 to disable D Cache - "BIC R0, R0, #0x1 \n" // Clear M bit 0 to disable MMU - "BIC R0, R0, #(0x1 << 11) \n" // Clear Z bit 11 to disable branch prediction - "BIC R0, R0, #(0x1 << 13) \n" // Clear V bit 13 to disable hivecs - "MCR p15, 0, R0, c1, c0, 0 \n" // Write value back to CP15 System Control register - "ISB \n" - - // Configure ACTLR - "MRC p15, 0, r0, c1, c0, 1 \n" // Read CP15 Auxiliary Control Register - "ORR r0, r0, #(1 << 1) \n" // Enable L2 prefetch hint (UNK/WI since r4p1) - "MCR p15, 0, r0, c1, c0, 1 \n" // Write CP15 Auxiliary Control Register - - // Set Vector Base Address Register (VBAR) to point to this application's vector table - "LDR R0, =Vectors \n" - "MCR p15, 0, R0, c12, c0, 0 \n" - - // Setup Stack for each exceptional mode - "CPS #0x11 \n" - "LDR SP, =Image$$FIQ_STACK$$ZI$$Limit \n" - "CPS #0x12 \n" - "LDR SP, =Image$$IRQ_STACK$$ZI$$Limit \n" - "CPS #0x13 \n" - "LDR SP, =Image$$SVC_STACK$$ZI$$Limit \n" - "CPS #0x17 \n" - "LDR SP, =Image$$ABT_STACK$$ZI$$Limit \n" - "CPS #0x1B \n" - "LDR SP, =Image$$UND_STACK$$ZI$$Limit \n" - "CPS #0x1F \n" - "LDR SP, =Image$$ARM_LIB_STACK$$ZI$$Limit \n" - - // Call SystemInit - "BL SystemInit \n" - - // Unmask interrupts - "CPSIE if \n" - - // Call __main - "BL __main \n" - ); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) { - while(1); -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/startup_ARMCA7.s b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/startup_ARMCA7.s deleted file mode 100644 index 6872e9e..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/startup_ARMCA7.s +++ /dev/null @@ -1,140 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCA7.s - * @brief CMSIS Device System Source File for ARM Cortex-A9 Device Series - * @version V1.00 - * @date 01 Nov 2017 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2017 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - MODULE ?startup_ARMCA7 - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ - PUBLIC Reset_Handler - PUBWEAK Undef_Handler - PUBWEAK SVC_Handler - PUBWEAK PAbt_Handler - PUBWEAK DAbt_Handler - PUBWEAK IRQ_Handler - PUBWEAK FIQ_Handler - - SECTION SVC_STACK:DATA:NOROOT(3) - SECTION IRQ_STACK:DATA:NOROOT(3) - SECTION FIQ_STACK:DATA:NOROOT(3) - SECTION ABT_STACK:DATA:NOROOT(3) - SECTION UND_STACK:DATA:NOROOT(3) - SECTION USR_STACK:DATA:NOROOT(3) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector Table - *----------------------------------------------------------------------------*/ - - section RESET:CODE:NOROOT(2) - PUBLIC Vectors - -Vectors: - LDR PC, =Reset_Handler - LDR PC, =Undef_Handler - LDR PC, =SVC_Handler - LDR PC, =PAbt_Handler - LDR PC, =DAbt_Handler - NOP - LDR PC, =IRQ_Handler - LDR PC, =FIQ_Handler - - - section .text:CODE:NOROOT(4) - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ - EXTERN SystemInit - EXTERN __iar_program_start - -Reset_Handler: - - // Mask interrupts - CPSID if - - // Put any cores other than 0 to sleep - MRC p15, 0, R0, c0, c0, 5 - ANDS R0, R0, #3 -goToSleep: - WFINE - BNE goToSleep - - // Reset SCTLR Settings - MRC p15, 0, R0, c1, c0, 0 // Read CP15 System Control register - BIC R0, R0, #(0x1 << 12) // Clear I bit 12 to disable I Cache - BIC R0, R0, #(0x1 << 2) // Clear C bit 2 to disable D Cache - BIC R0, R0, #0x1 // Clear M bit 0 to disable MMU - BIC R0, R0, #(0x1 << 11) // Clear Z bit 11 to disable branch prediction - BIC R0, R0, #(0x1 << 13) // Clear V bit 13 to disable hivecs - MCR p15, 0, R0, c1, c0, 0 // Write value back to CP15 System Control register - ISB - - // Configure ACTLR - MRC p15, 0, r0, c1, c0, 1 // Read CP15 Auxiliary Control Register - ORR r0, r0, #(1 << 1) // Enable L2 prefetch hint (UNK/WI since r4p1) - MCR p15, 0, r0, c1, c0, 1 // Write CP15 Auxiliary Control Register - - // Set Vector Base Address Register (VBAR) to point to this application's vector table - LDR R0, =Vectors - MCR p15, 0, R0, c12, c0, 0 - - // Setup Stack for each exception mode - CPS #0x11 - LDR SP, =SFE(FIQ_STACK) - CPS #0x12 - LDR SP, =SFE(IRQ_STACK) - CPS #0x13 - LDR SP, =SFE(SVC_STACK) - CPS #0x17 - LDR SP, =SFE(ABT_STACK) - CPS #0x1B - LDR SP, =SFE(UND_STACK) - CPS #0x1F - LDR SP, =SFE(USR_STACK) - - // Call SystemInit - BL SystemInit - - // Unmask interrupts - CPSIE if - - // Call __iar_program_start - BL __iar_program_start - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -Undef_Handler: -SVC_Handler: -PAbt_Handler: -DAbt_Handler: -IRQ_Handler: -FIQ_Handler: -Default_Handler: - B . - - END diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/startup_ARMCA7.s.base@1.0.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/startup_ARMCA7.s.base@1.0.0 deleted file mode 100644 index 6872e9e..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/startup_ARMCA7.s.base@1.0.0 +++ /dev/null @@ -1,140 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCA7.s - * @brief CMSIS Device System Source File for ARM Cortex-A9 Device Series - * @version V1.00 - * @date 01 Nov 2017 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2017 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - MODULE ?startup_ARMCA7 - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ - PUBLIC Reset_Handler - PUBWEAK Undef_Handler - PUBWEAK SVC_Handler - PUBWEAK PAbt_Handler - PUBWEAK DAbt_Handler - PUBWEAK IRQ_Handler - PUBWEAK FIQ_Handler - - SECTION SVC_STACK:DATA:NOROOT(3) - SECTION IRQ_STACK:DATA:NOROOT(3) - SECTION FIQ_STACK:DATA:NOROOT(3) - SECTION ABT_STACK:DATA:NOROOT(3) - SECTION UND_STACK:DATA:NOROOT(3) - SECTION USR_STACK:DATA:NOROOT(3) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector Table - *----------------------------------------------------------------------------*/ - - section RESET:CODE:NOROOT(2) - PUBLIC Vectors - -Vectors: - LDR PC, =Reset_Handler - LDR PC, =Undef_Handler - LDR PC, =SVC_Handler - LDR PC, =PAbt_Handler - LDR PC, =DAbt_Handler - NOP - LDR PC, =IRQ_Handler - LDR PC, =FIQ_Handler - - - section .text:CODE:NOROOT(4) - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ - EXTERN SystemInit - EXTERN __iar_program_start - -Reset_Handler: - - // Mask interrupts - CPSID if - - // Put any cores other than 0 to sleep - MRC p15, 0, R0, c0, c0, 5 - ANDS R0, R0, #3 -goToSleep: - WFINE - BNE goToSleep - - // Reset SCTLR Settings - MRC p15, 0, R0, c1, c0, 0 // Read CP15 System Control register - BIC R0, R0, #(0x1 << 12) // Clear I bit 12 to disable I Cache - BIC R0, R0, #(0x1 << 2) // Clear C bit 2 to disable D Cache - BIC R0, R0, #0x1 // Clear M bit 0 to disable MMU - BIC R0, R0, #(0x1 << 11) // Clear Z bit 11 to disable branch prediction - BIC R0, R0, #(0x1 << 13) // Clear V bit 13 to disable hivecs - MCR p15, 0, R0, c1, c0, 0 // Write value back to CP15 System Control register - ISB - - // Configure ACTLR - MRC p15, 0, r0, c1, c0, 1 // Read CP15 Auxiliary Control Register - ORR r0, r0, #(1 << 1) // Enable L2 prefetch hint (UNK/WI since r4p1) - MCR p15, 0, r0, c1, c0, 1 // Write CP15 Auxiliary Control Register - - // Set Vector Base Address Register (VBAR) to point to this application's vector table - LDR R0, =Vectors - MCR p15, 0, R0, c12, c0, 0 - - // Setup Stack for each exception mode - CPS #0x11 - LDR SP, =SFE(FIQ_STACK) - CPS #0x12 - LDR SP, =SFE(IRQ_STACK) - CPS #0x13 - LDR SP, =SFE(SVC_STACK) - CPS #0x17 - LDR SP, =SFE(ABT_STACK) - CPS #0x1B - LDR SP, =SFE(UND_STACK) - CPS #0x1F - LDR SP, =SFE(USR_STACK) - - // Call SystemInit - BL SystemInit - - // Unmask interrupts - CPSIE if - - // Call __iar_program_start - BL __iar_program_start - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -Undef_Handler: -SVC_Handler: -PAbt_Handler: -DAbt_Handler: -IRQ_Handler: -FIQ_Handler: -Default_Handler: - B . - - END diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/system_ARMCA7.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/system_ARMCA7.c deleted file mode 100644 index 803ec49..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/system_ARMCA7.c +++ /dev/null @@ -1,93 +0,0 @@ -/****************************************************************************** - * @file system_ARMCA7.c - * @brief CMSIS Device System Source File for Arm Cortex-A7 Device Series - * @version V1.0.1 - * @date 13. February 2019 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "RTE_Components.h" -#include CMSIS_device_header -#include "irq_ctrl.h" - -#define SYSTEM_CLOCK 12000000U - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System Initialization - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ -/* do not use global variables because this function is called before - reaching pre-main. RW section may be overwritten afterwards. */ - - // Invalidate entire Unified TLB - __set_TLBIALL(0); - - // Invalidate entire branch predictor array - __set_BPIALL(0); - __DSB(); - __ISB(); - - // Invalidate instruction cache and flush branch target cache - __set_ICIALLU(0); - __DSB(); - __ISB(); - - // Invalidate data cache - L1C_InvalidateDCacheAll(); - -#if ((__FPU_PRESENT == 1) && (__FPU_USED == 1)) - // Enable FPU - __FPU_Enable(); -#endif - - // Create Translation Table - MMU_CreateTranslationTable(); - - // Enable MMU - MMU_Enable(); - - // Enable Caches - L1C_EnableCaches(); - L1C_EnableBTAC(); - -#if (__L2C_PRESENT == 1) - // Enable GIC - L2C_Enable(); -#endif - - // IRQ Initialize - IRQ_Initialize(); -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/system_ARMCA7.c.base@1.0.1 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/system_ARMCA7.c.base@1.0.1 deleted file mode 100644 index 803ec49..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/system_ARMCA7.c.base@1.0.1 +++ /dev/null @@ -1,93 +0,0 @@ -/****************************************************************************** - * @file system_ARMCA7.c - * @brief CMSIS Device System Source File for Arm Cortex-A7 Device Series - * @version V1.0.1 - * @date 13. February 2019 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "RTE_Components.h" -#include CMSIS_device_header -#include "irq_ctrl.h" - -#define SYSTEM_CLOCK 12000000U - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System Initialization - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ -/* do not use global variables because this function is called before - reaching pre-main. RW section may be overwritten afterwards. */ - - // Invalidate entire Unified TLB - __set_TLBIALL(0); - - // Invalidate entire branch predictor array - __set_BPIALL(0); - __DSB(); - __ISB(); - - // Invalidate instruction cache and flush branch target cache - __set_ICIALLU(0); - __DSB(); - __ISB(); - - // Invalidate data cache - L1C_InvalidateDCacheAll(); - -#if ((__FPU_PRESENT == 1) && (__FPU_USED == 1)) - // Enable FPU - __FPU_Enable(); -#endif - - // Create Translation Table - MMU_CreateTranslationTable(); - - // Enable MMU - MMU_Enable(); - - // Enable Caches - L1C_EnableCaches(); - L1C_EnableBTAC(); - -#if (__L2C_PRESENT == 1) - // Enable GIC - L2C_Enable(); -#endif - - // IRQ Initialize - IRQ_Initialize(); -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/system_ARMCA7.h b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/system_ARMCA7.h deleted file mode 100644 index 0405aa3..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/system_ARMCA7.h +++ /dev/null @@ -1,65 +0,0 @@ -/****************************************************************************** - * @file system_ARMCA7.h - * @brief CMSIS Device System Header File for Arm Cortex-A7 Device Series - * @version V1.00 - * @date 10. January 2018 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __SYSTEM_ARMCA7_H -#define __SYSTEM_ARMCA7_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */ - -/** - \brief Setup the microcontroller system. - - Initialize the System and update the SystemCoreClock variable. - */ -extern void SystemInit (void); - - -/** - \brief Update SystemCoreClock variable. - - Updates the SystemCoreClock with current core Clock retrieved from cpu registers. - */ -extern void SystemCoreClockUpdate (void); - -/** - \brief Create Translation Table. - - Creates Memory Management Unit Translation Table. - */ -extern void MMU_CreateTranslationTable(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __SYSTEM_ARMCA7_H */ diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/system_ARMCA7.h.base@1.0.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/system_ARMCA7.h.base@1.0.0 deleted file mode 100644 index 0405aa3..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/RTE/Device/ARMCA7/system_ARMCA7.h.base@1.0.0 +++ /dev/null @@ -1,65 +0,0 @@ -/****************************************************************************** - * @file system_ARMCA7.h - * @brief CMSIS Device System Header File for Arm Cortex-A7 Device Series - * @version V1.00 - * @date 10. January 2018 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __SYSTEM_ARMCA7_H -#define __SYSTEM_ARMCA7_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */ - -/** - \brief Setup the microcontroller system. - - Initialize the System and update the SystemCoreClock variable. - */ -extern void SystemInit (void); - - -/** - \brief Update SystemCoreClock variable. - - Updates the SystemCoreClock with current core Clock retrieved from cpu registers. - */ -extern void SystemCoreClockUpdate (void); - -/** - \brief Create Translation Table. - - Creates Memory Management Unit Translation Table. - */ -extern void MMU_CreateTranslationTable(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __SYSTEM_ARMCA7_H */ diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/Target.clayer.yml b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/Target.clayer.yml deleted file mode 100644 index 354560a..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/Target.clayer.yml +++ /dev/null @@ -1,23 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/1.3.0/tools/projmgr/schemas/clayer.schema.json - -layer: - # type: Target - description: Target setup - - # packs: - # - pack: ARM::CMSIS - - components: - # [Cvendor::] Cclass [&Cbundle] :Cgroup [:Csub] [&Cvariant] [@[>=]Cversion] - - component: ARM::CMSIS:CORE - - component: Device:Startup - - component: Device:IRQ Controller:GIC - - misc: - - for-compiler: IAR - Link: [--config generic_cortex.icf] - - groups: - - group: VHT/FVP - files: - - file: ./model_config.txt diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/model_config.txt b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/model_config.txt deleted file mode 100644 index 963ac52..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA7/model_config.txt +++ /dev/null @@ -1,22 +0,0 @@ -# Parameters: -# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] -#---------------------------------------------------------------------------------------------- -motherboard.vis.disable_visualisation=1 # (bool , init-time) default = '0' : Enable/disable visualisation -cluster.cpu0.vfp-present=1 # (bool , init-time) default = '1' : Set whether CT model has been built with VFP support -cluster.cpu0.ase-present=0 # (bool , init-time) default = '1' : Set whether CT model has been built with NEON support -cluster.cpu0.semihosting-enable=1 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false -cluster.cpu0.semihosting-hlt-enable=0 # (bool , init-time) default = '0' : Enable semihosting HLT traps. Applications that use HLT semihosting must set this parameter to true and the semihosting-enable parameter to true -cluster.cpu0.semihosting-ARM_SVC=0x123456 # (int , init-time) default = '0x123456' : ARM SVC number for semihosting : [0x0..0xFFFFFF] -cluster.cpu0.semihosting-Thumb_SVC=0xAB # (int , init-time) default = '0xAB' : Thumb SVC number for semihosting : [0x0..0xFF] -cluster.cpu0.semihosting-ARM_HLT=0xF000 # (int , init-time) default = '0xF000' : ARM HLT number for semihosting : [0x0..0xFFFF] -cluster.cpu0.semihosting-Thumb_HLT=0x3C # (int , init-time) default = '0x3C' : Thumb HLT number for semihosting : [0x0..0x3F] -cluster.cpu0.semihosting-cmd_line="" # (string, init-time) default = '' : Command line available to semihosting SVC calls -cluster.cpu0.semihosting-heap_base=0x0 # (int , init-time) default = '0x0' : Virtual address of heap base : [0x0..0xFFFFFFFF] -cluster.cpu0.semihosting-heap_limit=0x0 # (int , init-time) default = '0xFF000000' : Virtual address of top of heap : [0x0..0xFFFFFFFF] -cluster.cpu0.semihosting-stack_base=0x0 # (int , init-time) default = '0xFFFF0000' : Virtual address of base of descending stack : [0x0..0xFFFFFFFF] -cluster.cpu0.semihosting-stack_limit=0x0 # (int , init-time) default = '0xFF000000' : Virtual address of stack limit : [0x0..0xFFFFFFFF] -cluster.cpu0.semihosting-cwd="" # (string, init-time) default = '' : Base directory for semihosting file access. -cluster.l1_icache-state_modelled=1 # (bool , run-time ) default = '0' : Set whether L1 I-cache has stateful implementation -cluster.l1_dcache-state_modelled=1 # (bool , run-time ) default = '0' : Set whether L1 D-cache has stateful implementation -cluster.l2_cache-state_modelled=1 # (bool , run-time ) default = '0' : Set whether L2 cache has stateful implementation -#---------------------------------------------------------------------------------------------- diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/ARMCA9.icf b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/ARMCA9.icf deleted file mode 100644 index ce564bb..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/ARMCA9.icf +++ /dev/null @@ -1,67 +0,0 @@ - -/*-Memory Regions-*/ -define symbol __ICFEDIT_region_IROM1_start__ = 0x80000000; -define symbol __ICFEDIT_region_IROM1_end__ = 0x801FFFFF; -define symbol __ICFEDIT_region_IROM2_start__ = 0x0; -define symbol __ICFEDIT_region_IROM2_end__ = 0x0; -define symbol __ICFEDIT_region_EROM1_start__ = 0x0; -define symbol __ICFEDIT_region_EROM1_end__ = 0x0; -define symbol __ICFEDIT_region_EROM2_start__ = 0x0; -define symbol __ICFEDIT_region_EROM2_end__ = 0x0; -define symbol __ICFEDIT_region_EROM3_start__ = 0x0; -define symbol __ICFEDIT_region_EROM3_end__ = 0x0; -define symbol __ICFEDIT_region_IRAM1_start__ = 0x80200000; -define symbol __ICFEDIT_region_IRAM1_end__ = 0x803FFFFF; -define symbol __ICFEDIT_region_IRAM2_start__ = 0x0; -define symbol __ICFEDIT_region_IRAM2_end__ = 0x0; -define symbol __ICFEDIT_region_ERAM1_start__ = 0x0; -define symbol __ICFEDIT_region_ERAM1_end__ = 0x0; -define symbol __ICFEDIT_region_ERAM2_start__ = 0x0; -define symbol __ICFEDIT_region_ERAM2_end__ = 0x0; -define symbol __ICFEDIT_region_ERAM3_start__ = 0x0; -define symbol __ICFEDIT_region_ERAM3_end__ = 0x0; -define symbol __ICFEDIT_region_TTB_start__ = 0x80500000; -define symbol __ICFEDIT_region_TTB_end__ = 0x805FFFFF; - -/*-Sizes-*/ -define symbol __ICFEDIT_size_cstack__ = 0x1000; -define symbol __ICFEDIT_size_irqstack__ = 0x100; -define symbol __ICFEDIT_size_fiqstack__ = 0x100; -define symbol __ICFEDIT_size_svcstack__ = 0x100; -define symbol __ICFEDIT_size_abtstack__ = 0x100; -define symbol __ICFEDIT_size_undstack__ = 0x100; -define symbol __ICFEDIT_size_heap__ = 0x8000; -define symbol __ICFEDIT_size_ttb__ = 0x4000; - -define memory mem with size = 4G; -define region IROM_region = mem:[from __ICFEDIT_region_IROM1_start__ to __ICFEDIT_region_IROM1_end__] - | mem:[from __ICFEDIT_region_IROM2_start__ to __ICFEDIT_region_IROM2_end__]; -define region IRAM_region = mem:[from __ICFEDIT_region_IRAM1_start__ to __ICFEDIT_region_IRAM1_end__] - | mem:[from __ICFEDIT_region_IRAM2_start__ to __ICFEDIT_region_IRAM2_end__]; -define region ERAM_region = mem:[from __ICFEDIT_region_ERAM1_start__ to __ICFEDIT_region_ERAM1_end__] - | mem:[from __ICFEDIT_region_ERAM2_start__ to __ICFEDIT_region_ERAM2_end__] - | mem:[from __ICFEDIT_region_ERAM3_start__ to __ICFEDIT_region_ERAM3_end__]; -define region TTB_region = mem:[from __ICFEDIT_region_TTB_start__ to __ICFEDIT_region_TTB_end__ ]; - -define block USR_STACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; -define block IRQ_STACK with alignment = 8, size = __ICFEDIT_size_irqstack__ { }; -define block FIQ_STACK with alignment = 8, size = __ICFEDIT_size_fiqstack__ { }; -define block SVC_STACK with alignment = 8, size = __ICFEDIT_size_svcstack__ { }; -define block ABT_STACK with alignment = 8, size = __ICFEDIT_size_abtstack__ { }; -define block UND_STACK with alignment = 8, size = __ICFEDIT_size_undstack__ { }; -define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; -define block TTB with alignment = 8, size = __ICFEDIT_size_ttb__ { section TTB }; - -do not initialize { section .noinit }; - -initialize by copy { readwrite }; -if (isdefinedsymbol(__USE_DLIB_PERTHREAD)) -{ - // Required in a multi-threaded application - initialize by copy with packing = none { section __DLIB_PERTHREAD }; -} - -place at address mem:__ICFEDIT_region_IROM1_start__ { readonly section RESET }; -place in IROM_region { readonly }; -place in IRAM_region { readwrite, block HEAP, block USR_STACK, block IRQ_STACK, block FIQ_STACK, block SVC_STACK, block ABT_STACK, block UND_STACK }; -place in TTB_region { block TTB }; \ No newline at end of file diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/ARMCA9.icf.base@1.0.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/ARMCA9.icf.base@1.0.0 deleted file mode 100644 index ce564bb..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/ARMCA9.icf.base@1.0.0 +++ /dev/null @@ -1,67 +0,0 @@ - -/*-Memory Regions-*/ -define symbol __ICFEDIT_region_IROM1_start__ = 0x80000000; -define symbol __ICFEDIT_region_IROM1_end__ = 0x801FFFFF; -define symbol __ICFEDIT_region_IROM2_start__ = 0x0; -define symbol __ICFEDIT_region_IROM2_end__ = 0x0; -define symbol __ICFEDIT_region_EROM1_start__ = 0x0; -define symbol __ICFEDIT_region_EROM1_end__ = 0x0; -define symbol __ICFEDIT_region_EROM2_start__ = 0x0; -define symbol __ICFEDIT_region_EROM2_end__ = 0x0; -define symbol __ICFEDIT_region_EROM3_start__ = 0x0; -define symbol __ICFEDIT_region_EROM3_end__ = 0x0; -define symbol __ICFEDIT_region_IRAM1_start__ = 0x80200000; -define symbol __ICFEDIT_region_IRAM1_end__ = 0x803FFFFF; -define symbol __ICFEDIT_region_IRAM2_start__ = 0x0; -define symbol __ICFEDIT_region_IRAM2_end__ = 0x0; -define symbol __ICFEDIT_region_ERAM1_start__ = 0x0; -define symbol __ICFEDIT_region_ERAM1_end__ = 0x0; -define symbol __ICFEDIT_region_ERAM2_start__ = 0x0; -define symbol __ICFEDIT_region_ERAM2_end__ = 0x0; -define symbol __ICFEDIT_region_ERAM3_start__ = 0x0; -define symbol __ICFEDIT_region_ERAM3_end__ = 0x0; -define symbol __ICFEDIT_region_TTB_start__ = 0x80500000; -define symbol __ICFEDIT_region_TTB_end__ = 0x805FFFFF; - -/*-Sizes-*/ -define symbol __ICFEDIT_size_cstack__ = 0x1000; -define symbol __ICFEDIT_size_irqstack__ = 0x100; -define symbol __ICFEDIT_size_fiqstack__ = 0x100; -define symbol __ICFEDIT_size_svcstack__ = 0x100; -define symbol __ICFEDIT_size_abtstack__ = 0x100; -define symbol __ICFEDIT_size_undstack__ = 0x100; -define symbol __ICFEDIT_size_heap__ = 0x8000; -define symbol __ICFEDIT_size_ttb__ = 0x4000; - -define memory mem with size = 4G; -define region IROM_region = mem:[from __ICFEDIT_region_IROM1_start__ to __ICFEDIT_region_IROM1_end__] - | mem:[from __ICFEDIT_region_IROM2_start__ to __ICFEDIT_region_IROM2_end__]; -define region IRAM_region = mem:[from __ICFEDIT_region_IRAM1_start__ to __ICFEDIT_region_IRAM1_end__] - | mem:[from __ICFEDIT_region_IRAM2_start__ to __ICFEDIT_region_IRAM2_end__]; -define region ERAM_region = mem:[from __ICFEDIT_region_ERAM1_start__ to __ICFEDIT_region_ERAM1_end__] - | mem:[from __ICFEDIT_region_ERAM2_start__ to __ICFEDIT_region_ERAM2_end__] - | mem:[from __ICFEDIT_region_ERAM3_start__ to __ICFEDIT_region_ERAM3_end__]; -define region TTB_region = mem:[from __ICFEDIT_region_TTB_start__ to __ICFEDIT_region_TTB_end__ ]; - -define block USR_STACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; -define block IRQ_STACK with alignment = 8, size = __ICFEDIT_size_irqstack__ { }; -define block FIQ_STACK with alignment = 8, size = __ICFEDIT_size_fiqstack__ { }; -define block SVC_STACK with alignment = 8, size = __ICFEDIT_size_svcstack__ { }; -define block ABT_STACK with alignment = 8, size = __ICFEDIT_size_abtstack__ { }; -define block UND_STACK with alignment = 8, size = __ICFEDIT_size_undstack__ { }; -define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; -define block TTB with alignment = 8, size = __ICFEDIT_size_ttb__ { section TTB }; - -do not initialize { section .noinit }; - -initialize by copy { readwrite }; -if (isdefinedsymbol(__USE_DLIB_PERTHREAD)) -{ - // Required in a multi-threaded application - initialize by copy with packing = none { section __DLIB_PERTHREAD }; -} - -place at address mem:__ICFEDIT_region_IROM1_start__ { readonly section RESET }; -place in IROM_region { readonly }; -place in IRAM_region { readwrite, block HEAP, block USR_STACK, block IRQ_STACK, block FIQ_STACK, block SVC_STACK, block ABT_STACK, block UND_STACK }; -place in TTB_region { block TTB }; \ No newline at end of file diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/ARMCA9.ld b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/ARMCA9.ld deleted file mode 100644 index 60b5b10..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/ARMCA9.ld +++ /dev/null @@ -1,181 +0,0 @@ -#include "mem_ARMCA9.h" - -MEMORY -{ - ROM (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - L_TTB (rw) : ORIGIN = __TTB_BASE, LENGTH = __TTB_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - - Image$$VECTORS$$Base = .; - * (RESET) - KEEP(*(.isr_vector)) - Image$$VECTORS$$Limit = .; - - *(SVC_TABLE) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - Image$$RO_DATA$$Base = .; - *(.rodata*) - Image$$RO_DATA$$Limit = .; - - KEEP(*(.eh_frame*)) - } > ROM - - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > ROM - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > ROM - __exidx_end = .; - - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - LONG (__etext) - LONG (__data_start__) - LONG (__data_end__ - __data_start__) - __copy_table_end__ = .; - } > ROM - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - LONG (__bss_start__) - LONG (__bss_end__ - __bss_start__) - __zero_table_end__ = .; - } > ROM - - __etext = .; - - .ttb : - { - Image$$TTB$$ZI$$Base = .; - . += __TTB_SIZE; - Image$$TTB$$ZI$$Limit = .; - } > L_TTB - - .data : - { - Image$$RW_DATA$$Base = .; - __data_start__ = .; - *(vtable) - *(.data*) - Image$$RW_DATA$$Limit = .; - - . = ALIGN(4); - /* preinit data */ - PROVIDE (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE (__init_array_end = .); - - - . = ALIGN(4); - /* finit data */ - PROVIDE (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE (__fini_array_end = .); - - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - - .bss ALIGN(0x400): - { - Image$$ZI_DATA$$Base = .; - __bss_start__ = .; - *(.bss*) - *(COMMON) - __bss_end__ = .; - Image$$ZI_DATA$$Limit = .; - __end__ = .; - end = __end__; - } > RAM AT > RAM - -#if defined(__HEAP_SIZE) && (__HEAP_SIZE > 0) - .heap (NOLOAD): - { - . = ALIGN(8); - Image$$HEAP$$ZI$$Base = .; - . += __HEAP_SIZE; - Image$$HEAP$$ZI$$Limit = .; - __HeapLimit = .; - } > RAM -#endif - - .stack (NOLOAD): - { - . = ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE - __FIQ_STACK_SIZE - __IRQ_STACK_SIZE - __SVC_STACK_SIZE - __ABT_STACK_SIZE - __UND_STACK_SIZE; - . = ALIGN(8); - - __StackTop = .; - Image$$SYS_STACK$$ZI$$Base = .; - . += __STACK_SIZE; - Image$$SYS_STACK$$ZI$$Limit = .; - __stack = .; - - Image$$FIQ_STACK$$ZI$$Base = .; - . += __FIQ_STACK_SIZE; - Image$$FIQ_STACK$$ZI$$Limit = .; - - Image$$IRQ_STACK$$ZI$$Base = .; - . += __IRQ_STACK_SIZE; - Image$$IRQ_STACK$$ZI$$Limit = .; - - Image$$SVC_STACK$$ZI$$Base = .; - . += __SVC_STACK_SIZE; - Image$$SVC_STACK$$ZI$$Limit = .; - - Image$$ABT_STACK$$ZI$$Base = .; - . += __ABT_STACK_SIZE; - Image$$ABT_STACK$$ZI$$Limit = .; - - Image$$UND_STACK$$ZI$$Base = .; - . += __UND_STACK_SIZE; - Image$$UND_STACK$$ZI$$Limit = .; - - } > RAM -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/ARMCA9.sct b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/ARMCA9.sct deleted file mode 100644 index 3316f93..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/ARMCA9.sct +++ /dev/null @@ -1,77 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-a9 -xc -;************************************************** -; Copyright (c) 2017 ARM Ltd. All rights reserved. -;************************************************** - -; Scatter-file for RTX Example on Versatile Express - -; This scatter-file places application code, data, stack and heap at suitable addresses in the memory map. - -; This platform has 2GB SDRAM starting at 0x80000000. - -#include "mem_ARMCA9.h" - -SDRAM __ROM_BASE __ROM_SIZE ; load region size_region -{ - VECTORS __ROM_BASE __ROM_SIZE ; load address = execution address - { - * (RESET, +FIRST) ; Vector table and other startup code - * (InRoot$$Sections) ; All (library) code that must be in a root region - * (+RO-CODE) ; Application RO code (.text) - * (+RO-DATA) ; Application RO data (.constdata) - } - - RW_DATA __RAM_BASE __RW_DATA_SIZE - { * (+RW) } ; Application RW data (.data) - - ZI_DATA (__RAM_BASE+ - __RW_DATA_SIZE) __ZI_DATA_SIZE - { * (+ZI) } ; Application ZI data (.bss) - - ARM_LIB_HEAP (__RAM_BASE - +__RW_DATA_SIZE - +__ZI_DATA_SIZE) EMPTY __HEAP_SIZE ; Heap region growing up - { } - - ARM_LIB_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE - -__SVC_STACK_SIZE - -__ABT_STACK_SIZE - -__UND_STACK_SIZE) EMPTY -__STACK_SIZE ; Stack region growing down - { } - - UND_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE - -__SVC_STACK_SIZE - -__ABT_STACK_SIZE) EMPTY -__UND_STACK_SIZE ; UND mode stack - { } - - ABT_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE - -__SVC_STACK_SIZE) EMPTY -__ABT_STACK_SIZE ; ABT mode stack - { } - - SVC_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE) EMPTY -__SVC_STACK_SIZE ; SVC mode stack - { } - - IRQ_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE) EMPTY -__IRQ_STACK_SIZE ; IRQ mode stack - { } - - FIQ_STACK (__RAM_BASE - +__RAM_SIZE) EMPTY -__FIQ_STACK_SIZE ; FIQ mode stack - { } - - TTB __TTB_BASE EMPTY __TTB_SIZE ; Level-1 Translation Table for MMU - { } -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/mem_ARMCA9.h b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/mem_ARMCA9.h deleted file mode 100644 index 3609d7f..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/mem_ARMCA9.h +++ /dev/null @@ -1,100 +0,0 @@ -/**************************************************************************//** - * @file mem_ARMCA9.h - * @brief Memory base and size definitions (used in scatter file) - * @version V1.1.0 - * @date 15. May 2019 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __MEM_ARMCA9_H -#define __MEM_ARMCA9_H - -/*---------------------------------------------------------------------------- - User Stack & Heap size definition - *----------------------------------------------------------------------------*/ -/* -//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ -*/ - -/*--------------------- ROM Configuration ------------------------------------ -// -// ROM Configuration -// For compatibility with MMU config the sections must be multiple of 1MB -// ROM Base Address <0x0-0xFFFFFFFF:0x100000> -// ROM Size (in Bytes) <0x0-0xFFFFFFFF:0x100000> -// - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x80000000 -#define __ROM_SIZE 0x00200000 - -/*--------------------- RAM Configuration ----------------------------------- -// RAM Configuration -// For compatibility with MMU config the sections must be multiple of 1MB -// RAM Base Address <0x0-0xFFFFFFFF:0x100000> -// RAM Total Size (in Bytes) <0x0-0xFFFFFFFF:0x100000> -// Data Sections -// RW_DATA Size (in Bytes) <0x0-0xFFFFFFFF:8> -// ZI_DATA Size (in Bytes) <0x0-0xFFFFFFFF:8> -// -// Stack / Heap Configuration -// Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -// Exceptional Modes -// UND Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// ABT Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// SVC Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// IRQ Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// FIQ Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// -// -// - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x80200000 -#define __RAM_SIZE 0x00200000 - -#define __RW_DATA_SIZE 0x00100000 -#define __ZI_DATA_SIZE 0x000F0000 - -#define __STACK_SIZE 0x00001000 -#define __HEAP_SIZE 0x00008000 - -#define __UND_STACK_SIZE 0x00000100 -#define __ABT_STACK_SIZE 0x00000100 -#define __SVC_STACK_SIZE 0x00000100 -#define __IRQ_STACK_SIZE 0x00000100 -#define __FIQ_STACK_SIZE 0x00000100 - -/*----------------------------------------------------------------------------*/ - -/*--------------------- TTB Configuration ------------------------------------ -// -// TTB Configuration -// The TLB L1 contains 4096 32-bit entries and must be 16kB aligned -// The TLB L2 entries are placed after the L1 in the MMU config -// TTB Base Address <0x0-0xFFFFFFFF:0x4000> -// TTB Size (in Bytes) <0x0-0xFFFFFFFF:8> -// - *----------------------------------------------------------------------------*/ -#define __TTB_BASE 0x80500000 -#define __TTB_SIZE 0x00005000 - -#endif /* __MEM_ARMCA9_H */ diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/mmu_ARMCA9.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/mmu_ARMCA9.c deleted file mode 100644 index 1435eb9..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/mmu_ARMCA9.c +++ /dev/null @@ -1,232 +0,0 @@ -/**************************************************************************//** - * @file mmu_ARMCA9.c - * @brief MMU Configuration for Arm Cortex-A9 Device Series - * @version V1.2.0 - * @date 15. May 2019 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* Memory map description from: DUI0447G_v2m_p1_trm.pdf 4.2.2 Arm Cortex-A Series memory map - - Memory Type -0xffffffff |--------------------------| ------------ - | FLAG SYNC | Device Memory -0xfffff000 |--------------------------| ------------ - | Fault | Fault -0xfff00000 |--------------------------| ------------ - | | Normal - | | - | Daughterboard | - | memory | - | | -0x80505000 |--------------------------| ------------ - |TTB (L2 Sync Flags ) 4k | Normal -0x80504C00 |--------------------------| ------------ - |TTB (L2 Peripherals-B) 16k| Normal -0x80504800 |--------------------------| ------------ - |TTB (L2 Peripherals-A) 16k| Normal -0x80504400 |--------------------------| ------------ - |TTB (L2 Priv Periphs) 4k | Normal -0x80504000 |--------------------------| ------------ - | TTB (L1 Descriptors) | Normal -0x80500000 |--------------------------| ------------ - | Stack | Normal - |--------------------------| ------------ - | Heap | Normal -0x80400000 |--------------------------| ------------ - | ZI Data | Normal -0x80300000 |--------------------------| ------------ - | RW Data | Normal -0x80200000 |--------------------------| ------------ - | RO Data | Normal - |--------------------------| ------------ - | RO Code | USH Normal -0x80000000 |--------------------------| ------------ - | Daughterboard | Fault - | HSB AXI buses | -0x40000000 |--------------------------| ------------ - | Daughterboard | Fault - | test chips peripherals | -0x2c002000 |--------------------------| ------------ - | Private Address | Device Memory -0x2c000000 |--------------------------| ------------ - | Daughterboard | Fault - | test chips peripherals | -0x20000000 |--------------------------| ------------ - | Peripherals | Device Memory RW/RO - | | & Fault -0x00000000 |--------------------------| -*/ - -// L1 Cache info and restrictions about architecture of the caches (CCSIR register): -// Write-Through support *not* available -// Write-Back support available. -// Read allocation support available. -// Write allocation support available. - -//Note: You should use the Shareable attribute carefully. -//For cores without coherency logic (such as SCU) marking a region as shareable forces the processor to not cache that region regardless of the inner cache settings. -//Cortex-A versions of RTX use LDREX/STREX instructions relying on Local monitors. Local monitors will be used only when the region gets cached, regions that are not cached will use the Global Monitor. -//Some Cortex-A implementations do not include Global Monitors, so wrongly setting the attribute Shareable may cause STREX to fail. - -//Recall: When the Shareable attribute is applied to a memory region that is not Write-Back, Normal memory, data held in this region is treated as Non-cacheable. -//When SMP bit = 0, Inner WB/WA Cacheable Shareable attributes are treated as Non-cacheable. -//When SMP bit = 1, Inner WB/WA Cacheable Shareable attributes are treated as Cacheable. - - -//Following MMU configuration is expected -//SCTLR.AFE == 1 (Simplified access permissions model - AP[2:1] define access permissions, AP[0] is an access flag) -//SCTLR.TRE == 0 (TEX remap disabled, so memory type and attributes are described directly by bits in the descriptor) -//Domain 0 is always the Client domain -//Descriptors should place all memory in domain 0 - -#include "ARMCA9.h" -#include "mem_ARMCA9.h" - -// TTB base address -#define TTB_BASE ((uint32_t*)__TTB_BASE) - -// L2 table pointers -//---------------------------------------- -#define TTB_L1_SIZE (0x00004000) // The L1 translation table divides the full 4GB address space of a 32-bit core - // into 4096 equally sized sections, each of which describes 1MB of virtual memory space. - // The L1 translation table therefore contains 4096 32-bit (word-sized) entries. - -#define PRIVATE_TABLE_L2_BASE_4k (__TTB_BASE + TTB_L1_SIZE) // Map 4k Private Address space -#define PERIPHERAL_A_TABLE_L2_BASE_64k (__TTB_BASE + TTB_L1_SIZE + 0x400) // Map 64k Peripheral #1 0x1C000000 - 0x1C00FFFFF -#define PERIPHERAL_B_TABLE_L2_BASE_64k (__TTB_BASE + TTB_L1_SIZE + 0x800) // Map 64k Peripheral #2 0x1C100000 - 0x1C1FFFFFF -#define SYNC_FLAGS_TABLE_L2_BASE_4k (__TTB_BASE + TTB_L1_SIZE + 0xC00) // Map 4k Flag synchronization - -//--------------------- PERIPHERALS ------------------- -#define PERIPHERAL_A_FAULT (0x00000000 + 0x1c000000) //0x1C000000-0x1C00FFFF (1M) -#define PERIPHERAL_B_FAULT (0x00100000 + 0x1c000000) //0x1C100000-0x1C10FFFF (1M) - -//--------------------- SYNC FLAGS -------------------- -#define FLAG_SYNC 0xFFFFF000 -#define F_SYNC_BASE 0xFFF00000 //1M aligned - -static uint32_t Sect_Normal; //outer & inner wb/wa, non-shareable, executable, rw, domain 0, base addr 0 -static uint32_t Sect_Normal_Cod; //outer & inner wb/wa, non-shareable, executable, ro, domain 0, base addr 0 -static uint32_t Sect_Normal_RO; //as Sect_Normal_Cod, but not executable -static uint32_t Sect_Normal_RW; //as Sect_Normal_Cod, but writeable and not executable -static uint32_t Sect_Device_RO; //device, non-shareable, non-executable, ro, domain 0, base addr 0 -static uint32_t Sect_Device_RW; //as Sect_Device_RO, but writeable - -/* Define global descriptors */ -static uint32_t Page_L1_4k = 0x0; //generic -static uint32_t Page_L1_64k = 0x0; //generic -static uint32_t Page_4k_Device_RW; //Shared device, not executable, rw, domain 0 -static uint32_t Page_64k_Device_RW; //Shared device, not executable, rw, domain 0 - -void MMU_CreateTranslationTable(void) -{ - mmu_region_attributes_Type region; - - //Create 4GB of faulting entries - MMU_TTSection (TTB_BASE, 0, 4096, DESCRIPTOR_FAULT); - - /* - * Generate descriptors. Refer to core_ca.h to get information about attributes - * - */ - //Create descriptors for Vectors, RO, RW, ZI sections - section_normal(Sect_Normal, region); - section_normal_cod(Sect_Normal_Cod, region); - section_normal_ro(Sect_Normal_RO, region); - section_normal_rw(Sect_Normal_RW, region); - //Create descriptors for peripherals - section_device_ro(Sect_Device_RO, region); - section_device_rw(Sect_Device_RW, region); - //Create descriptors for 64k pages - page64k_device_rw(Page_L1_64k, Page_64k_Device_RW, region); - //Create descriptors for 4k pages - page4k_device_rw(Page_L1_4k, Page_4k_Device_RW, region); - - - /* - * Define MMU flat-map regions and attributes - * - */ - - //Define Image - MMU_TTSection (TTB_BASE, __ROM_BASE, __ROM_SIZE/0x100000, Sect_Normal_Cod); // multiple of 1MB sections - MMU_TTSection (TTB_BASE, __RAM_BASE, __RAM_SIZE/0x100000, Sect_Normal_RW); // multiple of 1MB sections - - //--------------------- PERIPHERALS ------------------- - MMU_TTSection (TTB_BASE, VE_A9_MP_FLASH_BASE0 , 64, Sect_Device_RO); // 64MB NOR - MMU_TTSection (TTB_BASE, VE_A9_MP_FLASH_BASE1 , 64, Sect_Device_RO); // 64MB NOR - MMU_TTSection (TTB_BASE, VE_A9_MP_SRAM_BASE , 32, Sect_Device_RW); // 32MB RAM - MMU_TTSection (TTB_BASE, VE_A9_MP_VRAM_BASE , 32, Sect_Device_RW); // 32MB RAM - MMU_TTSection (TTB_BASE, VE_A9_MP_ETHERNET_BASE , 16, Sect_Device_RW); - MMU_TTSection (TTB_BASE, VE_A9_MP_USB_BASE , 16, Sect_Device_RW); - - // Create (16 * 64k)=1MB faulting entries to cover peripheral range 0x1C000000-0x1C00FFFF - MMU_TTPage64k(TTB_BASE, PERIPHERAL_A_FAULT , 16, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, DESCRIPTOR_FAULT); - // Define peripheral range 0x1C000000-0x1C00FFFF - MMU_TTPage64k(TTB_BASE, VE_A9_MP_DAP_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A9_MP_SYSTEM_REG_BASE, 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A9_MP_SERIAL_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A9_MP_AACI_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A9_MP_MMCI_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A9_MP_KMI0_BASE , 2, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A9_MP_UART_BASE , 4, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A9_MP_WDT_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - - // Create (16 * 64k)=1MB faulting entries to cover peripheral range 0x1C100000-0x1C10FFFF - MMU_TTPage64k(TTB_BASE, PERIPHERAL_B_FAULT , 16, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, DESCRIPTOR_FAULT); - // Define peripheral range 0x1C100000-0x1C10FFFF - MMU_TTPage64k(TTB_BASE, VE_A9_MP_TIMER_BASE , 2, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A9_MP_DVI_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A9_MP_RTC_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A9_MP_UART4_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A9_MP_CLCD_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); - - // Create (256 * 4k)=1MB faulting entries to cover private address space. Needs to be marked as Device memory - MMU_TTPage4k (TTB_BASE, __get_CBAR() ,256, Page_L1_4k, (uint32_t *)PRIVATE_TABLE_L2_BASE_4k, DESCRIPTOR_FAULT); - // Define private address space entry. - MMU_TTPage4k (TTB_BASE, __get_CBAR() , 2, Page_L1_4k, (uint32_t *)PRIVATE_TABLE_L2_BASE_4k, Page_4k_Device_RW); - // Define L2CC entry. Uncomment if PL310 is present - // MMU_TTPage4k (TTB_BASE, VE_A5_MP_PL310_BASE , 1, Page_L1_4k, (uint32_t *)PRIVATE_TABLE_L2_BASE_4k, Page_4k_Device_RW); - - // Create (256 * 4k)=1MB faulting entries to synchronization space (Useful if some non-cacheable DMA agent is present in the SoC) - MMU_TTPage4k (TTB_BASE, F_SYNC_BASE , 256, Page_L1_4k, (uint32_t *)SYNC_FLAGS_TABLE_L2_BASE_4k, DESCRIPTOR_FAULT); - // Define synchronization space entry. - MMU_TTPage4k (TTB_BASE, FLAG_SYNC , 1, Page_L1_4k, (uint32_t *)SYNC_FLAGS_TABLE_L2_BASE_4k, Page_4k_Device_RW); - - /* Set location of level 1 page table - ; 31:14 - Translation table base addr (31:14-TTBCR.N, TTBCR.N is 0 out of reset) - ; 13:7 - 0x0 - ; 6 - IRGN[0] 0x1 (Inner WB WA) - ; 5 - NOS 0x0 (Non-shared) - ; 4:3 - RGN 0x01 (Outer WB WA) - ; 2 - IMP 0x0 (Implementation Defined) - ; 1 - S 0x0 (Non-shared) - ; 0 - IRGN[1] 0x0 (Inner WB WA) */ - __set_TTBR0(__TTB_BASE | 0x48); - __ISB(); - - /* Set up domain access control register - ; We set domain 0 to Client and all other domains to No Access. - ; All translation table entries specify domain 0 */ - __set_DACR(1); - __ISB(); -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/startup_ARMCA9.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/startup_ARMCA9.c deleted file mode 100644 index 6278f11..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/startup_ARMCA9.c +++ /dev/null @@ -1,148 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCA9.c - * @brief CMSIS Device System Source File for Arm Cortex-A9 Device Series - * @version V1.0.1 - * @date 10. January 2021 - ******************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include - -/*---------------------------------------------------------------------------- - Definitions - *----------------------------------------------------------------------------*/ -#define USR_MODE 0x10 // User mode -#define FIQ_MODE 0x11 // Fast Interrupt Request mode -#define IRQ_MODE 0x12 // Interrupt Request mode -#define SVC_MODE 0x13 // Supervisor mode -#define ABT_MODE 0x17 // Abort mode -#define UND_MODE 0x1B // Undefined Instruction mode -#define SYS_MODE 0x1F // System mode - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -void Vectors (void) __attribute__ ((naked, section("RESET"))); -void Reset_Handler (void) __attribute__ ((naked)); -void Default_Handler(void) __attribute__ ((noreturn)); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -void Undef_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PAbt_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DAbt_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void IRQ_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void FIQ_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector Table - *----------------------------------------------------------------------------*/ -void Vectors(void) { - __ASM volatile( - "LDR PC, =Reset_Handler \n" - "LDR PC, =Undef_Handler \n" - "LDR PC, =SVC_Handler \n" - "LDR PC, =PAbt_Handler \n" - "LDR PC, =DAbt_Handler \n" - "NOP \n" - "LDR PC, =IRQ_Handler \n" - "LDR PC, =FIQ_Handler \n" - ); -} - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -void Reset_Handler(void) { - __ASM volatile( - - // Mask interrupts - "CPSID if \n" - - // Put any cores other than 0 to sleep - "MRC p15, 0, R0, c0, c0, 5 \n" // Read MPIDR - "ANDS R0, R0, #3 \n" - "goToSleep: \n" - "WFINE \n" - "BNE goToSleep \n" - - // Reset SCTLR Settings - "MRC p15, 0, R0, c1, c0, 0 \n" // Read CP15 System Control register - "BIC R0, R0, #(0x1 << 12) \n" // Clear I bit 12 to disable I Cache - "BIC R0, R0, #(0x1 << 2) \n" // Clear C bit 2 to disable D Cache - "BIC R0, R0, #0x1 \n" // Clear M bit 0 to disable MMU - "BIC R0, R0, #(0x1 << 11) \n" // Clear Z bit 11 to disable branch prediction - "BIC R0, R0, #(0x1 << 13) \n" // Clear V bit 13 to disable hivecs - "MCR p15, 0, R0, c1, c0, 0 \n" // Write value back to CP15 System Control register - "ISB \n" - - // Configure ACTLR - "MRC p15, 0, r0, c1, c0, 1 \n" // Read CP15 Auxiliary Control Register - "ORR r0, r0, #(1 << 1) \n" // Enable L2 prefetch hint (UNK/WI since r4p1) - "MCR p15, 0, r0, c1, c0, 1 \n" // Write CP15 Auxiliary Control Register - - // Set Vector Base Address Register (VBAR) to point to this application's vector table - "LDR R0, =Vectors \n" - "MCR p15, 0, R0, c12, c0, 0 \n" - - // Setup Stack for each exceptional mode - "CPS #0x11 \n" - "LDR SP, =Image$$FIQ_STACK$$ZI$$Limit \n" - "CPS #0x12 \n" - "LDR SP, =Image$$IRQ_STACK$$ZI$$Limit \n" - "CPS #0x13 \n" - "LDR SP, =Image$$SVC_STACK$$ZI$$Limit \n" - "CPS #0x17 \n" - "LDR SP, =Image$$ABT_STACK$$ZI$$Limit \n" - "CPS #0x1B \n" - "LDR SP, =Image$$UND_STACK$$ZI$$Limit \n" - "CPS #0x1F \n" -#if defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6100100) - "LDR SP, =Image$$ARM_LIB_STACK$$ZI$$Limit \n" -#elif defined ( __GNUC__ ) - "LDR SP, =Image$$SYS_STACK$$ZI$$Limit \n" -#else - #error Unknown compiler. -#endif - - // Call SystemInit - "BL SystemInit \n" - - // Unmask interrupts - "CPSIE if \n" - - // Call __main -#if defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6100100) - "BL __main \n" -#elif defined ( __GNUC__ ) - "BL _start \n" -#else - #error Unknown compiler. -#endif - ); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) { - while(1); -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/startup_ARMCA9.s b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/startup_ARMCA9.s deleted file mode 100644 index 5db9773..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/startup_ARMCA9.s +++ /dev/null @@ -1,140 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCA9.s - * @brief CMSIS Device System Source File for ARM Cortex-A9 Device Series - * @version V1.00 - * @date 01 Nov 2017 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2017 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - MODULE ?startup_ARMCA9 - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ - PUBLIC Reset_Handler - PUBWEAK Undef_Handler - PUBWEAK SVC_Handler - PUBWEAK PAbt_Handler - PUBWEAK DAbt_Handler - PUBWEAK IRQ_Handler - PUBWEAK FIQ_Handler - - SECTION SVC_STACK:DATA:NOROOT(3) - SECTION IRQ_STACK:DATA:NOROOT(3) - SECTION FIQ_STACK:DATA:NOROOT(3) - SECTION ABT_STACK:DATA:NOROOT(3) - SECTION UND_STACK:DATA:NOROOT(3) - SECTION USR_STACK:DATA:NOROOT(3) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector Table - *----------------------------------------------------------------------------*/ - - section RESET:CODE:NOROOT(2) - PUBLIC Vectors - -Vectors: - LDR PC, =Reset_Handler - LDR PC, =Undef_Handler - LDR PC, =SVC_Handler - LDR PC, =PAbt_Handler - LDR PC, =DAbt_Handler - NOP - LDR PC, =IRQ_Handler - LDR PC, =FIQ_Handler - - - section .text:CODE:NOROOT(2) - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ - EXTERN SystemInit - EXTERN __iar_program_start - -Reset_Handler: - - // Mask interrupts - CPSID if - - // Put any cores other than 0 to sleep - MRC p15, 0, R0, c0, c0, 5 - ANDS R0, R0, #3 -goToSleep: - WFINE - BNE goToSleep - - // Reset SCTLR Settings - MRC p15, 0, R0, c1, c0, 0 // Read CP15 System Control register - BIC R0, R0, #(0x1 << 12) // Clear I bit 12 to disable I Cache - BIC R0, R0, #(0x1 << 2) // Clear C bit 2 to disable D Cache - BIC R0, R0, #0x1 // Clear M bit 0 to disable MMU - BIC R0, R0, #(0x1 << 11) // Clear Z bit 11 to disable branch prediction - BIC R0, R0, #(0x1 << 13) // Clear V bit 13 to disable hivecs - MCR p15, 0, R0, c1, c0, 0 // Write value back to CP15 System Control register - ISB - - // Configure ACTLR - MRC p15, 0, r0, c1, c0, 1 // Read CP15 Auxiliary Control Register - ORR r0, r0, #(1 << 1) // Enable L2 prefetch hint (UNK/WI since r4p1) - MCR p15, 0, r0, c1, c0, 1 // Write CP15 Auxiliary Control Register - - // Set Vector Base Address Register (VBAR) to point to this application's vector table - LDR R0, =Vectors - MCR p15, 0, R0, c12, c0, 0 - - // Setup Stack for each exception mode - CPS #0x11 - LDR SP, =SFE(FIQ_STACK) - CPS #0x12 - LDR SP, =SFE(IRQ_STACK) - CPS #0x13 - LDR SP, =SFE(SVC_STACK) - CPS #0x17 - LDR SP, =SFE(ABT_STACK) - CPS #0x1B - LDR SP, =SFE(UND_STACK) - CPS #0x1F - LDR SP, =SFE(USR_STACK) - - // Call SystemInit - BL SystemInit - - // Unmask interrupts - CPSIE if - - // Call __iar_program_start - BL __iar_program_start - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -Undef_Handler: -SVC_Handler: -PAbt_Handler: -DAbt_Handler: -IRQ_Handler: -FIQ_Handler: -Default_Handler: - B . - - END diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/startup_ARMCA9.s.base@1.0.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/startup_ARMCA9.s.base@1.0.0 deleted file mode 100644 index 5db9773..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/startup_ARMCA9.s.base@1.0.0 +++ /dev/null @@ -1,140 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCA9.s - * @brief CMSIS Device System Source File for ARM Cortex-A9 Device Series - * @version V1.00 - * @date 01 Nov 2017 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2017 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - MODULE ?startup_ARMCA9 - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ - PUBLIC Reset_Handler - PUBWEAK Undef_Handler - PUBWEAK SVC_Handler - PUBWEAK PAbt_Handler - PUBWEAK DAbt_Handler - PUBWEAK IRQ_Handler - PUBWEAK FIQ_Handler - - SECTION SVC_STACK:DATA:NOROOT(3) - SECTION IRQ_STACK:DATA:NOROOT(3) - SECTION FIQ_STACK:DATA:NOROOT(3) - SECTION ABT_STACK:DATA:NOROOT(3) - SECTION UND_STACK:DATA:NOROOT(3) - SECTION USR_STACK:DATA:NOROOT(3) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector Table - *----------------------------------------------------------------------------*/ - - section RESET:CODE:NOROOT(2) - PUBLIC Vectors - -Vectors: - LDR PC, =Reset_Handler - LDR PC, =Undef_Handler - LDR PC, =SVC_Handler - LDR PC, =PAbt_Handler - LDR PC, =DAbt_Handler - NOP - LDR PC, =IRQ_Handler - LDR PC, =FIQ_Handler - - - section .text:CODE:NOROOT(2) - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ - EXTERN SystemInit - EXTERN __iar_program_start - -Reset_Handler: - - // Mask interrupts - CPSID if - - // Put any cores other than 0 to sleep - MRC p15, 0, R0, c0, c0, 5 - ANDS R0, R0, #3 -goToSleep: - WFINE - BNE goToSleep - - // Reset SCTLR Settings - MRC p15, 0, R0, c1, c0, 0 // Read CP15 System Control register - BIC R0, R0, #(0x1 << 12) // Clear I bit 12 to disable I Cache - BIC R0, R0, #(0x1 << 2) // Clear C bit 2 to disable D Cache - BIC R0, R0, #0x1 // Clear M bit 0 to disable MMU - BIC R0, R0, #(0x1 << 11) // Clear Z bit 11 to disable branch prediction - BIC R0, R0, #(0x1 << 13) // Clear V bit 13 to disable hivecs - MCR p15, 0, R0, c1, c0, 0 // Write value back to CP15 System Control register - ISB - - // Configure ACTLR - MRC p15, 0, r0, c1, c0, 1 // Read CP15 Auxiliary Control Register - ORR r0, r0, #(1 << 1) // Enable L2 prefetch hint (UNK/WI since r4p1) - MCR p15, 0, r0, c1, c0, 1 // Write CP15 Auxiliary Control Register - - // Set Vector Base Address Register (VBAR) to point to this application's vector table - LDR R0, =Vectors - MCR p15, 0, R0, c12, c0, 0 - - // Setup Stack for each exception mode - CPS #0x11 - LDR SP, =SFE(FIQ_STACK) - CPS #0x12 - LDR SP, =SFE(IRQ_STACK) - CPS #0x13 - LDR SP, =SFE(SVC_STACK) - CPS #0x17 - LDR SP, =SFE(ABT_STACK) - CPS #0x1B - LDR SP, =SFE(UND_STACK) - CPS #0x1F - LDR SP, =SFE(USR_STACK) - - // Call SystemInit - BL SystemInit - - // Unmask interrupts - CPSIE if - - // Call __iar_program_start - BL __iar_program_start - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -Undef_Handler: -SVC_Handler: -PAbt_Handler: -DAbt_Handler: -IRQ_Handler: -FIQ_Handler: -Default_Handler: - B . - - END diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/system_ARMCA9.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/system_ARMCA9.c deleted file mode 100644 index cdf9213..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/system_ARMCA9.c +++ /dev/null @@ -1,93 +0,0 @@ -/****************************************************************************** - * @file system_ARMCA9.c - * @brief CMSIS Device System Source File for Arm Cortex-A9 Device Series - * @version V1.0.1 - * @date 13. February 2019 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "RTE_Components.h" -#include CMSIS_device_header -#include "irq_ctrl.h" - -#define SYSTEM_CLOCK 12000000U - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System Initialization - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ -/* do not use global variables because this function is called before - reaching pre-main. RW section may be overwritten afterwards. */ - - // Invalidate entire Unified TLB - __set_TLBIALL(0); - - // Invalidate entire branch predictor array - __set_BPIALL(0); - __DSB(); - __ISB(); - - // Invalidate instruction cache and flush branch target cache - __set_ICIALLU(0); - __DSB(); - __ISB(); - - // Invalidate data cache - L1C_InvalidateDCacheAll(); - -#if ((__FPU_PRESENT == 1) && (__FPU_USED == 1)) - // Enable FPU - __FPU_Enable(); -#endif - - // Create Translation Table - MMU_CreateTranslationTable(); - - // Enable MMU - MMU_Enable(); - - // Enable Caches - L1C_EnableCaches(); - L1C_EnableBTAC(); - -#if (__L2C_PRESENT == 1) - // Enable GIC - L2C_Enable(); -#endif - - // IRQ Initialize - IRQ_Initialize(); -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/system_ARMCA9.h b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/system_ARMCA9.h deleted file mode 100644 index b60ce5a..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/system_ARMCA9.h +++ /dev/null @@ -1,65 +0,0 @@ -/****************************************************************************** - * @file system_ARMCA9.h - * @brief CMSIS Device System Header File for Arm Cortex-A9 Device Series - * @version V1.00 - * @date 10. January 2018 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __SYSTEM_ARMCA9_H -#define __SYSTEM_ARMCA9_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */ - -/** - \brief Setup the microcontroller system. - - Initialize the System and update the SystemCoreClock variable. - */ -extern void SystemInit (void); - - -/** - \brief Update SystemCoreClock variable. - - Updates the SystemCoreClock with current core Clock retrieved from cpu registers. - */ -extern void SystemCoreClockUpdate (void); - -/** - \brief Create Translation Table. - - Creates Memory Management Unit Translation Table. - */ -extern void MMU_CreateTranslationTable(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __SYSTEM_ARMCA9_H */ diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/system_ARMCA9.h.base@1.0.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/system_ARMCA9.h.base@1.0.0 deleted file mode 100644 index b60ce5a..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/RTE/Device/ARMCA9/system_ARMCA9.h.base@1.0.0 +++ /dev/null @@ -1,65 +0,0 @@ -/****************************************************************************** - * @file system_ARMCA9.h - * @brief CMSIS Device System Header File for Arm Cortex-A9 Device Series - * @version V1.00 - * @date 10. January 2018 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __SYSTEM_ARMCA9_H -#define __SYSTEM_ARMCA9_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */ - -/** - \brief Setup the microcontroller system. - - Initialize the System and update the SystemCoreClock variable. - */ -extern void SystemInit (void); - - -/** - \brief Update SystemCoreClock variable. - - Updates the SystemCoreClock with current core Clock retrieved from cpu registers. - */ -extern void SystemCoreClockUpdate (void); - -/** - \brief Create Translation Table. - - Creates Memory Management Unit Translation Table. - */ -extern void MMU_CreateTranslationTable(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __SYSTEM_ARMCA9_H */ diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/Target.clayer.yml b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/Target.clayer.yml deleted file mode 100644 index 354560a..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/Target.clayer.yml +++ /dev/null @@ -1,23 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/1.3.0/tools/projmgr/schemas/clayer.schema.json - -layer: - # type: Target - description: Target setup - - # packs: - # - pack: ARM::CMSIS - - components: - # [Cvendor::] Cclass [&Cbundle] :Cgroup [:Csub] [&Cvariant] [@[>=]Cversion] - - component: ARM::CMSIS:CORE - - component: Device:Startup - - component: Device:IRQ Controller:GIC - - misc: - - for-compiler: IAR - Link: [--config generic_cortex.icf] - - groups: - - group: VHT/FVP - files: - - file: ./model_config.txt diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/model_config.txt b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/model_config.txt deleted file mode 100644 index 1c99c27..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CA9/model_config.txt +++ /dev/null @@ -1,21 +0,0 @@ -# Parameters: -# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] -#---------------------------------------------------------------------------------------------- -motherboard.vis.disable_visualisation=1 # (bool , init-time) default = '0' : Enable/disable visualisation -cluster.cpu0.vfp-present=1 # (bool , init-time) default = '1' : Set whether the model has VFP support -cluster.cpu0.ase-present=0 # (bool , init-time) default = '1' : Set whether model has NEON support -cluster.cpu0.semihosting-enable=1 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false -cluster.cpu0.semihosting-hlt-enable=0 # (bool , init-time) default = '0' : Enable semihosting HLT traps. Applications that use HLT semihosting must set this parameter to true and the semihosting-enable parameter to true -cluster.cpu0.semihosting-ARM_SVC=0x123456 # (int , init-time) default = '0x123456' : ARM SVC number for semihosting : [0x0..0xFFFFFF] -cluster.cpu0.semihosting-Thumb_SVC=0xAB # (int , init-time) default = '0xAB' : Thumb SVC number for semihosting : [0x0..0xFF] -cluster.cpu0.semihosting-ARM_HLT=0xF000 # (int , init-time) default = '0xF000' : ARM HLT number for semihosting : [0x0..0xFFFF] -cluster.cpu0.semihosting-Thumb_HLT=0x3C # (int , init-time) default = '0x3C' : Thumb HLT number for semihosting : [0x0..0x3F] -cluster.cpu0.semihosting-cmd_line="" # (string, init-time) default = '' : Command line available to semihosting SVC calls -cluster.cpu0.semihosting-heap_base=0x0 # (int , init-time) default = '0x0' : Virtual address of heap base : [0x0..0xFFFFFFFF] -cluster.cpu0.semihosting-heap_limit=0x0 # (int , init-time) default = '0xFF000000' : Virtual address of top of heap : [0x0..0xFFFFFFFF] -cluster.cpu0.semihosting-stack_base=0x0 # (int , init-time) default = '0xFFFF0000' : Virtual address of base of descending stack : [0x0..0xFFFFFFFF] -cluster.cpu0.semihosting-stack_limit=0x0 # (int , init-time) default = '0xFF000000' : Virtual address of stack limit : [0x0..0xFFFFFFFF] -cluster.cpu0.semihosting-cwd="" # (string, init-time) default = '' : Base directory for semihosting file access. -cluster.dcache-state_modelled=1 # (bool , run-time ) default = '0' : Set whether D-cache has stateful implementation -cluster.icache-state_modelled=1 # (bool , run-time ) default = '0' : Set whether I-cache has stateful implementation -#---------------------------------------------------------------------------------------------- diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0/RTE/Device/ARMCM0/ARMCM0_ac6.sct b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0/RTE/Device/ARMCM0/ARMCM0_ac6.sct deleted file mode 100644 index 5300b01..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0/RTE/Device/ARMCM0/ARMCM0_ac6.sct +++ /dev/null @@ -1,80 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m0 -xc -; command above MUST be in first line (no comment above!) - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE) /* starts at end of RAM */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - - -/*---------------------------------------------------------------------------- - Scatter File Definitions definition - *----------------------------------------------------------------------------*/ -#define __RO_BASE __ROM_BASE -#define __RO_SIZE __ROM_SIZE - -#define __RW_BASE __RAM_BASE -#define __RW_SIZE (__RAM_SIZE - __STACK_SIZE - __HEAP_SIZE) - - -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0/RTE/Device/ARMCM0/gcc_arm.ld b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0/RTE/Device/ARMCM0/gcc_arm.ld deleted file mode 100644 index 7498908..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0/RTE/Device/ARMCM0/gcc_arm.ld +++ /dev/null @@ -1,296 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.1.0 - * @date 04. August 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00040000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00020000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ -/* - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH -*/ - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0/RTE/Device/ARMCM0/startup_ARMCM0.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0/RTE/Device/ARMCM0/startup_ARMCM0.c deleted file mode 100644 index fb32110..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0/RTE/Device/ARMCM0/startup_ARMCM0.c +++ /dev/null @@ -1,146 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM0.c - * @brief CMSIS-Core(M) Device Startup File for a Cortex-M0 Device - * @version V2.0.3 - * @date 31. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM0) - #include "ARMCM0.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[48]; - const VECTOR_TABLE_Type __VECTOR_TABLE[48] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVCall Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10..31 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0/RTE/Device/ARMCM0/startup_ARMCM0.c.base@2.0.3 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0/RTE/Device/ARMCM0/startup_ARMCM0.c.base@2.0.3 deleted file mode 100644 index fb32110..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0/RTE/Device/ARMCM0/startup_ARMCM0.c.base@2.0.3 +++ /dev/null @@ -1,146 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM0.c - * @brief CMSIS-Core(M) Device Startup File for a Cortex-M0 Device - * @version V2.0.3 - * @date 31. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM0) - #include "ARMCM0.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[48]; - const VECTOR_TABLE_Type __VECTOR_TABLE[48] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVCall Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10..31 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0/RTE/Device/ARMCM0/system_ARMCM0.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0/RTE/Device/ARMCM0/system_ARMCM0.c deleted file mode 100644 index bf724ae..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0/RTE/Device/ARMCM0/system_ARMCM0.c +++ /dev/null @@ -1,56 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM0.c - * @brief CMSIS Device System Source File for - * ARMCM0 Device - * @version V1.0.0 - * @date 09. July 2018 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "ARMCM0.h" - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0/RTE/Device/ARMCM0/tiac_arm.cmd b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0/RTE/Device/ARMCM0/tiac_arm.cmd deleted file mode 100644 index 391dda4..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0/RTE/Device/ARMCM0/tiac_arm.cmd +++ /dev/null @@ -1,41 +0,0 @@ -/****************************************************************************/ -/* tiac_arm.cmd - COMMAND FILE FOR LINKING ARM C PROGRAMS */ -/* */ -/* Description: This file is a sample command file that can be used */ -/* for linking programs built with the TI Arm Clang */ -/* Compiler. Use it as a guideline; you may want to change */ -/* the allocation scheme according to the size of your */ -/* program and the memory layout of your target system. */ -/* */ -/****************************************************************************/ --c /* LINK USING C CONVENTIONS */ --stack 0x4000 /* SOFTWARE STACK SIZE */ --heap 0x4000 /* HEAP AREA SIZE */ ---args 0x1000 - -/* SPECIFY THE SYSTEM MEMORY MAP */ -MEMORY -{ - V_MEM : org = 0x00000000 len = 0x00001000 /* INT VECTOR */ - P_MEM : org = 0x00001000 len = 0x20000000 /* PROGRAM MEMORY (ROM) */ - D_MEM : org = 0x20001000 len = 0x20000000 /* DATA MEMORY (RAM) */ -} - -/* SPECIFY THE SECTIONS ALLOCATION INTO MEMORY */ -SECTIONS -{ - .intvecs : {} > 0x0 /* INTERRUPT VECTORS */ - .bss : {} > D_MEM /* GLOBAL & STATIC VARS */ - .data : {} > D_MEM - .sysmem : {} > D_MEM /* DYNAMIC MEMORY ALLOCATION AREA */ - .stack : {} > D_MEM /* SOFTWARE SYSTEM STACK */ - - .text : {} > P_MEM /* CODE */ - .cinit : {} > P_MEM /* INITIALIZATION TABLES */ - .const : {} > P_MEM /* CONSTANT DATA */ - .rodata : {} > P_MEM, palign(4) - .init_array : {} > P_MEM /* C++ CONSTRUCTOR TABLES */ - - - .TI.ramfunc : {} load=P_MEM, run=D_MEM, table(BINIT) -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0/Target.clayer.yml b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0/Target.clayer.yml deleted file mode 100644 index ee45512..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0/Target.clayer.yml +++ /dev/null @@ -1,22 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/1.3.0/tools/projmgr/schemas/clayer.schema.json - -layer: - # type: Target - description: Target setup - - # packs: - # - pack: ARM::CMSIS - - components: - # [Cvendor::] Cclass [&Cbundle] :Cgroup [:Csub] [&Cvariant] [@[>=]Cversion] - - component: ARM::CMSIS:CORE - - component: Device:Startup&C Startup - - misc: - - for-compiler: IAR - Link: [--config generic_cortex.icf] - - groups: - - group: VHT/FVP - files: - - file: ./model_config.txt diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0/model_config.txt b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0/model_config.txt deleted file mode 100644 index b7f12f3..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0/model_config.txt +++ /dev/null @@ -1,8 +0,0 @@ -# Parameters: -# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] -#------------------------------------------------------------------------------ -fvp_mps2.UART0.out_file=- # (string, init-time) default = '' : Output file to hold data written by the UART (use '-' to send all output to stdout) -fvp_mps2.UART0.shutdown_on_eot=1 # (bool , init-time) default = '0' : Shutdown simulation when a EOT (ASCII 4) char is transmitted (useful for regression tests when semihosting is not available) -fvp_mps2.UART0.unbuffered_output=1 # (bool , init-time) default = '0' : Unbuffered output -fvp_mps2.mps2_visualisation.disable-visualisation=1 # (bool , init-time) default = '0' : Enable/disable visualisation -#------------------------------------------------------------------------------ diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0plus/RTE/Device/ARMCM0P/ARMCM0plus_ac6.sct b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0plus/RTE/Device/ARMCM0P/ARMCM0plus_ac6.sct deleted file mode 100644 index 0f499b2..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0plus/RTE/Device/ARMCM0P/ARMCM0plus_ac6.sct +++ /dev/null @@ -1,80 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m0+ -xc -; command above MUST be in first line (no comment above!) - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE) /* starts at end of RAM */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - - -/*---------------------------------------------------------------------------- - Scatter File Definitions definition - *----------------------------------------------------------------------------*/ -#define __RO_BASE __ROM_BASE -#define __RO_SIZE __ROM_SIZE - -#define __RW_BASE __RAM_BASE -#define __RW_SIZE (__RAM_SIZE - __STACK_SIZE - __HEAP_SIZE) - - -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0plus/RTE/Device/ARMCM0P/gcc_arm.ld b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0plus/RTE/Device/ARMCM0P/gcc_arm.ld deleted file mode 100644 index 7498908..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0plus/RTE/Device/ARMCM0P/gcc_arm.ld +++ /dev/null @@ -1,296 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.1.0 - * @date 04. August 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00040000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00020000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ -/* - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH -*/ - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0plus/RTE/Device/ARMCM0P/startup_ARMCM0plus.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0plus/RTE/Device/ARMCM0P/startup_ARMCM0plus.c deleted file mode 100644 index 76d1fa8..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0plus/RTE/Device/ARMCM0P/startup_ARMCM0plus.c +++ /dev/null @@ -1,148 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM0plus.c - * @brief CMSIS-Core(M) Device Startup File for a Cortex-M0+ Device - * @version V2.0.3 - * @date 31. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM0P) - #include "ARMCM0plus.h" -#elif defined (ARMCM0P_MPU) - #include "ARMCM0plus_MPU.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[48]; - const VECTOR_TABLE_Type __VECTOR_TABLE[48] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVCall Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10..31 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0plus/RTE/Device/ARMCM0P/startup_ARMCM0plus.c.base@2.0.3 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0plus/RTE/Device/ARMCM0P/startup_ARMCM0plus.c.base@2.0.3 deleted file mode 100644 index 76d1fa8..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0plus/RTE/Device/ARMCM0P/startup_ARMCM0plus.c.base@2.0.3 +++ /dev/null @@ -1,148 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM0plus.c - * @brief CMSIS-Core(M) Device Startup File for a Cortex-M0+ Device - * @version V2.0.3 - * @date 31. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM0P) - #include "ARMCM0plus.h" -#elif defined (ARMCM0P_MPU) - #include "ARMCM0plus_MPU.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[48]; - const VECTOR_TABLE_Type __VECTOR_TABLE[48] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVCall Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10..31 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0plus/RTE/Device/ARMCM0P/system_ARMCM0plus.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0plus/RTE/Device/ARMCM0P/system_ARMCM0plus.c deleted file mode 100644 index 62658d8..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0plus/RTE/Device/ARMCM0P/system_ARMCM0plus.c +++ /dev/null @@ -1,65 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM0plus.c - * @brief CMSIS Device System Source File for - * ARMCM0plus Device - * @version V1.0.1 - * @date 05. September 2022 - ******************************************************************************/ -/* - * Copyright (c) 2009-2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "ARMCM0plus.h" - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[48]; - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t) &(__VECTOR_TABLE[0]); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0plus/RTE/Device/ARMCM0P/tiac_arm.cmd b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0plus/RTE/Device/ARMCM0P/tiac_arm.cmd deleted file mode 100644 index 391dda4..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0plus/RTE/Device/ARMCM0P/tiac_arm.cmd +++ /dev/null @@ -1,41 +0,0 @@ -/****************************************************************************/ -/* tiac_arm.cmd - COMMAND FILE FOR LINKING ARM C PROGRAMS */ -/* */ -/* Description: This file is a sample command file that can be used */ -/* for linking programs built with the TI Arm Clang */ -/* Compiler. Use it as a guideline; you may want to change */ -/* the allocation scheme according to the size of your */ -/* program and the memory layout of your target system. */ -/* */ -/****************************************************************************/ --c /* LINK USING C CONVENTIONS */ --stack 0x4000 /* SOFTWARE STACK SIZE */ --heap 0x4000 /* HEAP AREA SIZE */ ---args 0x1000 - -/* SPECIFY THE SYSTEM MEMORY MAP */ -MEMORY -{ - V_MEM : org = 0x00000000 len = 0x00001000 /* INT VECTOR */ - P_MEM : org = 0x00001000 len = 0x20000000 /* PROGRAM MEMORY (ROM) */ - D_MEM : org = 0x20001000 len = 0x20000000 /* DATA MEMORY (RAM) */ -} - -/* SPECIFY THE SECTIONS ALLOCATION INTO MEMORY */ -SECTIONS -{ - .intvecs : {} > 0x0 /* INTERRUPT VECTORS */ - .bss : {} > D_MEM /* GLOBAL & STATIC VARS */ - .data : {} > D_MEM - .sysmem : {} > D_MEM /* DYNAMIC MEMORY ALLOCATION AREA */ - .stack : {} > D_MEM /* SOFTWARE SYSTEM STACK */ - - .text : {} > P_MEM /* CODE */ - .cinit : {} > P_MEM /* INITIALIZATION TABLES */ - .const : {} > P_MEM /* CONSTANT DATA */ - .rodata : {} > P_MEM, palign(4) - .init_array : {} > P_MEM /* C++ CONSTRUCTOR TABLES */ - - - .TI.ramfunc : {} load=P_MEM, run=D_MEM, table(BINIT) -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0plus/Target.clayer.yml b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0plus/Target.clayer.yml deleted file mode 100644 index ee45512..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0plus/Target.clayer.yml +++ /dev/null @@ -1,22 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/1.3.0/tools/projmgr/schemas/clayer.schema.json - -layer: - # type: Target - description: Target setup - - # packs: - # - pack: ARM::CMSIS - - components: - # [Cvendor::] Cclass [&Cbundle] :Cgroup [:Csub] [&Cvariant] [@[>=]Cversion] - - component: ARM::CMSIS:CORE - - component: Device:Startup&C Startup - - misc: - - for-compiler: IAR - Link: [--config generic_cortex.icf] - - groups: - - group: VHT/FVP - files: - - file: ./model_config.txt diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0plus/model_config.txt b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0plus/model_config.txt deleted file mode 100644 index b7f12f3..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM0plus/model_config.txt +++ /dev/null @@ -1,8 +0,0 @@ -# Parameters: -# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] -#------------------------------------------------------------------------------ -fvp_mps2.UART0.out_file=- # (string, init-time) default = '' : Output file to hold data written by the UART (use '-' to send all output to stdout) -fvp_mps2.UART0.shutdown_on_eot=1 # (bool , init-time) default = '0' : Shutdown simulation when a EOT (ASCII 4) char is transmitted (useful for regression tests when semihosting is not available) -fvp_mps2.UART0.unbuffered_output=1 # (bool , init-time) default = '0' : Unbuffered output -fvp_mps2.mps2_visualisation.disable-visualisation=1 # (bool , init-time) default = '0' : Enable/disable visualisation -#------------------------------------------------------------------------------ diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23/RTE/Device/ARMCM23/ARMCM23_ac6.sct b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23/RTE/Device/ARMCM23/ARMCM23_ac6.sct deleted file mode 100644 index d2a3815..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23/RTE/Device/ARMCM23/ARMCM23_ac6.sct +++ /dev/null @@ -1,123 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m23 -xc -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m23 -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_SIZE 0x200 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE ( __RAM_SIZE - __STACK_SIZE - __HEAP_SIZE - __STACKSEAL_SIZE) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23/RTE/Device/ARMCM23/gcc_arm.ld b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23/RTE/Device/ARMCM23/gcc_arm.ld deleted file mode 100644 index 9886379..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23/RTE/Device/ARMCM23/gcc_arm.ld +++ /dev/null @@ -1,316 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.2.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00200000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00200000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -/* ARMv8-M stack sealing: - to use ARMv8-M stack sealing set __STACKSEAL_SIZE to 8 otherwise keep 0 - */ -__STACKSEAL_SIZE = 0; - - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - * __StackSeal (only if ARMv8-M stack sealing is used) - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option --section-start or in a linker script, - * to indicate where to place these veneers in memory. - */ -/* - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH -*/ - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* ARMv8-M stack sealing: - to use ARMv8-M stack sealing uncomment '.stackseal' section - */ -/* - .stackseal (ORIGIN(RAM) + LENGTH(RAM) - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackSeal = .; - . = . + 8; - . = ALIGN(8); - } > RAM -*/ - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23/RTE/Device/ARMCM23/startup_ARMCM23.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23/RTE/Device/ARMCM23/startup_ARMCM23.c deleted file mode 100644 index 080c7a8..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23/RTE/Device/ARMCM23/startup_ARMCM23.c +++ /dev/null @@ -1,161 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM23.c - * @brief CMSIS-Core Device Startup File for a Cortex-M23 Device - * @version V2.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM23) - #include "ARMCM23.h" -#elif defined (ARMCM23_TZ) - #include "ARMCM23_TZ.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVCall Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 223 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23/RTE/Device/ARMCM23/startup_ARMCM23.c.base@2.1.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23/RTE/Device/ARMCM23/startup_ARMCM23.c.base@2.1.0 deleted file mode 100644 index 080c7a8..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23/RTE/Device/ARMCM23/startup_ARMCM23.c.base@2.1.0 +++ /dev/null @@ -1,161 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM23.c - * @brief CMSIS-Core Device Startup File for a Cortex-M23 Device - * @version V2.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM23) - #include "ARMCM23.h" -#elif defined (ARMCM23_TZ) - #include "ARMCM23_TZ.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVCall Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 223 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23/RTE/Device/ARMCM23/system_ARMCM23.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23/RTE/Device/ARMCM23/system_ARMCM23.c deleted file mode 100644 index 3381c1f..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23/RTE/Device/ARMCM23/system_ARMCM23.c +++ /dev/null @@ -1,80 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM23.c - * @brief CMSIS Device System Source File for - * ARMCM23 Device - * @version V1.0.1 - * @date 15. November 2019 - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM23) - #include "ARMCM23.h" -#elif defined (ARMCM23_TZ) - #include "ARMCM23_TZ.h" - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM23.h" - #endif -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t) &(__VECTOR_TABLE[0]); -#endif - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - TZ_SAU_Setup(); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23/Target.clayer.yml b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23/Target.clayer.yml deleted file mode 100644 index ee45512..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23/Target.clayer.yml +++ /dev/null @@ -1,22 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/1.3.0/tools/projmgr/schemas/clayer.schema.json - -layer: - # type: Target - description: Target setup - - # packs: - # - pack: ARM::CMSIS - - components: - # [Cvendor::] Cclass [&Cbundle] :Cgroup [:Csub] [&Cvariant] [@[>=]Cversion] - - component: ARM::CMSIS:CORE - - component: Device:Startup&C Startup - - misc: - - for-compiler: IAR - Link: [--config generic_cortex.icf] - - groups: - - group: VHT/FVP - files: - - file: ./model_config.txt diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23/model_config.txt b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23/model_config.txt deleted file mode 100644 index 4936cd3..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23/model_config.txt +++ /dev/null @@ -1,16 +0,0 @@ -# Parameters: -# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] -#---------------------------------------------------------------------------------------------- -fvp_mps2.mps2_visualisation.disable-visualisation=1 # (bool , init-time) default = '0' : Enable/disable visualisation -cpu0.semihosting-enable=1 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. -cpu0.semihosting-Thumb_SVC=0xAB # (int , init-time) default = '0xAB' : T32 SVC number for semihosting : [0x0..0xFF] -cpu0.semihosting-cmd_line="" # (string, init-time) default = '' : Command line available to semihosting SVC calls -cpu0.semihosting-heap_base=0x0 # (int , init-time) default = '0x0' : Virtual address of heap base : [0x0..0xFFFFFFFF] -cpu0.semihosting-heap_limit=0x0 # (int , init-time) default = '0x10700000' : Virtual address of top of heap : [0x0..0xFFFFFFFF] -cpu0.semihosting-stack_base=0x0 # (int , init-time) default = '0x10700000' : Virtual address of base of descending stack : [0x0..0xFFFFFFFF] -cpu0.semihosting-stack_limit=0x0 # (int , init-time) default = '0x10800000' : Virtual address of stack limit : [0x0..0xFFFFFFFF] -cpu0.semihosting-cwd="" # (string, init-time) default = '' : Base directory for semihosting file access. -idau.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' : -cpu0.SECEXT=0 # (bool , init-time) default = '1' : Whether the ARMv8-M Security Extensions are included -fvp_mps2.DISABLE_GATING=1 # (bool , init-time) default = '0' : Disable Memory gating logic -#---------------------------------------------------------------------------------------------- diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23NS/RTE/Device/ARMCM23_TZ/ARMCM23_ac6.sct b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23NS/RTE/Device/ARMCM23_TZ/ARMCM23_ac6.sct deleted file mode 100644 index 5646e84..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23NS/RTE/Device/ARMCM23_TZ/ARMCM23_ac6.sct +++ /dev/null @@ -1,123 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m23 -xc -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m23 -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00200000 -#define __ROM_SIZE 0x00200000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20200000 -#define __RAM_SIZE 0x00200000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000400 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_SIZE 0x200 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE ( __RAM_SIZE - __STACK_SIZE - __HEAP_SIZE - __STACKSEAL_SIZE) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23NS/RTE/Device/ARMCM23_TZ/gcc_arm.ld b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23NS/RTE/Device/ARMCM23_TZ/gcc_arm.ld deleted file mode 100644 index 6945b28..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23NS/RTE/Device/ARMCM23_TZ/gcc_arm.ld +++ /dev/null @@ -1,316 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.2.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00200000; -__ROM_SIZE = 0x00200000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20200000; -__RAM_SIZE = 0x00200000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -/* ARMv8-M stack sealing: - to use ARMv8-M stack sealing set __STACKSEAL_SIZE to 8 otherwise keep 0 - */ -__STACKSEAL_SIZE = 0; - - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - * __StackSeal (only if ARMv8-M stack sealing is used) - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option --section-start or in a linker script, - * to indicate where to place these veneers in memory. - */ -/* - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH -*/ - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* ARMv8-M stack sealing: - to use ARMv8-M stack sealing uncomment '.stackseal' section - */ -/* - .stackseal (ORIGIN(RAM) + LENGTH(RAM) - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackSeal = .; - . = . + 8; - . = ALIGN(8); - } > RAM -*/ - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23NS/RTE/Device/ARMCM23_TZ/startup_ARMCM23.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23NS/RTE/Device/ARMCM23_TZ/startup_ARMCM23.c deleted file mode 100644 index 080c7a8..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23NS/RTE/Device/ARMCM23_TZ/startup_ARMCM23.c +++ /dev/null @@ -1,161 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM23.c - * @brief CMSIS-Core Device Startup File for a Cortex-M23 Device - * @version V2.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM23) - #include "ARMCM23.h" -#elif defined (ARMCM23_TZ) - #include "ARMCM23_TZ.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVCall Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 223 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23NS/RTE/Device/ARMCM23_TZ/startup_ARMCM23.c.base@2.1.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23NS/RTE/Device/ARMCM23_TZ/startup_ARMCM23.c.base@2.1.0 deleted file mode 100644 index 080c7a8..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23NS/RTE/Device/ARMCM23_TZ/startup_ARMCM23.c.base@2.1.0 +++ /dev/null @@ -1,161 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM23.c - * @brief CMSIS-Core Device Startup File for a Cortex-M23 Device - * @version V2.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM23) - #include "ARMCM23.h" -#elif defined (ARMCM23_TZ) - #include "ARMCM23_TZ.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVCall Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 223 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23NS/RTE/Device/ARMCM23_TZ/system_ARMCM23.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23NS/RTE/Device/ARMCM23_TZ/system_ARMCM23.c deleted file mode 100644 index 3381c1f..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23NS/RTE/Device/ARMCM23_TZ/system_ARMCM23.c +++ /dev/null @@ -1,80 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM23.c - * @brief CMSIS Device System Source File for - * ARMCM23 Device - * @version V1.0.1 - * @date 15. November 2019 - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM23) - #include "ARMCM23.h" -#elif defined (ARMCM23_TZ) - #include "ARMCM23_TZ.h" - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM23.h" - #endif -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t) &(__VECTOR_TABLE[0]); -#endif - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - TZ_SAU_Setup(); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23NS/Target.clayer.yml b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23NS/Target.clayer.yml deleted file mode 100644 index ee45512..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23NS/Target.clayer.yml +++ /dev/null @@ -1,22 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/1.3.0/tools/projmgr/schemas/clayer.schema.json - -layer: - # type: Target - description: Target setup - - # packs: - # - pack: ARM::CMSIS - - components: - # [Cvendor::] Cclass [&Cbundle] :Cgroup [:Csub] [&Cvariant] [@[>=]Cversion] - - component: ARM::CMSIS:CORE - - component: Device:Startup&C Startup - - misc: - - for-compiler: IAR - Link: [--config generic_cortex.icf] - - groups: - - group: VHT/FVP - files: - - file: ./model_config.txt diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23NS/model_config.txt b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23NS/model_config.txt deleted file mode 100644 index c4f4818..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23NS/model_config.txt +++ /dev/null @@ -1,16 +0,0 @@ -# Parameters: -# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] -#---------------------------------------------------------------------------------------------- -fvp_mps2.mps2_visualisation.disable-visualisation=1 # (bool , init-time) default = '0' : Enable/disable visualisation -cpu0.semihosting-enable=1 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. -cpu0.semihosting-Thumb_SVC=0xAB # (int , init-time) default = '0xAB' : T32 SVC number for semihosting : [0x0..0xFF] -cpu0.semihosting-cmd_line="" # (string, init-time) default = '' : Command line available to semihosting SVC calls -cpu0.semihosting-heap_base=0x0 # (int , init-time) default = '0x0' : Virtual address of heap base : [0x0..0xFFFFFFFF] -cpu0.semihosting-heap_limit=0x0 # (int , init-time) default = '0x10700000' : Virtual address of top of heap : [0x0..0xFFFFFFFF] -cpu0.semihosting-stack_base=0x0 # (int , init-time) default = '0x10700000' : Virtual address of base of descending stack : [0x0..0xFFFFFFFF] -cpu0.semihosting-stack_limit=0x0 # (int , init-time) default = '0x10800000' : Virtual address of stack limit : [0x0..0xFFFFFFFF] -cpu0.semihosting-cwd="" # (string, init-time) default = '' : Base directory for semihosting file access. -idau.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' : -cpu0.SECEXT=1 # (bool , init-time) default = '1' : Whether the ARMv8-M Security Extensions are included -fvp_mps2.DISABLE_GATING=1 # (bool , init-time) default = '0' : Disable Memory gating logic -#---------------------------------------------------------------------------------------------- diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S/RTE/Device/ARMCM23_TZ/ARMCM23_ac6_s.sct b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S/RTE/Device/ARMCM23_TZ/ARMCM23_ac6_s.sct deleted file mode 100644 index c3f2cb7..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S/RTE/Device/ARMCM23_TZ/ARMCM23_ac6_s.sct +++ /dev/null @@ -1,123 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m23 -xc -mcmse -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m23 -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00200000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00200000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000400 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_SIZE 0x200 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE ( __RAM_SIZE - __STACK_SIZE - __HEAP_SIZE - __STACKSEAL_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S/RTE/Device/ARMCM23_TZ/gcc_arm.ld b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S/RTE/Device/ARMCM23_TZ/gcc_arm.ld deleted file mode 100644 index b70792f..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S/RTE/Device/ARMCM23_TZ/gcc_arm.ld +++ /dev/null @@ -1,316 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.2.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00200000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00200000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -/* ARMv8-M stack sealing: - to use ARMv8-M stack sealing set __STACKSEAL_SIZE to 8 otherwise keep 0 - */ -__STACKSEAL_SIZE = 8; - - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - * __StackSeal (only if ARMv8-M stack sealing is used) - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option --section-start or in a linker script, - * to indicate where to place these veneers in memory. - */ - - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH - - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* ARMv8-M stack sealing: - to use ARMv8-M stack sealing uncomment '.stackseal' section - */ - - .stackseal (ORIGIN(RAM) + LENGTH(RAM) - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackSeal = .; - . = . + 8; - . = ALIGN(8); - } > RAM - - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S/RTE/Device/ARMCM23_TZ/partition_ARMCM23.h b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S/RTE/Device/ARMCM23_TZ/partition_ARMCM23.h deleted file mode 100644 index a7a090e..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S/RTE/Device/ARMCM23_TZ/partition_ARMCM23.h +++ /dev/null @@ -1,832 +0,0 @@ -/**************************************************************************//** - * @file partition_ARMCM23.h - * @brief CMSIS-CORE Initial Setup for Secure / Non-Secure Zones for ARMCM23 - * @version V5.3.1 - * @date 09. July 2018 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef PARTITION_ARMCM23_H -#define PARTITION_ARMCM23_H - -/* -//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- -*/ - -/* -// Initialize Security Attribution Unit (SAU) CTRL register -*/ -#define SAU_INIT_CTRL 1 - -/* -// Enable SAU -// Value for SAU->CTRL register bit ENABLE -*/ -#define SAU_INIT_CTRL_ENABLE 1 - -/* -// When SAU is disabled -// <0=> All Memory is Secure -// <1=> All Memory is Non-Secure -// Value for SAU->CTRL register bit ALLNS -// When all Memory is Non-Secure (ALLNS is 1), IDAU can override memory map configuration. -*/ -#define SAU_INIT_CTRL_ALLNS 0 - -/* -// -*/ - -/* -// Initialize Security Attribution Unit (SAU) Address Regions -// SAU configuration specifies regions to be one of: -// - Secure and Non-Secure Callable -// - Non-Secure -// Note: All memory regions not configured by SAU are Secure -*/ -#define SAU_REGIONS_MAX 8 /* Max. number of SAU regions */ - -/* -// Initialize SAU Region 0 -// Setup SAU Region 0 memory attributes -*/ -#define SAU_INIT_REGION0 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START0 0x00000000 /* start address of SAU region 0 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END0 0x001FFFFF /* end address of SAU region 0 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC0 1 -/* -// -*/ - -/* -// Initialize SAU Region 1 -// Setup SAU Region 1 memory attributes -*/ -#define SAU_INIT_REGION1 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START1 0x00200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END1 0x003FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC1 0 -/* -// -*/ - -/* -// Initialize SAU Region 2 -// Setup SAU Region 2 memory attributes -*/ -#define SAU_INIT_REGION2 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START2 0x20200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END2 0x203FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC2 0 -/* -// -*/ - -/* -// Initialize SAU Region 3 -// Setup SAU Region 3 memory attributes -*/ -#define SAU_INIT_REGION3 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START3 0x40000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END3 0x40040000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC3 0 -/* -// -*/ - -/* -// Initialize SAU Region 4 -// Setup SAU Region 4 memory attributes -*/ -#define SAU_INIT_REGION4 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START4 0x00000000 /* start address of SAU region 4 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END4 0x00000000 /* end address of SAU region 4 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC4 0 -/* -// -*/ - -/* -// Initialize SAU Region 5 -// Setup SAU Region 5 memory attributes -*/ -#define SAU_INIT_REGION5 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START5 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END5 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC5 0 -/* -// -*/ - -/* -// Initialize SAU Region 6 -// Setup SAU Region 6 memory attributes -*/ -#define SAU_INIT_REGION6 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START6 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END6 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC6 0 -/* -// -*/ - -/* -// Initialize SAU Region 7 -// Setup SAU Region 7 memory attributes -*/ -#define SAU_INIT_REGION7 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START7 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END7 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC7 0 -/* -// -*/ - -/* -// -*/ - -/* -// Setup behaviour of Sleep and Exception Handling -*/ -#define SCB_CSR_AIRCR_INIT 1 - -/* -// Deep Sleep can be enabled by -// <0=>Secure and Non-Secure state -// <1=>Secure state only -// Value for SCB->CSR register bit DEEPSLEEPS -*/ -#define SCB_CSR_DEEPSLEEPS_VAL 1 - -/* -// System reset request accessible from -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for SCB->AIRCR register bit SYSRESETREQS -*/ -#define SCB_AIRCR_SYSRESETREQS_VAL 1 - -/* -// Priority of Non-Secure exceptions is -// <0=> Not altered -// <1=> Lowered to 0x80-0xFF -// Value for SCB->AIRCR register bit PRIS -*/ -#define SCB_AIRCR_PRIS_VAL 1 - -/* -// BusFault, HardFault, and NMI target -// <0=> Secure state -// <1=> Non-Secure state -// Value for SCB->AIRCR register bit BFHFNMINS -*/ -#define SCB_AIRCR_BFHFNMINS_VAL 0 - -/* -// -*/ - - -/* -// Setup behaviour of single SysTick -*/ -#define SCB_ICSR_INIT 0 - -/* -// in a single SysTick implementation, SysTick is -// <0=>Secure -// <1=>Non-Secure -// Value for SCB->ICSR register bit STTNS -// only for single SysTick implementation -*/ -#define SCB_ICSR_STTNS_VAL 0 - -/* -// -*/ - - -/* -// Setup Interrupt Target -*/ - -/* -// Initialize ITNS 0 (Interrupts 0..31) -*/ -#define NVIC_INIT_ITNS0 1 - -/* -// Interrupts 0..31 -// Interrupt 0 <0=> Secure state <1=> Non-Secure state -// Interrupt 1 <0=> Secure state <1=> Non-Secure state -// Interrupt 2 <0=> Secure state <1=> Non-Secure state -// Interrupt 3 <0=> Secure state <1=> Non-Secure state -// Interrupt 4 <0=> Secure state <1=> Non-Secure state -// Interrupt 5 <0=> Secure state <1=> Non-Secure state -// Interrupt 6 <0=> Secure state <1=> Non-Secure state -// Interrupt 7 <0=> Secure state <1=> Non-Secure state -// Interrupt 8 <0=> Secure state <1=> Non-Secure state -// Interrupt 9 <0=> Secure state <1=> Non-Secure state -// Interrupt 10 <0=> Secure state <1=> Non-Secure state -// Interrupt 11 <0=> Secure state <1=> Non-Secure state -// Interrupt 12 <0=> Secure state <1=> Non-Secure state -// Interrupt 13 <0=> Secure state <1=> Non-Secure state -// Interrupt 14 <0=> Secure state <1=> Non-Secure state -// Interrupt 15 <0=> Secure state <1=> Non-Secure state -// Interrupt 16 <0=> Secure state <1=> Non-Secure state -// Interrupt 17 <0=> Secure state <1=> Non-Secure state -// Interrupt 18 <0=> Secure state <1=> Non-Secure state -// Interrupt 19 <0=> Secure state <1=> Non-Secure state -// Interrupt 20 <0=> Secure state <1=> Non-Secure state -// Interrupt 21 <0=> Secure state <1=> Non-Secure state -// Interrupt 22 <0=> Secure state <1=> Non-Secure state -// Interrupt 23 <0=> Secure state <1=> Non-Secure state -// Interrupt 24 <0=> Secure state <1=> Non-Secure state -// Interrupt 25 <0=> Secure state <1=> Non-Secure state -// Interrupt 26 <0=> Secure state <1=> Non-Secure state -// Interrupt 27 <0=> Secure state <1=> Non-Secure state -// Interrupt 28 <0=> Secure state <1=> Non-Secure state -// Interrupt 29 <0=> Secure state <1=> Non-Secure state -// Interrupt 30 <0=> Secure state <1=> Non-Secure state -// Interrupt 31 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS0_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 1 (Interrupts 32..63) -*/ -#define NVIC_INIT_ITNS1 1 - -/* -// Interrupts 32..63 -// Interrupt 32 <0=> Secure state <1=> Non-Secure state -// Interrupt 33 <0=> Secure state <1=> Non-Secure state -// Interrupt 34 <0=> Secure state <1=> Non-Secure state -// Interrupt 35 <0=> Secure state <1=> Non-Secure state -// Interrupt 36 <0=> Secure state <1=> Non-Secure state -// Interrupt 37 <0=> Secure state <1=> Non-Secure state -// Interrupt 38 <0=> Secure state <1=> Non-Secure state -// Interrupt 39 <0=> Secure state <1=> Non-Secure state -// Interrupt 40 <0=> Secure state <1=> Non-Secure state -// Interrupt 41 <0=> Secure state <1=> Non-Secure state -// Interrupt 42 <0=> Secure state <1=> Non-Secure state -// Interrupt 43 <0=> Secure state <1=> Non-Secure state -// Interrupt 44 <0=> Secure state <1=> Non-Secure state -// Interrupt 45 <0=> Secure state <1=> Non-Secure state -// Interrupt 46 <0=> Secure state <1=> Non-Secure state -// Interrupt 47 <0=> Secure state <1=> Non-Secure state -// Interrupt 48 <0=> Secure state <1=> Non-Secure state -// Interrupt 49 <0=> Secure state <1=> Non-Secure state -// Interrupt 50 <0=> Secure state <1=> Non-Secure state -// Interrupt 51 <0=> Secure state <1=> Non-Secure state -// Interrupt 52 <0=> Secure state <1=> Non-Secure state -// Interrupt 53 <0=> Secure state <1=> Non-Secure state -// Interrupt 54 <0=> Secure state <1=> Non-Secure state -// Interrupt 55 <0=> Secure state <1=> Non-Secure state -// Interrupt 56 <0=> Secure state <1=> Non-Secure state -// Interrupt 57 <0=> Secure state <1=> Non-Secure state -// Interrupt 58 <0=> Secure state <1=> Non-Secure state -// Interrupt 59 <0=> Secure state <1=> Non-Secure state -// Interrupt 60 <0=> Secure state <1=> Non-Secure state -// Interrupt 61 <0=> Secure state <1=> Non-Secure state -// Interrupt 62 <0=> Secure state <1=> Non-Secure state -// Interrupt 63 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS1_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 2 (Interrupts 64..95) -*/ -#define NVIC_INIT_ITNS2 0 - -/* -// Interrupts 64..95 -// Interrupt 64 <0=> Secure state <1=> Non-Secure state -// Interrupt 65 <0=> Secure state <1=> Non-Secure state -// Interrupt 66 <0=> Secure state <1=> Non-Secure state -// Interrupt 67 <0=> Secure state <1=> Non-Secure state -// Interrupt 68 <0=> Secure state <1=> Non-Secure state -// Interrupt 69 <0=> Secure state <1=> Non-Secure state -// Interrupt 70 <0=> Secure state <1=> Non-Secure state -// Interrupt 71 <0=> Secure state <1=> Non-Secure state -// Interrupt 72 <0=> Secure state <1=> Non-Secure state -// Interrupt 73 <0=> Secure state <1=> Non-Secure state -// Interrupt 74 <0=> Secure state <1=> Non-Secure state -// Interrupt 75 <0=> Secure state <1=> Non-Secure state -// Interrupt 76 <0=> Secure state <1=> Non-Secure state -// Interrupt 77 <0=> Secure state <1=> Non-Secure state -// Interrupt 78 <0=> Secure state <1=> Non-Secure state -// Interrupt 79 <0=> Secure state <1=> Non-Secure state -// Interrupt 80 <0=> Secure state <1=> Non-Secure state -// Interrupt 81 <0=> Secure state <1=> Non-Secure state -// Interrupt 82 <0=> Secure state <1=> Non-Secure state -// Interrupt 83 <0=> Secure state <1=> Non-Secure state -// Interrupt 84 <0=> Secure state <1=> Non-Secure state -// Interrupt 85 <0=> Secure state <1=> Non-Secure state -// Interrupt 86 <0=> Secure state <1=> Non-Secure state -// Interrupt 87 <0=> Secure state <1=> Non-Secure state -// Interrupt 88 <0=> Secure state <1=> Non-Secure state -// Interrupt 89 <0=> Secure state <1=> Non-Secure state -// Interrupt 90 <0=> Secure state <1=> Non-Secure state -// Interrupt 91 <0=> Secure state <1=> Non-Secure state -// Interrupt 92 <0=> Secure state <1=> Non-Secure state -// Interrupt 93 <0=> Secure state <1=> Non-Secure state -// Interrupt 94 <0=> Secure state <1=> Non-Secure state -// Interrupt 95 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS2_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 3 (Interrupts 96..127) -*/ -#define NVIC_INIT_ITNS3 0 - -/* -// Interrupts 96..127 -// Interrupt 96 <0=> Secure state <1=> Non-Secure state -// Interrupt 97 <0=> Secure state <1=> Non-Secure state -// Interrupt 98 <0=> Secure state <1=> Non-Secure state -// Interrupt 99 <0=> Secure state <1=> Non-Secure state -// Interrupt 100 <0=> Secure state <1=> Non-Secure state -// Interrupt 101 <0=> Secure state <1=> Non-Secure state -// Interrupt 102 <0=> Secure state <1=> Non-Secure state -// Interrupt 103 <0=> Secure state <1=> Non-Secure state -// Interrupt 104 <0=> Secure state <1=> Non-Secure state -// Interrupt 105 <0=> Secure state <1=> Non-Secure state -// Interrupt 106 <0=> Secure state <1=> Non-Secure state -// Interrupt 107 <0=> Secure state <1=> Non-Secure state -// Interrupt 108 <0=> Secure state <1=> Non-Secure state -// Interrupt 109 <0=> Secure state <1=> Non-Secure state -// Interrupt 110 <0=> Secure state <1=> Non-Secure state -// Interrupt 111 <0=> Secure state <1=> Non-Secure state -// Interrupt 112 <0=> Secure state <1=> Non-Secure state -// Interrupt 113 <0=> Secure state <1=> Non-Secure state -// Interrupt 114 <0=> Secure state <1=> Non-Secure state -// Interrupt 115 <0=> Secure state <1=> Non-Secure state -// Interrupt 116 <0=> Secure state <1=> Non-Secure state -// Interrupt 117 <0=> Secure state <1=> Non-Secure state -// Interrupt 118 <0=> Secure state <1=> Non-Secure state -// Interrupt 119 <0=> Secure state <1=> Non-Secure state -// Interrupt 120 <0=> Secure state <1=> Non-Secure state -// Interrupt 121 <0=> Secure state <1=> Non-Secure state -// Interrupt 122 <0=> Secure state <1=> Non-Secure state -// Interrupt 123 <0=> Secure state <1=> Non-Secure state -// Interrupt 124 <0=> Secure state <1=> Non-Secure state -// Interrupt 125 <0=> Secure state <1=> Non-Secure state -// Interrupt 126 <0=> Secure state <1=> Non-Secure state -// Interrupt 127 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS3_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 4 (Interrupts 128..159) -*/ -#define NVIC_INIT_ITNS4 0 - -/* -// Interrupts 128..159 -// Interrupt 128 <0=> Secure state <1=> Non-Secure state -// Interrupt 129 <0=> Secure state <1=> Non-Secure state -// Interrupt 130 <0=> Secure state <1=> Non-Secure state -// Interrupt 131 <0=> Secure state <1=> Non-Secure state -// Interrupt 132 <0=> Secure state <1=> Non-Secure state -// Interrupt 133 <0=> Secure state <1=> Non-Secure state -// Interrupt 134 <0=> Secure state <1=> Non-Secure state -// Interrupt 135 <0=> Secure state <1=> Non-Secure state -// Interrupt 136 <0=> Secure state <1=> Non-Secure state -// Interrupt 137 <0=> Secure state <1=> Non-Secure state -// Interrupt 138 <0=> Secure state <1=> Non-Secure state -// Interrupt 139 <0=> Secure state <1=> Non-Secure state -// Interrupt 140 <0=> Secure state <1=> Non-Secure state -// Interrupt 141 <0=> Secure state <1=> Non-Secure state -// Interrupt 142 <0=> Secure state <1=> Non-Secure state -// Interrupt 143 <0=> Secure state <1=> Non-Secure state -// Interrupt 144 <0=> Secure state <1=> Non-Secure state -// Interrupt 145 <0=> Secure state <1=> Non-Secure state -// Interrupt 146 <0=> Secure state <1=> Non-Secure state -// Interrupt 147 <0=> Secure state <1=> Non-Secure state -// Interrupt 148 <0=> Secure state <1=> Non-Secure state -// Interrupt 149 <0=> Secure state <1=> Non-Secure state -// Interrupt 150 <0=> Secure state <1=> Non-Secure state -// Interrupt 151 <0=> Secure state <1=> Non-Secure state -// Interrupt 152 <0=> Secure state <1=> Non-Secure state -// Interrupt 153 <0=> Secure state <1=> Non-Secure state -// Interrupt 154 <0=> Secure state <1=> Non-Secure state -// Interrupt 155 <0=> Secure state <1=> Non-Secure state -// Interrupt 156 <0=> Secure state <1=> Non-Secure state -// Interrupt 157 <0=> Secure state <1=> Non-Secure state -// Interrupt 158 <0=> Secure state <1=> Non-Secure state -// Interrupt 159 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS4_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 5 (Interrupts 160..191) -*/ -#define NVIC_INIT_ITNS5 0 - -/* -// Interrupts 160..191 -// Interrupt 160 <0=> Secure state <1=> Non-Secure state -// Interrupt 161 <0=> Secure state <1=> Non-Secure state -// Interrupt 162 <0=> Secure state <1=> Non-Secure state -// Interrupt 163 <0=> Secure state <1=> Non-Secure state -// Interrupt 164 <0=> Secure state <1=> Non-Secure state -// Interrupt 165 <0=> Secure state <1=> Non-Secure state -// Interrupt 166 <0=> Secure state <1=> Non-Secure state -// Interrupt 167 <0=> Secure state <1=> Non-Secure state -// Interrupt 168 <0=> Secure state <1=> Non-Secure state -// Interrupt 169 <0=> Secure state <1=> Non-Secure state -// Interrupt 170 <0=> Secure state <1=> Non-Secure state -// Interrupt 171 <0=> Secure state <1=> Non-Secure state -// Interrupt 172 <0=> Secure state <1=> Non-Secure state -// Interrupt 173 <0=> Secure state <1=> Non-Secure state -// Interrupt 174 <0=> Secure state <1=> Non-Secure state -// Interrupt 175 <0=> Secure state <1=> Non-Secure state -// Interrupt 176 <0=> Secure state <1=> Non-Secure state -// Interrupt 177 <0=> Secure state <1=> Non-Secure state -// Interrupt 178 <0=> Secure state <1=> Non-Secure state -// Interrupt 179 <0=> Secure state <1=> Non-Secure state -// Interrupt 180 <0=> Secure state <1=> Non-Secure state -// Interrupt 181 <0=> Secure state <1=> Non-Secure state -// Interrupt 182 <0=> Secure state <1=> Non-Secure state -// Interrupt 183 <0=> Secure state <1=> Non-Secure state -// Interrupt 184 <0=> Secure state <1=> Non-Secure state -// Interrupt 185 <0=> Secure state <1=> Non-Secure state -// Interrupt 186 <0=> Secure state <1=> Non-Secure state -// Interrupt 187 <0=> Secure state <1=> Non-Secure state -// Interrupt 188 <0=> Secure state <1=> Non-Secure state -// Interrupt 189 <0=> Secure state <1=> Non-Secure state -// Interrupt 190 <0=> Secure state <1=> Non-Secure state -// Interrupt 191 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS5_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 6 (Interrupts 192..223) -*/ -#define NVIC_INIT_ITNS6 0 - -/* -// Interrupts 192..223 -// Interrupt 192 <0=> Secure state <1=> Non-Secure state -// Interrupt 193 <0=> Secure state <1=> Non-Secure state -// Interrupt 194 <0=> Secure state <1=> Non-Secure state -// Interrupt 195 <0=> Secure state <1=> Non-Secure state -// Interrupt 196 <0=> Secure state <1=> Non-Secure state -// Interrupt 197 <0=> Secure state <1=> Non-Secure state -// Interrupt 198 <0=> Secure state <1=> Non-Secure state -// Interrupt 199 <0=> Secure state <1=> Non-Secure state -// Interrupt 200 <0=> Secure state <1=> Non-Secure state -// Interrupt 201 <0=> Secure state <1=> Non-Secure state -// Interrupt 202 <0=> Secure state <1=> Non-Secure state -// Interrupt 203 <0=> Secure state <1=> Non-Secure state -// Interrupt 204 <0=> Secure state <1=> Non-Secure state -// Interrupt 205 <0=> Secure state <1=> Non-Secure state -// Interrupt 206 <0=> Secure state <1=> Non-Secure state -// Interrupt 207 <0=> Secure state <1=> Non-Secure state -// Interrupt 208 <0=> Secure state <1=> Non-Secure state -// Interrupt 209 <0=> Secure state <1=> Non-Secure state -// Interrupt 210 <0=> Secure state <1=> Non-Secure state -// Interrupt 211 <0=> Secure state <1=> Non-Secure state -// Interrupt 212 <0=> Secure state <1=> Non-Secure state -// Interrupt 213 <0=> Secure state <1=> Non-Secure state -// Interrupt 214 <0=> Secure state <1=> Non-Secure state -// Interrupt 215 <0=> Secure state <1=> Non-Secure state -// Interrupt 216 <0=> Secure state <1=> Non-Secure state -// Interrupt 217 <0=> Secure state <1=> Non-Secure state -// Interrupt 218 <0=> Secure state <1=> Non-Secure state -// Interrupt 219 <0=> Secure state <1=> Non-Secure state -// Interrupt 220 <0=> Secure state <1=> Non-Secure state -// Interrupt 221 <0=> Secure state <1=> Non-Secure state -// Interrupt 222 <0=> Secure state <1=> Non-Secure state -// Interrupt 223 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS6_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 7 (Interrupts 224..255) -*/ -#define NVIC_INIT_ITNS7 0 - -/* -// Interrupts 224..255 -// Interrupt 224 <0=> Secure state <1=> Non-Secure state -// Interrupt 225 <0=> Secure state <1=> Non-Secure state -// Interrupt 226 <0=> Secure state <1=> Non-Secure state -// Interrupt 227 <0=> Secure state <1=> Non-Secure state -// Interrupt 228 <0=> Secure state <1=> Non-Secure state -// Interrupt 229 <0=> Secure state <1=> Non-Secure state -// Interrupt 230 <0=> Secure state <1=> Non-Secure state -// Interrupt 231 <0=> Secure state <1=> Non-Secure state -// Interrupt 232 <0=> Secure state <1=> Non-Secure state -// Interrupt 233 <0=> Secure state <1=> Non-Secure state -// Interrupt 234 <0=> Secure state <1=> Non-Secure state -// Interrupt 235 <0=> Secure state <1=> Non-Secure state -// Interrupt 236 <0=> Secure state <1=> Non-Secure state -// Interrupt 237 <0=> Secure state <1=> Non-Secure state -// Interrupt 238 <0=> Secure state <1=> Non-Secure state -// Interrupt 239 <0=> Secure state <1=> Non-Secure state -// Interrupt 240 <0=> Secure state <1=> Non-Secure state -// Interrupt 241 <0=> Secure state <1=> Non-Secure state -// Interrupt 242 <0=> Secure state <1=> Non-Secure state -// Interrupt 243 <0=> Secure state <1=> Non-Secure state -// Interrupt 244 <0=> Secure state <1=> Non-Secure state -// Interrupt 245 <0=> Secure state <1=> Non-Secure state -// Interrupt 246 <0=> Secure state <1=> Non-Secure state -// Interrupt 247 <0=> Secure state <1=> Non-Secure state -// Interrupt 248 <0=> Secure state <1=> Non-Secure state -// Interrupt 249 <0=> Secure state <1=> Non-Secure state -// Interrupt 250 <0=> Secure state <1=> Non-Secure state -// Interrupt 251 <0=> Secure state <1=> Non-Secure state -// Interrupt 252 <0=> Secure state <1=> Non-Secure state -// Interrupt 253 <0=> Secure state <1=> Non-Secure state -// Interrupt 254 <0=> Secure state <1=> Non-Secure state -// Interrupt 255 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS7_VAL 0x00000000 - -/* -// -*/ - -/* -// -*/ - - - -/* - max 128 SAU regions. - SAU regions are defined in partition.h - */ - -#define SAU_INIT_REGION(n) \ - SAU->RNR = (n & SAU_RNR_REGION_Msk); \ - SAU->RBAR = (SAU_INIT_START##n & SAU_RBAR_BADDR_Msk); \ - SAU->RLAR = (SAU_INIT_END##n & SAU_RLAR_LADDR_Msk) | \ - ((SAU_INIT_NSC##n << SAU_RLAR_NSC_Pos) & SAU_RLAR_NSC_Msk) | 1U - -/** - \brief Setup a SAU Region - \details Writes the region information contained in SAU_Region to the - registers SAU_RNR, SAU_RBAR, and SAU_RLAR - */ -__STATIC_INLINE void TZ_SAU_Setup (void) -{ - -#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) - - #if defined (SAU_INIT_REGION0) && (SAU_INIT_REGION0 == 1U) - SAU_INIT_REGION(0); - #endif - - #if defined (SAU_INIT_REGION1) && (SAU_INIT_REGION1 == 1U) - SAU_INIT_REGION(1); - #endif - - #if defined (SAU_INIT_REGION2) && (SAU_INIT_REGION2 == 1U) - SAU_INIT_REGION(2); - #endif - - #if defined (SAU_INIT_REGION3) && (SAU_INIT_REGION3 == 1U) - SAU_INIT_REGION(3); - #endif - - #if defined (SAU_INIT_REGION4) && (SAU_INIT_REGION4 == 1U) - SAU_INIT_REGION(4); - #endif - - #if defined (SAU_INIT_REGION5) && (SAU_INIT_REGION5 == 1U) - SAU_INIT_REGION(5); - #endif - - #if defined (SAU_INIT_REGION6) && (SAU_INIT_REGION6 == 1U) - SAU_INIT_REGION(6); - #endif - - #if defined (SAU_INIT_REGION7) && (SAU_INIT_REGION7 == 1U) - SAU_INIT_REGION(7); - #endif - - /* repeat this for all possible SAU regions */ - -#endif /* defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) */ - - - #if defined (SAU_INIT_CTRL) && (SAU_INIT_CTRL == 1U) - SAU->CTRL = ((SAU_INIT_CTRL_ENABLE << SAU_CTRL_ENABLE_Pos) & SAU_CTRL_ENABLE_Msk) | - ((SAU_INIT_CTRL_ALLNS << SAU_CTRL_ALLNS_Pos) & SAU_CTRL_ALLNS_Msk) ; - #endif - - #if defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) - SCB->SCR = (SCB->SCR & ~(SCB_SCR_SLEEPDEEPS_Msk )) | - ((SCB_CSR_DEEPSLEEPS_VAL << SCB_SCR_SLEEPDEEPS_Pos) & SCB_SCR_SLEEPDEEPS_Msk); - - SCB->AIRCR = (SCB->AIRCR & ~(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_SYSRESETREQS_Msk | - SCB_AIRCR_BFHFNMINS_Msk | SCB_AIRCR_PRIS_Msk) ) | - ((0x05FAU << SCB_AIRCR_VECTKEY_Pos) & SCB_AIRCR_VECTKEY_Msk) | - ((SCB_AIRCR_SYSRESETREQS_VAL << SCB_AIRCR_SYSRESETREQS_Pos) & SCB_AIRCR_SYSRESETREQS_Msk) | - ((SCB_AIRCR_PRIS_VAL << SCB_AIRCR_PRIS_Pos) & SCB_AIRCR_PRIS_Msk) | - ((SCB_AIRCR_BFHFNMINS_VAL << SCB_AIRCR_BFHFNMINS_Pos) & SCB_AIRCR_BFHFNMINS_Msk); - #endif /* defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) */ - - #if defined (SCB_ICSR_INIT) && (SCB_ICSR_INIT == 1U) - SCB->ICSR = (SCB->ICSR & ~(SCB_ICSR_STTNS_Msk )) | - ((SCB_ICSR_STTNS_VAL << SCB_ICSR_STTNS_Pos) & SCB_ICSR_STTNS_Msk); - #endif /* defined (SCB_ICSR_INIT) && (SCB_ICSR_INIT == 1U) */ - - #if defined (NVIC_INIT_ITNS0) && (NVIC_INIT_ITNS0 == 1U) - NVIC->ITNS[0] = NVIC_INIT_ITNS0_VAL; - #endif - - #if defined (NVIC_INIT_ITNS1) && (NVIC_INIT_ITNS1 == 1U) - NVIC->ITNS[1] = NVIC_INIT_ITNS1_VAL; - #endif - - #if defined (NVIC_INIT_ITNS2) && (NVIC_INIT_ITNS2 == 1U) - NVIC->ITNS[2] = NVIC_INIT_ITNS2_VAL; - #endif - - #if defined (NVIC_INIT_ITNS3) && (NVIC_INIT_ITNS3 == 1U) - NVIC->ITNS[3] = NVIC_INIT_ITNS3_VAL; - #endif - - #if defined (NVIC_INIT_ITNS4) && (NVIC_INIT_ITNS4 == 1U) - NVIC->ITNS[4] = NVIC_INIT_ITNS4_VAL; - #endif - - #if defined (NVIC_INIT_ITNS5) && (NVIC_INIT_ITNS5 == 1U) - NVIC->ITNS[5] = NVIC_INIT_ITNS5_VAL; - #endif - - #if defined (NVIC_INIT_ITNS6) && (NVIC_INIT_ITNS6 == 1U) - NVIC->ITNS[6] = NVIC_INIT_ITNS6_VAL; - #endif - - #if defined (NVIC_INIT_ITNS7) && (NVIC_INIT_ITNS7 == 1U) - NVIC->ITNS[7] = NVIC_INIT_ITNS7_VAL; - #endif - - /* repeat this for all possible ITNS elements */ - -} - -#endif /* PARTITION_ARMCM23_H */ diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S/RTE/Device/ARMCM23_TZ/startup_ARMCM23.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S/RTE/Device/ARMCM23_TZ/startup_ARMCM23.c deleted file mode 100644 index 080c7a8..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S/RTE/Device/ARMCM23_TZ/startup_ARMCM23.c +++ /dev/null @@ -1,161 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM23.c - * @brief CMSIS-Core Device Startup File for a Cortex-M23 Device - * @version V2.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM23) - #include "ARMCM23.h" -#elif defined (ARMCM23_TZ) - #include "ARMCM23_TZ.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVCall Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 223 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S/RTE/Device/ARMCM23_TZ/startup_ARMCM23.c.base@2.1.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S/RTE/Device/ARMCM23_TZ/startup_ARMCM23.c.base@2.1.0 deleted file mode 100644 index 080c7a8..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S/RTE/Device/ARMCM23_TZ/startup_ARMCM23.c.base@2.1.0 +++ /dev/null @@ -1,161 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM23.c - * @brief CMSIS-Core Device Startup File for a Cortex-M23 Device - * @version V2.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM23) - #include "ARMCM23.h" -#elif defined (ARMCM23_TZ) - #include "ARMCM23_TZ.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVCall Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 223 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S/RTE/Device/ARMCM23_TZ/system_ARMCM23.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S/RTE/Device/ARMCM23_TZ/system_ARMCM23.c deleted file mode 100644 index 3381c1f..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S/RTE/Device/ARMCM23_TZ/system_ARMCM23.c +++ /dev/null @@ -1,80 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM23.c - * @brief CMSIS Device System Source File for - * ARMCM23 Device - * @version V1.0.1 - * @date 15. November 2019 - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM23) - #include "ARMCM23.h" -#elif defined (ARMCM23_TZ) - #include "ARMCM23_TZ.h" - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM23.h" - #endif -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t) &(__VECTOR_TABLE[0]); -#endif - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - TZ_SAU_Setup(); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S/Target.clayer.yml b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S/Target.clayer.yml deleted file mode 100644 index ee45512..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S/Target.clayer.yml +++ /dev/null @@ -1,22 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/1.3.0/tools/projmgr/schemas/clayer.schema.json - -layer: - # type: Target - description: Target setup - - # packs: - # - pack: ARM::CMSIS - - components: - # [Cvendor::] Cclass [&Cbundle] :Cgroup [:Csub] [&Cvariant] [@[>=]Cversion] - - component: ARM::CMSIS:CORE - - component: Device:Startup&C Startup - - misc: - - for-compiler: IAR - Link: [--config generic_cortex.icf] - - groups: - - group: VHT/FVP - files: - - file: ./model_config.txt diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S/model_config.txt b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S/model_config.txt deleted file mode 100644 index c4f4818..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S/model_config.txt +++ /dev/null @@ -1,16 +0,0 @@ -# Parameters: -# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] -#---------------------------------------------------------------------------------------------- -fvp_mps2.mps2_visualisation.disable-visualisation=1 # (bool , init-time) default = '0' : Enable/disable visualisation -cpu0.semihosting-enable=1 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. -cpu0.semihosting-Thumb_SVC=0xAB # (int , init-time) default = '0xAB' : T32 SVC number for semihosting : [0x0..0xFF] -cpu0.semihosting-cmd_line="" # (string, init-time) default = '' : Command line available to semihosting SVC calls -cpu0.semihosting-heap_base=0x0 # (int , init-time) default = '0x0' : Virtual address of heap base : [0x0..0xFFFFFFFF] -cpu0.semihosting-heap_limit=0x0 # (int , init-time) default = '0x10700000' : Virtual address of top of heap : [0x0..0xFFFFFFFF] -cpu0.semihosting-stack_base=0x0 # (int , init-time) default = '0x10700000' : Virtual address of base of descending stack : [0x0..0xFFFFFFFF] -cpu0.semihosting-stack_limit=0x0 # (int , init-time) default = '0x10800000' : Virtual address of stack limit : [0x0..0xFFFFFFFF] -cpu0.semihosting-cwd="" # (string, init-time) default = '' : Base directory for semihosting file access. -idau.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' : -cpu0.SECEXT=1 # (bool , init-time) default = '1' : Whether the ARMv8-M Security Extensions are included -fvp_mps2.DISABLE_GATING=1 # (bool , init-time) default = '0' : Disable Memory gating logic -#---------------------------------------------------------------------------------------------- diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S_BL/RTE/Device/ARMCM23_TZ/ARMCM23_ac6_s.sct b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S_BL/RTE/Device/ARMCM23_TZ/ARMCM23_ac6_s.sct deleted file mode 100644 index c3f2cb7..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S_BL/RTE/Device/ARMCM23_TZ/ARMCM23_ac6_s.sct +++ /dev/null @@ -1,123 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m23 -xc -mcmse -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m23 -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00200000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00200000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000400 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_SIZE 0x200 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE ( __RAM_SIZE - __STACK_SIZE - __HEAP_SIZE - __STACKSEAL_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S_BL/RTE/Device/ARMCM23_TZ/gcc_arm.ld b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S_BL/RTE/Device/ARMCM23_TZ/gcc_arm.ld deleted file mode 100644 index b70792f..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S_BL/RTE/Device/ARMCM23_TZ/gcc_arm.ld +++ /dev/null @@ -1,316 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.2.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00200000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00200000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -/* ARMv8-M stack sealing: - to use ARMv8-M stack sealing set __STACKSEAL_SIZE to 8 otherwise keep 0 - */ -__STACKSEAL_SIZE = 8; - - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - * __StackSeal (only if ARMv8-M stack sealing is used) - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option --section-start or in a linker script, - * to indicate where to place these veneers in memory. - */ - - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH - - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* ARMv8-M stack sealing: - to use ARMv8-M stack sealing uncomment '.stackseal' section - */ - - .stackseal (ORIGIN(RAM) + LENGTH(RAM) - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackSeal = .; - . = . + 8; - . = ALIGN(8); - } > RAM - - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S_BL/RTE/Device/ARMCM23_TZ/partition_ARMCM23.h b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S_BL/RTE/Device/ARMCM23_TZ/partition_ARMCM23.h deleted file mode 100644 index d3402da..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S_BL/RTE/Device/ARMCM23_TZ/partition_ARMCM23.h +++ /dev/null @@ -1,832 +0,0 @@ -/**************************************************************************//** - * @file partition_ARMCM23.h - * @brief CMSIS-CORE Initial Setup for Secure / Non-Secure Zones for ARMCM23 - * @version V5.3.1 - * @date 09. July 2018 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef PARTITION_ARMCM23_H -#define PARTITION_ARMCM23_H - -/* -//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- -*/ - -/* -// Initialize Security Attribution Unit (SAU) CTRL register -*/ -#define SAU_INIT_CTRL 1 - -/* -// Enable SAU -// Value for SAU->CTRL register bit ENABLE -*/ -#define SAU_INIT_CTRL_ENABLE 1 - -/* -// When SAU is disabled -// <0=> All Memory is Secure -// <1=> All Memory is Non-Secure -// Value for SAU->CTRL register bit ALLNS -// When all Memory is Non-Secure (ALLNS is 1), IDAU can override memory map configuration. -*/ -#define SAU_INIT_CTRL_ALLNS 0 - -/* -// -*/ - -/* -// Initialize Security Attribution Unit (SAU) Address Regions -// SAU configuration specifies regions to be one of: -// - Secure and Non-Secure Callable -// - Non-Secure -// Note: All memory regions not configured by SAU are Secure -*/ -#define SAU_REGIONS_MAX 8 /* Max. number of SAU regions */ - -/* -// Initialize SAU Region 0 -// Setup SAU Region 0 memory attributes -*/ -#define SAU_INIT_REGION0 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START0 0x00000000 /* start address of SAU region 0 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END0 0x001FFFFF /* end address of SAU region 0 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC0 1 -/* -// -*/ - -/* -// Initialize SAU Region 1 -// Setup SAU Region 1 memory attributes -*/ -#define SAU_INIT_REGION1 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START1 0x00200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END1 0x003FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC1 0 -/* -// -*/ - -/* -// Initialize SAU Region 2 -// Setup SAU Region 2 memory attributes -*/ -#define SAU_INIT_REGION2 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START2 0x20200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END2 0x203FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC2 0 -/* -// -*/ - -/* -// Initialize SAU Region 3 -// Setup SAU Region 3 memory attributes -*/ -#define SAU_INIT_REGION3 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START3 0x40000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END3 0x40040000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC3 0 -/* -// -*/ - -/* -// Initialize SAU Region 4 -// Setup SAU Region 4 memory attributes -*/ -#define SAU_INIT_REGION4 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START4 0x00000000 /* start address of SAU region 4 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END4 0x00000000 /* end address of SAU region 4 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC4 0 -/* -// -*/ - -/* -// Initialize SAU Region 5 -// Setup SAU Region 5 memory attributes -*/ -#define SAU_INIT_REGION5 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START5 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END5 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC5 0 -/* -// -*/ - -/* -// Initialize SAU Region 6 -// Setup SAU Region 6 memory attributes -*/ -#define SAU_INIT_REGION6 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START6 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END6 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC6 0 -/* -// -*/ - -/* -// Initialize SAU Region 7 -// Setup SAU Region 7 memory attributes -*/ -#define SAU_INIT_REGION7 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START7 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END7 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC7 0 -/* -// -*/ - -/* -// -*/ - -/* -// Setup behaviour of Sleep and Exception Handling -*/ -#define SCB_CSR_AIRCR_INIT 1 - -/* -// Deep Sleep can be enabled by -// <0=>Secure and Non-Secure state -// <1=>Secure state only -// Value for SCB->CSR register bit DEEPSLEEPS -*/ -#define SCB_CSR_DEEPSLEEPS_VAL 1 - -/* -// System reset request accessible from -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for SCB->AIRCR register bit SYSRESETREQS -*/ -#define SCB_AIRCR_SYSRESETREQS_VAL 1 - -/* -// Priority of Non-Secure exceptions is -// <0=> Not altered -// <1=> Lowered to 0x80-0xFF -// Value for SCB->AIRCR register bit PRIS -*/ -#define SCB_AIRCR_PRIS_VAL 1 - -/* -// BusFault, HardFault, and NMI target -// <0=> Secure state -// <1=> Non-Secure state -// Value for SCB->AIRCR register bit BFHFNMINS -*/ -#define SCB_AIRCR_BFHFNMINS_VAL 0 - -/* -// -*/ - - -/* -// Setup behaviour of single SysTick -*/ -#define SCB_ICSR_INIT 0 - -/* -// in a single SysTick implementation, SysTick is -// <0=>Secure -// <1=>Non-Secure -// Value for SCB->ICSR register bit STTNS -// only for single SysTick implementation -*/ -#define SCB_ICSR_STTNS_VAL 0 - -/* -// -*/ - - -/* -// Setup Interrupt Target -*/ - -/* -// Initialize ITNS 0 (Interrupts 0..31) -*/ -#define NVIC_INIT_ITNS0 1 - -/* -// Interrupts 0..31 -// Interrupt 0 <0=> Secure state <1=> Non-Secure state -// Interrupt 1 <0=> Secure state <1=> Non-Secure state -// Interrupt 2 <0=> Secure state <1=> Non-Secure state -// Interrupt 3 <0=> Secure state <1=> Non-Secure state -// Interrupt 4 <0=> Secure state <1=> Non-Secure state -// Interrupt 5 <0=> Secure state <1=> Non-Secure state -// Interrupt 6 <0=> Secure state <1=> Non-Secure state -// Interrupt 7 <0=> Secure state <1=> Non-Secure state -// Interrupt 8 <0=> Secure state <1=> Non-Secure state -// Interrupt 9 <0=> Secure state <1=> Non-Secure state -// Interrupt 10 <0=> Secure state <1=> Non-Secure state -// Interrupt 11 <0=> Secure state <1=> Non-Secure state -// Interrupt 12 <0=> Secure state <1=> Non-Secure state -// Interrupt 13 <0=> Secure state <1=> Non-Secure state -// Interrupt 14 <0=> Secure state <1=> Non-Secure state -// Interrupt 15 <0=> Secure state <1=> Non-Secure state -// Interrupt 16 <0=> Secure state <1=> Non-Secure state -// Interrupt 17 <0=> Secure state <1=> Non-Secure state -// Interrupt 18 <0=> Secure state <1=> Non-Secure state -// Interrupt 19 <0=> Secure state <1=> Non-Secure state -// Interrupt 20 <0=> Secure state <1=> Non-Secure state -// Interrupt 21 <0=> Secure state <1=> Non-Secure state -// Interrupt 22 <0=> Secure state <1=> Non-Secure state -// Interrupt 23 <0=> Secure state <1=> Non-Secure state -// Interrupt 24 <0=> Secure state <1=> Non-Secure state -// Interrupt 25 <0=> Secure state <1=> Non-Secure state -// Interrupt 26 <0=> Secure state <1=> Non-Secure state -// Interrupt 27 <0=> Secure state <1=> Non-Secure state -// Interrupt 28 <0=> Secure state <1=> Non-Secure state -// Interrupt 29 <0=> Secure state <1=> Non-Secure state -// Interrupt 30 <0=> Secure state <1=> Non-Secure state -// Interrupt 31 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS0_VAL 0x0000122B - -/* -// -*/ - -/* -// Initialize ITNS 1 (Interrupts 32..63) -*/ -#define NVIC_INIT_ITNS1 1 - -/* -// Interrupts 32..63 -// Interrupt 32 <0=> Secure state <1=> Non-Secure state -// Interrupt 33 <0=> Secure state <1=> Non-Secure state -// Interrupt 34 <0=> Secure state <1=> Non-Secure state -// Interrupt 35 <0=> Secure state <1=> Non-Secure state -// Interrupt 36 <0=> Secure state <1=> Non-Secure state -// Interrupt 37 <0=> Secure state <1=> Non-Secure state -// Interrupt 38 <0=> Secure state <1=> Non-Secure state -// Interrupt 39 <0=> Secure state <1=> Non-Secure state -// Interrupt 40 <0=> Secure state <1=> Non-Secure state -// Interrupt 41 <0=> Secure state <1=> Non-Secure state -// Interrupt 42 <0=> Secure state <1=> Non-Secure state -// Interrupt 43 <0=> Secure state <1=> Non-Secure state -// Interrupt 44 <0=> Secure state <1=> Non-Secure state -// Interrupt 45 <0=> Secure state <1=> Non-Secure state -// Interrupt 46 <0=> Secure state <1=> Non-Secure state -// Interrupt 47 <0=> Secure state <1=> Non-Secure state -// Interrupt 48 <0=> Secure state <1=> Non-Secure state -// Interrupt 49 <0=> Secure state <1=> Non-Secure state -// Interrupt 50 <0=> Secure state <1=> Non-Secure state -// Interrupt 51 <0=> Secure state <1=> Non-Secure state -// Interrupt 52 <0=> Secure state <1=> Non-Secure state -// Interrupt 53 <0=> Secure state <1=> Non-Secure state -// Interrupt 54 <0=> Secure state <1=> Non-Secure state -// Interrupt 55 <0=> Secure state <1=> Non-Secure state -// Interrupt 56 <0=> Secure state <1=> Non-Secure state -// Interrupt 57 <0=> Secure state <1=> Non-Secure state -// Interrupt 58 <0=> Secure state <1=> Non-Secure state -// Interrupt 59 <0=> Secure state <1=> Non-Secure state -// Interrupt 60 <0=> Secure state <1=> Non-Secure state -// Interrupt 61 <0=> Secure state <1=> Non-Secure state -// Interrupt 62 <0=> Secure state <1=> Non-Secure state -// Interrupt 63 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS1_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 2 (Interrupts 64..95) -*/ -#define NVIC_INIT_ITNS2 0 - -/* -// Interrupts 64..95 -// Interrupt 64 <0=> Secure state <1=> Non-Secure state -// Interrupt 65 <0=> Secure state <1=> Non-Secure state -// Interrupt 66 <0=> Secure state <1=> Non-Secure state -// Interrupt 67 <0=> Secure state <1=> Non-Secure state -// Interrupt 68 <0=> Secure state <1=> Non-Secure state -// Interrupt 69 <0=> Secure state <1=> Non-Secure state -// Interrupt 70 <0=> Secure state <1=> Non-Secure state -// Interrupt 71 <0=> Secure state <1=> Non-Secure state -// Interrupt 72 <0=> Secure state <1=> Non-Secure state -// Interrupt 73 <0=> Secure state <1=> Non-Secure state -// Interrupt 74 <0=> Secure state <1=> Non-Secure state -// Interrupt 75 <0=> Secure state <1=> Non-Secure state -// Interrupt 76 <0=> Secure state <1=> Non-Secure state -// Interrupt 77 <0=> Secure state <1=> Non-Secure state -// Interrupt 78 <0=> Secure state <1=> Non-Secure state -// Interrupt 79 <0=> Secure state <1=> Non-Secure state -// Interrupt 80 <0=> Secure state <1=> Non-Secure state -// Interrupt 81 <0=> Secure state <1=> Non-Secure state -// Interrupt 82 <0=> Secure state <1=> Non-Secure state -// Interrupt 83 <0=> Secure state <1=> Non-Secure state -// Interrupt 84 <0=> Secure state <1=> Non-Secure state -// Interrupt 85 <0=> Secure state <1=> Non-Secure state -// Interrupt 86 <0=> Secure state <1=> Non-Secure state -// Interrupt 87 <0=> Secure state <1=> Non-Secure state -// Interrupt 88 <0=> Secure state <1=> Non-Secure state -// Interrupt 89 <0=> Secure state <1=> Non-Secure state -// Interrupt 90 <0=> Secure state <1=> Non-Secure state -// Interrupt 91 <0=> Secure state <1=> Non-Secure state -// Interrupt 92 <0=> Secure state <1=> Non-Secure state -// Interrupt 93 <0=> Secure state <1=> Non-Secure state -// Interrupt 94 <0=> Secure state <1=> Non-Secure state -// Interrupt 95 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS2_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 3 (Interrupts 96..127) -*/ -#define NVIC_INIT_ITNS3 0 - -/* -// Interrupts 96..127 -// Interrupt 96 <0=> Secure state <1=> Non-Secure state -// Interrupt 97 <0=> Secure state <1=> Non-Secure state -// Interrupt 98 <0=> Secure state <1=> Non-Secure state -// Interrupt 99 <0=> Secure state <1=> Non-Secure state -// Interrupt 100 <0=> Secure state <1=> Non-Secure state -// Interrupt 101 <0=> Secure state <1=> Non-Secure state -// Interrupt 102 <0=> Secure state <1=> Non-Secure state -// Interrupt 103 <0=> Secure state <1=> Non-Secure state -// Interrupt 104 <0=> Secure state <1=> Non-Secure state -// Interrupt 105 <0=> Secure state <1=> Non-Secure state -// Interrupt 106 <0=> Secure state <1=> Non-Secure state -// Interrupt 107 <0=> Secure state <1=> Non-Secure state -// Interrupt 108 <0=> Secure state <1=> Non-Secure state -// Interrupt 109 <0=> Secure state <1=> Non-Secure state -// Interrupt 110 <0=> Secure state <1=> Non-Secure state -// Interrupt 111 <0=> Secure state <1=> Non-Secure state -// Interrupt 112 <0=> Secure state <1=> Non-Secure state -// Interrupt 113 <0=> Secure state <1=> Non-Secure state -// Interrupt 114 <0=> Secure state <1=> Non-Secure state -// Interrupt 115 <0=> Secure state <1=> Non-Secure state -// Interrupt 116 <0=> Secure state <1=> Non-Secure state -// Interrupt 117 <0=> Secure state <1=> Non-Secure state -// Interrupt 118 <0=> Secure state <1=> Non-Secure state -// Interrupt 119 <0=> Secure state <1=> Non-Secure state -// Interrupt 120 <0=> Secure state <1=> Non-Secure state -// Interrupt 121 <0=> Secure state <1=> Non-Secure state -// Interrupt 122 <0=> Secure state <1=> Non-Secure state -// Interrupt 123 <0=> Secure state <1=> Non-Secure state -// Interrupt 124 <0=> Secure state <1=> Non-Secure state -// Interrupt 125 <0=> Secure state <1=> Non-Secure state -// Interrupt 126 <0=> Secure state <1=> Non-Secure state -// Interrupt 127 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS3_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 4 (Interrupts 128..159) -*/ -#define NVIC_INIT_ITNS4 0 - -/* -// Interrupts 128..159 -// Interrupt 128 <0=> Secure state <1=> Non-Secure state -// Interrupt 129 <0=> Secure state <1=> Non-Secure state -// Interrupt 130 <0=> Secure state <1=> Non-Secure state -// Interrupt 131 <0=> Secure state <1=> Non-Secure state -// Interrupt 132 <0=> Secure state <1=> Non-Secure state -// Interrupt 133 <0=> Secure state <1=> Non-Secure state -// Interrupt 134 <0=> Secure state <1=> Non-Secure state -// Interrupt 135 <0=> Secure state <1=> Non-Secure state -// Interrupt 136 <0=> Secure state <1=> Non-Secure state -// Interrupt 137 <0=> Secure state <1=> Non-Secure state -// Interrupt 138 <0=> Secure state <1=> Non-Secure state -// Interrupt 139 <0=> Secure state <1=> Non-Secure state -// Interrupt 140 <0=> Secure state <1=> Non-Secure state -// Interrupt 141 <0=> Secure state <1=> Non-Secure state -// Interrupt 142 <0=> Secure state <1=> Non-Secure state -// Interrupt 143 <0=> Secure state <1=> Non-Secure state -// Interrupt 144 <0=> Secure state <1=> Non-Secure state -// Interrupt 145 <0=> Secure state <1=> Non-Secure state -// Interrupt 146 <0=> Secure state <1=> Non-Secure state -// Interrupt 147 <0=> Secure state <1=> Non-Secure state -// Interrupt 148 <0=> Secure state <1=> Non-Secure state -// Interrupt 149 <0=> Secure state <1=> Non-Secure state -// Interrupt 150 <0=> Secure state <1=> Non-Secure state -// Interrupt 151 <0=> Secure state <1=> Non-Secure state -// Interrupt 152 <0=> Secure state <1=> Non-Secure state -// Interrupt 153 <0=> Secure state <1=> Non-Secure state -// Interrupt 154 <0=> Secure state <1=> Non-Secure state -// Interrupt 155 <0=> Secure state <1=> Non-Secure state -// Interrupt 156 <0=> Secure state <1=> Non-Secure state -// Interrupt 157 <0=> Secure state <1=> Non-Secure state -// Interrupt 158 <0=> Secure state <1=> Non-Secure state -// Interrupt 159 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS4_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 5 (Interrupts 160..191) -*/ -#define NVIC_INIT_ITNS5 0 - -/* -// Interrupts 160..191 -// Interrupt 160 <0=> Secure state <1=> Non-Secure state -// Interrupt 161 <0=> Secure state <1=> Non-Secure state -// Interrupt 162 <0=> Secure state <1=> Non-Secure state -// Interrupt 163 <0=> Secure state <1=> Non-Secure state -// Interrupt 164 <0=> Secure state <1=> Non-Secure state -// Interrupt 165 <0=> Secure state <1=> Non-Secure state -// Interrupt 166 <0=> Secure state <1=> Non-Secure state -// Interrupt 167 <0=> Secure state <1=> Non-Secure state -// Interrupt 168 <0=> Secure state <1=> Non-Secure state -// Interrupt 169 <0=> Secure state <1=> Non-Secure state -// Interrupt 170 <0=> Secure state <1=> Non-Secure state -// Interrupt 171 <0=> Secure state <1=> Non-Secure state -// Interrupt 172 <0=> Secure state <1=> Non-Secure state -// Interrupt 173 <0=> Secure state <1=> Non-Secure state -// Interrupt 174 <0=> Secure state <1=> Non-Secure state -// Interrupt 175 <0=> Secure state <1=> Non-Secure state -// Interrupt 176 <0=> Secure state <1=> Non-Secure state -// Interrupt 177 <0=> Secure state <1=> Non-Secure state -// Interrupt 178 <0=> Secure state <1=> Non-Secure state -// Interrupt 179 <0=> Secure state <1=> Non-Secure state -// Interrupt 180 <0=> Secure state <1=> Non-Secure state -// Interrupt 181 <0=> Secure state <1=> Non-Secure state -// Interrupt 182 <0=> Secure state <1=> Non-Secure state -// Interrupt 183 <0=> Secure state <1=> Non-Secure state -// Interrupt 184 <0=> Secure state <1=> Non-Secure state -// Interrupt 185 <0=> Secure state <1=> Non-Secure state -// Interrupt 186 <0=> Secure state <1=> Non-Secure state -// Interrupt 187 <0=> Secure state <1=> Non-Secure state -// Interrupt 188 <0=> Secure state <1=> Non-Secure state -// Interrupt 189 <0=> Secure state <1=> Non-Secure state -// Interrupt 190 <0=> Secure state <1=> Non-Secure state -// Interrupt 191 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS5_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 6 (Interrupts 192..223) -*/ -#define NVIC_INIT_ITNS6 0 - -/* -// Interrupts 192..223 -// Interrupt 192 <0=> Secure state <1=> Non-Secure state -// Interrupt 193 <0=> Secure state <1=> Non-Secure state -// Interrupt 194 <0=> Secure state <1=> Non-Secure state -// Interrupt 195 <0=> Secure state <1=> Non-Secure state -// Interrupt 196 <0=> Secure state <1=> Non-Secure state -// Interrupt 197 <0=> Secure state <1=> Non-Secure state -// Interrupt 198 <0=> Secure state <1=> Non-Secure state -// Interrupt 199 <0=> Secure state <1=> Non-Secure state -// Interrupt 200 <0=> Secure state <1=> Non-Secure state -// Interrupt 201 <0=> Secure state <1=> Non-Secure state -// Interrupt 202 <0=> Secure state <1=> Non-Secure state -// Interrupt 203 <0=> Secure state <1=> Non-Secure state -// Interrupt 204 <0=> Secure state <1=> Non-Secure state -// Interrupt 205 <0=> Secure state <1=> Non-Secure state -// Interrupt 206 <0=> Secure state <1=> Non-Secure state -// Interrupt 207 <0=> Secure state <1=> Non-Secure state -// Interrupt 208 <0=> Secure state <1=> Non-Secure state -// Interrupt 209 <0=> Secure state <1=> Non-Secure state -// Interrupt 210 <0=> Secure state <1=> Non-Secure state -// Interrupt 211 <0=> Secure state <1=> Non-Secure state -// Interrupt 212 <0=> Secure state <1=> Non-Secure state -// Interrupt 213 <0=> Secure state <1=> Non-Secure state -// Interrupt 214 <0=> Secure state <1=> Non-Secure state -// Interrupt 215 <0=> Secure state <1=> Non-Secure state -// Interrupt 216 <0=> Secure state <1=> Non-Secure state -// Interrupt 217 <0=> Secure state <1=> Non-Secure state -// Interrupt 218 <0=> Secure state <1=> Non-Secure state -// Interrupt 219 <0=> Secure state <1=> Non-Secure state -// Interrupt 220 <0=> Secure state <1=> Non-Secure state -// Interrupt 221 <0=> Secure state <1=> Non-Secure state -// Interrupt 222 <0=> Secure state <1=> Non-Secure state -// Interrupt 223 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS6_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 7 (Interrupts 224..255) -*/ -#define NVIC_INIT_ITNS7 0 - -/* -// Interrupts 224..255 -// Interrupt 224 <0=> Secure state <1=> Non-Secure state -// Interrupt 225 <0=> Secure state <1=> Non-Secure state -// Interrupt 226 <0=> Secure state <1=> Non-Secure state -// Interrupt 227 <0=> Secure state <1=> Non-Secure state -// Interrupt 228 <0=> Secure state <1=> Non-Secure state -// Interrupt 229 <0=> Secure state <1=> Non-Secure state -// Interrupt 230 <0=> Secure state <1=> Non-Secure state -// Interrupt 231 <0=> Secure state <1=> Non-Secure state -// Interrupt 232 <0=> Secure state <1=> Non-Secure state -// Interrupt 233 <0=> Secure state <1=> Non-Secure state -// Interrupt 234 <0=> Secure state <1=> Non-Secure state -// Interrupt 235 <0=> Secure state <1=> Non-Secure state -// Interrupt 236 <0=> Secure state <1=> Non-Secure state -// Interrupt 237 <0=> Secure state <1=> Non-Secure state -// Interrupt 238 <0=> Secure state <1=> Non-Secure state -// Interrupt 239 <0=> Secure state <1=> Non-Secure state -// Interrupt 240 <0=> Secure state <1=> Non-Secure state -// Interrupt 241 <0=> Secure state <1=> Non-Secure state -// Interrupt 242 <0=> Secure state <1=> Non-Secure state -// Interrupt 243 <0=> Secure state <1=> Non-Secure state -// Interrupt 244 <0=> Secure state <1=> Non-Secure state -// Interrupt 245 <0=> Secure state <1=> Non-Secure state -// Interrupt 246 <0=> Secure state <1=> Non-Secure state -// Interrupt 247 <0=> Secure state <1=> Non-Secure state -// Interrupt 248 <0=> Secure state <1=> Non-Secure state -// Interrupt 249 <0=> Secure state <1=> Non-Secure state -// Interrupt 250 <0=> Secure state <1=> Non-Secure state -// Interrupt 251 <0=> Secure state <1=> Non-Secure state -// Interrupt 252 <0=> Secure state <1=> Non-Secure state -// Interrupt 253 <0=> Secure state <1=> Non-Secure state -// Interrupt 254 <0=> Secure state <1=> Non-Secure state -// Interrupt 255 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS7_VAL 0x00000000 - -/* -// -*/ - -/* -// -*/ - - - -/* - max 128 SAU regions. - SAU regions are defined in partition.h - */ - -#define SAU_INIT_REGION(n) \ - SAU->RNR = (n & SAU_RNR_REGION_Msk); \ - SAU->RBAR = (SAU_INIT_START##n & SAU_RBAR_BADDR_Msk); \ - SAU->RLAR = (SAU_INIT_END##n & SAU_RLAR_LADDR_Msk) | \ - ((SAU_INIT_NSC##n << SAU_RLAR_NSC_Pos) & SAU_RLAR_NSC_Msk) | 1U - -/** - \brief Setup a SAU Region - \details Writes the region information contained in SAU_Region to the - registers SAU_RNR, SAU_RBAR, and SAU_RLAR - */ -__STATIC_INLINE void TZ_SAU_Setup (void) -{ - -#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) - - #if defined (SAU_INIT_REGION0) && (SAU_INIT_REGION0 == 1U) - SAU_INIT_REGION(0); - #endif - - #if defined (SAU_INIT_REGION1) && (SAU_INIT_REGION1 == 1U) - SAU_INIT_REGION(1); - #endif - - #if defined (SAU_INIT_REGION2) && (SAU_INIT_REGION2 == 1U) - SAU_INIT_REGION(2); - #endif - - #if defined (SAU_INIT_REGION3) && (SAU_INIT_REGION3 == 1U) - SAU_INIT_REGION(3); - #endif - - #if defined (SAU_INIT_REGION4) && (SAU_INIT_REGION4 == 1U) - SAU_INIT_REGION(4); - #endif - - #if defined (SAU_INIT_REGION5) && (SAU_INIT_REGION5 == 1U) - SAU_INIT_REGION(5); - #endif - - #if defined (SAU_INIT_REGION6) && (SAU_INIT_REGION6 == 1U) - SAU_INIT_REGION(6); - #endif - - #if defined (SAU_INIT_REGION7) && (SAU_INIT_REGION7 == 1U) - SAU_INIT_REGION(7); - #endif - - /* repeat this for all possible SAU regions */ - -#endif /* defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) */ - - - #if defined (SAU_INIT_CTRL) && (SAU_INIT_CTRL == 1U) - SAU->CTRL = ((SAU_INIT_CTRL_ENABLE << SAU_CTRL_ENABLE_Pos) & SAU_CTRL_ENABLE_Msk) | - ((SAU_INIT_CTRL_ALLNS << SAU_CTRL_ALLNS_Pos) & SAU_CTRL_ALLNS_Msk) ; - #endif - - #if defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) - SCB->SCR = (SCB->SCR & ~(SCB_SCR_SLEEPDEEPS_Msk )) | - ((SCB_CSR_DEEPSLEEPS_VAL << SCB_SCR_SLEEPDEEPS_Pos) & SCB_SCR_SLEEPDEEPS_Msk); - - SCB->AIRCR = (SCB->AIRCR & ~(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_SYSRESETREQS_Msk | - SCB_AIRCR_BFHFNMINS_Msk | SCB_AIRCR_PRIS_Msk) ) | - ((0x05FAU << SCB_AIRCR_VECTKEY_Pos) & SCB_AIRCR_VECTKEY_Msk) | - ((SCB_AIRCR_SYSRESETREQS_VAL << SCB_AIRCR_SYSRESETREQS_Pos) & SCB_AIRCR_SYSRESETREQS_Msk) | - ((SCB_AIRCR_PRIS_VAL << SCB_AIRCR_PRIS_Pos) & SCB_AIRCR_PRIS_Msk) | - ((SCB_AIRCR_BFHFNMINS_VAL << SCB_AIRCR_BFHFNMINS_Pos) & SCB_AIRCR_BFHFNMINS_Msk); - #endif /* defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) */ - - #if defined (SCB_ICSR_INIT) && (SCB_ICSR_INIT == 1U) - SCB->ICSR = (SCB->ICSR & ~(SCB_ICSR_STTNS_Msk )) | - ((SCB_ICSR_STTNS_VAL << SCB_ICSR_STTNS_Pos) & SCB_ICSR_STTNS_Msk); - #endif /* defined (SCB_ICSR_INIT) && (SCB_ICSR_INIT == 1U) */ - - #if defined (NVIC_INIT_ITNS0) && (NVIC_INIT_ITNS0 == 1U) - NVIC->ITNS[0] = NVIC_INIT_ITNS0_VAL; - #endif - - #if defined (NVIC_INIT_ITNS1) && (NVIC_INIT_ITNS1 == 1U) - NVIC->ITNS[1] = NVIC_INIT_ITNS1_VAL; - #endif - - #if defined (NVIC_INIT_ITNS2) && (NVIC_INIT_ITNS2 == 1U) - NVIC->ITNS[2] = NVIC_INIT_ITNS2_VAL; - #endif - - #if defined (NVIC_INIT_ITNS3) && (NVIC_INIT_ITNS3 == 1U) - NVIC->ITNS[3] = NVIC_INIT_ITNS3_VAL; - #endif - - #if defined (NVIC_INIT_ITNS4) && (NVIC_INIT_ITNS4 == 1U) - NVIC->ITNS[4] = NVIC_INIT_ITNS4_VAL; - #endif - - #if defined (NVIC_INIT_ITNS5) && (NVIC_INIT_ITNS5 == 1U) - NVIC->ITNS[5] = NVIC_INIT_ITNS5_VAL; - #endif - - #if defined (NVIC_INIT_ITNS6) && (NVIC_INIT_ITNS6 == 1U) - NVIC->ITNS[6] = NVIC_INIT_ITNS6_VAL; - #endif - - #if defined (NVIC_INIT_ITNS7) && (NVIC_INIT_ITNS7 == 1U) - NVIC->ITNS[7] = NVIC_INIT_ITNS7_VAL; - #endif - - /* repeat this for all possible ITNS elements */ - -} - -#endif /* PARTITION_ARMCM23_H */ diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S_BL/RTE/Device/ARMCM23_TZ/startup_ARMCM23.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S_BL/RTE/Device/ARMCM23_TZ/startup_ARMCM23.c deleted file mode 100644 index 080c7a8..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S_BL/RTE/Device/ARMCM23_TZ/startup_ARMCM23.c +++ /dev/null @@ -1,161 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM23.c - * @brief CMSIS-Core Device Startup File for a Cortex-M23 Device - * @version V2.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM23) - #include "ARMCM23.h" -#elif defined (ARMCM23_TZ) - #include "ARMCM23_TZ.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVCall Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 223 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S_BL/RTE/Device/ARMCM23_TZ/startup_ARMCM23.c.base@2.1.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S_BL/RTE/Device/ARMCM23_TZ/startup_ARMCM23.c.base@2.1.0 deleted file mode 100644 index 080c7a8..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S_BL/RTE/Device/ARMCM23_TZ/startup_ARMCM23.c.base@2.1.0 +++ /dev/null @@ -1,161 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM23.c - * @brief CMSIS-Core Device Startup File for a Cortex-M23 Device - * @version V2.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM23) - #include "ARMCM23.h" -#elif defined (ARMCM23_TZ) - #include "ARMCM23_TZ.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVCall Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 223 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S_BL/RTE/Device/ARMCM23_TZ/system_ARMCM23.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S_BL/RTE/Device/ARMCM23_TZ/system_ARMCM23.c deleted file mode 100644 index 3381c1f..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S_BL/RTE/Device/ARMCM23_TZ/system_ARMCM23.c +++ /dev/null @@ -1,80 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM23.c - * @brief CMSIS Device System Source File for - * ARMCM23 Device - * @version V1.0.1 - * @date 15. November 2019 - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM23) - #include "ARMCM23.h" -#elif defined (ARMCM23_TZ) - #include "ARMCM23_TZ.h" - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM23.h" - #endif -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t) &(__VECTOR_TABLE[0]); -#endif - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - TZ_SAU_Setup(); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S_BL/Target.clayer.yml b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S_BL/Target.clayer.yml deleted file mode 100644 index ee45512..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S_BL/Target.clayer.yml +++ /dev/null @@ -1,22 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/1.3.0/tools/projmgr/schemas/clayer.schema.json - -layer: - # type: Target - description: Target setup - - # packs: - # - pack: ARM::CMSIS - - components: - # [Cvendor::] Cclass [&Cbundle] :Cgroup [:Csub] [&Cvariant] [@[>=]Cversion] - - component: ARM::CMSIS:CORE - - component: Device:Startup&C Startup - - misc: - - for-compiler: IAR - Link: [--config generic_cortex.icf] - - groups: - - group: VHT/FVP - files: - - file: ./model_config.txt diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S_BL/model_config.txt b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S_BL/model_config.txt deleted file mode 100644 index c4f4818..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM23S_BL/model_config.txt +++ /dev/null @@ -1,16 +0,0 @@ -# Parameters: -# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] -#---------------------------------------------------------------------------------------------- -fvp_mps2.mps2_visualisation.disable-visualisation=1 # (bool , init-time) default = '0' : Enable/disable visualisation -cpu0.semihosting-enable=1 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. -cpu0.semihosting-Thumb_SVC=0xAB # (int , init-time) default = '0xAB' : T32 SVC number for semihosting : [0x0..0xFF] -cpu0.semihosting-cmd_line="" # (string, init-time) default = '' : Command line available to semihosting SVC calls -cpu0.semihosting-heap_base=0x0 # (int , init-time) default = '0x0' : Virtual address of heap base : [0x0..0xFFFFFFFF] -cpu0.semihosting-heap_limit=0x0 # (int , init-time) default = '0x10700000' : Virtual address of top of heap : [0x0..0xFFFFFFFF] -cpu0.semihosting-stack_base=0x0 # (int , init-time) default = '0x10700000' : Virtual address of base of descending stack : [0x0..0xFFFFFFFF] -cpu0.semihosting-stack_limit=0x0 # (int , init-time) default = '0x10800000' : Virtual address of stack limit : [0x0..0xFFFFFFFF] -cpu0.semihosting-cwd="" # (string, init-time) default = '' : Base directory for semihosting file access. -idau.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' : -cpu0.SECEXT=1 # (bool , init-time) default = '1' : Whether the ARMv8-M Security Extensions are included -fvp_mps2.DISABLE_GATING=1 # (bool , init-time) default = '0' : Disable Memory gating logic -#---------------------------------------------------------------------------------------------- diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/RTE/Device/ARMCM3/ARMCM3_ac6.sct b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/RTE/Device/ARMCM3/ARMCM3_ac6.sct deleted file mode 100644 index 4309a0b..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/RTE/Device/ARMCM3/ARMCM3_ac6.sct +++ /dev/null @@ -1,80 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m3 -xc -; command above MUST be in first line (no comment above!) - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE) /* starts at end of RAM */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - - -/*---------------------------------------------------------------------------- - Scatter File Definitions definition - *----------------------------------------------------------------------------*/ -#define __RO_BASE __ROM_BASE -#define __RO_SIZE __ROM_SIZE - -#define __RW_BASE __RAM_BASE -#define __RW_SIZE (__RAM_SIZE - __STACK_SIZE - __HEAP_SIZE) - - -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/RTE/Device/ARMCM3/ARMCM3_ac6.sct.base@1.0.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/RTE/Device/ARMCM3/ARMCM3_ac6.sct.base@1.0.0 deleted file mode 100644 index dda75e3..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/RTE/Device/ARMCM3/ARMCM3_ac6.sct.base@1.0.0 +++ /dev/null @@ -1,76 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m3 -xc -; command above MUST be in first line (no comment above!) - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE) /* starts at end of RAM */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - - -/*---------------------------------------------------------------------------- - Scatter File Definitions definition - *----------------------------------------------------------------------------*/ -#define __RO_BASE __ROM_BASE -#define __RO_SIZE __ROM_SIZE - -#define __RW_BASE __RAM_BASE -#define __RW_SIZE (__RAM_SIZE - __STACK_SIZE - __HEAP_SIZE) - - -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_RAM __RW_BASE __RW_SIZE { ; RW data - .ANY (+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/RTE/Device/ARMCM3/gcc_arm.ld b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/RTE/Device/ARMCM3/gcc_arm.ld deleted file mode 100644 index 7498908..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/RTE/Device/ARMCM3/gcc_arm.ld +++ /dev/null @@ -1,296 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.1.0 - * @date 04. August 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00040000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00020000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ -/* - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH -*/ - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/RTE/Device/ARMCM3/startup_ARMCM3.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/RTE/Device/ARMCM3/startup_ARMCM3.c deleted file mode 100644 index b541573..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/RTE/Device/ARMCM3/startup_ARMCM3.c +++ /dev/null @@ -1,150 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM3.c - * @brief CMSIS-Core(M) Device Startup File for a Cortex-M3 Device - * @version V2.0.3 - * @date 31. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM3) - #include "ARMCM3.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 223 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/RTE/Device/ARMCM3/startup_ARMCM3.c.base@2.0.3 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/RTE/Device/ARMCM3/startup_ARMCM3.c.base@2.0.3 deleted file mode 100644 index b541573..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/RTE/Device/ARMCM3/startup_ARMCM3.c.base@2.0.3 +++ /dev/null @@ -1,150 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM3.c - * @brief CMSIS-Core(M) Device Startup File for a Cortex-M3 Device - * @version V2.0.3 - * @date 31. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM3) - #include "ARMCM3.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 223 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/RTE/Device/ARMCM3/system_ARMCM3.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/RTE/Device/ARMCM3/system_ARMCM3.c deleted file mode 100644 index 3c5eda7..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/RTE/Device/ARMCM3/system_ARMCM3.c +++ /dev/null @@ -1,65 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM3.c - * @brief CMSIS Device System Source File for - * ARMCM3 Device - * @version V1.0.1 - * @date 15. November 2019 - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "ARMCM3.h" - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t) &(__VECTOR_TABLE[0]); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/RTE/Device/ARMCM3/system_ARMCM3.c.base@1.0.1 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/RTE/Device/ARMCM3/system_ARMCM3.c.base@1.0.1 deleted file mode 100644 index 3c5eda7..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/RTE/Device/ARMCM3/system_ARMCM3.c.base@1.0.1 +++ /dev/null @@ -1,65 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM3.c - * @brief CMSIS Device System Source File for - * ARMCM3 Device - * @version V1.0.1 - * @date 15. November 2019 - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "ARMCM3.h" - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t) &(__VECTOR_TABLE[0]); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/RTE/Device/ARMCM3/tiac_arm.cmd b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/RTE/Device/ARMCM3/tiac_arm.cmd deleted file mode 100644 index 391dda4..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/RTE/Device/ARMCM3/tiac_arm.cmd +++ /dev/null @@ -1,41 +0,0 @@ -/****************************************************************************/ -/* tiac_arm.cmd - COMMAND FILE FOR LINKING ARM C PROGRAMS */ -/* */ -/* Description: This file is a sample command file that can be used */ -/* for linking programs built with the TI Arm Clang */ -/* Compiler. Use it as a guideline; you may want to change */ -/* the allocation scheme according to the size of your */ -/* program and the memory layout of your target system. */ -/* */ -/****************************************************************************/ --c /* LINK USING C CONVENTIONS */ --stack 0x4000 /* SOFTWARE STACK SIZE */ --heap 0x4000 /* HEAP AREA SIZE */ ---args 0x1000 - -/* SPECIFY THE SYSTEM MEMORY MAP */ -MEMORY -{ - V_MEM : org = 0x00000000 len = 0x00001000 /* INT VECTOR */ - P_MEM : org = 0x00001000 len = 0x20000000 /* PROGRAM MEMORY (ROM) */ - D_MEM : org = 0x20001000 len = 0x20000000 /* DATA MEMORY (RAM) */ -} - -/* SPECIFY THE SECTIONS ALLOCATION INTO MEMORY */ -SECTIONS -{ - .intvecs : {} > 0x0 /* INTERRUPT VECTORS */ - .bss : {} > D_MEM /* GLOBAL & STATIC VARS */ - .data : {} > D_MEM - .sysmem : {} > D_MEM /* DYNAMIC MEMORY ALLOCATION AREA */ - .stack : {} > D_MEM /* SOFTWARE SYSTEM STACK */ - - .text : {} > P_MEM /* CODE */ - .cinit : {} > P_MEM /* INITIALIZATION TABLES */ - .const : {} > P_MEM /* CONSTANT DATA */ - .rodata : {} > P_MEM, palign(4) - .init_array : {} > P_MEM /* C++ CONSTRUCTOR TABLES */ - - - .TI.ramfunc : {} load=P_MEM, run=D_MEM, table(BINIT) -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/Target.clayer.yml b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/Target.clayer.yml deleted file mode 100644 index ee45512..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/Target.clayer.yml +++ /dev/null @@ -1,22 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/1.3.0/tools/projmgr/schemas/clayer.schema.json - -layer: - # type: Target - description: Target setup - - # packs: - # - pack: ARM::CMSIS - - components: - # [Cvendor::] Cclass [&Cbundle] :Cgroup [:Csub] [&Cvariant] [@[>=]Cversion] - - component: ARM::CMSIS:CORE - - component: Device:Startup&C Startup - - misc: - - for-compiler: IAR - Link: [--config generic_cortex.icf] - - groups: - - group: VHT/FVP - files: - - file: ./model_config.txt diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/model_config.txt b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/model_config.txt deleted file mode 100644 index 5b61c6e..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM3/model_config.txt +++ /dev/null @@ -1,13 +0,0 @@ -# Parameters: -# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] -#---------------------------------------------------------------------------------------------- -fvp_mps2.mps2_visualisation.disable-visualisation=1 # (bool , init-time) default = '0' : Enable/disable visualisation -armcortexm3ct.semihosting-enable=1 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. -armcortexm3ct.semihosting-Thumb_SVC=0xAB # (int , init-time) default = '0xAB' : T32 SVC number for semihosting : [0x0..0xFF] -armcortexm3ct.semihosting-cmd_line="" # (string, init-time) default = '' : Command line available to semihosting SVC calls -armcortexm3ct.semihosting-heap_base=0x0 # (int , init-time) default = '0x0' : Virtual address of heap base : [0x0..0xFFFFFFFF] -armcortexm3ct.semihosting-heap_limit=0x0 # (int , init-time) default = '0x10700000' : Virtual address of top of heap : [0x0..0xFFFFFFFF] -armcortexm3ct.semihosting-stack_base=0x0 # (int , init-time) default = '0x10700000' : Virtual address of base of descending stack : [0x0..0xFFFFFFFF] -armcortexm3ct.semihosting-stack_limit=0x0 # (int , init-time) default = '0x10800000' : Virtual address of stack limit : [0x0..0xFFFFFFFF] -armcortexm3ct.semihosting-cwd="" # (string, init-time) default = '' : Base directory for semihosting file access. -#---------------------------------------------------------------------------------------------- diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33/RTE/Device/ARMCM33_DSP_FP/ARMCM33_ac6.sct b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33/RTE/Device/ARMCM33_DSP_FP/ARMCM33_ac6.sct deleted file mode 100644 index a62975f..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33/RTE/Device/ARMCM33_DSP_FP/ARMCM33_ac6.sct +++ /dev/null @@ -1,123 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m33 -xc -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m33 -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_SIZE 0x200 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE ( __RAM_SIZE - __STACK_SIZE - __HEAP_SIZE - __STACKSEAL_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33/RTE/Device/ARMCM33_DSP_FP/gcc_arm.ld b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33/RTE/Device/ARMCM33_DSP_FP/gcc_arm.ld deleted file mode 100644 index c8f0efe..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33/RTE/Device/ARMCM33_DSP_FP/gcc_arm.ld +++ /dev/null @@ -1,316 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.2.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00040000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00020000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -/* ARMv8-M stack sealing: - to use ARMv8-M stack sealing set __STACKSEAL_SIZE to 8 otherwise keep 0 - */ -__STACKSEAL_SIZE = 0; - - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - * __StackSeal (only if ARMv8-M stack sealing is used) - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ -/* - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH -*/ - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* ARMv8-M stack sealing: - to use ARMv8-M stack sealing uncomment '.stackseal' section - */ -/* - .stackseal (ORIGIN(RAM) + LENGTH(RAM) - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackSeal = .; - . = . + 8; - . = ALIGN(8); - } > RAM -*/ - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33/RTE/Device/ARMCM33_DSP_FP/startup_ARMCM33.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33/RTE/Device/ARMCM33_DSP_FP/startup_ARMCM33.c deleted file mode 100644 index 044feb7..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33/RTE/Device/ARMCM33_DSP_FP/startup_ARMCM33.c +++ /dev/null @@ -1,170 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM33.c - * @brief CMSIS-Core Device Startup File for Cortex-M33 Device - * @version V2.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM33) - #include "ARMCM33.h" -#elif defined (ARMCM33_TZ) - #include "ARMCM33_TZ.h" -#elif defined (ARMCM33_DSP_FP) - #include "ARMCM33_DSP_FP.h" -#elif defined (ARMCM33_DSP_FP_TZ) - #include "ARMCM33_DSP_FP_TZ.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SecureFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - SecureFault_Handler, /* -9 Secure Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVCall Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 480 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33/RTE/Device/ARMCM33_DSP_FP/startup_ARMCM33.c.base@2.1.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33/RTE/Device/ARMCM33_DSP_FP/startup_ARMCM33.c.base@2.1.0 deleted file mode 100644 index 044feb7..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33/RTE/Device/ARMCM33_DSP_FP/startup_ARMCM33.c.base@2.1.0 +++ /dev/null @@ -1,170 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM33.c - * @brief CMSIS-Core Device Startup File for Cortex-M33 Device - * @version V2.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM33) - #include "ARMCM33.h" -#elif defined (ARMCM33_TZ) - #include "ARMCM33_TZ.h" -#elif defined (ARMCM33_DSP_FP) - #include "ARMCM33_DSP_FP.h" -#elif defined (ARMCM33_DSP_FP_TZ) - #include "ARMCM33_DSP_FP_TZ.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SecureFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - SecureFault_Handler, /* -9 Secure Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVCall Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 480 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33/RTE/Device/ARMCM33_DSP_FP/system_ARMCM33.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33/RTE/Device/ARMCM33_DSP_FP/system_ARMCM33.c deleted file mode 100644 index 919b8bd..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33/RTE/Device/ARMCM33_DSP_FP/system_ARMCM33.c +++ /dev/null @@ -1,97 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM33.c - * @brief CMSIS Device System Source File for - * ARMCM33 Device - * @version V1.0.1 - * @date 15. November 2019 - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM33) - #include "ARMCM33.h" -#elif defined (ARMCM33_TZ) - #include "ARMCM33_TZ.h" - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM33.h" - #endif -#elif defined (ARMCM33_DSP_FP) - #include "ARMCM33_DSP_FP.h" -#elif defined (ARMCM33_DSP_FP_TZ) - #include "ARMCM33_DSP_FP_TZ.h" - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM33.h" - #endif -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t) &(__VECTOR_TABLE[0]); -#endif - -#if defined (__FPU_USED) && (__FPU_USED == 1U) - SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ - (3U << 11U*2U) ); /* enable CP11 Full Access */ -#endif - -#ifdef UNALIGNED_SUPPORT_DISABLE - SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; -#endif - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - TZ_SAU_Setup(); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33/RTE/Device/ARMCM33_DSP_FP/tiac_arm.cmd b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33/RTE/Device/ARMCM33_DSP_FP/tiac_arm.cmd deleted file mode 100644 index 391dda4..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33/RTE/Device/ARMCM33_DSP_FP/tiac_arm.cmd +++ /dev/null @@ -1,41 +0,0 @@ -/****************************************************************************/ -/* tiac_arm.cmd - COMMAND FILE FOR LINKING ARM C PROGRAMS */ -/* */ -/* Description: This file is a sample command file that can be used */ -/* for linking programs built with the TI Arm Clang */ -/* Compiler. Use it as a guideline; you may want to change */ -/* the allocation scheme according to the size of your */ -/* program and the memory layout of your target system. */ -/* */ -/****************************************************************************/ --c /* LINK USING C CONVENTIONS */ --stack 0x4000 /* SOFTWARE STACK SIZE */ --heap 0x4000 /* HEAP AREA SIZE */ ---args 0x1000 - -/* SPECIFY THE SYSTEM MEMORY MAP */ -MEMORY -{ - V_MEM : org = 0x00000000 len = 0x00001000 /* INT VECTOR */ - P_MEM : org = 0x00001000 len = 0x20000000 /* PROGRAM MEMORY (ROM) */ - D_MEM : org = 0x20001000 len = 0x20000000 /* DATA MEMORY (RAM) */ -} - -/* SPECIFY THE SECTIONS ALLOCATION INTO MEMORY */ -SECTIONS -{ - .intvecs : {} > 0x0 /* INTERRUPT VECTORS */ - .bss : {} > D_MEM /* GLOBAL & STATIC VARS */ - .data : {} > D_MEM - .sysmem : {} > D_MEM /* DYNAMIC MEMORY ALLOCATION AREA */ - .stack : {} > D_MEM /* SOFTWARE SYSTEM STACK */ - - .text : {} > P_MEM /* CODE */ - .cinit : {} > P_MEM /* INITIALIZATION TABLES */ - .const : {} > P_MEM /* CONSTANT DATA */ - .rodata : {} > P_MEM, palign(4) - .init_array : {} > P_MEM /* C++ CONSTRUCTOR TABLES */ - - - .TI.ramfunc : {} load=P_MEM, run=D_MEM, table(BINIT) -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33/Target.clayer.yml b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33/Target.clayer.yml deleted file mode 100644 index ee45512..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33/Target.clayer.yml +++ /dev/null @@ -1,22 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/1.3.0/tools/projmgr/schemas/clayer.schema.json - -layer: - # type: Target - description: Target setup - - # packs: - # - pack: ARM::CMSIS - - components: - # [Cvendor::] Cclass [&Cbundle] :Cgroup [:Csub] [&Cvariant] [@[>=]Cversion] - - component: ARM::CMSIS:CORE - - component: Device:Startup&C Startup - - misc: - - for-compiler: IAR - Link: [--config generic_cortex.icf] - - groups: - - group: VHT/FVP - files: - - file: ./model_config.txt diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33/model_config.txt b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33/model_config.txt deleted file mode 100644 index 271fd6c..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33/model_config.txt +++ /dev/null @@ -1,32 +0,0 @@ -# Parameters: -# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] -#---------------------------------------------------------------------------------------------- -fvp_mps2.mps2_visualisation.disable-visualisation=1 # (bool , init-time) default = '0' : Enable/disable visualisation -cpu0.FPU=1 # (bool , init-time) default = '1' : Set whether the model has VFP support -cpu0.DSP=1 # (bool , init-time) default = '1' : Set whether the model has the DSP extension -cpu0.semihosting-enable=1 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. -cpu0.semihosting-Thumb_SVC=0xAB # (int , init-time) default = '0xAB' : T32 SVC number for semihosting : [0x0..0xFF] -cpu0.semihosting-cmd_line="" # (string, init-time) default = '' : Command line available to semihosting SVC calls -cpu0.semihosting-heap_base=0x0 # (int , init-time) default = '0x0' : Virtual address of heap base : [0x0..0xFFFFFFFF] -cpu0.semihosting-heap_limit=0x0 # (int , init-time) default = '0x10700000' : Virtual address of top of heap : [0x0..0xFFFFFFFF] -cpu0.semihosting-stack_base=0x0 # (int , init-time) default = '0x10700000' : Virtual address of base of descending stack : [0x0..0xFFFFFFFF] -cpu0.semihosting-stack_limit=0x0 # (int , init-time) default = '0x10800000' : Virtual address of stack limit : [0x0..0xFFFFFFFF] -cpu0.semihosting-cwd="" # (string, init-time) default = '' : Base directory for semihosting file access. -cpu0.MPU_S=0x8 # (int , init-time) default = '0x8' : Number of regions in the Secure MPU. If Security Extentions are absent, this is ignored : [0x0..0x10] -cpu0.MPU_NS=0x8 # (int , init-time) default = '0x8' : Number of regions in the Non-Secure MPU. If Security Extentions are absent, this is the total number of MPU regions : [0x0..0x10] -cpu0.ITM=0 # (bool , init-time) default = '1' : Level of instrumentation trace supported. false : No ITM trace included, true: ITM trace included -cpu0.IRQLVL=0x3 # (int , init-time) default = '0x3' : Number of bits of interrupt priority : [0x3..0x8] -cpu0.BIGENDINIT=0 # (bool , init-time) default = '0' : Initialize processor to big endian mode -cpu0.INITSVTOR=0x00000000 # (int , init-time) default = '0x10000000' : Secure vector-table offset at reset : [0x0..0xFFFFFF80] -cpu0.INITNSVTOR=0x0 # (int , init-time) default = '0x0' : Non-Secure vector-table offset at reset : [0x0..0xFFFFFF80] -cpu0.SAU=0x0 # (int , init-time) default = '0x4' : Number of SAU regions (0 => no SAU) : [0x0..0x8] -cpu0.SAU_CTRL.ENABLE=0 # (bool , init-time) default = '0' : Enable SAU at reset -cpu0.SAU_CTRL.ALLNS=0 # (bool , init-time) default = '0' : At reset, the SAU treats entire memory space as NS when the SAU is disabled if this is set -idau.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' : -cpu0.LOCK_SAU=0 # (bool , init-time) default = '0' : Lock down of SAU registers write -cpu0.LOCK_S_MPU=0 # (bool , init-time) default = '0' : Lock down of Secure MPU registers write -cpu0.LOCK_NS_MPU=0 # (bool , init-time) default = '0' : Lock down of Non-Secure MPU registers write -cpu0.CPIF=1 # (bool , init-time) default = '1' : Specifies whether the external coprocessor interface is included -cpu0.SECEXT=0 # (bool , init-time) default = '1' : Whether the ARMv8-M Security Extensions are included -fvp_mps2.DISABLE_GATING=1 # (bool , init-time) default = '0' : Disable Memory gating logic -#---------------------------------------------------------------------------------------------- diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33NS/RTE/Device/ARMCM33_DSP_FP_TZ/ARMCM33_ac6.sct b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33NS/RTE/Device/ARMCM33_DSP_FP_TZ/ARMCM33_ac6.sct deleted file mode 100644 index 94b99d5..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33NS/RTE/Device/ARMCM33_DSP_FP_TZ/ARMCM33_ac6.sct +++ /dev/null @@ -1,123 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m33 -xc -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m33 -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00200000 -#define __ROM_SIZE 0x00200000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20200000 -#define __RAM_SIZE 0x00200000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000400 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_SIZE 0x200 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE ( __RAM_SIZE - __STACK_SIZE - __HEAP_SIZE - __STACKSEAL_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33NS/RTE/Device/ARMCM33_DSP_FP_TZ/gcc_arm.ld b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33NS/RTE/Device/ARMCM33_DSP_FP_TZ/gcc_arm.ld deleted file mode 100644 index 6058784..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33NS/RTE/Device/ARMCM33_DSP_FP_TZ/gcc_arm.ld +++ /dev/null @@ -1,316 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.2.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00200000; -__ROM_SIZE = 0x00200000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20200000; -__RAM_SIZE = 0x00200000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -/* ARMv8-M stack sealing: - to use ARMv8-M stack sealing set __STACKSEAL_SIZE to 8 otherwise keep 0 - */ -__STACKSEAL_SIZE = 0; - - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - * __StackSeal (only if ARMv8-M stack sealing is used) - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ -/* - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH -*/ - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* ARMv8-M stack sealing: - to use ARMv8-M stack sealing uncomment '.stackseal' section - */ -/* - .stackseal (ORIGIN(RAM) + LENGTH(RAM) - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackSeal = .; - . = . + 8; - . = ALIGN(8); - } > RAM -*/ - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33NS/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33NS/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.c deleted file mode 100644 index 044feb7..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33NS/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.c +++ /dev/null @@ -1,170 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM33.c - * @brief CMSIS-Core Device Startup File for Cortex-M33 Device - * @version V2.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM33) - #include "ARMCM33.h" -#elif defined (ARMCM33_TZ) - #include "ARMCM33_TZ.h" -#elif defined (ARMCM33_DSP_FP) - #include "ARMCM33_DSP_FP.h" -#elif defined (ARMCM33_DSP_FP_TZ) - #include "ARMCM33_DSP_FP_TZ.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SecureFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - SecureFault_Handler, /* -9 Secure Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVCall Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 480 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33NS/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.c.base@2.1.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33NS/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.c.base@2.1.0 deleted file mode 100644 index 044feb7..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33NS/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.c.base@2.1.0 +++ /dev/null @@ -1,170 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM33.c - * @brief CMSIS-Core Device Startup File for Cortex-M33 Device - * @version V2.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM33) - #include "ARMCM33.h" -#elif defined (ARMCM33_TZ) - #include "ARMCM33_TZ.h" -#elif defined (ARMCM33_DSP_FP) - #include "ARMCM33_DSP_FP.h" -#elif defined (ARMCM33_DSP_FP_TZ) - #include "ARMCM33_DSP_FP_TZ.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SecureFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - SecureFault_Handler, /* -9 Secure Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVCall Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 480 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33NS/RTE/Device/ARMCM33_DSP_FP_TZ/system_ARMCM33.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33NS/RTE/Device/ARMCM33_DSP_FP_TZ/system_ARMCM33.c deleted file mode 100644 index 919b8bd..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33NS/RTE/Device/ARMCM33_DSP_FP_TZ/system_ARMCM33.c +++ /dev/null @@ -1,97 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM33.c - * @brief CMSIS Device System Source File for - * ARMCM33 Device - * @version V1.0.1 - * @date 15. November 2019 - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM33) - #include "ARMCM33.h" -#elif defined (ARMCM33_TZ) - #include "ARMCM33_TZ.h" - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM33.h" - #endif -#elif defined (ARMCM33_DSP_FP) - #include "ARMCM33_DSP_FP.h" -#elif defined (ARMCM33_DSP_FP_TZ) - #include "ARMCM33_DSP_FP_TZ.h" - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM33.h" - #endif -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t) &(__VECTOR_TABLE[0]); -#endif - -#if defined (__FPU_USED) && (__FPU_USED == 1U) - SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ - (3U << 11U*2U) ); /* enable CP11 Full Access */ -#endif - -#ifdef UNALIGNED_SUPPORT_DISABLE - SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; -#endif - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - TZ_SAU_Setup(); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33NS/Target.clayer.yml b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33NS/Target.clayer.yml deleted file mode 100644 index ee45512..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33NS/Target.clayer.yml +++ /dev/null @@ -1,22 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/1.3.0/tools/projmgr/schemas/clayer.schema.json - -layer: - # type: Target - description: Target setup - - # packs: - # - pack: ARM::CMSIS - - components: - # [Cvendor::] Cclass [&Cbundle] :Cgroup [:Csub] [&Cvariant] [@[>=]Cversion] - - component: ARM::CMSIS:CORE - - component: Device:Startup&C Startup - - misc: - - for-compiler: IAR - Link: [--config generic_cortex.icf] - - groups: - - group: VHT/FVP - files: - - file: ./model_config.txt diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33NS/model_config.txt b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33NS/model_config.txt deleted file mode 100644 index 656fbb5..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33NS/model_config.txt +++ /dev/null @@ -1,32 +0,0 @@ -# Parameters: -# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] -#---------------------------------------------------------------------------------------------- -fvp_mps2.mps2_visualisation.disable-visualisation=1 # (bool , init-time) default = '0' : Enable/disable visualisation -cpu0.FPU=1 # (bool , init-time) default = '1' : Set whether the model has VFP support -cpu0.DSP=1 # (bool , init-time) default = '1' : Set whether the model has the DSP extension -cpu0.semihosting-enable=1 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. -cpu0.semihosting-Thumb_SVC=0xAB # (int , init-time) default = '0xAB' : T32 SVC number for semihosting : [0x0..0xFF] -cpu0.semihosting-cmd_line="" # (string, init-time) default = '' : Command line available to semihosting SVC calls -cpu0.semihosting-heap_base=0x0 # (int , init-time) default = '0x0' : Virtual address of heap base : [0x0..0xFFFFFFFF] -cpu0.semihosting-heap_limit=0x0 # (int , init-time) default = '0x10700000' : Virtual address of top of heap : [0x0..0xFFFFFFFF] -cpu0.semihosting-stack_base=0x0 # (int , init-time) default = '0x10700000' : Virtual address of base of descending stack : [0x0..0xFFFFFFFF] -cpu0.semihosting-stack_limit=0x0 # (int , init-time) default = '0x10800000' : Virtual address of stack limit : [0x0..0xFFFFFFFF] -cpu0.semihosting-cwd="" # (string, init-time) default = '' : Base directory for semihosting file access. -cpu0.MPU_S=0x8 # (int , init-time) default = '0x8' : Number of regions in the Secure MPU. If Security Extentions are absent, this is ignored : [0x0..0x10] -cpu0.MPU_NS=0x8 # (int , init-time) default = '0x8' : Number of regions in the Non-Secure MPU. If Security Extentions are absent, this is the total number of MPU regions : [0x0..0x10] -cpu0.ITM=0 # (bool , init-time) default = '1' : Level of instrumentation trace supported. false : No ITM trace included, true: ITM trace included -cpu0.IRQLVL=0x3 # (int , init-time) default = '0x3' : Number of bits of interrupt priority : [0x3..0x8] -cpu0.BIGENDINIT=0 # (bool , init-time) default = '0' : Initialize processor to big endian mode -cpu0.INITSVTOR=0x00000000 # (int , init-time) default = '0x10000000' : Secure vector-table offset at reset : [0x0..0xFFFFFF80] -cpu0.INITNSVTOR=0x0 # (int , init-time) default = '0x0' : Non-Secure vector-table offset at reset : [0x0..0xFFFFFF80] -cpu0.SAU=0x8 # (int , init-time) default = '0x4' : Number of SAU regions (0 => no SAU) : [0x0..0x8] -cpu0.SAU_CTRL.ENABLE=0 # (bool , init-time) default = '0' : Enable SAU at reset -cpu0.SAU_CTRL.ALLNS=0 # (bool , init-time) default = '0' : At reset, the SAU treats entire memory space as NS when the SAU is disabled if this is set -idau.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' : -cpu0.LOCK_SAU=0 # (bool , init-time) default = '0' : Lock down of SAU registers write -cpu0.LOCK_S_MPU=0 # (bool , init-time) default = '0' : Lock down of Secure MPU registers write -cpu0.LOCK_NS_MPU=0 # (bool , init-time) default = '0' : Lock down of Non-Secure MPU registers write -cpu0.CPIF=1 # (bool , init-time) default = '1' : Specifies whether the external coprocessor interface is included -cpu0.SECEXT=1 # (bool , init-time) default = '1' : Whether the ARMv8-M Security Extensions are included -fvp_mps2.DISABLE_GATING=1 # (bool , init-time) default = '0' : Disable Memory gating logic -#---------------------------------------------------------------------------------------------- diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S/RTE/Device/ARMCM33_DSP_FP_TZ/ARMCM33_ac6_s.sct b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S/RTE/Device/ARMCM33_DSP_FP_TZ/ARMCM33_ac6_s.sct deleted file mode 100644 index ea28bfc..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S/RTE/Device/ARMCM33_DSP_FP_TZ/ARMCM33_ac6_s.sct +++ /dev/null @@ -1,123 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m33 -xc -mcmse -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m33 -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00200000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00200000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000400 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_SIZE 0x200 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE ( __RAM_SIZE - __STACK_SIZE - __HEAP_SIZE - __STACKSEAL_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S/RTE/Device/ARMCM33_DSP_FP_TZ/gcc_arm.ld b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S/RTE/Device/ARMCM33_DSP_FP_TZ/gcc_arm.ld deleted file mode 100644 index f44186e..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S/RTE/Device/ARMCM33_DSP_FP_TZ/gcc_arm.ld +++ /dev/null @@ -1,316 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.2.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00200000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00200000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -/* ARMv8-M stack sealing: - to use ARMv8-M stack sealing set __STACKSEAL_SIZE to 8 otherwise keep 0 - */ -__STACKSEAL_SIZE = 8; - - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - * __StackSeal (only if ARMv8-M stack sealing is used) - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ - - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH - - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* ARMv8-M stack sealing: - to use ARMv8-M stack sealing uncomment '.stackseal' section - */ - - .stackseal (ORIGIN(RAM) + LENGTH(RAM) - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackSeal = .; - . = . + 8; - . = ALIGN(8); - } > RAM - - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S/RTE/Device/ARMCM33_DSP_FP_TZ/partition_ARMCM33.h b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S/RTE/Device/ARMCM33_DSP_FP_TZ/partition_ARMCM33.h deleted file mode 100644 index a7cb0d7..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S/RTE/Device/ARMCM33_DSP_FP_TZ/partition_ARMCM33.h +++ /dev/null @@ -1,1260 +0,0 @@ -/**************************************************************************//** - * @file partition_ARMCM33.h - * @brief CMSIS-CORE Initial Setup for Secure / Non-Secure Zones for ARMCM33 - * @version V1.1.1 - * @date 12. March 2019 - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef PARTITION_ARMCM33_H -#define PARTITION_ARMCM33_H - -/* -//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- -*/ - -/* -// Initialize Security Attribution Unit (SAU) CTRL register -*/ -#define SAU_INIT_CTRL 1 - -/* -// Enable SAU -// Value for SAU->CTRL register bit ENABLE -*/ -#define SAU_INIT_CTRL_ENABLE 1 - -/* -// When SAU is disabled -// <0=> All Memory is Secure -// <1=> All Memory is Non-Secure -// Value for SAU->CTRL register bit ALLNS -// When all Memory is Non-Secure (ALLNS is 1), IDAU can override memory map configuration. -*/ -#define SAU_INIT_CTRL_ALLNS 0 - -/* -// -*/ - -/* -// Initialize Security Attribution Unit (SAU) Address Regions -// SAU configuration specifies regions to be one of: -// - Secure and Non-Secure Callable -// - Non-Secure -// Note: All memory regions not configured by SAU are Secure -*/ -#define SAU_REGIONS_MAX 8 /* Max. number of SAU regions */ - -/* -// Initialize SAU Region 0 -// Setup SAU Region 0 memory attributes -*/ -#define SAU_INIT_REGION0 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START0 0x00000000 /* start address of SAU region 0 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END0 0x001FFFFF /* end address of SAU region 0 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC0 1 -/* -// -*/ - -/* -// Initialize SAU Region 1 -// Setup SAU Region 1 memory attributes -*/ -#define SAU_INIT_REGION1 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START1 0x00200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END1 0x003FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC1 0 -/* -// -*/ - -/* -// Initialize SAU Region 2 -// Setup SAU Region 2 memory attributes -*/ -#define SAU_INIT_REGION2 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START2 0x20200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END2 0x203FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC2 0 -/* -// -*/ - -/* -// Initialize SAU Region 3 -// Setup SAU Region 3 memory attributes -*/ -#define SAU_INIT_REGION3 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START3 0x40000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END3 0x40040000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC3 0 -/* -// -*/ - -/* -// Initialize SAU Region 4 -// Setup SAU Region 4 memory attributes -*/ -#define SAU_INIT_REGION4 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START4 0x00000000 /* start address of SAU region 4 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END4 0x00000000 /* end address of SAU region 4 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC4 0 -/* -// -*/ - -/* -// Initialize SAU Region 5 -// Setup SAU Region 5 memory attributes -*/ -#define SAU_INIT_REGION5 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START5 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END5 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC5 0 -/* -// -*/ - -/* -// Initialize SAU Region 6 -// Setup SAU Region 6 memory attributes -*/ -#define SAU_INIT_REGION6 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START6 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END6 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC6 0 -/* -// -*/ - -/* -// Initialize SAU Region 7 -// Setup SAU Region 7 memory attributes -*/ -#define SAU_INIT_REGION7 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START7 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END7 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC7 0 -/* -// -*/ - -/* -// -*/ - -/* -// Setup behaviour of Sleep and Exception Handling -*/ -#define SCB_CSR_AIRCR_INIT 1 - -/* -// Deep Sleep can be enabled by -// <0=>Secure and Non-Secure state -// <1=>Secure state only -// Value for SCB->CSR register bit DEEPSLEEPS -*/ -#define SCB_CSR_DEEPSLEEPS_VAL 1 - -/* -// System reset request accessible from -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for SCB->AIRCR register bit SYSRESETREQS -*/ -#define SCB_AIRCR_SYSRESETREQS_VAL 1 - -/* -// Priority of Non-Secure exceptions is -// <0=> Not altered -// <1=> Lowered to 0x80-0xFF -// Value for SCB->AIRCR register bit PRIS -*/ -#define SCB_AIRCR_PRIS_VAL 1 - -/* -// BusFault, HardFault, and NMI target -// <0=> Secure state -// <1=> Non-Secure state -// Value for SCB->AIRCR register bit BFHFNMINS -*/ -#define SCB_AIRCR_BFHFNMINS_VAL 0 - -/* -// -*/ - -/* -// Setup behaviour of Floating Point Unit -*/ -#define TZ_FPU_NS_USAGE 1 - -/* -// Floating Point Unit usage -// <0=> Secure state only -// <3=> Secure and Non-Secure state -// Value for SCB->NSACR register bits CP10, CP11 -*/ -#define SCB_NSACR_CP10_11_VAL 3 - -/* -// Treat floating-point registers as Secure -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit TS -*/ -#define FPU_FPCCR_TS_VAL 0 - -/* -// Clear on return (CLRONRET) accessibility -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for FPU->FPCCR register bit CLRONRETS -*/ -#define FPU_FPCCR_CLRONRETS_VAL 0 - -/* -// Clear floating-point caller saved registers on exception return -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit CLRONRET -*/ -#define FPU_FPCCR_CLRONRET_VAL 1 - -/* -// -*/ - -/* -// Setup Interrupt Target -*/ - -/* -// Initialize ITNS 0 (Interrupts 0..31) -*/ -#define NVIC_INIT_ITNS0 1 - -/* -// Interrupts 0..31 -// Interrupt 0 <0=> Secure state <1=> Non-Secure state -// Interrupt 1 <0=> Secure state <1=> Non-Secure state -// Interrupt 2 <0=> Secure state <1=> Non-Secure state -// Interrupt 3 <0=> Secure state <1=> Non-Secure state -// Interrupt 4 <0=> Secure state <1=> Non-Secure state -// Interrupt 5 <0=> Secure state <1=> Non-Secure state -// Interrupt 6 <0=> Secure state <1=> Non-Secure state -// Interrupt 7 <0=> Secure state <1=> Non-Secure state -// Interrupt 8 <0=> Secure state <1=> Non-Secure state -// Interrupt 9 <0=> Secure state <1=> Non-Secure state -// Interrupt 10 <0=> Secure state <1=> Non-Secure state -// Interrupt 11 <0=> Secure state <1=> Non-Secure state -// Interrupt 12 <0=> Secure state <1=> Non-Secure state -// Interrupt 13 <0=> Secure state <1=> Non-Secure state -// Interrupt 14 <0=> Secure state <1=> Non-Secure state -// Interrupt 15 <0=> Secure state <1=> Non-Secure state -// Interrupt 16 <0=> Secure state <1=> Non-Secure state -// Interrupt 17 <0=> Secure state <1=> Non-Secure state -// Interrupt 18 <0=> Secure state <1=> Non-Secure state -// Interrupt 19 <0=> Secure state <1=> Non-Secure state -// Interrupt 20 <0=> Secure state <1=> Non-Secure state -// Interrupt 21 <0=> Secure state <1=> Non-Secure state -// Interrupt 22 <0=> Secure state <1=> Non-Secure state -// Interrupt 23 <0=> Secure state <1=> Non-Secure state -// Interrupt 24 <0=> Secure state <1=> Non-Secure state -// Interrupt 25 <0=> Secure state <1=> Non-Secure state -// Interrupt 26 <0=> Secure state <1=> Non-Secure state -// Interrupt 27 <0=> Secure state <1=> Non-Secure state -// Interrupt 28 <0=> Secure state <1=> Non-Secure state -// Interrupt 29 <0=> Secure state <1=> Non-Secure state -// Interrupt 30 <0=> Secure state <1=> Non-Secure state -// Interrupt 31 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS0_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 1 (Interrupts 32..63) -*/ -#define NVIC_INIT_ITNS1 1 - -/* -// Interrupts 32..63 -// Interrupt 32 <0=> Secure state <1=> Non-Secure state -// Interrupt 33 <0=> Secure state <1=> Non-Secure state -// Interrupt 34 <0=> Secure state <1=> Non-Secure state -// Interrupt 35 <0=> Secure state <1=> Non-Secure state -// Interrupt 36 <0=> Secure state <1=> Non-Secure state -// Interrupt 37 <0=> Secure state <1=> Non-Secure state -// Interrupt 38 <0=> Secure state <1=> Non-Secure state -// Interrupt 39 <0=> Secure state <1=> Non-Secure state -// Interrupt 40 <0=> Secure state <1=> Non-Secure state -// Interrupt 41 <0=> Secure state <1=> Non-Secure state -// Interrupt 42 <0=> Secure state <1=> Non-Secure state -// Interrupt 43 <0=> Secure state <1=> Non-Secure state -// Interrupt 44 <0=> Secure state <1=> Non-Secure state -// Interrupt 45 <0=> Secure state <1=> Non-Secure state -// Interrupt 46 <0=> Secure state <1=> Non-Secure state -// Interrupt 47 <0=> Secure state <1=> Non-Secure state -// Interrupt 48 <0=> Secure state <1=> Non-Secure state -// Interrupt 49 <0=> Secure state <1=> Non-Secure state -// Interrupt 50 <0=> Secure state <1=> Non-Secure state -// Interrupt 51 <0=> Secure state <1=> Non-Secure state -// Interrupt 52 <0=> Secure state <1=> Non-Secure state -// Interrupt 53 <0=> Secure state <1=> Non-Secure state -// Interrupt 54 <0=> Secure state <1=> Non-Secure state -// Interrupt 55 <0=> Secure state <1=> Non-Secure state -// Interrupt 56 <0=> Secure state <1=> Non-Secure state -// Interrupt 57 <0=> Secure state <1=> Non-Secure state -// Interrupt 58 <0=> Secure state <1=> Non-Secure state -// Interrupt 59 <0=> Secure state <1=> Non-Secure state -// Interrupt 60 <0=> Secure state <1=> Non-Secure state -// Interrupt 61 <0=> Secure state <1=> Non-Secure state -// Interrupt 62 <0=> Secure state <1=> Non-Secure state -// Interrupt 63 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS1_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 2 (Interrupts 64..95) -*/ -#define NVIC_INIT_ITNS2 0 - -/* -// Interrupts 64..95 -// Interrupt 64 <0=> Secure state <1=> Non-Secure state -// Interrupt 65 <0=> Secure state <1=> Non-Secure state -// Interrupt 66 <0=> Secure state <1=> Non-Secure state -// Interrupt 67 <0=> Secure state <1=> Non-Secure state -// Interrupt 68 <0=> Secure state <1=> Non-Secure state -// Interrupt 69 <0=> Secure state <1=> Non-Secure state -// Interrupt 70 <0=> Secure state <1=> Non-Secure state -// Interrupt 71 <0=> Secure state <1=> Non-Secure state -// Interrupt 72 <0=> Secure state <1=> Non-Secure state -// Interrupt 73 <0=> Secure state <1=> Non-Secure state -// Interrupt 74 <0=> Secure state <1=> Non-Secure state -// Interrupt 75 <0=> Secure state <1=> Non-Secure state -// Interrupt 76 <0=> Secure state <1=> Non-Secure state -// Interrupt 77 <0=> Secure state <1=> Non-Secure state -// Interrupt 78 <0=> Secure state <1=> Non-Secure state -// Interrupt 79 <0=> Secure state <1=> Non-Secure state -// Interrupt 80 <0=> Secure state <1=> Non-Secure state -// Interrupt 81 <0=> Secure state <1=> Non-Secure state -// Interrupt 82 <0=> Secure state <1=> Non-Secure state -// Interrupt 83 <0=> Secure state <1=> Non-Secure state -// Interrupt 84 <0=> Secure state <1=> Non-Secure state -// Interrupt 85 <0=> Secure state <1=> Non-Secure state -// Interrupt 86 <0=> Secure state <1=> Non-Secure state -// Interrupt 87 <0=> Secure state <1=> Non-Secure state -// Interrupt 88 <0=> Secure state <1=> Non-Secure state -// Interrupt 89 <0=> Secure state <1=> Non-Secure state -// Interrupt 90 <0=> Secure state <1=> Non-Secure state -// Interrupt 91 <0=> Secure state <1=> Non-Secure state -// Interrupt 92 <0=> Secure state <1=> Non-Secure state -// Interrupt 93 <0=> Secure state <1=> Non-Secure state -// Interrupt 94 <0=> Secure state <1=> Non-Secure state -// Interrupt 95 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS2_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 3 (Interrupts 96..127) -*/ -#define NVIC_INIT_ITNS3 0 - -/* -// Interrupts 96..127 -// Interrupt 96 <0=> Secure state <1=> Non-Secure state -// Interrupt 97 <0=> Secure state <1=> Non-Secure state -// Interrupt 98 <0=> Secure state <1=> Non-Secure state -// Interrupt 99 <0=> Secure state <1=> Non-Secure state -// Interrupt 100 <0=> Secure state <1=> Non-Secure state -// Interrupt 101 <0=> Secure state <1=> Non-Secure state -// Interrupt 102 <0=> Secure state <1=> Non-Secure state -// Interrupt 103 <0=> Secure state <1=> Non-Secure state -// Interrupt 104 <0=> Secure state <1=> Non-Secure state -// Interrupt 105 <0=> Secure state <1=> Non-Secure state -// Interrupt 106 <0=> Secure state <1=> Non-Secure state -// Interrupt 107 <0=> Secure state <1=> Non-Secure state -// Interrupt 108 <0=> Secure state <1=> Non-Secure state -// Interrupt 109 <0=> Secure state <1=> Non-Secure state -// Interrupt 110 <0=> Secure state <1=> Non-Secure state -// Interrupt 111 <0=> Secure state <1=> Non-Secure state -// Interrupt 112 <0=> Secure state <1=> Non-Secure state -// Interrupt 113 <0=> Secure state <1=> Non-Secure state -// Interrupt 114 <0=> Secure state <1=> Non-Secure state -// Interrupt 115 <0=> Secure state <1=> Non-Secure state -// Interrupt 116 <0=> Secure state <1=> Non-Secure state -// Interrupt 117 <0=> Secure state <1=> Non-Secure state -// Interrupt 118 <0=> Secure state <1=> Non-Secure state -// Interrupt 119 <0=> Secure state <1=> Non-Secure state -// Interrupt 120 <0=> Secure state <1=> Non-Secure state -// Interrupt 121 <0=> Secure state <1=> Non-Secure state -// Interrupt 122 <0=> Secure state <1=> Non-Secure state -// Interrupt 123 <0=> Secure state <1=> Non-Secure state -// Interrupt 124 <0=> Secure state <1=> Non-Secure state -// Interrupt 125 <0=> Secure state <1=> Non-Secure state -// Interrupt 126 <0=> Secure state <1=> Non-Secure state -// Interrupt 127 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS3_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 4 (Interrupts 128..159) -*/ -#define NVIC_INIT_ITNS4 0 - -/* -// Interrupts 128..159 -// Interrupt 128 <0=> Secure state <1=> Non-Secure state -// Interrupt 129 <0=> Secure state <1=> Non-Secure state -// Interrupt 130 <0=> Secure state <1=> Non-Secure state -// Interrupt 131 <0=> Secure state <1=> Non-Secure state -// Interrupt 132 <0=> Secure state <1=> Non-Secure state -// Interrupt 133 <0=> Secure state <1=> Non-Secure state -// Interrupt 134 <0=> Secure state <1=> Non-Secure state -// Interrupt 135 <0=> Secure state <1=> Non-Secure state -// Interrupt 136 <0=> Secure state <1=> Non-Secure state -// Interrupt 137 <0=> Secure state <1=> Non-Secure state -// Interrupt 138 <0=> Secure state <1=> Non-Secure state -// Interrupt 139 <0=> Secure state <1=> Non-Secure state -// Interrupt 140 <0=> Secure state <1=> Non-Secure state -// Interrupt 141 <0=> Secure state <1=> Non-Secure state -// Interrupt 142 <0=> Secure state <1=> Non-Secure state -// Interrupt 143 <0=> Secure state <1=> Non-Secure state -// Interrupt 144 <0=> Secure state <1=> Non-Secure state -// Interrupt 145 <0=> Secure state <1=> Non-Secure state -// Interrupt 146 <0=> Secure state <1=> Non-Secure state -// Interrupt 147 <0=> Secure state <1=> Non-Secure state -// Interrupt 148 <0=> Secure state <1=> Non-Secure state -// Interrupt 149 <0=> Secure state <1=> Non-Secure state -// Interrupt 150 <0=> Secure state <1=> Non-Secure state -// Interrupt 151 <0=> Secure state <1=> Non-Secure state -// Interrupt 152 <0=> Secure state <1=> Non-Secure state -// Interrupt 153 <0=> Secure state <1=> Non-Secure state -// Interrupt 154 <0=> Secure state <1=> Non-Secure state -// Interrupt 155 <0=> Secure state <1=> Non-Secure state -// Interrupt 156 <0=> Secure state <1=> Non-Secure state -// Interrupt 157 <0=> Secure state <1=> Non-Secure state -// Interrupt 158 <0=> Secure state <1=> Non-Secure state -// Interrupt 159 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS4_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 5 (Interrupts 160..191) -*/ -#define NVIC_INIT_ITNS5 0 - -/* -// Interrupts 160..191 -// Interrupt 160 <0=> Secure state <1=> Non-Secure state -// Interrupt 161 <0=> Secure state <1=> Non-Secure state -// Interrupt 162 <0=> Secure state <1=> Non-Secure state -// Interrupt 163 <0=> Secure state <1=> Non-Secure state -// Interrupt 164 <0=> Secure state <1=> Non-Secure state -// Interrupt 165 <0=> Secure state <1=> Non-Secure state -// Interrupt 166 <0=> Secure state <1=> Non-Secure state -// Interrupt 167 <0=> Secure state <1=> Non-Secure state -// Interrupt 168 <0=> Secure state <1=> Non-Secure state -// Interrupt 169 <0=> Secure state <1=> Non-Secure state -// Interrupt 170 <0=> Secure state <1=> Non-Secure state -// Interrupt 171 <0=> Secure state <1=> Non-Secure state -// Interrupt 172 <0=> Secure state <1=> Non-Secure state -// Interrupt 173 <0=> Secure state <1=> Non-Secure state -// Interrupt 174 <0=> Secure state <1=> Non-Secure state -// Interrupt 175 <0=> Secure state <1=> Non-Secure state -// Interrupt 176 <0=> Secure state <1=> Non-Secure state -// Interrupt 177 <0=> Secure state <1=> Non-Secure state -// Interrupt 178 <0=> Secure state <1=> Non-Secure state -// Interrupt 179 <0=> Secure state <1=> Non-Secure state -// Interrupt 180 <0=> Secure state <1=> Non-Secure state -// Interrupt 181 <0=> Secure state <1=> Non-Secure state -// Interrupt 182 <0=> Secure state <1=> Non-Secure state -// Interrupt 183 <0=> Secure state <1=> Non-Secure state -// Interrupt 184 <0=> Secure state <1=> Non-Secure state -// Interrupt 185 <0=> Secure state <1=> Non-Secure state -// Interrupt 186 <0=> Secure state <1=> Non-Secure state -// Interrupt 187 <0=> Secure state <1=> Non-Secure state -// Interrupt 188 <0=> Secure state <1=> Non-Secure state -// Interrupt 189 <0=> Secure state <1=> Non-Secure state -// Interrupt 190 <0=> Secure state <1=> Non-Secure state -// Interrupt 191 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS5_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 6 (Interrupts 192..223) -*/ -#define NVIC_INIT_ITNS6 0 - -/* -// Interrupts 192..223 -// Interrupt 192 <0=> Secure state <1=> Non-Secure state -// Interrupt 193 <0=> Secure state <1=> Non-Secure state -// Interrupt 194 <0=> Secure state <1=> Non-Secure state -// Interrupt 195 <0=> Secure state <1=> Non-Secure state -// Interrupt 196 <0=> Secure state <1=> Non-Secure state -// Interrupt 197 <0=> Secure state <1=> Non-Secure state -// Interrupt 198 <0=> Secure state <1=> Non-Secure state -// Interrupt 199 <0=> Secure state <1=> Non-Secure state -// Interrupt 200 <0=> Secure state <1=> Non-Secure state -// Interrupt 201 <0=> Secure state <1=> Non-Secure state -// Interrupt 202 <0=> Secure state <1=> Non-Secure state -// Interrupt 203 <0=> Secure state <1=> Non-Secure state -// Interrupt 204 <0=> Secure state <1=> Non-Secure state -// Interrupt 205 <0=> Secure state <1=> Non-Secure state -// Interrupt 206 <0=> Secure state <1=> Non-Secure state -// Interrupt 207 <0=> Secure state <1=> Non-Secure state -// Interrupt 208 <0=> Secure state <1=> Non-Secure state -// Interrupt 209 <0=> Secure state <1=> Non-Secure state -// Interrupt 210 <0=> Secure state <1=> Non-Secure state -// Interrupt 211 <0=> Secure state <1=> Non-Secure state -// Interrupt 212 <0=> Secure state <1=> Non-Secure state -// Interrupt 213 <0=> Secure state <1=> Non-Secure state -// Interrupt 214 <0=> Secure state <1=> Non-Secure state -// Interrupt 215 <0=> Secure state <1=> Non-Secure state -// Interrupt 216 <0=> Secure state <1=> Non-Secure state -// Interrupt 217 <0=> Secure state <1=> Non-Secure state -// Interrupt 218 <0=> Secure state <1=> Non-Secure state -// Interrupt 219 <0=> Secure state <1=> Non-Secure state -// Interrupt 220 <0=> Secure state <1=> Non-Secure state -// Interrupt 221 <0=> Secure state <1=> Non-Secure state -// Interrupt 222 <0=> Secure state <1=> Non-Secure state -// Interrupt 223 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS6_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 7 (Interrupts 224..255) -*/ -#define NVIC_INIT_ITNS7 0 - -/* -// Interrupts 224..255 -// Interrupt 224 <0=> Secure state <1=> Non-Secure state -// Interrupt 225 <0=> Secure state <1=> Non-Secure state -// Interrupt 226 <0=> Secure state <1=> Non-Secure state -// Interrupt 227 <0=> Secure state <1=> Non-Secure state -// Interrupt 228 <0=> Secure state <1=> Non-Secure state -// Interrupt 229 <0=> Secure state <1=> Non-Secure state -// Interrupt 230 <0=> Secure state <1=> Non-Secure state -// Interrupt 231 <0=> Secure state <1=> Non-Secure state -// Interrupt 232 <0=> Secure state <1=> Non-Secure state -// Interrupt 233 <0=> Secure state <1=> Non-Secure state -// Interrupt 234 <0=> Secure state <1=> Non-Secure state -// Interrupt 235 <0=> Secure state <1=> Non-Secure state -// Interrupt 236 <0=> Secure state <1=> Non-Secure state -// Interrupt 237 <0=> Secure state <1=> Non-Secure state -// Interrupt 238 <0=> Secure state <1=> Non-Secure state -// Interrupt 239 <0=> Secure state <1=> Non-Secure state -// Interrupt 240 <0=> Secure state <1=> Non-Secure state -// Interrupt 241 <0=> Secure state <1=> Non-Secure state -// Interrupt 242 <0=> Secure state <1=> Non-Secure state -// Interrupt 243 <0=> Secure state <1=> Non-Secure state -// Interrupt 244 <0=> Secure state <1=> Non-Secure state -// Interrupt 245 <0=> Secure state <1=> Non-Secure state -// Interrupt 246 <0=> Secure state <1=> Non-Secure state -// Interrupt 247 <0=> Secure state <1=> Non-Secure state -// Interrupt 248 <0=> Secure state <1=> Non-Secure state -// Interrupt 249 <0=> Secure state <1=> Non-Secure state -// Interrupt 250 <0=> Secure state <1=> Non-Secure state -// Interrupt 251 <0=> Secure state <1=> Non-Secure state -// Interrupt 252 <0=> Secure state <1=> Non-Secure state -// Interrupt 253 <0=> Secure state <1=> Non-Secure state -// Interrupt 254 <0=> Secure state <1=> Non-Secure state -// Interrupt 255 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS7_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 8 (Interrupts 256..287) -*/ -#define NVIC_INIT_ITNS8 0 - -/* -// Interrupts 256..287 -// Interrupt 256 <0=> Secure state <1=> Non-Secure state -// Interrupt 257 <0=> Secure state <1=> Non-Secure state -// Interrupt 258 <0=> Secure state <1=> Non-Secure state -// Interrupt 259 <0=> Secure state <1=> Non-Secure state -// Interrupt 260 <0=> Secure state <1=> Non-Secure state -// Interrupt 261 <0=> Secure state <1=> Non-Secure state -// Interrupt 262 <0=> Secure state <1=> Non-Secure state -// Interrupt 263 <0=> Secure state <1=> Non-Secure state -// Interrupt 264 <0=> Secure state <1=> Non-Secure state -// Interrupt 265 <0=> Secure state <1=> Non-Secure state -// Interrupt 266 <0=> Secure state <1=> Non-Secure state -// Interrupt 267 <0=> Secure state <1=> Non-Secure state -// Interrupt 268 <0=> Secure state <1=> Non-Secure state -// Interrupt 269 <0=> Secure state <1=> Non-Secure state -// Interrupt 270 <0=> Secure state <1=> Non-Secure state -// Interrupt 271 <0=> Secure state <1=> Non-Secure state -// Interrupt 272 <0=> Secure state <1=> Non-Secure state -// Interrupt 273 <0=> Secure state <1=> Non-Secure state -// Interrupt 274 <0=> Secure state <1=> Non-Secure state -// Interrupt 275 <0=> Secure state <1=> Non-Secure state -// Interrupt 276 <0=> Secure state <1=> Non-Secure state -// Interrupt 277 <0=> Secure state <1=> Non-Secure state -// Interrupt 278 <0=> Secure state <1=> Non-Secure state -// Interrupt 279 <0=> Secure state <1=> Non-Secure state -// Interrupt 280 <0=> Secure state <1=> Non-Secure state -// Interrupt 281 <0=> Secure state <1=> Non-Secure state -// Interrupt 282 <0=> Secure state <1=> Non-Secure state -// Interrupt 283 <0=> Secure state <1=> Non-Secure state -// Interrupt 284 <0=> Secure state <1=> Non-Secure state -// Interrupt 285 <0=> Secure state <1=> Non-Secure state -// Interrupt 286 <0=> Secure state <1=> Non-Secure state -// Interrupt 287 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS8_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 9 (Interrupts 288..319) -*/ -#define NVIC_INIT_ITNS9 0 - -/* -// Interrupts 288..319 -// Interrupt 288 <0=> Secure state <1=> Non-Secure state -// Interrupt 289 <0=> Secure state <1=> Non-Secure state -// Interrupt 290 <0=> Secure state <1=> Non-Secure state -// Interrupt 291 <0=> Secure state <1=> Non-Secure state -// Interrupt 292 <0=> Secure state <1=> Non-Secure state -// Interrupt 293 <0=> Secure state <1=> Non-Secure state -// Interrupt 294 <0=> Secure state <1=> Non-Secure state -// Interrupt 295 <0=> Secure state <1=> Non-Secure state -// Interrupt 296 <0=> Secure state <1=> Non-Secure state -// Interrupt 297 <0=> Secure state <1=> Non-Secure state -// Interrupt 298 <0=> Secure state <1=> Non-Secure state -// Interrupt 299 <0=> Secure state <1=> Non-Secure state -// Interrupt 300 <0=> Secure state <1=> Non-Secure state -// Interrupt 301 <0=> Secure state <1=> Non-Secure state -// Interrupt 302 <0=> Secure state <1=> Non-Secure state -// Interrupt 303 <0=> Secure state <1=> Non-Secure state -// Interrupt 304 <0=> Secure state <1=> Non-Secure state -// Interrupt 305 <0=> Secure state <1=> Non-Secure state -// Interrupt 306 <0=> Secure state <1=> Non-Secure state -// Interrupt 307 <0=> Secure state <1=> Non-Secure state -// Interrupt 308 <0=> Secure state <1=> Non-Secure state -// Interrupt 309 <0=> Secure state <1=> Non-Secure state -// Interrupt 310 <0=> Secure state <1=> Non-Secure state -// Interrupt 311 <0=> Secure state <1=> Non-Secure state -// Interrupt 312 <0=> Secure state <1=> Non-Secure state -// Interrupt 313 <0=> Secure state <1=> Non-Secure state -// Interrupt 314 <0=> Secure state <1=> Non-Secure state -// Interrupt 315 <0=> Secure state <1=> Non-Secure state -// Interrupt 316 <0=> Secure state <1=> Non-Secure state -// Interrupt 317 <0=> Secure state <1=> Non-Secure state -// Interrupt 318 <0=> Secure state <1=> Non-Secure state -// Interrupt 319 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS9_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 10 (Interrupts 320..351) -*/ -#define NVIC_INIT_ITNS10 0 - -/* -// Interrupts 320..351 -// Interrupt 320 <0=> Secure state <1=> Non-Secure state -// Interrupt 321 <0=> Secure state <1=> Non-Secure state -// Interrupt 322 <0=> Secure state <1=> Non-Secure state -// Interrupt 323 <0=> Secure state <1=> Non-Secure state -// Interrupt 324 <0=> Secure state <1=> Non-Secure state -// Interrupt 325 <0=> Secure state <1=> Non-Secure state -// Interrupt 326 <0=> Secure state <1=> Non-Secure state -// Interrupt 327 <0=> Secure state <1=> Non-Secure state -// Interrupt 328 <0=> Secure state <1=> Non-Secure state -// Interrupt 329 <0=> Secure state <1=> Non-Secure state -// Interrupt 330 <0=> Secure state <1=> Non-Secure state -// Interrupt 331 <0=> Secure state <1=> Non-Secure state -// Interrupt 332 <0=> Secure state <1=> Non-Secure state -// Interrupt 333 <0=> Secure state <1=> Non-Secure state -// Interrupt 334 <0=> Secure state <1=> Non-Secure state -// Interrupt 335 <0=> Secure state <1=> Non-Secure state -// Interrupt 336 <0=> Secure state <1=> Non-Secure state -// Interrupt 337 <0=> Secure state <1=> Non-Secure state -// Interrupt 338 <0=> Secure state <1=> Non-Secure state -// Interrupt 339 <0=> Secure state <1=> Non-Secure state -// Interrupt 340 <0=> Secure state <1=> Non-Secure state -// Interrupt 341 <0=> Secure state <1=> Non-Secure state -// Interrupt 342 <0=> Secure state <1=> Non-Secure state -// Interrupt 343 <0=> Secure state <1=> Non-Secure state -// Interrupt 344 <0=> Secure state <1=> Non-Secure state -// Interrupt 345 <0=> Secure state <1=> Non-Secure state -// Interrupt 346 <0=> Secure state <1=> Non-Secure state -// Interrupt 347 <0=> Secure state <1=> Non-Secure state -// Interrupt 348 <0=> Secure state <1=> Non-Secure state -// Interrupt 349 <0=> Secure state <1=> Non-Secure state -// Interrupt 350 <0=> Secure state <1=> Non-Secure state -// Interrupt 351 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS10_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 11 (Interrupts 352..383) -*/ -#define NVIC_INIT_ITNS11 0 - -/* -// Interrupts 352..383 -// Interrupt 352 <0=> Secure state <1=> Non-Secure state -// Interrupt 353 <0=> Secure state <1=> Non-Secure state -// Interrupt 354 <0=> Secure state <1=> Non-Secure state -// Interrupt 355 <0=> Secure state <1=> Non-Secure state -// Interrupt 356 <0=> Secure state <1=> Non-Secure state -// Interrupt 357 <0=> Secure state <1=> Non-Secure state -// Interrupt 358 <0=> Secure state <1=> Non-Secure state -// Interrupt 359 <0=> Secure state <1=> Non-Secure state -// Interrupt 360 <0=> Secure state <1=> Non-Secure state -// Interrupt 361 <0=> Secure state <1=> Non-Secure state -// Interrupt 362 <0=> Secure state <1=> Non-Secure state -// Interrupt 363 <0=> Secure state <1=> Non-Secure state -// Interrupt 364 <0=> Secure state <1=> Non-Secure state -// Interrupt 365 <0=> Secure state <1=> Non-Secure state -// Interrupt 366 <0=> Secure state <1=> Non-Secure state -// Interrupt 367 <0=> Secure state <1=> Non-Secure state -// Interrupt 368 <0=> Secure state <1=> Non-Secure state -// Interrupt 369 <0=> Secure state <1=> Non-Secure state -// Interrupt 370 <0=> Secure state <1=> Non-Secure state -// Interrupt 371 <0=> Secure state <1=> Non-Secure state -// Interrupt 372 <0=> Secure state <1=> Non-Secure state -// Interrupt 373 <0=> Secure state <1=> Non-Secure state -// Interrupt 374 <0=> Secure state <1=> Non-Secure state -// Interrupt 375 <0=> Secure state <1=> Non-Secure state -// Interrupt 376 <0=> Secure state <1=> Non-Secure state -// Interrupt 377 <0=> Secure state <1=> Non-Secure state -// Interrupt 378 <0=> Secure state <1=> Non-Secure state -// Interrupt 379 <0=> Secure state <1=> Non-Secure state -// Interrupt 380 <0=> Secure state <1=> Non-Secure state -// Interrupt 381 <0=> Secure state <1=> Non-Secure state -// Interrupt 382 <0=> Secure state <1=> Non-Secure state -// Interrupt 383 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS11_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 12 (Interrupts 384..415) -*/ -#define NVIC_INIT_ITNS12 0 - -/* -// Interrupts 384..415 -// Interrupt 384 <0=> Secure state <1=> Non-Secure state -// Interrupt 385 <0=> Secure state <1=> Non-Secure state -// Interrupt 386 <0=> Secure state <1=> Non-Secure state -// Interrupt 387 <0=> Secure state <1=> Non-Secure state -// Interrupt 388 <0=> Secure state <1=> Non-Secure state -// Interrupt 389 <0=> Secure state <1=> Non-Secure state -// Interrupt 390 <0=> Secure state <1=> Non-Secure state -// Interrupt 391 <0=> Secure state <1=> Non-Secure state -// Interrupt 392 <0=> Secure state <1=> Non-Secure state -// Interrupt 393 <0=> Secure state <1=> Non-Secure state -// Interrupt 394 <0=> Secure state <1=> Non-Secure state -// Interrupt 395 <0=> Secure state <1=> Non-Secure state -// Interrupt 396 <0=> Secure state <1=> Non-Secure state -// Interrupt 397 <0=> Secure state <1=> Non-Secure state -// Interrupt 398 <0=> Secure state <1=> Non-Secure state -// Interrupt 399 <0=> Secure state <1=> Non-Secure state -// Interrupt 400 <0=> Secure state <1=> Non-Secure state -// Interrupt 401 <0=> Secure state <1=> Non-Secure state -// Interrupt 402 <0=> Secure state <1=> Non-Secure state -// Interrupt 403 <0=> Secure state <1=> Non-Secure state -// Interrupt 404 <0=> Secure state <1=> Non-Secure state -// Interrupt 405 <0=> Secure state <1=> Non-Secure state -// Interrupt 406 <0=> Secure state <1=> Non-Secure state -// Interrupt 407 <0=> Secure state <1=> Non-Secure state -// Interrupt 408 <0=> Secure state <1=> Non-Secure state -// Interrupt 409 <0=> Secure state <1=> Non-Secure state -// Interrupt 410 <0=> Secure state <1=> Non-Secure state -// Interrupt 411 <0=> Secure state <1=> Non-Secure state -// Interrupt 412 <0=> Secure state <1=> Non-Secure state -// Interrupt 413 <0=> Secure state <1=> Non-Secure state -// Interrupt 414 <0=> Secure state <1=> Non-Secure state -// Interrupt 415 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS12_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 13 (Interrupts 416..447) -*/ -#define NVIC_INIT_ITNS13 0 - -/* -// Interrupts 416..447 -// Interrupt 416 <0=> Secure state <1=> Non-Secure state -// Interrupt 417 <0=> Secure state <1=> Non-Secure state -// Interrupt 418 <0=> Secure state <1=> Non-Secure state -// Interrupt 419 <0=> Secure state <1=> Non-Secure state -// Interrupt 420 <0=> Secure state <1=> Non-Secure state -// Interrupt 421 <0=> Secure state <1=> Non-Secure state -// Interrupt 422 <0=> Secure state <1=> Non-Secure state -// Interrupt 423 <0=> Secure state <1=> Non-Secure state -// Interrupt 424 <0=> Secure state <1=> Non-Secure state -// Interrupt 425 <0=> Secure state <1=> Non-Secure state -// Interrupt 426 <0=> Secure state <1=> Non-Secure state -// Interrupt 427 <0=> Secure state <1=> Non-Secure state -// Interrupt 428 <0=> Secure state <1=> Non-Secure state -// Interrupt 429 <0=> Secure state <1=> Non-Secure state -// Interrupt 430 <0=> Secure state <1=> Non-Secure state -// Interrupt 431 <0=> Secure state <1=> Non-Secure state -// Interrupt 432 <0=> Secure state <1=> Non-Secure state -// Interrupt 433 <0=> Secure state <1=> Non-Secure state -// Interrupt 434 <0=> Secure state <1=> Non-Secure state -// Interrupt 435 <0=> Secure state <1=> Non-Secure state -// Interrupt 436 <0=> Secure state <1=> Non-Secure state -// Interrupt 437 <0=> Secure state <1=> Non-Secure state -// Interrupt 438 <0=> Secure state <1=> Non-Secure state -// Interrupt 439 <0=> Secure state <1=> Non-Secure state -// Interrupt 440 <0=> Secure state <1=> Non-Secure state -// Interrupt 441 <0=> Secure state <1=> Non-Secure state -// Interrupt 442 <0=> Secure state <1=> Non-Secure state -// Interrupt 443 <0=> Secure state <1=> Non-Secure state -// Interrupt 444 <0=> Secure state <1=> Non-Secure state -// Interrupt 445 <0=> Secure state <1=> Non-Secure state -// Interrupt 446 <0=> Secure state <1=> Non-Secure state -// Interrupt 447 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS13_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 14 (Interrupts 448..479) -*/ -#define NVIC_INIT_ITNS14 0 - -/* -// Interrupts 448..479 -// Interrupt 448 <0=> Secure state <1=> Non-Secure state -// Interrupt 449 <0=> Secure state <1=> Non-Secure state -// Interrupt 450 <0=> Secure state <1=> Non-Secure state -// Interrupt 451 <0=> Secure state <1=> Non-Secure state -// Interrupt 452 <0=> Secure state <1=> Non-Secure state -// Interrupt 453 <0=> Secure state <1=> Non-Secure state -// Interrupt 454 <0=> Secure state <1=> Non-Secure state -// Interrupt 455 <0=> Secure state <1=> Non-Secure state -// Interrupt 456 <0=> Secure state <1=> Non-Secure state -// Interrupt 457 <0=> Secure state <1=> Non-Secure state -// Interrupt 458 <0=> Secure state <1=> Non-Secure state -// Interrupt 459 <0=> Secure state <1=> Non-Secure state -// Interrupt 460 <0=> Secure state <1=> Non-Secure state -// Interrupt 461 <0=> Secure state <1=> Non-Secure state -// Interrupt 462 <0=> Secure state <1=> Non-Secure state -// Interrupt 463 <0=> Secure state <1=> Non-Secure state -// Interrupt 464 <0=> Secure state <1=> Non-Secure state -// Interrupt 465 <0=> Secure state <1=> Non-Secure state -// Interrupt 466 <0=> Secure state <1=> Non-Secure state -// Interrupt 467 <0=> Secure state <1=> Non-Secure state -// Interrupt 468 <0=> Secure state <1=> Non-Secure state -// Interrupt 469 <0=> Secure state <1=> Non-Secure state -// Interrupt 470 <0=> Secure state <1=> Non-Secure state -// Interrupt 471 <0=> Secure state <1=> Non-Secure state -// Interrupt 472 <0=> Secure state <1=> Non-Secure state -// Interrupt 473 <0=> Secure state <1=> Non-Secure state -// Interrupt 474 <0=> Secure state <1=> Non-Secure state -// Interrupt 475 <0=> Secure state <1=> Non-Secure state -// Interrupt 476 <0=> Secure state <1=> Non-Secure state -// Interrupt 477 <0=> Secure state <1=> Non-Secure state -// Interrupt 478 <0=> Secure state <1=> Non-Secure state -// Interrupt 479 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS14_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 15 (Interrupts 480..511) -*/ -#define NVIC_INIT_ITNS15 0 - -/* -// Interrupts 480..511 -// Interrupt 480 <0=> Secure state <1=> Non-Secure state -// Interrupt 481 <0=> Secure state <1=> Non-Secure state -// Interrupt 482 <0=> Secure state <1=> Non-Secure state -// Interrupt 483 <0=> Secure state <1=> Non-Secure state -// Interrupt 484 <0=> Secure state <1=> Non-Secure state -// Interrupt 485 <0=> Secure state <1=> Non-Secure state -// Interrupt 486 <0=> Secure state <1=> Non-Secure state -// Interrupt 487 <0=> Secure state <1=> Non-Secure state -// Interrupt 488 <0=> Secure state <1=> Non-Secure state -// Interrupt 489 <0=> Secure state <1=> Non-Secure state -// Interrupt 490 <0=> Secure state <1=> Non-Secure state -// Interrupt 491 <0=> Secure state <1=> Non-Secure state -// Interrupt 492 <0=> Secure state <1=> Non-Secure state -// Interrupt 493 <0=> Secure state <1=> Non-Secure state -// Interrupt 494 <0=> Secure state <1=> Non-Secure state -// Interrupt 495 <0=> Secure state <1=> Non-Secure state -// Interrupt 496 <0=> Secure state <1=> Non-Secure state -// Interrupt 497 <0=> Secure state <1=> Non-Secure state -// Interrupt 498 <0=> Secure state <1=> Non-Secure state -// Interrupt 499 <0=> Secure state <1=> Non-Secure state -// Interrupt 500 <0=> Secure state <1=> Non-Secure state -// Interrupt 501 <0=> Secure state <1=> Non-Secure state -// Interrupt 502 <0=> Secure state <1=> Non-Secure state -// Interrupt 503 <0=> Secure state <1=> Non-Secure state -// Interrupt 504 <0=> Secure state <1=> Non-Secure state -// Interrupt 505 <0=> Secure state <1=> Non-Secure state -// Interrupt 506 <0=> Secure state <1=> Non-Secure state -// Interrupt 507 <0=> Secure state <1=> Non-Secure state -// Interrupt 508 <0=> Secure state <1=> Non-Secure state -// Interrupt 509 <0=> Secure state <1=> Non-Secure state -// Interrupt 510 <0=> Secure state <1=> Non-Secure state -// Interrupt 511 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS15_VAL 0x00000000 - -/* -// -*/ - -/* -// -*/ - - - -/* - max 128 SAU regions. - SAU regions are defined in partition.h - */ - -#define SAU_INIT_REGION(n) \ - SAU->RNR = (n & SAU_RNR_REGION_Msk); \ - SAU->RBAR = (SAU_INIT_START##n & SAU_RBAR_BADDR_Msk); \ - SAU->RLAR = (SAU_INIT_END##n & SAU_RLAR_LADDR_Msk) | \ - ((SAU_INIT_NSC##n << SAU_RLAR_NSC_Pos) & SAU_RLAR_NSC_Msk) | 1U - -/** - \brief Setup a SAU Region - \details Writes the region information contained in SAU_Region to the - registers SAU_RNR, SAU_RBAR, and SAU_RLAR - */ -__STATIC_INLINE void TZ_SAU_Setup (void) -{ - -#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) - - #if defined (SAU_INIT_REGION0) && (SAU_INIT_REGION0 == 1U) - SAU_INIT_REGION(0); - #endif - - #if defined (SAU_INIT_REGION1) && (SAU_INIT_REGION1 == 1U) - SAU_INIT_REGION(1); - #endif - - #if defined (SAU_INIT_REGION2) && (SAU_INIT_REGION2 == 1U) - SAU_INIT_REGION(2); - #endif - - #if defined (SAU_INIT_REGION3) && (SAU_INIT_REGION3 == 1U) - SAU_INIT_REGION(3); - #endif - - #if defined (SAU_INIT_REGION4) && (SAU_INIT_REGION4 == 1U) - SAU_INIT_REGION(4); - #endif - - #if defined (SAU_INIT_REGION5) && (SAU_INIT_REGION5 == 1U) - SAU_INIT_REGION(5); - #endif - - #if defined (SAU_INIT_REGION6) && (SAU_INIT_REGION6 == 1U) - SAU_INIT_REGION(6); - #endif - - #if defined (SAU_INIT_REGION7) && (SAU_INIT_REGION7 == 1U) - SAU_INIT_REGION(7); - #endif - - /* repeat this for all possible SAU regions */ - -#endif /* defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) */ - - - #if defined (SAU_INIT_CTRL) && (SAU_INIT_CTRL == 1U) - SAU->CTRL = ((SAU_INIT_CTRL_ENABLE << SAU_CTRL_ENABLE_Pos) & SAU_CTRL_ENABLE_Msk) | - ((SAU_INIT_CTRL_ALLNS << SAU_CTRL_ALLNS_Pos) & SAU_CTRL_ALLNS_Msk) ; - #endif - - #if defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) - SCB->SCR = (SCB->SCR & ~(SCB_SCR_SLEEPDEEPS_Msk )) | - ((SCB_CSR_DEEPSLEEPS_VAL << SCB_SCR_SLEEPDEEPS_Pos) & SCB_SCR_SLEEPDEEPS_Msk); - - SCB->AIRCR = (SCB->AIRCR & ~(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_SYSRESETREQS_Msk | - SCB_AIRCR_BFHFNMINS_Msk | SCB_AIRCR_PRIS_Msk )) | - ((0x05FAU << SCB_AIRCR_VECTKEY_Pos) & SCB_AIRCR_VECTKEY_Msk) | - ((SCB_AIRCR_SYSRESETREQS_VAL << SCB_AIRCR_SYSRESETREQS_Pos) & SCB_AIRCR_SYSRESETREQS_Msk) | - ((SCB_AIRCR_PRIS_VAL << SCB_AIRCR_PRIS_Pos) & SCB_AIRCR_PRIS_Msk) | - ((SCB_AIRCR_BFHFNMINS_VAL << SCB_AIRCR_BFHFNMINS_Pos) & SCB_AIRCR_BFHFNMINS_Msk); - #endif /* defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) */ - - #if defined (__FPU_USED) && (__FPU_USED == 1U) && \ - defined (TZ_FPU_NS_USAGE) && (TZ_FPU_NS_USAGE == 1U) - - SCB->NSACR = (SCB->NSACR & ~(SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)) | - ((SCB_NSACR_CP10_11_VAL << SCB_NSACR_CP10_Pos) & (SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)); - - FPU->FPCCR = (FPU->FPCCR & ~(FPU_FPCCR_TS_Msk | FPU_FPCCR_CLRONRETS_Msk | FPU_FPCCR_CLRONRET_Msk)) | - ((FPU_FPCCR_TS_VAL << FPU_FPCCR_TS_Pos ) & FPU_FPCCR_TS_Msk ) | - ((FPU_FPCCR_CLRONRETS_VAL << FPU_FPCCR_CLRONRETS_Pos) & FPU_FPCCR_CLRONRETS_Msk) | - ((FPU_FPCCR_CLRONRET_VAL << FPU_FPCCR_CLRONRET_Pos ) & FPU_FPCCR_CLRONRET_Msk ); - #endif - - #if defined (NVIC_INIT_ITNS0) && (NVIC_INIT_ITNS0 == 1U) - NVIC->ITNS[0] = NVIC_INIT_ITNS0_VAL; - #endif - - #if defined (NVIC_INIT_ITNS1) && (NVIC_INIT_ITNS1 == 1U) - NVIC->ITNS[1] = NVIC_INIT_ITNS1_VAL; - #endif - - #if defined (NVIC_INIT_ITNS2) && (NVIC_INIT_ITNS2 == 1U) - NVIC->ITNS[2] = NVIC_INIT_ITNS2_VAL; - #endif - - #if defined (NVIC_INIT_ITNS3) && (NVIC_INIT_ITNS3 == 1U) - NVIC->ITNS[3] = NVIC_INIT_ITNS3_VAL; - #endif - - #if defined (NVIC_INIT_ITNS4) && (NVIC_INIT_ITNS4 == 1U) - NVIC->ITNS[4] = NVIC_INIT_ITNS4_VAL; - #endif - - #if defined (NVIC_INIT_ITNS5) && (NVIC_INIT_ITNS5 == 1U) - NVIC->ITNS[5] = NVIC_INIT_ITNS5_VAL; - #endif - - #if defined (NVIC_INIT_ITNS6) && (NVIC_INIT_ITNS6 == 1U) - NVIC->ITNS[6] = NVIC_INIT_ITNS6_VAL; - #endif - - #if defined (NVIC_INIT_ITNS7) && (NVIC_INIT_ITNS7 == 1U) - NVIC->ITNS[7] = NVIC_INIT_ITNS7_VAL; - #endif - - #if defined (NVIC_INIT_ITNS8) && (NVIC_INIT_ITNS8 == 1U) - NVIC->ITNS[8] = NVIC_INIT_ITNS8_VAL; - #endif - - #if defined (NVIC_INIT_ITNS9) && (NVIC_INIT_ITNS9 == 1U) - NVIC->ITNS[9] = NVIC_INIT_ITNS9_VAL; - #endif - - #if defined (NVIC_INIT_ITNS10) && (NVIC_INIT_ITNS10 == 1U) - NVIC->ITNS[10] = NVIC_INIT_ITNS10_VAL; - #endif - - #if defined (NVIC_INIT_ITNS11) && (NVIC_INIT_ITNS11 == 1U) - NVIC->ITNS[11] = NVIC_INIT_ITNS11_VAL; - #endif - - #if defined (NVIC_INIT_ITNS12) && (NVIC_INIT_ITNS12 == 1U) - NVIC->ITNS[12] = NVIC_INIT_ITNS12_VAL; - #endif - - #if defined (NVIC_INIT_ITNS13) && (NVIC_INIT_ITNS13 == 1U) - NVIC->ITNS[13] = NVIC_INIT_ITNS13_VAL; - #endif - - #if defined (NVIC_INIT_ITNS14) && (NVIC_INIT_ITNS14 == 1U) - NVIC->ITNS[14] = NVIC_INIT_ITNS14_VAL; - #endif - - #if defined (NVIC_INIT_ITNS15) && (NVIC_INIT_ITNS15 == 1U) - NVIC->ITNS[15] = NVIC_INIT_ITNS15_VAL; - #endif - - /* repeat this for all possible ITNS elements */ - -} - -#endif /* PARTITION_ARMCM33_H */ diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.c deleted file mode 100644 index 044feb7..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.c +++ /dev/null @@ -1,170 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM33.c - * @brief CMSIS-Core Device Startup File for Cortex-M33 Device - * @version V2.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM33) - #include "ARMCM33.h" -#elif defined (ARMCM33_TZ) - #include "ARMCM33_TZ.h" -#elif defined (ARMCM33_DSP_FP) - #include "ARMCM33_DSP_FP.h" -#elif defined (ARMCM33_DSP_FP_TZ) - #include "ARMCM33_DSP_FP_TZ.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SecureFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - SecureFault_Handler, /* -9 Secure Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVCall Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 480 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.c.base@2.1.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.c.base@2.1.0 deleted file mode 100644 index 044feb7..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.c.base@2.1.0 +++ /dev/null @@ -1,170 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM33.c - * @brief CMSIS-Core Device Startup File for Cortex-M33 Device - * @version V2.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM33) - #include "ARMCM33.h" -#elif defined (ARMCM33_TZ) - #include "ARMCM33_TZ.h" -#elif defined (ARMCM33_DSP_FP) - #include "ARMCM33_DSP_FP.h" -#elif defined (ARMCM33_DSP_FP_TZ) - #include "ARMCM33_DSP_FP_TZ.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SecureFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - SecureFault_Handler, /* -9 Secure Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVCall Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 480 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S/RTE/Device/ARMCM33_DSP_FP_TZ/system_ARMCM33.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S/RTE/Device/ARMCM33_DSP_FP_TZ/system_ARMCM33.c deleted file mode 100644 index 919b8bd..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S/RTE/Device/ARMCM33_DSP_FP_TZ/system_ARMCM33.c +++ /dev/null @@ -1,97 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM33.c - * @brief CMSIS Device System Source File for - * ARMCM33 Device - * @version V1.0.1 - * @date 15. November 2019 - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM33) - #include "ARMCM33.h" -#elif defined (ARMCM33_TZ) - #include "ARMCM33_TZ.h" - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM33.h" - #endif -#elif defined (ARMCM33_DSP_FP) - #include "ARMCM33_DSP_FP.h" -#elif defined (ARMCM33_DSP_FP_TZ) - #include "ARMCM33_DSP_FP_TZ.h" - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM33.h" - #endif -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t) &(__VECTOR_TABLE[0]); -#endif - -#if defined (__FPU_USED) && (__FPU_USED == 1U) - SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ - (3U << 11U*2U) ); /* enable CP11 Full Access */ -#endif - -#ifdef UNALIGNED_SUPPORT_DISABLE - SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; -#endif - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - TZ_SAU_Setup(); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S/Target.clayer.yml b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S/Target.clayer.yml deleted file mode 100644 index ee45512..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S/Target.clayer.yml +++ /dev/null @@ -1,22 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/1.3.0/tools/projmgr/schemas/clayer.schema.json - -layer: - # type: Target - description: Target setup - - # packs: - # - pack: ARM::CMSIS - - components: - # [Cvendor::] Cclass [&Cbundle] :Cgroup [:Csub] [&Cvariant] [@[>=]Cversion] - - component: ARM::CMSIS:CORE - - component: Device:Startup&C Startup - - misc: - - for-compiler: IAR - Link: [--config generic_cortex.icf] - - groups: - - group: VHT/FVP - files: - - file: ./model_config.txt diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S/model_config.txt b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S/model_config.txt deleted file mode 100644 index 656fbb5..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S/model_config.txt +++ /dev/null @@ -1,32 +0,0 @@ -# Parameters: -# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] -#---------------------------------------------------------------------------------------------- -fvp_mps2.mps2_visualisation.disable-visualisation=1 # (bool , init-time) default = '0' : Enable/disable visualisation -cpu0.FPU=1 # (bool , init-time) default = '1' : Set whether the model has VFP support -cpu0.DSP=1 # (bool , init-time) default = '1' : Set whether the model has the DSP extension -cpu0.semihosting-enable=1 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. -cpu0.semihosting-Thumb_SVC=0xAB # (int , init-time) default = '0xAB' : T32 SVC number for semihosting : [0x0..0xFF] -cpu0.semihosting-cmd_line="" # (string, init-time) default = '' : Command line available to semihosting SVC calls -cpu0.semihosting-heap_base=0x0 # (int , init-time) default = '0x0' : Virtual address of heap base : [0x0..0xFFFFFFFF] -cpu0.semihosting-heap_limit=0x0 # (int , init-time) default = '0x10700000' : Virtual address of top of heap : [0x0..0xFFFFFFFF] -cpu0.semihosting-stack_base=0x0 # (int , init-time) default = '0x10700000' : Virtual address of base of descending stack : [0x0..0xFFFFFFFF] -cpu0.semihosting-stack_limit=0x0 # (int , init-time) default = '0x10800000' : Virtual address of stack limit : [0x0..0xFFFFFFFF] -cpu0.semihosting-cwd="" # (string, init-time) default = '' : Base directory for semihosting file access. -cpu0.MPU_S=0x8 # (int , init-time) default = '0x8' : Number of regions in the Secure MPU. If Security Extentions are absent, this is ignored : [0x0..0x10] -cpu0.MPU_NS=0x8 # (int , init-time) default = '0x8' : Number of regions in the Non-Secure MPU. If Security Extentions are absent, this is the total number of MPU regions : [0x0..0x10] -cpu0.ITM=0 # (bool , init-time) default = '1' : Level of instrumentation trace supported. false : No ITM trace included, true: ITM trace included -cpu0.IRQLVL=0x3 # (int , init-time) default = '0x3' : Number of bits of interrupt priority : [0x3..0x8] -cpu0.BIGENDINIT=0 # (bool , init-time) default = '0' : Initialize processor to big endian mode -cpu0.INITSVTOR=0x00000000 # (int , init-time) default = '0x10000000' : Secure vector-table offset at reset : [0x0..0xFFFFFF80] -cpu0.INITNSVTOR=0x0 # (int , init-time) default = '0x0' : Non-Secure vector-table offset at reset : [0x0..0xFFFFFF80] -cpu0.SAU=0x8 # (int , init-time) default = '0x4' : Number of SAU regions (0 => no SAU) : [0x0..0x8] -cpu0.SAU_CTRL.ENABLE=0 # (bool , init-time) default = '0' : Enable SAU at reset -cpu0.SAU_CTRL.ALLNS=0 # (bool , init-time) default = '0' : At reset, the SAU treats entire memory space as NS when the SAU is disabled if this is set -idau.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' : -cpu0.LOCK_SAU=0 # (bool , init-time) default = '0' : Lock down of SAU registers write -cpu0.LOCK_S_MPU=0 # (bool , init-time) default = '0' : Lock down of Secure MPU registers write -cpu0.LOCK_NS_MPU=0 # (bool , init-time) default = '0' : Lock down of Non-Secure MPU registers write -cpu0.CPIF=1 # (bool , init-time) default = '1' : Specifies whether the external coprocessor interface is included -cpu0.SECEXT=1 # (bool , init-time) default = '1' : Whether the ARMv8-M Security Extensions are included -fvp_mps2.DISABLE_GATING=1 # (bool , init-time) default = '0' : Disable Memory gating logic -#---------------------------------------------------------------------------------------------- diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S_BL/RTE/Device/ARMCM33_DSP_FP_TZ/ARMCM33_ac6_s.sct b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S_BL/RTE/Device/ARMCM33_DSP_FP_TZ/ARMCM33_ac6_s.sct deleted file mode 100644 index ea28bfc..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S_BL/RTE/Device/ARMCM33_DSP_FP_TZ/ARMCM33_ac6_s.sct +++ /dev/null @@ -1,123 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m33 -xc -mcmse -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m33 -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00200000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00200000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000400 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_SIZE 0x200 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE ( __RAM_SIZE - __STACK_SIZE - __HEAP_SIZE - __STACKSEAL_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S_BL/RTE/Device/ARMCM33_DSP_FP_TZ/gcc_arm.ld b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S_BL/RTE/Device/ARMCM33_DSP_FP_TZ/gcc_arm.ld deleted file mode 100644 index f44186e..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S_BL/RTE/Device/ARMCM33_DSP_FP_TZ/gcc_arm.ld +++ /dev/null @@ -1,316 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.2.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00200000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00200000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -/* ARMv8-M stack sealing: - to use ARMv8-M stack sealing set __STACKSEAL_SIZE to 8 otherwise keep 0 - */ -__STACKSEAL_SIZE = 8; - - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - * __StackSeal (only if ARMv8-M stack sealing is used) - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ - - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH - - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* ARMv8-M stack sealing: - to use ARMv8-M stack sealing uncomment '.stackseal' section - */ - - .stackseal (ORIGIN(RAM) + LENGTH(RAM) - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackSeal = .; - . = . + 8; - . = ALIGN(8); - } > RAM - - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S_BL/RTE/Device/ARMCM33_DSP_FP_TZ/partition_ARMCM33.h b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S_BL/RTE/Device/ARMCM33_DSP_FP_TZ/partition_ARMCM33.h deleted file mode 100644 index 2c09a0c..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S_BL/RTE/Device/ARMCM33_DSP_FP_TZ/partition_ARMCM33.h +++ /dev/null @@ -1,1260 +0,0 @@ -/**************************************************************************//** - * @file partition_ARMCM33.h - * @brief CMSIS-CORE Initial Setup for Secure / Non-Secure Zones for ARMCM33 - * @version V1.1.1 - * @date 12. March 2019 - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef PARTITION_ARMCM33_H -#define PARTITION_ARMCM33_H - -/* -//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- -*/ - -/* -// Initialize Security Attribution Unit (SAU) CTRL register -*/ -#define SAU_INIT_CTRL 1 - -/* -// Enable SAU -// Value for SAU->CTRL register bit ENABLE -*/ -#define SAU_INIT_CTRL_ENABLE 1 - -/* -// When SAU is disabled -// <0=> All Memory is Secure -// <1=> All Memory is Non-Secure -// Value for SAU->CTRL register bit ALLNS -// When all Memory is Non-Secure (ALLNS is 1), IDAU can override memory map configuration. -*/ -#define SAU_INIT_CTRL_ALLNS 0 - -/* -// -*/ - -/* -// Initialize Security Attribution Unit (SAU) Address Regions -// SAU configuration specifies regions to be one of: -// - Secure and Non-Secure Callable -// - Non-Secure -// Note: All memory regions not configured by SAU are Secure -*/ -#define SAU_REGIONS_MAX 8 /* Max. number of SAU regions */ - -/* -// Initialize SAU Region 0 -// Setup SAU Region 0 memory attributes -*/ -#define SAU_INIT_REGION0 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START0 0x00000000 /* start address of SAU region 0 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END0 0x001FFFFF /* end address of SAU region 0 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC0 1 -/* -// -*/ - -/* -// Initialize SAU Region 1 -// Setup SAU Region 1 memory attributes -*/ -#define SAU_INIT_REGION1 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START1 0x00200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END1 0x003FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC1 0 -/* -// -*/ - -/* -// Initialize SAU Region 2 -// Setup SAU Region 2 memory attributes -*/ -#define SAU_INIT_REGION2 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START2 0x20200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END2 0x203FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC2 0 -/* -// -*/ - -/* -// Initialize SAU Region 3 -// Setup SAU Region 3 memory attributes -*/ -#define SAU_INIT_REGION3 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START3 0x40000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END3 0x40040000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC3 0 -/* -// -*/ - -/* -// Initialize SAU Region 4 -// Setup SAU Region 4 memory attributes -*/ -#define SAU_INIT_REGION4 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START4 0x00000000 /* start address of SAU region 4 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END4 0x00000000 /* end address of SAU region 4 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC4 0 -/* -// -*/ - -/* -// Initialize SAU Region 5 -// Setup SAU Region 5 memory attributes -*/ -#define SAU_INIT_REGION5 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START5 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END5 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC5 0 -/* -// -*/ - -/* -// Initialize SAU Region 6 -// Setup SAU Region 6 memory attributes -*/ -#define SAU_INIT_REGION6 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START6 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END6 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC6 0 -/* -// -*/ - -/* -// Initialize SAU Region 7 -// Setup SAU Region 7 memory attributes -*/ -#define SAU_INIT_REGION7 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START7 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END7 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC7 0 -/* -// -*/ - -/* -// -*/ - -/* -// Setup behaviour of Sleep and Exception Handling -*/ -#define SCB_CSR_AIRCR_INIT 1 - -/* -// Deep Sleep can be enabled by -// <0=>Secure and Non-Secure state -// <1=>Secure state only -// Value for SCB->CSR register bit DEEPSLEEPS -*/ -#define SCB_CSR_DEEPSLEEPS_VAL 1 - -/* -// System reset request accessible from -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for SCB->AIRCR register bit SYSRESETREQS -*/ -#define SCB_AIRCR_SYSRESETREQS_VAL 1 - -/* -// Priority of Non-Secure exceptions is -// <0=> Not altered -// <1=> Lowered to 0x80-0xFF -// Value for SCB->AIRCR register bit PRIS -*/ -#define SCB_AIRCR_PRIS_VAL 1 - -/* -// BusFault, HardFault, and NMI target -// <0=> Secure state -// <1=> Non-Secure state -// Value for SCB->AIRCR register bit BFHFNMINS -*/ -#define SCB_AIRCR_BFHFNMINS_VAL 0 - -/* -// -*/ - -/* -// Setup behaviour of Floating Point Unit -*/ -#define TZ_FPU_NS_USAGE 1 - -/* -// Floating Point Unit usage -// <0=> Secure state only -// <3=> Secure and Non-Secure state -// Value for SCB->NSACR register bits CP10, CP11 -*/ -#define SCB_NSACR_CP10_11_VAL 3 - -/* -// Treat floating-point registers as Secure -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit TS -*/ -#define FPU_FPCCR_TS_VAL 0 - -/* -// Clear on return (CLRONRET) accessibility -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for FPU->FPCCR register bit CLRONRETS -*/ -#define FPU_FPCCR_CLRONRETS_VAL 0 - -/* -// Clear floating-point caller saved registers on exception return -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit CLRONRET -*/ -#define FPU_FPCCR_CLRONRET_VAL 1 - -/* -// -*/ - -/* -// Setup Interrupt Target -*/ - -/* -// Initialize ITNS 0 (Interrupts 0..31) -*/ -#define NVIC_INIT_ITNS0 1 - -/* -// Interrupts 0..31 -// Interrupt 0 <0=> Secure state <1=> Non-Secure state -// Interrupt 1 <0=> Secure state <1=> Non-Secure state -// Interrupt 2 <0=> Secure state <1=> Non-Secure state -// Interrupt 3 <0=> Secure state <1=> Non-Secure state -// Interrupt 4 <0=> Secure state <1=> Non-Secure state -// Interrupt 5 <0=> Secure state <1=> Non-Secure state -// Interrupt 6 <0=> Secure state <1=> Non-Secure state -// Interrupt 7 <0=> Secure state <1=> Non-Secure state -// Interrupt 8 <0=> Secure state <1=> Non-Secure state -// Interrupt 9 <0=> Secure state <1=> Non-Secure state -// Interrupt 10 <0=> Secure state <1=> Non-Secure state -// Interrupt 11 <0=> Secure state <1=> Non-Secure state -// Interrupt 12 <0=> Secure state <1=> Non-Secure state -// Interrupt 13 <0=> Secure state <1=> Non-Secure state -// Interrupt 14 <0=> Secure state <1=> Non-Secure state -// Interrupt 15 <0=> Secure state <1=> Non-Secure state -// Interrupt 16 <0=> Secure state <1=> Non-Secure state -// Interrupt 17 <0=> Secure state <1=> Non-Secure state -// Interrupt 18 <0=> Secure state <1=> Non-Secure state -// Interrupt 19 <0=> Secure state <1=> Non-Secure state -// Interrupt 20 <0=> Secure state <1=> Non-Secure state -// Interrupt 21 <0=> Secure state <1=> Non-Secure state -// Interrupt 22 <0=> Secure state <1=> Non-Secure state -// Interrupt 23 <0=> Secure state <1=> Non-Secure state -// Interrupt 24 <0=> Secure state <1=> Non-Secure state -// Interrupt 25 <0=> Secure state <1=> Non-Secure state -// Interrupt 26 <0=> Secure state <1=> Non-Secure state -// Interrupt 27 <0=> Secure state <1=> Non-Secure state -// Interrupt 28 <0=> Secure state <1=> Non-Secure state -// Interrupt 29 <0=> Secure state <1=> Non-Secure state -// Interrupt 30 <0=> Secure state <1=> Non-Secure state -// Interrupt 31 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS0_VAL 0x0000122B - -/* -// -*/ - -/* -// Initialize ITNS 1 (Interrupts 32..63) -*/ -#define NVIC_INIT_ITNS1 1 - -/* -// Interrupts 32..63 -// Interrupt 32 <0=> Secure state <1=> Non-Secure state -// Interrupt 33 <0=> Secure state <1=> Non-Secure state -// Interrupt 34 <0=> Secure state <1=> Non-Secure state -// Interrupt 35 <0=> Secure state <1=> Non-Secure state -// Interrupt 36 <0=> Secure state <1=> Non-Secure state -// Interrupt 37 <0=> Secure state <1=> Non-Secure state -// Interrupt 38 <0=> Secure state <1=> Non-Secure state -// Interrupt 39 <0=> Secure state <1=> Non-Secure state -// Interrupt 40 <0=> Secure state <1=> Non-Secure state -// Interrupt 41 <0=> Secure state <1=> Non-Secure state -// Interrupt 42 <0=> Secure state <1=> Non-Secure state -// Interrupt 43 <0=> Secure state <1=> Non-Secure state -// Interrupt 44 <0=> Secure state <1=> Non-Secure state -// Interrupt 45 <0=> Secure state <1=> Non-Secure state -// Interrupt 46 <0=> Secure state <1=> Non-Secure state -// Interrupt 47 <0=> Secure state <1=> Non-Secure state -// Interrupt 48 <0=> Secure state <1=> Non-Secure state -// Interrupt 49 <0=> Secure state <1=> Non-Secure state -// Interrupt 50 <0=> Secure state <1=> Non-Secure state -// Interrupt 51 <0=> Secure state <1=> Non-Secure state -// Interrupt 52 <0=> Secure state <1=> Non-Secure state -// Interrupt 53 <0=> Secure state <1=> Non-Secure state -// Interrupt 54 <0=> Secure state <1=> Non-Secure state -// Interrupt 55 <0=> Secure state <1=> Non-Secure state -// Interrupt 56 <0=> Secure state <1=> Non-Secure state -// Interrupt 57 <0=> Secure state <1=> Non-Secure state -// Interrupt 58 <0=> Secure state <1=> Non-Secure state -// Interrupt 59 <0=> Secure state <1=> Non-Secure state -// Interrupt 60 <0=> Secure state <1=> Non-Secure state -// Interrupt 61 <0=> Secure state <1=> Non-Secure state -// Interrupt 62 <0=> Secure state <1=> Non-Secure state -// Interrupt 63 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS1_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 2 (Interrupts 64..95) -*/ -#define NVIC_INIT_ITNS2 0 - -/* -// Interrupts 64..95 -// Interrupt 64 <0=> Secure state <1=> Non-Secure state -// Interrupt 65 <0=> Secure state <1=> Non-Secure state -// Interrupt 66 <0=> Secure state <1=> Non-Secure state -// Interrupt 67 <0=> Secure state <1=> Non-Secure state -// Interrupt 68 <0=> Secure state <1=> Non-Secure state -// Interrupt 69 <0=> Secure state <1=> Non-Secure state -// Interrupt 70 <0=> Secure state <1=> Non-Secure state -// Interrupt 71 <0=> Secure state <1=> Non-Secure state -// Interrupt 72 <0=> Secure state <1=> Non-Secure state -// Interrupt 73 <0=> Secure state <1=> Non-Secure state -// Interrupt 74 <0=> Secure state <1=> Non-Secure state -// Interrupt 75 <0=> Secure state <1=> Non-Secure state -// Interrupt 76 <0=> Secure state <1=> Non-Secure state -// Interrupt 77 <0=> Secure state <1=> Non-Secure state -// Interrupt 78 <0=> Secure state <1=> Non-Secure state -// Interrupt 79 <0=> Secure state <1=> Non-Secure state -// Interrupt 80 <0=> Secure state <1=> Non-Secure state -// Interrupt 81 <0=> Secure state <1=> Non-Secure state -// Interrupt 82 <0=> Secure state <1=> Non-Secure state -// Interrupt 83 <0=> Secure state <1=> Non-Secure state -// Interrupt 84 <0=> Secure state <1=> Non-Secure state -// Interrupt 85 <0=> Secure state <1=> Non-Secure state -// Interrupt 86 <0=> Secure state <1=> Non-Secure state -// Interrupt 87 <0=> Secure state <1=> Non-Secure state -// Interrupt 88 <0=> Secure state <1=> Non-Secure state -// Interrupt 89 <0=> Secure state <1=> Non-Secure state -// Interrupt 90 <0=> Secure state <1=> Non-Secure state -// Interrupt 91 <0=> Secure state <1=> Non-Secure state -// Interrupt 92 <0=> Secure state <1=> Non-Secure state -// Interrupt 93 <0=> Secure state <1=> Non-Secure state -// Interrupt 94 <0=> Secure state <1=> Non-Secure state -// Interrupt 95 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS2_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 3 (Interrupts 96..127) -*/ -#define NVIC_INIT_ITNS3 0 - -/* -// Interrupts 96..127 -// Interrupt 96 <0=> Secure state <1=> Non-Secure state -// Interrupt 97 <0=> Secure state <1=> Non-Secure state -// Interrupt 98 <0=> Secure state <1=> Non-Secure state -// Interrupt 99 <0=> Secure state <1=> Non-Secure state -// Interrupt 100 <0=> Secure state <1=> Non-Secure state -// Interrupt 101 <0=> Secure state <1=> Non-Secure state -// Interrupt 102 <0=> Secure state <1=> Non-Secure state -// Interrupt 103 <0=> Secure state <1=> Non-Secure state -// Interrupt 104 <0=> Secure state <1=> Non-Secure state -// Interrupt 105 <0=> Secure state <1=> Non-Secure state -// Interrupt 106 <0=> Secure state <1=> Non-Secure state -// Interrupt 107 <0=> Secure state <1=> Non-Secure state -// Interrupt 108 <0=> Secure state <1=> Non-Secure state -// Interrupt 109 <0=> Secure state <1=> Non-Secure state -// Interrupt 110 <0=> Secure state <1=> Non-Secure state -// Interrupt 111 <0=> Secure state <1=> Non-Secure state -// Interrupt 112 <0=> Secure state <1=> Non-Secure state -// Interrupt 113 <0=> Secure state <1=> Non-Secure state -// Interrupt 114 <0=> Secure state <1=> Non-Secure state -// Interrupt 115 <0=> Secure state <1=> Non-Secure state -// Interrupt 116 <0=> Secure state <1=> Non-Secure state -// Interrupt 117 <0=> Secure state <1=> Non-Secure state -// Interrupt 118 <0=> Secure state <1=> Non-Secure state -// Interrupt 119 <0=> Secure state <1=> Non-Secure state -// Interrupt 120 <0=> Secure state <1=> Non-Secure state -// Interrupt 121 <0=> Secure state <1=> Non-Secure state -// Interrupt 122 <0=> Secure state <1=> Non-Secure state -// Interrupt 123 <0=> Secure state <1=> Non-Secure state -// Interrupt 124 <0=> Secure state <1=> Non-Secure state -// Interrupt 125 <0=> Secure state <1=> Non-Secure state -// Interrupt 126 <0=> Secure state <1=> Non-Secure state -// Interrupt 127 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS3_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 4 (Interrupts 128..159) -*/ -#define NVIC_INIT_ITNS4 0 - -/* -// Interrupts 128..159 -// Interrupt 128 <0=> Secure state <1=> Non-Secure state -// Interrupt 129 <0=> Secure state <1=> Non-Secure state -// Interrupt 130 <0=> Secure state <1=> Non-Secure state -// Interrupt 131 <0=> Secure state <1=> Non-Secure state -// Interrupt 132 <0=> Secure state <1=> Non-Secure state -// Interrupt 133 <0=> Secure state <1=> Non-Secure state -// Interrupt 134 <0=> Secure state <1=> Non-Secure state -// Interrupt 135 <0=> Secure state <1=> Non-Secure state -// Interrupt 136 <0=> Secure state <1=> Non-Secure state -// Interrupt 137 <0=> Secure state <1=> Non-Secure state -// Interrupt 138 <0=> Secure state <1=> Non-Secure state -// Interrupt 139 <0=> Secure state <1=> Non-Secure state -// Interrupt 140 <0=> Secure state <1=> Non-Secure state -// Interrupt 141 <0=> Secure state <1=> Non-Secure state -// Interrupt 142 <0=> Secure state <1=> Non-Secure state -// Interrupt 143 <0=> Secure state <1=> Non-Secure state -// Interrupt 144 <0=> Secure state <1=> Non-Secure state -// Interrupt 145 <0=> Secure state <1=> Non-Secure state -// Interrupt 146 <0=> Secure state <1=> Non-Secure state -// Interrupt 147 <0=> Secure state <1=> Non-Secure state -// Interrupt 148 <0=> Secure state <1=> Non-Secure state -// Interrupt 149 <0=> Secure state <1=> Non-Secure state -// Interrupt 150 <0=> Secure state <1=> Non-Secure state -// Interrupt 151 <0=> Secure state <1=> Non-Secure state -// Interrupt 152 <0=> Secure state <1=> Non-Secure state -// Interrupt 153 <0=> Secure state <1=> Non-Secure state -// Interrupt 154 <0=> Secure state <1=> Non-Secure state -// Interrupt 155 <0=> Secure state <1=> Non-Secure state -// Interrupt 156 <0=> Secure state <1=> Non-Secure state -// Interrupt 157 <0=> Secure state <1=> Non-Secure state -// Interrupt 158 <0=> Secure state <1=> Non-Secure state -// Interrupt 159 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS4_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 5 (Interrupts 160..191) -*/ -#define NVIC_INIT_ITNS5 0 - -/* -// Interrupts 160..191 -// Interrupt 160 <0=> Secure state <1=> Non-Secure state -// Interrupt 161 <0=> Secure state <1=> Non-Secure state -// Interrupt 162 <0=> Secure state <1=> Non-Secure state -// Interrupt 163 <0=> Secure state <1=> Non-Secure state -// Interrupt 164 <0=> Secure state <1=> Non-Secure state -// Interrupt 165 <0=> Secure state <1=> Non-Secure state -// Interrupt 166 <0=> Secure state <1=> Non-Secure state -// Interrupt 167 <0=> Secure state <1=> Non-Secure state -// Interrupt 168 <0=> Secure state <1=> Non-Secure state -// Interrupt 169 <0=> Secure state <1=> Non-Secure state -// Interrupt 170 <0=> Secure state <1=> Non-Secure state -// Interrupt 171 <0=> Secure state <1=> Non-Secure state -// Interrupt 172 <0=> Secure state <1=> Non-Secure state -// Interrupt 173 <0=> Secure state <1=> Non-Secure state -// Interrupt 174 <0=> Secure state <1=> Non-Secure state -// Interrupt 175 <0=> Secure state <1=> Non-Secure state -// Interrupt 176 <0=> Secure state <1=> Non-Secure state -// Interrupt 177 <0=> Secure state <1=> Non-Secure state -// Interrupt 178 <0=> Secure state <1=> Non-Secure state -// Interrupt 179 <0=> Secure state <1=> Non-Secure state -// Interrupt 180 <0=> Secure state <1=> Non-Secure state -// Interrupt 181 <0=> Secure state <1=> Non-Secure state -// Interrupt 182 <0=> Secure state <1=> Non-Secure state -// Interrupt 183 <0=> Secure state <1=> Non-Secure state -// Interrupt 184 <0=> Secure state <1=> Non-Secure state -// Interrupt 185 <0=> Secure state <1=> Non-Secure state -// Interrupt 186 <0=> Secure state <1=> Non-Secure state -// Interrupt 187 <0=> Secure state <1=> Non-Secure state -// Interrupt 188 <0=> Secure state <1=> Non-Secure state -// Interrupt 189 <0=> Secure state <1=> Non-Secure state -// Interrupt 190 <0=> Secure state <1=> Non-Secure state -// Interrupt 191 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS5_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 6 (Interrupts 192..223) -*/ -#define NVIC_INIT_ITNS6 0 - -/* -// Interrupts 192..223 -// Interrupt 192 <0=> Secure state <1=> Non-Secure state -// Interrupt 193 <0=> Secure state <1=> Non-Secure state -// Interrupt 194 <0=> Secure state <1=> Non-Secure state -// Interrupt 195 <0=> Secure state <1=> Non-Secure state -// Interrupt 196 <0=> Secure state <1=> Non-Secure state -// Interrupt 197 <0=> Secure state <1=> Non-Secure state -// Interrupt 198 <0=> Secure state <1=> Non-Secure state -// Interrupt 199 <0=> Secure state <1=> Non-Secure state -// Interrupt 200 <0=> Secure state <1=> Non-Secure state -// Interrupt 201 <0=> Secure state <1=> Non-Secure state -// Interrupt 202 <0=> Secure state <1=> Non-Secure state -// Interrupt 203 <0=> Secure state <1=> Non-Secure state -// Interrupt 204 <0=> Secure state <1=> Non-Secure state -// Interrupt 205 <0=> Secure state <1=> Non-Secure state -// Interrupt 206 <0=> Secure state <1=> Non-Secure state -// Interrupt 207 <0=> Secure state <1=> Non-Secure state -// Interrupt 208 <0=> Secure state <1=> Non-Secure state -// Interrupt 209 <0=> Secure state <1=> Non-Secure state -// Interrupt 210 <0=> Secure state <1=> Non-Secure state -// Interrupt 211 <0=> Secure state <1=> Non-Secure state -// Interrupt 212 <0=> Secure state <1=> Non-Secure state -// Interrupt 213 <0=> Secure state <1=> Non-Secure state -// Interrupt 214 <0=> Secure state <1=> Non-Secure state -// Interrupt 215 <0=> Secure state <1=> Non-Secure state -// Interrupt 216 <0=> Secure state <1=> Non-Secure state -// Interrupt 217 <0=> Secure state <1=> Non-Secure state -// Interrupt 218 <0=> Secure state <1=> Non-Secure state -// Interrupt 219 <0=> Secure state <1=> Non-Secure state -// Interrupt 220 <0=> Secure state <1=> Non-Secure state -// Interrupt 221 <0=> Secure state <1=> Non-Secure state -// Interrupt 222 <0=> Secure state <1=> Non-Secure state -// Interrupt 223 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS6_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 7 (Interrupts 224..255) -*/ -#define NVIC_INIT_ITNS7 0 - -/* -// Interrupts 224..255 -// Interrupt 224 <0=> Secure state <1=> Non-Secure state -// Interrupt 225 <0=> Secure state <1=> Non-Secure state -// Interrupt 226 <0=> Secure state <1=> Non-Secure state -// Interrupt 227 <0=> Secure state <1=> Non-Secure state -// Interrupt 228 <0=> Secure state <1=> Non-Secure state -// Interrupt 229 <0=> Secure state <1=> Non-Secure state -// Interrupt 230 <0=> Secure state <1=> Non-Secure state -// Interrupt 231 <0=> Secure state <1=> Non-Secure state -// Interrupt 232 <0=> Secure state <1=> Non-Secure state -// Interrupt 233 <0=> Secure state <1=> Non-Secure state -// Interrupt 234 <0=> Secure state <1=> Non-Secure state -// Interrupt 235 <0=> Secure state <1=> Non-Secure state -// Interrupt 236 <0=> Secure state <1=> Non-Secure state -// Interrupt 237 <0=> Secure state <1=> Non-Secure state -// Interrupt 238 <0=> Secure state <1=> Non-Secure state -// Interrupt 239 <0=> Secure state <1=> Non-Secure state -// Interrupt 240 <0=> Secure state <1=> Non-Secure state -// Interrupt 241 <0=> Secure state <1=> Non-Secure state -// Interrupt 242 <0=> Secure state <1=> Non-Secure state -// Interrupt 243 <0=> Secure state <1=> Non-Secure state -// Interrupt 244 <0=> Secure state <1=> Non-Secure state -// Interrupt 245 <0=> Secure state <1=> Non-Secure state -// Interrupt 246 <0=> Secure state <1=> Non-Secure state -// Interrupt 247 <0=> Secure state <1=> Non-Secure state -// Interrupt 248 <0=> Secure state <1=> Non-Secure state -// Interrupt 249 <0=> Secure state <1=> Non-Secure state -// Interrupt 250 <0=> Secure state <1=> Non-Secure state -// Interrupt 251 <0=> Secure state <1=> Non-Secure state -// Interrupt 252 <0=> Secure state <1=> Non-Secure state -// Interrupt 253 <0=> Secure state <1=> Non-Secure state -// Interrupt 254 <0=> Secure state <1=> Non-Secure state -// Interrupt 255 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS7_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 8 (Interrupts 256..287) -*/ -#define NVIC_INIT_ITNS8 0 - -/* -// Interrupts 256..287 -// Interrupt 256 <0=> Secure state <1=> Non-Secure state -// Interrupt 257 <0=> Secure state <1=> Non-Secure state -// Interrupt 258 <0=> Secure state <1=> Non-Secure state -// Interrupt 259 <0=> Secure state <1=> Non-Secure state -// Interrupt 260 <0=> Secure state <1=> Non-Secure state -// Interrupt 261 <0=> Secure state <1=> Non-Secure state -// Interrupt 262 <0=> Secure state <1=> Non-Secure state -// Interrupt 263 <0=> Secure state <1=> Non-Secure state -// Interrupt 264 <0=> Secure state <1=> Non-Secure state -// Interrupt 265 <0=> Secure state <1=> Non-Secure state -// Interrupt 266 <0=> Secure state <1=> Non-Secure state -// Interrupt 267 <0=> Secure state <1=> Non-Secure state -// Interrupt 268 <0=> Secure state <1=> Non-Secure state -// Interrupt 269 <0=> Secure state <1=> Non-Secure state -// Interrupt 270 <0=> Secure state <1=> Non-Secure state -// Interrupt 271 <0=> Secure state <1=> Non-Secure state -// Interrupt 272 <0=> Secure state <1=> Non-Secure state -// Interrupt 273 <0=> Secure state <1=> Non-Secure state -// Interrupt 274 <0=> Secure state <1=> Non-Secure state -// Interrupt 275 <0=> Secure state <1=> Non-Secure state -// Interrupt 276 <0=> Secure state <1=> Non-Secure state -// Interrupt 277 <0=> Secure state <1=> Non-Secure state -// Interrupt 278 <0=> Secure state <1=> Non-Secure state -// Interrupt 279 <0=> Secure state <1=> Non-Secure state -// Interrupt 280 <0=> Secure state <1=> Non-Secure state -// Interrupt 281 <0=> Secure state <1=> Non-Secure state -// Interrupt 282 <0=> Secure state <1=> Non-Secure state -// Interrupt 283 <0=> Secure state <1=> Non-Secure state -// Interrupt 284 <0=> Secure state <1=> Non-Secure state -// Interrupt 285 <0=> Secure state <1=> Non-Secure state -// Interrupt 286 <0=> Secure state <1=> Non-Secure state -// Interrupt 287 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS8_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 9 (Interrupts 288..319) -*/ -#define NVIC_INIT_ITNS9 0 - -/* -// Interrupts 288..319 -// Interrupt 288 <0=> Secure state <1=> Non-Secure state -// Interrupt 289 <0=> Secure state <1=> Non-Secure state -// Interrupt 290 <0=> Secure state <1=> Non-Secure state -// Interrupt 291 <0=> Secure state <1=> Non-Secure state -// Interrupt 292 <0=> Secure state <1=> Non-Secure state -// Interrupt 293 <0=> Secure state <1=> Non-Secure state -// Interrupt 294 <0=> Secure state <1=> Non-Secure state -// Interrupt 295 <0=> Secure state <1=> Non-Secure state -// Interrupt 296 <0=> Secure state <1=> Non-Secure state -// Interrupt 297 <0=> Secure state <1=> Non-Secure state -// Interrupt 298 <0=> Secure state <1=> Non-Secure state -// Interrupt 299 <0=> Secure state <1=> Non-Secure state -// Interrupt 300 <0=> Secure state <1=> Non-Secure state -// Interrupt 301 <0=> Secure state <1=> Non-Secure state -// Interrupt 302 <0=> Secure state <1=> Non-Secure state -// Interrupt 303 <0=> Secure state <1=> Non-Secure state -// Interrupt 304 <0=> Secure state <1=> Non-Secure state -// Interrupt 305 <0=> Secure state <1=> Non-Secure state -// Interrupt 306 <0=> Secure state <1=> Non-Secure state -// Interrupt 307 <0=> Secure state <1=> Non-Secure state -// Interrupt 308 <0=> Secure state <1=> Non-Secure state -// Interrupt 309 <0=> Secure state <1=> Non-Secure state -// Interrupt 310 <0=> Secure state <1=> Non-Secure state -// Interrupt 311 <0=> Secure state <1=> Non-Secure state -// Interrupt 312 <0=> Secure state <1=> Non-Secure state -// Interrupt 313 <0=> Secure state <1=> Non-Secure state -// Interrupt 314 <0=> Secure state <1=> Non-Secure state -// Interrupt 315 <0=> Secure state <1=> Non-Secure state -// Interrupt 316 <0=> Secure state <1=> Non-Secure state -// Interrupt 317 <0=> Secure state <1=> Non-Secure state -// Interrupt 318 <0=> Secure state <1=> Non-Secure state -// Interrupt 319 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS9_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 10 (Interrupts 320..351) -*/ -#define NVIC_INIT_ITNS10 0 - -/* -// Interrupts 320..351 -// Interrupt 320 <0=> Secure state <1=> Non-Secure state -// Interrupt 321 <0=> Secure state <1=> Non-Secure state -// Interrupt 322 <0=> Secure state <1=> Non-Secure state -// Interrupt 323 <0=> Secure state <1=> Non-Secure state -// Interrupt 324 <0=> Secure state <1=> Non-Secure state -// Interrupt 325 <0=> Secure state <1=> Non-Secure state -// Interrupt 326 <0=> Secure state <1=> Non-Secure state -// Interrupt 327 <0=> Secure state <1=> Non-Secure state -// Interrupt 328 <0=> Secure state <1=> Non-Secure state -// Interrupt 329 <0=> Secure state <1=> Non-Secure state -// Interrupt 330 <0=> Secure state <1=> Non-Secure state -// Interrupt 331 <0=> Secure state <1=> Non-Secure state -// Interrupt 332 <0=> Secure state <1=> Non-Secure state -// Interrupt 333 <0=> Secure state <1=> Non-Secure state -// Interrupt 334 <0=> Secure state <1=> Non-Secure state -// Interrupt 335 <0=> Secure state <1=> Non-Secure state -// Interrupt 336 <0=> Secure state <1=> Non-Secure state -// Interrupt 337 <0=> Secure state <1=> Non-Secure state -// Interrupt 338 <0=> Secure state <1=> Non-Secure state -// Interrupt 339 <0=> Secure state <1=> Non-Secure state -// Interrupt 340 <0=> Secure state <1=> Non-Secure state -// Interrupt 341 <0=> Secure state <1=> Non-Secure state -// Interrupt 342 <0=> Secure state <1=> Non-Secure state -// Interrupt 343 <0=> Secure state <1=> Non-Secure state -// Interrupt 344 <0=> Secure state <1=> Non-Secure state -// Interrupt 345 <0=> Secure state <1=> Non-Secure state -// Interrupt 346 <0=> Secure state <1=> Non-Secure state -// Interrupt 347 <0=> Secure state <1=> Non-Secure state -// Interrupt 348 <0=> Secure state <1=> Non-Secure state -// Interrupt 349 <0=> Secure state <1=> Non-Secure state -// Interrupt 350 <0=> Secure state <1=> Non-Secure state -// Interrupt 351 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS10_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 11 (Interrupts 352..383) -*/ -#define NVIC_INIT_ITNS11 0 - -/* -// Interrupts 352..383 -// Interrupt 352 <0=> Secure state <1=> Non-Secure state -// Interrupt 353 <0=> Secure state <1=> Non-Secure state -// Interrupt 354 <0=> Secure state <1=> Non-Secure state -// Interrupt 355 <0=> Secure state <1=> Non-Secure state -// Interrupt 356 <0=> Secure state <1=> Non-Secure state -// Interrupt 357 <0=> Secure state <1=> Non-Secure state -// Interrupt 358 <0=> Secure state <1=> Non-Secure state -// Interrupt 359 <0=> Secure state <1=> Non-Secure state -// Interrupt 360 <0=> Secure state <1=> Non-Secure state -// Interrupt 361 <0=> Secure state <1=> Non-Secure state -// Interrupt 362 <0=> Secure state <1=> Non-Secure state -// Interrupt 363 <0=> Secure state <1=> Non-Secure state -// Interrupt 364 <0=> Secure state <1=> Non-Secure state -// Interrupt 365 <0=> Secure state <1=> Non-Secure state -// Interrupt 366 <0=> Secure state <1=> Non-Secure state -// Interrupt 367 <0=> Secure state <1=> Non-Secure state -// Interrupt 368 <0=> Secure state <1=> Non-Secure state -// Interrupt 369 <0=> Secure state <1=> Non-Secure state -// Interrupt 370 <0=> Secure state <1=> Non-Secure state -// Interrupt 371 <0=> Secure state <1=> Non-Secure state -// Interrupt 372 <0=> Secure state <1=> Non-Secure state -// Interrupt 373 <0=> Secure state <1=> Non-Secure state -// Interrupt 374 <0=> Secure state <1=> Non-Secure state -// Interrupt 375 <0=> Secure state <1=> Non-Secure state -// Interrupt 376 <0=> Secure state <1=> Non-Secure state -// Interrupt 377 <0=> Secure state <1=> Non-Secure state -// Interrupt 378 <0=> Secure state <1=> Non-Secure state -// Interrupt 379 <0=> Secure state <1=> Non-Secure state -// Interrupt 380 <0=> Secure state <1=> Non-Secure state -// Interrupt 381 <0=> Secure state <1=> Non-Secure state -// Interrupt 382 <0=> Secure state <1=> Non-Secure state -// Interrupt 383 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS11_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 12 (Interrupts 384..415) -*/ -#define NVIC_INIT_ITNS12 0 - -/* -// Interrupts 384..415 -// Interrupt 384 <0=> Secure state <1=> Non-Secure state -// Interrupt 385 <0=> Secure state <1=> Non-Secure state -// Interrupt 386 <0=> Secure state <1=> Non-Secure state -// Interrupt 387 <0=> Secure state <1=> Non-Secure state -// Interrupt 388 <0=> Secure state <1=> Non-Secure state -// Interrupt 389 <0=> Secure state <1=> Non-Secure state -// Interrupt 390 <0=> Secure state <1=> Non-Secure state -// Interrupt 391 <0=> Secure state <1=> Non-Secure state -// Interrupt 392 <0=> Secure state <1=> Non-Secure state -// Interrupt 393 <0=> Secure state <1=> Non-Secure state -// Interrupt 394 <0=> Secure state <1=> Non-Secure state -// Interrupt 395 <0=> Secure state <1=> Non-Secure state -// Interrupt 396 <0=> Secure state <1=> Non-Secure state -// Interrupt 397 <0=> Secure state <1=> Non-Secure state -// Interrupt 398 <0=> Secure state <1=> Non-Secure state -// Interrupt 399 <0=> Secure state <1=> Non-Secure state -// Interrupt 400 <0=> Secure state <1=> Non-Secure state -// Interrupt 401 <0=> Secure state <1=> Non-Secure state -// Interrupt 402 <0=> Secure state <1=> Non-Secure state -// Interrupt 403 <0=> Secure state <1=> Non-Secure state -// Interrupt 404 <0=> Secure state <1=> Non-Secure state -// Interrupt 405 <0=> Secure state <1=> Non-Secure state -// Interrupt 406 <0=> Secure state <1=> Non-Secure state -// Interrupt 407 <0=> Secure state <1=> Non-Secure state -// Interrupt 408 <0=> Secure state <1=> Non-Secure state -// Interrupt 409 <0=> Secure state <1=> Non-Secure state -// Interrupt 410 <0=> Secure state <1=> Non-Secure state -// Interrupt 411 <0=> Secure state <1=> Non-Secure state -// Interrupt 412 <0=> Secure state <1=> Non-Secure state -// Interrupt 413 <0=> Secure state <1=> Non-Secure state -// Interrupt 414 <0=> Secure state <1=> Non-Secure state -// Interrupt 415 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS12_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 13 (Interrupts 416..447) -*/ -#define NVIC_INIT_ITNS13 0 - -/* -// Interrupts 416..447 -// Interrupt 416 <0=> Secure state <1=> Non-Secure state -// Interrupt 417 <0=> Secure state <1=> Non-Secure state -// Interrupt 418 <0=> Secure state <1=> Non-Secure state -// Interrupt 419 <0=> Secure state <1=> Non-Secure state -// Interrupt 420 <0=> Secure state <1=> Non-Secure state -// Interrupt 421 <0=> Secure state <1=> Non-Secure state -// Interrupt 422 <0=> Secure state <1=> Non-Secure state -// Interrupt 423 <0=> Secure state <1=> Non-Secure state -// Interrupt 424 <0=> Secure state <1=> Non-Secure state -// Interrupt 425 <0=> Secure state <1=> Non-Secure state -// Interrupt 426 <0=> Secure state <1=> Non-Secure state -// Interrupt 427 <0=> Secure state <1=> Non-Secure state -// Interrupt 428 <0=> Secure state <1=> Non-Secure state -// Interrupt 429 <0=> Secure state <1=> Non-Secure state -// Interrupt 430 <0=> Secure state <1=> Non-Secure state -// Interrupt 431 <0=> Secure state <1=> Non-Secure state -// Interrupt 432 <0=> Secure state <1=> Non-Secure state -// Interrupt 433 <0=> Secure state <1=> Non-Secure state -// Interrupt 434 <0=> Secure state <1=> Non-Secure state -// Interrupt 435 <0=> Secure state <1=> Non-Secure state -// Interrupt 436 <0=> Secure state <1=> Non-Secure state -// Interrupt 437 <0=> Secure state <1=> Non-Secure state -// Interrupt 438 <0=> Secure state <1=> Non-Secure state -// Interrupt 439 <0=> Secure state <1=> Non-Secure state -// Interrupt 440 <0=> Secure state <1=> Non-Secure state -// Interrupt 441 <0=> Secure state <1=> Non-Secure state -// Interrupt 442 <0=> Secure state <1=> Non-Secure state -// Interrupt 443 <0=> Secure state <1=> Non-Secure state -// Interrupt 444 <0=> Secure state <1=> Non-Secure state -// Interrupt 445 <0=> Secure state <1=> Non-Secure state -// Interrupt 446 <0=> Secure state <1=> Non-Secure state -// Interrupt 447 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS13_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 14 (Interrupts 448..479) -*/ -#define NVIC_INIT_ITNS14 0 - -/* -// Interrupts 448..479 -// Interrupt 448 <0=> Secure state <1=> Non-Secure state -// Interrupt 449 <0=> Secure state <1=> Non-Secure state -// Interrupt 450 <0=> Secure state <1=> Non-Secure state -// Interrupt 451 <0=> Secure state <1=> Non-Secure state -// Interrupt 452 <0=> Secure state <1=> Non-Secure state -// Interrupt 453 <0=> Secure state <1=> Non-Secure state -// Interrupt 454 <0=> Secure state <1=> Non-Secure state -// Interrupt 455 <0=> Secure state <1=> Non-Secure state -// Interrupt 456 <0=> Secure state <1=> Non-Secure state -// Interrupt 457 <0=> Secure state <1=> Non-Secure state -// Interrupt 458 <0=> Secure state <1=> Non-Secure state -// Interrupt 459 <0=> Secure state <1=> Non-Secure state -// Interrupt 460 <0=> Secure state <1=> Non-Secure state -// Interrupt 461 <0=> Secure state <1=> Non-Secure state -// Interrupt 462 <0=> Secure state <1=> Non-Secure state -// Interrupt 463 <0=> Secure state <1=> Non-Secure state -// Interrupt 464 <0=> Secure state <1=> Non-Secure state -// Interrupt 465 <0=> Secure state <1=> Non-Secure state -// Interrupt 466 <0=> Secure state <1=> Non-Secure state -// Interrupt 467 <0=> Secure state <1=> Non-Secure state -// Interrupt 468 <0=> Secure state <1=> Non-Secure state -// Interrupt 469 <0=> Secure state <1=> Non-Secure state -// Interrupt 470 <0=> Secure state <1=> Non-Secure state -// Interrupt 471 <0=> Secure state <1=> Non-Secure state -// Interrupt 472 <0=> Secure state <1=> Non-Secure state -// Interrupt 473 <0=> Secure state <1=> Non-Secure state -// Interrupt 474 <0=> Secure state <1=> Non-Secure state -// Interrupt 475 <0=> Secure state <1=> Non-Secure state -// Interrupt 476 <0=> Secure state <1=> Non-Secure state -// Interrupt 477 <0=> Secure state <1=> Non-Secure state -// Interrupt 478 <0=> Secure state <1=> Non-Secure state -// Interrupt 479 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS14_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 15 (Interrupts 480..511) -*/ -#define NVIC_INIT_ITNS15 0 - -/* -// Interrupts 480..511 -// Interrupt 480 <0=> Secure state <1=> Non-Secure state -// Interrupt 481 <0=> Secure state <1=> Non-Secure state -// Interrupt 482 <0=> Secure state <1=> Non-Secure state -// Interrupt 483 <0=> Secure state <1=> Non-Secure state -// Interrupt 484 <0=> Secure state <1=> Non-Secure state -// Interrupt 485 <0=> Secure state <1=> Non-Secure state -// Interrupt 486 <0=> Secure state <1=> Non-Secure state -// Interrupt 487 <0=> Secure state <1=> Non-Secure state -// Interrupt 488 <0=> Secure state <1=> Non-Secure state -// Interrupt 489 <0=> Secure state <1=> Non-Secure state -// Interrupt 490 <0=> Secure state <1=> Non-Secure state -// Interrupt 491 <0=> Secure state <1=> Non-Secure state -// Interrupt 492 <0=> Secure state <1=> Non-Secure state -// Interrupt 493 <0=> Secure state <1=> Non-Secure state -// Interrupt 494 <0=> Secure state <1=> Non-Secure state -// Interrupt 495 <0=> Secure state <1=> Non-Secure state -// Interrupt 496 <0=> Secure state <1=> Non-Secure state -// Interrupt 497 <0=> Secure state <1=> Non-Secure state -// Interrupt 498 <0=> Secure state <1=> Non-Secure state -// Interrupt 499 <0=> Secure state <1=> Non-Secure state -// Interrupt 500 <0=> Secure state <1=> Non-Secure state -// Interrupt 501 <0=> Secure state <1=> Non-Secure state -// Interrupt 502 <0=> Secure state <1=> Non-Secure state -// Interrupt 503 <0=> Secure state <1=> Non-Secure state -// Interrupt 504 <0=> Secure state <1=> Non-Secure state -// Interrupt 505 <0=> Secure state <1=> Non-Secure state -// Interrupt 506 <0=> Secure state <1=> Non-Secure state -// Interrupt 507 <0=> Secure state <1=> Non-Secure state -// Interrupt 508 <0=> Secure state <1=> Non-Secure state -// Interrupt 509 <0=> Secure state <1=> Non-Secure state -// Interrupt 510 <0=> Secure state <1=> Non-Secure state -// Interrupt 511 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS15_VAL 0x00000000 - -/* -// -*/ - -/* -// -*/ - - - -/* - max 128 SAU regions. - SAU regions are defined in partition.h - */ - -#define SAU_INIT_REGION(n) \ - SAU->RNR = (n & SAU_RNR_REGION_Msk); \ - SAU->RBAR = (SAU_INIT_START##n & SAU_RBAR_BADDR_Msk); \ - SAU->RLAR = (SAU_INIT_END##n & SAU_RLAR_LADDR_Msk) | \ - ((SAU_INIT_NSC##n << SAU_RLAR_NSC_Pos) & SAU_RLAR_NSC_Msk) | 1U - -/** - \brief Setup a SAU Region - \details Writes the region information contained in SAU_Region to the - registers SAU_RNR, SAU_RBAR, and SAU_RLAR - */ -__STATIC_INLINE void TZ_SAU_Setup (void) -{ - -#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) - - #if defined (SAU_INIT_REGION0) && (SAU_INIT_REGION0 == 1U) - SAU_INIT_REGION(0); - #endif - - #if defined (SAU_INIT_REGION1) && (SAU_INIT_REGION1 == 1U) - SAU_INIT_REGION(1); - #endif - - #if defined (SAU_INIT_REGION2) && (SAU_INIT_REGION2 == 1U) - SAU_INIT_REGION(2); - #endif - - #if defined (SAU_INIT_REGION3) && (SAU_INIT_REGION3 == 1U) - SAU_INIT_REGION(3); - #endif - - #if defined (SAU_INIT_REGION4) && (SAU_INIT_REGION4 == 1U) - SAU_INIT_REGION(4); - #endif - - #if defined (SAU_INIT_REGION5) && (SAU_INIT_REGION5 == 1U) - SAU_INIT_REGION(5); - #endif - - #if defined (SAU_INIT_REGION6) && (SAU_INIT_REGION6 == 1U) - SAU_INIT_REGION(6); - #endif - - #if defined (SAU_INIT_REGION7) && (SAU_INIT_REGION7 == 1U) - SAU_INIT_REGION(7); - #endif - - /* repeat this for all possible SAU regions */ - -#endif /* defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) */ - - - #if defined (SAU_INIT_CTRL) && (SAU_INIT_CTRL == 1U) - SAU->CTRL = ((SAU_INIT_CTRL_ENABLE << SAU_CTRL_ENABLE_Pos) & SAU_CTRL_ENABLE_Msk) | - ((SAU_INIT_CTRL_ALLNS << SAU_CTRL_ALLNS_Pos) & SAU_CTRL_ALLNS_Msk) ; - #endif - - #if defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) - SCB->SCR = (SCB->SCR & ~(SCB_SCR_SLEEPDEEPS_Msk )) | - ((SCB_CSR_DEEPSLEEPS_VAL << SCB_SCR_SLEEPDEEPS_Pos) & SCB_SCR_SLEEPDEEPS_Msk); - - SCB->AIRCR = (SCB->AIRCR & ~(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_SYSRESETREQS_Msk | - SCB_AIRCR_BFHFNMINS_Msk | SCB_AIRCR_PRIS_Msk )) | - ((0x05FAU << SCB_AIRCR_VECTKEY_Pos) & SCB_AIRCR_VECTKEY_Msk) | - ((SCB_AIRCR_SYSRESETREQS_VAL << SCB_AIRCR_SYSRESETREQS_Pos) & SCB_AIRCR_SYSRESETREQS_Msk) | - ((SCB_AIRCR_PRIS_VAL << SCB_AIRCR_PRIS_Pos) & SCB_AIRCR_PRIS_Msk) | - ((SCB_AIRCR_BFHFNMINS_VAL << SCB_AIRCR_BFHFNMINS_Pos) & SCB_AIRCR_BFHFNMINS_Msk); - #endif /* defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) */ - - #if defined (__FPU_USED) && (__FPU_USED == 1U) && \ - defined (TZ_FPU_NS_USAGE) && (TZ_FPU_NS_USAGE == 1U) - - SCB->NSACR = (SCB->NSACR & ~(SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)) | - ((SCB_NSACR_CP10_11_VAL << SCB_NSACR_CP10_Pos) & (SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)); - - FPU->FPCCR = (FPU->FPCCR & ~(FPU_FPCCR_TS_Msk | FPU_FPCCR_CLRONRETS_Msk | FPU_FPCCR_CLRONRET_Msk)) | - ((FPU_FPCCR_TS_VAL << FPU_FPCCR_TS_Pos ) & FPU_FPCCR_TS_Msk ) | - ((FPU_FPCCR_CLRONRETS_VAL << FPU_FPCCR_CLRONRETS_Pos) & FPU_FPCCR_CLRONRETS_Msk) | - ((FPU_FPCCR_CLRONRET_VAL << FPU_FPCCR_CLRONRET_Pos ) & FPU_FPCCR_CLRONRET_Msk ); - #endif - - #if defined (NVIC_INIT_ITNS0) && (NVIC_INIT_ITNS0 == 1U) - NVIC->ITNS[0] = NVIC_INIT_ITNS0_VAL; - #endif - - #if defined (NVIC_INIT_ITNS1) && (NVIC_INIT_ITNS1 == 1U) - NVIC->ITNS[1] = NVIC_INIT_ITNS1_VAL; - #endif - - #if defined (NVIC_INIT_ITNS2) && (NVIC_INIT_ITNS2 == 1U) - NVIC->ITNS[2] = NVIC_INIT_ITNS2_VAL; - #endif - - #if defined (NVIC_INIT_ITNS3) && (NVIC_INIT_ITNS3 == 1U) - NVIC->ITNS[3] = NVIC_INIT_ITNS3_VAL; - #endif - - #if defined (NVIC_INIT_ITNS4) && (NVIC_INIT_ITNS4 == 1U) - NVIC->ITNS[4] = NVIC_INIT_ITNS4_VAL; - #endif - - #if defined (NVIC_INIT_ITNS5) && (NVIC_INIT_ITNS5 == 1U) - NVIC->ITNS[5] = NVIC_INIT_ITNS5_VAL; - #endif - - #if defined (NVIC_INIT_ITNS6) && (NVIC_INIT_ITNS6 == 1U) - NVIC->ITNS[6] = NVIC_INIT_ITNS6_VAL; - #endif - - #if defined (NVIC_INIT_ITNS7) && (NVIC_INIT_ITNS7 == 1U) - NVIC->ITNS[7] = NVIC_INIT_ITNS7_VAL; - #endif - - #if defined (NVIC_INIT_ITNS8) && (NVIC_INIT_ITNS8 == 1U) - NVIC->ITNS[8] = NVIC_INIT_ITNS8_VAL; - #endif - - #if defined (NVIC_INIT_ITNS9) && (NVIC_INIT_ITNS9 == 1U) - NVIC->ITNS[9] = NVIC_INIT_ITNS9_VAL; - #endif - - #if defined (NVIC_INIT_ITNS10) && (NVIC_INIT_ITNS10 == 1U) - NVIC->ITNS[10] = NVIC_INIT_ITNS10_VAL; - #endif - - #if defined (NVIC_INIT_ITNS11) && (NVIC_INIT_ITNS11 == 1U) - NVIC->ITNS[11] = NVIC_INIT_ITNS11_VAL; - #endif - - #if defined (NVIC_INIT_ITNS12) && (NVIC_INIT_ITNS12 == 1U) - NVIC->ITNS[12] = NVIC_INIT_ITNS12_VAL; - #endif - - #if defined (NVIC_INIT_ITNS13) && (NVIC_INIT_ITNS13 == 1U) - NVIC->ITNS[13] = NVIC_INIT_ITNS13_VAL; - #endif - - #if defined (NVIC_INIT_ITNS14) && (NVIC_INIT_ITNS14 == 1U) - NVIC->ITNS[14] = NVIC_INIT_ITNS14_VAL; - #endif - - #if defined (NVIC_INIT_ITNS15) && (NVIC_INIT_ITNS15 == 1U) - NVIC->ITNS[15] = NVIC_INIT_ITNS15_VAL; - #endif - - /* repeat this for all possible ITNS elements */ - -} - -#endif /* PARTITION_ARMCM33_H */ diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S_BL/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S_BL/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.c deleted file mode 100644 index 044feb7..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S_BL/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.c +++ /dev/null @@ -1,170 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM33.c - * @brief CMSIS-Core Device Startup File for Cortex-M33 Device - * @version V2.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM33) - #include "ARMCM33.h" -#elif defined (ARMCM33_TZ) - #include "ARMCM33_TZ.h" -#elif defined (ARMCM33_DSP_FP) - #include "ARMCM33_DSP_FP.h" -#elif defined (ARMCM33_DSP_FP_TZ) - #include "ARMCM33_DSP_FP_TZ.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SecureFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - SecureFault_Handler, /* -9 Secure Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVCall Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 480 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S_BL/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.c.base@2.1.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S_BL/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.c.base@2.1.0 deleted file mode 100644 index 044feb7..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S_BL/RTE/Device/ARMCM33_DSP_FP_TZ/startup_ARMCM33.c.base@2.1.0 +++ /dev/null @@ -1,170 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM33.c - * @brief CMSIS-Core Device Startup File for Cortex-M33 Device - * @version V2.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM33) - #include "ARMCM33.h" -#elif defined (ARMCM33_TZ) - #include "ARMCM33_TZ.h" -#elif defined (ARMCM33_DSP_FP) - #include "ARMCM33_DSP_FP.h" -#elif defined (ARMCM33_DSP_FP_TZ) - #include "ARMCM33_DSP_FP_TZ.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SecureFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - SecureFault_Handler, /* -9 Secure Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVCall Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 480 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S_BL/RTE/Device/ARMCM33_DSP_FP_TZ/system_ARMCM33.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S_BL/RTE/Device/ARMCM33_DSP_FP_TZ/system_ARMCM33.c deleted file mode 100644 index 919b8bd..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S_BL/RTE/Device/ARMCM33_DSP_FP_TZ/system_ARMCM33.c +++ /dev/null @@ -1,97 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM33.c - * @brief CMSIS Device System Source File for - * ARMCM33 Device - * @version V1.0.1 - * @date 15. November 2019 - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM33) - #include "ARMCM33.h" -#elif defined (ARMCM33_TZ) - #include "ARMCM33_TZ.h" - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM33.h" - #endif -#elif defined (ARMCM33_DSP_FP) - #include "ARMCM33_DSP_FP.h" -#elif defined (ARMCM33_DSP_FP_TZ) - #include "ARMCM33_DSP_FP_TZ.h" - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM33.h" - #endif -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t) &(__VECTOR_TABLE[0]); -#endif - -#if defined (__FPU_USED) && (__FPU_USED == 1U) - SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ - (3U << 11U*2U) ); /* enable CP11 Full Access */ -#endif - -#ifdef UNALIGNED_SUPPORT_DISABLE - SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; -#endif - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - TZ_SAU_Setup(); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S_BL/Target.clayer.yml b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S_BL/Target.clayer.yml deleted file mode 100644 index ee45512..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S_BL/Target.clayer.yml +++ /dev/null @@ -1,22 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/1.3.0/tools/projmgr/schemas/clayer.schema.json - -layer: - # type: Target - description: Target setup - - # packs: - # - pack: ARM::CMSIS - - components: - # [Cvendor::] Cclass [&Cbundle] :Cgroup [:Csub] [&Cvariant] [@[>=]Cversion] - - component: ARM::CMSIS:CORE - - component: Device:Startup&C Startup - - misc: - - for-compiler: IAR - Link: [--config generic_cortex.icf] - - groups: - - group: VHT/FVP - files: - - file: ./model_config.txt diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S_BL/model_config.txt b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S_BL/model_config.txt deleted file mode 100644 index 656fbb5..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM33S_BL/model_config.txt +++ /dev/null @@ -1,32 +0,0 @@ -# Parameters: -# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] -#---------------------------------------------------------------------------------------------- -fvp_mps2.mps2_visualisation.disable-visualisation=1 # (bool , init-time) default = '0' : Enable/disable visualisation -cpu0.FPU=1 # (bool , init-time) default = '1' : Set whether the model has VFP support -cpu0.DSP=1 # (bool , init-time) default = '1' : Set whether the model has the DSP extension -cpu0.semihosting-enable=1 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. -cpu0.semihosting-Thumb_SVC=0xAB # (int , init-time) default = '0xAB' : T32 SVC number for semihosting : [0x0..0xFF] -cpu0.semihosting-cmd_line="" # (string, init-time) default = '' : Command line available to semihosting SVC calls -cpu0.semihosting-heap_base=0x0 # (int , init-time) default = '0x0' : Virtual address of heap base : [0x0..0xFFFFFFFF] -cpu0.semihosting-heap_limit=0x0 # (int , init-time) default = '0x10700000' : Virtual address of top of heap : [0x0..0xFFFFFFFF] -cpu0.semihosting-stack_base=0x0 # (int , init-time) default = '0x10700000' : Virtual address of base of descending stack : [0x0..0xFFFFFFFF] -cpu0.semihosting-stack_limit=0x0 # (int , init-time) default = '0x10800000' : Virtual address of stack limit : [0x0..0xFFFFFFFF] -cpu0.semihosting-cwd="" # (string, init-time) default = '' : Base directory for semihosting file access. -cpu0.MPU_S=0x8 # (int , init-time) default = '0x8' : Number of regions in the Secure MPU. If Security Extentions are absent, this is ignored : [0x0..0x10] -cpu0.MPU_NS=0x8 # (int , init-time) default = '0x8' : Number of regions in the Non-Secure MPU. If Security Extentions are absent, this is the total number of MPU regions : [0x0..0x10] -cpu0.ITM=0 # (bool , init-time) default = '1' : Level of instrumentation trace supported. false : No ITM trace included, true: ITM trace included -cpu0.IRQLVL=0x3 # (int , init-time) default = '0x3' : Number of bits of interrupt priority : [0x3..0x8] -cpu0.BIGENDINIT=0 # (bool , init-time) default = '0' : Initialize processor to big endian mode -cpu0.INITSVTOR=0x00000000 # (int , init-time) default = '0x10000000' : Secure vector-table offset at reset : [0x0..0xFFFFFF80] -cpu0.INITNSVTOR=0x0 # (int , init-time) default = '0x0' : Non-Secure vector-table offset at reset : [0x0..0xFFFFFF80] -cpu0.SAU=0x8 # (int , init-time) default = '0x4' : Number of SAU regions (0 => no SAU) : [0x0..0x8] -cpu0.SAU_CTRL.ENABLE=0 # (bool , init-time) default = '0' : Enable SAU at reset -cpu0.SAU_CTRL.ALLNS=0 # (bool , init-time) default = '0' : At reset, the SAU treats entire memory space as NS when the SAU is disabled if this is set -idau.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' : -cpu0.LOCK_SAU=0 # (bool , init-time) default = '0' : Lock down of SAU registers write -cpu0.LOCK_S_MPU=0 # (bool , init-time) default = '0' : Lock down of Secure MPU registers write -cpu0.LOCK_NS_MPU=0 # (bool , init-time) default = '0' : Lock down of Non-Secure MPU registers write -cpu0.CPIF=1 # (bool , init-time) default = '1' : Specifies whether the external coprocessor interface is included -cpu0.SECEXT=1 # (bool , init-time) default = '1' : Whether the ARMv8-M Security Extensions are included -fvp_mps2.DISABLE_GATING=1 # (bool , init-time) default = '0' : Disable Memory gating logic -#---------------------------------------------------------------------------------------------- diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35P/RTE/Device/ARMCM35P_DSP_FP/ARMCM35P_ac6.sct b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35P/RTE/Device/ARMCM35P_DSP_FP/ARMCM35P_ac6.sct deleted file mode 100644 index d06959f..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35P/RTE/Device/ARMCM35P_DSP_FP/ARMCM35P_ac6.sct +++ /dev/null @@ -1,123 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m35p -xc -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m35p -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_SIZE 0x200 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE ( __RAM_SIZE - __STACK_SIZE - __HEAP_SIZE - __STACKSEAL_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35P/RTE/Device/ARMCM35P_DSP_FP/gcc_arm.ld b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35P/RTE/Device/ARMCM35P_DSP_FP/gcc_arm.ld deleted file mode 100644 index c8f0efe..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35P/RTE/Device/ARMCM35P_DSP_FP/gcc_arm.ld +++ /dev/null @@ -1,316 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.2.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00040000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00020000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -/* ARMv8-M stack sealing: - to use ARMv8-M stack sealing set __STACKSEAL_SIZE to 8 otherwise keep 0 - */ -__STACKSEAL_SIZE = 0; - - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - * __StackSeal (only if ARMv8-M stack sealing is used) - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ -/* - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH -*/ - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* ARMv8-M stack sealing: - to use ARMv8-M stack sealing uncomment '.stackseal' section - */ -/* - .stackseal (ORIGIN(RAM) + LENGTH(RAM) - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackSeal = .; - . = . + 8; - . = ALIGN(8); - } > RAM -*/ - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35P/RTE/Device/ARMCM35P_DSP_FP/startup_ARMCM35P.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35P/RTE/Device/ARMCM35P_DSP_FP/startup_ARMCM35P.c deleted file mode 100644 index d2d21d8..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35P/RTE/Device/ARMCM35P_DSP_FP/startup_ARMCM35P.c +++ /dev/null @@ -1,170 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM35P.c - * @brief CMSIS-Core Device Startup File for Cortex-M35P Device - * @version V2.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM35P) - #include "ARMCM35P.h" -#elif defined (ARMCM35P_TZ) - #include "ARMCM35P_TZ.h" -#elif defined (ARMCM35P_DSP_FP) - #include "ARMCM35P_DSP_FP.h" -#elif defined (ARMCM35P_DSP_FP_TZ) - #include "ARMCM35P_DSP_FP_TZ.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SecureFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - SecureFault_Handler, /* -9 Secure Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 480 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35P/RTE/Device/ARMCM35P_DSP_FP/startup_ARMCM35P.c.base@2.1.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35P/RTE/Device/ARMCM35P_DSP_FP/startup_ARMCM35P.c.base@2.1.0 deleted file mode 100644 index d2d21d8..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35P/RTE/Device/ARMCM35P_DSP_FP/startup_ARMCM35P.c.base@2.1.0 +++ /dev/null @@ -1,170 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM35P.c - * @brief CMSIS-Core Device Startup File for Cortex-M35P Device - * @version V2.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM35P) - #include "ARMCM35P.h" -#elif defined (ARMCM35P_TZ) - #include "ARMCM35P_TZ.h" -#elif defined (ARMCM35P_DSP_FP) - #include "ARMCM35P_DSP_FP.h" -#elif defined (ARMCM35P_DSP_FP_TZ) - #include "ARMCM35P_DSP_FP_TZ.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SecureFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - SecureFault_Handler, /* -9 Secure Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 480 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35P/RTE/Device/ARMCM35P_DSP_FP/system_ARMCM35P.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35P/RTE/Device/ARMCM35P_DSP_FP/system_ARMCM35P.c deleted file mode 100644 index 2ccc84b..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35P/RTE/Device/ARMCM35P_DSP_FP/system_ARMCM35P.c +++ /dev/null @@ -1,97 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM35P.c - * @brief CMSIS Device System Source File for - * ARMCM35P Device - * @version V1.0.1 - * @date 15. November 2019 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM35P) - #include "ARMCM35P.h" -#elif defined (ARMCM35P_TZ) - #include "ARMCM35P_TZ.h" - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM35P.h" - #endif -#elif defined (ARMCM35P_DSP_FP) - #include "ARMCM35P_DSP_FP.h" -#elif defined (ARMCM35P_DSP_FP_TZ) - #include "ARMCM35P_DSP_FP_TZ.h" - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM35P.h" - #endif -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t) &(__VECTOR_TABLE[0]); -#endif - -#if defined (__FPU_USED) && (__FPU_USED == 1U) - SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ - (3U << 11U*2U) ); /* enable CP11 Full Access */ -#endif - -#ifdef UNALIGNED_SUPPORT_DISABLE - SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; -#endif - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - TZ_SAU_Setup(); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35P/Target.clayer.yml b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35P/Target.clayer.yml deleted file mode 100644 index ee45512..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35P/Target.clayer.yml +++ /dev/null @@ -1,22 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/1.3.0/tools/projmgr/schemas/clayer.schema.json - -layer: - # type: Target - description: Target setup - - # packs: - # - pack: ARM::CMSIS - - components: - # [Cvendor::] Cclass [&Cbundle] :Cgroup [:Csub] [&Cvariant] [@[>=]Cversion] - - component: ARM::CMSIS:CORE - - component: Device:Startup&C Startup - - misc: - - for-compiler: IAR - Link: [--config generic_cortex.icf] - - groups: - - group: VHT/FVP - files: - - file: ./model_config.txt diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35P/model_config.txt b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35P/model_config.txt deleted file mode 100644 index 271fd6c..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35P/model_config.txt +++ /dev/null @@ -1,32 +0,0 @@ -# Parameters: -# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] -#---------------------------------------------------------------------------------------------- -fvp_mps2.mps2_visualisation.disable-visualisation=1 # (bool , init-time) default = '0' : Enable/disable visualisation -cpu0.FPU=1 # (bool , init-time) default = '1' : Set whether the model has VFP support -cpu0.DSP=1 # (bool , init-time) default = '1' : Set whether the model has the DSP extension -cpu0.semihosting-enable=1 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. -cpu0.semihosting-Thumb_SVC=0xAB # (int , init-time) default = '0xAB' : T32 SVC number for semihosting : [0x0..0xFF] -cpu0.semihosting-cmd_line="" # (string, init-time) default = '' : Command line available to semihosting SVC calls -cpu0.semihosting-heap_base=0x0 # (int , init-time) default = '0x0' : Virtual address of heap base : [0x0..0xFFFFFFFF] -cpu0.semihosting-heap_limit=0x0 # (int , init-time) default = '0x10700000' : Virtual address of top of heap : [0x0..0xFFFFFFFF] -cpu0.semihosting-stack_base=0x0 # (int , init-time) default = '0x10700000' : Virtual address of base of descending stack : [0x0..0xFFFFFFFF] -cpu0.semihosting-stack_limit=0x0 # (int , init-time) default = '0x10800000' : Virtual address of stack limit : [0x0..0xFFFFFFFF] -cpu0.semihosting-cwd="" # (string, init-time) default = '' : Base directory for semihosting file access. -cpu0.MPU_S=0x8 # (int , init-time) default = '0x8' : Number of regions in the Secure MPU. If Security Extentions are absent, this is ignored : [0x0..0x10] -cpu0.MPU_NS=0x8 # (int , init-time) default = '0x8' : Number of regions in the Non-Secure MPU. If Security Extentions are absent, this is the total number of MPU regions : [0x0..0x10] -cpu0.ITM=0 # (bool , init-time) default = '1' : Level of instrumentation trace supported. false : No ITM trace included, true: ITM trace included -cpu0.IRQLVL=0x3 # (int , init-time) default = '0x3' : Number of bits of interrupt priority : [0x3..0x8] -cpu0.BIGENDINIT=0 # (bool , init-time) default = '0' : Initialize processor to big endian mode -cpu0.INITSVTOR=0x00000000 # (int , init-time) default = '0x10000000' : Secure vector-table offset at reset : [0x0..0xFFFFFF80] -cpu0.INITNSVTOR=0x0 # (int , init-time) default = '0x0' : Non-Secure vector-table offset at reset : [0x0..0xFFFFFF80] -cpu0.SAU=0x0 # (int , init-time) default = '0x4' : Number of SAU regions (0 => no SAU) : [0x0..0x8] -cpu0.SAU_CTRL.ENABLE=0 # (bool , init-time) default = '0' : Enable SAU at reset -cpu0.SAU_CTRL.ALLNS=0 # (bool , init-time) default = '0' : At reset, the SAU treats entire memory space as NS when the SAU is disabled if this is set -idau.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' : -cpu0.LOCK_SAU=0 # (bool , init-time) default = '0' : Lock down of SAU registers write -cpu0.LOCK_S_MPU=0 # (bool , init-time) default = '0' : Lock down of Secure MPU registers write -cpu0.LOCK_NS_MPU=0 # (bool , init-time) default = '0' : Lock down of Non-Secure MPU registers write -cpu0.CPIF=1 # (bool , init-time) default = '1' : Specifies whether the external coprocessor interface is included -cpu0.SECEXT=0 # (bool , init-time) default = '1' : Whether the ARMv8-M Security Extensions are included -fvp_mps2.DISABLE_GATING=1 # (bool , init-time) default = '0' : Disable Memory gating logic -#---------------------------------------------------------------------------------------------- diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PNS/RTE/Device/ARMCM35P_DSP_FP_TZ/ARMCM35P_ac6.sct b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PNS/RTE/Device/ARMCM35P_DSP_FP_TZ/ARMCM35P_ac6.sct deleted file mode 100644 index 50bfe06..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PNS/RTE/Device/ARMCM35P_DSP_FP_TZ/ARMCM35P_ac6.sct +++ /dev/null @@ -1,123 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m35p -xc -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m35p -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00200000 -#define __ROM_SIZE 0x00200000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20200000 -#define __RAM_SIZE 0x00200000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000400 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_SIZE 0x200 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE ( __RAM_SIZE - __STACK_SIZE - __HEAP_SIZE - __STACKSEAL_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PNS/RTE/Device/ARMCM35P_DSP_FP_TZ/gcc_arm.ld b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PNS/RTE/Device/ARMCM35P_DSP_FP_TZ/gcc_arm.ld deleted file mode 100644 index 6058784..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PNS/RTE/Device/ARMCM35P_DSP_FP_TZ/gcc_arm.ld +++ /dev/null @@ -1,316 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.2.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00200000; -__ROM_SIZE = 0x00200000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20200000; -__RAM_SIZE = 0x00200000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -/* ARMv8-M stack sealing: - to use ARMv8-M stack sealing set __STACKSEAL_SIZE to 8 otherwise keep 0 - */ -__STACKSEAL_SIZE = 0; - - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - * __StackSeal (only if ARMv8-M stack sealing is used) - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ -/* - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH -*/ - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* ARMv8-M stack sealing: - to use ARMv8-M stack sealing uncomment '.stackseal' section - */ -/* - .stackseal (ORIGIN(RAM) + LENGTH(RAM) - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackSeal = .; - . = . + 8; - . = ALIGN(8); - } > RAM -*/ - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PNS/RTE/Device/ARMCM35P_DSP_FP_TZ/startup_ARMCM35P.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PNS/RTE/Device/ARMCM35P_DSP_FP_TZ/startup_ARMCM35P.c deleted file mode 100644 index d2d21d8..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PNS/RTE/Device/ARMCM35P_DSP_FP_TZ/startup_ARMCM35P.c +++ /dev/null @@ -1,170 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM35P.c - * @brief CMSIS-Core Device Startup File for Cortex-M35P Device - * @version V2.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM35P) - #include "ARMCM35P.h" -#elif defined (ARMCM35P_TZ) - #include "ARMCM35P_TZ.h" -#elif defined (ARMCM35P_DSP_FP) - #include "ARMCM35P_DSP_FP.h" -#elif defined (ARMCM35P_DSP_FP_TZ) - #include "ARMCM35P_DSP_FP_TZ.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SecureFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - SecureFault_Handler, /* -9 Secure Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 480 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PNS/RTE/Device/ARMCM35P_DSP_FP_TZ/startup_ARMCM35P.c.base@2.1.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PNS/RTE/Device/ARMCM35P_DSP_FP_TZ/startup_ARMCM35P.c.base@2.1.0 deleted file mode 100644 index d2d21d8..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PNS/RTE/Device/ARMCM35P_DSP_FP_TZ/startup_ARMCM35P.c.base@2.1.0 +++ /dev/null @@ -1,170 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM35P.c - * @brief CMSIS-Core Device Startup File for Cortex-M35P Device - * @version V2.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM35P) - #include "ARMCM35P.h" -#elif defined (ARMCM35P_TZ) - #include "ARMCM35P_TZ.h" -#elif defined (ARMCM35P_DSP_FP) - #include "ARMCM35P_DSP_FP.h" -#elif defined (ARMCM35P_DSP_FP_TZ) - #include "ARMCM35P_DSP_FP_TZ.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SecureFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - SecureFault_Handler, /* -9 Secure Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 480 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PNS/RTE/Device/ARMCM35P_DSP_FP_TZ/system_ARMCM35P.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PNS/RTE/Device/ARMCM35P_DSP_FP_TZ/system_ARMCM35P.c deleted file mode 100644 index 2ccc84b..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PNS/RTE/Device/ARMCM35P_DSP_FP_TZ/system_ARMCM35P.c +++ /dev/null @@ -1,97 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM35P.c - * @brief CMSIS Device System Source File for - * ARMCM35P Device - * @version V1.0.1 - * @date 15. November 2019 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM35P) - #include "ARMCM35P.h" -#elif defined (ARMCM35P_TZ) - #include "ARMCM35P_TZ.h" - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM35P.h" - #endif -#elif defined (ARMCM35P_DSP_FP) - #include "ARMCM35P_DSP_FP.h" -#elif defined (ARMCM35P_DSP_FP_TZ) - #include "ARMCM35P_DSP_FP_TZ.h" - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM35P.h" - #endif -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t) &(__VECTOR_TABLE[0]); -#endif - -#if defined (__FPU_USED) && (__FPU_USED == 1U) - SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ - (3U << 11U*2U) ); /* enable CP11 Full Access */ -#endif - -#ifdef UNALIGNED_SUPPORT_DISABLE - SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; -#endif - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - TZ_SAU_Setup(); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PNS/Target.clayer.yml b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PNS/Target.clayer.yml deleted file mode 100644 index ee45512..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PNS/Target.clayer.yml +++ /dev/null @@ -1,22 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/1.3.0/tools/projmgr/schemas/clayer.schema.json - -layer: - # type: Target - description: Target setup - - # packs: - # - pack: ARM::CMSIS - - components: - # [Cvendor::] Cclass [&Cbundle] :Cgroup [:Csub] [&Cvariant] [@[>=]Cversion] - - component: ARM::CMSIS:CORE - - component: Device:Startup&C Startup - - misc: - - for-compiler: IAR - Link: [--config generic_cortex.icf] - - groups: - - group: VHT/FVP - files: - - file: ./model_config.txt diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PNS/model_config.txt b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PNS/model_config.txt deleted file mode 100644 index 656fbb5..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PNS/model_config.txt +++ /dev/null @@ -1,32 +0,0 @@ -# Parameters: -# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] -#---------------------------------------------------------------------------------------------- -fvp_mps2.mps2_visualisation.disable-visualisation=1 # (bool , init-time) default = '0' : Enable/disable visualisation -cpu0.FPU=1 # (bool , init-time) default = '1' : Set whether the model has VFP support -cpu0.DSP=1 # (bool , init-time) default = '1' : Set whether the model has the DSP extension -cpu0.semihosting-enable=1 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. -cpu0.semihosting-Thumb_SVC=0xAB # (int , init-time) default = '0xAB' : T32 SVC number for semihosting : [0x0..0xFF] -cpu0.semihosting-cmd_line="" # (string, init-time) default = '' : Command line available to semihosting SVC calls -cpu0.semihosting-heap_base=0x0 # (int , init-time) default = '0x0' : Virtual address of heap base : [0x0..0xFFFFFFFF] -cpu0.semihosting-heap_limit=0x0 # (int , init-time) default = '0x10700000' : Virtual address of top of heap : [0x0..0xFFFFFFFF] -cpu0.semihosting-stack_base=0x0 # (int , init-time) default = '0x10700000' : Virtual address of base of descending stack : [0x0..0xFFFFFFFF] -cpu0.semihosting-stack_limit=0x0 # (int , init-time) default = '0x10800000' : Virtual address of stack limit : [0x0..0xFFFFFFFF] -cpu0.semihosting-cwd="" # (string, init-time) default = '' : Base directory for semihosting file access. -cpu0.MPU_S=0x8 # (int , init-time) default = '0x8' : Number of regions in the Secure MPU. If Security Extentions are absent, this is ignored : [0x0..0x10] -cpu0.MPU_NS=0x8 # (int , init-time) default = '0x8' : Number of regions in the Non-Secure MPU. If Security Extentions are absent, this is the total number of MPU regions : [0x0..0x10] -cpu0.ITM=0 # (bool , init-time) default = '1' : Level of instrumentation trace supported. false : No ITM trace included, true: ITM trace included -cpu0.IRQLVL=0x3 # (int , init-time) default = '0x3' : Number of bits of interrupt priority : [0x3..0x8] -cpu0.BIGENDINIT=0 # (bool , init-time) default = '0' : Initialize processor to big endian mode -cpu0.INITSVTOR=0x00000000 # (int , init-time) default = '0x10000000' : Secure vector-table offset at reset : [0x0..0xFFFFFF80] -cpu0.INITNSVTOR=0x0 # (int , init-time) default = '0x0' : Non-Secure vector-table offset at reset : [0x0..0xFFFFFF80] -cpu0.SAU=0x8 # (int , init-time) default = '0x4' : Number of SAU regions (0 => no SAU) : [0x0..0x8] -cpu0.SAU_CTRL.ENABLE=0 # (bool , init-time) default = '0' : Enable SAU at reset -cpu0.SAU_CTRL.ALLNS=0 # (bool , init-time) default = '0' : At reset, the SAU treats entire memory space as NS when the SAU is disabled if this is set -idau.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' : -cpu0.LOCK_SAU=0 # (bool , init-time) default = '0' : Lock down of SAU registers write -cpu0.LOCK_S_MPU=0 # (bool , init-time) default = '0' : Lock down of Secure MPU registers write -cpu0.LOCK_NS_MPU=0 # (bool , init-time) default = '0' : Lock down of Non-Secure MPU registers write -cpu0.CPIF=1 # (bool , init-time) default = '1' : Specifies whether the external coprocessor interface is included -cpu0.SECEXT=1 # (bool , init-time) default = '1' : Whether the ARMv8-M Security Extensions are included -fvp_mps2.DISABLE_GATING=1 # (bool , init-time) default = '0' : Disable Memory gating logic -#---------------------------------------------------------------------------------------------- diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS/RTE/Device/ARMCM35P_DSP_FP_TZ/ARMCM35P_ac6_s.sct b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS/RTE/Device/ARMCM35P_DSP_FP_TZ/ARMCM35P_ac6_s.sct deleted file mode 100644 index 96395c9..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS/RTE/Device/ARMCM35P_DSP_FP_TZ/ARMCM35P_ac6_s.sct +++ /dev/null @@ -1,123 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m35p -xc -mcmse -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m35p -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00200000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00200000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000400 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_SIZE 0x200 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE ( __RAM_SIZE - __STACK_SIZE - __HEAP_SIZE - __STACKSEAL_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS/RTE/Device/ARMCM35P_DSP_FP_TZ/gcc_arm.ld b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS/RTE/Device/ARMCM35P_DSP_FP_TZ/gcc_arm.ld deleted file mode 100644 index f44186e..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS/RTE/Device/ARMCM35P_DSP_FP_TZ/gcc_arm.ld +++ /dev/null @@ -1,316 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.2.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00200000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00200000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -/* ARMv8-M stack sealing: - to use ARMv8-M stack sealing set __STACKSEAL_SIZE to 8 otherwise keep 0 - */ -__STACKSEAL_SIZE = 8; - - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - * __StackSeal (only if ARMv8-M stack sealing is used) - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ - - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH - - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* ARMv8-M stack sealing: - to use ARMv8-M stack sealing uncomment '.stackseal' section - */ - - .stackseal (ORIGIN(RAM) + LENGTH(RAM) - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackSeal = .; - . = . + 8; - . = ALIGN(8); - } > RAM - - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS/RTE/Device/ARMCM35P_DSP_FP_TZ/partition_ARMCM35P.h b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS/RTE/Device/ARMCM35P_DSP_FP_TZ/partition_ARMCM35P.h deleted file mode 100644 index 299dd18..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS/RTE/Device/ARMCM35P_DSP_FP_TZ/partition_ARMCM35P.h +++ /dev/null @@ -1,1260 +0,0 @@ -/**************************************************************************//** - * @file partition_ARMCM35P.h - * @brief CMSIS-CORE Initial Setup for Secure / Non-Secure Zones for ARMCM35P - * @version V1.0.0 - * @date 03. September 2018 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef PARTITION_ARMCM35P_H -#define PARTITION_ARMCM35P_H - -/* -//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- -*/ - -/* -// Initialize Security Attribution Unit (SAU) CTRL register -*/ -#define SAU_INIT_CTRL 1 - -/* -// Enable SAU -// Value for SAU->CTRL register bit ENABLE -*/ -#define SAU_INIT_CTRL_ENABLE 1 - -/* -// When SAU is disabled -// <0=> All Memory is Secure -// <1=> All Memory is Non-Secure -// Value for SAU->CTRL register bit ALLNS -// When all Memory is Non-Secure (ALLNS is 1), IDAU can override memory map configuration. -*/ -#define SAU_INIT_CTRL_ALLNS 0 - -/* -// -*/ - -/* -// Initialize Security Attribution Unit (SAU) Address Regions -// SAU configuration specifies regions to be one of: -// - Secure and Non-Secure Callable -// - Non-Secure -// Note: All memory regions not configured by SAU are Secure -*/ -#define SAU_REGIONS_MAX 8 /* Max. number of SAU regions */ - -/* -// Initialize SAU Region 0 -// Setup SAU Region 0 memory attributes -*/ -#define SAU_INIT_REGION0 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START0 0x00000000 /* start address of SAU region 0 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END0 0x001FFFFF /* end address of SAU region 0 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC0 1 -/* -// -*/ - -/* -// Initialize SAU Region 1 -// Setup SAU Region 1 memory attributes -*/ -#define SAU_INIT_REGION1 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START1 0x00200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END1 0x003FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC1 0 -/* -// -*/ - -/* -// Initialize SAU Region 2 -// Setup SAU Region 2 memory attributes -*/ -#define SAU_INIT_REGION2 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START2 0x20200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END2 0x203FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC2 0 -/* -// -*/ - -/* -// Initialize SAU Region 3 -// Setup SAU Region 3 memory attributes -*/ -#define SAU_INIT_REGION3 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START3 0x40000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END3 0x40040000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC3 0 -/* -// -*/ - -/* -// Initialize SAU Region 4 -// Setup SAU Region 4 memory attributes -*/ -#define SAU_INIT_REGION4 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START4 0x00000000 /* start address of SAU region 4 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END4 0x00000000 /* end address of SAU region 4 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC4 0 -/* -// -*/ - -/* -// Initialize SAU Region 5 -// Setup SAU Region 5 memory attributes -*/ -#define SAU_INIT_REGION5 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START5 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END5 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC5 0 -/* -// -*/ - -/* -// Initialize SAU Region 6 -// Setup SAU Region 6 memory attributes -*/ -#define SAU_INIT_REGION6 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START6 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END6 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC6 0 -/* -// -*/ - -/* -// Initialize SAU Region 7 -// Setup SAU Region 7 memory attributes -*/ -#define SAU_INIT_REGION7 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START7 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END7 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC7 0 -/* -// -*/ - -/* -// -*/ - -/* -// Setup behaviour of Sleep and Exception Handling -*/ -#define SCB_CSR_AIRCR_INIT 1 - -/* -// Deep Sleep can be enabled by -// <0=>Secure and Non-Secure state -// <1=>Secure state only -// Value for SCB->CSR register bit DEEPSLEEPS -*/ -#define SCB_CSR_DEEPSLEEPS_VAL 1 - -/* -// System reset request accessible from -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for SCB->AIRCR register bit SYSRESETREQS -*/ -#define SCB_AIRCR_SYSRESETREQS_VAL 1 - -/* -// Priority of Non-Secure exceptions is -// <0=> Not altered -// <1=> Lowered to 0x80-0xFF -// Value for SCB->AIRCR register bit PRIS -*/ -#define SCB_AIRCR_PRIS_VAL 1 - -/* -// BusFault, HardFault, and NMI target -// <0=> Secure state -// <1=> Non-Secure state -// Value for SCB->AIRCR register bit BFHFNMINS -*/ -#define SCB_AIRCR_BFHFNMINS_VAL 0 - -/* -// -*/ - -/* -// Setup behaviour of Floating Point Unit -*/ -#define TZ_FPU_NS_USAGE 1 - -/* -// Floating Point Unit usage -// <0=> Secure state only -// <3=> Secure and Non-Secure state -// Value for SCB->NSACR register bits CP10, CP11 -*/ -#define SCB_NSACR_CP10_11_VAL 3 - -/* -// Treat floating-point registers as Secure -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit TS -*/ -#define FPU_FPCCR_TS_VAL 0 - -/* -// Clear on return (CLRONRET) accessibility -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for FPU->FPCCR register bit CLRONRETS -*/ -#define FPU_FPCCR_CLRONRETS_VAL 0 - -/* -// Clear floating-point caller saved registers on exception return -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit CLRONRET -*/ -#define FPU_FPCCR_CLRONRET_VAL 1 - -/* -// -*/ - -/* -// Setup Interrupt Target -*/ - -/* -// Initialize ITNS 0 (Interrupts 0..31) -*/ -#define NVIC_INIT_ITNS0 1 - -/* -// Interrupts 0..31 -// Interrupt 0 <0=> Secure state <1=> Non-Secure state -// Interrupt 1 <0=> Secure state <1=> Non-Secure state -// Interrupt 2 <0=> Secure state <1=> Non-Secure state -// Interrupt 3 <0=> Secure state <1=> Non-Secure state -// Interrupt 4 <0=> Secure state <1=> Non-Secure state -// Interrupt 5 <0=> Secure state <1=> Non-Secure state -// Interrupt 6 <0=> Secure state <1=> Non-Secure state -// Interrupt 7 <0=> Secure state <1=> Non-Secure state -// Interrupt 8 <0=> Secure state <1=> Non-Secure state -// Interrupt 9 <0=> Secure state <1=> Non-Secure state -// Interrupt 10 <0=> Secure state <1=> Non-Secure state -// Interrupt 11 <0=> Secure state <1=> Non-Secure state -// Interrupt 12 <0=> Secure state <1=> Non-Secure state -// Interrupt 13 <0=> Secure state <1=> Non-Secure state -// Interrupt 14 <0=> Secure state <1=> Non-Secure state -// Interrupt 15 <0=> Secure state <1=> Non-Secure state -// Interrupt 16 <0=> Secure state <1=> Non-Secure state -// Interrupt 17 <0=> Secure state <1=> Non-Secure state -// Interrupt 18 <0=> Secure state <1=> Non-Secure state -// Interrupt 19 <0=> Secure state <1=> Non-Secure state -// Interrupt 20 <0=> Secure state <1=> Non-Secure state -// Interrupt 21 <0=> Secure state <1=> Non-Secure state -// Interrupt 22 <0=> Secure state <1=> Non-Secure state -// Interrupt 23 <0=> Secure state <1=> Non-Secure state -// Interrupt 24 <0=> Secure state <1=> Non-Secure state -// Interrupt 25 <0=> Secure state <1=> Non-Secure state -// Interrupt 26 <0=> Secure state <1=> Non-Secure state -// Interrupt 27 <0=> Secure state <1=> Non-Secure state -// Interrupt 28 <0=> Secure state <1=> Non-Secure state -// Interrupt 29 <0=> Secure state <1=> Non-Secure state -// Interrupt 30 <0=> Secure state <1=> Non-Secure state -// Interrupt 31 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS0_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 1 (Interrupts 32..63) -*/ -#define NVIC_INIT_ITNS1 1 - -/* -// Interrupts 32..63 -// Interrupt 32 <0=> Secure state <1=> Non-Secure state -// Interrupt 33 <0=> Secure state <1=> Non-Secure state -// Interrupt 34 <0=> Secure state <1=> Non-Secure state -// Interrupt 35 <0=> Secure state <1=> Non-Secure state -// Interrupt 36 <0=> Secure state <1=> Non-Secure state -// Interrupt 37 <0=> Secure state <1=> Non-Secure state -// Interrupt 38 <0=> Secure state <1=> Non-Secure state -// Interrupt 39 <0=> Secure state <1=> Non-Secure state -// Interrupt 40 <0=> Secure state <1=> Non-Secure state -// Interrupt 41 <0=> Secure state <1=> Non-Secure state -// Interrupt 42 <0=> Secure state <1=> Non-Secure state -// Interrupt 43 <0=> Secure state <1=> Non-Secure state -// Interrupt 44 <0=> Secure state <1=> Non-Secure state -// Interrupt 45 <0=> Secure state <1=> Non-Secure state -// Interrupt 46 <0=> Secure state <1=> Non-Secure state -// Interrupt 47 <0=> Secure state <1=> Non-Secure state -// Interrupt 48 <0=> Secure state <1=> Non-Secure state -// Interrupt 49 <0=> Secure state <1=> Non-Secure state -// Interrupt 50 <0=> Secure state <1=> Non-Secure state -// Interrupt 51 <0=> Secure state <1=> Non-Secure state -// Interrupt 52 <0=> Secure state <1=> Non-Secure state -// Interrupt 53 <0=> Secure state <1=> Non-Secure state -// Interrupt 54 <0=> Secure state <1=> Non-Secure state -// Interrupt 55 <0=> Secure state <1=> Non-Secure state -// Interrupt 56 <0=> Secure state <1=> Non-Secure state -// Interrupt 57 <0=> Secure state <1=> Non-Secure state -// Interrupt 58 <0=> Secure state <1=> Non-Secure state -// Interrupt 59 <0=> Secure state <1=> Non-Secure state -// Interrupt 60 <0=> Secure state <1=> Non-Secure state -// Interrupt 61 <0=> Secure state <1=> Non-Secure state -// Interrupt 62 <0=> Secure state <1=> Non-Secure state -// Interrupt 63 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS1_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 2 (Interrupts 64..95) -*/ -#define NVIC_INIT_ITNS2 0 - -/* -// Interrupts 64..95 -// Interrupt 64 <0=> Secure state <1=> Non-Secure state -// Interrupt 65 <0=> Secure state <1=> Non-Secure state -// Interrupt 66 <0=> Secure state <1=> Non-Secure state -// Interrupt 67 <0=> Secure state <1=> Non-Secure state -// Interrupt 68 <0=> Secure state <1=> Non-Secure state -// Interrupt 69 <0=> Secure state <1=> Non-Secure state -// Interrupt 70 <0=> Secure state <1=> Non-Secure state -// Interrupt 71 <0=> Secure state <1=> Non-Secure state -// Interrupt 72 <0=> Secure state <1=> Non-Secure state -// Interrupt 73 <0=> Secure state <1=> Non-Secure state -// Interrupt 74 <0=> Secure state <1=> Non-Secure state -// Interrupt 75 <0=> Secure state <1=> Non-Secure state -// Interrupt 76 <0=> Secure state <1=> Non-Secure state -// Interrupt 77 <0=> Secure state <1=> Non-Secure state -// Interrupt 78 <0=> Secure state <1=> Non-Secure state -// Interrupt 79 <0=> Secure state <1=> Non-Secure state -// Interrupt 80 <0=> Secure state <1=> Non-Secure state -// Interrupt 81 <0=> Secure state <1=> Non-Secure state -// Interrupt 82 <0=> Secure state <1=> Non-Secure state -// Interrupt 83 <0=> Secure state <1=> Non-Secure state -// Interrupt 84 <0=> Secure state <1=> Non-Secure state -// Interrupt 85 <0=> Secure state <1=> Non-Secure state -// Interrupt 86 <0=> Secure state <1=> Non-Secure state -// Interrupt 87 <0=> Secure state <1=> Non-Secure state -// Interrupt 88 <0=> Secure state <1=> Non-Secure state -// Interrupt 89 <0=> Secure state <1=> Non-Secure state -// Interrupt 90 <0=> Secure state <1=> Non-Secure state -// Interrupt 91 <0=> Secure state <1=> Non-Secure state -// Interrupt 92 <0=> Secure state <1=> Non-Secure state -// Interrupt 93 <0=> Secure state <1=> Non-Secure state -// Interrupt 94 <0=> Secure state <1=> Non-Secure state -// Interrupt 95 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS2_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 3 (Interrupts 96..127) -*/ -#define NVIC_INIT_ITNS3 0 - -/* -// Interrupts 96..127 -// Interrupt 96 <0=> Secure state <1=> Non-Secure state -// Interrupt 97 <0=> Secure state <1=> Non-Secure state -// Interrupt 98 <0=> Secure state <1=> Non-Secure state -// Interrupt 99 <0=> Secure state <1=> Non-Secure state -// Interrupt 100 <0=> Secure state <1=> Non-Secure state -// Interrupt 101 <0=> Secure state <1=> Non-Secure state -// Interrupt 102 <0=> Secure state <1=> Non-Secure state -// Interrupt 103 <0=> Secure state <1=> Non-Secure state -// Interrupt 104 <0=> Secure state <1=> Non-Secure state -// Interrupt 105 <0=> Secure state <1=> Non-Secure state -// Interrupt 106 <0=> Secure state <1=> Non-Secure state -// Interrupt 107 <0=> Secure state <1=> Non-Secure state -// Interrupt 108 <0=> Secure state <1=> Non-Secure state -// Interrupt 109 <0=> Secure state <1=> Non-Secure state -// Interrupt 110 <0=> Secure state <1=> Non-Secure state -// Interrupt 111 <0=> Secure state <1=> Non-Secure state -// Interrupt 112 <0=> Secure state <1=> Non-Secure state -// Interrupt 113 <0=> Secure state <1=> Non-Secure state -// Interrupt 114 <0=> Secure state <1=> Non-Secure state -// Interrupt 115 <0=> Secure state <1=> Non-Secure state -// Interrupt 116 <0=> Secure state <1=> Non-Secure state -// Interrupt 117 <0=> Secure state <1=> Non-Secure state -// Interrupt 118 <0=> Secure state <1=> Non-Secure state -// Interrupt 119 <0=> Secure state <1=> Non-Secure state -// Interrupt 120 <0=> Secure state <1=> Non-Secure state -// Interrupt 121 <0=> Secure state <1=> Non-Secure state -// Interrupt 122 <0=> Secure state <1=> Non-Secure state -// Interrupt 123 <0=> Secure state <1=> Non-Secure state -// Interrupt 124 <0=> Secure state <1=> Non-Secure state -// Interrupt 125 <0=> Secure state <1=> Non-Secure state -// Interrupt 126 <0=> Secure state <1=> Non-Secure state -// Interrupt 127 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS3_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 4 (Interrupts 128..159) -*/ -#define NVIC_INIT_ITNS4 0 - -/* -// Interrupts 128..159 -// Interrupt 128 <0=> Secure state <1=> Non-Secure state -// Interrupt 129 <0=> Secure state <1=> Non-Secure state -// Interrupt 130 <0=> Secure state <1=> Non-Secure state -// Interrupt 131 <0=> Secure state <1=> Non-Secure state -// Interrupt 132 <0=> Secure state <1=> Non-Secure state -// Interrupt 133 <0=> Secure state <1=> Non-Secure state -// Interrupt 134 <0=> Secure state <1=> Non-Secure state -// Interrupt 135 <0=> Secure state <1=> Non-Secure state -// Interrupt 136 <0=> Secure state <1=> Non-Secure state -// Interrupt 137 <0=> Secure state <1=> Non-Secure state -// Interrupt 138 <0=> Secure state <1=> Non-Secure state -// Interrupt 139 <0=> Secure state <1=> Non-Secure state -// Interrupt 140 <0=> Secure state <1=> Non-Secure state -// Interrupt 141 <0=> Secure state <1=> Non-Secure state -// Interrupt 142 <0=> Secure state <1=> Non-Secure state -// Interrupt 143 <0=> Secure state <1=> Non-Secure state -// Interrupt 144 <0=> Secure state <1=> Non-Secure state -// Interrupt 145 <0=> Secure state <1=> Non-Secure state -// Interrupt 146 <0=> Secure state <1=> Non-Secure state -// Interrupt 147 <0=> Secure state <1=> Non-Secure state -// Interrupt 148 <0=> Secure state <1=> Non-Secure state -// Interrupt 149 <0=> Secure state <1=> Non-Secure state -// Interrupt 150 <0=> Secure state <1=> Non-Secure state -// Interrupt 151 <0=> Secure state <1=> Non-Secure state -// Interrupt 152 <0=> Secure state <1=> Non-Secure state -// Interrupt 153 <0=> Secure state <1=> Non-Secure state -// Interrupt 154 <0=> Secure state <1=> Non-Secure state -// Interrupt 155 <0=> Secure state <1=> Non-Secure state -// Interrupt 156 <0=> Secure state <1=> Non-Secure state -// Interrupt 157 <0=> Secure state <1=> Non-Secure state -// Interrupt 158 <0=> Secure state <1=> Non-Secure state -// Interrupt 159 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS4_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 5 (Interrupts 160..191) -*/ -#define NVIC_INIT_ITNS5 0 - -/* -// Interrupts 160..191 -// Interrupt 160 <0=> Secure state <1=> Non-Secure state -// Interrupt 161 <0=> Secure state <1=> Non-Secure state -// Interrupt 162 <0=> Secure state <1=> Non-Secure state -// Interrupt 163 <0=> Secure state <1=> Non-Secure state -// Interrupt 164 <0=> Secure state <1=> Non-Secure state -// Interrupt 165 <0=> Secure state <1=> Non-Secure state -// Interrupt 166 <0=> Secure state <1=> Non-Secure state -// Interrupt 167 <0=> Secure state <1=> Non-Secure state -// Interrupt 168 <0=> Secure state <1=> Non-Secure state -// Interrupt 169 <0=> Secure state <1=> Non-Secure state -// Interrupt 170 <0=> Secure state <1=> Non-Secure state -// Interrupt 171 <0=> Secure state <1=> Non-Secure state -// Interrupt 172 <0=> Secure state <1=> Non-Secure state -// Interrupt 173 <0=> Secure state <1=> Non-Secure state -// Interrupt 174 <0=> Secure state <1=> Non-Secure state -// Interrupt 175 <0=> Secure state <1=> Non-Secure state -// Interrupt 176 <0=> Secure state <1=> Non-Secure state -// Interrupt 177 <0=> Secure state <1=> Non-Secure state -// Interrupt 178 <0=> Secure state <1=> Non-Secure state -// Interrupt 179 <0=> Secure state <1=> Non-Secure state -// Interrupt 180 <0=> Secure state <1=> Non-Secure state -// Interrupt 181 <0=> Secure state <1=> Non-Secure state -// Interrupt 182 <0=> Secure state <1=> Non-Secure state -// Interrupt 183 <0=> Secure state <1=> Non-Secure state -// Interrupt 184 <0=> Secure state <1=> Non-Secure state -// Interrupt 185 <0=> Secure state <1=> Non-Secure state -// Interrupt 186 <0=> Secure state <1=> Non-Secure state -// Interrupt 187 <0=> Secure state <1=> Non-Secure state -// Interrupt 188 <0=> Secure state <1=> Non-Secure state -// Interrupt 189 <0=> Secure state <1=> Non-Secure state -// Interrupt 190 <0=> Secure state <1=> Non-Secure state -// Interrupt 191 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS5_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 6 (Interrupts 192..223) -*/ -#define NVIC_INIT_ITNS6 0 - -/* -// Interrupts 192..223 -// Interrupt 192 <0=> Secure state <1=> Non-Secure state -// Interrupt 193 <0=> Secure state <1=> Non-Secure state -// Interrupt 194 <0=> Secure state <1=> Non-Secure state -// Interrupt 195 <0=> Secure state <1=> Non-Secure state -// Interrupt 196 <0=> Secure state <1=> Non-Secure state -// Interrupt 197 <0=> Secure state <1=> Non-Secure state -// Interrupt 198 <0=> Secure state <1=> Non-Secure state -// Interrupt 199 <0=> Secure state <1=> Non-Secure state -// Interrupt 200 <0=> Secure state <1=> Non-Secure state -// Interrupt 201 <0=> Secure state <1=> Non-Secure state -// Interrupt 202 <0=> Secure state <1=> Non-Secure state -// Interrupt 203 <0=> Secure state <1=> Non-Secure state -// Interrupt 204 <0=> Secure state <1=> Non-Secure state -// Interrupt 205 <0=> Secure state <1=> Non-Secure state -// Interrupt 206 <0=> Secure state <1=> Non-Secure state -// Interrupt 207 <0=> Secure state <1=> Non-Secure state -// Interrupt 208 <0=> Secure state <1=> Non-Secure state -// Interrupt 209 <0=> Secure state <1=> Non-Secure state -// Interrupt 210 <0=> Secure state <1=> Non-Secure state -// Interrupt 211 <0=> Secure state <1=> Non-Secure state -// Interrupt 212 <0=> Secure state <1=> Non-Secure state -// Interrupt 213 <0=> Secure state <1=> Non-Secure state -// Interrupt 214 <0=> Secure state <1=> Non-Secure state -// Interrupt 215 <0=> Secure state <1=> Non-Secure state -// Interrupt 216 <0=> Secure state <1=> Non-Secure state -// Interrupt 217 <0=> Secure state <1=> Non-Secure state -// Interrupt 218 <0=> Secure state <1=> Non-Secure state -// Interrupt 219 <0=> Secure state <1=> Non-Secure state -// Interrupt 220 <0=> Secure state <1=> Non-Secure state -// Interrupt 221 <0=> Secure state <1=> Non-Secure state -// Interrupt 222 <0=> Secure state <1=> Non-Secure state -// Interrupt 223 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS6_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 7 (Interrupts 224..255) -*/ -#define NVIC_INIT_ITNS7 0 - -/* -// Interrupts 224..255 -// Interrupt 224 <0=> Secure state <1=> Non-Secure state -// Interrupt 225 <0=> Secure state <1=> Non-Secure state -// Interrupt 226 <0=> Secure state <1=> Non-Secure state -// Interrupt 227 <0=> Secure state <1=> Non-Secure state -// Interrupt 228 <0=> Secure state <1=> Non-Secure state -// Interrupt 229 <0=> Secure state <1=> Non-Secure state -// Interrupt 230 <0=> Secure state <1=> Non-Secure state -// Interrupt 231 <0=> Secure state <1=> Non-Secure state -// Interrupt 232 <0=> Secure state <1=> Non-Secure state -// Interrupt 233 <0=> Secure state <1=> Non-Secure state -// Interrupt 234 <0=> Secure state <1=> Non-Secure state -// Interrupt 235 <0=> Secure state <1=> Non-Secure state -// Interrupt 236 <0=> Secure state <1=> Non-Secure state -// Interrupt 237 <0=> Secure state <1=> Non-Secure state -// Interrupt 238 <0=> Secure state <1=> Non-Secure state -// Interrupt 239 <0=> Secure state <1=> Non-Secure state -// Interrupt 240 <0=> Secure state <1=> Non-Secure state -// Interrupt 241 <0=> Secure state <1=> Non-Secure state -// Interrupt 242 <0=> Secure state <1=> Non-Secure state -// Interrupt 243 <0=> Secure state <1=> Non-Secure state -// Interrupt 244 <0=> Secure state <1=> Non-Secure state -// Interrupt 245 <0=> Secure state <1=> Non-Secure state -// Interrupt 246 <0=> Secure state <1=> Non-Secure state -// Interrupt 247 <0=> Secure state <1=> Non-Secure state -// Interrupt 248 <0=> Secure state <1=> Non-Secure state -// Interrupt 249 <0=> Secure state <1=> Non-Secure state -// Interrupt 250 <0=> Secure state <1=> Non-Secure state -// Interrupt 251 <0=> Secure state <1=> Non-Secure state -// Interrupt 252 <0=> Secure state <1=> Non-Secure state -// Interrupt 253 <0=> Secure state <1=> Non-Secure state -// Interrupt 254 <0=> Secure state <1=> Non-Secure state -// Interrupt 255 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS7_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 8 (Interrupts 256..287) -*/ -#define NVIC_INIT_ITNS8 0 - -/* -// Interrupts 256..287 -// Interrupt 256 <0=> Secure state <1=> Non-Secure state -// Interrupt 257 <0=> Secure state <1=> Non-Secure state -// Interrupt 258 <0=> Secure state <1=> Non-Secure state -// Interrupt 259 <0=> Secure state <1=> Non-Secure state -// Interrupt 260 <0=> Secure state <1=> Non-Secure state -// Interrupt 261 <0=> Secure state <1=> Non-Secure state -// Interrupt 262 <0=> Secure state <1=> Non-Secure state -// Interrupt 263 <0=> Secure state <1=> Non-Secure state -// Interrupt 264 <0=> Secure state <1=> Non-Secure state -// Interrupt 265 <0=> Secure state <1=> Non-Secure state -// Interrupt 266 <0=> Secure state <1=> Non-Secure state -// Interrupt 267 <0=> Secure state <1=> Non-Secure state -// Interrupt 268 <0=> Secure state <1=> Non-Secure state -// Interrupt 269 <0=> Secure state <1=> Non-Secure state -// Interrupt 270 <0=> Secure state <1=> Non-Secure state -// Interrupt 271 <0=> Secure state <1=> Non-Secure state -// Interrupt 272 <0=> Secure state <1=> Non-Secure state -// Interrupt 273 <0=> Secure state <1=> Non-Secure state -// Interrupt 274 <0=> Secure state <1=> Non-Secure state -// Interrupt 275 <0=> Secure state <1=> Non-Secure state -// Interrupt 276 <0=> Secure state <1=> Non-Secure state -// Interrupt 277 <0=> Secure state <1=> Non-Secure state -// Interrupt 278 <0=> Secure state <1=> Non-Secure state -// Interrupt 279 <0=> Secure state <1=> Non-Secure state -// Interrupt 280 <0=> Secure state <1=> Non-Secure state -// Interrupt 281 <0=> Secure state <1=> Non-Secure state -// Interrupt 282 <0=> Secure state <1=> Non-Secure state -// Interrupt 283 <0=> Secure state <1=> Non-Secure state -// Interrupt 284 <0=> Secure state <1=> Non-Secure state -// Interrupt 285 <0=> Secure state <1=> Non-Secure state -// Interrupt 286 <0=> Secure state <1=> Non-Secure state -// Interrupt 287 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS8_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 9 (Interrupts 288..319) -*/ -#define NVIC_INIT_ITNS9 0 - -/* -// Interrupts 288..319 -// Interrupt 288 <0=> Secure state <1=> Non-Secure state -// Interrupt 289 <0=> Secure state <1=> Non-Secure state -// Interrupt 290 <0=> Secure state <1=> Non-Secure state -// Interrupt 291 <0=> Secure state <1=> Non-Secure state -// Interrupt 292 <0=> Secure state <1=> Non-Secure state -// Interrupt 293 <0=> Secure state <1=> Non-Secure state -// Interrupt 294 <0=> Secure state <1=> Non-Secure state -// Interrupt 295 <0=> Secure state <1=> Non-Secure state -// Interrupt 296 <0=> Secure state <1=> Non-Secure state -// Interrupt 297 <0=> Secure state <1=> Non-Secure state -// Interrupt 298 <0=> Secure state <1=> Non-Secure state -// Interrupt 299 <0=> Secure state <1=> Non-Secure state -// Interrupt 300 <0=> Secure state <1=> Non-Secure state -// Interrupt 301 <0=> Secure state <1=> Non-Secure state -// Interrupt 302 <0=> Secure state <1=> Non-Secure state -// Interrupt 303 <0=> Secure state <1=> Non-Secure state -// Interrupt 304 <0=> Secure state <1=> Non-Secure state -// Interrupt 305 <0=> Secure state <1=> Non-Secure state -// Interrupt 306 <0=> Secure state <1=> Non-Secure state -// Interrupt 307 <0=> Secure state <1=> Non-Secure state -// Interrupt 308 <0=> Secure state <1=> Non-Secure state -// Interrupt 309 <0=> Secure state <1=> Non-Secure state -// Interrupt 310 <0=> Secure state <1=> Non-Secure state -// Interrupt 311 <0=> Secure state <1=> Non-Secure state -// Interrupt 312 <0=> Secure state <1=> Non-Secure state -// Interrupt 313 <0=> Secure state <1=> Non-Secure state -// Interrupt 314 <0=> Secure state <1=> Non-Secure state -// Interrupt 315 <0=> Secure state <1=> Non-Secure state -// Interrupt 316 <0=> Secure state <1=> Non-Secure state -// Interrupt 317 <0=> Secure state <1=> Non-Secure state -// Interrupt 318 <0=> Secure state <1=> Non-Secure state -// Interrupt 319 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS9_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 10 (Interrupts 320..351) -*/ -#define NVIC_INIT_ITNS10 0 - -/* -// Interrupts 320..351 -// Interrupt 320 <0=> Secure state <1=> Non-Secure state -// Interrupt 321 <0=> Secure state <1=> Non-Secure state -// Interrupt 322 <0=> Secure state <1=> Non-Secure state -// Interrupt 323 <0=> Secure state <1=> Non-Secure state -// Interrupt 324 <0=> Secure state <1=> Non-Secure state -// Interrupt 325 <0=> Secure state <1=> Non-Secure state -// Interrupt 326 <0=> Secure state <1=> Non-Secure state -// Interrupt 327 <0=> Secure state <1=> Non-Secure state -// Interrupt 328 <0=> Secure state <1=> Non-Secure state -// Interrupt 329 <0=> Secure state <1=> Non-Secure state -// Interrupt 330 <0=> Secure state <1=> Non-Secure state -// Interrupt 331 <0=> Secure state <1=> Non-Secure state -// Interrupt 332 <0=> Secure state <1=> Non-Secure state -// Interrupt 333 <0=> Secure state <1=> Non-Secure state -// Interrupt 334 <0=> Secure state <1=> Non-Secure state -// Interrupt 335 <0=> Secure state <1=> Non-Secure state -// Interrupt 336 <0=> Secure state <1=> Non-Secure state -// Interrupt 337 <0=> Secure state <1=> Non-Secure state -// Interrupt 338 <0=> Secure state <1=> Non-Secure state -// Interrupt 339 <0=> Secure state <1=> Non-Secure state -// Interrupt 340 <0=> Secure state <1=> Non-Secure state -// Interrupt 341 <0=> Secure state <1=> Non-Secure state -// Interrupt 342 <0=> Secure state <1=> Non-Secure state -// Interrupt 343 <0=> Secure state <1=> Non-Secure state -// Interrupt 344 <0=> Secure state <1=> Non-Secure state -// Interrupt 345 <0=> Secure state <1=> Non-Secure state -// Interrupt 346 <0=> Secure state <1=> Non-Secure state -// Interrupt 347 <0=> Secure state <1=> Non-Secure state -// Interrupt 348 <0=> Secure state <1=> Non-Secure state -// Interrupt 349 <0=> Secure state <1=> Non-Secure state -// Interrupt 350 <0=> Secure state <1=> Non-Secure state -// Interrupt 351 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS10_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 11 (Interrupts 352..383) -*/ -#define NVIC_INIT_ITNS11 0 - -/* -// Interrupts 352..383 -// Interrupt 352 <0=> Secure state <1=> Non-Secure state -// Interrupt 353 <0=> Secure state <1=> Non-Secure state -// Interrupt 354 <0=> Secure state <1=> Non-Secure state -// Interrupt 355 <0=> Secure state <1=> Non-Secure state -// Interrupt 356 <0=> Secure state <1=> Non-Secure state -// Interrupt 357 <0=> Secure state <1=> Non-Secure state -// Interrupt 358 <0=> Secure state <1=> Non-Secure state -// Interrupt 359 <0=> Secure state <1=> Non-Secure state -// Interrupt 360 <0=> Secure state <1=> Non-Secure state -// Interrupt 361 <0=> Secure state <1=> Non-Secure state -// Interrupt 362 <0=> Secure state <1=> Non-Secure state -// Interrupt 363 <0=> Secure state <1=> Non-Secure state -// Interrupt 364 <0=> Secure state <1=> Non-Secure state -// Interrupt 365 <0=> Secure state <1=> Non-Secure state -// Interrupt 366 <0=> Secure state <1=> Non-Secure state -// Interrupt 367 <0=> Secure state <1=> Non-Secure state -// Interrupt 368 <0=> Secure state <1=> Non-Secure state -// Interrupt 369 <0=> Secure state <1=> Non-Secure state -// Interrupt 370 <0=> Secure state <1=> Non-Secure state -// Interrupt 371 <0=> Secure state <1=> Non-Secure state -// Interrupt 372 <0=> Secure state <1=> Non-Secure state -// Interrupt 373 <0=> Secure state <1=> Non-Secure state -// Interrupt 374 <0=> Secure state <1=> Non-Secure state -// Interrupt 375 <0=> Secure state <1=> Non-Secure state -// Interrupt 376 <0=> Secure state <1=> Non-Secure state -// Interrupt 377 <0=> Secure state <1=> Non-Secure state -// Interrupt 378 <0=> Secure state <1=> Non-Secure state -// Interrupt 379 <0=> Secure state <1=> Non-Secure state -// Interrupt 380 <0=> Secure state <1=> Non-Secure state -// Interrupt 381 <0=> Secure state <1=> Non-Secure state -// Interrupt 382 <0=> Secure state <1=> Non-Secure state -// Interrupt 383 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS11_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 12 (Interrupts 384..415) -*/ -#define NVIC_INIT_ITNS12 0 - -/* -// Interrupts 384..415 -// Interrupt 384 <0=> Secure state <1=> Non-Secure state -// Interrupt 385 <0=> Secure state <1=> Non-Secure state -// Interrupt 386 <0=> Secure state <1=> Non-Secure state -// Interrupt 387 <0=> Secure state <1=> Non-Secure state -// Interrupt 388 <0=> Secure state <1=> Non-Secure state -// Interrupt 389 <0=> Secure state <1=> Non-Secure state -// Interrupt 390 <0=> Secure state <1=> Non-Secure state -// Interrupt 391 <0=> Secure state <1=> Non-Secure state -// Interrupt 392 <0=> Secure state <1=> Non-Secure state -// Interrupt 393 <0=> Secure state <1=> Non-Secure state -// Interrupt 394 <0=> Secure state <1=> Non-Secure state -// Interrupt 395 <0=> Secure state <1=> Non-Secure state -// Interrupt 396 <0=> Secure state <1=> Non-Secure state -// Interrupt 397 <0=> Secure state <1=> Non-Secure state -// Interrupt 398 <0=> Secure state <1=> Non-Secure state -// Interrupt 399 <0=> Secure state <1=> Non-Secure state -// Interrupt 400 <0=> Secure state <1=> Non-Secure state -// Interrupt 401 <0=> Secure state <1=> Non-Secure state -// Interrupt 402 <0=> Secure state <1=> Non-Secure state -// Interrupt 403 <0=> Secure state <1=> Non-Secure state -// Interrupt 404 <0=> Secure state <1=> Non-Secure state -// Interrupt 405 <0=> Secure state <1=> Non-Secure state -// Interrupt 406 <0=> Secure state <1=> Non-Secure state -// Interrupt 407 <0=> Secure state <1=> Non-Secure state -// Interrupt 408 <0=> Secure state <1=> Non-Secure state -// Interrupt 409 <0=> Secure state <1=> Non-Secure state -// Interrupt 410 <0=> Secure state <1=> Non-Secure state -// Interrupt 411 <0=> Secure state <1=> Non-Secure state -// Interrupt 412 <0=> Secure state <1=> Non-Secure state -// Interrupt 413 <0=> Secure state <1=> Non-Secure state -// Interrupt 414 <0=> Secure state <1=> Non-Secure state -// Interrupt 415 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS12_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 13 (Interrupts 416..447) -*/ -#define NVIC_INIT_ITNS13 0 - -/* -// Interrupts 416..447 -// Interrupt 416 <0=> Secure state <1=> Non-Secure state -// Interrupt 417 <0=> Secure state <1=> Non-Secure state -// Interrupt 418 <0=> Secure state <1=> Non-Secure state -// Interrupt 419 <0=> Secure state <1=> Non-Secure state -// Interrupt 420 <0=> Secure state <1=> Non-Secure state -// Interrupt 421 <0=> Secure state <1=> Non-Secure state -// Interrupt 422 <0=> Secure state <1=> Non-Secure state -// Interrupt 423 <0=> Secure state <1=> Non-Secure state -// Interrupt 424 <0=> Secure state <1=> Non-Secure state -// Interrupt 425 <0=> Secure state <1=> Non-Secure state -// Interrupt 426 <0=> Secure state <1=> Non-Secure state -// Interrupt 427 <0=> Secure state <1=> Non-Secure state -// Interrupt 428 <0=> Secure state <1=> Non-Secure state -// Interrupt 429 <0=> Secure state <1=> Non-Secure state -// Interrupt 430 <0=> Secure state <1=> Non-Secure state -// Interrupt 431 <0=> Secure state <1=> Non-Secure state -// Interrupt 432 <0=> Secure state <1=> Non-Secure state -// Interrupt 433 <0=> Secure state <1=> Non-Secure state -// Interrupt 434 <0=> Secure state <1=> Non-Secure state -// Interrupt 435 <0=> Secure state <1=> Non-Secure state -// Interrupt 436 <0=> Secure state <1=> Non-Secure state -// Interrupt 437 <0=> Secure state <1=> Non-Secure state -// Interrupt 438 <0=> Secure state <1=> Non-Secure state -// Interrupt 439 <0=> Secure state <1=> Non-Secure state -// Interrupt 440 <0=> Secure state <1=> Non-Secure state -// Interrupt 441 <0=> Secure state <1=> Non-Secure state -// Interrupt 442 <0=> Secure state <1=> Non-Secure state -// Interrupt 443 <0=> Secure state <1=> Non-Secure state -// Interrupt 444 <0=> Secure state <1=> Non-Secure state -// Interrupt 445 <0=> Secure state <1=> Non-Secure state -// Interrupt 446 <0=> Secure state <1=> Non-Secure state -// Interrupt 447 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS13_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 14 (Interrupts 448..479) -*/ -#define NVIC_INIT_ITNS14 0 - -/* -// Interrupts 448..479 -// Interrupt 448 <0=> Secure state <1=> Non-Secure state -// Interrupt 449 <0=> Secure state <1=> Non-Secure state -// Interrupt 450 <0=> Secure state <1=> Non-Secure state -// Interrupt 451 <0=> Secure state <1=> Non-Secure state -// Interrupt 452 <0=> Secure state <1=> Non-Secure state -// Interrupt 453 <0=> Secure state <1=> Non-Secure state -// Interrupt 454 <0=> Secure state <1=> Non-Secure state -// Interrupt 455 <0=> Secure state <1=> Non-Secure state -// Interrupt 456 <0=> Secure state <1=> Non-Secure state -// Interrupt 457 <0=> Secure state <1=> Non-Secure state -// Interrupt 458 <0=> Secure state <1=> Non-Secure state -// Interrupt 459 <0=> Secure state <1=> Non-Secure state -// Interrupt 460 <0=> Secure state <1=> Non-Secure state -// Interrupt 461 <0=> Secure state <1=> Non-Secure state -// Interrupt 462 <0=> Secure state <1=> Non-Secure state -// Interrupt 463 <0=> Secure state <1=> Non-Secure state -// Interrupt 464 <0=> Secure state <1=> Non-Secure state -// Interrupt 465 <0=> Secure state <1=> Non-Secure state -// Interrupt 466 <0=> Secure state <1=> Non-Secure state -// Interrupt 467 <0=> Secure state <1=> Non-Secure state -// Interrupt 468 <0=> Secure state <1=> Non-Secure state -// Interrupt 469 <0=> Secure state <1=> Non-Secure state -// Interrupt 470 <0=> Secure state <1=> Non-Secure state -// Interrupt 471 <0=> Secure state <1=> Non-Secure state -// Interrupt 472 <0=> Secure state <1=> Non-Secure state -// Interrupt 473 <0=> Secure state <1=> Non-Secure state -// Interrupt 474 <0=> Secure state <1=> Non-Secure state -// Interrupt 475 <0=> Secure state <1=> Non-Secure state -// Interrupt 476 <0=> Secure state <1=> Non-Secure state -// Interrupt 477 <0=> Secure state <1=> Non-Secure state -// Interrupt 478 <0=> Secure state <1=> Non-Secure state -// Interrupt 479 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS14_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 15 (Interrupts 480..511) -*/ -#define NVIC_INIT_ITNS15 0 - -/* -// Interrupts 480..511 -// Interrupt 480 <0=> Secure state <1=> Non-Secure state -// Interrupt 481 <0=> Secure state <1=> Non-Secure state -// Interrupt 482 <0=> Secure state <1=> Non-Secure state -// Interrupt 483 <0=> Secure state <1=> Non-Secure state -// Interrupt 484 <0=> Secure state <1=> Non-Secure state -// Interrupt 485 <0=> Secure state <1=> Non-Secure state -// Interrupt 486 <0=> Secure state <1=> Non-Secure state -// Interrupt 487 <0=> Secure state <1=> Non-Secure state -// Interrupt 488 <0=> Secure state <1=> Non-Secure state -// Interrupt 489 <0=> Secure state <1=> Non-Secure state -// Interrupt 490 <0=> Secure state <1=> Non-Secure state -// Interrupt 491 <0=> Secure state <1=> Non-Secure state -// Interrupt 492 <0=> Secure state <1=> Non-Secure state -// Interrupt 493 <0=> Secure state <1=> Non-Secure state -// Interrupt 494 <0=> Secure state <1=> Non-Secure state -// Interrupt 495 <0=> Secure state <1=> Non-Secure state -// Interrupt 496 <0=> Secure state <1=> Non-Secure state -// Interrupt 497 <0=> Secure state <1=> Non-Secure state -// Interrupt 498 <0=> Secure state <1=> Non-Secure state -// Interrupt 499 <0=> Secure state <1=> Non-Secure state -// Interrupt 500 <0=> Secure state <1=> Non-Secure state -// Interrupt 501 <0=> Secure state <1=> Non-Secure state -// Interrupt 502 <0=> Secure state <1=> Non-Secure state -// Interrupt 503 <0=> Secure state <1=> Non-Secure state -// Interrupt 504 <0=> Secure state <1=> Non-Secure state -// Interrupt 505 <0=> Secure state <1=> Non-Secure state -// Interrupt 506 <0=> Secure state <1=> Non-Secure state -// Interrupt 507 <0=> Secure state <1=> Non-Secure state -// Interrupt 508 <0=> Secure state <1=> Non-Secure state -// Interrupt 509 <0=> Secure state <1=> Non-Secure state -// Interrupt 510 <0=> Secure state <1=> Non-Secure state -// Interrupt 511 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS15_VAL 0x00000000 - -/* -// -*/ - -/* -// -*/ - - - -/* - max 128 SAU regions. - SAU regions are defined in partition.h - */ - -#define SAU_INIT_REGION(n) \ - SAU->RNR = (n & SAU_RNR_REGION_Msk); \ - SAU->RBAR = (SAU_INIT_START##n & SAU_RBAR_BADDR_Msk); \ - SAU->RLAR = (SAU_INIT_END##n & SAU_RLAR_LADDR_Msk) | \ - ((SAU_INIT_NSC##n << SAU_RLAR_NSC_Pos) & SAU_RLAR_NSC_Msk) | 1U - -/** - \brief Setup a SAU Region - \details Writes the region information contained in SAU_Region to the - registers SAU_RNR, SAU_RBAR, and SAU_RLAR - */ -__STATIC_INLINE void TZ_SAU_Setup (void) -{ - -#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) - - #if defined (SAU_INIT_REGION0) && (SAU_INIT_REGION0 == 1U) - SAU_INIT_REGION(0); - #endif - - #if defined (SAU_INIT_REGION1) && (SAU_INIT_REGION1 == 1U) - SAU_INIT_REGION(1); - #endif - - #if defined (SAU_INIT_REGION2) && (SAU_INIT_REGION2 == 1U) - SAU_INIT_REGION(2); - #endif - - #if defined (SAU_INIT_REGION3) && (SAU_INIT_REGION3 == 1U) - SAU_INIT_REGION(3); - #endif - - #if defined (SAU_INIT_REGION4) && (SAU_INIT_REGION4 == 1U) - SAU_INIT_REGION(4); - #endif - - #if defined (SAU_INIT_REGION5) && (SAU_INIT_REGION5 == 1U) - SAU_INIT_REGION(5); - #endif - - #if defined (SAU_INIT_REGION6) && (SAU_INIT_REGION6 == 1U) - SAU_INIT_REGION(6); - #endif - - #if defined (SAU_INIT_REGION7) && (SAU_INIT_REGION7 == 1U) - SAU_INIT_REGION(7); - #endif - - /* repeat this for all possible SAU regions */ - -#endif /* defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) */ - - - #if defined (SAU_INIT_CTRL) && (SAU_INIT_CTRL == 1U) - SAU->CTRL = ((SAU_INIT_CTRL_ENABLE << SAU_CTRL_ENABLE_Pos) & SAU_CTRL_ENABLE_Msk) | - ((SAU_INIT_CTRL_ALLNS << SAU_CTRL_ALLNS_Pos) & SAU_CTRL_ALLNS_Msk) ; - #endif - - #if defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) - SCB->SCR = (SCB->SCR & ~(SCB_SCR_SLEEPDEEPS_Msk )) | - ((SCB_CSR_DEEPSLEEPS_VAL << SCB_SCR_SLEEPDEEPS_Pos) & SCB_SCR_SLEEPDEEPS_Msk); - - SCB->AIRCR = (SCB->AIRCR & ~(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_SYSRESETREQS_Msk | - SCB_AIRCR_BFHFNMINS_Msk | SCB_AIRCR_PRIS_Msk )) | - ((0x05FAU << SCB_AIRCR_VECTKEY_Pos) & SCB_AIRCR_VECTKEY_Msk) | - ((SCB_AIRCR_SYSRESETREQS_VAL << SCB_AIRCR_SYSRESETREQS_Pos) & SCB_AIRCR_SYSRESETREQS_Msk) | - ((SCB_AIRCR_PRIS_VAL << SCB_AIRCR_PRIS_Pos) & SCB_AIRCR_PRIS_Msk) | - ((SCB_AIRCR_BFHFNMINS_VAL << SCB_AIRCR_BFHFNMINS_Pos) & SCB_AIRCR_BFHFNMINS_Msk); - #endif /* defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) */ - - #if defined (__FPU_USED) && (__FPU_USED == 1U) && \ - defined (TZ_FPU_NS_USAGE) && (TZ_FPU_NS_USAGE == 1U) - - SCB->NSACR = (SCB->NSACR & ~(SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)) | - ((SCB_NSACR_CP10_11_VAL << SCB_NSACR_CP10_Pos) & (SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)); - - FPU->FPCCR = (FPU->FPCCR & ~(FPU_FPCCR_TS_Msk | FPU_FPCCR_CLRONRETS_Msk | FPU_FPCCR_CLRONRET_Msk)) | - ((FPU_FPCCR_TS_VAL << FPU_FPCCR_TS_Pos ) & FPU_FPCCR_TS_Msk ) | - ((FPU_FPCCR_CLRONRETS_VAL << FPU_FPCCR_CLRONRETS_Pos) & FPU_FPCCR_CLRONRETS_Msk) | - ((FPU_FPCCR_CLRONRET_VAL << FPU_FPCCR_CLRONRET_Pos ) & FPU_FPCCR_CLRONRET_Msk ); - #endif - - #if defined (NVIC_INIT_ITNS0) && (NVIC_INIT_ITNS0 == 1U) - NVIC->ITNS[0] = NVIC_INIT_ITNS0_VAL; - #endif - - #if defined (NVIC_INIT_ITNS1) && (NVIC_INIT_ITNS1 == 1U) - NVIC->ITNS[1] = NVIC_INIT_ITNS1_VAL; - #endif - - #if defined (NVIC_INIT_ITNS2) && (NVIC_INIT_ITNS2 == 1U) - NVIC->ITNS[2] = NVIC_INIT_ITNS2_VAL; - #endif - - #if defined (NVIC_INIT_ITNS3) && (NVIC_INIT_ITNS3 == 1U) - NVIC->ITNS[3] = NVIC_INIT_ITNS3_VAL; - #endif - - #if defined (NVIC_INIT_ITNS4) && (NVIC_INIT_ITNS4 == 1U) - NVIC->ITNS[4] = NVIC_INIT_ITNS4_VAL; - #endif - - #if defined (NVIC_INIT_ITNS5) && (NVIC_INIT_ITNS5 == 1U) - NVIC->ITNS[5] = NVIC_INIT_ITNS5_VAL; - #endif - - #if defined (NVIC_INIT_ITNS6) && (NVIC_INIT_ITNS6 == 1U) - NVIC->ITNS[6] = NVIC_INIT_ITNS6_VAL; - #endif - - #if defined (NVIC_INIT_ITNS7) && (NVIC_INIT_ITNS7 == 1U) - NVIC->ITNS[7] = NVIC_INIT_ITNS7_VAL; - #endif - - #if defined (NVIC_INIT_ITNS8) && (NVIC_INIT_ITNS8 == 1U) - NVIC->ITNS[8] = NVIC_INIT_ITNS8_VAL; - #endif - - #if defined (NVIC_INIT_ITNS9) && (NVIC_INIT_ITNS9 == 1U) - NVIC->ITNS[9] = NVIC_INIT_ITNS9_VAL; - #endif - - #if defined (NVIC_INIT_ITNS10) && (NVIC_INIT_ITNS10 == 1U) - NVIC->ITNS[10] = NVIC_INIT_ITNS10_VAL; - #endif - - #if defined (NVIC_INIT_ITNS11) && (NVIC_INIT_ITNS11 == 1U) - NVIC->ITNS[11] = NVIC_INIT_ITNS11_VAL; - #endif - - #if defined (NVIC_INIT_ITNS12) && (NVIC_INIT_ITNS12 == 1U) - NVIC->ITNS[12] = NVIC_INIT_ITNS12_VAL; - #endif - - #if defined (NVIC_INIT_ITNS13) && (NVIC_INIT_ITNS13 == 1U) - NVIC->ITNS[13] = NVIC_INIT_ITNS13_VAL; - #endif - - #if defined (NVIC_INIT_ITNS14) && (NVIC_INIT_ITNS14 == 1U) - NVIC->ITNS[14] = NVIC_INIT_ITNS14_VAL; - #endif - - #if defined (NVIC_INIT_ITNS15) && (NVIC_INIT_ITNS15 == 1U) - NVIC->ITNS[15] = NVIC_INIT_ITNS15_VAL; - #endif - - /* repeat this for all possible ITNS elements */ - -} - -#endif /* PARTITION_ARMCM35P_H */ diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS/RTE/Device/ARMCM35P_DSP_FP_TZ/startup_ARMCM35P.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS/RTE/Device/ARMCM35P_DSP_FP_TZ/startup_ARMCM35P.c deleted file mode 100644 index d2d21d8..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS/RTE/Device/ARMCM35P_DSP_FP_TZ/startup_ARMCM35P.c +++ /dev/null @@ -1,170 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM35P.c - * @brief CMSIS-Core Device Startup File for Cortex-M35P Device - * @version V2.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM35P) - #include "ARMCM35P.h" -#elif defined (ARMCM35P_TZ) - #include "ARMCM35P_TZ.h" -#elif defined (ARMCM35P_DSP_FP) - #include "ARMCM35P_DSP_FP.h" -#elif defined (ARMCM35P_DSP_FP_TZ) - #include "ARMCM35P_DSP_FP_TZ.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SecureFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - SecureFault_Handler, /* -9 Secure Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 480 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS/RTE/Device/ARMCM35P_DSP_FP_TZ/startup_ARMCM35P.c.base@2.1.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS/RTE/Device/ARMCM35P_DSP_FP_TZ/startup_ARMCM35P.c.base@2.1.0 deleted file mode 100644 index d2d21d8..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS/RTE/Device/ARMCM35P_DSP_FP_TZ/startup_ARMCM35P.c.base@2.1.0 +++ /dev/null @@ -1,170 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM35P.c - * @brief CMSIS-Core Device Startup File for Cortex-M35P Device - * @version V2.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM35P) - #include "ARMCM35P.h" -#elif defined (ARMCM35P_TZ) - #include "ARMCM35P_TZ.h" -#elif defined (ARMCM35P_DSP_FP) - #include "ARMCM35P_DSP_FP.h" -#elif defined (ARMCM35P_DSP_FP_TZ) - #include "ARMCM35P_DSP_FP_TZ.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SecureFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - SecureFault_Handler, /* -9 Secure Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 480 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS/RTE/Device/ARMCM35P_DSP_FP_TZ/system_ARMCM35P.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS/RTE/Device/ARMCM35P_DSP_FP_TZ/system_ARMCM35P.c deleted file mode 100644 index 2ccc84b..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS/RTE/Device/ARMCM35P_DSP_FP_TZ/system_ARMCM35P.c +++ /dev/null @@ -1,97 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM35P.c - * @brief CMSIS Device System Source File for - * ARMCM35P Device - * @version V1.0.1 - * @date 15. November 2019 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM35P) - #include "ARMCM35P.h" -#elif defined (ARMCM35P_TZ) - #include "ARMCM35P_TZ.h" - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM35P.h" - #endif -#elif defined (ARMCM35P_DSP_FP) - #include "ARMCM35P_DSP_FP.h" -#elif defined (ARMCM35P_DSP_FP_TZ) - #include "ARMCM35P_DSP_FP_TZ.h" - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM35P.h" - #endif -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t) &(__VECTOR_TABLE[0]); -#endif - -#if defined (__FPU_USED) && (__FPU_USED == 1U) - SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ - (3U << 11U*2U) ); /* enable CP11 Full Access */ -#endif - -#ifdef UNALIGNED_SUPPORT_DISABLE - SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; -#endif - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - TZ_SAU_Setup(); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS/Target.clayer.yml b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS/Target.clayer.yml deleted file mode 100644 index ee45512..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS/Target.clayer.yml +++ /dev/null @@ -1,22 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/1.3.0/tools/projmgr/schemas/clayer.schema.json - -layer: - # type: Target - description: Target setup - - # packs: - # - pack: ARM::CMSIS - - components: - # [Cvendor::] Cclass [&Cbundle] :Cgroup [:Csub] [&Cvariant] [@[>=]Cversion] - - component: ARM::CMSIS:CORE - - component: Device:Startup&C Startup - - misc: - - for-compiler: IAR - Link: [--config generic_cortex.icf] - - groups: - - group: VHT/FVP - files: - - file: ./model_config.txt diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS/model_config.txt b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS/model_config.txt deleted file mode 100644 index 656fbb5..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS/model_config.txt +++ /dev/null @@ -1,32 +0,0 @@ -# Parameters: -# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] -#---------------------------------------------------------------------------------------------- -fvp_mps2.mps2_visualisation.disable-visualisation=1 # (bool , init-time) default = '0' : Enable/disable visualisation -cpu0.FPU=1 # (bool , init-time) default = '1' : Set whether the model has VFP support -cpu0.DSP=1 # (bool , init-time) default = '1' : Set whether the model has the DSP extension -cpu0.semihosting-enable=1 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. -cpu0.semihosting-Thumb_SVC=0xAB # (int , init-time) default = '0xAB' : T32 SVC number for semihosting : [0x0..0xFF] -cpu0.semihosting-cmd_line="" # (string, init-time) default = '' : Command line available to semihosting SVC calls -cpu0.semihosting-heap_base=0x0 # (int , init-time) default = '0x0' : Virtual address of heap base : [0x0..0xFFFFFFFF] -cpu0.semihosting-heap_limit=0x0 # (int , init-time) default = '0x10700000' : Virtual address of top of heap : [0x0..0xFFFFFFFF] -cpu0.semihosting-stack_base=0x0 # (int , init-time) default = '0x10700000' : Virtual address of base of descending stack : [0x0..0xFFFFFFFF] -cpu0.semihosting-stack_limit=0x0 # (int , init-time) default = '0x10800000' : Virtual address of stack limit : [0x0..0xFFFFFFFF] -cpu0.semihosting-cwd="" # (string, init-time) default = '' : Base directory for semihosting file access. -cpu0.MPU_S=0x8 # (int , init-time) default = '0x8' : Number of regions in the Secure MPU. If Security Extentions are absent, this is ignored : [0x0..0x10] -cpu0.MPU_NS=0x8 # (int , init-time) default = '0x8' : Number of regions in the Non-Secure MPU. If Security Extentions are absent, this is the total number of MPU regions : [0x0..0x10] -cpu0.ITM=0 # (bool , init-time) default = '1' : Level of instrumentation trace supported. false : No ITM trace included, true: ITM trace included -cpu0.IRQLVL=0x3 # (int , init-time) default = '0x3' : Number of bits of interrupt priority : [0x3..0x8] -cpu0.BIGENDINIT=0 # (bool , init-time) default = '0' : Initialize processor to big endian mode -cpu0.INITSVTOR=0x00000000 # (int , init-time) default = '0x10000000' : Secure vector-table offset at reset : [0x0..0xFFFFFF80] -cpu0.INITNSVTOR=0x0 # (int , init-time) default = '0x0' : Non-Secure vector-table offset at reset : [0x0..0xFFFFFF80] -cpu0.SAU=0x8 # (int , init-time) default = '0x4' : Number of SAU regions (0 => no SAU) : [0x0..0x8] -cpu0.SAU_CTRL.ENABLE=0 # (bool , init-time) default = '0' : Enable SAU at reset -cpu0.SAU_CTRL.ALLNS=0 # (bool , init-time) default = '0' : At reset, the SAU treats entire memory space as NS when the SAU is disabled if this is set -idau.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' : -cpu0.LOCK_SAU=0 # (bool , init-time) default = '0' : Lock down of SAU registers write -cpu0.LOCK_S_MPU=0 # (bool , init-time) default = '0' : Lock down of Secure MPU registers write -cpu0.LOCK_NS_MPU=0 # (bool , init-time) default = '0' : Lock down of Non-Secure MPU registers write -cpu0.CPIF=1 # (bool , init-time) default = '1' : Specifies whether the external coprocessor interface is included -cpu0.SECEXT=1 # (bool , init-time) default = '1' : Whether the ARMv8-M Security Extensions are included -fvp_mps2.DISABLE_GATING=1 # (bool , init-time) default = '0' : Disable Memory gating logic -#---------------------------------------------------------------------------------------------- diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS_BL/RTE/Device/ARMCM35P_DSP_FP_TZ/ARMCM35P_ac6_s.sct b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS_BL/RTE/Device/ARMCM35P_DSP_FP_TZ/ARMCM35P_ac6_s.sct deleted file mode 100644 index 96395c9..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS_BL/RTE/Device/ARMCM35P_DSP_FP_TZ/ARMCM35P_ac6_s.sct +++ /dev/null @@ -1,123 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m35p -xc -mcmse -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m35p -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00200000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00200000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000400 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_SIZE 0x200 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE ( __RAM_SIZE - __STACK_SIZE - __HEAP_SIZE - __STACKSEAL_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS_BL/RTE/Device/ARMCM35P_DSP_FP_TZ/gcc_arm.ld b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS_BL/RTE/Device/ARMCM35P_DSP_FP_TZ/gcc_arm.ld deleted file mode 100644 index f44186e..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS_BL/RTE/Device/ARMCM35P_DSP_FP_TZ/gcc_arm.ld +++ /dev/null @@ -1,316 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.2.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00200000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00200000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -/* ARMv8-M stack sealing: - to use ARMv8-M stack sealing set __STACKSEAL_SIZE to 8 otherwise keep 0 - */ -__STACKSEAL_SIZE = 8; - - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - * __StackSeal (only if ARMv8-M stack sealing is used) - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ - - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH - - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* ARMv8-M stack sealing: - to use ARMv8-M stack sealing uncomment '.stackseal' section - */ - - .stackseal (ORIGIN(RAM) + LENGTH(RAM) - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackSeal = .; - . = . + 8; - . = ALIGN(8); - } > RAM - - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS_BL/RTE/Device/ARMCM35P_DSP_FP_TZ/partition_ARMCM35P.h b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS_BL/RTE/Device/ARMCM35P_DSP_FP_TZ/partition_ARMCM35P.h deleted file mode 100644 index 85d63e6..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS_BL/RTE/Device/ARMCM35P_DSP_FP_TZ/partition_ARMCM35P.h +++ /dev/null @@ -1,1260 +0,0 @@ -/**************************************************************************//** - * @file partition_ARMCM35P.h - * @brief CMSIS-CORE Initial Setup for Secure / Non-Secure Zones for ARMCM35P - * @version V1.0.0 - * @date 03. September 2018 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef PARTITION_ARMCM35P_H -#define PARTITION_ARMCM35P_H - -/* -//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- -*/ - -/* -// Initialize Security Attribution Unit (SAU) CTRL register -*/ -#define SAU_INIT_CTRL 1 - -/* -// Enable SAU -// Value for SAU->CTRL register bit ENABLE -*/ -#define SAU_INIT_CTRL_ENABLE 1 - -/* -// When SAU is disabled -// <0=> All Memory is Secure -// <1=> All Memory is Non-Secure -// Value for SAU->CTRL register bit ALLNS -// When all Memory is Non-Secure (ALLNS is 1), IDAU can override memory map configuration. -*/ -#define SAU_INIT_CTRL_ALLNS 0 - -/* -// -*/ - -/* -// Initialize Security Attribution Unit (SAU) Address Regions -// SAU configuration specifies regions to be one of: -// - Secure and Non-Secure Callable -// - Non-Secure -// Note: All memory regions not configured by SAU are Secure -*/ -#define SAU_REGIONS_MAX 8 /* Max. number of SAU regions */ - -/* -// Initialize SAU Region 0 -// Setup SAU Region 0 memory attributes -*/ -#define SAU_INIT_REGION0 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START0 0x00000000 /* start address of SAU region 0 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END0 0x001FFFFF /* end address of SAU region 0 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC0 1 -/* -// -*/ - -/* -// Initialize SAU Region 1 -// Setup SAU Region 1 memory attributes -*/ -#define SAU_INIT_REGION1 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START1 0x00200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END1 0x003FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC1 0 -/* -// -*/ - -/* -// Initialize SAU Region 2 -// Setup SAU Region 2 memory attributes -*/ -#define SAU_INIT_REGION2 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START2 0x20200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END2 0x203FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC2 0 -/* -// -*/ - -/* -// Initialize SAU Region 3 -// Setup SAU Region 3 memory attributes -*/ -#define SAU_INIT_REGION3 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START3 0x40000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END3 0x40040000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC3 0 -/* -// -*/ - -/* -// Initialize SAU Region 4 -// Setup SAU Region 4 memory attributes -*/ -#define SAU_INIT_REGION4 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START4 0x00000000 /* start address of SAU region 4 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END4 0x00000000 /* end address of SAU region 4 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC4 0 -/* -// -*/ - -/* -// Initialize SAU Region 5 -// Setup SAU Region 5 memory attributes -*/ -#define SAU_INIT_REGION5 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START5 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END5 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC5 0 -/* -// -*/ - -/* -// Initialize SAU Region 6 -// Setup SAU Region 6 memory attributes -*/ -#define SAU_INIT_REGION6 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START6 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END6 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC6 0 -/* -// -*/ - -/* -// Initialize SAU Region 7 -// Setup SAU Region 7 memory attributes -*/ -#define SAU_INIT_REGION7 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START7 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END7 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC7 0 -/* -// -*/ - -/* -// -*/ - -/* -// Setup behaviour of Sleep and Exception Handling -*/ -#define SCB_CSR_AIRCR_INIT 1 - -/* -// Deep Sleep can be enabled by -// <0=>Secure and Non-Secure state -// <1=>Secure state only -// Value for SCB->CSR register bit DEEPSLEEPS -*/ -#define SCB_CSR_DEEPSLEEPS_VAL 1 - -/* -// System reset request accessible from -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for SCB->AIRCR register bit SYSRESETREQS -*/ -#define SCB_AIRCR_SYSRESETREQS_VAL 1 - -/* -// Priority of Non-Secure exceptions is -// <0=> Not altered -// <1=> Lowered to 0x80-0xFF -// Value for SCB->AIRCR register bit PRIS -*/ -#define SCB_AIRCR_PRIS_VAL 1 - -/* -// BusFault, HardFault, and NMI target -// <0=> Secure state -// <1=> Non-Secure state -// Value for SCB->AIRCR register bit BFHFNMINS -*/ -#define SCB_AIRCR_BFHFNMINS_VAL 0 - -/* -// -*/ - -/* -// Setup behaviour of Floating Point Unit -*/ -#define TZ_FPU_NS_USAGE 1 - -/* -// Floating Point Unit usage -// <0=> Secure state only -// <3=> Secure and Non-Secure state -// Value for SCB->NSACR register bits CP10, CP11 -*/ -#define SCB_NSACR_CP10_11_VAL 3 - -/* -// Treat floating-point registers as Secure -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit TS -*/ -#define FPU_FPCCR_TS_VAL 0 - -/* -// Clear on return (CLRONRET) accessibility -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for FPU->FPCCR register bit CLRONRETS -*/ -#define FPU_FPCCR_CLRONRETS_VAL 0 - -/* -// Clear floating-point caller saved registers on exception return -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit CLRONRET -*/ -#define FPU_FPCCR_CLRONRET_VAL 1 - -/* -// -*/ - -/* -// Setup Interrupt Target -*/ - -/* -// Initialize ITNS 0 (Interrupts 0..31) -*/ -#define NVIC_INIT_ITNS0 1 - -/* -// Interrupts 0..31 -// Interrupt 0 <0=> Secure state <1=> Non-Secure state -// Interrupt 1 <0=> Secure state <1=> Non-Secure state -// Interrupt 2 <0=> Secure state <1=> Non-Secure state -// Interrupt 3 <0=> Secure state <1=> Non-Secure state -// Interrupt 4 <0=> Secure state <1=> Non-Secure state -// Interrupt 5 <0=> Secure state <1=> Non-Secure state -// Interrupt 6 <0=> Secure state <1=> Non-Secure state -// Interrupt 7 <0=> Secure state <1=> Non-Secure state -// Interrupt 8 <0=> Secure state <1=> Non-Secure state -// Interrupt 9 <0=> Secure state <1=> Non-Secure state -// Interrupt 10 <0=> Secure state <1=> Non-Secure state -// Interrupt 11 <0=> Secure state <1=> Non-Secure state -// Interrupt 12 <0=> Secure state <1=> Non-Secure state -// Interrupt 13 <0=> Secure state <1=> Non-Secure state -// Interrupt 14 <0=> Secure state <1=> Non-Secure state -// Interrupt 15 <0=> Secure state <1=> Non-Secure state -// Interrupt 16 <0=> Secure state <1=> Non-Secure state -// Interrupt 17 <0=> Secure state <1=> Non-Secure state -// Interrupt 18 <0=> Secure state <1=> Non-Secure state -// Interrupt 19 <0=> Secure state <1=> Non-Secure state -// Interrupt 20 <0=> Secure state <1=> Non-Secure state -// Interrupt 21 <0=> Secure state <1=> Non-Secure state -// Interrupt 22 <0=> Secure state <1=> Non-Secure state -// Interrupt 23 <0=> Secure state <1=> Non-Secure state -// Interrupt 24 <0=> Secure state <1=> Non-Secure state -// Interrupt 25 <0=> Secure state <1=> Non-Secure state -// Interrupt 26 <0=> Secure state <1=> Non-Secure state -// Interrupt 27 <0=> Secure state <1=> Non-Secure state -// Interrupt 28 <0=> Secure state <1=> Non-Secure state -// Interrupt 29 <0=> Secure state <1=> Non-Secure state -// Interrupt 30 <0=> Secure state <1=> Non-Secure state -// Interrupt 31 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS0_VAL 0x0000122B - -/* -// -*/ - -/* -// Initialize ITNS 1 (Interrupts 32..63) -*/ -#define NVIC_INIT_ITNS1 1 - -/* -// Interrupts 32..63 -// Interrupt 32 <0=> Secure state <1=> Non-Secure state -// Interrupt 33 <0=> Secure state <1=> Non-Secure state -// Interrupt 34 <0=> Secure state <1=> Non-Secure state -// Interrupt 35 <0=> Secure state <1=> Non-Secure state -// Interrupt 36 <0=> Secure state <1=> Non-Secure state -// Interrupt 37 <0=> Secure state <1=> Non-Secure state -// Interrupt 38 <0=> Secure state <1=> Non-Secure state -// Interrupt 39 <0=> Secure state <1=> Non-Secure state -// Interrupt 40 <0=> Secure state <1=> Non-Secure state -// Interrupt 41 <0=> Secure state <1=> Non-Secure state -// Interrupt 42 <0=> Secure state <1=> Non-Secure state -// Interrupt 43 <0=> Secure state <1=> Non-Secure state -// Interrupt 44 <0=> Secure state <1=> Non-Secure state -// Interrupt 45 <0=> Secure state <1=> Non-Secure state -// Interrupt 46 <0=> Secure state <1=> Non-Secure state -// Interrupt 47 <0=> Secure state <1=> Non-Secure state -// Interrupt 48 <0=> Secure state <1=> Non-Secure state -// Interrupt 49 <0=> Secure state <1=> Non-Secure state -// Interrupt 50 <0=> Secure state <1=> Non-Secure state -// Interrupt 51 <0=> Secure state <1=> Non-Secure state -// Interrupt 52 <0=> Secure state <1=> Non-Secure state -// Interrupt 53 <0=> Secure state <1=> Non-Secure state -// Interrupt 54 <0=> Secure state <1=> Non-Secure state -// Interrupt 55 <0=> Secure state <1=> Non-Secure state -// Interrupt 56 <0=> Secure state <1=> Non-Secure state -// Interrupt 57 <0=> Secure state <1=> Non-Secure state -// Interrupt 58 <0=> Secure state <1=> Non-Secure state -// Interrupt 59 <0=> Secure state <1=> Non-Secure state -// Interrupt 60 <0=> Secure state <1=> Non-Secure state -// Interrupt 61 <0=> Secure state <1=> Non-Secure state -// Interrupt 62 <0=> Secure state <1=> Non-Secure state -// Interrupt 63 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS1_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 2 (Interrupts 64..95) -*/ -#define NVIC_INIT_ITNS2 0 - -/* -// Interrupts 64..95 -// Interrupt 64 <0=> Secure state <1=> Non-Secure state -// Interrupt 65 <0=> Secure state <1=> Non-Secure state -// Interrupt 66 <0=> Secure state <1=> Non-Secure state -// Interrupt 67 <0=> Secure state <1=> Non-Secure state -// Interrupt 68 <0=> Secure state <1=> Non-Secure state -// Interrupt 69 <0=> Secure state <1=> Non-Secure state -// Interrupt 70 <0=> Secure state <1=> Non-Secure state -// Interrupt 71 <0=> Secure state <1=> Non-Secure state -// Interrupt 72 <0=> Secure state <1=> Non-Secure state -// Interrupt 73 <0=> Secure state <1=> Non-Secure state -// Interrupt 74 <0=> Secure state <1=> Non-Secure state -// Interrupt 75 <0=> Secure state <1=> Non-Secure state -// Interrupt 76 <0=> Secure state <1=> Non-Secure state -// Interrupt 77 <0=> Secure state <1=> Non-Secure state -// Interrupt 78 <0=> Secure state <1=> Non-Secure state -// Interrupt 79 <0=> Secure state <1=> Non-Secure state -// Interrupt 80 <0=> Secure state <1=> Non-Secure state -// Interrupt 81 <0=> Secure state <1=> Non-Secure state -// Interrupt 82 <0=> Secure state <1=> Non-Secure state -// Interrupt 83 <0=> Secure state <1=> Non-Secure state -// Interrupt 84 <0=> Secure state <1=> Non-Secure state -// Interrupt 85 <0=> Secure state <1=> Non-Secure state -// Interrupt 86 <0=> Secure state <1=> Non-Secure state -// Interrupt 87 <0=> Secure state <1=> Non-Secure state -// Interrupt 88 <0=> Secure state <1=> Non-Secure state -// Interrupt 89 <0=> Secure state <1=> Non-Secure state -// Interrupt 90 <0=> Secure state <1=> Non-Secure state -// Interrupt 91 <0=> Secure state <1=> Non-Secure state -// Interrupt 92 <0=> Secure state <1=> Non-Secure state -// Interrupt 93 <0=> Secure state <1=> Non-Secure state -// Interrupt 94 <0=> Secure state <1=> Non-Secure state -// Interrupt 95 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS2_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 3 (Interrupts 96..127) -*/ -#define NVIC_INIT_ITNS3 0 - -/* -// Interrupts 96..127 -// Interrupt 96 <0=> Secure state <1=> Non-Secure state -// Interrupt 97 <0=> Secure state <1=> Non-Secure state -// Interrupt 98 <0=> Secure state <1=> Non-Secure state -// Interrupt 99 <0=> Secure state <1=> Non-Secure state -// Interrupt 100 <0=> Secure state <1=> Non-Secure state -// Interrupt 101 <0=> Secure state <1=> Non-Secure state -// Interrupt 102 <0=> Secure state <1=> Non-Secure state -// Interrupt 103 <0=> Secure state <1=> Non-Secure state -// Interrupt 104 <0=> Secure state <1=> Non-Secure state -// Interrupt 105 <0=> Secure state <1=> Non-Secure state -// Interrupt 106 <0=> Secure state <1=> Non-Secure state -// Interrupt 107 <0=> Secure state <1=> Non-Secure state -// Interrupt 108 <0=> Secure state <1=> Non-Secure state -// Interrupt 109 <0=> Secure state <1=> Non-Secure state -// Interrupt 110 <0=> Secure state <1=> Non-Secure state -// Interrupt 111 <0=> Secure state <1=> Non-Secure state -// Interrupt 112 <0=> Secure state <1=> Non-Secure state -// Interrupt 113 <0=> Secure state <1=> Non-Secure state -// Interrupt 114 <0=> Secure state <1=> Non-Secure state -// Interrupt 115 <0=> Secure state <1=> Non-Secure state -// Interrupt 116 <0=> Secure state <1=> Non-Secure state -// Interrupt 117 <0=> Secure state <1=> Non-Secure state -// Interrupt 118 <0=> Secure state <1=> Non-Secure state -// Interrupt 119 <0=> Secure state <1=> Non-Secure state -// Interrupt 120 <0=> Secure state <1=> Non-Secure state -// Interrupt 121 <0=> Secure state <1=> Non-Secure state -// Interrupt 122 <0=> Secure state <1=> Non-Secure state -// Interrupt 123 <0=> Secure state <1=> Non-Secure state -// Interrupt 124 <0=> Secure state <1=> Non-Secure state -// Interrupt 125 <0=> Secure state <1=> Non-Secure state -// Interrupt 126 <0=> Secure state <1=> Non-Secure state -// Interrupt 127 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS3_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 4 (Interrupts 128..159) -*/ -#define NVIC_INIT_ITNS4 0 - -/* -// Interrupts 128..159 -// Interrupt 128 <0=> Secure state <1=> Non-Secure state -// Interrupt 129 <0=> Secure state <1=> Non-Secure state -// Interrupt 130 <0=> Secure state <1=> Non-Secure state -// Interrupt 131 <0=> Secure state <1=> Non-Secure state -// Interrupt 132 <0=> Secure state <1=> Non-Secure state -// Interrupt 133 <0=> Secure state <1=> Non-Secure state -// Interrupt 134 <0=> Secure state <1=> Non-Secure state -// Interrupt 135 <0=> Secure state <1=> Non-Secure state -// Interrupt 136 <0=> Secure state <1=> Non-Secure state -// Interrupt 137 <0=> Secure state <1=> Non-Secure state -// Interrupt 138 <0=> Secure state <1=> Non-Secure state -// Interrupt 139 <0=> Secure state <1=> Non-Secure state -// Interrupt 140 <0=> Secure state <1=> Non-Secure state -// Interrupt 141 <0=> Secure state <1=> Non-Secure state -// Interrupt 142 <0=> Secure state <1=> Non-Secure state -// Interrupt 143 <0=> Secure state <1=> Non-Secure state -// Interrupt 144 <0=> Secure state <1=> Non-Secure state -// Interrupt 145 <0=> Secure state <1=> Non-Secure state -// Interrupt 146 <0=> Secure state <1=> Non-Secure state -// Interrupt 147 <0=> Secure state <1=> Non-Secure state -// Interrupt 148 <0=> Secure state <1=> Non-Secure state -// Interrupt 149 <0=> Secure state <1=> Non-Secure state -// Interrupt 150 <0=> Secure state <1=> Non-Secure state -// Interrupt 151 <0=> Secure state <1=> Non-Secure state -// Interrupt 152 <0=> Secure state <1=> Non-Secure state -// Interrupt 153 <0=> Secure state <1=> Non-Secure state -// Interrupt 154 <0=> Secure state <1=> Non-Secure state -// Interrupt 155 <0=> Secure state <1=> Non-Secure state -// Interrupt 156 <0=> Secure state <1=> Non-Secure state -// Interrupt 157 <0=> Secure state <1=> Non-Secure state -// Interrupt 158 <0=> Secure state <1=> Non-Secure state -// Interrupt 159 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS4_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 5 (Interrupts 160..191) -*/ -#define NVIC_INIT_ITNS5 0 - -/* -// Interrupts 160..191 -// Interrupt 160 <0=> Secure state <1=> Non-Secure state -// Interrupt 161 <0=> Secure state <1=> Non-Secure state -// Interrupt 162 <0=> Secure state <1=> Non-Secure state -// Interrupt 163 <0=> Secure state <1=> Non-Secure state -// Interrupt 164 <0=> Secure state <1=> Non-Secure state -// Interrupt 165 <0=> Secure state <1=> Non-Secure state -// Interrupt 166 <0=> Secure state <1=> Non-Secure state -// Interrupt 167 <0=> Secure state <1=> Non-Secure state -// Interrupt 168 <0=> Secure state <1=> Non-Secure state -// Interrupt 169 <0=> Secure state <1=> Non-Secure state -// Interrupt 170 <0=> Secure state <1=> Non-Secure state -// Interrupt 171 <0=> Secure state <1=> Non-Secure state -// Interrupt 172 <0=> Secure state <1=> Non-Secure state -// Interrupt 173 <0=> Secure state <1=> Non-Secure state -// Interrupt 174 <0=> Secure state <1=> Non-Secure state -// Interrupt 175 <0=> Secure state <1=> Non-Secure state -// Interrupt 176 <0=> Secure state <1=> Non-Secure state -// Interrupt 177 <0=> Secure state <1=> Non-Secure state -// Interrupt 178 <0=> Secure state <1=> Non-Secure state -// Interrupt 179 <0=> Secure state <1=> Non-Secure state -// Interrupt 180 <0=> Secure state <1=> Non-Secure state -// Interrupt 181 <0=> Secure state <1=> Non-Secure state -// Interrupt 182 <0=> Secure state <1=> Non-Secure state -// Interrupt 183 <0=> Secure state <1=> Non-Secure state -// Interrupt 184 <0=> Secure state <1=> Non-Secure state -// Interrupt 185 <0=> Secure state <1=> Non-Secure state -// Interrupt 186 <0=> Secure state <1=> Non-Secure state -// Interrupt 187 <0=> Secure state <1=> Non-Secure state -// Interrupt 188 <0=> Secure state <1=> Non-Secure state -// Interrupt 189 <0=> Secure state <1=> Non-Secure state -// Interrupt 190 <0=> Secure state <1=> Non-Secure state -// Interrupt 191 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS5_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 6 (Interrupts 192..223) -*/ -#define NVIC_INIT_ITNS6 0 - -/* -// Interrupts 192..223 -// Interrupt 192 <0=> Secure state <1=> Non-Secure state -// Interrupt 193 <0=> Secure state <1=> Non-Secure state -// Interrupt 194 <0=> Secure state <1=> Non-Secure state -// Interrupt 195 <0=> Secure state <1=> Non-Secure state -// Interrupt 196 <0=> Secure state <1=> Non-Secure state -// Interrupt 197 <0=> Secure state <1=> Non-Secure state -// Interrupt 198 <0=> Secure state <1=> Non-Secure state -// Interrupt 199 <0=> Secure state <1=> Non-Secure state -// Interrupt 200 <0=> Secure state <1=> Non-Secure state -// Interrupt 201 <0=> Secure state <1=> Non-Secure state -// Interrupt 202 <0=> Secure state <1=> Non-Secure state -// Interrupt 203 <0=> Secure state <1=> Non-Secure state -// Interrupt 204 <0=> Secure state <1=> Non-Secure state -// Interrupt 205 <0=> Secure state <1=> Non-Secure state -// Interrupt 206 <0=> Secure state <1=> Non-Secure state -// Interrupt 207 <0=> Secure state <1=> Non-Secure state -// Interrupt 208 <0=> Secure state <1=> Non-Secure state -// Interrupt 209 <0=> Secure state <1=> Non-Secure state -// Interrupt 210 <0=> Secure state <1=> Non-Secure state -// Interrupt 211 <0=> Secure state <1=> Non-Secure state -// Interrupt 212 <0=> Secure state <1=> Non-Secure state -// Interrupt 213 <0=> Secure state <1=> Non-Secure state -// Interrupt 214 <0=> Secure state <1=> Non-Secure state -// Interrupt 215 <0=> Secure state <1=> Non-Secure state -// Interrupt 216 <0=> Secure state <1=> Non-Secure state -// Interrupt 217 <0=> Secure state <1=> Non-Secure state -// Interrupt 218 <0=> Secure state <1=> Non-Secure state -// Interrupt 219 <0=> Secure state <1=> Non-Secure state -// Interrupt 220 <0=> Secure state <1=> Non-Secure state -// Interrupt 221 <0=> Secure state <1=> Non-Secure state -// Interrupt 222 <0=> Secure state <1=> Non-Secure state -// Interrupt 223 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS6_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 7 (Interrupts 224..255) -*/ -#define NVIC_INIT_ITNS7 0 - -/* -// Interrupts 224..255 -// Interrupt 224 <0=> Secure state <1=> Non-Secure state -// Interrupt 225 <0=> Secure state <1=> Non-Secure state -// Interrupt 226 <0=> Secure state <1=> Non-Secure state -// Interrupt 227 <0=> Secure state <1=> Non-Secure state -// Interrupt 228 <0=> Secure state <1=> Non-Secure state -// Interrupt 229 <0=> Secure state <1=> Non-Secure state -// Interrupt 230 <0=> Secure state <1=> Non-Secure state -// Interrupt 231 <0=> Secure state <1=> Non-Secure state -// Interrupt 232 <0=> Secure state <1=> Non-Secure state -// Interrupt 233 <0=> Secure state <1=> Non-Secure state -// Interrupt 234 <0=> Secure state <1=> Non-Secure state -// Interrupt 235 <0=> Secure state <1=> Non-Secure state -// Interrupt 236 <0=> Secure state <1=> Non-Secure state -// Interrupt 237 <0=> Secure state <1=> Non-Secure state -// Interrupt 238 <0=> Secure state <1=> Non-Secure state -// Interrupt 239 <0=> Secure state <1=> Non-Secure state -// Interrupt 240 <0=> Secure state <1=> Non-Secure state -// Interrupt 241 <0=> Secure state <1=> Non-Secure state -// Interrupt 242 <0=> Secure state <1=> Non-Secure state -// Interrupt 243 <0=> Secure state <1=> Non-Secure state -// Interrupt 244 <0=> Secure state <1=> Non-Secure state -// Interrupt 245 <0=> Secure state <1=> Non-Secure state -// Interrupt 246 <0=> Secure state <1=> Non-Secure state -// Interrupt 247 <0=> Secure state <1=> Non-Secure state -// Interrupt 248 <0=> Secure state <1=> Non-Secure state -// Interrupt 249 <0=> Secure state <1=> Non-Secure state -// Interrupt 250 <0=> Secure state <1=> Non-Secure state -// Interrupt 251 <0=> Secure state <1=> Non-Secure state -// Interrupt 252 <0=> Secure state <1=> Non-Secure state -// Interrupt 253 <0=> Secure state <1=> Non-Secure state -// Interrupt 254 <0=> Secure state <1=> Non-Secure state -// Interrupt 255 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS7_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 8 (Interrupts 256..287) -*/ -#define NVIC_INIT_ITNS8 0 - -/* -// Interrupts 256..287 -// Interrupt 256 <0=> Secure state <1=> Non-Secure state -// Interrupt 257 <0=> Secure state <1=> Non-Secure state -// Interrupt 258 <0=> Secure state <1=> Non-Secure state -// Interrupt 259 <0=> Secure state <1=> Non-Secure state -// Interrupt 260 <0=> Secure state <1=> Non-Secure state -// Interrupt 261 <0=> Secure state <1=> Non-Secure state -// Interrupt 262 <0=> Secure state <1=> Non-Secure state -// Interrupt 263 <0=> Secure state <1=> Non-Secure state -// Interrupt 264 <0=> Secure state <1=> Non-Secure state -// Interrupt 265 <0=> Secure state <1=> Non-Secure state -// Interrupt 266 <0=> Secure state <1=> Non-Secure state -// Interrupt 267 <0=> Secure state <1=> Non-Secure state -// Interrupt 268 <0=> Secure state <1=> Non-Secure state -// Interrupt 269 <0=> Secure state <1=> Non-Secure state -// Interrupt 270 <0=> Secure state <1=> Non-Secure state -// Interrupt 271 <0=> Secure state <1=> Non-Secure state -// Interrupt 272 <0=> Secure state <1=> Non-Secure state -// Interrupt 273 <0=> Secure state <1=> Non-Secure state -// Interrupt 274 <0=> Secure state <1=> Non-Secure state -// Interrupt 275 <0=> Secure state <1=> Non-Secure state -// Interrupt 276 <0=> Secure state <1=> Non-Secure state -// Interrupt 277 <0=> Secure state <1=> Non-Secure state -// Interrupt 278 <0=> Secure state <1=> Non-Secure state -// Interrupt 279 <0=> Secure state <1=> Non-Secure state -// Interrupt 280 <0=> Secure state <1=> Non-Secure state -// Interrupt 281 <0=> Secure state <1=> Non-Secure state -// Interrupt 282 <0=> Secure state <1=> Non-Secure state -// Interrupt 283 <0=> Secure state <1=> Non-Secure state -// Interrupt 284 <0=> Secure state <1=> Non-Secure state -// Interrupt 285 <0=> Secure state <1=> Non-Secure state -// Interrupt 286 <0=> Secure state <1=> Non-Secure state -// Interrupt 287 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS8_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 9 (Interrupts 288..319) -*/ -#define NVIC_INIT_ITNS9 0 - -/* -// Interrupts 288..319 -// Interrupt 288 <0=> Secure state <1=> Non-Secure state -// Interrupt 289 <0=> Secure state <1=> Non-Secure state -// Interrupt 290 <0=> Secure state <1=> Non-Secure state -// Interrupt 291 <0=> Secure state <1=> Non-Secure state -// Interrupt 292 <0=> Secure state <1=> Non-Secure state -// Interrupt 293 <0=> Secure state <1=> Non-Secure state -// Interrupt 294 <0=> Secure state <1=> Non-Secure state -// Interrupt 295 <0=> Secure state <1=> Non-Secure state -// Interrupt 296 <0=> Secure state <1=> Non-Secure state -// Interrupt 297 <0=> Secure state <1=> Non-Secure state -// Interrupt 298 <0=> Secure state <1=> Non-Secure state -// Interrupt 299 <0=> Secure state <1=> Non-Secure state -// Interrupt 300 <0=> Secure state <1=> Non-Secure state -// Interrupt 301 <0=> Secure state <1=> Non-Secure state -// Interrupt 302 <0=> Secure state <1=> Non-Secure state -// Interrupt 303 <0=> Secure state <1=> Non-Secure state -// Interrupt 304 <0=> Secure state <1=> Non-Secure state -// Interrupt 305 <0=> Secure state <1=> Non-Secure state -// Interrupt 306 <0=> Secure state <1=> Non-Secure state -// Interrupt 307 <0=> Secure state <1=> Non-Secure state -// Interrupt 308 <0=> Secure state <1=> Non-Secure state -// Interrupt 309 <0=> Secure state <1=> Non-Secure state -// Interrupt 310 <0=> Secure state <1=> Non-Secure state -// Interrupt 311 <0=> Secure state <1=> Non-Secure state -// Interrupt 312 <0=> Secure state <1=> Non-Secure state -// Interrupt 313 <0=> Secure state <1=> Non-Secure state -// Interrupt 314 <0=> Secure state <1=> Non-Secure state -// Interrupt 315 <0=> Secure state <1=> Non-Secure state -// Interrupt 316 <0=> Secure state <1=> Non-Secure state -// Interrupt 317 <0=> Secure state <1=> Non-Secure state -// Interrupt 318 <0=> Secure state <1=> Non-Secure state -// Interrupt 319 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS9_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 10 (Interrupts 320..351) -*/ -#define NVIC_INIT_ITNS10 0 - -/* -// Interrupts 320..351 -// Interrupt 320 <0=> Secure state <1=> Non-Secure state -// Interrupt 321 <0=> Secure state <1=> Non-Secure state -// Interrupt 322 <0=> Secure state <1=> Non-Secure state -// Interrupt 323 <0=> Secure state <1=> Non-Secure state -// Interrupt 324 <0=> Secure state <1=> Non-Secure state -// Interrupt 325 <0=> Secure state <1=> Non-Secure state -// Interrupt 326 <0=> Secure state <1=> Non-Secure state -// Interrupt 327 <0=> Secure state <1=> Non-Secure state -// Interrupt 328 <0=> Secure state <1=> Non-Secure state -// Interrupt 329 <0=> Secure state <1=> Non-Secure state -// Interrupt 330 <0=> Secure state <1=> Non-Secure state -// Interrupt 331 <0=> Secure state <1=> Non-Secure state -// Interrupt 332 <0=> Secure state <1=> Non-Secure state -// Interrupt 333 <0=> Secure state <1=> Non-Secure state -// Interrupt 334 <0=> Secure state <1=> Non-Secure state -// Interrupt 335 <0=> Secure state <1=> Non-Secure state -// Interrupt 336 <0=> Secure state <1=> Non-Secure state -// Interrupt 337 <0=> Secure state <1=> Non-Secure state -// Interrupt 338 <0=> Secure state <1=> Non-Secure state -// Interrupt 339 <0=> Secure state <1=> Non-Secure state -// Interrupt 340 <0=> Secure state <1=> Non-Secure state -// Interrupt 341 <0=> Secure state <1=> Non-Secure state -// Interrupt 342 <0=> Secure state <1=> Non-Secure state -// Interrupt 343 <0=> Secure state <1=> Non-Secure state -// Interrupt 344 <0=> Secure state <1=> Non-Secure state -// Interrupt 345 <0=> Secure state <1=> Non-Secure state -// Interrupt 346 <0=> Secure state <1=> Non-Secure state -// Interrupt 347 <0=> Secure state <1=> Non-Secure state -// Interrupt 348 <0=> Secure state <1=> Non-Secure state -// Interrupt 349 <0=> Secure state <1=> Non-Secure state -// Interrupt 350 <0=> Secure state <1=> Non-Secure state -// Interrupt 351 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS10_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 11 (Interrupts 352..383) -*/ -#define NVIC_INIT_ITNS11 0 - -/* -// Interrupts 352..383 -// Interrupt 352 <0=> Secure state <1=> Non-Secure state -// Interrupt 353 <0=> Secure state <1=> Non-Secure state -// Interrupt 354 <0=> Secure state <1=> Non-Secure state -// Interrupt 355 <0=> Secure state <1=> Non-Secure state -// Interrupt 356 <0=> Secure state <1=> Non-Secure state -// Interrupt 357 <0=> Secure state <1=> Non-Secure state -// Interrupt 358 <0=> Secure state <1=> Non-Secure state -// Interrupt 359 <0=> Secure state <1=> Non-Secure state -// Interrupt 360 <0=> Secure state <1=> Non-Secure state -// Interrupt 361 <0=> Secure state <1=> Non-Secure state -// Interrupt 362 <0=> Secure state <1=> Non-Secure state -// Interrupt 363 <0=> Secure state <1=> Non-Secure state -// Interrupt 364 <0=> Secure state <1=> Non-Secure state -// Interrupt 365 <0=> Secure state <1=> Non-Secure state -// Interrupt 366 <0=> Secure state <1=> Non-Secure state -// Interrupt 367 <0=> Secure state <1=> Non-Secure state -// Interrupt 368 <0=> Secure state <1=> Non-Secure state -// Interrupt 369 <0=> Secure state <1=> Non-Secure state -// Interrupt 370 <0=> Secure state <1=> Non-Secure state -// Interrupt 371 <0=> Secure state <1=> Non-Secure state -// Interrupt 372 <0=> Secure state <1=> Non-Secure state -// Interrupt 373 <0=> Secure state <1=> Non-Secure state -// Interrupt 374 <0=> Secure state <1=> Non-Secure state -// Interrupt 375 <0=> Secure state <1=> Non-Secure state -// Interrupt 376 <0=> Secure state <1=> Non-Secure state -// Interrupt 377 <0=> Secure state <1=> Non-Secure state -// Interrupt 378 <0=> Secure state <1=> Non-Secure state -// Interrupt 379 <0=> Secure state <1=> Non-Secure state -// Interrupt 380 <0=> Secure state <1=> Non-Secure state -// Interrupt 381 <0=> Secure state <1=> Non-Secure state -// Interrupt 382 <0=> Secure state <1=> Non-Secure state -// Interrupt 383 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS11_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 12 (Interrupts 384..415) -*/ -#define NVIC_INIT_ITNS12 0 - -/* -// Interrupts 384..415 -// Interrupt 384 <0=> Secure state <1=> Non-Secure state -// Interrupt 385 <0=> Secure state <1=> Non-Secure state -// Interrupt 386 <0=> Secure state <1=> Non-Secure state -// Interrupt 387 <0=> Secure state <1=> Non-Secure state -// Interrupt 388 <0=> Secure state <1=> Non-Secure state -// Interrupt 389 <0=> Secure state <1=> Non-Secure state -// Interrupt 390 <0=> Secure state <1=> Non-Secure state -// Interrupt 391 <0=> Secure state <1=> Non-Secure state -// Interrupt 392 <0=> Secure state <1=> Non-Secure state -// Interrupt 393 <0=> Secure state <1=> Non-Secure state -// Interrupt 394 <0=> Secure state <1=> Non-Secure state -// Interrupt 395 <0=> Secure state <1=> Non-Secure state -// Interrupt 396 <0=> Secure state <1=> Non-Secure state -// Interrupt 397 <0=> Secure state <1=> Non-Secure state -// Interrupt 398 <0=> Secure state <1=> Non-Secure state -// Interrupt 399 <0=> Secure state <1=> Non-Secure state -// Interrupt 400 <0=> Secure state <1=> Non-Secure state -// Interrupt 401 <0=> Secure state <1=> Non-Secure state -// Interrupt 402 <0=> Secure state <1=> Non-Secure state -// Interrupt 403 <0=> Secure state <1=> Non-Secure state -// Interrupt 404 <0=> Secure state <1=> Non-Secure state -// Interrupt 405 <0=> Secure state <1=> Non-Secure state -// Interrupt 406 <0=> Secure state <1=> Non-Secure state -// Interrupt 407 <0=> Secure state <1=> Non-Secure state -// Interrupt 408 <0=> Secure state <1=> Non-Secure state -// Interrupt 409 <0=> Secure state <1=> Non-Secure state -// Interrupt 410 <0=> Secure state <1=> Non-Secure state -// Interrupt 411 <0=> Secure state <1=> Non-Secure state -// Interrupt 412 <0=> Secure state <1=> Non-Secure state -// Interrupt 413 <0=> Secure state <1=> Non-Secure state -// Interrupt 414 <0=> Secure state <1=> Non-Secure state -// Interrupt 415 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS12_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 13 (Interrupts 416..447) -*/ -#define NVIC_INIT_ITNS13 0 - -/* -// Interrupts 416..447 -// Interrupt 416 <0=> Secure state <1=> Non-Secure state -// Interrupt 417 <0=> Secure state <1=> Non-Secure state -// Interrupt 418 <0=> Secure state <1=> Non-Secure state -// Interrupt 419 <0=> Secure state <1=> Non-Secure state -// Interrupt 420 <0=> Secure state <1=> Non-Secure state -// Interrupt 421 <0=> Secure state <1=> Non-Secure state -// Interrupt 422 <0=> Secure state <1=> Non-Secure state -// Interrupt 423 <0=> Secure state <1=> Non-Secure state -// Interrupt 424 <0=> Secure state <1=> Non-Secure state -// Interrupt 425 <0=> Secure state <1=> Non-Secure state -// Interrupt 426 <0=> Secure state <1=> Non-Secure state -// Interrupt 427 <0=> Secure state <1=> Non-Secure state -// Interrupt 428 <0=> Secure state <1=> Non-Secure state -// Interrupt 429 <0=> Secure state <1=> Non-Secure state -// Interrupt 430 <0=> Secure state <1=> Non-Secure state -// Interrupt 431 <0=> Secure state <1=> Non-Secure state -// Interrupt 432 <0=> Secure state <1=> Non-Secure state -// Interrupt 433 <0=> Secure state <1=> Non-Secure state -// Interrupt 434 <0=> Secure state <1=> Non-Secure state -// Interrupt 435 <0=> Secure state <1=> Non-Secure state -// Interrupt 436 <0=> Secure state <1=> Non-Secure state -// Interrupt 437 <0=> Secure state <1=> Non-Secure state -// Interrupt 438 <0=> Secure state <1=> Non-Secure state -// Interrupt 439 <0=> Secure state <1=> Non-Secure state -// Interrupt 440 <0=> Secure state <1=> Non-Secure state -// Interrupt 441 <0=> Secure state <1=> Non-Secure state -// Interrupt 442 <0=> Secure state <1=> Non-Secure state -// Interrupt 443 <0=> Secure state <1=> Non-Secure state -// Interrupt 444 <0=> Secure state <1=> Non-Secure state -// Interrupt 445 <0=> Secure state <1=> Non-Secure state -// Interrupt 446 <0=> Secure state <1=> Non-Secure state -// Interrupt 447 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS13_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 14 (Interrupts 448..479) -*/ -#define NVIC_INIT_ITNS14 0 - -/* -// Interrupts 448..479 -// Interrupt 448 <0=> Secure state <1=> Non-Secure state -// Interrupt 449 <0=> Secure state <1=> Non-Secure state -// Interrupt 450 <0=> Secure state <1=> Non-Secure state -// Interrupt 451 <0=> Secure state <1=> Non-Secure state -// Interrupt 452 <0=> Secure state <1=> Non-Secure state -// Interrupt 453 <0=> Secure state <1=> Non-Secure state -// Interrupt 454 <0=> Secure state <1=> Non-Secure state -// Interrupt 455 <0=> Secure state <1=> Non-Secure state -// Interrupt 456 <0=> Secure state <1=> Non-Secure state -// Interrupt 457 <0=> Secure state <1=> Non-Secure state -// Interrupt 458 <0=> Secure state <1=> Non-Secure state -// Interrupt 459 <0=> Secure state <1=> Non-Secure state -// Interrupt 460 <0=> Secure state <1=> Non-Secure state -// Interrupt 461 <0=> Secure state <1=> Non-Secure state -// Interrupt 462 <0=> Secure state <1=> Non-Secure state -// Interrupt 463 <0=> Secure state <1=> Non-Secure state -// Interrupt 464 <0=> Secure state <1=> Non-Secure state -// Interrupt 465 <0=> Secure state <1=> Non-Secure state -// Interrupt 466 <0=> Secure state <1=> Non-Secure state -// Interrupt 467 <0=> Secure state <1=> Non-Secure state -// Interrupt 468 <0=> Secure state <1=> Non-Secure state -// Interrupt 469 <0=> Secure state <1=> Non-Secure state -// Interrupt 470 <0=> Secure state <1=> Non-Secure state -// Interrupt 471 <0=> Secure state <1=> Non-Secure state -// Interrupt 472 <0=> Secure state <1=> Non-Secure state -// Interrupt 473 <0=> Secure state <1=> Non-Secure state -// Interrupt 474 <0=> Secure state <1=> Non-Secure state -// Interrupt 475 <0=> Secure state <1=> Non-Secure state -// Interrupt 476 <0=> Secure state <1=> Non-Secure state -// Interrupt 477 <0=> Secure state <1=> Non-Secure state -// Interrupt 478 <0=> Secure state <1=> Non-Secure state -// Interrupt 479 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS14_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 15 (Interrupts 480..511) -*/ -#define NVIC_INIT_ITNS15 0 - -/* -// Interrupts 480..511 -// Interrupt 480 <0=> Secure state <1=> Non-Secure state -// Interrupt 481 <0=> Secure state <1=> Non-Secure state -// Interrupt 482 <0=> Secure state <1=> Non-Secure state -// Interrupt 483 <0=> Secure state <1=> Non-Secure state -// Interrupt 484 <0=> Secure state <1=> Non-Secure state -// Interrupt 485 <0=> Secure state <1=> Non-Secure state -// Interrupt 486 <0=> Secure state <1=> Non-Secure state -// Interrupt 487 <0=> Secure state <1=> Non-Secure state -// Interrupt 488 <0=> Secure state <1=> Non-Secure state -// Interrupt 489 <0=> Secure state <1=> Non-Secure state -// Interrupt 490 <0=> Secure state <1=> Non-Secure state -// Interrupt 491 <0=> Secure state <1=> Non-Secure state -// Interrupt 492 <0=> Secure state <1=> Non-Secure state -// Interrupt 493 <0=> Secure state <1=> Non-Secure state -// Interrupt 494 <0=> Secure state <1=> Non-Secure state -// Interrupt 495 <0=> Secure state <1=> Non-Secure state -// Interrupt 496 <0=> Secure state <1=> Non-Secure state -// Interrupt 497 <0=> Secure state <1=> Non-Secure state -// Interrupt 498 <0=> Secure state <1=> Non-Secure state -// Interrupt 499 <0=> Secure state <1=> Non-Secure state -// Interrupt 500 <0=> Secure state <1=> Non-Secure state -// Interrupt 501 <0=> Secure state <1=> Non-Secure state -// Interrupt 502 <0=> Secure state <1=> Non-Secure state -// Interrupt 503 <0=> Secure state <1=> Non-Secure state -// Interrupt 504 <0=> Secure state <1=> Non-Secure state -// Interrupt 505 <0=> Secure state <1=> Non-Secure state -// Interrupt 506 <0=> Secure state <1=> Non-Secure state -// Interrupt 507 <0=> Secure state <1=> Non-Secure state -// Interrupt 508 <0=> Secure state <1=> Non-Secure state -// Interrupt 509 <0=> Secure state <1=> Non-Secure state -// Interrupt 510 <0=> Secure state <1=> Non-Secure state -// Interrupt 511 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS15_VAL 0x00000000 - -/* -// -*/ - -/* -// -*/ - - - -/* - max 128 SAU regions. - SAU regions are defined in partition.h - */ - -#define SAU_INIT_REGION(n) \ - SAU->RNR = (n & SAU_RNR_REGION_Msk); \ - SAU->RBAR = (SAU_INIT_START##n & SAU_RBAR_BADDR_Msk); \ - SAU->RLAR = (SAU_INIT_END##n & SAU_RLAR_LADDR_Msk) | \ - ((SAU_INIT_NSC##n << SAU_RLAR_NSC_Pos) & SAU_RLAR_NSC_Msk) | 1U - -/** - \brief Setup a SAU Region - \details Writes the region information contained in SAU_Region to the - registers SAU_RNR, SAU_RBAR, and SAU_RLAR - */ -__STATIC_INLINE void TZ_SAU_Setup (void) -{ - -#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) - - #if defined (SAU_INIT_REGION0) && (SAU_INIT_REGION0 == 1U) - SAU_INIT_REGION(0); - #endif - - #if defined (SAU_INIT_REGION1) && (SAU_INIT_REGION1 == 1U) - SAU_INIT_REGION(1); - #endif - - #if defined (SAU_INIT_REGION2) && (SAU_INIT_REGION2 == 1U) - SAU_INIT_REGION(2); - #endif - - #if defined (SAU_INIT_REGION3) && (SAU_INIT_REGION3 == 1U) - SAU_INIT_REGION(3); - #endif - - #if defined (SAU_INIT_REGION4) && (SAU_INIT_REGION4 == 1U) - SAU_INIT_REGION(4); - #endif - - #if defined (SAU_INIT_REGION5) && (SAU_INIT_REGION5 == 1U) - SAU_INIT_REGION(5); - #endif - - #if defined (SAU_INIT_REGION6) && (SAU_INIT_REGION6 == 1U) - SAU_INIT_REGION(6); - #endif - - #if defined (SAU_INIT_REGION7) && (SAU_INIT_REGION7 == 1U) - SAU_INIT_REGION(7); - #endif - - /* repeat this for all possible SAU regions */ - -#endif /* defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) */ - - - #if defined (SAU_INIT_CTRL) && (SAU_INIT_CTRL == 1U) - SAU->CTRL = ((SAU_INIT_CTRL_ENABLE << SAU_CTRL_ENABLE_Pos) & SAU_CTRL_ENABLE_Msk) | - ((SAU_INIT_CTRL_ALLNS << SAU_CTRL_ALLNS_Pos) & SAU_CTRL_ALLNS_Msk) ; - #endif - - #if defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) - SCB->SCR = (SCB->SCR & ~(SCB_SCR_SLEEPDEEPS_Msk )) | - ((SCB_CSR_DEEPSLEEPS_VAL << SCB_SCR_SLEEPDEEPS_Pos) & SCB_SCR_SLEEPDEEPS_Msk); - - SCB->AIRCR = (SCB->AIRCR & ~(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_SYSRESETREQS_Msk | - SCB_AIRCR_BFHFNMINS_Msk | SCB_AIRCR_PRIS_Msk )) | - ((0x05FAU << SCB_AIRCR_VECTKEY_Pos) & SCB_AIRCR_VECTKEY_Msk) | - ((SCB_AIRCR_SYSRESETREQS_VAL << SCB_AIRCR_SYSRESETREQS_Pos) & SCB_AIRCR_SYSRESETREQS_Msk) | - ((SCB_AIRCR_PRIS_VAL << SCB_AIRCR_PRIS_Pos) & SCB_AIRCR_PRIS_Msk) | - ((SCB_AIRCR_BFHFNMINS_VAL << SCB_AIRCR_BFHFNMINS_Pos) & SCB_AIRCR_BFHFNMINS_Msk); - #endif /* defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) */ - - #if defined (__FPU_USED) && (__FPU_USED == 1U) && \ - defined (TZ_FPU_NS_USAGE) && (TZ_FPU_NS_USAGE == 1U) - - SCB->NSACR = (SCB->NSACR & ~(SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)) | - ((SCB_NSACR_CP10_11_VAL << SCB_NSACR_CP10_Pos) & (SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)); - - FPU->FPCCR = (FPU->FPCCR & ~(FPU_FPCCR_TS_Msk | FPU_FPCCR_CLRONRETS_Msk | FPU_FPCCR_CLRONRET_Msk)) | - ((FPU_FPCCR_TS_VAL << FPU_FPCCR_TS_Pos ) & FPU_FPCCR_TS_Msk ) | - ((FPU_FPCCR_CLRONRETS_VAL << FPU_FPCCR_CLRONRETS_Pos) & FPU_FPCCR_CLRONRETS_Msk) | - ((FPU_FPCCR_CLRONRET_VAL << FPU_FPCCR_CLRONRET_Pos ) & FPU_FPCCR_CLRONRET_Msk ); - #endif - - #if defined (NVIC_INIT_ITNS0) && (NVIC_INIT_ITNS0 == 1U) - NVIC->ITNS[0] = NVIC_INIT_ITNS0_VAL; - #endif - - #if defined (NVIC_INIT_ITNS1) && (NVIC_INIT_ITNS1 == 1U) - NVIC->ITNS[1] = NVIC_INIT_ITNS1_VAL; - #endif - - #if defined (NVIC_INIT_ITNS2) && (NVIC_INIT_ITNS2 == 1U) - NVIC->ITNS[2] = NVIC_INIT_ITNS2_VAL; - #endif - - #if defined (NVIC_INIT_ITNS3) && (NVIC_INIT_ITNS3 == 1U) - NVIC->ITNS[3] = NVIC_INIT_ITNS3_VAL; - #endif - - #if defined (NVIC_INIT_ITNS4) && (NVIC_INIT_ITNS4 == 1U) - NVIC->ITNS[4] = NVIC_INIT_ITNS4_VAL; - #endif - - #if defined (NVIC_INIT_ITNS5) && (NVIC_INIT_ITNS5 == 1U) - NVIC->ITNS[5] = NVIC_INIT_ITNS5_VAL; - #endif - - #if defined (NVIC_INIT_ITNS6) && (NVIC_INIT_ITNS6 == 1U) - NVIC->ITNS[6] = NVIC_INIT_ITNS6_VAL; - #endif - - #if defined (NVIC_INIT_ITNS7) && (NVIC_INIT_ITNS7 == 1U) - NVIC->ITNS[7] = NVIC_INIT_ITNS7_VAL; - #endif - - #if defined (NVIC_INIT_ITNS8) && (NVIC_INIT_ITNS8 == 1U) - NVIC->ITNS[8] = NVIC_INIT_ITNS8_VAL; - #endif - - #if defined (NVIC_INIT_ITNS9) && (NVIC_INIT_ITNS9 == 1U) - NVIC->ITNS[9] = NVIC_INIT_ITNS9_VAL; - #endif - - #if defined (NVIC_INIT_ITNS10) && (NVIC_INIT_ITNS10 == 1U) - NVIC->ITNS[10] = NVIC_INIT_ITNS10_VAL; - #endif - - #if defined (NVIC_INIT_ITNS11) && (NVIC_INIT_ITNS11 == 1U) - NVIC->ITNS[11] = NVIC_INIT_ITNS11_VAL; - #endif - - #if defined (NVIC_INIT_ITNS12) && (NVIC_INIT_ITNS12 == 1U) - NVIC->ITNS[12] = NVIC_INIT_ITNS12_VAL; - #endif - - #if defined (NVIC_INIT_ITNS13) && (NVIC_INIT_ITNS13 == 1U) - NVIC->ITNS[13] = NVIC_INIT_ITNS13_VAL; - #endif - - #if defined (NVIC_INIT_ITNS14) && (NVIC_INIT_ITNS14 == 1U) - NVIC->ITNS[14] = NVIC_INIT_ITNS14_VAL; - #endif - - #if defined (NVIC_INIT_ITNS15) && (NVIC_INIT_ITNS15 == 1U) - NVIC->ITNS[15] = NVIC_INIT_ITNS15_VAL; - #endif - - /* repeat this for all possible ITNS elements */ - -} - -#endif /* PARTITION_ARMCM35P_H */ diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS_BL/RTE/Device/ARMCM35P_DSP_FP_TZ/startup_ARMCM35P.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS_BL/RTE/Device/ARMCM35P_DSP_FP_TZ/startup_ARMCM35P.c deleted file mode 100644 index d2d21d8..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS_BL/RTE/Device/ARMCM35P_DSP_FP_TZ/startup_ARMCM35P.c +++ /dev/null @@ -1,170 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM35P.c - * @brief CMSIS-Core Device Startup File for Cortex-M35P Device - * @version V2.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM35P) - #include "ARMCM35P.h" -#elif defined (ARMCM35P_TZ) - #include "ARMCM35P_TZ.h" -#elif defined (ARMCM35P_DSP_FP) - #include "ARMCM35P_DSP_FP.h" -#elif defined (ARMCM35P_DSP_FP_TZ) - #include "ARMCM35P_DSP_FP_TZ.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SecureFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - SecureFault_Handler, /* -9 Secure Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 480 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS_BL/RTE/Device/ARMCM35P_DSP_FP_TZ/startup_ARMCM35P.c.base@2.1.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS_BL/RTE/Device/ARMCM35P_DSP_FP_TZ/startup_ARMCM35P.c.base@2.1.0 deleted file mode 100644 index d2d21d8..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS_BL/RTE/Device/ARMCM35P_DSP_FP_TZ/startup_ARMCM35P.c.base@2.1.0 +++ /dev/null @@ -1,170 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM35P.c - * @brief CMSIS-Core Device Startup File for Cortex-M35P Device - * @version V2.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM35P) - #include "ARMCM35P.h" -#elif defined (ARMCM35P_TZ) - #include "ARMCM35P_TZ.h" -#elif defined (ARMCM35P_DSP_FP) - #include "ARMCM35P_DSP_FP.h" -#elif defined (ARMCM35P_DSP_FP_TZ) - #include "ARMCM35P_DSP_FP_TZ.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SecureFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - SecureFault_Handler, /* -9 Secure Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 480 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS_BL/RTE/Device/ARMCM35P_DSP_FP_TZ/system_ARMCM35P.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS_BL/RTE/Device/ARMCM35P_DSP_FP_TZ/system_ARMCM35P.c deleted file mode 100644 index 2ccc84b..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS_BL/RTE/Device/ARMCM35P_DSP_FP_TZ/system_ARMCM35P.c +++ /dev/null @@ -1,97 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM35P.c - * @brief CMSIS Device System Source File for - * ARMCM35P Device - * @version V1.0.1 - * @date 15. November 2019 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM35P) - #include "ARMCM35P.h" -#elif defined (ARMCM35P_TZ) - #include "ARMCM35P_TZ.h" - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM35P.h" - #endif -#elif defined (ARMCM35P_DSP_FP) - #include "ARMCM35P_DSP_FP.h" -#elif defined (ARMCM35P_DSP_FP_TZ) - #include "ARMCM35P_DSP_FP_TZ.h" - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM35P.h" - #endif -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t) &(__VECTOR_TABLE[0]); -#endif - -#if defined (__FPU_USED) && (__FPU_USED == 1U) - SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ - (3U << 11U*2U) ); /* enable CP11 Full Access */ -#endif - -#ifdef UNALIGNED_SUPPORT_DISABLE - SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; -#endif - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - TZ_SAU_Setup(); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS_BL/Target.clayer.yml b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS_BL/Target.clayer.yml deleted file mode 100644 index ee45512..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS_BL/Target.clayer.yml +++ /dev/null @@ -1,22 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/1.3.0/tools/projmgr/schemas/clayer.schema.json - -layer: - # type: Target - description: Target setup - - # packs: - # - pack: ARM::CMSIS - - components: - # [Cvendor::] Cclass [&Cbundle] :Cgroup [:Csub] [&Cvariant] [@[>=]Cversion] - - component: ARM::CMSIS:CORE - - component: Device:Startup&C Startup - - misc: - - for-compiler: IAR - Link: [--config generic_cortex.icf] - - groups: - - group: VHT/FVP - files: - - file: ./model_config.txt diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS_BL/model_config.txt b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS_BL/model_config.txt deleted file mode 100644 index 656fbb5..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM35PS_BL/model_config.txt +++ /dev/null @@ -1,32 +0,0 @@ -# Parameters: -# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] -#---------------------------------------------------------------------------------------------- -fvp_mps2.mps2_visualisation.disable-visualisation=1 # (bool , init-time) default = '0' : Enable/disable visualisation -cpu0.FPU=1 # (bool , init-time) default = '1' : Set whether the model has VFP support -cpu0.DSP=1 # (bool , init-time) default = '1' : Set whether the model has the DSP extension -cpu0.semihosting-enable=1 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. -cpu0.semihosting-Thumb_SVC=0xAB # (int , init-time) default = '0xAB' : T32 SVC number for semihosting : [0x0..0xFF] -cpu0.semihosting-cmd_line="" # (string, init-time) default = '' : Command line available to semihosting SVC calls -cpu0.semihosting-heap_base=0x0 # (int , init-time) default = '0x0' : Virtual address of heap base : [0x0..0xFFFFFFFF] -cpu0.semihosting-heap_limit=0x0 # (int , init-time) default = '0x10700000' : Virtual address of top of heap : [0x0..0xFFFFFFFF] -cpu0.semihosting-stack_base=0x0 # (int , init-time) default = '0x10700000' : Virtual address of base of descending stack : [0x0..0xFFFFFFFF] -cpu0.semihosting-stack_limit=0x0 # (int , init-time) default = '0x10800000' : Virtual address of stack limit : [0x0..0xFFFFFFFF] -cpu0.semihosting-cwd="" # (string, init-time) default = '' : Base directory for semihosting file access. -cpu0.MPU_S=0x8 # (int , init-time) default = '0x8' : Number of regions in the Secure MPU. If Security Extentions are absent, this is ignored : [0x0..0x10] -cpu0.MPU_NS=0x8 # (int , init-time) default = '0x8' : Number of regions in the Non-Secure MPU. If Security Extentions are absent, this is the total number of MPU regions : [0x0..0x10] -cpu0.ITM=0 # (bool , init-time) default = '1' : Level of instrumentation trace supported. false : No ITM trace included, true: ITM trace included -cpu0.IRQLVL=0x3 # (int , init-time) default = '0x3' : Number of bits of interrupt priority : [0x3..0x8] -cpu0.BIGENDINIT=0 # (bool , init-time) default = '0' : Initialize processor to big endian mode -cpu0.INITSVTOR=0x00000000 # (int , init-time) default = '0x10000000' : Secure vector-table offset at reset : [0x0..0xFFFFFF80] -cpu0.INITNSVTOR=0x0 # (int , init-time) default = '0x0' : Non-Secure vector-table offset at reset : [0x0..0xFFFFFF80] -cpu0.SAU=0x8 # (int , init-time) default = '0x4' : Number of SAU regions (0 => no SAU) : [0x0..0x8] -cpu0.SAU_CTRL.ENABLE=0 # (bool , init-time) default = '0' : Enable SAU at reset -cpu0.SAU_CTRL.ALLNS=0 # (bool , init-time) default = '0' : At reset, the SAU treats entire memory space as NS when the SAU is disabled if this is set -idau.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' : -cpu0.LOCK_SAU=0 # (bool , init-time) default = '0' : Lock down of SAU registers write -cpu0.LOCK_S_MPU=0 # (bool , init-time) default = '0' : Lock down of Secure MPU registers write -cpu0.LOCK_NS_MPU=0 # (bool , init-time) default = '0' : Lock down of Non-Secure MPU registers write -cpu0.CPIF=1 # (bool , init-time) default = '1' : Specifies whether the external coprocessor interface is included -cpu0.SECEXT=1 # (bool , init-time) default = '1' : Whether the ARMv8-M Security Extensions are included -fvp_mps2.DISABLE_GATING=1 # (bool , init-time) default = '0' : Disable Memory gating logic -#---------------------------------------------------------------------------------------------- diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4/RTE/Device/ARMCM4/ARMCM4_ac6.sct b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4/RTE/Device/ARMCM4/ARMCM4_ac6.sct deleted file mode 100644 index eb67b5f..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4/RTE/Device/ARMCM4/ARMCM4_ac6.sct +++ /dev/null @@ -1,80 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m4 -xc -; command above MUST be in first line (no comment above!) - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE) /* starts at end of RAM */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - - -/*---------------------------------------------------------------------------- - Scatter File Definitions definition - *----------------------------------------------------------------------------*/ -#define __RO_BASE __ROM_BASE -#define __RO_SIZE __ROM_SIZE - -#define __RW_BASE __RAM_BASE -#define __RW_SIZE (__RAM_SIZE - __STACK_SIZE - __HEAP_SIZE) - - -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4/RTE/Device/ARMCM4/gcc_arm.ld b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4/RTE/Device/ARMCM4/gcc_arm.ld deleted file mode 100644 index 7498908..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4/RTE/Device/ARMCM4/gcc_arm.ld +++ /dev/null @@ -1,296 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.1.0 - * @date 04. August 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00040000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00020000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ -/* - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH -*/ - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4/RTE/Device/ARMCM4/startup_ARMCM4.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4/RTE/Device/ARMCM4/startup_ARMCM4.c deleted file mode 100644 index 2d7ca21..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4/RTE/Device/ARMCM4/startup_ARMCM4.c +++ /dev/null @@ -1,152 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM4.c - * @brief CMSIS-Core(M) Device Startup File for a Cortex-M4 Device - * @version V2.0.3 - * @date 31. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM4) - #include "ARMCM4.h" -#elif defined (ARMCM4_FP) - #include "ARMCM4_FP.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 223 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4/RTE/Device/ARMCM4/startup_ARMCM4.c.base@2.0.3 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4/RTE/Device/ARMCM4/startup_ARMCM4.c.base@2.0.3 deleted file mode 100644 index 2d7ca21..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4/RTE/Device/ARMCM4/startup_ARMCM4.c.base@2.0.3 +++ /dev/null @@ -1,152 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM4.c - * @brief CMSIS-Core(M) Device Startup File for a Cortex-M4 Device - * @version V2.0.3 - * @date 31. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM4) - #include "ARMCM4.h" -#elif defined (ARMCM4_FP) - #include "ARMCM4_FP.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 223 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4/RTE/Device/ARMCM4/system_ARMCM4.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4/RTE/Device/ARMCM4/system_ARMCM4.c deleted file mode 100644 index 9d983d2..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4/RTE/Device/ARMCM4/system_ARMCM4.c +++ /dev/null @@ -1,81 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM4.c - * @brief CMSIS Device System Source File for - * ARMCM4 Device - * @version V1.0.1 - * @date 15. November 2019 - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM4) - #include "ARMCM4.h" -#elif defined (ARMCM4_FP) - #include "ARMCM4_FP.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t) &(__VECTOR_TABLE[0]); -#endif - -#if defined (__FPU_USED) && (__FPU_USED == 1U) - SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ - (3U << 11U*2U) ); /* enable CP11 Full Access */ -#endif - -#ifdef UNALIGNED_SUPPORT_DISABLE - SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4/RTE/Device/ARMCM4/tiac_arm.cmd b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4/RTE/Device/ARMCM4/tiac_arm.cmd deleted file mode 100644 index 391dda4..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4/RTE/Device/ARMCM4/tiac_arm.cmd +++ /dev/null @@ -1,41 +0,0 @@ -/****************************************************************************/ -/* tiac_arm.cmd - COMMAND FILE FOR LINKING ARM C PROGRAMS */ -/* */ -/* Description: This file is a sample command file that can be used */ -/* for linking programs built with the TI Arm Clang */ -/* Compiler. Use it as a guideline; you may want to change */ -/* the allocation scheme according to the size of your */ -/* program and the memory layout of your target system. */ -/* */ -/****************************************************************************/ --c /* LINK USING C CONVENTIONS */ --stack 0x4000 /* SOFTWARE STACK SIZE */ --heap 0x4000 /* HEAP AREA SIZE */ ---args 0x1000 - -/* SPECIFY THE SYSTEM MEMORY MAP */ -MEMORY -{ - V_MEM : org = 0x00000000 len = 0x00001000 /* INT VECTOR */ - P_MEM : org = 0x00001000 len = 0x20000000 /* PROGRAM MEMORY (ROM) */ - D_MEM : org = 0x20001000 len = 0x20000000 /* DATA MEMORY (RAM) */ -} - -/* SPECIFY THE SECTIONS ALLOCATION INTO MEMORY */ -SECTIONS -{ - .intvecs : {} > 0x0 /* INTERRUPT VECTORS */ - .bss : {} > D_MEM /* GLOBAL & STATIC VARS */ - .data : {} > D_MEM - .sysmem : {} > D_MEM /* DYNAMIC MEMORY ALLOCATION AREA */ - .stack : {} > D_MEM /* SOFTWARE SYSTEM STACK */ - - .text : {} > P_MEM /* CODE */ - .cinit : {} > P_MEM /* INITIALIZATION TABLES */ - .const : {} > P_MEM /* CONSTANT DATA */ - .rodata : {} > P_MEM, palign(4) - .init_array : {} > P_MEM /* C++ CONSTRUCTOR TABLES */ - - - .TI.ramfunc : {} load=P_MEM, run=D_MEM, table(BINIT) -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4/Target.clayer.yml b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4/Target.clayer.yml deleted file mode 100644 index ee45512..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4/Target.clayer.yml +++ /dev/null @@ -1,22 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/1.3.0/tools/projmgr/schemas/clayer.schema.json - -layer: - # type: Target - description: Target setup - - # packs: - # - pack: ARM::CMSIS - - components: - # [Cvendor::] Cclass [&Cbundle] :Cgroup [:Csub] [&Cvariant] [@[>=]Cversion] - - component: ARM::CMSIS:CORE - - component: Device:Startup&C Startup - - misc: - - for-compiler: IAR - Link: [--config generic_cortex.icf] - - groups: - - group: VHT/FVP - files: - - file: ./model_config.txt diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4/model_config.txt b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4/model_config.txt deleted file mode 100644 index 8c69b9c..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4/model_config.txt +++ /dev/null @@ -1,14 +0,0 @@ -# Parameters: -# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] -#---------------------------------------------------------------------------------------------- -fvp_mps2.mps2_visualisation.disable-visualisation=1 # (bool , init-time) default = '0' : Enable/disable visualisation -armcortexm4ct.vfp-present=0 # (bool , init-time) default = '1' : Set whether the model has VFP support -armcortexm4ct.semihosting-enable=1 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. -armcortexm4ct.semihosting-Thumb_SVC=0xAB # (int , init-time) default = '0xAB' : T32 SVC number for semihosting : [0x0..0xFF] -armcortexm4ct.semihosting-cmd_line="" # (string, init-time) default = '' : Command line available to semihosting SVC calls -armcortexm4ct.semihosting-heap_base=0x0 # (int , init-time) default = '0x0' : Virtual address of heap base : [0x0..0xFFFFFFFF] -armcortexm4ct.semihosting-heap_limit=0x0 # (int , init-time) default = '0x10700000' : Virtual address of top of heap : [0x0..0xFFFFFFFF] -armcortexm4ct.semihosting-stack_base=0x0 # (int , init-time) default = '0x10700000' : Virtual address of base of descending stack : [0x0..0xFFFFFFFF] -armcortexm4ct.semihosting-stack_limit=0x0 # (int , init-time) default = '0x10800000' : Virtual address of stack limit : [0x0..0xFFFFFFFF] -armcortexm4ct.semihosting-cwd="" # (string, init-time) default = '' : Base directory for semihosting file access. -#---------------------------------------------------------------------------------------------- diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4FP/RTE/Device/ARMCM4_FP/ARMCM4_ac6.sct b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4FP/RTE/Device/ARMCM4_FP/ARMCM4_ac6.sct deleted file mode 100644 index eb67b5f..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4FP/RTE/Device/ARMCM4_FP/ARMCM4_ac6.sct +++ /dev/null @@ -1,80 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m4 -xc -; command above MUST be in first line (no comment above!) - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE) /* starts at end of RAM */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - - -/*---------------------------------------------------------------------------- - Scatter File Definitions definition - *----------------------------------------------------------------------------*/ -#define __RO_BASE __ROM_BASE -#define __RO_SIZE __ROM_SIZE - -#define __RW_BASE __RAM_BASE -#define __RW_SIZE (__RAM_SIZE - __STACK_SIZE - __HEAP_SIZE) - - -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4FP/RTE/Device/ARMCM4_FP/gcc_arm.ld b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4FP/RTE/Device/ARMCM4_FP/gcc_arm.ld deleted file mode 100644 index 7498908..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4FP/RTE/Device/ARMCM4_FP/gcc_arm.ld +++ /dev/null @@ -1,296 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.1.0 - * @date 04. August 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00040000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00020000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ -/* - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH -*/ - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4FP/RTE/Device/ARMCM4_FP/startup_ARMCM4.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4FP/RTE/Device/ARMCM4_FP/startup_ARMCM4.c deleted file mode 100644 index 2d7ca21..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4FP/RTE/Device/ARMCM4_FP/startup_ARMCM4.c +++ /dev/null @@ -1,152 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM4.c - * @brief CMSIS-Core(M) Device Startup File for a Cortex-M4 Device - * @version V2.0.3 - * @date 31. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM4) - #include "ARMCM4.h" -#elif defined (ARMCM4_FP) - #include "ARMCM4_FP.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 223 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4FP/RTE/Device/ARMCM4_FP/startup_ARMCM4.c.base@2.0.3 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4FP/RTE/Device/ARMCM4_FP/startup_ARMCM4.c.base@2.0.3 deleted file mode 100644 index 2d7ca21..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4FP/RTE/Device/ARMCM4_FP/startup_ARMCM4.c.base@2.0.3 +++ /dev/null @@ -1,152 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM4.c - * @brief CMSIS-Core(M) Device Startup File for a Cortex-M4 Device - * @version V2.0.3 - * @date 31. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM4) - #include "ARMCM4.h" -#elif defined (ARMCM4_FP) - #include "ARMCM4_FP.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 223 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4FP/RTE/Device/ARMCM4_FP/system_ARMCM4.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4FP/RTE/Device/ARMCM4_FP/system_ARMCM4.c deleted file mode 100644 index 9d983d2..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4FP/RTE/Device/ARMCM4_FP/system_ARMCM4.c +++ /dev/null @@ -1,81 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM4.c - * @brief CMSIS Device System Source File for - * ARMCM4 Device - * @version V1.0.1 - * @date 15. November 2019 - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM4) - #include "ARMCM4.h" -#elif defined (ARMCM4_FP) - #include "ARMCM4_FP.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t) &(__VECTOR_TABLE[0]); -#endif - -#if defined (__FPU_USED) && (__FPU_USED == 1U) - SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ - (3U << 11U*2U) ); /* enable CP11 Full Access */ -#endif - -#ifdef UNALIGNED_SUPPORT_DISABLE - SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4FP/RTE/Device/ARMCM4_FP/tiac_arm.cmd b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4FP/RTE/Device/ARMCM4_FP/tiac_arm.cmd deleted file mode 100644 index 391dda4..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4FP/RTE/Device/ARMCM4_FP/tiac_arm.cmd +++ /dev/null @@ -1,41 +0,0 @@ -/****************************************************************************/ -/* tiac_arm.cmd - COMMAND FILE FOR LINKING ARM C PROGRAMS */ -/* */ -/* Description: This file is a sample command file that can be used */ -/* for linking programs built with the TI Arm Clang */ -/* Compiler. Use it as a guideline; you may want to change */ -/* the allocation scheme according to the size of your */ -/* program and the memory layout of your target system. */ -/* */ -/****************************************************************************/ --c /* LINK USING C CONVENTIONS */ --stack 0x4000 /* SOFTWARE STACK SIZE */ --heap 0x4000 /* HEAP AREA SIZE */ ---args 0x1000 - -/* SPECIFY THE SYSTEM MEMORY MAP */ -MEMORY -{ - V_MEM : org = 0x00000000 len = 0x00001000 /* INT VECTOR */ - P_MEM : org = 0x00001000 len = 0x20000000 /* PROGRAM MEMORY (ROM) */ - D_MEM : org = 0x20001000 len = 0x20000000 /* DATA MEMORY (RAM) */ -} - -/* SPECIFY THE SECTIONS ALLOCATION INTO MEMORY */ -SECTIONS -{ - .intvecs : {} > 0x0 /* INTERRUPT VECTORS */ - .bss : {} > D_MEM /* GLOBAL & STATIC VARS */ - .data : {} > D_MEM - .sysmem : {} > D_MEM /* DYNAMIC MEMORY ALLOCATION AREA */ - .stack : {} > D_MEM /* SOFTWARE SYSTEM STACK */ - - .text : {} > P_MEM /* CODE */ - .cinit : {} > P_MEM /* INITIALIZATION TABLES */ - .const : {} > P_MEM /* CONSTANT DATA */ - .rodata : {} > P_MEM, palign(4) - .init_array : {} > P_MEM /* C++ CONSTRUCTOR TABLES */ - - - .TI.ramfunc : {} load=P_MEM, run=D_MEM, table(BINIT) -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4FP/Target.clayer.yml b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4FP/Target.clayer.yml deleted file mode 100644 index ee45512..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4FP/Target.clayer.yml +++ /dev/null @@ -1,22 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/1.3.0/tools/projmgr/schemas/clayer.schema.json - -layer: - # type: Target - description: Target setup - - # packs: - # - pack: ARM::CMSIS - - components: - # [Cvendor::] Cclass [&Cbundle] :Cgroup [:Csub] [&Cvariant] [@[>=]Cversion] - - component: ARM::CMSIS:CORE - - component: Device:Startup&C Startup - - misc: - - for-compiler: IAR - Link: [--config generic_cortex.icf] - - groups: - - group: VHT/FVP - files: - - file: ./model_config.txt diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4FP/model_config.txt b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4FP/model_config.txt deleted file mode 100644 index 34dc907..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM4FP/model_config.txt +++ /dev/null @@ -1,14 +0,0 @@ -# Parameters: -# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] -#---------------------------------------------------------------------------------------------- -fvp_mps2.mps2_visualisation.disable-visualisation=1 # (bool , init-time) default = '0' : Enable/disable visualisation -armcortexm4ct.vfp-present=1 # (bool , init-time) default = '1' : Set whether the model has VFP support -armcortexm4ct.semihosting-enable=1 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. -armcortexm4ct.semihosting-Thumb_SVC=0xAB # (int , init-time) default = '0xAB' : T32 SVC number for semihosting : [0x0..0xFF] -armcortexm4ct.semihosting-cmd_line="" # (string, init-time) default = '' : Command line available to semihosting SVC calls -armcortexm4ct.semihosting-heap_base=0x0 # (int , init-time) default = '0x0' : Virtual address of heap base : [0x0..0xFFFFFFFF] -armcortexm4ct.semihosting-heap_limit=0 # (int , init-time) default = '0x10700000' : Virtual address of top of heap : [0x0..0xFFFFFFFF] -armcortexm4ct.semihosting-stack_base=0 # (int , init-time) default = '0x10700000' : Virtual address of base of descending stack : [0x0..0xFFFFFFFF] -armcortexm4ct.semihosting-stack_limit=0 # (int , init-time) default = '0x10800000' : Virtual address of stack limit : [0x0..0xFFFFFFFF] -armcortexm4ct.semihosting-cwd="" # (string, init-time) default = '' : Base directory for semihosting file access. -#---------------------------------------------------------------------------------------------- diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55NS/RTE/Device/ARMCM55/ARMCM55_ac6.sct b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55NS/RTE/Device/ARMCM55/ARMCM55_ac6.sct deleted file mode 100644 index d9e8ee1..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55NS/RTE/Device/ARMCM55/ARMCM55_ac6.sct +++ /dev/null @@ -1,123 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m55 -xc -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m55 -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00200000 -#define __ROM_SIZE 0x00200000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20200000 -#define __RAM_SIZE 0x00200000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000400 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_SIZE 0x200 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE ( __RAM_SIZE - __STACK_SIZE - __HEAP_SIZE - __STACKSEAL_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55NS/RTE/Device/ARMCM55/ARMCM55_ac6.sct.base@1.1.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55NS/RTE/Device/ARMCM55/ARMCM55_ac6.sct.base@1.1.0 deleted file mode 100644 index 970df5c..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55NS/RTE/Device/ARMCM55/ARMCM55_ac6.sct.base@1.1.0 +++ /dev/null @@ -1,119 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m55 -xc -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m55 -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_SIZE 0x200 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE ( __RAM_SIZE - __STACK_SIZE - __HEAP_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_RAM __RW_BASE __RW_SIZE { ; RW data - .ANY (+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55NS/RTE/Device/ARMCM55/gcc_arm.ld b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55NS/RTE/Device/ARMCM55/gcc_arm.ld deleted file mode 100644 index 6058784..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55NS/RTE/Device/ARMCM55/gcc_arm.ld +++ /dev/null @@ -1,316 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.2.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00200000; -__ROM_SIZE = 0x00200000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20200000; -__RAM_SIZE = 0x00200000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -/* ARMv8-M stack sealing: - to use ARMv8-M stack sealing set __STACKSEAL_SIZE to 8 otherwise keep 0 - */ -__STACKSEAL_SIZE = 0; - - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - * __StackSeal (only if ARMv8-M stack sealing is used) - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ -/* - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH -*/ - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* ARMv8-M stack sealing: - to use ARMv8-M stack sealing uncomment '.stackseal' section - */ -/* - .stackseal (ORIGIN(RAM) + LENGTH(RAM) - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackSeal = .; - . = . + 8; - . = ALIGN(8); - } > RAM -*/ - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55NS/RTE/Device/ARMCM55/startup_ARMCM55.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55NS/RTE/Device/ARMCM55/startup_ARMCM55.c deleted file mode 100644 index 0557c5f..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55NS/RTE/Device/ARMCM55/startup_ARMCM55.c +++ /dev/null @@ -1,164 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM55.c - * @brief CMSIS-Core Device Startup File for Cortex-M55 Device - * @version V1.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM55) - #include "ARMCM55.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SecureFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - SecureFault_Handler, /* -9 Secure Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 480 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55NS/RTE/Device/ARMCM55/startup_ARMCM55.c.base@1.1.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55NS/RTE/Device/ARMCM55/startup_ARMCM55.c.base@1.1.0 deleted file mode 100644 index 0557c5f..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55NS/RTE/Device/ARMCM55/startup_ARMCM55.c.base@1.1.0 +++ /dev/null @@ -1,164 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM55.c - * @brief CMSIS-Core Device Startup File for Cortex-M55 Device - * @version V1.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM55) - #include "ARMCM55.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SecureFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - SecureFault_Handler, /* -9 Secure Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 480 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55NS/RTE/Device/ARMCM55/system_ARMCM55.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55NS/RTE/Device/ARMCM55/system_ARMCM55.c deleted file mode 100644 index d66624d..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55NS/RTE/Device/ARMCM55/system_ARMCM55.c +++ /dev/null @@ -1,107 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM55.c - * @brief CMSIS Device System Source File for - * ARMCM55 Device - * @version V1.1.0 - * @date 28. March 2022 - ******************************************************************************/ -/* - * Copyright (c) 2009-2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM55) - #include "ARMCM55.h" -#else - #error device not specified! -#endif - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM55.h" - #endif - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL ( 5000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (5U * XTAL) - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t)(&__VECTOR_TABLE[0]); -#endif - -#if (defined (__FPU_USED) && (__FPU_USED == 1U)) || \ - (defined (__ARM_FEATURE_MVE) && (__ARM_FEATURE_MVE > 0U)) - SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ - (3U << 11U*2U) ); /* enable CP11 Full Access */ - - /* Set low-power state for PDEPU */ - /* 0b00 | ON, PDEPU is not in low-power state */ - /* 0b01 | ON, but the clock is off */ - /* 0b10 | RET(ention) */ - /* 0b11 | OFF */ - - /* Clear ELPSTATE, value is 0b11 on Cold reset */ - PWRMODCTL->CPDLPSTATE &= ~(PWRMODCTL_CPDLPSTATE_ELPSTATE_Msk); - - /* Favor best FP/MVE performance by default, avoid EPU switch-ON delays */ - /* PDEPU ON, Clock OFF */ - PWRMODCTL->CPDLPSTATE |= 0x1 << PWRMODCTL_CPDLPSTATE_ELPSTATE_Pos; -#endif - -#ifdef UNALIGNED_SUPPORT_DISABLE - SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; -#endif - - /* Enable Loop and branch info cache */ - SCB->CCR |= SCB_CCR_LOB_Msk; - __DSB(); - __ISB(); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - TZ_SAU_Setup(); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55NS/RTE/Device/ARMCM55/system_ARMCM55.c.base@1.1.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55NS/RTE/Device/ARMCM55/system_ARMCM55.c.base@1.1.0 deleted file mode 100644 index d66624d..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55NS/RTE/Device/ARMCM55/system_ARMCM55.c.base@1.1.0 +++ /dev/null @@ -1,107 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM55.c - * @brief CMSIS Device System Source File for - * ARMCM55 Device - * @version V1.1.0 - * @date 28. March 2022 - ******************************************************************************/ -/* - * Copyright (c) 2009-2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM55) - #include "ARMCM55.h" -#else - #error device not specified! -#endif - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM55.h" - #endif - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL ( 5000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (5U * XTAL) - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t)(&__VECTOR_TABLE[0]); -#endif - -#if (defined (__FPU_USED) && (__FPU_USED == 1U)) || \ - (defined (__ARM_FEATURE_MVE) && (__ARM_FEATURE_MVE > 0U)) - SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ - (3U << 11U*2U) ); /* enable CP11 Full Access */ - - /* Set low-power state for PDEPU */ - /* 0b00 | ON, PDEPU is not in low-power state */ - /* 0b01 | ON, but the clock is off */ - /* 0b10 | RET(ention) */ - /* 0b11 | OFF */ - - /* Clear ELPSTATE, value is 0b11 on Cold reset */ - PWRMODCTL->CPDLPSTATE &= ~(PWRMODCTL_CPDLPSTATE_ELPSTATE_Msk); - - /* Favor best FP/MVE performance by default, avoid EPU switch-ON delays */ - /* PDEPU ON, Clock OFF */ - PWRMODCTL->CPDLPSTATE |= 0x1 << PWRMODCTL_CPDLPSTATE_ELPSTATE_Pos; -#endif - -#ifdef UNALIGNED_SUPPORT_DISABLE - SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; -#endif - - /* Enable Loop and branch info cache */ - SCB->CCR |= SCB_CCR_LOB_Msk; - __DSB(); - __ISB(); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - TZ_SAU_Setup(); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55NS/Target.clayer.yml b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55NS/Target.clayer.yml deleted file mode 100644 index ee45512..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55NS/Target.clayer.yml +++ /dev/null @@ -1,22 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/1.3.0/tools/projmgr/schemas/clayer.schema.json - -layer: - # type: Target - description: Target setup - - # packs: - # - pack: ARM::CMSIS - - components: - # [Cvendor::] Cclass [&Cbundle] :Cgroup [:Csub] [&Cvariant] [@[>=]Cversion] - - component: ARM::CMSIS:CORE - - component: Device:Startup&C Startup - - misc: - - for-compiler: IAR - Link: [--config generic_cortex.icf] - - groups: - - group: VHT/FVP - files: - - file: ./model_config.txt diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55NS/model_config.txt b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55NS/model_config.txt deleted file mode 100644 index c5bc897..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55NS/model_config.txt +++ /dev/null @@ -1,29 +0,0 @@ -# Parameters: -# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] -#---------------------------------------------------------------------------------------------- -fvp_mps2.mps2_visualisation.disable-visualisation=1 # (bool , init-time) default = '0' : Enable/disable visualisation -cpu0.FPU=1 # (bool , init-time) default = '1' : Set whether the model has VFP support -cpu0.MVE=2 # (int , init-time) default = '0x1' : Set whether the model has MVE support. If FPU = 0: 0=MVE not included, 1=Integer subset of MVE included. If FPU = 1: 0=MVE not included, 1=Integer subset of MVE included, 2=Integer and half and single precision floating point MVE included -cpu0.semihosting-enable=1 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. -cpu0.semihosting-Thumb_SVC=0xAB # (int , init-time) default = '0xAB' : T32 SVC number for semihosting : [0x0..0xFF] -cpu0.semihosting-cmd_line="" # (string, init-time) default = '' : Command line available to semihosting SVC calls -cpu0.semihosting-heap_base=0x0 # (int , init-time) default = '0x0' : Virtual address of heap base : [0x0..0xFFFFFFFF] -cpu0.semihosting-heap_limit=0x0 # (int , init-time) default = '0x10700000' : Virtual address of top of heap : [0x0..0xFFFFFFFF] -cpu0.semihosting-stack_base=0x0 # (int , init-time) default = '0x10700000' : Virtual address of base of descending stack : [0x0..0xFFFFFFFF] -cpu0.semihosting-stack_limit=0x0 # (int , init-time) default = '0x10800000' : Virtual address of stack limit : [0x0..0xFFFFFFFF] -cpu0.semihosting-cwd="" # (string, init-time) default = '' : Base directory for semihosting file access. -cpu0.MPU_S=0x8 # (int , init-time) default = '0x8' : Number of regions in the Secure MPU. If Security Extentions are absent, this is ignored : [0x0..0x10] -cpu0.MPU_NS=0x8 # (int , init-time) default = '0x8' : Number of regions in the Non-Secure MPU. If Security Extentions are absent, this is the total number of MPU regions : [0x0..0x10] -cpu0.ITM=0 # (bool , init-time) default = '1' : Level of instrumentation trace supported. false : No ITM trace included, true: ITM trace included -cpu0.IRQLVL=0x3 # (int , init-time) default = '0x3' : Number of bits of interrupt priority : [0x3..0x8] -cpu0.INITSVTOR=0x00000000 # (int , init-time) default = '0x10000000' : Secure vector-table offset at reset : [0x0..0xFFFFFF80] -cpu0.INITNSVTOR=0x0 # (int , init-time) default = '0x0' : Non-Secure vector-table offset at reset : [0x0..0xFFFFFF80] -cpu0.SAU=0x8 # (int , init-time) default = '0x4' : Number of SAU regions (0 => no SAU) : [0x0..0x8] -idau.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' : -cpu0.LOCK_SAU=0 # (bool , init-time) default = '0' : Lock down of SAU registers write -cpu0.LOCK_S_MPU=0 # (bool , init-time) default = '0' : Lock down of Secure MPU registers write -cpu0.LOCK_NS_MPU=0 # (bool , init-time) default = '0' : Lock down of Non-Secure MPU registers write -cpu0.CPIF=1 # (bool , init-time) default = '1' : Specifies whether the external coprocessor interface is included -cpu0.SECEXT=1 # (bool , init-time) default = '1' : Whether the ARMv8-M Security Extensions are included -fvp_mps2.DISABLE_GATING=1 # (bool , init-time) default = '0' : Disable Memory gating logic -#---------------------------------------------------------------------------------------------- diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/RTE/Device/ARMCM55/ARMCM55_ac6_s.sct b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/RTE/Device/ARMCM55/ARMCM55_ac6_s.sct deleted file mode 100644 index ab4ccad..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/RTE/Device/ARMCM55/ARMCM55_ac6_s.sct +++ /dev/null @@ -1,123 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m55 -xc -mcmse -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m55 -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00200000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00200000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000400 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_SIZE 0x200 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE ( __RAM_SIZE - __STACK_SIZE - __HEAP_SIZE - __STACKSEAL_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/RTE/Device/ARMCM55/ARMCM55_ac6_s.sct.base@1.1.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/RTE/Device/ARMCM55/ARMCM55_ac6_s.sct.base@1.1.0 deleted file mode 100644 index a369523..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/RTE/Device/ARMCM55/ARMCM55_ac6_s.sct.base@1.1.0 +++ /dev/null @@ -1,119 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m55 -xc -mcmse -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m55 -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_SIZE 0x200 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE ( __RAM_SIZE - __STACK_SIZE - __HEAP_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_RAM __RW_BASE __RW_SIZE { ; RW data - .ANY (+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/RTE/Device/ARMCM55/gcc_arm.ld b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/RTE/Device/ARMCM55/gcc_arm.ld deleted file mode 100644 index f44186e..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/RTE/Device/ARMCM55/gcc_arm.ld +++ /dev/null @@ -1,316 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.2.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00200000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00200000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -/* ARMv8-M stack sealing: - to use ARMv8-M stack sealing set __STACKSEAL_SIZE to 8 otherwise keep 0 - */ -__STACKSEAL_SIZE = 8; - - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - * __StackSeal (only if ARMv8-M stack sealing is used) - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ - - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH - - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* ARMv8-M stack sealing: - to use ARMv8-M stack sealing uncomment '.stackseal' section - */ - - .stackseal (ORIGIN(RAM) + LENGTH(RAM) - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackSeal = .; - . = . + 8; - . = ALIGN(8); - } > RAM - - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/RTE/Device/ARMCM55/partition_ARMCM55.h b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/RTE/Device/ARMCM55/partition_ARMCM55.h deleted file mode 100644 index eabaf30..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/RTE/Device/ARMCM55/partition_ARMCM55.h +++ /dev/null @@ -1,1261 +0,0 @@ -/**************************************************************************//** - * @file partition_ARMCM55.h - * @brief CMSIS-CORE Initial Setup for Secure / Non-Secure Zones for Armv8.1-M Mainline - * @version V1.0.0 - * @date 20. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef PARTITION_ARMCM55_H -#define PARTITION_ARMCM55_H - -/* -//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- -*/ - -/* -// Initialize Security Attribution Unit (SAU) CTRL register -*/ -#define SAU_INIT_CTRL 1 - -/* -// Enable SAU -// Value for SAU->CTRL register bit ENABLE -*/ -#define SAU_INIT_CTRL_ENABLE 1 - -/* -// When SAU is disabled -// <0=> All Memory is Secure -// <1=> All Memory is Non-Secure -// Value for SAU->CTRL register bit ALLNS -// When all Memory is Non-Secure (ALLNS is 1), IDAU can override memory map configuration. -*/ -#define SAU_INIT_CTRL_ALLNS 0 - -/* -// -*/ - -/* -// Initialize Security Attribution Unit (SAU) Address Regions -// SAU configuration specifies regions to be one of: -// - Secure and Non-Secure Callable -// - Non-Secure -// Note: All memory regions not configured by SAU are Secure -*/ -#define SAU_REGIONS_MAX 8 /* Max. number of SAU regions */ - -/* -// Initialize SAU Region 0 -// Setup SAU Region 0 memory attributes -*/ -#define SAU_INIT_REGION0 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START0 0x00000000 /* start address of SAU region 0 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END0 0x001FFFFF /* end address of SAU region 0 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC0 1 -/* -// -*/ - -/* -// Initialize SAU Region 1 -// Setup SAU Region 1 memory attributes -*/ -#define SAU_INIT_REGION1 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START1 0x00200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END1 0x003FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC1 0 -/* -// -*/ - -/* -// Initialize SAU Region 2 -// Setup SAU Region 2 memory attributes -*/ -#define SAU_INIT_REGION2 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START2 0x20200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END2 0x203FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC2 0 -/* -// -*/ - -/* -// Initialize SAU Region 3 -// Setup SAU Region 3 memory attributes -*/ -#define SAU_INIT_REGION3 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START3 0x40000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END3 0x40040000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC3 0 -/* -// -*/ - -/* -// Initialize SAU Region 4 -// Setup SAU Region 4 memory attributes -*/ -#define SAU_INIT_REGION4 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START4 0x00000000 /* start address of SAU region 4 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END4 0x00000000 /* end address of SAU region 4 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC4 0 -/* -// -*/ - -/* -// Initialize SAU Region 5 -// Setup SAU Region 5 memory attributes -*/ -#define SAU_INIT_REGION5 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START5 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END5 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC5 0 -/* -// -*/ - -/* -// Initialize SAU Region 6 -// Setup SAU Region 6 memory attributes -*/ -#define SAU_INIT_REGION6 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START6 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END6 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC6 0 -/* -// -*/ - -/* -// Initialize SAU Region 7 -// Setup SAU Region 7 memory attributes -*/ -#define SAU_INIT_REGION7 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START7 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END7 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC7 0 -/* -// -*/ - -/* -// -*/ - -/* -// Setup behaviour of Sleep and Exception Handling -*/ -#define SCB_CSR_AIRCR_INIT 1 - -/* -// Deep Sleep can be enabled by -// <0=>Secure and Non-Secure state -// <1=>Secure state only -// Value for SCB->CSR register bit DEEPSLEEPS -*/ -#define SCB_CSR_DEEPSLEEPS_VAL 1 - -/* -// System reset request accessible from -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for SCB->AIRCR register bit SYSRESETREQS -*/ -#define SCB_AIRCR_SYSRESETREQS_VAL 1 - -/* -// Priority of Non-Secure exceptions is -// <0=> Not altered -// <1=> Lowered to 0x80-0xFF -// Value for SCB->AIRCR register bit PRIS -*/ -#define SCB_AIRCR_PRIS_VAL 1 - -/* -// BusFault, HardFault, and NMI target -// <0=> Secure state -// <1=> Non-Secure state -// Value for SCB->AIRCR register bit BFHFNMINS -*/ -#define SCB_AIRCR_BFHFNMINS_VAL 0 - -/* -// -*/ - -/* -// Setup behaviour of Floating Point and Vector Unit (FPU/MVE) -*/ -#define TZ_FPU_NS_USAGE 1 - -/* -// Floating Point and Vector Unit usage -// <0=> Secure state only -// <3=> Secure and Non-Secure state -// Value for SCB->NSACR register bits CP10, CP11 -*/ -#define SCB_NSACR_CP10_11_VAL 3 - -/* -// Treat floating-point registers as Secure -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit TS -*/ -#define FPU_FPCCR_TS_VAL 0 - -/* -// Clear on return (CLRONRET) accessibility -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for FPU->FPCCR register bit CLRONRETS -*/ -#define FPU_FPCCR_CLRONRETS_VAL 0 - -/* -// Clear floating-point caller saved registers on exception return -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit CLRONRET -*/ -#define FPU_FPCCR_CLRONRET_VAL 1 - -/* -// -*/ - -/* -// Setup Interrupt Target -*/ - -/* -// Initialize ITNS 0 (Interrupts 0..31) -*/ -#define NVIC_INIT_ITNS0 1 - -/* -// Interrupts 0..31 -// Interrupt 0 <0=> Secure state <1=> Non-Secure state -// Interrupt 1 <0=> Secure state <1=> Non-Secure state -// Interrupt 2 <0=> Secure state <1=> Non-Secure state -// Interrupt 3 <0=> Secure state <1=> Non-Secure state -// Interrupt 4 <0=> Secure state <1=> Non-Secure state -// Interrupt 5 <0=> Secure state <1=> Non-Secure state -// Interrupt 6 <0=> Secure state <1=> Non-Secure state -// Interrupt 7 <0=> Secure state <1=> Non-Secure state -// Interrupt 8 <0=> Secure state <1=> Non-Secure state -// Interrupt 9 <0=> Secure state <1=> Non-Secure state -// Interrupt 10 <0=> Secure state <1=> Non-Secure state -// Interrupt 11 <0=> Secure state <1=> Non-Secure state -// Interrupt 12 <0=> Secure state <1=> Non-Secure state -// Interrupt 13 <0=> Secure state <1=> Non-Secure state -// Interrupt 14 <0=> Secure state <1=> Non-Secure state -// Interrupt 15 <0=> Secure state <1=> Non-Secure state -// Interrupt 16 <0=> Secure state <1=> Non-Secure state -// Interrupt 17 <0=> Secure state <1=> Non-Secure state -// Interrupt 18 <0=> Secure state <1=> Non-Secure state -// Interrupt 19 <0=> Secure state <1=> Non-Secure state -// Interrupt 20 <0=> Secure state <1=> Non-Secure state -// Interrupt 21 <0=> Secure state <1=> Non-Secure state -// Interrupt 22 <0=> Secure state <1=> Non-Secure state -// Interrupt 23 <0=> Secure state <1=> Non-Secure state -// Interrupt 24 <0=> Secure state <1=> Non-Secure state -// Interrupt 25 <0=> Secure state <1=> Non-Secure state -// Interrupt 26 <0=> Secure state <1=> Non-Secure state -// Interrupt 27 <0=> Secure state <1=> Non-Secure state -// Interrupt 28 <0=> Secure state <1=> Non-Secure state -// Interrupt 29 <0=> Secure state <1=> Non-Secure state -// Interrupt 30 <0=> Secure state <1=> Non-Secure state -// Interrupt 31 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS0_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 1 (Interrupts 32..63) -*/ -#define NVIC_INIT_ITNS1 1 - -/* -// Interrupts 32..63 -// Interrupt 32 <0=> Secure state <1=> Non-Secure state -// Interrupt 33 <0=> Secure state <1=> Non-Secure state -// Interrupt 34 <0=> Secure state <1=> Non-Secure state -// Interrupt 35 <0=> Secure state <1=> Non-Secure state -// Interrupt 36 <0=> Secure state <1=> Non-Secure state -// Interrupt 37 <0=> Secure state <1=> Non-Secure state -// Interrupt 38 <0=> Secure state <1=> Non-Secure state -// Interrupt 39 <0=> Secure state <1=> Non-Secure state -// Interrupt 40 <0=> Secure state <1=> Non-Secure state -// Interrupt 41 <0=> Secure state <1=> Non-Secure state -// Interrupt 42 <0=> Secure state <1=> Non-Secure state -// Interrupt 43 <0=> Secure state <1=> Non-Secure state -// Interrupt 44 <0=> Secure state <1=> Non-Secure state -// Interrupt 45 <0=> Secure state <1=> Non-Secure state -// Interrupt 46 <0=> Secure state <1=> Non-Secure state -// Interrupt 47 <0=> Secure state <1=> Non-Secure state -// Interrupt 48 <0=> Secure state <1=> Non-Secure state -// Interrupt 49 <0=> Secure state <1=> Non-Secure state -// Interrupt 50 <0=> Secure state <1=> Non-Secure state -// Interrupt 51 <0=> Secure state <1=> Non-Secure state -// Interrupt 52 <0=> Secure state <1=> Non-Secure state -// Interrupt 53 <0=> Secure state <1=> Non-Secure state -// Interrupt 54 <0=> Secure state <1=> Non-Secure state -// Interrupt 55 <0=> Secure state <1=> Non-Secure state -// Interrupt 56 <0=> Secure state <1=> Non-Secure state -// Interrupt 57 <0=> Secure state <1=> Non-Secure state -// Interrupt 58 <0=> Secure state <1=> Non-Secure state -// Interrupt 59 <0=> Secure state <1=> Non-Secure state -// Interrupt 60 <0=> Secure state <1=> Non-Secure state -// Interrupt 61 <0=> Secure state <1=> Non-Secure state -// Interrupt 62 <0=> Secure state <1=> Non-Secure state -// Interrupt 63 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS1_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 2 (Interrupts 64..95) -*/ -#define NVIC_INIT_ITNS2 0 - -/* -// Interrupts 64..95 -// Interrupt 64 <0=> Secure state <1=> Non-Secure state -// Interrupt 65 <0=> Secure state <1=> Non-Secure state -// Interrupt 66 <0=> Secure state <1=> Non-Secure state -// Interrupt 67 <0=> Secure state <1=> Non-Secure state -// Interrupt 68 <0=> Secure state <1=> Non-Secure state -// Interrupt 69 <0=> Secure state <1=> Non-Secure state -// Interrupt 70 <0=> Secure state <1=> Non-Secure state -// Interrupt 71 <0=> Secure state <1=> Non-Secure state -// Interrupt 72 <0=> Secure state <1=> Non-Secure state -// Interrupt 73 <0=> Secure state <1=> Non-Secure state -// Interrupt 74 <0=> Secure state <1=> Non-Secure state -// Interrupt 75 <0=> Secure state <1=> Non-Secure state -// Interrupt 76 <0=> Secure state <1=> Non-Secure state -// Interrupt 77 <0=> Secure state <1=> Non-Secure state -// Interrupt 78 <0=> Secure state <1=> Non-Secure state -// Interrupt 79 <0=> Secure state <1=> Non-Secure state -// Interrupt 80 <0=> Secure state <1=> Non-Secure state -// Interrupt 81 <0=> Secure state <1=> Non-Secure state -// Interrupt 82 <0=> Secure state <1=> Non-Secure state -// Interrupt 83 <0=> Secure state <1=> Non-Secure state -// Interrupt 84 <0=> Secure state <1=> Non-Secure state -// Interrupt 85 <0=> Secure state <1=> Non-Secure state -// Interrupt 86 <0=> Secure state <1=> Non-Secure state -// Interrupt 87 <0=> Secure state <1=> Non-Secure state -// Interrupt 88 <0=> Secure state <1=> Non-Secure state -// Interrupt 89 <0=> Secure state <1=> Non-Secure state -// Interrupt 90 <0=> Secure state <1=> Non-Secure state -// Interrupt 91 <0=> Secure state <1=> Non-Secure state -// Interrupt 92 <0=> Secure state <1=> Non-Secure state -// Interrupt 93 <0=> Secure state <1=> Non-Secure state -// Interrupt 94 <0=> Secure state <1=> Non-Secure state -// Interrupt 95 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS2_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 3 (Interrupts 96..127) -*/ -#define NVIC_INIT_ITNS3 0 - -/* -// Interrupts 96..127 -// Interrupt 96 <0=> Secure state <1=> Non-Secure state -// Interrupt 97 <0=> Secure state <1=> Non-Secure state -// Interrupt 98 <0=> Secure state <1=> Non-Secure state -// Interrupt 99 <0=> Secure state <1=> Non-Secure state -// Interrupt 100 <0=> Secure state <1=> Non-Secure state -// Interrupt 101 <0=> Secure state <1=> Non-Secure state -// Interrupt 102 <0=> Secure state <1=> Non-Secure state -// Interrupt 103 <0=> Secure state <1=> Non-Secure state -// Interrupt 104 <0=> Secure state <1=> Non-Secure state -// Interrupt 105 <0=> Secure state <1=> Non-Secure state -// Interrupt 106 <0=> Secure state <1=> Non-Secure state -// Interrupt 107 <0=> Secure state <1=> Non-Secure state -// Interrupt 108 <0=> Secure state <1=> Non-Secure state -// Interrupt 109 <0=> Secure state <1=> Non-Secure state -// Interrupt 110 <0=> Secure state <1=> Non-Secure state -// Interrupt 111 <0=> Secure state <1=> Non-Secure state -// Interrupt 112 <0=> Secure state <1=> Non-Secure state -// Interrupt 113 <0=> Secure state <1=> Non-Secure state -// Interrupt 114 <0=> Secure state <1=> Non-Secure state -// Interrupt 115 <0=> Secure state <1=> Non-Secure state -// Interrupt 116 <0=> Secure state <1=> Non-Secure state -// Interrupt 117 <0=> Secure state <1=> Non-Secure state -// Interrupt 118 <0=> Secure state <1=> Non-Secure state -// Interrupt 119 <0=> Secure state <1=> Non-Secure state -// Interrupt 120 <0=> Secure state <1=> Non-Secure state -// Interrupt 121 <0=> Secure state <1=> Non-Secure state -// Interrupt 122 <0=> Secure state <1=> Non-Secure state -// Interrupt 123 <0=> Secure state <1=> Non-Secure state -// Interrupt 124 <0=> Secure state <1=> Non-Secure state -// Interrupt 125 <0=> Secure state <1=> Non-Secure state -// Interrupt 126 <0=> Secure state <1=> Non-Secure state -// Interrupt 127 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS3_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 4 (Interrupts 128..159) -*/ -#define NVIC_INIT_ITNS4 0 - -/* -// Interrupts 128..159 -// Interrupt 128 <0=> Secure state <1=> Non-Secure state -// Interrupt 129 <0=> Secure state <1=> Non-Secure state -// Interrupt 130 <0=> Secure state <1=> Non-Secure state -// Interrupt 131 <0=> Secure state <1=> Non-Secure state -// Interrupt 132 <0=> Secure state <1=> Non-Secure state -// Interrupt 133 <0=> Secure state <1=> Non-Secure state -// Interrupt 134 <0=> Secure state <1=> Non-Secure state -// Interrupt 135 <0=> Secure state <1=> Non-Secure state -// Interrupt 136 <0=> Secure state <1=> Non-Secure state -// Interrupt 137 <0=> Secure state <1=> Non-Secure state -// Interrupt 138 <0=> Secure state <1=> Non-Secure state -// Interrupt 139 <0=> Secure state <1=> Non-Secure state -// Interrupt 140 <0=> Secure state <1=> Non-Secure state -// Interrupt 141 <0=> Secure state <1=> Non-Secure state -// Interrupt 142 <0=> Secure state <1=> Non-Secure state -// Interrupt 143 <0=> Secure state <1=> Non-Secure state -// Interrupt 144 <0=> Secure state <1=> Non-Secure state -// Interrupt 145 <0=> Secure state <1=> Non-Secure state -// Interrupt 146 <0=> Secure state <1=> Non-Secure state -// Interrupt 147 <0=> Secure state <1=> Non-Secure state -// Interrupt 148 <0=> Secure state <1=> Non-Secure state -// Interrupt 149 <0=> Secure state <1=> Non-Secure state -// Interrupt 150 <0=> Secure state <1=> Non-Secure state -// Interrupt 151 <0=> Secure state <1=> Non-Secure state -// Interrupt 152 <0=> Secure state <1=> Non-Secure state -// Interrupt 153 <0=> Secure state <1=> Non-Secure state -// Interrupt 154 <0=> Secure state <1=> Non-Secure state -// Interrupt 155 <0=> Secure state <1=> Non-Secure state -// Interrupt 156 <0=> Secure state <1=> Non-Secure state -// Interrupt 157 <0=> Secure state <1=> Non-Secure state -// Interrupt 158 <0=> Secure state <1=> Non-Secure state -// Interrupt 159 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS4_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 5 (Interrupts 160..191) -*/ -#define NVIC_INIT_ITNS5 0 - -/* -// Interrupts 160..191 -// Interrupt 160 <0=> Secure state <1=> Non-Secure state -// Interrupt 161 <0=> Secure state <1=> Non-Secure state -// Interrupt 162 <0=> Secure state <1=> Non-Secure state -// Interrupt 163 <0=> Secure state <1=> Non-Secure state -// Interrupt 164 <0=> Secure state <1=> Non-Secure state -// Interrupt 165 <0=> Secure state <1=> Non-Secure state -// Interrupt 166 <0=> Secure state <1=> Non-Secure state -// Interrupt 167 <0=> Secure state <1=> Non-Secure state -// Interrupt 168 <0=> Secure state <1=> Non-Secure state -// Interrupt 169 <0=> Secure state <1=> Non-Secure state -// Interrupt 170 <0=> Secure state <1=> Non-Secure state -// Interrupt 171 <0=> Secure state <1=> Non-Secure state -// Interrupt 172 <0=> Secure state <1=> Non-Secure state -// Interrupt 173 <0=> Secure state <1=> Non-Secure state -// Interrupt 174 <0=> Secure state <1=> Non-Secure state -// Interrupt 175 <0=> Secure state <1=> Non-Secure state -// Interrupt 176 <0=> Secure state <1=> Non-Secure state -// Interrupt 177 <0=> Secure state <1=> Non-Secure state -// Interrupt 178 <0=> Secure state <1=> Non-Secure state -// Interrupt 179 <0=> Secure state <1=> Non-Secure state -// Interrupt 180 <0=> Secure state <1=> Non-Secure state -// Interrupt 181 <0=> Secure state <1=> Non-Secure state -// Interrupt 182 <0=> Secure state <1=> Non-Secure state -// Interrupt 183 <0=> Secure state <1=> Non-Secure state -// Interrupt 184 <0=> Secure state <1=> Non-Secure state -// Interrupt 185 <0=> Secure state <1=> Non-Secure state -// Interrupt 186 <0=> Secure state <1=> Non-Secure state -// Interrupt 187 <0=> Secure state <1=> Non-Secure state -// Interrupt 188 <0=> Secure state <1=> Non-Secure state -// Interrupt 189 <0=> Secure state <1=> Non-Secure state -// Interrupt 190 <0=> Secure state <1=> Non-Secure state -// Interrupt 191 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS5_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 6 (Interrupts 192..223) -*/ -#define NVIC_INIT_ITNS6 0 - -/* -// Interrupts 192..223 -// Interrupt 192 <0=> Secure state <1=> Non-Secure state -// Interrupt 193 <0=> Secure state <1=> Non-Secure state -// Interrupt 194 <0=> Secure state <1=> Non-Secure state -// Interrupt 195 <0=> Secure state <1=> Non-Secure state -// Interrupt 196 <0=> Secure state <1=> Non-Secure state -// Interrupt 197 <0=> Secure state <1=> Non-Secure state -// Interrupt 198 <0=> Secure state <1=> Non-Secure state -// Interrupt 199 <0=> Secure state <1=> Non-Secure state -// Interrupt 200 <0=> Secure state <1=> Non-Secure state -// Interrupt 201 <0=> Secure state <1=> Non-Secure state -// Interrupt 202 <0=> Secure state <1=> Non-Secure state -// Interrupt 203 <0=> Secure state <1=> Non-Secure state -// Interrupt 204 <0=> Secure state <1=> Non-Secure state -// Interrupt 205 <0=> Secure state <1=> Non-Secure state -// Interrupt 206 <0=> Secure state <1=> Non-Secure state -// Interrupt 207 <0=> Secure state <1=> Non-Secure state -// Interrupt 208 <0=> Secure state <1=> Non-Secure state -// Interrupt 209 <0=> Secure state <1=> Non-Secure state -// Interrupt 210 <0=> Secure state <1=> Non-Secure state -// Interrupt 211 <0=> Secure state <1=> Non-Secure state -// Interrupt 212 <0=> Secure state <1=> Non-Secure state -// Interrupt 213 <0=> Secure state <1=> Non-Secure state -// Interrupt 214 <0=> Secure state <1=> Non-Secure state -// Interrupt 215 <0=> Secure state <1=> Non-Secure state -// Interrupt 216 <0=> Secure state <1=> Non-Secure state -// Interrupt 217 <0=> Secure state <1=> Non-Secure state -// Interrupt 218 <0=> Secure state <1=> Non-Secure state -// Interrupt 219 <0=> Secure state <1=> Non-Secure state -// Interrupt 220 <0=> Secure state <1=> Non-Secure state -// Interrupt 221 <0=> Secure state <1=> Non-Secure state -// Interrupt 222 <0=> Secure state <1=> Non-Secure state -// Interrupt 223 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS6_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 7 (Interrupts 224..255) -*/ -#define NVIC_INIT_ITNS7 0 - -/* -// Interrupts 224..255 -// Interrupt 224 <0=> Secure state <1=> Non-Secure state -// Interrupt 225 <0=> Secure state <1=> Non-Secure state -// Interrupt 226 <0=> Secure state <1=> Non-Secure state -// Interrupt 227 <0=> Secure state <1=> Non-Secure state -// Interrupt 228 <0=> Secure state <1=> Non-Secure state -// Interrupt 229 <0=> Secure state <1=> Non-Secure state -// Interrupt 230 <0=> Secure state <1=> Non-Secure state -// Interrupt 231 <0=> Secure state <1=> Non-Secure state -// Interrupt 232 <0=> Secure state <1=> Non-Secure state -// Interrupt 233 <0=> Secure state <1=> Non-Secure state -// Interrupt 234 <0=> Secure state <1=> Non-Secure state -// Interrupt 235 <0=> Secure state <1=> Non-Secure state -// Interrupt 236 <0=> Secure state <1=> Non-Secure state -// Interrupt 237 <0=> Secure state <1=> Non-Secure state -// Interrupt 238 <0=> Secure state <1=> Non-Secure state -// Interrupt 239 <0=> Secure state <1=> Non-Secure state -// Interrupt 240 <0=> Secure state <1=> Non-Secure state -// Interrupt 241 <0=> Secure state <1=> Non-Secure state -// Interrupt 242 <0=> Secure state <1=> Non-Secure state -// Interrupt 243 <0=> Secure state <1=> Non-Secure state -// Interrupt 244 <0=> Secure state <1=> Non-Secure state -// Interrupt 245 <0=> Secure state <1=> Non-Secure state -// Interrupt 246 <0=> Secure state <1=> Non-Secure state -// Interrupt 247 <0=> Secure state <1=> Non-Secure state -// Interrupt 248 <0=> Secure state <1=> Non-Secure state -// Interrupt 249 <0=> Secure state <1=> Non-Secure state -// Interrupt 250 <0=> Secure state <1=> Non-Secure state -// Interrupt 251 <0=> Secure state <1=> Non-Secure state -// Interrupt 252 <0=> Secure state <1=> Non-Secure state -// Interrupt 253 <0=> Secure state <1=> Non-Secure state -// Interrupt 254 <0=> Secure state <1=> Non-Secure state -// Interrupt 255 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS7_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 8 (Interrupts 256..287) -*/ -#define NVIC_INIT_ITNS8 0 - -/* -// Interrupts 256..287 -// Interrupt 256 <0=> Secure state <1=> Non-Secure state -// Interrupt 257 <0=> Secure state <1=> Non-Secure state -// Interrupt 258 <0=> Secure state <1=> Non-Secure state -// Interrupt 259 <0=> Secure state <1=> Non-Secure state -// Interrupt 260 <0=> Secure state <1=> Non-Secure state -// Interrupt 261 <0=> Secure state <1=> Non-Secure state -// Interrupt 262 <0=> Secure state <1=> Non-Secure state -// Interrupt 263 <0=> Secure state <1=> Non-Secure state -// Interrupt 264 <0=> Secure state <1=> Non-Secure state -// Interrupt 265 <0=> Secure state <1=> Non-Secure state -// Interrupt 266 <0=> Secure state <1=> Non-Secure state -// Interrupt 267 <0=> Secure state <1=> Non-Secure state -// Interrupt 268 <0=> Secure state <1=> Non-Secure state -// Interrupt 269 <0=> Secure state <1=> Non-Secure state -// Interrupt 270 <0=> Secure state <1=> Non-Secure state -// Interrupt 271 <0=> Secure state <1=> Non-Secure state -// Interrupt 272 <0=> Secure state <1=> Non-Secure state -// Interrupt 273 <0=> Secure state <1=> Non-Secure state -// Interrupt 274 <0=> Secure state <1=> Non-Secure state -// Interrupt 275 <0=> Secure state <1=> Non-Secure state -// Interrupt 276 <0=> Secure state <1=> Non-Secure state -// Interrupt 277 <0=> Secure state <1=> Non-Secure state -// Interrupt 278 <0=> Secure state <1=> Non-Secure state -// Interrupt 279 <0=> Secure state <1=> Non-Secure state -// Interrupt 280 <0=> Secure state <1=> Non-Secure state -// Interrupt 281 <0=> Secure state <1=> Non-Secure state -// Interrupt 282 <0=> Secure state <1=> Non-Secure state -// Interrupt 283 <0=> Secure state <1=> Non-Secure state -// Interrupt 284 <0=> Secure state <1=> Non-Secure state -// Interrupt 285 <0=> Secure state <1=> Non-Secure state -// Interrupt 286 <0=> Secure state <1=> Non-Secure state -// Interrupt 287 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS8_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 9 (Interrupts 288..319) -*/ -#define NVIC_INIT_ITNS9 0 - -/* -// Interrupts 288..319 -// Interrupt 288 <0=> Secure state <1=> Non-Secure state -// Interrupt 289 <0=> Secure state <1=> Non-Secure state -// Interrupt 290 <0=> Secure state <1=> Non-Secure state -// Interrupt 291 <0=> Secure state <1=> Non-Secure state -// Interrupt 292 <0=> Secure state <1=> Non-Secure state -// Interrupt 293 <0=> Secure state <1=> Non-Secure state -// Interrupt 294 <0=> Secure state <1=> Non-Secure state -// Interrupt 295 <0=> Secure state <1=> Non-Secure state -// Interrupt 296 <0=> Secure state <1=> Non-Secure state -// Interrupt 297 <0=> Secure state <1=> Non-Secure state -// Interrupt 298 <0=> Secure state <1=> Non-Secure state -// Interrupt 299 <0=> Secure state <1=> Non-Secure state -// Interrupt 300 <0=> Secure state <1=> Non-Secure state -// Interrupt 301 <0=> Secure state <1=> Non-Secure state -// Interrupt 302 <0=> Secure state <1=> Non-Secure state -// Interrupt 303 <0=> Secure state <1=> Non-Secure state -// Interrupt 304 <0=> Secure state <1=> Non-Secure state -// Interrupt 305 <0=> Secure state <1=> Non-Secure state -// Interrupt 306 <0=> Secure state <1=> Non-Secure state -// Interrupt 307 <0=> Secure state <1=> Non-Secure state -// Interrupt 308 <0=> Secure state <1=> Non-Secure state -// Interrupt 309 <0=> Secure state <1=> Non-Secure state -// Interrupt 310 <0=> Secure state <1=> Non-Secure state -// Interrupt 311 <0=> Secure state <1=> Non-Secure state -// Interrupt 312 <0=> Secure state <1=> Non-Secure state -// Interrupt 313 <0=> Secure state <1=> Non-Secure state -// Interrupt 314 <0=> Secure state <1=> Non-Secure state -// Interrupt 315 <0=> Secure state <1=> Non-Secure state -// Interrupt 316 <0=> Secure state <1=> Non-Secure state -// Interrupt 317 <0=> Secure state <1=> Non-Secure state -// Interrupt 318 <0=> Secure state <1=> Non-Secure state -// Interrupt 319 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS9_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 10 (Interrupts 320..351) -*/ -#define NVIC_INIT_ITNS10 0 - -/* -// Interrupts 320..351 -// Interrupt 320 <0=> Secure state <1=> Non-Secure state -// Interrupt 321 <0=> Secure state <1=> Non-Secure state -// Interrupt 322 <0=> Secure state <1=> Non-Secure state -// Interrupt 323 <0=> Secure state <1=> Non-Secure state -// Interrupt 324 <0=> Secure state <1=> Non-Secure state -// Interrupt 325 <0=> Secure state <1=> Non-Secure state -// Interrupt 326 <0=> Secure state <1=> Non-Secure state -// Interrupt 327 <0=> Secure state <1=> Non-Secure state -// Interrupt 328 <0=> Secure state <1=> Non-Secure state -// Interrupt 329 <0=> Secure state <1=> Non-Secure state -// Interrupt 330 <0=> Secure state <1=> Non-Secure state -// Interrupt 331 <0=> Secure state <1=> Non-Secure state -// Interrupt 332 <0=> Secure state <1=> Non-Secure state -// Interrupt 333 <0=> Secure state <1=> Non-Secure state -// Interrupt 334 <0=> Secure state <1=> Non-Secure state -// Interrupt 335 <0=> Secure state <1=> Non-Secure state -// Interrupt 336 <0=> Secure state <1=> Non-Secure state -// Interrupt 337 <0=> Secure state <1=> Non-Secure state -// Interrupt 338 <0=> Secure state <1=> Non-Secure state -// Interrupt 339 <0=> Secure state <1=> Non-Secure state -// Interrupt 340 <0=> Secure state <1=> Non-Secure state -// Interrupt 341 <0=> Secure state <1=> Non-Secure state -// Interrupt 342 <0=> Secure state <1=> Non-Secure state -// Interrupt 343 <0=> Secure state <1=> Non-Secure state -// Interrupt 344 <0=> Secure state <1=> Non-Secure state -// Interrupt 345 <0=> Secure state <1=> Non-Secure state -// Interrupt 346 <0=> Secure state <1=> Non-Secure state -// Interrupt 347 <0=> Secure state <1=> Non-Secure state -// Interrupt 348 <0=> Secure state <1=> Non-Secure state -// Interrupt 349 <0=> Secure state <1=> Non-Secure state -// Interrupt 350 <0=> Secure state <1=> Non-Secure state -// Interrupt 351 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS10_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 11 (Interrupts 352..383) -*/ -#define NVIC_INIT_ITNS11 0 - -/* -// Interrupts 352..383 -// Interrupt 352 <0=> Secure state <1=> Non-Secure state -// Interrupt 353 <0=> Secure state <1=> Non-Secure state -// Interrupt 354 <0=> Secure state <1=> Non-Secure state -// Interrupt 355 <0=> Secure state <1=> Non-Secure state -// Interrupt 356 <0=> Secure state <1=> Non-Secure state -// Interrupt 357 <0=> Secure state <1=> Non-Secure state -// Interrupt 358 <0=> Secure state <1=> Non-Secure state -// Interrupt 359 <0=> Secure state <1=> Non-Secure state -// Interrupt 360 <0=> Secure state <1=> Non-Secure state -// Interrupt 361 <0=> Secure state <1=> Non-Secure state -// Interrupt 362 <0=> Secure state <1=> Non-Secure state -// Interrupt 363 <0=> Secure state <1=> Non-Secure state -// Interrupt 364 <0=> Secure state <1=> Non-Secure state -// Interrupt 365 <0=> Secure state <1=> Non-Secure state -// Interrupt 366 <0=> Secure state <1=> Non-Secure state -// Interrupt 367 <0=> Secure state <1=> Non-Secure state -// Interrupt 368 <0=> Secure state <1=> Non-Secure state -// Interrupt 369 <0=> Secure state <1=> Non-Secure state -// Interrupt 370 <0=> Secure state <1=> Non-Secure state -// Interrupt 371 <0=> Secure state <1=> Non-Secure state -// Interrupt 372 <0=> Secure state <1=> Non-Secure state -// Interrupt 373 <0=> Secure state <1=> Non-Secure state -// Interrupt 374 <0=> Secure state <1=> Non-Secure state -// Interrupt 375 <0=> Secure state <1=> Non-Secure state -// Interrupt 376 <0=> Secure state <1=> Non-Secure state -// Interrupt 377 <0=> Secure state <1=> Non-Secure state -// Interrupt 378 <0=> Secure state <1=> Non-Secure state -// Interrupt 379 <0=> Secure state <1=> Non-Secure state -// Interrupt 380 <0=> Secure state <1=> Non-Secure state -// Interrupt 381 <0=> Secure state <1=> Non-Secure state -// Interrupt 382 <0=> Secure state <1=> Non-Secure state -// Interrupt 383 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS11_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 12 (Interrupts 384..415) -*/ -#define NVIC_INIT_ITNS12 0 - -/* -// Interrupts 384..415 -// Interrupt 384 <0=> Secure state <1=> Non-Secure state -// Interrupt 385 <0=> Secure state <1=> Non-Secure state -// Interrupt 386 <0=> Secure state <1=> Non-Secure state -// Interrupt 387 <0=> Secure state <1=> Non-Secure state -// Interrupt 388 <0=> Secure state <1=> Non-Secure state -// Interrupt 389 <0=> Secure state <1=> Non-Secure state -// Interrupt 390 <0=> Secure state <1=> Non-Secure state -// Interrupt 391 <0=> Secure state <1=> Non-Secure state -// Interrupt 392 <0=> Secure state <1=> Non-Secure state -// Interrupt 393 <0=> Secure state <1=> Non-Secure state -// Interrupt 394 <0=> Secure state <1=> Non-Secure state -// Interrupt 395 <0=> Secure state <1=> Non-Secure state -// Interrupt 396 <0=> Secure state <1=> Non-Secure state -// Interrupt 397 <0=> Secure state <1=> Non-Secure state -// Interrupt 398 <0=> Secure state <1=> Non-Secure state -// Interrupt 399 <0=> Secure state <1=> Non-Secure state -// Interrupt 400 <0=> Secure state <1=> Non-Secure state -// Interrupt 401 <0=> Secure state <1=> Non-Secure state -// Interrupt 402 <0=> Secure state <1=> Non-Secure state -// Interrupt 403 <0=> Secure state <1=> Non-Secure state -// Interrupt 404 <0=> Secure state <1=> Non-Secure state -// Interrupt 405 <0=> Secure state <1=> Non-Secure state -// Interrupt 406 <0=> Secure state <1=> Non-Secure state -// Interrupt 407 <0=> Secure state <1=> Non-Secure state -// Interrupt 408 <0=> Secure state <1=> Non-Secure state -// Interrupt 409 <0=> Secure state <1=> Non-Secure state -// Interrupt 410 <0=> Secure state <1=> Non-Secure state -// Interrupt 411 <0=> Secure state <1=> Non-Secure state -// Interrupt 412 <0=> Secure state <1=> Non-Secure state -// Interrupt 413 <0=> Secure state <1=> Non-Secure state -// Interrupt 414 <0=> Secure state <1=> Non-Secure state -// Interrupt 415 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS12_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 13 (Interrupts 416..447) -*/ -#define NVIC_INIT_ITNS13 0 - -/* -// Interrupts 416..447 -// Interrupt 416 <0=> Secure state <1=> Non-Secure state -// Interrupt 417 <0=> Secure state <1=> Non-Secure state -// Interrupt 418 <0=> Secure state <1=> Non-Secure state -// Interrupt 419 <0=> Secure state <1=> Non-Secure state -// Interrupt 420 <0=> Secure state <1=> Non-Secure state -// Interrupt 421 <0=> Secure state <1=> Non-Secure state -// Interrupt 422 <0=> Secure state <1=> Non-Secure state -// Interrupt 423 <0=> Secure state <1=> Non-Secure state -// Interrupt 424 <0=> Secure state <1=> Non-Secure state -// Interrupt 425 <0=> Secure state <1=> Non-Secure state -// Interrupt 426 <0=> Secure state <1=> Non-Secure state -// Interrupt 427 <0=> Secure state <1=> Non-Secure state -// Interrupt 428 <0=> Secure state <1=> Non-Secure state -// Interrupt 429 <0=> Secure state <1=> Non-Secure state -// Interrupt 430 <0=> Secure state <1=> Non-Secure state -// Interrupt 431 <0=> Secure state <1=> Non-Secure state -// Interrupt 432 <0=> Secure state <1=> Non-Secure state -// Interrupt 433 <0=> Secure state <1=> Non-Secure state -// Interrupt 434 <0=> Secure state <1=> Non-Secure state -// Interrupt 435 <0=> Secure state <1=> Non-Secure state -// Interrupt 436 <0=> Secure state <1=> Non-Secure state -// Interrupt 437 <0=> Secure state <1=> Non-Secure state -// Interrupt 438 <0=> Secure state <1=> Non-Secure state -// Interrupt 439 <0=> Secure state <1=> Non-Secure state -// Interrupt 440 <0=> Secure state <1=> Non-Secure state -// Interrupt 441 <0=> Secure state <1=> Non-Secure state -// Interrupt 442 <0=> Secure state <1=> Non-Secure state -// Interrupt 443 <0=> Secure state <1=> Non-Secure state -// Interrupt 444 <0=> Secure state <1=> Non-Secure state -// Interrupt 445 <0=> Secure state <1=> Non-Secure state -// Interrupt 446 <0=> Secure state <1=> Non-Secure state -// Interrupt 447 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS13_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 14 (Interrupts 448..479) -*/ -#define NVIC_INIT_ITNS14 0 - -/* -// Interrupts 448..479 -// Interrupt 448 <0=> Secure state <1=> Non-Secure state -// Interrupt 449 <0=> Secure state <1=> Non-Secure state -// Interrupt 450 <0=> Secure state <1=> Non-Secure state -// Interrupt 451 <0=> Secure state <1=> Non-Secure state -// Interrupt 452 <0=> Secure state <1=> Non-Secure state -// Interrupt 453 <0=> Secure state <1=> Non-Secure state -// Interrupt 454 <0=> Secure state <1=> Non-Secure state -// Interrupt 455 <0=> Secure state <1=> Non-Secure state -// Interrupt 456 <0=> Secure state <1=> Non-Secure state -// Interrupt 457 <0=> Secure state <1=> Non-Secure state -// Interrupt 458 <0=> Secure state <1=> Non-Secure state -// Interrupt 459 <0=> Secure state <1=> Non-Secure state -// Interrupt 460 <0=> Secure state <1=> Non-Secure state -// Interrupt 461 <0=> Secure state <1=> Non-Secure state -// Interrupt 462 <0=> Secure state <1=> Non-Secure state -// Interrupt 463 <0=> Secure state <1=> Non-Secure state -// Interrupt 464 <0=> Secure state <1=> Non-Secure state -// Interrupt 465 <0=> Secure state <1=> Non-Secure state -// Interrupt 466 <0=> Secure state <1=> Non-Secure state -// Interrupt 467 <0=> Secure state <1=> Non-Secure state -// Interrupt 468 <0=> Secure state <1=> Non-Secure state -// Interrupt 469 <0=> Secure state <1=> Non-Secure state -// Interrupt 470 <0=> Secure state <1=> Non-Secure state -// Interrupt 471 <0=> Secure state <1=> Non-Secure state -// Interrupt 472 <0=> Secure state <1=> Non-Secure state -// Interrupt 473 <0=> Secure state <1=> Non-Secure state -// Interrupt 474 <0=> Secure state <1=> Non-Secure state -// Interrupt 475 <0=> Secure state <1=> Non-Secure state -// Interrupt 476 <0=> Secure state <1=> Non-Secure state -// Interrupt 477 <0=> Secure state <1=> Non-Secure state -// Interrupt 478 <0=> Secure state <1=> Non-Secure state -// Interrupt 479 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS14_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 15 (Interrupts 480..511) -*/ -#define NVIC_INIT_ITNS15 0 - -/* -// Interrupts 480..511 -// Interrupt 480 <0=> Secure state <1=> Non-Secure state -// Interrupt 481 <0=> Secure state <1=> Non-Secure state -// Interrupt 482 <0=> Secure state <1=> Non-Secure state -// Interrupt 483 <0=> Secure state <1=> Non-Secure state -// Interrupt 484 <0=> Secure state <1=> Non-Secure state -// Interrupt 485 <0=> Secure state <1=> Non-Secure state -// Interrupt 486 <0=> Secure state <1=> Non-Secure state -// Interrupt 487 <0=> Secure state <1=> Non-Secure state -// Interrupt 488 <0=> Secure state <1=> Non-Secure state -// Interrupt 489 <0=> Secure state <1=> Non-Secure state -// Interrupt 490 <0=> Secure state <1=> Non-Secure state -// Interrupt 491 <0=> Secure state <1=> Non-Secure state -// Interrupt 492 <0=> Secure state <1=> Non-Secure state -// Interrupt 493 <0=> Secure state <1=> Non-Secure state -// Interrupt 494 <0=> Secure state <1=> Non-Secure state -// Interrupt 495 <0=> Secure state <1=> Non-Secure state -// Interrupt 496 <0=> Secure state <1=> Non-Secure state -// Interrupt 497 <0=> Secure state <1=> Non-Secure state -// Interrupt 498 <0=> Secure state <1=> Non-Secure state -// Interrupt 499 <0=> Secure state <1=> Non-Secure state -// Interrupt 500 <0=> Secure state <1=> Non-Secure state -// Interrupt 501 <0=> Secure state <1=> Non-Secure state -// Interrupt 502 <0=> Secure state <1=> Non-Secure state -// Interrupt 503 <0=> Secure state <1=> Non-Secure state -// Interrupt 504 <0=> Secure state <1=> Non-Secure state -// Interrupt 505 <0=> Secure state <1=> Non-Secure state -// Interrupt 506 <0=> Secure state <1=> Non-Secure state -// Interrupt 507 <0=> Secure state <1=> Non-Secure state -// Interrupt 508 <0=> Secure state <1=> Non-Secure state -// Interrupt 509 <0=> Secure state <1=> Non-Secure state -// Interrupt 510 <0=> Secure state <1=> Non-Secure state -// Interrupt 511 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS15_VAL 0x00000000 - -/* -// -*/ - -/* -// -*/ - - - -/* - max 128 SAU regions. - SAU regions are defined in partition.h - */ - -#define SAU_INIT_REGION(n) \ - SAU->RNR = (n & SAU_RNR_REGION_Msk); \ - SAU->RBAR = (SAU_INIT_START##n & SAU_RBAR_BADDR_Msk); \ - SAU->RLAR = (SAU_INIT_END##n & SAU_RLAR_LADDR_Msk) | \ - ((SAU_INIT_NSC##n << SAU_RLAR_NSC_Pos) & SAU_RLAR_NSC_Msk) | 1U - -/** - \brief Setup a SAU Region - \details Writes the region information contained in SAU_Region to the - registers SAU_RNR, SAU_RBAR, and SAU_RLAR - */ -__STATIC_INLINE void TZ_SAU_Setup (void) -{ - -#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) - - #if defined (SAU_INIT_REGION0) && (SAU_INIT_REGION0 == 1U) - SAU_INIT_REGION(0); - #endif - - #if defined (SAU_INIT_REGION1) && (SAU_INIT_REGION1 == 1U) - SAU_INIT_REGION(1); - #endif - - #if defined (SAU_INIT_REGION2) && (SAU_INIT_REGION2 == 1U) - SAU_INIT_REGION(2); - #endif - - #if defined (SAU_INIT_REGION3) && (SAU_INIT_REGION3 == 1U) - SAU_INIT_REGION(3); - #endif - - #if defined (SAU_INIT_REGION4) && (SAU_INIT_REGION4 == 1U) - SAU_INIT_REGION(4); - #endif - - #if defined (SAU_INIT_REGION5) && (SAU_INIT_REGION5 == 1U) - SAU_INIT_REGION(5); - #endif - - #if defined (SAU_INIT_REGION6) && (SAU_INIT_REGION6 == 1U) - SAU_INIT_REGION(6); - #endif - - #if defined (SAU_INIT_REGION7) && (SAU_INIT_REGION7 == 1U) - SAU_INIT_REGION(7); - #endif - - /* repeat this for all possible SAU regions */ - -#endif /* defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) */ - - - #if defined (SAU_INIT_CTRL) && (SAU_INIT_CTRL == 1U) - SAU->CTRL = ((SAU_INIT_CTRL_ENABLE << SAU_CTRL_ENABLE_Pos) & SAU_CTRL_ENABLE_Msk) | - ((SAU_INIT_CTRL_ALLNS << SAU_CTRL_ALLNS_Pos) & SAU_CTRL_ALLNS_Msk) ; - #endif - - #if defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) - SCB->SCR = (SCB->SCR & ~(SCB_SCR_SLEEPDEEPS_Msk )) | - ((SCB_CSR_DEEPSLEEPS_VAL << SCB_SCR_SLEEPDEEPS_Pos) & SCB_SCR_SLEEPDEEPS_Msk); - - SCB->AIRCR = (SCB->AIRCR & ~(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_SYSRESETREQS_Msk | - SCB_AIRCR_BFHFNMINS_Msk | SCB_AIRCR_PRIS_Msk )) | - ((0x05FAU << SCB_AIRCR_VECTKEY_Pos) & SCB_AIRCR_VECTKEY_Msk) | - ((SCB_AIRCR_SYSRESETREQS_VAL << SCB_AIRCR_SYSRESETREQS_Pos) & SCB_AIRCR_SYSRESETREQS_Msk) | - ((SCB_AIRCR_PRIS_VAL << SCB_AIRCR_PRIS_Pos) & SCB_AIRCR_PRIS_Msk) | - ((SCB_AIRCR_BFHFNMINS_VAL << SCB_AIRCR_BFHFNMINS_Pos) & SCB_AIRCR_BFHFNMINS_Msk); - #endif /* defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) */ - - #if (((defined (__FPU_USED) && (__FPU_USED == 1U)) || \ - (defined (__ARM_FEATURE_MVE) && (__ARM_FEATURE_MVE > 0))) && \ - (defined (TZ_FPU_NS_USAGE) && (TZ_FPU_NS_USAGE == 1U))) - - SCB->NSACR = (SCB->NSACR & ~(SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)) | - ((SCB_NSACR_CP10_11_VAL << SCB_NSACR_CP10_Pos) & (SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)); - - FPU->FPCCR = (FPU->FPCCR & ~(FPU_FPCCR_TS_Msk | FPU_FPCCR_CLRONRETS_Msk | FPU_FPCCR_CLRONRET_Msk)) | - ((FPU_FPCCR_TS_VAL << FPU_FPCCR_TS_Pos ) & FPU_FPCCR_TS_Msk ) | - ((FPU_FPCCR_CLRONRETS_VAL << FPU_FPCCR_CLRONRETS_Pos) & FPU_FPCCR_CLRONRETS_Msk) | - ((FPU_FPCCR_CLRONRET_VAL << FPU_FPCCR_CLRONRET_Pos ) & FPU_FPCCR_CLRONRET_Msk ); - #endif - - #if defined (NVIC_INIT_ITNS0) && (NVIC_INIT_ITNS0 == 1U) - NVIC->ITNS[0] = NVIC_INIT_ITNS0_VAL; - #endif - - #if defined (NVIC_INIT_ITNS1) && (NVIC_INIT_ITNS1 == 1U) - NVIC->ITNS[1] = NVIC_INIT_ITNS1_VAL; - #endif - - #if defined (NVIC_INIT_ITNS2) && (NVIC_INIT_ITNS2 == 1U) - NVIC->ITNS[2] = NVIC_INIT_ITNS2_VAL; - #endif - - #if defined (NVIC_INIT_ITNS3) && (NVIC_INIT_ITNS3 == 1U) - NVIC->ITNS[3] = NVIC_INIT_ITNS3_VAL; - #endif - - #if defined (NVIC_INIT_ITNS4) && (NVIC_INIT_ITNS4 == 1U) - NVIC->ITNS[4] = NVIC_INIT_ITNS4_VAL; - #endif - - #if defined (NVIC_INIT_ITNS5) && (NVIC_INIT_ITNS5 == 1U) - NVIC->ITNS[5] = NVIC_INIT_ITNS5_VAL; - #endif - - #if defined (NVIC_INIT_ITNS6) && (NVIC_INIT_ITNS6 == 1U) - NVIC->ITNS[6] = NVIC_INIT_ITNS6_VAL; - #endif - - #if defined (NVIC_INIT_ITNS7) && (NVIC_INIT_ITNS7 == 1U) - NVIC->ITNS[7] = NVIC_INIT_ITNS7_VAL; - #endif - - #if defined (NVIC_INIT_ITNS8) && (NVIC_INIT_ITNS8 == 1U) - NVIC->ITNS[8] = NVIC_INIT_ITNS8_VAL; - #endif - - #if defined (NVIC_INIT_ITNS9) && (NVIC_INIT_ITNS9 == 1U) - NVIC->ITNS[9] = NVIC_INIT_ITNS9_VAL; - #endif - - #if defined (NVIC_INIT_ITNS10) && (NVIC_INIT_ITNS10 == 1U) - NVIC->ITNS[10] = NVIC_INIT_ITNS10_VAL; - #endif - - #if defined (NVIC_INIT_ITNS11) && (NVIC_INIT_ITNS11 == 1U) - NVIC->ITNS[11] = NVIC_INIT_ITNS11_VAL; - #endif - - #if defined (NVIC_INIT_ITNS12) && (NVIC_INIT_ITNS12 == 1U) - NVIC->ITNS[12] = NVIC_INIT_ITNS12_VAL; - #endif - - #if defined (NVIC_INIT_ITNS13) && (NVIC_INIT_ITNS13 == 1U) - NVIC->ITNS[13] = NVIC_INIT_ITNS13_VAL; - #endif - - #if defined (NVIC_INIT_ITNS14) && (NVIC_INIT_ITNS14 == 1U) - NVIC->ITNS[14] = NVIC_INIT_ITNS14_VAL; - #endif - - #if defined (NVIC_INIT_ITNS15) && (NVIC_INIT_ITNS15 == 1U) - NVIC->ITNS[15] = NVIC_INIT_ITNS15_VAL; - #endif - - /* repeat this for all possible ITNS elements */ - -} - -#endif /* PARTITION_ARMCM55_H */ diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/RTE/Device/ARMCM55/startup_ARMCM55.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/RTE/Device/ARMCM55/startup_ARMCM55.c deleted file mode 100644 index 0557c5f..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/RTE/Device/ARMCM55/startup_ARMCM55.c +++ /dev/null @@ -1,164 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM55.c - * @brief CMSIS-Core Device Startup File for Cortex-M55 Device - * @version V1.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM55) - #include "ARMCM55.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SecureFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - SecureFault_Handler, /* -9 Secure Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 480 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/RTE/Device/ARMCM55/startup_ARMCM55.c.base@1.1.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/RTE/Device/ARMCM55/startup_ARMCM55.c.base@1.1.0 deleted file mode 100644 index 0557c5f..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/RTE/Device/ARMCM55/startup_ARMCM55.c.base@1.1.0 +++ /dev/null @@ -1,164 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM55.c - * @brief CMSIS-Core Device Startup File for Cortex-M55 Device - * @version V1.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM55) - #include "ARMCM55.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SecureFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - SecureFault_Handler, /* -9 Secure Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 480 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/RTE/Device/ARMCM55/system_ARMCM55.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/RTE/Device/ARMCM55/system_ARMCM55.c deleted file mode 100644 index d66624d..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/RTE/Device/ARMCM55/system_ARMCM55.c +++ /dev/null @@ -1,107 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM55.c - * @brief CMSIS Device System Source File for - * ARMCM55 Device - * @version V1.1.0 - * @date 28. March 2022 - ******************************************************************************/ -/* - * Copyright (c) 2009-2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM55) - #include "ARMCM55.h" -#else - #error device not specified! -#endif - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM55.h" - #endif - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL ( 5000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (5U * XTAL) - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t)(&__VECTOR_TABLE[0]); -#endif - -#if (defined (__FPU_USED) && (__FPU_USED == 1U)) || \ - (defined (__ARM_FEATURE_MVE) && (__ARM_FEATURE_MVE > 0U)) - SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ - (3U << 11U*2U) ); /* enable CP11 Full Access */ - - /* Set low-power state for PDEPU */ - /* 0b00 | ON, PDEPU is not in low-power state */ - /* 0b01 | ON, but the clock is off */ - /* 0b10 | RET(ention) */ - /* 0b11 | OFF */ - - /* Clear ELPSTATE, value is 0b11 on Cold reset */ - PWRMODCTL->CPDLPSTATE &= ~(PWRMODCTL_CPDLPSTATE_ELPSTATE_Msk); - - /* Favor best FP/MVE performance by default, avoid EPU switch-ON delays */ - /* PDEPU ON, Clock OFF */ - PWRMODCTL->CPDLPSTATE |= 0x1 << PWRMODCTL_CPDLPSTATE_ELPSTATE_Pos; -#endif - -#ifdef UNALIGNED_SUPPORT_DISABLE - SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; -#endif - - /* Enable Loop and branch info cache */ - SCB->CCR |= SCB_CCR_LOB_Msk; - __DSB(); - __ISB(); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - TZ_SAU_Setup(); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/RTE/Device/ARMCM55/system_ARMCM55.c.base@1.1.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/RTE/Device/ARMCM55/system_ARMCM55.c.base@1.1.0 deleted file mode 100644 index d66624d..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/RTE/Device/ARMCM55/system_ARMCM55.c.base@1.1.0 +++ /dev/null @@ -1,107 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM55.c - * @brief CMSIS Device System Source File for - * ARMCM55 Device - * @version V1.1.0 - * @date 28. March 2022 - ******************************************************************************/ -/* - * Copyright (c) 2009-2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM55) - #include "ARMCM55.h" -#else - #error device not specified! -#endif - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM55.h" - #endif - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL ( 5000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (5U * XTAL) - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t)(&__VECTOR_TABLE[0]); -#endif - -#if (defined (__FPU_USED) && (__FPU_USED == 1U)) || \ - (defined (__ARM_FEATURE_MVE) && (__ARM_FEATURE_MVE > 0U)) - SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ - (3U << 11U*2U) ); /* enable CP11 Full Access */ - - /* Set low-power state for PDEPU */ - /* 0b00 | ON, PDEPU is not in low-power state */ - /* 0b01 | ON, but the clock is off */ - /* 0b10 | RET(ention) */ - /* 0b11 | OFF */ - - /* Clear ELPSTATE, value is 0b11 on Cold reset */ - PWRMODCTL->CPDLPSTATE &= ~(PWRMODCTL_CPDLPSTATE_ELPSTATE_Msk); - - /* Favor best FP/MVE performance by default, avoid EPU switch-ON delays */ - /* PDEPU ON, Clock OFF */ - PWRMODCTL->CPDLPSTATE |= 0x1 << PWRMODCTL_CPDLPSTATE_ELPSTATE_Pos; -#endif - -#ifdef UNALIGNED_SUPPORT_DISABLE - SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; -#endif - - /* Enable Loop and branch info cache */ - SCB->CCR |= SCB_CCR_LOB_Msk; - __DSB(); - __ISB(); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - TZ_SAU_Setup(); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/Target.clayer.yml b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/Target.clayer.yml deleted file mode 100644 index ee45512..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/Target.clayer.yml +++ /dev/null @@ -1,22 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/1.3.0/tools/projmgr/schemas/clayer.schema.json - -layer: - # type: Target - description: Target setup - - # packs: - # - pack: ARM::CMSIS - - components: - # [Cvendor::] Cclass [&Cbundle] :Cgroup [:Csub] [&Cvariant] [@[>=]Cversion] - - component: ARM::CMSIS:CORE - - component: Device:Startup&C Startup - - misc: - - for-compiler: IAR - Link: [--config generic_cortex.icf] - - groups: - - group: VHT/FVP - files: - - file: ./model_config.txt diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/model_config.txt b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/model_config.txt deleted file mode 100644 index c5bc897..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S/model_config.txt +++ /dev/null @@ -1,29 +0,0 @@ -# Parameters: -# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] -#---------------------------------------------------------------------------------------------- -fvp_mps2.mps2_visualisation.disable-visualisation=1 # (bool , init-time) default = '0' : Enable/disable visualisation -cpu0.FPU=1 # (bool , init-time) default = '1' : Set whether the model has VFP support -cpu0.MVE=2 # (int , init-time) default = '0x1' : Set whether the model has MVE support. If FPU = 0: 0=MVE not included, 1=Integer subset of MVE included. If FPU = 1: 0=MVE not included, 1=Integer subset of MVE included, 2=Integer and half and single precision floating point MVE included -cpu0.semihosting-enable=1 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. -cpu0.semihosting-Thumb_SVC=0xAB # (int , init-time) default = '0xAB' : T32 SVC number for semihosting : [0x0..0xFF] -cpu0.semihosting-cmd_line="" # (string, init-time) default = '' : Command line available to semihosting SVC calls -cpu0.semihosting-heap_base=0x0 # (int , init-time) default = '0x0' : Virtual address of heap base : [0x0..0xFFFFFFFF] -cpu0.semihosting-heap_limit=0x0 # (int , init-time) default = '0x10700000' : Virtual address of top of heap : [0x0..0xFFFFFFFF] -cpu0.semihosting-stack_base=0x0 # (int , init-time) default = '0x10700000' : Virtual address of base of descending stack : [0x0..0xFFFFFFFF] -cpu0.semihosting-stack_limit=0x0 # (int , init-time) default = '0x10800000' : Virtual address of stack limit : [0x0..0xFFFFFFFF] -cpu0.semihosting-cwd="" # (string, init-time) default = '' : Base directory for semihosting file access. -cpu0.MPU_S=0x8 # (int , init-time) default = '0x8' : Number of regions in the Secure MPU. If Security Extentions are absent, this is ignored : [0x0..0x10] -cpu0.MPU_NS=0x8 # (int , init-time) default = '0x8' : Number of regions in the Non-Secure MPU. If Security Extentions are absent, this is the total number of MPU regions : [0x0..0x10] -cpu0.ITM=0 # (bool , init-time) default = '1' : Level of instrumentation trace supported. false : No ITM trace included, true: ITM trace included -cpu0.IRQLVL=0x3 # (int , init-time) default = '0x3' : Number of bits of interrupt priority : [0x3..0x8] -cpu0.INITSVTOR=0x00000000 # (int , init-time) default = '0x10000000' : Secure vector-table offset at reset : [0x0..0xFFFFFF80] -cpu0.INITNSVTOR=0x0 # (int , init-time) default = '0x0' : Non-Secure vector-table offset at reset : [0x0..0xFFFFFF80] -cpu0.SAU=0x8 # (int , init-time) default = '0x4' : Number of SAU regions (0 => no SAU) : [0x0..0x8] -idau.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' : -cpu0.LOCK_SAU=0 # (bool , init-time) default = '0' : Lock down of SAU registers write -cpu0.LOCK_S_MPU=0 # (bool , init-time) default = '0' : Lock down of Secure MPU registers write -cpu0.LOCK_NS_MPU=0 # (bool , init-time) default = '0' : Lock down of Non-Secure MPU registers write -cpu0.CPIF=1 # (bool , init-time) default = '1' : Specifies whether the external coprocessor interface is included -cpu0.SECEXT=1 # (bool , init-time) default = '1' : Whether the ARMv8-M Security Extensions are included -fvp_mps2.DISABLE_GATING=1 # (bool , init-time) default = '0' : Disable Memory gating logic -#---------------------------------------------------------------------------------------------- diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/RTE/Device/ARMCM55/ARMCM55_ac6_s.sct b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/RTE/Device/ARMCM55/ARMCM55_ac6_s.sct deleted file mode 100644 index ab4ccad..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/RTE/Device/ARMCM55/ARMCM55_ac6_s.sct +++ /dev/null @@ -1,123 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m55 -xc -mcmse -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m55 -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00200000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00200000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000400 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_SIZE 0x200 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE ( __RAM_SIZE - __STACK_SIZE - __HEAP_SIZE - __STACKSEAL_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/RTE/Device/ARMCM55/ARMCM55_ac6_s.sct.base@1.1.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/RTE/Device/ARMCM55/ARMCM55_ac6_s.sct.base@1.1.0 deleted file mode 100644 index a369523..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/RTE/Device/ARMCM55/ARMCM55_ac6_s.sct.base@1.1.0 +++ /dev/null @@ -1,119 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m55 -xc -mcmse -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m55 -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_SIZE 0x200 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE ( __RAM_SIZE - __STACK_SIZE - __HEAP_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_RAM __RW_BASE __RW_SIZE { ; RW data - .ANY (+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/RTE/Device/ARMCM55/gcc_arm.ld b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/RTE/Device/ARMCM55/gcc_arm.ld deleted file mode 100644 index f44186e..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/RTE/Device/ARMCM55/gcc_arm.ld +++ /dev/null @@ -1,316 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.2.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00200000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00200000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -/* ARMv8-M stack sealing: - to use ARMv8-M stack sealing set __STACKSEAL_SIZE to 8 otherwise keep 0 - */ -__STACKSEAL_SIZE = 8; - - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - * __StackSeal (only if ARMv8-M stack sealing is used) - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ - - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH - - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* ARMv8-M stack sealing: - to use ARMv8-M stack sealing uncomment '.stackseal' section - */ - - .stackseal (ORIGIN(RAM) + LENGTH(RAM) - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackSeal = .; - . = . + 8; - . = ALIGN(8); - } > RAM - - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/RTE/Device/ARMCM55/partition_ARMCM55.h b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/RTE/Device/ARMCM55/partition_ARMCM55.h deleted file mode 100644 index f23a0f0..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/RTE/Device/ARMCM55/partition_ARMCM55.h +++ /dev/null @@ -1,1261 +0,0 @@ -/**************************************************************************//** - * @file partition_ARMCM55.h - * @brief CMSIS-CORE Initial Setup for Secure / Non-Secure Zones for Armv8.1-M Mainline - * @version V1.0.0 - * @date 20. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef PARTITION_ARMCM55_H -#define PARTITION_ARMCM55_H - -/* -//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- -*/ - -/* -// Initialize Security Attribution Unit (SAU) CTRL register -*/ -#define SAU_INIT_CTRL 1 - -/* -// Enable SAU -// Value for SAU->CTRL register bit ENABLE -*/ -#define SAU_INIT_CTRL_ENABLE 1 - -/* -// When SAU is disabled -// <0=> All Memory is Secure -// <1=> All Memory is Non-Secure -// Value for SAU->CTRL register bit ALLNS -// When all Memory is Non-Secure (ALLNS is 1), IDAU can override memory map configuration. -*/ -#define SAU_INIT_CTRL_ALLNS 0 - -/* -// -*/ - -/* -// Initialize Security Attribution Unit (SAU) Address Regions -// SAU configuration specifies regions to be one of: -// - Secure and Non-Secure Callable -// - Non-Secure -// Note: All memory regions not configured by SAU are Secure -*/ -#define SAU_REGIONS_MAX 8 /* Max. number of SAU regions */ - -/* -// Initialize SAU Region 0 -// Setup SAU Region 0 memory attributes -*/ -#define SAU_INIT_REGION0 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START0 0x00000000 /* start address of SAU region 0 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END0 0x001FFFFF /* end address of SAU region 0 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC0 1 -/* -// -*/ - -/* -// Initialize SAU Region 1 -// Setup SAU Region 1 memory attributes -*/ -#define SAU_INIT_REGION1 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START1 0x00200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END1 0x003FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC1 0 -/* -// -*/ - -/* -// Initialize SAU Region 2 -// Setup SAU Region 2 memory attributes -*/ -#define SAU_INIT_REGION2 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START2 0x20200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END2 0x203FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC2 0 -/* -// -*/ - -/* -// Initialize SAU Region 3 -// Setup SAU Region 3 memory attributes -*/ -#define SAU_INIT_REGION3 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START3 0x40000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END3 0x40040000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC3 0 -/* -// -*/ - -/* -// Initialize SAU Region 4 -// Setup SAU Region 4 memory attributes -*/ -#define SAU_INIT_REGION4 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START4 0x00000000 /* start address of SAU region 4 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END4 0x00000000 /* end address of SAU region 4 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC4 0 -/* -// -*/ - -/* -// Initialize SAU Region 5 -// Setup SAU Region 5 memory attributes -*/ -#define SAU_INIT_REGION5 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START5 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END5 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC5 0 -/* -// -*/ - -/* -// Initialize SAU Region 6 -// Setup SAU Region 6 memory attributes -*/ -#define SAU_INIT_REGION6 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START6 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END6 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC6 0 -/* -// -*/ - -/* -// Initialize SAU Region 7 -// Setup SAU Region 7 memory attributes -*/ -#define SAU_INIT_REGION7 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START7 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END7 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC7 0 -/* -// -*/ - -/* -// -*/ - -/* -// Setup behaviour of Sleep and Exception Handling -*/ -#define SCB_CSR_AIRCR_INIT 1 - -/* -// Deep Sleep can be enabled by -// <0=>Secure and Non-Secure state -// <1=>Secure state only -// Value for SCB->CSR register bit DEEPSLEEPS -*/ -#define SCB_CSR_DEEPSLEEPS_VAL 1 - -/* -// System reset request accessible from -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for SCB->AIRCR register bit SYSRESETREQS -*/ -#define SCB_AIRCR_SYSRESETREQS_VAL 1 - -/* -// Priority of Non-Secure exceptions is -// <0=> Not altered -// <1=> Lowered to 0x80-0xFF -// Value for SCB->AIRCR register bit PRIS -*/ -#define SCB_AIRCR_PRIS_VAL 1 - -/* -// BusFault, HardFault, and NMI target -// <0=> Secure state -// <1=> Non-Secure state -// Value for SCB->AIRCR register bit BFHFNMINS -*/ -#define SCB_AIRCR_BFHFNMINS_VAL 0 - -/* -// -*/ - -/* -// Setup behaviour of Floating Point and Vector Unit (FPU/MVE) -*/ -#define TZ_FPU_NS_USAGE 1 - -/* -// Floating Point and Vector Unit usage -// <0=> Secure state only -// <3=> Secure and Non-Secure state -// Value for SCB->NSACR register bits CP10, CP11 -*/ -#define SCB_NSACR_CP10_11_VAL 3 - -/* -// Treat floating-point registers as Secure -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit TS -*/ -#define FPU_FPCCR_TS_VAL 0 - -/* -// Clear on return (CLRONRET) accessibility -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for FPU->FPCCR register bit CLRONRETS -*/ -#define FPU_FPCCR_CLRONRETS_VAL 0 - -/* -// Clear floating-point caller saved registers on exception return -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit CLRONRET -*/ -#define FPU_FPCCR_CLRONRET_VAL 1 - -/* -// -*/ - -/* -// Setup Interrupt Target -*/ - -/* -// Initialize ITNS 0 (Interrupts 0..31) -*/ -#define NVIC_INIT_ITNS0 1 - -/* -// Interrupts 0..31 -// Interrupt 0 <0=> Secure state <1=> Non-Secure state -// Interrupt 1 <0=> Secure state <1=> Non-Secure state -// Interrupt 2 <0=> Secure state <1=> Non-Secure state -// Interrupt 3 <0=> Secure state <1=> Non-Secure state -// Interrupt 4 <0=> Secure state <1=> Non-Secure state -// Interrupt 5 <0=> Secure state <1=> Non-Secure state -// Interrupt 6 <0=> Secure state <1=> Non-Secure state -// Interrupt 7 <0=> Secure state <1=> Non-Secure state -// Interrupt 8 <0=> Secure state <1=> Non-Secure state -// Interrupt 9 <0=> Secure state <1=> Non-Secure state -// Interrupt 10 <0=> Secure state <1=> Non-Secure state -// Interrupt 11 <0=> Secure state <1=> Non-Secure state -// Interrupt 12 <0=> Secure state <1=> Non-Secure state -// Interrupt 13 <0=> Secure state <1=> Non-Secure state -// Interrupt 14 <0=> Secure state <1=> Non-Secure state -// Interrupt 15 <0=> Secure state <1=> Non-Secure state -// Interrupt 16 <0=> Secure state <1=> Non-Secure state -// Interrupt 17 <0=> Secure state <1=> Non-Secure state -// Interrupt 18 <0=> Secure state <1=> Non-Secure state -// Interrupt 19 <0=> Secure state <1=> Non-Secure state -// Interrupt 20 <0=> Secure state <1=> Non-Secure state -// Interrupt 21 <0=> Secure state <1=> Non-Secure state -// Interrupt 22 <0=> Secure state <1=> Non-Secure state -// Interrupt 23 <0=> Secure state <1=> Non-Secure state -// Interrupt 24 <0=> Secure state <1=> Non-Secure state -// Interrupt 25 <0=> Secure state <1=> Non-Secure state -// Interrupt 26 <0=> Secure state <1=> Non-Secure state -// Interrupt 27 <0=> Secure state <1=> Non-Secure state -// Interrupt 28 <0=> Secure state <1=> Non-Secure state -// Interrupt 29 <0=> Secure state <1=> Non-Secure state -// Interrupt 30 <0=> Secure state <1=> Non-Secure state -// Interrupt 31 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS0_VAL 0x0000122B - -/* -// -*/ - -/* -// Initialize ITNS 1 (Interrupts 32..63) -*/ -#define NVIC_INIT_ITNS1 1 - -/* -// Interrupts 32..63 -// Interrupt 32 <0=> Secure state <1=> Non-Secure state -// Interrupt 33 <0=> Secure state <1=> Non-Secure state -// Interrupt 34 <0=> Secure state <1=> Non-Secure state -// Interrupt 35 <0=> Secure state <1=> Non-Secure state -// Interrupt 36 <0=> Secure state <1=> Non-Secure state -// Interrupt 37 <0=> Secure state <1=> Non-Secure state -// Interrupt 38 <0=> Secure state <1=> Non-Secure state -// Interrupt 39 <0=> Secure state <1=> Non-Secure state -// Interrupt 40 <0=> Secure state <1=> Non-Secure state -// Interrupt 41 <0=> Secure state <1=> Non-Secure state -// Interrupt 42 <0=> Secure state <1=> Non-Secure state -// Interrupt 43 <0=> Secure state <1=> Non-Secure state -// Interrupt 44 <0=> Secure state <1=> Non-Secure state -// Interrupt 45 <0=> Secure state <1=> Non-Secure state -// Interrupt 46 <0=> Secure state <1=> Non-Secure state -// Interrupt 47 <0=> Secure state <1=> Non-Secure state -// Interrupt 48 <0=> Secure state <1=> Non-Secure state -// Interrupt 49 <0=> Secure state <1=> Non-Secure state -// Interrupt 50 <0=> Secure state <1=> Non-Secure state -// Interrupt 51 <0=> Secure state <1=> Non-Secure state -// Interrupt 52 <0=> Secure state <1=> Non-Secure state -// Interrupt 53 <0=> Secure state <1=> Non-Secure state -// Interrupt 54 <0=> Secure state <1=> Non-Secure state -// Interrupt 55 <0=> Secure state <1=> Non-Secure state -// Interrupt 56 <0=> Secure state <1=> Non-Secure state -// Interrupt 57 <0=> Secure state <1=> Non-Secure state -// Interrupt 58 <0=> Secure state <1=> Non-Secure state -// Interrupt 59 <0=> Secure state <1=> Non-Secure state -// Interrupt 60 <0=> Secure state <1=> Non-Secure state -// Interrupt 61 <0=> Secure state <1=> Non-Secure state -// Interrupt 62 <0=> Secure state <1=> Non-Secure state -// Interrupt 63 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS1_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 2 (Interrupts 64..95) -*/ -#define NVIC_INIT_ITNS2 0 - -/* -// Interrupts 64..95 -// Interrupt 64 <0=> Secure state <1=> Non-Secure state -// Interrupt 65 <0=> Secure state <1=> Non-Secure state -// Interrupt 66 <0=> Secure state <1=> Non-Secure state -// Interrupt 67 <0=> Secure state <1=> Non-Secure state -// Interrupt 68 <0=> Secure state <1=> Non-Secure state -// Interrupt 69 <0=> Secure state <1=> Non-Secure state -// Interrupt 70 <0=> Secure state <1=> Non-Secure state -// Interrupt 71 <0=> Secure state <1=> Non-Secure state -// Interrupt 72 <0=> Secure state <1=> Non-Secure state -// Interrupt 73 <0=> Secure state <1=> Non-Secure state -// Interrupt 74 <0=> Secure state <1=> Non-Secure state -// Interrupt 75 <0=> Secure state <1=> Non-Secure state -// Interrupt 76 <0=> Secure state <1=> Non-Secure state -// Interrupt 77 <0=> Secure state <1=> Non-Secure state -// Interrupt 78 <0=> Secure state <1=> Non-Secure state -// Interrupt 79 <0=> Secure state <1=> Non-Secure state -// Interrupt 80 <0=> Secure state <1=> Non-Secure state -// Interrupt 81 <0=> Secure state <1=> Non-Secure state -// Interrupt 82 <0=> Secure state <1=> Non-Secure state -// Interrupt 83 <0=> Secure state <1=> Non-Secure state -// Interrupt 84 <0=> Secure state <1=> Non-Secure state -// Interrupt 85 <0=> Secure state <1=> Non-Secure state -// Interrupt 86 <0=> Secure state <1=> Non-Secure state -// Interrupt 87 <0=> Secure state <1=> Non-Secure state -// Interrupt 88 <0=> Secure state <1=> Non-Secure state -// Interrupt 89 <0=> Secure state <1=> Non-Secure state -// Interrupt 90 <0=> Secure state <1=> Non-Secure state -// Interrupt 91 <0=> Secure state <1=> Non-Secure state -// Interrupt 92 <0=> Secure state <1=> Non-Secure state -// Interrupt 93 <0=> Secure state <1=> Non-Secure state -// Interrupt 94 <0=> Secure state <1=> Non-Secure state -// Interrupt 95 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS2_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 3 (Interrupts 96..127) -*/ -#define NVIC_INIT_ITNS3 0 - -/* -// Interrupts 96..127 -// Interrupt 96 <0=> Secure state <1=> Non-Secure state -// Interrupt 97 <0=> Secure state <1=> Non-Secure state -// Interrupt 98 <0=> Secure state <1=> Non-Secure state -// Interrupt 99 <0=> Secure state <1=> Non-Secure state -// Interrupt 100 <0=> Secure state <1=> Non-Secure state -// Interrupt 101 <0=> Secure state <1=> Non-Secure state -// Interrupt 102 <0=> Secure state <1=> Non-Secure state -// Interrupt 103 <0=> Secure state <1=> Non-Secure state -// Interrupt 104 <0=> Secure state <1=> Non-Secure state -// Interrupt 105 <0=> Secure state <1=> Non-Secure state -// Interrupt 106 <0=> Secure state <1=> Non-Secure state -// Interrupt 107 <0=> Secure state <1=> Non-Secure state -// Interrupt 108 <0=> Secure state <1=> Non-Secure state -// Interrupt 109 <0=> Secure state <1=> Non-Secure state -// Interrupt 110 <0=> Secure state <1=> Non-Secure state -// Interrupt 111 <0=> Secure state <1=> Non-Secure state -// Interrupt 112 <0=> Secure state <1=> Non-Secure state -// Interrupt 113 <0=> Secure state <1=> Non-Secure state -// Interrupt 114 <0=> Secure state <1=> Non-Secure state -// Interrupt 115 <0=> Secure state <1=> Non-Secure state -// Interrupt 116 <0=> Secure state <1=> Non-Secure state -// Interrupt 117 <0=> Secure state <1=> Non-Secure state -// Interrupt 118 <0=> Secure state <1=> Non-Secure state -// Interrupt 119 <0=> Secure state <1=> Non-Secure state -// Interrupt 120 <0=> Secure state <1=> Non-Secure state -// Interrupt 121 <0=> Secure state <1=> Non-Secure state -// Interrupt 122 <0=> Secure state <1=> Non-Secure state -// Interrupt 123 <0=> Secure state <1=> Non-Secure state -// Interrupt 124 <0=> Secure state <1=> Non-Secure state -// Interrupt 125 <0=> Secure state <1=> Non-Secure state -// Interrupt 126 <0=> Secure state <1=> Non-Secure state -// Interrupt 127 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS3_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 4 (Interrupts 128..159) -*/ -#define NVIC_INIT_ITNS4 0 - -/* -// Interrupts 128..159 -// Interrupt 128 <0=> Secure state <1=> Non-Secure state -// Interrupt 129 <0=> Secure state <1=> Non-Secure state -// Interrupt 130 <0=> Secure state <1=> Non-Secure state -// Interrupt 131 <0=> Secure state <1=> Non-Secure state -// Interrupt 132 <0=> Secure state <1=> Non-Secure state -// Interrupt 133 <0=> Secure state <1=> Non-Secure state -// Interrupt 134 <0=> Secure state <1=> Non-Secure state -// Interrupt 135 <0=> Secure state <1=> Non-Secure state -// Interrupt 136 <0=> Secure state <1=> Non-Secure state -// Interrupt 137 <0=> Secure state <1=> Non-Secure state -// Interrupt 138 <0=> Secure state <1=> Non-Secure state -// Interrupt 139 <0=> Secure state <1=> Non-Secure state -// Interrupt 140 <0=> Secure state <1=> Non-Secure state -// Interrupt 141 <0=> Secure state <1=> Non-Secure state -// Interrupt 142 <0=> Secure state <1=> Non-Secure state -// Interrupt 143 <0=> Secure state <1=> Non-Secure state -// Interrupt 144 <0=> Secure state <1=> Non-Secure state -// Interrupt 145 <0=> Secure state <1=> Non-Secure state -// Interrupt 146 <0=> Secure state <1=> Non-Secure state -// Interrupt 147 <0=> Secure state <1=> Non-Secure state -// Interrupt 148 <0=> Secure state <1=> Non-Secure state -// Interrupt 149 <0=> Secure state <1=> Non-Secure state -// Interrupt 150 <0=> Secure state <1=> Non-Secure state -// Interrupt 151 <0=> Secure state <1=> Non-Secure state -// Interrupt 152 <0=> Secure state <1=> Non-Secure state -// Interrupt 153 <0=> Secure state <1=> Non-Secure state -// Interrupt 154 <0=> Secure state <1=> Non-Secure state -// Interrupt 155 <0=> Secure state <1=> Non-Secure state -// Interrupt 156 <0=> Secure state <1=> Non-Secure state -// Interrupt 157 <0=> Secure state <1=> Non-Secure state -// Interrupt 158 <0=> Secure state <1=> Non-Secure state -// Interrupt 159 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS4_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 5 (Interrupts 160..191) -*/ -#define NVIC_INIT_ITNS5 0 - -/* -// Interrupts 160..191 -// Interrupt 160 <0=> Secure state <1=> Non-Secure state -// Interrupt 161 <0=> Secure state <1=> Non-Secure state -// Interrupt 162 <0=> Secure state <1=> Non-Secure state -// Interrupt 163 <0=> Secure state <1=> Non-Secure state -// Interrupt 164 <0=> Secure state <1=> Non-Secure state -// Interrupt 165 <0=> Secure state <1=> Non-Secure state -// Interrupt 166 <0=> Secure state <1=> Non-Secure state -// Interrupt 167 <0=> Secure state <1=> Non-Secure state -// Interrupt 168 <0=> Secure state <1=> Non-Secure state -// Interrupt 169 <0=> Secure state <1=> Non-Secure state -// Interrupt 170 <0=> Secure state <1=> Non-Secure state -// Interrupt 171 <0=> Secure state <1=> Non-Secure state -// Interrupt 172 <0=> Secure state <1=> Non-Secure state -// Interrupt 173 <0=> Secure state <1=> Non-Secure state -// Interrupt 174 <0=> Secure state <1=> Non-Secure state -// Interrupt 175 <0=> Secure state <1=> Non-Secure state -// Interrupt 176 <0=> Secure state <1=> Non-Secure state -// Interrupt 177 <0=> Secure state <1=> Non-Secure state -// Interrupt 178 <0=> Secure state <1=> Non-Secure state -// Interrupt 179 <0=> Secure state <1=> Non-Secure state -// Interrupt 180 <0=> Secure state <1=> Non-Secure state -// Interrupt 181 <0=> Secure state <1=> Non-Secure state -// Interrupt 182 <0=> Secure state <1=> Non-Secure state -// Interrupt 183 <0=> Secure state <1=> Non-Secure state -// Interrupt 184 <0=> Secure state <1=> Non-Secure state -// Interrupt 185 <0=> Secure state <1=> Non-Secure state -// Interrupt 186 <0=> Secure state <1=> Non-Secure state -// Interrupt 187 <0=> Secure state <1=> Non-Secure state -// Interrupt 188 <0=> Secure state <1=> Non-Secure state -// Interrupt 189 <0=> Secure state <1=> Non-Secure state -// Interrupt 190 <0=> Secure state <1=> Non-Secure state -// Interrupt 191 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS5_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 6 (Interrupts 192..223) -*/ -#define NVIC_INIT_ITNS6 0 - -/* -// Interrupts 192..223 -// Interrupt 192 <0=> Secure state <1=> Non-Secure state -// Interrupt 193 <0=> Secure state <1=> Non-Secure state -// Interrupt 194 <0=> Secure state <1=> Non-Secure state -// Interrupt 195 <0=> Secure state <1=> Non-Secure state -// Interrupt 196 <0=> Secure state <1=> Non-Secure state -// Interrupt 197 <0=> Secure state <1=> Non-Secure state -// Interrupt 198 <0=> Secure state <1=> Non-Secure state -// Interrupt 199 <0=> Secure state <1=> Non-Secure state -// Interrupt 200 <0=> Secure state <1=> Non-Secure state -// Interrupt 201 <0=> Secure state <1=> Non-Secure state -// Interrupt 202 <0=> Secure state <1=> Non-Secure state -// Interrupt 203 <0=> Secure state <1=> Non-Secure state -// Interrupt 204 <0=> Secure state <1=> Non-Secure state -// Interrupt 205 <0=> Secure state <1=> Non-Secure state -// Interrupt 206 <0=> Secure state <1=> Non-Secure state -// Interrupt 207 <0=> Secure state <1=> Non-Secure state -// Interrupt 208 <0=> Secure state <1=> Non-Secure state -// Interrupt 209 <0=> Secure state <1=> Non-Secure state -// Interrupt 210 <0=> Secure state <1=> Non-Secure state -// Interrupt 211 <0=> Secure state <1=> Non-Secure state -// Interrupt 212 <0=> Secure state <1=> Non-Secure state -// Interrupt 213 <0=> Secure state <1=> Non-Secure state -// Interrupt 214 <0=> Secure state <1=> Non-Secure state -// Interrupt 215 <0=> Secure state <1=> Non-Secure state -// Interrupt 216 <0=> Secure state <1=> Non-Secure state -// Interrupt 217 <0=> Secure state <1=> Non-Secure state -// Interrupt 218 <0=> Secure state <1=> Non-Secure state -// Interrupt 219 <0=> Secure state <1=> Non-Secure state -// Interrupt 220 <0=> Secure state <1=> Non-Secure state -// Interrupt 221 <0=> Secure state <1=> Non-Secure state -// Interrupt 222 <0=> Secure state <1=> Non-Secure state -// Interrupt 223 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS6_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 7 (Interrupts 224..255) -*/ -#define NVIC_INIT_ITNS7 0 - -/* -// Interrupts 224..255 -// Interrupt 224 <0=> Secure state <1=> Non-Secure state -// Interrupt 225 <0=> Secure state <1=> Non-Secure state -// Interrupt 226 <0=> Secure state <1=> Non-Secure state -// Interrupt 227 <0=> Secure state <1=> Non-Secure state -// Interrupt 228 <0=> Secure state <1=> Non-Secure state -// Interrupt 229 <0=> Secure state <1=> Non-Secure state -// Interrupt 230 <0=> Secure state <1=> Non-Secure state -// Interrupt 231 <0=> Secure state <1=> Non-Secure state -// Interrupt 232 <0=> Secure state <1=> Non-Secure state -// Interrupt 233 <0=> Secure state <1=> Non-Secure state -// Interrupt 234 <0=> Secure state <1=> Non-Secure state -// Interrupt 235 <0=> Secure state <1=> Non-Secure state -// Interrupt 236 <0=> Secure state <1=> Non-Secure state -// Interrupt 237 <0=> Secure state <1=> Non-Secure state -// Interrupt 238 <0=> Secure state <1=> Non-Secure state -// Interrupt 239 <0=> Secure state <1=> Non-Secure state -// Interrupt 240 <0=> Secure state <1=> Non-Secure state -// Interrupt 241 <0=> Secure state <1=> Non-Secure state -// Interrupt 242 <0=> Secure state <1=> Non-Secure state -// Interrupt 243 <0=> Secure state <1=> Non-Secure state -// Interrupt 244 <0=> Secure state <1=> Non-Secure state -// Interrupt 245 <0=> Secure state <1=> Non-Secure state -// Interrupt 246 <0=> Secure state <1=> Non-Secure state -// Interrupt 247 <0=> Secure state <1=> Non-Secure state -// Interrupt 248 <0=> Secure state <1=> Non-Secure state -// Interrupt 249 <0=> Secure state <1=> Non-Secure state -// Interrupt 250 <0=> Secure state <1=> Non-Secure state -// Interrupt 251 <0=> Secure state <1=> Non-Secure state -// Interrupt 252 <0=> Secure state <1=> Non-Secure state -// Interrupt 253 <0=> Secure state <1=> Non-Secure state -// Interrupt 254 <0=> Secure state <1=> Non-Secure state -// Interrupt 255 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS7_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 8 (Interrupts 256..287) -*/ -#define NVIC_INIT_ITNS8 0 - -/* -// Interrupts 256..287 -// Interrupt 256 <0=> Secure state <1=> Non-Secure state -// Interrupt 257 <0=> Secure state <1=> Non-Secure state -// Interrupt 258 <0=> Secure state <1=> Non-Secure state -// Interrupt 259 <0=> Secure state <1=> Non-Secure state -// Interrupt 260 <0=> Secure state <1=> Non-Secure state -// Interrupt 261 <0=> Secure state <1=> Non-Secure state -// Interrupt 262 <0=> Secure state <1=> Non-Secure state -// Interrupt 263 <0=> Secure state <1=> Non-Secure state -// Interrupt 264 <0=> Secure state <1=> Non-Secure state -// Interrupt 265 <0=> Secure state <1=> Non-Secure state -// Interrupt 266 <0=> Secure state <1=> Non-Secure state -// Interrupt 267 <0=> Secure state <1=> Non-Secure state -// Interrupt 268 <0=> Secure state <1=> Non-Secure state -// Interrupt 269 <0=> Secure state <1=> Non-Secure state -// Interrupt 270 <0=> Secure state <1=> Non-Secure state -// Interrupt 271 <0=> Secure state <1=> Non-Secure state -// Interrupt 272 <0=> Secure state <1=> Non-Secure state -// Interrupt 273 <0=> Secure state <1=> Non-Secure state -// Interrupt 274 <0=> Secure state <1=> Non-Secure state -// Interrupt 275 <0=> Secure state <1=> Non-Secure state -// Interrupt 276 <0=> Secure state <1=> Non-Secure state -// Interrupt 277 <0=> Secure state <1=> Non-Secure state -// Interrupt 278 <0=> Secure state <1=> Non-Secure state -// Interrupt 279 <0=> Secure state <1=> Non-Secure state -// Interrupt 280 <0=> Secure state <1=> Non-Secure state -// Interrupt 281 <0=> Secure state <1=> Non-Secure state -// Interrupt 282 <0=> Secure state <1=> Non-Secure state -// Interrupt 283 <0=> Secure state <1=> Non-Secure state -// Interrupt 284 <0=> Secure state <1=> Non-Secure state -// Interrupt 285 <0=> Secure state <1=> Non-Secure state -// Interrupt 286 <0=> Secure state <1=> Non-Secure state -// Interrupt 287 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS8_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 9 (Interrupts 288..319) -*/ -#define NVIC_INIT_ITNS9 0 - -/* -// Interrupts 288..319 -// Interrupt 288 <0=> Secure state <1=> Non-Secure state -// Interrupt 289 <0=> Secure state <1=> Non-Secure state -// Interrupt 290 <0=> Secure state <1=> Non-Secure state -// Interrupt 291 <0=> Secure state <1=> Non-Secure state -// Interrupt 292 <0=> Secure state <1=> Non-Secure state -// Interrupt 293 <0=> Secure state <1=> Non-Secure state -// Interrupt 294 <0=> Secure state <1=> Non-Secure state -// Interrupt 295 <0=> Secure state <1=> Non-Secure state -// Interrupt 296 <0=> Secure state <1=> Non-Secure state -// Interrupt 297 <0=> Secure state <1=> Non-Secure state -// Interrupt 298 <0=> Secure state <1=> Non-Secure state -// Interrupt 299 <0=> Secure state <1=> Non-Secure state -// Interrupt 300 <0=> Secure state <1=> Non-Secure state -// Interrupt 301 <0=> Secure state <1=> Non-Secure state -// Interrupt 302 <0=> Secure state <1=> Non-Secure state -// Interrupt 303 <0=> Secure state <1=> Non-Secure state -// Interrupt 304 <0=> Secure state <1=> Non-Secure state -// Interrupt 305 <0=> Secure state <1=> Non-Secure state -// Interrupt 306 <0=> Secure state <1=> Non-Secure state -// Interrupt 307 <0=> Secure state <1=> Non-Secure state -// Interrupt 308 <0=> Secure state <1=> Non-Secure state -// Interrupt 309 <0=> Secure state <1=> Non-Secure state -// Interrupt 310 <0=> Secure state <1=> Non-Secure state -// Interrupt 311 <0=> Secure state <1=> Non-Secure state -// Interrupt 312 <0=> Secure state <1=> Non-Secure state -// Interrupt 313 <0=> Secure state <1=> Non-Secure state -// Interrupt 314 <0=> Secure state <1=> Non-Secure state -// Interrupt 315 <0=> Secure state <1=> Non-Secure state -// Interrupt 316 <0=> Secure state <1=> Non-Secure state -// Interrupt 317 <0=> Secure state <1=> Non-Secure state -// Interrupt 318 <0=> Secure state <1=> Non-Secure state -// Interrupt 319 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS9_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 10 (Interrupts 320..351) -*/ -#define NVIC_INIT_ITNS10 0 - -/* -// Interrupts 320..351 -// Interrupt 320 <0=> Secure state <1=> Non-Secure state -// Interrupt 321 <0=> Secure state <1=> Non-Secure state -// Interrupt 322 <0=> Secure state <1=> Non-Secure state -// Interrupt 323 <0=> Secure state <1=> Non-Secure state -// Interrupt 324 <0=> Secure state <1=> Non-Secure state -// Interrupt 325 <0=> Secure state <1=> Non-Secure state -// Interrupt 326 <0=> Secure state <1=> Non-Secure state -// Interrupt 327 <0=> Secure state <1=> Non-Secure state -// Interrupt 328 <0=> Secure state <1=> Non-Secure state -// Interrupt 329 <0=> Secure state <1=> Non-Secure state -// Interrupt 330 <0=> Secure state <1=> Non-Secure state -// Interrupt 331 <0=> Secure state <1=> Non-Secure state -// Interrupt 332 <0=> Secure state <1=> Non-Secure state -// Interrupt 333 <0=> Secure state <1=> Non-Secure state -// Interrupt 334 <0=> Secure state <1=> Non-Secure state -// Interrupt 335 <0=> Secure state <1=> Non-Secure state -// Interrupt 336 <0=> Secure state <1=> Non-Secure state -// Interrupt 337 <0=> Secure state <1=> Non-Secure state -// Interrupt 338 <0=> Secure state <1=> Non-Secure state -// Interrupt 339 <0=> Secure state <1=> Non-Secure state -// Interrupt 340 <0=> Secure state <1=> Non-Secure state -// Interrupt 341 <0=> Secure state <1=> Non-Secure state -// Interrupt 342 <0=> Secure state <1=> Non-Secure state -// Interrupt 343 <0=> Secure state <1=> Non-Secure state -// Interrupt 344 <0=> Secure state <1=> Non-Secure state -// Interrupt 345 <0=> Secure state <1=> Non-Secure state -// Interrupt 346 <0=> Secure state <1=> Non-Secure state -// Interrupt 347 <0=> Secure state <1=> Non-Secure state -// Interrupt 348 <0=> Secure state <1=> Non-Secure state -// Interrupt 349 <0=> Secure state <1=> Non-Secure state -// Interrupt 350 <0=> Secure state <1=> Non-Secure state -// Interrupt 351 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS10_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 11 (Interrupts 352..383) -*/ -#define NVIC_INIT_ITNS11 0 - -/* -// Interrupts 352..383 -// Interrupt 352 <0=> Secure state <1=> Non-Secure state -// Interrupt 353 <0=> Secure state <1=> Non-Secure state -// Interrupt 354 <0=> Secure state <1=> Non-Secure state -// Interrupt 355 <0=> Secure state <1=> Non-Secure state -// Interrupt 356 <0=> Secure state <1=> Non-Secure state -// Interrupt 357 <0=> Secure state <1=> Non-Secure state -// Interrupt 358 <0=> Secure state <1=> Non-Secure state -// Interrupt 359 <0=> Secure state <1=> Non-Secure state -// Interrupt 360 <0=> Secure state <1=> Non-Secure state -// Interrupt 361 <0=> Secure state <1=> Non-Secure state -// Interrupt 362 <0=> Secure state <1=> Non-Secure state -// Interrupt 363 <0=> Secure state <1=> Non-Secure state -// Interrupt 364 <0=> Secure state <1=> Non-Secure state -// Interrupt 365 <0=> Secure state <1=> Non-Secure state -// Interrupt 366 <0=> Secure state <1=> Non-Secure state -// Interrupt 367 <0=> Secure state <1=> Non-Secure state -// Interrupt 368 <0=> Secure state <1=> Non-Secure state -// Interrupt 369 <0=> Secure state <1=> Non-Secure state -// Interrupt 370 <0=> Secure state <1=> Non-Secure state -// Interrupt 371 <0=> Secure state <1=> Non-Secure state -// Interrupt 372 <0=> Secure state <1=> Non-Secure state -// Interrupt 373 <0=> Secure state <1=> Non-Secure state -// Interrupt 374 <0=> Secure state <1=> Non-Secure state -// Interrupt 375 <0=> Secure state <1=> Non-Secure state -// Interrupt 376 <0=> Secure state <1=> Non-Secure state -// Interrupt 377 <0=> Secure state <1=> Non-Secure state -// Interrupt 378 <0=> Secure state <1=> Non-Secure state -// Interrupt 379 <0=> Secure state <1=> Non-Secure state -// Interrupt 380 <0=> Secure state <1=> Non-Secure state -// Interrupt 381 <0=> Secure state <1=> Non-Secure state -// Interrupt 382 <0=> Secure state <1=> Non-Secure state -// Interrupt 383 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS11_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 12 (Interrupts 384..415) -*/ -#define NVIC_INIT_ITNS12 0 - -/* -// Interrupts 384..415 -// Interrupt 384 <0=> Secure state <1=> Non-Secure state -// Interrupt 385 <0=> Secure state <1=> Non-Secure state -// Interrupt 386 <0=> Secure state <1=> Non-Secure state -// Interrupt 387 <0=> Secure state <1=> Non-Secure state -// Interrupt 388 <0=> Secure state <1=> Non-Secure state -// Interrupt 389 <0=> Secure state <1=> Non-Secure state -// Interrupt 390 <0=> Secure state <1=> Non-Secure state -// Interrupt 391 <0=> Secure state <1=> Non-Secure state -// Interrupt 392 <0=> Secure state <1=> Non-Secure state -// Interrupt 393 <0=> Secure state <1=> Non-Secure state -// Interrupt 394 <0=> Secure state <1=> Non-Secure state -// Interrupt 395 <0=> Secure state <1=> Non-Secure state -// Interrupt 396 <0=> Secure state <1=> Non-Secure state -// Interrupt 397 <0=> Secure state <1=> Non-Secure state -// Interrupt 398 <0=> Secure state <1=> Non-Secure state -// Interrupt 399 <0=> Secure state <1=> Non-Secure state -// Interrupt 400 <0=> Secure state <1=> Non-Secure state -// Interrupt 401 <0=> Secure state <1=> Non-Secure state -// Interrupt 402 <0=> Secure state <1=> Non-Secure state -// Interrupt 403 <0=> Secure state <1=> Non-Secure state -// Interrupt 404 <0=> Secure state <1=> Non-Secure state -// Interrupt 405 <0=> Secure state <1=> Non-Secure state -// Interrupt 406 <0=> Secure state <1=> Non-Secure state -// Interrupt 407 <0=> Secure state <1=> Non-Secure state -// Interrupt 408 <0=> Secure state <1=> Non-Secure state -// Interrupt 409 <0=> Secure state <1=> Non-Secure state -// Interrupt 410 <0=> Secure state <1=> Non-Secure state -// Interrupt 411 <0=> Secure state <1=> Non-Secure state -// Interrupt 412 <0=> Secure state <1=> Non-Secure state -// Interrupt 413 <0=> Secure state <1=> Non-Secure state -// Interrupt 414 <0=> Secure state <1=> Non-Secure state -// Interrupt 415 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS12_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 13 (Interrupts 416..447) -*/ -#define NVIC_INIT_ITNS13 0 - -/* -// Interrupts 416..447 -// Interrupt 416 <0=> Secure state <1=> Non-Secure state -// Interrupt 417 <0=> Secure state <1=> Non-Secure state -// Interrupt 418 <0=> Secure state <1=> Non-Secure state -// Interrupt 419 <0=> Secure state <1=> Non-Secure state -// Interrupt 420 <0=> Secure state <1=> Non-Secure state -// Interrupt 421 <0=> Secure state <1=> Non-Secure state -// Interrupt 422 <0=> Secure state <1=> Non-Secure state -// Interrupt 423 <0=> Secure state <1=> Non-Secure state -// Interrupt 424 <0=> Secure state <1=> Non-Secure state -// Interrupt 425 <0=> Secure state <1=> Non-Secure state -// Interrupt 426 <0=> Secure state <1=> Non-Secure state -// Interrupt 427 <0=> Secure state <1=> Non-Secure state -// Interrupt 428 <0=> Secure state <1=> Non-Secure state -// Interrupt 429 <0=> Secure state <1=> Non-Secure state -// Interrupt 430 <0=> Secure state <1=> Non-Secure state -// Interrupt 431 <0=> Secure state <1=> Non-Secure state -// Interrupt 432 <0=> Secure state <1=> Non-Secure state -// Interrupt 433 <0=> Secure state <1=> Non-Secure state -// Interrupt 434 <0=> Secure state <1=> Non-Secure state -// Interrupt 435 <0=> Secure state <1=> Non-Secure state -// Interrupt 436 <0=> Secure state <1=> Non-Secure state -// Interrupt 437 <0=> Secure state <1=> Non-Secure state -// Interrupt 438 <0=> Secure state <1=> Non-Secure state -// Interrupt 439 <0=> Secure state <1=> Non-Secure state -// Interrupt 440 <0=> Secure state <1=> Non-Secure state -// Interrupt 441 <0=> Secure state <1=> Non-Secure state -// Interrupt 442 <0=> Secure state <1=> Non-Secure state -// Interrupt 443 <0=> Secure state <1=> Non-Secure state -// Interrupt 444 <0=> Secure state <1=> Non-Secure state -// Interrupt 445 <0=> Secure state <1=> Non-Secure state -// Interrupt 446 <0=> Secure state <1=> Non-Secure state -// Interrupt 447 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS13_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 14 (Interrupts 448..479) -*/ -#define NVIC_INIT_ITNS14 0 - -/* -// Interrupts 448..479 -// Interrupt 448 <0=> Secure state <1=> Non-Secure state -// Interrupt 449 <0=> Secure state <1=> Non-Secure state -// Interrupt 450 <0=> Secure state <1=> Non-Secure state -// Interrupt 451 <0=> Secure state <1=> Non-Secure state -// Interrupt 452 <0=> Secure state <1=> Non-Secure state -// Interrupt 453 <0=> Secure state <1=> Non-Secure state -// Interrupt 454 <0=> Secure state <1=> Non-Secure state -// Interrupt 455 <0=> Secure state <1=> Non-Secure state -// Interrupt 456 <0=> Secure state <1=> Non-Secure state -// Interrupt 457 <0=> Secure state <1=> Non-Secure state -// Interrupt 458 <0=> Secure state <1=> Non-Secure state -// Interrupt 459 <0=> Secure state <1=> Non-Secure state -// Interrupt 460 <0=> Secure state <1=> Non-Secure state -// Interrupt 461 <0=> Secure state <1=> Non-Secure state -// Interrupt 462 <0=> Secure state <1=> Non-Secure state -// Interrupt 463 <0=> Secure state <1=> Non-Secure state -// Interrupt 464 <0=> Secure state <1=> Non-Secure state -// Interrupt 465 <0=> Secure state <1=> Non-Secure state -// Interrupt 466 <0=> Secure state <1=> Non-Secure state -// Interrupt 467 <0=> Secure state <1=> Non-Secure state -// Interrupt 468 <0=> Secure state <1=> Non-Secure state -// Interrupt 469 <0=> Secure state <1=> Non-Secure state -// Interrupt 470 <0=> Secure state <1=> Non-Secure state -// Interrupt 471 <0=> Secure state <1=> Non-Secure state -// Interrupt 472 <0=> Secure state <1=> Non-Secure state -// Interrupt 473 <0=> Secure state <1=> Non-Secure state -// Interrupt 474 <0=> Secure state <1=> Non-Secure state -// Interrupt 475 <0=> Secure state <1=> Non-Secure state -// Interrupt 476 <0=> Secure state <1=> Non-Secure state -// Interrupt 477 <0=> Secure state <1=> Non-Secure state -// Interrupt 478 <0=> Secure state <1=> Non-Secure state -// Interrupt 479 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS14_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 15 (Interrupts 480..511) -*/ -#define NVIC_INIT_ITNS15 0 - -/* -// Interrupts 480..511 -// Interrupt 480 <0=> Secure state <1=> Non-Secure state -// Interrupt 481 <0=> Secure state <1=> Non-Secure state -// Interrupt 482 <0=> Secure state <1=> Non-Secure state -// Interrupt 483 <0=> Secure state <1=> Non-Secure state -// Interrupt 484 <0=> Secure state <1=> Non-Secure state -// Interrupt 485 <0=> Secure state <1=> Non-Secure state -// Interrupt 486 <0=> Secure state <1=> Non-Secure state -// Interrupt 487 <0=> Secure state <1=> Non-Secure state -// Interrupt 488 <0=> Secure state <1=> Non-Secure state -// Interrupt 489 <0=> Secure state <1=> Non-Secure state -// Interrupt 490 <0=> Secure state <1=> Non-Secure state -// Interrupt 491 <0=> Secure state <1=> Non-Secure state -// Interrupt 492 <0=> Secure state <1=> Non-Secure state -// Interrupt 493 <0=> Secure state <1=> Non-Secure state -// Interrupt 494 <0=> Secure state <1=> Non-Secure state -// Interrupt 495 <0=> Secure state <1=> Non-Secure state -// Interrupt 496 <0=> Secure state <1=> Non-Secure state -// Interrupt 497 <0=> Secure state <1=> Non-Secure state -// Interrupt 498 <0=> Secure state <1=> Non-Secure state -// Interrupt 499 <0=> Secure state <1=> Non-Secure state -// Interrupt 500 <0=> Secure state <1=> Non-Secure state -// Interrupt 501 <0=> Secure state <1=> Non-Secure state -// Interrupt 502 <0=> Secure state <1=> Non-Secure state -// Interrupt 503 <0=> Secure state <1=> Non-Secure state -// Interrupt 504 <0=> Secure state <1=> Non-Secure state -// Interrupt 505 <0=> Secure state <1=> Non-Secure state -// Interrupt 506 <0=> Secure state <1=> Non-Secure state -// Interrupt 507 <0=> Secure state <1=> Non-Secure state -// Interrupt 508 <0=> Secure state <1=> Non-Secure state -// Interrupt 509 <0=> Secure state <1=> Non-Secure state -// Interrupt 510 <0=> Secure state <1=> Non-Secure state -// Interrupt 511 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS15_VAL 0x00000000 - -/* -// -*/ - -/* -// -*/ - - - -/* - max 128 SAU regions. - SAU regions are defined in partition.h - */ - -#define SAU_INIT_REGION(n) \ - SAU->RNR = (n & SAU_RNR_REGION_Msk); \ - SAU->RBAR = (SAU_INIT_START##n & SAU_RBAR_BADDR_Msk); \ - SAU->RLAR = (SAU_INIT_END##n & SAU_RLAR_LADDR_Msk) | \ - ((SAU_INIT_NSC##n << SAU_RLAR_NSC_Pos) & SAU_RLAR_NSC_Msk) | 1U - -/** - \brief Setup a SAU Region - \details Writes the region information contained in SAU_Region to the - registers SAU_RNR, SAU_RBAR, and SAU_RLAR - */ -__STATIC_INLINE void TZ_SAU_Setup (void) -{ - -#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) - - #if defined (SAU_INIT_REGION0) && (SAU_INIT_REGION0 == 1U) - SAU_INIT_REGION(0); - #endif - - #if defined (SAU_INIT_REGION1) && (SAU_INIT_REGION1 == 1U) - SAU_INIT_REGION(1); - #endif - - #if defined (SAU_INIT_REGION2) && (SAU_INIT_REGION2 == 1U) - SAU_INIT_REGION(2); - #endif - - #if defined (SAU_INIT_REGION3) && (SAU_INIT_REGION3 == 1U) - SAU_INIT_REGION(3); - #endif - - #if defined (SAU_INIT_REGION4) && (SAU_INIT_REGION4 == 1U) - SAU_INIT_REGION(4); - #endif - - #if defined (SAU_INIT_REGION5) && (SAU_INIT_REGION5 == 1U) - SAU_INIT_REGION(5); - #endif - - #if defined (SAU_INIT_REGION6) && (SAU_INIT_REGION6 == 1U) - SAU_INIT_REGION(6); - #endif - - #if defined (SAU_INIT_REGION7) && (SAU_INIT_REGION7 == 1U) - SAU_INIT_REGION(7); - #endif - - /* repeat this for all possible SAU regions */ - -#endif /* defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) */ - - - #if defined (SAU_INIT_CTRL) && (SAU_INIT_CTRL == 1U) - SAU->CTRL = ((SAU_INIT_CTRL_ENABLE << SAU_CTRL_ENABLE_Pos) & SAU_CTRL_ENABLE_Msk) | - ((SAU_INIT_CTRL_ALLNS << SAU_CTRL_ALLNS_Pos) & SAU_CTRL_ALLNS_Msk) ; - #endif - - #if defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) - SCB->SCR = (SCB->SCR & ~(SCB_SCR_SLEEPDEEPS_Msk )) | - ((SCB_CSR_DEEPSLEEPS_VAL << SCB_SCR_SLEEPDEEPS_Pos) & SCB_SCR_SLEEPDEEPS_Msk); - - SCB->AIRCR = (SCB->AIRCR & ~(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_SYSRESETREQS_Msk | - SCB_AIRCR_BFHFNMINS_Msk | SCB_AIRCR_PRIS_Msk )) | - ((0x05FAU << SCB_AIRCR_VECTKEY_Pos) & SCB_AIRCR_VECTKEY_Msk) | - ((SCB_AIRCR_SYSRESETREQS_VAL << SCB_AIRCR_SYSRESETREQS_Pos) & SCB_AIRCR_SYSRESETREQS_Msk) | - ((SCB_AIRCR_PRIS_VAL << SCB_AIRCR_PRIS_Pos) & SCB_AIRCR_PRIS_Msk) | - ((SCB_AIRCR_BFHFNMINS_VAL << SCB_AIRCR_BFHFNMINS_Pos) & SCB_AIRCR_BFHFNMINS_Msk); - #endif /* defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) */ - - #if (((defined (__FPU_USED) && (__FPU_USED == 1U)) || \ - (defined (__ARM_FEATURE_MVE) && (__ARM_FEATURE_MVE > 0))) && \ - (defined (TZ_FPU_NS_USAGE) && (TZ_FPU_NS_USAGE == 1U))) - - SCB->NSACR = (SCB->NSACR & ~(SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)) | - ((SCB_NSACR_CP10_11_VAL << SCB_NSACR_CP10_Pos) & (SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)); - - FPU->FPCCR = (FPU->FPCCR & ~(FPU_FPCCR_TS_Msk | FPU_FPCCR_CLRONRETS_Msk | FPU_FPCCR_CLRONRET_Msk)) | - ((FPU_FPCCR_TS_VAL << FPU_FPCCR_TS_Pos ) & FPU_FPCCR_TS_Msk ) | - ((FPU_FPCCR_CLRONRETS_VAL << FPU_FPCCR_CLRONRETS_Pos) & FPU_FPCCR_CLRONRETS_Msk) | - ((FPU_FPCCR_CLRONRET_VAL << FPU_FPCCR_CLRONRET_Pos ) & FPU_FPCCR_CLRONRET_Msk ); - #endif - - #if defined (NVIC_INIT_ITNS0) && (NVIC_INIT_ITNS0 == 1U) - NVIC->ITNS[0] = NVIC_INIT_ITNS0_VAL; - #endif - - #if defined (NVIC_INIT_ITNS1) && (NVIC_INIT_ITNS1 == 1U) - NVIC->ITNS[1] = NVIC_INIT_ITNS1_VAL; - #endif - - #if defined (NVIC_INIT_ITNS2) && (NVIC_INIT_ITNS2 == 1U) - NVIC->ITNS[2] = NVIC_INIT_ITNS2_VAL; - #endif - - #if defined (NVIC_INIT_ITNS3) && (NVIC_INIT_ITNS3 == 1U) - NVIC->ITNS[3] = NVIC_INIT_ITNS3_VAL; - #endif - - #if defined (NVIC_INIT_ITNS4) && (NVIC_INIT_ITNS4 == 1U) - NVIC->ITNS[4] = NVIC_INIT_ITNS4_VAL; - #endif - - #if defined (NVIC_INIT_ITNS5) && (NVIC_INIT_ITNS5 == 1U) - NVIC->ITNS[5] = NVIC_INIT_ITNS5_VAL; - #endif - - #if defined (NVIC_INIT_ITNS6) && (NVIC_INIT_ITNS6 == 1U) - NVIC->ITNS[6] = NVIC_INIT_ITNS6_VAL; - #endif - - #if defined (NVIC_INIT_ITNS7) && (NVIC_INIT_ITNS7 == 1U) - NVIC->ITNS[7] = NVIC_INIT_ITNS7_VAL; - #endif - - #if defined (NVIC_INIT_ITNS8) && (NVIC_INIT_ITNS8 == 1U) - NVIC->ITNS[8] = NVIC_INIT_ITNS8_VAL; - #endif - - #if defined (NVIC_INIT_ITNS9) && (NVIC_INIT_ITNS9 == 1U) - NVIC->ITNS[9] = NVIC_INIT_ITNS9_VAL; - #endif - - #if defined (NVIC_INIT_ITNS10) && (NVIC_INIT_ITNS10 == 1U) - NVIC->ITNS[10] = NVIC_INIT_ITNS10_VAL; - #endif - - #if defined (NVIC_INIT_ITNS11) && (NVIC_INIT_ITNS11 == 1U) - NVIC->ITNS[11] = NVIC_INIT_ITNS11_VAL; - #endif - - #if defined (NVIC_INIT_ITNS12) && (NVIC_INIT_ITNS12 == 1U) - NVIC->ITNS[12] = NVIC_INIT_ITNS12_VAL; - #endif - - #if defined (NVIC_INIT_ITNS13) && (NVIC_INIT_ITNS13 == 1U) - NVIC->ITNS[13] = NVIC_INIT_ITNS13_VAL; - #endif - - #if defined (NVIC_INIT_ITNS14) && (NVIC_INIT_ITNS14 == 1U) - NVIC->ITNS[14] = NVIC_INIT_ITNS14_VAL; - #endif - - #if defined (NVIC_INIT_ITNS15) && (NVIC_INIT_ITNS15 == 1U) - NVIC->ITNS[15] = NVIC_INIT_ITNS15_VAL; - #endif - - /* repeat this for all possible ITNS elements */ - -} - -#endif /* PARTITION_ARMCM55_H */ diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/RTE/Device/ARMCM55/startup_ARMCM55.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/RTE/Device/ARMCM55/startup_ARMCM55.c deleted file mode 100644 index 0557c5f..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/RTE/Device/ARMCM55/startup_ARMCM55.c +++ /dev/null @@ -1,164 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM55.c - * @brief CMSIS-Core Device Startup File for Cortex-M55 Device - * @version V1.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM55) - #include "ARMCM55.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SecureFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - SecureFault_Handler, /* -9 Secure Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 480 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/RTE/Device/ARMCM55/startup_ARMCM55.c.base@1.1.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/RTE/Device/ARMCM55/startup_ARMCM55.c.base@1.1.0 deleted file mode 100644 index 0557c5f..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/RTE/Device/ARMCM55/startup_ARMCM55.c.base@1.1.0 +++ /dev/null @@ -1,164 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM55.c - * @brief CMSIS-Core Device Startup File for Cortex-M55 Device - * @version V1.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM55) - #include "ARMCM55.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SecureFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - SecureFault_Handler, /* -9 Secure Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 480 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/RTE/Device/ARMCM55/system_ARMCM55.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/RTE/Device/ARMCM55/system_ARMCM55.c deleted file mode 100644 index d66624d..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/RTE/Device/ARMCM55/system_ARMCM55.c +++ /dev/null @@ -1,107 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM55.c - * @brief CMSIS Device System Source File for - * ARMCM55 Device - * @version V1.1.0 - * @date 28. March 2022 - ******************************************************************************/ -/* - * Copyright (c) 2009-2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM55) - #include "ARMCM55.h" -#else - #error device not specified! -#endif - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM55.h" - #endif - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL ( 5000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (5U * XTAL) - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t)(&__VECTOR_TABLE[0]); -#endif - -#if (defined (__FPU_USED) && (__FPU_USED == 1U)) || \ - (defined (__ARM_FEATURE_MVE) && (__ARM_FEATURE_MVE > 0U)) - SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ - (3U << 11U*2U) ); /* enable CP11 Full Access */ - - /* Set low-power state for PDEPU */ - /* 0b00 | ON, PDEPU is not in low-power state */ - /* 0b01 | ON, but the clock is off */ - /* 0b10 | RET(ention) */ - /* 0b11 | OFF */ - - /* Clear ELPSTATE, value is 0b11 on Cold reset */ - PWRMODCTL->CPDLPSTATE &= ~(PWRMODCTL_CPDLPSTATE_ELPSTATE_Msk); - - /* Favor best FP/MVE performance by default, avoid EPU switch-ON delays */ - /* PDEPU ON, Clock OFF */ - PWRMODCTL->CPDLPSTATE |= 0x1 << PWRMODCTL_CPDLPSTATE_ELPSTATE_Pos; -#endif - -#ifdef UNALIGNED_SUPPORT_DISABLE - SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; -#endif - - /* Enable Loop and branch info cache */ - SCB->CCR |= SCB_CCR_LOB_Msk; - __DSB(); - __ISB(); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - TZ_SAU_Setup(); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/RTE/Device/ARMCM55/system_ARMCM55.c.base@1.1.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/RTE/Device/ARMCM55/system_ARMCM55.c.base@1.1.0 deleted file mode 100644 index d66624d..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/RTE/Device/ARMCM55/system_ARMCM55.c.base@1.1.0 +++ /dev/null @@ -1,107 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM55.c - * @brief CMSIS Device System Source File for - * ARMCM55 Device - * @version V1.1.0 - * @date 28. March 2022 - ******************************************************************************/ -/* - * Copyright (c) 2009-2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM55) - #include "ARMCM55.h" -#else - #error device not specified! -#endif - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM55.h" - #endif - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL ( 5000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (5U * XTAL) - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t)(&__VECTOR_TABLE[0]); -#endif - -#if (defined (__FPU_USED) && (__FPU_USED == 1U)) || \ - (defined (__ARM_FEATURE_MVE) && (__ARM_FEATURE_MVE > 0U)) - SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ - (3U << 11U*2U) ); /* enable CP11 Full Access */ - - /* Set low-power state for PDEPU */ - /* 0b00 | ON, PDEPU is not in low-power state */ - /* 0b01 | ON, but the clock is off */ - /* 0b10 | RET(ention) */ - /* 0b11 | OFF */ - - /* Clear ELPSTATE, value is 0b11 on Cold reset */ - PWRMODCTL->CPDLPSTATE &= ~(PWRMODCTL_CPDLPSTATE_ELPSTATE_Msk); - - /* Favor best FP/MVE performance by default, avoid EPU switch-ON delays */ - /* PDEPU ON, Clock OFF */ - PWRMODCTL->CPDLPSTATE |= 0x1 << PWRMODCTL_CPDLPSTATE_ELPSTATE_Pos; -#endif - -#ifdef UNALIGNED_SUPPORT_DISABLE - SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; -#endif - - /* Enable Loop and branch info cache */ - SCB->CCR |= SCB_CCR_LOB_Msk; - __DSB(); - __ISB(); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - TZ_SAU_Setup(); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/Target.clayer.yml b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/Target.clayer.yml deleted file mode 100644 index ee45512..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/Target.clayer.yml +++ /dev/null @@ -1,22 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/1.3.0/tools/projmgr/schemas/clayer.schema.json - -layer: - # type: Target - description: Target setup - - # packs: - # - pack: ARM::CMSIS - - components: - # [Cvendor::] Cclass [&Cbundle] :Cgroup [:Csub] [&Cvariant] [@[>=]Cversion] - - component: ARM::CMSIS:CORE - - component: Device:Startup&C Startup - - misc: - - for-compiler: IAR - Link: [--config generic_cortex.icf] - - groups: - - group: VHT/FVP - files: - - file: ./model_config.txt diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/model_config.txt b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/model_config.txt deleted file mode 100644 index c5bc897..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM55S_BL/model_config.txt +++ /dev/null @@ -1,29 +0,0 @@ -# Parameters: -# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] -#---------------------------------------------------------------------------------------------- -fvp_mps2.mps2_visualisation.disable-visualisation=1 # (bool , init-time) default = '0' : Enable/disable visualisation -cpu0.FPU=1 # (bool , init-time) default = '1' : Set whether the model has VFP support -cpu0.MVE=2 # (int , init-time) default = '0x1' : Set whether the model has MVE support. If FPU = 0: 0=MVE not included, 1=Integer subset of MVE included. If FPU = 1: 0=MVE not included, 1=Integer subset of MVE included, 2=Integer and half and single precision floating point MVE included -cpu0.semihosting-enable=1 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. -cpu0.semihosting-Thumb_SVC=0xAB # (int , init-time) default = '0xAB' : T32 SVC number for semihosting : [0x0..0xFF] -cpu0.semihosting-cmd_line="" # (string, init-time) default = '' : Command line available to semihosting SVC calls -cpu0.semihosting-heap_base=0x0 # (int , init-time) default = '0x0' : Virtual address of heap base : [0x0..0xFFFFFFFF] -cpu0.semihosting-heap_limit=0x0 # (int , init-time) default = '0x10700000' : Virtual address of top of heap : [0x0..0xFFFFFFFF] -cpu0.semihosting-stack_base=0x0 # (int , init-time) default = '0x10700000' : Virtual address of base of descending stack : [0x0..0xFFFFFFFF] -cpu0.semihosting-stack_limit=0x0 # (int , init-time) default = '0x10800000' : Virtual address of stack limit : [0x0..0xFFFFFFFF] -cpu0.semihosting-cwd="" # (string, init-time) default = '' : Base directory for semihosting file access. -cpu0.MPU_S=0x8 # (int , init-time) default = '0x8' : Number of regions in the Secure MPU. If Security Extentions are absent, this is ignored : [0x0..0x10] -cpu0.MPU_NS=0x8 # (int , init-time) default = '0x8' : Number of regions in the Non-Secure MPU. If Security Extentions are absent, this is the total number of MPU regions : [0x0..0x10] -cpu0.ITM=0 # (bool , init-time) default = '1' : Level of instrumentation trace supported. false : No ITM trace included, true: ITM trace included -cpu0.IRQLVL=0x3 # (int , init-time) default = '0x3' : Number of bits of interrupt priority : [0x3..0x8] -cpu0.INITSVTOR=0x00000000 # (int , init-time) default = '0x10000000' : Secure vector-table offset at reset : [0x0..0xFFFFFF80] -cpu0.INITNSVTOR=0x0 # (int , init-time) default = '0x0' : Non-Secure vector-table offset at reset : [0x0..0xFFFFFF80] -cpu0.SAU=0x8 # (int , init-time) default = '0x4' : Number of SAU regions (0 => no SAU) : [0x0..0x8] -idau.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' : -cpu0.LOCK_SAU=0 # (bool , init-time) default = '0' : Lock down of SAU registers write -cpu0.LOCK_S_MPU=0 # (bool , init-time) default = '0' : Lock down of Secure MPU registers write -cpu0.LOCK_NS_MPU=0 # (bool , init-time) default = '0' : Lock down of Non-Secure MPU registers write -cpu0.CPIF=1 # (bool , init-time) default = '1' : Specifies whether the external coprocessor interface is included -cpu0.SECEXT=1 # (bool , init-time) default = '1' : Whether the ARMv8-M Security Extensions are included -fvp_mps2.DISABLE_GATING=1 # (bool , init-time) default = '0' : Disable Memory gating logic -#---------------------------------------------------------------------------------------------- diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7/RTE/Device/ARMCM7/ARMCM7_ac6.sct b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7/RTE/Device/ARMCM7/ARMCM7_ac6.sct deleted file mode 100644 index 3cba29e..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7/RTE/Device/ARMCM7/ARMCM7_ac6.sct +++ /dev/null @@ -1,80 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m7 -xc -; command above MUST be in first line (no comment above!) - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE) /* starts at end of RAM */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - - -/*---------------------------------------------------------------------------- - Scatter File Definitions definition - *----------------------------------------------------------------------------*/ -#define __RO_BASE __ROM_BASE -#define __RO_SIZE __ROM_SIZE - -#define __RW_BASE __RAM_BASE -#define __RW_SIZE (__RAM_SIZE - __STACK_SIZE - __HEAP_SIZE) - - -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7/RTE/Device/ARMCM7/gcc_arm.ld b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7/RTE/Device/ARMCM7/gcc_arm.ld deleted file mode 100644 index 7498908..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7/RTE/Device/ARMCM7/gcc_arm.ld +++ /dev/null @@ -1,296 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.1.0 - * @date 04. August 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00040000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00020000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ -/* - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH -*/ - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7/RTE/Device/ARMCM7/startup_ARMCM7.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7/RTE/Device/ARMCM7/startup_ARMCM7.c deleted file mode 100644 index 509cd33..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7/RTE/Device/ARMCM7/startup_ARMCM7.c +++ /dev/null @@ -1,154 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM7.c - * @brief CMSIS-Core(M) Device Startup File for a Cortex-M7 Device - * @version V2.0.3 - * @date 31. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM7) - #include "ARMCM7.h" -#elif defined (ARMCM7_SP) - #include "ARMCM7_SP.h" -#elif defined (ARMCM7_DP) - #include "ARMCM7_DP.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 223 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7/RTE/Device/ARMCM7/startup_ARMCM7.c.base@2.0.3 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7/RTE/Device/ARMCM7/startup_ARMCM7.c.base@2.0.3 deleted file mode 100644 index 509cd33..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7/RTE/Device/ARMCM7/startup_ARMCM7.c.base@2.0.3 +++ /dev/null @@ -1,154 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM7.c - * @brief CMSIS-Core(M) Device Startup File for a Cortex-M7 Device - * @version V2.0.3 - * @date 31. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM7) - #include "ARMCM7.h" -#elif defined (ARMCM7_SP) - #include "ARMCM7_SP.h" -#elif defined (ARMCM7_DP) - #include "ARMCM7_DP.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 223 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7/RTE/Device/ARMCM7/system_ARMCM7.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7/RTE/Device/ARMCM7/system_ARMCM7.c deleted file mode 100644 index 75f9c18..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7/RTE/Device/ARMCM7/system_ARMCM7.c +++ /dev/null @@ -1,83 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM7.c - * @brief CMSIS Device System Source File for - * ARMCM7 Device - * @version V1.0.1 - * @date 15. November 2019 - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM7) - #include "ARMCM7.h" -#elif defined (ARMCM7_SP) - #include "ARMCM7_SP.h" -#elif defined (ARMCM7_DP) - #include "ARMCM7_DP.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t) &(__VECTOR_TABLE[0]); -#endif - -#if defined (__FPU_USED) && (__FPU_USED == 1U) - SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ - (3U << 11U*2U) ); /* enable CP11 Full Access */ -#endif - -#ifdef UNALIGNED_SUPPORT_DISABLE - SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7/Target.clayer.yml b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7/Target.clayer.yml deleted file mode 100644 index ee45512..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7/Target.clayer.yml +++ /dev/null @@ -1,22 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/1.3.0/tools/projmgr/schemas/clayer.schema.json - -layer: - # type: Target - description: Target setup - - # packs: - # - pack: ARM::CMSIS - - components: - # [Cvendor::] Cclass [&Cbundle] :Cgroup [:Csub] [&Cvariant] [@[>=]Cversion] - - component: ARM::CMSIS:CORE - - component: Device:Startup&C Startup - - misc: - - for-compiler: IAR - Link: [--config generic_cortex.icf] - - groups: - - group: VHT/FVP - files: - - file: ./model_config.txt diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7/model_config.txt b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7/model_config.txt deleted file mode 100644 index da5f3de..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7/model_config.txt +++ /dev/null @@ -1,14 +0,0 @@ -# Parameters: -# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] -#---------------------------------------------------------------------------------------------- -fvp_mps2.mps2_visualisation.disable-visualisation=1 # (bool , init-time) default = '0' : Enable/disable visualisation -armcortexm7ct.vfp-present=0 # (bool , init-time) default = '1' : Set whether the model has VFP support -armcortexm7ct.semihosting-enable=1 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. -armcortexm7ct.semihosting-Thumb_SVC=0xAB # (int , init-time) default = '0xAB' : T32 SVC number for semihosting : [0x0..0xFF] -armcortexm7ct.semihosting-cmd_line="" # (string, init-time) default = '' : Command line available to semihosting SVC calls -armcortexm7ct.semihosting-heap_base=0x0 # (int , init-time) default = '0x0' : Virtual address of heap base : [0x0..0xFFFFFFFF] -armcortexm7ct.semihosting-heap_limit=0 # (int , init-time) default = '0x10700000' : Virtual address of top of heap : [0x0..0xFFFFFFFF] -armcortexm7ct.semihosting-stack_base=0 # (int , init-time) default = '0x10700000' : Virtual address of base of descending stack : [0x0..0xFFFFFFFF] -armcortexm7ct.semihosting-stack_limit=0 # (int , init-time) default = '0x10800000' : Virtual address of stack limit : [0x0..0xFFFFFFFF] -armcortexm7ct.semihosting-cwd="" # (string, init-time) default = '' : Base directory for semihosting file access. -#---------------------------------------------------------------------------------------------- diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7DP/RTE/Device/ARMCM7_DP/ARMCM7_ac6.sct b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7DP/RTE/Device/ARMCM7_DP/ARMCM7_ac6.sct deleted file mode 100644 index 3cba29e..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7DP/RTE/Device/ARMCM7_DP/ARMCM7_ac6.sct +++ /dev/null @@ -1,80 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m7 -xc -; command above MUST be in first line (no comment above!) - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE) /* starts at end of RAM */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - - -/*---------------------------------------------------------------------------- - Scatter File Definitions definition - *----------------------------------------------------------------------------*/ -#define __RO_BASE __ROM_BASE -#define __RO_SIZE __ROM_SIZE - -#define __RW_BASE __RAM_BASE -#define __RW_SIZE (__RAM_SIZE - __STACK_SIZE - __HEAP_SIZE) - - -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7DP/RTE/Device/ARMCM7_DP/gcc_arm.ld b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7DP/RTE/Device/ARMCM7_DP/gcc_arm.ld deleted file mode 100644 index 7498908..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7DP/RTE/Device/ARMCM7_DP/gcc_arm.ld +++ /dev/null @@ -1,296 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.1.0 - * @date 04. August 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00040000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00020000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ -/* - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH -*/ - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7DP/RTE/Device/ARMCM7_DP/startup_ARMCM7.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7DP/RTE/Device/ARMCM7_DP/startup_ARMCM7.c deleted file mode 100644 index 509cd33..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7DP/RTE/Device/ARMCM7_DP/startup_ARMCM7.c +++ /dev/null @@ -1,154 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM7.c - * @brief CMSIS-Core(M) Device Startup File for a Cortex-M7 Device - * @version V2.0.3 - * @date 31. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM7) - #include "ARMCM7.h" -#elif defined (ARMCM7_SP) - #include "ARMCM7_SP.h" -#elif defined (ARMCM7_DP) - #include "ARMCM7_DP.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 223 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7DP/RTE/Device/ARMCM7_DP/startup_ARMCM7.c.base@2.0.3 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7DP/RTE/Device/ARMCM7_DP/startup_ARMCM7.c.base@2.0.3 deleted file mode 100644 index 509cd33..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7DP/RTE/Device/ARMCM7_DP/startup_ARMCM7.c.base@2.0.3 +++ /dev/null @@ -1,154 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM7.c - * @brief CMSIS-Core(M) Device Startup File for a Cortex-M7 Device - * @version V2.0.3 - * @date 31. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM7) - #include "ARMCM7.h" -#elif defined (ARMCM7_SP) - #include "ARMCM7_SP.h" -#elif defined (ARMCM7_DP) - #include "ARMCM7_DP.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 223 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7DP/RTE/Device/ARMCM7_DP/system_ARMCM7.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7DP/RTE/Device/ARMCM7_DP/system_ARMCM7.c deleted file mode 100644 index 75f9c18..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7DP/RTE/Device/ARMCM7_DP/system_ARMCM7.c +++ /dev/null @@ -1,83 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM7.c - * @brief CMSIS Device System Source File for - * ARMCM7 Device - * @version V1.0.1 - * @date 15. November 2019 - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM7) - #include "ARMCM7.h" -#elif defined (ARMCM7_SP) - #include "ARMCM7_SP.h" -#elif defined (ARMCM7_DP) - #include "ARMCM7_DP.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t) &(__VECTOR_TABLE[0]); -#endif - -#if defined (__FPU_USED) && (__FPU_USED == 1U) - SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ - (3U << 11U*2U) ); /* enable CP11 Full Access */ -#endif - -#ifdef UNALIGNED_SUPPORT_DISABLE - SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7DP/Target.clayer.yml b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7DP/Target.clayer.yml deleted file mode 100644 index ee45512..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7DP/Target.clayer.yml +++ /dev/null @@ -1,22 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/1.3.0/tools/projmgr/schemas/clayer.schema.json - -layer: - # type: Target - description: Target setup - - # packs: - # - pack: ARM::CMSIS - - components: - # [Cvendor::] Cclass [&Cbundle] :Cgroup [:Csub] [&Cvariant] [@[>=]Cversion] - - component: ARM::CMSIS:CORE - - component: Device:Startup&C Startup - - misc: - - for-compiler: IAR - Link: [--config generic_cortex.icf] - - groups: - - group: VHT/FVP - files: - - file: ./model_config.txt diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7DP/model_config.txt b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7DP/model_config.txt deleted file mode 100644 index acc5fac..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7DP/model_config.txt +++ /dev/null @@ -1,15 +0,0 @@ -# Parameters: -# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] -#---------------------------------------------------------------------------------------------- -fvp_mps2.mps2_visualisation.disable-visualisation=1 # (bool , init-time) default = '0' : Enable/disable visualisation -armcortexm7ct.vfp-present=1 # (bool , init-time) default = '1' : Set whether the model has VFP support -armcortexm7ct.semihosting-enable=1 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. -armcortexm7ct.semihosting-Thumb_SVC=0xAB # (int , init-time) default = '0xAB' : T32 SVC number for semihosting : [0x0..0xFF] -armcortexm7ct.semihosting-cmd_line="" # (string, init-time) default = '' : Command line available to semihosting SVC calls -armcortexm7ct.semihosting-heap_base=0x0 # (int , init-time) default = '0x0' : Virtual address of heap base : [0x0..0xFFFFFFFF] -armcortexm7ct.semihosting-heap_limit=0 # (int , init-time) default = '0x10700000' : Virtual address of top of heap : [0x0..0xFFFFFFFF] -armcortexm7ct.semihosting-stack_base=0 # (int , init-time) default = '0x10700000' : Virtual address of base of descending stack : [0x0..0xFFFFFFFF] -armcortexm7ct.semihosting-stack_limit=0 # (int , init-time) default = '0x10800000' : Virtual address of stack limit : [0x0..0xFFFFFFFF] -armcortexm7ct.semihosting-cwd="" # (string, init-time) default = '' : Base directory for semihosting file access. -armcortexm7ct.DP_FLOAT=1 # (bool , init-time) default = '1' : Support 8-byte floats -#---------------------------------------------------------------------------------------------- diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7SP/RTE/Device/ARMCM7_SP/ARMCM7_ac6.sct b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7SP/RTE/Device/ARMCM7_SP/ARMCM7_ac6.sct deleted file mode 100644 index 3cba29e..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7SP/RTE/Device/ARMCM7_SP/ARMCM7_ac6.sct +++ /dev/null @@ -1,80 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m7 -xc -; command above MUST be in first line (no comment above!) - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE) /* starts at end of RAM */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - - -/*---------------------------------------------------------------------------- - Scatter File Definitions definition - *----------------------------------------------------------------------------*/ -#define __RO_BASE __ROM_BASE -#define __RO_SIZE __ROM_SIZE - -#define __RW_BASE __RAM_BASE -#define __RW_SIZE (__RAM_SIZE - __STACK_SIZE - __HEAP_SIZE) - - -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7SP/RTE/Device/ARMCM7_SP/gcc_arm.ld b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7SP/RTE/Device/ARMCM7_SP/gcc_arm.ld deleted file mode 100644 index 7498908..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7SP/RTE/Device/ARMCM7_SP/gcc_arm.ld +++ /dev/null @@ -1,296 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.1.0 - * @date 04. August 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00040000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00020000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ -/* - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH -*/ - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7SP/RTE/Device/ARMCM7_SP/startup_ARMCM7.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7SP/RTE/Device/ARMCM7_SP/startup_ARMCM7.c deleted file mode 100644 index 509cd33..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7SP/RTE/Device/ARMCM7_SP/startup_ARMCM7.c +++ /dev/null @@ -1,154 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM7.c - * @brief CMSIS-Core(M) Device Startup File for a Cortex-M7 Device - * @version V2.0.3 - * @date 31. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM7) - #include "ARMCM7.h" -#elif defined (ARMCM7_SP) - #include "ARMCM7_SP.h" -#elif defined (ARMCM7_DP) - #include "ARMCM7_DP.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 223 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7SP/RTE/Device/ARMCM7_SP/startup_ARMCM7.c.base@2.0.3 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7SP/RTE/Device/ARMCM7_SP/startup_ARMCM7.c.base@2.0.3 deleted file mode 100644 index 509cd33..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7SP/RTE/Device/ARMCM7_SP/startup_ARMCM7.c.base@2.0.3 +++ /dev/null @@ -1,154 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM7.c - * @brief CMSIS-Core(M) Device Startup File for a Cortex-M7 Device - * @version V2.0.3 - * @date 31. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM7) - #include "ARMCM7.h" -#elif defined (ARMCM7_SP) - #include "ARMCM7_SP.h" -#elif defined (ARMCM7_DP) - #include "ARMCM7_DP.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 223 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7SP/RTE/Device/ARMCM7_SP/system_ARMCM7.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7SP/RTE/Device/ARMCM7_SP/system_ARMCM7.c deleted file mode 100644 index 75f9c18..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7SP/RTE/Device/ARMCM7_SP/system_ARMCM7.c +++ /dev/null @@ -1,83 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM7.c - * @brief CMSIS Device System Source File for - * ARMCM7 Device - * @version V1.0.1 - * @date 15. November 2019 - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM7) - #include "ARMCM7.h" -#elif defined (ARMCM7_SP) - #include "ARMCM7_SP.h" -#elif defined (ARMCM7_DP) - #include "ARMCM7_DP.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t) &(__VECTOR_TABLE[0]); -#endif - -#if defined (__FPU_USED) && (__FPU_USED == 1U) - SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ - (3U << 11U*2U) ); /* enable CP11 Full Access */ -#endif - -#ifdef UNALIGNED_SUPPORT_DISABLE - SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7SP/Target.clayer.yml b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7SP/Target.clayer.yml deleted file mode 100644 index ee45512..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7SP/Target.clayer.yml +++ /dev/null @@ -1,22 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/1.3.0/tools/projmgr/schemas/clayer.schema.json - -layer: - # type: Target - description: Target setup - - # packs: - # - pack: ARM::CMSIS - - components: - # [Cvendor::] Cclass [&Cbundle] :Cgroup [:Csub] [&Cvariant] [@[>=]Cversion] - - component: ARM::CMSIS:CORE - - component: Device:Startup&C Startup - - misc: - - for-compiler: IAR - Link: [--config generic_cortex.icf] - - groups: - - group: VHT/FVP - files: - - file: ./model_config.txt diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7SP/model_config.txt b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7SP/model_config.txt deleted file mode 100644 index 9bad471..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM7SP/model_config.txt +++ /dev/null @@ -1,15 +0,0 @@ -# Parameters: -# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] -#---------------------------------------------------------------------------------------------- -fvp_mps2.mps2_visualisation.disable-visualisation=1 # (bool , init-time) default = '0' : Enable/disable visualisation -armcortexm7ct.vfp-present=1 # (bool , init-time) default = '1' : Set whether the model has VFP support -armcortexm7ct.semihosting-enable=1 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. -armcortexm7ct.semihosting-Thumb_SVC=0xAB # (int , init-time) default = '0xAB' : T32 SVC number for semihosting : [0x0..0xFF] -armcortexm7ct.semihosting-cmd_line="" # (string, init-time) default = '' : Command line available to semihosting SVC calls -armcortexm7ct.semihosting-heap_base=0x0 # (int , init-time) default = '0x0' : Virtual address of heap base : [0x0..0xFFFFFFFF] -armcortexm7ct.semihosting-heap_limit=0x0 # (int , init-time) default = '0x10700000' : Virtual address of top of heap : [0x0..0xFFFFFFFF] -armcortexm7ct.semihosting-stack_base=0x0 # (int , init-time) default = '0x10700000' : Virtual address of base of descending stack : [0x0..0xFFFFFFFF] -armcortexm7ct.semihosting-stack_limit=0x0 # (int , init-time) default = '0x10800000' : Virtual address of stack limit : [0x0..0xFFFFFFFF] -armcortexm7ct.semihosting-cwd="" # (string, init-time) default = '' : Base directory for semihosting file access. -armcortexm7ct.DP_FLOAT=0 # (bool , init-time) default = '1' : Support 8-byte floats -#---------------------------------------------------------------------------------------------- diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/RTE/Device/ARMCM85/ARMCM85_ac6.sct b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/RTE/Device/ARMCM85/ARMCM85_ac6.sct deleted file mode 100644 index 09bdba2..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/RTE/Device/ARMCM85/ARMCM85_ac6.sct +++ /dev/null @@ -1,130 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m85 -xc -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m85 -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00200000 -#define __ROM_SIZE 0x00200000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20200000 -#define __RAM_SIZE 0x00200000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000400 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE VeneerBase Address <0x0-0xFFFFFFFF:8> -; 0xFFFFFFFF: Place Veneers at the end of Flash (default) -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_BASE 0xFFFFFFFF -#define __CMSEVENEER_SIZE 0x00000400 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#if defined (__CMSEVENEER_BASE) && (__CMSEVENEER_BASE == 0xFFFFFFFF) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#else -#define __CV_BASE ( __CMSEVENEER_BASE ) -#endif -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE ( __RAM_SIZE - __STACK_SIZE - __HEAP_SIZE - __STACKSEAL_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/RTE/Device/ARMCM85/ARMCM85_ac6.sct.base@1.0.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/RTE/Device/ARMCM85/ARMCM85_ac6.sct.base@1.0.0 deleted file mode 100644 index cf72c41..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/RTE/Device/ARMCM85/ARMCM85_ac6.sct.base@1.0.0 +++ /dev/null @@ -1,126 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m85 -xc -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m85 -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000400 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE VeneerBase Address <0x0-0xFFFFFFFF:8> -; 0xFFFFFFFF: Place Veneers at the end of Flash (default) -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_BASE 0xFFFFFFFF -#define __CMSEVENEER_SIZE 0x00000400 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#if defined (__CMSEVENEER_BASE) && (__CMSEVENEER_BASE == 0xFFFFFFFF) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#else -#define __CV_BASE ( __CMSEVENEER_BASE ) -#endif -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE ( __RAM_SIZE - __STACK_SIZE - __HEAP_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_RAM __RW_BASE __RW_SIZE { ; RW data - .ANY (+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/RTE/Device/ARMCM85/gcc_arm.ld b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/RTE/Device/ARMCM85/gcc_arm.ld deleted file mode 100644 index 73c34d3..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/RTE/Device/ARMCM85/gcc_arm.ld +++ /dev/null @@ -1,314 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - ******************************************************************************/ -/* - * Copyright (c) 2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00200000; -__ROM_SIZE = 0x00200000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20200000; -__RAM_SIZE = 0x00200000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -/* ARMv8-M stack sealing: - to use ARMv8-M stack sealing set __STACKSEAL_SIZE to 8 otherwise keep 0 - */ -__STACKSEAL_SIZE = 0; - - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - * __StackSeal (only if ARMv8-M stack sealing is used) - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ -/* - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH -*/ - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* ARMv8-M stack sealing: - to use ARMv8-M stack sealing uncomment '.stackseal' section - */ -/* - .stackseal (ORIGIN(RAM) + LENGTH(RAM) - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackSeal = .; - . = . + 8; - . = ALIGN(8); - } > RAM -*/ - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/RTE/Device/ARMCM85/gcc_arm.ld.base@1.0.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/RTE/Device/ARMCM85/gcc_arm.ld.base@1.0.0 deleted file mode 100644 index 028ca8e..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/RTE/Device/ARMCM85/gcc_arm.ld.base@1.0.0 +++ /dev/null @@ -1,314 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - ******************************************************************************/ -/* - * Copyright (c) 2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00040000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00020000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -/* ARMv8-M stack sealing: - to use ARMv8-M stack sealing set __STACKSEAL_SIZE to 8 otherwise keep 0 - */ -__STACKSEAL_SIZE = 0; - - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - * __StackSeal (only if ARMv8-M stack sealing is used) - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ -/* - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH -*/ - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* ARMv8-M stack sealing: - to use ARMv8-M stack sealing uncomment '.stackseal' section - */ -/* - .stackseal (ORIGIN(RAM) + LENGTH(RAM) - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackSeal = .; - . = . + 8; - . = ALIGN(8); - } > RAM -*/ - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/RTE/Device/ARMCM85/startup_ARMCM85.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/RTE/Device/ARMCM85/startup_ARMCM85.c deleted file mode 100644 index 067871d..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/RTE/Device/ARMCM85/startup_ARMCM85.c +++ /dev/null @@ -1,164 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM85.c - * @brief CMSIS Device Startup File for ARMCM85 Device - * @version V1.0.0 - * @date 07. February 2022 - ******************************************************************************/ -/* - * Copyright (c) 2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM85) - #include "ARMCM85.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SecureFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - SecureFault_Handler, /* -9 Secure Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 480 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/RTE/Device/ARMCM85/startup_ARMCM85.c.base@1.0.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/RTE/Device/ARMCM85/startup_ARMCM85.c.base@1.0.0 deleted file mode 100644 index 067871d..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/RTE/Device/ARMCM85/startup_ARMCM85.c.base@1.0.0 +++ /dev/null @@ -1,164 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM85.c - * @brief CMSIS Device Startup File for ARMCM85 Device - * @version V1.0.0 - * @date 07. February 2022 - ******************************************************************************/ -/* - * Copyright (c) 2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM85) - #include "ARMCM85.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SecureFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - SecureFault_Handler, /* -9 Secure Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 480 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/RTE/Device/ARMCM85/system_ARMCM85.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/RTE/Device/ARMCM85/system_ARMCM85.c deleted file mode 100644 index 7a16501..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/RTE/Device/ARMCM85/system_ARMCM85.c +++ /dev/null @@ -1,106 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM85.c - * @brief CMSIS Device System Source File for ARMCM85 Device - * @version V1.0.0 - * @date 30. March 2022 - ******************************************************************************/ -/* - * Copyright (c) 2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM85) - #include "ARMCM85.h" - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM85.h" - #endif -#else - #error device not specified! -#endif - - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t)(&__VECTOR_TABLE[0]); -#endif - - /* Set CPDLPSTATE.RLPSTATE to 0 - Set CPDLPSTATE.ELPSTATE to 0, to stop the processor from trying to switch the EPU into retention state. - Set CPDLPSTATE.CLPSTATE to 0, so PDCORE will not enter low-power state. */ - PWRMODCTL->CPDLPSTATE &= ~(PWRMODCTL_CPDLPSTATE_RLPSTATE_Msk | - PWRMODCTL_CPDLPSTATE_ELPSTATE_Msk | - PWRMODCTL_CPDLPSTATE_CLPSTATE_Msk ); - -#if (defined (__FPU_USED) && (__FPU_USED == 1U)) || \ - (defined (__ARM_FEATURE_MVE) && (__ARM_FEATURE_MVE > 0U)) - SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ - (3U << 11U*2U) ); /* enable CP11 Full Access */ - - /* Favor best FP/MVE performance by default, avoid EPU switch-ON delays */ - /* PDEPU ON, Clock OFF */ - PWRMODCTL->CPDLPSTATE |= 0x1 << PWRMODCTL_CPDLPSTATE_ELPSTATE_Pos; -#endif - -#ifdef UNALIGNED_SUPPORT_DISABLE - SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; -#endif - - /* Enable Loop and branch info cache */ - SCB->CCR |= SCB_CCR_LOB_Msk; - - /* Enable Branch Prediction */ - SCB->CCR |= SCB_CCR_BP_Msk; - - __DSB(); - __ISB(); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - TZ_SAU_Setup(); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/RTE/Device/ARMCM85/system_ARMCM85.c.base@1.0.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/RTE/Device/ARMCM85/system_ARMCM85.c.base@1.0.0 deleted file mode 100644 index 7a16501..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/RTE/Device/ARMCM85/system_ARMCM85.c.base@1.0.0 +++ /dev/null @@ -1,106 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM85.c - * @brief CMSIS Device System Source File for ARMCM85 Device - * @version V1.0.0 - * @date 30. March 2022 - ******************************************************************************/ -/* - * Copyright (c) 2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM85) - #include "ARMCM85.h" - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM85.h" - #endif -#else - #error device not specified! -#endif - - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t)(&__VECTOR_TABLE[0]); -#endif - - /* Set CPDLPSTATE.RLPSTATE to 0 - Set CPDLPSTATE.ELPSTATE to 0, to stop the processor from trying to switch the EPU into retention state. - Set CPDLPSTATE.CLPSTATE to 0, so PDCORE will not enter low-power state. */ - PWRMODCTL->CPDLPSTATE &= ~(PWRMODCTL_CPDLPSTATE_RLPSTATE_Msk | - PWRMODCTL_CPDLPSTATE_ELPSTATE_Msk | - PWRMODCTL_CPDLPSTATE_CLPSTATE_Msk ); - -#if (defined (__FPU_USED) && (__FPU_USED == 1U)) || \ - (defined (__ARM_FEATURE_MVE) && (__ARM_FEATURE_MVE > 0U)) - SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ - (3U << 11U*2U) ); /* enable CP11 Full Access */ - - /* Favor best FP/MVE performance by default, avoid EPU switch-ON delays */ - /* PDEPU ON, Clock OFF */ - PWRMODCTL->CPDLPSTATE |= 0x1 << PWRMODCTL_CPDLPSTATE_ELPSTATE_Pos; -#endif - -#ifdef UNALIGNED_SUPPORT_DISABLE - SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; -#endif - - /* Enable Loop and branch info cache */ - SCB->CCR |= SCB_CCR_LOB_Msk; - - /* Enable Branch Prediction */ - SCB->CCR |= SCB_CCR_BP_Msk; - - __DSB(); - __ISB(); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - TZ_SAU_Setup(); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/Target.clayer.yml b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/Target.clayer.yml deleted file mode 100644 index ee45512..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/Target.clayer.yml +++ /dev/null @@ -1,22 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/1.3.0/tools/projmgr/schemas/clayer.schema.json - -layer: - # type: Target - description: Target setup - - # packs: - # - pack: ARM::CMSIS - - components: - # [Cvendor::] Cclass [&Cbundle] :Cgroup [:Csub] [&Cvariant] [@[>=]Cversion] - - component: ARM::CMSIS:CORE - - component: Device:Startup&C Startup - - misc: - - for-compiler: IAR - Link: [--config generic_cortex.icf] - - groups: - - group: VHT/FVP - files: - - file: ./model_config.txt diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/model_config.txt b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/model_config.txt deleted file mode 100644 index e602725..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85NS/model_config.txt +++ /dev/null @@ -1,30 +0,0 @@ -# Parameters: -# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] -#---------------------------------------------------------------------------------------------- -fvp_mps2.mps2_visualisation.disable-visualisation=1 # (bool , init-time) default = '0' : Enable/disable visualisation -cpu0.FPU=1 # (bool , init-time) default = '1' : Set whether the model has VFP support -cpu0.MVE=1 # (int , init-time) default = '0x1' : Set whether the model has MVE support. If FPU = 0: 0=MVE not included, 1=Integer subset of MVE included. If FPU = 1: 0=MVE not included, 1=Integer subset of MVE included, 2=Integer and half and single precision floating point MVE included -cpu0.ID_ISAR5.PACBTI=1 # (int , init-time) default = '0x0' : 0: PAC/BTI not implemented, 1: PAC implemented using the QARMA5 algorithm with BTI, 2: PAC implemented using an IMP DEF algorithm with BTI, 4: PAC implemented using the QARMA3 algorithm with BTI -cpu0.semihosting-enable=1 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. -cpu0.semihosting-Thumb_SVC=0xAB # (int , init-time) default = '0xAB' : T32 SVC number for semihosting : [0x0..0xFF] -cpu0.semihosting-cmd_line="" # (string, init-time) default = '' : Command line available to semihosting SVC calls -cpu0.semihosting-heap_base=0x0 # (int , init-time) default = '0x0' : Virtual address of heap base : [0x0..0xFFFFFFFF] -cpu0.semihosting-heap_limit=0x0 # (int , init-time) default = '0x10700000' : Virtual address of top of heap : [0x0..0xFFFFFFFF] -cpu0.semihosting-stack_base=0x0 # (int , init-time) default = '0x10700000' : Virtual address of base of descending stack : [0x0..0xFFFFFFFF] -cpu0.semihosting-stack_limit=0x0 # (int , init-time) default = '0x10800000' : Virtual address of stack limit : [0x0..0xFFFFFFFF] -cpu0.semihosting-cwd="" # (string, init-time) default = '' : Base directory for semihosting file access. -cpu0.MPU_S=0x8 # (int , init-time) default = '0x8' : Number of regions in the Secure MPU. If Security Extentions are absent, this is ignored : [0x0..0x10] -cpu0.MPU_NS=0x8 # (int , init-time) default = '0x8' : Number of regions in the Non-Secure MPU. If Security Extentions are absent, this is the total number of MPU regions : [0x0..0x10] -cpu0.ITM=0 # (bool , init-time) default = '1' : Level of instrumentation trace supported. false : No ITM trace included, true: ITM trace included -cpu0.IRQLVL=0x3 # (int , init-time) default = '0x3' : Number of bits of interrupt priority : [0x3..0x8] -cpu0.INITSVTOR=0x00000000 # (int , init-time) default = '0x10000000' : Secure vector-table offset at reset : [0x0..0xFFFFFF80] -cpu0.INITNSVTOR=0x0 # (int , init-time) default = '0x0' : Non-Secure vector-table offset at reset : [0x0..0xFFFFFF80] -cpu0.SAU=0x8 # (int , init-time) default = '0x4' : Number of SAU regions (0 => no SAU) : [0x0..0x8] -idau.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' : -cpu0.LOCK_SAU=0 # (bool , init-time) default = '0' : Lock down of SAU registers write -cpu0.LOCK_S_MPU=0 # (bool , init-time) default = '0' : Lock down of Secure MPU registers write -cpu0.LOCK_NS_MPU=0 # (bool , init-time) default = '0' : Lock down of Non-Secure MPU registers write -cpu0.CPIF=1 # (bool , init-time) default = '1' : Specifies whether the external coprocessor interface is included -cpu0.SECEXT=1 # (bool , init-time) default = '1' : Whether the ARMv8-M Security Extensions are included -fvp_mps2.DISABLE_GATING=1 # (bool , init-time) default = '0' : Disable Memory gating logic -#---------------------------------------------------------------------------------------------- diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/ARMCM85_ac6_s.sct b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/ARMCM85_ac6_s.sct deleted file mode 100644 index c8049ef..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/ARMCM85_ac6_s.sct +++ /dev/null @@ -1,130 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m85 -xc -mcmse -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m85 -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00200000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00200000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000400 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE VeneerBase Address <0x0-0xFFFFFFFF:8> -; 0xFFFFFFFF: Place Veneers at the end of Flash (default) -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_BASE 0xFFFFFFFF -#define __CMSEVENEER_SIZE 0x00000400 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#if defined (__CMSEVENEER_BASE) && (__CMSEVENEER_BASE == 0xFFFFFFFF) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#else -#define __CV_BASE ( __CMSEVENEER_BASE ) -#endif -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE ( __RAM_SIZE - __STACK_SIZE - __HEAP_SIZE - __STACKSEAL_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/ARMCM85_ac6_s.sct.base@1.0.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/ARMCM85_ac6_s.sct.base@1.0.0 deleted file mode 100644 index 3eddea7..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/ARMCM85_ac6_s.sct.base@1.0.0 +++ /dev/null @@ -1,126 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m85 -xc -mcmse -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m85 -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000400 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE VeneerBase Address <0x0-0xFFFFFFFF:8> -; 0xFFFFFFFF: Place Veneers at the end of Flash (default) -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_BASE 0xFFFFFFFF -#define __CMSEVENEER_SIZE 0x00000400 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#if defined (__CMSEVENEER_BASE) && (__CMSEVENEER_BASE == 0xFFFFFFFF) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#else -#define __CV_BASE ( __CMSEVENEER_BASE ) -#endif -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE ( __RAM_SIZE - __STACK_SIZE - __HEAP_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_RAM __RW_BASE __RW_SIZE { ; RW data - .ANY (+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/gcc_arm.ld b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/gcc_arm.ld deleted file mode 100644 index f4f12ca..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/gcc_arm.ld +++ /dev/null @@ -1,314 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - ******************************************************************************/ -/* - * Copyright (c) 2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00200000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00200000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -/* ARMv8-M stack sealing: - to use ARMv8-M stack sealing set __STACKSEAL_SIZE to 8 otherwise keep 0 - */ -__STACKSEAL_SIZE = 8; - - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - * __StackSeal (only if ARMv8-M stack sealing is used) - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ - - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH - - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* ARMv8-M stack sealing: - to use ARMv8-M stack sealing uncomment '.stackseal' section - */ - - .stackseal (ORIGIN(RAM) + LENGTH(RAM) - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackSeal = .; - . = . + 8; - . = ALIGN(8); - } > RAM - - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/gcc_arm.ld.base@1.0.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/gcc_arm.ld.base@1.0.0 deleted file mode 100644 index 028ca8e..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/gcc_arm.ld.base@1.0.0 +++ /dev/null @@ -1,314 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - ******************************************************************************/ -/* - * Copyright (c) 2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00040000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00020000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -/* ARMv8-M stack sealing: - to use ARMv8-M stack sealing set __STACKSEAL_SIZE to 8 otherwise keep 0 - */ -__STACKSEAL_SIZE = 0; - - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - * __StackSeal (only if ARMv8-M stack sealing is used) - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ -/* - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH -*/ - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* ARMv8-M stack sealing: - to use ARMv8-M stack sealing uncomment '.stackseal' section - */ -/* - .stackseal (ORIGIN(RAM) + LENGTH(RAM) - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackSeal = .; - . = . + 8; - . = ALIGN(8); - } > RAM -*/ - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/partition_ARMCM85.h b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/partition_ARMCM85.h deleted file mode 100644 index a3d881a..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/partition_ARMCM85.h +++ /dev/null @@ -1,1301 +0,0 @@ -/**************************************************************************//** - * @file partition_ARMCM85.h - * @brief CMSIS-CORE Initial Setup for Secure / Non-Secure Zones for Armv8.1-M Mainline - * @version V1.0.0 - * @date 07. March 2022 - ******************************************************************************/ -/* - * Copyright (c) 2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef PARTITION_ARMCM85_H -#define PARTITION_ARMCM85_H - -/* -//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- -*/ - -/* -// Initialize Security Attribution Unit (SAU) CTRL register -*/ -#define SAU_INIT_CTRL 1 - -/* -// Enable SAU -// Value for SAU->CTRL register bit ENABLE -*/ -#define SAU_INIT_CTRL_ENABLE 1 - -/* -// When SAU is disabled -// <0=> All Memory is Secure -// <1=> All Memory is Non-Secure -// Value for SAU->CTRL register bit ALLNS -// When all Memory is Non-Secure (ALLNS is 1), IDAU can override memory map configuration. -*/ -#define SAU_INIT_CTRL_ALLNS 0 - -/* -// -*/ - -/* -// Initialize Security Attribution Unit (SAU) Address Regions -// SAU configuration specifies regions to be one of: -// - Secure and Non-Secure Callable -// - Non-Secure -// Note: All memory regions not configured by SAU are Secure -*/ -#define SAU_REGIONS_MAX 8 /* Max. number of SAU regions */ - -/* -// Initialize SAU Region 0 -// Setup SAU Region 0 memory attributes -*/ -#define SAU_INIT_REGION0 1 - -/* -// Description -*/ -#define SAU_INIT_DSCR0 "NSC code" /* description SAU region 0 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START0 0x00000000 /* start address of SAU region 0 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END0 0x001FFFFF /* end address of SAU region 0 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC0 1 -/* -// -*/ - -/* -// Initialize SAU Region 1 -// Setup SAU Region 1 memory attributes -*/ -#define SAU_INIT_REGION1 1 - -/* -// Description -*/ -#define SAU_INIT_DSCR1 "NS code" /* description SAU region 1 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START1 0x00200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END1 0x003FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC1 0 -/* -// -*/ - -/* -// Initialize SAU Region 2 -// Setup SAU Region 2 memory attributes -*/ -#define SAU_INIT_REGION2 1 - -/* -// Description -*/ -#define SAU_INIT_DSCR2 "NS data" /* description SAU region 2 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START2 0x20200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END2 0x203FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC2 0 -/* -// -*/ - -/* -// Initialize SAU Region 3 -// Setup SAU Region 3 memory attributes -*/ -#define SAU_INIT_REGION3 1 - -/* -// Description -*/ -#define SAU_INIT_DSCR3 "NS peripherals" /* description SAU region 3 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START3 0x40000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END3 0x40040000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC3 0 -/* -// -*/ - -/* -// Initialize SAU Region 4 -// Setup SAU Region 4 memory attributes -*/ -#define SAU_INIT_REGION4 0 - -/* -// Description -*/ -#define SAU_INIT_DSCR4 "SAU region 4" /* description SAU region 4 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START4 0x00000000 /* start address of SAU region 4 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END4 0x00000000 /* end address of SAU region 4 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC4 0 -/* -// -*/ - -/* -// Initialize SAU Region 5 -// Setup SAU Region 5 memory attributes -*/ -#define SAU_INIT_REGION5 0 - -/* -// Description -*/ -#define SAU_INIT_DSCR5 "SAU region 5" /* description SAU region 5 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START5 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END5 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC5 0 -/* -// -*/ - -/* -// Initialize SAU Region 6 -// Setup SAU Region 6 memory attributes -*/ -#define SAU_INIT_REGION6 0 - -/* -// Description -*/ -#define SAU_INIT_DSCR6 "SAU region 6" /* description SAU region 6 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START6 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END6 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC6 0 -/* -// -*/ - -/* -// Initialize SAU Region 7 -// Setup SAU Region 7 memory attributes -*/ -#define SAU_INIT_REGION7 0 - -/* -// Description -*/ -#define SAU_INIT_DSCR7 "SAU region 7" /* description SAU region 7 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START7 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END7 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC7 0 -/* -// -*/ - -/* -// -*/ - -/* -// Setup behaviour of Sleep and Exception Handling -*/ -#define SCB_CSR_AIRCR_INIT 1 - -/* -// Deep Sleep can be enabled by -// <0=>Secure and Non-Secure state -// <1=>Secure state only -// Value for SCB->CSR register bit DEEPSLEEPS -*/ -#define SCB_CSR_DEEPSLEEPS_VAL 1 - -/* -// System reset request accessible from -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for SCB->AIRCR register bit SYSRESETREQS -*/ -#define SCB_AIRCR_SYSRESETREQS_VAL 1 - -/* -// Priority of Non-Secure exceptions is -// <0=> Not altered -// <1=> Lowered to 0x80-0xFF -// Value for SCB->AIRCR register bit PRIS -*/ -#define SCB_AIRCR_PRIS_VAL 1 - -/* -// BusFault, HardFault, and NMI target -// <0=> Secure state -// <1=> Non-Secure state -// Value for SCB->AIRCR register bit BFHFNMINS -*/ -#define SCB_AIRCR_BFHFNMINS_VAL 0 - -/* -// -*/ - -/* -// Setup behaviour of Floating Point and Vector Unit (FPU/MVE) -*/ -#define TZ_FPU_NS_USAGE 1 - -/* -// Floating Point and Vector Unit usage -// <0=> Secure state only -// <3=> Secure and Non-Secure state -// Value for SCB->NSACR register bits CP10, CP11 -*/ -#define SCB_NSACR_CP10_11_VAL 3 - -/* -// Treat floating-point registers as Secure -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit TS -*/ -#define FPU_FPCCR_TS_VAL 0 - -/* -// Clear on return (CLRONRET) accessibility -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for FPU->FPCCR register bit CLRONRETS -*/ -#define FPU_FPCCR_CLRONRETS_VAL 0 - -/* -// Clear floating-point caller saved registers on exception return -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit CLRONRET -*/ -#define FPU_FPCCR_CLRONRET_VAL 1 - -/* -// -*/ - -/* -// Setup Interrupt Target -*/ - -/* -// Initialize ITNS 0 (Interrupts 0..31) -*/ -#define NVIC_INIT_ITNS0 1 - -/* -// Interrupts 0..31 -// Interrupt 0 <0=> Secure state <1=> Non-Secure state -// Interrupt 1 <0=> Secure state <1=> Non-Secure state -// Interrupt 2 <0=> Secure state <1=> Non-Secure state -// Interrupt 3 <0=> Secure state <1=> Non-Secure state -// Interrupt 4 <0=> Secure state <1=> Non-Secure state -// Interrupt 5 <0=> Secure state <1=> Non-Secure state -// Interrupt 6 <0=> Secure state <1=> Non-Secure state -// Interrupt 7 <0=> Secure state <1=> Non-Secure state -// Interrupt 8 <0=> Secure state <1=> Non-Secure state -// Interrupt 9 <0=> Secure state <1=> Non-Secure state -// Interrupt 10 <0=> Secure state <1=> Non-Secure state -// Interrupt 11 <0=> Secure state <1=> Non-Secure state -// Interrupt 12 <0=> Secure state <1=> Non-Secure state -// Interrupt 13 <0=> Secure state <1=> Non-Secure state -// Interrupt 14 <0=> Secure state <1=> Non-Secure state -// Interrupt 15 <0=> Secure state <1=> Non-Secure state -// Interrupt 16 <0=> Secure state <1=> Non-Secure state -// Interrupt 17 <0=> Secure state <1=> Non-Secure state -// Interrupt 18 <0=> Secure state <1=> Non-Secure state -// Interrupt 19 <0=> Secure state <1=> Non-Secure state -// Interrupt 20 <0=> Secure state <1=> Non-Secure state -// Interrupt 21 <0=> Secure state <1=> Non-Secure state -// Interrupt 22 <0=> Secure state <1=> Non-Secure state -// Interrupt 23 <0=> Secure state <1=> Non-Secure state -// Interrupt 24 <0=> Secure state <1=> Non-Secure state -// Interrupt 25 <0=> Secure state <1=> Non-Secure state -// Interrupt 26 <0=> Secure state <1=> Non-Secure state -// Interrupt 27 <0=> Secure state <1=> Non-Secure state -// Interrupt 28 <0=> Secure state <1=> Non-Secure state -// Interrupt 29 <0=> Secure state <1=> Non-Secure state -// Interrupt 30 <0=> Secure state <1=> Non-Secure state -// Interrupt 31 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS0_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 1 (Interrupts 32..63) -*/ -#define NVIC_INIT_ITNS1 1 - -/* -// Interrupts 32..63 -// Interrupt 32 <0=> Secure state <1=> Non-Secure state -// Interrupt 33 <0=> Secure state <1=> Non-Secure state -// Interrupt 34 <0=> Secure state <1=> Non-Secure state -// Interrupt 35 <0=> Secure state <1=> Non-Secure state -// Interrupt 36 <0=> Secure state <1=> Non-Secure state -// Interrupt 37 <0=> Secure state <1=> Non-Secure state -// Interrupt 38 <0=> Secure state <1=> Non-Secure state -// Interrupt 39 <0=> Secure state <1=> Non-Secure state -// Interrupt 40 <0=> Secure state <1=> Non-Secure state -// Interrupt 41 <0=> Secure state <1=> Non-Secure state -// Interrupt 42 <0=> Secure state <1=> Non-Secure state -// Interrupt 43 <0=> Secure state <1=> Non-Secure state -// Interrupt 44 <0=> Secure state <1=> Non-Secure state -// Interrupt 45 <0=> Secure state <1=> Non-Secure state -// Interrupt 46 <0=> Secure state <1=> Non-Secure state -// Interrupt 47 <0=> Secure state <1=> Non-Secure state -// Interrupt 48 <0=> Secure state <1=> Non-Secure state -// Interrupt 49 <0=> Secure state <1=> Non-Secure state -// Interrupt 50 <0=> Secure state <1=> Non-Secure state -// Interrupt 51 <0=> Secure state <1=> Non-Secure state -// Interrupt 52 <0=> Secure state <1=> Non-Secure state -// Interrupt 53 <0=> Secure state <1=> Non-Secure state -// Interrupt 54 <0=> Secure state <1=> Non-Secure state -// Interrupt 55 <0=> Secure state <1=> Non-Secure state -// Interrupt 56 <0=> Secure state <1=> Non-Secure state -// Interrupt 57 <0=> Secure state <1=> Non-Secure state -// Interrupt 58 <0=> Secure state <1=> Non-Secure state -// Interrupt 59 <0=> Secure state <1=> Non-Secure state -// Interrupt 60 <0=> Secure state <1=> Non-Secure state -// Interrupt 61 <0=> Secure state <1=> Non-Secure state -// Interrupt 62 <0=> Secure state <1=> Non-Secure state -// Interrupt 63 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS1_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 2 (Interrupts 64..95) -*/ -#define NVIC_INIT_ITNS2 0 - -/* -// Interrupts 64..95 -// Interrupt 64 <0=> Secure state <1=> Non-Secure state -// Interrupt 65 <0=> Secure state <1=> Non-Secure state -// Interrupt 66 <0=> Secure state <1=> Non-Secure state -// Interrupt 67 <0=> Secure state <1=> Non-Secure state -// Interrupt 68 <0=> Secure state <1=> Non-Secure state -// Interrupt 69 <0=> Secure state <1=> Non-Secure state -// Interrupt 70 <0=> Secure state <1=> Non-Secure state -// Interrupt 71 <0=> Secure state <1=> Non-Secure state -// Interrupt 72 <0=> Secure state <1=> Non-Secure state -// Interrupt 73 <0=> Secure state <1=> Non-Secure state -// Interrupt 74 <0=> Secure state <1=> Non-Secure state -// Interrupt 75 <0=> Secure state <1=> Non-Secure state -// Interrupt 76 <0=> Secure state <1=> Non-Secure state -// Interrupt 77 <0=> Secure state <1=> Non-Secure state -// Interrupt 78 <0=> Secure state <1=> Non-Secure state -// Interrupt 79 <0=> Secure state <1=> Non-Secure state -// Interrupt 80 <0=> Secure state <1=> Non-Secure state -// Interrupt 81 <0=> Secure state <1=> Non-Secure state -// Interrupt 82 <0=> Secure state <1=> Non-Secure state -// Interrupt 83 <0=> Secure state <1=> Non-Secure state -// Interrupt 84 <0=> Secure state <1=> Non-Secure state -// Interrupt 85 <0=> Secure state <1=> Non-Secure state -// Interrupt 86 <0=> Secure state <1=> Non-Secure state -// Interrupt 87 <0=> Secure state <1=> Non-Secure state -// Interrupt 88 <0=> Secure state <1=> Non-Secure state -// Interrupt 89 <0=> Secure state <1=> Non-Secure state -// Interrupt 90 <0=> Secure state <1=> Non-Secure state -// Interrupt 91 <0=> Secure state <1=> Non-Secure state -// Interrupt 92 <0=> Secure state <1=> Non-Secure state -// Interrupt 93 <0=> Secure state <1=> Non-Secure state -// Interrupt 94 <0=> Secure state <1=> Non-Secure state -// Interrupt 95 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS2_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 3 (Interrupts 96..127) -*/ -#define NVIC_INIT_ITNS3 0 - -/* -// Interrupts 96..127 -// Interrupt 96 <0=> Secure state <1=> Non-Secure state -// Interrupt 97 <0=> Secure state <1=> Non-Secure state -// Interrupt 98 <0=> Secure state <1=> Non-Secure state -// Interrupt 99 <0=> Secure state <1=> Non-Secure state -// Interrupt 100 <0=> Secure state <1=> Non-Secure state -// Interrupt 101 <0=> Secure state <1=> Non-Secure state -// Interrupt 102 <0=> Secure state <1=> Non-Secure state -// Interrupt 103 <0=> Secure state <1=> Non-Secure state -// Interrupt 104 <0=> Secure state <1=> Non-Secure state -// Interrupt 105 <0=> Secure state <1=> Non-Secure state -// Interrupt 106 <0=> Secure state <1=> Non-Secure state -// Interrupt 107 <0=> Secure state <1=> Non-Secure state -// Interrupt 108 <0=> Secure state <1=> Non-Secure state -// Interrupt 109 <0=> Secure state <1=> Non-Secure state -// Interrupt 110 <0=> Secure state <1=> Non-Secure state -// Interrupt 111 <0=> Secure state <1=> Non-Secure state -// Interrupt 112 <0=> Secure state <1=> Non-Secure state -// Interrupt 113 <0=> Secure state <1=> Non-Secure state -// Interrupt 114 <0=> Secure state <1=> Non-Secure state -// Interrupt 115 <0=> Secure state <1=> Non-Secure state -// Interrupt 116 <0=> Secure state <1=> Non-Secure state -// Interrupt 117 <0=> Secure state <1=> Non-Secure state -// Interrupt 118 <0=> Secure state <1=> Non-Secure state -// Interrupt 119 <0=> Secure state <1=> Non-Secure state -// Interrupt 120 <0=> Secure state <1=> Non-Secure state -// Interrupt 121 <0=> Secure state <1=> Non-Secure state -// Interrupt 122 <0=> Secure state <1=> Non-Secure state -// Interrupt 123 <0=> Secure state <1=> Non-Secure state -// Interrupt 124 <0=> Secure state <1=> Non-Secure state -// Interrupt 125 <0=> Secure state <1=> Non-Secure state -// Interrupt 126 <0=> Secure state <1=> Non-Secure state -// Interrupt 127 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS3_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 4 (Interrupts 128..159) -*/ -#define NVIC_INIT_ITNS4 0 - -/* -// Interrupts 128..159 -// Interrupt 128 <0=> Secure state <1=> Non-Secure state -// Interrupt 129 <0=> Secure state <1=> Non-Secure state -// Interrupt 130 <0=> Secure state <1=> Non-Secure state -// Interrupt 131 <0=> Secure state <1=> Non-Secure state -// Interrupt 132 <0=> Secure state <1=> Non-Secure state -// Interrupt 133 <0=> Secure state <1=> Non-Secure state -// Interrupt 134 <0=> Secure state <1=> Non-Secure state -// Interrupt 135 <0=> Secure state <1=> Non-Secure state -// Interrupt 136 <0=> Secure state <1=> Non-Secure state -// Interrupt 137 <0=> Secure state <1=> Non-Secure state -// Interrupt 138 <0=> Secure state <1=> Non-Secure state -// Interrupt 139 <0=> Secure state <1=> Non-Secure state -// Interrupt 140 <0=> Secure state <1=> Non-Secure state -// Interrupt 141 <0=> Secure state <1=> Non-Secure state -// Interrupt 142 <0=> Secure state <1=> Non-Secure state -// Interrupt 143 <0=> Secure state <1=> Non-Secure state -// Interrupt 144 <0=> Secure state <1=> Non-Secure state -// Interrupt 145 <0=> Secure state <1=> Non-Secure state -// Interrupt 146 <0=> Secure state <1=> Non-Secure state -// Interrupt 147 <0=> Secure state <1=> Non-Secure state -// Interrupt 148 <0=> Secure state <1=> Non-Secure state -// Interrupt 149 <0=> Secure state <1=> Non-Secure state -// Interrupt 150 <0=> Secure state <1=> Non-Secure state -// Interrupt 151 <0=> Secure state <1=> Non-Secure state -// Interrupt 152 <0=> Secure state <1=> Non-Secure state -// Interrupt 153 <0=> Secure state <1=> Non-Secure state -// Interrupt 154 <0=> Secure state <1=> Non-Secure state -// Interrupt 155 <0=> Secure state <1=> Non-Secure state -// Interrupt 156 <0=> Secure state <1=> Non-Secure state -// Interrupt 157 <0=> Secure state <1=> Non-Secure state -// Interrupt 158 <0=> Secure state <1=> Non-Secure state -// Interrupt 159 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS4_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 5 (Interrupts 160..191) -*/ -#define NVIC_INIT_ITNS5 0 - -/* -// Interrupts 160..191 -// Interrupt 160 <0=> Secure state <1=> Non-Secure state -// Interrupt 161 <0=> Secure state <1=> Non-Secure state -// Interrupt 162 <0=> Secure state <1=> Non-Secure state -// Interrupt 163 <0=> Secure state <1=> Non-Secure state -// Interrupt 164 <0=> Secure state <1=> Non-Secure state -// Interrupt 165 <0=> Secure state <1=> Non-Secure state -// Interrupt 166 <0=> Secure state <1=> Non-Secure state -// Interrupt 167 <0=> Secure state <1=> Non-Secure state -// Interrupt 168 <0=> Secure state <1=> Non-Secure state -// Interrupt 169 <0=> Secure state <1=> Non-Secure state -// Interrupt 170 <0=> Secure state <1=> Non-Secure state -// Interrupt 171 <0=> Secure state <1=> Non-Secure state -// Interrupt 172 <0=> Secure state <1=> Non-Secure state -// Interrupt 173 <0=> Secure state <1=> Non-Secure state -// Interrupt 174 <0=> Secure state <1=> Non-Secure state -// Interrupt 175 <0=> Secure state <1=> Non-Secure state -// Interrupt 176 <0=> Secure state <1=> Non-Secure state -// Interrupt 177 <0=> Secure state <1=> Non-Secure state -// Interrupt 178 <0=> Secure state <1=> Non-Secure state -// Interrupt 179 <0=> Secure state <1=> Non-Secure state -// Interrupt 180 <0=> Secure state <1=> Non-Secure state -// Interrupt 181 <0=> Secure state <1=> Non-Secure state -// Interrupt 182 <0=> Secure state <1=> Non-Secure state -// Interrupt 183 <0=> Secure state <1=> Non-Secure state -// Interrupt 184 <0=> Secure state <1=> Non-Secure state -// Interrupt 185 <0=> Secure state <1=> Non-Secure state -// Interrupt 186 <0=> Secure state <1=> Non-Secure state -// Interrupt 187 <0=> Secure state <1=> Non-Secure state -// Interrupt 188 <0=> Secure state <1=> Non-Secure state -// Interrupt 189 <0=> Secure state <1=> Non-Secure state -// Interrupt 190 <0=> Secure state <1=> Non-Secure state -// Interrupt 191 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS5_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 6 (Interrupts 192..223) -*/ -#define NVIC_INIT_ITNS6 0 - -/* -// Interrupts 192..223 -// Interrupt 192 <0=> Secure state <1=> Non-Secure state -// Interrupt 193 <0=> Secure state <1=> Non-Secure state -// Interrupt 194 <0=> Secure state <1=> Non-Secure state -// Interrupt 195 <0=> Secure state <1=> Non-Secure state -// Interrupt 196 <0=> Secure state <1=> Non-Secure state -// Interrupt 197 <0=> Secure state <1=> Non-Secure state -// Interrupt 198 <0=> Secure state <1=> Non-Secure state -// Interrupt 199 <0=> Secure state <1=> Non-Secure state -// Interrupt 200 <0=> Secure state <1=> Non-Secure state -// Interrupt 201 <0=> Secure state <1=> Non-Secure state -// Interrupt 202 <0=> Secure state <1=> Non-Secure state -// Interrupt 203 <0=> Secure state <1=> Non-Secure state -// Interrupt 204 <0=> Secure state <1=> Non-Secure state -// Interrupt 205 <0=> Secure state <1=> Non-Secure state -// Interrupt 206 <0=> Secure state <1=> Non-Secure state -// Interrupt 207 <0=> Secure state <1=> Non-Secure state -// Interrupt 208 <0=> Secure state <1=> Non-Secure state -// Interrupt 209 <0=> Secure state <1=> Non-Secure state -// Interrupt 210 <0=> Secure state <1=> Non-Secure state -// Interrupt 211 <0=> Secure state <1=> Non-Secure state -// Interrupt 212 <0=> Secure state <1=> Non-Secure state -// Interrupt 213 <0=> Secure state <1=> Non-Secure state -// Interrupt 214 <0=> Secure state <1=> Non-Secure state -// Interrupt 215 <0=> Secure state <1=> Non-Secure state -// Interrupt 216 <0=> Secure state <1=> Non-Secure state -// Interrupt 217 <0=> Secure state <1=> Non-Secure state -// Interrupt 218 <0=> Secure state <1=> Non-Secure state -// Interrupt 219 <0=> Secure state <1=> Non-Secure state -// Interrupt 220 <0=> Secure state <1=> Non-Secure state -// Interrupt 221 <0=> Secure state <1=> Non-Secure state -// Interrupt 222 <0=> Secure state <1=> Non-Secure state -// Interrupt 223 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS6_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 7 (Interrupts 224..255) -*/ -#define NVIC_INIT_ITNS7 0 - -/* -// Interrupts 224..255 -// Interrupt 224 <0=> Secure state <1=> Non-Secure state -// Interrupt 225 <0=> Secure state <1=> Non-Secure state -// Interrupt 226 <0=> Secure state <1=> Non-Secure state -// Interrupt 227 <0=> Secure state <1=> Non-Secure state -// Interrupt 228 <0=> Secure state <1=> Non-Secure state -// Interrupt 229 <0=> Secure state <1=> Non-Secure state -// Interrupt 230 <0=> Secure state <1=> Non-Secure state -// Interrupt 231 <0=> Secure state <1=> Non-Secure state -// Interrupt 232 <0=> Secure state <1=> Non-Secure state -// Interrupt 233 <0=> Secure state <1=> Non-Secure state -// Interrupt 234 <0=> Secure state <1=> Non-Secure state -// Interrupt 235 <0=> Secure state <1=> Non-Secure state -// Interrupt 236 <0=> Secure state <1=> Non-Secure state -// Interrupt 237 <0=> Secure state <1=> Non-Secure state -// Interrupt 238 <0=> Secure state <1=> Non-Secure state -// Interrupt 239 <0=> Secure state <1=> Non-Secure state -// Interrupt 240 <0=> Secure state <1=> Non-Secure state -// Interrupt 241 <0=> Secure state <1=> Non-Secure state -// Interrupt 242 <0=> Secure state <1=> Non-Secure state -// Interrupt 243 <0=> Secure state <1=> Non-Secure state -// Interrupt 244 <0=> Secure state <1=> Non-Secure state -// Interrupt 245 <0=> Secure state <1=> Non-Secure state -// Interrupt 246 <0=> Secure state <1=> Non-Secure state -// Interrupt 247 <0=> Secure state <1=> Non-Secure state -// Interrupt 248 <0=> Secure state <1=> Non-Secure state -// Interrupt 249 <0=> Secure state <1=> Non-Secure state -// Interrupt 250 <0=> Secure state <1=> Non-Secure state -// Interrupt 251 <0=> Secure state <1=> Non-Secure state -// Interrupt 252 <0=> Secure state <1=> Non-Secure state -// Interrupt 253 <0=> Secure state <1=> Non-Secure state -// Interrupt 254 <0=> Secure state <1=> Non-Secure state -// Interrupt 255 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS7_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 8 (Interrupts 256..287) -*/ -#define NVIC_INIT_ITNS8 0 - -/* -// Interrupts 256..287 -// Interrupt 256 <0=> Secure state <1=> Non-Secure state -// Interrupt 257 <0=> Secure state <1=> Non-Secure state -// Interrupt 258 <0=> Secure state <1=> Non-Secure state -// Interrupt 259 <0=> Secure state <1=> Non-Secure state -// Interrupt 260 <0=> Secure state <1=> Non-Secure state -// Interrupt 261 <0=> Secure state <1=> Non-Secure state -// Interrupt 262 <0=> Secure state <1=> Non-Secure state -// Interrupt 263 <0=> Secure state <1=> Non-Secure state -// Interrupt 264 <0=> Secure state <1=> Non-Secure state -// Interrupt 265 <0=> Secure state <1=> Non-Secure state -// Interrupt 266 <0=> Secure state <1=> Non-Secure state -// Interrupt 267 <0=> Secure state <1=> Non-Secure state -// Interrupt 268 <0=> Secure state <1=> Non-Secure state -// Interrupt 269 <0=> Secure state <1=> Non-Secure state -// Interrupt 270 <0=> Secure state <1=> Non-Secure state -// Interrupt 271 <0=> Secure state <1=> Non-Secure state -// Interrupt 272 <0=> Secure state <1=> Non-Secure state -// Interrupt 273 <0=> Secure state <1=> Non-Secure state -// Interrupt 274 <0=> Secure state <1=> Non-Secure state -// Interrupt 275 <0=> Secure state <1=> Non-Secure state -// Interrupt 276 <0=> Secure state <1=> Non-Secure state -// Interrupt 277 <0=> Secure state <1=> Non-Secure state -// Interrupt 278 <0=> Secure state <1=> Non-Secure state -// Interrupt 279 <0=> Secure state <1=> Non-Secure state -// Interrupt 280 <0=> Secure state <1=> Non-Secure state -// Interrupt 281 <0=> Secure state <1=> Non-Secure state -// Interrupt 282 <0=> Secure state <1=> Non-Secure state -// Interrupt 283 <0=> Secure state <1=> Non-Secure state -// Interrupt 284 <0=> Secure state <1=> Non-Secure state -// Interrupt 285 <0=> Secure state <1=> Non-Secure state -// Interrupt 286 <0=> Secure state <1=> Non-Secure state -// Interrupt 287 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS8_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 9 (Interrupts 288..319) -*/ -#define NVIC_INIT_ITNS9 0 - -/* -// Interrupts 288..319 -// Interrupt 288 <0=> Secure state <1=> Non-Secure state -// Interrupt 289 <0=> Secure state <1=> Non-Secure state -// Interrupt 290 <0=> Secure state <1=> Non-Secure state -// Interrupt 291 <0=> Secure state <1=> Non-Secure state -// Interrupt 292 <0=> Secure state <1=> Non-Secure state -// Interrupt 293 <0=> Secure state <1=> Non-Secure state -// Interrupt 294 <0=> Secure state <1=> Non-Secure state -// Interrupt 295 <0=> Secure state <1=> Non-Secure state -// Interrupt 296 <0=> Secure state <1=> Non-Secure state -// Interrupt 297 <0=> Secure state <1=> Non-Secure state -// Interrupt 298 <0=> Secure state <1=> Non-Secure state -// Interrupt 299 <0=> Secure state <1=> Non-Secure state -// Interrupt 300 <0=> Secure state <1=> Non-Secure state -// Interrupt 301 <0=> Secure state <1=> Non-Secure state -// Interrupt 302 <0=> Secure state <1=> Non-Secure state -// Interrupt 303 <0=> Secure state <1=> Non-Secure state -// Interrupt 304 <0=> Secure state <1=> Non-Secure state -// Interrupt 305 <0=> Secure state <1=> Non-Secure state -// Interrupt 306 <0=> Secure state <1=> Non-Secure state -// Interrupt 307 <0=> Secure state <1=> Non-Secure state -// Interrupt 308 <0=> Secure state <1=> Non-Secure state -// Interrupt 309 <0=> Secure state <1=> Non-Secure state -// Interrupt 310 <0=> Secure state <1=> Non-Secure state -// Interrupt 311 <0=> Secure state <1=> Non-Secure state -// Interrupt 312 <0=> Secure state <1=> Non-Secure state -// Interrupt 313 <0=> Secure state <1=> Non-Secure state -// Interrupt 314 <0=> Secure state <1=> Non-Secure state -// Interrupt 315 <0=> Secure state <1=> Non-Secure state -// Interrupt 316 <0=> Secure state <1=> Non-Secure state -// Interrupt 317 <0=> Secure state <1=> Non-Secure state -// Interrupt 318 <0=> Secure state <1=> Non-Secure state -// Interrupt 319 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS9_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 10 (Interrupts 320..351) -*/ -#define NVIC_INIT_ITNS10 0 - -/* -// Interrupts 320..351 -// Interrupt 320 <0=> Secure state <1=> Non-Secure state -// Interrupt 321 <0=> Secure state <1=> Non-Secure state -// Interrupt 322 <0=> Secure state <1=> Non-Secure state -// Interrupt 323 <0=> Secure state <1=> Non-Secure state -// Interrupt 324 <0=> Secure state <1=> Non-Secure state -// Interrupt 325 <0=> Secure state <1=> Non-Secure state -// Interrupt 326 <0=> Secure state <1=> Non-Secure state -// Interrupt 327 <0=> Secure state <1=> Non-Secure state -// Interrupt 328 <0=> Secure state <1=> Non-Secure state -// Interrupt 329 <0=> Secure state <1=> Non-Secure state -// Interrupt 330 <0=> Secure state <1=> Non-Secure state -// Interrupt 331 <0=> Secure state <1=> Non-Secure state -// Interrupt 332 <0=> Secure state <1=> Non-Secure state -// Interrupt 333 <0=> Secure state <1=> Non-Secure state -// Interrupt 334 <0=> Secure state <1=> Non-Secure state -// Interrupt 335 <0=> Secure state <1=> Non-Secure state -// Interrupt 336 <0=> Secure state <1=> Non-Secure state -// Interrupt 337 <0=> Secure state <1=> Non-Secure state -// Interrupt 338 <0=> Secure state <1=> Non-Secure state -// Interrupt 339 <0=> Secure state <1=> Non-Secure state -// Interrupt 340 <0=> Secure state <1=> Non-Secure state -// Interrupt 341 <0=> Secure state <1=> Non-Secure state -// Interrupt 342 <0=> Secure state <1=> Non-Secure state -// Interrupt 343 <0=> Secure state <1=> Non-Secure state -// Interrupt 344 <0=> Secure state <1=> Non-Secure state -// Interrupt 345 <0=> Secure state <1=> Non-Secure state -// Interrupt 346 <0=> Secure state <1=> Non-Secure state -// Interrupt 347 <0=> Secure state <1=> Non-Secure state -// Interrupt 348 <0=> Secure state <1=> Non-Secure state -// Interrupt 349 <0=> Secure state <1=> Non-Secure state -// Interrupt 350 <0=> Secure state <1=> Non-Secure state -// Interrupt 351 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS10_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 11 (Interrupts 352..383) -*/ -#define NVIC_INIT_ITNS11 0 - -/* -// Interrupts 352..383 -// Interrupt 352 <0=> Secure state <1=> Non-Secure state -// Interrupt 353 <0=> Secure state <1=> Non-Secure state -// Interrupt 354 <0=> Secure state <1=> Non-Secure state -// Interrupt 355 <0=> Secure state <1=> Non-Secure state -// Interrupt 356 <0=> Secure state <1=> Non-Secure state -// Interrupt 357 <0=> Secure state <1=> Non-Secure state -// Interrupt 358 <0=> Secure state <1=> Non-Secure state -// Interrupt 359 <0=> Secure state <1=> Non-Secure state -// Interrupt 360 <0=> Secure state <1=> Non-Secure state -// Interrupt 361 <0=> Secure state <1=> Non-Secure state -// Interrupt 362 <0=> Secure state <1=> Non-Secure state -// Interrupt 363 <0=> Secure state <1=> Non-Secure state -// Interrupt 364 <0=> Secure state <1=> Non-Secure state -// Interrupt 365 <0=> Secure state <1=> Non-Secure state -// Interrupt 366 <0=> Secure state <1=> Non-Secure state -// Interrupt 367 <0=> Secure state <1=> Non-Secure state -// Interrupt 368 <0=> Secure state <1=> Non-Secure state -// Interrupt 369 <0=> Secure state <1=> Non-Secure state -// Interrupt 370 <0=> Secure state <1=> Non-Secure state -// Interrupt 371 <0=> Secure state <1=> Non-Secure state -// Interrupt 372 <0=> Secure state <1=> Non-Secure state -// Interrupt 373 <0=> Secure state <1=> Non-Secure state -// Interrupt 374 <0=> Secure state <1=> Non-Secure state -// Interrupt 375 <0=> Secure state <1=> Non-Secure state -// Interrupt 376 <0=> Secure state <1=> Non-Secure state -// Interrupt 377 <0=> Secure state <1=> Non-Secure state -// Interrupt 378 <0=> Secure state <1=> Non-Secure state -// Interrupt 379 <0=> Secure state <1=> Non-Secure state -// Interrupt 380 <0=> Secure state <1=> Non-Secure state -// Interrupt 381 <0=> Secure state <1=> Non-Secure state -// Interrupt 382 <0=> Secure state <1=> Non-Secure state -// Interrupt 383 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS11_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 12 (Interrupts 384..415) -*/ -#define NVIC_INIT_ITNS12 0 - -/* -// Interrupts 384..415 -// Interrupt 384 <0=> Secure state <1=> Non-Secure state -// Interrupt 385 <0=> Secure state <1=> Non-Secure state -// Interrupt 386 <0=> Secure state <1=> Non-Secure state -// Interrupt 387 <0=> Secure state <1=> Non-Secure state -// Interrupt 388 <0=> Secure state <1=> Non-Secure state -// Interrupt 389 <0=> Secure state <1=> Non-Secure state -// Interrupt 390 <0=> Secure state <1=> Non-Secure state -// Interrupt 391 <0=> Secure state <1=> Non-Secure state -// Interrupt 392 <0=> Secure state <1=> Non-Secure state -// Interrupt 393 <0=> Secure state <1=> Non-Secure state -// Interrupt 394 <0=> Secure state <1=> Non-Secure state -// Interrupt 395 <0=> Secure state <1=> Non-Secure state -// Interrupt 396 <0=> Secure state <1=> Non-Secure state -// Interrupt 397 <0=> Secure state <1=> Non-Secure state -// Interrupt 398 <0=> Secure state <1=> Non-Secure state -// Interrupt 399 <0=> Secure state <1=> Non-Secure state -// Interrupt 400 <0=> Secure state <1=> Non-Secure state -// Interrupt 401 <0=> Secure state <1=> Non-Secure state -// Interrupt 402 <0=> Secure state <1=> Non-Secure state -// Interrupt 403 <0=> Secure state <1=> Non-Secure state -// Interrupt 404 <0=> Secure state <1=> Non-Secure state -// Interrupt 405 <0=> Secure state <1=> Non-Secure state -// Interrupt 406 <0=> Secure state <1=> Non-Secure state -// Interrupt 407 <0=> Secure state <1=> Non-Secure state -// Interrupt 408 <0=> Secure state <1=> Non-Secure state -// Interrupt 409 <0=> Secure state <1=> Non-Secure state -// Interrupt 410 <0=> Secure state <1=> Non-Secure state -// Interrupt 411 <0=> Secure state <1=> Non-Secure state -// Interrupt 412 <0=> Secure state <1=> Non-Secure state -// Interrupt 413 <0=> Secure state <1=> Non-Secure state -// Interrupt 414 <0=> Secure state <1=> Non-Secure state -// Interrupt 415 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS12_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 13 (Interrupts 416..447) -*/ -#define NVIC_INIT_ITNS13 0 - -/* -// Interrupts 416..447 -// Interrupt 416 <0=> Secure state <1=> Non-Secure state -// Interrupt 417 <0=> Secure state <1=> Non-Secure state -// Interrupt 418 <0=> Secure state <1=> Non-Secure state -// Interrupt 419 <0=> Secure state <1=> Non-Secure state -// Interrupt 420 <0=> Secure state <1=> Non-Secure state -// Interrupt 421 <0=> Secure state <1=> Non-Secure state -// Interrupt 422 <0=> Secure state <1=> Non-Secure state -// Interrupt 423 <0=> Secure state <1=> Non-Secure state -// Interrupt 424 <0=> Secure state <1=> Non-Secure state -// Interrupt 425 <0=> Secure state <1=> Non-Secure state -// Interrupt 426 <0=> Secure state <1=> Non-Secure state -// Interrupt 427 <0=> Secure state <1=> Non-Secure state -// Interrupt 428 <0=> Secure state <1=> Non-Secure state -// Interrupt 429 <0=> Secure state <1=> Non-Secure state -// Interrupt 430 <0=> Secure state <1=> Non-Secure state -// Interrupt 431 <0=> Secure state <1=> Non-Secure state -// Interrupt 432 <0=> Secure state <1=> Non-Secure state -// Interrupt 433 <0=> Secure state <1=> Non-Secure state -// Interrupt 434 <0=> Secure state <1=> Non-Secure state -// Interrupt 435 <0=> Secure state <1=> Non-Secure state -// Interrupt 436 <0=> Secure state <1=> Non-Secure state -// Interrupt 437 <0=> Secure state <1=> Non-Secure state -// Interrupt 438 <0=> Secure state <1=> Non-Secure state -// Interrupt 439 <0=> Secure state <1=> Non-Secure state -// Interrupt 440 <0=> Secure state <1=> Non-Secure state -// Interrupt 441 <0=> Secure state <1=> Non-Secure state -// Interrupt 442 <0=> Secure state <1=> Non-Secure state -// Interrupt 443 <0=> Secure state <1=> Non-Secure state -// Interrupt 444 <0=> Secure state <1=> Non-Secure state -// Interrupt 445 <0=> Secure state <1=> Non-Secure state -// Interrupt 446 <0=> Secure state <1=> Non-Secure state -// Interrupt 447 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS13_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 14 (Interrupts 448..479) -*/ -#define NVIC_INIT_ITNS14 0 - -/* -// Interrupts 448..479 -// Interrupt 448 <0=> Secure state <1=> Non-Secure state -// Interrupt 449 <0=> Secure state <1=> Non-Secure state -// Interrupt 450 <0=> Secure state <1=> Non-Secure state -// Interrupt 451 <0=> Secure state <1=> Non-Secure state -// Interrupt 452 <0=> Secure state <1=> Non-Secure state -// Interrupt 453 <0=> Secure state <1=> Non-Secure state -// Interrupt 454 <0=> Secure state <1=> Non-Secure state -// Interrupt 455 <0=> Secure state <1=> Non-Secure state -// Interrupt 456 <0=> Secure state <1=> Non-Secure state -// Interrupt 457 <0=> Secure state <1=> Non-Secure state -// Interrupt 458 <0=> Secure state <1=> Non-Secure state -// Interrupt 459 <0=> Secure state <1=> Non-Secure state -// Interrupt 460 <0=> Secure state <1=> Non-Secure state -// Interrupt 461 <0=> Secure state <1=> Non-Secure state -// Interrupt 462 <0=> Secure state <1=> Non-Secure state -// Interrupt 463 <0=> Secure state <1=> Non-Secure state -// Interrupt 464 <0=> Secure state <1=> Non-Secure state -// Interrupt 465 <0=> Secure state <1=> Non-Secure state -// Interrupt 466 <0=> Secure state <1=> Non-Secure state -// Interrupt 467 <0=> Secure state <1=> Non-Secure state -// Interrupt 468 <0=> Secure state <1=> Non-Secure state -// Interrupt 469 <0=> Secure state <1=> Non-Secure state -// Interrupt 470 <0=> Secure state <1=> Non-Secure state -// Interrupt 471 <0=> Secure state <1=> Non-Secure state -// Interrupt 472 <0=> Secure state <1=> Non-Secure state -// Interrupt 473 <0=> Secure state <1=> Non-Secure state -// Interrupt 474 <0=> Secure state <1=> Non-Secure state -// Interrupt 475 <0=> Secure state <1=> Non-Secure state -// Interrupt 476 <0=> Secure state <1=> Non-Secure state -// Interrupt 477 <0=> Secure state <1=> Non-Secure state -// Interrupt 478 <0=> Secure state <1=> Non-Secure state -// Interrupt 479 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS14_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 15 (Interrupts 480..511) -*/ -#define NVIC_INIT_ITNS15 0 - -/* -// Interrupts 480..511 -// Interrupt 480 <0=> Secure state <1=> Non-Secure state -// Interrupt 481 <0=> Secure state <1=> Non-Secure state -// Interrupt 482 <0=> Secure state <1=> Non-Secure state -// Interrupt 483 <0=> Secure state <1=> Non-Secure state -// Interrupt 484 <0=> Secure state <1=> Non-Secure state -// Interrupt 485 <0=> Secure state <1=> Non-Secure state -// Interrupt 486 <0=> Secure state <1=> Non-Secure state -// Interrupt 487 <0=> Secure state <1=> Non-Secure state -// Interrupt 488 <0=> Secure state <1=> Non-Secure state -// Interrupt 489 <0=> Secure state <1=> Non-Secure state -// Interrupt 490 <0=> Secure state <1=> Non-Secure state -// Interrupt 491 <0=> Secure state <1=> Non-Secure state -// Interrupt 492 <0=> Secure state <1=> Non-Secure state -// Interrupt 493 <0=> Secure state <1=> Non-Secure state -// Interrupt 494 <0=> Secure state <1=> Non-Secure state -// Interrupt 495 <0=> Secure state <1=> Non-Secure state -// Interrupt 496 <0=> Secure state <1=> Non-Secure state -// Interrupt 497 <0=> Secure state <1=> Non-Secure state -// Interrupt 498 <0=> Secure state <1=> Non-Secure state -// Interrupt 499 <0=> Secure state <1=> Non-Secure state -// Interrupt 500 <0=> Secure state <1=> Non-Secure state -// Interrupt 501 <0=> Secure state <1=> Non-Secure state -// Interrupt 502 <0=> Secure state <1=> Non-Secure state -// Interrupt 503 <0=> Secure state <1=> Non-Secure state -// Interrupt 504 <0=> Secure state <1=> Non-Secure state -// Interrupt 505 <0=> Secure state <1=> Non-Secure state -// Interrupt 506 <0=> Secure state <1=> Non-Secure state -// Interrupt 507 <0=> Secure state <1=> Non-Secure state -// Interrupt 508 <0=> Secure state <1=> Non-Secure state -// Interrupt 509 <0=> Secure state <1=> Non-Secure state -// Interrupt 510 <0=> Secure state <1=> Non-Secure state -// Interrupt 511 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS15_VAL 0x00000000 - -/* -// -*/ - -/* -// -*/ - - - -/* - max 128 SAU regions. - SAU regions are defined in partition.h - */ - -#define SAU_INIT_REGION(n) \ - SAU->RNR = (n & SAU_RNR_REGION_Msk); \ - SAU->RBAR = (SAU_INIT_START##n & SAU_RBAR_BADDR_Msk); \ - SAU->RLAR = (SAU_INIT_END##n & SAU_RLAR_LADDR_Msk) | \ - ((SAU_INIT_NSC##n << SAU_RLAR_NSC_Pos) & SAU_RLAR_NSC_Msk) | 1U - -/** - \brief Setup a SAU Region - \details Writes the region information contained in SAU_Region to the - registers SAU_RNR, SAU_RBAR, and SAU_RLAR - */ -__STATIC_INLINE void TZ_SAU_Setup (void) -{ - -#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) - - #if defined (SAU_INIT_REGION0) && (SAU_INIT_REGION0 == 1U) - SAU_INIT_REGION(0); - #endif - - #if defined (SAU_INIT_REGION1) && (SAU_INIT_REGION1 == 1U) - SAU_INIT_REGION(1); - #endif - - #if defined (SAU_INIT_REGION2) && (SAU_INIT_REGION2 == 1U) - SAU_INIT_REGION(2); - #endif - - #if defined (SAU_INIT_REGION3) && (SAU_INIT_REGION3 == 1U) - SAU_INIT_REGION(3); - #endif - - #if defined (SAU_INIT_REGION4) && (SAU_INIT_REGION4 == 1U) - SAU_INIT_REGION(4); - #endif - - #if defined (SAU_INIT_REGION5) && (SAU_INIT_REGION5 == 1U) - SAU_INIT_REGION(5); - #endif - - #if defined (SAU_INIT_REGION6) && (SAU_INIT_REGION6 == 1U) - SAU_INIT_REGION(6); - #endif - - #if defined (SAU_INIT_REGION7) && (SAU_INIT_REGION7 == 1U) - SAU_INIT_REGION(7); - #endif - - /* repeat this for all possible SAU regions */ - -#endif /* defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) */ - - - #if defined (SAU_INIT_CTRL) && (SAU_INIT_CTRL == 1U) - SAU->CTRL = ((SAU_INIT_CTRL_ENABLE << SAU_CTRL_ENABLE_Pos) & SAU_CTRL_ENABLE_Msk) | - ((SAU_INIT_CTRL_ALLNS << SAU_CTRL_ALLNS_Pos) & SAU_CTRL_ALLNS_Msk) ; - #endif - - #if defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) - SCB->SCR = (SCB->SCR & ~(SCB_SCR_SLEEPDEEPS_Msk )) | - ((SCB_CSR_DEEPSLEEPS_VAL << SCB_SCR_SLEEPDEEPS_Pos) & SCB_SCR_SLEEPDEEPS_Msk); - - SCB->AIRCR = (SCB->AIRCR & ~(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_SYSRESETREQS_Msk | - SCB_AIRCR_BFHFNMINS_Msk | SCB_AIRCR_PRIS_Msk )) | - ((0x05FAU << SCB_AIRCR_VECTKEY_Pos) & SCB_AIRCR_VECTKEY_Msk) | - ((SCB_AIRCR_SYSRESETREQS_VAL << SCB_AIRCR_SYSRESETREQS_Pos) & SCB_AIRCR_SYSRESETREQS_Msk) | - ((SCB_AIRCR_PRIS_VAL << SCB_AIRCR_PRIS_Pos) & SCB_AIRCR_PRIS_Msk) | - ((SCB_AIRCR_BFHFNMINS_VAL << SCB_AIRCR_BFHFNMINS_Pos) & SCB_AIRCR_BFHFNMINS_Msk); - #endif /* defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) */ - - #if (((defined (__FPU_USED) && (__FPU_USED == 1U)) || \ - (defined (__ARM_FEATURE_MVE) && (__ARM_FEATURE_MVE > 0))) && \ - (defined (TZ_FPU_NS_USAGE) && (TZ_FPU_NS_USAGE == 1U))) - - SCB->NSACR = (SCB->NSACR & ~(SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)) | - ((SCB_NSACR_CP10_11_VAL << SCB_NSACR_CP10_Pos) & (SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)); - - FPU->FPCCR = (FPU->FPCCR & ~(FPU_FPCCR_TS_Msk | FPU_FPCCR_CLRONRETS_Msk | FPU_FPCCR_CLRONRET_Msk)) | - ((FPU_FPCCR_TS_VAL << FPU_FPCCR_TS_Pos ) & FPU_FPCCR_TS_Msk ) | - ((FPU_FPCCR_CLRONRETS_VAL << FPU_FPCCR_CLRONRETS_Pos) & FPU_FPCCR_CLRONRETS_Msk) | - ((FPU_FPCCR_CLRONRET_VAL << FPU_FPCCR_CLRONRET_Pos ) & FPU_FPCCR_CLRONRET_Msk ); - #endif - - #if defined (NVIC_INIT_ITNS0) && (NVIC_INIT_ITNS0 == 1U) - NVIC->ITNS[0] = NVIC_INIT_ITNS0_VAL; - #endif - - #if defined (NVIC_INIT_ITNS1) && (NVIC_INIT_ITNS1 == 1U) - NVIC->ITNS[1] = NVIC_INIT_ITNS1_VAL; - #endif - - #if defined (NVIC_INIT_ITNS2) && (NVIC_INIT_ITNS2 == 1U) - NVIC->ITNS[2] = NVIC_INIT_ITNS2_VAL; - #endif - - #if defined (NVIC_INIT_ITNS3) && (NVIC_INIT_ITNS3 == 1U) - NVIC->ITNS[3] = NVIC_INIT_ITNS3_VAL; - #endif - - #if defined (NVIC_INIT_ITNS4) && (NVIC_INIT_ITNS4 == 1U) - NVIC->ITNS[4] = NVIC_INIT_ITNS4_VAL; - #endif - - #if defined (NVIC_INIT_ITNS5) && (NVIC_INIT_ITNS5 == 1U) - NVIC->ITNS[5] = NVIC_INIT_ITNS5_VAL; - #endif - - #if defined (NVIC_INIT_ITNS6) && (NVIC_INIT_ITNS6 == 1U) - NVIC->ITNS[6] = NVIC_INIT_ITNS6_VAL; - #endif - - #if defined (NVIC_INIT_ITNS7) && (NVIC_INIT_ITNS7 == 1U) - NVIC->ITNS[7] = NVIC_INIT_ITNS7_VAL; - #endif - - #if defined (NVIC_INIT_ITNS8) && (NVIC_INIT_ITNS8 == 1U) - NVIC->ITNS[8] = NVIC_INIT_ITNS8_VAL; - #endif - - #if defined (NVIC_INIT_ITNS9) && (NVIC_INIT_ITNS9 == 1U) - NVIC->ITNS[9] = NVIC_INIT_ITNS9_VAL; - #endif - - #if defined (NVIC_INIT_ITNS10) && (NVIC_INIT_ITNS10 == 1U) - NVIC->ITNS[10] = NVIC_INIT_ITNS10_VAL; - #endif - - #if defined (NVIC_INIT_ITNS11) && (NVIC_INIT_ITNS11 == 1U) - NVIC->ITNS[11] = NVIC_INIT_ITNS11_VAL; - #endif - - #if defined (NVIC_INIT_ITNS12) && (NVIC_INIT_ITNS12 == 1U) - NVIC->ITNS[12] = NVIC_INIT_ITNS12_VAL; - #endif - - #if defined (NVIC_INIT_ITNS13) && (NVIC_INIT_ITNS13 == 1U) - NVIC->ITNS[13] = NVIC_INIT_ITNS13_VAL; - #endif - - #if defined (NVIC_INIT_ITNS14) && (NVIC_INIT_ITNS14 == 1U) - NVIC->ITNS[14] = NVIC_INIT_ITNS14_VAL; - #endif - - #if defined (NVIC_INIT_ITNS15) && (NVIC_INIT_ITNS15 == 1U) - NVIC->ITNS[15] = NVIC_INIT_ITNS15_VAL; - #endif - - /* repeat this for all possible ITNS elements */ - -} - -#endif /* PARTITION_ARMCM85_H */ diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/partition_ARMCM85.h.base@1.0.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/partition_ARMCM85.h.base@1.0.0 deleted file mode 100644 index a3d881a..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/partition_ARMCM85.h.base@1.0.0 +++ /dev/null @@ -1,1301 +0,0 @@ -/**************************************************************************//** - * @file partition_ARMCM85.h - * @brief CMSIS-CORE Initial Setup for Secure / Non-Secure Zones for Armv8.1-M Mainline - * @version V1.0.0 - * @date 07. March 2022 - ******************************************************************************/ -/* - * Copyright (c) 2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef PARTITION_ARMCM85_H -#define PARTITION_ARMCM85_H - -/* -//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- -*/ - -/* -// Initialize Security Attribution Unit (SAU) CTRL register -*/ -#define SAU_INIT_CTRL 1 - -/* -// Enable SAU -// Value for SAU->CTRL register bit ENABLE -*/ -#define SAU_INIT_CTRL_ENABLE 1 - -/* -// When SAU is disabled -// <0=> All Memory is Secure -// <1=> All Memory is Non-Secure -// Value for SAU->CTRL register bit ALLNS -// When all Memory is Non-Secure (ALLNS is 1), IDAU can override memory map configuration. -*/ -#define SAU_INIT_CTRL_ALLNS 0 - -/* -// -*/ - -/* -// Initialize Security Attribution Unit (SAU) Address Regions -// SAU configuration specifies regions to be one of: -// - Secure and Non-Secure Callable -// - Non-Secure -// Note: All memory regions not configured by SAU are Secure -*/ -#define SAU_REGIONS_MAX 8 /* Max. number of SAU regions */ - -/* -// Initialize SAU Region 0 -// Setup SAU Region 0 memory attributes -*/ -#define SAU_INIT_REGION0 1 - -/* -// Description -*/ -#define SAU_INIT_DSCR0 "NSC code" /* description SAU region 0 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START0 0x00000000 /* start address of SAU region 0 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END0 0x001FFFFF /* end address of SAU region 0 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC0 1 -/* -// -*/ - -/* -// Initialize SAU Region 1 -// Setup SAU Region 1 memory attributes -*/ -#define SAU_INIT_REGION1 1 - -/* -// Description -*/ -#define SAU_INIT_DSCR1 "NS code" /* description SAU region 1 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START1 0x00200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END1 0x003FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC1 0 -/* -// -*/ - -/* -// Initialize SAU Region 2 -// Setup SAU Region 2 memory attributes -*/ -#define SAU_INIT_REGION2 1 - -/* -// Description -*/ -#define SAU_INIT_DSCR2 "NS data" /* description SAU region 2 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START2 0x20200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END2 0x203FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC2 0 -/* -// -*/ - -/* -// Initialize SAU Region 3 -// Setup SAU Region 3 memory attributes -*/ -#define SAU_INIT_REGION3 1 - -/* -// Description -*/ -#define SAU_INIT_DSCR3 "NS peripherals" /* description SAU region 3 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START3 0x40000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END3 0x40040000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC3 0 -/* -// -*/ - -/* -// Initialize SAU Region 4 -// Setup SAU Region 4 memory attributes -*/ -#define SAU_INIT_REGION4 0 - -/* -// Description -*/ -#define SAU_INIT_DSCR4 "SAU region 4" /* description SAU region 4 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START4 0x00000000 /* start address of SAU region 4 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END4 0x00000000 /* end address of SAU region 4 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC4 0 -/* -// -*/ - -/* -// Initialize SAU Region 5 -// Setup SAU Region 5 memory attributes -*/ -#define SAU_INIT_REGION5 0 - -/* -// Description -*/ -#define SAU_INIT_DSCR5 "SAU region 5" /* description SAU region 5 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START5 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END5 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC5 0 -/* -// -*/ - -/* -// Initialize SAU Region 6 -// Setup SAU Region 6 memory attributes -*/ -#define SAU_INIT_REGION6 0 - -/* -// Description -*/ -#define SAU_INIT_DSCR6 "SAU region 6" /* description SAU region 6 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START6 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END6 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC6 0 -/* -// -*/ - -/* -// Initialize SAU Region 7 -// Setup SAU Region 7 memory attributes -*/ -#define SAU_INIT_REGION7 0 - -/* -// Description -*/ -#define SAU_INIT_DSCR7 "SAU region 7" /* description SAU region 7 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START7 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END7 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC7 0 -/* -// -*/ - -/* -// -*/ - -/* -// Setup behaviour of Sleep and Exception Handling -*/ -#define SCB_CSR_AIRCR_INIT 1 - -/* -// Deep Sleep can be enabled by -// <0=>Secure and Non-Secure state -// <1=>Secure state only -// Value for SCB->CSR register bit DEEPSLEEPS -*/ -#define SCB_CSR_DEEPSLEEPS_VAL 1 - -/* -// System reset request accessible from -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for SCB->AIRCR register bit SYSRESETREQS -*/ -#define SCB_AIRCR_SYSRESETREQS_VAL 1 - -/* -// Priority of Non-Secure exceptions is -// <0=> Not altered -// <1=> Lowered to 0x80-0xFF -// Value for SCB->AIRCR register bit PRIS -*/ -#define SCB_AIRCR_PRIS_VAL 1 - -/* -// BusFault, HardFault, and NMI target -// <0=> Secure state -// <1=> Non-Secure state -// Value for SCB->AIRCR register bit BFHFNMINS -*/ -#define SCB_AIRCR_BFHFNMINS_VAL 0 - -/* -// -*/ - -/* -// Setup behaviour of Floating Point and Vector Unit (FPU/MVE) -*/ -#define TZ_FPU_NS_USAGE 1 - -/* -// Floating Point and Vector Unit usage -// <0=> Secure state only -// <3=> Secure and Non-Secure state -// Value for SCB->NSACR register bits CP10, CP11 -*/ -#define SCB_NSACR_CP10_11_VAL 3 - -/* -// Treat floating-point registers as Secure -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit TS -*/ -#define FPU_FPCCR_TS_VAL 0 - -/* -// Clear on return (CLRONRET) accessibility -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for FPU->FPCCR register bit CLRONRETS -*/ -#define FPU_FPCCR_CLRONRETS_VAL 0 - -/* -// Clear floating-point caller saved registers on exception return -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit CLRONRET -*/ -#define FPU_FPCCR_CLRONRET_VAL 1 - -/* -// -*/ - -/* -// Setup Interrupt Target -*/ - -/* -// Initialize ITNS 0 (Interrupts 0..31) -*/ -#define NVIC_INIT_ITNS0 1 - -/* -// Interrupts 0..31 -// Interrupt 0 <0=> Secure state <1=> Non-Secure state -// Interrupt 1 <0=> Secure state <1=> Non-Secure state -// Interrupt 2 <0=> Secure state <1=> Non-Secure state -// Interrupt 3 <0=> Secure state <1=> Non-Secure state -// Interrupt 4 <0=> Secure state <1=> Non-Secure state -// Interrupt 5 <0=> Secure state <1=> Non-Secure state -// Interrupt 6 <0=> Secure state <1=> Non-Secure state -// Interrupt 7 <0=> Secure state <1=> Non-Secure state -// Interrupt 8 <0=> Secure state <1=> Non-Secure state -// Interrupt 9 <0=> Secure state <1=> Non-Secure state -// Interrupt 10 <0=> Secure state <1=> Non-Secure state -// Interrupt 11 <0=> Secure state <1=> Non-Secure state -// Interrupt 12 <0=> Secure state <1=> Non-Secure state -// Interrupt 13 <0=> Secure state <1=> Non-Secure state -// Interrupt 14 <0=> Secure state <1=> Non-Secure state -// Interrupt 15 <0=> Secure state <1=> Non-Secure state -// Interrupt 16 <0=> Secure state <1=> Non-Secure state -// Interrupt 17 <0=> Secure state <1=> Non-Secure state -// Interrupt 18 <0=> Secure state <1=> Non-Secure state -// Interrupt 19 <0=> Secure state <1=> Non-Secure state -// Interrupt 20 <0=> Secure state <1=> Non-Secure state -// Interrupt 21 <0=> Secure state <1=> Non-Secure state -// Interrupt 22 <0=> Secure state <1=> Non-Secure state -// Interrupt 23 <0=> Secure state <1=> Non-Secure state -// Interrupt 24 <0=> Secure state <1=> Non-Secure state -// Interrupt 25 <0=> Secure state <1=> Non-Secure state -// Interrupt 26 <0=> Secure state <1=> Non-Secure state -// Interrupt 27 <0=> Secure state <1=> Non-Secure state -// Interrupt 28 <0=> Secure state <1=> Non-Secure state -// Interrupt 29 <0=> Secure state <1=> Non-Secure state -// Interrupt 30 <0=> Secure state <1=> Non-Secure state -// Interrupt 31 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS0_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 1 (Interrupts 32..63) -*/ -#define NVIC_INIT_ITNS1 1 - -/* -// Interrupts 32..63 -// Interrupt 32 <0=> Secure state <1=> Non-Secure state -// Interrupt 33 <0=> Secure state <1=> Non-Secure state -// Interrupt 34 <0=> Secure state <1=> Non-Secure state -// Interrupt 35 <0=> Secure state <1=> Non-Secure state -// Interrupt 36 <0=> Secure state <1=> Non-Secure state -// Interrupt 37 <0=> Secure state <1=> Non-Secure state -// Interrupt 38 <0=> Secure state <1=> Non-Secure state -// Interrupt 39 <0=> Secure state <1=> Non-Secure state -// Interrupt 40 <0=> Secure state <1=> Non-Secure state -// Interrupt 41 <0=> Secure state <1=> Non-Secure state -// Interrupt 42 <0=> Secure state <1=> Non-Secure state -// Interrupt 43 <0=> Secure state <1=> Non-Secure state -// Interrupt 44 <0=> Secure state <1=> Non-Secure state -// Interrupt 45 <0=> Secure state <1=> Non-Secure state -// Interrupt 46 <0=> Secure state <1=> Non-Secure state -// Interrupt 47 <0=> Secure state <1=> Non-Secure state -// Interrupt 48 <0=> Secure state <1=> Non-Secure state -// Interrupt 49 <0=> Secure state <1=> Non-Secure state -// Interrupt 50 <0=> Secure state <1=> Non-Secure state -// Interrupt 51 <0=> Secure state <1=> Non-Secure state -// Interrupt 52 <0=> Secure state <1=> Non-Secure state -// Interrupt 53 <0=> Secure state <1=> Non-Secure state -// Interrupt 54 <0=> Secure state <1=> Non-Secure state -// Interrupt 55 <0=> Secure state <1=> Non-Secure state -// Interrupt 56 <0=> Secure state <1=> Non-Secure state -// Interrupt 57 <0=> Secure state <1=> Non-Secure state -// Interrupt 58 <0=> Secure state <1=> Non-Secure state -// Interrupt 59 <0=> Secure state <1=> Non-Secure state -// Interrupt 60 <0=> Secure state <1=> Non-Secure state -// Interrupt 61 <0=> Secure state <1=> Non-Secure state -// Interrupt 62 <0=> Secure state <1=> Non-Secure state -// Interrupt 63 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS1_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 2 (Interrupts 64..95) -*/ -#define NVIC_INIT_ITNS2 0 - -/* -// Interrupts 64..95 -// Interrupt 64 <0=> Secure state <1=> Non-Secure state -// Interrupt 65 <0=> Secure state <1=> Non-Secure state -// Interrupt 66 <0=> Secure state <1=> Non-Secure state -// Interrupt 67 <0=> Secure state <1=> Non-Secure state -// Interrupt 68 <0=> Secure state <1=> Non-Secure state -// Interrupt 69 <0=> Secure state <1=> Non-Secure state -// Interrupt 70 <0=> Secure state <1=> Non-Secure state -// Interrupt 71 <0=> Secure state <1=> Non-Secure state -// Interrupt 72 <0=> Secure state <1=> Non-Secure state -// Interrupt 73 <0=> Secure state <1=> Non-Secure state -// Interrupt 74 <0=> Secure state <1=> Non-Secure state -// Interrupt 75 <0=> Secure state <1=> Non-Secure state -// Interrupt 76 <0=> Secure state <1=> Non-Secure state -// Interrupt 77 <0=> Secure state <1=> Non-Secure state -// Interrupt 78 <0=> Secure state <1=> Non-Secure state -// Interrupt 79 <0=> Secure state <1=> Non-Secure state -// Interrupt 80 <0=> Secure state <1=> Non-Secure state -// Interrupt 81 <0=> Secure state <1=> Non-Secure state -// Interrupt 82 <0=> Secure state <1=> Non-Secure state -// Interrupt 83 <0=> Secure state <1=> Non-Secure state -// Interrupt 84 <0=> Secure state <1=> Non-Secure state -// Interrupt 85 <0=> Secure state <1=> Non-Secure state -// Interrupt 86 <0=> Secure state <1=> Non-Secure state -// Interrupt 87 <0=> Secure state <1=> Non-Secure state -// Interrupt 88 <0=> Secure state <1=> Non-Secure state -// Interrupt 89 <0=> Secure state <1=> Non-Secure state -// Interrupt 90 <0=> Secure state <1=> Non-Secure state -// Interrupt 91 <0=> Secure state <1=> Non-Secure state -// Interrupt 92 <0=> Secure state <1=> Non-Secure state -// Interrupt 93 <0=> Secure state <1=> Non-Secure state -// Interrupt 94 <0=> Secure state <1=> Non-Secure state -// Interrupt 95 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS2_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 3 (Interrupts 96..127) -*/ -#define NVIC_INIT_ITNS3 0 - -/* -// Interrupts 96..127 -// Interrupt 96 <0=> Secure state <1=> Non-Secure state -// Interrupt 97 <0=> Secure state <1=> Non-Secure state -// Interrupt 98 <0=> Secure state <1=> Non-Secure state -// Interrupt 99 <0=> Secure state <1=> Non-Secure state -// Interrupt 100 <0=> Secure state <1=> Non-Secure state -// Interrupt 101 <0=> Secure state <1=> Non-Secure state -// Interrupt 102 <0=> Secure state <1=> Non-Secure state -// Interrupt 103 <0=> Secure state <1=> Non-Secure state -// Interrupt 104 <0=> Secure state <1=> Non-Secure state -// Interrupt 105 <0=> Secure state <1=> Non-Secure state -// Interrupt 106 <0=> Secure state <1=> Non-Secure state -// Interrupt 107 <0=> Secure state <1=> Non-Secure state -// Interrupt 108 <0=> Secure state <1=> Non-Secure state -// Interrupt 109 <0=> Secure state <1=> Non-Secure state -// Interrupt 110 <0=> Secure state <1=> Non-Secure state -// Interrupt 111 <0=> Secure state <1=> Non-Secure state -// Interrupt 112 <0=> Secure state <1=> Non-Secure state -// Interrupt 113 <0=> Secure state <1=> Non-Secure state -// Interrupt 114 <0=> Secure state <1=> Non-Secure state -// Interrupt 115 <0=> Secure state <1=> Non-Secure state -// Interrupt 116 <0=> Secure state <1=> Non-Secure state -// Interrupt 117 <0=> Secure state <1=> Non-Secure state -// Interrupt 118 <0=> Secure state <1=> Non-Secure state -// Interrupt 119 <0=> Secure state <1=> Non-Secure state -// Interrupt 120 <0=> Secure state <1=> Non-Secure state -// Interrupt 121 <0=> Secure state <1=> Non-Secure state -// Interrupt 122 <0=> Secure state <1=> Non-Secure state -// Interrupt 123 <0=> Secure state <1=> Non-Secure state -// Interrupt 124 <0=> Secure state <1=> Non-Secure state -// Interrupt 125 <0=> Secure state <1=> Non-Secure state -// Interrupt 126 <0=> Secure state <1=> Non-Secure state -// Interrupt 127 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS3_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 4 (Interrupts 128..159) -*/ -#define NVIC_INIT_ITNS4 0 - -/* -// Interrupts 128..159 -// Interrupt 128 <0=> Secure state <1=> Non-Secure state -// Interrupt 129 <0=> Secure state <1=> Non-Secure state -// Interrupt 130 <0=> Secure state <1=> Non-Secure state -// Interrupt 131 <0=> Secure state <1=> Non-Secure state -// Interrupt 132 <0=> Secure state <1=> Non-Secure state -// Interrupt 133 <0=> Secure state <1=> Non-Secure state -// Interrupt 134 <0=> Secure state <1=> Non-Secure state -// Interrupt 135 <0=> Secure state <1=> Non-Secure state -// Interrupt 136 <0=> Secure state <1=> Non-Secure state -// Interrupt 137 <0=> Secure state <1=> Non-Secure state -// Interrupt 138 <0=> Secure state <1=> Non-Secure state -// Interrupt 139 <0=> Secure state <1=> Non-Secure state -// Interrupt 140 <0=> Secure state <1=> Non-Secure state -// Interrupt 141 <0=> Secure state <1=> Non-Secure state -// Interrupt 142 <0=> Secure state <1=> Non-Secure state -// Interrupt 143 <0=> Secure state <1=> Non-Secure state -// Interrupt 144 <0=> Secure state <1=> Non-Secure state -// Interrupt 145 <0=> Secure state <1=> Non-Secure state -// Interrupt 146 <0=> Secure state <1=> Non-Secure state -// Interrupt 147 <0=> Secure state <1=> Non-Secure state -// Interrupt 148 <0=> Secure state <1=> Non-Secure state -// Interrupt 149 <0=> Secure state <1=> Non-Secure state -// Interrupt 150 <0=> Secure state <1=> Non-Secure state -// Interrupt 151 <0=> Secure state <1=> Non-Secure state -// Interrupt 152 <0=> Secure state <1=> Non-Secure state -// Interrupt 153 <0=> Secure state <1=> Non-Secure state -// Interrupt 154 <0=> Secure state <1=> Non-Secure state -// Interrupt 155 <0=> Secure state <1=> Non-Secure state -// Interrupt 156 <0=> Secure state <1=> Non-Secure state -// Interrupt 157 <0=> Secure state <1=> Non-Secure state -// Interrupt 158 <0=> Secure state <1=> Non-Secure state -// Interrupt 159 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS4_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 5 (Interrupts 160..191) -*/ -#define NVIC_INIT_ITNS5 0 - -/* -// Interrupts 160..191 -// Interrupt 160 <0=> Secure state <1=> Non-Secure state -// Interrupt 161 <0=> Secure state <1=> Non-Secure state -// Interrupt 162 <0=> Secure state <1=> Non-Secure state -// Interrupt 163 <0=> Secure state <1=> Non-Secure state -// Interrupt 164 <0=> Secure state <1=> Non-Secure state -// Interrupt 165 <0=> Secure state <1=> Non-Secure state -// Interrupt 166 <0=> Secure state <1=> Non-Secure state -// Interrupt 167 <0=> Secure state <1=> Non-Secure state -// Interrupt 168 <0=> Secure state <1=> Non-Secure state -// Interrupt 169 <0=> Secure state <1=> Non-Secure state -// Interrupt 170 <0=> Secure state <1=> Non-Secure state -// Interrupt 171 <0=> Secure state <1=> Non-Secure state -// Interrupt 172 <0=> Secure state <1=> Non-Secure state -// Interrupt 173 <0=> Secure state <1=> Non-Secure state -// Interrupt 174 <0=> Secure state <1=> Non-Secure state -// Interrupt 175 <0=> Secure state <1=> Non-Secure state -// Interrupt 176 <0=> Secure state <1=> Non-Secure state -// Interrupt 177 <0=> Secure state <1=> Non-Secure state -// Interrupt 178 <0=> Secure state <1=> Non-Secure state -// Interrupt 179 <0=> Secure state <1=> Non-Secure state -// Interrupt 180 <0=> Secure state <1=> Non-Secure state -// Interrupt 181 <0=> Secure state <1=> Non-Secure state -// Interrupt 182 <0=> Secure state <1=> Non-Secure state -// Interrupt 183 <0=> Secure state <1=> Non-Secure state -// Interrupt 184 <0=> Secure state <1=> Non-Secure state -// Interrupt 185 <0=> Secure state <1=> Non-Secure state -// Interrupt 186 <0=> Secure state <1=> Non-Secure state -// Interrupt 187 <0=> Secure state <1=> Non-Secure state -// Interrupt 188 <0=> Secure state <1=> Non-Secure state -// Interrupt 189 <0=> Secure state <1=> Non-Secure state -// Interrupt 190 <0=> Secure state <1=> Non-Secure state -// Interrupt 191 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS5_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 6 (Interrupts 192..223) -*/ -#define NVIC_INIT_ITNS6 0 - -/* -// Interrupts 192..223 -// Interrupt 192 <0=> Secure state <1=> Non-Secure state -// Interrupt 193 <0=> Secure state <1=> Non-Secure state -// Interrupt 194 <0=> Secure state <1=> Non-Secure state -// Interrupt 195 <0=> Secure state <1=> Non-Secure state -// Interrupt 196 <0=> Secure state <1=> Non-Secure state -// Interrupt 197 <0=> Secure state <1=> Non-Secure state -// Interrupt 198 <0=> Secure state <1=> Non-Secure state -// Interrupt 199 <0=> Secure state <1=> Non-Secure state -// Interrupt 200 <0=> Secure state <1=> Non-Secure state -// Interrupt 201 <0=> Secure state <1=> Non-Secure state -// Interrupt 202 <0=> Secure state <1=> Non-Secure state -// Interrupt 203 <0=> Secure state <1=> Non-Secure state -// Interrupt 204 <0=> Secure state <1=> Non-Secure state -// Interrupt 205 <0=> Secure state <1=> Non-Secure state -// Interrupt 206 <0=> Secure state <1=> Non-Secure state -// Interrupt 207 <0=> Secure state <1=> Non-Secure state -// Interrupt 208 <0=> Secure state <1=> Non-Secure state -// Interrupt 209 <0=> Secure state <1=> Non-Secure state -// Interrupt 210 <0=> Secure state <1=> Non-Secure state -// Interrupt 211 <0=> Secure state <1=> Non-Secure state -// Interrupt 212 <0=> Secure state <1=> Non-Secure state -// Interrupt 213 <0=> Secure state <1=> Non-Secure state -// Interrupt 214 <0=> Secure state <1=> Non-Secure state -// Interrupt 215 <0=> Secure state <1=> Non-Secure state -// Interrupt 216 <0=> Secure state <1=> Non-Secure state -// Interrupt 217 <0=> Secure state <1=> Non-Secure state -// Interrupt 218 <0=> Secure state <1=> Non-Secure state -// Interrupt 219 <0=> Secure state <1=> Non-Secure state -// Interrupt 220 <0=> Secure state <1=> Non-Secure state -// Interrupt 221 <0=> Secure state <1=> Non-Secure state -// Interrupt 222 <0=> Secure state <1=> Non-Secure state -// Interrupt 223 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS6_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 7 (Interrupts 224..255) -*/ -#define NVIC_INIT_ITNS7 0 - -/* -// Interrupts 224..255 -// Interrupt 224 <0=> Secure state <1=> Non-Secure state -// Interrupt 225 <0=> Secure state <1=> Non-Secure state -// Interrupt 226 <0=> Secure state <1=> Non-Secure state -// Interrupt 227 <0=> Secure state <1=> Non-Secure state -// Interrupt 228 <0=> Secure state <1=> Non-Secure state -// Interrupt 229 <0=> Secure state <1=> Non-Secure state -// Interrupt 230 <0=> Secure state <1=> Non-Secure state -// Interrupt 231 <0=> Secure state <1=> Non-Secure state -// Interrupt 232 <0=> Secure state <1=> Non-Secure state -// Interrupt 233 <0=> Secure state <1=> Non-Secure state -// Interrupt 234 <0=> Secure state <1=> Non-Secure state -// Interrupt 235 <0=> Secure state <1=> Non-Secure state -// Interrupt 236 <0=> Secure state <1=> Non-Secure state -// Interrupt 237 <0=> Secure state <1=> Non-Secure state -// Interrupt 238 <0=> Secure state <1=> Non-Secure state -// Interrupt 239 <0=> Secure state <1=> Non-Secure state -// Interrupt 240 <0=> Secure state <1=> Non-Secure state -// Interrupt 241 <0=> Secure state <1=> Non-Secure state -// Interrupt 242 <0=> Secure state <1=> Non-Secure state -// Interrupt 243 <0=> Secure state <1=> Non-Secure state -// Interrupt 244 <0=> Secure state <1=> Non-Secure state -// Interrupt 245 <0=> Secure state <1=> Non-Secure state -// Interrupt 246 <0=> Secure state <1=> Non-Secure state -// Interrupt 247 <0=> Secure state <1=> Non-Secure state -// Interrupt 248 <0=> Secure state <1=> Non-Secure state -// Interrupt 249 <0=> Secure state <1=> Non-Secure state -// Interrupt 250 <0=> Secure state <1=> Non-Secure state -// Interrupt 251 <0=> Secure state <1=> Non-Secure state -// Interrupt 252 <0=> Secure state <1=> Non-Secure state -// Interrupt 253 <0=> Secure state <1=> Non-Secure state -// Interrupt 254 <0=> Secure state <1=> Non-Secure state -// Interrupt 255 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS7_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 8 (Interrupts 256..287) -*/ -#define NVIC_INIT_ITNS8 0 - -/* -// Interrupts 256..287 -// Interrupt 256 <0=> Secure state <1=> Non-Secure state -// Interrupt 257 <0=> Secure state <1=> Non-Secure state -// Interrupt 258 <0=> Secure state <1=> Non-Secure state -// Interrupt 259 <0=> Secure state <1=> Non-Secure state -// Interrupt 260 <0=> Secure state <1=> Non-Secure state -// Interrupt 261 <0=> Secure state <1=> Non-Secure state -// Interrupt 262 <0=> Secure state <1=> Non-Secure state -// Interrupt 263 <0=> Secure state <1=> Non-Secure state -// Interrupt 264 <0=> Secure state <1=> Non-Secure state -// Interrupt 265 <0=> Secure state <1=> Non-Secure state -// Interrupt 266 <0=> Secure state <1=> Non-Secure state -// Interrupt 267 <0=> Secure state <1=> Non-Secure state -// Interrupt 268 <0=> Secure state <1=> Non-Secure state -// Interrupt 269 <0=> Secure state <1=> Non-Secure state -// Interrupt 270 <0=> Secure state <1=> Non-Secure state -// Interrupt 271 <0=> Secure state <1=> Non-Secure state -// Interrupt 272 <0=> Secure state <1=> Non-Secure state -// Interrupt 273 <0=> Secure state <1=> Non-Secure state -// Interrupt 274 <0=> Secure state <1=> Non-Secure state -// Interrupt 275 <0=> Secure state <1=> Non-Secure state -// Interrupt 276 <0=> Secure state <1=> Non-Secure state -// Interrupt 277 <0=> Secure state <1=> Non-Secure state -// Interrupt 278 <0=> Secure state <1=> Non-Secure state -// Interrupt 279 <0=> Secure state <1=> Non-Secure state -// Interrupt 280 <0=> Secure state <1=> Non-Secure state -// Interrupt 281 <0=> Secure state <1=> Non-Secure state -// Interrupt 282 <0=> Secure state <1=> Non-Secure state -// Interrupt 283 <0=> Secure state <1=> Non-Secure state -// Interrupt 284 <0=> Secure state <1=> Non-Secure state -// Interrupt 285 <0=> Secure state <1=> Non-Secure state -// Interrupt 286 <0=> Secure state <1=> Non-Secure state -// Interrupt 287 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS8_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 9 (Interrupts 288..319) -*/ -#define NVIC_INIT_ITNS9 0 - -/* -// Interrupts 288..319 -// Interrupt 288 <0=> Secure state <1=> Non-Secure state -// Interrupt 289 <0=> Secure state <1=> Non-Secure state -// Interrupt 290 <0=> Secure state <1=> Non-Secure state -// Interrupt 291 <0=> Secure state <1=> Non-Secure state -// Interrupt 292 <0=> Secure state <1=> Non-Secure state -// Interrupt 293 <0=> Secure state <1=> Non-Secure state -// Interrupt 294 <0=> Secure state <1=> Non-Secure state -// Interrupt 295 <0=> Secure state <1=> Non-Secure state -// Interrupt 296 <0=> Secure state <1=> Non-Secure state -// Interrupt 297 <0=> Secure state <1=> Non-Secure state -// Interrupt 298 <0=> Secure state <1=> Non-Secure state -// Interrupt 299 <0=> Secure state <1=> Non-Secure state -// Interrupt 300 <0=> Secure state <1=> Non-Secure state -// Interrupt 301 <0=> Secure state <1=> Non-Secure state -// Interrupt 302 <0=> Secure state <1=> Non-Secure state -// Interrupt 303 <0=> Secure state <1=> Non-Secure state -// Interrupt 304 <0=> Secure state <1=> Non-Secure state -// Interrupt 305 <0=> Secure state <1=> Non-Secure state -// Interrupt 306 <0=> Secure state <1=> Non-Secure state -// Interrupt 307 <0=> Secure state <1=> Non-Secure state -// Interrupt 308 <0=> Secure state <1=> Non-Secure state -// Interrupt 309 <0=> Secure state <1=> Non-Secure state -// Interrupt 310 <0=> Secure state <1=> Non-Secure state -// Interrupt 311 <0=> Secure state <1=> Non-Secure state -// Interrupt 312 <0=> Secure state <1=> Non-Secure state -// Interrupt 313 <0=> Secure state <1=> Non-Secure state -// Interrupt 314 <0=> Secure state <1=> Non-Secure state -// Interrupt 315 <0=> Secure state <1=> Non-Secure state -// Interrupt 316 <0=> Secure state <1=> Non-Secure state -// Interrupt 317 <0=> Secure state <1=> Non-Secure state -// Interrupt 318 <0=> Secure state <1=> Non-Secure state -// Interrupt 319 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS9_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 10 (Interrupts 320..351) -*/ -#define NVIC_INIT_ITNS10 0 - -/* -// Interrupts 320..351 -// Interrupt 320 <0=> Secure state <1=> Non-Secure state -// Interrupt 321 <0=> Secure state <1=> Non-Secure state -// Interrupt 322 <0=> Secure state <1=> Non-Secure state -// Interrupt 323 <0=> Secure state <1=> Non-Secure state -// Interrupt 324 <0=> Secure state <1=> Non-Secure state -// Interrupt 325 <0=> Secure state <1=> Non-Secure state -// Interrupt 326 <0=> Secure state <1=> Non-Secure state -// Interrupt 327 <0=> Secure state <1=> Non-Secure state -// Interrupt 328 <0=> Secure state <1=> Non-Secure state -// Interrupt 329 <0=> Secure state <1=> Non-Secure state -// Interrupt 330 <0=> Secure state <1=> Non-Secure state -// Interrupt 331 <0=> Secure state <1=> Non-Secure state -// Interrupt 332 <0=> Secure state <1=> Non-Secure state -// Interrupt 333 <0=> Secure state <1=> Non-Secure state -// Interrupt 334 <0=> Secure state <1=> Non-Secure state -// Interrupt 335 <0=> Secure state <1=> Non-Secure state -// Interrupt 336 <0=> Secure state <1=> Non-Secure state -// Interrupt 337 <0=> Secure state <1=> Non-Secure state -// Interrupt 338 <0=> Secure state <1=> Non-Secure state -// Interrupt 339 <0=> Secure state <1=> Non-Secure state -// Interrupt 340 <0=> Secure state <1=> Non-Secure state -// Interrupt 341 <0=> Secure state <1=> Non-Secure state -// Interrupt 342 <0=> Secure state <1=> Non-Secure state -// Interrupt 343 <0=> Secure state <1=> Non-Secure state -// Interrupt 344 <0=> Secure state <1=> Non-Secure state -// Interrupt 345 <0=> Secure state <1=> Non-Secure state -// Interrupt 346 <0=> Secure state <1=> Non-Secure state -// Interrupt 347 <0=> Secure state <1=> Non-Secure state -// Interrupt 348 <0=> Secure state <1=> Non-Secure state -// Interrupt 349 <0=> Secure state <1=> Non-Secure state -// Interrupt 350 <0=> Secure state <1=> Non-Secure state -// Interrupt 351 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS10_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 11 (Interrupts 352..383) -*/ -#define NVIC_INIT_ITNS11 0 - -/* -// Interrupts 352..383 -// Interrupt 352 <0=> Secure state <1=> Non-Secure state -// Interrupt 353 <0=> Secure state <1=> Non-Secure state -// Interrupt 354 <0=> Secure state <1=> Non-Secure state -// Interrupt 355 <0=> Secure state <1=> Non-Secure state -// Interrupt 356 <0=> Secure state <1=> Non-Secure state -// Interrupt 357 <0=> Secure state <1=> Non-Secure state -// Interrupt 358 <0=> Secure state <1=> Non-Secure state -// Interrupt 359 <0=> Secure state <1=> Non-Secure state -// Interrupt 360 <0=> Secure state <1=> Non-Secure state -// Interrupt 361 <0=> Secure state <1=> Non-Secure state -// Interrupt 362 <0=> Secure state <1=> Non-Secure state -// Interrupt 363 <0=> Secure state <1=> Non-Secure state -// Interrupt 364 <0=> Secure state <1=> Non-Secure state -// Interrupt 365 <0=> Secure state <1=> Non-Secure state -// Interrupt 366 <0=> Secure state <1=> Non-Secure state -// Interrupt 367 <0=> Secure state <1=> Non-Secure state -// Interrupt 368 <0=> Secure state <1=> Non-Secure state -// Interrupt 369 <0=> Secure state <1=> Non-Secure state -// Interrupt 370 <0=> Secure state <1=> Non-Secure state -// Interrupt 371 <0=> Secure state <1=> Non-Secure state -// Interrupt 372 <0=> Secure state <1=> Non-Secure state -// Interrupt 373 <0=> Secure state <1=> Non-Secure state -// Interrupt 374 <0=> Secure state <1=> Non-Secure state -// Interrupt 375 <0=> Secure state <1=> Non-Secure state -// Interrupt 376 <0=> Secure state <1=> Non-Secure state -// Interrupt 377 <0=> Secure state <1=> Non-Secure state -// Interrupt 378 <0=> Secure state <1=> Non-Secure state -// Interrupt 379 <0=> Secure state <1=> Non-Secure state -// Interrupt 380 <0=> Secure state <1=> Non-Secure state -// Interrupt 381 <0=> Secure state <1=> Non-Secure state -// Interrupt 382 <0=> Secure state <1=> Non-Secure state -// Interrupt 383 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS11_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 12 (Interrupts 384..415) -*/ -#define NVIC_INIT_ITNS12 0 - -/* -// Interrupts 384..415 -// Interrupt 384 <0=> Secure state <1=> Non-Secure state -// Interrupt 385 <0=> Secure state <1=> Non-Secure state -// Interrupt 386 <0=> Secure state <1=> Non-Secure state -// Interrupt 387 <0=> Secure state <1=> Non-Secure state -// Interrupt 388 <0=> Secure state <1=> Non-Secure state -// Interrupt 389 <0=> Secure state <1=> Non-Secure state -// Interrupt 390 <0=> Secure state <1=> Non-Secure state -// Interrupt 391 <0=> Secure state <1=> Non-Secure state -// Interrupt 392 <0=> Secure state <1=> Non-Secure state -// Interrupt 393 <0=> Secure state <1=> Non-Secure state -// Interrupt 394 <0=> Secure state <1=> Non-Secure state -// Interrupt 395 <0=> Secure state <1=> Non-Secure state -// Interrupt 396 <0=> Secure state <1=> Non-Secure state -// Interrupt 397 <0=> Secure state <1=> Non-Secure state -// Interrupt 398 <0=> Secure state <1=> Non-Secure state -// Interrupt 399 <0=> Secure state <1=> Non-Secure state -// Interrupt 400 <0=> Secure state <1=> Non-Secure state -// Interrupt 401 <0=> Secure state <1=> Non-Secure state -// Interrupt 402 <0=> Secure state <1=> Non-Secure state -// Interrupt 403 <0=> Secure state <1=> Non-Secure state -// Interrupt 404 <0=> Secure state <1=> Non-Secure state -// Interrupt 405 <0=> Secure state <1=> Non-Secure state -// Interrupt 406 <0=> Secure state <1=> Non-Secure state -// Interrupt 407 <0=> Secure state <1=> Non-Secure state -// Interrupt 408 <0=> Secure state <1=> Non-Secure state -// Interrupt 409 <0=> Secure state <1=> Non-Secure state -// Interrupt 410 <0=> Secure state <1=> Non-Secure state -// Interrupt 411 <0=> Secure state <1=> Non-Secure state -// Interrupt 412 <0=> Secure state <1=> Non-Secure state -// Interrupt 413 <0=> Secure state <1=> Non-Secure state -// Interrupt 414 <0=> Secure state <1=> Non-Secure state -// Interrupt 415 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS12_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 13 (Interrupts 416..447) -*/ -#define NVIC_INIT_ITNS13 0 - -/* -// Interrupts 416..447 -// Interrupt 416 <0=> Secure state <1=> Non-Secure state -// Interrupt 417 <0=> Secure state <1=> Non-Secure state -// Interrupt 418 <0=> Secure state <1=> Non-Secure state -// Interrupt 419 <0=> Secure state <1=> Non-Secure state -// Interrupt 420 <0=> Secure state <1=> Non-Secure state -// Interrupt 421 <0=> Secure state <1=> Non-Secure state -// Interrupt 422 <0=> Secure state <1=> Non-Secure state -// Interrupt 423 <0=> Secure state <1=> Non-Secure state -// Interrupt 424 <0=> Secure state <1=> Non-Secure state -// Interrupt 425 <0=> Secure state <1=> Non-Secure state -// Interrupt 426 <0=> Secure state <1=> Non-Secure state -// Interrupt 427 <0=> Secure state <1=> Non-Secure state -// Interrupt 428 <0=> Secure state <1=> Non-Secure state -// Interrupt 429 <0=> Secure state <1=> Non-Secure state -// Interrupt 430 <0=> Secure state <1=> Non-Secure state -// Interrupt 431 <0=> Secure state <1=> Non-Secure state -// Interrupt 432 <0=> Secure state <1=> Non-Secure state -// Interrupt 433 <0=> Secure state <1=> Non-Secure state -// Interrupt 434 <0=> Secure state <1=> Non-Secure state -// Interrupt 435 <0=> Secure state <1=> Non-Secure state -// Interrupt 436 <0=> Secure state <1=> Non-Secure state -// Interrupt 437 <0=> Secure state <1=> Non-Secure state -// Interrupt 438 <0=> Secure state <1=> Non-Secure state -// Interrupt 439 <0=> Secure state <1=> Non-Secure state -// Interrupt 440 <0=> Secure state <1=> Non-Secure state -// Interrupt 441 <0=> Secure state <1=> Non-Secure state -// Interrupt 442 <0=> Secure state <1=> Non-Secure state -// Interrupt 443 <0=> Secure state <1=> Non-Secure state -// Interrupt 444 <0=> Secure state <1=> Non-Secure state -// Interrupt 445 <0=> Secure state <1=> Non-Secure state -// Interrupt 446 <0=> Secure state <1=> Non-Secure state -// Interrupt 447 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS13_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 14 (Interrupts 448..479) -*/ -#define NVIC_INIT_ITNS14 0 - -/* -// Interrupts 448..479 -// Interrupt 448 <0=> Secure state <1=> Non-Secure state -// Interrupt 449 <0=> Secure state <1=> Non-Secure state -// Interrupt 450 <0=> Secure state <1=> Non-Secure state -// Interrupt 451 <0=> Secure state <1=> Non-Secure state -// Interrupt 452 <0=> Secure state <1=> Non-Secure state -// Interrupt 453 <0=> Secure state <1=> Non-Secure state -// Interrupt 454 <0=> Secure state <1=> Non-Secure state -// Interrupt 455 <0=> Secure state <1=> Non-Secure state -// Interrupt 456 <0=> Secure state <1=> Non-Secure state -// Interrupt 457 <0=> Secure state <1=> Non-Secure state -// Interrupt 458 <0=> Secure state <1=> Non-Secure state -// Interrupt 459 <0=> Secure state <1=> Non-Secure state -// Interrupt 460 <0=> Secure state <1=> Non-Secure state -// Interrupt 461 <0=> Secure state <1=> Non-Secure state -// Interrupt 462 <0=> Secure state <1=> Non-Secure state -// Interrupt 463 <0=> Secure state <1=> Non-Secure state -// Interrupt 464 <0=> Secure state <1=> Non-Secure state -// Interrupt 465 <0=> Secure state <1=> Non-Secure state -// Interrupt 466 <0=> Secure state <1=> Non-Secure state -// Interrupt 467 <0=> Secure state <1=> Non-Secure state -// Interrupt 468 <0=> Secure state <1=> Non-Secure state -// Interrupt 469 <0=> Secure state <1=> Non-Secure state -// Interrupt 470 <0=> Secure state <1=> Non-Secure state -// Interrupt 471 <0=> Secure state <1=> Non-Secure state -// Interrupt 472 <0=> Secure state <1=> Non-Secure state -// Interrupt 473 <0=> Secure state <1=> Non-Secure state -// Interrupt 474 <0=> Secure state <1=> Non-Secure state -// Interrupt 475 <0=> Secure state <1=> Non-Secure state -// Interrupt 476 <0=> Secure state <1=> Non-Secure state -// Interrupt 477 <0=> Secure state <1=> Non-Secure state -// Interrupt 478 <0=> Secure state <1=> Non-Secure state -// Interrupt 479 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS14_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 15 (Interrupts 480..511) -*/ -#define NVIC_INIT_ITNS15 0 - -/* -// Interrupts 480..511 -// Interrupt 480 <0=> Secure state <1=> Non-Secure state -// Interrupt 481 <0=> Secure state <1=> Non-Secure state -// Interrupt 482 <0=> Secure state <1=> Non-Secure state -// Interrupt 483 <0=> Secure state <1=> Non-Secure state -// Interrupt 484 <0=> Secure state <1=> Non-Secure state -// Interrupt 485 <0=> Secure state <1=> Non-Secure state -// Interrupt 486 <0=> Secure state <1=> Non-Secure state -// Interrupt 487 <0=> Secure state <1=> Non-Secure state -// Interrupt 488 <0=> Secure state <1=> Non-Secure state -// Interrupt 489 <0=> Secure state <1=> Non-Secure state -// Interrupt 490 <0=> Secure state <1=> Non-Secure state -// Interrupt 491 <0=> Secure state <1=> Non-Secure state -// Interrupt 492 <0=> Secure state <1=> Non-Secure state -// Interrupt 493 <0=> Secure state <1=> Non-Secure state -// Interrupt 494 <0=> Secure state <1=> Non-Secure state -// Interrupt 495 <0=> Secure state <1=> Non-Secure state -// Interrupt 496 <0=> Secure state <1=> Non-Secure state -// Interrupt 497 <0=> Secure state <1=> Non-Secure state -// Interrupt 498 <0=> Secure state <1=> Non-Secure state -// Interrupt 499 <0=> Secure state <1=> Non-Secure state -// Interrupt 500 <0=> Secure state <1=> Non-Secure state -// Interrupt 501 <0=> Secure state <1=> Non-Secure state -// Interrupt 502 <0=> Secure state <1=> Non-Secure state -// Interrupt 503 <0=> Secure state <1=> Non-Secure state -// Interrupt 504 <0=> Secure state <1=> Non-Secure state -// Interrupt 505 <0=> Secure state <1=> Non-Secure state -// Interrupt 506 <0=> Secure state <1=> Non-Secure state -// Interrupt 507 <0=> Secure state <1=> Non-Secure state -// Interrupt 508 <0=> Secure state <1=> Non-Secure state -// Interrupt 509 <0=> Secure state <1=> Non-Secure state -// Interrupt 510 <0=> Secure state <1=> Non-Secure state -// Interrupt 511 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS15_VAL 0x00000000 - -/* -// -*/ - -/* -// -*/ - - - -/* - max 128 SAU regions. - SAU regions are defined in partition.h - */ - -#define SAU_INIT_REGION(n) \ - SAU->RNR = (n & SAU_RNR_REGION_Msk); \ - SAU->RBAR = (SAU_INIT_START##n & SAU_RBAR_BADDR_Msk); \ - SAU->RLAR = (SAU_INIT_END##n & SAU_RLAR_LADDR_Msk) | \ - ((SAU_INIT_NSC##n << SAU_RLAR_NSC_Pos) & SAU_RLAR_NSC_Msk) | 1U - -/** - \brief Setup a SAU Region - \details Writes the region information contained in SAU_Region to the - registers SAU_RNR, SAU_RBAR, and SAU_RLAR - */ -__STATIC_INLINE void TZ_SAU_Setup (void) -{ - -#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) - - #if defined (SAU_INIT_REGION0) && (SAU_INIT_REGION0 == 1U) - SAU_INIT_REGION(0); - #endif - - #if defined (SAU_INIT_REGION1) && (SAU_INIT_REGION1 == 1U) - SAU_INIT_REGION(1); - #endif - - #if defined (SAU_INIT_REGION2) && (SAU_INIT_REGION2 == 1U) - SAU_INIT_REGION(2); - #endif - - #if defined (SAU_INIT_REGION3) && (SAU_INIT_REGION3 == 1U) - SAU_INIT_REGION(3); - #endif - - #if defined (SAU_INIT_REGION4) && (SAU_INIT_REGION4 == 1U) - SAU_INIT_REGION(4); - #endif - - #if defined (SAU_INIT_REGION5) && (SAU_INIT_REGION5 == 1U) - SAU_INIT_REGION(5); - #endif - - #if defined (SAU_INIT_REGION6) && (SAU_INIT_REGION6 == 1U) - SAU_INIT_REGION(6); - #endif - - #if defined (SAU_INIT_REGION7) && (SAU_INIT_REGION7 == 1U) - SAU_INIT_REGION(7); - #endif - - /* repeat this for all possible SAU regions */ - -#endif /* defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) */ - - - #if defined (SAU_INIT_CTRL) && (SAU_INIT_CTRL == 1U) - SAU->CTRL = ((SAU_INIT_CTRL_ENABLE << SAU_CTRL_ENABLE_Pos) & SAU_CTRL_ENABLE_Msk) | - ((SAU_INIT_CTRL_ALLNS << SAU_CTRL_ALLNS_Pos) & SAU_CTRL_ALLNS_Msk) ; - #endif - - #if defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) - SCB->SCR = (SCB->SCR & ~(SCB_SCR_SLEEPDEEPS_Msk )) | - ((SCB_CSR_DEEPSLEEPS_VAL << SCB_SCR_SLEEPDEEPS_Pos) & SCB_SCR_SLEEPDEEPS_Msk); - - SCB->AIRCR = (SCB->AIRCR & ~(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_SYSRESETREQS_Msk | - SCB_AIRCR_BFHFNMINS_Msk | SCB_AIRCR_PRIS_Msk )) | - ((0x05FAU << SCB_AIRCR_VECTKEY_Pos) & SCB_AIRCR_VECTKEY_Msk) | - ((SCB_AIRCR_SYSRESETREQS_VAL << SCB_AIRCR_SYSRESETREQS_Pos) & SCB_AIRCR_SYSRESETREQS_Msk) | - ((SCB_AIRCR_PRIS_VAL << SCB_AIRCR_PRIS_Pos) & SCB_AIRCR_PRIS_Msk) | - ((SCB_AIRCR_BFHFNMINS_VAL << SCB_AIRCR_BFHFNMINS_Pos) & SCB_AIRCR_BFHFNMINS_Msk); - #endif /* defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) */ - - #if (((defined (__FPU_USED) && (__FPU_USED == 1U)) || \ - (defined (__ARM_FEATURE_MVE) && (__ARM_FEATURE_MVE > 0))) && \ - (defined (TZ_FPU_NS_USAGE) && (TZ_FPU_NS_USAGE == 1U))) - - SCB->NSACR = (SCB->NSACR & ~(SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)) | - ((SCB_NSACR_CP10_11_VAL << SCB_NSACR_CP10_Pos) & (SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)); - - FPU->FPCCR = (FPU->FPCCR & ~(FPU_FPCCR_TS_Msk | FPU_FPCCR_CLRONRETS_Msk | FPU_FPCCR_CLRONRET_Msk)) | - ((FPU_FPCCR_TS_VAL << FPU_FPCCR_TS_Pos ) & FPU_FPCCR_TS_Msk ) | - ((FPU_FPCCR_CLRONRETS_VAL << FPU_FPCCR_CLRONRETS_Pos) & FPU_FPCCR_CLRONRETS_Msk) | - ((FPU_FPCCR_CLRONRET_VAL << FPU_FPCCR_CLRONRET_Pos ) & FPU_FPCCR_CLRONRET_Msk ); - #endif - - #if defined (NVIC_INIT_ITNS0) && (NVIC_INIT_ITNS0 == 1U) - NVIC->ITNS[0] = NVIC_INIT_ITNS0_VAL; - #endif - - #if defined (NVIC_INIT_ITNS1) && (NVIC_INIT_ITNS1 == 1U) - NVIC->ITNS[1] = NVIC_INIT_ITNS1_VAL; - #endif - - #if defined (NVIC_INIT_ITNS2) && (NVIC_INIT_ITNS2 == 1U) - NVIC->ITNS[2] = NVIC_INIT_ITNS2_VAL; - #endif - - #if defined (NVIC_INIT_ITNS3) && (NVIC_INIT_ITNS3 == 1U) - NVIC->ITNS[3] = NVIC_INIT_ITNS3_VAL; - #endif - - #if defined (NVIC_INIT_ITNS4) && (NVIC_INIT_ITNS4 == 1U) - NVIC->ITNS[4] = NVIC_INIT_ITNS4_VAL; - #endif - - #if defined (NVIC_INIT_ITNS5) && (NVIC_INIT_ITNS5 == 1U) - NVIC->ITNS[5] = NVIC_INIT_ITNS5_VAL; - #endif - - #if defined (NVIC_INIT_ITNS6) && (NVIC_INIT_ITNS6 == 1U) - NVIC->ITNS[6] = NVIC_INIT_ITNS6_VAL; - #endif - - #if defined (NVIC_INIT_ITNS7) && (NVIC_INIT_ITNS7 == 1U) - NVIC->ITNS[7] = NVIC_INIT_ITNS7_VAL; - #endif - - #if defined (NVIC_INIT_ITNS8) && (NVIC_INIT_ITNS8 == 1U) - NVIC->ITNS[8] = NVIC_INIT_ITNS8_VAL; - #endif - - #if defined (NVIC_INIT_ITNS9) && (NVIC_INIT_ITNS9 == 1U) - NVIC->ITNS[9] = NVIC_INIT_ITNS9_VAL; - #endif - - #if defined (NVIC_INIT_ITNS10) && (NVIC_INIT_ITNS10 == 1U) - NVIC->ITNS[10] = NVIC_INIT_ITNS10_VAL; - #endif - - #if defined (NVIC_INIT_ITNS11) && (NVIC_INIT_ITNS11 == 1U) - NVIC->ITNS[11] = NVIC_INIT_ITNS11_VAL; - #endif - - #if defined (NVIC_INIT_ITNS12) && (NVIC_INIT_ITNS12 == 1U) - NVIC->ITNS[12] = NVIC_INIT_ITNS12_VAL; - #endif - - #if defined (NVIC_INIT_ITNS13) && (NVIC_INIT_ITNS13 == 1U) - NVIC->ITNS[13] = NVIC_INIT_ITNS13_VAL; - #endif - - #if defined (NVIC_INIT_ITNS14) && (NVIC_INIT_ITNS14 == 1U) - NVIC->ITNS[14] = NVIC_INIT_ITNS14_VAL; - #endif - - #if defined (NVIC_INIT_ITNS15) && (NVIC_INIT_ITNS15 == 1U) - NVIC->ITNS[15] = NVIC_INIT_ITNS15_VAL; - #endif - - /* repeat this for all possible ITNS elements */ - -} - -#endif /* PARTITION_ARMCM85_H */ diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/startup_ARMCM85.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/startup_ARMCM85.c deleted file mode 100644 index 067871d..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/startup_ARMCM85.c +++ /dev/null @@ -1,164 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM85.c - * @brief CMSIS Device Startup File for ARMCM85 Device - * @version V1.0.0 - * @date 07. February 2022 - ******************************************************************************/ -/* - * Copyright (c) 2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM85) - #include "ARMCM85.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SecureFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - SecureFault_Handler, /* -9 Secure Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 480 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/startup_ARMCM85.c.base@1.0.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/startup_ARMCM85.c.base@1.0.0 deleted file mode 100644 index 067871d..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/startup_ARMCM85.c.base@1.0.0 +++ /dev/null @@ -1,164 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM85.c - * @brief CMSIS Device Startup File for ARMCM85 Device - * @version V1.0.0 - * @date 07. February 2022 - ******************************************************************************/ -/* - * Copyright (c) 2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM85) - #include "ARMCM85.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SecureFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - SecureFault_Handler, /* -9 Secure Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 480 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/system_ARMCM85.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/system_ARMCM85.c deleted file mode 100644 index 7a16501..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/system_ARMCM85.c +++ /dev/null @@ -1,106 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM85.c - * @brief CMSIS Device System Source File for ARMCM85 Device - * @version V1.0.0 - * @date 30. March 2022 - ******************************************************************************/ -/* - * Copyright (c) 2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM85) - #include "ARMCM85.h" - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM85.h" - #endif -#else - #error device not specified! -#endif - - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t)(&__VECTOR_TABLE[0]); -#endif - - /* Set CPDLPSTATE.RLPSTATE to 0 - Set CPDLPSTATE.ELPSTATE to 0, to stop the processor from trying to switch the EPU into retention state. - Set CPDLPSTATE.CLPSTATE to 0, so PDCORE will not enter low-power state. */ - PWRMODCTL->CPDLPSTATE &= ~(PWRMODCTL_CPDLPSTATE_RLPSTATE_Msk | - PWRMODCTL_CPDLPSTATE_ELPSTATE_Msk | - PWRMODCTL_CPDLPSTATE_CLPSTATE_Msk ); - -#if (defined (__FPU_USED) && (__FPU_USED == 1U)) || \ - (defined (__ARM_FEATURE_MVE) && (__ARM_FEATURE_MVE > 0U)) - SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ - (3U << 11U*2U) ); /* enable CP11 Full Access */ - - /* Favor best FP/MVE performance by default, avoid EPU switch-ON delays */ - /* PDEPU ON, Clock OFF */ - PWRMODCTL->CPDLPSTATE |= 0x1 << PWRMODCTL_CPDLPSTATE_ELPSTATE_Pos; -#endif - -#ifdef UNALIGNED_SUPPORT_DISABLE - SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; -#endif - - /* Enable Loop and branch info cache */ - SCB->CCR |= SCB_CCR_LOB_Msk; - - /* Enable Branch Prediction */ - SCB->CCR |= SCB_CCR_BP_Msk; - - __DSB(); - __ISB(); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - TZ_SAU_Setup(); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/system_ARMCM85.c.base@1.0.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/system_ARMCM85.c.base@1.0.0 deleted file mode 100644 index 7a16501..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/RTE/Device/ARMCM85/system_ARMCM85.c.base@1.0.0 +++ /dev/null @@ -1,106 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM85.c - * @brief CMSIS Device System Source File for ARMCM85 Device - * @version V1.0.0 - * @date 30. March 2022 - ******************************************************************************/ -/* - * Copyright (c) 2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM85) - #include "ARMCM85.h" - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM85.h" - #endif -#else - #error device not specified! -#endif - - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t)(&__VECTOR_TABLE[0]); -#endif - - /* Set CPDLPSTATE.RLPSTATE to 0 - Set CPDLPSTATE.ELPSTATE to 0, to stop the processor from trying to switch the EPU into retention state. - Set CPDLPSTATE.CLPSTATE to 0, so PDCORE will not enter low-power state. */ - PWRMODCTL->CPDLPSTATE &= ~(PWRMODCTL_CPDLPSTATE_RLPSTATE_Msk | - PWRMODCTL_CPDLPSTATE_ELPSTATE_Msk | - PWRMODCTL_CPDLPSTATE_CLPSTATE_Msk ); - -#if (defined (__FPU_USED) && (__FPU_USED == 1U)) || \ - (defined (__ARM_FEATURE_MVE) && (__ARM_FEATURE_MVE > 0U)) - SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ - (3U << 11U*2U) ); /* enable CP11 Full Access */ - - /* Favor best FP/MVE performance by default, avoid EPU switch-ON delays */ - /* PDEPU ON, Clock OFF */ - PWRMODCTL->CPDLPSTATE |= 0x1 << PWRMODCTL_CPDLPSTATE_ELPSTATE_Pos; -#endif - -#ifdef UNALIGNED_SUPPORT_DISABLE - SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; -#endif - - /* Enable Loop and branch info cache */ - SCB->CCR |= SCB_CCR_LOB_Msk; - - /* Enable Branch Prediction */ - SCB->CCR |= SCB_CCR_BP_Msk; - - __DSB(); - __ISB(); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - TZ_SAU_Setup(); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/Target.clayer.yml b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/Target.clayer.yml deleted file mode 100644 index ee45512..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/Target.clayer.yml +++ /dev/null @@ -1,22 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/1.3.0/tools/projmgr/schemas/clayer.schema.json - -layer: - # type: Target - description: Target setup - - # packs: - # - pack: ARM::CMSIS - - components: - # [Cvendor::] Cclass [&Cbundle] :Cgroup [:Csub] [&Cvariant] [@[>=]Cversion] - - component: ARM::CMSIS:CORE - - component: Device:Startup&C Startup - - misc: - - for-compiler: IAR - Link: [--config generic_cortex.icf] - - groups: - - group: VHT/FVP - files: - - file: ./model_config.txt diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/model_config.txt b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/model_config.txt deleted file mode 100644 index e602725..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S/model_config.txt +++ /dev/null @@ -1,30 +0,0 @@ -# Parameters: -# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] -#---------------------------------------------------------------------------------------------- -fvp_mps2.mps2_visualisation.disable-visualisation=1 # (bool , init-time) default = '0' : Enable/disable visualisation -cpu0.FPU=1 # (bool , init-time) default = '1' : Set whether the model has VFP support -cpu0.MVE=1 # (int , init-time) default = '0x1' : Set whether the model has MVE support. If FPU = 0: 0=MVE not included, 1=Integer subset of MVE included. If FPU = 1: 0=MVE not included, 1=Integer subset of MVE included, 2=Integer and half and single precision floating point MVE included -cpu0.ID_ISAR5.PACBTI=1 # (int , init-time) default = '0x0' : 0: PAC/BTI not implemented, 1: PAC implemented using the QARMA5 algorithm with BTI, 2: PAC implemented using an IMP DEF algorithm with BTI, 4: PAC implemented using the QARMA3 algorithm with BTI -cpu0.semihosting-enable=1 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. -cpu0.semihosting-Thumb_SVC=0xAB # (int , init-time) default = '0xAB' : T32 SVC number for semihosting : [0x0..0xFF] -cpu0.semihosting-cmd_line="" # (string, init-time) default = '' : Command line available to semihosting SVC calls -cpu0.semihosting-heap_base=0x0 # (int , init-time) default = '0x0' : Virtual address of heap base : [0x0..0xFFFFFFFF] -cpu0.semihosting-heap_limit=0x0 # (int , init-time) default = '0x10700000' : Virtual address of top of heap : [0x0..0xFFFFFFFF] -cpu0.semihosting-stack_base=0x0 # (int , init-time) default = '0x10700000' : Virtual address of base of descending stack : [0x0..0xFFFFFFFF] -cpu0.semihosting-stack_limit=0x0 # (int , init-time) default = '0x10800000' : Virtual address of stack limit : [0x0..0xFFFFFFFF] -cpu0.semihosting-cwd="" # (string, init-time) default = '' : Base directory for semihosting file access. -cpu0.MPU_S=0x8 # (int , init-time) default = '0x8' : Number of regions in the Secure MPU. If Security Extentions are absent, this is ignored : [0x0..0x10] -cpu0.MPU_NS=0x8 # (int , init-time) default = '0x8' : Number of regions in the Non-Secure MPU. If Security Extentions are absent, this is the total number of MPU regions : [0x0..0x10] -cpu0.ITM=0 # (bool , init-time) default = '1' : Level of instrumentation trace supported. false : No ITM trace included, true: ITM trace included -cpu0.IRQLVL=0x3 # (int , init-time) default = '0x3' : Number of bits of interrupt priority : [0x3..0x8] -cpu0.INITSVTOR=0x00000000 # (int , init-time) default = '0x10000000' : Secure vector-table offset at reset : [0x0..0xFFFFFF80] -cpu0.INITNSVTOR=0x0 # (int , init-time) default = '0x0' : Non-Secure vector-table offset at reset : [0x0..0xFFFFFF80] -cpu0.SAU=0x8 # (int , init-time) default = '0x4' : Number of SAU regions (0 => no SAU) : [0x0..0x8] -idau.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' : -cpu0.LOCK_SAU=0 # (bool , init-time) default = '0' : Lock down of SAU registers write -cpu0.LOCK_S_MPU=0 # (bool , init-time) default = '0' : Lock down of Secure MPU registers write -cpu0.LOCK_NS_MPU=0 # (bool , init-time) default = '0' : Lock down of Non-Secure MPU registers write -cpu0.CPIF=1 # (bool , init-time) default = '1' : Specifies whether the external coprocessor interface is included -cpu0.SECEXT=1 # (bool , init-time) default = '1' : Whether the ARMv8-M Security Extensions are included -fvp_mps2.DISABLE_GATING=1 # (bool , init-time) default = '0' : Disable Memory gating logic -#---------------------------------------------------------------------------------------------- diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/ARMCM85_ac6_s.sct b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/ARMCM85_ac6_s.sct deleted file mode 100644 index c8049ef..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/ARMCM85_ac6_s.sct +++ /dev/null @@ -1,130 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m85 -xc -mcmse -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m85 -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00200000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00200000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000400 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE VeneerBase Address <0x0-0xFFFFFFFF:8> -; 0xFFFFFFFF: Place Veneers at the end of Flash (default) -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_BASE 0xFFFFFFFF -#define __CMSEVENEER_SIZE 0x00000400 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#if defined (__CMSEVENEER_BASE) && (__CMSEVENEER_BASE == 0xFFFFFFFF) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#else -#define __CV_BASE ( __CMSEVENEER_BASE ) -#endif -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE ( __RAM_SIZE - __STACK_SIZE - __HEAP_SIZE - __STACKSEAL_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/ARMCM85_ac6_s.sct.base@1.0.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/ARMCM85_ac6_s.sct.base@1.0.0 deleted file mode 100644 index 3eddea7..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/ARMCM85_ac6_s.sct.base@1.0.0 +++ /dev/null @@ -1,126 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m85 -xc -mcmse -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m85 -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000400 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE VeneerBase Address <0x0-0xFFFFFFFF:8> -; 0xFFFFFFFF: Place Veneers at the end of Flash (default) -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_BASE 0xFFFFFFFF -#define __CMSEVENEER_SIZE 0x00000400 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#if defined (__CMSEVENEER_BASE) && (__CMSEVENEER_BASE == 0xFFFFFFFF) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#else -#define __CV_BASE ( __CMSEVENEER_BASE ) -#endif -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE ( __RAM_SIZE - __STACK_SIZE - __HEAP_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_RAM __RW_BASE __RW_SIZE { ; RW data - .ANY (+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/gcc_arm.ld b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/gcc_arm.ld deleted file mode 100644 index f4f12ca..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/gcc_arm.ld +++ /dev/null @@ -1,314 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - ******************************************************************************/ -/* - * Copyright (c) 2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00200000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00200000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -/* ARMv8-M stack sealing: - to use ARMv8-M stack sealing set __STACKSEAL_SIZE to 8 otherwise keep 0 - */ -__STACKSEAL_SIZE = 8; - - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - * __StackSeal (only if ARMv8-M stack sealing is used) - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ - - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH - - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* ARMv8-M stack sealing: - to use ARMv8-M stack sealing uncomment '.stackseal' section - */ - - .stackseal (ORIGIN(RAM) + LENGTH(RAM) - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackSeal = .; - . = . + 8; - . = ALIGN(8); - } > RAM - - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/gcc_arm.ld.base@1.0.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/gcc_arm.ld.base@1.0.0 deleted file mode 100644 index 028ca8e..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/gcc_arm.ld.base@1.0.0 +++ /dev/null @@ -1,314 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - ******************************************************************************/ -/* - * Copyright (c) 2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00040000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00020000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -/* ARMv8-M stack sealing: - to use ARMv8-M stack sealing set __STACKSEAL_SIZE to 8 otherwise keep 0 - */ -__STACKSEAL_SIZE = 0; - - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - * __StackSeal (only if ARMv8-M stack sealing is used) - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ -/* - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH -*/ - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* ARMv8-M stack sealing: - to use ARMv8-M stack sealing uncomment '.stackseal' section - */ -/* - .stackseal (ORIGIN(RAM) + LENGTH(RAM) - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackSeal = .; - . = . + 8; - . = ALIGN(8); - } > RAM -*/ - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/partition_ARMCM85.h b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/partition_ARMCM85.h deleted file mode 100644 index 87c94c1..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/partition_ARMCM85.h +++ /dev/null @@ -1,1301 +0,0 @@ -/**************************************************************************//** - * @file partition_ARMCM85.h - * @brief CMSIS-CORE Initial Setup for Secure / Non-Secure Zones for Armv8.1-M Mainline - * @version V1.0.0 - * @date 07. March 2022 - ******************************************************************************/ -/* - * Copyright (c) 2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef PARTITION_ARMCM85_H -#define PARTITION_ARMCM85_H - -/* -//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- -*/ - -/* -// Initialize Security Attribution Unit (SAU) CTRL register -*/ -#define SAU_INIT_CTRL 1 - -/* -// Enable SAU -// Value for SAU->CTRL register bit ENABLE -*/ -#define SAU_INIT_CTRL_ENABLE 1 - -/* -// When SAU is disabled -// <0=> All Memory is Secure -// <1=> All Memory is Non-Secure -// Value for SAU->CTRL register bit ALLNS -// When all Memory is Non-Secure (ALLNS is 1), IDAU can override memory map configuration. -*/ -#define SAU_INIT_CTRL_ALLNS 0 - -/* -// -*/ - -/* -// Initialize Security Attribution Unit (SAU) Address Regions -// SAU configuration specifies regions to be one of: -// - Secure and Non-Secure Callable -// - Non-Secure -// Note: All memory regions not configured by SAU are Secure -*/ -#define SAU_REGIONS_MAX 8 /* Max. number of SAU regions */ - -/* -// Initialize SAU Region 0 -// Setup SAU Region 0 memory attributes -*/ -#define SAU_INIT_REGION0 1 - -/* -// Description -*/ -#define SAU_INIT_DSCR0 "NSC code" /* description SAU region 0 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START0 0x00000000 /* start address of SAU region 0 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END0 0x001FFFFF /* end address of SAU region 0 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC0 1 -/* -// -*/ - -/* -// Initialize SAU Region 1 -// Setup SAU Region 1 memory attributes -*/ -#define SAU_INIT_REGION1 1 - -/* -// Description -*/ -#define SAU_INIT_DSCR1 "NS code" /* description SAU region 1 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START1 0x00200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END1 0x003FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC1 0 -/* -// -*/ - -/* -// Initialize SAU Region 2 -// Setup SAU Region 2 memory attributes -*/ -#define SAU_INIT_REGION2 1 - -/* -// Description -*/ -#define SAU_INIT_DSCR2 "NS data" /* description SAU region 2 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START2 0x20200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END2 0x203FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC2 0 -/* -// -*/ - -/* -// Initialize SAU Region 3 -// Setup SAU Region 3 memory attributes -*/ -#define SAU_INIT_REGION3 1 - -/* -// Description -*/ -#define SAU_INIT_DSCR3 "NS peripherals" /* description SAU region 3 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START3 0x40000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END3 0x40040000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC3 0 -/* -// -*/ - -/* -// Initialize SAU Region 4 -// Setup SAU Region 4 memory attributes -*/ -#define SAU_INIT_REGION4 0 - -/* -// Description -*/ -#define SAU_INIT_DSCR4 "SAU region 4" /* description SAU region 4 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START4 0x00000000 /* start address of SAU region 4 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END4 0x00000000 /* end address of SAU region 4 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC4 0 -/* -// -*/ - -/* -// Initialize SAU Region 5 -// Setup SAU Region 5 memory attributes -*/ -#define SAU_INIT_REGION5 0 - -/* -// Description -*/ -#define SAU_INIT_DSCR5 "SAU region 5" /* description SAU region 5 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START5 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END5 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC5 0 -/* -// -*/ - -/* -// Initialize SAU Region 6 -// Setup SAU Region 6 memory attributes -*/ -#define SAU_INIT_REGION6 0 - -/* -// Description -*/ -#define SAU_INIT_DSCR6 "SAU region 6" /* description SAU region 6 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START6 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END6 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC6 0 -/* -// -*/ - -/* -// Initialize SAU Region 7 -// Setup SAU Region 7 memory attributes -*/ -#define SAU_INIT_REGION7 0 - -/* -// Description -*/ -#define SAU_INIT_DSCR7 "SAU region 7" /* description SAU region 7 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START7 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END7 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC7 0 -/* -// -*/ - -/* -// -*/ - -/* -// Setup behaviour of Sleep and Exception Handling -*/ -#define SCB_CSR_AIRCR_INIT 1 - -/* -// Deep Sleep can be enabled by -// <0=>Secure and Non-Secure state -// <1=>Secure state only -// Value for SCB->CSR register bit DEEPSLEEPS -*/ -#define SCB_CSR_DEEPSLEEPS_VAL 1 - -/* -// System reset request accessible from -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for SCB->AIRCR register bit SYSRESETREQS -*/ -#define SCB_AIRCR_SYSRESETREQS_VAL 1 - -/* -// Priority of Non-Secure exceptions is -// <0=> Not altered -// <1=> Lowered to 0x80-0xFF -// Value for SCB->AIRCR register bit PRIS -*/ -#define SCB_AIRCR_PRIS_VAL 1 - -/* -// BusFault, HardFault, and NMI target -// <0=> Secure state -// <1=> Non-Secure state -// Value for SCB->AIRCR register bit BFHFNMINS -*/ -#define SCB_AIRCR_BFHFNMINS_VAL 0 - -/* -// -*/ - -/* -// Setup behaviour of Floating Point and Vector Unit (FPU/MVE) -*/ -#define TZ_FPU_NS_USAGE 1 - -/* -// Floating Point and Vector Unit usage -// <0=> Secure state only -// <3=> Secure and Non-Secure state -// Value for SCB->NSACR register bits CP10, CP11 -*/ -#define SCB_NSACR_CP10_11_VAL 3 - -/* -// Treat floating-point registers as Secure -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit TS -*/ -#define FPU_FPCCR_TS_VAL 0 - -/* -// Clear on return (CLRONRET) accessibility -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for FPU->FPCCR register bit CLRONRETS -*/ -#define FPU_FPCCR_CLRONRETS_VAL 0 - -/* -// Clear floating-point caller saved registers on exception return -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit CLRONRET -*/ -#define FPU_FPCCR_CLRONRET_VAL 1 - -/* -// -*/ - -/* -// Setup Interrupt Target -*/ - -/* -// Initialize ITNS 0 (Interrupts 0..31) -*/ -#define NVIC_INIT_ITNS0 1 - -/* -// Interrupts 0..31 -// Interrupt 0 <0=> Secure state <1=> Non-Secure state -// Interrupt 1 <0=> Secure state <1=> Non-Secure state -// Interrupt 2 <0=> Secure state <1=> Non-Secure state -// Interrupt 3 <0=> Secure state <1=> Non-Secure state -// Interrupt 4 <0=> Secure state <1=> Non-Secure state -// Interrupt 5 <0=> Secure state <1=> Non-Secure state -// Interrupt 6 <0=> Secure state <1=> Non-Secure state -// Interrupt 7 <0=> Secure state <1=> Non-Secure state -// Interrupt 8 <0=> Secure state <1=> Non-Secure state -// Interrupt 9 <0=> Secure state <1=> Non-Secure state -// Interrupt 10 <0=> Secure state <1=> Non-Secure state -// Interrupt 11 <0=> Secure state <1=> Non-Secure state -// Interrupt 12 <0=> Secure state <1=> Non-Secure state -// Interrupt 13 <0=> Secure state <1=> Non-Secure state -// Interrupt 14 <0=> Secure state <1=> Non-Secure state -// Interrupt 15 <0=> Secure state <1=> Non-Secure state -// Interrupt 16 <0=> Secure state <1=> Non-Secure state -// Interrupt 17 <0=> Secure state <1=> Non-Secure state -// Interrupt 18 <0=> Secure state <1=> Non-Secure state -// Interrupt 19 <0=> Secure state <1=> Non-Secure state -// Interrupt 20 <0=> Secure state <1=> Non-Secure state -// Interrupt 21 <0=> Secure state <1=> Non-Secure state -// Interrupt 22 <0=> Secure state <1=> Non-Secure state -// Interrupt 23 <0=> Secure state <1=> Non-Secure state -// Interrupt 24 <0=> Secure state <1=> Non-Secure state -// Interrupt 25 <0=> Secure state <1=> Non-Secure state -// Interrupt 26 <0=> Secure state <1=> Non-Secure state -// Interrupt 27 <0=> Secure state <1=> Non-Secure state -// Interrupt 28 <0=> Secure state <1=> Non-Secure state -// Interrupt 29 <0=> Secure state <1=> Non-Secure state -// Interrupt 30 <0=> Secure state <1=> Non-Secure state -// Interrupt 31 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS0_VAL 0x0000122B - -/* -// -*/ - -/* -// Initialize ITNS 1 (Interrupts 32..63) -*/ -#define NVIC_INIT_ITNS1 1 - -/* -// Interrupts 32..63 -// Interrupt 32 <0=> Secure state <1=> Non-Secure state -// Interrupt 33 <0=> Secure state <1=> Non-Secure state -// Interrupt 34 <0=> Secure state <1=> Non-Secure state -// Interrupt 35 <0=> Secure state <1=> Non-Secure state -// Interrupt 36 <0=> Secure state <1=> Non-Secure state -// Interrupt 37 <0=> Secure state <1=> Non-Secure state -// Interrupt 38 <0=> Secure state <1=> Non-Secure state -// Interrupt 39 <0=> Secure state <1=> Non-Secure state -// Interrupt 40 <0=> Secure state <1=> Non-Secure state -// Interrupt 41 <0=> Secure state <1=> Non-Secure state -// Interrupt 42 <0=> Secure state <1=> Non-Secure state -// Interrupt 43 <0=> Secure state <1=> Non-Secure state -// Interrupt 44 <0=> Secure state <1=> Non-Secure state -// Interrupt 45 <0=> Secure state <1=> Non-Secure state -// Interrupt 46 <0=> Secure state <1=> Non-Secure state -// Interrupt 47 <0=> Secure state <1=> Non-Secure state -// Interrupt 48 <0=> Secure state <1=> Non-Secure state -// Interrupt 49 <0=> Secure state <1=> Non-Secure state -// Interrupt 50 <0=> Secure state <1=> Non-Secure state -// Interrupt 51 <0=> Secure state <1=> Non-Secure state -// Interrupt 52 <0=> Secure state <1=> Non-Secure state -// Interrupt 53 <0=> Secure state <1=> Non-Secure state -// Interrupt 54 <0=> Secure state <1=> Non-Secure state -// Interrupt 55 <0=> Secure state <1=> Non-Secure state -// Interrupt 56 <0=> Secure state <1=> Non-Secure state -// Interrupt 57 <0=> Secure state <1=> Non-Secure state -// Interrupt 58 <0=> Secure state <1=> Non-Secure state -// Interrupt 59 <0=> Secure state <1=> Non-Secure state -// Interrupt 60 <0=> Secure state <1=> Non-Secure state -// Interrupt 61 <0=> Secure state <1=> Non-Secure state -// Interrupt 62 <0=> Secure state <1=> Non-Secure state -// Interrupt 63 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS1_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 2 (Interrupts 64..95) -*/ -#define NVIC_INIT_ITNS2 0 - -/* -// Interrupts 64..95 -// Interrupt 64 <0=> Secure state <1=> Non-Secure state -// Interrupt 65 <0=> Secure state <1=> Non-Secure state -// Interrupt 66 <0=> Secure state <1=> Non-Secure state -// Interrupt 67 <0=> Secure state <1=> Non-Secure state -// Interrupt 68 <0=> Secure state <1=> Non-Secure state -// Interrupt 69 <0=> Secure state <1=> Non-Secure state -// Interrupt 70 <0=> Secure state <1=> Non-Secure state -// Interrupt 71 <0=> Secure state <1=> Non-Secure state -// Interrupt 72 <0=> Secure state <1=> Non-Secure state -// Interrupt 73 <0=> Secure state <1=> Non-Secure state -// Interrupt 74 <0=> Secure state <1=> Non-Secure state -// Interrupt 75 <0=> Secure state <1=> Non-Secure state -// Interrupt 76 <0=> Secure state <1=> Non-Secure state -// Interrupt 77 <0=> Secure state <1=> Non-Secure state -// Interrupt 78 <0=> Secure state <1=> Non-Secure state -// Interrupt 79 <0=> Secure state <1=> Non-Secure state -// Interrupt 80 <0=> Secure state <1=> Non-Secure state -// Interrupt 81 <0=> Secure state <1=> Non-Secure state -// Interrupt 82 <0=> Secure state <1=> Non-Secure state -// Interrupt 83 <0=> Secure state <1=> Non-Secure state -// Interrupt 84 <0=> Secure state <1=> Non-Secure state -// Interrupt 85 <0=> Secure state <1=> Non-Secure state -// Interrupt 86 <0=> Secure state <1=> Non-Secure state -// Interrupt 87 <0=> Secure state <1=> Non-Secure state -// Interrupt 88 <0=> Secure state <1=> Non-Secure state -// Interrupt 89 <0=> Secure state <1=> Non-Secure state -// Interrupt 90 <0=> Secure state <1=> Non-Secure state -// Interrupt 91 <0=> Secure state <1=> Non-Secure state -// Interrupt 92 <0=> Secure state <1=> Non-Secure state -// Interrupt 93 <0=> Secure state <1=> Non-Secure state -// Interrupt 94 <0=> Secure state <1=> Non-Secure state -// Interrupt 95 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS2_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 3 (Interrupts 96..127) -*/ -#define NVIC_INIT_ITNS3 0 - -/* -// Interrupts 96..127 -// Interrupt 96 <0=> Secure state <1=> Non-Secure state -// Interrupt 97 <0=> Secure state <1=> Non-Secure state -// Interrupt 98 <0=> Secure state <1=> Non-Secure state -// Interrupt 99 <0=> Secure state <1=> Non-Secure state -// Interrupt 100 <0=> Secure state <1=> Non-Secure state -// Interrupt 101 <0=> Secure state <1=> Non-Secure state -// Interrupt 102 <0=> Secure state <1=> Non-Secure state -// Interrupt 103 <0=> Secure state <1=> Non-Secure state -// Interrupt 104 <0=> Secure state <1=> Non-Secure state -// Interrupt 105 <0=> Secure state <1=> Non-Secure state -// Interrupt 106 <0=> Secure state <1=> Non-Secure state -// Interrupt 107 <0=> Secure state <1=> Non-Secure state -// Interrupt 108 <0=> Secure state <1=> Non-Secure state -// Interrupt 109 <0=> Secure state <1=> Non-Secure state -// Interrupt 110 <0=> Secure state <1=> Non-Secure state -// Interrupt 111 <0=> Secure state <1=> Non-Secure state -// Interrupt 112 <0=> Secure state <1=> Non-Secure state -// Interrupt 113 <0=> Secure state <1=> Non-Secure state -// Interrupt 114 <0=> Secure state <1=> Non-Secure state -// Interrupt 115 <0=> Secure state <1=> Non-Secure state -// Interrupt 116 <0=> Secure state <1=> Non-Secure state -// Interrupt 117 <0=> Secure state <1=> Non-Secure state -// Interrupt 118 <0=> Secure state <1=> Non-Secure state -// Interrupt 119 <0=> Secure state <1=> Non-Secure state -// Interrupt 120 <0=> Secure state <1=> Non-Secure state -// Interrupt 121 <0=> Secure state <1=> Non-Secure state -// Interrupt 122 <0=> Secure state <1=> Non-Secure state -// Interrupt 123 <0=> Secure state <1=> Non-Secure state -// Interrupt 124 <0=> Secure state <1=> Non-Secure state -// Interrupt 125 <0=> Secure state <1=> Non-Secure state -// Interrupt 126 <0=> Secure state <1=> Non-Secure state -// Interrupt 127 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS3_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 4 (Interrupts 128..159) -*/ -#define NVIC_INIT_ITNS4 0 - -/* -// Interrupts 128..159 -// Interrupt 128 <0=> Secure state <1=> Non-Secure state -// Interrupt 129 <0=> Secure state <1=> Non-Secure state -// Interrupt 130 <0=> Secure state <1=> Non-Secure state -// Interrupt 131 <0=> Secure state <1=> Non-Secure state -// Interrupt 132 <0=> Secure state <1=> Non-Secure state -// Interrupt 133 <0=> Secure state <1=> Non-Secure state -// Interrupt 134 <0=> Secure state <1=> Non-Secure state -// Interrupt 135 <0=> Secure state <1=> Non-Secure state -// Interrupt 136 <0=> Secure state <1=> Non-Secure state -// Interrupt 137 <0=> Secure state <1=> Non-Secure state -// Interrupt 138 <0=> Secure state <1=> Non-Secure state -// Interrupt 139 <0=> Secure state <1=> Non-Secure state -// Interrupt 140 <0=> Secure state <1=> Non-Secure state -// Interrupt 141 <0=> Secure state <1=> Non-Secure state -// Interrupt 142 <0=> Secure state <1=> Non-Secure state -// Interrupt 143 <0=> Secure state <1=> Non-Secure state -// Interrupt 144 <0=> Secure state <1=> Non-Secure state -// Interrupt 145 <0=> Secure state <1=> Non-Secure state -// Interrupt 146 <0=> Secure state <1=> Non-Secure state -// Interrupt 147 <0=> Secure state <1=> Non-Secure state -// Interrupt 148 <0=> Secure state <1=> Non-Secure state -// Interrupt 149 <0=> Secure state <1=> Non-Secure state -// Interrupt 150 <0=> Secure state <1=> Non-Secure state -// Interrupt 151 <0=> Secure state <1=> Non-Secure state -// Interrupt 152 <0=> Secure state <1=> Non-Secure state -// Interrupt 153 <0=> Secure state <1=> Non-Secure state -// Interrupt 154 <0=> Secure state <1=> Non-Secure state -// Interrupt 155 <0=> Secure state <1=> Non-Secure state -// Interrupt 156 <0=> Secure state <1=> Non-Secure state -// Interrupt 157 <0=> Secure state <1=> Non-Secure state -// Interrupt 158 <0=> Secure state <1=> Non-Secure state -// Interrupt 159 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS4_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 5 (Interrupts 160..191) -*/ -#define NVIC_INIT_ITNS5 0 - -/* -// Interrupts 160..191 -// Interrupt 160 <0=> Secure state <1=> Non-Secure state -// Interrupt 161 <0=> Secure state <1=> Non-Secure state -// Interrupt 162 <0=> Secure state <1=> Non-Secure state -// Interrupt 163 <0=> Secure state <1=> Non-Secure state -// Interrupt 164 <0=> Secure state <1=> Non-Secure state -// Interrupt 165 <0=> Secure state <1=> Non-Secure state -// Interrupt 166 <0=> Secure state <1=> Non-Secure state -// Interrupt 167 <0=> Secure state <1=> Non-Secure state -// Interrupt 168 <0=> Secure state <1=> Non-Secure state -// Interrupt 169 <0=> Secure state <1=> Non-Secure state -// Interrupt 170 <0=> Secure state <1=> Non-Secure state -// Interrupt 171 <0=> Secure state <1=> Non-Secure state -// Interrupt 172 <0=> Secure state <1=> Non-Secure state -// Interrupt 173 <0=> Secure state <1=> Non-Secure state -// Interrupt 174 <0=> Secure state <1=> Non-Secure state -// Interrupt 175 <0=> Secure state <1=> Non-Secure state -// Interrupt 176 <0=> Secure state <1=> Non-Secure state -// Interrupt 177 <0=> Secure state <1=> Non-Secure state -// Interrupt 178 <0=> Secure state <1=> Non-Secure state -// Interrupt 179 <0=> Secure state <1=> Non-Secure state -// Interrupt 180 <0=> Secure state <1=> Non-Secure state -// Interrupt 181 <0=> Secure state <1=> Non-Secure state -// Interrupt 182 <0=> Secure state <1=> Non-Secure state -// Interrupt 183 <0=> Secure state <1=> Non-Secure state -// Interrupt 184 <0=> Secure state <1=> Non-Secure state -// Interrupt 185 <0=> Secure state <1=> Non-Secure state -// Interrupt 186 <0=> Secure state <1=> Non-Secure state -// Interrupt 187 <0=> Secure state <1=> Non-Secure state -// Interrupt 188 <0=> Secure state <1=> Non-Secure state -// Interrupt 189 <0=> Secure state <1=> Non-Secure state -// Interrupt 190 <0=> Secure state <1=> Non-Secure state -// Interrupt 191 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS5_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 6 (Interrupts 192..223) -*/ -#define NVIC_INIT_ITNS6 0 - -/* -// Interrupts 192..223 -// Interrupt 192 <0=> Secure state <1=> Non-Secure state -// Interrupt 193 <0=> Secure state <1=> Non-Secure state -// Interrupt 194 <0=> Secure state <1=> Non-Secure state -// Interrupt 195 <0=> Secure state <1=> Non-Secure state -// Interrupt 196 <0=> Secure state <1=> Non-Secure state -// Interrupt 197 <0=> Secure state <1=> Non-Secure state -// Interrupt 198 <0=> Secure state <1=> Non-Secure state -// Interrupt 199 <0=> Secure state <1=> Non-Secure state -// Interrupt 200 <0=> Secure state <1=> Non-Secure state -// Interrupt 201 <0=> Secure state <1=> Non-Secure state -// Interrupt 202 <0=> Secure state <1=> Non-Secure state -// Interrupt 203 <0=> Secure state <1=> Non-Secure state -// Interrupt 204 <0=> Secure state <1=> Non-Secure state -// Interrupt 205 <0=> Secure state <1=> Non-Secure state -// Interrupt 206 <0=> Secure state <1=> Non-Secure state -// Interrupt 207 <0=> Secure state <1=> Non-Secure state -// Interrupt 208 <0=> Secure state <1=> Non-Secure state -// Interrupt 209 <0=> Secure state <1=> Non-Secure state -// Interrupt 210 <0=> Secure state <1=> Non-Secure state -// Interrupt 211 <0=> Secure state <1=> Non-Secure state -// Interrupt 212 <0=> Secure state <1=> Non-Secure state -// Interrupt 213 <0=> Secure state <1=> Non-Secure state -// Interrupt 214 <0=> Secure state <1=> Non-Secure state -// Interrupt 215 <0=> Secure state <1=> Non-Secure state -// Interrupt 216 <0=> Secure state <1=> Non-Secure state -// Interrupt 217 <0=> Secure state <1=> Non-Secure state -// Interrupt 218 <0=> Secure state <1=> Non-Secure state -// Interrupt 219 <0=> Secure state <1=> Non-Secure state -// Interrupt 220 <0=> Secure state <1=> Non-Secure state -// Interrupt 221 <0=> Secure state <1=> Non-Secure state -// Interrupt 222 <0=> Secure state <1=> Non-Secure state -// Interrupt 223 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS6_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 7 (Interrupts 224..255) -*/ -#define NVIC_INIT_ITNS7 0 - -/* -// Interrupts 224..255 -// Interrupt 224 <0=> Secure state <1=> Non-Secure state -// Interrupt 225 <0=> Secure state <1=> Non-Secure state -// Interrupt 226 <0=> Secure state <1=> Non-Secure state -// Interrupt 227 <0=> Secure state <1=> Non-Secure state -// Interrupt 228 <0=> Secure state <1=> Non-Secure state -// Interrupt 229 <0=> Secure state <1=> Non-Secure state -// Interrupt 230 <0=> Secure state <1=> Non-Secure state -// Interrupt 231 <0=> Secure state <1=> Non-Secure state -// Interrupt 232 <0=> Secure state <1=> Non-Secure state -// Interrupt 233 <0=> Secure state <1=> Non-Secure state -// Interrupt 234 <0=> Secure state <1=> Non-Secure state -// Interrupt 235 <0=> Secure state <1=> Non-Secure state -// Interrupt 236 <0=> Secure state <1=> Non-Secure state -// Interrupt 237 <0=> Secure state <1=> Non-Secure state -// Interrupt 238 <0=> Secure state <1=> Non-Secure state -// Interrupt 239 <0=> Secure state <1=> Non-Secure state -// Interrupt 240 <0=> Secure state <1=> Non-Secure state -// Interrupt 241 <0=> Secure state <1=> Non-Secure state -// Interrupt 242 <0=> Secure state <1=> Non-Secure state -// Interrupt 243 <0=> Secure state <1=> Non-Secure state -// Interrupt 244 <0=> Secure state <1=> Non-Secure state -// Interrupt 245 <0=> Secure state <1=> Non-Secure state -// Interrupt 246 <0=> Secure state <1=> Non-Secure state -// Interrupt 247 <0=> Secure state <1=> Non-Secure state -// Interrupt 248 <0=> Secure state <1=> Non-Secure state -// Interrupt 249 <0=> Secure state <1=> Non-Secure state -// Interrupt 250 <0=> Secure state <1=> Non-Secure state -// Interrupt 251 <0=> Secure state <1=> Non-Secure state -// Interrupt 252 <0=> Secure state <1=> Non-Secure state -// Interrupt 253 <0=> Secure state <1=> Non-Secure state -// Interrupt 254 <0=> Secure state <1=> Non-Secure state -// Interrupt 255 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS7_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 8 (Interrupts 256..287) -*/ -#define NVIC_INIT_ITNS8 0 - -/* -// Interrupts 256..287 -// Interrupt 256 <0=> Secure state <1=> Non-Secure state -// Interrupt 257 <0=> Secure state <1=> Non-Secure state -// Interrupt 258 <0=> Secure state <1=> Non-Secure state -// Interrupt 259 <0=> Secure state <1=> Non-Secure state -// Interrupt 260 <0=> Secure state <1=> Non-Secure state -// Interrupt 261 <0=> Secure state <1=> Non-Secure state -// Interrupt 262 <0=> Secure state <1=> Non-Secure state -// Interrupt 263 <0=> Secure state <1=> Non-Secure state -// Interrupt 264 <0=> Secure state <1=> Non-Secure state -// Interrupt 265 <0=> Secure state <1=> Non-Secure state -// Interrupt 266 <0=> Secure state <1=> Non-Secure state -// Interrupt 267 <0=> Secure state <1=> Non-Secure state -// Interrupt 268 <0=> Secure state <1=> Non-Secure state -// Interrupt 269 <0=> Secure state <1=> Non-Secure state -// Interrupt 270 <0=> Secure state <1=> Non-Secure state -// Interrupt 271 <0=> Secure state <1=> Non-Secure state -// Interrupt 272 <0=> Secure state <1=> Non-Secure state -// Interrupt 273 <0=> Secure state <1=> Non-Secure state -// Interrupt 274 <0=> Secure state <1=> Non-Secure state -// Interrupt 275 <0=> Secure state <1=> Non-Secure state -// Interrupt 276 <0=> Secure state <1=> Non-Secure state -// Interrupt 277 <0=> Secure state <1=> Non-Secure state -// Interrupt 278 <0=> Secure state <1=> Non-Secure state -// Interrupt 279 <0=> Secure state <1=> Non-Secure state -// Interrupt 280 <0=> Secure state <1=> Non-Secure state -// Interrupt 281 <0=> Secure state <1=> Non-Secure state -// Interrupt 282 <0=> Secure state <1=> Non-Secure state -// Interrupt 283 <0=> Secure state <1=> Non-Secure state -// Interrupt 284 <0=> Secure state <1=> Non-Secure state -// Interrupt 285 <0=> Secure state <1=> Non-Secure state -// Interrupt 286 <0=> Secure state <1=> Non-Secure state -// Interrupt 287 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS8_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 9 (Interrupts 288..319) -*/ -#define NVIC_INIT_ITNS9 0 - -/* -// Interrupts 288..319 -// Interrupt 288 <0=> Secure state <1=> Non-Secure state -// Interrupt 289 <0=> Secure state <1=> Non-Secure state -// Interrupt 290 <0=> Secure state <1=> Non-Secure state -// Interrupt 291 <0=> Secure state <1=> Non-Secure state -// Interrupt 292 <0=> Secure state <1=> Non-Secure state -// Interrupt 293 <0=> Secure state <1=> Non-Secure state -// Interrupt 294 <0=> Secure state <1=> Non-Secure state -// Interrupt 295 <0=> Secure state <1=> Non-Secure state -// Interrupt 296 <0=> Secure state <1=> Non-Secure state -// Interrupt 297 <0=> Secure state <1=> Non-Secure state -// Interrupt 298 <0=> Secure state <1=> Non-Secure state -// Interrupt 299 <0=> Secure state <1=> Non-Secure state -// Interrupt 300 <0=> Secure state <1=> Non-Secure state -// Interrupt 301 <0=> Secure state <1=> Non-Secure state -// Interrupt 302 <0=> Secure state <1=> Non-Secure state -// Interrupt 303 <0=> Secure state <1=> Non-Secure state -// Interrupt 304 <0=> Secure state <1=> Non-Secure state -// Interrupt 305 <0=> Secure state <1=> Non-Secure state -// Interrupt 306 <0=> Secure state <1=> Non-Secure state -// Interrupt 307 <0=> Secure state <1=> Non-Secure state -// Interrupt 308 <0=> Secure state <1=> Non-Secure state -// Interrupt 309 <0=> Secure state <1=> Non-Secure state -// Interrupt 310 <0=> Secure state <1=> Non-Secure state -// Interrupt 311 <0=> Secure state <1=> Non-Secure state -// Interrupt 312 <0=> Secure state <1=> Non-Secure state -// Interrupt 313 <0=> Secure state <1=> Non-Secure state -// Interrupt 314 <0=> Secure state <1=> Non-Secure state -// Interrupt 315 <0=> Secure state <1=> Non-Secure state -// Interrupt 316 <0=> Secure state <1=> Non-Secure state -// Interrupt 317 <0=> Secure state <1=> Non-Secure state -// Interrupt 318 <0=> Secure state <1=> Non-Secure state -// Interrupt 319 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS9_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 10 (Interrupts 320..351) -*/ -#define NVIC_INIT_ITNS10 0 - -/* -// Interrupts 320..351 -// Interrupt 320 <0=> Secure state <1=> Non-Secure state -// Interrupt 321 <0=> Secure state <1=> Non-Secure state -// Interrupt 322 <0=> Secure state <1=> Non-Secure state -// Interrupt 323 <0=> Secure state <1=> Non-Secure state -// Interrupt 324 <0=> Secure state <1=> Non-Secure state -// Interrupt 325 <0=> Secure state <1=> Non-Secure state -// Interrupt 326 <0=> Secure state <1=> Non-Secure state -// Interrupt 327 <0=> Secure state <1=> Non-Secure state -// Interrupt 328 <0=> Secure state <1=> Non-Secure state -// Interrupt 329 <0=> Secure state <1=> Non-Secure state -// Interrupt 330 <0=> Secure state <1=> Non-Secure state -// Interrupt 331 <0=> Secure state <1=> Non-Secure state -// Interrupt 332 <0=> Secure state <1=> Non-Secure state -// Interrupt 333 <0=> Secure state <1=> Non-Secure state -// Interrupt 334 <0=> Secure state <1=> Non-Secure state -// Interrupt 335 <0=> Secure state <1=> Non-Secure state -// Interrupt 336 <0=> Secure state <1=> Non-Secure state -// Interrupt 337 <0=> Secure state <1=> Non-Secure state -// Interrupt 338 <0=> Secure state <1=> Non-Secure state -// Interrupt 339 <0=> Secure state <1=> Non-Secure state -// Interrupt 340 <0=> Secure state <1=> Non-Secure state -// Interrupt 341 <0=> Secure state <1=> Non-Secure state -// Interrupt 342 <0=> Secure state <1=> Non-Secure state -// Interrupt 343 <0=> Secure state <1=> Non-Secure state -// Interrupt 344 <0=> Secure state <1=> Non-Secure state -// Interrupt 345 <0=> Secure state <1=> Non-Secure state -// Interrupt 346 <0=> Secure state <1=> Non-Secure state -// Interrupt 347 <0=> Secure state <1=> Non-Secure state -// Interrupt 348 <0=> Secure state <1=> Non-Secure state -// Interrupt 349 <0=> Secure state <1=> Non-Secure state -// Interrupt 350 <0=> Secure state <1=> Non-Secure state -// Interrupt 351 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS10_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 11 (Interrupts 352..383) -*/ -#define NVIC_INIT_ITNS11 0 - -/* -// Interrupts 352..383 -// Interrupt 352 <0=> Secure state <1=> Non-Secure state -// Interrupt 353 <0=> Secure state <1=> Non-Secure state -// Interrupt 354 <0=> Secure state <1=> Non-Secure state -// Interrupt 355 <0=> Secure state <1=> Non-Secure state -// Interrupt 356 <0=> Secure state <1=> Non-Secure state -// Interrupt 357 <0=> Secure state <1=> Non-Secure state -// Interrupt 358 <0=> Secure state <1=> Non-Secure state -// Interrupt 359 <0=> Secure state <1=> Non-Secure state -// Interrupt 360 <0=> Secure state <1=> Non-Secure state -// Interrupt 361 <0=> Secure state <1=> Non-Secure state -// Interrupt 362 <0=> Secure state <1=> Non-Secure state -// Interrupt 363 <0=> Secure state <1=> Non-Secure state -// Interrupt 364 <0=> Secure state <1=> Non-Secure state -// Interrupt 365 <0=> Secure state <1=> Non-Secure state -// Interrupt 366 <0=> Secure state <1=> Non-Secure state -// Interrupt 367 <0=> Secure state <1=> Non-Secure state -// Interrupt 368 <0=> Secure state <1=> Non-Secure state -// Interrupt 369 <0=> Secure state <1=> Non-Secure state -// Interrupt 370 <0=> Secure state <1=> Non-Secure state -// Interrupt 371 <0=> Secure state <1=> Non-Secure state -// Interrupt 372 <0=> Secure state <1=> Non-Secure state -// Interrupt 373 <0=> Secure state <1=> Non-Secure state -// Interrupt 374 <0=> Secure state <1=> Non-Secure state -// Interrupt 375 <0=> Secure state <1=> Non-Secure state -// Interrupt 376 <0=> Secure state <1=> Non-Secure state -// Interrupt 377 <0=> Secure state <1=> Non-Secure state -// Interrupt 378 <0=> Secure state <1=> Non-Secure state -// Interrupt 379 <0=> Secure state <1=> Non-Secure state -// Interrupt 380 <0=> Secure state <1=> Non-Secure state -// Interrupt 381 <0=> Secure state <1=> Non-Secure state -// Interrupt 382 <0=> Secure state <1=> Non-Secure state -// Interrupt 383 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS11_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 12 (Interrupts 384..415) -*/ -#define NVIC_INIT_ITNS12 0 - -/* -// Interrupts 384..415 -// Interrupt 384 <0=> Secure state <1=> Non-Secure state -// Interrupt 385 <0=> Secure state <1=> Non-Secure state -// Interrupt 386 <0=> Secure state <1=> Non-Secure state -// Interrupt 387 <0=> Secure state <1=> Non-Secure state -// Interrupt 388 <0=> Secure state <1=> Non-Secure state -// Interrupt 389 <0=> Secure state <1=> Non-Secure state -// Interrupt 390 <0=> Secure state <1=> Non-Secure state -// Interrupt 391 <0=> Secure state <1=> Non-Secure state -// Interrupt 392 <0=> Secure state <1=> Non-Secure state -// Interrupt 393 <0=> Secure state <1=> Non-Secure state -// Interrupt 394 <0=> Secure state <1=> Non-Secure state -// Interrupt 395 <0=> Secure state <1=> Non-Secure state -// Interrupt 396 <0=> Secure state <1=> Non-Secure state -// Interrupt 397 <0=> Secure state <1=> Non-Secure state -// Interrupt 398 <0=> Secure state <1=> Non-Secure state -// Interrupt 399 <0=> Secure state <1=> Non-Secure state -// Interrupt 400 <0=> Secure state <1=> Non-Secure state -// Interrupt 401 <0=> Secure state <1=> Non-Secure state -// Interrupt 402 <0=> Secure state <1=> Non-Secure state -// Interrupt 403 <0=> Secure state <1=> Non-Secure state -// Interrupt 404 <0=> Secure state <1=> Non-Secure state -// Interrupt 405 <0=> Secure state <1=> Non-Secure state -// Interrupt 406 <0=> Secure state <1=> Non-Secure state -// Interrupt 407 <0=> Secure state <1=> Non-Secure state -// Interrupt 408 <0=> Secure state <1=> Non-Secure state -// Interrupt 409 <0=> Secure state <1=> Non-Secure state -// Interrupt 410 <0=> Secure state <1=> Non-Secure state -// Interrupt 411 <0=> Secure state <1=> Non-Secure state -// Interrupt 412 <0=> Secure state <1=> Non-Secure state -// Interrupt 413 <0=> Secure state <1=> Non-Secure state -// Interrupt 414 <0=> Secure state <1=> Non-Secure state -// Interrupt 415 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS12_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 13 (Interrupts 416..447) -*/ -#define NVIC_INIT_ITNS13 0 - -/* -// Interrupts 416..447 -// Interrupt 416 <0=> Secure state <1=> Non-Secure state -// Interrupt 417 <0=> Secure state <1=> Non-Secure state -// Interrupt 418 <0=> Secure state <1=> Non-Secure state -// Interrupt 419 <0=> Secure state <1=> Non-Secure state -// Interrupt 420 <0=> Secure state <1=> Non-Secure state -// Interrupt 421 <0=> Secure state <1=> Non-Secure state -// Interrupt 422 <0=> Secure state <1=> Non-Secure state -// Interrupt 423 <0=> Secure state <1=> Non-Secure state -// Interrupt 424 <0=> Secure state <1=> Non-Secure state -// Interrupt 425 <0=> Secure state <1=> Non-Secure state -// Interrupt 426 <0=> Secure state <1=> Non-Secure state -// Interrupt 427 <0=> Secure state <1=> Non-Secure state -// Interrupt 428 <0=> Secure state <1=> Non-Secure state -// Interrupt 429 <0=> Secure state <1=> Non-Secure state -// Interrupt 430 <0=> Secure state <1=> Non-Secure state -// Interrupt 431 <0=> Secure state <1=> Non-Secure state -// Interrupt 432 <0=> Secure state <1=> Non-Secure state -// Interrupt 433 <0=> Secure state <1=> Non-Secure state -// Interrupt 434 <0=> Secure state <1=> Non-Secure state -// Interrupt 435 <0=> Secure state <1=> Non-Secure state -// Interrupt 436 <0=> Secure state <1=> Non-Secure state -// Interrupt 437 <0=> Secure state <1=> Non-Secure state -// Interrupt 438 <0=> Secure state <1=> Non-Secure state -// Interrupt 439 <0=> Secure state <1=> Non-Secure state -// Interrupt 440 <0=> Secure state <1=> Non-Secure state -// Interrupt 441 <0=> Secure state <1=> Non-Secure state -// Interrupt 442 <0=> Secure state <1=> Non-Secure state -// Interrupt 443 <0=> Secure state <1=> Non-Secure state -// Interrupt 444 <0=> Secure state <1=> Non-Secure state -// Interrupt 445 <0=> Secure state <1=> Non-Secure state -// Interrupt 446 <0=> Secure state <1=> Non-Secure state -// Interrupt 447 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS13_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 14 (Interrupts 448..479) -*/ -#define NVIC_INIT_ITNS14 0 - -/* -// Interrupts 448..479 -// Interrupt 448 <0=> Secure state <1=> Non-Secure state -// Interrupt 449 <0=> Secure state <1=> Non-Secure state -// Interrupt 450 <0=> Secure state <1=> Non-Secure state -// Interrupt 451 <0=> Secure state <1=> Non-Secure state -// Interrupt 452 <0=> Secure state <1=> Non-Secure state -// Interrupt 453 <0=> Secure state <1=> Non-Secure state -// Interrupt 454 <0=> Secure state <1=> Non-Secure state -// Interrupt 455 <0=> Secure state <1=> Non-Secure state -// Interrupt 456 <0=> Secure state <1=> Non-Secure state -// Interrupt 457 <0=> Secure state <1=> Non-Secure state -// Interrupt 458 <0=> Secure state <1=> Non-Secure state -// Interrupt 459 <0=> Secure state <1=> Non-Secure state -// Interrupt 460 <0=> Secure state <1=> Non-Secure state -// Interrupt 461 <0=> Secure state <1=> Non-Secure state -// Interrupt 462 <0=> Secure state <1=> Non-Secure state -// Interrupt 463 <0=> Secure state <1=> Non-Secure state -// Interrupt 464 <0=> Secure state <1=> Non-Secure state -// Interrupt 465 <0=> Secure state <1=> Non-Secure state -// Interrupt 466 <0=> Secure state <1=> Non-Secure state -// Interrupt 467 <0=> Secure state <1=> Non-Secure state -// Interrupt 468 <0=> Secure state <1=> Non-Secure state -// Interrupt 469 <0=> Secure state <1=> Non-Secure state -// Interrupt 470 <0=> Secure state <1=> Non-Secure state -// Interrupt 471 <0=> Secure state <1=> Non-Secure state -// Interrupt 472 <0=> Secure state <1=> Non-Secure state -// Interrupt 473 <0=> Secure state <1=> Non-Secure state -// Interrupt 474 <0=> Secure state <1=> Non-Secure state -// Interrupt 475 <0=> Secure state <1=> Non-Secure state -// Interrupt 476 <0=> Secure state <1=> Non-Secure state -// Interrupt 477 <0=> Secure state <1=> Non-Secure state -// Interrupt 478 <0=> Secure state <1=> Non-Secure state -// Interrupt 479 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS14_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 15 (Interrupts 480..511) -*/ -#define NVIC_INIT_ITNS15 0 - -/* -// Interrupts 480..511 -// Interrupt 480 <0=> Secure state <1=> Non-Secure state -// Interrupt 481 <0=> Secure state <1=> Non-Secure state -// Interrupt 482 <0=> Secure state <1=> Non-Secure state -// Interrupt 483 <0=> Secure state <1=> Non-Secure state -// Interrupt 484 <0=> Secure state <1=> Non-Secure state -// Interrupt 485 <0=> Secure state <1=> Non-Secure state -// Interrupt 486 <0=> Secure state <1=> Non-Secure state -// Interrupt 487 <0=> Secure state <1=> Non-Secure state -// Interrupt 488 <0=> Secure state <1=> Non-Secure state -// Interrupt 489 <0=> Secure state <1=> Non-Secure state -// Interrupt 490 <0=> Secure state <1=> Non-Secure state -// Interrupt 491 <0=> Secure state <1=> Non-Secure state -// Interrupt 492 <0=> Secure state <1=> Non-Secure state -// Interrupt 493 <0=> Secure state <1=> Non-Secure state -// Interrupt 494 <0=> Secure state <1=> Non-Secure state -// Interrupt 495 <0=> Secure state <1=> Non-Secure state -// Interrupt 496 <0=> Secure state <1=> Non-Secure state -// Interrupt 497 <0=> Secure state <1=> Non-Secure state -// Interrupt 498 <0=> Secure state <1=> Non-Secure state -// Interrupt 499 <0=> Secure state <1=> Non-Secure state -// Interrupt 500 <0=> Secure state <1=> Non-Secure state -// Interrupt 501 <0=> Secure state <1=> Non-Secure state -// Interrupt 502 <0=> Secure state <1=> Non-Secure state -// Interrupt 503 <0=> Secure state <1=> Non-Secure state -// Interrupt 504 <0=> Secure state <1=> Non-Secure state -// Interrupt 505 <0=> Secure state <1=> Non-Secure state -// Interrupt 506 <0=> Secure state <1=> Non-Secure state -// Interrupt 507 <0=> Secure state <1=> Non-Secure state -// Interrupt 508 <0=> Secure state <1=> Non-Secure state -// Interrupt 509 <0=> Secure state <1=> Non-Secure state -// Interrupt 510 <0=> Secure state <1=> Non-Secure state -// Interrupt 511 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS15_VAL 0x00000000 - -/* -// -*/ - -/* -// -*/ - - - -/* - max 128 SAU regions. - SAU regions are defined in partition.h - */ - -#define SAU_INIT_REGION(n) \ - SAU->RNR = (n & SAU_RNR_REGION_Msk); \ - SAU->RBAR = (SAU_INIT_START##n & SAU_RBAR_BADDR_Msk); \ - SAU->RLAR = (SAU_INIT_END##n & SAU_RLAR_LADDR_Msk) | \ - ((SAU_INIT_NSC##n << SAU_RLAR_NSC_Pos) & SAU_RLAR_NSC_Msk) | 1U - -/** - \brief Setup a SAU Region - \details Writes the region information contained in SAU_Region to the - registers SAU_RNR, SAU_RBAR, and SAU_RLAR - */ -__STATIC_INLINE void TZ_SAU_Setup (void) -{ - -#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) - - #if defined (SAU_INIT_REGION0) && (SAU_INIT_REGION0 == 1U) - SAU_INIT_REGION(0); - #endif - - #if defined (SAU_INIT_REGION1) && (SAU_INIT_REGION1 == 1U) - SAU_INIT_REGION(1); - #endif - - #if defined (SAU_INIT_REGION2) && (SAU_INIT_REGION2 == 1U) - SAU_INIT_REGION(2); - #endif - - #if defined (SAU_INIT_REGION3) && (SAU_INIT_REGION3 == 1U) - SAU_INIT_REGION(3); - #endif - - #if defined (SAU_INIT_REGION4) && (SAU_INIT_REGION4 == 1U) - SAU_INIT_REGION(4); - #endif - - #if defined (SAU_INIT_REGION5) && (SAU_INIT_REGION5 == 1U) - SAU_INIT_REGION(5); - #endif - - #if defined (SAU_INIT_REGION6) && (SAU_INIT_REGION6 == 1U) - SAU_INIT_REGION(6); - #endif - - #if defined (SAU_INIT_REGION7) && (SAU_INIT_REGION7 == 1U) - SAU_INIT_REGION(7); - #endif - - /* repeat this for all possible SAU regions */ - -#endif /* defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) */ - - - #if defined (SAU_INIT_CTRL) && (SAU_INIT_CTRL == 1U) - SAU->CTRL = ((SAU_INIT_CTRL_ENABLE << SAU_CTRL_ENABLE_Pos) & SAU_CTRL_ENABLE_Msk) | - ((SAU_INIT_CTRL_ALLNS << SAU_CTRL_ALLNS_Pos) & SAU_CTRL_ALLNS_Msk) ; - #endif - - #if defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) - SCB->SCR = (SCB->SCR & ~(SCB_SCR_SLEEPDEEPS_Msk )) | - ((SCB_CSR_DEEPSLEEPS_VAL << SCB_SCR_SLEEPDEEPS_Pos) & SCB_SCR_SLEEPDEEPS_Msk); - - SCB->AIRCR = (SCB->AIRCR & ~(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_SYSRESETREQS_Msk | - SCB_AIRCR_BFHFNMINS_Msk | SCB_AIRCR_PRIS_Msk )) | - ((0x05FAU << SCB_AIRCR_VECTKEY_Pos) & SCB_AIRCR_VECTKEY_Msk) | - ((SCB_AIRCR_SYSRESETREQS_VAL << SCB_AIRCR_SYSRESETREQS_Pos) & SCB_AIRCR_SYSRESETREQS_Msk) | - ((SCB_AIRCR_PRIS_VAL << SCB_AIRCR_PRIS_Pos) & SCB_AIRCR_PRIS_Msk) | - ((SCB_AIRCR_BFHFNMINS_VAL << SCB_AIRCR_BFHFNMINS_Pos) & SCB_AIRCR_BFHFNMINS_Msk); - #endif /* defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) */ - - #if (((defined (__FPU_USED) && (__FPU_USED == 1U)) || \ - (defined (__ARM_FEATURE_MVE) && (__ARM_FEATURE_MVE > 0))) && \ - (defined (TZ_FPU_NS_USAGE) && (TZ_FPU_NS_USAGE == 1U))) - - SCB->NSACR = (SCB->NSACR & ~(SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)) | - ((SCB_NSACR_CP10_11_VAL << SCB_NSACR_CP10_Pos) & (SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)); - - FPU->FPCCR = (FPU->FPCCR & ~(FPU_FPCCR_TS_Msk | FPU_FPCCR_CLRONRETS_Msk | FPU_FPCCR_CLRONRET_Msk)) | - ((FPU_FPCCR_TS_VAL << FPU_FPCCR_TS_Pos ) & FPU_FPCCR_TS_Msk ) | - ((FPU_FPCCR_CLRONRETS_VAL << FPU_FPCCR_CLRONRETS_Pos) & FPU_FPCCR_CLRONRETS_Msk) | - ((FPU_FPCCR_CLRONRET_VAL << FPU_FPCCR_CLRONRET_Pos ) & FPU_FPCCR_CLRONRET_Msk ); - #endif - - #if defined (NVIC_INIT_ITNS0) && (NVIC_INIT_ITNS0 == 1U) - NVIC->ITNS[0] = NVIC_INIT_ITNS0_VAL; - #endif - - #if defined (NVIC_INIT_ITNS1) && (NVIC_INIT_ITNS1 == 1U) - NVIC->ITNS[1] = NVIC_INIT_ITNS1_VAL; - #endif - - #if defined (NVIC_INIT_ITNS2) && (NVIC_INIT_ITNS2 == 1U) - NVIC->ITNS[2] = NVIC_INIT_ITNS2_VAL; - #endif - - #if defined (NVIC_INIT_ITNS3) && (NVIC_INIT_ITNS3 == 1U) - NVIC->ITNS[3] = NVIC_INIT_ITNS3_VAL; - #endif - - #if defined (NVIC_INIT_ITNS4) && (NVIC_INIT_ITNS4 == 1U) - NVIC->ITNS[4] = NVIC_INIT_ITNS4_VAL; - #endif - - #if defined (NVIC_INIT_ITNS5) && (NVIC_INIT_ITNS5 == 1U) - NVIC->ITNS[5] = NVIC_INIT_ITNS5_VAL; - #endif - - #if defined (NVIC_INIT_ITNS6) && (NVIC_INIT_ITNS6 == 1U) - NVIC->ITNS[6] = NVIC_INIT_ITNS6_VAL; - #endif - - #if defined (NVIC_INIT_ITNS7) && (NVIC_INIT_ITNS7 == 1U) - NVIC->ITNS[7] = NVIC_INIT_ITNS7_VAL; - #endif - - #if defined (NVIC_INIT_ITNS8) && (NVIC_INIT_ITNS8 == 1U) - NVIC->ITNS[8] = NVIC_INIT_ITNS8_VAL; - #endif - - #if defined (NVIC_INIT_ITNS9) && (NVIC_INIT_ITNS9 == 1U) - NVIC->ITNS[9] = NVIC_INIT_ITNS9_VAL; - #endif - - #if defined (NVIC_INIT_ITNS10) && (NVIC_INIT_ITNS10 == 1U) - NVIC->ITNS[10] = NVIC_INIT_ITNS10_VAL; - #endif - - #if defined (NVIC_INIT_ITNS11) && (NVIC_INIT_ITNS11 == 1U) - NVIC->ITNS[11] = NVIC_INIT_ITNS11_VAL; - #endif - - #if defined (NVIC_INIT_ITNS12) && (NVIC_INIT_ITNS12 == 1U) - NVIC->ITNS[12] = NVIC_INIT_ITNS12_VAL; - #endif - - #if defined (NVIC_INIT_ITNS13) && (NVIC_INIT_ITNS13 == 1U) - NVIC->ITNS[13] = NVIC_INIT_ITNS13_VAL; - #endif - - #if defined (NVIC_INIT_ITNS14) && (NVIC_INIT_ITNS14 == 1U) - NVIC->ITNS[14] = NVIC_INIT_ITNS14_VAL; - #endif - - #if defined (NVIC_INIT_ITNS15) && (NVIC_INIT_ITNS15 == 1U) - NVIC->ITNS[15] = NVIC_INIT_ITNS15_VAL; - #endif - - /* repeat this for all possible ITNS elements */ - -} - -#endif /* PARTITION_ARMCM85_H */ diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/partition_ARMCM85.h.base@1.0.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/partition_ARMCM85.h.base@1.0.0 deleted file mode 100644 index a3d881a..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/partition_ARMCM85.h.base@1.0.0 +++ /dev/null @@ -1,1301 +0,0 @@ -/**************************************************************************//** - * @file partition_ARMCM85.h - * @brief CMSIS-CORE Initial Setup for Secure / Non-Secure Zones for Armv8.1-M Mainline - * @version V1.0.0 - * @date 07. March 2022 - ******************************************************************************/ -/* - * Copyright (c) 2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef PARTITION_ARMCM85_H -#define PARTITION_ARMCM85_H - -/* -//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- -*/ - -/* -// Initialize Security Attribution Unit (SAU) CTRL register -*/ -#define SAU_INIT_CTRL 1 - -/* -// Enable SAU -// Value for SAU->CTRL register bit ENABLE -*/ -#define SAU_INIT_CTRL_ENABLE 1 - -/* -// When SAU is disabled -// <0=> All Memory is Secure -// <1=> All Memory is Non-Secure -// Value for SAU->CTRL register bit ALLNS -// When all Memory is Non-Secure (ALLNS is 1), IDAU can override memory map configuration. -*/ -#define SAU_INIT_CTRL_ALLNS 0 - -/* -// -*/ - -/* -// Initialize Security Attribution Unit (SAU) Address Regions -// SAU configuration specifies regions to be one of: -// - Secure and Non-Secure Callable -// - Non-Secure -// Note: All memory regions not configured by SAU are Secure -*/ -#define SAU_REGIONS_MAX 8 /* Max. number of SAU regions */ - -/* -// Initialize SAU Region 0 -// Setup SAU Region 0 memory attributes -*/ -#define SAU_INIT_REGION0 1 - -/* -// Description -*/ -#define SAU_INIT_DSCR0 "NSC code" /* description SAU region 0 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START0 0x00000000 /* start address of SAU region 0 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END0 0x001FFFFF /* end address of SAU region 0 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC0 1 -/* -// -*/ - -/* -// Initialize SAU Region 1 -// Setup SAU Region 1 memory attributes -*/ -#define SAU_INIT_REGION1 1 - -/* -// Description -*/ -#define SAU_INIT_DSCR1 "NS code" /* description SAU region 1 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START1 0x00200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END1 0x003FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC1 0 -/* -// -*/ - -/* -// Initialize SAU Region 2 -// Setup SAU Region 2 memory attributes -*/ -#define SAU_INIT_REGION2 1 - -/* -// Description -*/ -#define SAU_INIT_DSCR2 "NS data" /* description SAU region 2 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START2 0x20200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END2 0x203FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC2 0 -/* -// -*/ - -/* -// Initialize SAU Region 3 -// Setup SAU Region 3 memory attributes -*/ -#define SAU_INIT_REGION3 1 - -/* -// Description -*/ -#define SAU_INIT_DSCR3 "NS peripherals" /* description SAU region 3 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START3 0x40000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END3 0x40040000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC3 0 -/* -// -*/ - -/* -// Initialize SAU Region 4 -// Setup SAU Region 4 memory attributes -*/ -#define SAU_INIT_REGION4 0 - -/* -// Description -*/ -#define SAU_INIT_DSCR4 "SAU region 4" /* description SAU region 4 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START4 0x00000000 /* start address of SAU region 4 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END4 0x00000000 /* end address of SAU region 4 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC4 0 -/* -// -*/ - -/* -// Initialize SAU Region 5 -// Setup SAU Region 5 memory attributes -*/ -#define SAU_INIT_REGION5 0 - -/* -// Description -*/ -#define SAU_INIT_DSCR5 "SAU region 5" /* description SAU region 5 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START5 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END5 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC5 0 -/* -// -*/ - -/* -// Initialize SAU Region 6 -// Setup SAU Region 6 memory attributes -*/ -#define SAU_INIT_REGION6 0 - -/* -// Description -*/ -#define SAU_INIT_DSCR6 "SAU region 6" /* description SAU region 6 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START6 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END6 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC6 0 -/* -// -*/ - -/* -// Initialize SAU Region 7 -// Setup SAU Region 7 memory attributes -*/ -#define SAU_INIT_REGION7 0 - -/* -// Description -*/ -#define SAU_INIT_DSCR7 "SAU region 7" /* description SAU region 7 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START7 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END7 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC7 0 -/* -// -*/ - -/* -// -*/ - -/* -// Setup behaviour of Sleep and Exception Handling -*/ -#define SCB_CSR_AIRCR_INIT 1 - -/* -// Deep Sleep can be enabled by -// <0=>Secure and Non-Secure state -// <1=>Secure state only -// Value for SCB->CSR register bit DEEPSLEEPS -*/ -#define SCB_CSR_DEEPSLEEPS_VAL 1 - -/* -// System reset request accessible from -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for SCB->AIRCR register bit SYSRESETREQS -*/ -#define SCB_AIRCR_SYSRESETREQS_VAL 1 - -/* -// Priority of Non-Secure exceptions is -// <0=> Not altered -// <1=> Lowered to 0x80-0xFF -// Value for SCB->AIRCR register bit PRIS -*/ -#define SCB_AIRCR_PRIS_VAL 1 - -/* -// BusFault, HardFault, and NMI target -// <0=> Secure state -// <1=> Non-Secure state -// Value for SCB->AIRCR register bit BFHFNMINS -*/ -#define SCB_AIRCR_BFHFNMINS_VAL 0 - -/* -// -*/ - -/* -// Setup behaviour of Floating Point and Vector Unit (FPU/MVE) -*/ -#define TZ_FPU_NS_USAGE 1 - -/* -// Floating Point and Vector Unit usage -// <0=> Secure state only -// <3=> Secure and Non-Secure state -// Value for SCB->NSACR register bits CP10, CP11 -*/ -#define SCB_NSACR_CP10_11_VAL 3 - -/* -// Treat floating-point registers as Secure -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit TS -*/ -#define FPU_FPCCR_TS_VAL 0 - -/* -// Clear on return (CLRONRET) accessibility -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for FPU->FPCCR register bit CLRONRETS -*/ -#define FPU_FPCCR_CLRONRETS_VAL 0 - -/* -// Clear floating-point caller saved registers on exception return -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit CLRONRET -*/ -#define FPU_FPCCR_CLRONRET_VAL 1 - -/* -// -*/ - -/* -// Setup Interrupt Target -*/ - -/* -// Initialize ITNS 0 (Interrupts 0..31) -*/ -#define NVIC_INIT_ITNS0 1 - -/* -// Interrupts 0..31 -// Interrupt 0 <0=> Secure state <1=> Non-Secure state -// Interrupt 1 <0=> Secure state <1=> Non-Secure state -// Interrupt 2 <0=> Secure state <1=> Non-Secure state -// Interrupt 3 <0=> Secure state <1=> Non-Secure state -// Interrupt 4 <0=> Secure state <1=> Non-Secure state -// Interrupt 5 <0=> Secure state <1=> Non-Secure state -// Interrupt 6 <0=> Secure state <1=> Non-Secure state -// Interrupt 7 <0=> Secure state <1=> Non-Secure state -// Interrupt 8 <0=> Secure state <1=> Non-Secure state -// Interrupt 9 <0=> Secure state <1=> Non-Secure state -// Interrupt 10 <0=> Secure state <1=> Non-Secure state -// Interrupt 11 <0=> Secure state <1=> Non-Secure state -// Interrupt 12 <0=> Secure state <1=> Non-Secure state -// Interrupt 13 <0=> Secure state <1=> Non-Secure state -// Interrupt 14 <0=> Secure state <1=> Non-Secure state -// Interrupt 15 <0=> Secure state <1=> Non-Secure state -// Interrupt 16 <0=> Secure state <1=> Non-Secure state -// Interrupt 17 <0=> Secure state <1=> Non-Secure state -// Interrupt 18 <0=> Secure state <1=> Non-Secure state -// Interrupt 19 <0=> Secure state <1=> Non-Secure state -// Interrupt 20 <0=> Secure state <1=> Non-Secure state -// Interrupt 21 <0=> Secure state <1=> Non-Secure state -// Interrupt 22 <0=> Secure state <1=> Non-Secure state -// Interrupt 23 <0=> Secure state <1=> Non-Secure state -// Interrupt 24 <0=> Secure state <1=> Non-Secure state -// Interrupt 25 <0=> Secure state <1=> Non-Secure state -// Interrupt 26 <0=> Secure state <1=> Non-Secure state -// Interrupt 27 <0=> Secure state <1=> Non-Secure state -// Interrupt 28 <0=> Secure state <1=> Non-Secure state -// Interrupt 29 <0=> Secure state <1=> Non-Secure state -// Interrupt 30 <0=> Secure state <1=> Non-Secure state -// Interrupt 31 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS0_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 1 (Interrupts 32..63) -*/ -#define NVIC_INIT_ITNS1 1 - -/* -// Interrupts 32..63 -// Interrupt 32 <0=> Secure state <1=> Non-Secure state -// Interrupt 33 <0=> Secure state <1=> Non-Secure state -// Interrupt 34 <0=> Secure state <1=> Non-Secure state -// Interrupt 35 <0=> Secure state <1=> Non-Secure state -// Interrupt 36 <0=> Secure state <1=> Non-Secure state -// Interrupt 37 <0=> Secure state <1=> Non-Secure state -// Interrupt 38 <0=> Secure state <1=> Non-Secure state -// Interrupt 39 <0=> Secure state <1=> Non-Secure state -// Interrupt 40 <0=> Secure state <1=> Non-Secure state -// Interrupt 41 <0=> Secure state <1=> Non-Secure state -// Interrupt 42 <0=> Secure state <1=> Non-Secure state -// Interrupt 43 <0=> Secure state <1=> Non-Secure state -// Interrupt 44 <0=> Secure state <1=> Non-Secure state -// Interrupt 45 <0=> Secure state <1=> Non-Secure state -// Interrupt 46 <0=> Secure state <1=> Non-Secure state -// Interrupt 47 <0=> Secure state <1=> Non-Secure state -// Interrupt 48 <0=> Secure state <1=> Non-Secure state -// Interrupt 49 <0=> Secure state <1=> Non-Secure state -// Interrupt 50 <0=> Secure state <1=> Non-Secure state -// Interrupt 51 <0=> Secure state <1=> Non-Secure state -// Interrupt 52 <0=> Secure state <1=> Non-Secure state -// Interrupt 53 <0=> Secure state <1=> Non-Secure state -// Interrupt 54 <0=> Secure state <1=> Non-Secure state -// Interrupt 55 <0=> Secure state <1=> Non-Secure state -// Interrupt 56 <0=> Secure state <1=> Non-Secure state -// Interrupt 57 <0=> Secure state <1=> Non-Secure state -// Interrupt 58 <0=> Secure state <1=> Non-Secure state -// Interrupt 59 <0=> Secure state <1=> Non-Secure state -// Interrupt 60 <0=> Secure state <1=> Non-Secure state -// Interrupt 61 <0=> Secure state <1=> Non-Secure state -// Interrupt 62 <0=> Secure state <1=> Non-Secure state -// Interrupt 63 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS1_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 2 (Interrupts 64..95) -*/ -#define NVIC_INIT_ITNS2 0 - -/* -// Interrupts 64..95 -// Interrupt 64 <0=> Secure state <1=> Non-Secure state -// Interrupt 65 <0=> Secure state <1=> Non-Secure state -// Interrupt 66 <0=> Secure state <1=> Non-Secure state -// Interrupt 67 <0=> Secure state <1=> Non-Secure state -// Interrupt 68 <0=> Secure state <1=> Non-Secure state -// Interrupt 69 <0=> Secure state <1=> Non-Secure state -// Interrupt 70 <0=> Secure state <1=> Non-Secure state -// Interrupt 71 <0=> Secure state <1=> Non-Secure state -// Interrupt 72 <0=> Secure state <1=> Non-Secure state -// Interrupt 73 <0=> Secure state <1=> Non-Secure state -// Interrupt 74 <0=> Secure state <1=> Non-Secure state -// Interrupt 75 <0=> Secure state <1=> Non-Secure state -// Interrupt 76 <0=> Secure state <1=> Non-Secure state -// Interrupt 77 <0=> Secure state <1=> Non-Secure state -// Interrupt 78 <0=> Secure state <1=> Non-Secure state -// Interrupt 79 <0=> Secure state <1=> Non-Secure state -// Interrupt 80 <0=> Secure state <1=> Non-Secure state -// Interrupt 81 <0=> Secure state <1=> Non-Secure state -// Interrupt 82 <0=> Secure state <1=> Non-Secure state -// Interrupt 83 <0=> Secure state <1=> Non-Secure state -// Interrupt 84 <0=> Secure state <1=> Non-Secure state -// Interrupt 85 <0=> Secure state <1=> Non-Secure state -// Interrupt 86 <0=> Secure state <1=> Non-Secure state -// Interrupt 87 <0=> Secure state <1=> Non-Secure state -// Interrupt 88 <0=> Secure state <1=> Non-Secure state -// Interrupt 89 <0=> Secure state <1=> Non-Secure state -// Interrupt 90 <0=> Secure state <1=> Non-Secure state -// Interrupt 91 <0=> Secure state <1=> Non-Secure state -// Interrupt 92 <0=> Secure state <1=> Non-Secure state -// Interrupt 93 <0=> Secure state <1=> Non-Secure state -// Interrupt 94 <0=> Secure state <1=> Non-Secure state -// Interrupt 95 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS2_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 3 (Interrupts 96..127) -*/ -#define NVIC_INIT_ITNS3 0 - -/* -// Interrupts 96..127 -// Interrupt 96 <0=> Secure state <1=> Non-Secure state -// Interrupt 97 <0=> Secure state <1=> Non-Secure state -// Interrupt 98 <0=> Secure state <1=> Non-Secure state -// Interrupt 99 <0=> Secure state <1=> Non-Secure state -// Interrupt 100 <0=> Secure state <1=> Non-Secure state -// Interrupt 101 <0=> Secure state <1=> Non-Secure state -// Interrupt 102 <0=> Secure state <1=> Non-Secure state -// Interrupt 103 <0=> Secure state <1=> Non-Secure state -// Interrupt 104 <0=> Secure state <1=> Non-Secure state -// Interrupt 105 <0=> Secure state <1=> Non-Secure state -// Interrupt 106 <0=> Secure state <1=> Non-Secure state -// Interrupt 107 <0=> Secure state <1=> Non-Secure state -// Interrupt 108 <0=> Secure state <1=> Non-Secure state -// Interrupt 109 <0=> Secure state <1=> Non-Secure state -// Interrupt 110 <0=> Secure state <1=> Non-Secure state -// Interrupt 111 <0=> Secure state <1=> Non-Secure state -// Interrupt 112 <0=> Secure state <1=> Non-Secure state -// Interrupt 113 <0=> Secure state <1=> Non-Secure state -// Interrupt 114 <0=> Secure state <1=> Non-Secure state -// Interrupt 115 <0=> Secure state <1=> Non-Secure state -// Interrupt 116 <0=> Secure state <1=> Non-Secure state -// Interrupt 117 <0=> Secure state <1=> Non-Secure state -// Interrupt 118 <0=> Secure state <1=> Non-Secure state -// Interrupt 119 <0=> Secure state <1=> Non-Secure state -// Interrupt 120 <0=> Secure state <1=> Non-Secure state -// Interrupt 121 <0=> Secure state <1=> Non-Secure state -// Interrupt 122 <0=> Secure state <1=> Non-Secure state -// Interrupt 123 <0=> Secure state <1=> Non-Secure state -// Interrupt 124 <0=> Secure state <1=> Non-Secure state -// Interrupt 125 <0=> Secure state <1=> Non-Secure state -// Interrupt 126 <0=> Secure state <1=> Non-Secure state -// Interrupt 127 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS3_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 4 (Interrupts 128..159) -*/ -#define NVIC_INIT_ITNS4 0 - -/* -// Interrupts 128..159 -// Interrupt 128 <0=> Secure state <1=> Non-Secure state -// Interrupt 129 <0=> Secure state <1=> Non-Secure state -// Interrupt 130 <0=> Secure state <1=> Non-Secure state -// Interrupt 131 <0=> Secure state <1=> Non-Secure state -// Interrupt 132 <0=> Secure state <1=> Non-Secure state -// Interrupt 133 <0=> Secure state <1=> Non-Secure state -// Interrupt 134 <0=> Secure state <1=> Non-Secure state -// Interrupt 135 <0=> Secure state <1=> Non-Secure state -// Interrupt 136 <0=> Secure state <1=> Non-Secure state -// Interrupt 137 <0=> Secure state <1=> Non-Secure state -// Interrupt 138 <0=> Secure state <1=> Non-Secure state -// Interrupt 139 <0=> Secure state <1=> Non-Secure state -// Interrupt 140 <0=> Secure state <1=> Non-Secure state -// Interrupt 141 <0=> Secure state <1=> Non-Secure state -// Interrupt 142 <0=> Secure state <1=> Non-Secure state -// Interrupt 143 <0=> Secure state <1=> Non-Secure state -// Interrupt 144 <0=> Secure state <1=> Non-Secure state -// Interrupt 145 <0=> Secure state <1=> Non-Secure state -// Interrupt 146 <0=> Secure state <1=> Non-Secure state -// Interrupt 147 <0=> Secure state <1=> Non-Secure state -// Interrupt 148 <0=> Secure state <1=> Non-Secure state -// Interrupt 149 <0=> Secure state <1=> Non-Secure state -// Interrupt 150 <0=> Secure state <1=> Non-Secure state -// Interrupt 151 <0=> Secure state <1=> Non-Secure state -// Interrupt 152 <0=> Secure state <1=> Non-Secure state -// Interrupt 153 <0=> Secure state <1=> Non-Secure state -// Interrupt 154 <0=> Secure state <1=> Non-Secure state -// Interrupt 155 <0=> Secure state <1=> Non-Secure state -// Interrupt 156 <0=> Secure state <1=> Non-Secure state -// Interrupt 157 <0=> Secure state <1=> Non-Secure state -// Interrupt 158 <0=> Secure state <1=> Non-Secure state -// Interrupt 159 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS4_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 5 (Interrupts 160..191) -*/ -#define NVIC_INIT_ITNS5 0 - -/* -// Interrupts 160..191 -// Interrupt 160 <0=> Secure state <1=> Non-Secure state -// Interrupt 161 <0=> Secure state <1=> Non-Secure state -// Interrupt 162 <0=> Secure state <1=> Non-Secure state -// Interrupt 163 <0=> Secure state <1=> Non-Secure state -// Interrupt 164 <0=> Secure state <1=> Non-Secure state -// Interrupt 165 <0=> Secure state <1=> Non-Secure state -// Interrupt 166 <0=> Secure state <1=> Non-Secure state -// Interrupt 167 <0=> Secure state <1=> Non-Secure state -// Interrupt 168 <0=> Secure state <1=> Non-Secure state -// Interrupt 169 <0=> Secure state <1=> Non-Secure state -// Interrupt 170 <0=> Secure state <1=> Non-Secure state -// Interrupt 171 <0=> Secure state <1=> Non-Secure state -// Interrupt 172 <0=> Secure state <1=> Non-Secure state -// Interrupt 173 <0=> Secure state <1=> Non-Secure state -// Interrupt 174 <0=> Secure state <1=> Non-Secure state -// Interrupt 175 <0=> Secure state <1=> Non-Secure state -// Interrupt 176 <0=> Secure state <1=> Non-Secure state -// Interrupt 177 <0=> Secure state <1=> Non-Secure state -// Interrupt 178 <0=> Secure state <1=> Non-Secure state -// Interrupt 179 <0=> Secure state <1=> Non-Secure state -// Interrupt 180 <0=> Secure state <1=> Non-Secure state -// Interrupt 181 <0=> Secure state <1=> Non-Secure state -// Interrupt 182 <0=> Secure state <1=> Non-Secure state -// Interrupt 183 <0=> Secure state <1=> Non-Secure state -// Interrupt 184 <0=> Secure state <1=> Non-Secure state -// Interrupt 185 <0=> Secure state <1=> Non-Secure state -// Interrupt 186 <0=> Secure state <1=> Non-Secure state -// Interrupt 187 <0=> Secure state <1=> Non-Secure state -// Interrupt 188 <0=> Secure state <1=> Non-Secure state -// Interrupt 189 <0=> Secure state <1=> Non-Secure state -// Interrupt 190 <0=> Secure state <1=> Non-Secure state -// Interrupt 191 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS5_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 6 (Interrupts 192..223) -*/ -#define NVIC_INIT_ITNS6 0 - -/* -// Interrupts 192..223 -// Interrupt 192 <0=> Secure state <1=> Non-Secure state -// Interrupt 193 <0=> Secure state <1=> Non-Secure state -// Interrupt 194 <0=> Secure state <1=> Non-Secure state -// Interrupt 195 <0=> Secure state <1=> Non-Secure state -// Interrupt 196 <0=> Secure state <1=> Non-Secure state -// Interrupt 197 <0=> Secure state <1=> Non-Secure state -// Interrupt 198 <0=> Secure state <1=> Non-Secure state -// Interrupt 199 <0=> Secure state <1=> Non-Secure state -// Interrupt 200 <0=> Secure state <1=> Non-Secure state -// Interrupt 201 <0=> Secure state <1=> Non-Secure state -// Interrupt 202 <0=> Secure state <1=> Non-Secure state -// Interrupt 203 <0=> Secure state <1=> Non-Secure state -// Interrupt 204 <0=> Secure state <1=> Non-Secure state -// Interrupt 205 <0=> Secure state <1=> Non-Secure state -// Interrupt 206 <0=> Secure state <1=> Non-Secure state -// Interrupt 207 <0=> Secure state <1=> Non-Secure state -// Interrupt 208 <0=> Secure state <1=> Non-Secure state -// Interrupt 209 <0=> Secure state <1=> Non-Secure state -// Interrupt 210 <0=> Secure state <1=> Non-Secure state -// Interrupt 211 <0=> Secure state <1=> Non-Secure state -// Interrupt 212 <0=> Secure state <1=> Non-Secure state -// Interrupt 213 <0=> Secure state <1=> Non-Secure state -// Interrupt 214 <0=> Secure state <1=> Non-Secure state -// Interrupt 215 <0=> Secure state <1=> Non-Secure state -// Interrupt 216 <0=> Secure state <1=> Non-Secure state -// Interrupt 217 <0=> Secure state <1=> Non-Secure state -// Interrupt 218 <0=> Secure state <1=> Non-Secure state -// Interrupt 219 <0=> Secure state <1=> Non-Secure state -// Interrupt 220 <0=> Secure state <1=> Non-Secure state -// Interrupt 221 <0=> Secure state <1=> Non-Secure state -// Interrupt 222 <0=> Secure state <1=> Non-Secure state -// Interrupt 223 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS6_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 7 (Interrupts 224..255) -*/ -#define NVIC_INIT_ITNS7 0 - -/* -// Interrupts 224..255 -// Interrupt 224 <0=> Secure state <1=> Non-Secure state -// Interrupt 225 <0=> Secure state <1=> Non-Secure state -// Interrupt 226 <0=> Secure state <1=> Non-Secure state -// Interrupt 227 <0=> Secure state <1=> Non-Secure state -// Interrupt 228 <0=> Secure state <1=> Non-Secure state -// Interrupt 229 <0=> Secure state <1=> Non-Secure state -// Interrupt 230 <0=> Secure state <1=> Non-Secure state -// Interrupt 231 <0=> Secure state <1=> Non-Secure state -// Interrupt 232 <0=> Secure state <1=> Non-Secure state -// Interrupt 233 <0=> Secure state <1=> Non-Secure state -// Interrupt 234 <0=> Secure state <1=> Non-Secure state -// Interrupt 235 <0=> Secure state <1=> Non-Secure state -// Interrupt 236 <0=> Secure state <1=> Non-Secure state -// Interrupt 237 <0=> Secure state <1=> Non-Secure state -// Interrupt 238 <0=> Secure state <1=> Non-Secure state -// Interrupt 239 <0=> Secure state <1=> Non-Secure state -// Interrupt 240 <0=> Secure state <1=> Non-Secure state -// Interrupt 241 <0=> Secure state <1=> Non-Secure state -// Interrupt 242 <0=> Secure state <1=> Non-Secure state -// Interrupt 243 <0=> Secure state <1=> Non-Secure state -// Interrupt 244 <0=> Secure state <1=> Non-Secure state -// Interrupt 245 <0=> Secure state <1=> Non-Secure state -// Interrupt 246 <0=> Secure state <1=> Non-Secure state -// Interrupt 247 <0=> Secure state <1=> Non-Secure state -// Interrupt 248 <0=> Secure state <1=> Non-Secure state -// Interrupt 249 <0=> Secure state <1=> Non-Secure state -// Interrupt 250 <0=> Secure state <1=> Non-Secure state -// Interrupt 251 <0=> Secure state <1=> Non-Secure state -// Interrupt 252 <0=> Secure state <1=> Non-Secure state -// Interrupt 253 <0=> Secure state <1=> Non-Secure state -// Interrupt 254 <0=> Secure state <1=> Non-Secure state -// Interrupt 255 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS7_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 8 (Interrupts 256..287) -*/ -#define NVIC_INIT_ITNS8 0 - -/* -// Interrupts 256..287 -// Interrupt 256 <0=> Secure state <1=> Non-Secure state -// Interrupt 257 <0=> Secure state <1=> Non-Secure state -// Interrupt 258 <0=> Secure state <1=> Non-Secure state -// Interrupt 259 <0=> Secure state <1=> Non-Secure state -// Interrupt 260 <0=> Secure state <1=> Non-Secure state -// Interrupt 261 <0=> Secure state <1=> Non-Secure state -// Interrupt 262 <0=> Secure state <1=> Non-Secure state -// Interrupt 263 <0=> Secure state <1=> Non-Secure state -// Interrupt 264 <0=> Secure state <1=> Non-Secure state -// Interrupt 265 <0=> Secure state <1=> Non-Secure state -// Interrupt 266 <0=> Secure state <1=> Non-Secure state -// Interrupt 267 <0=> Secure state <1=> Non-Secure state -// Interrupt 268 <0=> Secure state <1=> Non-Secure state -// Interrupt 269 <0=> Secure state <1=> Non-Secure state -// Interrupt 270 <0=> Secure state <1=> Non-Secure state -// Interrupt 271 <0=> Secure state <1=> Non-Secure state -// Interrupt 272 <0=> Secure state <1=> Non-Secure state -// Interrupt 273 <0=> Secure state <1=> Non-Secure state -// Interrupt 274 <0=> Secure state <1=> Non-Secure state -// Interrupt 275 <0=> Secure state <1=> Non-Secure state -// Interrupt 276 <0=> Secure state <1=> Non-Secure state -// Interrupt 277 <0=> Secure state <1=> Non-Secure state -// Interrupt 278 <0=> Secure state <1=> Non-Secure state -// Interrupt 279 <0=> Secure state <1=> Non-Secure state -// Interrupt 280 <0=> Secure state <1=> Non-Secure state -// Interrupt 281 <0=> Secure state <1=> Non-Secure state -// Interrupt 282 <0=> Secure state <1=> Non-Secure state -// Interrupt 283 <0=> Secure state <1=> Non-Secure state -// Interrupt 284 <0=> Secure state <1=> Non-Secure state -// Interrupt 285 <0=> Secure state <1=> Non-Secure state -// Interrupt 286 <0=> Secure state <1=> Non-Secure state -// Interrupt 287 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS8_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 9 (Interrupts 288..319) -*/ -#define NVIC_INIT_ITNS9 0 - -/* -// Interrupts 288..319 -// Interrupt 288 <0=> Secure state <1=> Non-Secure state -// Interrupt 289 <0=> Secure state <1=> Non-Secure state -// Interrupt 290 <0=> Secure state <1=> Non-Secure state -// Interrupt 291 <0=> Secure state <1=> Non-Secure state -// Interrupt 292 <0=> Secure state <1=> Non-Secure state -// Interrupt 293 <0=> Secure state <1=> Non-Secure state -// Interrupt 294 <0=> Secure state <1=> Non-Secure state -// Interrupt 295 <0=> Secure state <1=> Non-Secure state -// Interrupt 296 <0=> Secure state <1=> Non-Secure state -// Interrupt 297 <0=> Secure state <1=> Non-Secure state -// Interrupt 298 <0=> Secure state <1=> Non-Secure state -// Interrupt 299 <0=> Secure state <1=> Non-Secure state -// Interrupt 300 <0=> Secure state <1=> Non-Secure state -// Interrupt 301 <0=> Secure state <1=> Non-Secure state -// Interrupt 302 <0=> Secure state <1=> Non-Secure state -// Interrupt 303 <0=> Secure state <1=> Non-Secure state -// Interrupt 304 <0=> Secure state <1=> Non-Secure state -// Interrupt 305 <0=> Secure state <1=> Non-Secure state -// Interrupt 306 <0=> Secure state <1=> Non-Secure state -// Interrupt 307 <0=> Secure state <1=> Non-Secure state -// Interrupt 308 <0=> Secure state <1=> Non-Secure state -// Interrupt 309 <0=> Secure state <1=> Non-Secure state -// Interrupt 310 <0=> Secure state <1=> Non-Secure state -// Interrupt 311 <0=> Secure state <1=> Non-Secure state -// Interrupt 312 <0=> Secure state <1=> Non-Secure state -// Interrupt 313 <0=> Secure state <1=> Non-Secure state -// Interrupt 314 <0=> Secure state <1=> Non-Secure state -// Interrupt 315 <0=> Secure state <1=> Non-Secure state -// Interrupt 316 <0=> Secure state <1=> Non-Secure state -// Interrupt 317 <0=> Secure state <1=> Non-Secure state -// Interrupt 318 <0=> Secure state <1=> Non-Secure state -// Interrupt 319 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS9_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 10 (Interrupts 320..351) -*/ -#define NVIC_INIT_ITNS10 0 - -/* -// Interrupts 320..351 -// Interrupt 320 <0=> Secure state <1=> Non-Secure state -// Interrupt 321 <0=> Secure state <1=> Non-Secure state -// Interrupt 322 <0=> Secure state <1=> Non-Secure state -// Interrupt 323 <0=> Secure state <1=> Non-Secure state -// Interrupt 324 <0=> Secure state <1=> Non-Secure state -// Interrupt 325 <0=> Secure state <1=> Non-Secure state -// Interrupt 326 <0=> Secure state <1=> Non-Secure state -// Interrupt 327 <0=> Secure state <1=> Non-Secure state -// Interrupt 328 <0=> Secure state <1=> Non-Secure state -// Interrupt 329 <0=> Secure state <1=> Non-Secure state -// Interrupt 330 <0=> Secure state <1=> Non-Secure state -// Interrupt 331 <0=> Secure state <1=> Non-Secure state -// Interrupt 332 <0=> Secure state <1=> Non-Secure state -// Interrupt 333 <0=> Secure state <1=> Non-Secure state -// Interrupt 334 <0=> Secure state <1=> Non-Secure state -// Interrupt 335 <0=> Secure state <1=> Non-Secure state -// Interrupt 336 <0=> Secure state <1=> Non-Secure state -// Interrupt 337 <0=> Secure state <1=> Non-Secure state -// Interrupt 338 <0=> Secure state <1=> Non-Secure state -// Interrupt 339 <0=> Secure state <1=> Non-Secure state -// Interrupt 340 <0=> Secure state <1=> Non-Secure state -// Interrupt 341 <0=> Secure state <1=> Non-Secure state -// Interrupt 342 <0=> Secure state <1=> Non-Secure state -// Interrupt 343 <0=> Secure state <1=> Non-Secure state -// Interrupt 344 <0=> Secure state <1=> Non-Secure state -// Interrupt 345 <0=> Secure state <1=> Non-Secure state -// Interrupt 346 <0=> Secure state <1=> Non-Secure state -// Interrupt 347 <0=> Secure state <1=> Non-Secure state -// Interrupt 348 <0=> Secure state <1=> Non-Secure state -// Interrupt 349 <0=> Secure state <1=> Non-Secure state -// Interrupt 350 <0=> Secure state <1=> Non-Secure state -// Interrupt 351 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS10_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 11 (Interrupts 352..383) -*/ -#define NVIC_INIT_ITNS11 0 - -/* -// Interrupts 352..383 -// Interrupt 352 <0=> Secure state <1=> Non-Secure state -// Interrupt 353 <0=> Secure state <1=> Non-Secure state -// Interrupt 354 <0=> Secure state <1=> Non-Secure state -// Interrupt 355 <0=> Secure state <1=> Non-Secure state -// Interrupt 356 <0=> Secure state <1=> Non-Secure state -// Interrupt 357 <0=> Secure state <1=> Non-Secure state -// Interrupt 358 <0=> Secure state <1=> Non-Secure state -// Interrupt 359 <0=> Secure state <1=> Non-Secure state -// Interrupt 360 <0=> Secure state <1=> Non-Secure state -// Interrupt 361 <0=> Secure state <1=> Non-Secure state -// Interrupt 362 <0=> Secure state <1=> Non-Secure state -// Interrupt 363 <0=> Secure state <1=> Non-Secure state -// Interrupt 364 <0=> Secure state <1=> Non-Secure state -// Interrupt 365 <0=> Secure state <1=> Non-Secure state -// Interrupt 366 <0=> Secure state <1=> Non-Secure state -// Interrupt 367 <0=> Secure state <1=> Non-Secure state -// Interrupt 368 <0=> Secure state <1=> Non-Secure state -// Interrupt 369 <0=> Secure state <1=> Non-Secure state -// Interrupt 370 <0=> Secure state <1=> Non-Secure state -// Interrupt 371 <0=> Secure state <1=> Non-Secure state -// Interrupt 372 <0=> Secure state <1=> Non-Secure state -// Interrupt 373 <0=> Secure state <1=> Non-Secure state -// Interrupt 374 <0=> Secure state <1=> Non-Secure state -// Interrupt 375 <0=> Secure state <1=> Non-Secure state -// Interrupt 376 <0=> Secure state <1=> Non-Secure state -// Interrupt 377 <0=> Secure state <1=> Non-Secure state -// Interrupt 378 <0=> Secure state <1=> Non-Secure state -// Interrupt 379 <0=> Secure state <1=> Non-Secure state -// Interrupt 380 <0=> Secure state <1=> Non-Secure state -// Interrupt 381 <0=> Secure state <1=> Non-Secure state -// Interrupt 382 <0=> Secure state <1=> Non-Secure state -// Interrupt 383 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS11_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 12 (Interrupts 384..415) -*/ -#define NVIC_INIT_ITNS12 0 - -/* -// Interrupts 384..415 -// Interrupt 384 <0=> Secure state <1=> Non-Secure state -// Interrupt 385 <0=> Secure state <1=> Non-Secure state -// Interrupt 386 <0=> Secure state <1=> Non-Secure state -// Interrupt 387 <0=> Secure state <1=> Non-Secure state -// Interrupt 388 <0=> Secure state <1=> Non-Secure state -// Interrupt 389 <0=> Secure state <1=> Non-Secure state -// Interrupt 390 <0=> Secure state <1=> Non-Secure state -// Interrupt 391 <0=> Secure state <1=> Non-Secure state -// Interrupt 392 <0=> Secure state <1=> Non-Secure state -// Interrupt 393 <0=> Secure state <1=> Non-Secure state -// Interrupt 394 <0=> Secure state <1=> Non-Secure state -// Interrupt 395 <0=> Secure state <1=> Non-Secure state -// Interrupt 396 <0=> Secure state <1=> Non-Secure state -// Interrupt 397 <0=> Secure state <1=> Non-Secure state -// Interrupt 398 <0=> Secure state <1=> Non-Secure state -// Interrupt 399 <0=> Secure state <1=> Non-Secure state -// Interrupt 400 <0=> Secure state <1=> Non-Secure state -// Interrupt 401 <0=> Secure state <1=> Non-Secure state -// Interrupt 402 <0=> Secure state <1=> Non-Secure state -// Interrupt 403 <0=> Secure state <1=> Non-Secure state -// Interrupt 404 <0=> Secure state <1=> Non-Secure state -// Interrupt 405 <0=> Secure state <1=> Non-Secure state -// Interrupt 406 <0=> Secure state <1=> Non-Secure state -// Interrupt 407 <0=> Secure state <1=> Non-Secure state -// Interrupt 408 <0=> Secure state <1=> Non-Secure state -// Interrupt 409 <0=> Secure state <1=> Non-Secure state -// Interrupt 410 <0=> Secure state <1=> Non-Secure state -// Interrupt 411 <0=> Secure state <1=> Non-Secure state -// Interrupt 412 <0=> Secure state <1=> Non-Secure state -// Interrupt 413 <0=> Secure state <1=> Non-Secure state -// Interrupt 414 <0=> Secure state <1=> Non-Secure state -// Interrupt 415 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS12_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 13 (Interrupts 416..447) -*/ -#define NVIC_INIT_ITNS13 0 - -/* -// Interrupts 416..447 -// Interrupt 416 <0=> Secure state <1=> Non-Secure state -// Interrupt 417 <0=> Secure state <1=> Non-Secure state -// Interrupt 418 <0=> Secure state <1=> Non-Secure state -// Interrupt 419 <0=> Secure state <1=> Non-Secure state -// Interrupt 420 <0=> Secure state <1=> Non-Secure state -// Interrupt 421 <0=> Secure state <1=> Non-Secure state -// Interrupt 422 <0=> Secure state <1=> Non-Secure state -// Interrupt 423 <0=> Secure state <1=> Non-Secure state -// Interrupt 424 <0=> Secure state <1=> Non-Secure state -// Interrupt 425 <0=> Secure state <1=> Non-Secure state -// Interrupt 426 <0=> Secure state <1=> Non-Secure state -// Interrupt 427 <0=> Secure state <1=> Non-Secure state -// Interrupt 428 <0=> Secure state <1=> Non-Secure state -// Interrupt 429 <0=> Secure state <1=> Non-Secure state -// Interrupt 430 <0=> Secure state <1=> Non-Secure state -// Interrupt 431 <0=> Secure state <1=> Non-Secure state -// Interrupt 432 <0=> Secure state <1=> Non-Secure state -// Interrupt 433 <0=> Secure state <1=> Non-Secure state -// Interrupt 434 <0=> Secure state <1=> Non-Secure state -// Interrupt 435 <0=> Secure state <1=> Non-Secure state -// Interrupt 436 <0=> Secure state <1=> Non-Secure state -// Interrupt 437 <0=> Secure state <1=> Non-Secure state -// Interrupt 438 <0=> Secure state <1=> Non-Secure state -// Interrupt 439 <0=> Secure state <1=> Non-Secure state -// Interrupt 440 <0=> Secure state <1=> Non-Secure state -// Interrupt 441 <0=> Secure state <1=> Non-Secure state -// Interrupt 442 <0=> Secure state <1=> Non-Secure state -// Interrupt 443 <0=> Secure state <1=> Non-Secure state -// Interrupt 444 <0=> Secure state <1=> Non-Secure state -// Interrupt 445 <0=> Secure state <1=> Non-Secure state -// Interrupt 446 <0=> Secure state <1=> Non-Secure state -// Interrupt 447 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS13_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 14 (Interrupts 448..479) -*/ -#define NVIC_INIT_ITNS14 0 - -/* -// Interrupts 448..479 -// Interrupt 448 <0=> Secure state <1=> Non-Secure state -// Interrupt 449 <0=> Secure state <1=> Non-Secure state -// Interrupt 450 <0=> Secure state <1=> Non-Secure state -// Interrupt 451 <0=> Secure state <1=> Non-Secure state -// Interrupt 452 <0=> Secure state <1=> Non-Secure state -// Interrupt 453 <0=> Secure state <1=> Non-Secure state -// Interrupt 454 <0=> Secure state <1=> Non-Secure state -// Interrupt 455 <0=> Secure state <1=> Non-Secure state -// Interrupt 456 <0=> Secure state <1=> Non-Secure state -// Interrupt 457 <0=> Secure state <1=> Non-Secure state -// Interrupt 458 <0=> Secure state <1=> Non-Secure state -// Interrupt 459 <0=> Secure state <1=> Non-Secure state -// Interrupt 460 <0=> Secure state <1=> Non-Secure state -// Interrupt 461 <0=> Secure state <1=> Non-Secure state -// Interrupt 462 <0=> Secure state <1=> Non-Secure state -// Interrupt 463 <0=> Secure state <1=> Non-Secure state -// Interrupt 464 <0=> Secure state <1=> Non-Secure state -// Interrupt 465 <0=> Secure state <1=> Non-Secure state -// Interrupt 466 <0=> Secure state <1=> Non-Secure state -// Interrupt 467 <0=> Secure state <1=> Non-Secure state -// Interrupt 468 <0=> Secure state <1=> Non-Secure state -// Interrupt 469 <0=> Secure state <1=> Non-Secure state -// Interrupt 470 <0=> Secure state <1=> Non-Secure state -// Interrupt 471 <0=> Secure state <1=> Non-Secure state -// Interrupt 472 <0=> Secure state <1=> Non-Secure state -// Interrupt 473 <0=> Secure state <1=> Non-Secure state -// Interrupt 474 <0=> Secure state <1=> Non-Secure state -// Interrupt 475 <0=> Secure state <1=> Non-Secure state -// Interrupt 476 <0=> Secure state <1=> Non-Secure state -// Interrupt 477 <0=> Secure state <1=> Non-Secure state -// Interrupt 478 <0=> Secure state <1=> Non-Secure state -// Interrupt 479 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS14_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 15 (Interrupts 480..511) -*/ -#define NVIC_INIT_ITNS15 0 - -/* -// Interrupts 480..511 -// Interrupt 480 <0=> Secure state <1=> Non-Secure state -// Interrupt 481 <0=> Secure state <1=> Non-Secure state -// Interrupt 482 <0=> Secure state <1=> Non-Secure state -// Interrupt 483 <0=> Secure state <1=> Non-Secure state -// Interrupt 484 <0=> Secure state <1=> Non-Secure state -// Interrupt 485 <0=> Secure state <1=> Non-Secure state -// Interrupt 486 <0=> Secure state <1=> Non-Secure state -// Interrupt 487 <0=> Secure state <1=> Non-Secure state -// Interrupt 488 <0=> Secure state <1=> Non-Secure state -// Interrupt 489 <0=> Secure state <1=> Non-Secure state -// Interrupt 490 <0=> Secure state <1=> Non-Secure state -// Interrupt 491 <0=> Secure state <1=> Non-Secure state -// Interrupt 492 <0=> Secure state <1=> Non-Secure state -// Interrupt 493 <0=> Secure state <1=> Non-Secure state -// Interrupt 494 <0=> Secure state <1=> Non-Secure state -// Interrupt 495 <0=> Secure state <1=> Non-Secure state -// Interrupt 496 <0=> Secure state <1=> Non-Secure state -// Interrupt 497 <0=> Secure state <1=> Non-Secure state -// Interrupt 498 <0=> Secure state <1=> Non-Secure state -// Interrupt 499 <0=> Secure state <1=> Non-Secure state -// Interrupt 500 <0=> Secure state <1=> Non-Secure state -// Interrupt 501 <0=> Secure state <1=> Non-Secure state -// Interrupt 502 <0=> Secure state <1=> Non-Secure state -// Interrupt 503 <0=> Secure state <1=> Non-Secure state -// Interrupt 504 <0=> Secure state <1=> Non-Secure state -// Interrupt 505 <0=> Secure state <1=> Non-Secure state -// Interrupt 506 <0=> Secure state <1=> Non-Secure state -// Interrupt 507 <0=> Secure state <1=> Non-Secure state -// Interrupt 508 <0=> Secure state <1=> Non-Secure state -// Interrupt 509 <0=> Secure state <1=> Non-Secure state -// Interrupt 510 <0=> Secure state <1=> Non-Secure state -// Interrupt 511 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS15_VAL 0x00000000 - -/* -// -*/ - -/* -// -*/ - - - -/* - max 128 SAU regions. - SAU regions are defined in partition.h - */ - -#define SAU_INIT_REGION(n) \ - SAU->RNR = (n & SAU_RNR_REGION_Msk); \ - SAU->RBAR = (SAU_INIT_START##n & SAU_RBAR_BADDR_Msk); \ - SAU->RLAR = (SAU_INIT_END##n & SAU_RLAR_LADDR_Msk) | \ - ((SAU_INIT_NSC##n << SAU_RLAR_NSC_Pos) & SAU_RLAR_NSC_Msk) | 1U - -/** - \brief Setup a SAU Region - \details Writes the region information contained in SAU_Region to the - registers SAU_RNR, SAU_RBAR, and SAU_RLAR - */ -__STATIC_INLINE void TZ_SAU_Setup (void) -{ - -#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) - - #if defined (SAU_INIT_REGION0) && (SAU_INIT_REGION0 == 1U) - SAU_INIT_REGION(0); - #endif - - #if defined (SAU_INIT_REGION1) && (SAU_INIT_REGION1 == 1U) - SAU_INIT_REGION(1); - #endif - - #if defined (SAU_INIT_REGION2) && (SAU_INIT_REGION2 == 1U) - SAU_INIT_REGION(2); - #endif - - #if defined (SAU_INIT_REGION3) && (SAU_INIT_REGION3 == 1U) - SAU_INIT_REGION(3); - #endif - - #if defined (SAU_INIT_REGION4) && (SAU_INIT_REGION4 == 1U) - SAU_INIT_REGION(4); - #endif - - #if defined (SAU_INIT_REGION5) && (SAU_INIT_REGION5 == 1U) - SAU_INIT_REGION(5); - #endif - - #if defined (SAU_INIT_REGION6) && (SAU_INIT_REGION6 == 1U) - SAU_INIT_REGION(6); - #endif - - #if defined (SAU_INIT_REGION7) && (SAU_INIT_REGION7 == 1U) - SAU_INIT_REGION(7); - #endif - - /* repeat this for all possible SAU regions */ - -#endif /* defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) */ - - - #if defined (SAU_INIT_CTRL) && (SAU_INIT_CTRL == 1U) - SAU->CTRL = ((SAU_INIT_CTRL_ENABLE << SAU_CTRL_ENABLE_Pos) & SAU_CTRL_ENABLE_Msk) | - ((SAU_INIT_CTRL_ALLNS << SAU_CTRL_ALLNS_Pos) & SAU_CTRL_ALLNS_Msk) ; - #endif - - #if defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) - SCB->SCR = (SCB->SCR & ~(SCB_SCR_SLEEPDEEPS_Msk )) | - ((SCB_CSR_DEEPSLEEPS_VAL << SCB_SCR_SLEEPDEEPS_Pos) & SCB_SCR_SLEEPDEEPS_Msk); - - SCB->AIRCR = (SCB->AIRCR & ~(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_SYSRESETREQS_Msk | - SCB_AIRCR_BFHFNMINS_Msk | SCB_AIRCR_PRIS_Msk )) | - ((0x05FAU << SCB_AIRCR_VECTKEY_Pos) & SCB_AIRCR_VECTKEY_Msk) | - ((SCB_AIRCR_SYSRESETREQS_VAL << SCB_AIRCR_SYSRESETREQS_Pos) & SCB_AIRCR_SYSRESETREQS_Msk) | - ((SCB_AIRCR_PRIS_VAL << SCB_AIRCR_PRIS_Pos) & SCB_AIRCR_PRIS_Msk) | - ((SCB_AIRCR_BFHFNMINS_VAL << SCB_AIRCR_BFHFNMINS_Pos) & SCB_AIRCR_BFHFNMINS_Msk); - #endif /* defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) */ - - #if (((defined (__FPU_USED) && (__FPU_USED == 1U)) || \ - (defined (__ARM_FEATURE_MVE) && (__ARM_FEATURE_MVE > 0))) && \ - (defined (TZ_FPU_NS_USAGE) && (TZ_FPU_NS_USAGE == 1U))) - - SCB->NSACR = (SCB->NSACR & ~(SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)) | - ((SCB_NSACR_CP10_11_VAL << SCB_NSACR_CP10_Pos) & (SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)); - - FPU->FPCCR = (FPU->FPCCR & ~(FPU_FPCCR_TS_Msk | FPU_FPCCR_CLRONRETS_Msk | FPU_FPCCR_CLRONRET_Msk)) | - ((FPU_FPCCR_TS_VAL << FPU_FPCCR_TS_Pos ) & FPU_FPCCR_TS_Msk ) | - ((FPU_FPCCR_CLRONRETS_VAL << FPU_FPCCR_CLRONRETS_Pos) & FPU_FPCCR_CLRONRETS_Msk) | - ((FPU_FPCCR_CLRONRET_VAL << FPU_FPCCR_CLRONRET_Pos ) & FPU_FPCCR_CLRONRET_Msk ); - #endif - - #if defined (NVIC_INIT_ITNS0) && (NVIC_INIT_ITNS0 == 1U) - NVIC->ITNS[0] = NVIC_INIT_ITNS0_VAL; - #endif - - #if defined (NVIC_INIT_ITNS1) && (NVIC_INIT_ITNS1 == 1U) - NVIC->ITNS[1] = NVIC_INIT_ITNS1_VAL; - #endif - - #if defined (NVIC_INIT_ITNS2) && (NVIC_INIT_ITNS2 == 1U) - NVIC->ITNS[2] = NVIC_INIT_ITNS2_VAL; - #endif - - #if defined (NVIC_INIT_ITNS3) && (NVIC_INIT_ITNS3 == 1U) - NVIC->ITNS[3] = NVIC_INIT_ITNS3_VAL; - #endif - - #if defined (NVIC_INIT_ITNS4) && (NVIC_INIT_ITNS4 == 1U) - NVIC->ITNS[4] = NVIC_INIT_ITNS4_VAL; - #endif - - #if defined (NVIC_INIT_ITNS5) && (NVIC_INIT_ITNS5 == 1U) - NVIC->ITNS[5] = NVIC_INIT_ITNS5_VAL; - #endif - - #if defined (NVIC_INIT_ITNS6) && (NVIC_INIT_ITNS6 == 1U) - NVIC->ITNS[6] = NVIC_INIT_ITNS6_VAL; - #endif - - #if defined (NVIC_INIT_ITNS7) && (NVIC_INIT_ITNS7 == 1U) - NVIC->ITNS[7] = NVIC_INIT_ITNS7_VAL; - #endif - - #if defined (NVIC_INIT_ITNS8) && (NVIC_INIT_ITNS8 == 1U) - NVIC->ITNS[8] = NVIC_INIT_ITNS8_VAL; - #endif - - #if defined (NVIC_INIT_ITNS9) && (NVIC_INIT_ITNS9 == 1U) - NVIC->ITNS[9] = NVIC_INIT_ITNS9_VAL; - #endif - - #if defined (NVIC_INIT_ITNS10) && (NVIC_INIT_ITNS10 == 1U) - NVIC->ITNS[10] = NVIC_INIT_ITNS10_VAL; - #endif - - #if defined (NVIC_INIT_ITNS11) && (NVIC_INIT_ITNS11 == 1U) - NVIC->ITNS[11] = NVIC_INIT_ITNS11_VAL; - #endif - - #if defined (NVIC_INIT_ITNS12) && (NVIC_INIT_ITNS12 == 1U) - NVIC->ITNS[12] = NVIC_INIT_ITNS12_VAL; - #endif - - #if defined (NVIC_INIT_ITNS13) && (NVIC_INIT_ITNS13 == 1U) - NVIC->ITNS[13] = NVIC_INIT_ITNS13_VAL; - #endif - - #if defined (NVIC_INIT_ITNS14) && (NVIC_INIT_ITNS14 == 1U) - NVIC->ITNS[14] = NVIC_INIT_ITNS14_VAL; - #endif - - #if defined (NVIC_INIT_ITNS15) && (NVIC_INIT_ITNS15 == 1U) - NVIC->ITNS[15] = NVIC_INIT_ITNS15_VAL; - #endif - - /* repeat this for all possible ITNS elements */ - -} - -#endif /* PARTITION_ARMCM85_H */ diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/startup_ARMCM85.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/startup_ARMCM85.c deleted file mode 100644 index 067871d..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/startup_ARMCM85.c +++ /dev/null @@ -1,164 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM85.c - * @brief CMSIS Device Startup File for ARMCM85 Device - * @version V1.0.0 - * @date 07. February 2022 - ******************************************************************************/ -/* - * Copyright (c) 2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM85) - #include "ARMCM85.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SecureFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - SecureFault_Handler, /* -9 Secure Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 480 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/startup_ARMCM85.c.base@1.0.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/startup_ARMCM85.c.base@1.0.0 deleted file mode 100644 index 067871d..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/startup_ARMCM85.c.base@1.0.0 +++ /dev/null @@ -1,164 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM85.c - * @brief CMSIS Device Startup File for ARMCM85 Device - * @version V1.0.0 - * @date 07. February 2022 - ******************************************************************************/ -/* - * Copyright (c) 2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM85) - #include "ARMCM85.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SecureFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - SecureFault_Handler, /* -9 Secure Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 480 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/system_ARMCM85.c b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/system_ARMCM85.c deleted file mode 100644 index 7a16501..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/system_ARMCM85.c +++ /dev/null @@ -1,106 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM85.c - * @brief CMSIS Device System Source File for ARMCM85 Device - * @version V1.0.0 - * @date 30. March 2022 - ******************************************************************************/ -/* - * Copyright (c) 2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM85) - #include "ARMCM85.h" - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM85.h" - #endif -#else - #error device not specified! -#endif - - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t)(&__VECTOR_TABLE[0]); -#endif - - /* Set CPDLPSTATE.RLPSTATE to 0 - Set CPDLPSTATE.ELPSTATE to 0, to stop the processor from trying to switch the EPU into retention state. - Set CPDLPSTATE.CLPSTATE to 0, so PDCORE will not enter low-power state. */ - PWRMODCTL->CPDLPSTATE &= ~(PWRMODCTL_CPDLPSTATE_RLPSTATE_Msk | - PWRMODCTL_CPDLPSTATE_ELPSTATE_Msk | - PWRMODCTL_CPDLPSTATE_CLPSTATE_Msk ); - -#if (defined (__FPU_USED) && (__FPU_USED == 1U)) || \ - (defined (__ARM_FEATURE_MVE) && (__ARM_FEATURE_MVE > 0U)) - SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ - (3U << 11U*2U) ); /* enable CP11 Full Access */ - - /* Favor best FP/MVE performance by default, avoid EPU switch-ON delays */ - /* PDEPU ON, Clock OFF */ - PWRMODCTL->CPDLPSTATE |= 0x1 << PWRMODCTL_CPDLPSTATE_ELPSTATE_Pos; -#endif - -#ifdef UNALIGNED_SUPPORT_DISABLE - SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; -#endif - - /* Enable Loop and branch info cache */ - SCB->CCR |= SCB_CCR_LOB_Msk; - - /* Enable Branch Prediction */ - SCB->CCR |= SCB_CCR_BP_Msk; - - __DSB(); - __ISB(); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - TZ_SAU_Setup(); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/system_ARMCM85.c.base@1.0.0 b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/system_ARMCM85.c.base@1.0.0 deleted file mode 100644 index 7a16501..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/RTE/Device/ARMCM85/system_ARMCM85.c.base@1.0.0 +++ /dev/null @@ -1,106 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM85.c - * @brief CMSIS Device System Source File for ARMCM85 Device - * @version V1.0.0 - * @date 30. March 2022 - ******************************************************************************/ -/* - * Copyright (c) 2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM85) - #include "ARMCM85.h" - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM85.h" - #endif -#else - #error device not specified! -#endif - - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t)(&__VECTOR_TABLE[0]); -#endif - - /* Set CPDLPSTATE.RLPSTATE to 0 - Set CPDLPSTATE.ELPSTATE to 0, to stop the processor from trying to switch the EPU into retention state. - Set CPDLPSTATE.CLPSTATE to 0, so PDCORE will not enter low-power state. */ - PWRMODCTL->CPDLPSTATE &= ~(PWRMODCTL_CPDLPSTATE_RLPSTATE_Msk | - PWRMODCTL_CPDLPSTATE_ELPSTATE_Msk | - PWRMODCTL_CPDLPSTATE_CLPSTATE_Msk ); - -#if (defined (__FPU_USED) && (__FPU_USED == 1U)) || \ - (defined (__ARM_FEATURE_MVE) && (__ARM_FEATURE_MVE > 0U)) - SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ - (3U << 11U*2U) ); /* enable CP11 Full Access */ - - /* Favor best FP/MVE performance by default, avoid EPU switch-ON delays */ - /* PDEPU ON, Clock OFF */ - PWRMODCTL->CPDLPSTATE |= 0x1 << PWRMODCTL_CPDLPSTATE_ELPSTATE_Pos; -#endif - -#ifdef UNALIGNED_SUPPORT_DISABLE - SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; -#endif - - /* Enable Loop and branch info cache */ - SCB->CCR |= SCB_CCR_LOB_Msk; - - /* Enable Branch Prediction */ - SCB->CCR |= SCB_CCR_BP_Msk; - - __DSB(); - __ISB(); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - TZ_SAU_Setup(); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/Target.clayer.yml b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/Target.clayer.yml deleted file mode 100644 index ee45512..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/Target.clayer.yml +++ /dev/null @@ -1,22 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/1.3.0/tools/projmgr/schemas/clayer.schema.json - -layer: - # type: Target - description: Target setup - - # packs: - # - pack: ARM::CMSIS - - components: - # [Cvendor::] Cclass [&Cbundle] :Cgroup [:Csub] [&Cvariant] [@[>=]Cversion] - - component: ARM::CMSIS:CORE - - component: Device:Startup&C Startup - - misc: - - for-compiler: IAR - Link: [--config generic_cortex.icf] - - groups: - - group: VHT/FVP - files: - - file: ./model_config.txt diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/model_config.txt b/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/model_config.txt deleted file mode 100644 index e602725..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Layer/Target/CM85S_BL/model_config.txt +++ /dev/null @@ -1,30 +0,0 @@ -# Parameters: -# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] -#---------------------------------------------------------------------------------------------- -fvp_mps2.mps2_visualisation.disable-visualisation=1 # (bool , init-time) default = '0' : Enable/disable visualisation -cpu0.FPU=1 # (bool , init-time) default = '1' : Set whether the model has VFP support -cpu0.MVE=1 # (int , init-time) default = '0x1' : Set whether the model has MVE support. If FPU = 0: 0=MVE not included, 1=Integer subset of MVE included. If FPU = 1: 0=MVE not included, 1=Integer subset of MVE included, 2=Integer and half and single precision floating point MVE included -cpu0.ID_ISAR5.PACBTI=1 # (int , init-time) default = '0x0' : 0: PAC/BTI not implemented, 1: PAC implemented using the QARMA5 algorithm with BTI, 2: PAC implemented using an IMP DEF algorithm with BTI, 4: PAC implemented using the QARMA3 algorithm with BTI -cpu0.semihosting-enable=1 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. -cpu0.semihosting-Thumb_SVC=0xAB # (int , init-time) default = '0xAB' : T32 SVC number for semihosting : [0x0..0xFF] -cpu0.semihosting-cmd_line="" # (string, init-time) default = '' : Command line available to semihosting SVC calls -cpu0.semihosting-heap_base=0x0 # (int , init-time) default = '0x0' : Virtual address of heap base : [0x0..0xFFFFFFFF] -cpu0.semihosting-heap_limit=0x0 # (int , init-time) default = '0x10700000' : Virtual address of top of heap : [0x0..0xFFFFFFFF] -cpu0.semihosting-stack_base=0x0 # (int , init-time) default = '0x10700000' : Virtual address of base of descending stack : [0x0..0xFFFFFFFF] -cpu0.semihosting-stack_limit=0x0 # (int , init-time) default = '0x10800000' : Virtual address of stack limit : [0x0..0xFFFFFFFF] -cpu0.semihosting-cwd="" # (string, init-time) default = '' : Base directory for semihosting file access. -cpu0.MPU_S=0x8 # (int , init-time) default = '0x8' : Number of regions in the Secure MPU. If Security Extentions are absent, this is ignored : [0x0..0x10] -cpu0.MPU_NS=0x8 # (int , init-time) default = '0x8' : Number of regions in the Non-Secure MPU. If Security Extentions are absent, this is the total number of MPU regions : [0x0..0x10] -cpu0.ITM=0 # (bool , init-time) default = '1' : Level of instrumentation trace supported. false : No ITM trace included, true: ITM trace included -cpu0.IRQLVL=0x3 # (int , init-time) default = '0x3' : Number of bits of interrupt priority : [0x3..0x8] -cpu0.INITSVTOR=0x00000000 # (int , init-time) default = '0x10000000' : Secure vector-table offset at reset : [0x0..0xFFFFFF80] -cpu0.INITNSVTOR=0x0 # (int , init-time) default = '0x0' : Non-Secure vector-table offset at reset : [0x0..0xFFFFFF80] -cpu0.SAU=0x8 # (int , init-time) default = '0x4' : Number of SAU regions (0 => no SAU) : [0x0..0x8] -idau.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' : -cpu0.LOCK_SAU=0 # (bool , init-time) default = '0' : Lock down of SAU registers write -cpu0.LOCK_S_MPU=0 # (bool , init-time) default = '0' : Lock down of Secure MPU registers write -cpu0.LOCK_NS_MPU=0 # (bool , init-time) default = '0' : Lock down of Non-Secure MPU registers write -cpu0.CPIF=1 # (bool , init-time) default = '1' : Specifies whether the external coprocessor interface is included -cpu0.SECEXT=1 # (bool , init-time) default = '1' : Whether the ARMv8-M Security Extensions are included -fvp_mps2.DISABLE_GATING=1 # (bool , init-time) default = '0' : Disable Memory gating logic -#---------------------------------------------------------------------------------------------- diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Project/Bootloader.cproject.yml b/external/CMSIS_5/CMSIS/CoreValidation/Project/Bootloader.cproject.yml deleted file mode 100644 index 3453694..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Project/Bootloader.cproject.yml +++ /dev/null @@ -1,117 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/1.3.0/tools/projmgr/schemas/cproject.schema.json - -project: - layers: - # App: CMSIS-Core Validation for Cortex-M (Bootloader part) - - layer: ../Layer/App/Bootloader_Cortex-M/App.clayer.yml - for-context: - - .AC6_low - - .AC6_mid - - .AC6_high - - .AC6_size - - .AC6_tiny - - .GCC_low - - .GCC_mid - - .GCC_high - - .GCC_size - - .GCC_tiny - - .IAR_low - - .IAR_mid - - .IAR_high - - .IAR_size - - .IAR_tiny - - #Target: CM23S - - layer: ../Layer/Target/CM23S_BL/Target.clayer.yml - for-context: - - .AC6_low+CM23S - - .AC6_mid+CM23S - - .AC6_high+CM23S - - .AC6_size+CM23S - - .AC6_tiny+CM23S - - .GCC_low+CM23S - - .GCC_mid+CM23S - - .GCC_high+CM23S - - .GCC_size+CM23S - - .GCC_tiny+CM23S - - .IAR_low+CM23S - - .IAR_mid+CM23S - - .IAR_high+CM23S - - .IAR_size+CM23S - - .IAR_tiny+CM23S - - #Target: CM33S - - layer: ../Layer/Target/CM33S_BL/Target.clayer.yml - for-context: - - .AC6_low+CM33S - - .AC6_mid+CM33S - - .AC6_high+CM33S - - .AC6_size+CM33S - - .AC6_tiny+CM33S - - .GCC_low+CM33S - - .GCC_mid+CM33S - - .GCC_high+CM33S - - .GCC_size+CM33S - - .GCC_tiny+CM33S - - .IAR_low+CM33S - - .IAR_mid+CM33S - - .IAR_high+CM33S - - .IAR_size+CM33S - - .IAR_tiny+CM33S - - #Target: CM35PS - - layer: ../Layer/Target/CM35PS_BL/Target.clayer.yml - for-context: - - .AC6_low+CM35PS - - .AC6_mid+CM35PS - - .AC6_high+CM35PS - - .AC6_size+CM35PS - - .AC6_tiny+CM35PS - - .GCC_low+CM35PS - - .GCC_mid+CM35PS - - .GCC_high+CM35PS - - .GCC_size+CM35PS - - .GCC_tiny+CM35PS - - .IAR_low+CM35PS - - .IAR_mid+CM35PS - - .IAR_high+CM35PS - - .IAR_size+CM35PS - - .IAR_tiny+CM35PS - - #Target: CM55S - - layer: ../Layer/Target/CM55S_BL/Target.clayer.yml - for-context: - - .AC6_low+CM55S - - .AC6_mid+CM55S - - .AC6_high+CM55S - - .AC6_size+CM55S - - .AC6_tiny+CM55S - - .GCC_low+CM55S - - .GCC_mid+CM55S - - .GCC_high+CM55S - - .GCC_size+CM55S - - .GCC_tiny+CM55S - - .IAR_low+CM55S - - .IAR_mid+CM55S - - .IAR_high+CM55S - - .IAR_size+CM55S - - .IAR_tiny+CM55S - - #Target: CM85S - - layer: ../Layer/Target/CM85S_BL/Target.clayer.yml - for-context: - - .AC6_low+CM85S - - .AC6_mid+CM85S - - .AC6_high+CM85S - - .AC6_size+CM85S - - .AC6_tiny+CM85S - - .GCC_low+CM85S - - .GCC_mid+CM85S - - .GCC_high+CM85S - - .GCC_size+CM85S - - .GCC_tiny+CM85S - - .IAR_low+CM85S - - .IAR_mid+CM85S - - .IAR_high+CM85S - - .IAR_size+CM85S - - .IAR_tiny+CM85S diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Project/Validation.cproject.yml b/external/CMSIS_5/CMSIS/CoreValidation/Project/Validation.cproject.yml deleted file mode 100644 index 23e5b1a..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Project/Validation.cproject.yml +++ /dev/null @@ -1,491 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/1.3.0/tools/projmgr/schemas/cproject.schema.json - -project: - layers: - # App: CMSIS-Core Validation for Cortex-M - - layer: ../Layer/App/Validation_Cortex-M/App.clayer.yml - for-context: - - +CM0 - - +CM0plus - - +CM3 - - +CM4 - - +CM4FP - - +CM7 - - +CM7SP - - +CM7DP - - +CM23 - - +CM23S - - +CM23NS - - +CM33 - - +CM33S - - +CM33NS - - +CM35P - - +CM35PS - - +CM35PNS - - +CM55S - - +CM55NS - - +CM85S - - +CM85NS - - # App: CMSIS-Core Validation for Cortex-A - - layer: ../Layer/App/Validation_Cortex-A/App.clayer.yml - for-context: - - +CA5 - - +CA7 - - +CA9 - - #Target: CM0 - - layer: ../Layer/Target/CM0/Target.clayer.yml - for-context: - - .AC6_low+CM0 - - .AC6_mid+CM0 - - .AC6_high+CM0 - - .AC6_size+CM0 - - .AC6_tiny+CM0 - - .GCC_low+CM0 - - .GCC_mid+CM0 - - .GCC_high+CM0 - - .GCC_size+CM0 - - .GCC_tiny+CM0 - - .IAR_low+CM0 - - .IAR_mid+CM0 - - .IAR_high+CM0 - - .IAR_size+CM0 - - .IAR_tiny+CM0 - - #Target: CM0plus - - layer: ../Layer/Target/CM0plus/Target.clayer.yml - for-context: - - .AC6_low+CM0plus - - .AC6_mid+CM0plus - - .AC6_high+CM0plus - - .AC6_size+CM0plus - - .AC6_tiny+CM0plus - - .GCC_low+CM0plus - - .GCC_mid+CM0plus - - .GCC_high+CM0plus - - .GCC_size+CM0plus - - .GCC_tiny+CM0plus - - .IAR_low+CM0plus - - .IAR_mid+CM0plus - - .IAR_high+CM0plus - - .IAR_size+CM0plus - - .IAR_tiny+CM0plus - - #Target: CM3 - - layer: ../Layer/Target/CM3/Target.clayer.yml - for-context: - - .AC6_low+CM3 - - .AC6_mid+CM3 - - .AC6_high+CM3 - - .AC6_size+CM3 - - .AC6_tiny+CM3 - - .GCC_low+CM3 - - .GCC_mid+CM3 - - .GCC_high+CM3 - - .GCC_size+CM3 - - .GCC_tiny+CM3 - - .IAR_low+CM3 - - .IAR_mid+CM3 - - .IAR_high+CM3 - - .IAR_size+CM3 - - .IAR_tiny+CM3 - - #Target: CM4 - - layer: ../Layer/Target/CM4/Target.clayer.yml - for-context: - - .AC6_low+CM4 - - .AC6_mid+CM4 - - .AC6_high+CM4 - - .AC6_size+CM4 - - .AC6_tiny+CM4 - - .GCC_low+CM4 - - .GCC_mid+CM4 - - .GCC_high+CM4 - - .GCC_size+CM4 - - .GCC_tiny+CM4 - - .IAR_low+CM4 - - .IAR_mid+CM4 - - .IAR_high+CM4 - - .IAR_size+CM4 - - .IAR_tiny+CM4 - - #Target: CM4FP - - layer: ../Layer/Target/CM4FP/Target.clayer.yml - for-context: - - .AC6_low+CM4FP - - .AC6_mid+CM4FP - - .AC6_high+CM4FP - - .AC6_size+CM4FP - - .AC6_tiny+CM4FP - - .GCC_low+CM4FP - - .GCC_mid+CM4FP - - .GCC_high+CM4FP - - .GCC_size+CM4FP - - .GCC_tiny+CM4FP - - .IAR_low+CM4FP - - .IAR_mid+CM4FP - - .IAR_high+CM4FP - - .IAR_size+CM4FP - - .IAR_tiny+CM4FP - - #Target: CM7 - - layer: ../Layer/Target/CM7/Target.clayer.yml - for-context: - - .AC6_low+CM7 - - .AC6_mid+CM7 - - .AC6_high+CM7 - - .AC6_size+CM7 - - .AC6_tiny+CM7 - - .GCC_low+CM7 - - .GCC_mid+CM7 - - .GCC_high+CM7 - - .GCC_size+CM7 - - .GCC_tiny+CM7 - - .IAR_low+CM7 - - .IAR_mid+CM7 - - .IAR_high+CM7 - - .IAR_size+CM7 - - .IAR_tiny+CM7 - - #Target: CM7SP - - layer: ../Layer/Target/CM7SP/Target.clayer.yml - for-context: - - .AC6_low+CM7SP - - .AC6_mid+CM7SP - - .AC6_high+CM7SP - - .AC6_size+CM7SP - - .AC6_tiny+CM7SP - - .GCC_low+CM7SP - - .GCC_mid+CM7SP - - .GCC_high+CM7SP - - .GCC_size+CM7SP - - .GCC_tiny+CM7SP - - .IAR_low+CM7SP - - .IAR_mid+CM7SP - - .IAR_high+CM7SP - - .IAR_size+CM7SP - - .IAR_tiny+CM7SP - - #Target: CM7DP - - layer: ../Layer/Target/CM7DP/Target.clayer.yml - for-context: - - .AC6_low+CM7DP - - .AC6_mid+CM7DP - - .AC6_high+CM7DP - - .AC6_size+CM7DP - - .AC6_tiny+CM7DP - - .GCC_low+CM7DP - - .GCC_mid+CM7DP - - .GCC_high+CM7DP - - .GCC_size+CM7DP - - .GCC_tiny+CM7DP - - .IAR_low+CM7DP - - .IAR_mid+CM7DP - - .IAR_high+CM7DP - - .IAR_size+CM7DP - - .IAR_tiny+CM7DP - - #Target: CM23 - - layer: ../Layer/Target/CM23/Target.clayer.yml - for-context: - - .AC6_low+CM23 - - .AC6_mid+CM23 - - .AC6_high+CM23 - - .AC6_size+CM23 - - .AC6_tiny+CM23 - - .GCC_low+CM23 - - .GCC_mid+CM23 - - .GCC_high+CM23 - - .GCC_size+CM23 - - .GCC_tiny+CM23 - - .IAR_low+CM23 - - .IAR_mid+CM23 - - .IAR_high+CM23 - - .IAR_size+CM23 - - .IAR_tiny+CM23 - - #Target: CM23S - - layer: ../Layer/Target/CM23S/Target.clayer.yml - for-context: - - .AC6_low+CM23S - - .AC6_mid+CM23S - - .AC6_high+CM23S - - .AC6_size+CM23S - - .AC6_tiny+CM23S - - .GCC_low+CM23S - - .GCC_mid+CM23S - - .GCC_high+CM23S - - .GCC_size+CM23S - - .GCC_tiny+CM23S - - .IAR_low+CM23S - - .IAR_mid+CM23S - - .IAR_high+CM23S - - .IAR_size+CM23S - - .IAR_tiny+CM23S - - #Target: CM23NS - - layer: ../Layer/Target/CM23NS/Target.clayer.yml - for-context: - - .AC6_low+CM23NS - - .AC6_mid+CM23NS - - .AC6_high+CM23NS - - .AC6_size+CM23NS - - .AC6_tiny+CM23NS - - .GCC_low+CM23NS - - .GCC_mid+CM23NS - - .GCC_high+CM23NS - - .GCC_size+CM23NS - - .GCC_tiny+CM23NS - - .IAR_low+CM23NS - - .IAR_mid+CM23NS - - .IAR_high+CM23NS - - .IAR_size+CM23NS - - .IAR_tiny+CM23NS - - #Target: CM33 - - layer: ../Layer/Target/CM33/Target.clayer.yml - for-context: - - .AC6_low+CM33 - - .AC6_mid+CM33 - - .AC6_high+CM33 - - .AC6_size+CM33 - - .AC6_tiny+CM33 - - .GCC_low+CM33 - - .GCC_mid+CM33 - - .GCC_high+CM33 - - .GCC_size+CM33 - - .GCC_tiny+CM33 - - .IAR_low+CM33 - - .IAR_mid+CM33 - - .IAR_high+CM33 - - .IAR_size+CM33 - - .IAR_tiny+CM33 - - #Target: CM33S - - layer: ../Layer/Target/CM33S/Target.clayer.yml - for-context: - - .AC6_low+CM33S - - .AC6_mid+CM33S - - .AC6_high+CM33S - - .AC6_size+CM33S - - .AC6_tiny+CM33S - - .GCC_low+CM33S - - .GCC_mid+CM33S - - .GCC_high+CM33S - - .GCC_size+CM33S - - .GCC_tiny+CM33S - - .IAR_low+CM33S - - .IAR_mid+CM33S - - .IAR_high+CM33S - - .IAR_size+CM33S - - .IAR_tiny+CM33S - - #Target: CM33NS - - layer: ../Layer/Target/CM33NS/Target.clayer.yml - for-context: - - .AC6_low+CM33NS - - .AC6_mid+CM33NS - - .AC6_high+CM33NS - - .AC6_size+CM33NS - - .AC6_tiny+CM33NS - - .GCC_low+CM33NS - - .GCC_mid+CM33NS - - .GCC_high+CM33NS - - .GCC_size+CM33NS - - .GCC_tiny+CM33NS - - .IAR_low+CM33NS - - .IAR_mid+CM33NS - - .IAR_high+CM33NS - - .IAR_size+CM33NS - - .IAR_tiny+CM33NS - - #Target: CM35P - - layer: ../Layer/Target/CM35P/Target.clayer.yml - for-context: - - .AC6_low+CM35P - - .AC6_mid+CM35P - - .AC6_high+CM35P - - .AC6_size+CM35P - - .AC6_tiny+CM35P - - .GCC_low+CM35P - - .GCC_mid+CM35P - - .GCC_high+CM35P - - .GCC_size+CM35P - - .GCC_tiny+CM35P - - .IAR_low+CM35P - - .IAR_mid+CM35P - - .IAR_high+CM35P - - .IAR_size+CM35P - - .IAR_tiny+CM35P - - #Target: CM35PS - - layer: ../Layer/Target/CM35PS/Target.clayer.yml - for-context: - - .AC6_low+CM35PS - - .AC6_mid+CM35PS - - .AC6_high+CM35PS - - .AC6_size+CM35PS - - .AC6_tiny+CM35PS - - .GCC_low+CM35PS - - .GCC_mid+CM35PS - - .GCC_high+CM35PS - - .GCC_size+CM35PS - - .GCC_tiny+CM35PS - - .IAR_low+CM35PS - - .IAR_mid+CM35PS - - .IAR_high+CM35PS - - .IAR_size+CM35PS - - .IAR_tiny+CM35PS - - #Target: CM35PNS - - layer: ../Layer/Target/CM35PNS/Target.clayer.yml - for-context: - - .AC6_low+CM35PNS - - .AC6_mid+CM35PNS - - .AC6_high+CM35PNS - - .AC6_size+CM35PNS - - .AC6_tiny+CM35PNS - - .GCC_low+CM35PNS - - .GCC_mid+CM35PNS - - .GCC_high+CM35PNS - - .GCC_size+CM35PNS - - .GCC_tiny+CM35PNS - - .IAR_low+CM35PNS - - .IAR_mid+CM35PNS - - .IAR_high+CM35PNS - - .IAR_size+CM35PNS - - .IAR_tiny+CM35PNS - - #Target: CM55S - - layer: ../Layer/Target/CM55S/Target.clayer.yml - for-context: - - .AC6_low+CM55S - - .AC6_mid+CM55S - - .AC6_high+CM55S - - .AC6_size+CM55S - - .AC6_tiny+CM55S - - .GCC_low+CM55S - - .GCC_mid+CM55S - - .GCC_high+CM55S - - .GCC_size+CM55S - - .GCC_tiny+CM55S - - .IAR_low+CM55S - - .IAR_mid+CM55S - - .IAR_high+CM55S - - .IAR_size+CM55S - - .IAR_tiny+CM55S - - #Target: CM55NS - - layer: ../Layer/Target/CM55NS/Target.clayer.yml - for-context: - - .AC6_low+CM55NS - - .AC6_mid+CM55NS - - .AC6_high+CM55NS - - .AC6_size+CM55NS - - .AC6_tiny+CM55NS - - .GCC_low+CM55NS - - .GCC_mid+CM55NS - - .GCC_high+CM55NS - - .GCC_size+CM55NS - - .GCC_tiny+CM55NS - - .IAR_low+CM55NS - - .IAR_mid+CM55NS - - .IAR_high+CM55NS - - .IAR_size+CM55NS - - .IAR_tiny+CM55NS - - #Target: CM85S - - layer: ../Layer/Target/CM85S/Target.clayer.yml - for-context: - - .AC6_low+CM85S - - .AC6_mid+CM85S - - .AC6_high+CM85S - - .AC6_size+CM85S - - .AC6_tiny+CM85S - - .GCC_low+CM85S - - .GCC_mid+CM85S - - .GCC_high+CM85S - - .GCC_size+CM85S - - .GCC_tiny+CM85S - - .IAR_low+CM85S - - .IAR_mid+CM85S - - .IAR_high+CM85S - - .IAR_size+CM85S - - .IAR_tiny+CM85S - - #Target: CM85NS - - layer: ../Layer/Target/CM85NS/Target.clayer.yml - for-context: - - .AC6_low+CM85NS - - .AC6_mid+CM85NS - - .AC6_high+CM85NS - - .AC6_size+CM85NS - - .AC6_tiny+CM85NS - - .GCC_low+CM85NS - - .GCC_mid+CM85NS - - .GCC_high+CM85NS - - .GCC_size+CM85NS - - .GCC_tiny+CM85NS - - .IAR_low+CM85NS - - .IAR_mid+CM85NS - - .IAR_high+CM85NS - - .IAR_size+CM85NS - - .IAR_tiny+CM85NS - - #Target: CA5 - - layer: ../Layer/Target/CA5/Target.clayer.yml - for-context: - - .AC6_low+CA5 - - .AC6_mid+CA5 - - .AC6_high+CA5 - - .AC6_size+CA5 - - .AC6_tiny+CA5 - - .GCC_low+CA5 - - .GCC_mid+CA5 - - .GCC_high+CA5 - - .GCC_size+CA5 - - .GCC_tiny+CA5 - - .IAR_low+CA5 - - .IAR_mid+CA5 - - .IAR_high+CA5 - - .IAR_size+CA5 - - .IAR_tiny+CA5 - - #Target: CA7 - - layer: ../Layer/Target/CA7/Target.clayer.yml - for-context: - - .AC6_low+CA7 - - .AC6_mid+CA7 - - .AC6_high+CA7 - - .AC6_size+CA7 - - .AC6_tiny+CA7 - - .GCC_low+CA7 - - .GCC_mid+CA7 - - .GCC_high+CA7 - - .GCC_size+CA7 - - .GCC_tiny+CA7 - - .IAR_low+CA7 - - .IAR_mid+CA7 - - .IAR_high+CA7 - - .IAR_size+CA7 - - .IAR_tiny+CA7 - - #Target: CA9 - - layer: ../Layer/Target/CA9/Target.clayer.yml - for-context: - - .AC6_low+CA9 - - .AC6_mid+CA9 - - .AC6_high+CA9 - - .AC6_size+CA9 - - .AC6_tiny+CA9 - - .GCC_low+CA9 - - .GCC_mid+CA9 - - .GCC_high+CA9 - - .GCC_size+CA9 - - .GCC_tiny+CA9 - - .IAR_low+CA9 - - .IAR_mid+CA9 - - .IAR_high+CA9 - - .IAR_size+CA9 - - .IAR_tiny+CA9 diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Project/Validation.csolution.yml b/external/CMSIS_5/CMSIS/CoreValidation/Project/Validation.csolution.yml deleted file mode 100644 index 373eed0..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Project/Validation.csolution.yml +++ /dev/null @@ -1,235 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/1.3.0/tools/projmgr/schemas/csolution.schema.json - -solution: - packs: - - pack: ARM::CMSIS - path: ../../../ - - misc: - - for-compiler: AC6 - C: [-std=c99, -gdwarf-4, -ffunction-sections] - Link: [--entry=Reset_Handler, --symbols, --map] - - for-compiler: GCC - C: [-std=gnu99, -gdwarf-2, -ffunction-sections, -fdata-sections] - Link: [--specs=nano.specs, --specs=rdimon.specs] - - for-compiler: IAR - Link: [--semihosting] - - target-types: - #CM0 - - type: CM0 - device: ARMCM0 - - #CM0plus - - type: CM0plus - device: ARMCM0P - - #CM3 - - type: CM3 - device: ARMCM3 - - #CM4 - - type: CM4 - device: ARMCM4 - - #CM4FP - - type: CM4FP - device: ARMCM4_FP - - #CM7 - - type: CM7 - device: ARMCM7 - - #CM7SP - - type: CM7SP - device: ARMCM7_SP - - #CM7DP - - type: CM7DP - device: ARMCM7_DP - - #CM23 - - type: CM23 - device: ARMCM23 - processor: - trustzone: off - - #CM23S - - type: CM23S - device: ARMCM23_TZ - processor: - trustzone: secure - - #CM23NS - - type: CM23NS - device: ARMCM23_TZ - processor: - trustzone: non-secure - - #CM33 - - type: CM33 - device: ARMCM33_DSP_FP - processor: - trustzone: off - - #CM33S - - type: CM33S - device: ARMCM33_DSP_FP_TZ - processor: - trustzone: secure - - #CM33NS - - type: CM33NS - device: ARMCM33_DSP_FP_TZ - processor: - trustzone: non-secure - - #CM35P - - type: CM35P - device: ARMCM35P_DSP_FP - processor: - trustzone: off - - #CM35PS - - type: CM35PS - device: ARMCM35P_DSP_FP_TZ - processor: - trustzone: secure - - #CM35PNS - - type: CM35PNS - device: ARMCM35P_DSP_FP_TZ - processor: - trustzone: non-secure - - #CM55S - - type: CM55S - device: ARMCM55 - processor: - trustzone: secure - - #CM55NS - - type: CM55NS - device: ARMCM55 - processor: - trustzone: non-secure - - #CM85S - - type: CM85S - device: ARMCM85 - processor: - trustzone: secure - - #CM85NS - - type: CM85NS - device: ARMCM85 - processor: - trustzone: non-secure - - #CA5 - - type: CA5 - device: ARMCA5 - - #CA7 - - type: CA7 - device: ARMCA7 - - #CA9 - - type: CA9 - device: ARMCA9 - - build-types: - #AC6_low, AC6_mid, AC6_high, AC6_size, AC6_OZ, - - type: AC6_low - compiler: AC6 - misc: - - for-compiler: AC6 - C: [-O1] - - type: AC6_mid - compiler: AC6 - misc: - - for-compiler: AC6 - C: [-O2] - - type: AC6_high - compiler: AC6 - misc: - - for-compiler: AC6 - C: [-O3] - - type: AC6_size - compiler: AC6 - misc: - - for-compiler: AC6 - C: [-Os] - - type: AC6_tiny - compiler: AC6 - misc: - - for-compiler: AC6 - C: [-Oz] - #GCC_low, GCC_mid, GCC_high, GCC_size, GCC_OZ, - - type: GCC_low - compiler: GCC - misc: - - for-compiler: GCC - C: [-O1] - - type: GCC_mid - compiler: GCC - misc: - - for-compiler: GCC - C: [-O2] - - type: GCC_high - compiler: GCC - misc: - - for-compiler: GCC - C: [-O3] - - type: GCC_size - compiler: GCC - misc: - - for-compiler: GCC - C: [-Os] - - type: GCC_tiny - compiler: GCC - misc: - - for-compiler: GCC - C: [-Ofast] - #IAR_low - - type: IAR_low - compiler: IAR - misc: - - for-compiler: IAR - C: [-Ol, --dlib_config DLib_Config_Full.h] - - type: IAR_mid - compiler: IAR - misc: - - for-compiler: IAR - C: [-Om, --dlib_config DLib_Config_Full.h] - - type: IAR_high - compiler: IAR - misc: - - for-compiler: IAR - C: [-Oh, --dlib_config DLib_Config_Full.h] - - type: IAR_size - compiler: IAR - misc: - - for-compiler: IAR - C: [-Ohz, --dlib_config DLib_Config_Full.h] - - type: IAR_tiny - compiler: IAR - misc: - - for-compiler: IAR - C: [-Ohs, --dlib_config DLib_Config_Full.h] - - projects: - - project: ./Validation.cproject.yml - - - project: ./Bootloader.cproject.yml - for-context: - - +CM23S - - +CM33S - - +CM35PS - - +CM55S - - +CM85S - - output-dirs: - cprjdir: ./$Project$.$BuildType$+$TargetType$ - intdir: ./$Project$.$BuildType$+$TargetType$/intdir - outdir: ./$Project$.$BuildType$+$TargetType$/outdir diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Project/avh.yml b/external/CMSIS_5/CMSIS/CoreValidation/Project/avh.yml deleted file mode 100644 index c958d09..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Project/avh.yml +++ /dev/null @@ -1,39 +0,0 @@ -name: "RTOS2 Validation" -workdir: ../../../ -backend: - aws: - ami-version: ~=1.3 - instance-type: t2.micro -upload: - - ARM.CMSIS.pdsc - - CMSIS/Core/**/* - - CMSIS/Core_A/**/* - - CMSIS/CoreValidation/**/* - - -:CMSIS/CoreValidation/Project/Core_Validation-*.zip - - -:CMSIS/CoreValidation/Project/Core_Validation-*.junit - - -:CMSIS/CoreValidation/Project/Validation.*/**/* - - -:CMSIS/CoreValidation/Project/Bootloader.*/**/* - - Device/ARM/**/* -steps: - - run: | - wget https://github.com/Open-CMSIS-Pack/cmsis-toolbox/releases/download/1.5.0/cmsis-toolbox.sh - chmod +x cmsis-toolbox.sh - sudo ./cmsis-toolbox.sh </dev/null)) - $(dirname $(which armcc 2>/dev/null)) - $(dirname $(which arm-none-eabi-gcc 2>/dev/null)) - - EOI - echo "cpackget : $(which cpackget)" - echo "csolution: $(which csolution)" - echo "cbuild : $(which cbuild)" - - run: | - pip install -r requirements.txt 2>&1 - - run: | - cd CMSIS/CoreValidation/Project - python build.py --verbose -c AC6 -c GCC -d "CM[047]*" -d "CM[23]3*" build run 2>&1 || echo "Something failed!" -download: - - CMSIS/CoreValidation/Project/Core_Validation-*.zip - - CMSIS/CoreValidation/Project/Core_Validation-*.junit diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Project/build.py b/external/CMSIS_5/CMSIS/CoreValidation/Project/build.py deleted file mode 100644 index 3259e4c..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Project/build.py +++ /dev/null @@ -1,259 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -import logging - -from datetime import datetime -from enum import Enum -from glob import glob, iglob -from pathlib import Path - -from lxml.etree import XMLSyntaxError -from zipfile import ZipFile - -from matrix_runner import main, matrix_axis, matrix_action, matrix_command, matrix_filter, \ - ConsoleReport, CropReport, TransformReport, JUnitReport - - -@matrix_axis("device", "d", "Device(s) to be considered.") -class DeviceAxis(Enum): - CM0 = ('Cortex-M0', 'CM0') - CM0plus = ('Cortex-M0plus', 'CM0plus') - CM3 = ('Cortex-M3', 'CM3') - CM4 = ('Cortex-M4', 'CM4') - CM4FP = ('Cortex-M4FP', 'CM4FP') - CM7 = ('Cortex-M7', 'CM7') - CM7SP = ('Cortex-M7SP', 'CM7SP') - CM7DP = ('Cortex-M7DP', 'CM7DP') - CM23 = ('Cortex-M23', 'CM23') - CM23S = ('Cortex-M23S', 'CM23S') - CM23NS = ('Cortex-M23NS', 'CM23NS') - CM33 = ('Cortex-M33', 'CM33') - CM33S = ('Cortex-M33S', 'CM33S') - CM33NS = ('Cortex-M33NS', 'CM33NS') - CM35P = ('Cortex-M35P', 'CM35P') - CM35PS = ('Cortex-M35PS', 'CM35PS') - CM35PNS = ('Cortex-M35PNS', 'CM35PNS') - CM55S = ('Cortex-M55S', 'CM55S') - CM55NS = ('Cortex-M55NS', 'CM55NS') - CM85S = ('Cortex-M85S', 'CM85S') - CM85NS = ('Cortex-M85NS', 'CM85NS') - CA5 = ('Cortex-A5', 'CA5') - CA7 = ('Cortex-A7', 'CA7') - CA9 = ('Cortex-A9', 'CA9') -# CA5NEON = ('Cortex-A5neon', 'CA5neon') -# CA7NEON = ('Cortex-A7neon', 'CA7neon') -# CA9NEON = ('Cortex-A9neon', 'CA9neon') - - def has_bl(self): - return self in [ - DeviceAxis.CM23NS, - DeviceAxis.CM33NS, - DeviceAxis.CM35PNS, - DeviceAxis.CM55NS, - DeviceAxis.CM85NS - ] - - @property - def bl_device(self): - bld = { - DeviceAxis.CM23NS: 'CM23S', - DeviceAxis.CM33NS: 'CM33S', - DeviceAxis.CM35PNS: 'CM35PS', - DeviceAxis.CM55NS: 'CM55S', - DeviceAxis.CM85NS: 'CM85S' - } - return bld[self] - - -@matrix_axis("compiler", "c", "Compiler(s) to be considered.") -class CompilerAxis(Enum): - AC6 = ('AC6') - AC6LTM = ('AC6LTM') - GCC = ('GCC') - IAR = ('IAR') - - @property - def image_ext(self): - ext = { - CompilerAxis.AC6: 'axf', - CompilerAxis.AC6LTM: 'axf', - CompilerAxis.GCC: 'elf', - CompilerAxis.IAR: 'elf' - } - return ext[self] - - -@matrix_axis("optimize", "o", "Optimization level(s) to be considered.") -class OptimizationAxis(Enum): - LOW = ('low', 'O1') - MID = ('mid', 'O2') - HIGH = ('high', 'Ofast') - SIZE = ('size', 'Os') - TINY = ('tiny', 'Oz') - - -MODEL_EXECUTABLE = { - DeviceAxis.CM0: ("VHT_MPS2_Cortex-M0", []), - DeviceAxis.CM0plus: ("VHT_MPS2_Cortex-M0plus", []), - DeviceAxis.CM3: ("VHT_MPS2_Cortex-M3", []), - DeviceAxis.CM4: ("VHT_MPS2_Cortex-M4", []), - DeviceAxis.CM4FP: ("VHT_MPS2_Cortex-M4", []), - DeviceAxis.CM7: ("VHT_MPS2_Cortex-M7", []), - DeviceAxis.CM7DP: ("VHT_MPS2_Cortex-M7", []), - DeviceAxis.CM7SP: ("VHT_MPS2_Cortex-M7", []), - DeviceAxis.CM23: ("VHT_MPS2_Cortex-M23", []), - DeviceAxis.CM23S: ("VHT_MPS2_Cortex-M23", []), - DeviceAxis.CM23NS: ("VHT_MPS2_Cortex-M23", []), - DeviceAxis.CM33: ("VHT_MPS2_Cortex-M33", []), - DeviceAxis.CM33S: ("VHT_MPS2_Cortex-M33", []), - DeviceAxis.CM33NS: ("VHT_MPS2_Cortex-M33", []), - DeviceAxis.CM35P: ("VHT_MPS2_Cortex-M35P", []), - DeviceAxis.CM35PS: ("VHT_MPS2_Cortex-M35P", []), - DeviceAxis.CM35PNS: ("VHT_MPS2_Cortex-M35P", []), - DeviceAxis.CM55S: ("VHT_MPS2_Cortex-M55", []), - DeviceAxis.CM55NS: ("VHT_MPS2_Cortex-M55", []), - DeviceAxis.CM85S: ("VHT_MPS2_Cortex-M85", []), - DeviceAxis.CM85NS: ("VHT_MPS2_Cortex-M85", []), - DeviceAxis.CA5: ("FVP_VE_Cortex-A5x1", []), - DeviceAxis.CA7: ("FVP_VE_Cortex-A7x1", []), - DeviceAxis.CA9: ("FVP_VE_Cortex-A9x1", []), -# DeviceAxis.CA5NEON: ("FVP_VE_Cortex-A5x1", []), -# DeviceAxis.CA7NEON: ("FVP_VE_Cortex-A7x1", []), -# DeviceAxis.CA9NEON: ("FVP_VE_Cortex-A9x1", []) -} - -def config_suffix(config, timestamp=True): - suffix = f"{config.compiler[0]}-{config.optimize[0]}-{config.device[1]}" - if timestamp: - suffix += f"-{datetime.now().strftime('%Y%m%d%H%M%S')}" - return suffix - - -def image_name(config): - return f"Validation" - - -def project_name(config): - return f"Validation.{config.compiler}_{config.optimize}+{config.device[1]}" - - -def bl_image_name(config): - return f"Bootloader" - - -def bl_project_name(config): - return f"Bootloader.{config.compiler}_{config.optimize}+{config.device.bl_device}" - - -def output_dir(config): - return "outdir" - - -def bl_output_dir(config): - return "outdir" - - -def model_config(config): - return f"../Layer/Target/{config.device[1]}/model_config.txt" - - -@matrix_action -def clean(config): - """Build the selected configurations using CMSIS-Build.""" - yield cbuild_clean(f"{project_name(config)}/{project_name(config)}.cprj") - - -@matrix_action -def build(config, results): - """Build the selected configurations using CMSIS-Build.""" - - if config.device.has_bl(): - logging.info("Compiling Bootloader...") - yield csolution(f"{bl_project_name(config)}") - yield cbuild(f"{bl_project_name(config)}/{bl_project_name(config)}.cprj") - - logging.info("Compiling Tests...") - - if config.compiler == CompilerAxis.GCC and config.device.match("CA*"): - ldfile = Path(f"{project_name(config)}/RTE/Device/ARM{config.device[1]}/ARM{config.device[1]}.ld") - infile = ldfile.replace(ldfile.with_suffix('.ld.in')) - yield preprocess(infile, ldfile) - - yield csolution(f"{project_name(config)}") - yield cbuild(f"{project_name(config)}/{project_name(config)}.cprj") - - if not all(r.success for r in results): - return - - file = f"Core_Validation-{config_suffix(config)}.zip" - logging.info(f"Archiving build output to {file}...") - with ZipFile(file, "w") as archive: - for content in iglob(f"{project_name(config)}/**/*", recursive=True): - if Path(content).is_file(): - archive.write(content) - - -@matrix_action -def extract(config): - """Extract the latest build archive.""" - archives = sorted(glob(f"RTOS2_Validation-{config_suffix(config, timestamp=False)}-*.zip"), reverse=True) - yield unzip(archives[0]) - - -@matrix_action -def run(config, results): - """Run the selected configurations.""" - logging.info("Running Core Validation on Arm model ...") - yield model_exec(config) - - try: - results[0].test_report.write(f"Core_Validation-{config_suffix(config)}.junit") - except RuntimeError as e: - if isinstance(e.__cause__, XMLSyntaxError): - logging.error("No valid test report found in model output!") - else: - logging.exception(e) - - -@matrix_command() -def cbuild_clean(project): - return ["cbuild", "-c", project] - - -@matrix_command() -def unzip(archive): - return ["bash", "-c", f"unzip {archive}"] - - -@matrix_command() -def preprocess(infile, outfile): - return ["arm-none-eabi-gcc", "-xc", "-E", infile, "-P", "-o", outfile] - -@matrix_command() -def csolution(project): - return ["csolution", "convert", "-s", "Validation.csolution.yml", "-c", project] - -@matrix_command() -def cbuild(project): - return ["cbuild", project] - - -@matrix_command(test_report=ConsoleReport() | - CropReport('<\?xml version="1.0"\?>', '') | - TransformReport('validation.xsl') | - JUnitReport(title=lambda title, result: f"{result.command.config.compiler}." - f"{result.command.config.optimize}." - f"{result.command.config.device}." - f"{title}")) -def model_exec(config): - cmdline = [MODEL_EXECUTABLE[config.device][0], "-q", "--simlimit", 100, "-f", model_config(config)] - cmdline += MODEL_EXECUTABLE[config.device][1] - cmdline += ["-a", f"{project_name(config)}/{output_dir(config)}/{image_name(config)}.{config.compiler.image_ext}"] - if config.device.has_bl(): - cmdline += ["-a", f"{bl_project_name(config)}/{bl_output_dir(config)}/{bl_image_name(config)}.{config.compiler.image_ext}"] - return cmdline - - -if __name__ == "__main__": - main() diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Project/cpacklist.txt b/external/CMSIS_5/CMSIS/CoreValidation/Project/cpacklist.txt deleted file mode 100644 index 6740002..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Project/cpacklist.txt +++ /dev/null @@ -1 +0,0 @@ -ARM.CMSIS.5.9.0 diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Project/requirements.txt b/external/CMSIS_5/CMSIS/CoreValidation/Project/requirements.txt deleted file mode 100644 index d074321..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Project/requirements.txt +++ /dev/null @@ -1,6 +0,0 @@ -# -*- coding: utf-8 -*- -# -# Python requirements for build.py script -# -python-matrix-runner~=1.0 -lxml~=4.8 diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Project/validation.xsl b/external/CMSIS_5/CMSIS/CoreValidation/Project/validation.xsl deleted file mode 100644 index 4d0c2cc..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Project/validation.xsl +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - : - - - - - - - - - - - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/README.md b/external/CMSIS_5/CMSIS/CoreValidation/README.md deleted file mode 100644 index c8ae93b..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/README.md +++ /dev/null @@ -1,133 +0,0 @@ -# CMSIS-Core Validation - -This folder contains a test suite that validates CMSIS-Core implementations. It uses [**Fixed Virtual Platforms**](https://developer.arm.com/Tools%20and%20Software/Fixed%20Virtual%20Platforms) to run tests to verify correct operation of the CMSIS-Core functionality on various Arm Cortex based processors. - -## Folder structure - -```txt - 📂 CoreValidation - ┣ 📂 Include Include files for test cases etc. - ┣ 📂 Layer Layers for creating the projects. - ┣ 📂 Project Solution and project files to build tests for various configurations. - â”— 📂 Source Test case source code. -``` - -## Test matrix - -Currently, the following build configurations are provided: - -1. Compiler - - Arm Compiler 6 (AC6) - - GNU Compiler (GCC) - - IAR Compiler (IAR) -2. Devices - - Cortex-M0 - - Cortex-M0+ - - Cortex-M3 - - Cortex-M4 - - w/o FPU - - with FPU - - Cortex-M7 - - w/o FPU - - with SP FPU - - with DP FPU - - Cortex-M23 - - w/o security extensions (TrustZone) - - in secure mode - - in non-secure mode - - Cortex-M33 (with FPU and DSP extensions) - - w/o security extensions (TrustZone) - - in secure mode - - in non-secure mode - - Cortex-M35P (with FPU and DSP extensions) - - w/o security extensions (TrustZone) - - in secure mode - - in non-secure mode - - Cortex-M55 (with FPU and DSP extensions) - - in secure mode - - in non-secure mode - - Cortex-M85 (with FPU and DSP extensions) - - in secure mode - - in non-secure mode - - Cortex-A5 - - w/o NEON extensions - - Cortex-A7 - - w/o NEON extensions - - Cortex-A9 - - w/o NEON extensions -3. Optimization Levels - - Low - - AC6: `-O1` - - GCC: `-O1` - - IAR: `-Ol` - - Mid - - AC6: `-O2` - - GCC: `-O2` - - IAR: `-Om` - - High - - AC6: `-O3` - - GCC: `-O3` - - IAR: `-Oh` - - Size - - AC6: `-Os` - - GCC: `-Os` - - IAR: `-Ohz` - - Tiny - - AC6: `-Oz` - - GCC: `-Ofast` - - IAR: `-Ohs` - -## Prerequisites - -The following tools are required to build and run the CoreValidation tests: - -- [CMSIS-Toolbox](https://github.com/Open-CMSIS-Pack/cmsis-toolbox/releases) 1.3.0 or higher -- CMake -- Ninja build -- Arm Compiler 6 -- GNU Compiler -- IAR Compiler -- Python 3.8 or higher -- Arm Virtual Hardware Models - -The executables need to be present on the `PATH`. - -Install the Python packages required by `build.py`: - -```bash -CMSIS_5/CMSIS/CoreValidation/Project $ pip install -r requirements.txt -``` - -## Build and run - -To build and run the CoreValidation tests for one or more configurations use the following command line. -Select the ``, ``, and `optimize` level to `build` and `run` for. - -```bash -CMSIS_5/CMSIS/CoreValidation/Project $ ./build.py -c -d -o [build] [run] -``` - -For example, build and run the tests using GCC for Cortex-M3 with low optimization, execute: - -```bash -CMSIS_5/CMSIS/CoreValidation/Project $ ./build.py -c GCC -d CM3 -o low build run -[GCC][Cortex-M3][low](build:csolution) csolution convert -s Validation.csolution.yml -c Validation.GCC_low+CM3 -[GCC][Cortex-M3][low](build:csolution) csolution succeeded with exit code 0 -[GCC][Cortex-M3][low](build:cbuild) cbuild Validation.GCC_low+CM3/Validation.GCC_low+CM3.cprj -[GCC][Cortex-M3][low](build:cbuild) cbuild succeeded with exit code 0 -[GCC][Cortex-M3][low](run:model_exec) VHT_MPS2_Cortex-M3 -q --simlimit 100 -f ../Layer/Target/CM3/model_config.txt -a Validation.GCC_low+CM3/Validation.GCC_low+CM3_outdir/Validation.GCC_low+CM3.elf -[GCC][Cortex-M3][low](run:model_exec) VHT_MPS2_Cortex-M3 succeeded with exit code 0 - -Matrix Summary -============== - -compiler device optimize build clean extract run ----------- --------- ---------- ------- ------- --------- ----- -GCC Cortex-M3 low success (skip) (skip) 35/35 -``` - -The full test report is written to `Core_Validation-GCC-low-CM3-.junit` file. - -## License - -[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Source/CV_CAL1Cache.c b/external/CMSIS_5/CMSIS/CoreValidation/Source/CV_CAL1Cache.c deleted file mode 100644 index 7d16f28..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Source/CV_CAL1Cache.c +++ /dev/null @@ -1,181 +0,0 @@ -/*----------------------------------------------------------------------------- - * Name: CV_CAL1Cache.c - * Purpose: CMSIS CORE validation tests implementation - *----------------------------------------------------------------------------- - * Copyright (c) 2017 ARM Limited. All rights reserved. - *----------------------------------------------------------------------------*/ - -#include "CV_Framework.h" -#include "cmsis_cv.h" - -/*----------------------------------------------------------------------------- - * Test implementation - *----------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------- - * Test cases - *----------------------------------------------------------------------------*/ - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -void TC_CAL1Cache_EnDisable(void) { - - uint32_t orig = __get_SCTLR(); - - L1C_EnableCaches(); - - uint32_t sctlr = __get_SCTLR(); - ASSERT_TRUE((sctlr & SCTLR_I_Msk) == SCTLR_I_Msk); - ASSERT_TRUE((sctlr & SCTLR_C_Msk) == SCTLR_C_Msk); - - L1C_CleanDCacheAll(); - L1C_DisableCaches(); - - sctlr = __get_SCTLR(); - ASSERT_TRUE((sctlr & SCTLR_I_Msk) == 0U); - ASSERT_TRUE((sctlr & SCTLR_C_Msk) == 0U); - - __set_SCTLR(orig); - __ISB(); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -void TC_CAL1Cache_EnDisableBTAC(void) { - uint32_t orig = __get_SCTLR(); - - L1C_EnableBTAC(); - - uint32_t sctlr = __get_SCTLR(); - ASSERT_TRUE((sctlr & SCTLR_Z_Msk) == SCTLR_Z_Msk); - - L1C_DisableBTAC(); - - sctlr = __get_SCTLR(); -#if __CORTEX_A == 7 - // On Cortex-A7 SCTLR_Z is RAO/WI. - ASSERT_TRUE((sctlr & SCTLR_Z_Msk) == SCTLR_Z_Msk); -#else - ASSERT_TRUE((sctlr & SCTLR_Z_Msk) == 0U); -#endif - - __set_SCTLR(orig); - __ISB(); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -void TC_CAL1Cache_log2_up(void) { - uint8_t log2 = __log2_up(0U); - ASSERT_TRUE(log2 == 0U); - - log2 = __log2_up(1U); - ASSERT_TRUE(log2 == 0U); - - log2 = __log2_up(2U); - ASSERT_TRUE(log2 == 1U); - - log2 = __log2_up(3U); - ASSERT_TRUE(log2 == 2U); - - log2 = __log2_up(4U); - ASSERT_TRUE(log2 == 2U); - - log2 = __log2_up(0x80000000U); - ASSERT_TRUE(log2 == 31U); - - log2 = __log2_up(0x80000001U); - ASSERT_TRUE(log2 == 32U); - - log2 = __log2_up(0xFFFFFFFFU); - ASSERT_TRUE(log2 == 32U); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -void TC_CAL1Cache_InvalidateDCacheAll(void) { - - /* setup */ - uint32_t orig = __get_SCTLR(); - volatile uint32_t value = 0x0815U; - - L1C_EnableCaches(); - - L1C_CleanDCacheAll(); - - /* test cached value gets lost */ - - // WHEN a value is written - value = 0x4711U; - - // ... and the cache is invalidated - L1C_InvalidateDCacheAll(); - - // ... and the cache is disabled - L1C_DisableCaches(); - - // THEN the new value has been lost - ASSERT_TRUE(value == 0x0815U); - - /* tear down */ - L1C_InvalidateDCacheAll(); - __set_SCTLR(orig); - __ISB(); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -void TC_CAL1Cache_CleanDCacheAll(void) { - /* setup */ - uint32_t orig = __get_SCTLR(); - uint32_t value = 0x0815U; - - L1C_EnableCaches(); - - L1C_CleanDCacheAll(); - - /* test cached value is preserved */ - - // WHEN a value is written - value = 0x4711U; - - // ... and the cache is cleaned - L1C_CleanDCacheAll(); - - // ... and the cache is disabled - L1C_DisableCaches(); - - // THEN the new value is preserved - ASSERT_TRUE(value == 0x4711U); - - /* tear down */ - L1C_InvalidateDCacheAll(); - __set_SCTLR(orig); - __ISB(); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -void TC_CAL1Cache_CleanInvalidateDCacheAll(void) { - /* setup */ - uint32_t orig = __get_SCTLR(); - uint32_t value = 0x0815U; - - L1C_EnableCaches(); - - L1C_CleanDCacheAll(); - - /* test cached value is preserved */ - - // WHEN a value is written - value = 0x4711U; - - // ... and the cache is cleaned/invalidated - L1C_CleanInvalidateDCacheAll(); - - // ... and the cache is disabled - L1C_DisableCaches(); - - // THEN the new value is preserved - ASSERT_TRUE(value == 0x4711U); - - /* tear down */ - L1C_InvalidateDCacheAll(); - __set_SCTLR(orig); - __ISB(); -} - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Source/CV_CML1Cache.c b/external/CMSIS_5/CMSIS/CoreValidation/Source/CV_CML1Cache.c deleted file mode 100644 index 86d07d3..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Source/CV_CML1Cache.c +++ /dev/null @@ -1,56 +0,0 @@ -/*----------------------------------------------------------------------------- - * Name: CV_CML1Cache.c - * Purpose: CMSIS CORE validation tests implementation - *----------------------------------------------------------------------------- - * Copyright (c) 2020 - 2021 ARM Limited. All rights reserved. - *----------------------------------------------------------------------------*/ - -#include "CV_Framework.h" -#include "cmsis_cv.h" - -/*----------------------------------------------------------------------------- - * Test implementation - *----------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------- - * Test cases - *----------------------------------------------------------------------------*/ - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -void TC_CML1Cache_EnDisableICache(void) { -#ifdef __ICACHE_PRESENT - SCB_EnableICache(); - - ASSERT_TRUE((SCB->CCR & SCB_CCR_IC_Msk) == SCB_CCR_IC_Msk); - - SCB_DisableICache(); - - ASSERT_TRUE((SCB->CCR & SCB_CCR_IC_Msk) == 0U); -#endif -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -void TC_CML1Cache_EnDisableDCache(void) { -#ifdef __DCACHE_PRESENT - SCB_EnableDCache(); - - ASSERT_TRUE((SCB->CCR & SCB_CCR_DC_Msk) == SCB_CCR_DC_Msk); - - SCB_DisableDCache(); - - ASSERT_TRUE((SCB->CCR & SCB_CCR_DC_Msk) == 0U); -#endif -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -#ifdef __DCACHE_PRESENT -static uint32_t TC_CML1Cache_CleanDCacheByAddrWhileDisabled_Values[] = { 42U, 0U, 8U, 15U }; -#endif - -void TC_CML1Cache_CleanDCacheByAddrWhileDisabled(void) { -#ifdef __DCACHE_PRESENT - SCB_DisableDCache(); - SCB_CleanDCache_by_Addr(TC_CML1Cache_CleanDCacheByAddrWhileDisabled_Values, sizeof(TC_CML1Cache_CleanDCacheByAddrWhileDisabled_Values)/sizeof(TC_CML1Cache_CleanDCacheByAddrWhileDisabled_Values[0])); - ASSERT_TRUE((SCB->CCR & SCB_CCR_DC_Msk) == 0U); -#endif -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Source/CV_CoreAFunc.c b/external/CMSIS_5/CMSIS/CoreValidation/Source/CV_CoreAFunc.c deleted file mode 100644 index e130d5e..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Source/CV_CoreAFunc.c +++ /dev/null @@ -1,284 +0,0 @@ -/*----------------------------------------------------------------------------- - * Name: CV_CoreFunc.c - * Purpose: CMSIS CORE validation tests implementation - *----------------------------------------------------------------------------- - * Copyright (c) 2017 ARM Limited. All rights reserved. - *----------------------------------------------------------------------------*/ - -#include "CV_Framework.h" -#include "cmsis_cv.h" - -/*----------------------------------------------------------------------------- - * Test implementation - *----------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------- - * Test cases - *----------------------------------------------------------------------------*/ - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -void TC_CoreAFunc_IRQ(void) { - uint32_t orig = __get_CPSR(); - - __enable_irq(); - uint32_t cpsr = __get_CPSR(); - ASSERT_TRUE((cpsr & CPSR_I_Msk) == 0U); - - __disable_irq(); - cpsr = __get_CPSR(); - ASSERT_TRUE((cpsr & CPSR_I_Msk) == CPSR_I_Msk); - - __set_CPSR(orig); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -void TC_CoreAFunc_FaultIRQ(void) { - uint32_t orig = __get_CPSR(); - - __enable_fault_irq(); - uint32_t cpsr = __get_CPSR(); - ASSERT_TRUE((cpsr & CPSR_F_Msk) == 0U); - - __disable_fault_irq(); - cpsr = __get_CPSR(); - ASSERT_TRUE((cpsr & CPSR_F_Msk) == CPSR_F_Msk); - - __set_CPSR(orig); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -void TC_CoreAFunc_FPSCR(void) { - - volatile float f1 = 47.11f; - volatile float f2 = 8.15f; - volatile float f3 = f1 / f2; - - uint32_t fpscr = __get_FPSCR(); - __set_FPSCR(fpscr); - - ASSERT_TRUE(fpscr == __get_FPSCR()); - ASSERT_TRUE((f3 < 5.781f) && (f3 > 5.780f)); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -#if defined(__CC_ARM) -#define __SUBS(Rd, Rm, Rn) __ASM volatile("SUBS " # Rd ", " # Rm ", " # Rn) -#define __ADDS(Rd, Rm, Rn) __ASM volatile("ADDS " # Rd ", " # Rm ", " # Rn) -#elif defined( __GNUC__ ) && defined(__thumb__) -#define __SUBS(Rd, Rm, Rn) __ASM volatile("SUB %0, %1, %2" : "=r"(Rd) : "r"(Rm), "r"(Rn)) -#define __ADDS(Rd, Rm, Rn) __ASM volatile("ADD %0, %1, %2" : "=r"(Rd) : "r"(Rm), "r"(Rn)) -#else -#define __SUBS(Rd, Rm, Rn) __ASM volatile("SUBS %0, %1, %2" : "=r"(Rd) : "r"(Rm), "r"(Rn)) -#define __ADDS(Rd, Rm, Rn) __ASM volatile("ADDS %0, %1, %2" : "=r"(Rd) : "r"(Rm), "r"(Rn)) -#endif - -void TC_CoreAFunc_CPSR(void) { - uint32_t result; - - uint32_t cpsr = __get_CPSR(); - __set_CPSR(cpsr & CPSR_M_Msk); - - // Check negative flag - int32_t Rm = 5; - int32_t Rn = 7; - __SUBS(Rm, Rm, Rn); - result = __get_CPSR(); - ASSERT_TRUE((result & CPSR_N_Msk) == CPSR_N_Msk); - - // Check zero and compare flag - Rm = 5; - __SUBS(Rm, Rm, Rm); - result = __get_CPSR(); - ASSERT_TRUE((result & CPSR_Z_Msk) == CPSR_Z_Msk); - ASSERT_TRUE((result & CPSR_C_Msk) == CPSR_C_Msk); - - // Check overflow flag - Rm = 5; - Rn = INT32_MAX; - __ADDS(Rm, Rm, Rn); - result = __get_CPSR(); - ASSERT_TRUE((result & CPSR_V_Msk) == CPSR_V_Msk); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -void TC_CoreAFunc_Mode(void) { - uint32_t mode = __get_mode(); - __set_mode(mode); - - ASSERT_TRUE(mode == __get_mode()); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -static uint32_t TC_CoreAFunc_SP_orig; -static uint32_t TC_CoreAFunc_SP_sp; -static uint32_t TC_CoreAFunc_SP_result; - -void TC_CoreAFunc_SP(void) { - TC_CoreAFunc_SP_orig = __get_SP(); - - TC_CoreAFunc_SP_sp = TC_CoreAFunc_SP_orig + 0x12345678U; - __set_SP(TC_CoreAFunc_SP_sp); - TC_CoreAFunc_SP_result = __get_SP(); - - __set_SP(TC_CoreAFunc_SP_orig); - - ASSERT_TRUE(TC_CoreAFunc_SP_result == TC_CoreAFunc_SP_sp); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -static uint32_t TC_CoreAFunc_SP_usr_orig; -static uint32_t TC_CoreAFunc_SP_usr_sp; -static uint32_t TC_CoreAFunc_SP_usr_result; - -void TC_CoreAFunc_SP_usr(void) { - TC_CoreAFunc_SP_usr_orig = __get_SP_usr(); - - TC_CoreAFunc_SP_usr_sp = TC_CoreAFunc_SP_usr_orig + 0x12345678U; - __set_SP(TC_CoreAFunc_SP_usr_sp); - TC_CoreAFunc_SP_usr_result = __get_SP_usr(); - - __set_SP(TC_CoreAFunc_SP_usr_orig); - - ASSERT_TRUE(TC_CoreAFunc_SP_usr_result == TC_CoreAFunc_SP_usr_sp); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -void TC_CoreAFunc_FPEXC(void) { - uint32_t fpexc = __get_FPEXC(); - __set_FPEXC(fpexc); - - ASSERT_TRUE(fpexc == __get_FPEXC()); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -void TC_CoreAFunc_ACTLR(void) { - uint32_t actlr = __get_ACTLR(); - __set_ACTLR(actlr); - - ASSERT_TRUE(actlr == __get_ACTLR()); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -void TC_CoreAFunc_CPACR(void) { - uint32_t cpacr = __get_CPACR(); - __set_CPACR(cpacr); - - ASSERT_TRUE(cpacr == __get_CPACR()); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -void TC_CoreAFunc_DFSR(void) { - uint32_t dfsr = __get_DFSR(); - __set_DFSR(dfsr); - - ASSERT_TRUE(dfsr == __get_DFSR()); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -void TC_CoreAFunc_IFSR(void) { - uint32_t ifsr = __get_IFSR(); - __set_IFSR(ifsr); - - ASSERT_TRUE(ifsr == __get_IFSR()); -} - -/*0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -void TC_CoreAFunc_ISR(void) { - uint32_t isr = __get_ISR(); - - ASSERT_TRUE(isr == __get_ISR()); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -void TC_CoreAFunc_CBAR(void) { - uint32_t cbar = __get_CBAR(); - - ASSERT_TRUE(cbar == __get_CBAR()); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -void TC_CoreAFunc_TTBR0(void) { - uint32_t ttbr0 = __get_TTBR0(); - __set_TTBR0(ttbr0); - - ASSERT_TRUE(ttbr0 == __get_TTBR0()); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -void TC_CoreAFunc_DACR(void) { - uint32_t dacr = __get_DACR(); - __set_DACR(dacr); - - ASSERT_TRUE(dacr == __get_DACR()); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -void TC_CoreAFunc_SCTLR(void) { - uint32_t sctlr = __get_SCTLR(); - __set_SCTLR(sctlr); - - ASSERT_TRUE(sctlr == __get_SCTLR()); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -void TC_CoreAFunc_ACTRL(void) { - uint32_t actrl = __get_ACTRL(); - __set_ACTRL(actrl); - - ASSERT_TRUE(actrl == __get_ACTRL()); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -void TC_CoreAFunc_MPIDR(void) { - uint32_t mpidr = __get_MPIDR(); - - ASSERT_TRUE(mpidr == __get_MPIDR()); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -static uint8_t vectorRAM[32U] __attribute__((aligned(32U))); - -void TC_CoreAFunc_VBAR(void) { - uint32_t vbar = __get_VBAR(); - - memcpy(vectorRAM, (void*)vbar, sizeof(vectorRAM)); - - __set_VBAR((uint32_t)vectorRAM); - ASSERT_TRUE(((uint32_t)vectorRAM) == __get_VBAR()); - - __set_VBAR(vbar); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -void TC_CoreAFunc_MVBAR(void) { - uint32_t mvbar = __get_MVBAR(); - - memcpy(vectorRAM, (void*)mvbar, sizeof(vectorRAM)); - - __set_MVBAR((uint32_t)vectorRAM); - ASSERT_TRUE(((uint32_t)vectorRAM) == __get_MVBAR()); - - __set_MVBAR(mvbar); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ - -void TC_CoreAFunc_FPU_Enable(void) { - uint32_t fpexc = __get_FPEXC(); - __set_FPEXC(fpexc & ~0x40000000u); // disable FPU - - uint32_t cp15; - __get_CP(15, 0, cp15, 1, 0, 2); - - cp15 &= ~0x00F00000u; - __set_CP(15, 0, cp15, 1, 0, 2); // disable FPU access - - __FPU_Enable(); - - __get_CP(15, 0, cp15, 1, 0, 2); - ASSERT_TRUE((cp15 & 0x00F00000u) == 0x00F00000u); - - fpexc = __get_FPEXC(); - ASSERT_TRUE((fpexc & 0x40000000u) == 0x40000000u); -} - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Source/CV_CoreFunc.c b/external/CMSIS_5/CMSIS/CoreValidation/Source/CV_CoreFunc.c deleted file mode 100644 index fe98bbe..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Source/CV_CoreFunc.c +++ /dev/null @@ -1,723 +0,0 @@ -/*----------------------------------------------------------------------------- - * Name: CV_CoreFunc.c - * Purpose: CMSIS CORE validation tests implementation - *----------------------------------------------------------------------------- - * Copyright (c) 2017 - 2023 Arm Limited. All rights reserved. - *----------------------------------------------------------------------------*/ - -#include "CV_Framework.h" -#include "cmsis_cv.h" - -/*----------------------------------------------------------------------------- - * Test implementation - *----------------------------------------------------------------------------*/ - -static volatile uint32_t irqTaken = 0U; -#if defined(__CORTEX_M) && (__CORTEX_M > 0) -static volatile uint32_t irqActive = 0U; -#endif - -static void TC_CoreFunc_EnDisIRQIRQHandler(void) { - ++irqTaken; -#if defined(__CORTEX_M) && (__CORTEX_M > 0) - irqActive = NVIC_GetActive(Interrupt0_IRQn); -#endif -} - -static volatile uint32_t irqIPSR = 0U; -static volatile uint32_t irqXPSR = 0U; - -static void TC_CoreFunc_IPSR_IRQHandler(void) { - irqIPSR = __get_IPSR(); - irqXPSR = __get_xPSR(); -} - -/*----------------------------------------------------------------------------- - * Test cases - *----------------------------------------------------------------------------*/ - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_CoreFunc_EnDisIRQ -\details -Check expected behavior of interrupt related control functions: -- __disable_irq() and __enable_irq() -- NVIC_EnableIRQ, NVIC_DisableIRQ, and NVIC_GetEnableIRQ -- NVIC_SetPendingIRQ, NVIC_ClearPendingIRQ, and NVIC_GetPendingIRQ -- NVIC_GetActive (not on Cortex-M0/M0+) -*/ -void TC_CoreFunc_EnDisIRQ (void) -{ - // Globally disable all interrupt servicing - __disable_irq(); - - // Enable the interrupt - NVIC_EnableIRQ(Interrupt0_IRQn); - ASSERT_TRUE(NVIC_GetEnableIRQ(Interrupt0_IRQn) != 0U); - - // Clear its pending state - NVIC_ClearPendingIRQ(Interrupt0_IRQn); - ASSERT_TRUE(NVIC_GetPendingIRQ(Interrupt0_IRQn) == 0U); - - // Register test interrupt handler. - TST_IRQHandler = TC_CoreFunc_EnDisIRQIRQHandler; - irqTaken = 0U; -#if defined(__CORTEX_M) && (__CORTEX_M > 0) - irqActive = UINT32_MAX; -#endif - - // Set the interrupt pending state - NVIC_SetPendingIRQ(Interrupt0_IRQn); - for(uint32_t i = 10U; i > 0U; --i) {__NOP();} - - // Interrupt is not taken - ASSERT_TRUE(irqTaken == 0U); - ASSERT_TRUE(NVIC_GetPendingIRQ(Interrupt0_IRQn) != 0U); -#if defined(__CORTEX_M) && (__CORTEX_M > 0) - ASSERT_TRUE(NVIC_GetActive(Interrupt0_IRQn) == 0U); -#endif - - // Globally enable interrupt servicing - __enable_irq(); - - for(uint32_t i = 10U; i > 0U; --i) {__NOP();} - - // Interrupt was taken - ASSERT_TRUE(irqTaken == 1U); -#if defined(__CORTEX_M) && (__CORTEX_M > 0) - ASSERT_TRUE(irqActive != 0U); - ASSERT_TRUE(NVIC_GetActive(Interrupt0_IRQn) == 0U); -#endif - - // Interrupt it not pending anymore. - ASSERT_TRUE(NVIC_GetPendingIRQ(Interrupt0_IRQn) == 0U); - - // Disable interrupt - NVIC_DisableIRQ(Interrupt0_IRQn); - ASSERT_TRUE(NVIC_GetEnableIRQ(Interrupt0_IRQn) == 0U); - - // Set interrupt pending - NVIC_SetPendingIRQ(Interrupt0_IRQn); - for(uint32_t i = 10U; i > 0U; --i) {__NOP();} - - // Interrupt is not taken again - ASSERT_TRUE(irqTaken == 1U); - ASSERT_TRUE(NVIC_GetPendingIRQ(Interrupt0_IRQn) != 0U); - - // Clear interrupt pending - NVIC_ClearPendingIRQ(Interrupt0_IRQn); - for(uint32_t i = 10U; i > 0U; --i) {__NOP();} - - // Interrupt it not pending anymore. - ASSERT_TRUE(NVIC_GetPendingIRQ(Interrupt0_IRQn) == 0U); - - // Globally disable interrupt servicing - __disable_irq(); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_CoreFunc_IRQPrio -\details -Check expected behavior of interrupt priority control functions: -- NVIC_SetPriority, NVIC_GetPriority -*/ -void TC_CoreFunc_IRQPrio (void) -{ - /* Test Exception Priority */ - uint32_t orig = NVIC_GetPriority(SVCall_IRQn); - - NVIC_SetPriority(SVCall_IRQn, orig+1U); - uint32_t prio = NVIC_GetPriority(SVCall_IRQn); - - ASSERT_TRUE(prio == orig+1U); - - NVIC_SetPriority(SVCall_IRQn, orig); - - /* Test Interrupt Priority */ - orig = NVIC_GetPriority(Interrupt0_IRQn); - - NVIC_SetPriority(Interrupt0_IRQn, orig+1U); - prio = NVIC_GetPriority(Interrupt0_IRQn); - - ASSERT_TRUE(prio == orig+1U); - - NVIC_SetPriority(Interrupt0_IRQn, orig); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** Helper function for TC_CoreFunc_EncDecIRQPrio -\details -The helper encodes and decodes the given priority configuration. -\param[in] prigroup The PRIGROUP setting to be considered for encoding/decoding. -\param[in] pre The preempt priority value. -\param[in] sub The subpriority value. -*/ -static void TC_CoreFunc_EncDecIRQPrio_Step(uint32_t prigroup, uint32_t pre, uint32_t sub) { - uint32_t prio = NVIC_EncodePriority(prigroup, pre, sub); - - uint32_t ret_pre = UINT32_MAX; - uint32_t ret_sub = UINT32_MAX; - - NVIC_DecodePriority(prio, prigroup, &ret_pre, &ret_sub); - - ASSERT_TRUE(ret_pre == pre); - ASSERT_TRUE(ret_sub == sub); -} - -/** -\brief Test case: TC_CoreFunc_EncDecIRQPrio -\details -Check expected behavior of interrupt priority encoding/decoding functions: -- NVIC_EncodePriority, NVIC_DecodePriority -*/ -void TC_CoreFunc_EncDecIRQPrio (void) -{ - /* Check only the valid range of PRIGROUP and preempt-/sub-priority values. */ - static const uint32_t priobits = (__NVIC_PRIO_BITS > 7U) ? 7U : __NVIC_PRIO_BITS; - for(uint32_t prigroup = 7U-priobits; prigroup<7U; prigroup++) { - for(uint32_t pre = 0U; pre<(128U>>prigroup); pre++) { - for(uint32_t sub = 0U; sub<(256U>>(8U-__NVIC_PRIO_BITS+7U-prigroup)); sub++) { - TC_CoreFunc_EncDecIRQPrio_Step(prigroup, pre, sub); - } - } - } -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_CoreFunc_IRQVect -\details -Check expected behavior of interrupt vector relocation functions: -- NVIC_SetVector, NVIC_GetVector -*/ -void TC_CoreFunc_IRQVect(void) { -#if defined(__VTOR_PRESENT) && __VTOR_PRESENT - /* relocate vector table */ - extern const VECTOR_TABLE_Type __VECTOR_TABLE[48]; - static VECTOR_TABLE_Type vectors[sizeof(__VECTOR_TABLE)/sizeof(__VECTOR_TABLE[0])] __ALIGNED(1024) __NO_INIT; - memcpy(vectors, __VECTOR_TABLE, sizeof(__VECTOR_TABLE)); - - const uint32_t orig_vtor = SCB->VTOR; - const uint32_t vtor = ((uint32_t)vectors) & SCB_VTOR_TBLOFF_Msk; - SCB->VTOR = vtor; - - ASSERT_TRUE(vtor == SCB->VTOR); - - /* check exception vectors */ - extern void HardFault_Handler(void); - extern void SVC_Handler(void); - extern void PendSV_Handler(void); - extern void SysTick_Handler(void); - - ASSERT_TRUE(NVIC_GetVector(HardFault_IRQn) == (uint32_t)HardFault_Handler); - ASSERT_TRUE(NVIC_GetVector(SVCall_IRQn) == (uint32_t)SVC_Handler); - ASSERT_TRUE(NVIC_GetVector(PendSV_IRQn) == (uint32_t)PendSV_Handler); - ASSERT_TRUE(NVIC_GetVector(SysTick_IRQn) == (uint32_t)SysTick_Handler); - - /* reconfigure WDT IRQ vector */ - extern void Interrupt0_Handler(void); - - const uint32_t wdtvec = NVIC_GetVector(Interrupt0_IRQn); - ASSERT_TRUE(wdtvec == (uint32_t)Interrupt0_Handler); - - NVIC_SetVector(Interrupt0_IRQn, wdtvec + 32U); - - ASSERT_TRUE(NVIC_GetVector(Interrupt0_IRQn) == (wdtvec + 32U)); - - /* restore vector table */ - SCB->VTOR = orig_vtor; -#endif -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_CoreFunc_GetCtrl -\details -- Check if __set_CONTROL and __get_CONTROL() sets/gets control register -*/ -void TC_CoreFunc_Control (void) { - // don't use stack for this variables - static uint32_t orig; - static uint32_t ctrl; - static uint32_t result; - - orig = __get_CONTROL(); - ctrl = orig; - result = UINT32_MAX; - -#ifdef CONTROL_SPSEL_Msk - // SPSEL set to 0 (MSP) - ASSERT_TRUE((ctrl & CONTROL_SPSEL_Msk) == 0U); - - // SPSEL set to 1 (PSP) - ctrl |= CONTROL_SPSEL_Msk; - - // Move MSP to PSP - __set_PSP(__get_MSP()); -#endif - - __set_CONTROL(ctrl); - __ISB(); - - result = __get_CONTROL(); - - __set_CONTROL(orig); - __ISB(); - - ASSERT_TRUE(result == ctrl); - ASSERT_TRUE(__get_CONTROL() == orig); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_CoreFunc_IPSR -\details -- Check if __get_IPSR intrinsic is available -- Check if __get_xPSR intrinsic is available -- Result differentiates between thread and exception modes -*/ -void TC_CoreFunc_IPSR (void) { - uint32_t result = __get_IPSR(); - ASSERT_TRUE(result == 0U); // Thread Mode - - result = __get_xPSR(); - ASSERT_TRUE((result & xPSR_ISR_Msk) == 0U); // Thread Mode - - TST_IRQHandler = TC_CoreFunc_IPSR_IRQHandler; - irqIPSR = 0U; - irqXPSR = 0U; - - NVIC_ClearPendingIRQ(Interrupt0_IRQn); - NVIC_EnableIRQ(Interrupt0_IRQn); - __enable_irq(); - - NVIC_SetPendingIRQ(Interrupt0_IRQn); - for(uint32_t i = 10U; i > 0U; --i) {__NOP();} - - __disable_irq(); - NVIC_DisableIRQ(Interrupt0_IRQn); - - ASSERT_TRUE(irqIPSR != 0U); // Exception Mode - ASSERT_TRUE((irqXPSR & xPSR_ISR_Msk) != 0U); // Exception Mode -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ - -#if defined(__CC_ARM) -#define SUBS(Rd, Rm, Rn) __ASM volatile("SUBS " # Rd ", " # Rm ", " # Rn) -#define ADDS(Rd, Rm, Rn) __ASM volatile("ADDS " # Rd ", " # Rm ", " # Rn) -#elif defined( __GNUC__ ) && (!defined(__ti__)) && (!defined(__ARMCC_VERSION)) && (defined(__ARM_ARCH_6M__) || defined(__ARM_ARCH_8M_BASE__)) -#define SUBS(Rd, Rm, Rn) __ASM volatile("SUB %0, %1, %2" : "=r"(Rd) : "r"(Rm), "r"(Rn) : "cc") -#define ADDS(Rd, Rm, Rn) __ASM volatile("ADD %0, %1, %2" : "=r"(Rd) : "r"(Rm), "r"(Rn) : "cc") -#elif defined(_lint) -//lint -save -e(9026) allow function-like macro -#define SUBS(Rd, Rm, Rn) ((Rd) = (Rm) - (Rn)) -#define ADDS(Rd, Rm, Rn) ((Rd) = (Rm) + (Rn)) -//lint -restore -#else -#define SUBS(Rd, Rm, Rn) __ASM volatile("SUBS %0, %1, %2" : "=r"(Rd) : "r"(Rm), "r"(Rn) : "cc") -#define ADDS(Rd, Rm, Rn) __ASM volatile("ADDS %0, %1, %2" : "=r"(Rd) : "r"(Rm), "r"(Rn) : "cc") -#endif - -/** -\brief Test case: TC_CoreFunc_APSR -\details -- Check if __get_APSR intrinsic is available -- Check if __get_xPSR intrinsic is available -- Check negative, zero and overflow flags -*/ -void TC_CoreFunc_APSR (void) { - volatile uint32_t result; - //lint -esym(838, Rm) unused values - //lint -esym(438, Rm) unused values - - // Check negative flag - volatile int32_t Rm = 5; - volatile int32_t Rn = 7; - SUBS(Rm, Rm, Rn); - result = __get_APSR(); - ASSERT_TRUE((result & APSR_N_Msk) == APSR_N_Msk); - - Rm = 5; - Rn = 7; - SUBS(Rm, Rm, Rn); - result = __get_xPSR(); - ASSERT_TRUE((result & xPSR_N_Msk) == xPSR_N_Msk); - - // Check zero and compare flag - Rm = 5; - SUBS(Rm, Rm, Rm); - result = __get_APSR(); - ASSERT_TRUE((result & APSR_Z_Msk) == APSR_Z_Msk); - ASSERT_TRUE((result & APSR_C_Msk) == APSR_C_Msk); - - Rm = 5; - SUBS(Rm, Rm, Rm); - result = __get_xPSR(); - ASSERT_TRUE((result & xPSR_Z_Msk) == xPSR_Z_Msk); - ASSERT_TRUE((result & APSR_C_Msk) == APSR_C_Msk); - - // Check overflow flag - Rm = 5; - Rn = INT32_MAX; - ADDS(Rm, Rm, Rn); - result = __get_APSR(); - ASSERT_TRUE((result & APSR_V_Msk) == APSR_V_Msk); - - Rm = 5; - Rn = INT32_MAX; - ADDS(Rm, Rm, Rn); - result = __get_xPSR(); - ASSERT_TRUE((result & xPSR_V_Msk) == xPSR_V_Msk); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_CoreFunc_PSP -\details -- Check if __get_PSP and __set_PSP intrinsic can be used to manipulate process stack pointer. -*/ -void TC_CoreFunc_PSP (void) { - // don't use stack for this variables - static uint32_t orig; - static uint32_t psp; - static uint32_t result; - - orig = __get_PSP(); - - psp = orig + 0x12345678U; - __set_PSP(psp); - - result = __get_PSP(); - - __set_PSP(orig); - - ASSERT_TRUE(result == psp); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_CoreFunc_MSP -\details -- Check if __get_MSP and __set_MSP intrinsic can be used to manipulate main stack pointer. -*/ -void TC_CoreFunc_MSP (void) { - // don't use stack for this variables - static uint32_t orig; - static uint32_t msp; - static uint32_t result; - static uint32_t ctrl; - - ctrl = __get_CONTROL(); - orig = __get_MSP(); - - __set_PSP(orig); - __set_CONTROL(ctrl | CONTROL_SPSEL_Msk); // switch to PSP - - msp = orig + 0x12345678U; - __set_MSP(msp); - - result = __get_MSP(); - - __set_MSP(orig); - - __set_CONTROL(ctrl); - - ASSERT_TRUE(result == msp); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_CoreFunc_PSPLIM -\details -- Check if __get_PSPLIM and __set_PSPLIM intrinsic can be used to manipulate process stack pointer limit. -*/ -void TC_CoreFunc_PSPLIM (void) { -#if ((defined (__ARM_ARCH_8_1M_MAIN__ ) && (__ARM_ARCH_8_1M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) - // don't use stack for this variables - static uint32_t orig; - static uint32_t psplim; - static uint32_t result; - - orig = __get_PSPLIM(); - - psplim = orig + 0x12345678U; - __set_PSPLIM(psplim); - - result = __get_PSPLIM(); - - __set_PSPLIM(orig); - -#if (!(defined (__ARM_ARCH_8_1M_MAIN__ ) && (__ARM_ARCH_8_1M_MAIN__ == 1)) && \ - !(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ - (!defined (__ARM_FEATURE_CMSE ) || (__ARM_FEATURE_CMSE < 3)) ) - // without main extensions, the non-secure PSPLIM is RAZ/WI - ASSERT_TRUE(result == 0U); -#else - ASSERT_TRUE(result == psplim); -#endif - -#endif -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_CoreFunc_PSPLIM_NS -\details -- Check if __TZ_get_PSPLIM_NS and __TZ_set_PSPLIM_NS intrinsic can be used to manipulate process stack pointer limit. -*/ -void TC_CoreFunc_PSPLIM_NS (void) { -#if ((defined (__ARM_ARCH_8_1M_MAIN__ ) && (__ARM_ARCH_8_1M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) - -#if (defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3)) - uint32_t orig; - uint32_t psplim; - uint32_t result; - - orig = __TZ_get_PSPLIM_NS(); - - psplim = orig + 0x12345678U; - __TZ_set_PSPLIM_NS(psplim); - - result = __TZ_get_PSPLIM_NS(); - - __TZ_set_PSPLIM_NS(orig); - -#if (!(defined (__ARM_ARCH_8_1M_MAIN__ ) && (__ARM_ARCH_8_1M_MAIN__ == 1)) && \ - !(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) - // without main extensions, the non-secure PSPLIM is RAZ/WI - ASSERT_TRUE(result == 0U); -#else - ASSERT_TRUE(result == psplim); -#endif -#endif - -#endif -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_CoreFunc_MSPLIM -\details -- Check if __get_MSPLIM and __set_MSPLIM intrinsic can be used to manipulate main stack pointer limit. -*/ -void TC_CoreFunc_MSPLIM (void) { -#if ((defined (__ARM_ARCH_8_1M_MAIN__ ) && (__ARM_ARCH_8_1M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) - // don't use stack for this variables - static uint32_t orig; - static uint32_t msplim; - static uint32_t result; - static uint32_t ctrl; - - ctrl = __get_CONTROL(); - __set_CONTROL(ctrl | CONTROL_SPSEL_Msk); // switch to PSP - - orig = __get_MSPLIM(); - - msplim = orig + 0x12345678U; - __set_MSPLIM(msplim); - - result = __get_MSPLIM(); - - __set_MSPLIM(orig); - - __set_CONTROL(ctrl); - -#if (!(defined (__ARM_ARCH_8_1M_MAIN__ ) && (__ARM_ARCH_8_1M_MAIN__ == 1)) && \ - !(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ - (!defined (__ARM_FEATURE_CMSE ) || (__ARM_FEATURE_CMSE < 3)) ) - // without main extensions, the non-secure MSPLIM is RAZ/WI - ASSERT_TRUE(result == 0U); -#else - ASSERT_TRUE(result == msplim); -#endif - -#endif -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_CoreFunc_MSPLIM_NS -\details -- Check if __TZ_get_MSPLIM_NS and __TZ_set_MSPLIM_NS intrinsic can be used to manipulate process stack pointer limit. -*/ -void TC_CoreFunc_MSPLIM_NS (void) { -#if ((defined (__ARM_ARCH_8_1M_MAIN__ ) && (__ARM_ARCH_8_1M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) - -#if (defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3)) - uint32_t orig; - uint32_t msplim; - uint32_t result; - - orig = __TZ_get_MSPLIM_NS(); - - msplim = orig + 0x12345678U; - __TZ_set_MSPLIM_NS(msplim); - - result = __TZ_get_MSPLIM_NS(); - - __TZ_set_MSPLIM_NS(orig); - -#if (!(defined (__ARM_ARCH_8_1M_MAIN__ ) && (__ARM_ARCH_8_1M_MAIN__ == 1)) && \ - !(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) - // without main extensions, the non-secure MSPLIM is RAZ/WI - ASSERT_TRUE(result == 0U); -#else - ASSERT_TRUE(result == msplim); -#endif -#endif - -#endif -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_CoreFunc_PRIMASK -\details -- Check if __get_PRIMASK and __set_PRIMASK intrinsic can be used to manipulate PRIMASK. -- Check if __enable_irq and __disable_irq are reflected in PRIMASK. -*/ -void TC_CoreFunc_PRIMASK (void) { - uint32_t orig = __get_PRIMASK(); - - // toggle primask - uint32_t primask = (orig & ~0x01U) | (~orig & 0x01U); - - __set_PRIMASK(primask); - uint32_t result = __get_PRIMASK(); - ASSERT_TRUE(result == primask); - - __disable_irq(); - result = __get_PRIMASK(); - ASSERT_TRUE((result & 0x01U) == 1U); - - __enable_irq(); - result = __get_PRIMASK(); - ASSERT_TRUE((result & 0x01U) == 0U); - - __disable_irq(); - result = __get_PRIMASK(); - ASSERT_TRUE((result & 0x01U) == 1U); - - __set_PRIMASK(orig); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_CoreFunc_FAULTMASK -\details -- Check if __get_FAULTMASK and __set_FAULTMASK intrinsic can be used to manipulate FAULTMASK. -- Check if __enable_fault_irq and __disable_fault_irq are reflected in FAULTMASK. -*/ -void TC_CoreFunc_FAULTMASK (void) { -#if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ - (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ - (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8_1M_MAIN__ ) && (__ARM_ARCH_8_1M_MAIN__ == 1)) ) - - uint32_t orig = __get_FAULTMASK(); - - // toggle faultmask - uint32_t faultmask = (orig & ~0x01U) | (~orig & 0x01U); - - __set_FAULTMASK(faultmask); - uint32_t result = __get_FAULTMASK(); - ASSERT_TRUE(result == faultmask); - - __disable_fault_irq(); - result = __get_FAULTMASK(); - ASSERT_TRUE((result & 0x01U) == 1U); - - __enable_fault_irq(); - result = __get_FAULTMASK(); - ASSERT_TRUE((result & 0x01U) == 0U); - - __disable_fault_irq(); - result = __get_FAULTMASK(); - ASSERT_TRUE((result & 0x01U) == 1U); - - __set_FAULTMASK(orig); - -#endif -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_CoreFunc_BASEPRI -\details -- Check if __get_BASEPRI and __set_BASEPRI intrinsic can be used to manipulate BASEPRI. -- Check if __set_BASEPRI_MAX intrinsic can be used to manipulate BASEPRI. -*/ -void TC_CoreFunc_BASEPRI(void) { -#if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ - (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ - (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8_1M_MAIN__ ) && (__ARM_ARCH_8_1M_MAIN__ == 1)) ) - - uint32_t orig = __get_BASEPRI(); - - uint32_t basepri = ~orig & 0x80U; - __set_BASEPRI(basepri); - uint32_t result = __get_BASEPRI(); - - ASSERT_TRUE(result == basepri); - - __set_BASEPRI(orig); - - __set_BASEPRI_MAX(basepri); - result = __get_BASEPRI(); - - ASSERT_TRUE(result == basepri); - -#endif -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_CoreFunc_FPUType -\details -Check SCB_GetFPUType returns information. -*/ -void TC_CoreFunc_FPUType(void) { - uint32_t fpuType = SCB_GetFPUType(); -#if defined(__FPU_PRESENT) && (__FPU_PRESENT != 0) - ASSERT_TRUE(fpuType > 0U); -#else - ASSERT_TRUE(fpuType == 0U); -#endif -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_CoreFunc_FPSCR -\details -- Check if __get_FPSCR and __set_FPSCR intrinsics can be used -*/ -void TC_CoreFunc_FPSCR(void) { - uint32_t fpscr = __get_FPSCR(); - __ISB(); - __DSB(); - - __set_FPSCR(~fpscr); - __ISB(); - __DSB(); - - uint32_t result = __get_FPSCR(); - - __set_FPSCR(fpscr); - -#if (defined (__FPU_USED ) && (__FPU_USED == 1U)) - ASSERT_TRUE(result != fpscr); -#else - ASSERT_TRUE(result == 0U); -#endif -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Source/CV_CoreInstr.c b/external/CMSIS_5/CMSIS/CoreValidation/Source/CV_CoreInstr.c deleted file mode 100644 index eaf49cd..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Source/CV_CoreInstr.c +++ /dev/null @@ -1,821 +0,0 @@ -/*----------------------------------------------------------------------------- - * Name: CV_CoreInstr.c - * Purpose: CMSIS CORE validation tests implementation - *----------------------------------------------------------------------------- - * Copyright (c) 2017 - 2021 Arm Limited. All rights reserved. - *----------------------------------------------------------------------------*/ - -#include "CV_Framework.h" -#include "cmsis_cv.h" - -#if defined(__CORTEX_M) -#elif defined(__CORTEX_A) -#include "irq_ctrl.h" -#else -#error __CORTEX_M or __CORTEX_A must be defined! -#endif - -/*----------------------------------------------------------------------------- - * Test implementation - *----------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------- - * Test cases - *----------------------------------------------------------------------------*/ - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_CoreInstr_NOP -\details -- Check if __NOP instrinsic is available -- No real assertion is deployed, just a compile time check. -*/ -void TC_CoreInstr_NOP (void) { - __NOP(); - ASSERT_TRUE(1U == 1U); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_CoreInstr_SEV -\details -- Check if __SEV instrinsic is available -- No real assertion is deployed, just a compile time check. -*/ -void TC_CoreInstr_SEV (void) { - __SEV(); - ASSERT_TRUE(1U == 1U); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_CoreInstr_BKPT -\details -- Check if __BKPT instrinsic is available -- No real assertion is deployed, just a compile time check. -*/ -void TC_CoreInstr_BKPT (void) { - __BKPT(0xABU); - ASSERT_TRUE(1U == 1U); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_CoreInstr_ISB -\details -- Check if __ISB instrinsic is available -- No real assertion is deployed, just a compile time check. -*/ -void TC_CoreInstr_ISB (void) { - __ISB(); - ASSERT_TRUE(1U == 1U); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_CoreInstr_DSB -\details -- Check if __DSB instrinsic is available -- No real assertion is deployed, just a compile time check. -*/ -void TC_CoreInstr_DSB (void) { - __DSB(); - ASSERT_TRUE(1U == 1U); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_CoreInstr_DMB -\details -- Check if __DNB instrinsic is available -- No real assertion is deployed, just a compile time check. -*/ -void TC_CoreInstr_DMB (void) { - __DMB(); - ASSERT_TRUE(1U == 1U); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_CoreInstr_WFI -\details -- Check if __WFI instrinsic is available -- No real assertion is deployed, just a compile time check. -*/ -void TC_CoreInstr_WFI (void) { - __WFI(); - ASSERT_TRUE(1U == 1U); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_CoreInstr_WFE -\details -- Check if __WFE instrinsic is available -- No real assertion is deployed, just a compile time check. -*/ -void TC_CoreInstr_WFE (void) { - __WFE(); - ASSERT_TRUE(1U == 1U); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_CoreInstr_REV -\details -- Check if __REV instrinsic swaps all bytes in a word. -*/ -void TC_CoreInstr_REV (void) { - volatile uint32_t op1_u32; - volatile uint32_t res_u32; - - op1_u32 = 0x47110815U; - res_u32 = __REV(op1_u32); - ASSERT_TRUE(res_u32 == 0x15081147U); - - op1_u32 = 0x80000000U; - res_u32 = __REV(op1_u32); - ASSERT_TRUE(res_u32 == 0x00000080U); - - op1_u32 = 0x00000080U; - res_u32 = __REV(op1_u32); - ASSERT_TRUE(res_u32 == 0x80000000U); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_CoreInstr_REV16 -\details -- Check if __REV16 instrinsic swaps the bytes in both halfwords independendly. -*/ -void TC_CoreInstr_REV16(void) { - volatile uint32_t op1_u32; - volatile uint32_t res_u32; - - op1_u32 = 0x47110815U; - res_u32 = __REV16(op1_u32); - ASSERT_TRUE(res_u32 == 0x11471508U); - - op1_u32 = 0x00001234U; - res_u32 = __REV16(op1_u32); - ASSERT_TRUE(res_u32 == 0x00003412U); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_CoreInstr_REVSH -\details -- Check if __REVSH instrinsic swaps bytes in a signed halfword keeping the sign. -*/ -void TC_CoreInstr_REVSH(void) { - volatile int16_t value = 0U; - int16_t result = 0U; - - value = 0x4711; - result = __REVSH(value); - ASSERT_TRUE(result == 0x1147); - - value = (int16_t)0x8000; - result = __REVSH(value); - ASSERT_TRUE(result == 0x0080); - - value = 0x0080; - result = __REVSH(value); - ASSERT_TRUE(result == (int16_t)0x8000); - - value = -0x1234; - result = __REVSH(value); - ASSERT_TRUE(result == (int16_t)0xcced); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_CoreInstr_RBIT -\details -- Check if __RBIT instrinsic revserses the bit order of arbitrary words. -*/ -void TC_CoreInstr_RBIT (void) { - volatile uint32_t value = 0U; - uint32_t result = 0U; - - value = 0xAAAAAAAAU; - result = __RBIT(value); - ASSERT_TRUE(result == 0x55555555U); - - value = 0x55555555U; - result = __RBIT(value); - ASSERT_TRUE(result == 0xAAAAAAAAU); - - value = 0x00000001U; - result = __RBIT(value); - ASSERT_TRUE(result == 0x80000000U); - - value = 0x80000000U; - result = __RBIT(value); - ASSERT_TRUE(result == 0x00000001U); - - value = 0xDEADBEEFU; - result = __RBIT(value); - ASSERT_TRUE(result == 0xF77DB57BU); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_CoreInstr_ROR -\details -- Check if __ROR instrinsic moves all bits as expected. -*/ -void TC_CoreInstr_ROR(void) { - volatile uint32_t value = 0U; - uint32_t result = 0U; - - value = 0x00000001U; - result = __ROR(value, 1U); - ASSERT_TRUE(result == 0x80000000U); - - value = 0x80000000U; - result = __ROR(value, 1U); - ASSERT_TRUE(result == 0x40000000U); - - value = 0x40000000U; - result = __ROR(value, 30U); - ASSERT_TRUE(result == 0x00000001U); - - value = 0x00000001U; - result = __ROR(value, 32U); - ASSERT_TRUE(result == 0x00000001U); - - value = 0x08154711U; - result = __ROR(value, 8U); - ASSERT_TRUE(result == 0x11081547U); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_CoreInstr_CLZ -\details -- Check if __CLZ instrinsic counts leading zeros. -*/ -void TC_CoreInstr_CLZ (void) { - volatile uint32_t value = 0U; - uint32_t result = 0U; - - value = 0x00000000U; - result = __CLZ(value); - ASSERT_TRUE(result == 32); - - value = 0x00000001U; - result = __CLZ(value); - ASSERT_TRUE(result == 31); - - value = 0x40000000U; - result = __CLZ(value); - ASSERT_TRUE(result == 1); - - value = 0x80000000U; - result = __CLZ(value); - ASSERT_TRUE(result == 0); - - value = 0xFFFFFFFFU; - result = __CLZ(value); - ASSERT_TRUE(result == 0); - - value = 0x80000001U; - result = __CLZ(value); - ASSERT_TRUE(result == 0); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_CoreInstr_SSAT -\details -- Check if __SSAT instrinsic saturates signed integer values. -*/ -void TC_CoreInstr_SSAT (void) { - volatile int32_t value = 0; - int32_t result = 0; - - value = INT32_MAX; - result = __SSAT(value, 32U); - ASSERT_TRUE(result == INT32_MAX); - - value = INT32_MAX; - result = __SSAT(value, 16U); - ASSERT_TRUE(result == INT16_MAX); - - value = INT32_MAX; - result = __SSAT(value, 8U); - ASSERT_TRUE(result == INT8_MAX); - - value = INT32_MAX; - result = __SSAT(value, 1U); - ASSERT_TRUE(result == 0); - - value = INT32_MIN; - result = __SSAT(value, 32U); - ASSERT_TRUE(result == INT32_MIN); - - value = INT32_MIN; - result = __SSAT(value, 16U); - ASSERT_TRUE(result == INT16_MIN); - - value = INT32_MIN; - result = __SSAT(value, 8U); - ASSERT_TRUE(result == INT8_MIN); - - value = INT32_MIN; - result = __SSAT(value, 1U); - ASSERT_TRUE(result == -1); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_CoreInstr_USAT -\details -- Check if __USAT instrinsic saturates unsigned integer values. -*/ -void TC_CoreInstr_USAT (void) { - volatile int32_t value = 0U; - uint32_t result = 0U; - - value = INT32_MAX; - result = __USAT(value, 31U); - ASSERT_TRUE(result == (UINT32_MAX >> 1U)); - - value = INT32_MAX; - result = __USAT(value, 16U); - ASSERT_TRUE(result == UINT16_MAX); - - value = INT32_MAX; - result = __USAT(value, 8U); - ASSERT_TRUE(result == UINT8_MAX); - - value = INT32_MAX; - result = __USAT(value, 0U); - ASSERT_TRUE(result == 0U); - - value = INT32_MIN; - result = __USAT(value, 31U); - ASSERT_TRUE(result == 0U); - - value = INT32_MIN; - result = __USAT(value, 16U); - ASSERT_TRUE(result == 0U); - - value = INT32_MIN; - result = __USAT(value, 8U); - ASSERT_TRUE(result == 0U); - - value = INT32_MIN; - result = __USAT(value, 0U); - ASSERT_TRUE(result == 0U); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_CoreInstr_RRX -\details -- Check if __USAT instrinsic saturates unsigned integer values. -*/ -void TC_CoreInstr_RRX (void) { -#if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ - (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ - (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8_1M_MAIN__ ) && (__ARM_ARCH_8_1M_MAIN__ == 1)) ) - - volatile uint32_t value = 0U; - volatile uint32_t result = 0U; - volatile xPSR_Type xPSR; - - value = 0x80000002; - xPSR.w = __get_xPSR(); - result = __RRX(value); - ASSERT_TRUE(result == (0x40000001 | (uint32_t)(xPSR.b.C << 31))); -#endif -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -#if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ - (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ - (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) || \ - (defined (__ARM_ARCH_8_1M_MAIN__ ) && (__ARM_ARCH_8_1M_MAIN__ == 1)) || \ - (defined(__CORTEX_A) ) ) - -/// Exclusive byte value -static volatile uint8_t TC_CoreInstr_LoadStoreExclusive_byte = 0x47U; - -/// Exclusive halfword value -static volatile uint16_t TC_CoreInstr_LoadStoreExclusive_hword = 0x0815U; - -/// Exclusive word value -static volatile uint32_t TC_CoreInstr_LoadStoreExclusive_word = 0x08154711U; - -/** -\brief Interrupt function for TC_CoreInstr_LoadStoreExclusive -\details -The interrupt manipulates all the global data -which disrupts the exclusive sequences in the test -*/ -static void TC_CoreInstr_LoadStoreExclusive_IRQHandler(void) { - - const uint8_t b = __LDREXB(&TC_CoreInstr_LoadStoreExclusive_byte); - __STREXB((uint8_t)~b, &TC_CoreInstr_LoadStoreExclusive_byte); - - const uint16_t hw = __LDREXH(&TC_CoreInstr_LoadStoreExclusive_hword); - __STREXH((uint16_t)~hw, &TC_CoreInstr_LoadStoreExclusive_hword); - - const uint32_t w = __LDREXW(&TC_CoreInstr_LoadStoreExclusive_word); - __STREXW((uint32_t)~w, &TC_CoreInstr_LoadStoreExclusive_word); -} - -/** -\brief Helper function for TC_CoreInstr_LoadStoreExclusive to enable test interrupt. -\details -This helper function implements interrupt enabling according to target -architecture, i.e. Cortex-A or Cortex-M. -*/ -static void TC_CoreInstr_LoadStoreExclusive_IRQEnable(void) { -#if defined(__CORTEX_M) - TST_IRQHandler = TC_CoreInstr_LoadStoreExclusive_IRQHandler; - NVIC_EnableIRQ(Interrupt0_IRQn); -#elif defined(__CORTEX_A) - IRQ_SetHandler(SGI0_IRQn, TC_CoreInstr_LoadStoreExclusive_IRQHandler); - IRQ_Enable(SGI0_IRQn); -#else - #error __CORTEX_M or __CORTEX_A must be defined! -#endif - __enable_irq(); -} - -/** -\brief Helper function for TC_CoreInstr_LoadStoreExclusive to set test interrupt pending. -\details -This helper function implements set pending the test interrupt according to target -architecture, i.e. Cortex-A or Cortex-M. -*/ -static void TC_CoreInstr_LoadStoreExclusive_IRQPend(void) { -#if defined(__CORTEX_M) - NVIC_SetPendingIRQ(Interrupt0_IRQn); -#elif defined(__CORTEX_A) - IRQ_SetPending(SGI0_IRQn); -#else - #error __CORTEX_M or __CORTEX_A must be defined! -#endif - for(uint32_t i = 10U; i > 0U; --i) {} -} - -/** -\brief Helper function for TC_CoreInstr_LoadStoreExclusive to disable test interrupt. -\details -This helper function implements interrupt disabling according to target -architecture, i.e. Cortex-A or Cortex-M. -*/ -static void TC_CoreInstr_LoadStoreExclusive_IRQDisable(void) { - __disable_irq(); -#if defined(__CORTEX_M) - NVIC_DisableIRQ(Interrupt0_IRQn); - TST_IRQHandler = NULL; -#elif defined(__CORTEX_A) - IRQ_Disable(SGI0_IRQn); - IRQ_SetHandler(SGI0_IRQn, NULL); -#else - #error __CORTEX_M or __CORTEX_A must be defined! -#endif -} -#endif - -/** -\brief Test case: TC_CoreInstr_LoadStoreExclusive -\details -Checks exclusive load and store instructions: -- LDREXB, LDREXH, LDREXW -- STREXB, STREXH, STREXW -- CLREX -*/ -void TC_CoreInstr_LoadStoreExclusive (void) { -#if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ - (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ - (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) || \ - (defined (__ARM_ARCH_8_1M_MAIN__ ) && (__ARM_ARCH_8_1M_MAIN__ == 1)) || \ - (defined(__CORTEX_A) ) ) - uint8_t u8, u8Inv; - uint16_t u16, u16Inv; - uint32_t u32, u32Inv; - uint32_t result; - - /* 1. Test exclusives without interruption */ - u8 = __LDREXB(&TC_CoreInstr_LoadStoreExclusive_byte); - ASSERT_TRUE(u8 == TC_CoreInstr_LoadStoreExclusive_byte); - - result = __STREXB(u8+1U, &TC_CoreInstr_LoadStoreExclusive_byte); - ASSERT_TRUE(result == 0U); - ASSERT_TRUE(TC_CoreInstr_LoadStoreExclusive_byte == u8+1U); - - u16 = __LDREXH(&TC_CoreInstr_LoadStoreExclusive_hword); - ASSERT_TRUE(u16 == TC_CoreInstr_LoadStoreExclusive_hword); - - result = __STREXH(u16+1U, &TC_CoreInstr_LoadStoreExclusive_hword); - ASSERT_TRUE(result == 0U); - ASSERT_TRUE(TC_CoreInstr_LoadStoreExclusive_hword == u16+1U); - - u32 = __LDREXW(&TC_CoreInstr_LoadStoreExclusive_word); - ASSERT_TRUE(u32 == TC_CoreInstr_LoadStoreExclusive_word); - - result = __STREXW(u32+1U, &TC_CoreInstr_LoadStoreExclusive_word); - ASSERT_TRUE(result == 0U); - ASSERT_TRUE(TC_CoreInstr_LoadStoreExclusive_word == u32+1U); - - /* 2. Test exclusives with clear */ - u8 = __LDREXB(&TC_CoreInstr_LoadStoreExclusive_byte); - ASSERT_TRUE(u8 == TC_CoreInstr_LoadStoreExclusive_byte); - - __CLREX(); - - result = __STREXB(u8+1U, &TC_CoreInstr_LoadStoreExclusive_byte); - ASSERT_TRUE(result == 1U); - ASSERT_TRUE(TC_CoreInstr_LoadStoreExclusive_byte == u8); - - u16 = __LDREXH(&TC_CoreInstr_LoadStoreExclusive_hword); - ASSERT_TRUE(u16 == TC_CoreInstr_LoadStoreExclusive_hword); - - __CLREX(); - - result = __STREXH(u16+1U, &TC_CoreInstr_LoadStoreExclusive_hword); - ASSERT_TRUE(result == 1U); - ASSERT_TRUE(TC_CoreInstr_LoadStoreExclusive_hword == u16); - - u32 = __LDREXW(&TC_CoreInstr_LoadStoreExclusive_word); - ASSERT_TRUE(u32 == TC_CoreInstr_LoadStoreExclusive_word); - - __CLREX(); - - result = __STREXW(u32+1U, &TC_CoreInstr_LoadStoreExclusive_word); - ASSERT_TRUE(result == 1U); - ASSERT_TRUE(TC_CoreInstr_LoadStoreExclusive_word == u32); - - /* 3. Test exclusives with interruption */ - TC_CoreInstr_LoadStoreExclusive_IRQEnable(); - - u8 = __LDREXB(&TC_CoreInstr_LoadStoreExclusive_byte); - ASSERT_TRUE(u8 == TC_CoreInstr_LoadStoreExclusive_byte); - - TC_CoreInstr_LoadStoreExclusive_IRQPend(); - - result = __STREXB(u8+1U, &TC_CoreInstr_LoadStoreExclusive_byte); - ASSERT_TRUE(result == 1U); - u8Inv = (uint8_t)~u8; - ASSERT_TRUE(u8Inv == TC_CoreInstr_LoadStoreExclusive_byte); - - u16 = __LDREXH(&TC_CoreInstr_LoadStoreExclusive_hword); - ASSERT_TRUE(u16 == TC_CoreInstr_LoadStoreExclusive_hword); - - TC_CoreInstr_LoadStoreExclusive_IRQPend(); - - result = __STREXH(u16+1U, &TC_CoreInstr_LoadStoreExclusive_hword); - ASSERT_TRUE(result == 1U); - u16Inv = (uint16_t)~u16; - ASSERT_TRUE(u16Inv == TC_CoreInstr_LoadStoreExclusive_hword); - - u32 = __LDREXW(&TC_CoreInstr_LoadStoreExclusive_word); - ASSERT_TRUE(u32 == TC_CoreInstr_LoadStoreExclusive_word); - - TC_CoreInstr_LoadStoreExclusive_IRQPend(); - - result = __STREXW(u32+1U, &TC_CoreInstr_LoadStoreExclusive_word); - ASSERT_TRUE(result == 1U); - u32Inv = (uint32_t)~u32; - ASSERT_TRUE(u32Inv == TC_CoreInstr_LoadStoreExclusive_word); - - TC_CoreInstr_LoadStoreExclusive_IRQDisable(); -#endif -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -#if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ - (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ - (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8_1M_MAIN__ ) && (__ARM_ARCH_8_1M_MAIN__ == 1)) ) - -/// byte value unprivileged access -static volatile uint8_t TC_CoreInstr_LoadStoreUnpriv_byte = 0x47U; - -/// halfword value unprivileged access -static volatile uint16_t TC_CoreInstr_LoadStoreUnpriv_hword = 0x0815U; - -/// word value unprivileged access -static volatile uint32_t TC_CoreInstr_LoadStoreUnpriv_word = 0x08154711U; -#endif - - -/** -\brief Test case: TC_CoreInstr_LoadStoreUnpriv -\details -Checks load/store unprivileged instructions: -- LDRBT, LDRHT, LDRT -- STRBT, STRHT, STRT -*/ -void TC_CoreInstr_LoadStoreUnpriv (void) { -#if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ - (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ - (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8_1M_MAIN__ ) && (__ARM_ARCH_8_1M_MAIN__ == 1)) ) - uint8_t u8 = 0U; - uint16_t u16 = 0U; - uint32_t u32 = 0U; - - /* 1. Test without interruption */ - u8 = __LDRBT(&TC_CoreInstr_LoadStoreUnpriv_byte); - ASSERT_TRUE(u8 == TC_CoreInstr_LoadStoreUnpriv_byte); - - __STRBT(u8+1U, &TC_CoreInstr_LoadStoreUnpriv_byte); - ASSERT_TRUE(TC_CoreInstr_LoadStoreUnpriv_byte == u8+1U); - - u16 = __LDRHT(&TC_CoreInstr_LoadStoreUnpriv_hword); - ASSERT_TRUE(u16 == TC_CoreInstr_LoadStoreUnpriv_hword); - - __STRHT(u16+1U, &TC_CoreInstr_LoadStoreUnpriv_hword); - ASSERT_TRUE(TC_CoreInstr_LoadStoreUnpriv_hword == u16+1U); - - u32 = __LDRT(&TC_CoreInstr_LoadStoreUnpriv_word); - ASSERT_TRUE(u32 == TC_CoreInstr_LoadStoreUnpriv_word); - - __STRT(u32+1U, &TC_CoreInstr_LoadStoreUnpriv_word); - ASSERT_TRUE(TC_CoreInstr_LoadStoreUnpriv_word == u32+1U); -#endif -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -#if ((defined (__ARM_ARCH_8_1M_MAIN__ ) && (__ARM_ARCH_8_1M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) - -/// byte value unprivileged access -static volatile uint8_t TC_CoreInstr_LoadStoreAcquire_byte = 0x47U; - -/// halfword value unprivileged access -static volatile uint16_t TC_CoreInstr_LoadStoreAcquire_hword = 0x0815U; - -/// word value unprivileged access -static volatile uint32_t TC_CoreInstr_LoadStoreAcquire_word = 0x08154711U; -#endif - - -/** -\brief Test case: TC_CoreInstr_LoadStoreAquire -\details -Checks Load-Acquire and Store-Release instructions: -- LDAB, LDAH, LDA -- STLB, STLH, STL -*/ -void TC_CoreInstr_LoadStoreAcquire (void) { -#if ((defined (__ARM_ARCH_8_1M_MAIN__ ) && (__ARM_ARCH_8_1M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) - uint8_t u8 = 0U; - uint16_t u16 = 0U; - uint32_t u32 = 0U; - - /* 1. Test without interruption */ - u8 = __LDAB(&TC_CoreInstr_LoadStoreAcquire_byte); - ASSERT_TRUE(u8 == TC_CoreInstr_LoadStoreAcquire_byte); - - __STLB(u8+1U, &TC_CoreInstr_LoadStoreAcquire_byte); - ASSERT_TRUE(TC_CoreInstr_LoadStoreAcquire_byte == u8+1U); - - u16 = __LDAH(&TC_CoreInstr_LoadStoreAcquire_hword); - ASSERT_TRUE(u16 == TC_CoreInstr_LoadStoreAcquire_hword); - - __STLH(u16+1U, &TC_CoreInstr_LoadStoreAcquire_hword); - ASSERT_TRUE(TC_CoreInstr_LoadStoreAcquire_hword == u16+1U); - - u32 = __LDA(&TC_CoreInstr_LoadStoreAcquire_word); - ASSERT_TRUE(u32 == TC_CoreInstr_LoadStoreAcquire_word); - - __STL(u32+1U, &TC_CoreInstr_LoadStoreAcquire_word); - ASSERT_TRUE(TC_CoreInstr_LoadStoreAcquire_word == u32+1U); -#endif -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -#if ((defined (__ARM_ARCH_8_1M_MAIN__ ) && (__ARM_ARCH_8_1M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) - -/// byte value unprivileged access -static volatile uint8_t TC_CoreInstr_LoadStoreAcquireExclusive_byte = 0x47U; - -/// halfword value unprivileged access -static volatile uint16_t TC_CoreInstr_LoadStoreAcquireExclusive_hword = 0x0815U; - -/// word value unprivileged access -static volatile uint32_t TC_CoreInstr_LoadStoreAcquireExclusive_word = 0x08154711U; -#endif - - -/** -\brief Test case: TC_CoreInstr_LoadStoreAquire -\details -Checks Load-Acquire and Store-Release exclusive instructions: -- LDAEXB, LDAEXH, LDAEX -- STLEXB, STLEXH, STLEX -*/ -void TC_CoreInstr_LoadStoreAcquireExclusive (void) { -#if ((defined (__ARM_ARCH_8_1M_MAIN__ ) && (__ARM_ARCH_8_1M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ - (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) - uint8_t u8 = 0U; - uint16_t u16 = 0U; - uint32_t u32 = 0U; - uint32_t result = 0U; - - /* 1. Test without interruption */ - u8 = __LDAEXB(&TC_CoreInstr_LoadStoreAcquireExclusive_byte); - ASSERT_TRUE(u8 == TC_CoreInstr_LoadStoreAcquireExclusive_byte); - - result = __STLEXB(u8+1U, &TC_CoreInstr_LoadStoreAcquireExclusive_byte); - ASSERT_TRUE(result == 0U); - ASSERT_TRUE(TC_CoreInstr_LoadStoreAcquireExclusive_byte == u8+1U); - - u16 = __LDAEXH(&TC_CoreInstr_LoadStoreAcquireExclusive_hword); - ASSERT_TRUE(u16 == TC_CoreInstr_LoadStoreAcquireExclusive_hword); - - result = __STLEXH(u16+1U, &TC_CoreInstr_LoadStoreAcquireExclusive_hword); - ASSERT_TRUE(result == 0U); - ASSERT_TRUE(TC_CoreInstr_LoadStoreAcquireExclusive_hword == u16+1U); - - u32 = __LDAEX(&TC_CoreInstr_LoadStoreAcquireExclusive_word); - ASSERT_TRUE(u32 == TC_CoreInstr_LoadStoreAcquireExclusive_word); - - result = __STLEX(u32+1U, &TC_CoreInstr_LoadStoreAcquireExclusive_word); - ASSERT_TRUE(result == 0U); - ASSERT_TRUE(TC_CoreInstr_LoadStoreAcquireExclusive_word == u32+1U); -#endif -} - - -/** -\brief Test case: TC_CoreInstr_UnalignedUint16 -\details -Checks macro functions to access unaligned uint16_t values: -- __UNALIGNED_UINT16_READ -- __UNALIGNED_UINT16_WRITE -*/ -void TC_CoreInstr_UnalignedUint16(void) { - uint8_t buffer[3] = { 0U, 0U, 0U }; - uint16_t val; - - for(int i=0; i<2; i++) { - __UNALIGNED_UINT16_WRITE(&(buffer[i]), 0x4711U); - ASSERT_TRUE(buffer[i] == 0x11U); - ASSERT_TRUE(buffer[i+1] == 0x47U); - ASSERT_TRUE(buffer[(i+2)%3] == 0x00U); - - buffer[i] = 0x12U; - buffer[i+1] = 0x46U; - - val = __UNALIGNED_UINT16_READ(&(buffer[i])); - ASSERT_TRUE(val == 0x4612U); - - buffer[i] = 0x00U; - buffer[i+1] = 0x00U; - } -} - - -/** -\brief Test case: TC_CoreInstr_UnalignedUint32 -\details -Checks macro functions to access unaligned uint32_t values: -- __UNALIGNED_UINT32_READ -- __UNALIGNED_UINT32_WRITE -*/ -void TC_CoreInstr_UnalignedUint32(void) { - uint8_t buffer[7] = { 0U, 0U, 0U, 0U, 0U, 0U, 0U }; - uint32_t val; - - for(int i=0; i<4; i++) { - __UNALIGNED_UINT32_WRITE(&(buffer[i]), 0x08154711UL); - ASSERT_TRUE(buffer[i+0] == 0x11U); - ASSERT_TRUE(buffer[i+1] == 0x47U); - ASSERT_TRUE(buffer[i+2] == 0x15U); - ASSERT_TRUE(buffer[i+3] == 0x08U); - ASSERT_TRUE(buffer[(i+4)%7] == 0x00U); - ASSERT_TRUE(buffer[(i+5)%7] == 0x00U); - ASSERT_TRUE(buffer[(i+6)%7] == 0x00U); - - buffer[i+0] = 0x12U; - buffer[i+1] = 0x46U; - buffer[i+2] = 0x14U; - buffer[i+3] = 0x09U; - - val = __UNALIGNED_UINT32_READ(&(buffer[i])); - ASSERT_TRUE(val == 0x09144612UL); - - buffer[i+0] = 0x00U; - buffer[i+1] = 0x00U; - buffer[i+2] = 0x00U; - buffer[i+3] = 0x00U; - } -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Source/CV_CoreSimd.c b/external/CMSIS_5/CMSIS/CoreValidation/Source/CV_CoreSimd.c deleted file mode 100644 index 8068537..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Source/CV_CoreSimd.c +++ /dev/null @@ -1,713 +0,0 @@ -/*----------------------------------------------------------------------------- - * Name: CV_CoreSimd.c - * Purpose: CMSIS CORE validation tests implementation - *----------------------------------------------------------------------------- - * Copyright (c) 2018 Arm Limited. All rights reserved. - *----------------------------------------------------------------------------*/ - -#include "CV_Framework.h" -#include "cmsis_cv.h" - -/*----------------------------------------------------------------------------- - * Test implementation - *----------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------- - * Test cases - *----------------------------------------------------------------------------*/ - -/** -\brief Test case: TC_CoreSimd_SatAddSub -\details -- Check Saturating addition and subtraction: - __QADD - __QSUB -*/ -void TC_CoreSimd_SatAddSub (void) { -#if ((defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ - (defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1)) ) - volatile int32_t op1_s32, op2_s32; - volatile int32_t res_s32; - - /* --- __QADD Test ---------------------------------------------- */ - op1_s32 = (int32_t)0x80000003; - op2_s32 = (int32_t)0x00000004; - res_s32 = __QADD(op1_s32, op2_s32); - ASSERT_TRUE(res_s32 == (int32_t)0x80000007); - - op1_s32 = (int32_t)0x80000000; - op2_s32 = (int32_t)0x80000002; - res_s32 = __QADD(op1_s32, op2_s32); - ASSERT_TRUE(res_s32 == (int32_t)0x80000000); - - /* --- __QSUB Test ---------------------------------------------- */ - op1_s32 = (int32_t)0x80000003; - op2_s32 = (int32_t)0x00000004; - res_s32 = __QSUB(op1_s32, op2_s32); - ASSERT_TRUE(res_s32 == (int32_t)0x80000000); - - op1_s32 = (int32_t)0x80000003; - op2_s32 = (int32_t)0x00000002; - res_s32 = __QSUB(op1_s32, op2_s32); - ASSERT_TRUE(res_s32 == (int32_t)0x80000001); -#endif -} - -/** -\brief Test case: TC_CoreSimd_ParSat16 -\details -- Check Parallel 16-bit saturation: - __SSAT16 - __USAT16 -*/ -void TC_CoreSimd_ParSat16 (void) { -#if ((defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ - (defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1)) ) - volatile int32_t op1_s32; - volatile int32_t res_s32; - - /* --- __SSAT16 Test ---------------------------------------------- */ - op1_s32 = (int32_t)0x80030168; - res_s32 = __SSAT16(op1_s32, 8); - ASSERT_TRUE(res_s32 == (int32_t)0xFF80007F); - - /* --- __USAT16 Test ---------------------------------------------- */ - op1_s32 = 0x0030168; - res_s32 = __USAT16(op1_s32, 8); - ASSERT_TRUE(res_s32 == 0x000300FF); -#endif -} - -/** -\brief Test case: TC_CoreSimd_PackUnpack -\details -- Check Packing and unpacking: - __SXTB16 - __SXTB16_RORn - __SXTAB16 - __SXTAB16__RORn - __UXTB16 - __UXTAB16 -*/ -void TC_CoreSimd_PackUnpack (void) { -#if ((defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ - (defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1)) ) - volatile int32_t op1_s32, op2_s32; - volatile int32_t res_s32; - - /* --- __SXTB16 Test ---------------------------------------------- */ - op1_s32 = (int32_t)0x80830168; - res_s32 = __SXTB16(op1_s32); - ASSERT_TRUE(res_s32 == (int32_t)0xFF830068); - - /* --- __SXTB16_ROR8 Test ----------------------------------------- */ - op1_s32 = (int32_t)0x80830168; - res_s32 = __SXTB16_RORn(op1_s32, 8); - ASSERT_TRUE(res_s32 == (int32_t)0xFF800001); - - /* --- __SXTB16_ROR16 Test ---------------------------------------- */ - op1_s32 = (int32_t)0x80830168; - res_s32 = __SXTB16_RORn(op1_s32, 16); - ASSERT_TRUE(res_s32 == (int32_t)0x68FF83); - - /* --- __SXTB16_ROR24 Test ---------------------------------------- */ - op1_s32 = (int32_t)0x80830168; - res_s32 = __SXTB16_RORn(op1_s32, 24); - ASSERT_TRUE(res_s32 == (int32_t)0x1FF80); - - /* --- __SXTAB16 Test --------------------------------------------- */ - op1_s32 = (int32_t)0x000D0008; - op2_s32 = (int32_t)0x80830168; - res_s32 = __SXTAB16(op1_s32, op2_s32); - ASSERT_TRUE(res_s32 == (int32_t)0xFF900070); - - /* --- __SXTAB16__ROR8 Test --------------------------------------- */ - op1_s32 = (int32_t)0x000A000A; - op2_s32 = (int32_t)0x80830168; - res_s32 = __SXTAB16_RORn(op1_s32, op2_s32, 8); - ASSERT_TRUE(res_s32 == (int32_t)0xFF8A000B); - - /* --- __SXTAB16__ROR8 Test --------------------------------------- */ - op1_s32 = (int32_t)0xFFF6FFF6; - op2_s32 = (int32_t)0x80830168; - res_s32 = __SXTAB16_RORn(op1_s32, op2_s32, 8); - ASSERT_TRUE(res_s32 == (int32_t)0xFF76FFF7); - - /* --- __SXTAB16__ROR16 Test -------------------------------------- */ - op1_s32 = (int32_t)0xFFF60015; - op2_s32 = (int32_t)0x70880168; - res_s32 = __SXTAB16_RORn(op1_s32, op2_s32, 16); - ASSERT_TRUE(res_s32 == (int32_t)0x5EFF9D); - - /* --- __SXTAB16__ROR24 Test -------------------------------------- */ - op1_s32 = (int32_t)0xFFF60015; - op2_s32 = (int32_t)0x70880168; - res_s32 = __SXTAB16_RORn(op1_s32, op2_s32, 24); - ASSERT_TRUE(res_s32 == (int32_t)0xFFF70085); - - /* --- __UXTB16 Test ---------------------------------------------- */ - op1_s32 = (int32_t)0x80830168; - res_s32 = __UXTB16(op1_s32); - ASSERT_TRUE(res_s32 == 0x00830068); - - /* --- __UXTAB16 Test --------------------------------------------- */ - op1_s32 = 0x000D0008; - op2_s32 = (int32_t)0x80830168; - res_s32 = __UXTAB16(op1_s32, op2_s32); - ASSERT_TRUE(res_s32 == 0x00900070); -#endif -} - -/** -\brief Test case: TC_CoreSimd_ParSel -\details -- Check Parallel selection: - __SEL -*/ -void TC_CoreSimd_ParSel (void) { -#if ((defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ - (defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1)) ) - volatile uint32_t res_u32; - - volatile int32_t op1_s32, op2_s32; - volatile int32_t res_s32; - - APSR_Type apsr; - xPSR_Type xpsr; - - /* --- __SEL Test ---------------------------------------------- */ - op1_s32 = 0x33221100; - op2_s32 = 0x77665544; - - res_s32 = __SADD8(0x80808080, 0x00000000); /* __sadd8 sets APSR.GE = 0x00 */ - res_u32 = __get_APSR(); - apsr.w = __get_APSR(); - ASSERT_TRUE( (res_u32 == apsr.w) ); - xpsr.w = __get_xPSR(); - ASSERT_TRUE( (((res_u32 >> 16) & 0x0F) == xpsr.b.GE) ); - res_s32 = __SEL(op1_s32, op2_s32); /* __sel APSR.GE = 0x00 */ - ASSERT_TRUE( res_s32 == 0x77665544); - - res_s32 = __SADD8(0x80808000, 0x00000000); /* __sadd8 sets APSR.GE = 0x01 */ - res_u32 = __get_APSR(); - apsr.w = __get_APSR(); - ASSERT_TRUE( (res_u32 == apsr.w) ); - xpsr.w = __get_xPSR(); - ASSERT_TRUE( (((res_u32 >> 16) & 0x0F) == xpsr.b.GE) ); - res_s32 = __SEL(op1_s32, op2_s32); /* __sel APSR.GE = 0x01 */ - ASSERT_TRUE(res_s32 == 0x77665500); - - res_s32 = __SADD8(0x80800080, 0x00000000); /* __sadd8 sets APSR.GE = 0x02 */ - res_u32 = __get_APSR(); - apsr.w = __get_APSR(); - ASSERT_TRUE( (res_u32 == apsr.w) ); - xpsr.w = __get_xPSR(); - ASSERT_TRUE( (((res_u32 >> 16) & 0x0F) == xpsr.b.GE) ); - res_s32 = __SEL(op1_s32, op2_s32); /* __sel APSR.GE = 0x02 */ - ASSERT_TRUE(res_s32 == 0x77661144); -#endif -} - -/** -\brief Test case: TC_CoreSimd_ParAddSub8 -\details -- Check Parallel 8-bit addition and subtraction: - __SADD8 S Signed - __SSUB8 Q Signed Saturating - __SHADD8 SH Signed Halving - __SHSUB8 U Unsigned - __QADD8 UQ Unsigned Saturating - __QSUB8 UH Unsigned Halving - __UADD8 - __USUB8 - __UHADD8 - __UHSUB8 - __UQADD8 - __UQSUB8 -*/ -void TC_CoreSimd_ParAddSub8 (void) { -#if ((defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ - (defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1)) ) - volatile uint32_t op1_u32, op2_u32; - volatile uint32_t res_u32; - - volatile int32_t op1_s32, op2_s32; - volatile int32_t res_s32; - - /* --- __SADD8 Test ---------------------------------------------- */ - op1_s32 = (int32_t)0x87858381; - op2_s32 = (int32_t)0x08060402; - res_s32 = __SADD8(op1_s32, op2_s32); - ASSERT_TRUE(res_s32 == (int32_t)0x8F8B8783); - - /* --- __SSUB8 Test ---------------------------------------------- */ - op1_s32 = (int32_t)0x8F8B8783; - op2_s32 = (int32_t)0x08060402; - res_s32 = __SSUB8(op1_s32, op2_s32); - ASSERT_TRUE(res_s32 == (int32_t)0x87858381); - - /* --- __SHADD8 Test ---------------------------------------------- */ - op1_s32 = 0x07050302; - op2_s32 = 0x08060402; - res_s32 = __SHADD8(op1_s32, op2_s32); - ASSERT_TRUE(res_s32 == 0x07050302); - - /* --- __SHSUB8 Test ---------------------------------------------- */ - op1_s32 = (int32_t)0x8F8B8783; - op2_s32 = 0x08060402; - res_s32 = __SHSUB8(op1_s32, op2_s32); - ASSERT_TRUE(res_s32 == (int32_t)0xC3C2C1C0); - - /* --- __QADD8 Test ---------------------------------------------- */ - op1_s32 = (int32_t)0x8085837F; - op2_s32 = (int32_t)0xFF060402; - res_s32 = __QADD8(op1_s32, op2_s32); - ASSERT_TRUE(res_s32 == (int32_t)0x808B877F); - - /* --- __QSUB8 Test ---------------------------------------------- */ - op1_s32 = (int32_t)0x808B8783; - op2_s32 = (int32_t)0x08060402; - res_s32 = __QSUB8(op1_s32, op2_s32); - ASSERT_TRUE(res_s32 == (int32_t)0x80858381); - - /* --- __UADD8 Test ---------------------------------------------- */ - op1_u32 = 0x07050301; - op2_u32 = 0x08060402; - res_u32 = __UADD8(op1_u32, op2_u32); - ASSERT_TRUE(res_u32 == 0x0F0B0703); - - /* --- __USUB8 Test ---------------------------------------------- */ - op1_u32 = 0x0F0B0703; - op2_u32 = 0x08060402; - res_u32 = __USUB8(op1_u32, op2_u32); - ASSERT_TRUE(res_u32 == 0x07050301); - - /* --- __UHADD8 Test ---------------------------------------------- */ - op1_u32 = 0x07050302; - op2_u32 = 0x08060402; - res_u32 = __UHADD8(op1_u32, op2_u32); - ASSERT_TRUE(res_u32 == 0x07050302); - - /* --- __UHSUB8 Test ---------------------------------------------- */ - op1_u32 = 0x0F0B0703; - op2_u32 = 0x08060402; - res_u32 = __UHSUB8(op1_u32, op2_u32); - ASSERT_TRUE(res_u32 == 0x03020100); - - /* --- __UQADD8 Test ---------------------------------------------- */ - op1_u32 = 0xFF050301; - op2_u32 = 0x08060402; - res_u32 = __UQADD8(op1_u32, op2_u32); - ASSERT_TRUE(res_u32 == 0xFF0B0703); - - /* --- __UQSUB8 Test ---------------------------------------------- */ - op1_u32 = 0x080B0702; - op2_u32 = 0x0F060408; - res_u32 = __UQSUB8(op1_u32, op2_u32); - ASSERT_TRUE(res_u32 == 0x00050300); -#endif -} - -/** -\brief Test case: TC_CoreSimd_AbsDif8 -\details -- Check Sum of 8-bit absolute differences: - __USAD8 - __USADA8 -*/ -void TC_CoreSimd_AbsDif8 (void) { -#if ((defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ - (defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1)) ) - volatile uint32_t op1_u32, op2_u32, op3_u32; - volatile uint32_t res_u32; - - /* --- __USAD8 Test ---------------------------------------------- */ - op1_u32 = 0x87858381; - op2_u32 = 0x08060402; - res_u32 = __USAD8(op1_u32, op2_u32); - ASSERT_TRUE(res_u32 == 0x000001FC); - - /* --- __USADA8 Test ---------------------------------------------- */ - op1_u32 = 0x87858381; - op2_u32 = 0x08060402; - op3_u32 = 0x00008000; - res_u32 = __USADA8(op1_u32, op2_u32, op3_u32); - ASSERT_TRUE(res_u32 == 0x000081FC); -#endif -} - -/** -\brief Test case: TC_CoreSimd_ParAddSub16 -\details -- Check Parallel 16-bit addition and subtraction: - __SADD16 - __SSUB16 - __SASX - __SSAX - __SHADD16 - __SHSUB16 - __SHASX - __SHSAX - __QADD16 - __QSUB16 - __QASX - __QSAX - __UADD16 - __USUB16 - __UASX - __USAX - __UHADD16 - __UHSUB16 - __UHASX - __UHSAX - __UQSUB16 - __UQADD16 - __UQASX - __UQSAX -*/ -void TC_CoreSimd_ParAddSub16 (void) { -#if ((defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ - (defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1)) ) - volatile uint32_t op1_u32, op2_u32; - volatile uint32_t res_u32; - - volatile int32_t op1_s32, op2_s32; - volatile int32_t res_s32; - - /* --- __SADD16 Test ---------------------------------------------- */ - op1_s32 = (int32_t)0x80038001; - op2_s32 = (int32_t)0x00040002; - res_s32 = __SADD16(op1_s32, op2_s32); - ASSERT_TRUE(res_s32 == (int32_t)0x80078003); - - /* --- __SSUB16 Test ---------------------------------------------- */ - op1_s32 = (int32_t)0x80078003; - op2_s32 = (int32_t)0x00040002; - res_s32 = __SSUB16(op1_s32, op2_s32); - ASSERT_TRUE(res_s32 == (int32_t)0x80038001); - - /* --- __SASX Test ---------------------------------------------- */ - op1_s32 = (int32_t)0x80078003; - op2_s32 = (int32_t)0x00040002; - res_s32 = __SASX(op1_s32, op2_s32); - ASSERT_TRUE(res_s32 == (int32_t)0x80097FFF); - - /* --- __SSAX Test ---------------------------------------------- */ - op1_s32 = (int32_t)0x80038007; - op2_s32 = (int32_t)0x00020004; - res_s32 = __SSAX(op1_s32, op2_s32); - ASSERT_TRUE(res_s32 == (int32_t)0x7FFF8009); - - /* --- __SHADD16 Test ---------------------------------------------- */ - op1_s32 = (int32_t)0x80038001; - op2_s32 = (int32_t)0x00040002; - res_s32 = __SHADD16(op1_s32, op2_s32); - ASSERT_TRUE(res_s32 == (int32_t)0xC003C001); - - /* --- __SHSUB16 Test ---------------------------------------------- */ - op1_s32 = (int32_t)0x80078003; - op2_s32 = (int32_t)0x00040002; - res_s32 = __SHSUB16(op1_s32, op2_s32); - ASSERT_TRUE(res_s32 == (int32_t)0xC001C000); - - /* --- __SHASX Test ---------------------------------------------- */ - op1_s32 = (int32_t)0x80078003; - op2_s32 = (int32_t)0x00040002; - res_s32 = __SHASX(op1_s32, op2_s32); - ASSERT_TRUE(res_s32 == (int32_t)0xC004BFFF); - - /* --- __SHSAX Test ---------------------------------------------- */ - op1_s32 = (int32_t)0x80038007; - op2_s32 = (int32_t)0x00020004; - res_s32 = __SHSAX(op1_s32, op2_s32); - ASSERT_TRUE(res_s32 == (int32_t)0xBFFFC004); - - /* --- __QADD16 Test ---------------------------------------------- */ - op1_s32 = (int32_t)0x80038000; - op2_s32 = (int32_t)0x00048002; - res_s32 = __QADD16(op1_s32, op2_s32); - ASSERT_TRUE(res_s32 == (int32_t)0x80078000); - - /* --- __QSUB16 Test ---------------------------------------------- */ - op1_s32 = (int32_t)0x80038003; - op2_s32 = (int32_t)0x00040002; - res_s32 = __QSUB16(op1_s32, op2_s32); - ASSERT_TRUE(res_s32 == (int32_t)0x80008001); - - /* --- __QASX Test ---------------------------------------------- */ - op1_s32 = (int32_t)0x80078003; - op2_s32 = (int32_t)0x00040002; - res_s32 = __QASX(op1_s32, op2_s32); - ASSERT_TRUE(res_s32 == (int32_t)0x80098000); - - /* --- __QSAX Test ---------------------------------------------- */ - op1_s32 = (int32_t)0x80038007; - op2_s32 = (int32_t)0x00020004; - res_s32 = __QSAX(op1_s32, op2_s32); - ASSERT_TRUE(res_s32 == (int32_t)0x80008009); - - /* --- __UADD16 Test ---------------------------------------------- */ - op1_u32 = 0x00010002; - op2_u32 = 0x00020004; - res_u32 = __UADD16(op1_u32, op2_u32); - ASSERT_TRUE(res_u32 == 0x00030006); - - /* --- __USUB16 Test ---------------------------------------------- */ - op1_u32 = 0x00030006; - op2_u32 = 0x00020004; - res_u32 = __USUB16(op1_u32, op2_u32); - ASSERT_TRUE(res_u32 == 0x00010002); - - /* --- __UASX Test ---------------------------------------------- */ - op1_u32 = 0x80078003; - op2_u32 = 0x00040002; - res_u32 = __UASX(op1_u32, op2_u32); - ASSERT_TRUE(res_u32 == 0x80097FFF); - - /* --- __USAX Test ---------------------------------------------- */ - op1_u32 = 0x80038007; - op2_u32 = 0x00020004; - res_u32 = __USAX(op1_u32, op2_u32); - ASSERT_TRUE(res_u32 == 0x7FFF8009); - - /* --- __UHADD16 Test ---------------------------------------------- */ - op1_u32 = 0x00010002; - op2_u32 = 0x00020004; - res_u32 = __UHADD16(op1_u32, op2_u32); - ASSERT_TRUE(res_u32 == 0x00010003); - - /* --- __UHSUB16 Test ---------------------------------------------- */ - op1_u32 = 0x00030006; - op2_u32 = 0x00020004; - res_u32 = __UHSUB16(op1_u32, op2_u32); - ASSERT_TRUE(res_u32 == 0x00000001); - - /* --- __UHASX Test ---------------------------------------------- */ - op1_u32 = 0x80078003; - op2_u32 = 0x00040002; - res_u32 = __UHASX(op1_u32, op2_u32); - ASSERT_TRUE(res_u32 == 0x40043FFF); - - /* --- __UHSAX Test ---------------------------------------------- */ - op1_u32 = 0x80038007; - op2_u32 = 0x00020004; - res_u32 = __UHSAX(op1_u32, op2_u32); - ASSERT_TRUE(res_u32 == 0x3FFF4004); - - /* --- __UQADD16 Test ---------------------------------------------- */ - op1_u32 = 0xFFFE0002; - op2_u32 = 0x00020004; - res_u32 = __UQADD16(op1_u32, op2_u32); - ASSERT_TRUE(res_u32 == 0xFFFF0006); - - /* --- __UQSUB16 Test ---------------------------------------------- */ - op1_u32 = 0x00020006; - op2_u32 = 0x00030004; - res_u32 = __UQSUB16(op1_u32, op2_u32); - ASSERT_TRUE(res_u32 == 0x00000002); - - /* --- __UQASX Test ---------------------------------------------- */ - op1_u32 = 0xFFF80003; - op2_u32 = 0x00040009; - res_u32 = __UQASX(op1_u32, op2_u32); - ASSERT_TRUE(res_u32 == 0xFFFF0000); - - /* --- __UQSAX Test ---------------------------------------------- */ - op1_u32 = 0x0003FFF8; - op2_u32 = 0x00090004; - res_u32 = __UQSAX(op1_u32, op2_u32); - ASSERT_TRUE(res_u32 == 0x0000FFFF); -#endif -} - -/** -\brief Test case: TC_CoreSimd_ParMul16 -\details -- Check Parallel 16-bit multiplication: - __SMLAD - __SMLADX - __SMLALD - __SMLALDX - __SMLSD - __SMLSDX - __SMLSLD - __SMLSLDX - __SMUAD - __SMUADX - __SMUSD - __SMUSDX -*/ -void TC_CoreSimd_ParMul16 (void) { -#if ((defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ - (defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1)) ) - volatile int32_t op1_s32, op2_s32, op3_s32; - volatile int32_t res_s32; - - volatile int64_t op1_s64; - volatile int64_t res_s64; - - /* --- __SMLAD Test ---------------------------------------------- */ - op1_s32 = 0x00030002; - op2_s32 = 0x00050004; - op3_s32 = 0x20000000; - res_s32 = __SMLAD(op1_s32, op2_s32, op3_s32); - ASSERT_TRUE(res_s32 == 0x20000017); - - /* --- __SMLADX Test ---------------------------------------------- */ - op1_s32 = 0x00030002; - op2_s32 = 0x00050004; - op3_s32 = 0x00000800; - res_s32 = __SMLADX(op1_s32, op2_s32, op3_s32); - ASSERT_TRUE(res_s32 == 0x00000816); - - /* --- __SMLALD Test ---------------------------------------------- */ - op1_s32 = 0x00030002; - op2_s32 = 0x00050004; - op1_s64 = 0x00000000200000000LL; - res_s64 = __SMLALD(op1_s32, op2_s32, op1_s64); - ASSERT_TRUE(res_s64 == 0x0000000200000017LL); - - /* --- __SMLALDX Test ---------------------------------------------- */ - op1_s32 = 0x00030002; - op2_s32 = 0x00050004; - op1_s64 = 0x00000000200000000LL; - res_s64 = __SMLALDX(op1_s32, op2_s32, op1_s64); - ASSERT_TRUE(res_s64 == 0x0000000200000016LL); - - /* --- __SMLSD Test ---------------------------------------------- */ - op1_s32 = 0x00030006; - op2_s32 = 0x00050004; - op3_s32 = 0x00000800; - res_s32 = __SMLSD(op1_s32, op2_s32, op3_s32); - ASSERT_TRUE(res_s32 == 0x00000809); - - /* --- __SMLSDX Test ---------------------------------------------- */ - op1_s32 = 0x00030002; - op2_s32 = 0x00050004; - op3_s32 = 0x00000800; - res_s32 = __SMLSDX(op1_s32, op2_s32, op3_s32); - ASSERT_TRUE(res_s32 == 0x000007FE); - - /* --- __SMLSLD Test ---------------------------------------------- */ - op1_s32 = 0x00030006; - op2_s32 = 0x00050004; - op1_s64 = 0x00000000200000000LL; - res_s64 = __SMLSLD(op1_s32, op2_s32, op1_s64); - ASSERT_TRUE(res_s64 == 0x0000000200000009LL); - - /* --- __SMLSLDX Test ---------------------------------------------- */ - op1_s32 = 0x00030006; - op2_s32 = 0x00050004; - op1_s64 = 0x00000000200000000LL; - res_s64 = __SMLSLDX(op1_s32, op2_s32, op1_s64); - ASSERT_TRUE(res_s64 == 0x0000000200000012LL); - - /* --- __SMUAD Test ---------------------------------------------- */ - op1_s32 = 0x00030001; - op2_s32 = 0x00040002; - res_s32 = __SMUAD(op1_s32,op2_s32); - ASSERT_TRUE(res_s32 == 0x0000000E); - - op1_s32 = (int32_t)0xFFFDFFFF; - op2_s32 = (int32_t)0x00040002; - res_s32 = __SMUAD(op1_s32,op2_s32); - ASSERT_TRUE(res_s32 == (int32_t)0xFFFFFFF2); - - /* --- __SMUADX Test ---------------------------------------------- */ - op1_s32 = 0x00030001; - op2_s32 = 0x00040002; - res_s32 = __SMUADX(op1_s32,op2_s32); - ASSERT_TRUE(res_s32 == 0x0000000A); - - op1_s32 = (int32_t)0xFFFDFFFF; - op2_s32 = (int32_t)0x00040002; - res_s32 = __SMUADX(op1_s32,op2_s32); - ASSERT_TRUE(res_s32 == (int32_t)0xFFFFFFF6); - - /* --- __SMUSD Test ---------------------------------------------- */ - op1_s32 = (int32_t)0x00030001; - op2_s32 = (int32_t)0x00040002; - res_s32 = __SMUSD(op1_s32,op2_s32); - ASSERT_TRUE(res_s32 == (int32_t)0xFFFFFFF6); - - op1_s32 = (int32_t)0xFFFDFFFF; - op2_s32 = (int32_t)0x00040002; - res_s32 = __SMUSD(op1_s32,op2_s32); - ASSERT_TRUE(res_s32 == 0x0000000A); - - /* --- __SMUSDX Test ---------------------------------------------- */ - op1_s32 = 0x00030001; - op2_s32 = 0x00040002; - res_s32 = __SMUSDX(op1_s32,op2_s32); - ASSERT_TRUE(res_s32 == (int32_t)0xFFFFFFFE); - - op1_s32 = (int32_t)0xFFFDFFFF; - op2_s32 = (int32_t)0x00040002; - res_s32 = __SMUSDX(op1_s32,op2_s32); - ASSERT_TRUE(res_s32 == (int32_t)0x00000002); -#endif -} - -/** -\brief Test case: TC_CoreSimd_Part9 -\details -- Check Packing Halfword: - __PKHBT - __PKHTB -*/ -void TC_CoreSimd_Pack16 (void) { -#if ((defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ - (defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1)) ) - volatile uint32_t op1_u32, op2_u32; - volatile uint32_t res_u32; - - /* --- __PKHBT Test ---------------------------------------------- */ - op1_u32 = 0x00000111; - op2_u32 = 0x22200000; - res_u32 = __PKHBT(op1_u32, op2_u32, 0); - ASSERT_TRUE(res_u32 == 0x22200111); - - op1_u32 = 0x00000111; - op2_u32 = 0x22200000; - res_u32 = __PKHBT(op1_u32, op2_u32, 4); - ASSERT_TRUE(res_u32 == 0x22000111); - - /* --- __PKHTB Test ---------------------------------------------- */ - op1_u32 = 0x11100000; - op2_u32 = 0x00000222; - res_u32 = __PKHTB(op1_u32, op2_u32, 0); - ASSERT_TRUE(res_u32 == 0x11100222); - - op1_u32 = 0x11100000; - op2_u32 = 0x00000222; - res_u32 = __PKHTB(op1_u32, op2_u32, 4); - ASSERT_TRUE(res_u32 == 0x11100022); -#endif -} - -/** -\brief Test case: TC_CoreSimd_MulAcc32 -\details -- Check Signed Most Significant Word Multiply Accumulate: - __SMMLA -*/ -void TC_CoreSimd_MulAcc32 (void) { -#if ((defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ - (defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1)) ) - volatile int32_t op1_s32, op2_s32, op3_s32; - volatile int32_t res_s32; - - /* --- __SMMLA Test ---------------------------------------------- */ - op1_s32 = 0x00000200; - op2_s32 = 0x00000004; - op3_s32 = 0x00000100; - res_s32 = __SMMLA(op1_s32, op2_s32, op3_s32); - ASSERT_TRUE(res_s32 == 0x00000100); - - op1_s32 = 0x40000000; - op2_s32 = 0x00000010; - op3_s32 = 0x00000300; - res_s32 = __SMMLA(op1_s32, op2_s32, op3_s32); - ASSERT_TRUE(res_s32 == 0x00000304); -#endif -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Source/CV_Framework.c b/external/CMSIS_5/CMSIS/CoreValidation/Source/CV_Framework.c deleted file mode 100644 index 112c828..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Source/CV_Framework.c +++ /dev/null @@ -1,104 +0,0 @@ -/*----------------------------------------------------------------------------- - * Name: cv_framework.c - * Purpose: Test framework entry point - *---------------------------------------------------------------------------- - * Copyright (c) 2017 ARM Limited. All rights reserved. - *----------------------------------------------------------------------------*/ -#include "CV_Framework.h" -#include "cmsis_cv.h" - -/* Prototypes */ -void ts_cmsis_cv(void); -void closeDebug(void); - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\defgroup framework_funcs Framework Functions -\brief Functions in the Framework software component -\details - -@{ -*/ - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Close the debug session. -\details -Debug session dead end - debug script should close session here. -*/ -void closeDebug(void) { - __NOP(); - // Test completed -} - - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ - -/** -\brief This is CORE Validation test suite. -\details -Program flow: - -# Test report statistics is initialized - -# Test report headers are written to the standard output - -# All defined test cases are executed: - - Test case statistics is initialized - - Test case report header is written to the standard output - - Test case is executed - - Test case results are written to the standard output - - Test case report footer is written to the standard output - - Test case is closed - -# Test report footer is written to the standard output - -# Debug session ends in dead loop -*/ -void ts_cmsis_cv () { - const char *fn; - uint32_t tc, no; - (void)ritf.Init (); /* Init test report */ - (void)ritf.Open (ts.ReportTitle, /* Write test report title */ - ts.Date, /* Write compilation date */ - ts.Time, /* Write compilation time */ - ts.FileName); /* Write module file name */ - - /* Execute all test cases */ - for (tc = 0; tc < ts.NumOfTC; tc++) { - no = ts.TCBaseNum+tc; /* Test case number */ - fn = ts.TC[tc].TFName; /* Test function name string */ - (void)ritf.Open_TC (no, fn); /* Open test case #(Base + TC) */ - if (ts.TC[tc].en != 0U) { - ts.TC[tc].TestFunc(); /* Execute test case if enabled */ - } - (void)ritf.Close_TC (); /* Close test case */ - } - (void)ritf.Close (); /* Close test report */ - - closeDebug(); /* Close debug session */ -} - -/** -\brief This is the entry point of the test framework. -\details -Program flow: - -# Hardware is first initialized if Init callback function is provided - -# Main thread is initialized -*/ -void cmsis_cv (void) { - - /* Init test suite */ - if (ts.Init != NULL) { - ts.Init(); /* Init hardware */ - } - - ts_cmsis_cv(); -} - -void cmsis_cv_abort (const char *fn, uint32_t ln, char *desc) { - (void)__set_result(fn, ln, FAILED, desc); - (void)ritf.Close_TC(); - (void)ritf.Close(); - closeDebug(); -} - -/** -@} -*/ -// end of group framework_funcs diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Source/CV_GenTimer.c b/external/CMSIS_5/CMSIS/CoreValidation/Source/CV_GenTimer.c deleted file mode 100644 index df1e7f2..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Source/CV_GenTimer.c +++ /dev/null @@ -1,70 +0,0 @@ -/*----------------------------------------------------------------------------- - * Name: CV_GenTimer.c - * Purpose: CMSIS CORE validation tests implementation - *----------------------------------------------------------------------------- - * Copyright (c) 2017 ARM Limited. All rights reserved. - *----------------------------------------------------------------------------*/ - -#include "CV_Framework.h" -#include "cmsis_cv.h" - -/*----------------------------------------------------------------------------- - * Test implementation - *----------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------- - * Test cases - *----------------------------------------------------------------------------*/ - - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -void TC_GenTimer_CNTFRQ(void) { - const uint32_t cntfrq1 = __get_CNTFRQ(); - __set_CNTFRQ(cntfrq1 + 1U); - const uint32_t cntfrq2 = __get_CNTFRQ(); - - ASSERT_TRUE((cntfrq1 + 1U) == cntfrq2); - - __set_CNTFRQ(cntfrq1); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -void TC_GenTimer_CNTP_TVAL(void) { - const uint32_t cntp_tval1 = __get_CNTP_TVAL(); - __set_CNTP_TVAL(cntp_tval1 + 1U); - const uint32_t cntp_tval2 = __get_CNTP_TVAL(); - - ASSERT_TRUE((cntp_tval2 - cntp_tval1) >= 1ULL); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -void TC_GenTimer_CNTP_CTL(void) { - static const uint32_t CNTP_CTL_ENABLE = 0x01U; - const uint32_t cntp_ctl = __get_CNTP_CTL(); - const uint32_t cntp_ctl_toggled = (cntp_ctl & (~CNTP_CTL_ENABLE)) | ((~cntp_ctl) & CNTP_CTL_ENABLE); - __set_CNTP_CTL(cntp_ctl_toggled); - - const uint32_t cntp_ctl_new = __get_CNTP_CTL(); - - ASSERT_TRUE((cntp_ctl_toggled & CNTP_CTL_ENABLE) == (cntp_ctl_new & CNTP_CTL_ENABLE)); - - __set_CNTP_CTL(cntp_ctl); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -void TC_GenTimer_CNTPCT(void) { - const uint64_t cntpct1 = __get_CNTPCT(); - for(int i=0; i<10; i++); - const uint64_t cntpct2 = __get_CNTPCT(); - - ASSERT_TRUE((cntpct2 - cntpct1) <= 120ULL); -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -void TC_GenTimer_CNTP_CVAL(void) { - const uint64_t cntp_cval1 = __get_CNTP_CVAL(); - __set_CNTP_CVAL(cntp_cval1 + 1ULL); - const uint64_t cntp_cval2 = __get_CNTP_CVAL(); - - ASSERT_TRUE((cntp_cval2 - cntp_cval1) >= 1ULL); -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Source/CV_MPU_ARMv7.c b/external/CMSIS_5/CMSIS/CoreValidation/Source/CV_MPU_ARMv7.c deleted file mode 100644 index 4c4933c..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Source/CV_MPU_ARMv7.c +++ /dev/null @@ -1,121 +0,0 @@ -/*----------------------------------------------------------------------------- - * Name: CV_MPU_ARMv7.c - * Purpose: CMSIS CORE validation tests implementation - *----------------------------------------------------------------------------- - * Copyright (c) 2017 ARM Limited. All rights reserved. - *----------------------------------------------------------------------------*/ - -#include "CV_Framework.h" -#include "cmsis_cv.h" - -/*----------------------------------------------------------------------------- - * Test implementation - *----------------------------------------------------------------------------*/ - -#if defined(__MPU_PRESENT) && __MPU_PRESENT -static void ClearMpu(void) { - for(uint32_t i = 0U; i < 8U; ++i) { - MPU->RNR = i; - MPU->RBAR = 0U; - MPU->RASR = 0U; - } -} -#endif - -/*----------------------------------------------------------------------------- - * Test cases - *----------------------------------------------------------------------------*/ - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_MPU_SetClear -\details -- Check if ARM_MPU_Load correctly loads MPU table to registers. -*/ -void TC_MPU_SetClear(void) -{ -#if defined(__MPU_PRESENT) && __MPU_PRESENT - static const ARM_MPU_Region_t table[] = { - { .RBAR = 0U, .RASR = 0U }, - { .RBAR = ARM_MPU_RBAR(2U, 0x30000000U), .RASR = ARM_MPU_RASR(1U, ARM_MPU_AP_FULL, 0U, 0U, 0U, 0U, 0U, ARM_MPU_REGION_SIZE_128MB) }, - { .RBAR = 0x50000000U, .RASR = ARM_MPU_RASR(0U, ARM_MPU_AP_FULL, 0U, 0U, 0U, 0U, 0U, ARM_MPU_REGION_SIZE_64MB) } - }; - - #define ASSERT_MPU_REGION(rnr, region) \ - MPU->RNR = rnr; \ - ASSERT_TRUE((MPU->RBAR & MPU_RBAR_ADDR_Msk) == (region.RBAR & MPU_RBAR_ADDR_Msk)); \ - ASSERT_TRUE(MPU->RASR == region.RASR) - - ClearMpu(); - - ARM_MPU_SetRegion(table[1].RBAR, table[1].RASR); - - ASSERT_MPU_REGION(1U, table[0]); - ASSERT_MPU_REGION(2U, table[1]); - ASSERT_MPU_REGION(3U, table[0]); - - ARM_MPU_SetRegionEx(5U, table[2].RBAR, table[2].RASR); - - ASSERT_MPU_REGION(4U, table[0]); - ASSERT_MPU_REGION(5U, table[2]); - ASSERT_MPU_REGION(6U, table[0]); - - ARM_MPU_ClrRegion(5U); - - MPU->RNR = 5U; - ASSERT_TRUE((MPU->RASR & MPU_RASR_ENABLE_Msk) == 0U); - - #undef ASSERT_MPU_REGION -#endif -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_MPU_Load -\details -- Check if ARM_MPU_Load correctly loads MPU table to registers. -*/ -void TC_MPU_Load(void) -{ -#if defined(__MPU_PRESENT) && __MPU_PRESENT - static const ARM_MPU_Region_t table[] = { - { .RBAR = ARM_MPU_RBAR(0U, 0x10000000U), .RASR = ARM_MPU_RASR(1U, ARM_MPU_AP_FULL, 0U, 0U, 0U, 0U, 0U, ARM_MPU_REGION_SIZE_32MB) }, - { .RBAR = ARM_MPU_RBAR(1U, 0x20000000U), .RASR = ARM_MPU_RASR(1U, ARM_MPU_AP_FULL, 0U, 0U, 0U, 0U, 0U, ARM_MPU_REGION_SIZE_64MB) }, - { .RBAR = ARM_MPU_RBAR(2U, 0x30000000U), .RASR = ARM_MPU_RASR(1U, ARM_MPU_AP_FULL, 0U, 0U, 0U, 0U, 0U, ARM_MPU_REGION_SIZE_128MB) }, - { .RBAR = ARM_MPU_RBAR(3U, 0x40000000U), .RASR = ARM_MPU_RASR(1U, ARM_MPU_AP_FULL, 0U, 0U, 0U, 0U, 0U, ARM_MPU_REGION_SIZE_256MB) }, - { .RBAR = ARM_MPU_RBAR(4U, 0x50000000U), .RASR = ARM_MPU_RASR(1U, ARM_MPU_AP_FULL, 0U, 0U, 0U, 0U, 0U, ARM_MPU_REGION_SIZE_512MB) }, - { .RBAR = ARM_MPU_RBAR(5U, 0x60000000U), .RASR = ARM_MPU_RASR(1U, ARM_MPU_AP_FULL, 0U, 0U, 0U, 0U, 0U, ARM_MPU_REGION_SIZE_16MB) }, - { .RBAR = ARM_MPU_RBAR(6U, 0x70000000U), .RASR = ARM_MPU_RASR(1U, ARM_MPU_AP_FULL, 0U, 0U, 0U, 0U, 0U, ARM_MPU_REGION_SIZE_8MB) }, - { .RBAR = ARM_MPU_RBAR(7U, 0x80000000U), .RASR = ARM_MPU_RASR(1U, ARM_MPU_AP_FULL, 0U, 0U, 0U, 0U, 0U, ARM_MPU_REGION_SIZE_4MB) } - }; - - #define ASSERT_MPU_REGION(rnr, table) \ - MPU->RNR = rnr; \ - ASSERT_TRUE((MPU->RBAR & MPU_RBAR_ADDR_Msk) == (table[rnr].RBAR & MPU_RBAR_ADDR_Msk)); \ - ASSERT_TRUE(MPU->RASR == table[rnr].RASR) - - ClearMpu(); - - ARM_MPU_Load(&(table[0]), 1U); - - ASSERT_MPU_REGION(0U, table); - - ARM_MPU_Load(&(table[1]), 5U); - - ASSERT_MPU_REGION(0U, table); - ASSERT_MPU_REGION(1U, table); - ASSERT_MPU_REGION(2U, table); - ASSERT_MPU_REGION(3U, table); - ASSERT_MPU_REGION(4U, table); - ASSERT_MPU_REGION(5U, table); - - ARM_MPU_Load(&(table[6]), 2U); - - ASSERT_MPU_REGION(5U, table); - ASSERT_MPU_REGION(6U, table); - ASSERT_MPU_REGION(7U, table); - - #undef ASSERT_MPU_REGION -#endif -} - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Source/CV_MPU_ARMv8.c b/external/CMSIS_5/CMSIS/CoreValidation/Source/CV_MPU_ARMv8.c deleted file mode 100644 index f1c8190..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Source/CV_MPU_ARMv8.c +++ /dev/null @@ -1,113 +0,0 @@ -/*----------------------------------------------------------------------------- - * Name: CV_MPU_ARMv7.c - * Purpose: CMSIS CORE validation tests implementation - *----------------------------------------------------------------------------- - * Copyright (c) 2017 ARM Limited. All rights reserved. - *----------------------------------------------------------------------------*/ - -#include "CV_Framework.h" -#include "cmsis_cv.h" - -/*----------------------------------------------------------------------------- - * Test implementation - *----------------------------------------------------------------------------*/ - -#if defined(__MPU_PRESENT) && __MPU_PRESENT -static void ClearMpu(void) { - for(uint32_t i = 0U; i < 8U; ++i) { - MPU->RNR = i; - MPU->RBAR = 0U; - MPU->RLAR = 0U; - } -} -#endif - -/*----------------------------------------------------------------------------- - * Test cases - *----------------------------------------------------------------------------*/ - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_MPU_SetClear -\details -- Check if ARM_MPU_Load correctly loads MPU table to registers. -*/ -void TC_MPU_SetClear(void) -{ -#if defined(__MPU_PRESENT) && __MPU_PRESENT - static const ARM_MPU_Region_t table[] = { - { .RBAR = 0U, .RLAR = 0U }, - { .RBAR = ARM_MPU_RBAR(0x30000000U, 0U, 1U, 1U, 1U), .RLAR = ARM_MPU_RLAR(0x38000000U, 0U) } - }; - - #define ASSERT_MPU_REGION(rnr, region) \ - MPU->RNR = rnr; \ - ASSERT_TRUE(MPU->RBAR == region.RBAR); \ - ASSERT_TRUE(MPU->RLAR == region.RLAR) - - ClearMpu(); - - ARM_MPU_SetRegion(2U, table[1].RBAR, table[1].RLAR); - - ASSERT_MPU_REGION(1U, table[0]); - ASSERT_MPU_REGION(2U, table[1]); - ASSERT_MPU_REGION(3U, table[0]); - - ARM_MPU_ClrRegion(2U); - - MPU->RNR = 2U; - ASSERT_TRUE((MPU->RLAR & MPU_RLAR_EN_Msk) == 0U); - - #undef ASSERT_MPU_REGION -#endif -} - -/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/ -/** -\brief Test case: TC_MPU_Load -\details -- Check if ARM_MPU_Load correctly loads MPU table to registers. -*/ -void TC_MPU_Load(void) -{ -#if defined(__MPU_PRESENT) && __MPU_PRESENT - static const ARM_MPU_Region_t table[] = { - { .RBAR = ARM_MPU_RBAR(0x10000000U, 0U, 1U, 1U, 1U), .RLAR = ARM_MPU_RLAR(0x18000000U, 0U) }, - { .RBAR = ARM_MPU_RBAR(0x20000000U, 0U, 1U, 1U, 1U), .RLAR = ARM_MPU_RLAR(0x27000000U, 0U) }, - { .RBAR = ARM_MPU_RBAR(0x30000000U, 0U, 1U, 1U, 1U), .RLAR = ARM_MPU_RLAR(0x36000000U, 0U) }, - { .RBAR = ARM_MPU_RBAR(0x40000000U, 0U, 1U, 1U, 1U), .RLAR = ARM_MPU_RLAR(0x45000000U, 0U) }, - { .RBAR = ARM_MPU_RBAR(0x50000000U, 0U, 1U, 1U, 1U), .RLAR = ARM_MPU_RLAR(0x54000000U, 0U) }, - { .RBAR = ARM_MPU_RBAR(0x60000000U, 0U, 1U, 1U, 1U), .RLAR = ARM_MPU_RLAR(0x63000000U, 0U) }, - { .RBAR = ARM_MPU_RBAR(0x70000000U, 0U, 1U, 1U, 1U), .RLAR = ARM_MPU_RLAR(0x72000000U, 0U) }, - { .RBAR = ARM_MPU_RBAR(0x80000000U, 0U, 1U, 1U, 1U), .RLAR = ARM_MPU_RLAR(0x31000000U, 0U) } - }; - - #define ASSERT_MPU_REGION(rnr, table) \ - MPU->RNR = rnr; \ - ASSERT_TRUE(MPU->RBAR == table[rnr].RBAR); \ - ASSERT_TRUE(MPU->RLAR == table[rnr].RLAR) - - ClearMpu(); - - ARM_MPU_Load(0U, &(table[0]), 1U); - - ASSERT_MPU_REGION(0U, table); - - ARM_MPU_Load(1U, &(table[1]), 5U); - - ASSERT_MPU_REGION(0U, table); - ASSERT_MPU_REGION(1U, table); - ASSERT_MPU_REGION(2U, table); - ASSERT_MPU_REGION(3U, table); - ASSERT_MPU_REGION(4U, table); - ASSERT_MPU_REGION(5U, table); - - ARM_MPU_Load(6U, &(table[6]), 2U); - - ASSERT_MPU_REGION(5U, table); - ASSERT_MPU_REGION(6U, table); - ASSERT_MPU_REGION(7U, table); - - #undef ASSERT_MPU_REGION -#endif -} diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Source/CV_Report.c b/external/CMSIS_5/CMSIS/CoreValidation/Source/CV_Report.c deleted file mode 100644 index 3fa2d23..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Source/CV_Report.c +++ /dev/null @@ -1,393 +0,0 @@ -/*----------------------------------------------------------------------------- - * Name: cv_report.c - * Purpose: Report statistics and layout implementation - *----------------------------------------------------------------------------- - * Copyright (c) 2017 - 2018 Arm Limited. All rights reserved. - *----------------------------------------------------------------------------*/ -#include "CV_Report.h" -#include -#include - -TEST_REPORT test_report; -static AS_STAT current_assertions; /* Current test case assertions statistics */ -#define TAS (&test_report.assertions) /* Total assertions */ -#define CAS (¤t_assertions) /* Current assertions */ - -#ifdef DISABLE_SEMIHOSTING -#if defined (__CC_ARM) - #pragma import __use_no_semihosting -#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - __ASM(".global __use_no_semihosting"); -#endif -#define PRINT(x) -#define FLUSH() -void _sys_exit(int return_code) {} -#else -#define PRINT(x) MsgPrint x -#define FLUSH() MsgFlush() -#endif // DISABLE_SEMIHOSTING - -static uint8_t Passed[] = "PASSED"; -static uint8_t Warning[] = "WARNING"; -static uint8_t Failed[] = "FAILED"; -static uint8_t NotExe[] = "NOT EXECUTED"; - - -/*----------------------------------------------------------------------------- - * Test report function prototypes - *----------------------------------------------------------------------------*/ -static BOOL tr_Init (void); -static BOOL tc_Init (void); -static uint8_t *tr_Eval (void); -static uint8_t *tc_Eval (void); -static BOOL StatCount (TC_RES res); - -/*----------------------------------------------------------------------------- - * Printer function prototypes - *----------------------------------------------------------------------------*/ -static void MsgPrint (const char *msg, ...); -static void MsgFlush (void); - - -/*----------------------------------------------------------------------------- - * Assert interface function prototypes - *----------------------------------------------------------------------------*/ -static BOOL As_File_Result (TC_RES res); -static BOOL As_File_Dbgi (TC_RES res, const char *fn, uint32_t ln, char *desc); - -TC_ITF tcitf = { - As_File_Result, - As_File_Dbgi, -}; - - -/*----------------------------------------------------------------------------- - * Test report interface function prototypes - *----------------------------------------------------------------------------*/ -BOOL tr_File_Init (void); -BOOL tr_File_Open (const char *title, const char *date, const char *time, const char *fn); -BOOL tr_File_Close (void); -BOOL tc_File_Open (uint32_t num, const char *fn); -BOOL tc_File_Close (void); - -REPORT_ITF ritf = { - tr_File_Init, - tr_File_Open, - tr_File_Close, - tc_File_Open, - tc_File_Close -}; - - -/*----------------------------------------------------------------------------- - * Init test report - *----------------------------------------------------------------------------*/ -BOOL tr_File_Init (void) { - return (tr_Init()); -} - - -/*----------------------------------------------------------------------------- - * Open test report - *----------------------------------------------------------------------------*/ -#if (PRINT_XML_REPORT==1) -BOOL tr_File_Open (const char *title, const char *date, const char *time, const char *fn) { - PRINT(("\n")); - PRINT(("\n")); - PRINT(("\n")); - PRINT(("\n")); - PRINT(("%s\n", title)); - PRINT(("%s\n", date)); - PRINT(("\n", time)); - PRINT(("%s\n", fn)); - PRINT(("\n")); -#else -BOOL tr_File_Open (const char *title, const char *date, const char *time, const char __attribute__((unused)) *fn) { - PRINT(("%s %s %s \n\n", title, date, time)); -#endif - return (__TRUE); -} - - -/*----------------------------------------------------------------------------- - * Open test case - *----------------------------------------------------------------------------*/ -BOOL tc_File_Open (uint32_t num, const char *fn) { - (void)tc_Init (); -#if (PRINT_XML_REPORT==1) - PRINT(("\n")); - PRINT(("%d\n", num)); - PRINT(("%s\n", fn)); - PRINT(("")); - PRINT(("")); - PRINT(("\n")); -#else - PRINT(("TEST %02d: %-42s ", num, fn)); -#endif - return (__TRUE); -} - - -/*----------------------------------------------------------------------------- - * Close test case - *----------------------------------------------------------------------------*/ -BOOL tc_File_Close (void) { - uint8_t *res = tc_Eval(); -#if (PRINT_XML_REPORT==1) - PRINT(("\n")); - PRINT(("%s\n", res)); - PRINT(("\n")); -#else - if ((res==Passed)||(res==NotExe)) { - PRINT(("%s\n", res)); - } else { - PRINT(("\n")); - } -#endif - FLUSH(); - return (__TRUE); -} - - -/*----------------------------------------------------------------------------- - * Close test report - *----------------------------------------------------------------------------*/ -BOOL tr_File_Close (void) { -#if (PRINT_XML_REPORT==1) - PRINT(("\n")); - PRINT(("\n")); - PRINT(("%d\n", test_report.tests)); - PRINT(("%d\n", test_report.executed)); - PRINT(("%d\n", test_report.passed)); - PRINT(("%d\n", test_report.failed)); - PRINT(("%d\n", test_report.warnings)); - PRINT(("%s\n", tr_Eval())); - PRINT(("\n")); - PRINT(("\n")); - PRINT(("\n")); -#else - PRINT(("\nTest Summary: %d Tests, %d Executed, %d Passed, %d Failed, %d Warnings.\n", - test_report.tests, - test_report.executed, - test_report.passed, - test_report.failed, - test_report.warnings)); - PRINT(("Test Result: %s\n", tr_Eval())); -#endif - FLUSH(); - return (__TRUE); -} - - -/*----------------------------------------------------------------------------- - * Assertion result counter - *----------------------------------------------------------------------------*/ -static BOOL As_File_Result (TC_RES res) { - return (StatCount (res)); -} - - -/*----------------------------------------------------------------------------- - * Set debug information state - *----------------------------------------------------------------------------*/ -#if (PRINT_XML_REPORT==1) -static BOOL As_File_Dbgi (TC_RES __attribute__((unused)) res, const char *fn, uint32_t ln, char *desc) { - PRINT(("\n")); - if (desc!=NULL) PRINT(("%s\n", desc)); - PRINT(("%s\n", fn)); - PRINT(("%d\n", ln)); - PRINT(("\n")); -#else -static BOOL As_File_Dbgi (TC_RES res, const char *fn, uint32_t ln, char *desc) { - PRINT(("\n %s (%d)", fn, ln)); - if (res==WARNING){ PRINT((" [WARNING]")); } - if (res==FAILED) { PRINT((" [FAILED]")); } - if (desc!=NULL) { PRINT((" %s", desc)); } -#endif - return (__TRUE); -} - - -/*----------------------------------------------------------------------------- - * Init test report - *----------------------------------------------------------------------------*/ -static BOOL tr_Init (void) { - TAS->passed = 0; - TAS->failed = 0; - TAS->warnings = 0; - return (__TRUE); -} - - -/*----------------------------------------------------------------------------- - * Init test case - *----------------------------------------------------------------------------*/ -static BOOL tc_Init (void) { - CAS->passed = 0; - CAS->failed = 0; - CAS->warnings = 0; - return (__TRUE); -} - - -/*----------------------------------------------------------------------------- - * Evaluate test report results - *----------------------------------------------------------------------------*/ -static uint8_t *tr_Eval (void) { - if (test_report.failed > 0U) { - /* Test fails if any test case failed */ - return (Failed); - } - else if (test_report.warnings > 0U) { - /* Test warns if any test case warnings */ - return (Warning); - } - else if (test_report.passed > 0U) { - /* Test passes if at least one test case passed */ - return (Passed); - } - else { - /* No test cases were executed */ - return (NotExe); - } -} - - -/*----------------------------------------------------------------------------- - * Evaluate test case results - *----------------------------------------------------------------------------*/ -static uint8_t *tc_Eval (void) { - test_report.tests++; - test_report.executed++; - - if (CAS->failed > 0U) { - /* Test case fails if any failed assertion recorded */ - test_report.failed++; - return Failed; - } - else if (CAS->warnings > 0U) { - /* Test case warns if any warnings assertion recorded */ - test_report.warnings++; - return Warning; - } - else if (CAS->passed > 0U) { - /* Test case passes if at least one assertion passed */ - test_report.passed++; - return Passed; - } - else { - /* Assert was not invoked - nothing to evaluate */ - test_report.executed--; - return NotExe; - } -} - - -/*----------------------------------------------------------------------------- - * Statistics result counter - *----------------------------------------------------------------------------*/ -static BOOL StatCount (TC_RES res) { - switch (res) { - case PASSED: - CAS->passed++; - TAS->passed++; - break; - - case WARNING: - CAS->warnings++; - TAS->warnings++; - break; - - case FAILED: - CAS->failed++; - TAS->failed++; - break; - - case NOT_EXECUTED: - return (__FALSE); - - default: - break; - } - return (__TRUE); -} - - -/*----------------------------------------------------------------------------- - * Set result - *----------------------------------------------------------------------------*/ -TC_RES __set_result (const char *fn, uint32_t ln, TC_RES res, char* desc) { - - // save assertion result - switch (res) { - case PASSED: - if (TAS->passed < BUFFER_ASSERTIONS) { - test_report.assertions.info.passed[TAS->passed].module = fn; - test_report.assertions.info.passed[TAS->passed].line = ln; - } - break; - case FAILED: - if (TAS->failed < BUFFER_ASSERTIONS) { - test_report.assertions.info.failed[TAS->failed].module = fn; - test_report.assertions.info.failed[TAS->failed].line = ln; - } - break; - case WARNING: - if (TAS->warnings < BUFFER_ASSERTIONS) { - test_report.assertions.info.warnings[TAS->warnings].module = fn; - test_report.assertions.info.warnings[TAS->warnings].line = ln; - } - break; - case NOT_EXECUTED: - break; - - default: - break; - } - - // set debug info (if the test case didn't pass) - if (res != PASSED) { (void)tcitf.Dbgi (res, fn, ln, desc); } - // set result - (void)tcitf.Result (res); - return (res); -} - -/*----------------------------------------------------------------------------- - * Assert true - *----------------------------------------------------------------------------*/ -TC_RES __assert_true (const char *fn, uint32_t ln, uint32_t cond) { - TC_RES res = FAILED; - if (cond != 0U) { res = PASSED; } - (void)__set_result(fn, ln, res, NULL); - return (res); -} - -#ifndef DISABLE_SEMIHOSTING -/*----------------------------------------------------------------------------- - * MsgFlush: Flush the standard output - *----------------------------------------------------------------------------*/ -static void MsgFlush(void) { - (void)fflush(stdout); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wformat-nonliteral" -#endif -/*----------------------------------------------------------------------------- - * MsgPrint: Print a message to the standard output - *----------------------------------------------------------------------------*/ -static void MsgPrint (const char *msg, ...) { - va_list args; - va_start(args, msg); - vprintf(msg, args); - va_end(args); -} -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) -#pragma clang diagnostic pop -#endif -#endif // DISABLE_SEMIHOSTING - -/*----------------------------------------------------------------------------- - * End of file - *----------------------------------------------------------------------------*/ diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Source/Config/CV_Config.h b/external/CMSIS_5/CMSIS/CoreValidation/Source/Config/CV_Config.h deleted file mode 100644 index f8054b0..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Source/Config/CV_Config.h +++ /dev/null @@ -1,158 +0,0 @@ -/*----------------------------------------------------------------------------- - * Name: CV_Config.h - * Purpose: CV Config header - *---------------------------------------------------------------------------- - * Copyright (c) 2017 - 2018 Arm Limited. All rights reserved. - *----------------------------------------------------------------------------*/ -#ifndef __CV_CONFIG_H -#define __CV_CONFIG_H - -#include "RTE_Components.h" -#include CMSIS_device_header - -#define RTE_CV_COREINSTR 1 -#define RTE_CV_COREFUNC 1 -#define RTE_CV_CORESIMD 1 -#define RTE_CV_MPUFUNC (__MPU_PRESENT) -#if defined __ICACHE_PRESENT || defined __DCACHE_PRESENT -#define RTE_CV_L1CACHE (__ICACHE_PRESENT || __DCACHE_PRESENT) -#endif - -//-------- <<< Use Configuration Wizard in Context Menu >>> -------------------- - -// Common Test Settings -// Print Output Format <0=> Plain Text <1=> XML -// Set the test results output format to plain text or XML -#ifndef PRINT_XML_REPORT -#define PRINT_XML_REPORT 1 -#endif -// Buffer size for assertions results -// Set the buffer size for assertions results buffer -#define BUFFER_ASSERTIONS 128U -// - -// Disable Test Cases -// Uncheck to disable an individual test case -// TC_CoreInstr_NOP -#define TC_COREINSTR_NOP_EN 1 -// TC_CoreInstr_SEV -#define TC_COREINSTR_SEV_EN 1 -// TC_CoreInstr_BKPT -#define TC_COREINSTR_BKPT_EN 1 -// TC_CoreInstr_ISB -#define TC_COREINSTR_ISB_EN 1 -// TC_CoreInstr_DSB -#define TC_COREINSTR_DSB_EN 1 -// TC_CoreInstr_DMB -#define TC_COREINSTR_DMB_EN 1 -// TC_CoreInstr_WFI -#define TC_COREINSTR_WFI_EN 0 -// TC_CoreInstr_WFE -#define TC_COREINSTR_WFE_EN 0 - -// TC_CoreInstr_REV -#define TC_COREINSTR_REV_EN 1 -// TC_CoreInstr_REV16 -#define TC_COREINSTR_REV16_EN 1 -// TC_CoreInstr_REVSH -#define TC_COREINSTR_REVSH_EN 1 -// TC_CoreInstr_ROR -#define TC_COREINSTR_ROR_EN 1 -// TC_CoreInstr_RBIT -#define TC_COREINSTR_RBIT_EN 1 -// TC_CoreInstr_CLZ -#define TC_COREINSTR_CLZ_EN 1 -// TC_CoreInstr_SSAT -#define TC_COREINSTR_SSAT_EN 1 -// TC_CoreInstr_USAT -#define TC_COREINSTR_USAT_EN 1 -// TC_CoreInstr_RRX -#define TC_COREINSTR_RRX_EN 1 -// TC_CoreInstr_LoadStoreExlusive -#define TC_COREINSTR_LOADSTOREEXCLUSIVE_EN 1 -// TC_CoreInstr_LoadStoreUnpriv -#define TC_COREINSTR_LOADSTOREUNPRIV_EN 1 -// TC_CoreInstr_LoadStoreAcquire -#define TC_COREINSTR_LOADSTOREACQUIRE_EN 1 -// TC_CoreInstr_LoadStoreAcquireExclusive -#define TC_COREINSTR_LOADSTOREACQUIREEXCLUSIVE_EN 1 -// TC_CoreInstr_UnalignedUint16 -#define TC_COREINSTR_UNALIGNEDUINT16_EN 1 -// TC_CoreInstr_UnalignedUint32 -#define TC_COREINSTR_UNALIGNEDUINT32_EN 1 - -// TC_CoreSimd_SatAddSub -#define TC_CORESIMD_SATADDSUB_EN 1 -// TC_CoreSimd_ParSat16 -#define TC_CORESIMD_PARSAT16_EN 1 -// TC_CoreSimd_PackUnpack -#define TC_CORESIMD_PACKUNPACK_EN 1 -// TC_CoreSimd_ParSel -#define TC_CORESIMD_PARSEL_EN 1 -// TC_CoreSimd_ParAddSub8 -#define TC_CORESIMD_PARADDSUB8_EN 1 -// TC_CoreSimd_AbsDif8 -#define TC_CORESIMD_ABSDIF8_EN 1 -// TC_CoreSimd_ParAddSub16 -#define TC_CORESIMD_PARADDSUB16_EN 1 -// TC_CoreSimd_ParMul16 -#define TC_CORESIMD_PARMUL16_EN 1 -// TC_CoreSimd_Pack16 -#define TC_CORESIMD_PACK16_EN 1 -// TC_CoreSimd_MulAcc32 -#define TC_CORESIMD_MULACC32_EN 1 - -// TC_CoreFunc_EnDisIRQ -#define TC_COREFUNC_ENDISIRQ_EN 1 -// TC_CoreFunc_IRQPrio -#define TC_COREFUNC_IRQPRIO_EN 1 -// TC_CoreFunc_EncDecIRQPrio -#define TC_COREFUNC_ENCDECIRQPRIO_EN 1 -// TC_CoreFunc_IRQVect -#define TC_COREFUNC_IRQVECT_EN 1 -// TC_CoreFunc_Control -#define TC_COREFUNC_CONTROL_EN 1 -// TC_CoreFunc_IPSR -#define TC_COREFUNC_IPSR_EN 1 -// TC_CoreFunc_APSR -#define TC_COREFUNC_APSR_EN 1 -// TC_CoreFunc_PSP -#define TC_COREFUNC_PSP_EN 1 -// TC_CoreFunc_MSP -#define TC_COREFUNC_MSP_EN 1 - -// TC_CoreFunc_PSPLIM -#define TC_COREFUNC_PSPLIM_EN 1 -// TC_CoreFunc_PSPLIM_NS -#define TC_COREFUNC_PSPLIM_NS_EN 1 -// TC_CoreFunc_MSPLIM -#define TC_COREFUNC_MSPLIM_EN 1 -// TC_CoreFunc_MSPLIM_NS -#define TC_COREFUNC_MSPLIM_NS_EN 1 -// TC_CoreFunc_PRIMASK -#define TC_COREFUNC_PRIMASK_EN 1 -// TC_CoreFunc_FAULTMASK -#define TC_COREFUNC_FAULTMASK_EN 1 -// TC_CoreFunc_BASEPRI -#define TC_COREFUNC_BASEPRI_EN 1 -// TC_CoreFunc_FPUType -#define TC_COREFUNC_FPUTYPE_EN 1 -// TC_CoreFunc_FPSCR -#define TC_COREFUNC_FPSCR_EN 1 - -// TC_MPU_SetClear -#define TC_MPU_SETCLEAR_EN 1 -// TC_MPU_Load -#define TC_MPU_LOAD_EN 1 - -// TC_CML1Cache_EnDisableICache -#define TC_CML1CACHE_ENDISABLE_ICACHE 1 -// TC_CML1Cache_EnDisableDCache -#define TC_CML1CACHE_ENDISABLE_DCACHE 1 -// TC_CML1Cache_CleanDCacheByAddrWhileDisabled -#define TC_CML1CACHE_CLEANDCACHEBYADDRWHILEDISABLED 1 - -// - -#endif /* __CV_CONFIG_H */ - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Source/Config/CV_Config_template.h b/external/CMSIS_5/CMSIS/CoreValidation/Source/Config/CV_Config_template.h deleted file mode 100644 index 60444de..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Source/Config/CV_Config_template.h +++ /dev/null @@ -1,146 +0,0 @@ -/*----------------------------------------------------------------------------- - * Name: CV_Config.h - * Purpose: CV Config header - *---------------------------------------------------------------------------- - * Copyright (c) 2017 - 2018 Arm Limited. All rights reserved. - *----------------------------------------------------------------------------*/ -#ifndef __CV_CONFIG_H -#define __CV_CONFIG_H - -#include "RTE_Components.h" -#include CMSIS_device_header - -//-------- <<< Use Configuration Wizard in Context Menu >>> -------------------- - -// Common Test Settings -// Print Output Format <0=> Plain Text <1=> XML -// Set the test results output format to plain text or XML -#ifndef PRINT_XML_REPORT -#define PRINT_XML_REPORT 1 -#endif -// Buffer size for assertions results -// Set the buffer size for assertions results buffer -#define BUFFER_ASSERTIONS 128U -// - -// Disable Test Cases -// Uncheck to disable an individual test case -// TC_CoreInstr_NOP -#define TC_COREINSTR_NOP_EN 1 -// TC_CoreInstr_SEV -#define TC_COREINSTR_SEV_EN 1 -// TC_CoreInstr_BKPT -#define TC_COREINSTR_BKPT_EN 1 -// TC_CoreInstr_ISB -#define TC_COREINSTR_ISB_EN 1 -// TC_CoreInstr_DSB -#define TC_COREINSTR_DSB_EN 1 -// TC_CoreInstr_DMB -#define TC_COREINSTR_DMB_EN 1 -// TC_CoreInstr_WFI -#define TC_COREINSTR_WFI_EN 0 -// TC_CoreInstr_WFE -#define TC_COREINSTR_WFE_EN 0 - -// TC_CoreInstr_REV -#define TC_COREINSTR_REV_EN 1 -// TC_CoreInstr_REV16 -#define TC_COREINSTR_REV16_EN 1 -// TC_CoreInstr_REVSH -#define TC_COREINSTR_REVSH_EN 1 -// TC_CoreInstr_ROR -#define TC_COREINSTR_ROR_EN 1 -// TC_CoreInstr_RBIT -#define TC_COREINSTR_RBIT_EN 1 -// TC_CoreInstr_CLZ -#define TC_COREINSTR_CLZ_EN 1 -// TC_CoreInstr_SSAT -#define TC_COREINSTR_SSAT_EN 1 -// TC_CoreInstr_USAT -#define TC_COREINSTR_USAT_EN 1 -// TC_CoreInstr_RRX -#define TC_COREINSTR_RRX_EN 1 -// TC_CoreInstr_LoadStoreExlusive -#define TC_COREINSTR_LOADSTOREEXCLUSIVE_EN 1 -// TC_CoreInstr_LoadStoreUnpriv -#define TC_COREINSTR_LOADSTOREUNPRIV_EN 1 -// TC_CoreInstr_LoadStoreAcquire -#define TC_COREINSTR_LOADSTOREACQUIRE_EN 1 -// TC_CoreInstr_LoadStoreAcquireExclusive -#define TC_COREINSTR_LOADSTOREACQUIREEXCLUSIVE_EN 1 - -// TC_CoreSimd_SatAddSub -#define TC_CORESIMD_SATADDSUB_EN 1 -// TC_CoreSimd_ParSat16 -#define TC_CORESIMD_PARSAT16_EN 1 -// TC_CoreSimd_PackUnpack -#define TC_CORESIMD_PACKUNPACK_EN 1 -// TC_CoreSimd_ParSel -#define TC_CORESIMD_PARSEL_EN 1 -// TC_CoreSimd_ParAddSub8 -#define TC_CORESIMD_PARADDSUB8_EN 1 -// TC_CoreSimd_AbsDif8 -#define TC_CORESIMD_ABSDIF8_EN 1 -// TC_CoreSimd_ParAddSub16 -#define TC_CORESIMD_PARADDSUB16_EN 1 -// TC_CoreSimd_ParMul16 -#define TC_CORESIMD_PARMUL16_EN 1 -// TC_CoreSimd_Pack16 -#define TC_CORESIMD_PACK16_EN 1 -// TC_CoreSimd_MulAcc32 -#define TC_CORESIMD_MULACC32_EN 1 - -// TC_CoreFunc_EnDisIRQ -#define TC_COREFUNC_ENDISIRQ_EN 1 -// TC_CoreFunc_IRQPrio -#define TC_COREFUNC_IRQPRIO_EN 1 -// TC_CoreFunc_EncDecIRQPrio -#define TC_COREFUNC_ENCDECIRQPRIO_EN 1 -// TC_CoreFunc_IRQVect -#define TC_COREFUNC_IRQVECT_EN 1 -// TC_CoreFunc_Control -#define TC_COREFUNC_CONTROL_EN 1 -// TC_CoreFunc_IPSR -#define TC_COREFUNC_IPSR_EN 1 -// TC_CoreFunc_APSR -#define TC_COREFUNC_APSR_EN 1 -// TC_CoreFunc_PSP -#define TC_COREFUNC_PSP_EN 1 -// TC_CoreFunc_MSP -#define TC_COREFUNC_MSP_EN 1 - -// TC_CoreFunc_PSPLIM -#define TC_COREFUNC_PSPLIM_EN 1 -// TC_CoreFunc_PSPLIM_NS -#define TC_COREFUNC_PSPLIM_NS_EN 1 -// TC_CoreFunc_MSPLIM -#define TC_COREFUNC_MSPLIM_EN 1 -// TC_CoreFunc_MSPLIM_NS -#define TC_COREFUNC_MSPLIM_NS_EN 1 -// TC_CoreFunc_PRIMASK -#define TC_COREFUNC_PRIMASK_EN 1 -// TC_CoreFunc_FAULTMASK -#define TC_COREFUNC_FAULTMASK_EN 1 -// TC_CoreFunc_BASEPRI -#define TC_COREFUNC_BASEPRI_EN 1 -// TC_CoreFunc_FPUType -#define TC_COREFUNC_FPUTYPE_EN 1 -// TC_CoreFunc_FPSCR -#define TC_COREFUNC_FPSCR_EN 1 - -// TC_MPU_SetClear -#define TC_MPU_SETCLEAR_EN 1 -// TC_MPU_Load -#define TC_MPU_LOAD_EN 1 - -// TC_CML1Cache_EnDisableICache -#define TC_CML1CACHE_ENDISABLE_ICACHE 1 -// TC_CML1Cache_EnDisableDCache -#define TC_CML1CACHE_ENDISABLE_DCACHE 1 -// TC_CML1Cache_CleanDCacheByAddrWhileDisabled -#define TC_CML1CACHE_CLEANDCACHEBYADDRWHILEDISABLED 1 - -// - -#endif /* __CV_CONFIG_H */ - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Source/Config/partition_ARMCM23.h b/external/CMSIS_5/CMSIS/CoreValidation/Source/Config/partition_ARMCM23.h deleted file mode 100644 index a7a090e..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Source/Config/partition_ARMCM23.h +++ /dev/null @@ -1,832 +0,0 @@ -/**************************************************************************//** - * @file partition_ARMCM23.h - * @brief CMSIS-CORE Initial Setup for Secure / Non-Secure Zones for ARMCM23 - * @version V5.3.1 - * @date 09. July 2018 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef PARTITION_ARMCM23_H -#define PARTITION_ARMCM23_H - -/* -//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- -*/ - -/* -// Initialize Security Attribution Unit (SAU) CTRL register -*/ -#define SAU_INIT_CTRL 1 - -/* -// Enable SAU -// Value for SAU->CTRL register bit ENABLE -*/ -#define SAU_INIT_CTRL_ENABLE 1 - -/* -// When SAU is disabled -// <0=> All Memory is Secure -// <1=> All Memory is Non-Secure -// Value for SAU->CTRL register bit ALLNS -// When all Memory is Non-Secure (ALLNS is 1), IDAU can override memory map configuration. -*/ -#define SAU_INIT_CTRL_ALLNS 0 - -/* -// -*/ - -/* -// Initialize Security Attribution Unit (SAU) Address Regions -// SAU configuration specifies regions to be one of: -// - Secure and Non-Secure Callable -// - Non-Secure -// Note: All memory regions not configured by SAU are Secure -*/ -#define SAU_REGIONS_MAX 8 /* Max. number of SAU regions */ - -/* -// Initialize SAU Region 0 -// Setup SAU Region 0 memory attributes -*/ -#define SAU_INIT_REGION0 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START0 0x00000000 /* start address of SAU region 0 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END0 0x001FFFFF /* end address of SAU region 0 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC0 1 -/* -// -*/ - -/* -// Initialize SAU Region 1 -// Setup SAU Region 1 memory attributes -*/ -#define SAU_INIT_REGION1 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START1 0x00200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END1 0x003FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC1 0 -/* -// -*/ - -/* -// Initialize SAU Region 2 -// Setup SAU Region 2 memory attributes -*/ -#define SAU_INIT_REGION2 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START2 0x20200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END2 0x203FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC2 0 -/* -// -*/ - -/* -// Initialize SAU Region 3 -// Setup SAU Region 3 memory attributes -*/ -#define SAU_INIT_REGION3 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START3 0x40000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END3 0x40040000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC3 0 -/* -// -*/ - -/* -// Initialize SAU Region 4 -// Setup SAU Region 4 memory attributes -*/ -#define SAU_INIT_REGION4 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START4 0x00000000 /* start address of SAU region 4 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END4 0x00000000 /* end address of SAU region 4 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC4 0 -/* -// -*/ - -/* -// Initialize SAU Region 5 -// Setup SAU Region 5 memory attributes -*/ -#define SAU_INIT_REGION5 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START5 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END5 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC5 0 -/* -// -*/ - -/* -// Initialize SAU Region 6 -// Setup SAU Region 6 memory attributes -*/ -#define SAU_INIT_REGION6 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START6 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END6 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC6 0 -/* -// -*/ - -/* -// Initialize SAU Region 7 -// Setup SAU Region 7 memory attributes -*/ -#define SAU_INIT_REGION7 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START7 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END7 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC7 0 -/* -// -*/ - -/* -// -*/ - -/* -// Setup behaviour of Sleep and Exception Handling -*/ -#define SCB_CSR_AIRCR_INIT 1 - -/* -// Deep Sleep can be enabled by -// <0=>Secure and Non-Secure state -// <1=>Secure state only -// Value for SCB->CSR register bit DEEPSLEEPS -*/ -#define SCB_CSR_DEEPSLEEPS_VAL 1 - -/* -// System reset request accessible from -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for SCB->AIRCR register bit SYSRESETREQS -*/ -#define SCB_AIRCR_SYSRESETREQS_VAL 1 - -/* -// Priority of Non-Secure exceptions is -// <0=> Not altered -// <1=> Lowered to 0x80-0xFF -// Value for SCB->AIRCR register bit PRIS -*/ -#define SCB_AIRCR_PRIS_VAL 1 - -/* -// BusFault, HardFault, and NMI target -// <0=> Secure state -// <1=> Non-Secure state -// Value for SCB->AIRCR register bit BFHFNMINS -*/ -#define SCB_AIRCR_BFHFNMINS_VAL 0 - -/* -// -*/ - - -/* -// Setup behaviour of single SysTick -*/ -#define SCB_ICSR_INIT 0 - -/* -// in a single SysTick implementation, SysTick is -// <0=>Secure -// <1=>Non-Secure -// Value for SCB->ICSR register bit STTNS -// only for single SysTick implementation -*/ -#define SCB_ICSR_STTNS_VAL 0 - -/* -// -*/ - - -/* -// Setup Interrupt Target -*/ - -/* -// Initialize ITNS 0 (Interrupts 0..31) -*/ -#define NVIC_INIT_ITNS0 1 - -/* -// Interrupts 0..31 -// Interrupt 0 <0=> Secure state <1=> Non-Secure state -// Interrupt 1 <0=> Secure state <1=> Non-Secure state -// Interrupt 2 <0=> Secure state <1=> Non-Secure state -// Interrupt 3 <0=> Secure state <1=> Non-Secure state -// Interrupt 4 <0=> Secure state <1=> Non-Secure state -// Interrupt 5 <0=> Secure state <1=> Non-Secure state -// Interrupt 6 <0=> Secure state <1=> Non-Secure state -// Interrupt 7 <0=> Secure state <1=> Non-Secure state -// Interrupt 8 <0=> Secure state <1=> Non-Secure state -// Interrupt 9 <0=> Secure state <1=> Non-Secure state -// Interrupt 10 <0=> Secure state <1=> Non-Secure state -// Interrupt 11 <0=> Secure state <1=> Non-Secure state -// Interrupt 12 <0=> Secure state <1=> Non-Secure state -// Interrupt 13 <0=> Secure state <1=> Non-Secure state -// Interrupt 14 <0=> Secure state <1=> Non-Secure state -// Interrupt 15 <0=> Secure state <1=> Non-Secure state -// Interrupt 16 <0=> Secure state <1=> Non-Secure state -// Interrupt 17 <0=> Secure state <1=> Non-Secure state -// Interrupt 18 <0=> Secure state <1=> Non-Secure state -// Interrupt 19 <0=> Secure state <1=> Non-Secure state -// Interrupt 20 <0=> Secure state <1=> Non-Secure state -// Interrupt 21 <0=> Secure state <1=> Non-Secure state -// Interrupt 22 <0=> Secure state <1=> Non-Secure state -// Interrupt 23 <0=> Secure state <1=> Non-Secure state -// Interrupt 24 <0=> Secure state <1=> Non-Secure state -// Interrupt 25 <0=> Secure state <1=> Non-Secure state -// Interrupt 26 <0=> Secure state <1=> Non-Secure state -// Interrupt 27 <0=> Secure state <1=> Non-Secure state -// Interrupt 28 <0=> Secure state <1=> Non-Secure state -// Interrupt 29 <0=> Secure state <1=> Non-Secure state -// Interrupt 30 <0=> Secure state <1=> Non-Secure state -// Interrupt 31 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS0_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 1 (Interrupts 32..63) -*/ -#define NVIC_INIT_ITNS1 1 - -/* -// Interrupts 32..63 -// Interrupt 32 <0=> Secure state <1=> Non-Secure state -// Interrupt 33 <0=> Secure state <1=> Non-Secure state -// Interrupt 34 <0=> Secure state <1=> Non-Secure state -// Interrupt 35 <0=> Secure state <1=> Non-Secure state -// Interrupt 36 <0=> Secure state <1=> Non-Secure state -// Interrupt 37 <0=> Secure state <1=> Non-Secure state -// Interrupt 38 <0=> Secure state <1=> Non-Secure state -// Interrupt 39 <0=> Secure state <1=> Non-Secure state -// Interrupt 40 <0=> Secure state <1=> Non-Secure state -// Interrupt 41 <0=> Secure state <1=> Non-Secure state -// Interrupt 42 <0=> Secure state <1=> Non-Secure state -// Interrupt 43 <0=> Secure state <1=> Non-Secure state -// Interrupt 44 <0=> Secure state <1=> Non-Secure state -// Interrupt 45 <0=> Secure state <1=> Non-Secure state -// Interrupt 46 <0=> Secure state <1=> Non-Secure state -// Interrupt 47 <0=> Secure state <1=> Non-Secure state -// Interrupt 48 <0=> Secure state <1=> Non-Secure state -// Interrupt 49 <0=> Secure state <1=> Non-Secure state -// Interrupt 50 <0=> Secure state <1=> Non-Secure state -// Interrupt 51 <0=> Secure state <1=> Non-Secure state -// Interrupt 52 <0=> Secure state <1=> Non-Secure state -// Interrupt 53 <0=> Secure state <1=> Non-Secure state -// Interrupt 54 <0=> Secure state <1=> Non-Secure state -// Interrupt 55 <0=> Secure state <1=> Non-Secure state -// Interrupt 56 <0=> Secure state <1=> Non-Secure state -// Interrupt 57 <0=> Secure state <1=> Non-Secure state -// Interrupt 58 <0=> Secure state <1=> Non-Secure state -// Interrupt 59 <0=> Secure state <1=> Non-Secure state -// Interrupt 60 <0=> Secure state <1=> Non-Secure state -// Interrupt 61 <0=> Secure state <1=> Non-Secure state -// Interrupt 62 <0=> Secure state <1=> Non-Secure state -// Interrupt 63 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS1_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 2 (Interrupts 64..95) -*/ -#define NVIC_INIT_ITNS2 0 - -/* -// Interrupts 64..95 -// Interrupt 64 <0=> Secure state <1=> Non-Secure state -// Interrupt 65 <0=> Secure state <1=> Non-Secure state -// Interrupt 66 <0=> Secure state <1=> Non-Secure state -// Interrupt 67 <0=> Secure state <1=> Non-Secure state -// Interrupt 68 <0=> Secure state <1=> Non-Secure state -// Interrupt 69 <0=> Secure state <1=> Non-Secure state -// Interrupt 70 <0=> Secure state <1=> Non-Secure state -// Interrupt 71 <0=> Secure state <1=> Non-Secure state -// Interrupt 72 <0=> Secure state <1=> Non-Secure state -// Interrupt 73 <0=> Secure state <1=> Non-Secure state -// Interrupt 74 <0=> Secure state <1=> Non-Secure state -// Interrupt 75 <0=> Secure state <1=> Non-Secure state -// Interrupt 76 <0=> Secure state <1=> Non-Secure state -// Interrupt 77 <0=> Secure state <1=> Non-Secure state -// Interrupt 78 <0=> Secure state <1=> Non-Secure state -// Interrupt 79 <0=> Secure state <1=> Non-Secure state -// Interrupt 80 <0=> Secure state <1=> Non-Secure state -// Interrupt 81 <0=> Secure state <1=> Non-Secure state -// Interrupt 82 <0=> Secure state <1=> Non-Secure state -// Interrupt 83 <0=> Secure state <1=> Non-Secure state -// Interrupt 84 <0=> Secure state <1=> Non-Secure state -// Interrupt 85 <0=> Secure state <1=> Non-Secure state -// Interrupt 86 <0=> Secure state <1=> Non-Secure state -// Interrupt 87 <0=> Secure state <1=> Non-Secure state -// Interrupt 88 <0=> Secure state <1=> Non-Secure state -// Interrupt 89 <0=> Secure state <1=> Non-Secure state -// Interrupt 90 <0=> Secure state <1=> Non-Secure state -// Interrupt 91 <0=> Secure state <1=> Non-Secure state -// Interrupt 92 <0=> Secure state <1=> Non-Secure state -// Interrupt 93 <0=> Secure state <1=> Non-Secure state -// Interrupt 94 <0=> Secure state <1=> Non-Secure state -// Interrupt 95 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS2_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 3 (Interrupts 96..127) -*/ -#define NVIC_INIT_ITNS3 0 - -/* -// Interrupts 96..127 -// Interrupt 96 <0=> Secure state <1=> Non-Secure state -// Interrupt 97 <0=> Secure state <1=> Non-Secure state -// Interrupt 98 <0=> Secure state <1=> Non-Secure state -// Interrupt 99 <0=> Secure state <1=> Non-Secure state -// Interrupt 100 <0=> Secure state <1=> Non-Secure state -// Interrupt 101 <0=> Secure state <1=> Non-Secure state -// Interrupt 102 <0=> Secure state <1=> Non-Secure state -// Interrupt 103 <0=> Secure state <1=> Non-Secure state -// Interrupt 104 <0=> Secure state <1=> Non-Secure state -// Interrupt 105 <0=> Secure state <1=> Non-Secure state -// Interrupt 106 <0=> Secure state <1=> Non-Secure state -// Interrupt 107 <0=> Secure state <1=> Non-Secure state -// Interrupt 108 <0=> Secure state <1=> Non-Secure state -// Interrupt 109 <0=> Secure state <1=> Non-Secure state -// Interrupt 110 <0=> Secure state <1=> Non-Secure state -// Interrupt 111 <0=> Secure state <1=> Non-Secure state -// Interrupt 112 <0=> Secure state <1=> Non-Secure state -// Interrupt 113 <0=> Secure state <1=> Non-Secure state -// Interrupt 114 <0=> Secure state <1=> Non-Secure state -// Interrupt 115 <0=> Secure state <1=> Non-Secure state -// Interrupt 116 <0=> Secure state <1=> Non-Secure state -// Interrupt 117 <0=> Secure state <1=> Non-Secure state -// Interrupt 118 <0=> Secure state <1=> Non-Secure state -// Interrupt 119 <0=> Secure state <1=> Non-Secure state -// Interrupt 120 <0=> Secure state <1=> Non-Secure state -// Interrupt 121 <0=> Secure state <1=> Non-Secure state -// Interrupt 122 <0=> Secure state <1=> Non-Secure state -// Interrupt 123 <0=> Secure state <1=> Non-Secure state -// Interrupt 124 <0=> Secure state <1=> Non-Secure state -// Interrupt 125 <0=> Secure state <1=> Non-Secure state -// Interrupt 126 <0=> Secure state <1=> Non-Secure state -// Interrupt 127 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS3_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 4 (Interrupts 128..159) -*/ -#define NVIC_INIT_ITNS4 0 - -/* -// Interrupts 128..159 -// Interrupt 128 <0=> Secure state <1=> Non-Secure state -// Interrupt 129 <0=> Secure state <1=> Non-Secure state -// Interrupt 130 <0=> Secure state <1=> Non-Secure state -// Interrupt 131 <0=> Secure state <1=> Non-Secure state -// Interrupt 132 <0=> Secure state <1=> Non-Secure state -// Interrupt 133 <0=> Secure state <1=> Non-Secure state -// Interrupt 134 <0=> Secure state <1=> Non-Secure state -// Interrupt 135 <0=> Secure state <1=> Non-Secure state -// Interrupt 136 <0=> Secure state <1=> Non-Secure state -// Interrupt 137 <0=> Secure state <1=> Non-Secure state -// Interrupt 138 <0=> Secure state <1=> Non-Secure state -// Interrupt 139 <0=> Secure state <1=> Non-Secure state -// Interrupt 140 <0=> Secure state <1=> Non-Secure state -// Interrupt 141 <0=> Secure state <1=> Non-Secure state -// Interrupt 142 <0=> Secure state <1=> Non-Secure state -// Interrupt 143 <0=> Secure state <1=> Non-Secure state -// Interrupt 144 <0=> Secure state <1=> Non-Secure state -// Interrupt 145 <0=> Secure state <1=> Non-Secure state -// Interrupt 146 <0=> Secure state <1=> Non-Secure state -// Interrupt 147 <0=> Secure state <1=> Non-Secure state -// Interrupt 148 <0=> Secure state <1=> Non-Secure state -// Interrupt 149 <0=> Secure state <1=> Non-Secure state -// Interrupt 150 <0=> Secure state <1=> Non-Secure state -// Interrupt 151 <0=> Secure state <1=> Non-Secure state -// Interrupt 152 <0=> Secure state <1=> Non-Secure state -// Interrupt 153 <0=> Secure state <1=> Non-Secure state -// Interrupt 154 <0=> Secure state <1=> Non-Secure state -// Interrupt 155 <0=> Secure state <1=> Non-Secure state -// Interrupt 156 <0=> Secure state <1=> Non-Secure state -// Interrupt 157 <0=> Secure state <1=> Non-Secure state -// Interrupt 158 <0=> Secure state <1=> Non-Secure state -// Interrupt 159 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS4_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 5 (Interrupts 160..191) -*/ -#define NVIC_INIT_ITNS5 0 - -/* -// Interrupts 160..191 -// Interrupt 160 <0=> Secure state <1=> Non-Secure state -// Interrupt 161 <0=> Secure state <1=> Non-Secure state -// Interrupt 162 <0=> Secure state <1=> Non-Secure state -// Interrupt 163 <0=> Secure state <1=> Non-Secure state -// Interrupt 164 <0=> Secure state <1=> Non-Secure state -// Interrupt 165 <0=> Secure state <1=> Non-Secure state -// Interrupt 166 <0=> Secure state <1=> Non-Secure state -// Interrupt 167 <0=> Secure state <1=> Non-Secure state -// Interrupt 168 <0=> Secure state <1=> Non-Secure state -// Interrupt 169 <0=> Secure state <1=> Non-Secure state -// Interrupt 170 <0=> Secure state <1=> Non-Secure state -// Interrupt 171 <0=> Secure state <1=> Non-Secure state -// Interrupt 172 <0=> Secure state <1=> Non-Secure state -// Interrupt 173 <0=> Secure state <1=> Non-Secure state -// Interrupt 174 <0=> Secure state <1=> Non-Secure state -// Interrupt 175 <0=> Secure state <1=> Non-Secure state -// Interrupt 176 <0=> Secure state <1=> Non-Secure state -// Interrupt 177 <0=> Secure state <1=> Non-Secure state -// Interrupt 178 <0=> Secure state <1=> Non-Secure state -// Interrupt 179 <0=> Secure state <1=> Non-Secure state -// Interrupt 180 <0=> Secure state <1=> Non-Secure state -// Interrupt 181 <0=> Secure state <1=> Non-Secure state -// Interrupt 182 <0=> Secure state <1=> Non-Secure state -// Interrupt 183 <0=> Secure state <1=> Non-Secure state -// Interrupt 184 <0=> Secure state <1=> Non-Secure state -// Interrupt 185 <0=> Secure state <1=> Non-Secure state -// Interrupt 186 <0=> Secure state <1=> Non-Secure state -// Interrupt 187 <0=> Secure state <1=> Non-Secure state -// Interrupt 188 <0=> Secure state <1=> Non-Secure state -// Interrupt 189 <0=> Secure state <1=> Non-Secure state -// Interrupt 190 <0=> Secure state <1=> Non-Secure state -// Interrupt 191 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS5_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 6 (Interrupts 192..223) -*/ -#define NVIC_INIT_ITNS6 0 - -/* -// Interrupts 192..223 -// Interrupt 192 <0=> Secure state <1=> Non-Secure state -// Interrupt 193 <0=> Secure state <1=> Non-Secure state -// Interrupt 194 <0=> Secure state <1=> Non-Secure state -// Interrupt 195 <0=> Secure state <1=> Non-Secure state -// Interrupt 196 <0=> Secure state <1=> Non-Secure state -// Interrupt 197 <0=> Secure state <1=> Non-Secure state -// Interrupt 198 <0=> Secure state <1=> Non-Secure state -// Interrupt 199 <0=> Secure state <1=> Non-Secure state -// Interrupt 200 <0=> Secure state <1=> Non-Secure state -// Interrupt 201 <0=> Secure state <1=> Non-Secure state -// Interrupt 202 <0=> Secure state <1=> Non-Secure state -// Interrupt 203 <0=> Secure state <1=> Non-Secure state -// Interrupt 204 <0=> Secure state <1=> Non-Secure state -// Interrupt 205 <0=> Secure state <1=> Non-Secure state -// Interrupt 206 <0=> Secure state <1=> Non-Secure state -// Interrupt 207 <0=> Secure state <1=> Non-Secure state -// Interrupt 208 <0=> Secure state <1=> Non-Secure state -// Interrupt 209 <0=> Secure state <1=> Non-Secure state -// Interrupt 210 <0=> Secure state <1=> Non-Secure state -// Interrupt 211 <0=> Secure state <1=> Non-Secure state -// Interrupt 212 <0=> Secure state <1=> Non-Secure state -// Interrupt 213 <0=> Secure state <1=> Non-Secure state -// Interrupt 214 <0=> Secure state <1=> Non-Secure state -// Interrupt 215 <0=> Secure state <1=> Non-Secure state -// Interrupt 216 <0=> Secure state <1=> Non-Secure state -// Interrupt 217 <0=> Secure state <1=> Non-Secure state -// Interrupt 218 <0=> Secure state <1=> Non-Secure state -// Interrupt 219 <0=> Secure state <1=> Non-Secure state -// Interrupt 220 <0=> Secure state <1=> Non-Secure state -// Interrupt 221 <0=> Secure state <1=> Non-Secure state -// Interrupt 222 <0=> Secure state <1=> Non-Secure state -// Interrupt 223 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS6_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 7 (Interrupts 224..255) -*/ -#define NVIC_INIT_ITNS7 0 - -/* -// Interrupts 224..255 -// Interrupt 224 <0=> Secure state <1=> Non-Secure state -// Interrupt 225 <0=> Secure state <1=> Non-Secure state -// Interrupt 226 <0=> Secure state <1=> Non-Secure state -// Interrupt 227 <0=> Secure state <1=> Non-Secure state -// Interrupt 228 <0=> Secure state <1=> Non-Secure state -// Interrupt 229 <0=> Secure state <1=> Non-Secure state -// Interrupt 230 <0=> Secure state <1=> Non-Secure state -// Interrupt 231 <0=> Secure state <1=> Non-Secure state -// Interrupt 232 <0=> Secure state <1=> Non-Secure state -// Interrupt 233 <0=> Secure state <1=> Non-Secure state -// Interrupt 234 <0=> Secure state <1=> Non-Secure state -// Interrupt 235 <0=> Secure state <1=> Non-Secure state -// Interrupt 236 <0=> Secure state <1=> Non-Secure state -// Interrupt 237 <0=> Secure state <1=> Non-Secure state -// Interrupt 238 <0=> Secure state <1=> Non-Secure state -// Interrupt 239 <0=> Secure state <1=> Non-Secure state -// Interrupt 240 <0=> Secure state <1=> Non-Secure state -// Interrupt 241 <0=> Secure state <1=> Non-Secure state -// Interrupt 242 <0=> Secure state <1=> Non-Secure state -// Interrupt 243 <0=> Secure state <1=> Non-Secure state -// Interrupt 244 <0=> Secure state <1=> Non-Secure state -// Interrupt 245 <0=> Secure state <1=> Non-Secure state -// Interrupt 246 <0=> Secure state <1=> Non-Secure state -// Interrupt 247 <0=> Secure state <1=> Non-Secure state -// Interrupt 248 <0=> Secure state <1=> Non-Secure state -// Interrupt 249 <0=> Secure state <1=> Non-Secure state -// Interrupt 250 <0=> Secure state <1=> Non-Secure state -// Interrupt 251 <0=> Secure state <1=> Non-Secure state -// Interrupt 252 <0=> Secure state <1=> Non-Secure state -// Interrupt 253 <0=> Secure state <1=> Non-Secure state -// Interrupt 254 <0=> Secure state <1=> Non-Secure state -// Interrupt 255 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS7_VAL 0x00000000 - -/* -// -*/ - -/* -// -*/ - - - -/* - max 128 SAU regions. - SAU regions are defined in partition.h - */ - -#define SAU_INIT_REGION(n) \ - SAU->RNR = (n & SAU_RNR_REGION_Msk); \ - SAU->RBAR = (SAU_INIT_START##n & SAU_RBAR_BADDR_Msk); \ - SAU->RLAR = (SAU_INIT_END##n & SAU_RLAR_LADDR_Msk) | \ - ((SAU_INIT_NSC##n << SAU_RLAR_NSC_Pos) & SAU_RLAR_NSC_Msk) | 1U - -/** - \brief Setup a SAU Region - \details Writes the region information contained in SAU_Region to the - registers SAU_RNR, SAU_RBAR, and SAU_RLAR - */ -__STATIC_INLINE void TZ_SAU_Setup (void) -{ - -#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) - - #if defined (SAU_INIT_REGION0) && (SAU_INIT_REGION0 == 1U) - SAU_INIT_REGION(0); - #endif - - #if defined (SAU_INIT_REGION1) && (SAU_INIT_REGION1 == 1U) - SAU_INIT_REGION(1); - #endif - - #if defined (SAU_INIT_REGION2) && (SAU_INIT_REGION2 == 1U) - SAU_INIT_REGION(2); - #endif - - #if defined (SAU_INIT_REGION3) && (SAU_INIT_REGION3 == 1U) - SAU_INIT_REGION(3); - #endif - - #if defined (SAU_INIT_REGION4) && (SAU_INIT_REGION4 == 1U) - SAU_INIT_REGION(4); - #endif - - #if defined (SAU_INIT_REGION5) && (SAU_INIT_REGION5 == 1U) - SAU_INIT_REGION(5); - #endif - - #if defined (SAU_INIT_REGION6) && (SAU_INIT_REGION6 == 1U) - SAU_INIT_REGION(6); - #endif - - #if defined (SAU_INIT_REGION7) && (SAU_INIT_REGION7 == 1U) - SAU_INIT_REGION(7); - #endif - - /* repeat this for all possible SAU regions */ - -#endif /* defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) */ - - - #if defined (SAU_INIT_CTRL) && (SAU_INIT_CTRL == 1U) - SAU->CTRL = ((SAU_INIT_CTRL_ENABLE << SAU_CTRL_ENABLE_Pos) & SAU_CTRL_ENABLE_Msk) | - ((SAU_INIT_CTRL_ALLNS << SAU_CTRL_ALLNS_Pos) & SAU_CTRL_ALLNS_Msk) ; - #endif - - #if defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) - SCB->SCR = (SCB->SCR & ~(SCB_SCR_SLEEPDEEPS_Msk )) | - ((SCB_CSR_DEEPSLEEPS_VAL << SCB_SCR_SLEEPDEEPS_Pos) & SCB_SCR_SLEEPDEEPS_Msk); - - SCB->AIRCR = (SCB->AIRCR & ~(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_SYSRESETREQS_Msk | - SCB_AIRCR_BFHFNMINS_Msk | SCB_AIRCR_PRIS_Msk) ) | - ((0x05FAU << SCB_AIRCR_VECTKEY_Pos) & SCB_AIRCR_VECTKEY_Msk) | - ((SCB_AIRCR_SYSRESETREQS_VAL << SCB_AIRCR_SYSRESETREQS_Pos) & SCB_AIRCR_SYSRESETREQS_Msk) | - ((SCB_AIRCR_PRIS_VAL << SCB_AIRCR_PRIS_Pos) & SCB_AIRCR_PRIS_Msk) | - ((SCB_AIRCR_BFHFNMINS_VAL << SCB_AIRCR_BFHFNMINS_Pos) & SCB_AIRCR_BFHFNMINS_Msk); - #endif /* defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) */ - - #if defined (SCB_ICSR_INIT) && (SCB_ICSR_INIT == 1U) - SCB->ICSR = (SCB->ICSR & ~(SCB_ICSR_STTNS_Msk )) | - ((SCB_ICSR_STTNS_VAL << SCB_ICSR_STTNS_Pos) & SCB_ICSR_STTNS_Msk); - #endif /* defined (SCB_ICSR_INIT) && (SCB_ICSR_INIT == 1U) */ - - #if defined (NVIC_INIT_ITNS0) && (NVIC_INIT_ITNS0 == 1U) - NVIC->ITNS[0] = NVIC_INIT_ITNS0_VAL; - #endif - - #if defined (NVIC_INIT_ITNS1) && (NVIC_INIT_ITNS1 == 1U) - NVIC->ITNS[1] = NVIC_INIT_ITNS1_VAL; - #endif - - #if defined (NVIC_INIT_ITNS2) && (NVIC_INIT_ITNS2 == 1U) - NVIC->ITNS[2] = NVIC_INIT_ITNS2_VAL; - #endif - - #if defined (NVIC_INIT_ITNS3) && (NVIC_INIT_ITNS3 == 1U) - NVIC->ITNS[3] = NVIC_INIT_ITNS3_VAL; - #endif - - #if defined (NVIC_INIT_ITNS4) && (NVIC_INIT_ITNS4 == 1U) - NVIC->ITNS[4] = NVIC_INIT_ITNS4_VAL; - #endif - - #if defined (NVIC_INIT_ITNS5) && (NVIC_INIT_ITNS5 == 1U) - NVIC->ITNS[5] = NVIC_INIT_ITNS5_VAL; - #endif - - #if defined (NVIC_INIT_ITNS6) && (NVIC_INIT_ITNS6 == 1U) - NVIC->ITNS[6] = NVIC_INIT_ITNS6_VAL; - #endif - - #if defined (NVIC_INIT_ITNS7) && (NVIC_INIT_ITNS7 == 1U) - NVIC->ITNS[7] = NVIC_INIT_ITNS7_VAL; - #endif - - /* repeat this for all possible ITNS elements */ - -} - -#endif /* PARTITION_ARMCM23_H */ diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Source/Config/partition_ARMCM33.h b/external/CMSIS_5/CMSIS/CoreValidation/Source/Config/partition_ARMCM33.h deleted file mode 100644 index be43760..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Source/Config/partition_ARMCM33.h +++ /dev/null @@ -1,1260 +0,0 @@ -/**************************************************************************//** - * @file partition_ARMCM33.h - * @brief CMSIS-CORE Initial Setup for Secure / Non-Secure Zones for ARMCM33 - * @version V5.3.1 - * @date 09. July 2018 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef PARTITION_ARMCM33_H -#define PARTITION_ARMCM33_H - -/* -//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- -*/ - -/* -// Initialize Security Attribution Unit (SAU) CTRL register -*/ -#define SAU_INIT_CTRL 1 - -/* -// Enable SAU -// Value for SAU->CTRL register bit ENABLE -*/ -#define SAU_INIT_CTRL_ENABLE 1 - -/* -// When SAU is disabled -// <0=> All Memory is Secure -// <1=> All Memory is Non-Secure -// Value for SAU->CTRL register bit ALLNS -// When all Memory is Non-Secure (ALLNS is 1), IDAU can override memory map configuration. -*/ -#define SAU_INIT_CTRL_ALLNS 0 - -/* -// -*/ - -/* -// Initialize Security Attribution Unit (SAU) Address Regions -// SAU configuration specifies regions to be one of: -// - Secure and Non-Secure Callable -// - Non-Secure -// Note: All memory regions not configured by SAU are Secure -*/ -#define SAU_REGIONS_MAX 8 /* Max. number of SAU regions */ - -/* -// Initialize SAU Region 0 -// Setup SAU Region 0 memory attributes -*/ -#define SAU_INIT_REGION0 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START0 0x00000000 /* start address of SAU region 0 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END0 0x001FFFFF /* end address of SAU region 0 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC0 1 -/* -// -*/ - -/* -// Initialize SAU Region 1 -// Setup SAU Region 1 memory attributes -*/ -#define SAU_INIT_REGION1 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START1 0x00200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END1 0x003FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC1 0 -/* -// -*/ - -/* -// Initialize SAU Region 2 -// Setup SAU Region 2 memory attributes -*/ -#define SAU_INIT_REGION2 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START2 0x20200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END2 0x203FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC2 0 -/* -// -*/ - -/* -// Initialize SAU Region 3 -// Setup SAU Region 3 memory attributes -*/ -#define SAU_INIT_REGION3 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START3 0x40000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END3 0x40040000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC3 0 -/* -// -*/ - -/* -// Initialize SAU Region 4 -// Setup SAU Region 4 memory attributes -*/ -#define SAU_INIT_REGION4 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START4 0x00000000 /* start address of SAU region 4 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END4 0x00000000 /* end address of SAU region 4 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC4 0 -/* -// -*/ - -/* -// Initialize SAU Region 5 -// Setup SAU Region 5 memory attributes -*/ -#define SAU_INIT_REGION5 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START5 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END5 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC5 0 -/* -// -*/ - -/* -// Initialize SAU Region 6 -// Setup SAU Region 6 memory attributes -*/ -#define SAU_INIT_REGION6 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START6 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END6 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC6 0 -/* -// -*/ - -/* -// Initialize SAU Region 7 -// Setup SAU Region 7 memory attributes -*/ -#define SAU_INIT_REGION7 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START7 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END7 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC7 0 -/* -// -*/ - -/* -// -*/ - -/* -// Setup behaviour of Sleep and Exception Handling -*/ -#define SCB_CSR_AIRCR_INIT 1 - -/* -// Deep Sleep can be enabled by -// <0=>Secure and Non-Secure state -// <1=>Secure state only -// Value for SCB->CSR register bit DEEPSLEEPS -*/ -#define SCB_CSR_DEEPSLEEPS_VAL 1 - -/* -// System reset request accessible from -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for SCB->AIRCR register bit SYSRESETREQS -*/ -#define SCB_AIRCR_SYSRESETREQS_VAL 1 - -/* -// Priority of Non-Secure exceptions is -// <0=> Not altered -// <1=> Lowered to 0x80-0xFF -// Value for SCB->AIRCR register bit PRIS -*/ -#define SCB_AIRCR_PRIS_VAL 1 - -/* -// BusFault, HardFault, and NMI target -// <0=> Secure state -// <1=> Non-Secure state -// Value for SCB->AIRCR register bit BFHFNMINS -*/ -#define SCB_AIRCR_BFHFNMINS_VAL 0 - -/* -// -*/ - -/* -// Setup behaviour of Floating Point Unit -*/ -#define TZ_FPU_NS_USAGE 1 - -/* -// Floating Point Unit usage -// <0=> Secure state only -// <3=> Secure and Non-Secure state -// Value for SCB->NSACR register bits CP10, CP11 -*/ -#define SCB_NSACR_CP10_11_VAL 3 - -/* -// Treat floating-point registers as Secure -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit TS -*/ -#define FPU_FPCCR_TS_VAL 0 - -/* -// Clear on return (CLRONRET) accessibility -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for FPU->FPCCR register bit CLRONRETS -*/ -#define FPU_FPCCR_CLRONRETS_VAL 0 - -/* -// Clear floating-point caller saved registers on exception return -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit CLRONRET -*/ -#define FPU_FPCCR_CLRONRET_VAL 1 - -/* -// -*/ - -/* -// Setup Interrupt Target -*/ - -/* -// Initialize ITNS 0 (Interrupts 0..31) -*/ -#define NVIC_INIT_ITNS0 1 - -/* -// Interrupts 0..31 -// Interrupt 0 <0=> Secure state <1=> Non-Secure state -// Interrupt 1 <0=> Secure state <1=> Non-Secure state -// Interrupt 2 <0=> Secure state <1=> Non-Secure state -// Interrupt 3 <0=> Secure state <1=> Non-Secure state -// Interrupt 4 <0=> Secure state <1=> Non-Secure state -// Interrupt 5 <0=> Secure state <1=> Non-Secure state -// Interrupt 6 <0=> Secure state <1=> Non-Secure state -// Interrupt 7 <0=> Secure state <1=> Non-Secure state -// Interrupt 8 <0=> Secure state <1=> Non-Secure state -// Interrupt 9 <0=> Secure state <1=> Non-Secure state -// Interrupt 10 <0=> Secure state <1=> Non-Secure state -// Interrupt 11 <0=> Secure state <1=> Non-Secure state -// Interrupt 12 <0=> Secure state <1=> Non-Secure state -// Interrupt 13 <0=> Secure state <1=> Non-Secure state -// Interrupt 14 <0=> Secure state <1=> Non-Secure state -// Interrupt 15 <0=> Secure state <1=> Non-Secure state -// Interrupt 16 <0=> Secure state <1=> Non-Secure state -// Interrupt 17 <0=> Secure state <1=> Non-Secure state -// Interrupt 18 <0=> Secure state <1=> Non-Secure state -// Interrupt 19 <0=> Secure state <1=> Non-Secure state -// Interrupt 20 <0=> Secure state <1=> Non-Secure state -// Interrupt 21 <0=> Secure state <1=> Non-Secure state -// Interrupt 22 <0=> Secure state <1=> Non-Secure state -// Interrupt 23 <0=> Secure state <1=> Non-Secure state -// Interrupt 24 <0=> Secure state <1=> Non-Secure state -// Interrupt 25 <0=> Secure state <1=> Non-Secure state -// Interrupt 26 <0=> Secure state <1=> Non-Secure state -// Interrupt 27 <0=> Secure state <1=> Non-Secure state -// Interrupt 28 <0=> Secure state <1=> Non-Secure state -// Interrupt 29 <0=> Secure state <1=> Non-Secure state -// Interrupt 30 <0=> Secure state <1=> Non-Secure state -// Interrupt 31 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS0_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 1 (Interrupts 32..63) -*/ -#define NVIC_INIT_ITNS1 1 - -/* -// Interrupts 32..63 -// Interrupt 32 <0=> Secure state <1=> Non-Secure state -// Interrupt 33 <0=> Secure state <1=> Non-Secure state -// Interrupt 34 <0=> Secure state <1=> Non-Secure state -// Interrupt 35 <0=> Secure state <1=> Non-Secure state -// Interrupt 36 <0=> Secure state <1=> Non-Secure state -// Interrupt 37 <0=> Secure state <1=> Non-Secure state -// Interrupt 38 <0=> Secure state <1=> Non-Secure state -// Interrupt 39 <0=> Secure state <1=> Non-Secure state -// Interrupt 40 <0=> Secure state <1=> Non-Secure state -// Interrupt 41 <0=> Secure state <1=> Non-Secure state -// Interrupt 42 <0=> Secure state <1=> Non-Secure state -// Interrupt 43 <0=> Secure state <1=> Non-Secure state -// Interrupt 44 <0=> Secure state <1=> Non-Secure state -// Interrupt 45 <0=> Secure state <1=> Non-Secure state -// Interrupt 46 <0=> Secure state <1=> Non-Secure state -// Interrupt 47 <0=> Secure state <1=> Non-Secure state -// Interrupt 48 <0=> Secure state <1=> Non-Secure state -// Interrupt 49 <0=> Secure state <1=> Non-Secure state -// Interrupt 50 <0=> Secure state <1=> Non-Secure state -// Interrupt 51 <0=> Secure state <1=> Non-Secure state -// Interrupt 52 <0=> Secure state <1=> Non-Secure state -// Interrupt 53 <0=> Secure state <1=> Non-Secure state -// Interrupt 54 <0=> Secure state <1=> Non-Secure state -// Interrupt 55 <0=> Secure state <1=> Non-Secure state -// Interrupt 56 <0=> Secure state <1=> Non-Secure state -// Interrupt 57 <0=> Secure state <1=> Non-Secure state -// Interrupt 58 <0=> Secure state <1=> Non-Secure state -// Interrupt 59 <0=> Secure state <1=> Non-Secure state -// Interrupt 60 <0=> Secure state <1=> Non-Secure state -// Interrupt 61 <0=> Secure state <1=> Non-Secure state -// Interrupt 62 <0=> Secure state <1=> Non-Secure state -// Interrupt 63 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS1_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 2 (Interrupts 64..95) -*/ -#define NVIC_INIT_ITNS2 0 - -/* -// Interrupts 64..95 -// Interrupt 64 <0=> Secure state <1=> Non-Secure state -// Interrupt 65 <0=> Secure state <1=> Non-Secure state -// Interrupt 66 <0=> Secure state <1=> Non-Secure state -// Interrupt 67 <0=> Secure state <1=> Non-Secure state -// Interrupt 68 <0=> Secure state <1=> Non-Secure state -// Interrupt 69 <0=> Secure state <1=> Non-Secure state -// Interrupt 70 <0=> Secure state <1=> Non-Secure state -// Interrupt 71 <0=> Secure state <1=> Non-Secure state -// Interrupt 72 <0=> Secure state <1=> Non-Secure state -// Interrupt 73 <0=> Secure state <1=> Non-Secure state -// Interrupt 74 <0=> Secure state <1=> Non-Secure state -// Interrupt 75 <0=> Secure state <1=> Non-Secure state -// Interrupt 76 <0=> Secure state <1=> Non-Secure state -// Interrupt 77 <0=> Secure state <1=> Non-Secure state -// Interrupt 78 <0=> Secure state <1=> Non-Secure state -// Interrupt 79 <0=> Secure state <1=> Non-Secure state -// Interrupt 80 <0=> Secure state <1=> Non-Secure state -// Interrupt 81 <0=> Secure state <1=> Non-Secure state -// Interrupt 82 <0=> Secure state <1=> Non-Secure state -// Interrupt 83 <0=> Secure state <1=> Non-Secure state -// Interrupt 84 <0=> Secure state <1=> Non-Secure state -// Interrupt 85 <0=> Secure state <1=> Non-Secure state -// Interrupt 86 <0=> Secure state <1=> Non-Secure state -// Interrupt 87 <0=> Secure state <1=> Non-Secure state -// Interrupt 88 <0=> Secure state <1=> Non-Secure state -// Interrupt 89 <0=> Secure state <1=> Non-Secure state -// Interrupt 90 <0=> Secure state <1=> Non-Secure state -// Interrupt 91 <0=> Secure state <1=> Non-Secure state -// Interrupt 92 <0=> Secure state <1=> Non-Secure state -// Interrupt 93 <0=> Secure state <1=> Non-Secure state -// Interrupt 94 <0=> Secure state <1=> Non-Secure state -// Interrupt 95 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS2_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 3 (Interrupts 96..127) -*/ -#define NVIC_INIT_ITNS3 0 - -/* -// Interrupts 96..127 -// Interrupt 96 <0=> Secure state <1=> Non-Secure state -// Interrupt 97 <0=> Secure state <1=> Non-Secure state -// Interrupt 98 <0=> Secure state <1=> Non-Secure state -// Interrupt 99 <0=> Secure state <1=> Non-Secure state -// Interrupt 100 <0=> Secure state <1=> Non-Secure state -// Interrupt 101 <0=> Secure state <1=> Non-Secure state -// Interrupt 102 <0=> Secure state <1=> Non-Secure state -// Interrupt 103 <0=> Secure state <1=> Non-Secure state -// Interrupt 104 <0=> Secure state <1=> Non-Secure state -// Interrupt 105 <0=> Secure state <1=> Non-Secure state -// Interrupt 106 <0=> Secure state <1=> Non-Secure state -// Interrupt 107 <0=> Secure state <1=> Non-Secure state -// Interrupt 108 <0=> Secure state <1=> Non-Secure state -// Interrupt 109 <0=> Secure state <1=> Non-Secure state -// Interrupt 110 <0=> Secure state <1=> Non-Secure state -// Interrupt 111 <0=> Secure state <1=> Non-Secure state -// Interrupt 112 <0=> Secure state <1=> Non-Secure state -// Interrupt 113 <0=> Secure state <1=> Non-Secure state -// Interrupt 114 <0=> Secure state <1=> Non-Secure state -// Interrupt 115 <0=> Secure state <1=> Non-Secure state -// Interrupt 116 <0=> Secure state <1=> Non-Secure state -// Interrupt 117 <0=> Secure state <1=> Non-Secure state -// Interrupt 118 <0=> Secure state <1=> Non-Secure state -// Interrupt 119 <0=> Secure state <1=> Non-Secure state -// Interrupt 120 <0=> Secure state <1=> Non-Secure state -// Interrupt 121 <0=> Secure state <1=> Non-Secure state -// Interrupt 122 <0=> Secure state <1=> Non-Secure state -// Interrupt 123 <0=> Secure state <1=> Non-Secure state -// Interrupt 124 <0=> Secure state <1=> Non-Secure state -// Interrupt 125 <0=> Secure state <1=> Non-Secure state -// Interrupt 126 <0=> Secure state <1=> Non-Secure state -// Interrupt 127 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS3_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 4 (Interrupts 128..159) -*/ -#define NVIC_INIT_ITNS4 0 - -/* -// Interrupts 128..159 -// Interrupt 128 <0=> Secure state <1=> Non-Secure state -// Interrupt 129 <0=> Secure state <1=> Non-Secure state -// Interrupt 130 <0=> Secure state <1=> Non-Secure state -// Interrupt 131 <0=> Secure state <1=> Non-Secure state -// Interrupt 132 <0=> Secure state <1=> Non-Secure state -// Interrupt 133 <0=> Secure state <1=> Non-Secure state -// Interrupt 134 <0=> Secure state <1=> Non-Secure state -// Interrupt 135 <0=> Secure state <1=> Non-Secure state -// Interrupt 136 <0=> Secure state <1=> Non-Secure state -// Interrupt 137 <0=> Secure state <1=> Non-Secure state -// Interrupt 138 <0=> Secure state <1=> Non-Secure state -// Interrupt 139 <0=> Secure state <1=> Non-Secure state -// Interrupt 140 <0=> Secure state <1=> Non-Secure state -// Interrupt 141 <0=> Secure state <1=> Non-Secure state -// Interrupt 142 <0=> Secure state <1=> Non-Secure state -// Interrupt 143 <0=> Secure state <1=> Non-Secure state -// Interrupt 144 <0=> Secure state <1=> Non-Secure state -// Interrupt 145 <0=> Secure state <1=> Non-Secure state -// Interrupt 146 <0=> Secure state <1=> Non-Secure state -// Interrupt 147 <0=> Secure state <1=> Non-Secure state -// Interrupt 148 <0=> Secure state <1=> Non-Secure state -// Interrupt 149 <0=> Secure state <1=> Non-Secure state -// Interrupt 150 <0=> Secure state <1=> Non-Secure state -// Interrupt 151 <0=> Secure state <1=> Non-Secure state -// Interrupt 152 <0=> Secure state <1=> Non-Secure state -// Interrupt 153 <0=> Secure state <1=> Non-Secure state -// Interrupt 154 <0=> Secure state <1=> Non-Secure state -// Interrupt 155 <0=> Secure state <1=> Non-Secure state -// Interrupt 156 <0=> Secure state <1=> Non-Secure state -// Interrupt 157 <0=> Secure state <1=> Non-Secure state -// Interrupt 158 <0=> Secure state <1=> Non-Secure state -// Interrupt 159 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS4_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 5 (Interrupts 160..191) -*/ -#define NVIC_INIT_ITNS5 0 - -/* -// Interrupts 160..191 -// Interrupt 160 <0=> Secure state <1=> Non-Secure state -// Interrupt 161 <0=> Secure state <1=> Non-Secure state -// Interrupt 162 <0=> Secure state <1=> Non-Secure state -// Interrupt 163 <0=> Secure state <1=> Non-Secure state -// Interrupt 164 <0=> Secure state <1=> Non-Secure state -// Interrupt 165 <0=> Secure state <1=> Non-Secure state -// Interrupt 166 <0=> Secure state <1=> Non-Secure state -// Interrupt 167 <0=> Secure state <1=> Non-Secure state -// Interrupt 168 <0=> Secure state <1=> Non-Secure state -// Interrupt 169 <0=> Secure state <1=> Non-Secure state -// Interrupt 170 <0=> Secure state <1=> Non-Secure state -// Interrupt 171 <0=> Secure state <1=> Non-Secure state -// Interrupt 172 <0=> Secure state <1=> Non-Secure state -// Interrupt 173 <0=> Secure state <1=> Non-Secure state -// Interrupt 174 <0=> Secure state <1=> Non-Secure state -// Interrupt 175 <0=> Secure state <1=> Non-Secure state -// Interrupt 176 <0=> Secure state <1=> Non-Secure state -// Interrupt 177 <0=> Secure state <1=> Non-Secure state -// Interrupt 178 <0=> Secure state <1=> Non-Secure state -// Interrupt 179 <0=> Secure state <1=> Non-Secure state -// Interrupt 180 <0=> Secure state <1=> Non-Secure state -// Interrupt 181 <0=> Secure state <1=> Non-Secure state -// Interrupt 182 <0=> Secure state <1=> Non-Secure state -// Interrupt 183 <0=> Secure state <1=> Non-Secure state -// Interrupt 184 <0=> Secure state <1=> Non-Secure state -// Interrupt 185 <0=> Secure state <1=> Non-Secure state -// Interrupt 186 <0=> Secure state <1=> Non-Secure state -// Interrupt 187 <0=> Secure state <1=> Non-Secure state -// Interrupt 188 <0=> Secure state <1=> Non-Secure state -// Interrupt 189 <0=> Secure state <1=> Non-Secure state -// Interrupt 190 <0=> Secure state <1=> Non-Secure state -// Interrupt 191 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS5_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 6 (Interrupts 192..223) -*/ -#define NVIC_INIT_ITNS6 0 - -/* -// Interrupts 192..223 -// Interrupt 192 <0=> Secure state <1=> Non-Secure state -// Interrupt 193 <0=> Secure state <1=> Non-Secure state -// Interrupt 194 <0=> Secure state <1=> Non-Secure state -// Interrupt 195 <0=> Secure state <1=> Non-Secure state -// Interrupt 196 <0=> Secure state <1=> Non-Secure state -// Interrupt 197 <0=> Secure state <1=> Non-Secure state -// Interrupt 198 <0=> Secure state <1=> Non-Secure state -// Interrupt 199 <0=> Secure state <1=> Non-Secure state -// Interrupt 200 <0=> Secure state <1=> Non-Secure state -// Interrupt 201 <0=> Secure state <1=> Non-Secure state -// Interrupt 202 <0=> Secure state <1=> Non-Secure state -// Interrupt 203 <0=> Secure state <1=> Non-Secure state -// Interrupt 204 <0=> Secure state <1=> Non-Secure state -// Interrupt 205 <0=> Secure state <1=> Non-Secure state -// Interrupt 206 <0=> Secure state <1=> Non-Secure state -// Interrupt 207 <0=> Secure state <1=> Non-Secure state -// Interrupt 208 <0=> Secure state <1=> Non-Secure state -// Interrupt 209 <0=> Secure state <1=> Non-Secure state -// Interrupt 210 <0=> Secure state <1=> Non-Secure state -// Interrupt 211 <0=> Secure state <1=> Non-Secure state -// Interrupt 212 <0=> Secure state <1=> Non-Secure state -// Interrupt 213 <0=> Secure state <1=> Non-Secure state -// Interrupt 214 <0=> Secure state <1=> Non-Secure state -// Interrupt 215 <0=> Secure state <1=> Non-Secure state -// Interrupt 216 <0=> Secure state <1=> Non-Secure state -// Interrupt 217 <0=> Secure state <1=> Non-Secure state -// Interrupt 218 <0=> Secure state <1=> Non-Secure state -// Interrupt 219 <0=> Secure state <1=> Non-Secure state -// Interrupt 220 <0=> Secure state <1=> Non-Secure state -// Interrupt 221 <0=> Secure state <1=> Non-Secure state -// Interrupt 222 <0=> Secure state <1=> Non-Secure state -// Interrupt 223 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS6_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 7 (Interrupts 224..255) -*/ -#define NVIC_INIT_ITNS7 0 - -/* -// Interrupts 224..255 -// Interrupt 224 <0=> Secure state <1=> Non-Secure state -// Interrupt 225 <0=> Secure state <1=> Non-Secure state -// Interrupt 226 <0=> Secure state <1=> Non-Secure state -// Interrupt 227 <0=> Secure state <1=> Non-Secure state -// Interrupt 228 <0=> Secure state <1=> Non-Secure state -// Interrupt 229 <0=> Secure state <1=> Non-Secure state -// Interrupt 230 <0=> Secure state <1=> Non-Secure state -// Interrupt 231 <0=> Secure state <1=> Non-Secure state -// Interrupt 232 <0=> Secure state <1=> Non-Secure state -// Interrupt 233 <0=> Secure state <1=> Non-Secure state -// Interrupt 234 <0=> Secure state <1=> Non-Secure state -// Interrupt 235 <0=> Secure state <1=> Non-Secure state -// Interrupt 236 <0=> Secure state <1=> Non-Secure state -// Interrupt 237 <0=> Secure state <1=> Non-Secure state -// Interrupt 238 <0=> Secure state <1=> Non-Secure state -// Interrupt 239 <0=> Secure state <1=> Non-Secure state -// Interrupt 240 <0=> Secure state <1=> Non-Secure state -// Interrupt 241 <0=> Secure state <1=> Non-Secure state -// Interrupt 242 <0=> Secure state <1=> Non-Secure state -// Interrupt 243 <0=> Secure state <1=> Non-Secure state -// Interrupt 244 <0=> Secure state <1=> Non-Secure state -// Interrupt 245 <0=> Secure state <1=> Non-Secure state -// Interrupt 246 <0=> Secure state <1=> Non-Secure state -// Interrupt 247 <0=> Secure state <1=> Non-Secure state -// Interrupt 248 <0=> Secure state <1=> Non-Secure state -// Interrupt 249 <0=> Secure state <1=> Non-Secure state -// Interrupt 250 <0=> Secure state <1=> Non-Secure state -// Interrupt 251 <0=> Secure state <1=> Non-Secure state -// Interrupt 252 <0=> Secure state <1=> Non-Secure state -// Interrupt 253 <0=> Secure state <1=> Non-Secure state -// Interrupt 254 <0=> Secure state <1=> Non-Secure state -// Interrupt 255 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS7_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 8 (Interrupts 256..287) -*/ -#define NVIC_INIT_ITNS8 0 - -/* -// Interrupts 256..287 -// Interrupt 256 <0=> Secure state <1=> Non-Secure state -// Interrupt 257 <0=> Secure state <1=> Non-Secure state -// Interrupt 258 <0=> Secure state <1=> Non-Secure state -// Interrupt 259 <0=> Secure state <1=> Non-Secure state -// Interrupt 260 <0=> Secure state <1=> Non-Secure state -// Interrupt 261 <0=> Secure state <1=> Non-Secure state -// Interrupt 262 <0=> Secure state <1=> Non-Secure state -// Interrupt 263 <0=> Secure state <1=> Non-Secure state -// Interrupt 264 <0=> Secure state <1=> Non-Secure state -// Interrupt 265 <0=> Secure state <1=> Non-Secure state -// Interrupt 266 <0=> Secure state <1=> Non-Secure state -// Interrupt 267 <0=> Secure state <1=> Non-Secure state -// Interrupt 268 <0=> Secure state <1=> Non-Secure state -// Interrupt 269 <0=> Secure state <1=> Non-Secure state -// Interrupt 270 <0=> Secure state <1=> Non-Secure state -// Interrupt 271 <0=> Secure state <1=> Non-Secure state -// Interrupt 272 <0=> Secure state <1=> Non-Secure state -// Interrupt 273 <0=> Secure state <1=> Non-Secure state -// Interrupt 274 <0=> Secure state <1=> Non-Secure state -// Interrupt 275 <0=> Secure state <1=> Non-Secure state -// Interrupt 276 <0=> Secure state <1=> Non-Secure state -// Interrupt 277 <0=> Secure state <1=> Non-Secure state -// Interrupt 278 <0=> Secure state <1=> Non-Secure state -// Interrupt 279 <0=> Secure state <1=> Non-Secure state -// Interrupt 280 <0=> Secure state <1=> Non-Secure state -// Interrupt 281 <0=> Secure state <1=> Non-Secure state -// Interrupt 282 <0=> Secure state <1=> Non-Secure state -// Interrupt 283 <0=> Secure state <1=> Non-Secure state -// Interrupt 284 <0=> Secure state <1=> Non-Secure state -// Interrupt 285 <0=> Secure state <1=> Non-Secure state -// Interrupt 286 <0=> Secure state <1=> Non-Secure state -// Interrupt 287 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS8_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 9 (Interrupts 288..319) -*/ -#define NVIC_INIT_ITNS9 0 - -/* -// Interrupts 288..319 -// Interrupt 288 <0=> Secure state <1=> Non-Secure state -// Interrupt 289 <0=> Secure state <1=> Non-Secure state -// Interrupt 290 <0=> Secure state <1=> Non-Secure state -// Interrupt 291 <0=> Secure state <1=> Non-Secure state -// Interrupt 292 <0=> Secure state <1=> Non-Secure state -// Interrupt 293 <0=> Secure state <1=> Non-Secure state -// Interrupt 294 <0=> Secure state <1=> Non-Secure state -// Interrupt 295 <0=> Secure state <1=> Non-Secure state -// Interrupt 296 <0=> Secure state <1=> Non-Secure state -// Interrupt 297 <0=> Secure state <1=> Non-Secure state -// Interrupt 298 <0=> Secure state <1=> Non-Secure state -// Interrupt 299 <0=> Secure state <1=> Non-Secure state -// Interrupt 300 <0=> Secure state <1=> Non-Secure state -// Interrupt 301 <0=> Secure state <1=> Non-Secure state -// Interrupt 302 <0=> Secure state <1=> Non-Secure state -// Interrupt 303 <0=> Secure state <1=> Non-Secure state -// Interrupt 304 <0=> Secure state <1=> Non-Secure state -// Interrupt 305 <0=> Secure state <1=> Non-Secure state -// Interrupt 306 <0=> Secure state <1=> Non-Secure state -// Interrupt 307 <0=> Secure state <1=> Non-Secure state -// Interrupt 308 <0=> Secure state <1=> Non-Secure state -// Interrupt 309 <0=> Secure state <1=> Non-Secure state -// Interrupt 310 <0=> Secure state <1=> Non-Secure state -// Interrupt 311 <0=> Secure state <1=> Non-Secure state -// Interrupt 312 <0=> Secure state <1=> Non-Secure state -// Interrupt 313 <0=> Secure state <1=> Non-Secure state -// Interrupt 314 <0=> Secure state <1=> Non-Secure state -// Interrupt 315 <0=> Secure state <1=> Non-Secure state -// Interrupt 316 <0=> Secure state <1=> Non-Secure state -// Interrupt 317 <0=> Secure state <1=> Non-Secure state -// Interrupt 318 <0=> Secure state <1=> Non-Secure state -// Interrupt 319 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS9_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 10 (Interrupts 320..351) -*/ -#define NVIC_INIT_ITNS10 0 - -/* -// Interrupts 320..351 -// Interrupt 320 <0=> Secure state <1=> Non-Secure state -// Interrupt 321 <0=> Secure state <1=> Non-Secure state -// Interrupt 322 <0=> Secure state <1=> Non-Secure state -// Interrupt 323 <0=> Secure state <1=> Non-Secure state -// Interrupt 324 <0=> Secure state <1=> Non-Secure state -// Interrupt 325 <0=> Secure state <1=> Non-Secure state -// Interrupt 326 <0=> Secure state <1=> Non-Secure state -// Interrupt 327 <0=> Secure state <1=> Non-Secure state -// Interrupt 328 <0=> Secure state <1=> Non-Secure state -// Interrupt 329 <0=> Secure state <1=> Non-Secure state -// Interrupt 330 <0=> Secure state <1=> Non-Secure state -// Interrupt 331 <0=> Secure state <1=> Non-Secure state -// Interrupt 332 <0=> Secure state <1=> Non-Secure state -// Interrupt 333 <0=> Secure state <1=> Non-Secure state -// Interrupt 334 <0=> Secure state <1=> Non-Secure state -// Interrupt 335 <0=> Secure state <1=> Non-Secure state -// Interrupt 336 <0=> Secure state <1=> Non-Secure state -// Interrupt 337 <0=> Secure state <1=> Non-Secure state -// Interrupt 338 <0=> Secure state <1=> Non-Secure state -// Interrupt 339 <0=> Secure state <1=> Non-Secure state -// Interrupt 340 <0=> Secure state <1=> Non-Secure state -// Interrupt 341 <0=> Secure state <1=> Non-Secure state -// Interrupt 342 <0=> Secure state <1=> Non-Secure state -// Interrupt 343 <0=> Secure state <1=> Non-Secure state -// Interrupt 344 <0=> Secure state <1=> Non-Secure state -// Interrupt 345 <0=> Secure state <1=> Non-Secure state -// Interrupt 346 <0=> Secure state <1=> Non-Secure state -// Interrupt 347 <0=> Secure state <1=> Non-Secure state -// Interrupt 348 <0=> Secure state <1=> Non-Secure state -// Interrupt 349 <0=> Secure state <1=> Non-Secure state -// Interrupt 350 <0=> Secure state <1=> Non-Secure state -// Interrupt 351 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS10_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 11 (Interrupts 352..383) -*/ -#define NVIC_INIT_ITNS11 0 - -/* -// Interrupts 352..383 -// Interrupt 352 <0=> Secure state <1=> Non-Secure state -// Interrupt 353 <0=> Secure state <1=> Non-Secure state -// Interrupt 354 <0=> Secure state <1=> Non-Secure state -// Interrupt 355 <0=> Secure state <1=> Non-Secure state -// Interrupt 356 <0=> Secure state <1=> Non-Secure state -// Interrupt 357 <0=> Secure state <1=> Non-Secure state -// Interrupt 358 <0=> Secure state <1=> Non-Secure state -// Interrupt 359 <0=> Secure state <1=> Non-Secure state -// Interrupt 360 <0=> Secure state <1=> Non-Secure state -// Interrupt 361 <0=> Secure state <1=> Non-Secure state -// Interrupt 362 <0=> Secure state <1=> Non-Secure state -// Interrupt 363 <0=> Secure state <1=> Non-Secure state -// Interrupt 364 <0=> Secure state <1=> Non-Secure state -// Interrupt 365 <0=> Secure state <1=> Non-Secure state -// Interrupt 366 <0=> Secure state <1=> Non-Secure state -// Interrupt 367 <0=> Secure state <1=> Non-Secure state -// Interrupt 368 <0=> Secure state <1=> Non-Secure state -// Interrupt 369 <0=> Secure state <1=> Non-Secure state -// Interrupt 370 <0=> Secure state <1=> Non-Secure state -// Interrupt 371 <0=> Secure state <1=> Non-Secure state -// Interrupt 372 <0=> Secure state <1=> Non-Secure state -// Interrupt 373 <0=> Secure state <1=> Non-Secure state -// Interrupt 374 <0=> Secure state <1=> Non-Secure state -// Interrupt 375 <0=> Secure state <1=> Non-Secure state -// Interrupt 376 <0=> Secure state <1=> Non-Secure state -// Interrupt 377 <0=> Secure state <1=> Non-Secure state -// Interrupt 378 <0=> Secure state <1=> Non-Secure state -// Interrupt 379 <0=> Secure state <1=> Non-Secure state -// Interrupt 380 <0=> Secure state <1=> Non-Secure state -// Interrupt 381 <0=> Secure state <1=> Non-Secure state -// Interrupt 382 <0=> Secure state <1=> Non-Secure state -// Interrupt 383 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS11_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 12 (Interrupts 384..415) -*/ -#define NVIC_INIT_ITNS12 0 - -/* -// Interrupts 384..415 -// Interrupt 384 <0=> Secure state <1=> Non-Secure state -// Interrupt 385 <0=> Secure state <1=> Non-Secure state -// Interrupt 386 <0=> Secure state <1=> Non-Secure state -// Interrupt 387 <0=> Secure state <1=> Non-Secure state -// Interrupt 388 <0=> Secure state <1=> Non-Secure state -// Interrupt 389 <0=> Secure state <1=> Non-Secure state -// Interrupt 390 <0=> Secure state <1=> Non-Secure state -// Interrupt 391 <0=> Secure state <1=> Non-Secure state -// Interrupt 392 <0=> Secure state <1=> Non-Secure state -// Interrupt 393 <0=> Secure state <1=> Non-Secure state -// Interrupt 394 <0=> Secure state <1=> Non-Secure state -// Interrupt 395 <0=> Secure state <1=> Non-Secure state -// Interrupt 396 <0=> Secure state <1=> Non-Secure state -// Interrupt 397 <0=> Secure state <1=> Non-Secure state -// Interrupt 398 <0=> Secure state <1=> Non-Secure state -// Interrupt 399 <0=> Secure state <1=> Non-Secure state -// Interrupt 400 <0=> Secure state <1=> Non-Secure state -// Interrupt 401 <0=> Secure state <1=> Non-Secure state -// Interrupt 402 <0=> Secure state <1=> Non-Secure state -// Interrupt 403 <0=> Secure state <1=> Non-Secure state -// Interrupt 404 <0=> Secure state <1=> Non-Secure state -// Interrupt 405 <0=> Secure state <1=> Non-Secure state -// Interrupt 406 <0=> Secure state <1=> Non-Secure state -// Interrupt 407 <0=> Secure state <1=> Non-Secure state -// Interrupt 408 <0=> Secure state <1=> Non-Secure state -// Interrupt 409 <0=> Secure state <1=> Non-Secure state -// Interrupt 410 <0=> Secure state <1=> Non-Secure state -// Interrupt 411 <0=> Secure state <1=> Non-Secure state -// Interrupt 412 <0=> Secure state <1=> Non-Secure state -// Interrupt 413 <0=> Secure state <1=> Non-Secure state -// Interrupt 414 <0=> Secure state <1=> Non-Secure state -// Interrupt 415 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS12_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 13 (Interrupts 416..447) -*/ -#define NVIC_INIT_ITNS13 0 - -/* -// Interrupts 416..447 -// Interrupt 416 <0=> Secure state <1=> Non-Secure state -// Interrupt 417 <0=> Secure state <1=> Non-Secure state -// Interrupt 418 <0=> Secure state <1=> Non-Secure state -// Interrupt 419 <0=> Secure state <1=> Non-Secure state -// Interrupt 420 <0=> Secure state <1=> Non-Secure state -// Interrupt 421 <0=> Secure state <1=> Non-Secure state -// Interrupt 422 <0=> Secure state <1=> Non-Secure state -// Interrupt 423 <0=> Secure state <1=> Non-Secure state -// Interrupt 424 <0=> Secure state <1=> Non-Secure state -// Interrupt 425 <0=> Secure state <1=> Non-Secure state -// Interrupt 426 <0=> Secure state <1=> Non-Secure state -// Interrupt 427 <0=> Secure state <1=> Non-Secure state -// Interrupt 428 <0=> Secure state <1=> Non-Secure state -// Interrupt 429 <0=> Secure state <1=> Non-Secure state -// Interrupt 430 <0=> Secure state <1=> Non-Secure state -// Interrupt 431 <0=> Secure state <1=> Non-Secure state -// Interrupt 432 <0=> Secure state <1=> Non-Secure state -// Interrupt 433 <0=> Secure state <1=> Non-Secure state -// Interrupt 434 <0=> Secure state <1=> Non-Secure state -// Interrupt 435 <0=> Secure state <1=> Non-Secure state -// Interrupt 436 <0=> Secure state <1=> Non-Secure state -// Interrupt 437 <0=> Secure state <1=> Non-Secure state -// Interrupt 438 <0=> Secure state <1=> Non-Secure state -// Interrupt 439 <0=> Secure state <1=> Non-Secure state -// Interrupt 440 <0=> Secure state <1=> Non-Secure state -// Interrupt 441 <0=> Secure state <1=> Non-Secure state -// Interrupt 442 <0=> Secure state <1=> Non-Secure state -// Interrupt 443 <0=> Secure state <1=> Non-Secure state -// Interrupt 444 <0=> Secure state <1=> Non-Secure state -// Interrupt 445 <0=> Secure state <1=> Non-Secure state -// Interrupt 446 <0=> Secure state <1=> Non-Secure state -// Interrupt 447 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS13_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 14 (Interrupts 448..479) -*/ -#define NVIC_INIT_ITNS14 0 - -/* -// Interrupts 448..479 -// Interrupt 448 <0=> Secure state <1=> Non-Secure state -// Interrupt 449 <0=> Secure state <1=> Non-Secure state -// Interrupt 450 <0=> Secure state <1=> Non-Secure state -// Interrupt 451 <0=> Secure state <1=> Non-Secure state -// Interrupt 452 <0=> Secure state <1=> Non-Secure state -// Interrupt 453 <0=> Secure state <1=> Non-Secure state -// Interrupt 454 <0=> Secure state <1=> Non-Secure state -// Interrupt 455 <0=> Secure state <1=> Non-Secure state -// Interrupt 456 <0=> Secure state <1=> Non-Secure state -// Interrupt 457 <0=> Secure state <1=> Non-Secure state -// Interrupt 458 <0=> Secure state <1=> Non-Secure state -// Interrupt 459 <0=> Secure state <1=> Non-Secure state -// Interrupt 460 <0=> Secure state <1=> Non-Secure state -// Interrupt 461 <0=> Secure state <1=> Non-Secure state -// Interrupt 462 <0=> Secure state <1=> Non-Secure state -// Interrupt 463 <0=> Secure state <1=> Non-Secure state -// Interrupt 464 <0=> Secure state <1=> Non-Secure state -// Interrupt 465 <0=> Secure state <1=> Non-Secure state -// Interrupt 466 <0=> Secure state <1=> Non-Secure state -// Interrupt 467 <0=> Secure state <1=> Non-Secure state -// Interrupt 468 <0=> Secure state <1=> Non-Secure state -// Interrupt 469 <0=> Secure state <1=> Non-Secure state -// Interrupt 470 <0=> Secure state <1=> Non-Secure state -// Interrupt 471 <0=> Secure state <1=> Non-Secure state -// Interrupt 472 <0=> Secure state <1=> Non-Secure state -// Interrupt 473 <0=> Secure state <1=> Non-Secure state -// Interrupt 474 <0=> Secure state <1=> Non-Secure state -// Interrupt 475 <0=> Secure state <1=> Non-Secure state -// Interrupt 476 <0=> Secure state <1=> Non-Secure state -// Interrupt 477 <0=> Secure state <1=> Non-Secure state -// Interrupt 478 <0=> Secure state <1=> Non-Secure state -// Interrupt 479 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS14_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 15 (Interrupts 480..511) -*/ -#define NVIC_INIT_ITNS15 0 - -/* -// Interrupts 480..511 -// Interrupt 480 <0=> Secure state <1=> Non-Secure state -// Interrupt 481 <0=> Secure state <1=> Non-Secure state -// Interrupt 482 <0=> Secure state <1=> Non-Secure state -// Interrupt 483 <0=> Secure state <1=> Non-Secure state -// Interrupt 484 <0=> Secure state <1=> Non-Secure state -// Interrupt 485 <0=> Secure state <1=> Non-Secure state -// Interrupt 486 <0=> Secure state <1=> Non-Secure state -// Interrupt 487 <0=> Secure state <1=> Non-Secure state -// Interrupt 488 <0=> Secure state <1=> Non-Secure state -// Interrupt 489 <0=> Secure state <1=> Non-Secure state -// Interrupt 490 <0=> Secure state <1=> Non-Secure state -// Interrupt 491 <0=> Secure state <1=> Non-Secure state -// Interrupt 492 <0=> Secure state <1=> Non-Secure state -// Interrupt 493 <0=> Secure state <1=> Non-Secure state -// Interrupt 494 <0=> Secure state <1=> Non-Secure state -// Interrupt 495 <0=> Secure state <1=> Non-Secure state -// Interrupt 496 <0=> Secure state <1=> Non-Secure state -// Interrupt 497 <0=> Secure state <1=> Non-Secure state -// Interrupt 498 <0=> Secure state <1=> Non-Secure state -// Interrupt 499 <0=> Secure state <1=> Non-Secure state -// Interrupt 500 <0=> Secure state <1=> Non-Secure state -// Interrupt 501 <0=> Secure state <1=> Non-Secure state -// Interrupt 502 <0=> Secure state <1=> Non-Secure state -// Interrupt 503 <0=> Secure state <1=> Non-Secure state -// Interrupt 504 <0=> Secure state <1=> Non-Secure state -// Interrupt 505 <0=> Secure state <1=> Non-Secure state -// Interrupt 506 <0=> Secure state <1=> Non-Secure state -// Interrupt 507 <0=> Secure state <1=> Non-Secure state -// Interrupt 508 <0=> Secure state <1=> Non-Secure state -// Interrupt 509 <0=> Secure state <1=> Non-Secure state -// Interrupt 510 <0=> Secure state <1=> Non-Secure state -// Interrupt 511 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS15_VAL 0x00000000 - -/* -// -*/ - -/* -// -*/ - - - -/* - max 128 SAU regions. - SAU regions are defined in partition.h - */ - -#define SAU_INIT_REGION(n) \ - SAU->RNR = (n & SAU_RNR_REGION_Msk); \ - SAU->RBAR = (SAU_INIT_START##n & SAU_RBAR_BADDR_Msk); \ - SAU->RLAR = (SAU_INIT_END##n & SAU_RLAR_LADDR_Msk) | \ - ((SAU_INIT_NSC##n << SAU_RLAR_NSC_Pos) & SAU_RLAR_NSC_Msk) | 1U - -/** - \brief Setup a SAU Region - \details Writes the region information contained in SAU_Region to the - registers SAU_RNR, SAU_RBAR, and SAU_RLAR - */ -__STATIC_INLINE void TZ_SAU_Setup (void) -{ - -#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) - - #if defined (SAU_INIT_REGION0) && (SAU_INIT_REGION0 == 1U) - SAU_INIT_REGION(0); - #endif - - #if defined (SAU_INIT_REGION1) && (SAU_INIT_REGION1 == 1U) - SAU_INIT_REGION(1); - #endif - - #if defined (SAU_INIT_REGION2) && (SAU_INIT_REGION2 == 1U) - SAU_INIT_REGION(2); - #endif - - #if defined (SAU_INIT_REGION3) && (SAU_INIT_REGION3 == 1U) - SAU_INIT_REGION(3); - #endif - - #if defined (SAU_INIT_REGION4) && (SAU_INIT_REGION4 == 1U) - SAU_INIT_REGION(4); - #endif - - #if defined (SAU_INIT_REGION5) && (SAU_INIT_REGION5 == 1U) - SAU_INIT_REGION(5); - #endif - - #if defined (SAU_INIT_REGION6) && (SAU_INIT_REGION6 == 1U) - SAU_INIT_REGION(6); - #endif - - #if defined (SAU_INIT_REGION7) && (SAU_INIT_REGION7 == 1U) - SAU_INIT_REGION(7); - #endif - - /* repeat this for all possible SAU regions */ - -#endif /* defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) */ - - - #if defined (SAU_INIT_CTRL) && (SAU_INIT_CTRL == 1U) - SAU->CTRL = ((SAU_INIT_CTRL_ENABLE << SAU_CTRL_ENABLE_Pos) & SAU_CTRL_ENABLE_Msk) | - ((SAU_INIT_CTRL_ALLNS << SAU_CTRL_ALLNS_Pos) & SAU_CTRL_ALLNS_Msk) ; - #endif - - #if defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) - SCB->SCR = (SCB->SCR & ~(SCB_SCR_SLEEPDEEPS_Msk )) | - ((SCB_CSR_DEEPSLEEPS_VAL << SCB_SCR_SLEEPDEEPS_Pos) & SCB_SCR_SLEEPDEEPS_Msk); - - SCB->AIRCR = (SCB->AIRCR & ~(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_SYSRESETREQS_Msk | - SCB_AIRCR_BFHFNMINS_Msk | SCB_AIRCR_PRIS_Msk )) | - ((0x05FAU << SCB_AIRCR_VECTKEY_Pos) & SCB_AIRCR_VECTKEY_Msk) | - ((SCB_AIRCR_SYSRESETREQS_VAL << SCB_AIRCR_SYSRESETREQS_Pos) & SCB_AIRCR_SYSRESETREQS_Msk) | - ((SCB_AIRCR_PRIS_VAL << SCB_AIRCR_PRIS_Pos) & SCB_AIRCR_PRIS_Msk) | - ((SCB_AIRCR_BFHFNMINS_VAL << SCB_AIRCR_BFHFNMINS_Pos) & SCB_AIRCR_BFHFNMINS_Msk); - #endif /* defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) */ - - #if defined (__FPU_USED) && (__FPU_USED == 1U) && \ - defined (TZ_FPU_NS_USAGE) && (TZ_FPU_NS_USAGE == 1U) - - SCB->NSACR = (SCB->NSACR & ~(SCB_NSACR_CP10_Msk | SCB_NSACR_CP10_Msk)) | - ((SCB_NSACR_CP10_11_VAL << SCB_NSACR_CP10_Pos) & (SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)); - - FPU->FPCCR = (FPU->FPCCR & ~(FPU_FPCCR_TS_Msk | FPU_FPCCR_CLRONRETS_Msk | FPU_FPCCR_CLRONRET_Msk)) | - ((FPU_FPCCR_TS_VAL << FPU_FPCCR_TS_Pos ) & FPU_FPCCR_TS_Msk ) | - ((FPU_FPCCR_CLRONRETS_VAL << FPU_FPCCR_CLRONRETS_Pos) & FPU_FPCCR_CLRONRETS_Msk) | - ((FPU_FPCCR_CLRONRET_VAL << FPU_FPCCR_CLRONRET_Pos ) & FPU_FPCCR_CLRONRET_Msk ); - #endif - - #if defined (NVIC_INIT_ITNS0) && (NVIC_INIT_ITNS0 == 1U) - NVIC->ITNS[0] = NVIC_INIT_ITNS0_VAL; - #endif - - #if defined (NVIC_INIT_ITNS1) && (NVIC_INIT_ITNS1 == 1U) - NVIC->ITNS[1] = NVIC_INIT_ITNS1_VAL; - #endif - - #if defined (NVIC_INIT_ITNS2) && (NVIC_INIT_ITNS2 == 1U) - NVIC->ITNS[2] = NVIC_INIT_ITNS2_VAL; - #endif - - #if defined (NVIC_INIT_ITNS3) && (NVIC_INIT_ITNS3 == 1U) - NVIC->ITNS[3] = NVIC_INIT_ITNS3_VAL; - #endif - - #if defined (NVIC_INIT_ITNS4) && (NVIC_INIT_ITNS4 == 1U) - NVIC->ITNS[4] = NVIC_INIT_ITNS4_VAL; - #endif - - #if defined (NVIC_INIT_ITNS5) && (NVIC_INIT_ITNS5 == 1U) - NVIC->ITNS[5] = NVIC_INIT_ITNS5_VAL; - #endif - - #if defined (NVIC_INIT_ITNS6) && (NVIC_INIT_ITNS6 == 1U) - NVIC->ITNS[6] = NVIC_INIT_ITNS6_VAL; - #endif - - #if defined (NVIC_INIT_ITNS7) && (NVIC_INIT_ITNS7 == 1U) - NVIC->ITNS[7] = NVIC_INIT_ITNS7_VAL; - #endif - - #if defined (NVIC_INIT_ITNS8) && (NVIC_INIT_ITNS8 == 1U) - NVIC->ITNS[8] = NVIC_INIT_ITNS8_VAL; - #endif - - #if defined (NVIC_INIT_ITNS9) && (NVIC_INIT_ITNS9 == 1U) - NVIC->ITNS[9] = NVIC_INIT_ITNS9_VAL; - #endif - - #if defined (NVIC_INIT_ITNS10) && (NVIC_INIT_ITNS10 == 1U) - NVIC->ITNS[10] = NVIC_INIT_ITNS10_VAL; - #endif - - #if defined (NVIC_INIT_ITNS11) && (NVIC_INIT_ITNS11 == 1U) - NVIC->ITNS[11] = NVIC_INIT_ITNS11_VAL; - #endif - - #if defined (NVIC_INIT_ITNS12) && (NVIC_INIT_ITNS12 == 1U) - NVIC->ITNS[12] = NVIC_INIT_ITNS12_VAL; - #endif - - #if defined (NVIC_INIT_ITNS13) && (NVIC_INIT_ITNS13 == 1U) - NVIC->ITNS[13] = NVIC_INIT_ITNS13_VAL; - #endif - - #if defined (NVIC_INIT_ITNS14) && (NVIC_INIT_ITNS14 == 1U) - NVIC->ITNS[14] = NVIC_INIT_ITNS14_VAL; - #endif - - #if defined (NVIC_INIT_ITNS15) && (NVIC_INIT_ITNS15 == 1U) - NVIC->ITNS[15] = NVIC_INIT_ITNS15_VAL; - #endif - - /* repeat this for all possible ITNS elements */ - -} - -#endif /* PARTITION_ARMCM33_H */ diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Source/Config/partition_ARMCM35P.h b/external/CMSIS_5/CMSIS/CoreValidation/Source/Config/partition_ARMCM35P.h deleted file mode 100644 index 9e11ebf..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Source/Config/partition_ARMCM35P.h +++ /dev/null @@ -1,1260 +0,0 @@ -/**************************************************************************//** - * @file partition_ARMCM35P.h - * @brief CMSIS-CORE Initial Setup for Secure / Non-Secure Zones for ARMCM35P - * @version V5.4.1 - * @date 03. September 2018 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef PARTITION_ARMCM35P_H -#define PARTITION_ARMCM35P_H - -/* -//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- -*/ - -/* -// Initialize Security Attribution Unit (SAU) CTRL register -*/ -#define SAU_INIT_CTRL 1 - -/* -// Enable SAU -// Value for SAU->CTRL register bit ENABLE -*/ -#define SAU_INIT_CTRL_ENABLE 1 - -/* -// When SAU is disabled -// <0=> All Memory is Secure -// <1=> All Memory is Non-Secure -// Value for SAU->CTRL register bit ALLNS -// When all Memory is Non-Secure (ALLNS is 1), IDAU can override memory map configuration. -*/ -#define SAU_INIT_CTRL_ALLNS 0 - -/* -// -*/ - -/* -// Initialize Security Attribution Unit (SAU) Address Regions -// SAU configuration specifies regions to be one of: -// - Secure and Non-Secure Callable -// - Non-Secure -// Note: All memory regions not configured by SAU are Secure -*/ -#define SAU_REGIONS_MAX 8 /* Max. number of SAU regions */ - -/* -// Initialize SAU Region 0 -// Setup SAU Region 0 memory attributes -*/ -#define SAU_INIT_REGION0 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START0 0x00000000 /* start address of SAU region 0 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END0 0x001FFFFF /* end address of SAU region 0 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC0 1 -/* -// -*/ - -/* -// Initialize SAU Region 1 -// Setup SAU Region 1 memory attributes -*/ -#define SAU_INIT_REGION1 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START1 0x00200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END1 0x003FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC1 0 -/* -// -*/ - -/* -// Initialize SAU Region 2 -// Setup SAU Region 2 memory attributes -*/ -#define SAU_INIT_REGION2 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START2 0x20200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END2 0x203FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC2 0 -/* -// -*/ - -/* -// Initialize SAU Region 3 -// Setup SAU Region 3 memory attributes -*/ -#define SAU_INIT_REGION3 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START3 0x40000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END3 0x40040000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC3 0 -/* -// -*/ - -/* -// Initialize SAU Region 4 -// Setup SAU Region 4 memory attributes -*/ -#define SAU_INIT_REGION4 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START4 0x00000000 /* start address of SAU region 4 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END4 0x00000000 /* end address of SAU region 4 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC4 0 -/* -// -*/ - -/* -// Initialize SAU Region 5 -// Setup SAU Region 5 memory attributes -*/ -#define SAU_INIT_REGION5 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START5 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END5 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC5 0 -/* -// -*/ - -/* -// Initialize SAU Region 6 -// Setup SAU Region 6 memory attributes -*/ -#define SAU_INIT_REGION6 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START6 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END6 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC6 0 -/* -// -*/ - -/* -// Initialize SAU Region 7 -// Setup SAU Region 7 memory attributes -*/ -#define SAU_INIT_REGION7 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START7 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END7 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC7 0 -/* -// -*/ - -/* -// -*/ - -/* -// Setup behaviour of Sleep and Exception Handling -*/ -#define SCB_CSR_AIRCR_INIT 1 - -/* -// Deep Sleep can be enabled by -// <0=>Secure and Non-Secure state -// <1=>Secure state only -// Value for SCB->CSR register bit DEEPSLEEPS -*/ -#define SCB_CSR_DEEPSLEEPS_VAL 1 - -/* -// System reset request accessible from -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for SCB->AIRCR register bit SYSRESETREQS -*/ -#define SCB_AIRCR_SYSRESETREQS_VAL 1 - -/* -// Priority of Non-Secure exceptions is -// <0=> Not altered -// <1=> Lowered to 0x80-0xFF -// Value for SCB->AIRCR register bit PRIS -*/ -#define SCB_AIRCR_PRIS_VAL 1 - -/* -// BusFault, HardFault, and NMI target -// <0=> Secure state -// <1=> Non-Secure state -// Value for SCB->AIRCR register bit BFHFNMINS -*/ -#define SCB_AIRCR_BFHFNMINS_VAL 0 - -/* -// -*/ - -/* -// Setup behaviour of Floating Point Unit -*/ -#define TZ_FPU_NS_USAGE 1 - -/* -// Floating Point Unit usage -// <0=> Secure state only -// <3=> Secure and Non-Secure state -// Value for SCB->NSACR register bits CP10, CP11 -*/ -#define SCB_NSACR_CP10_11_VAL 3 - -/* -// Treat floating-point registers as Secure -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit TS -*/ -#define FPU_FPCCR_TS_VAL 0 - -/* -// Clear on return (CLRONRET) accessibility -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for FPU->FPCCR register bit CLRONRETS -*/ -#define FPU_FPCCR_CLRONRETS_VAL 0 - -/* -// Clear floating-point caller saved registers on exception return -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit CLRONRET -*/ -#define FPU_FPCCR_CLRONRET_VAL 1 - -/* -// -*/ - -/* -// Setup Interrupt Target -*/ - -/* -// Initialize ITNS 0 (Interrupts 0..31) -*/ -#define NVIC_INIT_ITNS0 1 - -/* -// Interrupts 0..31 -// Interrupt 0 <0=> Secure state <1=> Non-Secure state -// Interrupt 1 <0=> Secure state <1=> Non-Secure state -// Interrupt 2 <0=> Secure state <1=> Non-Secure state -// Interrupt 3 <0=> Secure state <1=> Non-Secure state -// Interrupt 4 <0=> Secure state <1=> Non-Secure state -// Interrupt 5 <0=> Secure state <1=> Non-Secure state -// Interrupt 6 <0=> Secure state <1=> Non-Secure state -// Interrupt 7 <0=> Secure state <1=> Non-Secure state -// Interrupt 8 <0=> Secure state <1=> Non-Secure state -// Interrupt 9 <0=> Secure state <1=> Non-Secure state -// Interrupt 10 <0=> Secure state <1=> Non-Secure state -// Interrupt 11 <0=> Secure state <1=> Non-Secure state -// Interrupt 12 <0=> Secure state <1=> Non-Secure state -// Interrupt 13 <0=> Secure state <1=> Non-Secure state -// Interrupt 14 <0=> Secure state <1=> Non-Secure state -// Interrupt 15 <0=> Secure state <1=> Non-Secure state -// Interrupt 16 <0=> Secure state <1=> Non-Secure state -// Interrupt 17 <0=> Secure state <1=> Non-Secure state -// Interrupt 18 <0=> Secure state <1=> Non-Secure state -// Interrupt 19 <0=> Secure state <1=> Non-Secure state -// Interrupt 20 <0=> Secure state <1=> Non-Secure state -// Interrupt 21 <0=> Secure state <1=> Non-Secure state -// Interrupt 22 <0=> Secure state <1=> Non-Secure state -// Interrupt 23 <0=> Secure state <1=> Non-Secure state -// Interrupt 24 <0=> Secure state <1=> Non-Secure state -// Interrupt 25 <0=> Secure state <1=> Non-Secure state -// Interrupt 26 <0=> Secure state <1=> Non-Secure state -// Interrupt 27 <0=> Secure state <1=> Non-Secure state -// Interrupt 28 <0=> Secure state <1=> Non-Secure state -// Interrupt 29 <0=> Secure state <1=> Non-Secure state -// Interrupt 30 <0=> Secure state <1=> Non-Secure state -// Interrupt 31 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS0_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 1 (Interrupts 32..63) -*/ -#define NVIC_INIT_ITNS1 1 - -/* -// Interrupts 32..63 -// Interrupt 32 <0=> Secure state <1=> Non-Secure state -// Interrupt 33 <0=> Secure state <1=> Non-Secure state -// Interrupt 34 <0=> Secure state <1=> Non-Secure state -// Interrupt 35 <0=> Secure state <1=> Non-Secure state -// Interrupt 36 <0=> Secure state <1=> Non-Secure state -// Interrupt 37 <0=> Secure state <1=> Non-Secure state -// Interrupt 38 <0=> Secure state <1=> Non-Secure state -// Interrupt 39 <0=> Secure state <1=> Non-Secure state -// Interrupt 40 <0=> Secure state <1=> Non-Secure state -// Interrupt 41 <0=> Secure state <1=> Non-Secure state -// Interrupt 42 <0=> Secure state <1=> Non-Secure state -// Interrupt 43 <0=> Secure state <1=> Non-Secure state -// Interrupt 44 <0=> Secure state <1=> Non-Secure state -// Interrupt 45 <0=> Secure state <1=> Non-Secure state -// Interrupt 46 <0=> Secure state <1=> Non-Secure state -// Interrupt 47 <0=> Secure state <1=> Non-Secure state -// Interrupt 48 <0=> Secure state <1=> Non-Secure state -// Interrupt 49 <0=> Secure state <1=> Non-Secure state -// Interrupt 50 <0=> Secure state <1=> Non-Secure state -// Interrupt 51 <0=> Secure state <1=> Non-Secure state -// Interrupt 52 <0=> Secure state <1=> Non-Secure state -// Interrupt 53 <0=> Secure state <1=> Non-Secure state -// Interrupt 54 <0=> Secure state <1=> Non-Secure state -// Interrupt 55 <0=> Secure state <1=> Non-Secure state -// Interrupt 56 <0=> Secure state <1=> Non-Secure state -// Interrupt 57 <0=> Secure state <1=> Non-Secure state -// Interrupt 58 <0=> Secure state <1=> Non-Secure state -// Interrupt 59 <0=> Secure state <1=> Non-Secure state -// Interrupt 60 <0=> Secure state <1=> Non-Secure state -// Interrupt 61 <0=> Secure state <1=> Non-Secure state -// Interrupt 62 <0=> Secure state <1=> Non-Secure state -// Interrupt 63 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS1_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 2 (Interrupts 64..95) -*/ -#define NVIC_INIT_ITNS2 0 - -/* -// Interrupts 64..95 -// Interrupt 64 <0=> Secure state <1=> Non-Secure state -// Interrupt 65 <0=> Secure state <1=> Non-Secure state -// Interrupt 66 <0=> Secure state <1=> Non-Secure state -// Interrupt 67 <0=> Secure state <1=> Non-Secure state -// Interrupt 68 <0=> Secure state <1=> Non-Secure state -// Interrupt 69 <0=> Secure state <1=> Non-Secure state -// Interrupt 70 <0=> Secure state <1=> Non-Secure state -// Interrupt 71 <0=> Secure state <1=> Non-Secure state -// Interrupt 72 <0=> Secure state <1=> Non-Secure state -// Interrupt 73 <0=> Secure state <1=> Non-Secure state -// Interrupt 74 <0=> Secure state <1=> Non-Secure state -// Interrupt 75 <0=> Secure state <1=> Non-Secure state -// Interrupt 76 <0=> Secure state <1=> Non-Secure state -// Interrupt 77 <0=> Secure state <1=> Non-Secure state -// Interrupt 78 <0=> Secure state <1=> Non-Secure state -// Interrupt 79 <0=> Secure state <1=> Non-Secure state -// Interrupt 80 <0=> Secure state <1=> Non-Secure state -// Interrupt 81 <0=> Secure state <1=> Non-Secure state -// Interrupt 82 <0=> Secure state <1=> Non-Secure state -// Interrupt 83 <0=> Secure state <1=> Non-Secure state -// Interrupt 84 <0=> Secure state <1=> Non-Secure state -// Interrupt 85 <0=> Secure state <1=> Non-Secure state -// Interrupt 86 <0=> Secure state <1=> Non-Secure state -// Interrupt 87 <0=> Secure state <1=> Non-Secure state -// Interrupt 88 <0=> Secure state <1=> Non-Secure state -// Interrupt 89 <0=> Secure state <1=> Non-Secure state -// Interrupt 90 <0=> Secure state <1=> Non-Secure state -// Interrupt 91 <0=> Secure state <1=> Non-Secure state -// Interrupt 92 <0=> Secure state <1=> Non-Secure state -// Interrupt 93 <0=> Secure state <1=> Non-Secure state -// Interrupt 94 <0=> Secure state <1=> Non-Secure state -// Interrupt 95 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS2_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 3 (Interrupts 96..127) -*/ -#define NVIC_INIT_ITNS3 0 - -/* -// Interrupts 96..127 -// Interrupt 96 <0=> Secure state <1=> Non-Secure state -// Interrupt 97 <0=> Secure state <1=> Non-Secure state -// Interrupt 98 <0=> Secure state <1=> Non-Secure state -// Interrupt 99 <0=> Secure state <1=> Non-Secure state -// Interrupt 100 <0=> Secure state <1=> Non-Secure state -// Interrupt 101 <0=> Secure state <1=> Non-Secure state -// Interrupt 102 <0=> Secure state <1=> Non-Secure state -// Interrupt 103 <0=> Secure state <1=> Non-Secure state -// Interrupt 104 <0=> Secure state <1=> Non-Secure state -// Interrupt 105 <0=> Secure state <1=> Non-Secure state -// Interrupt 106 <0=> Secure state <1=> Non-Secure state -// Interrupt 107 <0=> Secure state <1=> Non-Secure state -// Interrupt 108 <0=> Secure state <1=> Non-Secure state -// Interrupt 109 <0=> Secure state <1=> Non-Secure state -// Interrupt 110 <0=> Secure state <1=> Non-Secure state -// Interrupt 111 <0=> Secure state <1=> Non-Secure state -// Interrupt 112 <0=> Secure state <1=> Non-Secure state -// Interrupt 113 <0=> Secure state <1=> Non-Secure state -// Interrupt 114 <0=> Secure state <1=> Non-Secure state -// Interrupt 115 <0=> Secure state <1=> Non-Secure state -// Interrupt 116 <0=> Secure state <1=> Non-Secure state -// Interrupt 117 <0=> Secure state <1=> Non-Secure state -// Interrupt 118 <0=> Secure state <1=> Non-Secure state -// Interrupt 119 <0=> Secure state <1=> Non-Secure state -// Interrupt 120 <0=> Secure state <1=> Non-Secure state -// Interrupt 121 <0=> Secure state <1=> Non-Secure state -// Interrupt 122 <0=> Secure state <1=> Non-Secure state -// Interrupt 123 <0=> Secure state <1=> Non-Secure state -// Interrupt 124 <0=> Secure state <1=> Non-Secure state -// Interrupt 125 <0=> Secure state <1=> Non-Secure state -// Interrupt 126 <0=> Secure state <1=> Non-Secure state -// Interrupt 127 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS3_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 4 (Interrupts 128..159) -*/ -#define NVIC_INIT_ITNS4 0 - -/* -// Interrupts 128..159 -// Interrupt 128 <0=> Secure state <1=> Non-Secure state -// Interrupt 129 <0=> Secure state <1=> Non-Secure state -// Interrupt 130 <0=> Secure state <1=> Non-Secure state -// Interrupt 131 <0=> Secure state <1=> Non-Secure state -// Interrupt 132 <0=> Secure state <1=> Non-Secure state -// Interrupt 133 <0=> Secure state <1=> Non-Secure state -// Interrupt 134 <0=> Secure state <1=> Non-Secure state -// Interrupt 135 <0=> Secure state <1=> Non-Secure state -// Interrupt 136 <0=> Secure state <1=> Non-Secure state -// Interrupt 137 <0=> Secure state <1=> Non-Secure state -// Interrupt 138 <0=> Secure state <1=> Non-Secure state -// Interrupt 139 <0=> Secure state <1=> Non-Secure state -// Interrupt 140 <0=> Secure state <1=> Non-Secure state -// Interrupt 141 <0=> Secure state <1=> Non-Secure state -// Interrupt 142 <0=> Secure state <1=> Non-Secure state -// Interrupt 143 <0=> Secure state <1=> Non-Secure state -// Interrupt 144 <0=> Secure state <1=> Non-Secure state -// Interrupt 145 <0=> Secure state <1=> Non-Secure state -// Interrupt 146 <0=> Secure state <1=> Non-Secure state -// Interrupt 147 <0=> Secure state <1=> Non-Secure state -// Interrupt 148 <0=> Secure state <1=> Non-Secure state -// Interrupt 149 <0=> Secure state <1=> Non-Secure state -// Interrupt 150 <0=> Secure state <1=> Non-Secure state -// Interrupt 151 <0=> Secure state <1=> Non-Secure state -// Interrupt 152 <0=> Secure state <1=> Non-Secure state -// Interrupt 153 <0=> Secure state <1=> Non-Secure state -// Interrupt 154 <0=> Secure state <1=> Non-Secure state -// Interrupt 155 <0=> Secure state <1=> Non-Secure state -// Interrupt 156 <0=> Secure state <1=> Non-Secure state -// Interrupt 157 <0=> Secure state <1=> Non-Secure state -// Interrupt 158 <0=> Secure state <1=> Non-Secure state -// Interrupt 159 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS4_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 5 (Interrupts 160..191) -*/ -#define NVIC_INIT_ITNS5 0 - -/* -// Interrupts 160..191 -// Interrupt 160 <0=> Secure state <1=> Non-Secure state -// Interrupt 161 <0=> Secure state <1=> Non-Secure state -// Interrupt 162 <0=> Secure state <1=> Non-Secure state -// Interrupt 163 <0=> Secure state <1=> Non-Secure state -// Interrupt 164 <0=> Secure state <1=> Non-Secure state -// Interrupt 165 <0=> Secure state <1=> Non-Secure state -// Interrupt 166 <0=> Secure state <1=> Non-Secure state -// Interrupt 167 <0=> Secure state <1=> Non-Secure state -// Interrupt 168 <0=> Secure state <1=> Non-Secure state -// Interrupt 169 <0=> Secure state <1=> Non-Secure state -// Interrupt 170 <0=> Secure state <1=> Non-Secure state -// Interrupt 171 <0=> Secure state <1=> Non-Secure state -// Interrupt 172 <0=> Secure state <1=> Non-Secure state -// Interrupt 173 <0=> Secure state <1=> Non-Secure state -// Interrupt 174 <0=> Secure state <1=> Non-Secure state -// Interrupt 175 <0=> Secure state <1=> Non-Secure state -// Interrupt 176 <0=> Secure state <1=> Non-Secure state -// Interrupt 177 <0=> Secure state <1=> Non-Secure state -// Interrupt 178 <0=> Secure state <1=> Non-Secure state -// Interrupt 179 <0=> Secure state <1=> Non-Secure state -// Interrupt 180 <0=> Secure state <1=> Non-Secure state -// Interrupt 181 <0=> Secure state <1=> Non-Secure state -// Interrupt 182 <0=> Secure state <1=> Non-Secure state -// Interrupt 183 <0=> Secure state <1=> Non-Secure state -// Interrupt 184 <0=> Secure state <1=> Non-Secure state -// Interrupt 185 <0=> Secure state <1=> Non-Secure state -// Interrupt 186 <0=> Secure state <1=> Non-Secure state -// Interrupt 187 <0=> Secure state <1=> Non-Secure state -// Interrupt 188 <0=> Secure state <1=> Non-Secure state -// Interrupt 189 <0=> Secure state <1=> Non-Secure state -// Interrupt 190 <0=> Secure state <1=> Non-Secure state -// Interrupt 191 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS5_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 6 (Interrupts 192..223) -*/ -#define NVIC_INIT_ITNS6 0 - -/* -// Interrupts 192..223 -// Interrupt 192 <0=> Secure state <1=> Non-Secure state -// Interrupt 193 <0=> Secure state <1=> Non-Secure state -// Interrupt 194 <0=> Secure state <1=> Non-Secure state -// Interrupt 195 <0=> Secure state <1=> Non-Secure state -// Interrupt 196 <0=> Secure state <1=> Non-Secure state -// Interrupt 197 <0=> Secure state <1=> Non-Secure state -// Interrupt 198 <0=> Secure state <1=> Non-Secure state -// Interrupt 199 <0=> Secure state <1=> Non-Secure state -// Interrupt 200 <0=> Secure state <1=> Non-Secure state -// Interrupt 201 <0=> Secure state <1=> Non-Secure state -// Interrupt 202 <0=> Secure state <1=> Non-Secure state -// Interrupt 203 <0=> Secure state <1=> Non-Secure state -// Interrupt 204 <0=> Secure state <1=> Non-Secure state -// Interrupt 205 <0=> Secure state <1=> Non-Secure state -// Interrupt 206 <0=> Secure state <1=> Non-Secure state -// Interrupt 207 <0=> Secure state <1=> Non-Secure state -// Interrupt 208 <0=> Secure state <1=> Non-Secure state -// Interrupt 209 <0=> Secure state <1=> Non-Secure state -// Interrupt 210 <0=> Secure state <1=> Non-Secure state -// Interrupt 211 <0=> Secure state <1=> Non-Secure state -// Interrupt 212 <0=> Secure state <1=> Non-Secure state -// Interrupt 213 <0=> Secure state <1=> Non-Secure state -// Interrupt 214 <0=> Secure state <1=> Non-Secure state -// Interrupt 215 <0=> Secure state <1=> Non-Secure state -// Interrupt 216 <0=> Secure state <1=> Non-Secure state -// Interrupt 217 <0=> Secure state <1=> Non-Secure state -// Interrupt 218 <0=> Secure state <1=> Non-Secure state -// Interrupt 219 <0=> Secure state <1=> Non-Secure state -// Interrupt 220 <0=> Secure state <1=> Non-Secure state -// Interrupt 221 <0=> Secure state <1=> Non-Secure state -// Interrupt 222 <0=> Secure state <1=> Non-Secure state -// Interrupt 223 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS6_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 7 (Interrupts 224..255) -*/ -#define NVIC_INIT_ITNS7 0 - -/* -// Interrupts 224..255 -// Interrupt 224 <0=> Secure state <1=> Non-Secure state -// Interrupt 225 <0=> Secure state <1=> Non-Secure state -// Interrupt 226 <0=> Secure state <1=> Non-Secure state -// Interrupt 227 <0=> Secure state <1=> Non-Secure state -// Interrupt 228 <0=> Secure state <1=> Non-Secure state -// Interrupt 229 <0=> Secure state <1=> Non-Secure state -// Interrupt 230 <0=> Secure state <1=> Non-Secure state -// Interrupt 231 <0=> Secure state <1=> Non-Secure state -// Interrupt 232 <0=> Secure state <1=> Non-Secure state -// Interrupt 233 <0=> Secure state <1=> Non-Secure state -// Interrupt 234 <0=> Secure state <1=> Non-Secure state -// Interrupt 235 <0=> Secure state <1=> Non-Secure state -// Interrupt 236 <0=> Secure state <1=> Non-Secure state -// Interrupt 237 <0=> Secure state <1=> Non-Secure state -// Interrupt 238 <0=> Secure state <1=> Non-Secure state -// Interrupt 239 <0=> Secure state <1=> Non-Secure state -// Interrupt 240 <0=> Secure state <1=> Non-Secure state -// Interrupt 241 <0=> Secure state <1=> Non-Secure state -// Interrupt 242 <0=> Secure state <1=> Non-Secure state -// Interrupt 243 <0=> Secure state <1=> Non-Secure state -// Interrupt 244 <0=> Secure state <1=> Non-Secure state -// Interrupt 245 <0=> Secure state <1=> Non-Secure state -// Interrupt 246 <0=> Secure state <1=> Non-Secure state -// Interrupt 247 <0=> Secure state <1=> Non-Secure state -// Interrupt 248 <0=> Secure state <1=> Non-Secure state -// Interrupt 249 <0=> Secure state <1=> Non-Secure state -// Interrupt 250 <0=> Secure state <1=> Non-Secure state -// Interrupt 251 <0=> Secure state <1=> Non-Secure state -// Interrupt 252 <0=> Secure state <1=> Non-Secure state -// Interrupt 253 <0=> Secure state <1=> Non-Secure state -// Interrupt 254 <0=> Secure state <1=> Non-Secure state -// Interrupt 255 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS7_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 8 (Interrupts 256..287) -*/ -#define NVIC_INIT_ITNS8 0 - -/* -// Interrupts 256..287 -// Interrupt 256 <0=> Secure state <1=> Non-Secure state -// Interrupt 257 <0=> Secure state <1=> Non-Secure state -// Interrupt 258 <0=> Secure state <1=> Non-Secure state -// Interrupt 259 <0=> Secure state <1=> Non-Secure state -// Interrupt 260 <0=> Secure state <1=> Non-Secure state -// Interrupt 261 <0=> Secure state <1=> Non-Secure state -// Interrupt 262 <0=> Secure state <1=> Non-Secure state -// Interrupt 263 <0=> Secure state <1=> Non-Secure state -// Interrupt 264 <0=> Secure state <1=> Non-Secure state -// Interrupt 265 <0=> Secure state <1=> Non-Secure state -// Interrupt 266 <0=> Secure state <1=> Non-Secure state -// Interrupt 267 <0=> Secure state <1=> Non-Secure state -// Interrupt 268 <0=> Secure state <1=> Non-Secure state -// Interrupt 269 <0=> Secure state <1=> Non-Secure state -// Interrupt 270 <0=> Secure state <1=> Non-Secure state -// Interrupt 271 <0=> Secure state <1=> Non-Secure state -// Interrupt 272 <0=> Secure state <1=> Non-Secure state -// Interrupt 273 <0=> Secure state <1=> Non-Secure state -// Interrupt 274 <0=> Secure state <1=> Non-Secure state -// Interrupt 275 <0=> Secure state <1=> Non-Secure state -// Interrupt 276 <0=> Secure state <1=> Non-Secure state -// Interrupt 277 <0=> Secure state <1=> Non-Secure state -// Interrupt 278 <0=> Secure state <1=> Non-Secure state -// Interrupt 279 <0=> Secure state <1=> Non-Secure state -// Interrupt 280 <0=> Secure state <1=> Non-Secure state -// Interrupt 281 <0=> Secure state <1=> Non-Secure state -// Interrupt 282 <0=> Secure state <1=> Non-Secure state -// Interrupt 283 <0=> Secure state <1=> Non-Secure state -// Interrupt 284 <0=> Secure state <1=> Non-Secure state -// Interrupt 285 <0=> Secure state <1=> Non-Secure state -// Interrupt 286 <0=> Secure state <1=> Non-Secure state -// Interrupt 287 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS8_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 9 (Interrupts 288..319) -*/ -#define NVIC_INIT_ITNS9 0 - -/* -// Interrupts 288..319 -// Interrupt 288 <0=> Secure state <1=> Non-Secure state -// Interrupt 289 <0=> Secure state <1=> Non-Secure state -// Interrupt 290 <0=> Secure state <1=> Non-Secure state -// Interrupt 291 <0=> Secure state <1=> Non-Secure state -// Interrupt 292 <0=> Secure state <1=> Non-Secure state -// Interrupt 293 <0=> Secure state <1=> Non-Secure state -// Interrupt 294 <0=> Secure state <1=> Non-Secure state -// Interrupt 295 <0=> Secure state <1=> Non-Secure state -// Interrupt 296 <0=> Secure state <1=> Non-Secure state -// Interrupt 297 <0=> Secure state <1=> Non-Secure state -// Interrupt 298 <0=> Secure state <1=> Non-Secure state -// Interrupt 299 <0=> Secure state <1=> Non-Secure state -// Interrupt 300 <0=> Secure state <1=> Non-Secure state -// Interrupt 301 <0=> Secure state <1=> Non-Secure state -// Interrupt 302 <0=> Secure state <1=> Non-Secure state -// Interrupt 303 <0=> Secure state <1=> Non-Secure state -// Interrupt 304 <0=> Secure state <1=> Non-Secure state -// Interrupt 305 <0=> Secure state <1=> Non-Secure state -// Interrupt 306 <0=> Secure state <1=> Non-Secure state -// Interrupt 307 <0=> Secure state <1=> Non-Secure state -// Interrupt 308 <0=> Secure state <1=> Non-Secure state -// Interrupt 309 <0=> Secure state <1=> Non-Secure state -// Interrupt 310 <0=> Secure state <1=> Non-Secure state -// Interrupt 311 <0=> Secure state <1=> Non-Secure state -// Interrupt 312 <0=> Secure state <1=> Non-Secure state -// Interrupt 313 <0=> Secure state <1=> Non-Secure state -// Interrupt 314 <0=> Secure state <1=> Non-Secure state -// Interrupt 315 <0=> Secure state <1=> Non-Secure state -// Interrupt 316 <0=> Secure state <1=> Non-Secure state -// Interrupt 317 <0=> Secure state <1=> Non-Secure state -// Interrupt 318 <0=> Secure state <1=> Non-Secure state -// Interrupt 319 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS9_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 10 (Interrupts 320..351) -*/ -#define NVIC_INIT_ITNS10 0 - -/* -// Interrupts 320..351 -// Interrupt 320 <0=> Secure state <1=> Non-Secure state -// Interrupt 321 <0=> Secure state <1=> Non-Secure state -// Interrupt 322 <0=> Secure state <1=> Non-Secure state -// Interrupt 323 <0=> Secure state <1=> Non-Secure state -// Interrupt 324 <0=> Secure state <1=> Non-Secure state -// Interrupt 325 <0=> Secure state <1=> Non-Secure state -// Interrupt 326 <0=> Secure state <1=> Non-Secure state -// Interrupt 327 <0=> Secure state <1=> Non-Secure state -// Interrupt 328 <0=> Secure state <1=> Non-Secure state -// Interrupt 329 <0=> Secure state <1=> Non-Secure state -// Interrupt 330 <0=> Secure state <1=> Non-Secure state -// Interrupt 331 <0=> Secure state <1=> Non-Secure state -// Interrupt 332 <0=> Secure state <1=> Non-Secure state -// Interrupt 333 <0=> Secure state <1=> Non-Secure state -// Interrupt 334 <0=> Secure state <1=> Non-Secure state -// Interrupt 335 <0=> Secure state <1=> Non-Secure state -// Interrupt 336 <0=> Secure state <1=> Non-Secure state -// Interrupt 337 <0=> Secure state <1=> Non-Secure state -// Interrupt 338 <0=> Secure state <1=> Non-Secure state -// Interrupt 339 <0=> Secure state <1=> Non-Secure state -// Interrupt 340 <0=> Secure state <1=> Non-Secure state -// Interrupt 341 <0=> Secure state <1=> Non-Secure state -// Interrupt 342 <0=> Secure state <1=> Non-Secure state -// Interrupt 343 <0=> Secure state <1=> Non-Secure state -// Interrupt 344 <0=> Secure state <1=> Non-Secure state -// Interrupt 345 <0=> Secure state <1=> Non-Secure state -// Interrupt 346 <0=> Secure state <1=> Non-Secure state -// Interrupt 347 <0=> Secure state <1=> Non-Secure state -// Interrupt 348 <0=> Secure state <1=> Non-Secure state -// Interrupt 349 <0=> Secure state <1=> Non-Secure state -// Interrupt 350 <0=> Secure state <1=> Non-Secure state -// Interrupt 351 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS10_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 11 (Interrupts 352..383) -*/ -#define NVIC_INIT_ITNS11 0 - -/* -// Interrupts 352..383 -// Interrupt 352 <0=> Secure state <1=> Non-Secure state -// Interrupt 353 <0=> Secure state <1=> Non-Secure state -// Interrupt 354 <0=> Secure state <1=> Non-Secure state -// Interrupt 355 <0=> Secure state <1=> Non-Secure state -// Interrupt 356 <0=> Secure state <1=> Non-Secure state -// Interrupt 357 <0=> Secure state <1=> Non-Secure state -// Interrupt 358 <0=> Secure state <1=> Non-Secure state -// Interrupt 359 <0=> Secure state <1=> Non-Secure state -// Interrupt 360 <0=> Secure state <1=> Non-Secure state -// Interrupt 361 <0=> Secure state <1=> Non-Secure state -// Interrupt 362 <0=> Secure state <1=> Non-Secure state -// Interrupt 363 <0=> Secure state <1=> Non-Secure state -// Interrupt 364 <0=> Secure state <1=> Non-Secure state -// Interrupt 365 <0=> Secure state <1=> Non-Secure state -// Interrupt 366 <0=> Secure state <1=> Non-Secure state -// Interrupt 367 <0=> Secure state <1=> Non-Secure state -// Interrupt 368 <0=> Secure state <1=> Non-Secure state -// Interrupt 369 <0=> Secure state <1=> Non-Secure state -// Interrupt 370 <0=> Secure state <1=> Non-Secure state -// Interrupt 371 <0=> Secure state <1=> Non-Secure state -// Interrupt 372 <0=> Secure state <1=> Non-Secure state -// Interrupt 373 <0=> Secure state <1=> Non-Secure state -// Interrupt 374 <0=> Secure state <1=> Non-Secure state -// Interrupt 375 <0=> Secure state <1=> Non-Secure state -// Interrupt 376 <0=> Secure state <1=> Non-Secure state -// Interrupt 377 <0=> Secure state <1=> Non-Secure state -// Interrupt 378 <0=> Secure state <1=> Non-Secure state -// Interrupt 379 <0=> Secure state <1=> Non-Secure state -// Interrupt 380 <0=> Secure state <1=> Non-Secure state -// Interrupt 381 <0=> Secure state <1=> Non-Secure state -// Interrupt 382 <0=> Secure state <1=> Non-Secure state -// Interrupt 383 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS11_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 12 (Interrupts 384..415) -*/ -#define NVIC_INIT_ITNS12 0 - -/* -// Interrupts 384..415 -// Interrupt 384 <0=> Secure state <1=> Non-Secure state -// Interrupt 385 <0=> Secure state <1=> Non-Secure state -// Interrupt 386 <0=> Secure state <1=> Non-Secure state -// Interrupt 387 <0=> Secure state <1=> Non-Secure state -// Interrupt 388 <0=> Secure state <1=> Non-Secure state -// Interrupt 389 <0=> Secure state <1=> Non-Secure state -// Interrupt 390 <0=> Secure state <1=> Non-Secure state -// Interrupt 391 <0=> Secure state <1=> Non-Secure state -// Interrupt 392 <0=> Secure state <1=> Non-Secure state -// Interrupt 393 <0=> Secure state <1=> Non-Secure state -// Interrupt 394 <0=> Secure state <1=> Non-Secure state -// Interrupt 395 <0=> Secure state <1=> Non-Secure state -// Interrupt 396 <0=> Secure state <1=> Non-Secure state -// Interrupt 397 <0=> Secure state <1=> Non-Secure state -// Interrupt 398 <0=> Secure state <1=> Non-Secure state -// Interrupt 399 <0=> Secure state <1=> Non-Secure state -// Interrupt 400 <0=> Secure state <1=> Non-Secure state -// Interrupt 401 <0=> Secure state <1=> Non-Secure state -// Interrupt 402 <0=> Secure state <1=> Non-Secure state -// Interrupt 403 <0=> Secure state <1=> Non-Secure state -// Interrupt 404 <0=> Secure state <1=> Non-Secure state -// Interrupt 405 <0=> Secure state <1=> Non-Secure state -// Interrupt 406 <0=> Secure state <1=> Non-Secure state -// Interrupt 407 <0=> Secure state <1=> Non-Secure state -// Interrupt 408 <0=> Secure state <1=> Non-Secure state -// Interrupt 409 <0=> Secure state <1=> Non-Secure state -// Interrupt 410 <0=> Secure state <1=> Non-Secure state -// Interrupt 411 <0=> Secure state <1=> Non-Secure state -// Interrupt 412 <0=> Secure state <1=> Non-Secure state -// Interrupt 413 <0=> Secure state <1=> Non-Secure state -// Interrupt 414 <0=> Secure state <1=> Non-Secure state -// Interrupt 415 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS12_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 13 (Interrupts 416..447) -*/ -#define NVIC_INIT_ITNS13 0 - -/* -// Interrupts 416..447 -// Interrupt 416 <0=> Secure state <1=> Non-Secure state -// Interrupt 417 <0=> Secure state <1=> Non-Secure state -// Interrupt 418 <0=> Secure state <1=> Non-Secure state -// Interrupt 419 <0=> Secure state <1=> Non-Secure state -// Interrupt 420 <0=> Secure state <1=> Non-Secure state -// Interrupt 421 <0=> Secure state <1=> Non-Secure state -// Interrupt 422 <0=> Secure state <1=> Non-Secure state -// Interrupt 423 <0=> Secure state <1=> Non-Secure state -// Interrupt 424 <0=> Secure state <1=> Non-Secure state -// Interrupt 425 <0=> Secure state <1=> Non-Secure state -// Interrupt 426 <0=> Secure state <1=> Non-Secure state -// Interrupt 427 <0=> Secure state <1=> Non-Secure state -// Interrupt 428 <0=> Secure state <1=> Non-Secure state -// Interrupt 429 <0=> Secure state <1=> Non-Secure state -// Interrupt 430 <0=> Secure state <1=> Non-Secure state -// Interrupt 431 <0=> Secure state <1=> Non-Secure state -// Interrupt 432 <0=> Secure state <1=> Non-Secure state -// Interrupt 433 <0=> Secure state <1=> Non-Secure state -// Interrupt 434 <0=> Secure state <1=> Non-Secure state -// Interrupt 435 <0=> Secure state <1=> Non-Secure state -// Interrupt 436 <0=> Secure state <1=> Non-Secure state -// Interrupt 437 <0=> Secure state <1=> Non-Secure state -// Interrupt 438 <0=> Secure state <1=> Non-Secure state -// Interrupt 439 <0=> Secure state <1=> Non-Secure state -// Interrupt 440 <0=> Secure state <1=> Non-Secure state -// Interrupt 441 <0=> Secure state <1=> Non-Secure state -// Interrupt 442 <0=> Secure state <1=> Non-Secure state -// Interrupt 443 <0=> Secure state <1=> Non-Secure state -// Interrupt 444 <0=> Secure state <1=> Non-Secure state -// Interrupt 445 <0=> Secure state <1=> Non-Secure state -// Interrupt 446 <0=> Secure state <1=> Non-Secure state -// Interrupt 447 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS13_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 14 (Interrupts 448..479) -*/ -#define NVIC_INIT_ITNS14 0 - -/* -// Interrupts 448..479 -// Interrupt 448 <0=> Secure state <1=> Non-Secure state -// Interrupt 449 <0=> Secure state <1=> Non-Secure state -// Interrupt 450 <0=> Secure state <1=> Non-Secure state -// Interrupt 451 <0=> Secure state <1=> Non-Secure state -// Interrupt 452 <0=> Secure state <1=> Non-Secure state -// Interrupt 453 <0=> Secure state <1=> Non-Secure state -// Interrupt 454 <0=> Secure state <1=> Non-Secure state -// Interrupt 455 <0=> Secure state <1=> Non-Secure state -// Interrupt 456 <0=> Secure state <1=> Non-Secure state -// Interrupt 457 <0=> Secure state <1=> Non-Secure state -// Interrupt 458 <0=> Secure state <1=> Non-Secure state -// Interrupt 459 <0=> Secure state <1=> Non-Secure state -// Interrupt 460 <0=> Secure state <1=> Non-Secure state -// Interrupt 461 <0=> Secure state <1=> Non-Secure state -// Interrupt 462 <0=> Secure state <1=> Non-Secure state -// Interrupt 463 <0=> Secure state <1=> Non-Secure state -// Interrupt 464 <0=> Secure state <1=> Non-Secure state -// Interrupt 465 <0=> Secure state <1=> Non-Secure state -// Interrupt 466 <0=> Secure state <1=> Non-Secure state -// Interrupt 467 <0=> Secure state <1=> Non-Secure state -// Interrupt 468 <0=> Secure state <1=> Non-Secure state -// Interrupt 469 <0=> Secure state <1=> Non-Secure state -// Interrupt 470 <0=> Secure state <1=> Non-Secure state -// Interrupt 471 <0=> Secure state <1=> Non-Secure state -// Interrupt 472 <0=> Secure state <1=> Non-Secure state -// Interrupt 473 <0=> Secure state <1=> Non-Secure state -// Interrupt 474 <0=> Secure state <1=> Non-Secure state -// Interrupt 475 <0=> Secure state <1=> Non-Secure state -// Interrupt 476 <0=> Secure state <1=> Non-Secure state -// Interrupt 477 <0=> Secure state <1=> Non-Secure state -// Interrupt 478 <0=> Secure state <1=> Non-Secure state -// Interrupt 479 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS14_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 15 (Interrupts 480..511) -*/ -#define NVIC_INIT_ITNS15 0 - -/* -// Interrupts 480..511 -// Interrupt 480 <0=> Secure state <1=> Non-Secure state -// Interrupt 481 <0=> Secure state <1=> Non-Secure state -// Interrupt 482 <0=> Secure state <1=> Non-Secure state -// Interrupt 483 <0=> Secure state <1=> Non-Secure state -// Interrupt 484 <0=> Secure state <1=> Non-Secure state -// Interrupt 485 <0=> Secure state <1=> Non-Secure state -// Interrupt 486 <0=> Secure state <1=> Non-Secure state -// Interrupt 487 <0=> Secure state <1=> Non-Secure state -// Interrupt 488 <0=> Secure state <1=> Non-Secure state -// Interrupt 489 <0=> Secure state <1=> Non-Secure state -// Interrupt 490 <0=> Secure state <1=> Non-Secure state -// Interrupt 491 <0=> Secure state <1=> Non-Secure state -// Interrupt 492 <0=> Secure state <1=> Non-Secure state -// Interrupt 493 <0=> Secure state <1=> Non-Secure state -// Interrupt 494 <0=> Secure state <1=> Non-Secure state -// Interrupt 495 <0=> Secure state <1=> Non-Secure state -// Interrupt 496 <0=> Secure state <1=> Non-Secure state -// Interrupt 497 <0=> Secure state <1=> Non-Secure state -// Interrupt 498 <0=> Secure state <1=> Non-Secure state -// Interrupt 499 <0=> Secure state <1=> Non-Secure state -// Interrupt 500 <0=> Secure state <1=> Non-Secure state -// Interrupt 501 <0=> Secure state <1=> Non-Secure state -// Interrupt 502 <0=> Secure state <1=> Non-Secure state -// Interrupt 503 <0=> Secure state <1=> Non-Secure state -// Interrupt 504 <0=> Secure state <1=> Non-Secure state -// Interrupt 505 <0=> Secure state <1=> Non-Secure state -// Interrupt 506 <0=> Secure state <1=> Non-Secure state -// Interrupt 507 <0=> Secure state <1=> Non-Secure state -// Interrupt 508 <0=> Secure state <1=> Non-Secure state -// Interrupt 509 <0=> Secure state <1=> Non-Secure state -// Interrupt 510 <0=> Secure state <1=> Non-Secure state -// Interrupt 511 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS15_VAL 0x00000000 - -/* -// -*/ - -/* -// -*/ - - - -/* - max 128 SAU regions. - SAU regions are defined in partition.h - */ - -#define SAU_INIT_REGION(n) \ - SAU->RNR = (n & SAU_RNR_REGION_Msk); \ - SAU->RBAR = (SAU_INIT_START##n & SAU_RBAR_BADDR_Msk); \ - SAU->RLAR = (SAU_INIT_END##n & SAU_RLAR_LADDR_Msk) | \ - ((SAU_INIT_NSC##n << SAU_RLAR_NSC_Pos) & SAU_RLAR_NSC_Msk) | 1U - -/** - \brief Setup a SAU Region - \details Writes the region information contained in SAU_Region to the - registers SAU_RNR, SAU_RBAR, and SAU_RLAR - */ -__STATIC_INLINE void TZ_SAU_Setup (void) -{ - -#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) - - #if defined (SAU_INIT_REGION0) && (SAU_INIT_REGION0 == 1U) - SAU_INIT_REGION(0); - #endif - - #if defined (SAU_INIT_REGION1) && (SAU_INIT_REGION1 == 1U) - SAU_INIT_REGION(1); - #endif - - #if defined (SAU_INIT_REGION2) && (SAU_INIT_REGION2 == 1U) - SAU_INIT_REGION(2); - #endif - - #if defined (SAU_INIT_REGION3) && (SAU_INIT_REGION3 == 1U) - SAU_INIT_REGION(3); - #endif - - #if defined (SAU_INIT_REGION4) && (SAU_INIT_REGION4 == 1U) - SAU_INIT_REGION(4); - #endif - - #if defined (SAU_INIT_REGION5) && (SAU_INIT_REGION5 == 1U) - SAU_INIT_REGION(5); - #endif - - #if defined (SAU_INIT_REGION6) && (SAU_INIT_REGION6 == 1U) - SAU_INIT_REGION(6); - #endif - - #if defined (SAU_INIT_REGION7) && (SAU_INIT_REGION7 == 1U) - SAU_INIT_REGION(7); - #endif - - /* repeat this for all possible SAU regions */ - -#endif /* defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) */ - - - #if defined (SAU_INIT_CTRL) && (SAU_INIT_CTRL == 1U) - SAU->CTRL = ((SAU_INIT_CTRL_ENABLE << SAU_CTRL_ENABLE_Pos) & SAU_CTRL_ENABLE_Msk) | - ((SAU_INIT_CTRL_ALLNS << SAU_CTRL_ALLNS_Pos) & SAU_CTRL_ALLNS_Msk) ; - #endif - - #if defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) - SCB->SCR = (SCB->SCR & ~(SCB_SCR_SLEEPDEEPS_Msk )) | - ((SCB_CSR_DEEPSLEEPS_VAL << SCB_SCR_SLEEPDEEPS_Pos) & SCB_SCR_SLEEPDEEPS_Msk); - - SCB->AIRCR = (SCB->AIRCR & ~(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_SYSRESETREQS_Msk | - SCB_AIRCR_BFHFNMINS_Msk | SCB_AIRCR_PRIS_Msk )) | - ((0x05FAU << SCB_AIRCR_VECTKEY_Pos) & SCB_AIRCR_VECTKEY_Msk) | - ((SCB_AIRCR_SYSRESETREQS_VAL << SCB_AIRCR_SYSRESETREQS_Pos) & SCB_AIRCR_SYSRESETREQS_Msk) | - ((SCB_AIRCR_PRIS_VAL << SCB_AIRCR_PRIS_Pos) & SCB_AIRCR_PRIS_Msk) | - ((SCB_AIRCR_BFHFNMINS_VAL << SCB_AIRCR_BFHFNMINS_Pos) & SCB_AIRCR_BFHFNMINS_Msk); - #endif /* defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) */ - - #if defined (__FPU_USED) && (__FPU_USED == 1U) && \ - defined (TZ_FPU_NS_USAGE) && (TZ_FPU_NS_USAGE == 1U) - - SCB->NSACR = (SCB->NSACR & ~(SCB_NSACR_CP10_Msk | SCB_NSACR_CP10_Msk)) | - ((SCB_NSACR_CP10_11_VAL << SCB_NSACR_CP10_Pos) & (SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)); - - FPU->FPCCR = (FPU->FPCCR & ~(FPU_FPCCR_TS_Msk | FPU_FPCCR_CLRONRETS_Msk | FPU_FPCCR_CLRONRET_Msk)) | - ((FPU_FPCCR_TS_VAL << FPU_FPCCR_TS_Pos ) & FPU_FPCCR_TS_Msk ) | - ((FPU_FPCCR_CLRONRETS_VAL << FPU_FPCCR_CLRONRETS_Pos) & FPU_FPCCR_CLRONRETS_Msk) | - ((FPU_FPCCR_CLRONRET_VAL << FPU_FPCCR_CLRONRET_Pos ) & FPU_FPCCR_CLRONRET_Msk ); - #endif - - #if defined (NVIC_INIT_ITNS0) && (NVIC_INIT_ITNS0 == 1U) - NVIC->ITNS[0] = NVIC_INIT_ITNS0_VAL; - #endif - - #if defined (NVIC_INIT_ITNS1) && (NVIC_INIT_ITNS1 == 1U) - NVIC->ITNS[1] = NVIC_INIT_ITNS1_VAL; - #endif - - #if defined (NVIC_INIT_ITNS2) && (NVIC_INIT_ITNS2 == 1U) - NVIC->ITNS[2] = NVIC_INIT_ITNS2_VAL; - #endif - - #if defined (NVIC_INIT_ITNS3) && (NVIC_INIT_ITNS3 == 1U) - NVIC->ITNS[3] = NVIC_INIT_ITNS3_VAL; - #endif - - #if defined (NVIC_INIT_ITNS4) && (NVIC_INIT_ITNS4 == 1U) - NVIC->ITNS[4] = NVIC_INIT_ITNS4_VAL; - #endif - - #if defined (NVIC_INIT_ITNS5) && (NVIC_INIT_ITNS5 == 1U) - NVIC->ITNS[5] = NVIC_INIT_ITNS5_VAL; - #endif - - #if defined (NVIC_INIT_ITNS6) && (NVIC_INIT_ITNS6 == 1U) - NVIC->ITNS[6] = NVIC_INIT_ITNS6_VAL; - #endif - - #if defined (NVIC_INIT_ITNS7) && (NVIC_INIT_ITNS7 == 1U) - NVIC->ITNS[7] = NVIC_INIT_ITNS7_VAL; - #endif - - #if defined (NVIC_INIT_ITNS8) && (NVIC_INIT_ITNS8 == 1U) - NVIC->ITNS[8] = NVIC_INIT_ITNS8_VAL; - #endif - - #if defined (NVIC_INIT_ITNS9) && (NVIC_INIT_ITNS9 == 1U) - NVIC->ITNS[9] = NVIC_INIT_ITNS9_VAL; - #endif - - #if defined (NVIC_INIT_ITNS10) && (NVIC_INIT_ITNS10 == 1U) - NVIC->ITNS[10] = NVIC_INIT_ITNS10_VAL; - #endif - - #if defined (NVIC_INIT_ITNS11) && (NVIC_INIT_ITNS11 == 1U) - NVIC->ITNS[11] = NVIC_INIT_ITNS11_VAL; - #endif - - #if defined (NVIC_INIT_ITNS12) && (NVIC_INIT_ITNS12 == 1U) - NVIC->ITNS[12] = NVIC_INIT_ITNS12_VAL; - #endif - - #if defined (NVIC_INIT_ITNS13) && (NVIC_INIT_ITNS13 == 1U) - NVIC->ITNS[13] = NVIC_INIT_ITNS13_VAL; - #endif - - #if defined (NVIC_INIT_ITNS14) && (NVIC_INIT_ITNS14 == 1U) - NVIC->ITNS[14] = NVIC_INIT_ITNS14_VAL; - #endif - - #if defined (NVIC_INIT_ITNS15) && (NVIC_INIT_ITNS15 == 1U) - NVIC->ITNS[15] = NVIC_INIT_ITNS15_VAL; - #endif - - /* repeat this for all possible ITNS elements */ - -} - -#endif /* PARTITION_ARMCM35P_H */ diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Source/Config/partition_ARMCM55.h b/external/CMSIS_5/CMSIS/CoreValidation/Source/Config/partition_ARMCM55.h deleted file mode 100644 index eabaf30..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Source/Config/partition_ARMCM55.h +++ /dev/null @@ -1,1261 +0,0 @@ -/**************************************************************************//** - * @file partition_ARMCM55.h - * @brief CMSIS-CORE Initial Setup for Secure / Non-Secure Zones for Armv8.1-M Mainline - * @version V1.0.0 - * @date 20. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef PARTITION_ARMCM55_H -#define PARTITION_ARMCM55_H - -/* -//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- -*/ - -/* -// Initialize Security Attribution Unit (SAU) CTRL register -*/ -#define SAU_INIT_CTRL 1 - -/* -// Enable SAU -// Value for SAU->CTRL register bit ENABLE -*/ -#define SAU_INIT_CTRL_ENABLE 1 - -/* -// When SAU is disabled -// <0=> All Memory is Secure -// <1=> All Memory is Non-Secure -// Value for SAU->CTRL register bit ALLNS -// When all Memory is Non-Secure (ALLNS is 1), IDAU can override memory map configuration. -*/ -#define SAU_INIT_CTRL_ALLNS 0 - -/* -// -*/ - -/* -// Initialize Security Attribution Unit (SAU) Address Regions -// SAU configuration specifies regions to be one of: -// - Secure and Non-Secure Callable -// - Non-Secure -// Note: All memory regions not configured by SAU are Secure -*/ -#define SAU_REGIONS_MAX 8 /* Max. number of SAU regions */ - -/* -// Initialize SAU Region 0 -// Setup SAU Region 0 memory attributes -*/ -#define SAU_INIT_REGION0 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START0 0x00000000 /* start address of SAU region 0 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END0 0x001FFFFF /* end address of SAU region 0 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC0 1 -/* -// -*/ - -/* -// Initialize SAU Region 1 -// Setup SAU Region 1 memory attributes -*/ -#define SAU_INIT_REGION1 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START1 0x00200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END1 0x003FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC1 0 -/* -// -*/ - -/* -// Initialize SAU Region 2 -// Setup SAU Region 2 memory attributes -*/ -#define SAU_INIT_REGION2 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START2 0x20200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END2 0x203FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC2 0 -/* -// -*/ - -/* -// Initialize SAU Region 3 -// Setup SAU Region 3 memory attributes -*/ -#define SAU_INIT_REGION3 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START3 0x40000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END3 0x40040000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC3 0 -/* -// -*/ - -/* -// Initialize SAU Region 4 -// Setup SAU Region 4 memory attributes -*/ -#define SAU_INIT_REGION4 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START4 0x00000000 /* start address of SAU region 4 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END4 0x00000000 /* end address of SAU region 4 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC4 0 -/* -// -*/ - -/* -// Initialize SAU Region 5 -// Setup SAU Region 5 memory attributes -*/ -#define SAU_INIT_REGION5 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START5 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END5 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC5 0 -/* -// -*/ - -/* -// Initialize SAU Region 6 -// Setup SAU Region 6 memory attributes -*/ -#define SAU_INIT_REGION6 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START6 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END6 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC6 0 -/* -// -*/ - -/* -// Initialize SAU Region 7 -// Setup SAU Region 7 memory attributes -*/ -#define SAU_INIT_REGION7 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START7 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END7 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC7 0 -/* -// -*/ - -/* -// -*/ - -/* -// Setup behaviour of Sleep and Exception Handling -*/ -#define SCB_CSR_AIRCR_INIT 1 - -/* -// Deep Sleep can be enabled by -// <0=>Secure and Non-Secure state -// <1=>Secure state only -// Value for SCB->CSR register bit DEEPSLEEPS -*/ -#define SCB_CSR_DEEPSLEEPS_VAL 1 - -/* -// System reset request accessible from -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for SCB->AIRCR register bit SYSRESETREQS -*/ -#define SCB_AIRCR_SYSRESETREQS_VAL 1 - -/* -// Priority of Non-Secure exceptions is -// <0=> Not altered -// <1=> Lowered to 0x80-0xFF -// Value for SCB->AIRCR register bit PRIS -*/ -#define SCB_AIRCR_PRIS_VAL 1 - -/* -// BusFault, HardFault, and NMI target -// <0=> Secure state -// <1=> Non-Secure state -// Value for SCB->AIRCR register bit BFHFNMINS -*/ -#define SCB_AIRCR_BFHFNMINS_VAL 0 - -/* -// -*/ - -/* -// Setup behaviour of Floating Point and Vector Unit (FPU/MVE) -*/ -#define TZ_FPU_NS_USAGE 1 - -/* -// Floating Point and Vector Unit usage -// <0=> Secure state only -// <3=> Secure and Non-Secure state -// Value for SCB->NSACR register bits CP10, CP11 -*/ -#define SCB_NSACR_CP10_11_VAL 3 - -/* -// Treat floating-point registers as Secure -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit TS -*/ -#define FPU_FPCCR_TS_VAL 0 - -/* -// Clear on return (CLRONRET) accessibility -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for FPU->FPCCR register bit CLRONRETS -*/ -#define FPU_FPCCR_CLRONRETS_VAL 0 - -/* -// Clear floating-point caller saved registers on exception return -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit CLRONRET -*/ -#define FPU_FPCCR_CLRONRET_VAL 1 - -/* -// -*/ - -/* -// Setup Interrupt Target -*/ - -/* -// Initialize ITNS 0 (Interrupts 0..31) -*/ -#define NVIC_INIT_ITNS0 1 - -/* -// Interrupts 0..31 -// Interrupt 0 <0=> Secure state <1=> Non-Secure state -// Interrupt 1 <0=> Secure state <1=> Non-Secure state -// Interrupt 2 <0=> Secure state <1=> Non-Secure state -// Interrupt 3 <0=> Secure state <1=> Non-Secure state -// Interrupt 4 <0=> Secure state <1=> Non-Secure state -// Interrupt 5 <0=> Secure state <1=> Non-Secure state -// Interrupt 6 <0=> Secure state <1=> Non-Secure state -// Interrupt 7 <0=> Secure state <1=> Non-Secure state -// Interrupt 8 <0=> Secure state <1=> Non-Secure state -// Interrupt 9 <0=> Secure state <1=> Non-Secure state -// Interrupt 10 <0=> Secure state <1=> Non-Secure state -// Interrupt 11 <0=> Secure state <1=> Non-Secure state -// Interrupt 12 <0=> Secure state <1=> Non-Secure state -// Interrupt 13 <0=> Secure state <1=> Non-Secure state -// Interrupt 14 <0=> Secure state <1=> Non-Secure state -// Interrupt 15 <0=> Secure state <1=> Non-Secure state -// Interrupt 16 <0=> Secure state <1=> Non-Secure state -// Interrupt 17 <0=> Secure state <1=> Non-Secure state -// Interrupt 18 <0=> Secure state <1=> Non-Secure state -// Interrupt 19 <0=> Secure state <1=> Non-Secure state -// Interrupt 20 <0=> Secure state <1=> Non-Secure state -// Interrupt 21 <0=> Secure state <1=> Non-Secure state -// Interrupt 22 <0=> Secure state <1=> Non-Secure state -// Interrupt 23 <0=> Secure state <1=> Non-Secure state -// Interrupt 24 <0=> Secure state <1=> Non-Secure state -// Interrupt 25 <0=> Secure state <1=> Non-Secure state -// Interrupt 26 <0=> Secure state <1=> Non-Secure state -// Interrupt 27 <0=> Secure state <1=> Non-Secure state -// Interrupt 28 <0=> Secure state <1=> Non-Secure state -// Interrupt 29 <0=> Secure state <1=> Non-Secure state -// Interrupt 30 <0=> Secure state <1=> Non-Secure state -// Interrupt 31 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS0_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 1 (Interrupts 32..63) -*/ -#define NVIC_INIT_ITNS1 1 - -/* -// Interrupts 32..63 -// Interrupt 32 <0=> Secure state <1=> Non-Secure state -// Interrupt 33 <0=> Secure state <1=> Non-Secure state -// Interrupt 34 <0=> Secure state <1=> Non-Secure state -// Interrupt 35 <0=> Secure state <1=> Non-Secure state -// Interrupt 36 <0=> Secure state <1=> Non-Secure state -// Interrupt 37 <0=> Secure state <1=> Non-Secure state -// Interrupt 38 <0=> Secure state <1=> Non-Secure state -// Interrupt 39 <0=> Secure state <1=> Non-Secure state -// Interrupt 40 <0=> Secure state <1=> Non-Secure state -// Interrupt 41 <0=> Secure state <1=> Non-Secure state -// Interrupt 42 <0=> Secure state <1=> Non-Secure state -// Interrupt 43 <0=> Secure state <1=> Non-Secure state -// Interrupt 44 <0=> Secure state <1=> Non-Secure state -// Interrupt 45 <0=> Secure state <1=> Non-Secure state -// Interrupt 46 <0=> Secure state <1=> Non-Secure state -// Interrupt 47 <0=> Secure state <1=> Non-Secure state -// Interrupt 48 <0=> Secure state <1=> Non-Secure state -// Interrupt 49 <0=> Secure state <1=> Non-Secure state -// Interrupt 50 <0=> Secure state <1=> Non-Secure state -// Interrupt 51 <0=> Secure state <1=> Non-Secure state -// Interrupt 52 <0=> Secure state <1=> Non-Secure state -// Interrupt 53 <0=> Secure state <1=> Non-Secure state -// Interrupt 54 <0=> Secure state <1=> Non-Secure state -// Interrupt 55 <0=> Secure state <1=> Non-Secure state -// Interrupt 56 <0=> Secure state <1=> Non-Secure state -// Interrupt 57 <0=> Secure state <1=> Non-Secure state -// Interrupt 58 <0=> Secure state <1=> Non-Secure state -// Interrupt 59 <0=> Secure state <1=> Non-Secure state -// Interrupt 60 <0=> Secure state <1=> Non-Secure state -// Interrupt 61 <0=> Secure state <1=> Non-Secure state -// Interrupt 62 <0=> Secure state <1=> Non-Secure state -// Interrupt 63 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS1_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 2 (Interrupts 64..95) -*/ -#define NVIC_INIT_ITNS2 0 - -/* -// Interrupts 64..95 -// Interrupt 64 <0=> Secure state <1=> Non-Secure state -// Interrupt 65 <0=> Secure state <1=> Non-Secure state -// Interrupt 66 <0=> Secure state <1=> Non-Secure state -// Interrupt 67 <0=> Secure state <1=> Non-Secure state -// Interrupt 68 <0=> Secure state <1=> Non-Secure state -// Interrupt 69 <0=> Secure state <1=> Non-Secure state -// Interrupt 70 <0=> Secure state <1=> Non-Secure state -// Interrupt 71 <0=> Secure state <1=> Non-Secure state -// Interrupt 72 <0=> Secure state <1=> Non-Secure state -// Interrupt 73 <0=> Secure state <1=> Non-Secure state -// Interrupt 74 <0=> Secure state <1=> Non-Secure state -// Interrupt 75 <0=> Secure state <1=> Non-Secure state -// Interrupt 76 <0=> Secure state <1=> Non-Secure state -// Interrupt 77 <0=> Secure state <1=> Non-Secure state -// Interrupt 78 <0=> Secure state <1=> Non-Secure state -// Interrupt 79 <0=> Secure state <1=> Non-Secure state -// Interrupt 80 <0=> Secure state <1=> Non-Secure state -// Interrupt 81 <0=> Secure state <1=> Non-Secure state -// Interrupt 82 <0=> Secure state <1=> Non-Secure state -// Interrupt 83 <0=> Secure state <1=> Non-Secure state -// Interrupt 84 <0=> Secure state <1=> Non-Secure state -// Interrupt 85 <0=> Secure state <1=> Non-Secure state -// Interrupt 86 <0=> Secure state <1=> Non-Secure state -// Interrupt 87 <0=> Secure state <1=> Non-Secure state -// Interrupt 88 <0=> Secure state <1=> Non-Secure state -// Interrupt 89 <0=> Secure state <1=> Non-Secure state -// Interrupt 90 <0=> Secure state <1=> Non-Secure state -// Interrupt 91 <0=> Secure state <1=> Non-Secure state -// Interrupt 92 <0=> Secure state <1=> Non-Secure state -// Interrupt 93 <0=> Secure state <1=> Non-Secure state -// Interrupt 94 <0=> Secure state <1=> Non-Secure state -// Interrupt 95 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS2_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 3 (Interrupts 96..127) -*/ -#define NVIC_INIT_ITNS3 0 - -/* -// Interrupts 96..127 -// Interrupt 96 <0=> Secure state <1=> Non-Secure state -// Interrupt 97 <0=> Secure state <1=> Non-Secure state -// Interrupt 98 <0=> Secure state <1=> Non-Secure state -// Interrupt 99 <0=> Secure state <1=> Non-Secure state -// Interrupt 100 <0=> Secure state <1=> Non-Secure state -// Interrupt 101 <0=> Secure state <1=> Non-Secure state -// Interrupt 102 <0=> Secure state <1=> Non-Secure state -// Interrupt 103 <0=> Secure state <1=> Non-Secure state -// Interrupt 104 <0=> Secure state <1=> Non-Secure state -// Interrupt 105 <0=> Secure state <1=> Non-Secure state -// Interrupt 106 <0=> Secure state <1=> Non-Secure state -// Interrupt 107 <0=> Secure state <1=> Non-Secure state -// Interrupt 108 <0=> Secure state <1=> Non-Secure state -// Interrupt 109 <0=> Secure state <1=> Non-Secure state -// Interrupt 110 <0=> Secure state <1=> Non-Secure state -// Interrupt 111 <0=> Secure state <1=> Non-Secure state -// Interrupt 112 <0=> Secure state <1=> Non-Secure state -// Interrupt 113 <0=> Secure state <1=> Non-Secure state -// Interrupt 114 <0=> Secure state <1=> Non-Secure state -// Interrupt 115 <0=> Secure state <1=> Non-Secure state -// Interrupt 116 <0=> Secure state <1=> Non-Secure state -// Interrupt 117 <0=> Secure state <1=> Non-Secure state -// Interrupt 118 <0=> Secure state <1=> Non-Secure state -// Interrupt 119 <0=> Secure state <1=> Non-Secure state -// Interrupt 120 <0=> Secure state <1=> Non-Secure state -// Interrupt 121 <0=> Secure state <1=> Non-Secure state -// Interrupt 122 <0=> Secure state <1=> Non-Secure state -// Interrupt 123 <0=> Secure state <1=> Non-Secure state -// Interrupt 124 <0=> Secure state <1=> Non-Secure state -// Interrupt 125 <0=> Secure state <1=> Non-Secure state -// Interrupt 126 <0=> Secure state <1=> Non-Secure state -// Interrupt 127 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS3_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 4 (Interrupts 128..159) -*/ -#define NVIC_INIT_ITNS4 0 - -/* -// Interrupts 128..159 -// Interrupt 128 <0=> Secure state <1=> Non-Secure state -// Interrupt 129 <0=> Secure state <1=> Non-Secure state -// Interrupt 130 <0=> Secure state <1=> Non-Secure state -// Interrupt 131 <0=> Secure state <1=> Non-Secure state -// Interrupt 132 <0=> Secure state <1=> Non-Secure state -// Interrupt 133 <0=> Secure state <1=> Non-Secure state -// Interrupt 134 <0=> Secure state <1=> Non-Secure state -// Interrupt 135 <0=> Secure state <1=> Non-Secure state -// Interrupt 136 <0=> Secure state <1=> Non-Secure state -// Interrupt 137 <0=> Secure state <1=> Non-Secure state -// Interrupt 138 <0=> Secure state <1=> Non-Secure state -// Interrupt 139 <0=> Secure state <1=> Non-Secure state -// Interrupt 140 <0=> Secure state <1=> Non-Secure state -// Interrupt 141 <0=> Secure state <1=> Non-Secure state -// Interrupt 142 <0=> Secure state <1=> Non-Secure state -// Interrupt 143 <0=> Secure state <1=> Non-Secure state -// Interrupt 144 <0=> Secure state <1=> Non-Secure state -// Interrupt 145 <0=> Secure state <1=> Non-Secure state -// Interrupt 146 <0=> Secure state <1=> Non-Secure state -// Interrupt 147 <0=> Secure state <1=> Non-Secure state -// Interrupt 148 <0=> Secure state <1=> Non-Secure state -// Interrupt 149 <0=> Secure state <1=> Non-Secure state -// Interrupt 150 <0=> Secure state <1=> Non-Secure state -// Interrupt 151 <0=> Secure state <1=> Non-Secure state -// Interrupt 152 <0=> Secure state <1=> Non-Secure state -// Interrupt 153 <0=> Secure state <1=> Non-Secure state -// Interrupt 154 <0=> Secure state <1=> Non-Secure state -// Interrupt 155 <0=> Secure state <1=> Non-Secure state -// Interrupt 156 <0=> Secure state <1=> Non-Secure state -// Interrupt 157 <0=> Secure state <1=> Non-Secure state -// Interrupt 158 <0=> Secure state <1=> Non-Secure state -// Interrupt 159 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS4_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 5 (Interrupts 160..191) -*/ -#define NVIC_INIT_ITNS5 0 - -/* -// Interrupts 160..191 -// Interrupt 160 <0=> Secure state <1=> Non-Secure state -// Interrupt 161 <0=> Secure state <1=> Non-Secure state -// Interrupt 162 <0=> Secure state <1=> Non-Secure state -// Interrupt 163 <0=> Secure state <1=> Non-Secure state -// Interrupt 164 <0=> Secure state <1=> Non-Secure state -// Interrupt 165 <0=> Secure state <1=> Non-Secure state -// Interrupt 166 <0=> Secure state <1=> Non-Secure state -// Interrupt 167 <0=> Secure state <1=> Non-Secure state -// Interrupt 168 <0=> Secure state <1=> Non-Secure state -// Interrupt 169 <0=> Secure state <1=> Non-Secure state -// Interrupt 170 <0=> Secure state <1=> Non-Secure state -// Interrupt 171 <0=> Secure state <1=> Non-Secure state -// Interrupt 172 <0=> Secure state <1=> Non-Secure state -// Interrupt 173 <0=> Secure state <1=> Non-Secure state -// Interrupt 174 <0=> Secure state <1=> Non-Secure state -// Interrupt 175 <0=> Secure state <1=> Non-Secure state -// Interrupt 176 <0=> Secure state <1=> Non-Secure state -// Interrupt 177 <0=> Secure state <1=> Non-Secure state -// Interrupt 178 <0=> Secure state <1=> Non-Secure state -// Interrupt 179 <0=> Secure state <1=> Non-Secure state -// Interrupt 180 <0=> Secure state <1=> Non-Secure state -// Interrupt 181 <0=> Secure state <1=> Non-Secure state -// Interrupt 182 <0=> Secure state <1=> Non-Secure state -// Interrupt 183 <0=> Secure state <1=> Non-Secure state -// Interrupt 184 <0=> Secure state <1=> Non-Secure state -// Interrupt 185 <0=> Secure state <1=> Non-Secure state -// Interrupt 186 <0=> Secure state <1=> Non-Secure state -// Interrupt 187 <0=> Secure state <1=> Non-Secure state -// Interrupt 188 <0=> Secure state <1=> Non-Secure state -// Interrupt 189 <0=> Secure state <1=> Non-Secure state -// Interrupt 190 <0=> Secure state <1=> Non-Secure state -// Interrupt 191 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS5_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 6 (Interrupts 192..223) -*/ -#define NVIC_INIT_ITNS6 0 - -/* -// Interrupts 192..223 -// Interrupt 192 <0=> Secure state <1=> Non-Secure state -// Interrupt 193 <0=> Secure state <1=> Non-Secure state -// Interrupt 194 <0=> Secure state <1=> Non-Secure state -// Interrupt 195 <0=> Secure state <1=> Non-Secure state -// Interrupt 196 <0=> Secure state <1=> Non-Secure state -// Interrupt 197 <0=> Secure state <1=> Non-Secure state -// Interrupt 198 <0=> Secure state <1=> Non-Secure state -// Interrupt 199 <0=> Secure state <1=> Non-Secure state -// Interrupt 200 <0=> Secure state <1=> Non-Secure state -// Interrupt 201 <0=> Secure state <1=> Non-Secure state -// Interrupt 202 <0=> Secure state <1=> Non-Secure state -// Interrupt 203 <0=> Secure state <1=> Non-Secure state -// Interrupt 204 <0=> Secure state <1=> Non-Secure state -// Interrupt 205 <0=> Secure state <1=> Non-Secure state -// Interrupt 206 <0=> Secure state <1=> Non-Secure state -// Interrupt 207 <0=> Secure state <1=> Non-Secure state -// Interrupt 208 <0=> Secure state <1=> Non-Secure state -// Interrupt 209 <0=> Secure state <1=> Non-Secure state -// Interrupt 210 <0=> Secure state <1=> Non-Secure state -// Interrupt 211 <0=> Secure state <1=> Non-Secure state -// Interrupt 212 <0=> Secure state <1=> Non-Secure state -// Interrupt 213 <0=> Secure state <1=> Non-Secure state -// Interrupt 214 <0=> Secure state <1=> Non-Secure state -// Interrupt 215 <0=> Secure state <1=> Non-Secure state -// Interrupt 216 <0=> Secure state <1=> Non-Secure state -// Interrupt 217 <0=> Secure state <1=> Non-Secure state -// Interrupt 218 <0=> Secure state <1=> Non-Secure state -// Interrupt 219 <0=> Secure state <1=> Non-Secure state -// Interrupt 220 <0=> Secure state <1=> Non-Secure state -// Interrupt 221 <0=> Secure state <1=> Non-Secure state -// Interrupt 222 <0=> Secure state <1=> Non-Secure state -// Interrupt 223 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS6_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 7 (Interrupts 224..255) -*/ -#define NVIC_INIT_ITNS7 0 - -/* -// Interrupts 224..255 -// Interrupt 224 <0=> Secure state <1=> Non-Secure state -// Interrupt 225 <0=> Secure state <1=> Non-Secure state -// Interrupt 226 <0=> Secure state <1=> Non-Secure state -// Interrupt 227 <0=> Secure state <1=> Non-Secure state -// Interrupt 228 <0=> Secure state <1=> Non-Secure state -// Interrupt 229 <0=> Secure state <1=> Non-Secure state -// Interrupt 230 <0=> Secure state <1=> Non-Secure state -// Interrupt 231 <0=> Secure state <1=> Non-Secure state -// Interrupt 232 <0=> Secure state <1=> Non-Secure state -// Interrupt 233 <0=> Secure state <1=> Non-Secure state -// Interrupt 234 <0=> Secure state <1=> Non-Secure state -// Interrupt 235 <0=> Secure state <1=> Non-Secure state -// Interrupt 236 <0=> Secure state <1=> Non-Secure state -// Interrupt 237 <0=> Secure state <1=> Non-Secure state -// Interrupt 238 <0=> Secure state <1=> Non-Secure state -// Interrupt 239 <0=> Secure state <1=> Non-Secure state -// Interrupt 240 <0=> Secure state <1=> Non-Secure state -// Interrupt 241 <0=> Secure state <1=> Non-Secure state -// Interrupt 242 <0=> Secure state <1=> Non-Secure state -// Interrupt 243 <0=> Secure state <1=> Non-Secure state -// Interrupt 244 <0=> Secure state <1=> Non-Secure state -// Interrupt 245 <0=> Secure state <1=> Non-Secure state -// Interrupt 246 <0=> Secure state <1=> Non-Secure state -// Interrupt 247 <0=> Secure state <1=> Non-Secure state -// Interrupt 248 <0=> Secure state <1=> Non-Secure state -// Interrupt 249 <0=> Secure state <1=> Non-Secure state -// Interrupt 250 <0=> Secure state <1=> Non-Secure state -// Interrupt 251 <0=> Secure state <1=> Non-Secure state -// Interrupt 252 <0=> Secure state <1=> Non-Secure state -// Interrupt 253 <0=> Secure state <1=> Non-Secure state -// Interrupt 254 <0=> Secure state <1=> Non-Secure state -// Interrupt 255 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS7_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 8 (Interrupts 256..287) -*/ -#define NVIC_INIT_ITNS8 0 - -/* -// Interrupts 256..287 -// Interrupt 256 <0=> Secure state <1=> Non-Secure state -// Interrupt 257 <0=> Secure state <1=> Non-Secure state -// Interrupt 258 <0=> Secure state <1=> Non-Secure state -// Interrupt 259 <0=> Secure state <1=> Non-Secure state -// Interrupt 260 <0=> Secure state <1=> Non-Secure state -// Interrupt 261 <0=> Secure state <1=> Non-Secure state -// Interrupt 262 <0=> Secure state <1=> Non-Secure state -// Interrupt 263 <0=> Secure state <1=> Non-Secure state -// Interrupt 264 <0=> Secure state <1=> Non-Secure state -// Interrupt 265 <0=> Secure state <1=> Non-Secure state -// Interrupt 266 <0=> Secure state <1=> Non-Secure state -// Interrupt 267 <0=> Secure state <1=> Non-Secure state -// Interrupt 268 <0=> Secure state <1=> Non-Secure state -// Interrupt 269 <0=> Secure state <1=> Non-Secure state -// Interrupt 270 <0=> Secure state <1=> Non-Secure state -// Interrupt 271 <0=> Secure state <1=> Non-Secure state -// Interrupt 272 <0=> Secure state <1=> Non-Secure state -// Interrupt 273 <0=> Secure state <1=> Non-Secure state -// Interrupt 274 <0=> Secure state <1=> Non-Secure state -// Interrupt 275 <0=> Secure state <1=> Non-Secure state -// Interrupt 276 <0=> Secure state <1=> Non-Secure state -// Interrupt 277 <0=> Secure state <1=> Non-Secure state -// Interrupt 278 <0=> Secure state <1=> Non-Secure state -// Interrupt 279 <0=> Secure state <1=> Non-Secure state -// Interrupt 280 <0=> Secure state <1=> Non-Secure state -// Interrupt 281 <0=> Secure state <1=> Non-Secure state -// Interrupt 282 <0=> Secure state <1=> Non-Secure state -// Interrupt 283 <0=> Secure state <1=> Non-Secure state -// Interrupt 284 <0=> Secure state <1=> Non-Secure state -// Interrupt 285 <0=> Secure state <1=> Non-Secure state -// Interrupt 286 <0=> Secure state <1=> Non-Secure state -// Interrupt 287 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS8_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 9 (Interrupts 288..319) -*/ -#define NVIC_INIT_ITNS9 0 - -/* -// Interrupts 288..319 -// Interrupt 288 <0=> Secure state <1=> Non-Secure state -// Interrupt 289 <0=> Secure state <1=> Non-Secure state -// Interrupt 290 <0=> Secure state <1=> Non-Secure state -// Interrupt 291 <0=> Secure state <1=> Non-Secure state -// Interrupt 292 <0=> Secure state <1=> Non-Secure state -// Interrupt 293 <0=> Secure state <1=> Non-Secure state -// Interrupt 294 <0=> Secure state <1=> Non-Secure state -// Interrupt 295 <0=> Secure state <1=> Non-Secure state -// Interrupt 296 <0=> Secure state <1=> Non-Secure state -// Interrupt 297 <0=> Secure state <1=> Non-Secure state -// Interrupt 298 <0=> Secure state <1=> Non-Secure state -// Interrupt 299 <0=> Secure state <1=> Non-Secure state -// Interrupt 300 <0=> Secure state <1=> Non-Secure state -// Interrupt 301 <0=> Secure state <1=> Non-Secure state -// Interrupt 302 <0=> Secure state <1=> Non-Secure state -// Interrupt 303 <0=> Secure state <1=> Non-Secure state -// Interrupt 304 <0=> Secure state <1=> Non-Secure state -// Interrupt 305 <0=> Secure state <1=> Non-Secure state -// Interrupt 306 <0=> Secure state <1=> Non-Secure state -// Interrupt 307 <0=> Secure state <1=> Non-Secure state -// Interrupt 308 <0=> Secure state <1=> Non-Secure state -// Interrupt 309 <0=> Secure state <1=> Non-Secure state -// Interrupt 310 <0=> Secure state <1=> Non-Secure state -// Interrupt 311 <0=> Secure state <1=> Non-Secure state -// Interrupt 312 <0=> Secure state <1=> Non-Secure state -// Interrupt 313 <0=> Secure state <1=> Non-Secure state -// Interrupt 314 <0=> Secure state <1=> Non-Secure state -// Interrupt 315 <0=> Secure state <1=> Non-Secure state -// Interrupt 316 <0=> Secure state <1=> Non-Secure state -// Interrupt 317 <0=> Secure state <1=> Non-Secure state -// Interrupt 318 <0=> Secure state <1=> Non-Secure state -// Interrupt 319 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS9_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 10 (Interrupts 320..351) -*/ -#define NVIC_INIT_ITNS10 0 - -/* -// Interrupts 320..351 -// Interrupt 320 <0=> Secure state <1=> Non-Secure state -// Interrupt 321 <0=> Secure state <1=> Non-Secure state -// Interrupt 322 <0=> Secure state <1=> Non-Secure state -// Interrupt 323 <0=> Secure state <1=> Non-Secure state -// Interrupt 324 <0=> Secure state <1=> Non-Secure state -// Interrupt 325 <0=> Secure state <1=> Non-Secure state -// Interrupt 326 <0=> Secure state <1=> Non-Secure state -// Interrupt 327 <0=> Secure state <1=> Non-Secure state -// Interrupt 328 <0=> Secure state <1=> Non-Secure state -// Interrupt 329 <0=> Secure state <1=> Non-Secure state -// Interrupt 330 <0=> Secure state <1=> Non-Secure state -// Interrupt 331 <0=> Secure state <1=> Non-Secure state -// Interrupt 332 <0=> Secure state <1=> Non-Secure state -// Interrupt 333 <0=> Secure state <1=> Non-Secure state -// Interrupt 334 <0=> Secure state <1=> Non-Secure state -// Interrupt 335 <0=> Secure state <1=> Non-Secure state -// Interrupt 336 <0=> Secure state <1=> Non-Secure state -// Interrupt 337 <0=> Secure state <1=> Non-Secure state -// Interrupt 338 <0=> Secure state <1=> Non-Secure state -// Interrupt 339 <0=> Secure state <1=> Non-Secure state -// Interrupt 340 <0=> Secure state <1=> Non-Secure state -// Interrupt 341 <0=> Secure state <1=> Non-Secure state -// Interrupt 342 <0=> Secure state <1=> Non-Secure state -// Interrupt 343 <0=> Secure state <1=> Non-Secure state -// Interrupt 344 <0=> Secure state <1=> Non-Secure state -// Interrupt 345 <0=> Secure state <1=> Non-Secure state -// Interrupt 346 <0=> Secure state <1=> Non-Secure state -// Interrupt 347 <0=> Secure state <1=> Non-Secure state -// Interrupt 348 <0=> Secure state <1=> Non-Secure state -// Interrupt 349 <0=> Secure state <1=> Non-Secure state -// Interrupt 350 <0=> Secure state <1=> Non-Secure state -// Interrupt 351 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS10_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 11 (Interrupts 352..383) -*/ -#define NVIC_INIT_ITNS11 0 - -/* -// Interrupts 352..383 -// Interrupt 352 <0=> Secure state <1=> Non-Secure state -// Interrupt 353 <0=> Secure state <1=> Non-Secure state -// Interrupt 354 <0=> Secure state <1=> Non-Secure state -// Interrupt 355 <0=> Secure state <1=> Non-Secure state -// Interrupt 356 <0=> Secure state <1=> Non-Secure state -// Interrupt 357 <0=> Secure state <1=> Non-Secure state -// Interrupt 358 <0=> Secure state <1=> Non-Secure state -// Interrupt 359 <0=> Secure state <1=> Non-Secure state -// Interrupt 360 <0=> Secure state <1=> Non-Secure state -// Interrupt 361 <0=> Secure state <1=> Non-Secure state -// Interrupt 362 <0=> Secure state <1=> Non-Secure state -// Interrupt 363 <0=> Secure state <1=> Non-Secure state -// Interrupt 364 <0=> Secure state <1=> Non-Secure state -// Interrupt 365 <0=> Secure state <1=> Non-Secure state -// Interrupt 366 <0=> Secure state <1=> Non-Secure state -// Interrupt 367 <0=> Secure state <1=> Non-Secure state -// Interrupt 368 <0=> Secure state <1=> Non-Secure state -// Interrupt 369 <0=> Secure state <1=> Non-Secure state -// Interrupt 370 <0=> Secure state <1=> Non-Secure state -// Interrupt 371 <0=> Secure state <1=> Non-Secure state -// Interrupt 372 <0=> Secure state <1=> Non-Secure state -// Interrupt 373 <0=> Secure state <1=> Non-Secure state -// Interrupt 374 <0=> Secure state <1=> Non-Secure state -// Interrupt 375 <0=> Secure state <1=> Non-Secure state -// Interrupt 376 <0=> Secure state <1=> Non-Secure state -// Interrupt 377 <0=> Secure state <1=> Non-Secure state -// Interrupt 378 <0=> Secure state <1=> Non-Secure state -// Interrupt 379 <0=> Secure state <1=> Non-Secure state -// Interrupt 380 <0=> Secure state <1=> Non-Secure state -// Interrupt 381 <0=> Secure state <1=> Non-Secure state -// Interrupt 382 <0=> Secure state <1=> Non-Secure state -// Interrupt 383 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS11_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 12 (Interrupts 384..415) -*/ -#define NVIC_INIT_ITNS12 0 - -/* -// Interrupts 384..415 -// Interrupt 384 <0=> Secure state <1=> Non-Secure state -// Interrupt 385 <0=> Secure state <1=> Non-Secure state -// Interrupt 386 <0=> Secure state <1=> Non-Secure state -// Interrupt 387 <0=> Secure state <1=> Non-Secure state -// Interrupt 388 <0=> Secure state <1=> Non-Secure state -// Interrupt 389 <0=> Secure state <1=> Non-Secure state -// Interrupt 390 <0=> Secure state <1=> Non-Secure state -// Interrupt 391 <0=> Secure state <1=> Non-Secure state -// Interrupt 392 <0=> Secure state <1=> Non-Secure state -// Interrupt 393 <0=> Secure state <1=> Non-Secure state -// Interrupt 394 <0=> Secure state <1=> Non-Secure state -// Interrupt 395 <0=> Secure state <1=> Non-Secure state -// Interrupt 396 <0=> Secure state <1=> Non-Secure state -// Interrupt 397 <0=> Secure state <1=> Non-Secure state -// Interrupt 398 <0=> Secure state <1=> Non-Secure state -// Interrupt 399 <0=> Secure state <1=> Non-Secure state -// Interrupt 400 <0=> Secure state <1=> Non-Secure state -// Interrupt 401 <0=> Secure state <1=> Non-Secure state -// Interrupt 402 <0=> Secure state <1=> Non-Secure state -// Interrupt 403 <0=> Secure state <1=> Non-Secure state -// Interrupt 404 <0=> Secure state <1=> Non-Secure state -// Interrupt 405 <0=> Secure state <1=> Non-Secure state -// Interrupt 406 <0=> Secure state <1=> Non-Secure state -// Interrupt 407 <0=> Secure state <1=> Non-Secure state -// Interrupt 408 <0=> Secure state <1=> Non-Secure state -// Interrupt 409 <0=> Secure state <1=> Non-Secure state -// Interrupt 410 <0=> Secure state <1=> Non-Secure state -// Interrupt 411 <0=> Secure state <1=> Non-Secure state -// Interrupt 412 <0=> Secure state <1=> Non-Secure state -// Interrupt 413 <0=> Secure state <1=> Non-Secure state -// Interrupt 414 <0=> Secure state <1=> Non-Secure state -// Interrupt 415 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS12_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 13 (Interrupts 416..447) -*/ -#define NVIC_INIT_ITNS13 0 - -/* -// Interrupts 416..447 -// Interrupt 416 <0=> Secure state <1=> Non-Secure state -// Interrupt 417 <0=> Secure state <1=> Non-Secure state -// Interrupt 418 <0=> Secure state <1=> Non-Secure state -// Interrupt 419 <0=> Secure state <1=> Non-Secure state -// Interrupt 420 <0=> Secure state <1=> Non-Secure state -// Interrupt 421 <0=> Secure state <1=> Non-Secure state -// Interrupt 422 <0=> Secure state <1=> Non-Secure state -// Interrupt 423 <0=> Secure state <1=> Non-Secure state -// Interrupt 424 <0=> Secure state <1=> Non-Secure state -// Interrupt 425 <0=> Secure state <1=> Non-Secure state -// Interrupt 426 <0=> Secure state <1=> Non-Secure state -// Interrupt 427 <0=> Secure state <1=> Non-Secure state -// Interrupt 428 <0=> Secure state <1=> Non-Secure state -// Interrupt 429 <0=> Secure state <1=> Non-Secure state -// Interrupt 430 <0=> Secure state <1=> Non-Secure state -// Interrupt 431 <0=> Secure state <1=> Non-Secure state -// Interrupt 432 <0=> Secure state <1=> Non-Secure state -// Interrupt 433 <0=> Secure state <1=> Non-Secure state -// Interrupt 434 <0=> Secure state <1=> Non-Secure state -// Interrupt 435 <0=> Secure state <1=> Non-Secure state -// Interrupt 436 <0=> Secure state <1=> Non-Secure state -// Interrupt 437 <0=> Secure state <1=> Non-Secure state -// Interrupt 438 <0=> Secure state <1=> Non-Secure state -// Interrupt 439 <0=> Secure state <1=> Non-Secure state -// Interrupt 440 <0=> Secure state <1=> Non-Secure state -// Interrupt 441 <0=> Secure state <1=> Non-Secure state -// Interrupt 442 <0=> Secure state <1=> Non-Secure state -// Interrupt 443 <0=> Secure state <1=> Non-Secure state -// Interrupt 444 <0=> Secure state <1=> Non-Secure state -// Interrupt 445 <0=> Secure state <1=> Non-Secure state -// Interrupt 446 <0=> Secure state <1=> Non-Secure state -// Interrupt 447 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS13_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 14 (Interrupts 448..479) -*/ -#define NVIC_INIT_ITNS14 0 - -/* -// Interrupts 448..479 -// Interrupt 448 <0=> Secure state <1=> Non-Secure state -// Interrupt 449 <0=> Secure state <1=> Non-Secure state -// Interrupt 450 <0=> Secure state <1=> Non-Secure state -// Interrupt 451 <0=> Secure state <1=> Non-Secure state -// Interrupt 452 <0=> Secure state <1=> Non-Secure state -// Interrupt 453 <0=> Secure state <1=> Non-Secure state -// Interrupt 454 <0=> Secure state <1=> Non-Secure state -// Interrupt 455 <0=> Secure state <1=> Non-Secure state -// Interrupt 456 <0=> Secure state <1=> Non-Secure state -// Interrupt 457 <0=> Secure state <1=> Non-Secure state -// Interrupt 458 <0=> Secure state <1=> Non-Secure state -// Interrupt 459 <0=> Secure state <1=> Non-Secure state -// Interrupt 460 <0=> Secure state <1=> Non-Secure state -// Interrupt 461 <0=> Secure state <1=> Non-Secure state -// Interrupt 462 <0=> Secure state <1=> Non-Secure state -// Interrupt 463 <0=> Secure state <1=> Non-Secure state -// Interrupt 464 <0=> Secure state <1=> Non-Secure state -// Interrupt 465 <0=> Secure state <1=> Non-Secure state -// Interrupt 466 <0=> Secure state <1=> Non-Secure state -// Interrupt 467 <0=> Secure state <1=> Non-Secure state -// Interrupt 468 <0=> Secure state <1=> Non-Secure state -// Interrupt 469 <0=> Secure state <1=> Non-Secure state -// Interrupt 470 <0=> Secure state <1=> Non-Secure state -// Interrupt 471 <0=> Secure state <1=> Non-Secure state -// Interrupt 472 <0=> Secure state <1=> Non-Secure state -// Interrupt 473 <0=> Secure state <1=> Non-Secure state -// Interrupt 474 <0=> Secure state <1=> Non-Secure state -// Interrupt 475 <0=> Secure state <1=> Non-Secure state -// Interrupt 476 <0=> Secure state <1=> Non-Secure state -// Interrupt 477 <0=> Secure state <1=> Non-Secure state -// Interrupt 478 <0=> Secure state <1=> Non-Secure state -// Interrupt 479 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS14_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 15 (Interrupts 480..511) -*/ -#define NVIC_INIT_ITNS15 0 - -/* -// Interrupts 480..511 -// Interrupt 480 <0=> Secure state <1=> Non-Secure state -// Interrupt 481 <0=> Secure state <1=> Non-Secure state -// Interrupt 482 <0=> Secure state <1=> Non-Secure state -// Interrupt 483 <0=> Secure state <1=> Non-Secure state -// Interrupt 484 <0=> Secure state <1=> Non-Secure state -// Interrupt 485 <0=> Secure state <1=> Non-Secure state -// Interrupt 486 <0=> Secure state <1=> Non-Secure state -// Interrupt 487 <0=> Secure state <1=> Non-Secure state -// Interrupt 488 <0=> Secure state <1=> Non-Secure state -// Interrupt 489 <0=> Secure state <1=> Non-Secure state -// Interrupt 490 <0=> Secure state <1=> Non-Secure state -// Interrupt 491 <0=> Secure state <1=> Non-Secure state -// Interrupt 492 <0=> Secure state <1=> Non-Secure state -// Interrupt 493 <0=> Secure state <1=> Non-Secure state -// Interrupt 494 <0=> Secure state <1=> Non-Secure state -// Interrupt 495 <0=> Secure state <1=> Non-Secure state -// Interrupt 496 <0=> Secure state <1=> Non-Secure state -// Interrupt 497 <0=> Secure state <1=> Non-Secure state -// Interrupt 498 <0=> Secure state <1=> Non-Secure state -// Interrupt 499 <0=> Secure state <1=> Non-Secure state -// Interrupt 500 <0=> Secure state <1=> Non-Secure state -// Interrupt 501 <0=> Secure state <1=> Non-Secure state -// Interrupt 502 <0=> Secure state <1=> Non-Secure state -// Interrupt 503 <0=> Secure state <1=> Non-Secure state -// Interrupt 504 <0=> Secure state <1=> Non-Secure state -// Interrupt 505 <0=> Secure state <1=> Non-Secure state -// Interrupt 506 <0=> Secure state <1=> Non-Secure state -// Interrupt 507 <0=> Secure state <1=> Non-Secure state -// Interrupt 508 <0=> Secure state <1=> Non-Secure state -// Interrupt 509 <0=> Secure state <1=> Non-Secure state -// Interrupt 510 <0=> Secure state <1=> Non-Secure state -// Interrupt 511 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS15_VAL 0x00000000 - -/* -// -*/ - -/* -// -*/ - - - -/* - max 128 SAU regions. - SAU regions are defined in partition.h - */ - -#define SAU_INIT_REGION(n) \ - SAU->RNR = (n & SAU_RNR_REGION_Msk); \ - SAU->RBAR = (SAU_INIT_START##n & SAU_RBAR_BADDR_Msk); \ - SAU->RLAR = (SAU_INIT_END##n & SAU_RLAR_LADDR_Msk) | \ - ((SAU_INIT_NSC##n << SAU_RLAR_NSC_Pos) & SAU_RLAR_NSC_Msk) | 1U - -/** - \brief Setup a SAU Region - \details Writes the region information contained in SAU_Region to the - registers SAU_RNR, SAU_RBAR, and SAU_RLAR - */ -__STATIC_INLINE void TZ_SAU_Setup (void) -{ - -#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) - - #if defined (SAU_INIT_REGION0) && (SAU_INIT_REGION0 == 1U) - SAU_INIT_REGION(0); - #endif - - #if defined (SAU_INIT_REGION1) && (SAU_INIT_REGION1 == 1U) - SAU_INIT_REGION(1); - #endif - - #if defined (SAU_INIT_REGION2) && (SAU_INIT_REGION2 == 1U) - SAU_INIT_REGION(2); - #endif - - #if defined (SAU_INIT_REGION3) && (SAU_INIT_REGION3 == 1U) - SAU_INIT_REGION(3); - #endif - - #if defined (SAU_INIT_REGION4) && (SAU_INIT_REGION4 == 1U) - SAU_INIT_REGION(4); - #endif - - #if defined (SAU_INIT_REGION5) && (SAU_INIT_REGION5 == 1U) - SAU_INIT_REGION(5); - #endif - - #if defined (SAU_INIT_REGION6) && (SAU_INIT_REGION6 == 1U) - SAU_INIT_REGION(6); - #endif - - #if defined (SAU_INIT_REGION7) && (SAU_INIT_REGION7 == 1U) - SAU_INIT_REGION(7); - #endif - - /* repeat this for all possible SAU regions */ - -#endif /* defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) */ - - - #if defined (SAU_INIT_CTRL) && (SAU_INIT_CTRL == 1U) - SAU->CTRL = ((SAU_INIT_CTRL_ENABLE << SAU_CTRL_ENABLE_Pos) & SAU_CTRL_ENABLE_Msk) | - ((SAU_INIT_CTRL_ALLNS << SAU_CTRL_ALLNS_Pos) & SAU_CTRL_ALLNS_Msk) ; - #endif - - #if defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) - SCB->SCR = (SCB->SCR & ~(SCB_SCR_SLEEPDEEPS_Msk )) | - ((SCB_CSR_DEEPSLEEPS_VAL << SCB_SCR_SLEEPDEEPS_Pos) & SCB_SCR_SLEEPDEEPS_Msk); - - SCB->AIRCR = (SCB->AIRCR & ~(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_SYSRESETREQS_Msk | - SCB_AIRCR_BFHFNMINS_Msk | SCB_AIRCR_PRIS_Msk )) | - ((0x05FAU << SCB_AIRCR_VECTKEY_Pos) & SCB_AIRCR_VECTKEY_Msk) | - ((SCB_AIRCR_SYSRESETREQS_VAL << SCB_AIRCR_SYSRESETREQS_Pos) & SCB_AIRCR_SYSRESETREQS_Msk) | - ((SCB_AIRCR_PRIS_VAL << SCB_AIRCR_PRIS_Pos) & SCB_AIRCR_PRIS_Msk) | - ((SCB_AIRCR_BFHFNMINS_VAL << SCB_AIRCR_BFHFNMINS_Pos) & SCB_AIRCR_BFHFNMINS_Msk); - #endif /* defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) */ - - #if (((defined (__FPU_USED) && (__FPU_USED == 1U)) || \ - (defined (__ARM_FEATURE_MVE) && (__ARM_FEATURE_MVE > 0))) && \ - (defined (TZ_FPU_NS_USAGE) && (TZ_FPU_NS_USAGE == 1U))) - - SCB->NSACR = (SCB->NSACR & ~(SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)) | - ((SCB_NSACR_CP10_11_VAL << SCB_NSACR_CP10_Pos) & (SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)); - - FPU->FPCCR = (FPU->FPCCR & ~(FPU_FPCCR_TS_Msk | FPU_FPCCR_CLRONRETS_Msk | FPU_FPCCR_CLRONRET_Msk)) | - ((FPU_FPCCR_TS_VAL << FPU_FPCCR_TS_Pos ) & FPU_FPCCR_TS_Msk ) | - ((FPU_FPCCR_CLRONRETS_VAL << FPU_FPCCR_CLRONRETS_Pos) & FPU_FPCCR_CLRONRETS_Msk) | - ((FPU_FPCCR_CLRONRET_VAL << FPU_FPCCR_CLRONRET_Pos ) & FPU_FPCCR_CLRONRET_Msk ); - #endif - - #if defined (NVIC_INIT_ITNS0) && (NVIC_INIT_ITNS0 == 1U) - NVIC->ITNS[0] = NVIC_INIT_ITNS0_VAL; - #endif - - #if defined (NVIC_INIT_ITNS1) && (NVIC_INIT_ITNS1 == 1U) - NVIC->ITNS[1] = NVIC_INIT_ITNS1_VAL; - #endif - - #if defined (NVIC_INIT_ITNS2) && (NVIC_INIT_ITNS2 == 1U) - NVIC->ITNS[2] = NVIC_INIT_ITNS2_VAL; - #endif - - #if defined (NVIC_INIT_ITNS3) && (NVIC_INIT_ITNS3 == 1U) - NVIC->ITNS[3] = NVIC_INIT_ITNS3_VAL; - #endif - - #if defined (NVIC_INIT_ITNS4) && (NVIC_INIT_ITNS4 == 1U) - NVIC->ITNS[4] = NVIC_INIT_ITNS4_VAL; - #endif - - #if defined (NVIC_INIT_ITNS5) && (NVIC_INIT_ITNS5 == 1U) - NVIC->ITNS[5] = NVIC_INIT_ITNS5_VAL; - #endif - - #if defined (NVIC_INIT_ITNS6) && (NVIC_INIT_ITNS6 == 1U) - NVIC->ITNS[6] = NVIC_INIT_ITNS6_VAL; - #endif - - #if defined (NVIC_INIT_ITNS7) && (NVIC_INIT_ITNS7 == 1U) - NVIC->ITNS[7] = NVIC_INIT_ITNS7_VAL; - #endif - - #if defined (NVIC_INIT_ITNS8) && (NVIC_INIT_ITNS8 == 1U) - NVIC->ITNS[8] = NVIC_INIT_ITNS8_VAL; - #endif - - #if defined (NVIC_INIT_ITNS9) && (NVIC_INIT_ITNS9 == 1U) - NVIC->ITNS[9] = NVIC_INIT_ITNS9_VAL; - #endif - - #if defined (NVIC_INIT_ITNS10) && (NVIC_INIT_ITNS10 == 1U) - NVIC->ITNS[10] = NVIC_INIT_ITNS10_VAL; - #endif - - #if defined (NVIC_INIT_ITNS11) && (NVIC_INIT_ITNS11 == 1U) - NVIC->ITNS[11] = NVIC_INIT_ITNS11_VAL; - #endif - - #if defined (NVIC_INIT_ITNS12) && (NVIC_INIT_ITNS12 == 1U) - NVIC->ITNS[12] = NVIC_INIT_ITNS12_VAL; - #endif - - #if defined (NVIC_INIT_ITNS13) && (NVIC_INIT_ITNS13 == 1U) - NVIC->ITNS[13] = NVIC_INIT_ITNS13_VAL; - #endif - - #if defined (NVIC_INIT_ITNS14) && (NVIC_INIT_ITNS14 == 1U) - NVIC->ITNS[14] = NVIC_INIT_ITNS14_VAL; - #endif - - #if defined (NVIC_INIT_ITNS15) && (NVIC_INIT_ITNS15 == 1U) - NVIC->ITNS[15] = NVIC_INIT_ITNS15_VAL; - #endif - - /* repeat this for all possible ITNS elements */ - -} - -#endif /* PARTITION_ARMCM55_H */ diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Source/ConfigA/CV_Config.h b/external/CMSIS_5/CMSIS/CoreValidation/Source/ConfigA/CV_Config.h deleted file mode 100644 index 1995481..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Source/ConfigA/CV_Config.h +++ /dev/null @@ -1,124 +0,0 @@ -/*----------------------------------------------------------------------------- - * Name: CV_Config.h - * Purpose: CV Config header - *---------------------------------------------------------------------------- - * Copyright (c) 2017 - 2021 ARM Limited. All rights reserved. - *----------------------------------------------------------------------------*/ -#ifndef __CV_CONFIG_H -#define __CV_CONFIG_H - -#include "RTE_Components.h" -#include CMSIS_device_header - -#define RTE_CV_COREINSTR 1 -#define RTE_CV_COREFUNC 1 -#define RTE_CV_L1CACHE 1 - -//-------- <<< Use Configuration Wizard in Context Menu >>> -------------------- - -// Common Test Settings -// Print Output Format <0=> Plain Text <1=> XML -// Set the test results output format to plain text or XML -#ifndef PRINT_XML_REPORT -#define PRINT_XML_REPORT 1 -#endif -// Buffer size for assertions results -// Set the buffer size for assertions results buffer -#define BUFFER_ASSERTIONS 128U -// - -// Disable Test Cases -// Uncheck to disable an individual test case -// TC_CoreInstr_NOP -#define TC_COREINSTR_NOP_EN 1 -// TC_CoreInstr_REV -#define TC_COREINSTR_REV_EN 1 -// TC_CoreInstr_REV16 -#define TC_COREINSTR_REV16_EN 1 -// TC_CoreInstr_REVSH -#define TC_COREINSTR_REVSH_EN 1 -// TC_CoreInstr_ROR -#define TC_COREINSTR_ROR_EN 1 -// TC_CoreInstr_RBIT -#define TC_COREINSTR_RBIT_EN 1 -// TC_CoreInstr_CLZ -#define TC_COREINSTR_CLZ_EN 1 -// TC_CoreInstr_Exclusives -#define TC_COREINSTR_EXCLUSIVES_EN 1 -// TC_CoreInstr_SSAT -#define TC_COREINSTR_SSAT_EN 1 -// TC_CoreInstr_USAT -#define TC_COREINSTR_USAT_EN 1 - -// TC_CoreAFunc_IRQ -#define TC_COREAFUNC_IRQ 1 -// TC_CoreAFunc_FaultIRQ -#define TC_COREAFUNC_FAULTIRQ 1 -// TC_CoreAFunc_FPSCR -#define TC_COREAFUNC_FPSCR 1 -// TC_CoreAFunc_CPSR -#define TC_COREAFUNC_CPSR 1 -// TC_CoreAFunc_Mode -#define TC_COREAFUNC_MODE 1 -// TC_CoreAFunc_SP -#define TC_COREAFUNC_SP 1 -// TC_CoreAFunc_SP_usr -#define TC_COREAFUNC_SP_USR 1 -// TC_CoreAFunc_FPEXC -#define TC_COREAFUNC_FPEXC 1 -// TC_CoreAFunc_ACTLR -#define TC_COREAFUNC_ACTLR 1 -// TC_CoreAFunc_CPACR -#define TC_COREAFUNC_CPACR 1 -// TC_CoreAFunc_DFSR -#define TC_COREAFUNC_DFSR 1 -// TC_CoreAFunc_IFSR -#define TC_COREAFUNC_IFSR 1 -// TC_CoreAFunc_ISR -#define TC_COREAFUNC_ISR 1 -// TC_CoreAFunc_CBAR -#define TC_COREAFUNC_CBAR 1 -// TC_CoreAFunc_TTBR0 -#define TC_COREAFUNC_TTBR0 1 -// TC_CoreAFunc_DACR -#define TC_COREAFUNC_DACR 1 -// TC_CoreAFunc_SCTLR -#define TC_COREAFUNC_SCTLR 1 -// TC_CoreAFunc_ACTRL -#define TC_COREAFUNC_ACTRL 1 -// TC_CoreAFunc_MPIDR -#define TC_COREAFUNC_MPIDR 1 -// TC_CoreAFunc_VBAR -#define TC_COREAFUNC_VBAR 1 -// TC_CoreAFunc_MVBAR -#define TC_COREAFUNC_MVBAR 1 -// TC_CoreAFunc_FPU_Enable -#define TC_COREAFUNC_FPU_ENABLE 1 - -// TC_GenTimer_CNTFRQ -#define TC_GENTIMER_CNTFRQ 1 -// TC_GenTimer_CNTP_TVAL -#define TC_GENTIMER_CNTP_TVAL 1 -// TC_GenTimer_CNTP_CTL -#define TC_GENTIMER_CNTP_CTL 1 -// TC_GenTimer_CNTPCT -#define TC_GENTIMER_CNTPCT 1 -// TC_GenTimer_CNTP_CVAL -#define TC_GENTIMER_CNTP_CVAL 1 - -// TC_CAL1Cache_EnDisable -#define TC_CAL1CACHE_ENDISABLE 1 -// TC_CAL1Cache_EnDisableBTAC -#define TC_CAL1CACHE_ENDISABLEBTAC 1 -// TC_CAL1Cache_log2_up -#define TC_CAL1CACHE_LOG2_UP 1 -// TC_CAL1Cache_InvalidateDCacheAll -#define TC_CAL1CACHE_INVALIDATEDCACHEALL 1 -// TC_CAL1Cache_CleanDCacheAll -#define TC_CAL1CACHE_CLEANDCACHEALL 1 -// TC_CAL1Cache_CleanInvalidateDCacheAll -#define TC_CAL1CACHE_CLEANINVALIDATEDCACHEALL 1 -// - -#endif /* __CV_CONFIG_H */ - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Source/ConfigA/CV_Config_template.h b/external/CMSIS_5/CMSIS/CoreValidation/Source/ConfigA/CV_Config_template.h deleted file mode 100644 index d2e0532..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Source/ConfigA/CV_Config_template.h +++ /dev/null @@ -1,120 +0,0 @@ -/*----------------------------------------------------------------------------- - * Name: CV_Config.h - * Purpose: CV Config header - *---------------------------------------------------------------------------- - * Copyright (c) 2017 - 2021 ARM Limited. All rights reserved. - *----------------------------------------------------------------------------*/ -#ifndef __CV_CONFIG_H -#define __CV_CONFIG_H - -#include "RTE_Components.h" -#include CMSIS_device_header - -//-------- <<< Use Configuration Wizard in Context Menu >>> -------------------- - -// Common Test Settings -// Print Output Format <0=> Plain Text <1=> XML -// Set the test results output format to plain text or XML -#ifndef PRINT_XML_REPORT -#define PRINT_XML_REPORT 0 -#endif -// Buffer size for assertions results -// Set the buffer size for assertions results buffer -#define BUFFER_ASSERTIONS 128U -// - -// Disable Test Cases -// Uncheck to disable an individual test case -// TC_CoreInstr_NOP -#define TC_COREINSTR_NOP_EN 1 -// TC_CoreInstr_REV -#define TC_COREINSTR_REV_EN 1 -// TC_CoreInstr_REV16 -#define TC_COREINSTR_REV16_EN 1 -// TC_CoreInstr_REVSH -#define TC_COREINSTR_REVSH_EN 1 -// TC_CoreInstr_ROR -#define TC_COREINSTR_ROR_EN 1 -// TC_CoreInstr_RBIT -#define TC_COREINSTR_RBIT_EN 1 -// TC_CoreInstr_CLZ -#define TC_COREINSTR_CLZ_EN 1 -// TC_CoreInstr_Exclusives -#define TC_COREINSTR_EXCLUSIVES_EN 1 -// TC_CoreInstr_SSAT -#define TC_COREINSTR_SSAT_EN 1 -// TC_CoreInstr_USAT -#define TC_COREINSTR_USAT_EN 1 - -// TC_CoreAFunc_IRQ -#define TC_COREAFUNC_IRQ 1 -// TC_CoreAFunc_FaultIRQ -#define TC_COREAFUNC_FAULTIRQ 1 -// TC_CoreAFunc_FPSCR -#define TC_COREAFUNC_FPSCR 1 -// TC_CoreAFunc_CPSR -#define TC_COREAFUNC_CPSR 1 -// TC_CoreAFunc_Mode -#define TC_COREAFUNC_MODE 1 -// TC_CoreAFunc_SP -#define TC_COREAFUNC_SP 1 -// TC_CoreAFunc_SP_usr -#define TC_COREAFUNC_SP_USR 1 -// TC_CoreAFunc_FPEXC -#define TC_COREAFUNC_FPEXC 1 -// TC_CoreAFunc_ACTLR -#define TC_COREAFUNC_ACTLR 1 -// TC_CoreAFunc_CPACR -#define TC_COREAFUNC_CPACR 1 -// TC_CoreAFunc_DFSR -#define TC_COREAFUNC_DFSR 1 -// TC_CoreAFunc_IFSR -#define TC_COREAFUNC_IFSR 1 -// TC_CoreAFunc_ISR -#define TC_COREAFUNC_ISR 1 -// TC_CoreAFunc_CBAR -#define TC_COREAFUNC_CBAR 1 -// TC_CoreAFunc_TTBR0 -#define TC_COREAFUNC_TTBR0 1 -// TC_CoreAFunc_DACR -#define TC_COREAFUNC_DACR 1 -// TC_CoreAFunc_SCTLR -#define TC_COREAFUNC_SCTLR 1 -// TC_CoreAFunc_ACTRL -#define TC_COREAFUNC_ACTRL 1 -// TC_CoreAFunc_MPIDR -#define TC_COREAFUNC_MPIDR 1 -// TC_CoreAFunc_VBAR -#define TC_COREAFUNC_VBAR 1 -// TC_CoreAFunc_MVBAR -#define TC_COREAFUNC_MVBAR 1 -// TC_CoreAFunc_FPU_Enable -#define TC_COREAFUNC_FPU_ENABLE 1 - -// TC_GenTimer_CNTFRQ -#define TC_GENTIMER_CNTFRQ 1 -// TC_GenTimer_CNTP_TVAL -#define TC_GENTIMER_CNTP_TVAL 1 -// TC_GenTimer_CNTP_CTL -#define TC_GENTIMER_CNTP_CTL 1 -// TC_GenTimer_CNTPCT -#define TC_GENTIMER_CNTPCT 1 -// TC_GenTimer_CNTP_CVAL -#define TC_GENTIMER_CNTP_CVAL 1 - -// TC_CAL1Cache_EnDisable -#define TC_CAL1CACHE_ENDISABLE 1 -// TC_CAL1Cache_EnDisableBTAC -#define TC_CAL1CACHE_ENDISABLEBTAC 1 -// TC_CAL1Cache_log2_up -#define TC_CAL1CACHE_LOG2_UP 1 -// TC_CAL1Cache_InvalidateDCacheAll -#define TC_CAL1CACHE_INVALIDATEDCACHEALL 1 -// TC_CAL1Cache_CleanDCacheAll -#define TC_CAL1CACHE_CLEANDCACHEALL 1 -// TC_CAL1Cache_CleanInvalidateDCacheAll -#define TC_CAL1CACHE_CLEANINVALIDATEDCACHEALL 1 -// - -#endif /* __CV_CONFIG_H */ - diff --git a/external/CMSIS_5/CMSIS/CoreValidation/Source/cmsis_cv.c b/external/CMSIS_5/CMSIS/CoreValidation/Source/cmsis_cv.c deleted file mode 100644 index 226d5cf..0000000 --- a/external/CMSIS_5/CMSIS/CoreValidation/Source/cmsis_cv.c +++ /dev/null @@ -1,189 +0,0 @@ -/*----------------------------------------------------------------------------- - * Name: cmsis_cv.c - * Purpose: Driver validation test cases entry point - *---------------------------------------------------------------------------- - * Copyright (c) 2017 - 2021 Arm Limited. All rights reserved. - *----------------------------------------------------------------------------*/ -#include "cmsis_cv.h" -#include "RTE_Components.h" -#include "CV_Framework.h" -#include "CV_Config.h" - -/*----------------------------------------------------------------------------- - * Prototypes - *----------------------------------------------------------------------------*/ - -void Interrupt0_Handler(void); - -/*----------------------------------------------------------------------------- - * Variables declarations - *----------------------------------------------------------------------------*/ - -void (*TST_IRQHandler)(void); - -void Interrupt0_Handler(void) { - if (TST_IRQHandler != NULL) TST_IRQHandler(); -} - -/*----------------------------------------------------------------------------- - * Init test suite - *----------------------------------------------------------------------------*/ -static void TS_Init (void) { - TST_IRQHandler = NULL; - -#ifdef RTE_CV_MEASURETICKS - StartCortexCycleCounter(); -#endif -} - -/*----------------------------------------------------------------------------- - * Test cases list - *----------------------------------------------------------------------------*/ -static TEST_CASE TC_LIST[] = { -#if defined(RTE_CV_COREINSTR) && RTE_CV_COREINSTR - #if defined(__CORTEX_M) - TCD ( TC_CoreInstr_NOP, TC_COREINSTR_NOP_EN ), - TCD ( TC_CoreInstr_WFI, TC_COREINSTR_WFI_EN ), - TCD ( TC_CoreInstr_WFE, TC_COREINSTR_WFE_EN ), - TCD ( TC_CoreInstr_SEV, TC_COREINSTR_SEV_EN ), - TCD ( TC_CoreInstr_BKPT, TC_COREINSTR_BKPT_EN ), - TCD ( TC_CoreInstr_ISB, TC_COREINSTR_ISB_EN ), - TCD ( TC_CoreInstr_DSB, TC_COREINSTR_DSB_EN ), - TCD ( TC_CoreInstr_DMB, TC_COREINSTR_DMB_EN ), - TCD ( TC_CoreInstr_REV, TC_COREINSTR_REV_EN ), - TCD ( TC_CoreInstr_REV16, TC_COREINSTR_REV16_EN ), - TCD ( TC_CoreInstr_REVSH, TC_COREINSTR_REVSH_EN ), - TCD ( TC_CoreInstr_ROR, TC_COREINSTR_ROR_EN ), - TCD ( TC_CoreInstr_RBIT, TC_COREINSTR_RBIT_EN ), - TCD ( TC_CoreInstr_CLZ, TC_COREINSTR_CLZ_EN ), - TCD ( TC_CoreInstr_SSAT, TC_COREINSTR_SSAT_EN ), - TCD ( TC_CoreInstr_USAT, TC_COREINSTR_USAT_EN ), - TCD ( TC_CoreInstr_RRX, TC_COREINSTR_RRX_EN ), - TCD ( TC_CoreInstr_LoadStoreExclusive, TC_COREINSTR_LOADSTOREEXCLUSIVE_EN ), - TCD ( TC_CoreInstr_LoadStoreUnpriv, TC_COREINSTR_LOADSTOREUNPRIV_EN ), - TCD ( TC_CoreInstr_LoadStoreAcquire, TC_COREINSTR_LOADSTOREACQUIRE_EN ), - TCD ( TC_CoreInstr_LoadStoreAcquireExclusive, TC_COREINSTR_LOADSTOREACQUIREEXCLUSIVE_EN ), - TCD ( TC_CoreInstr_UnalignedUint16, TC_COREINSTR_UNALIGNEDUINT16_EN ), - TCD ( TC_CoreInstr_UnalignedUint32, TC_COREINSTR_UNALIGNEDUINT32_EN ), - - #elif defined(__CORTEX_A) - TCD (TC_CoreInstr_NOP, TC_COREINSTR_NOP_EN ), - TCD (TC_CoreInstr_REV, TC_COREINSTR_REV_EN ), - TCD (TC_CoreInstr_REV16, TC_COREINSTR_REV16_EN ), - TCD (TC_CoreInstr_REVSH, TC_COREINSTR_REVSH_EN ), - TCD (TC_CoreInstr_ROR, TC_COREINSTR_ROR_EN ), - TCD (TC_CoreInstr_RBIT, TC_COREINSTR_RBIT_EN ), - TCD (TC_CoreInstr_CLZ, TC_COREINSTR_CLZ_EN ), - TCD (TC_CoreInstr_SSAT, TC_COREINSTR_SSAT_EN ), - TCD (TC_CoreInstr_USAT, TC_COREINSTR_USAT_EN ), - TCD (TC_CoreInstr_LoadStoreExclusive, TC_COREINSTR_EXCLUSIVES_EN ), - #endif -#endif /* RTE_CV_COREINSTR */ - -#if defined (RTE_CV_CORESIMD) && RTE_CV_CORESIMD - TCD ( TC_CoreSimd_SatAddSub, TC_CORESIMD_SATADDSUB_EN ), - TCD ( TC_CoreSimd_ParSat16, TC_CORESIMD_PARSAT16_EN ), - TCD ( TC_CoreSimd_PackUnpack, TC_CORESIMD_PACKUNPACK_EN ), - TCD ( TC_CoreSimd_ParSel, TC_CORESIMD_PARSEL_EN ), - TCD ( TC_CoreSimd_ParAddSub8, TC_CORESIMD_PARADDSUB8_EN ), - TCD ( TC_CoreSimd_AbsDif8, TC_CORESIMD_ABSDIF8_EN ), - TCD ( TC_CoreSimd_ParAddSub16, TC_CORESIMD_PARADDSUB16_EN ), - TCD ( TC_CoreSimd_ParMul16, TC_CORESIMD_PARMUL16_EN ), - TCD ( TC_CoreSimd_Pack16, TC_CORESIMD_PACK16_EN ), - TCD ( TC_CoreSimd_MulAcc32, TC_CORESIMD_MULACC32_EN ), -#endif /* RTE_CV_CORESIMD */ - -#if defined(RTE_CV_COREFUNC) && RTE_CV_COREFUNC - #if defined(__CORTEX_M) - TCD ( TC_CoreFunc_EnDisIRQ, TC_COREFUNC_ENDISIRQ_EN ), - TCD ( TC_CoreFunc_IRQPrio, TC_COREFUNC_IRQPRIO_EN ), - TCD ( TC_CoreFunc_EncDecIRQPrio, TC_COREFUNC_ENCDECIRQPRIO_EN ), - TCD ( TC_CoreFunc_IRQVect, TC_COREFUNC_IRQVECT_EN ), - TCD ( TC_CoreFunc_Control, TC_COREFUNC_CONTROL_EN ), - TCD ( TC_CoreFunc_IPSR, TC_COREFUNC_IPSR_EN ), - TCD ( TC_CoreFunc_APSR, TC_COREFUNC_APSR_EN ), - TCD ( TC_CoreFunc_PSP, TC_COREFUNC_PSP_EN ), - TCD ( TC_CoreFunc_MSP, TC_COREFUNC_MSP_EN ), - TCD ( TC_CoreFunc_PSPLIM, TC_COREFUNC_PSPLIM_EN ), - TCD ( TC_CoreFunc_PSPLIM_NS, TC_COREFUNC_PSPLIM_NS_EN ), - TCD ( TC_CoreFunc_MSPLIM, TC_COREFUNC_MSPLIM_EN ), - TCD ( TC_CoreFunc_MSPLIM_NS, TC_COREFUNC_MSPLIM_NS_EN ), - TCD ( TC_CoreFunc_PRIMASK, TC_COREFUNC_PRIMASK_EN ), - TCD ( TC_CoreFunc_FAULTMASK, TC_COREFUNC_FAULTMASK_EN ), - TCD ( TC_CoreFunc_BASEPRI, TC_COREFUNC_BASEPRI_EN ), - TCD ( TC_CoreFunc_FPUType, TC_COREFUNC_FPUTYPE_EN ), - TCD ( TC_CoreFunc_FPSCR, TC_COREFUNC_FPSCR_EN ), - - #elif defined(__CORTEX_A) - TCD ( TC_CoreAFunc_IRQ, TC_COREAFUNC_IRQ ), - TCD ( TC_CoreAFunc_FaultIRQ, TC_COREAFUNC_FAULTIRQ ), - TCD ( TC_CoreAFunc_FPSCR, TC_COREAFUNC_FPSCR ), - TCD ( TC_CoreAFunc_CPSR, TC_COREAFUNC_CPSR ), - TCD ( TC_CoreAFunc_Mode, TC_COREAFUNC_MODE ), - TCD ( TC_CoreAFunc_SP, TC_COREAFUNC_SP ), - TCD ( TC_CoreAFunc_SP_usr, TC_COREAFUNC_SP_USR ), - TCD ( TC_CoreAFunc_FPEXC, TC_COREAFUNC_FPEXC ), - TCD ( TC_CoreAFunc_ACTLR, TC_COREAFUNC_ACTLR ), - TCD ( TC_CoreAFunc_CPACR, TC_COREAFUNC_CPACR ), - TCD ( TC_CoreAFunc_DFSR, TC_COREAFUNC_DFSR ), - TCD ( TC_CoreAFunc_IFSR, TC_COREAFUNC_IFSR ), - TCD ( TC_CoreAFunc_ISR, TC_COREAFUNC_ISR ), - TCD ( TC_CoreAFunc_CBAR, TC_COREAFUNC_CBAR ), - TCD ( TC_CoreAFunc_TTBR0, TC_COREAFUNC_TTBR0 ), - TCD ( TC_CoreAFunc_DACR, TC_COREAFUNC_DACR ), - TCD ( TC_CoreAFunc_SCTLR, TC_COREAFUNC_SCTLR ), - TCD ( TC_CoreAFunc_ACTRL, TC_COREAFUNC_ACTRL ), - TCD ( TC_CoreAFunc_MPIDR, TC_COREAFUNC_MPIDR ), - TCD ( TC_CoreAFunc_VBAR, TC_COREAFUNC_VBAR ), - TCD ( TC_CoreAFunc_MVBAR, TC_COREAFUNC_MVBAR ), - TCD ( TC_CoreAFunc_FPU_Enable, TC_COREAFUNC_FPU_ENABLE ), - #endif -#endif /* RTE_CV_COREFUNC */ - -#if defined(RTE_CV_MPUFUNC) && RTE_CV_MPUFUNC - TCD ( TC_MPU_SetClear, TC_MPU_SETCLEAR_EN ), - TCD ( TC_MPU_Load, TC_MPU_LOAD_EN ), -#endif /* RTE_CV_MPUFUNC */ - -#if defined(RTE_CV_GENTIMER) && RTE_CV_GENTIMER - TCD ( TC_GenTimer_CNTFRQ, TC_GENTIMER_CNTFRQ ), - TCD ( TC_GenTimer_CNTP_TVAL, TC_GENTIMER_CNTP_TVAL ), - TCD ( TC_GenTimer_CNTP_CTL, TC_GENTIMER_CNTP_CTL ), - TCD ( TC_GenTimer_CNTPCT, TC_GENTIMER_CNTPCT ), - TCD ( TC_GenTimer_CNTP_CVAL, TC_GENTIMER_CNTP_CVAL ), -#endif /* RTE_CV_GENTIMER */ - -#if defined(RTE_CV_L1CACHE) && RTE_CV_L1CACHE - #if defined(__CORTEX_M) - TCD ( TC_CML1Cache_EnDisableICache, TC_CML1CACHE_ENDISABLE_ICACHE ), - TCD ( TC_CML1Cache_EnDisableDCache, TC_CML1CACHE_ENDISABLE_DCACHE ), - TCD ( TC_CML1Cache_CleanDCacheByAddrWhileDisabled, TC_CML1CACHE_CLEANDCACHEBYADDRWHILEDISABLED), - #elif defined(__CORTEX_A) - TCD ( TC_CAL1Cache_EnDisable, TC_CAL1CACHE_ENDISABLE ), - TCD ( TC_CAL1Cache_EnDisableBTAC, TC_CAL1CACHE_ENDISABLEBTAC ), - TCD ( TC_CAL1Cache_log2_up, TC_CAL1CACHE_LOG2_UP ), - TCD ( TC_CAL1Cache_InvalidateDCacheAll, TC_CAL1CACHE_INVALIDATEDCACHEALL ), - TCD ( TC_CAL1Cache_CleanDCacheAll, TC_CAL1CACHE_CLEANDCACHEALL ), - TCD ( TC_CAL1Cache_CleanInvalidateDCacheAll, TC_CAL1CACHE_CLEANINVALIDATEDCACHEALL ), - #endif -#endif /* RTE_CV_L1CACHE */ -}; - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdate-time" -#endif -/*----------------------------------------------------------------------------- - * Test suite description - *----------------------------------------------------------------------------*/ -TEST_SUITE ts = { - __FILE__, __DATE__, __TIME__, - "CMSIS-CORE Test Suite", - TS_Init, - 1, - TC_LIST, - ARRAY_SIZE (TC_LIST), -}; -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) -#pragma clang diagnostic pop -#endif diff --git a/external/CMSIS_5/CMSIS/Core_A/Include/cmsis_armcc.h b/external/CMSIS_5/CMSIS/Core_A/Include/cmsis_armcc.h deleted file mode 100644 index 66a03f8..0000000 --- a/external/CMSIS_5/CMSIS/Core_A/Include/cmsis_armcc.h +++ /dev/null @@ -1,605 +0,0 @@ -/**************************************************************************//** - * @file cmsis_armcc.h - * @brief CMSIS compiler ARMCC (Arm Compiler 5) header file - * @version V1.0.6 - * @date 13. November 2022 - ******************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __CMSIS_ARMCC_H -#define __CMSIS_ARMCC_H - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION < 400677) - #error "Please use Arm Compiler Toolchain V4.0.677 or later!" -#endif - -/* CMSIS compiler control architecture macros */ -#if (defined (__TARGET_ARCH_7_A ) && (__TARGET_ARCH_7_A == 1)) - #define __ARM_ARCH_7A__ 1 -#endif - -/* CMSIS compiler specific defines */ -#ifndef __ASM - #define __ASM __asm -#endif -#ifndef __INLINE - #define __INLINE __inline -#endif -#ifndef __FORCEINLINE - #define __FORCEINLINE __forceinline -#endif -#ifndef __STATIC_INLINE - #define __STATIC_INLINE static __inline -#endif -#ifndef __STATIC_FORCEINLINE - #define __STATIC_FORCEINLINE static __forceinline -#endif -#ifndef __NO_RETURN - #define __NO_RETURN __declspec(noreturn) -#endif -#ifndef CMSIS_DEPRECATED - #define CMSIS_DEPRECATED __attribute__((deprecated)) -#endif -#ifndef __USED - #define __USED __attribute__((used)) -#endif -#ifndef __WEAK - #define __WEAK __attribute__((weak)) -#endif -#ifndef __PACKED - #define __PACKED __attribute__((packed)) -#endif -#ifndef __PACKED_STRUCT - #define __PACKED_STRUCT __packed struct -#endif -#ifndef __PACKED_UNION - #define __PACKED_UNION __packed union -#endif -#ifndef __UNALIGNED_UINT32 /* deprecated */ - #define __UNALIGNED_UINT32(x) (*((__packed uint32_t *)(x))) -#endif -#ifndef __UNALIGNED_UINT16_WRITE - #define __UNALIGNED_UINT16_WRITE(addr, val) ((*((__packed uint16_t *)(addr))) = (val)) -#endif -#ifndef __UNALIGNED_UINT16_READ - #define __UNALIGNED_UINT16_READ(addr) (*((const __packed uint16_t *)(addr))) -#endif -#ifndef __UNALIGNED_UINT32_WRITE - #define __UNALIGNED_UINT32_WRITE(addr, val) ((*((__packed uint32_t *)(addr))) = (val)) -#endif -#ifndef __UNALIGNED_UINT32_READ - #define __UNALIGNED_UINT32_READ(addr) (*((const __packed uint32_t *)(addr))) -#endif -#ifndef __ALIGNED - #define __ALIGNED(x) __attribute__((aligned(x))) -#endif -#ifndef __RESTRICT - #define __RESTRICT __restrict -#endif -#ifndef __COMPILER_BARRIER - #define __COMPILER_BARRIER() __memory_changed() -#endif - -/* ########################## Core Instruction Access ######################### */ -/** - \brief No Operation - \details No Operation does nothing. This instruction can be used for code alignment purposes. - */ -#define __NOP __nop - - -/** - \brief Wait For Interrupt - \details Wait For Interrupt is a hint instruction that suspends execution until one of a number of events occurs. - */ -#define __WFI __wfi - - -/** - \brief Wait For Event - \details Wait For Event is a hint instruction that permits the processor to enter - a low-power state until one of a number of events occurs. - */ -#define __WFE __wfe - - -/** - \brief Send Event - \details Send Event is a hint instruction. It causes an event to be signaled to the CPU. - */ -#define __SEV __sev - - -/** - \brief Instruction Synchronization Barrier - \details Instruction Synchronization Barrier flushes the pipeline in the processor, - so that all instructions following the ISB are fetched from cache or memory, - after the instruction has been completed. - */ -#define __ISB() __isb(0xF) - -/** - \brief Data Synchronization Barrier - \details Acts as a special kind of Data Memory Barrier. - It completes when all explicit memory accesses before this instruction complete. - */ -#define __DSB() __dsb(0xF) - -/** - \brief Data Memory Barrier - \details Ensures the apparent order of the explicit memory operations before - and after the instruction, without ensuring their completion. - */ -#define __DMB() __dmb(0xF) - - -/** - \brief Reverse byte order (32 bit) - \details Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x78563412. - \param [in] value Value to reverse - \return Reversed value - */ -#define __REV __rev - - -/** - \brief Reverse byte order (16 bit) - \details Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes 0x34127856. - \param [in] value Value to reverse - \return Reversed value - */ -#ifndef __NO_EMBEDDED_ASM -__attribute__((section(".rev16_text"))) __STATIC_INLINE __ASM uint32_t __REV16(uint32_t value) -{ - rev16 r0, r0 - bx lr -} -#endif - - -/** - \brief Reverse byte order (16 bit) - \details Reverses the byte order in a 16-bit value and returns the signed 16-bit result. For example, 0x0080 becomes 0x8000. - \param [in] value Value to reverse - \return Reversed value - */ -#ifndef __NO_EMBEDDED_ASM -__attribute__((section(".revsh_text"))) __STATIC_INLINE __ASM int16_t __REVSH(int16_t value) -{ - revsh r0, r0 - bx lr -} -#endif - - -/** - \brief Rotate Right in unsigned value (32 bit) - \details Rotate Right (immediate) provides the value of the contents of a register rotated by a variable number of bits. - \param [in] op1 Value to rotate - \param [in] op2 Number of Bits to rotate - \return Rotated value - */ -#define __ROR __ror - - -/** - \brief Breakpoint - \details Causes the processor to enter Debug state. - Debug tools can use this to investigate system state when the instruction at a particular address is reached. - \param [in] value is ignored by the processor. - If required, a debugger can use it to store additional information about the breakpoint. - */ -#define __BKPT(value) __breakpoint(value) - - -/** - \brief Reverse bit order of value - \details Reverses the bit order of the given value. - \param [in] value Value to reverse - \return Reversed value - */ -#define __RBIT __rbit - -/** - \brief Count leading zeros - \details Counts the number of leading zeros of a data value. - \param [in] value Value to count the leading zeros - \return number of leading zeros in value - */ -#define __CLZ __clz - -/** - \brief LDR Exclusive (8 bit) - \details Executes a exclusive LDR instruction for 8 bit value. - \param [in] ptr Pointer to data - \return value of type uint8_t at (*ptr) - */ -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION < 5060020) - #define __LDREXB(ptr) ((uint8_t ) __ldrex(ptr)) -#else - #define __LDREXB(ptr) _Pragma("push") _Pragma("diag_suppress 3731") ((uint8_t ) __ldrex(ptr)) _Pragma("pop") -#endif - - -/** - \brief LDR Exclusive (16 bit) - \details Executes a exclusive LDR instruction for 16 bit values. - \param [in] ptr Pointer to data - \return value of type uint16_t at (*ptr) - */ -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION < 5060020) - #define __LDREXH(ptr) ((uint16_t) __ldrex(ptr)) -#else - #define __LDREXH(ptr) _Pragma("push") _Pragma("diag_suppress 3731") ((uint16_t) __ldrex(ptr)) _Pragma("pop") -#endif - - -/** - \brief LDR Exclusive (32 bit) - \details Executes a exclusive LDR instruction for 32 bit values. - \param [in] ptr Pointer to data - \return value of type uint32_t at (*ptr) - */ -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION < 5060020) - #define __LDREXW(ptr) ((uint32_t ) __ldrex(ptr)) -#else - #define __LDREXW(ptr) _Pragma("push") _Pragma("diag_suppress 3731") ((uint32_t ) __ldrex(ptr)) _Pragma("pop") -#endif - - -/** - \brief STR Exclusive (8 bit) - \details Executes a exclusive STR instruction for 8 bit values. - \param [in] value Value to store - \param [in] ptr Pointer to location - \return 0 Function succeeded - \return 1 Function failed - */ -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION < 5060020) - #define __STREXB(value, ptr) __strex(value, ptr) -#else - #define __STREXB(value, ptr) _Pragma("push") _Pragma("diag_suppress 3731") __strex(value, ptr) _Pragma("pop") -#endif - - -/** - \brief STR Exclusive (16 bit) - \details Executes a exclusive STR instruction for 16 bit values. - \param [in] value Value to store - \param [in] ptr Pointer to location - \return 0 Function succeeded - \return 1 Function failed - */ -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION < 5060020) - #define __STREXH(value, ptr) __strex(value, ptr) -#else - #define __STREXH(value, ptr) _Pragma("push") _Pragma("diag_suppress 3731") __strex(value, ptr) _Pragma("pop") -#endif - - -/** - \brief STR Exclusive (32 bit) - \details Executes a exclusive STR instruction for 32 bit values. - \param [in] value Value to store - \param [in] ptr Pointer to location - \return 0 Function succeeded - \return 1 Function failed - */ -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION < 5060020) - #define __STREXW(value, ptr) __strex(value, ptr) -#else - #define __STREXW(value, ptr) _Pragma("push") _Pragma("diag_suppress 3731") __strex(value, ptr) _Pragma("pop") -#endif - - -/** - \brief Remove the exclusive lock - \details Removes the exclusive lock which is created by LDREX. - */ -#define __CLREX __clrex - - -/** - \brief Signed Saturate - \details Saturates a signed value. - \param [in] value Value to be saturated - \param [in] sat Bit position to saturate to (1..32) - \return Saturated value - */ -#define __SSAT __ssat - - -/** - \brief Unsigned Saturate - \details Saturates an unsigned value. - \param [in] value Value to be saturated - \param [in] sat Bit position to saturate to (0..31) - \return Saturated value - */ -#define __USAT __usat - -/* ########################### Core Function Access ########################### */ - -/** - \brief Enable IRQ Interrupts - \details Enables IRQ interrupts by clearing special-purpose register PRIMASK. - Can only be executed in Privileged modes. - */ -/* intrinsic void __enable_irq(); */ - - -/** - \brief Disable IRQ Interrupts - \details Disables IRQ interrupts by setting special-purpose register PRIMASK. - Can only be executed in Privileged modes. - */ -/* intrinsic void __disable_irq(void); */ - -/** - \brief Enable FIQ - \details Enables FIQ interrupts by clearing the F-bit in the CPSR. - Can only be executed in Privileged modes. - */ -#define __enable_fault_irq __enable_fiq - -/** - \brief Disable FIQ - \details Disables FIQ interrupts by setting the F-bit in the CPSR. - Can only be executed in Privileged modes. - */ -#define __disable_fault_irq __disable_fiq - -/** - \brief Get FPSCR (Floating Point Status/Control) - \return Floating Point Status/Control register value - */ -__STATIC_INLINE uint32_t __get_FPSCR(void) -{ -#if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ - (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) - register uint32_t __regfpscr __ASM("fpscr"); - return(__regfpscr); -#else - return(0U); -#endif -} - -/** - \brief Set FPSCR (Floating Point Status/Control) - \param [in] fpscr Floating Point Status/Control value to set - */ -__STATIC_INLINE void __set_FPSCR(uint32_t fpscr) -{ -#if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ - (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) - register uint32_t __regfpscr __ASM("fpscr"); - __regfpscr = (fpscr); -#else - (void)fpscr; -#endif -} - -/** \brief Get CPSR (Current Program Status Register) - \return CPSR Register value - */ -__STATIC_INLINE uint32_t __get_CPSR(void) -{ - register uint32_t __regCPSR __ASM("cpsr"); - return(__regCPSR); -} - - -/** \brief Set CPSR (Current Program Status Register) - \param [in] cpsr CPSR value to set - */ -__STATIC_INLINE void __set_CPSR(uint32_t cpsr) -{ - register uint32_t __regCPSR __ASM("cpsr"); - __regCPSR = cpsr; -} - -/** \brief Get Mode - \return Processor Mode - */ -__STATIC_INLINE uint32_t __get_mode(void) -{ - return (__get_CPSR() & 0x1FU); -} - -/** \brief Set Mode - \param [in] mode Mode value to set - */ -__STATIC_INLINE __ASM void __set_mode(uint32_t mode) -{ - MOV r1, lr - MSR CPSR_C, r0 - BX r1 -} - -/** \brief Get Stack Pointer - \return Stack Pointer - */ -__STATIC_INLINE __ASM uint32_t __get_SP(void) -{ - MOV r0, sp - BX lr -} - -/** \brief Set Stack Pointer - \param [in] stack Stack Pointer value to set - */ -__STATIC_INLINE __ASM void __set_SP(uint32_t stack) -{ - MOV sp, r0 - BX lr -} - - -/** \brief Get USR/SYS Stack Pointer - \return USR/SYSStack Pointer - */ -__STATIC_INLINE __ASM uint32_t __get_SP_usr(void) -{ - ARM - PRESERVE8 - - MRS R1, CPSR - CPS #0x1F ;no effect in USR mode - MOV R0, SP - MSR CPSR_c, R1 ;no effect in USR mode - ISB - BX LR -} - -/** \brief Set USR/SYS Stack Pointer - \param [in] topOfProcStack USR/SYS Stack Pointer value to set - */ -__STATIC_INLINE __ASM void __set_SP_usr(uint32_t topOfProcStack) -{ - ARM - PRESERVE8 - - MRS R1, CPSR - CPS #0x1F ;no effect in USR mode - MOV SP, R0 - MSR CPSR_c, R1 ;no effect in USR mode - ISB - BX LR -} - -/** \brief Get FPEXC (Floating Point Exception Control Register) - \return Floating Point Exception Control Register value - */ -__STATIC_INLINE uint32_t __get_FPEXC(void) -{ -#if (__FPU_PRESENT == 1) - register uint32_t __regfpexc __ASM("fpexc"); - return(__regfpexc); -#else - return(0); -#endif -} - -/** \brief Set FPEXC (Floating Point Exception Control Register) - \param [in] fpexc Floating Point Exception Control value to set - */ -__STATIC_INLINE void __set_FPEXC(uint32_t fpexc) -{ -#if (__FPU_PRESENT == 1) - register uint32_t __regfpexc __ASM("fpexc"); - __regfpexc = (fpexc); -#endif -} - -/* - * Include common core functions to access Coprocessor 15 registers - */ - -#define __get_CP(cp, op1, Rt, CRn, CRm, op2) do { register volatile uint32_t tmp __ASM("cp" # cp ":" # op1 ":c" # CRn ":c" # CRm ":" # op2); (Rt) = tmp; } while(0) -#define __set_CP(cp, op1, Rt, CRn, CRm, op2) do { register volatile uint32_t tmp __ASM("cp" # cp ":" # op1 ":c" # CRn ":c" # CRm ":" # op2); tmp = (Rt); } while(0) -#define __get_CP64(cp, op1, Rt, CRm) \ - do { \ - uint32_t ltmp, htmp; \ - __ASM volatile("MRRC p" # cp ", " # op1 ", ltmp, htmp, c" # CRm); \ - (Rt) = ((((uint64_t)htmp) << 32U) | ((uint64_t)ltmp)); \ - } while(0) - -#define __set_CP64(cp, op1, Rt, CRm) \ - do { \ - const uint64_t tmp = (Rt); \ - const uint32_t ltmp = (uint32_t)(tmp); \ - const uint32_t htmp = (uint32_t)(tmp >> 32U); \ - __ASM volatile("MCRR p" # cp ", " # op1 ", ltmp, htmp, c" # CRm); \ - } while(0) - -#include "cmsis_cp15.h" - -/** \brief Enable Floating Point Unit - - Critical section, called from undef handler, so systick is disabled - */ -__STATIC_INLINE __ASM void __FPU_Enable(void) -{ - ARM - - //Permit access to VFP/NEON, registers by modifying CPACR - MRC p15,0,R1,c1,c0,2 - ORR R1,R1,#0x00F00000 - MCR p15,0,R1,c1,c0,2 - - //Ensure that subsequent instructions occur in the context of VFP/NEON access permitted - ISB - - //Enable VFP/NEON - VMRS R1,FPEXC - ORR R1,R1,#0x40000000 - VMSR FPEXC,R1 - - //Initialise VFP/NEON registers to 0 - MOV R2,#0 - - //Initialise D16 registers to 0 - VMOV D0, R2,R2 - VMOV D1, R2,R2 - VMOV D2, R2,R2 - VMOV D3, R2,R2 - VMOV D4, R2,R2 - VMOV D5, R2,R2 - VMOV D6, R2,R2 - VMOV D7, R2,R2 - VMOV D8, R2,R2 - VMOV D9, R2,R2 - VMOV D10,R2,R2 - VMOV D11,R2,R2 - VMOV D12,R2,R2 - VMOV D13,R2,R2 - VMOV D14,R2,R2 - VMOV D15,R2,R2 - - IF {TARGET_FEATURE_EXTENSION_REGISTER_COUNT} == 32 - //Initialise D32 registers to 0 - VMOV D16,R2,R2 - VMOV D17,R2,R2 - VMOV D18,R2,R2 - VMOV D19,R2,R2 - VMOV D20,R2,R2 - VMOV D21,R2,R2 - VMOV D22,R2,R2 - VMOV D23,R2,R2 - VMOV D24,R2,R2 - VMOV D25,R2,R2 - VMOV D26,R2,R2 - VMOV D27,R2,R2 - VMOV D28,R2,R2 - VMOV D29,R2,R2 - VMOV D30,R2,R2 - VMOV D31,R2,R2 - ENDIF - - //Initialise FPSCR to a known state - VMRS R1,FPSCR - LDR R2,=0x00086060 //Mask off all bits that do not have to be preserved. Non-preserved bits can/should be zero. - AND R1,R1,R2 - VMSR FPSCR,R1 - - BX LR -} - -#endif /* __CMSIS_ARMCC_H */ diff --git a/external/CMSIS_5/CMSIS/Core_A/Include/cmsis_armclang.h b/external/CMSIS_5/CMSIS/Core_A/Include/cmsis_armclang.h deleted file mode 100644 index 2d5be0f..0000000 --- a/external/CMSIS_5/CMSIS/Core_A/Include/cmsis_armclang.h +++ /dev/null @@ -1,644 +0,0 @@ -/**************************************************************************//** - * @file cmsis_armclang.h - * @brief CMSIS compiler armclang (Arm Compiler 6) header file - * @version V1.2.2 - * @date 13. November 2022 - ******************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __CMSIS_ARMCLANG_H -#define __CMSIS_ARMCLANG_H - -#pragma clang system_header /* treat file as system include file */ - -/* CMSIS compiler specific defines */ -#ifndef __ASM - #define __ASM __asm -#endif -#ifndef __INLINE - #define __INLINE __inline -#endif -#ifndef __FORCEINLINE - #define __FORCEINLINE __attribute__((always_inline)) -#endif -#ifndef __STATIC_INLINE - #define __STATIC_INLINE static __inline -#endif -#ifndef __STATIC_FORCEINLINE - #define __STATIC_FORCEINLINE __attribute__((always_inline)) static __inline -#endif -#ifndef __NO_RETURN - #define __NO_RETURN __attribute__((__noreturn__)) -#endif -#ifndef CMSIS_DEPRECATED - #define CMSIS_DEPRECATED __attribute__((deprecated)) -#endif -#ifndef __USED - #define __USED __attribute__((used)) -#endif -#ifndef __WEAK - #define __WEAK __attribute__((weak)) -#endif -#ifndef __PACKED - #define __PACKED __attribute__((packed, aligned(1))) -#endif -#ifndef __PACKED_STRUCT - #define __PACKED_STRUCT struct __attribute__((packed, aligned(1))) -#endif -#ifndef __UNALIGNED_UINT16_WRITE - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wpacked" -/*lint -esym(9058, T_UINT16_WRITE)*/ /* disable MISRA 2012 Rule 2.4 for T_UINT16_WRITE */ - __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; }; - #pragma clang diagnostic pop - #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))->v) = (val)) -#endif -#ifndef __UNALIGNED_UINT16_READ - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wpacked" -/*lint -esym(9058, T_UINT16_READ)*/ /* disable MISRA 2012 Rule 2.4 for T_UINT16_READ */ - __PACKED_STRUCT T_UINT16_READ { uint16_t v; }; - #pragma clang diagnostic pop - #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(addr))->v) -#endif -#ifndef __UNALIGNED_UINT32_WRITE - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wpacked" -/*lint -esym(9058, T_UINT32_WRITE)*/ /* disable MISRA 2012 Rule 2.4 for T_UINT32_WRITE */ - __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; }; - #pragma clang diagnostic pop - #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))->v) = (val)) -#endif -#ifndef __UNALIGNED_UINT32_READ - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wpacked" - __PACKED_STRUCT T_UINT32_READ { uint32_t v; }; - #pragma clang diagnostic pop - #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(addr))->v) -#endif -#ifndef __ALIGNED - #define __ALIGNED(x) __attribute__((aligned(x))) -#endif -#ifndef __PACKED - #define __PACKED __attribute__((packed)) -#endif -#ifndef __COMPILER_BARRIER - #define __COMPILER_BARRIER() __ASM volatile("":::"memory") -#endif - -/* ########################## Core Instruction Access ######################### */ -/** - \brief No Operation - \details No Operation does nothing. This instruction can be used for code alignment purposes. - */ -#define __NOP __builtin_arm_nop - -/** - \brief Wait For Interrupt - \details Wait For Interrupt is a hint instruction that suspends execution until one of a number of events occurs. - */ -#define __WFI __builtin_arm_wfi - - -/** - \brief Wait For Event - \details Wait For Event is a hint instruction that permits the processor to enter - a low-power state until one of a number of events occurs. - */ -#define __WFE __builtin_arm_wfe - - -/** - \brief Send Event - \details Send Event is a hint instruction. It causes an event to be signaled to the CPU. - */ -#define __SEV __builtin_arm_sev - - -/** - \brief Instruction Synchronization Barrier - \details Instruction Synchronization Barrier flushes the pipeline in the processor, - so that all instructions following the ISB are fetched from cache or memory, - after the instruction has been completed. - */ -#define __ISB() __builtin_arm_isb(0xF) - -/** - \brief Data Synchronization Barrier - \details Acts as a special kind of Data Memory Barrier. - It completes when all explicit memory accesses before this instruction complete. - */ -#define __DSB() __builtin_arm_dsb(0xF) - - -/** - \brief Data Memory Barrier - \details Ensures the apparent order of the explicit memory operations before - and after the instruction, without ensuring their completion. - */ -#define __DMB() __builtin_arm_dmb(0xF) - - -/** - \brief Reverse byte order (32 bit) - \details Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x78563412. - \param [in] value Value to reverse - \return Reversed value - */ -#define __REV(value) __builtin_bswap32(value) - - -/** - \brief Reverse byte order (16 bit) - \details Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes 0x34127856. - \param [in] value Value to reverse - \return Reversed value - */ -#define __REV16(value) __ROR(__REV(value), 16) - - -/** - \brief Reverse byte order (16 bit) - \details Reverses the byte order in a 16-bit value and returns the signed 16-bit result. For example, 0x0080 becomes 0x8000. - \param [in] value Value to reverse - \return Reversed value - */ -#define __REVSH(value) (int16_t)__builtin_bswap16(value) - - -/** - \brief Rotate Right in unsigned value (32 bit) - \details Rotate Right (immediate) provides the value of the contents of a register rotated by a variable number of bits. - \param [in] op1 Value to rotate - \param [in] op2 Number of Bits to rotate - \return Rotated value - */ -__STATIC_FORCEINLINE uint32_t __ROR(uint32_t op1, uint32_t op2) -{ - op2 %= 32U; - if (op2 == 0U) - { - return op1; - } - return (op1 >> op2) | (op1 << (32U - op2)); -} - - -/** - \brief Breakpoint - \details Causes the processor to enter Debug state. - Debug tools can use this to investigate system state when the instruction at a particular address is reached. - \param [in] value is ignored by the processor. - If required, a debugger can use it to store additional information about the breakpoint. - */ -#define __BKPT(value) __ASM volatile ("bkpt "#value) - - -/** - \brief Reverse bit order of value - \details Reverses the bit order of the given value. - \param [in] value Value to reverse - \return Reversed value - */ -#define __RBIT __builtin_arm_rbit - -/** - \brief Count leading zeros - \details Counts the number of leading zeros of a data value. - \param [in] value Value to count the leading zeros - \return number of leading zeros in value - */ -__STATIC_FORCEINLINE uint8_t __CLZ(uint32_t value) -{ - /* Even though __builtin_clz produces a CLZ instruction on ARM, formally - __builtin_clz(0) is undefined behaviour, so handle this case specially. - This guarantees ARM-compatible results if happening to compile on a non-ARM - target, and ensures the compiler doesn't decide to activate any - optimisations using the logic "value was passed to __builtin_clz, so it - is non-zero". - ARM Compiler 6.10 and possibly earlier will optimise this test away, leaving a - single CLZ instruction. - */ - if (value == 0U) - { - return 32U; - } - return __builtin_clz(value); -} - -/** - \brief LDR Exclusive (8 bit) - \details Executes a exclusive LDR instruction for 8 bit value. - \param [in] ptr Pointer to data - \return value of type uint8_t at (*ptr) - */ -#define __LDREXB (uint8_t)__builtin_arm_ldrex - - -/** - \brief LDR Exclusive (16 bit) - \details Executes a exclusive LDR instruction for 16 bit values. - \param [in] ptr Pointer to data - \return value of type uint16_t at (*ptr) - */ -#define __LDREXH (uint16_t)__builtin_arm_ldrex - - -/** - \brief LDR Exclusive (32 bit) - \details Executes a exclusive LDR instruction for 32 bit values. - \param [in] ptr Pointer to data - \return value of type uint32_t at (*ptr) - */ -#define __LDREXW (uint32_t)__builtin_arm_ldrex - - -/** - \brief STR Exclusive (8 bit) - \details Executes a exclusive STR instruction for 8 bit values. - \param [in] value Value to store - \param [in] ptr Pointer to location - \return 0 Function succeeded - \return 1 Function failed - */ -#define __STREXB (uint32_t)__builtin_arm_strex - - -/** - \brief STR Exclusive (16 bit) - \details Executes a exclusive STR instruction for 16 bit values. - \param [in] value Value to store - \param [in] ptr Pointer to location - \return 0 Function succeeded - \return 1 Function failed - */ -#define __STREXH (uint32_t)__builtin_arm_strex - - -/** - \brief STR Exclusive (32 bit) - \details Executes a exclusive STR instruction for 32 bit values. - \param [in] value Value to store - \param [in] ptr Pointer to location - \return 0 Function succeeded - \return 1 Function failed - */ -#define __STREXW (uint32_t)__builtin_arm_strex - - -/** - \brief Remove the exclusive lock - \details Removes the exclusive lock which is created by LDREX. - */ -#define __CLREX __builtin_arm_clrex - -/** - \brief Signed Saturate - \details Saturates a signed value. - \param [in] value Value to be saturated - \param [in] sat Bit position to saturate to (1..32) - \return Saturated value - */ -#define __SSAT __builtin_arm_ssat - - -/** - \brief Unsigned Saturate - \details Saturates an unsigned value. - \param [in] value Value to be saturated - \param [in] sat Bit position to saturate to (0..31) - \return Saturated value - */ -#define __USAT __builtin_arm_usat - -/* ################### Compiler specific Intrinsics ########################### */ -/** \defgroup CMSIS_SIMD_intrinsics CMSIS SIMD Intrinsics - Access to dedicated SIMD instructions - @{ -*/ - -#if (defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1)) - -#define __SADD8 __builtin_arm_sadd8 -#define __SADD16 __builtin_arm_sadd16 -#define __QADD8 __builtin_arm_qadd8 -#define __QSUB8 __builtin_arm_qsub8 -#define __QADD16 __builtin_arm_qadd16 -#define __SHADD16 __builtin_arm_shadd16 -#define __QSUB16 __builtin_arm_qsub16 -#define __SHSUB16 __builtin_arm_shsub16 -#define __QASX __builtin_arm_qasx -#define __SHASX __builtin_arm_shasx -#define __QSAX __builtin_arm_qsax -#define __SHSAX __builtin_arm_shsax -#define __SXTB16 __builtin_arm_sxtb16 -#define __SMUAD __builtin_arm_smuad -#define __SMUADX __builtin_arm_smuadx -#define __SMLAD __builtin_arm_smlad -#define __SMLADX __builtin_arm_smladx -#define __SMLALD __builtin_arm_smlald -#define __SMLALDX __builtin_arm_smlaldx -#define __SMUSD __builtin_arm_smusd -#define __SMUSDX __builtin_arm_smusdx -#define __SMLSDX __builtin_arm_smlsdx -#define __USAT16 __builtin_arm_usat16 -#define __SSUB8 __builtin_arm_ssub8 -#define __SXTB16 __builtin_arm_sxtb16 -#define __SXTAB16 __builtin_arm_sxtab16 - - -__STATIC_FORCEINLINE int32_t __QADD( int32_t op1, int32_t op2) -{ - int32_t result; - - __ASM volatile ("qadd %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__STATIC_FORCEINLINE int32_t __QSUB( int32_t op1, int32_t op2) -{ - int32_t result; - - __ASM volatile ("qsub %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -#define __PKHBT(ARG1,ARG2,ARG3) ( ((((uint32_t)(ARG1)) ) & 0x0000FFFFUL) | \ - ((((uint32_t)(ARG2)) << (ARG3)) & 0xFFFF0000UL) ) - -#define __PKHTB(ARG1,ARG2,ARG3) ( ((((uint32_t)(ARG1)) ) & 0xFFFF0000UL) | \ - ((((uint32_t)(ARG2)) >> (ARG3)) & 0x0000FFFFUL) ) - -__STATIC_FORCEINLINE int32_t __SMMLA (int32_t op1, int32_t op2, int32_t op3) -{ - int32_t result; - - __ASM volatile ("smmla %0, %1, %2, %3" : "=r" (result): "r" (op1), "r" (op2), "r" (op3) ); - return(result); -} - -#endif /* (__ARM_FEATURE_DSP == 1) */ - -/* ########################### Core Function Access ########################### */ - -/** - \brief Enable IRQ Interrupts - \details Enables IRQ interrupts by clearing the I-bit in the CPSR. - Can only be executed in Privileged modes. - */ -__STATIC_FORCEINLINE void __enable_irq(void) -{ - __ASM volatile ("cpsie i" : : : "memory"); -} - -/** - \brief Disable IRQ Interrupts - \details Disables IRQ interrupts by setting the I-bit in the CPSR. - Can only be executed in Privileged modes. - */ -__STATIC_FORCEINLINE void __disable_irq(void) -{ - __ASM volatile ("cpsid i" : : : "memory"); -} - -/** - \brief Enable FIQ - \details Enables FIQ interrupts by clearing special-purpose register FAULTMASK. - Can only be executed in Privileged modes. - */ -__STATIC_FORCEINLINE void __enable_fault_irq(void) -{ - __ASM volatile ("cpsie f" : : : "memory"); -} - - -/** - \brief Disable FIQ - \details Disables FIQ interrupts by setting special-purpose register FAULTMASK. - Can only be executed in Privileged modes. - */ -__STATIC_FORCEINLINE void __disable_fault_irq(void) -{ - __ASM volatile ("cpsid f" : : : "memory"); -} - -/** - \brief Get FPSCR - \details Returns the current value of the Floating Point Status/Control register. - \return Floating Point Status/Control register value - */ -#define __get_FPSCR __builtin_arm_get_fpscr - -/** - \brief Set FPSCR - \details Assigns the given value to the Floating Point Status/Control register. - \param [in] fpscr Floating Point Status/Control value to set - */ -#define __set_FPSCR __builtin_arm_set_fpscr - -/** \brief Get CPSR Register - \return CPSR Register value - */ -__STATIC_FORCEINLINE uint32_t __get_CPSR(void) -{ - uint32_t result; - __ASM volatile("MRS %0, cpsr" : "=r" (result) ); - return(result); -} - -/** \brief Set CPSR Register - \param [in] cpsr CPSR value to set - */ -__STATIC_FORCEINLINE void __set_CPSR(uint32_t cpsr) -{ - __ASM volatile ("MSR cpsr, %0" : : "r" (cpsr) : "cc", "memory"); -} - -/** \brief Get Mode - \return Processor Mode - */ -__STATIC_FORCEINLINE uint32_t __get_mode(void) -{ - return (__get_CPSR() & 0x1FU); -} - -/** \brief Set Mode - \param [in] mode Mode value to set - */ -__STATIC_FORCEINLINE void __set_mode(uint32_t mode) -{ - __ASM volatile("MSR cpsr_c, %0" : : "r" (mode) : "memory"); -} - -/** \brief Get Stack Pointer - \return Stack Pointer value - */ -__STATIC_FORCEINLINE uint32_t __get_SP(void) -{ - uint32_t result; - __ASM volatile("MOV %0, sp" : "=r" (result) : : "memory"); - return result; -} - -/** \brief Set Stack Pointer - \param [in] stack Stack Pointer value to set - */ -__STATIC_FORCEINLINE void __set_SP(uint32_t stack) -{ - __ASM volatile("MOV sp, %0" : : "r" (stack) : "memory"); -} - -/** \brief Get USR/SYS Stack Pointer - \return USR/SYS Stack Pointer value - */ -__STATIC_FORCEINLINE uint32_t __get_SP_usr(void) -{ - uint32_t cpsr; - uint32_t result; - __ASM volatile( - "MRS %0, cpsr \n" - "CPS #0x1F \n" // no effect in USR mode - "MOV %1, sp \n" - "MSR cpsr_c, %0 \n" // no effect in USR mode - "ISB" : "=r"(cpsr), "=r"(result) : : "memory" - ); - return result; -} - -/** \brief Set USR/SYS Stack Pointer - \param [in] topOfProcStack USR/SYS Stack Pointer value to set - */ -__STATIC_FORCEINLINE void __set_SP_usr(uint32_t topOfProcStack) -{ - uint32_t cpsr; - __ASM volatile( - "MRS %0, cpsr \n" - "CPS #0x1F \n" // no effect in USR mode - "MOV sp, %1 \n" - "MSR cpsr_c, %0 \n" // no effect in USR mode - "ISB" : "=r"(cpsr) : "r" (topOfProcStack) : "memory" - ); -} - -/** \brief Get FPEXC - \return Floating Point Exception Control register value - */ -__STATIC_FORCEINLINE uint32_t __get_FPEXC(void) -{ -#if (__FPU_PRESENT == 1) - uint32_t result; - __ASM volatile("VMRS %0, fpexc" : "=r" (result) : : "memory"); - return(result); -#else - return(0); -#endif -} - -/** \brief Set FPEXC - \param [in] fpexc Floating Point Exception Control value to set - */ -__STATIC_FORCEINLINE void __set_FPEXC(uint32_t fpexc) -{ -#if (__FPU_PRESENT == 1) - __ASM volatile ("VMSR fpexc, %0" : : "r" (fpexc) : "memory"); -#endif -} - -/* - * Include common core functions to access Coprocessor 15 registers - */ - -#define __get_CP(cp, op1, Rt, CRn, CRm, op2) __ASM volatile("MRC p" # cp ", " # op1 ", %0, c" # CRn ", c" # CRm ", " # op2 : "=r" (Rt) : : "memory" ) -#define __set_CP(cp, op1, Rt, CRn, CRm, op2) __ASM volatile("MCR p" # cp ", " # op1 ", %0, c" # CRn ", c" # CRm ", " # op2 : : "r" (Rt) : "memory" ) -#define __get_CP64(cp, op1, Rt, CRm) __ASM volatile("MRRC p" # cp ", " # op1 ", %Q0, %R0, c" # CRm : "=r" (Rt) : : "memory" ) -#define __set_CP64(cp, op1, Rt, CRm) __ASM volatile("MCRR p" # cp ", " # op1 ", %Q0, %R0, c" # CRm : : "r" (Rt) : "memory" ) - -#include "cmsis_cp15.h" - -/** \brief Enable Floating Point Unit - - Critical section, called from undef handler, so systick is disabled - */ -__STATIC_INLINE void __FPU_Enable(void) -{ - __ASM volatile( - //Permit access to VFP/NEON, registers by modifying CPACR - " MRC p15,0,R1,c1,c0,2 \n" - " ORR R1,R1,#0x00F00000 \n" - " MCR p15,0,R1,c1,c0,2 \n" - - //Ensure that subsequent instructions occur in the context of VFP/NEON access permitted - " ISB \n" - - //Enable VFP/NEON - " VMRS R1,FPEXC \n" - " ORR R1,R1,#0x40000000 \n" - " VMSR FPEXC,R1 \n" - - //Initialise VFP/NEON registers to 0 - " MOV R2,#0 \n" - - //Initialise D16 registers to 0 - " VMOV D0, R2,R2 \n" - " VMOV D1, R2,R2 \n" - " VMOV D2, R2,R2 \n" - " VMOV D3, R2,R2 \n" - " VMOV D4, R2,R2 \n" - " VMOV D5, R2,R2 \n" - " VMOV D6, R2,R2 \n" - " VMOV D7, R2,R2 \n" - " VMOV D8, R2,R2 \n" - " VMOV D9, R2,R2 \n" - " VMOV D10,R2,R2 \n" - " VMOV D11,R2,R2 \n" - " VMOV D12,R2,R2 \n" - " VMOV D13,R2,R2 \n" - " VMOV D14,R2,R2 \n" - " VMOV D15,R2,R2 \n" - -#if (defined(__ARM_NEON) && (__ARM_NEON == 1)) - //Initialise D32 registers to 0 - " VMOV D16,R2,R2 \n" - " VMOV D17,R2,R2 \n" - " VMOV D18,R2,R2 \n" - " VMOV D19,R2,R2 \n" - " VMOV D20,R2,R2 \n" - " VMOV D21,R2,R2 \n" - " VMOV D22,R2,R2 \n" - " VMOV D23,R2,R2 \n" - " VMOV D24,R2,R2 \n" - " VMOV D25,R2,R2 \n" - " VMOV D26,R2,R2 \n" - " VMOV D27,R2,R2 \n" - " VMOV D28,R2,R2 \n" - " VMOV D29,R2,R2 \n" - " VMOV D30,R2,R2 \n" - " VMOV D31,R2,R2 \n" -#endif - - //Initialise FPSCR to a known state - " VMRS R1,FPSCR \n" - " LDR R2,=0x00086060 \n" //Mask off all bits that do not have to be preserved. Non-preserved bits can/should be zero. - " AND R1,R1,R2 \n" - " VMSR FPSCR,R1 " - : : : "cc", "r1", "r2" - ); -} - -#endif /* __CMSIS_ARMCLANG_H */ diff --git a/external/CMSIS_5/CMSIS/Core_A/Include/cmsis_compiler.h b/external/CMSIS_5/CMSIS/Core_A/Include/cmsis_compiler.h deleted file mode 100644 index 3adf602..0000000 --- a/external/CMSIS_5/CMSIS/Core_A/Include/cmsis_compiler.h +++ /dev/null @@ -1,245 +0,0 @@ -/**************************************************************************//** - * @file cmsis_compiler.h - * @brief CMSIS compiler specific macros, functions, instructions - * @version V1.0.3 - * @date 13. November 2022 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __CMSIS_COMPILER_H -#define __CMSIS_COMPILER_H - -#include - -/* - * Arm Compiler 4/5 - */ -#if defined ( __CC_ARM ) - #include "cmsis_armcc.h" - - -/* - * Arm Compiler 6.6 LTM (armclang) - */ -#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) && (__ARMCC_VERSION < 6100100) - #include "cmsis_armclang_ltm.h" - - /* - * Arm Compiler above 6.10.1 (armclang) - */ -#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6100100) - #include "cmsis_armclang.h" - - -/* - * GNU Compiler - */ -#elif defined ( __GNUC__ ) - #include "cmsis_gcc.h" - - -/* - * IAR Compiler - */ -#elif defined ( __ICCARM__ ) - #include - - -/* - * TI Arm Compiler - */ -#elif defined ( __TI_ARM__ ) - #include - - #ifndef __ASM - #define __ASM __asm - #endif - #ifndef __INLINE - #define __INLINE inline - #endif - #ifndef __STATIC_INLINE - #define __STATIC_INLINE static inline - #endif - #ifndef __STATIC_FORCEINLINE - #define __STATIC_FORCEINLINE __STATIC_INLINE - #endif - #ifndef __NO_RETURN - #define __NO_RETURN __attribute__((noreturn)) - #endif - #ifndef CMSIS_DEPRECATED - #define CMSIS_DEPRECATED __attribute__((deprecated)) - #endif - #ifndef __USED - #define __USED __attribute__((used)) - #endif - #ifndef __WEAK - #define __WEAK __attribute__((weak)) - #endif - #ifndef __PACKED - #define __PACKED __attribute__((packed)) - #endif - #ifndef __PACKED_STRUCT - #define __PACKED_STRUCT struct __attribute__((packed)) - #endif - #ifndef __PACKED_UNION - #define __PACKED_UNION union __attribute__((packed)) - #endif - #ifndef __UNALIGNED_UINT32 /* deprecated */ - struct __attribute__((packed)) T_UINT32 { uint32_t v; }; - #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v) - #endif - #ifndef __ALIGNED - #define __ALIGNED(x) __attribute__((aligned(x))) - #endif - #ifndef __RESTRICT - #define __RESTRICT __restrict - #endif - #ifndef __COMPILER_BARRIER - #warning No compiler specific solution for __COMPILER_BARRIER. __COMPILER_BARRIER is ignored. - #define __COMPILER_BARRIER() (void)0 - #endif - - -/* - * TASKING Compiler - */ -#elif defined ( __TASKING__ ) - /* - * The CMSIS functions have been implemented as intrinsics in the compiler. - * Please use "carm -?i" to get an up to date list of all intrinsics, - * Including the CMSIS ones. - */ - - #ifndef __ASM - #define __ASM __asm - #endif - #ifndef __INLINE - #define __INLINE inline - #endif - #ifndef __STATIC_INLINE - #define __STATIC_INLINE static inline - #endif - #ifndef __STATIC_FORCEINLINE - #define __STATIC_FORCEINLINE __STATIC_INLINE - #endif - #ifndef __NO_RETURN - #define __NO_RETURN __attribute__((noreturn)) - #endif - #ifndef CMSIS_DEPRECATED - #define CMSIS_DEPRECATED __attribute__((deprecated)) - #endif - #ifndef __USED - #define __USED __attribute__((used)) - #endif - #ifndef __WEAK - #define __WEAK __attribute__((weak)) - #endif - #ifndef __PACKED - #define __PACKED __packed__ - #endif - #ifndef __PACKED_STRUCT - #define __PACKED_STRUCT struct __packed__ - #endif - #ifndef __PACKED_UNION - #define __PACKED_UNION union __packed__ - #endif - #ifndef __UNALIGNED_UINT32 /* deprecated */ - struct __packed__ T_UINT32 { uint32_t v; }; - #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v) - #endif - #ifndef __ALIGNED - #define __ALIGNED(x) __align(x) - #endif - #ifndef __RESTRICT - #warning No compiler specific solution for __RESTRICT. __RESTRICT is ignored. - #define __RESTRICT - #endif - #ifndef __COMPILER_BARRIER - #warning No compiler specific solution for __COMPILER_BARRIER. __COMPILER_BARRIER is ignored. - #define __COMPILER_BARRIER() (void)0 - #endif - - -/* - * COSMIC Compiler - */ -#elif defined ( __CSMC__ ) - #include - - #ifndef __ASM - #define __ASM _asm - #endif - #ifndef __INLINE - #define __INLINE inline - #endif - #ifndef __STATIC_INLINE - #define __STATIC_INLINE static inline - #endif - #ifndef __STATIC_FORCEINLINE - #define __STATIC_FORCEINLINE __STATIC_INLINE - #endif - #ifndef __NO_RETURN - // NO RETURN is automatically detected hence no warning here - #define __NO_RETURN - #endif - #ifndef __USED - #warning No compiler specific solution for __USED. __USED is ignored. - #define __USED - #endif - #ifndef CMSIS_DEPRECATED - #warning No compiler specific solution for CMSIS_DEPRECATED. CMSIS_DEPRECATED is ignored. - #define CMSIS_DEPRECATED - #endif - #ifndef __WEAK - #define __WEAK __weak - #endif - #ifndef __PACKED - #define __PACKED @packed - #endif - #ifndef __PACKED_STRUCT - #define __PACKED_STRUCT @packed struct - #endif - #ifndef __PACKED_UNION - #define __PACKED_UNION @packed union - #endif - #ifndef __UNALIGNED_UINT32 /* deprecated */ - @packed struct T_UINT32 { uint32_t v; }; - #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v) - #endif - #ifndef __ALIGNED - #warning No compiler specific solution for __ALIGNED. __ALIGNED is ignored. - #define __ALIGNED(x) - #endif - #ifndef __RESTRICT - #warning No compiler specific solution for __RESTRICT. __RESTRICT is ignored. - #define __RESTRICT - #endif - #ifndef __COMPILER_BARRIER - #warning No compiler specific solution for __COMPILER_BARRIER. __COMPILER_BARRIER is ignored. - #define __COMPILER_BARRIER() (void)0 - #endif - - -#else - #error Unknown compiler. -#endif - - -#endif /* __CMSIS_COMPILER_H */ - diff --git a/external/CMSIS_5/CMSIS/Core_A/Include/cmsis_cp15.h b/external/CMSIS_5/CMSIS/Core_A/Include/cmsis_cp15.h deleted file mode 100644 index 9d53001..0000000 --- a/external/CMSIS_5/CMSIS/Core_A/Include/cmsis_cp15.h +++ /dev/null @@ -1,523 +0,0 @@ -/**************************************************************************//** - * @file cmsis_cp15.h - * @brief CMSIS compiler specific macros, functions, instructions - * @version V1.0.2 - * @date 19. December 2022 - ******************************************************************************/ -/* - * Copyright (c) 2009-2017 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined ( __ICCARM__ ) - #pragma system_include /* treat file as system include file for MISRA check */ -#elif defined (__clang__) - #pragma clang system_header /* treat file as system include file */ -#endif - -#ifndef __CMSIS_CP15_H -#define __CMSIS_CP15_H - -/** \brief Get ACTLR - \return Auxiliary Control register value - */ -__STATIC_FORCEINLINE uint32_t __get_ACTLR(void) -{ - uint32_t result; - __get_CP(15, 0, result, 1, 0, 1); - return(result); -} - -/** \brief Set ACTLR - \param [in] actlr Auxiliary Control value to set - */ -__STATIC_FORCEINLINE void __set_ACTLR(uint32_t actlr) -{ - __set_CP(15, 0, actlr, 1, 0, 1); -} - -/** \brief Get CPACR - \return Coprocessor Access Control register value - */ -__STATIC_FORCEINLINE uint32_t __get_CPACR(void) -{ - uint32_t result; - __get_CP(15, 0, result, 1, 0, 2); - return result; -} - -/** \brief Set CPACR - \param [in] cpacr Coprocessor Access Control value to set - */ -__STATIC_FORCEINLINE void __set_CPACR(uint32_t cpacr) -{ - __set_CP(15, 0, cpacr, 1, 0, 2); -} - -/** \brief Get DFSR - \return Data Fault Status Register value - */ -__STATIC_FORCEINLINE uint32_t __get_DFSR(void) -{ - uint32_t result; - __get_CP(15, 0, result, 5, 0, 0); - return result; -} - -/** \brief Set DFSR - \param [in] dfsr Data Fault Status value to set - */ -__STATIC_FORCEINLINE void __set_DFSR(uint32_t dfsr) -{ - __set_CP(15, 0, dfsr, 5, 0, 0); -} - -/** \brief Get IFSR - \return Instruction Fault Status Register value - */ -__STATIC_FORCEINLINE uint32_t __get_IFSR(void) -{ - uint32_t result; - __get_CP(15, 0, result, 5, 0, 1); - return result; -} - -/** \brief Set IFSR - \param [in] ifsr Instruction Fault Status value to set - */ -__STATIC_FORCEINLINE void __set_IFSR(uint32_t ifsr) -{ - __set_CP(15, 0, ifsr, 5, 0, 1); -} - -/** \brief Get ISR - \return Interrupt Status Register value - */ -__STATIC_FORCEINLINE uint32_t __get_ISR(void) -{ - uint32_t result; - __get_CP(15, 0, result, 12, 1, 0); - return result; -} - -/** \brief Get CBAR - \return Configuration Base Address register value - */ -__STATIC_FORCEINLINE uint32_t __get_CBAR(void) -{ - uint32_t result; - __get_CP(15, 4, result, 15, 0, 0); - return result; -} - -/** \brief Get TTBR0 - - This function returns the value of the Translation Table Base Register 0. - - \return Translation Table Base Register 0 value - */ -__STATIC_FORCEINLINE uint32_t __get_TTBR0(void) -{ - uint32_t result; - __get_CP(15, 0, result, 2, 0, 0); - return result; -} - -/** \brief Set TTBR0 - - This function assigns the given value to the Translation Table Base Register 0. - - \param [in] ttbr0 Translation Table Base Register 0 value to set - */ -__STATIC_FORCEINLINE void __set_TTBR0(uint32_t ttbr0) -{ - __set_CP(15, 0, ttbr0, 2, 0, 0); -} - -/** \brief Get DACR - - This function returns the value of the Domain Access Control Register. - - \return Domain Access Control Register value - */ -__STATIC_FORCEINLINE uint32_t __get_DACR(void) -{ - uint32_t result; - __get_CP(15, 0, result, 3, 0, 0); - return result; -} - -/** \brief Set DACR - - This function assigns the given value to the Domain Access Control Register. - - \param [in] dacr Domain Access Control Register value to set - */ -__STATIC_FORCEINLINE void __set_DACR(uint32_t dacr) -{ - __set_CP(15, 0, dacr, 3, 0, 0); -} - -/** \brief Set SCTLR - - This function assigns the given value to the System Control Register. - - \param [in] sctlr System Control Register value to set - */ -__STATIC_FORCEINLINE void __set_SCTLR(uint32_t sctlr) -{ - __set_CP(15, 0, sctlr, 1, 0, 0); -} - -/** \brief Get SCTLR - \return System Control Register value - */ -__STATIC_FORCEINLINE uint32_t __get_SCTLR(void) -{ - uint32_t result; - __get_CP(15, 0, result, 1, 0, 0); - return result; -} - -/** \brief Set ACTRL - \param [in] actrl Auxiliary Control Register value to set - */ -__STATIC_FORCEINLINE void __set_ACTRL(uint32_t actrl) -{ - __set_CP(15, 0, actrl, 1, 0, 1); -} - -/** \brief Get ACTRL - \return Auxiliary Control Register value - */ -__STATIC_FORCEINLINE uint32_t __get_ACTRL(void) -{ - uint32_t result; - __get_CP(15, 0, result, 1, 0, 1); - return result; -} - -/** \brief Get MPIDR - - This function returns the value of the Multiprocessor Affinity Register. - - \return Multiprocessor Affinity Register value - */ -__STATIC_FORCEINLINE uint32_t __get_MPIDR(void) -{ - uint32_t result; - __get_CP(15, 0, result, 0, 0, 5); - return result; -} - -/** \brief Get VBAR - - This function returns the value of the Vector Base Address Register. - - \return Vector Base Address Register - */ -__STATIC_FORCEINLINE uint32_t __get_VBAR(void) -{ - uint32_t result; - __get_CP(15, 0, result, 12, 0, 0); - return result; -} - -/** \brief Set VBAR - - This function assigns the given value to the Vector Base Address Register. - - \param [in] vbar Vector Base Address Register value to set - */ -__STATIC_FORCEINLINE void __set_VBAR(uint32_t vbar) -{ - __set_CP(15, 0, vbar, 12, 0, 0); -} - -/** \brief Get MVBAR - - This function returns the value of the Monitor Vector Base Address Register. - - \return Monitor Vector Base Address Register - */ -__STATIC_FORCEINLINE uint32_t __get_MVBAR(void) -{ - uint32_t result; - __get_CP(15, 0, result, 12, 0, 1); - return result; -} - -/** \brief Set MVBAR - - This function assigns the given value to the Monitor Vector Base Address Register. - - \param [in] mvbar Monitor Vector Base Address Register value to set - */ -__STATIC_FORCEINLINE void __set_MVBAR(uint32_t mvbar) -{ - __set_CP(15, 0, mvbar, 12, 0, 1); -} - -#if (defined(__CORTEX_A) && (__CORTEX_A == 7U) && \ - defined(__TIM_PRESENT) && (__TIM_PRESENT == 1U)) || \ - defined(DOXYGEN) - -/** \brief Set CNTFRQ - - This function assigns the given value to PL1 Physical Timer Counter Frequency Register (CNTFRQ). - - \param [in] value CNTFRQ Register value to set -*/ -__STATIC_FORCEINLINE void __set_CNTFRQ(uint32_t value) -{ - __set_CP(15, 0, value, 14, 0, 0); -} - -/** \brief Get CNTFRQ - - This function returns the value of the PL1 Physical Timer Counter Frequency Register (CNTFRQ). - - \return CNTFRQ Register value - */ -__STATIC_FORCEINLINE uint32_t __get_CNTFRQ(void) -{ - uint32_t result; - __get_CP(15, 0, result, 14, 0 , 0); - return result; -} - -/** \brief Set CNTP_TVAL - - This function assigns the given value to PL1 Physical Timer Value Register (CNTP_TVAL). - - \param [in] value CNTP_TVAL Register value to set -*/ -__STATIC_FORCEINLINE void __set_CNTP_TVAL(uint32_t value) -{ - __set_CP(15, 0, value, 14, 2, 0); -} - -/** \brief Get CNTP_TVAL - - This function returns the value of the PL1 Physical Timer Value Register (CNTP_TVAL). - - \return CNTP_TVAL Register value - */ -__STATIC_FORCEINLINE uint32_t __get_CNTP_TVAL(void) -{ - uint32_t result; - __get_CP(15, 0, result, 14, 2, 0); - return result; -} - -/** \brief Get CNTPCT - - This function returns the value of the 64 bits PL1 Physical Count Register (CNTPCT). - - \return CNTPCT Register value - */ -__STATIC_FORCEINLINE uint64_t __get_CNTPCT(void) -{ - uint64_t result; - __get_CP64(15, 0, result, 14); - return result; -} - -/** \brief Set CNTP_CVAL - - This function assigns the given value to 64bits PL1 Physical Timer CompareValue Register (CNTP_CVAL). - - \param [in] value CNTP_CVAL Register value to set -*/ -__STATIC_FORCEINLINE void __set_CNTP_CVAL(uint64_t value) -{ - __set_CP64(15, 2, value, 14); -} - -/** \brief Get CNTP_CVAL - - This function returns the value of the 64 bits PL1 Physical Timer CompareValue Register (CNTP_CVAL). - - \return CNTP_CVAL Register value - */ -__STATIC_FORCEINLINE uint64_t __get_CNTP_CVAL(void) -{ - uint64_t result; - __get_CP64(15, 2, result, 14); - return result; -} - -/** \brief Set CNTP_CTL - - This function assigns the given value to PL1 Physical Timer Control Register (CNTP_CTL). - - \param [in] value CNTP_CTL Register value to set -*/ -__STATIC_FORCEINLINE void __set_CNTP_CTL(uint32_t value) -{ - __set_CP(15, 0, value, 14, 2, 1); -} - -/** \brief Get CNTP_CTL register - \return CNTP_CTL Register value - */ -__STATIC_FORCEINLINE uint32_t __get_CNTP_CTL(void) -{ - uint32_t result; - __get_CP(15, 0, result, 14, 2, 1); - return result; -} - -#endif - -/** \brief Set TLBIALL - - TLB Invalidate All - */ -__STATIC_FORCEINLINE void __set_TLBIALL(uint32_t value) -{ - __set_CP(15, 0, value, 8, 7, 0); -} - -/** \brief Set BPIALL. - - Branch Predictor Invalidate All - */ -__STATIC_FORCEINLINE void __set_BPIALL(uint32_t value) -{ - __set_CP(15, 0, value, 7, 5, 6); -} - -/** \brief Set ICIALLU - - Instruction Cache Invalidate All - */ -__STATIC_FORCEINLINE void __set_ICIALLU(uint32_t value) -{ - __set_CP(15, 0, value, 7, 5, 0); -} - -/** \brief Set ICIMVAC - - Instruction Cache Invalidate - */ -__STATIC_FORCEINLINE void __set_ICIMVAC(uint32_t value) -{ - __set_CP(15, 0, value, 7, 5, 1); -} - -/** \brief Set DCCMVAC - - Data cache clean - */ -__STATIC_FORCEINLINE void __set_DCCMVAC(uint32_t value) -{ - __set_CP(15, 0, value, 7, 10, 1); -} - -/** \brief Set DCIMVAC - - Data cache invalidate - */ -__STATIC_FORCEINLINE void __set_DCIMVAC(uint32_t value) -{ - __set_CP(15, 0, value, 7, 6, 1); -} - -/** \brief Set DCCIMVAC - - Data cache clean and invalidate - */ -__STATIC_FORCEINLINE void __set_DCCIMVAC(uint32_t value) -{ - __set_CP(15, 0, value, 7, 14, 1); -} - -/** \brief Set CSSELR - */ -__STATIC_FORCEINLINE void __set_CSSELR(uint32_t value) -{ -// __ASM volatile("MCR p15, 2, %0, c0, c0, 0" : : "r"(value) : "memory"); - __set_CP(15, 2, value, 0, 0, 0); -} - -/** \brief Get CSSELR - \return CSSELR Register value - */ -__STATIC_FORCEINLINE uint32_t __get_CSSELR(void) -{ - uint32_t result; -// __ASM volatile("MRC p15, 2, %0, c0, c0, 0" : "=r"(result) : : "memory"); - __get_CP(15, 2, result, 0, 0, 0); - return result; -} - -/** \brief Set CCSIDR - \deprecated CCSIDR itself is read-only. Use __set_CSSELR to select cache level instead. - */ -CMSIS_DEPRECATED -__STATIC_FORCEINLINE void __set_CCSIDR(uint32_t value) -{ - __set_CSSELR(value); -} - -/** \brief Get CCSIDR - \return CCSIDR Register value - */ -__STATIC_FORCEINLINE uint32_t __get_CCSIDR(void) -{ - uint32_t result; -// __ASM volatile("MRC p15, 1, %0, c0, c0, 0" : "=r"(result) : : "memory"); - __get_CP(15, 1, result, 0, 0, 0); - return result; -} - -/** \brief Get CLIDR - \return CLIDR Register value - */ -__STATIC_FORCEINLINE uint32_t __get_CLIDR(void) -{ - uint32_t result; -// __ASM volatile("MRC p15, 1, %0, c0, c0, 1" : "=r"(result) : : "memory"); - __get_CP(15, 1, result, 0, 0, 1); - return result; -} - -/** \brief Set DCISW - */ -__STATIC_FORCEINLINE void __set_DCISW(uint32_t value) -{ -// __ASM volatile("MCR p15, 0, %0, c7, c6, 2" : : "r"(value) : "memory") - __set_CP(15, 0, value, 7, 6, 2); -} - -/** \brief Set DCCSW - */ -__STATIC_FORCEINLINE void __set_DCCSW(uint32_t value) -{ -// __ASM volatile("MCR p15, 0, %0, c7, c10, 2" : : "r"(value) : "memory") - __set_CP(15, 0, value, 7, 10, 2); -} - -/** \brief Set DCCISW - */ -__STATIC_FORCEINLINE void __set_DCCISW(uint32_t value) -{ -// __ASM volatile("MCR p15, 0, %0, c7, c14, 2" : : "r"(value) : "memory") - __set_CP(15, 0, value, 7, 14, 2); -} - -#endif diff --git a/external/CMSIS_5/CMSIS/Core_A/Include/cmsis_gcc.h b/external/CMSIS_5/CMSIS/Core_A/Include/cmsis_gcc.h deleted file mode 100644 index ef5145b..0000000 --- a/external/CMSIS_5/CMSIS/Core_A/Include/cmsis_gcc.h +++ /dev/null @@ -1,966 +0,0 @@ -/**************************************************************************//** - * @file cmsis_gcc.h - * @brief CMSIS compiler GCC header file - * @version V1.3.3 - * @date 13. November 2022 - ******************************************************************************/ -/* - * Copyright (c) 2009-2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __CMSIS_GCC_H -#define __CMSIS_GCC_H - -/* ignore some GCC warnings */ -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wsign-conversion" -#pragma GCC diagnostic ignored "-Wconversion" -#pragma GCC diagnostic ignored "-Wunused-parameter" - -/* Fallback for __has_builtin */ -#ifndef __has_builtin - #define __has_builtin(x) (0) -#endif - -/* CMSIS compiler specific defines */ -#ifndef __ASM - #define __ASM __asm -#endif -#ifndef __INLINE - #define __INLINE inline -#endif -#ifndef __FORCEINLINE - #define __FORCEINLINE __attribute__((always_inline)) -#endif -#ifndef __STATIC_INLINE - #define __STATIC_INLINE static inline -#endif -#ifndef __STATIC_FORCEINLINE - #define __STATIC_FORCEINLINE __attribute__((always_inline)) static inline -#endif -#ifndef __NO_RETURN - #define __NO_RETURN __attribute__((__noreturn__)) -#endif -#ifndef CMSIS_DEPRECATED - #define CMSIS_DEPRECATED __attribute__((deprecated)) -#endif -#ifndef __USED - #define __USED __attribute__((used)) -#endif -#ifndef __WEAK - #define __WEAK __attribute__((weak)) -#endif -#ifndef __PACKED - #define __PACKED __attribute__((packed, aligned(1))) -#endif -#ifndef __PACKED_STRUCT - #define __PACKED_STRUCT struct __attribute__((packed, aligned(1))) -#endif -#ifndef __UNALIGNED_UINT16_WRITE - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wpacked" - #pragma GCC diagnostic ignored "-Wattributes" - __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; }; - #pragma GCC diagnostic pop - #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))->v) = (val)) -#endif -#ifndef __UNALIGNED_UINT16_READ - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wpacked" - #pragma GCC diagnostic ignored "-Wattributes" - __PACKED_STRUCT T_UINT16_READ { uint16_t v; }; - #pragma GCC diagnostic pop - #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(addr))->v) -#endif -#ifndef __UNALIGNED_UINT32_WRITE - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wpacked" - #pragma GCC diagnostic ignored "-Wattributes" - __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; }; - #pragma GCC diagnostic pop - #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))->v) = (val)) -#endif -#ifndef __UNALIGNED_UINT32_READ - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wpacked" - #pragma GCC diagnostic ignored "-Wattributes" - __PACKED_STRUCT T_UINT32_READ { uint32_t v; }; - #pragma GCC diagnostic pop - #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(addr))->v) -#endif -#ifndef __ALIGNED - #define __ALIGNED(x) __attribute__((aligned(x))) -#endif -#ifndef __RESTRICT - #define __RESTRICT __restrict -#endif -#ifndef __COMPILER_BARRIER - #define __COMPILER_BARRIER() __ASM volatile("":::"memory") -#endif - - -/* ########################## Core Instruction Access ######################### */ -/** - \brief No Operation - \details No Operation does nothing. This instruction can be used for code alignment purposes. - */ -#define __NOP() __ASM volatile ("nop") - -/** - \brief Wait For Interrupt - \details Wait For Interrupt is a hint instruction that suspends execution until one of a number of events occurs. - */ -#define __WFI() __ASM volatile ("wfi":::"memory") - - -/** - \brief Wait For Event - \details Wait For Event is a hint instruction that permits the processor to enter - a low-power state until one of a number of events occurs. - */ -#define __WFE() __ASM volatile ("wfe":::"memory") - - -/** - \brief Send Event - \details Send Event is a hint instruction. It causes an event to be signaled to the CPU. - */ -#define __SEV() __ASM volatile ("sev") - - -/** - \brief Instruction Synchronization Barrier - \details Instruction Synchronization Barrier flushes the pipeline in the processor, - so that all instructions following the ISB are fetched from cache or memory, - after the instruction has been completed. - */ -__STATIC_FORCEINLINE void __ISB(void) -{ - __ASM volatile ("isb 0xF":::"memory"); -} - - -/** - \brief Data Synchronization Barrier - \details Acts as a special kind of Data Memory Barrier. - It completes when all explicit memory accesses before this instruction complete. - */ -__STATIC_FORCEINLINE void __DSB(void) -{ - __ASM volatile ("dsb 0xF":::"memory"); -} - - -/** - \brief Data Memory Barrier - \details Ensures the apparent order of the explicit memory operations before - and after the instruction, without ensuring their completion. - */ -__STATIC_FORCEINLINE void __DMB(void) -{ - __ASM volatile ("dmb 0xF":::"memory"); -} - - -/** - \brief Reverse byte order (32 bit) - \details Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x78563412. - \param [in] value Value to reverse - \return Reversed value - */ -__STATIC_FORCEINLINE uint32_t __REV(uint32_t value) -{ -#if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) - return __builtin_bswap32(value); -#else - uint32_t result; - - __ASM ("rev %0, %1" : "=r" (result) : "r" (value) ); - return result; -#endif -} - - -/** - \brief Reverse byte order (16 bit) - \details Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes 0x34127856. - \param [in] value Value to reverse - \return Reversed value - */ -__STATIC_FORCEINLINE uint32_t __REV16(uint32_t value) -{ - uint32_t result; - __ASM ("rev16 %0, %1" : "=r" (result) : "r" (value)); - return result; -} - - -/** - \brief Reverse byte order (16 bit) - \details Reverses the byte order in a 16-bit value and returns the signed 16-bit result. For example, 0x0080 becomes 0x8000. - \param [in] value Value to reverse - \return Reversed value - */ -__STATIC_FORCEINLINE int16_t __REVSH(int16_t value) -{ -#if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) - return (int16_t)__builtin_bswap16(value); -#else - int16_t result; - - __ASM ("revsh %0, %1" : "=r" (result) : "r" (value) ); - return result; -#endif -} - - -/** - \brief Rotate Right in unsigned value (32 bit) - \details Rotate Right (immediate) provides the value of the contents of a register rotated by a variable number of bits. - \param [in] op1 Value to rotate - \param [in] op2 Number of Bits to rotate - \return Rotated value - */ -__STATIC_FORCEINLINE uint32_t __ROR(uint32_t op1, uint32_t op2) -{ - op2 %= 32U; - if (op2 == 0U) - { - return op1; - } - return (op1 >> op2) | (op1 << (32U - op2)); -} - - -/** - \brief Breakpoint - \details Causes the processor to enter Debug state. - Debug tools can use this to investigate system state when the instruction at a particular address is reached. - \param [in] value is ignored by the processor. - If required, a debugger can use it to store additional information about the breakpoint. - */ -#define __BKPT(value) __ASM volatile ("bkpt "#value) - - -/** - \brief Reverse bit order of value - \details Reverses the bit order of the given value. - \param [in] value Value to reverse - \return Reversed value - */ -__STATIC_FORCEINLINE uint32_t __RBIT(uint32_t value) -{ - uint32_t result; - __ASM ("rbit %0, %1" : "=r" (result) : "r" (value) ); - return result; -} - - -/** - \brief Count leading zeros - \details Counts the number of leading zeros of a data value. - \param [in] value Value to count the leading zeros - \return number of leading zeros in value - */ -__STATIC_FORCEINLINE uint8_t __CLZ(uint32_t value) -{ - /* Even though __builtin_clz produces a CLZ instruction on ARM, formally - __builtin_clz(0) is undefined behaviour, so handle this case specially. - This guarantees ARM-compatible results if happening to compile on a non-ARM - target, and ensures the compiler doesn't decide to activate any - optimisations using the logic "value was passed to __builtin_clz, so it - is non-zero". - ARM GCC 7.3 and possibly earlier will optimise this test away, leaving a - single CLZ instruction. - */ - if (value == 0U) - { - return 32U; - } - return __builtin_clz(value); -} - -/** - \brief LDR Exclusive (8 bit) - \details Executes a exclusive LDR instruction for 8 bit value. - \param [in] ptr Pointer to data - \return value of type uint8_t at (*ptr) - */ -__STATIC_FORCEINLINE uint8_t __LDREXB(volatile uint8_t *addr) -{ - uint32_t result; - -#if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) - __ASM volatile ("ldrexb %0, %1" : "=r" (result) : "Q" (*addr) ); -#else - /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not - accepted by assembler. So has to use following less efficient pattern. - */ - __ASM volatile ("ldrexb %0, [%1]" : "=r" (result) : "r" (addr) : "memory" ); -#endif - return ((uint8_t) result); /* Add explicit type cast here */ -} - - -/** - \brief LDR Exclusive (16 bit) - \details Executes a exclusive LDR instruction for 16 bit values. - \param [in] ptr Pointer to data - \return value of type uint16_t at (*ptr) - */ -__STATIC_FORCEINLINE uint16_t __LDREXH(volatile uint16_t *addr) -{ - uint32_t result; - -#if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) - __ASM volatile ("ldrexh %0, %1" : "=r" (result) : "Q" (*addr) ); -#else - /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not - accepted by assembler. So has to use following less efficient pattern. - */ - __ASM volatile ("ldrexh %0, [%1]" : "=r" (result) : "r" (addr) : "memory" ); -#endif - return ((uint16_t) result); /* Add explicit type cast here */ -} - - -/** - \brief LDR Exclusive (32 bit) - \details Executes a exclusive LDR instruction for 32 bit values. - \param [in] ptr Pointer to data - \return value of type uint32_t at (*ptr) - */ -__STATIC_FORCEINLINE uint32_t __LDREXW(volatile uint32_t *addr) -{ - uint32_t result; - - __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); - return(result); -} - - -/** - \brief STR Exclusive (8 bit) - \details Executes a exclusive STR instruction for 8 bit values. - \param [in] value Value to store - \param [in] ptr Pointer to location - \return 0 Function succeeded - \return 1 Function failed - */ -__STATIC_FORCEINLINE uint32_t __STREXB(uint8_t value, volatile uint8_t *addr) -{ - uint32_t result; - - __ASM volatile ("strexb %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" ((uint32_t)value) ); - return(result); -} - - -/** - \brief STR Exclusive (16 bit) - \details Executes a exclusive STR instruction for 16 bit values. - \param [in] value Value to store - \param [in] ptr Pointer to location - \return 0 Function succeeded - \return 1 Function failed - */ -__STATIC_FORCEINLINE uint32_t __STREXH(uint16_t value, volatile uint16_t *addr) -{ - uint32_t result; - - __ASM volatile ("strexh %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" ((uint32_t)value) ); - return(result); -} - - -/** - \brief STR Exclusive (32 bit) - \details Executes a exclusive STR instruction for 32 bit values. - \param [in] value Value to store - \param [in] ptr Pointer to location - \return 0 Function succeeded - \return 1 Function failed - */ -__STATIC_FORCEINLINE uint32_t __STREXW(uint32_t value, volatile uint32_t *addr) -{ - uint32_t result; - - __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); - return(result); -} - - -/** - \brief Remove the exclusive lock - \details Removes the exclusive lock which is created by LDREX. - */ -__STATIC_FORCEINLINE void __CLREX(void) -{ - __ASM volatile ("clrex" ::: "memory"); -} - -/** - \brief Signed Saturate - \details Saturates a signed value. - \param [in] ARG1 Value to be saturated - \param [in] ARG2 Bit position to saturate to (1..32) - \return Saturated value - */ -#define __SSAT(ARG1, ARG2) \ -__extension__ \ -({ \ - int32_t __RES, __ARG1 = (ARG1); \ - __ASM volatile ("ssat %0, %1, %2" : "=r" (__RES) : "I" (ARG2), "r" (__ARG1) : "cc" ); \ - __RES; \ - }) - - -/** - \brief Unsigned Saturate - \details Saturates an unsigned value. - \param [in] ARG1 Value to be saturated - \param [in] ARG2 Bit position to saturate to (0..31) - \return Saturated value - */ -#define __USAT(ARG1, ARG2) \ -__extension__ \ -({ \ - uint32_t __RES, __ARG1 = (ARG1); \ - __ASM volatile ("usat %0, %1, %2" : "=r" (__RES) : "I" (ARG2), "r" (__ARG1) : "cc" ); \ - __RES; \ - }) - -/* ########################### Core Function Access ########################### */ -/** \ingroup CMSIS_Core_FunctionInterface - \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions - @{ - */ - -/** - \brief Enable IRQ Interrupts - \details Enables IRQ interrupts by clearing special-purpose register PRIMASK. - Can only be executed in Privileged modes. - */ -__STATIC_FORCEINLINE void __enable_irq(void) -{ - __ASM volatile ("cpsie i" : : : "memory"); -} - - -/** - \brief Disable IRQ Interrupts - \details Disables IRQ interrupts by setting special-purpose register PRIMASK. - Can only be executed in Privileged modes. - */ -__STATIC_FORCEINLINE void __disable_irq(void) -{ - __ASM volatile ("cpsid i" : : : "memory"); -} - -/** - \brief Enable FIQ - \details Enables FIQ interrupts by clearing special-purpose register FAULTMASK. - Can only be executed in Privileged modes. - */ -__STATIC_FORCEINLINE void __enable_fault_irq(void) -{ - __ASM volatile ("cpsie f" : : : "memory"); -} - - -/** - \brief Disable FIQ - \details Disables FIQ interrupts by setting special-purpose register FAULTMASK. - Can only be executed in Privileged modes. - */ -__STATIC_FORCEINLINE void __disable_fault_irq(void) -{ - __ASM volatile ("cpsid f" : : : "memory"); -} - -/** - \brief Get FPSCR - \details Returns the current value of the Floating Point Status/Control register. - \return Floating Point Status/Control register value - */ -__STATIC_FORCEINLINE uint32_t __get_FPSCR(void) -{ - #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ - (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) - #if __has_builtin(__builtin_arm_get_fpscr) - // Re-enable using built-in when GCC has been fixed - // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2) - /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */ - return __builtin_arm_get_fpscr(); - #else - uint32_t result; - - __ASM volatile ("VMRS %0, fpscr" : "=r" (result) ); - return(result); - #endif - #else - return(0U); - #endif -} - - -/** - \brief Set FPSCR - \details Assigns the given value to the Floating Point Status/Control register. - \param [in] fpscr Floating Point Status/Control value to set - */ -__STATIC_FORCEINLINE void __set_FPSCR(uint32_t fpscr) -{ - #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ - (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) - #if __has_builtin(__builtin_arm_set_fpscr) - // Re-enable using built-in when GCC has been fixed - // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2) - /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */ - __builtin_arm_set_fpscr(fpscr); - #else - __ASM volatile ("VMSR fpscr, %0" : : "r" (fpscr) : "vfpcc", "memory"); - #endif - #else - (void)fpscr; - #endif -} - - -/*@} end of CMSIS_Core_RegAccFunctions */ - - -/* ################### Compiler specific Intrinsics ########################### */ -/** \defgroup CMSIS_SIMD_intrinsics CMSIS SIMD Intrinsics - Access to dedicated SIMD instructions - @{ -*/ - -__STATIC_FORCEINLINE uint32_t __QADD8(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM ("qadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - - -__STATIC_FORCEINLINE uint32_t __QSUB8(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM ("qsub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - - -__STATIC_FORCEINLINE uint32_t __QADD16(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM ("qadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__STATIC_FORCEINLINE uint32_t __SHADD16(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM ("shadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__STATIC_FORCEINLINE uint32_t __QSUB16(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM ("qsub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__STATIC_FORCEINLINE uint32_t __SHSUB16(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM ("shsub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__STATIC_FORCEINLINE uint32_t __QASX(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM ("qasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__STATIC_FORCEINLINE uint32_t __SHASX(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM ("shasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__STATIC_FORCEINLINE uint32_t __QSAX(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM ("qsax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__STATIC_FORCEINLINE uint32_t __SHSAX(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM ("shsax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__STATIC_FORCEINLINE uint32_t __SXTB16(uint32_t op1) -{ - uint32_t result; - - __ASM ("sxtb16 %0, %1" : "=r" (result) : "r" (op1)); - return(result); -} - -__STATIC_FORCEINLINE uint32_t __SMUADX (uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("smuadx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__STATIC_FORCEINLINE uint32_t __SMLADX (uint32_t op1, uint32_t op2, uint32_t op3) -{ - uint32_t result; - - __ASM volatile ("smladx %0, %1, %2, %3" : "=r" (result) : "r" (op1), "r" (op2), "r" (op3) ); - return(result); -} - -__STATIC_FORCEINLINE uint64_t __SMLALD (uint32_t op1, uint32_t op2, uint64_t acc) -{ - union llreg_u{ - uint32_t w32[2]; - uint64_t w64; - } llr; - llr.w64 = acc; - -#ifndef __ARMEB__ /* Little endian */ - __ASM volatile ("smlald %0, %1, %2, %3" : "=r" (llr.w32[0]), "=r" (llr.w32[1]): "r" (op1), "r" (op2) , "0" (llr.w32[0]), "1" (llr.w32[1]) ); -#else /* Big endian */ - __ASM volatile ("smlald %0, %1, %2, %3" : "=r" (llr.w32[1]), "=r" (llr.w32[0]): "r" (op1), "r" (op2) , "0" (llr.w32[1]), "1" (llr.w32[0]) ); -#endif - - return(llr.w64); -} - -__STATIC_FORCEINLINE uint64_t __SMLALDX (uint32_t op1, uint32_t op2, uint64_t acc) -{ - union llreg_u{ - uint32_t w32[2]; - uint64_t w64; - } llr; - llr.w64 = acc; - -#ifndef __ARMEB__ /* Little endian */ - __ASM volatile ("smlaldx %0, %1, %2, %3" : "=r" (llr.w32[0]), "=r" (llr.w32[1]): "r" (op1), "r" (op2) , "0" (llr.w32[0]), "1" (llr.w32[1]) ); -#else /* Big endian */ - __ASM volatile ("smlaldx %0, %1, %2, %3" : "=r" (llr.w32[1]), "=r" (llr.w32[0]): "r" (op1), "r" (op2) , "0" (llr.w32[1]), "1" (llr.w32[0]) ); -#endif - - return(llr.w64); -} - -__STATIC_FORCEINLINE uint32_t __SMUSD (uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("smusd %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__STATIC_FORCEINLINE uint32_t __SMUSDX (uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("smusdx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__STATIC_FORCEINLINE uint32_t __SMLSDX (uint32_t op1, uint32_t op2, uint32_t op3) -{ - uint32_t result; - - __ASM volatile ("smlsdx %0, %1, %2, %3" : "=r" (result) : "r" (op1), "r" (op2), "r" (op3) ); - return(result); -} - -__STATIC_FORCEINLINE int32_t __QADD( int32_t op1, int32_t op2) -{ - int32_t result; - - __ASM volatile ("qadd %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__STATIC_FORCEINLINE int32_t __QSUB( int32_t op1, int32_t op2) -{ - int32_t result; - - __ASM volatile ("qsub %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - - -__STATIC_FORCEINLINE uint32_t __SMUAD (uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("smuad %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - - - -#define __PKHBT(ARG1,ARG2,ARG3) ( ((((uint32_t)(ARG1)) ) & 0x0000FFFFUL) | \ - ((((uint32_t)(ARG2)) << (ARG3)) & 0xFFFF0000UL) ) - -#define __PKHTB(ARG1,ARG2,ARG3) ( ((((uint32_t)(ARG1)) ) & 0xFFFF0000UL) | \ - ((((uint32_t)(ARG2)) >> (ARG3)) & 0x0000FFFFUL) ) - -__STATIC_FORCEINLINE int32_t __SMMLA (int32_t op1, int32_t op2, int32_t op3) -{ - int32_t result; - - __ASM ("smmla %0, %1, %2, %3" : "=r" (result): "r" (op1), "r" (op2), "r" (op3) ); - return(result); -} - -__STATIC_FORCEINLINE uint32_t __SMLAD (uint32_t op1, uint32_t op2, uint32_t op3) -{ - uint32_t result; - - __ASM volatile ("smlad %0, %1, %2, %3" : "=r" (result) : "r" (op1), "r" (op2), "r" (op3) ); - return(result); -} - -/*@} end of group CMSIS_SIMD_intrinsics */ - - - -/** \defgroup CMSIS_Core_intrinsics CMSIS Core Intrinsics - Access to dedicated SIMD instructions - @{ -*/ - -/** \brief Get CPSR Register - \return CPSR Register value - */ -__STATIC_FORCEINLINE uint32_t __get_CPSR(void) -{ - uint32_t result; - __ASM volatile("MRS %0, cpsr" : "=r" (result) ); - return(result); -} - -/** \brief Set CPSR Register - \param [in] cpsr CPSR value to set - */ -__STATIC_FORCEINLINE void __set_CPSR(uint32_t cpsr) -{ - __ASM volatile ("MSR cpsr, %0" : : "r" (cpsr) : "cc", "memory"); -} - -/** \brief Get Mode - \return Processor Mode - */ -__STATIC_FORCEINLINE uint32_t __get_mode(void) -{ - return (__get_CPSR() & 0x1FU); -} - -/** \brief Set Mode - \param [in] mode Mode value to set - */ -__STATIC_FORCEINLINE void __set_mode(uint32_t mode) -{ - __ASM volatile("MSR cpsr_c, %0" : : "r" (mode) : "memory"); -} - -/** \brief Get Stack Pointer - \return Stack Pointer value - */ -__STATIC_FORCEINLINE uint32_t __get_SP(void) -{ - uint32_t result; - __ASM volatile("MOV %0, sp" : "=r" (result) : : "memory"); - return result; -} - -/** \brief Set Stack Pointer - \param [in] stack Stack Pointer value to set - */ -__STATIC_FORCEINLINE void __set_SP(uint32_t stack) -{ - __ASM volatile("MOV sp, %0" : : "r" (stack) : "memory"); -} - -/** \brief Get USR/SYS Stack Pointer - \return USR/SYS Stack Pointer value - */ -__STATIC_FORCEINLINE uint32_t __get_SP_usr(void) -{ - uint32_t cpsr = __get_CPSR(); - uint32_t result; - __ASM volatile( - "CPS #0x1F \n" - "MOV %0, sp " : "=r"(result) : : "memory" - ); - __set_CPSR(cpsr); - __ISB(); - return result; -} - -/** \brief Set USR/SYS Stack Pointer - \param [in] topOfProcStack USR/SYS Stack Pointer value to set - */ -__STATIC_FORCEINLINE void __set_SP_usr(uint32_t topOfProcStack) -{ - uint32_t cpsr = __get_CPSR(); - __ASM volatile( - "CPS #0x1F \n" - "MOV sp, %0 " : : "r" (topOfProcStack) : "memory" - ); - __set_CPSR(cpsr); - __ISB(); -} - -/** \brief Get FPEXC - \return Floating Point Exception Control register value - */ -__STATIC_FORCEINLINE uint32_t __get_FPEXC(void) -{ -#if (__FPU_PRESENT == 1) - uint32_t result; - __ASM volatile("VMRS %0, fpexc" : "=r" (result) : : "memory"); - return(result); -#else - return(0); -#endif -} - -/** \brief Set FPEXC - \param [in] fpexc Floating Point Exception Control value to set - */ -__STATIC_FORCEINLINE void __set_FPEXC(uint32_t fpexc) -{ -#if (__FPU_PRESENT == 1) - __ASM volatile ("VMSR fpexc, %0" : : "r" (fpexc) : "memory"); -#endif -} - -/* - * Include common core functions to access Coprocessor 15 registers - */ - -#define __get_CP(cp, op1, Rt, CRn, CRm, op2) __ASM volatile("MRC p" # cp ", " # op1 ", %0, c" # CRn ", c" # CRm ", " # op2 : "=r" (Rt) : : "memory" ) -#define __set_CP(cp, op1, Rt, CRn, CRm, op2) __ASM volatile("MCR p" # cp ", " # op1 ", %0, c" # CRn ", c" # CRm ", " # op2 : : "r" (Rt) : "memory" ) -#define __get_CP64(cp, op1, Rt, CRm) __ASM volatile("MRRC p" # cp ", " # op1 ", %Q0, %R0, c" # CRm : "=r" (Rt) : : "memory" ) -#define __set_CP64(cp, op1, Rt, CRm) __ASM volatile("MCRR p" # cp ", " # op1 ", %Q0, %R0, c" # CRm : : "r" (Rt) : "memory" ) - -#include "cmsis_cp15.h" - -/** \brief Enable Floating Point Unit - - Critical section, called from undef handler, so systick is disabled - */ -__STATIC_INLINE void __FPU_Enable(void) -{ - __ASM volatile( - //Permit access to VFP/NEON, registers by modifying CPACR - " MRC p15,0,R1,c1,c0,2 \n" - " ORR R1,R1,#0x00F00000 \n" - " MCR p15,0,R1,c1,c0,2 \n" - - //Ensure that subsequent instructions occur in the context of VFP/NEON access permitted - " ISB \n" - - //Enable VFP/NEON - " VMRS R1,FPEXC \n" - " ORR R1,R1,#0x40000000 \n" - " VMSR FPEXC,R1 \n" - - //Initialise VFP/NEON registers to 0 - " MOV R2,#0 \n" - - //Initialise D16 registers to 0 - " VMOV D0, R2,R2 \n" - " VMOV D1, R2,R2 \n" - " VMOV D2, R2,R2 \n" - " VMOV D3, R2,R2 \n" - " VMOV D4, R2,R2 \n" - " VMOV D5, R2,R2 \n" - " VMOV D6, R2,R2 \n" - " VMOV D7, R2,R2 \n" - " VMOV D8, R2,R2 \n" - " VMOV D9, R2,R2 \n" - " VMOV D10,R2,R2 \n" - " VMOV D11,R2,R2 \n" - " VMOV D12,R2,R2 \n" - " VMOV D13,R2,R2 \n" - " VMOV D14,R2,R2 \n" - " VMOV D15,R2,R2 \n" - -#if (defined(__ARM_NEON) && (__ARM_NEON == 1)) - //Initialise D32 registers to 0 - " VMOV D16,R2,R2 \n" - " VMOV D17,R2,R2 \n" - " VMOV D18,R2,R2 \n" - " VMOV D19,R2,R2 \n" - " VMOV D20,R2,R2 \n" - " VMOV D21,R2,R2 \n" - " VMOV D22,R2,R2 \n" - " VMOV D23,R2,R2 \n" - " VMOV D24,R2,R2 \n" - " VMOV D25,R2,R2 \n" - " VMOV D26,R2,R2 \n" - " VMOV D27,R2,R2 \n" - " VMOV D28,R2,R2 \n" - " VMOV D29,R2,R2 \n" - " VMOV D30,R2,R2 \n" - " VMOV D31,R2,R2 \n" -#endif - - //Initialise FPSCR to a known state - " VMRS R1,FPSCR \n" - " LDR R2,=0x00086060 \n" //Mask off all bits that do not have to be preserved. Non-preserved bits can/should be zero. - " AND R1,R1,R2 \n" - " VMSR FPSCR,R1 " - : : : "cc", "r1", "r2" - ); -} - -/*@} end of group CMSIS_Core_intrinsics */ - -#pragma GCC diagnostic pop - -#endif /* __CMSIS_GCC_H */ diff --git a/external/CMSIS_5/CMSIS/Core_A/Include/cmsis_iccarm.h b/external/CMSIS_5/CMSIS/Core_A/Include/cmsis_iccarm.h deleted file mode 100644 index 10f1f92..0000000 --- a/external/CMSIS_5/CMSIS/Core_A/Include/cmsis_iccarm.h +++ /dev/null @@ -1,573 +0,0 @@ -/**************************************************************************//** - * @file cmsis_iccarm.h - * @brief CMSIS compiler ICCARM (IAR Compiler for Arm) header file - * @version V5.0.8 - * @date 13. November 2022 - ******************************************************************************/ - -//------------------------------------------------------------------------------ -// -// Copyright (c) 2017-2018 IAR Systems -// Copyright (c) 2018-2019 Arm Limited -// -// SPDX-License-Identifier: Apache-2.0 -// -// Licensed under the Apache License, Version 2.0 (the "License") -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -//------------------------------------------------------------------------------ - - -#ifndef __CMSIS_ICCARM_H__ -#define __CMSIS_ICCARM_H__ - -#ifndef __ICCARM__ - #error This file should only be compiled by ICCARM -#endif - -#pragma system_include - -#define __IAR_FT _Pragma("inline=forced") __intrinsic - -#if (__VER__ >= 8000000) - #define __ICCARM_V8 1 -#else - #define __ICCARM_V8 0 -#endif - -#pragma language=extended - -#ifndef __ALIGNED - #if __ICCARM_V8 - #define __ALIGNED(x) __attribute__((aligned(x))) - #elif (__VER__ >= 7080000) - /* Needs IAR language extensions */ - #define __ALIGNED(x) __attribute__((aligned(x))) - #else - #warning No compiler specific solution for __ALIGNED.__ALIGNED is ignored. - #define __ALIGNED(x) - #endif -#endif - - -/* Define compiler macros for CPU architecture, used in CMSIS 5. - */ -#if __ARM_ARCH_7A__ -/* Macro already defined */ -#else - #if defined(__ARM7A__) - #define __ARM_ARCH_7A__ 1 - #endif -#endif - -#ifndef __ASM - #define __ASM __asm -#endif - -#ifndef __COMPILER_BARRIER - #define __COMPILER_BARRIER() __ASM volatile("":::"memory") -#endif - -#ifndef __INLINE - #define __INLINE inline -#endif - -#ifndef __NO_RETURN - #if __ICCARM_V8 - #define __NO_RETURN __attribute__((__noreturn__)) - #else - #define __NO_RETURN _Pragma("object_attribute=__noreturn") - #endif -#endif - -#ifndef __PACKED - #if __ICCARM_V8 - #define __PACKED __attribute__((packed, aligned(1))) - #else - /* Needs IAR language extensions */ - #define __PACKED __packed - #endif -#endif - -#ifndef __PACKED_STRUCT - #if __ICCARM_V8 - #define __PACKED_STRUCT struct __attribute__((packed, aligned(1))) - #else - /* Needs IAR language extensions */ - #define __PACKED_STRUCT __packed struct - #endif -#endif - -#ifndef __PACKED_UNION - #if __ICCARM_V8 - #define __PACKED_UNION union __attribute__((packed, aligned(1))) - #else - /* Needs IAR language extensions */ - #define __PACKED_UNION __packed union - #endif -#endif - -#ifndef __RESTRICT - #if __ICCARM_V8 - #define __RESTRICT __restrict - #else - /* Needs IAR language extensions */ - #define __RESTRICT restrict - #endif -#endif - -#ifndef __STATIC_INLINE - #define __STATIC_INLINE static inline -#endif - -#ifndef __FORCEINLINE - #define __FORCEINLINE _Pragma("inline=forced") -#endif - -#ifndef __STATIC_FORCEINLINE - #define __STATIC_FORCEINLINE __FORCEINLINE __STATIC_INLINE -#endif - -#ifndef CMSIS_DEPRECATED - #define CMSIS_DEPRECATED __attribute__((deprecated)) -#endif - -#ifndef __UNALIGNED_UINT16_READ - #pragma language=save - #pragma language=extended - __IAR_FT uint16_t __iar_uint16_read(void const *ptr) - { - return *(__packed uint16_t*)(ptr); - } - #pragma language=restore - #define __UNALIGNED_UINT16_READ(PTR) __iar_uint16_read(PTR) -#endif - - -#ifndef __UNALIGNED_UINT16_WRITE - #pragma language=save - #pragma language=extended - __IAR_FT void __iar_uint16_write(void const *ptr, uint16_t val) - { - *(__packed uint16_t*)(ptr) = val;; - } - #pragma language=restore - #define __UNALIGNED_UINT16_WRITE(PTR,VAL) __iar_uint16_write(PTR,VAL) -#endif - -#ifndef __UNALIGNED_UINT32_READ - #pragma language=save - #pragma language=extended - __IAR_FT uint32_t __iar_uint32_read(void const *ptr) - { - return *(__packed uint32_t*)(ptr); - } - #pragma language=restore - #define __UNALIGNED_UINT32_READ(PTR) __iar_uint32_read(PTR) -#endif - -#ifndef __UNALIGNED_UINT32_WRITE - #pragma language=save - #pragma language=extended - __IAR_FT void __iar_uint32_write(void const *ptr, uint32_t val) - { - *(__packed uint32_t*)(ptr) = val;; - } - #pragma language=restore - #define __UNALIGNED_UINT32_WRITE(PTR,VAL) __iar_uint32_write(PTR,VAL) -#endif - -#if 0 -#ifndef __UNALIGNED_UINT32 /* deprecated */ - #pragma language=save - #pragma language=extended - __packed struct __iar_u32 { uint32_t v; }; - #pragma language=restore - #define __UNALIGNED_UINT32(PTR) (((struct __iar_u32 *)(PTR))->v) -#endif -#endif - -#ifndef __USED - #if __ICCARM_V8 - #define __USED __attribute__((used)) - #else - #define __USED _Pragma("__root") - #endif -#endif - -#ifndef __WEAK - #if __ICCARM_V8 - #define __WEAK __attribute__((weak)) - #else - #define __WEAK _Pragma("__weak") - #endif -#endif - - -#ifndef __ICCARM_INTRINSICS_VERSION__ - #define __ICCARM_INTRINSICS_VERSION__ 0 -#endif - -#if __ICCARM_INTRINSICS_VERSION__ == 2 - - #if defined(__CLZ) - #undef __CLZ - #endif - #if defined(__REVSH) - #undef __REVSH - #endif - #if defined(__RBIT) - #undef __RBIT - #endif - #if defined(__SSAT) - #undef __SSAT - #endif - #if defined(__USAT) - #undef __USAT - #endif - - #include "iccarm_builtin.h" - - #define __disable_fault_irq __iar_builtin_disable_fiq - #define __disable_irq __iar_builtin_disable_interrupt - #define __enable_fault_irq __iar_builtin_enable_fiq - #define __enable_irq __iar_builtin_enable_interrupt - #define __arm_rsr __iar_builtin_rsr - #define __arm_wsr __iar_builtin_wsr - - #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U))) - #define __get_FPSCR() (__arm_rsr("FPSCR")) - #define __set_FPSCR(VALUE) (__arm_wsr("FPSCR", (VALUE))) - #else - #define __get_FPSCR() ( 0 ) - #define __set_FPSCR(VALUE) ((void)VALUE) - #endif - - #define __get_CPSR() (__arm_rsr("CPSR")) - #define __get_mode() (__get_CPSR() & 0x1FU) - - #define __set_CPSR(VALUE) (__arm_wsr("CPSR", (VALUE))) - #define __set_mode(VALUE) (__arm_wsr("CPSR_c", (VALUE))) - - - #define __get_FPEXC() (__arm_rsr("FPEXC")) - #define __set_FPEXC(VALUE) (__arm_wsr("FPEXC", VALUE)) - - #define __get_CP(cp, op1, RT, CRn, CRm, op2) \ - ((RT) = __arm_rsr("p" # cp ":" # op1 ":c" # CRn ":c" # CRm ":" # op2)) - - #define __set_CP(cp, op1, RT, CRn, CRm, op2) \ - (__arm_wsr("p" # cp ":" # op1 ":c" # CRn ":c" # CRm ":" # op2, (RT))) - - #define __get_CP64(cp, op1, Rt, CRm) \ - __ASM volatile("MRRC p" # cp ", " # op1 ", %Q0, %R0, c" # CRm : "=r" (Rt) : : "memory" ) - - #define __set_CP64(cp, op1, Rt, CRm) \ - __ASM volatile("MCRR p" # cp ", " # op1 ", %Q0, %R0, c" # CRm : : "r" (Rt) : "memory" ) - - #include "cmsis_cp15.h" - - #define __NOP __iar_builtin_no_operation - - #define __CLZ __iar_builtin_CLZ - #define __CLREX __iar_builtin_CLREX - - #define __DMB __iar_builtin_DMB - #define __DSB __iar_builtin_DSB - #define __ISB __iar_builtin_ISB - - #define __LDREXB __iar_builtin_LDREXB - #define __LDREXH __iar_builtin_LDREXH - #define __LDREXW __iar_builtin_LDREX - - #define __RBIT __iar_builtin_RBIT - #define __REV __iar_builtin_REV - #define __REV16 __iar_builtin_REV16 - - __IAR_FT int16_t __REVSH(int16_t val) - { - return (int16_t) __iar_builtin_REVSH(val); - } - - #define __ROR __iar_builtin_ROR - #define __RRX __iar_builtin_RRX - - #define __SEV __iar_builtin_SEV - - #define __SSAT __iar_builtin_SSAT - - #define __STREXB __iar_builtin_STREXB - #define __STREXH __iar_builtin_STREXH - #define __STREXW __iar_builtin_STREX - - #define __USAT __iar_builtin_USAT - - #define __WFE __iar_builtin_WFE - #define __WFI __iar_builtin_WFI - - #define __SADD8 __iar_builtin_SADD8 - #define __QADD8 __iar_builtin_QADD8 - #define __SHADD8 __iar_builtin_SHADD8 - #define __UADD8 __iar_builtin_UADD8 - #define __UQADD8 __iar_builtin_UQADD8 - #define __UHADD8 __iar_builtin_UHADD8 - #define __SSUB8 __iar_builtin_SSUB8 - #define __QSUB8 __iar_builtin_QSUB8 - #define __SHSUB8 __iar_builtin_SHSUB8 - #define __USUB8 __iar_builtin_USUB8 - #define __UQSUB8 __iar_builtin_UQSUB8 - #define __UHSUB8 __iar_builtin_UHSUB8 - #define __SADD16 __iar_builtin_SADD16 - #define __QADD16 __iar_builtin_QADD16 - #define __SHADD16 __iar_builtin_SHADD16 - #define __UADD16 __iar_builtin_UADD16 - #define __UQADD16 __iar_builtin_UQADD16 - #define __UHADD16 __iar_builtin_UHADD16 - #define __SSUB16 __iar_builtin_SSUB16 - #define __QSUB16 __iar_builtin_QSUB16 - #define __SHSUB16 __iar_builtin_SHSUB16 - #define __USUB16 __iar_builtin_USUB16 - #define __UQSUB16 __iar_builtin_UQSUB16 - #define __UHSUB16 __iar_builtin_UHSUB16 - #define __SASX __iar_builtin_SASX - #define __QASX __iar_builtin_QASX - #define __SHASX __iar_builtin_SHASX - #define __UASX __iar_builtin_UASX - #define __UQASX __iar_builtin_UQASX - #define __UHASX __iar_builtin_UHASX - #define __SSAX __iar_builtin_SSAX - #define __QSAX __iar_builtin_QSAX - #define __SHSAX __iar_builtin_SHSAX - #define __USAX __iar_builtin_USAX - #define __UQSAX __iar_builtin_UQSAX - #define __UHSAX __iar_builtin_UHSAX - #define __USAD8 __iar_builtin_USAD8 - #define __USADA8 __iar_builtin_USADA8 - #define __SSAT16 __iar_builtin_SSAT16 - #define __USAT16 __iar_builtin_USAT16 - #define __UXTB16 __iar_builtin_UXTB16 - #define __UXTAB16 __iar_builtin_UXTAB16 - #define __SXTB16 __iar_builtin_SXTB16 - #define __SXTAB16 __iar_builtin_SXTAB16 - #define __SMUAD __iar_builtin_SMUAD - #define __SMUADX __iar_builtin_SMUADX - #define __SMMLA __iar_builtin_SMMLA - #define __SMLAD __iar_builtin_SMLAD - #define __SMLADX __iar_builtin_SMLADX - #define __SMLALD __iar_builtin_SMLALD - #define __SMLALDX __iar_builtin_SMLALDX - #define __SMUSD __iar_builtin_SMUSD - #define __SMUSDX __iar_builtin_SMUSDX - #define __SMLSD __iar_builtin_SMLSD - #define __SMLSDX __iar_builtin_SMLSDX - #define __SMLSLD __iar_builtin_SMLSLD - #define __SMLSLDX __iar_builtin_SMLSLDX - #define __SEL __iar_builtin_SEL - #define __QADD __iar_builtin_QADD - #define __QSUB __iar_builtin_QSUB - #define __PKHBT __iar_builtin_PKHBT - #define __PKHTB __iar_builtin_PKHTB - -#else /* __ICCARM_INTRINSICS_VERSION__ == 2 */ - - #if !((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U))) - #define __get_FPSCR __cmsis_iar_get_FPSR_not_active - #endif - - #ifdef __INTRINSICS_INCLUDED - #error intrinsics.h is already included previously! - #endif - - #include - - #if !((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U))) - #define __get_FPSCR() (0) - #endif - - #pragma diag_suppress=Pe940 - #pragma diag_suppress=Pe177 - - #define __enable_irq __enable_interrupt - #define __disable_irq __disable_interrupt - #define __enable_fault_irq __enable_fiq - #define __disable_fault_irq __disable_fiq - #define __NOP __no_operation - - #define __get_xPSR __get_PSR - - __IAR_FT void __set_mode(uint32_t mode) - { - __ASM volatile("MSR cpsr_c, %0" : : "r" (mode) : "memory"); - } - - __IAR_FT uint32_t __LDREXW(uint32_t volatile *ptr) - { - return __LDREX((unsigned long *)ptr); - } - - __IAR_FT uint32_t __STREXW(uint32_t value, uint32_t volatile *ptr) - { - return __STREX(value, (unsigned long *)ptr); - } - - - __IAR_FT uint32_t __RRX(uint32_t value) - { - uint32_t result; - __ASM("RRX %0, %1" : "=r"(result) : "r" (value) : "cc"); - return(result); - } - - - __IAR_FT uint32_t __ROR(uint32_t op1, uint32_t op2) - { - return (op1 >> op2) | (op1 << ((sizeof(op1)*8)-op2)); - } - - __IAR_FT uint32_t __get_FPEXC(void) - { - #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U))) - uint32_t result; - __ASM volatile("VMRS %0, fpexc" : "=r" (result) : : "memory"); - return(result); - #else - return(0); - #endif - } - - __IAR_FT void __set_FPEXC(uint32_t fpexc) - { - #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U))) - __ASM volatile ("VMSR fpexc, %0" : : "r" (fpexc) : "memory"); - #endif - } - - - #define __get_CP(cp, op1, Rt, CRn, CRm, op2) \ - __ASM volatile("MRC p" # cp ", " # op1 ", %0, c" # CRn ", c" # CRm ", " # op2 : "=r" (Rt) : : "memory" ) - #define __set_CP(cp, op1, Rt, CRn, CRm, op2) \ - __ASM volatile("MCR p" # cp ", " # op1 ", %0, c" # CRn ", c" # CRm ", " # op2 : : "r" (Rt) : "memory" ) - #define __get_CP64(cp, op1, Rt, CRm) \ - __ASM volatile("MRRC p" # cp ", " # op1 ", %Q0, %R0, c" # CRm : "=r" (Rt) : : "memory" ) - #define __set_CP64(cp, op1, Rt, CRm) \ - __ASM volatile("MCRR p" # cp ", " # op1 ", %Q0, %R0, c" # CRm : : "r" (Rt) : "memory" ) - - #include "cmsis_cp15.h" - -#endif /* __ICCARM_INTRINSICS_VERSION__ == 2 */ - -#define __BKPT(value) __asm volatile ("BKPT %0" : : "i"(value)) - - -__IAR_FT uint32_t __get_SP_usr(void) -{ - uint32_t cpsr; - uint32_t result; - __ASM volatile( - "MRS %0, cpsr \n" - "CPS #0x1F \n" // no effect in USR mode - "MOV %1, sp \n" - "MSR cpsr_c, %2 \n" // no effect in USR mode - "ISB" : "=r"(cpsr), "=r"(result) : "r"(cpsr) : "memory" - ); - return result; -} - -__IAR_FT void __set_SP_usr(uint32_t topOfProcStack) -{ - uint32_t cpsr; - __ASM volatile( - "MRS %0, cpsr \n" - "CPS #0x1F \n" // no effect in USR mode - "MOV sp, %1 \n" - "MSR cpsr_c, %2 \n" // no effect in USR mode - "ISB" : "=r"(cpsr) : "r" (topOfProcStack), "r"(cpsr) : "memory" - ); -} - -#define __get_mode() (__get_CPSR() & 0x1FU) - -__STATIC_INLINE -void __FPU_Enable(void) -{ - __ASM volatile( - //Permit access to VFP/NEON, registers by modifying CPACR - " MRC p15,0,R1,c1,c0,2 \n" - " ORR R1,R1,#0x00F00000 \n" - " MCR p15,0,R1,c1,c0,2 \n" - - //Ensure that subsequent instructions occur in the context of VFP/NEON access permitted - " ISB \n" - - //Enable VFP/NEON - " VMRS R1,FPEXC \n" - " ORR R1,R1,#0x40000000 \n" - " VMSR FPEXC,R1 \n" - - //Initialise VFP/NEON registers to 0 - " MOV R2,#0 \n" - - //Initialise D16 registers to 0 - " VMOV D0, R2,R2 \n" - " VMOV D1, R2,R2 \n" - " VMOV D2, R2,R2 \n" - " VMOV D3, R2,R2 \n" - " VMOV D4, R2,R2 \n" - " VMOV D5, R2,R2 \n" - " VMOV D6, R2,R2 \n" - " VMOV D7, R2,R2 \n" - " VMOV D8, R2,R2 \n" - " VMOV D9, R2,R2 \n" - " VMOV D10,R2,R2 \n" - " VMOV D11,R2,R2 \n" - " VMOV D12,R2,R2 \n" - " VMOV D13,R2,R2 \n" - " VMOV D14,R2,R2 \n" - " VMOV D15,R2,R2 \n" - -#ifdef __ARM_ADVANCED_SIMD__ - //Initialise D32 registers to 0 - " VMOV D16,R2,R2 \n" - " VMOV D17,R2,R2 \n" - " VMOV D18,R2,R2 \n" - " VMOV D19,R2,R2 \n" - " VMOV D20,R2,R2 \n" - " VMOV D21,R2,R2 \n" - " VMOV D22,R2,R2 \n" - " VMOV D23,R2,R2 \n" - " VMOV D24,R2,R2 \n" - " VMOV D25,R2,R2 \n" - " VMOV D26,R2,R2 \n" - " VMOV D27,R2,R2 \n" - " VMOV D28,R2,R2 \n" - " VMOV D29,R2,R2 \n" - " VMOV D30,R2,R2 \n" - " VMOV D31,R2,R2 \n" -#endif - - //Initialise FPSCR to a known state - " VMRS R1,FPSCR \n" - " MOV32 R2,#0x00086060 \n" //Mask off all bits that do not have to be preserved. Non-preserved bits can/should be zero. - " AND R1,R1,R2 \n" - " VMSR FPSCR,R1 \n" - : : : "cc", "r1", "r2" - ); -} - - - -#undef __IAR_FT -#undef __ICCARM_V8 - -#pragma diag_default=Pe940 -#pragma diag_default=Pe177 - -#endif /* __CMSIS_ICCARM_H__ */ diff --git a/external/CMSIS_5/CMSIS/Core_A/Include/core_ca.h b/external/CMSIS_5/CMSIS/Core_A/Include/core_ca.h deleted file mode 100644 index 12a1a6d..0000000 --- a/external/CMSIS_5/CMSIS/Core_A/Include/core_ca.h +++ /dev/null @@ -1,2940 +0,0 @@ -/**************************************************************************//** - * @file core_ca.h - * @brief CMSIS Cortex-A Core Peripheral Access Layer Header File - * @version V1.0.8 - * @date 23. March 2023 - ******************************************************************************/ -/* - * Copyright (c) 2009-2022 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined ( __ICCARM__ ) - #pragma system_include /* treat file as system include file for MISRA check */ -#elif defined (__clang__) - #pragma clang system_header /* treat file as system include file */ -#endif - -#ifndef __CORE_CA_H_GENERIC -#define __CORE_CA_H_GENERIC - -#ifdef __cplusplus - extern "C" { -#endif - -/******************************************************************************* - * CMSIS definitions - ******************************************************************************/ - -/* CMSIS CA definitions */ -#define __CA_CMSIS_VERSION_MAIN (1U) /*!< \brief [31:16] CMSIS-Core(A) main version */ -#define __CA_CMSIS_VERSION_SUB (1U) /*!< \brief [15:0] CMSIS-Core(A) sub version */ -#define __CA_CMSIS_VERSION ((__CA_CMSIS_VERSION_MAIN << 16U) | \ - __CA_CMSIS_VERSION_SUB ) /*!< \brief CMSIS-Core(A) version number */ - -#if defined ( __CC_ARM ) - #if defined (__TARGET_FPU_VFP) - #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) - #define __FPU_USED 1U - #else - #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" - #define __FPU_USED 0U - #endif - #else - #define __FPU_USED 0U - #endif - -#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #if defined (__ARM_FP) - #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) - #define __FPU_USED 1U - #else - #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" - #define __FPU_USED 0U - #endif - #else - #define __FPU_USED 0U - #endif - -#elif defined ( __ICCARM__ ) - #if defined (__ARMVFP__) - #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) - #define __FPU_USED 1U - #else - #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" - #define __FPU_USED 0U - #endif - #else - #define __FPU_USED 0U - #endif - -#elif defined ( __TMS470__ ) - #if defined __TI_VFP_SUPPORT__ - #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) - #define __FPU_USED 1U - #else - #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" - #define __FPU_USED 0U - #endif - #else - #define __FPU_USED 0U - #endif - -#elif defined ( __GNUC__ ) - #if defined (__VFP_FP__) && !defined(__SOFTFP__) - #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) - #define __FPU_USED 1U - #else - #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" - #define __FPU_USED 0U - #endif - #else - #define __FPU_USED 0U - #endif - -#elif defined ( __TASKING__ ) - #if defined (__FPU_VFP__) - #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) - #define __FPU_USED 1U - #else - #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" - #define __FPU_USED 0U - #endif - #else - #define __FPU_USED 0U - #endif -#endif - -#include "cmsis_compiler.h" /* CMSIS compiler specific defines */ - -#ifdef __cplusplus -} -#endif - -#endif /* __CORE_CA_H_GENERIC */ - -#ifndef __CMSIS_GENERIC - -#ifndef __CORE_CA_H_DEPENDANT -#define __CORE_CA_H_DEPENDANT - -#ifdef __cplusplus - extern "C" { -#endif - - /* check device defines and use defaults */ -#if defined __CHECK_DEVICE_DEFINES - #ifndef __CA_REV - #define __CA_REV 0x0000U - #warning "__CA_REV not defined in device header file; using default!" - #endif - - #ifndef __FPU_PRESENT - #define __FPU_PRESENT 0U - #warning "__FPU_PRESENT not defined in device header file; using default!" - #endif - - #ifndef __GIC_PRESENT - #define __GIC_PRESENT 1U - #warning "__GIC_PRESENT not defined in device header file; using default!" - #endif - - #ifndef __TIM_PRESENT - #define __TIM_PRESENT 1U - #warning "__TIM_PRESENT not defined in device header file; using default!" - #endif - - #ifndef __L2C_PRESENT - #define __L2C_PRESENT 0U - #warning "__L2C_PRESENT not defined in device header file; using default!" - #endif -#endif - -/* IO definitions (access restrictions to peripheral registers) */ -#ifdef __cplusplus - #define __I volatile /*!< \brief Defines 'read only' permissions */ -#else - #define __I volatile const /*!< \brief Defines 'read only' permissions */ -#endif -#define __O volatile /*!< \brief Defines 'write only' permissions */ -#define __IO volatile /*!< \brief Defines 'read / write' permissions */ - -/* following defines should be used for structure members */ -#define __IM volatile const /*!< \brief Defines 'read only' structure member permissions */ -#define __OM volatile /*!< \brief Defines 'write only' structure member permissions */ -#define __IOM volatile /*!< \brief Defines 'read / write' structure member permissions */ -#define RESERVED(N, T) T RESERVED##N; // placeholder struct members used for "reserved" areas - - /******************************************************************************* - * Register Abstraction - Core Register contain: - - CPSR - - CP15 Registers - - L2C-310 Cache Controller - - Generic Interrupt Controller Distributor - - Generic Interrupt Controller Interface - ******************************************************************************/ - -/* Core Register CPSR */ -typedef union -{ - struct - { - uint32_t M:5; /*!< \brief bit: 0.. 4 Mode field */ - uint32_t T:1; /*!< \brief bit: 5 Thumb execution state bit */ - uint32_t F:1; /*!< \brief bit: 6 FIQ mask bit */ - uint32_t I:1; /*!< \brief bit: 7 IRQ mask bit */ - uint32_t A:1; /*!< \brief bit: 8 Asynchronous abort mask bit */ - uint32_t E:1; /*!< \brief bit: 9 Endianness execution state bit */ - uint32_t IT1:6; /*!< \brief bit: 10..15 If-Then execution state bits 2-7 */ - uint32_t GE:4; /*!< \brief bit: 16..19 Greater than or Equal flags */ - RESERVED(0:4, uint32_t) - uint32_t J:1; /*!< \brief bit: 24 Jazelle bit */ - uint32_t IT0:2; /*!< \brief bit: 25..26 If-Then execution state bits 0-1 */ - uint32_t Q:1; /*!< \brief bit: 27 Saturation condition flag */ - uint32_t V:1; /*!< \brief bit: 28 Overflow condition code flag */ - uint32_t C:1; /*!< \brief bit: 29 Carry condition code flag */ - uint32_t Z:1; /*!< \brief bit: 30 Zero condition code flag */ - uint32_t N:1; /*!< \brief bit: 31 Negative condition code flag */ - } b; /*!< \brief Structure used for bit access */ - uint32_t w; /*!< \brief Type used for word access */ -} CPSR_Type; - - - -/* CPSR Register Definitions */ -#define CPSR_N_Pos 31U /*!< \brief CPSR: N Position */ -#define CPSR_N_Msk (1UL << CPSR_N_Pos) /*!< \brief CPSR: N Mask */ - -#define CPSR_Z_Pos 30U /*!< \brief CPSR: Z Position */ -#define CPSR_Z_Msk (1UL << CPSR_Z_Pos) /*!< \brief CPSR: Z Mask */ - -#define CPSR_C_Pos 29U /*!< \brief CPSR: C Position */ -#define CPSR_C_Msk (1UL << CPSR_C_Pos) /*!< \brief CPSR: C Mask */ - -#define CPSR_V_Pos 28U /*!< \brief CPSR: V Position */ -#define CPSR_V_Msk (1UL << CPSR_V_Pos) /*!< \brief CPSR: V Mask */ - -#define CPSR_Q_Pos 27U /*!< \brief CPSR: Q Position */ -#define CPSR_Q_Msk (1UL << CPSR_Q_Pos) /*!< \brief CPSR: Q Mask */ - -#define CPSR_IT0_Pos 25U /*!< \brief CPSR: IT0 Position */ -#define CPSR_IT0_Msk (3UL << CPSR_IT0_Pos) /*!< \brief CPSR: IT0 Mask */ - -#define CPSR_J_Pos 24U /*!< \brief CPSR: J Position */ -#define CPSR_J_Msk (1UL << CPSR_J_Pos) /*!< \brief CPSR: J Mask */ - -#define CPSR_GE_Pos 16U /*!< \brief CPSR: GE Position */ -#define CPSR_GE_Msk (0xFUL << CPSR_GE_Pos) /*!< \brief CPSR: GE Mask */ - -#define CPSR_IT1_Pos 10U /*!< \brief CPSR: IT1 Position */ -#define CPSR_IT1_Msk (0x3FUL << CPSR_IT1_Pos) /*!< \brief CPSR: IT1 Mask */ - -#define CPSR_E_Pos 9U /*!< \brief CPSR: E Position */ -#define CPSR_E_Msk (1UL << CPSR_E_Pos) /*!< \brief CPSR: E Mask */ - -#define CPSR_A_Pos 8U /*!< \brief CPSR: A Position */ -#define CPSR_A_Msk (1UL << CPSR_A_Pos) /*!< \brief CPSR: A Mask */ - -#define CPSR_I_Pos 7U /*!< \brief CPSR: I Position */ -#define CPSR_I_Msk (1UL << CPSR_I_Pos) /*!< \brief CPSR: I Mask */ - -#define CPSR_F_Pos 6U /*!< \brief CPSR: F Position */ -#define CPSR_F_Msk (1UL << CPSR_F_Pos) /*!< \brief CPSR: F Mask */ - -#define CPSR_T_Pos 5U /*!< \brief CPSR: T Position */ -#define CPSR_T_Msk (1UL << CPSR_T_Pos) /*!< \brief CPSR: T Mask */ - -#define CPSR_M_Pos 0U /*!< \brief CPSR: M Position */ -#define CPSR_M_Msk (0x1FUL << CPSR_M_Pos) /*!< \brief CPSR: M Mask */ - -#define CPSR_M_USR 0x10U /*!< \brief CPSR: M User mode (PL0) */ -#define CPSR_M_FIQ 0x11U /*!< \brief CPSR: M Fast Interrupt mode (PL1) */ -#define CPSR_M_IRQ 0x12U /*!< \brief CPSR: M Interrupt mode (PL1) */ -#define CPSR_M_SVC 0x13U /*!< \brief CPSR: M Supervisor mode (PL1) */ -#define CPSR_M_MON 0x16U /*!< \brief CPSR: M Monitor mode (PL1) */ -#define CPSR_M_ABT 0x17U /*!< \brief CPSR: M Abort mode (PL1) */ -#define CPSR_M_HYP 0x1AU /*!< \brief CPSR: M Hypervisor mode (PL2) */ -#define CPSR_M_UND 0x1BU /*!< \brief CPSR: M Undefined mode (PL1) */ -#define CPSR_M_SYS 0x1FU /*!< \brief CPSR: M System mode (PL1) */ - -/* CP15 Register SCTLR */ -typedef union -{ - struct - { - uint32_t M:1; /*!< \brief bit: 0 MMU enable */ - uint32_t A:1; /*!< \brief bit: 1 Alignment check enable */ - uint32_t C:1; /*!< \brief bit: 2 Cache enable */ - RESERVED(0:2, uint32_t) - uint32_t CP15BEN:1; /*!< \brief bit: 5 CP15 barrier enable */ - RESERVED(1:1, uint32_t) - uint32_t B:1; /*!< \brief bit: 7 Endianness model */ - RESERVED(2:2, uint32_t) - uint32_t SW:1; /*!< \brief bit: 10 SWP and SWPB enable */ - uint32_t Z:1; /*!< \brief bit: 11 Branch prediction enable */ - uint32_t I:1; /*!< \brief bit: 12 Instruction cache enable */ - uint32_t V:1; /*!< \brief bit: 13 Vectors bit */ - uint32_t RR:1; /*!< \brief bit: 14 Round Robin select */ - RESERVED(3:2, uint32_t) - uint32_t HA:1; /*!< \brief bit: 17 Hardware Access flag enable */ - RESERVED(4:1, uint32_t) - uint32_t WXN:1; /*!< \brief bit: 19 Write permission implies XN */ - uint32_t UWXN:1; /*!< \brief bit: 20 Unprivileged write permission implies PL1 XN */ - uint32_t FI:1; /*!< \brief bit: 21 Fast interrupts configuration enable */ - uint32_t U:1; /*!< \brief bit: 22 Alignment model */ - RESERVED(5:1, uint32_t) - uint32_t VE:1; /*!< \brief bit: 24 Interrupt Vectors Enable */ - uint32_t EE:1; /*!< \brief bit: 25 Exception Endianness */ - RESERVED(6:1, uint32_t) - uint32_t NMFI:1; /*!< \brief bit: 27 Non-maskable FIQ (NMFI) support */ - uint32_t TRE:1; /*!< \brief bit: 28 TEX remap enable. */ - uint32_t AFE:1; /*!< \brief bit: 29 Access flag enable */ - uint32_t TE:1; /*!< \brief bit: 30 Thumb Exception enable */ - RESERVED(7:1, uint32_t) - } b; /*!< \brief Structure used for bit access */ - uint32_t w; /*!< \brief Type used for word access */ -} SCTLR_Type; - -#define SCTLR_TE_Pos 30U /*!< \brief SCTLR: TE Position */ -#define SCTLR_TE_Msk (1UL << SCTLR_TE_Pos) /*!< \brief SCTLR: TE Mask */ - -#define SCTLR_AFE_Pos 29U /*!< \brief SCTLR: AFE Position */ -#define SCTLR_AFE_Msk (1UL << SCTLR_AFE_Pos) /*!< \brief SCTLR: AFE Mask */ - -#define SCTLR_TRE_Pos 28U /*!< \brief SCTLR: TRE Position */ -#define SCTLR_TRE_Msk (1UL << SCTLR_TRE_Pos) /*!< \brief SCTLR: TRE Mask */ - -#define SCTLR_NMFI_Pos 27U /*!< \brief SCTLR: NMFI Position */ -#define SCTLR_NMFI_Msk (1UL << SCTLR_NMFI_Pos) /*!< \brief SCTLR: NMFI Mask */ - -#define SCTLR_EE_Pos 25U /*!< \brief SCTLR: EE Position */ -#define SCTLR_EE_Msk (1UL << SCTLR_EE_Pos) /*!< \brief SCTLR: EE Mask */ - -#define SCTLR_VE_Pos 24U /*!< \brief SCTLR: VE Position */ -#define SCTLR_VE_Msk (1UL << SCTLR_VE_Pos) /*!< \brief SCTLR: VE Mask */ - -#define SCTLR_U_Pos 22U /*!< \brief SCTLR: U Position */ -#define SCTLR_U_Msk (1UL << SCTLR_U_Pos) /*!< \brief SCTLR: U Mask */ - -#define SCTLR_FI_Pos 21U /*!< \brief SCTLR: FI Position */ -#define SCTLR_FI_Msk (1UL << SCTLR_FI_Pos) /*!< \brief SCTLR: FI Mask */ - -#define SCTLR_UWXN_Pos 20U /*!< \brief SCTLR: UWXN Position */ -#define SCTLR_UWXN_Msk (1UL << SCTLR_UWXN_Pos) /*!< \brief SCTLR: UWXN Mask */ - -#define SCTLR_WXN_Pos 19U /*!< \brief SCTLR: WXN Position */ -#define SCTLR_WXN_Msk (1UL << SCTLR_WXN_Pos) /*!< \brief SCTLR: WXN Mask */ - -#define SCTLR_HA_Pos 17U /*!< \brief SCTLR: HA Position */ -#define SCTLR_HA_Msk (1UL << SCTLR_HA_Pos) /*!< \brief SCTLR: HA Mask */ - -#define SCTLR_RR_Pos 14U /*!< \brief SCTLR: RR Position */ -#define SCTLR_RR_Msk (1UL << SCTLR_RR_Pos) /*!< \brief SCTLR: RR Mask */ - -#define SCTLR_V_Pos 13U /*!< \brief SCTLR: V Position */ -#define SCTLR_V_Msk (1UL << SCTLR_V_Pos) /*!< \brief SCTLR: V Mask */ - -#define SCTLR_I_Pos 12U /*!< \brief SCTLR: I Position */ -#define SCTLR_I_Msk (1UL << SCTLR_I_Pos) /*!< \brief SCTLR: I Mask */ - -#define SCTLR_Z_Pos 11U /*!< \brief SCTLR: Z Position */ -#define SCTLR_Z_Msk (1UL << SCTLR_Z_Pos) /*!< \brief SCTLR: Z Mask */ - -#define SCTLR_SW_Pos 10U /*!< \brief SCTLR: SW Position */ -#define SCTLR_SW_Msk (1UL << SCTLR_SW_Pos) /*!< \brief SCTLR: SW Mask */ - -#define SCTLR_B_Pos 7U /*!< \brief SCTLR: B Position */ -#define SCTLR_B_Msk (1UL << SCTLR_B_Pos) /*!< \brief SCTLR: B Mask */ - -#define SCTLR_CP15BEN_Pos 5U /*!< \brief SCTLR: CP15BEN Position */ -#define SCTLR_CP15BEN_Msk (1UL << SCTLR_CP15BEN_Pos) /*!< \brief SCTLR: CP15BEN Mask */ - -#define SCTLR_C_Pos 2U /*!< \brief SCTLR: C Position */ -#define SCTLR_C_Msk (1UL << SCTLR_C_Pos) /*!< \brief SCTLR: C Mask */ - -#define SCTLR_A_Pos 1U /*!< \brief SCTLR: A Position */ -#define SCTLR_A_Msk (1UL << SCTLR_A_Pos) /*!< \brief SCTLR: A Mask */ - -#define SCTLR_M_Pos 0U /*!< \brief SCTLR: M Position */ -#define SCTLR_M_Msk (1UL << SCTLR_M_Pos) /*!< \brief SCTLR: M Mask */ - -/* CP15 Register ACTLR */ -typedef union -{ -#if __CORTEX_A == 5 || defined(DOXYGEN) - /** \brief Structure used for bit access on Cortex-A5 */ - struct - { - uint32_t FW:1; /*!< \brief bit: 0 Cache and TLB maintenance broadcast */ - RESERVED(0:5, uint32_t) - uint32_t SMP:1; /*!< \brief bit: 6 Enables coherent requests to the processor */ - uint32_t EXCL:1; /*!< \brief bit: 7 Exclusive L1/L2 cache control */ - RESERVED(1:2, uint32_t) - uint32_t DODMBS:1; /*!< \brief bit: 10 Disable optimized data memory barrier behavior */ - uint32_t DWBST:1; /*!< \brief bit: 11 AXI data write bursts to Normal memory */ - uint32_t RADIS:1; /*!< \brief bit: 12 L1 Data Cache read-allocate mode disable */ - uint32_t L1PCTL:2; /*!< \brief bit:13..14 L1 Data prefetch control */ - uint32_t BP:2; /*!< \brief bit:16..15 Branch prediction policy */ - uint32_t RSDIS:1; /*!< \brief bit: 17 Disable return stack operation */ - uint32_t BTDIS:1; /*!< \brief bit: 18 Disable indirect Branch Target Address Cache (BTAC) */ - RESERVED(3:9, uint32_t) - uint32_t DBDI:1; /*!< \brief bit: 28 Disable branch dual issue */ - RESERVED(7:3, uint32_t) - } b; -#endif -#if __CORTEX_A == 7 || defined(DOXYGEN) - /** \brief Structure used for bit access on Cortex-A7 */ - struct - { - RESERVED(0:6, uint32_t) - uint32_t SMP:1; /*!< \brief bit: 6 Enables coherent requests to the processor */ - RESERVED(1:3, uint32_t) - uint32_t DODMBS:1; /*!< \brief bit: 10 Disable optimized data memory barrier behavior */ - uint32_t L2RADIS:1; /*!< \brief bit: 11 L2 Data Cache read-allocate mode disable */ - uint32_t L1RADIS:1; /*!< \brief bit: 12 L1 Data Cache read-allocate mode disable */ - uint32_t L1PCTL:2; /*!< \brief bit:13..14 L1 Data prefetch control */ - uint32_t DDVM:1; /*!< \brief bit: 15 Disable Distributed Virtual Memory (DVM) transactions */ - RESERVED(3:12, uint32_t) - uint32_t DDI:1; /*!< \brief bit: 28 Disable dual issue */ - RESERVED(7:3, uint32_t) - } b; -#endif -#if __CORTEX_A == 9 || defined(DOXYGEN) - /** \brief Structure used for bit access on Cortex-A9 */ - struct - { - uint32_t FW:1; /*!< \brief bit: 0 Cache and TLB maintenance broadcast */ - RESERVED(0:1, uint32_t) - uint32_t L1PE:1; /*!< \brief bit: 2 Dside prefetch */ - uint32_t WFLZM:1; /*!< \brief bit: 3 Cache and TLB maintenance broadcast */ - RESERVED(1:2, uint32_t) - uint32_t SMP:1; /*!< \brief bit: 6 Enables coherent requests to the processor */ - uint32_t EXCL:1; /*!< \brief bit: 7 Exclusive L1/L2 cache control */ - uint32_t AOW:1; /*!< \brief bit: 8 Enable allocation in one cache way only */ - uint32_t PARITY:1; /*!< \brief bit: 9 Support for parity checking, if implemented */ - RESERVED(7:22, uint32_t) - } b; -#endif - uint32_t w; /*!< \brief Type used for word access */ -} ACTLR_Type; - -#define ACTLR_DDI_Pos 28U /*!< \brief ACTLR: DDI Position */ -#define ACTLR_DDI_Msk (1UL << ACTLR_DDI_Pos) /*!< \brief ACTLR: DDI Mask */ - -#define ACTLR_DBDI_Pos 28U /*!< \brief ACTLR: DBDI Position */ -#define ACTLR_DBDI_Msk (1UL << ACTLR_DBDI_Pos) /*!< \brief ACTLR: DBDI Mask */ - -#define ACTLR_BTDIS_Pos 18U /*!< \brief ACTLR: BTDIS Position */ -#define ACTLR_BTDIS_Msk (1UL << ACTLR_BTDIS_Pos) /*!< \brief ACTLR: BTDIS Mask */ - -#define ACTLR_RSDIS_Pos 17U /*!< \brief ACTLR: RSDIS Position */ -#define ACTLR_RSDIS_Msk (1UL << ACTLR_RSDIS_Pos) /*!< \brief ACTLR: RSDIS Mask */ - -#define ACTLR_BP_Pos 15U /*!< \brief ACTLR: BP Position */ -#define ACTLR_BP_Msk (3UL << ACTLR_BP_Pos) /*!< \brief ACTLR: BP Mask */ - -#define ACTLR_DDVM_Pos 15U /*!< \brief ACTLR: DDVM Position */ -#define ACTLR_DDVM_Msk (1UL << ACTLR_DDVM_Pos) /*!< \brief ACTLR: DDVM Mask */ - -#define ACTLR_L1PCTL_Pos 13U /*!< \brief ACTLR: L1PCTL Position */ -#define ACTLR_L1PCTL_Msk (3UL << ACTLR_L1PCTL_Pos) /*!< \brief ACTLR: L1PCTL Mask */ - -#define ACTLR_RADIS_Pos 12U /*!< \brief ACTLR: RADIS Position */ -#define ACTLR_RADIS_Msk (1UL << ACTLR_RADIS_Pos) /*!< \brief ACTLR: RADIS Mask */ - -#define ACTLR_L1RADIS_Pos 12U /*!< \brief ACTLR: L1RADIS Position */ -#define ACTLR_L1RADIS_Msk (1UL << ACTLR_L1RADIS_Pos) /*!< \brief ACTLR: L1RADIS Mask */ - -#define ACTLR_DWBST_Pos 11U /*!< \brief ACTLR: DWBST Position */ -#define ACTLR_DWBST_Msk (1UL << ACTLR_DWBST_Pos) /*!< \brief ACTLR: DWBST Mask */ - -#define ACTLR_L2RADIS_Pos 11U /*!< \brief ACTLR: L2RADIS Position */ -#define ACTLR_L2RADIS_Msk (1UL << ACTLR_L2RADIS_Pos) /*!< \brief ACTLR: L2RADIS Mask */ - -#define ACTLR_DODMBS_Pos 10U /*!< \brief ACTLR: DODMBS Position */ -#define ACTLR_DODMBS_Msk (1UL << ACTLR_DODMBS_Pos) /*!< \brief ACTLR: DODMBS Mask */ - -#define ACTLR_PARITY_Pos 9U /*!< \brief ACTLR: PARITY Position */ -#define ACTLR_PARITY_Msk (1UL << ACTLR_PARITY_Pos) /*!< \brief ACTLR: PARITY Mask */ - -#define ACTLR_AOW_Pos 8U /*!< \brief ACTLR: AOW Position */ -#define ACTLR_AOW_Msk (1UL << ACTLR_AOW_Pos) /*!< \brief ACTLR: AOW Mask */ - -#define ACTLR_EXCL_Pos 7U /*!< \brief ACTLR: EXCL Position */ -#define ACTLR_EXCL_Msk (1UL << ACTLR_EXCL_Pos) /*!< \brief ACTLR: EXCL Mask */ - -#define ACTLR_SMP_Pos 6U /*!< \brief ACTLR: SMP Position */ -#define ACTLR_SMP_Msk (1UL << ACTLR_SMP_Pos) /*!< \brief ACTLR: SMP Mask */ - -#define ACTLR_WFLZM_Pos 3U /*!< \brief ACTLR: WFLZM Position */ -#define ACTLR_WFLZM_Msk (1UL << ACTLR_WFLZM_Pos) /*!< \brief ACTLR: WFLZM Mask */ - -#define ACTLR_L1PE_Pos 2U /*!< \brief ACTLR: L1PE Position */ -#define ACTLR_L1PE_Msk (1UL << ACTLR_L1PE_Pos) /*!< \brief ACTLR: L1PE Mask */ - -#define ACTLR_FW_Pos 0U /*!< \brief ACTLR: FW Position */ -#define ACTLR_FW_Msk (1UL << ACTLR_FW_Pos) /*!< \brief ACTLR: FW Mask */ - -/* CP15 Register CPACR */ -typedef union -{ - struct - { - uint32_t CP0:2; /*!< \brief bit: 0..1 Access rights for coprocessor 0 */ - uint32_t CP1:2; /*!< \brief bit: 2..3 Access rights for coprocessor 1 */ - uint32_t CP2:2; /*!< \brief bit: 4..5 Access rights for coprocessor 2 */ - uint32_t CP3:2; /*!< \brief bit: 6..7 Access rights for coprocessor 3 */ - uint32_t CP4:2; /*!< \brief bit: 8..9 Access rights for coprocessor 4 */ - uint32_t CP5:2; /*!< \brief bit:10..11 Access rights for coprocessor 5 */ - uint32_t CP6:2; /*!< \brief bit:12..13 Access rights for coprocessor 6 */ - uint32_t CP7:2; /*!< \brief bit:14..15 Access rights for coprocessor 7 */ - uint32_t CP8:2; /*!< \brief bit:16..17 Access rights for coprocessor 8 */ - uint32_t CP9:2; /*!< \brief bit:18..19 Access rights for coprocessor 9 */ - uint32_t CP10:2; /*!< \brief bit:20..21 Access rights for coprocessor 10 */ - uint32_t CP11:2; /*!< \brief bit:22..23 Access rights for coprocessor 11 */ - uint32_t CP12:2; /*!< \brief bit:24..25 Access rights for coprocessor 11 */ - uint32_t CP13:2; /*!< \brief bit:26..27 Access rights for coprocessor 11 */ - uint32_t TRCDIS:1; /*!< \brief bit: 28 Disable CP14 access to trace registers */ - RESERVED(0:1, uint32_t) - uint32_t D32DIS:1; /*!< \brief bit: 30 Disable use of registers D16-D31 of the VFP register file */ - uint32_t ASEDIS:1; /*!< \brief bit: 31 Disable Advanced SIMD Functionality */ - } b; /*!< \brief Structure used for bit access */ - uint32_t w; /*!< \brief Type used for word access */ -} CPACR_Type; - -#define CPACR_ASEDIS_Pos 31U /*!< \brief CPACR: ASEDIS Position */ -#define CPACR_ASEDIS_Msk (1UL << CPACR_ASEDIS_Pos) /*!< \brief CPACR: ASEDIS Mask */ - -#define CPACR_D32DIS_Pos 30U /*!< \brief CPACR: D32DIS Position */ -#define CPACR_D32DIS_Msk (1UL << CPACR_D32DIS_Pos) /*!< \brief CPACR: D32DIS Mask */ - -#define CPACR_TRCDIS_Pos 28U /*!< \brief CPACR: D32DIS Position */ -#define CPACR_TRCDIS_Msk (1UL << CPACR_D32DIS_Pos) /*!< \brief CPACR: D32DIS Mask */ - -#define CPACR_CP_Pos_(n) (n*2U) /*!< \brief CPACR: CPn Position */ -#define CPACR_CP_Msk_(n) (3UL << CPACR_CP_Pos_(n)) /*!< \brief CPACR: CPn Mask */ - -#define CPACR_CP_NA 0U /*!< \brief CPACR CPn field: Access denied. */ -#define CPACR_CP_PL1 1U /*!< \brief CPACR CPn field: Accessible from PL1 only. */ -#define CPACR_CP_FA 3U /*!< \brief CPACR CPn field: Full access. */ - -/* CP15 Register DFSR */ -typedef union -{ - struct - { - uint32_t FS0:4; /*!< \brief bit: 0.. 3 Fault Status bits bit 0-3 */ - uint32_t Domain:4; /*!< \brief bit: 4.. 7 Fault on which domain */ - RESERVED(0:1, uint32_t) - uint32_t LPAE:1; /*!< \brief bit: 9 Large Physical Address Extension */ - uint32_t FS1:1; /*!< \brief bit: 10 Fault Status bits bit 4 */ - uint32_t WnR:1; /*!< \brief bit: 11 Write not Read bit */ - uint32_t ExT:1; /*!< \brief bit: 12 External abort type */ - uint32_t CM:1; /*!< \brief bit: 13 Cache maintenance fault */ - RESERVED(1:18, uint32_t) - } s; /*!< \brief Structure used for bit access in short format */ - struct - { - uint32_t STATUS:5; /*!< \brief bit: 0.. 5 Fault Status bits */ - RESERVED(0:3, uint32_t) - uint32_t LPAE:1; /*!< \brief bit: 9 Large Physical Address Extension */ - RESERVED(1:1, uint32_t) - uint32_t WnR:1; /*!< \brief bit: 11 Write not Read bit */ - uint32_t ExT:1; /*!< \brief bit: 12 External abort type */ - uint32_t CM:1; /*!< \brief bit: 13 Cache maintenance fault */ - RESERVED(2:18, uint32_t) - } l; /*!< \brief Structure used for bit access in long format */ - uint32_t w; /*!< \brief Type used for word access */ -} DFSR_Type; - -#define DFSR_CM_Pos 13U /*!< \brief DFSR: CM Position */ -#define DFSR_CM_Msk (1UL << DFSR_CM_Pos) /*!< \brief DFSR: CM Mask */ - -#define DFSR_Ext_Pos 12U /*!< \brief DFSR: Ext Position */ -#define DFSR_Ext_Msk (1UL << DFSR_Ext_Pos) /*!< \brief DFSR: Ext Mask */ - -#define DFSR_WnR_Pos 11U /*!< \brief DFSR: WnR Position */ -#define DFSR_WnR_Msk (1UL << DFSR_WnR_Pos) /*!< \brief DFSR: WnR Mask */ - -#define DFSR_FS1_Pos 10U /*!< \brief DFSR: FS1 Position */ -#define DFSR_FS1_Msk (1UL << DFSR_FS1_Pos) /*!< \brief DFSR: FS1 Mask */ - -#define DFSR_LPAE_Pos 9U /*!< \brief DFSR: LPAE Position */ -#define DFSR_LPAE_Msk (1UL << DFSR_LPAE_Pos) /*!< \brief DFSR: LPAE Mask */ - -#define DFSR_Domain_Pos 4U /*!< \brief DFSR: Domain Position */ -#define DFSR_Domain_Msk (0xFUL << DFSR_Domain_Pos) /*!< \brief DFSR: Domain Mask */ - -#define DFSR_FS0_Pos 0U /*!< \brief DFSR: FS0 Position */ -#define DFSR_FS0_Msk (0xFUL << DFSR_FS0_Pos) /*!< \brief DFSR: FS0 Mask */ - -#define DFSR_STATUS_Pos 0U /*!< \brief DFSR: STATUS Position */ -#define DFSR_STATUS_Msk (0x3FUL << DFSR_STATUS_Pos) /*!< \brief DFSR: STATUS Mask */ - -/* CP15 Register IFSR */ -typedef union -{ - struct - { - uint32_t FS0:4; /*!< \brief bit: 0.. 3 Fault Status bits bit 0-3 */ - RESERVED(0:5, uint32_t) - uint32_t LPAE:1; /*!< \brief bit: 9 Large Physical Address Extension */ - uint32_t FS1:1; /*!< \brief bit: 10 Fault Status bits bit 4 */ - RESERVED(1:1, uint32_t) - uint32_t ExT:1; /*!< \brief bit: 12 External abort type */ - RESERVED(2:19, uint32_t) - } s; /*!< \brief Structure used for bit access in short format */ - struct - { - uint32_t STATUS:6; /*!< \brief bit: 0.. 5 Fault Status bits */ - RESERVED(0:3, uint32_t) - uint32_t LPAE:1; /*!< \brief bit: 9 Large Physical Address Extension */ - RESERVED(1:2, uint32_t) - uint32_t ExT:1; /*!< \brief bit: 12 External abort type */ - RESERVED(2:19, uint32_t) - } l; /*!< \brief Structure used for bit access in long format */ - uint32_t w; /*!< \brief Type used for word access */ -} IFSR_Type; - -#define IFSR_ExT_Pos 12U /*!< \brief IFSR: ExT Position */ -#define IFSR_ExT_Msk (1UL << IFSR_ExT_Pos) /*!< \brief IFSR: ExT Mask */ - -#define IFSR_FS1_Pos 10U /*!< \brief IFSR: FS1 Position */ -#define IFSR_FS1_Msk (1UL << IFSR_FS1_Pos) /*!< \brief IFSR: FS1 Mask */ - -#define IFSR_LPAE_Pos 9U /*!< \brief IFSR: LPAE Position */ -#define IFSR_LPAE_Msk (0x1UL << IFSR_LPAE_Pos) /*!< \brief IFSR: LPAE Mask */ - -#define IFSR_FS0_Pos 0U /*!< \brief IFSR: FS0 Position */ -#define IFSR_FS0_Msk (0xFUL << IFSR_FS0_Pos) /*!< \brief IFSR: FS0 Mask */ - -#define IFSR_STATUS_Pos 0U /*!< \brief IFSR: STATUS Position */ -#define IFSR_STATUS_Msk (0x3FUL << IFSR_STATUS_Pos) /*!< \brief IFSR: STATUS Mask */ - -/* CP15 Register ISR */ -typedef union -{ - struct - { - RESERVED(0:6, uint32_t) - uint32_t F:1; /*!< \brief bit: 6 FIQ pending bit */ - uint32_t I:1; /*!< \brief bit: 7 IRQ pending bit */ - uint32_t A:1; /*!< \brief bit: 8 External abort pending bit */ - RESERVED(1:23, uint32_t) - } b; /*!< \brief Structure used for bit access */ - uint32_t w; /*!< \brief Type used for word access */ -} ISR_Type; - -#define ISR_A_Pos 13U /*!< \brief ISR: A Position */ -#define ISR_A_Msk (1UL << ISR_A_Pos) /*!< \brief ISR: A Mask */ - -#define ISR_I_Pos 12U /*!< \brief ISR: I Position */ -#define ISR_I_Msk (1UL << ISR_I_Pos) /*!< \brief ISR: I Mask */ - -#define ISR_F_Pos 11U /*!< \brief ISR: F Position */ -#define ISR_F_Msk (1UL << ISR_F_Pos) /*!< \brief ISR: F Mask */ - -/* DACR Register */ -#define DACR_D_Pos_(n) (2U*n) /*!< \brief DACR: Dn Position */ -#define DACR_D_Msk_(n) (3UL << DACR_D_Pos_(n)) /*!< \brief DACR: Dn Mask */ -#define DACR_Dn_NOACCESS 0U /*!< \brief DACR Dn field: No access */ -#define DACR_Dn_CLIENT 1U /*!< \brief DACR Dn field: Client */ -#define DACR_Dn_MANAGER 3U /*!< \brief DACR Dn field: Manager */ - -/** - \brief Mask and shift a bit field value for use in a register bit range. - \param [in] field Name of the register bit field. - \param [in] value Value of the bit field. This parameter is interpreted as an uint32_t type. - \return Masked and shifted value. -*/ -#define _VAL2FLD(field, value) (((uint32_t)(value) << field ## _Pos) & field ## _Msk) - -/** - \brief Mask and shift a register value to extract a bit filed value. - \param [in] field Name of the register bit field. - \param [in] value Value of register. This parameter is interpreted as an uint32_t type. - \return Masked and shifted bit field value. -*/ -#define _FLD2VAL(field, value) (((uint32_t)(value) & field ## _Msk) >> field ## _Pos) - - -/** - \brief Union type to access the L2C_310 Cache Controller. -*/ -#if (__L2C_PRESENT == 1U) || defined(DOXYGEN) -typedef struct -{ - __IM uint32_t CACHE_ID; /*!< \brief Offset: 0x0000 (R/ ) Cache ID Register */ - __IM uint32_t CACHE_TYPE; /*!< \brief Offset: 0x0004 (R/ ) Cache Type Register */ - RESERVED(0[0x3e], uint32_t) - __IOM uint32_t CONTROL; /*!< \brief Offset: 0x0100 (R/W) Control Register */ - __IOM uint32_t AUX_CNT; /*!< \brief Offset: 0x0104 (R/W) Auxiliary Control */ - RESERVED(1[0x3e], uint32_t) - __IOM uint32_t EVENT_CONTROL; /*!< \brief Offset: 0x0200 (R/W) Event Counter Control */ - __IOM uint32_t EVENT_COUNTER1_CONF; /*!< \brief Offset: 0x0204 (R/W) Event Counter 1 Configuration */ - __IOM uint32_t EVENT_COUNTER0_CONF; /*!< \brief Offset: 0x0208 (R/W) Event Counter 1 Configuration */ - RESERVED(2[0x2], uint32_t) - __IOM uint32_t INTERRUPT_MASK; /*!< \brief Offset: 0x0214 (R/W) Interrupt Mask */ - __IM uint32_t MASKED_INT_STATUS; /*!< \brief Offset: 0x0218 (R/ ) Masked Interrupt Status */ - __IM uint32_t RAW_INT_STATUS; /*!< \brief Offset: 0x021c (R/ ) Raw Interrupt Status */ - __OM uint32_t INTERRUPT_CLEAR; /*!< \brief Offset: 0x0220 ( /W) Interrupt Clear */ - RESERVED(3[0x143], uint32_t) - __IOM uint32_t CACHE_SYNC; /*!< \brief Offset: 0x0730 (R/W) Cache Sync */ - RESERVED(4[0xf], uint32_t) - __IOM uint32_t INV_LINE_PA; /*!< \brief Offset: 0x0770 (R/W) Invalidate Line By PA */ - RESERVED(6[2], uint32_t) - __IOM uint32_t INV_WAY; /*!< \brief Offset: 0x077c (R/W) Invalidate by Way */ - RESERVED(5[0xc], uint32_t) - __IOM uint32_t CLEAN_LINE_PA; /*!< \brief Offset: 0x07b0 (R/W) Clean Line by PA */ - RESERVED(7[1], uint32_t) - __IOM uint32_t CLEAN_LINE_INDEX_WAY; /*!< \brief Offset: 0x07b8 (R/W) Clean Line by Index/Way */ - __IOM uint32_t CLEAN_WAY; /*!< \brief Offset: 0x07bc (R/W) Clean by Way */ - RESERVED(8[0xc], uint32_t) - __IOM uint32_t CLEAN_INV_LINE_PA; /*!< \brief Offset: 0x07f0 (R/W) Clean and Invalidate Line by PA */ - RESERVED(9[1], uint32_t) - __IOM uint32_t CLEAN_INV_LINE_INDEX_WAY; /*!< \brief Offset: 0x07f8 (R/W) Clean and Invalidate Line by Index/Way */ - __IOM uint32_t CLEAN_INV_WAY; /*!< \brief Offset: 0x07fc (R/W) Clean and Invalidate by Way */ - RESERVED(10[0x40], uint32_t) - __IOM uint32_t DATA_LOCK_0_WAY; /*!< \brief Offset: 0x0900 (R/W) Data Lockdown 0 by Way */ - __IOM uint32_t INST_LOCK_0_WAY; /*!< \brief Offset: 0x0904 (R/W) Instruction Lockdown 0 by Way */ - __IOM uint32_t DATA_LOCK_1_WAY; /*!< \brief Offset: 0x0908 (R/W) Data Lockdown 1 by Way */ - __IOM uint32_t INST_LOCK_1_WAY; /*!< \brief Offset: 0x090c (R/W) Instruction Lockdown 1 by Way */ - __IOM uint32_t DATA_LOCK_2_WAY; /*!< \brief Offset: 0x0910 (R/W) Data Lockdown 2 by Way */ - __IOM uint32_t INST_LOCK_2_WAY; /*!< \brief Offset: 0x0914 (R/W) Instruction Lockdown 2 by Way */ - __IOM uint32_t DATA_LOCK_3_WAY; /*!< \brief Offset: 0x0918 (R/W) Data Lockdown 3 by Way */ - __IOM uint32_t INST_LOCK_3_WAY; /*!< \brief Offset: 0x091c (R/W) Instruction Lockdown 3 by Way */ - __IOM uint32_t DATA_LOCK_4_WAY; /*!< \brief Offset: 0x0920 (R/W) Data Lockdown 4 by Way */ - __IOM uint32_t INST_LOCK_4_WAY; /*!< \brief Offset: 0x0924 (R/W) Instruction Lockdown 4 by Way */ - __IOM uint32_t DATA_LOCK_5_WAY; /*!< \brief Offset: 0x0928 (R/W) Data Lockdown 5 by Way */ - __IOM uint32_t INST_LOCK_5_WAY; /*!< \brief Offset: 0x092c (R/W) Instruction Lockdown 5 by Way */ - __IOM uint32_t DATA_LOCK_6_WAY; /*!< \brief Offset: 0x0930 (R/W) Data Lockdown 5 by Way */ - __IOM uint32_t INST_LOCK_6_WAY; /*!< \brief Offset: 0x0934 (R/W) Instruction Lockdown 5 by Way */ - __IOM uint32_t DATA_LOCK_7_WAY; /*!< \brief Offset: 0x0938 (R/W) Data Lockdown 6 by Way */ - __IOM uint32_t INST_LOCK_7_WAY; /*!< \brief Offset: 0x093c (R/W) Instruction Lockdown 6 by Way */ - RESERVED(11[0x4], uint32_t) - __IOM uint32_t LOCK_LINE_EN; /*!< \brief Offset: 0x0950 (R/W) Lockdown by Line Enable */ - __IOM uint32_t UNLOCK_ALL_BY_WAY; /*!< \brief Offset: 0x0954 (R/W) Unlock All Lines by Way */ - RESERVED(12[0xaa], uint32_t) - __IOM uint32_t ADDRESS_FILTER_START; /*!< \brief Offset: 0x0c00 (R/W) Address Filtering Start */ - __IOM uint32_t ADDRESS_FILTER_END; /*!< \brief Offset: 0x0c04 (R/W) Address Filtering End */ - RESERVED(13[0xce], uint32_t) - __IOM uint32_t DEBUG_CONTROL; /*!< \brief Offset: 0x0f40 (R/W) Debug Control Register */ -} L2C_310_TypeDef; - -#define L2C_310 ((L2C_310_TypeDef *)L2C_310_BASE) /*!< \brief L2C_310 register set access pointer */ -#endif - -#if (__GIC_PRESENT == 1U) || defined(DOXYGEN) - -/** \brief Structure type to access the Generic Interrupt Controller Distributor (GICD) -*/ -typedef struct -{ - __IOM uint32_t CTLR; /*!< \brief Offset: 0x000 (R/W) Distributor Control Register */ - __IM uint32_t TYPER; /*!< \brief Offset: 0x004 (R/ ) Interrupt Controller Type Register */ - __IM uint32_t IIDR; /*!< \brief Offset: 0x008 (R/ ) Distributor Implementer Identification Register */ - RESERVED(0, uint32_t) - __IOM uint32_t STATUSR; /*!< \brief Offset: 0x010 (R/W) Error Reporting Status Register, optional */ - RESERVED(1[11], uint32_t) - __OM uint32_t SETSPI_NSR; /*!< \brief Offset: 0x040 ( /W) Set SPI Register */ - RESERVED(2, uint32_t) - __OM uint32_t CLRSPI_NSR; /*!< \brief Offset: 0x048 ( /W) Clear SPI Register */ - RESERVED(3, uint32_t) - __OM uint32_t SETSPI_SR; /*!< \brief Offset: 0x050 ( /W) Set SPI, Secure Register */ - RESERVED(4, uint32_t) - __OM uint32_t CLRSPI_SR; /*!< \brief Offset: 0x058 ( /W) Clear SPI, Secure Register */ - RESERVED(5[9], uint32_t) - __IOM uint32_t IGROUPR[32]; /*!< \brief Offset: 0x080 (R/W) Interrupt Group Registers */ - __IOM uint32_t ISENABLER[32]; /*!< \brief Offset: 0x100 (R/W) Interrupt Set-Enable Registers */ - __IOM uint32_t ICENABLER[32]; /*!< \brief Offset: 0x180 (R/W) Interrupt Clear-Enable Registers */ - __IOM uint32_t ISPENDR[32]; /*!< \brief Offset: 0x200 (R/W) Interrupt Set-Pending Registers */ - __IOM uint32_t ICPENDR[32]; /*!< \brief Offset: 0x280 (R/W) Interrupt Clear-Pending Registers */ - __IOM uint32_t ISACTIVER[32]; /*!< \brief Offset: 0x300 (R/W) Interrupt Set-Active Registers */ - __IOM uint32_t ICACTIVER[32]; /*!< \brief Offset: 0x380 (R/W) Interrupt Clear-Active Registers */ - __IOM uint32_t IPRIORITYR[255]; /*!< \brief Offset: 0x400 (R/W) Interrupt Priority Registers */ - RESERVED(6, uint32_t) - __IOM uint32_t ITARGETSR[255]; /*!< \brief Offset: 0x800 (R/W) Interrupt Targets Registers */ - RESERVED(7, uint32_t) - __IOM uint32_t ICFGR[64]; /*!< \brief Offset: 0xC00 (R/W) Interrupt Configuration Registers */ - __IOM uint32_t IGRPMODR[32]; /*!< \brief Offset: 0xD00 (R/W) Interrupt Group Modifier Registers */ - RESERVED(8[32], uint32_t) - __IOM uint32_t NSACR[64]; /*!< \brief Offset: 0xE00 (R/W) Non-secure Access Control Registers */ - __OM uint32_t SGIR; /*!< \brief Offset: 0xF00 ( /W) Software Generated Interrupt Register */ - RESERVED(9[3], uint32_t) - __IOM uint32_t CPENDSGIR[4]; /*!< \brief Offset: 0xF10 (R/W) SGI Clear-Pending Registers */ - __IOM uint32_t SPENDSGIR[4]; /*!< \brief Offset: 0xF20 (R/W) SGI Set-Pending Registers */ - RESERVED(10[5236], uint32_t) - __IOM uint64_t IROUTER[988]; /*!< \brief Offset: 0x6100(R/W) Interrupt Routing Registers */ -} GICDistributor_Type; - -#define GICDistributor ((GICDistributor_Type *) GIC_DISTRIBUTOR_BASE ) /*!< \brief GIC Distributor register set access pointer */ - -/* GICDistributor CTLR Register */ -#define GICDistributor_CTLR_EnableGrp0_Pos 0U /*!< GICDistributor CTLR: EnableGrp0 Position */ -#define GICDistributor_CTLR_EnableGrp0_Msk (0x1U /*<< GICDistributor_CTLR_EnableGrp0_Pos*/) /*!< GICDistributor CTLR: EnableGrp0 Mask */ -#define GICDistributor_CTLR_EnableGrp0(x) (((uint32_t)(((uint32_t)(x)) /*<< GICDistributor_CTLR_EnableGrp0_Pos*/)) & GICDistributor_CTLR_EnableGrp0_Msk) - -#define GICDistributor_CTLR_EnableGrp1_Pos 1U /*!< GICDistributor CTLR: EnableGrp1 Position */ -#define GICDistributor_CTLR_EnableGrp1_Msk (0x1U << GICDistributor_CTLR_EnableGrp1_Pos) /*!< GICDistributor CTLR: EnableGrp1 Mask */ -#define GICDistributor_CTLR_EnableGrp1(x) (((uint32_t)(((uint32_t)(x)) << GICDistributor_CTLR_EnableGrp1_Pos)) & GICDistributor_CTLR_EnableGrp1_Msk) - -#define GICDistributor_CTLR_ARE_Pos 4U /*!< GICDistributor CTLR: ARE Position */ -#define GICDistributor_CTLR_ARE_Msk (0x1U << GICDistributor_CTLR_ARE_Pos) /*!< GICDistributor CTLR: ARE Mask */ -#define GICDistributor_CTLR_ARE(x) (((uint32_t)(((uint32_t)(x)) << GICDistributor_CTLR_ARE_Pos)) & GICDistributor_CTLR_ARE_Msk) - -#define GICDistributor_CTLR_DC_Pos 6U /*!< GICDistributor CTLR: DC Position */ -#define GICDistributor_CTLR_DC_Msk (0x1U << GICDistributor_CTLR_DC_Pos) /*!< GICDistributor CTLR: DC Mask */ -#define GICDistributor_CTLR_DC(x) (((uint32_t)(((uint32_t)(x)) << GICDistributor_CTLR_DC_Pos)) & GICDistributor_CTLR_DC_Msk) - -#define GICDistributor_CTLR_EINWF_Pos 7U /*!< GICDistributor CTLR: EINWF Position */ -#define GICDistributor_CTLR_EINWF_Msk (0x1U << GICDistributor_CTLR_EINWF_Pos) /*!< GICDistributor CTLR: EINWF Mask */ -#define GICDistributor_CTLR_EINWF(x) (((uint32_t)(((uint32_t)(x)) << GICDistributor_CTLR_EINWF_Pos)) & GICDistributor_CTLR_EINWF_Msk) - -#define GICDistributor_CTLR_RWP_Pos 31U /*!< GICDistributor CTLR: RWP Position */ -#define GICDistributor_CTLR_RWP_Msk (0x1U << GICDistributor_CTLR_RWP_Pos) /*!< GICDistributor CTLR: RWP Mask */ -#define GICDistributor_CTLR_RWP(x) (((uint32_t)(((uint32_t)(x)) << GICDistributor_CTLR_RWP_Pos)) & GICDistributor_CTLR_RWP_Msk) - -/* GICDistributor TYPER Register */ -#define GICDistributor_TYPER_ITLinesNumber_Pos 0U /*!< GICDistributor TYPER: ITLinesNumber Position */ -#define GICDistributor_TYPER_ITLinesNumber_Msk (0x1FU /*<< GICDistributor_TYPER_ITLinesNumber_Pos*/) /*!< GICDistributor TYPER: ITLinesNumber Mask */ -#define GICDistributor_TYPER_ITLinesNumber(x) (((uint32_t)(((uint32_t)(x)) /*<< GICDistributor_TYPER_ITLinesNumber_Pos*/)) & GICDistributor_CTLR_ITLinesNumber_Msk) - -#define GICDistributor_TYPER_CPUNumber_Pos 5U /*!< GICDistributor TYPER: CPUNumber Position */ -#define GICDistributor_TYPER_CPUNumber_Msk (0x7U << GICDistributor_TYPER_CPUNumber_Pos) /*!< GICDistributor TYPER: CPUNumber Mask */ -#define GICDistributor_TYPER_CPUNumber(x) (((uint32_t)(((uint32_t)(x)) << GICDistributor_TYPER_CPUNumber_Pos)) & GICDistributor_TYPER_CPUNumber_Msk) - -#define GICDistributor_TYPER_SecurityExtn_Pos 10U /*!< GICDistributor TYPER: SecurityExtn Position */ -#define GICDistributor_TYPER_SecurityExtn_Msk (0x1U << GICDistributor_TYPER_SecurityExtn_Pos) /*!< GICDistributor TYPER: SecurityExtn Mask */ -#define GICDistributor_TYPER_SecurityExtn(x) (((uint32_t)(((uint32_t)(x)) << GICDistributor_TYPER_SecurityExtn_Pos)) & GICDistributor_TYPER_SecurityExtn_Msk) - -#define GICDistributor_TYPER_LSPI_Pos 11U /*!< GICDistributor TYPER: LSPI Position */ -#define GICDistributor_TYPER_LSPI_Msk (0x1FU << GICDistributor_TYPER_LSPI_Pos) /*!< GICDistributor TYPER: LSPI Mask */ -#define GICDistributor_TYPER_LSPI(x) (((uint32_t)(((uint32_t)(x)) << GICDistributor_TYPER_LSPI_Pos)) & GICDistributor_TYPER_LSPI_Msk) - -/* GICDistributor IIDR Register */ -#define GICDistributor_IIDR_Implementer_Pos 0U /*!< GICDistributor IIDR: Implementer Position */ -#define GICDistributor_IIDR_Implementer_Msk (0xFFFU /*<< GICDistributor_IIDR_Implementer_Pos*/) /*!< GICDistributor IIDR: Implementer Mask */ -#define GICDistributor_IIDR_Implementer(x) (((uint32_t)(((uint32_t)(x)) /*<< GICDistributor_IIDR_Implementer_Pos*/)) & GICDistributor_IIDR_Implementer_Msk) - -#define GICDistributor_IIDR_Revision_Pos 12U /*!< GICDistributor IIDR: Revision Position */ -#define GICDistributor_IIDR_Revision_Msk (0xFU << GICDistributor_IIDR_Revision_Pos) /*!< GICDistributor IIDR: Revision Mask */ -#define GICDistributor_IIDR_Revision(x) (((uint32_t)(((uint32_t)(x)) << GICDistributor_IIDR_Revision_Pos)) & GICDistributor_IIDR_Revision_Msk) - -#define GICDistributor_IIDR_Variant_Pos 16U /*!< GICDistributor IIDR: Variant Position */ -#define GICDistributor_IIDR_Variant_Msk (0xFU << GICDistributor_IIDR_Variant_Pos) /*!< GICDistributor IIDR: Variant Mask */ -#define GICDistributor_IIDR_Variant(x) (((uint32_t)(((uint32_t)(x)) << GICDistributor_IIDR_Variant_Pos)) & GICDistributor_IIDR_Variant_Msk) - -#define GICDistributor_IIDR_ProductID_Pos 24U /*!< GICDistributor IIDR: ProductID Position */ -#define GICDistributor_IIDR_ProductID_Msk (0xFFU << GICDistributor_IIDR_ProductID_Pos) /*!< GICDistributor IIDR: ProductID Mask */ -#define GICDistributor_IIDR_ProductID(x) (((uint32_t)(((uint32_t)(x)) << GICDistributor_IIDR_ProductID_Pos)) & GICDistributor_IIDR_ProductID_Msk) - -/* GICDistributor STATUSR Register */ -#define GICDistributor_STATUSR_RRD_Pos 0U /*!< GICDistributor STATUSR: RRD Position */ -#define GICDistributor_STATUSR_RRD_Msk (0x1U /*<< GICDistributor_STATUSR_RRD_Pos*/) /*!< GICDistributor STATUSR: RRD Mask */ -#define GICDistributor_STATUSR_RRD(x) (((uint32_t)(((uint32_t)(x)) /*<< GICDistributor_STATUSR_RRD_Pos*/)) & GICDistributor_STATUSR_RRD_Msk) - -#define GICDistributor_STATUSR_WRD_Pos 1U /*!< GICDistributor STATUSR: WRD Position */ -#define GICDistributor_STATUSR_WRD_Msk (0x1U << GICDistributor_STATUSR_WRD_Pos) /*!< GICDistributor STATUSR: WRD Mask */ -#define GICDistributor_STATUSR_WRD(x) (((uint32_t)(((uint32_t)(x)) << GICDistributor_STATUSR_WRD_Pos)) & GICDistributor_STATUSR_WRD_Msk) - -#define GICDistributor_STATUSR_RWOD_Pos 2U /*!< GICDistributor STATUSR: RWOD Position */ -#define GICDistributor_STATUSR_RWOD_Msk (0x1U << GICDistributor_STATUSR_RWOD_Pos) /*!< GICDistributor STATUSR: RWOD Mask */ -#define GICDistributor_STATUSR_RWOD(x) (((uint32_t)(((uint32_t)(x)) << GICDistributor_STATUSR_RWOD_Pos)) & GICDistributor_STATUSR_RWOD_Msk) - -#define GICDistributor_STATUSR_WROD_Pos 3U /*!< GICDistributor STATUSR: WROD Position */ -#define GICDistributor_STATUSR_WROD_Msk (0x1U << GICDistributor_STATUSR_WROD_Pos) /*!< GICDistributor STATUSR: WROD Mask */ -#define GICDistributor_STATUSR_WROD(x) (((uint32_t)(((uint32_t)(x)) << GICDistributor_STATUSR_WROD_Pos)) & GICDistributor_STATUSR_WROD_Msk) - -/* GICDistributor SETSPI_NSR Register */ -#define GICDistributor_SETSPI_NSR_INTID_Pos 0U /*!< GICDistributor SETSPI_NSR: INTID Position */ -#define GICDistributor_SETSPI_NSR_INTID_Msk (0x3FFU /*<< GICDistributor_SETSPI_NSR_INTID_Pos*/) /*!< GICDistributor SETSPI_NSR: INTID Mask */ -#define GICDistributor_SETSPI_NSR_INTID(x) (((uint32_t)(((uint32_t)(x)) /*<< GICDistributor_SETSPI_NSR_INTID_Pos*/)) & GICDistributor_SETSPI_NSR_INTID_Msk) - -/* GICDistributor CLRSPI_NSR Register */ -#define GICDistributor_CLRSPI_NSR_INTID_Pos 0U /*!< GICDistributor CLRSPI_NSR: INTID Position */ -#define GICDistributor_CLRSPI_NSR_INTID_Msk (0x3FFU /*<< GICDistributor_CLRSPI_NSR_INTID_Pos*/) /*!< GICDistributor CLRSPI_NSR: INTID Mask */ -#define GICDistributor_CLRSPI_NSR_INTID(x) (((uint32_t)(((uint32_t)(x)) /*<< GICDistributor_CLRSPI_NSR_INTID_Pos*/)) & GICDistributor_CLRSPI_NSR_INTID_Msk) - -/* GICDistributor SETSPI_SR Register */ -#define GICDistributor_SETSPI_SR_INTID_Pos 0U /*!< GICDistributor SETSPI_SR: INTID Position */ -#define GICDistributor_SETSPI_SR_INTID_Msk (0x3FFU /*<< GICDistributor_SETSPI_SR_INTID_Pos*/) /*!< GICDistributor SETSPI_SR: INTID Mask */ -#define GICDistributor_SETSPI_SR_INTID(x) (((uint32_t)(((uint32_t)(x)) /*<< GICDistributor_SETSPI_SR_INTID_Pos*/)) & GICDistributor_SETSPI_SR_INTID_Msk) - -/* GICDistributor CLRSPI_SR Register */ -#define GICDistributor_CLRSPI_SR_INTID_Pos 0U /*!< GICDistributor CLRSPI_SR: INTID Position */ -#define GICDistributor_CLRSPI_SR_INTID_Msk (0x3FFU /*<< GICDistributor_CLRSPI_SR_INTID_Pos*/) /*!< GICDistributor CLRSPI_SR: INTID Mask */ -#define GICDistributor_CLRSPI_SR_INTID(x) (((uint32_t)(((uint32_t)(x)) /*<< GICDistributor_CLRSPI_SR_INTID_Pos*/)) & GICDistributor_CLRSPI_SR_INTID_Msk) - -/* GICDistributor ITARGETSR Register */ -#define GICDistributor_ITARGETSR_CPU0_Pos 0U /*!< GICDistributor ITARGETSR: CPU0 Position */ -#define GICDistributor_ITARGETSR_CPU0_Msk (0x1U /*<< GICDistributor_ITARGETSR_CPU0_Pos*/) /*!< GICDistributor ITARGETSR: CPU0 Mask */ -#define GICDistributor_ITARGETSR_CPU0(x) (((uint8_t)(((uint8_t)(x)) /*<< GICDistributor_ITARGETSR_CPU0_Pos*/)) & GICDistributor_ITARGETSR_CPU0_Msk) - -#define GICDistributor_ITARGETSR_CPU1_Pos 1U /*!< GICDistributor ITARGETSR: CPU1 Position */ -#define GICDistributor_ITARGETSR_CPU1_Msk (0x1U << GICDistributor_ITARGETSR_CPU1_Pos) /*!< GICDistributor ITARGETSR: CPU1 Mask */ -#define GICDistributor_ITARGETSR_CPU1(x) (((uint8_t)(((uint8_t)(x)) << GICDistributor_ITARGETSR_CPU1_Pos)) & GICDistributor_ITARGETSR_CPU1_Msk) - -#define GICDistributor_ITARGETSR_CPU2_Pos 2U /*!< GICDistributor ITARGETSR: CPU2 Position */ -#define GICDistributor_ITARGETSR_CPU2_Msk (0x1U << GICDistributor_ITARGETSR_CPU2_Pos) /*!< GICDistributor ITARGETSR: CPU2 Mask */ -#define GICDistributor_ITARGETSR_CPU2(x) (((uint8_t)(((uint8_t)(x)) << GICDistributor_ITARGETSR_CPU2_Pos)) & GICDistributor_ITARGETSR_CPU2_Msk) - -#define GICDistributor_ITARGETSR_CPU3_Pos 3U /*!< GICDistributor ITARGETSR: CPU3 Position */ -#define GICDistributor_ITARGETSR_CPU3_Msk (0x1U << GICDistributor_ITARGETSR_CPU3_Pos) /*!< GICDistributor ITARGETSR: CPU3 Mask */ -#define GICDistributor_ITARGETSR_CPU3(x) (((uint8_t)(((uint8_t)(x)) << GICDistributor_ITARGETSR_CPU3_Pos)) & GICDistributor_ITARGETSR_CPU3_Msk) - -#define GICDistributor_ITARGETSR_CPU4_Pos 4U /*!< GICDistributor ITARGETSR: CPU4 Position */ -#define GICDistributor_ITARGETSR_CPU4_Msk (0x1U << GICDistributor_ITARGETSR_CPU4_Pos) /*!< GICDistributor ITARGETSR: CPU4 Mask */ -#define GICDistributor_ITARGETSR_CPU4(x) (((uint8_t)(((uint8_t)(x)) << GICDistributor_ITARGETSR_CPU4_Pos)) & GICDistributor_ITARGETSR_CPU4_Msk) - -#define GICDistributor_ITARGETSR_CPU5_Pos 5U /*!< GICDistributor ITARGETSR: CPU5 Position */ -#define GICDistributor_ITARGETSR_CPU5_Msk (0x1U << GICDistributor_ITARGETSR_CPU5_Pos) /*!< GICDistributor ITARGETSR: CPU5 Mask */ -#define GICDistributor_ITARGETSR_CPU5(x) (((uint8_t)(((uint8_t)(x)) << GICDistributor_ITARGETSR_CPU5_Pos)) & GICDistributor_ITARGETSR_CPU5_Msk) - -#define GICDistributor_ITARGETSR_CPU6_Pos 6U /*!< GICDistributor ITARGETSR: CPU6 Position */ -#define GICDistributor_ITARGETSR_CPU6_Msk (0x1U << GICDistributor_ITARGETSR_CPU6_Pos) /*!< GICDistributor ITARGETSR: CPU6 Mask */ -#define GICDistributor_ITARGETSR_CPU6(x) (((uint8_t)(((uint8_t)(x)) << GICDistributor_ITARGETSR_CPU6_Pos)) & GICDistributor_ITARGETSR_CPU6_Msk) - -#define GICDistributor_ITARGETSR_CPU7_Pos 7U /*!< GICDistributor ITARGETSR: CPU7 Position */ -#define GICDistributor_ITARGETSR_CPU7_Msk (0x1U << GICDistributor_ITARGETSR_CPU7_Pos) /*!< GICDistributor ITARGETSR: CPU7 Mask */ -#define GICDistributor_ITARGETSR_CPU7(x) (((uint8_t)(((uint8_t)(x)) << GICDistributor_ITARGETSR_CPU7_Pos)) & GICDistributor_ITARGETSR_CPU7_Msk) - -/* GICDistributor SGIR Register */ -#define GICDistributor_SGIR_INTID_Pos 0U /*!< GICDistributor SGIR: INTID Position */ -#define GICDistributor_SGIR_INTID_Msk (0x7U /*<< GICDistributor_SGIR_INTID_Pos*/) /*!< GICDistributor SGIR: INTID Mask */ -#define GICDistributor_SGIR_INTID(x) (((uint32_t)(((uint32_t)(x)) /*<< GICDistributor_SGIR_INTID_Pos*/)) & GICDistributor_SGIR_INTID_Msk) - -#define GICDistributor_SGIR_NSATT_Pos 15U /*!< GICDistributor SGIR: NSATT Position */ -#define GICDistributor_SGIR_NSATT_Msk (0x1U << GICDistributor_SGIR_NSATT_Pos) /*!< GICDistributor SGIR: NSATT Mask */ -#define GICDistributor_SGIR_NSATT(x) (((uint32_t)(((uint32_t)(x)) << GICDistributor_SGIR_NSATT_Pos)) & GICDistributor_SGIR_NSATT_Msk) - -#define GICDistributor_SGIR_CPUTargetList_Pos 16U /*!< GICDistributor SGIR: CPUTargetList Position */ -#define GICDistributor_SGIR_CPUTargetList_Msk (0xFFU << GICDistributor_SGIR_CPUTargetList_Pos) /*!< GICDistributor SGIR: CPUTargetList Mask */ -#define GICDistributor_SGIR_CPUTargetList(x) (((uint32_t)(((uint32_t)(x)) << GICDistributor_SGIR_CPUTargetList_Pos)) & GICDistributor_SGIR_CPUTargetList_Msk) - -#define GICDistributor_SGIR_TargetFilterList_Pos 24U /*!< GICDistributor SGIR: TargetFilterList Position */ -#define GICDistributor_SGIR_TargetFilterList_Msk (0x3U << GICDistributor_SGIR_TargetFilterList_Pos) /*!< GICDistributor SGIR: TargetFilterList Mask */ -#define GICDistributor_SGIR_TargetFilterList(x) (((uint32_t)(((uint32_t)(x)) << GICDistributor_SGIR_TargetFilterList_Pos)) & GICDistributor_SGIR_TargetFilterList_Msk) - -/* GICDistributor IROUTER Register */ -#define GICDistributor_IROUTER_Aff0_Pos 0UL /*!< GICDistributor IROUTER: Aff0 Position */ -#define GICDistributor_IROUTER_Aff0_Msk (0xFFUL /*<< GICDistributor_IROUTER_Aff0_Pos*/) /*!< GICDistributor IROUTER: Aff0 Mask */ -#define GICDistributor_IROUTER_Aff0(x) (((uint64_t)(((uint64_t)(x)) /*<< GICDistributor_IROUTER_Aff0_Pos*/)) & GICDistributor_IROUTER_Aff0_Msk) - -#define GICDistributor_IROUTER_Aff1_Pos 8UL /*!< GICDistributor IROUTER: Aff1 Position */ -#define GICDistributor_IROUTER_Aff1_Msk (0xFFUL << GICDistributor_IROUTER_Aff1_Pos) /*!< GICDistributor IROUTER: Aff1 Mask */ -#define GICDistributor_IROUTER_Aff1(x) (((uint64_t)(((uint64_t)(x)) << GICDistributor_IROUTER_Aff1_Pos)) & GICDistributor_IROUTER_Aff1_Msk) - -#define GICDistributor_IROUTER_Aff2_Pos 16UL /*!< GICDistributor IROUTER: Aff2 Position */ -#define GICDistributor_IROUTER_Aff2_Msk (0xFFUL << GICDistributor_IROUTER_Aff2_Pos) /*!< GICDistributor IROUTER: Aff2 Mask */ -#define GICDistributor_IROUTER_Aff2(x) (((uint64_t)(((uint64_t)(x)) << GICDistributor_IROUTER_Aff2_Pos)) & GICDistributor_IROUTER_Aff2_Msk) - -#define GICDistributor_IROUTER_IRM_Pos 31UL /*!< GICDistributor IROUTER: IRM Position */ -#define GICDistributor_IROUTER_IRM_Msk (0xFFUL << GICDistributor_IROUTER_IRM_Pos) /*!< GICDistributor IROUTER: IRM Mask */ -#define GICDistributor_IROUTER_IRM(x) (((uint64_t)(((uint64_t)(x)) << GICDistributor_IROUTER_IRM_Pos)) & GICDistributor_IROUTER_IRM_Msk) - -#define GICDistributor_IROUTER_Aff3_Pos 32UL /*!< GICDistributor IROUTER: Aff3 Position */ -#define GICDistributor_IROUTER_Aff3_Msk (0xFFUL << GICDistributor_IROUTER_Aff3_Pos) /*!< GICDistributor IROUTER: Aff3 Mask */ -#define GICDistributor_IROUTER_Aff3(x) (((uint64_t)(((uint64_t)(x)) << GICDistributor_IROUTER_Aff3_Pos)) & GICDistributor_IROUTER_Aff3_Msk) - - - -/** \brief Structure type to access the Generic Interrupt Controller Interface (GICC) -*/ -typedef struct -{ - __IOM uint32_t CTLR; /*!< \brief Offset: 0x000 (R/W) CPU Interface Control Register */ - __IOM uint32_t PMR; /*!< \brief Offset: 0x004 (R/W) Interrupt Priority Mask Register */ - __IOM uint32_t BPR; /*!< \brief Offset: 0x008 (R/W) Binary Point Register */ - __IM uint32_t IAR; /*!< \brief Offset: 0x00C (R/ ) Interrupt Acknowledge Register */ - __OM uint32_t EOIR; /*!< \brief Offset: 0x010 ( /W) End Of Interrupt Register */ - __IM uint32_t RPR; /*!< \brief Offset: 0x014 (R/ ) Running Priority Register */ - __IM uint32_t HPPIR; /*!< \brief Offset: 0x018 (R/ ) Highest Priority Pending Interrupt Register */ - __IOM uint32_t ABPR; /*!< \brief Offset: 0x01C (R/W) Aliased Binary Point Register */ - __IM uint32_t AIAR; /*!< \brief Offset: 0x020 (R/ ) Aliased Interrupt Acknowledge Register */ - __OM uint32_t AEOIR; /*!< \brief Offset: 0x024 ( /W) Aliased End Of Interrupt Register */ - __IM uint32_t AHPPIR; /*!< \brief Offset: 0x028 (R/ ) Aliased Highest Priority Pending Interrupt Register */ - __IOM uint32_t STATUSR; /*!< \brief Offset: 0x02C (R/W) Error Reporting Status Register, optional */ - RESERVED(1[40], uint32_t) - __IOM uint32_t APR[4]; /*!< \brief Offset: 0x0D0 (R/W) Active Priority Register */ - __IOM uint32_t NSAPR[4]; /*!< \brief Offset: 0x0E0 (R/W) Non-secure Active Priority Register */ - RESERVED(2[3], uint32_t) - __IM uint32_t IIDR; /*!< \brief Offset: 0x0FC (R/ ) CPU Interface Identification Register */ - RESERVED(3[960], uint32_t) - __OM uint32_t DIR; /*!< \brief Offset: 0x1000( /W) Deactivate Interrupt Register */ -} GICInterface_Type; - -#define GICInterface ((GICInterface_Type *) GIC_INTERFACE_BASE ) /*!< \brief GIC Interface register set access pointer */ - -/* GICInterface CTLR Register */ -#define GICInterface_CTLR_Enable_Pos 0U /*!< PTIM CTLR: Enable Position */ -#define GICInterface_CTLR_Enable_Msk (0x1U /*<< GICInterface_CTLR_Enable_Pos*/) /*!< PTIM CTLR: Enable Mask */ -#define GICInterface_CTLR_Enable(x) (((uint32_t)(((uint32_t)(x)) /*<< GICInterface_CTLR_Enable_Pos*/)) & GICInterface_CTLR_Enable_Msk) - -/* GICInterface PMR Register */ -#define GICInterface_PMR_Priority_Pos 0U /*!< PTIM PMR: Priority Position */ -#define GICInterface_PMR_Priority_Msk (0xFFU /*<< GICInterface_PMR_Priority_Pos*/) /*!< PTIM PMR: Priority Mask */ -#define GICInterface_PMR_Priority(x) (((uint32_t)(((uint32_t)(x)) /*<< GICInterface_PMR_Priority_Pos*/)) & GICInterface_PMR_Priority_Msk) - -/* GICInterface BPR Register */ -#define GICInterface_BPR_Binary_Point_Pos 0U /*!< PTIM BPR: Binary_Point Position */ -#define GICInterface_BPR_Binary_Point_Msk (0x7U /*<< GICInterface_BPR_Binary_Point_Pos*/) /*!< PTIM BPR: Binary_Point Mask */ -#define GICInterface_BPR_Binary_Point(x) (((uint32_t)(((uint32_t)(x)) /*<< GICInterface_BPR_Binary_Point_Pos*/)) & GICInterface_BPR_Binary_Point_Msk) - -/* GICInterface IAR Register */ -#define GICInterface_IAR_INTID_Pos 0U /*!< PTIM IAR: INTID Position */ -#define GICInterface_IAR_INTID_Msk (0xFFFFFFU /*<< GICInterface_IAR_INTID_Pos*/) /*!< PTIM IAR: INTID Mask */ -#define GICInterface_IAR_INTID(x) (((uint32_t)(((uint32_t)(x)) /*<< GICInterface_IAR_INTID_Pos*/)) & GICInterface_IAR_INTID_Msk) - -/* GICInterface EOIR Register */ -#define GICInterface_EOIR_INTID_Pos 0U /*!< PTIM EOIR: INTID Position */ -#define GICInterface_EOIR_INTID_Msk (0xFFFFFFU /*<< GICInterface_EOIR_INTID_Pos*/) /*!< PTIM EOIR: INTID Mask */ -#define GICInterface_EOIR_INTID(x) (((uint32_t)(((uint32_t)(x)) /*<< GICInterface_EOIR_INTID_Pos*/)) & GICInterface_EOIR_INTID_Msk) - -/* GICInterface RPR Register */ -#define GICInterface_RPR_INTID_Pos 0U /*!< PTIM RPR: INTID Position */ -#define GICInterface_RPR_INTID_Msk (0xFFU /*<< GICInterface_RPR_INTID_Pos*/) /*!< PTIM RPR: INTID Mask */ -#define GICInterface_RPR_INTID(x) (((uint32_t)(((uint32_t)(x)) /*<< GICInterface_RPR_INTID_Pos*/)) & GICInterface_RPR_INTID_Msk) - -/* GICInterface HPPIR Register */ -#define GICInterface_HPPIR_INTID_Pos 0U /*!< PTIM HPPIR: INTID Position */ -#define GICInterface_HPPIR_INTID_Msk (0xFFFFFFU /*<< GICInterface_HPPIR_INTID_Pos*/) /*!< PTIM HPPIR: INTID Mask */ -#define GICInterface_HPPIR_INTID(x) (((uint32_t)(((uint32_t)(x)) /*<< GICInterface_HPPIR_INTID_Pos*/)) & GICInterface_HPPIR_INTID_Msk) - -/* GICInterface ABPR Register */ -#define GICInterface_ABPR_Binary_Point_Pos 0U /*!< PTIM ABPR: Binary_Point Position */ -#define GICInterface_ABPR_Binary_Point_Msk (0x7U /*<< GICInterface_ABPR_Binary_Point_Pos*/) /*!< PTIM ABPR: Binary_Point Mask */ -#define GICInterface_ABPR_Binary_Point(x) (((uint32_t)(((uint32_t)(x)) /*<< GICInterface_ABPR_Binary_Point_Pos*/)) & GICInterface_ABPR_Binary_Point_Msk) - -/* GICInterface AIAR Register */ -#define GICInterface_AIAR_INTID_Pos 0U /*!< PTIM AIAR: INTID Position */ -#define GICInterface_AIAR_INTID_Msk (0xFFFFFFU /*<< GICInterface_AIAR_INTID_Pos*/) /*!< PTIM AIAR: INTID Mask */ -#define GICInterface_AIAR_INTID(x) (((uint32_t)(((uint32_t)(x)) /*<< GICInterface_AIAR_INTID_Pos*/)) & GICInterface_AIAR_INTID_Msk) - -/* GICInterface AEOIR Register */ -#define GICInterface_AEOIR_INTID_Pos 0U /*!< PTIM AEOIR: INTID Position */ -#define GICInterface_AEOIR_INTID_Msk (0xFFFFFFU /*<< GICInterface_AEOIR_INTID_Pos*/) /*!< PTIM AEOIR: INTID Mask */ -#define GICInterface_AEOIR_INTID(x) (((uint32_t)(((uint32_t)(x)) /*<< GICInterface_AEOIR_INTID_Pos*/)) & GICInterface_AEOIR_INTID_Msk) - -/* GICInterface AHPPIR Register */ -#define GICInterface_AHPPIR_INTID_Pos 0U /*!< PTIM AHPPIR: INTID Position */ -#define GICInterface_AHPPIR_INTID_Msk (0xFFFFFFU /*<< GICInterface_AHPPIR_INTID_Pos*/) /*!< PTIM AHPPIR: INTID Mask */ -#define GICInterface_AHPPIR_INTID(x) (((uint32_t)(((uint32_t)(x)) /*<< GICInterface_AHPPIR_INTID_Pos*/)) & GICInterface_AHPPIR_INTID_Msk) - -/* GICInterface STATUSR Register */ -#define GICInterface_STATUSR_RRD_Pos 0U /*!< GICInterface STATUSR: RRD Position */ -#define GICInterface_STATUSR_RRD_Msk (0x1U /*<< GICInterface_STATUSR_RRD_Pos*/) /*!< GICInterface STATUSR: RRD Mask */ -#define GICInterface_STATUSR_RRD(x) (((uint32_t)(((uint32_t)(x)) /*<< GICInterface_STATUSR_RRD_Pos*/)) & GICInterface_STATUSR_RRD_Msk) - -#define GICInterface_STATUSR_WRD_Pos 1U /*!< GICInterface STATUSR: WRD Position */ -#define GICInterface_STATUSR_WRD_Msk (0x1U << GICInterface_STATUSR_WRD_Pos) /*!< GICInterface STATUSR: WRD Mask */ -#define GICInterface_STATUSR_WRD(x) (((uint32_t)(((uint32_t)(x)) << GICInterface_STATUSR_WRD_Pos)) & GICInterface_STATUSR_WRD_Msk) - -#define GICInterface_STATUSR_RWOD_Pos 2U /*!< GICInterface STATUSR: RWOD Position */ -#define GICInterface_STATUSR_RWOD_Msk (0x1U << GICInterface_STATUSR_RWOD_Pos) /*!< GICInterface STATUSR: RWOD Mask */ -#define GICInterface_STATUSR_RWOD(x) (((uint32_t)(((uint32_t)(x)) << GICInterface_STATUSR_RWOD_Pos)) & GICInterface_STATUSR_RWOD_Msk) - -#define GICInterface_STATUSR_WROD_Pos 3U /*!< GICInterface STATUSR: WROD Position */ -#define GICInterface_STATUSR_WROD_Msk (0x1U << GICInterface_STATUSR_WROD_Pos) /*!< GICInterface STATUSR: WROD Mask */ -#define GICInterface_STATUSR_WROD(x) (((uint32_t)(((uint32_t)(x)) << GICInterface_STATUSR_WROD_Pos)) & GICInterface_STATUSR_WROD_Msk) - -#define GICInterface_STATUSR_ASV_Pos 4U /*!< GICInterface STATUSR: ASV Position */ -#define GICInterface_STATUSR_ASV_Msk (0x1U << GICInterface_STATUSR_ASV_Pos) /*!< GICInterface STATUSR: ASV Mask */ -#define GICInterface_STATUSR_ASV(x) (((uint32_t)(((uint32_t)(x)) << GICInterface_STATUSR_ASV_Pos)) & GICInterface_STATUSR_ASV_Msk) - -/* GICInterface IIDR Register */ -#define GICInterface_IIDR_Implementer_Pos 0U /*!< GICInterface IIDR: Implementer Position */ -#define GICInterface_IIDR_Implementer_Msk (0xFFFU /*<< GICInterface_IIDR_Implementer_Pos*/) /*!< GICInterface IIDR: Implementer Mask */ -#define GICInterface_IIDR_Implementer(x) (((uint32_t)(((uint32_t)(x)) /*<< GICInterface_IIDR_Implementer_Pos*/)) & GICInterface_IIDR_Implementer_Msk) - -#define GICInterface_IIDR_Revision_Pos 12U /*!< GICInterface IIDR: Revision Position */ -#define GICInterface_IIDR_Revision_Msk (0xFU << GICInterface_IIDR_Revision_Pos) /*!< GICInterface IIDR: Revision Mask */ -#define GICInterface_IIDR_Revision(x) (((uint32_t)(((uint32_t)(x)) << GICInterface_IIDR_Revision_Pos)) & GICInterface_IIDR_Revision_Msk) - -#define GICInterface_IIDR_Arch_version_Pos 16U /*!< GICInterface IIDR: Arch_version Position */ -#define GICInterface_IIDR_Arch_version_Msk (0xFU << GICInterface_IIDR_Arch_version_Pos) /*!< GICInterface IIDR: Arch_version Mask */ -#define GICInterface_IIDR_Arch_version(x) (((uint32_t)(((uint32_t)(x)) << GICInterface_IIDR_Arch_version_Pos)) & GICInterface_IIDR_Arch_version_Msk) - -#define GICInterface_IIDR_ProductID_Pos 20U /*!< GICInterface IIDR: ProductID Position */ -#define GICInterface_IIDR_ProductID_Msk (0xFFFU << GICInterface_IIDR_ProductID_Pos) /*!< GICInterface IIDR: ProductID Mask */ -#define GICInterface_IIDR_ProductID(x) (((uint32_t)(((uint32_t)(x)) << GICInterface_IIDR_ProductID_Pos)) & GICInterface_IIDR_ProductID_Msk) - -/* GICInterface DIR Register */ -#define GICInterface_DIR_INTID_Pos 0U /*!< PTIM DIR: INTID Position */ -#define GICInterface_DIR_INTID_Msk (0xFFFFFFU /*<< GICInterface_DIR_INTID_Pos*/) /*!< PTIM DIR: INTID Mask */ -#define GICInterface_DIR_INTID(x) (((uint32_t)(((uint32_t)(x)) /*<< GICInterface_DIR_INTID_Pos*/)) & GICInterface_DIR_INTID_Msk) -#endif /* (__GIC_PRESENT == 1U) || defined(DOXYGEN) */ - -#if (__TIM_PRESENT == 1U) || defined(DOXYGEN) -#if ((__CORTEX_A == 5U) || (__CORTEX_A == 9U)) || defined(DOXYGEN) -/** \brief Structure type to access the Private Timer -*/ -typedef struct -{ - __IOM uint32_t LOAD; //!< \brief Offset: 0x000 (R/W) Private Timer Load Register - __IOM uint32_t COUNTER; //!< \brief Offset: 0x004 (R/W) Private Timer Counter Register - __IOM uint32_t CONTROL; //!< \brief Offset: 0x008 (R/W) Private Timer Control Register - __IOM uint32_t ISR; //!< \brief Offset: 0x00C (R/W) Private Timer Interrupt Status Register - RESERVED(0[4], uint32_t) - __IOM uint32_t WLOAD; //!< \brief Offset: 0x020 (R/W) Watchdog Load Register - __IOM uint32_t WCOUNTER; //!< \brief Offset: 0x024 (R/W) Watchdog Counter Register - __IOM uint32_t WCONTROL; //!< \brief Offset: 0x028 (R/W) Watchdog Control Register - __IOM uint32_t WISR; //!< \brief Offset: 0x02C (R/W) Watchdog Interrupt Status Register - __IOM uint32_t WRESET; //!< \brief Offset: 0x030 (R/W) Watchdog Reset Status Register - __OM uint32_t WDISABLE; //!< \brief Offset: 0x034 ( /W) Watchdog Disable Register -} Timer_Type; -#define PTIM ((Timer_Type *) TIMER_BASE ) /*!< \brief Timer register struct */ - -/* PTIM Control Register */ -#define PTIM_CONTROL_Enable_Pos 0U /*!< PTIM CONTROL: Enable Position */ -#define PTIM_CONTROL_Enable_Msk (0x1U /*<< PTIM_CONTROL_Enable_Pos*/) /*!< PTIM CONTROL: Enable Mask */ -#define PTIM_CONTROL_Enable(x) (((uint32_t)(((uint32_t)(x)) /*<< PTIM_CONTROL_Enable_Pos*/)) & PTIM_CONTROL_Enable_Msk) - -#define PTIM_CONTROL_AutoReload_Pos 1U /*!< PTIM CONTROL: Auto Reload Position */ -#define PTIM_CONTROL_AutoReload_Msk (0x1U << PTIM_CONTROL_AutoReload_Pos) /*!< PTIM CONTROL: Auto Reload Mask */ -#define PTIM_CONTROL_AutoReload(x) (((uint32_t)(((uint32_t)(x)) << PTIM_CONTROL_AutoReload_Pos)) & PTIM_CONTROL_AutoReload_Msk) - -#define PTIM_CONTROL_IRQenable_Pos 2U /*!< PTIM CONTROL: IRQ Enabel Position */ -#define PTIM_CONTROL_IRQenable_Msk (0x1U << PTIM_CONTROL_IRQenable_Pos) /*!< PTIM CONTROL: IRQ Enabel Mask */ -#define PTIM_CONTROL_IRQenable(x) (((uint32_t)(((uint32_t)(x)) << PTIM_CONTROL_IRQenable_Pos)) & PTIM_CONTROL_IRQenable_Msk) - -#define PTIM_CONTROL_Prescaler_Pos 8U /*!< PTIM CONTROL: Prescaler Position */ -#define PTIM_CONTROL_Prescaler_Msk (0xFFU << PTIM_CONTROL_Prescaler_Pos) /*!< PTIM CONTROL: Prescaler Mask */ -#define PTIM_CONTROL_Prescaler(x) (((uint32_t)(((uint32_t)(x)) << PTIM_CONTROL_Prescaler_Pos)) & PTIM_CONTROL_Prescaler_Msk) - -/* WCONTROL Watchdog Control Register */ -#define PTIM_WCONTROL_Enable_Pos 0U /*!< PTIM WCONTROL: Enable Position */ -#define PTIM_WCONTROL_Enable_Msk (0x1U /*<< PTIM_WCONTROL_Enable_Pos*/) /*!< PTIM WCONTROL: Enable Mask */ -#define PTIM_WCONTROL_Enable(x) (((uint32_t)(((uint32_t)(x)) /*<< PTIM_WCONTROL_Enable_Pos*/)) & PTIM_WCONTROL_Enable_Msk) - -#define PTIM_WCONTROL_AutoReload_Pos 1U /*!< PTIM WCONTROL: Auto Reload Position */ -#define PTIM_WCONTROL_AutoReload_Msk (0x1U << PTIM_WCONTROL_AutoReload_Pos) /*!< PTIM WCONTROL: Auto Reload Mask */ -#define PTIM_WCONTROL_AutoReload(x) (((uint32_t)(((uint32_t)(x)) << PTIM_WCONTROL_AutoReload_Pos)) & PTIM_WCONTROL_AutoReload_Msk) - -#define PTIM_WCONTROL_IRQenable_Pos 2U /*!< PTIM WCONTROL: IRQ Enable Position */ -#define PTIM_WCONTROL_IRQenable_Msk (0x1U << PTIM_WCONTROL_IRQenable_Pos) /*!< PTIM WCONTROL: IRQ Enable Mask */ -#define PTIM_WCONTROL_IRQenable(x) (((uint32_t)(((uint32_t)(x)) << PTIM_WCONTROL_IRQenable_Pos)) & PTIM_WCONTROL_IRQenable_Msk) - -#define PTIM_WCONTROL_Mode_Pos 3U /*!< PTIM WCONTROL: Watchdog Mode Position */ -#define PTIM_WCONTROL_Mode_Msk (0x1U << PTIM_WCONTROL_Mode_Pos) /*!< PTIM WCONTROL: Watchdog Mode Mask */ -#define PTIM_WCONTROL_Mode(x) (((uint32_t)(((uint32_t)(x)) << PTIM_WCONTROL_Mode_Pos)) & PTIM_WCONTROL_Mode_Msk) - -#define PTIM_WCONTROL_Presacler_Pos 8U /*!< PTIM WCONTROL: Prescaler Position */ -#define PTIM_WCONTROL_Presacler_Msk (0xFFU << PTIM_WCONTROL_Presacler_Pos) /*!< PTIM WCONTROL: Prescaler Mask */ -#define PTIM_WCONTROL_Presacler(x) (((uint32_t)(((uint32_t)(x)) << PTIM_WCONTROL_Presacler_Pos)) & PTIM_WCONTROL_Presacler_Msk) - -/* WISR Watchdog Interrupt Status Register */ -#define PTIM_WISR_EventFlag_Pos 0U /*!< PTIM WISR: Event Flag Position */ -#define PTIM_WISR_EventFlag_Msk (0x1U /*<< PTIM_WISR_EventFlag_Pos*/) /*!< PTIM WISR: Event Flag Mask */ -#define PTIM_WISR_EventFlag(x) (((uint32_t)(((uint32_t)(x)) /*<< PTIM_WISR_EventFlag_Pos*/)) & PTIM_WISR_EventFlag_Msk) - -/* WRESET Watchdog Reset Status */ -#define PTIM_WRESET_ResetFlag_Pos 0U /*!< PTIM WRESET: Reset Flag Position */ -#define PTIM_WRESET_ResetFlag_Msk (0x1U /*<< PTIM_WRESET_ResetFlag_Pos*/) /*!< PTIM WRESET: Reset Flag Mask */ -#define PTIM_WRESET_ResetFlag(x) (((uint32_t)(((uint32_t)(x)) /*<< PTIM_WRESET_ResetFlag_Pos*/)) & PTIM_WRESET_ResetFlag_Msk) - -#endif /* ((__CORTEX_A == 5U) || (__CORTEX_A == 9U)) || defined(DOXYGEN) */ -#endif /* (__TIM_PRESENT == 1U) || defined(DOXYGEN) */ - - /******************************************************************************* - * Hardware Abstraction Layer - Core Function Interface contains: - - L1 Cache Functions - - L2C-310 Cache Controller Functions - - PL1 Timer Functions - - GIC Functions - - MMU Functions - ******************************************************************************/ - -/* ########################## L1 Cache functions ################################# */ - -/** \brief Enable Caches by setting I and C bits in SCTLR register. -*/ -__STATIC_FORCEINLINE void L1C_EnableCaches(void) { - __set_SCTLR( __get_SCTLR() | SCTLR_I_Msk | SCTLR_C_Msk); - __ISB(); -} - -/** \brief Disable Caches by clearing I and C bits in SCTLR register. -*/ -__STATIC_FORCEINLINE void L1C_DisableCaches(void) { - __set_SCTLR( __get_SCTLR() & (~SCTLR_I_Msk) & (~SCTLR_C_Msk)); - __ISB(); -} - -/** \brief Enable Branch Prediction by setting Z bit in SCTLR register. -*/ -__STATIC_FORCEINLINE void L1C_EnableBTAC(void) { - __set_SCTLR( __get_SCTLR() | SCTLR_Z_Msk); - __ISB(); -} - -/** \brief Disable Branch Prediction by clearing Z bit in SCTLR register. -*/ -__STATIC_FORCEINLINE void L1C_DisableBTAC(void) { - __set_SCTLR( __get_SCTLR() & (~SCTLR_Z_Msk)); - __ISB(); -} - -/** \brief Invalidate entire branch predictor array -*/ -__STATIC_FORCEINLINE void L1C_InvalidateBTAC(void) { - __set_BPIALL(0); - __DSB(); //ensure completion of the invalidation - __ISB(); //ensure instruction fetch path sees new state -} - -/** \brief Clean instruction cache line by address. -* \param [in] va Pointer to instructions to clear the cache for. -*/ -__STATIC_FORCEINLINE void L1C_InvalidateICacheMVA(void *va) { - __set_ICIMVAC((uint32_t)va); - __DSB(); //ensure completion of the invalidation - __ISB(); //ensure instruction fetch path sees new I cache state -} - -/** \brief Invalidate the whole instruction cache -*/ -__STATIC_FORCEINLINE void L1C_InvalidateICacheAll(void) { - __set_ICIALLU(0); - __DSB(); //ensure completion of the invalidation - __ISB(); //ensure instruction fetch path sees new I cache state -} - -/** \brief Clean data cache line by address. -* \param [in] va Pointer to data to clear the cache for. -*/ -__STATIC_FORCEINLINE void L1C_CleanDCacheMVA(void *va) { - __set_DCCMVAC((uint32_t)va); - __DMB(); //ensure the ordering of data cache maintenance operations and their effects -} - -/** \brief Invalidate data cache line by address. -* \param [in] va Pointer to data to invalidate the cache for. -*/ -__STATIC_FORCEINLINE void L1C_InvalidateDCacheMVA(void *va) { - __set_DCIMVAC((uint32_t)va); - __DMB(); //ensure the ordering of data cache maintenance operations and their effects -} - -/** \brief Clean and Invalidate data cache by address. -* \param [in] va Pointer to data to invalidate the cache for. -*/ -__STATIC_FORCEINLINE void L1C_CleanInvalidateDCacheMVA(void *va) { - __set_DCCIMVAC((uint32_t)va); - __DMB(); //ensure the ordering of data cache maintenance operations and their effects -} - -/** \brief Calculate log2 rounded up -* - log(0) => 0 -* - log(1) => 0 -* - log(2) => 1 -* - log(3) => 2 -* - log(4) => 2 -* - log(5) => 3 -* : : -* - log(16) => 4 -* - log(32) => 5 -* : : -* \param [in] n input value parameter -* \return log2(n) -*/ -__STATIC_FORCEINLINE uint8_t __log2_up(uint32_t n) -{ - if (n < 2U) { - return 0U; - } - uint8_t log = 0U; - uint32_t t = n; - while(t > 1U) - { - log++; - t >>= 1U; - } - if (n & 1U) { log++; } - return log; -} - -/** \brief Apply cache maintenance to given cache level. -* \param [in] level cache level to be maintained -* \param [in] maint 0 - invalidate, 1 - clean, otherwise - invalidate and clean -*/ -__STATIC_FORCEINLINE void __L1C_MaintainDCacheSetWay(uint32_t level, uint32_t maint) -{ - uint32_t Dummy; - uint32_t ccsidr; - uint32_t num_sets; - uint32_t num_ways; - uint32_t shift_way; - uint32_t log2_linesize; - int32_t log2_num_ways; - - Dummy = level << 1U; - /* set csselr, select ccsidr register */ - __set_CSSELR(Dummy); - /* get current ccsidr register */ - ccsidr = __get_CCSIDR(); - num_sets = ((ccsidr & 0x0FFFE000U) >> 13U) + 1U; - num_ways = ((ccsidr & 0x00001FF8U) >> 3U) + 1U; - log2_linesize = (ccsidr & 0x00000007U) + 2U + 2U; - log2_num_ways = __log2_up(num_ways); - if ((log2_num_ways < 0) || (log2_num_ways > 32)) { - return; // FATAL ERROR - } - shift_way = 32U - (uint32_t)log2_num_ways; - for(int32_t way = num_ways-1; way >= 0; way--) - { - for(int32_t set = num_sets-1; set >= 0; set--) - { - Dummy = (level << 1U) | (((uint32_t)set) << log2_linesize) | (((uint32_t)way) << shift_way); - switch (maint) - { - case 0U: __set_DCISW(Dummy); break; - case 1U: __set_DCCSW(Dummy); break; - default: __set_DCCISW(Dummy); break; - } - } - } - __DMB(); -} - -/** \brief Clean and Invalidate the entire data or unified cache -* Generic mechanism for cleaning/invalidating the entire data or unified cache to the point of coherency -* \param [in] op 0 - invalidate, 1 - clean, otherwise - invalidate and clean -*/ -__STATIC_FORCEINLINE void L1C_CleanInvalidateCache(uint32_t op) { - uint32_t clidr; - uint32_t cache_type; - clidr = __get_CLIDR(); - for(uint32_t i = 0U; i<7U; i++) - { - cache_type = (clidr >> i*3U) & 0x7UL; - if ((cache_type >= 2U) && (cache_type <= 4U)) - { - __L1C_MaintainDCacheSetWay(i, op); - } - } -} - -/** \brief Clean and Invalidate the entire data or unified cache -* Generic mechanism for cleaning/invalidating the entire data or unified cache to the point of coherency -* \param [in] op 0 - invalidate, 1 - clean, otherwise - invalidate and clean -* \deprecated Use generic L1C_CleanInvalidateCache instead. -*/ -CMSIS_DEPRECATED -__STATIC_FORCEINLINE void __L1C_CleanInvalidateCache(uint32_t op) { - L1C_CleanInvalidateCache(op); -} - -/** \brief Invalidate the whole data cache. -*/ -__STATIC_FORCEINLINE void L1C_InvalidateDCacheAll(void) { - L1C_CleanInvalidateCache(0); -} - -/** \brief Clean the whole data cache. - */ -__STATIC_FORCEINLINE void L1C_CleanDCacheAll(void) { - L1C_CleanInvalidateCache(1); -} - -/** \brief Clean and invalidate the whole data cache. - */ -__STATIC_FORCEINLINE void L1C_CleanInvalidateDCacheAll(void) { - L1C_CleanInvalidateCache(2); -} - -/* ########################## L2 Cache functions ################################# */ -#if (__L2C_PRESENT == 1U) || defined(DOXYGEN) -/** \brief Cache Sync operation by writing CACHE_SYNC register. -*/ -__STATIC_INLINE void L2C_Sync(void) -{ - L2C_310->CACHE_SYNC = 0x0; -} - -/** \brief Read cache controller cache ID from CACHE_ID register. - * \return L2C_310_TypeDef::CACHE_ID - */ -__STATIC_INLINE int L2C_GetID (void) -{ - return L2C_310->CACHE_ID; -} - -/** \brief Read cache controller cache type from CACHE_TYPE register. -* \return L2C_310_TypeDef::CACHE_TYPE -*/ -__STATIC_INLINE int L2C_GetType (void) -{ - return L2C_310->CACHE_TYPE; -} - -/** \brief Invalidate all cache by way -*/ -__STATIC_INLINE void L2C_InvAllByWay (void) -{ - unsigned int assoc; - - if (L2C_310->AUX_CNT & (1U << 16U)) { - assoc = 16U; - } else { - assoc = 8U; - } - - L2C_310->INV_WAY = (1U << assoc) - 1U; - while(L2C_310->INV_WAY & ((1U << assoc) - 1U)); //poll invalidate - - L2C_Sync(); -} - -/** \brief Clean and Invalidate all cache by way -*/ -__STATIC_INLINE void L2C_CleanInvAllByWay (void) -{ - unsigned int assoc; - - if (L2C_310->AUX_CNT & (1U << 16U)) { - assoc = 16U; - } else { - assoc = 8U; - } - - L2C_310->CLEAN_INV_WAY = (1U << assoc) - 1U; - while(L2C_310->CLEAN_INV_WAY & ((1U << assoc) - 1U)); //poll invalidate - - L2C_Sync(); -} - -/** \brief Enable Level 2 Cache -*/ -__STATIC_INLINE void L2C_Enable(void) -{ - L2C_310->CONTROL = 0; - L2C_310->INTERRUPT_CLEAR = 0x000001FFuL; - L2C_310->DEBUG_CONTROL = 0; - L2C_310->DATA_LOCK_0_WAY = 0; - L2C_310->CACHE_SYNC = 0; - L2C_310->CONTROL = 0x01; - L2C_Sync(); -} - -/** \brief Disable Level 2 Cache -*/ -__STATIC_INLINE void L2C_Disable(void) -{ - L2C_310->CONTROL = 0x00; - L2C_Sync(); -} - -/** \brief Invalidate cache by physical address -* \param [in] pa Pointer to data to invalidate cache for. -*/ -__STATIC_INLINE void L2C_InvPa (void *pa) -{ - L2C_310->INV_LINE_PA = (unsigned int)pa; - L2C_Sync(); -} - -/** \brief Clean cache by physical address -* \param [in] pa Pointer to data to invalidate cache for. -*/ -__STATIC_INLINE void L2C_CleanPa (void *pa) -{ - L2C_310->CLEAN_LINE_PA = (unsigned int)pa; - L2C_Sync(); -} - -/** \brief Clean and invalidate cache by physical address -* \param [in] pa Pointer to data to invalidate cache for. -*/ -__STATIC_INLINE void L2C_CleanInvPa (void *pa) -{ - L2C_310->CLEAN_INV_LINE_PA = (unsigned int)pa; - L2C_Sync(); -} -#endif - -/* ########################## GIC functions ###################################### */ -#if (__GIC_PRESENT == 1U) || defined(DOXYGEN) - -/** \brief Enable the interrupt distributor using the GIC's CTLR register. -*/ -__STATIC_INLINE void GIC_EnableDistributor(void) -{ - GICDistributor->CTLR |= 1U; -} - -/** \brief Disable the interrupt distributor using the GIC's CTLR register. -*/ -__STATIC_INLINE void GIC_DisableDistributor(void) -{ - GICDistributor->CTLR &=~1U; -} - -/** \brief Read the GIC's TYPER register. -* \return GICDistributor_Type::TYPER -*/ -__STATIC_INLINE uint32_t GIC_DistributorInfo(void) -{ - return (GICDistributor->TYPER); -} - -/** \brief Reads the GIC's IIDR register. -* \return GICDistributor_Type::IIDR -*/ -__STATIC_INLINE uint32_t GIC_DistributorImplementer(void) -{ - return (GICDistributor->IIDR); -} - -/** \brief Sets the GIC's ITARGETSR register for the given interrupt. -* \param [in] IRQn Interrupt to be configured. -* \param [in] cpu_target CPU interfaces to assign this interrupt to. -*/ -__STATIC_INLINE void GIC_SetTarget(IRQn_Type IRQn, uint32_t cpu_target) -{ - uint32_t mask = GICDistributor->ITARGETSR[IRQn / 4U] & ~(0xFFUL << ((IRQn % 4U) * 8U)); - GICDistributor->ITARGETSR[IRQn / 4U] = mask | ((cpu_target & 0xFFUL) << ((IRQn % 4U) * 8U)); -} - -/** \brief Read the GIC's ITARGETSR register. -* \param [in] IRQn Interrupt to acquire the configuration for. -* \return GICDistributor_Type::ITARGETSR -*/ -__STATIC_INLINE uint32_t GIC_GetTarget(IRQn_Type IRQn) -{ - return (GICDistributor->ITARGETSR[IRQn / 4U] >> ((IRQn % 4U) * 8U)) & 0xFFUL; -} - -/** \brief Enable the CPU's interrupt interface. -*/ -__STATIC_INLINE void GIC_EnableInterface(void) -{ - GICInterface->CTLR |= 1U; //enable interface -} - -/** \brief Disable the CPU's interrupt interface. -*/ -__STATIC_INLINE void GIC_DisableInterface(void) -{ - GICInterface->CTLR &=~1U; //disable distributor -} - -/** \brief Read the CPU's IAR register. -* \return GICInterface_Type::IAR -*/ -__STATIC_INLINE IRQn_Type GIC_AcknowledgePending(void) -{ - return (IRQn_Type)(GICInterface->IAR); -} - -/** \brief Writes the given interrupt number to the CPU's EOIR register. -* \param [in] IRQn The interrupt to be signaled as finished. -*/ -__STATIC_INLINE void GIC_EndInterrupt(IRQn_Type IRQn) -{ - GICInterface->EOIR = IRQn; -} - -/** \brief Enables the given interrupt using GIC's ISENABLER register. -* \param [in] IRQn The interrupt to be enabled. -*/ -__STATIC_INLINE void GIC_EnableIRQ(IRQn_Type IRQn) -{ - GICDistributor->ISENABLER[IRQn / 32U] = 1U << (IRQn % 32U); -} - -/** \brief Get interrupt enable status using GIC's ISENABLER register. -* \param [in] IRQn The interrupt to be queried. -* \return 0 - interrupt is not enabled, 1 - interrupt is enabled. -*/ -__STATIC_INLINE uint32_t GIC_GetEnableIRQ(IRQn_Type IRQn) -{ - return (GICDistributor->ISENABLER[IRQn / 32U] >> (IRQn % 32U)) & 1UL; -} - -/** \brief Disables the given interrupt using GIC's ICENABLER register. -* \param [in] IRQn The interrupt to be disabled. -*/ -__STATIC_INLINE void GIC_DisableIRQ(IRQn_Type IRQn) -{ - GICDistributor->ICENABLER[IRQn / 32U] = 1U << (IRQn % 32U); -} - -/** \brief Get interrupt pending status from GIC's ISPENDR register. -* \param [in] IRQn The interrupt to be queried. -* \return 0 - interrupt is not pending, 1 - interrupt is pendig. -*/ -__STATIC_INLINE uint32_t GIC_GetPendingIRQ(IRQn_Type IRQn) -{ - uint32_t pend; - - if (IRQn >= 16U) { - pend = (GICDistributor->ISPENDR[IRQn / 32U] >> (IRQn % 32U)) & 1UL; - } else { - // INTID 0-15 Software Generated Interrupt - pend = (GICDistributor->SPENDSGIR[IRQn / 4U] >> ((IRQn % 4U) * 8U)) & 0xFFUL; - // No CPU identification offered - if (pend != 0U) { - pend = 1U; - } else { - pend = 0U; - } - } - - return (pend); -} - -/** \brief Sets the given interrupt as pending using GIC's ISPENDR register. -* \param [in] IRQn The interrupt to be enabled. -*/ -__STATIC_INLINE void GIC_SetPendingIRQ(IRQn_Type IRQn) -{ - if (IRQn >= 16U) { - GICDistributor->ISPENDR[IRQn / 32U] = 1U << (IRQn % 32U); - } else { - // INTID 0-15 Software Generated Interrupt - // Forward the interrupt to the CPU interface that requested it - GICDistributor->SGIR = (IRQn | 0x02000000U); - } -} - -/** \brief Clears the given interrupt from being pending using GIC's ICPENDR register. -* \param [in] IRQn The interrupt to be enabled. -*/ -__STATIC_INLINE void GIC_ClearPendingIRQ(IRQn_Type IRQn) -{ - if (IRQn >= 16U) { - GICDistributor->ICPENDR[IRQn / 32U] = 1U << (IRQn % 32U); - } else { - // INTID 0-15 Software Generated Interrupt - GICDistributor->CPENDSGIR[IRQn / 4U] = 1U << ((IRQn % 4U) * 8U); - } -} - -/** \brief Sets the interrupt configuration using GIC's ICFGR register. -* \param [in] IRQn The interrupt to be configured. -* \param [in] int_config Int_config field value. Bit 0: Reserved (0 - N-N model, 1 - 1-N model for some GIC before v1) -* Bit 1: 0 - level sensitive, 1 - edge triggered -*/ -__STATIC_INLINE void GIC_SetConfiguration(IRQn_Type IRQn, uint32_t int_config) -{ - uint32_t icfgr = GICDistributor->ICFGR[IRQn / 16U]; /* read current register content */ - uint32_t shift = (IRQn % 16U) << 1U; /* calculate shift value */ - - int_config &= 3U; /* only 2 bits are valid */ - icfgr &= (~(3U << shift)); /* clear bits to change */ - icfgr |= ( int_config << shift); /* set new configuration */ - - GICDistributor->ICFGR[IRQn / 16U] = icfgr; /* write new register content */ -} - -/** \brief Get the interrupt configuration from the GIC's ICFGR register. -* \param [in] IRQn Interrupt to acquire the configuration for. -* \return Int_config field value. Bit 0: Reserved (0 - N-N model, 1 - 1-N model for some GIC before v1) -* Bit 1: 0 - level sensitive, 1 - edge triggered -*/ -__STATIC_INLINE uint32_t GIC_GetConfiguration(IRQn_Type IRQn) -{ - return (GICDistributor->ICFGR[IRQn / 16U] >> ((IRQn % 16U) >> 1U)); -} - -/** \brief Set the priority for the given interrupt in the GIC's IPRIORITYR register. -* \param [in] IRQn The interrupt to be configured. -* \param [in] priority The priority for the interrupt, lower values denote higher priorities. -*/ -__STATIC_INLINE void GIC_SetPriority(IRQn_Type IRQn, uint32_t priority) -{ - uint32_t mask = GICDistributor->IPRIORITYR[IRQn / 4U] & ~(0xFFUL << ((IRQn % 4U) * 8U)); - GICDistributor->IPRIORITYR[IRQn / 4U] = mask | ((priority & 0xFFUL) << ((IRQn % 4U) * 8U)); -} - -/** \brief Read the current interrupt priority from GIC's IPRIORITYR register. -* \param [in] IRQn The interrupt to be queried. -*/ -__STATIC_INLINE uint32_t GIC_GetPriority(IRQn_Type IRQn) -{ - return (GICDistributor->IPRIORITYR[IRQn / 4U] >> ((IRQn % 4U) * 8U)) & 0xFFUL; -} - -/** \brief Set the interrupt priority mask using CPU's PMR register. -* \param [in] priority Priority mask to be set. -*/ -__STATIC_INLINE void GIC_SetInterfacePriorityMask(uint32_t priority) -{ - GICInterface->PMR = priority & 0xFFUL; //set priority mask -} - -/** \brief Read the current interrupt priority mask from CPU's PMR register. -* \result GICInterface_Type::PMR -*/ -__STATIC_INLINE uint32_t GIC_GetInterfacePriorityMask(void) -{ - return GICInterface->PMR; -} - -/** \brief Configures the group priority and subpriority split point using CPU's BPR register. -* \param [in] binary_point Amount of bits used as subpriority. -*/ -__STATIC_INLINE void GIC_SetBinaryPoint(uint32_t binary_point) -{ - GICInterface->BPR = binary_point & 7U; //set binary point -} - -/** \brief Read the current group priority and subpriority split point from CPU's BPR register. -* \return GICInterface_Type::BPR -*/ -__STATIC_INLINE uint32_t GIC_GetBinaryPoint(void) -{ - return GICInterface->BPR; -} - -/** \brief Get the status for a given interrupt. -* \param [in] IRQn The interrupt to get status for. -* \return 0 - not pending/active, 1 - pending, 2 - active, 3 - pending and active -*/ -__STATIC_INLINE uint32_t GIC_GetIRQStatus(IRQn_Type IRQn) -{ - uint32_t pending, active; - - active = ((GICDistributor->ISACTIVER[IRQn / 32U]) >> (IRQn % 32U)) & 1UL; - pending = ((GICDistributor->ISPENDR[IRQn / 32U]) >> (IRQn % 32U)) & 1UL; - - return ((active<<1U) | pending); -} - -/** \brief Generate a software interrupt using GIC's SGIR register. -* \param [in] IRQn Software interrupt to be generated. -* \param [in] target_list List of CPUs the software interrupt should be forwarded to. -* \param [in] filter_list Filter to be applied to determine interrupt receivers. -*/ -__STATIC_INLINE void GIC_SendSGI(IRQn_Type IRQn, uint32_t target_list, uint32_t filter_list) -{ - GICDistributor->SGIR = ((filter_list & 3U) << 24U) | ((target_list & 0xFFUL) << 16U) | (IRQn & 0x0FUL); -} - -/** \brief Get the interrupt number of the highest interrupt pending from CPU's HPPIR register. -* \return GICInterface_Type::HPPIR -*/ -__STATIC_INLINE uint32_t GIC_GetHighPendingIRQ(void) -{ - return GICInterface->HPPIR; -} - -/** \brief Provides information about the implementer and revision of the CPU interface. -* \return GICInterface_Type::IIDR -*/ -__STATIC_INLINE uint32_t GIC_GetInterfaceId(void) -{ - return GICInterface->IIDR; -} - -/** \brief Set the interrupt group from the GIC's IGROUPR register. -* \param [in] IRQn The interrupt to be queried. -* \param [in] group Interrupt group number: 0 - Group 0, 1 - Group 1 -*/ -__STATIC_INLINE void GIC_SetGroup(IRQn_Type IRQn, uint32_t group) -{ - uint32_t igroupr = GICDistributor->IGROUPR[IRQn / 32U]; - uint32_t shift = (IRQn % 32U); - - igroupr &= (~(1U << shift)); - igroupr |= ( (group & 1U) << shift); - - GICDistributor->IGROUPR[IRQn / 32U] = igroupr; -} -#define GIC_SetSecurity GIC_SetGroup - -/** \brief Get the interrupt group from the GIC's IGROUPR register. -* \param [in] IRQn The interrupt to be queried. -* \return 0 - Group 0, 1 - Group 1 -*/ -__STATIC_INLINE uint32_t GIC_GetGroup(IRQn_Type IRQn) -{ - return (GICDistributor->IGROUPR[IRQn / 32U] >> (IRQn % 32U)) & 1UL; -} -#define GIC_GetSecurity GIC_GetGroup - -/** \brief Initialize the interrupt distributor. -*/ -__STATIC_INLINE void GIC_DistInit(void) -{ - uint32_t i; - uint32_t num_irq = 0U; - uint32_t priority_field; - - //A reset sets all bits in the IGROUPRs corresponding to the SPIs to 0, - //configuring all of the interrupts as Secure. - - //Disable interrupt forwarding - GIC_DisableDistributor(); - //Get the maximum number of interrupts that the GIC supports - num_irq = 32U * ((GIC_DistributorInfo() & 0x1FU) + 1U); - - /* Priority level is implementation defined. - To determine the number of priority bits implemented write 0xFF to an IPRIORITYR - priority field and read back the value stored.*/ - GIC_SetPriority((IRQn_Type)0U, 0xFFU); - priority_field = GIC_GetPriority((IRQn_Type)0U); - - for (i = 32U; i < num_irq; i++) - { - //Disable the SPI interrupt - GIC_DisableIRQ((IRQn_Type)i); - //Set level-sensitive (and N-N model) - GIC_SetConfiguration((IRQn_Type)i, 0U); - //Set priority - GIC_SetPriority((IRQn_Type)i, priority_field/2U); - //Set target list to CPU0 - GIC_SetTarget((IRQn_Type)i, 1U); - } - //Enable distributor - GIC_EnableDistributor(); -} - -/** \brief Initialize the CPU's interrupt interface -*/ -__STATIC_INLINE void GIC_CPUInterfaceInit(void) -{ - uint32_t i; - uint32_t priority_field; - - //A reset sets all bits in the IGROUPRs corresponding to the SPIs to 0, - //configuring all of the interrupts as Secure. - - //Disable interrupt forwarding - GIC_DisableInterface(); - - /* Priority level is implementation defined. - To determine the number of priority bits implemented write 0xFF to an IPRIORITYR - priority field and read back the value stored.*/ - GIC_SetPriority((IRQn_Type)0U, 0xFFU); - priority_field = GIC_GetPriority((IRQn_Type)0U); - - //SGI and PPI - for (i = 0U; i < 32U; i++) - { - if(i > 15U) { - //Set level-sensitive (and N-N model) for PPI - GIC_SetConfiguration((IRQn_Type)i, 0U); - } - //Disable SGI and PPI interrupts - GIC_DisableIRQ((IRQn_Type)i); - //Set priority - GIC_SetPriority((IRQn_Type)i, priority_field/2U); - } - //Enable interface - GIC_EnableInterface(); - //Set binary point to 0 - GIC_SetBinaryPoint(0U); - //Set priority mask - GIC_SetInterfacePriorityMask(0xFFU); -} - -/** \brief Initialize and enable the GIC -*/ -__STATIC_INLINE void GIC_Enable(void) -{ - GIC_DistInit(); - GIC_CPUInterfaceInit(); //per CPU -} -#endif - -/* ########################## Generic Timer functions ############################ */ -#if (__TIM_PRESENT == 1U) || defined(DOXYGEN) - -/* PL1 Physical Timer */ -#if (__CORTEX_A == 7U) || defined(DOXYGEN) - -/** \brief Physical Timer Control register */ -typedef union -{ - struct - { - uint32_t ENABLE:1; /*!< \brief bit: 0 Enables the timer. */ - uint32_t IMASK:1; /*!< \brief bit: 1 Timer output signal mask bit. */ - uint32_t ISTATUS:1; /*!< \brief bit: 2 The status of the timer. */ - RESERVED(0:29, uint32_t) - } b; /*!< \brief Structure used for bit access */ - uint32_t w; /*!< \brief Type used for word access */ -} CNTP_CTL_Type; - -/** \brief Configures the frequency the timer shall run at. -* \param [in] value The timer frequency in Hz. -*/ -__STATIC_INLINE void PL1_SetCounterFrequency(uint32_t value) -{ - __set_CNTFRQ(value); - __ISB(); -} - -/** \brief Sets the reset value of the timer. -* \param [in] value The value the timer is loaded with. -*/ -__STATIC_INLINE void PL1_SetLoadValue(uint32_t value) -{ - __set_CNTP_TVAL(value); - __ISB(); -} - -/** \brief Get the current counter value. -* \return Current counter value. -*/ -__STATIC_INLINE uint32_t PL1_GetCurrentValue(void) -{ - return(__get_CNTP_TVAL()); -} - -/** \brief Get the current physical counter value. -* \return Current physical counter value. -*/ -__STATIC_INLINE uint64_t PL1_GetCurrentPhysicalValue(void) -{ - return(__get_CNTPCT()); -} - -/** \brief Set the physical compare value. -* \param [in] value New physical timer compare value. -*/ -__STATIC_INLINE void PL1_SetPhysicalCompareValue(uint64_t value) -{ - __set_CNTP_CVAL(value); - __ISB(); -} - -/** \brief Get the physical compare value. -* \return Physical compare value. -*/ -__STATIC_INLINE uint64_t PL1_GetPhysicalCompareValue(void) -{ - return(__get_CNTP_CVAL()); -} - -/** \brief Configure the timer by setting the control value. -* \param [in] value New timer control value. -*/ -__STATIC_INLINE void PL1_SetControl(uint32_t value) -{ - __set_CNTP_CTL(value); - __ISB(); -} - -/** \brief Get the control value. -* \return Control value. -*/ -__STATIC_INLINE uint32_t PL1_GetControl(void) -{ - return(__get_CNTP_CTL()); -} -#endif - -/* Private Timer */ -#if ((__CORTEX_A == 5U) || (__CORTEX_A == 9U)) || defined(DOXYGEN) -/** \brief Set the load value to timers LOAD register. -* \param [in] value The load value to be set. -*/ -__STATIC_INLINE void PTIM_SetLoadValue(uint32_t value) -{ - PTIM->LOAD = value; -} - -/** \brief Get the load value from timers LOAD register. -* \return Timer_Type::LOAD -*/ -__STATIC_INLINE uint32_t PTIM_GetLoadValue(void) -{ - return(PTIM->LOAD); -} - -/** \brief Set current counter value from its COUNTER register. -*/ -__STATIC_INLINE void PTIM_SetCurrentValue(uint32_t value) -{ - PTIM->COUNTER = value; -} - -/** \brief Get current counter value from timers COUNTER register. -* \result Timer_Type::COUNTER -*/ -__STATIC_INLINE uint32_t PTIM_GetCurrentValue(void) -{ - return(PTIM->COUNTER); -} - -/** \brief Configure the timer using its CONTROL register. -* \param [in] value The new configuration value to be set. -*/ -__STATIC_INLINE void PTIM_SetControl(uint32_t value) -{ - PTIM->CONTROL = value; -} - -/** ref Timer_Type::CONTROL Get the current timer configuration from its CONTROL register. -* \return Timer_Type::CONTROL -*/ -__STATIC_INLINE uint32_t PTIM_GetControl(void) -{ - return(PTIM->CONTROL); -} - -/** ref Timer_Type::CONTROL Get the event flag in timers ISR register. -* \return 0 - flag is not set, 1- flag is set -*/ -__STATIC_INLINE uint32_t PTIM_GetEventFlag(void) -{ - return (PTIM->ISR & 1UL); -} - -/** ref Timer_Type::CONTROL Clears the event flag in timers ISR register. -*/ -__STATIC_INLINE void PTIM_ClearEventFlag(void) -{ - PTIM->ISR = 1; -} -#endif -#endif - -/* ########################## MMU functions ###################################### */ - -#define SECTION_DESCRIPTOR (0x2) -#define SECTION_MASK (0xFFFFFFFC) - -#define SECTION_TEXCB_MASK (0xFFFF8FF3) -#define SECTION_B_SHIFT (2) -#define SECTION_C_SHIFT (3) -#define SECTION_TEX0_SHIFT (12) -#define SECTION_TEX1_SHIFT (13) -#define SECTION_TEX2_SHIFT (14) - -#define SECTION_XN_MASK (0xFFFFFFEF) -#define SECTION_XN_SHIFT (4) - -#define SECTION_DOMAIN_MASK (0xFFFFFE1F) -#define SECTION_DOMAIN_SHIFT (5) - -#define SECTION_P_MASK (0xFFFFFDFF) -#define SECTION_P_SHIFT (9) - -#define SECTION_AP_MASK (0xFFFF73FF) -#define SECTION_AP_SHIFT (10) -#define SECTION_AP2_SHIFT (15) - -#define SECTION_S_MASK (0xFFFEFFFF) -#define SECTION_S_SHIFT (16) - -#define SECTION_NG_MASK (0xFFFDFFFF) -#define SECTION_NG_SHIFT (17) - -#define SECTION_NS_MASK (0xFFF7FFFF) -#define SECTION_NS_SHIFT (19) - -#define PAGE_L1_DESCRIPTOR (0x1) -#define PAGE_L1_MASK (0xFFFFFFFC) - -#define PAGE_L2_4K_DESC (0x2) -#define PAGE_L2_4K_MASK (0xFFFFFFFD) - -#define PAGE_L2_64K_DESC (0x1) -#define PAGE_L2_64K_MASK (0xFFFFFFFC) - -#define PAGE_4K_TEXCB_MASK (0xFFFFFE33) -#define PAGE_4K_B_SHIFT (2) -#define PAGE_4K_C_SHIFT (3) -#define PAGE_4K_TEX0_SHIFT (6) -#define PAGE_4K_TEX1_SHIFT (7) -#define PAGE_4K_TEX2_SHIFT (8) - -#define PAGE_64K_TEXCB_MASK (0xFFFF8FF3) -#define PAGE_64K_B_SHIFT (2) -#define PAGE_64K_C_SHIFT (3) -#define PAGE_64K_TEX0_SHIFT (12) -#define PAGE_64K_TEX1_SHIFT (13) -#define PAGE_64K_TEX2_SHIFT (14) - -#define PAGE_TEXCB_MASK (0xFFFF8FF3) -#define PAGE_B_SHIFT (2) -#define PAGE_C_SHIFT (3) -#define PAGE_TEX_SHIFT (12) - -#define PAGE_XN_4K_MASK (0xFFFFFFFE) -#define PAGE_XN_4K_SHIFT (0) -#define PAGE_XN_64K_MASK (0xFFFF7FFF) -#define PAGE_XN_64K_SHIFT (15) - -#define PAGE_DOMAIN_MASK (0xFFFFFE1F) -#define PAGE_DOMAIN_SHIFT (5) - -#define PAGE_P_MASK (0xFFFFFDFF) -#define PAGE_P_SHIFT (9) - -#define PAGE_AP_MASK (0xFFFFFDCF) -#define PAGE_AP_SHIFT (4) -#define PAGE_AP2_SHIFT (9) - -#define PAGE_S_MASK (0xFFFFFBFF) -#define PAGE_S_SHIFT (10) - -#define PAGE_NG_MASK (0xFFFFF7FF) -#define PAGE_NG_SHIFT (11) - -#define PAGE_NS_MASK (0xFFFFFFF7) -#define PAGE_NS_SHIFT (3) - -#define OFFSET_1M (0x00100000) -#define OFFSET_64K (0x00010000) -#define OFFSET_4K (0x00001000) - -#define DESCRIPTOR_FAULT (0x00000000) - -/* Attributes enumerations */ - -/* Region size attributes */ -typedef enum -{ - SECTION, - PAGE_4k, - PAGE_64k, -} mmu_region_size_Type; - -/* Region type attributes */ -typedef enum -{ - NORMAL, - DEVICE, - SHARED_DEVICE, - NON_SHARED_DEVICE, - STRONGLY_ORDERED -} mmu_memory_Type; - -/* Region cacheability attributes */ -typedef enum -{ - NON_CACHEABLE, - WB_WA, - WT, - WB_NO_WA, -} mmu_cacheability_Type; - -/* Region parity check attributes */ -typedef enum -{ - ECC_DISABLED, - ECC_ENABLED, -} mmu_ecc_check_Type; - -/* Region execution attributes */ -typedef enum -{ - EXECUTE, - NON_EXECUTE, -} mmu_execute_Type; - -/* Region global attributes */ -typedef enum -{ - GLOBAL, - NON_GLOBAL, -} mmu_global_Type; - -/* Region shareability attributes */ -typedef enum -{ - NON_SHARED, - SHARED, -} mmu_shared_Type; - -/* Region security attributes */ -typedef enum -{ - SECURE, - NON_SECURE, -} mmu_secure_Type; - -/* Region access attributes */ -typedef enum -{ - NO_ACCESS, - RW, - READ, -} mmu_access_Type; - -/* Memory Region definition */ -typedef struct RegionStruct { - mmu_region_size_Type rg_t; - mmu_memory_Type mem_t; - uint8_t domain; - mmu_cacheability_Type inner_norm_t; - mmu_cacheability_Type outer_norm_t; - mmu_ecc_check_Type e_t; - mmu_execute_Type xn_t; - mmu_global_Type g_t; - mmu_secure_Type sec_t; - mmu_access_Type priv_t; - mmu_access_Type user_t; - mmu_shared_Type sh_t; - -} mmu_region_attributes_Type; - -//Following macros define the descriptors and attributes -//Sect_Normal. Outer & inner wb/wa, non-shareable, executable, rw, domain 0 -#define section_normal(descriptor_l1, region) region.rg_t = SECTION; \ - region.domain = 0x0; \ - region.e_t = ECC_DISABLED; \ - region.g_t = GLOBAL; \ - region.inner_norm_t = WB_WA; \ - region.outer_norm_t = WB_WA; \ - region.mem_t = NORMAL; \ - region.sec_t = SECURE; \ - region.xn_t = EXECUTE; \ - region.priv_t = RW; \ - region.user_t = RW; \ - region.sh_t = NON_SHARED; \ - MMU_GetSectionDescriptor(&descriptor_l1, region); - -//Sect_Normal_NC. Outer & inner non-cacheable, non-shareable, executable, rw, domain 0 -#define section_normal_nc(descriptor_l1, region) region.rg_t = SECTION; \ - region.domain = 0x0; \ - region.e_t = ECC_DISABLED; \ - region.g_t = GLOBAL; \ - region.inner_norm_t = NON_CACHEABLE; \ - region.outer_norm_t = NON_CACHEABLE; \ - region.mem_t = NORMAL; \ - region.sec_t = SECURE; \ - region.xn_t = EXECUTE; \ - region.priv_t = RW; \ - region.user_t = RW; \ - region.sh_t = NON_SHARED; \ - MMU_GetSectionDescriptor(&descriptor_l1, region); - -//Sect_Normal_Cod. Outer & inner wb/wa, non-shareable, executable, ro, domain 0 -#define section_normal_cod(descriptor_l1, region) region.rg_t = SECTION; \ - region.domain = 0x0; \ - region.e_t = ECC_DISABLED; \ - region.g_t = GLOBAL; \ - region.inner_norm_t = WB_WA; \ - region.outer_norm_t = WB_WA; \ - region.mem_t = NORMAL; \ - region.sec_t = SECURE; \ - region.xn_t = EXECUTE; \ - region.priv_t = READ; \ - region.user_t = READ; \ - region.sh_t = NON_SHARED; \ - MMU_GetSectionDescriptor(&descriptor_l1, region); - -//Sect_Normal_RO. Sect_Normal_Cod, but not executable -#define section_normal_ro(descriptor_l1, region) region.rg_t = SECTION; \ - region.domain = 0x0; \ - region.e_t = ECC_DISABLED; \ - region.g_t = GLOBAL; \ - region.inner_norm_t = WB_WA; \ - region.outer_norm_t = WB_WA; \ - region.mem_t = NORMAL; \ - region.sec_t = SECURE; \ - region.xn_t = NON_EXECUTE; \ - region.priv_t = READ; \ - region.user_t = READ; \ - region.sh_t = NON_SHARED; \ - MMU_GetSectionDescriptor(&descriptor_l1, region); - -//Sect_Normal_RW. Sect_Normal_Cod, but writeable and not executable -#define section_normal_rw(descriptor_l1, region) region.rg_t = SECTION; \ - region.domain = 0x0; \ - region.e_t = ECC_DISABLED; \ - region.g_t = GLOBAL; \ - region.inner_norm_t = WB_WA; \ - region.outer_norm_t = WB_WA; \ - region.mem_t = NORMAL; \ - region.sec_t = SECURE; \ - region.xn_t = NON_EXECUTE; \ - region.priv_t = RW; \ - region.user_t = RW; \ - region.sh_t = NON_SHARED; \ - MMU_GetSectionDescriptor(&descriptor_l1, region); -//Sect_SO. Strongly-ordered (therefore shareable), not executable, rw, domain 0, base addr 0 -#define section_so(descriptor_l1, region) region.rg_t = SECTION; \ - region.domain = 0x0; \ - region.e_t = ECC_DISABLED; \ - region.g_t = GLOBAL; \ - region.inner_norm_t = NON_CACHEABLE; \ - region.outer_norm_t = NON_CACHEABLE; \ - region.mem_t = STRONGLY_ORDERED; \ - region.sec_t = SECURE; \ - region.xn_t = NON_EXECUTE; \ - region.priv_t = RW; \ - region.user_t = RW; \ - region.sh_t = NON_SHARED; \ - MMU_GetSectionDescriptor(&descriptor_l1, region); - -//Sect_Device_RO. Device, non-shareable, non-executable, ro, domain 0, base addr 0 -#define section_device_ro(descriptor_l1, region) region.rg_t = SECTION; \ - region.domain = 0x0; \ - region.e_t = ECC_DISABLED; \ - region.g_t = GLOBAL; \ - region.inner_norm_t = NON_CACHEABLE; \ - region.outer_norm_t = NON_CACHEABLE; \ - region.mem_t = STRONGLY_ORDERED; \ - region.sec_t = SECURE; \ - region.xn_t = NON_EXECUTE; \ - region.priv_t = READ; \ - region.user_t = READ; \ - region.sh_t = NON_SHARED; \ - MMU_GetSectionDescriptor(&descriptor_l1, region); - -//Sect_Device_RW. Sect_Device_RO, but writeable -#define section_device_rw(descriptor_l1, region) region.rg_t = SECTION; \ - region.domain = 0x0; \ - region.e_t = ECC_DISABLED; \ - region.g_t = GLOBAL; \ - region.inner_norm_t = NON_CACHEABLE; \ - region.outer_norm_t = NON_CACHEABLE; \ - region.mem_t = STRONGLY_ORDERED; \ - region.sec_t = SECURE; \ - region.xn_t = NON_EXECUTE; \ - region.priv_t = RW; \ - region.user_t = RW; \ - region.sh_t = NON_SHARED; \ - MMU_GetSectionDescriptor(&descriptor_l1, region); -//Page_4k_Device_RW. Shared device, not executable, rw, domain 0 -#define page4k_device_rw(descriptor_l1, descriptor_l2, region) region.rg_t = PAGE_4k; \ - region.domain = 0x0; \ - region.e_t = ECC_DISABLED; \ - region.g_t = GLOBAL; \ - region.inner_norm_t = NON_CACHEABLE; \ - region.outer_norm_t = NON_CACHEABLE; \ - region.mem_t = SHARED_DEVICE; \ - region.sec_t = SECURE; \ - region.xn_t = NON_EXECUTE; \ - region.priv_t = RW; \ - region.user_t = RW; \ - region.sh_t = NON_SHARED; \ - MMU_GetPageDescriptor(&descriptor_l1, &descriptor_l2, region); - -//Page_64k_Device_RW. Shared device, not executable, rw, domain 0 -#define page64k_device_rw(descriptor_l1, descriptor_l2, region) region.rg_t = PAGE_64k; \ - region.domain = 0x0; \ - region.e_t = ECC_DISABLED; \ - region.g_t = GLOBAL; \ - region.inner_norm_t = NON_CACHEABLE; \ - region.outer_norm_t = NON_CACHEABLE; \ - region.mem_t = SHARED_DEVICE; \ - region.sec_t = SECURE; \ - region.xn_t = NON_EXECUTE; \ - region.priv_t = RW; \ - region.user_t = RW; \ - region.sh_t = NON_SHARED; \ - MMU_GetPageDescriptor(&descriptor_l1, &descriptor_l2, region); - -/** \brief Set section execution-never attribute - - \param [out] descriptor_l1 L1 descriptor. - \param [in] xn Section execution-never attribute : EXECUTE , NON_EXECUTE. - - \return 0 -*/ -__STATIC_INLINE int MMU_XNSection(uint32_t *descriptor_l1, mmu_execute_Type xn) -{ - *descriptor_l1 &= SECTION_XN_MASK; - *descriptor_l1 |= ((xn & 0x1) << SECTION_XN_SHIFT); - return 0; -} - -/** \brief Set section domain - - \param [out] descriptor_l1 L1 descriptor. - \param [in] domain Section domain - - \return 0 -*/ -__STATIC_INLINE int MMU_DomainSection(uint32_t *descriptor_l1, uint8_t domain) -{ - *descriptor_l1 &= SECTION_DOMAIN_MASK; - *descriptor_l1 |= ((domain & 0xF) << SECTION_DOMAIN_SHIFT); - return 0; -} - -/** \brief Set section parity check - - \param [out] descriptor_l1 L1 descriptor. - \param [in] p_bit Parity check: ECC_DISABLED, ECC_ENABLED - - \return 0 -*/ -__STATIC_INLINE int MMU_PSection(uint32_t *descriptor_l1, mmu_ecc_check_Type p_bit) -{ - *descriptor_l1 &= SECTION_P_MASK; - *descriptor_l1 |= ((p_bit & 0x1) << SECTION_P_SHIFT); - return 0; -} - -/** \brief Set section access privileges - - \param [out] descriptor_l1 L1 descriptor. - \param [in] user User Level Access: NO_ACCESS, RW, READ - \param [in] priv Privilege Level Access: NO_ACCESS, RW, READ - \param [in] afe Access flag enable - - \return 0 -*/ -__STATIC_INLINE int MMU_APSection(uint32_t *descriptor_l1, mmu_access_Type user, mmu_access_Type priv, uint32_t afe) -{ - uint32_t ap = 0; - - if (afe == 0) { //full access - if ((priv == NO_ACCESS) && (user == NO_ACCESS)) { ap = 0x0; } - else if ((priv == RW) && (user == NO_ACCESS)) { ap = 0x1; } - else if ((priv == RW) && (user == READ)) { ap = 0x2; } - else if ((priv == RW) && (user == RW)) { ap = 0x3; } - else if ((priv == READ) && (user == NO_ACCESS)) { ap = 0x5; } - else if ((priv == READ) && (user == READ)) { ap = 0x7; } - } - - else { //Simplified access - if ((priv == RW) && (user == NO_ACCESS)) { ap = 0x1; } - else if ((priv == RW) && (user == RW)) { ap = 0x3; } - else if ((priv == READ) && (user == NO_ACCESS)) { ap = 0x5; } - else if ((priv == READ) && (user == READ)) { ap = 0x7; } - } - - *descriptor_l1 &= SECTION_AP_MASK; - *descriptor_l1 |= (ap & 0x3) << SECTION_AP_SHIFT; - *descriptor_l1 |= ((ap & 0x4)>>2) << SECTION_AP2_SHIFT; - - return 0; -} - -/** \brief Set section shareability - - \param [out] descriptor_l1 L1 descriptor. - \param [in] s_bit Section shareability: NON_SHARED, SHARED - - \return 0 -*/ -__STATIC_INLINE int MMU_SharedSection(uint32_t *descriptor_l1, mmu_shared_Type s_bit) -{ - *descriptor_l1 &= SECTION_S_MASK; - *descriptor_l1 |= ((s_bit & 0x1) << SECTION_S_SHIFT); - return 0; -} - -/** \brief Set section Global attribute - - \param [out] descriptor_l1 L1 descriptor. - \param [in] g_bit Section attribute: GLOBAL, NON_GLOBAL - - \return 0 -*/ -__STATIC_INLINE int MMU_GlobalSection(uint32_t *descriptor_l1, mmu_global_Type g_bit) -{ - *descriptor_l1 &= SECTION_NG_MASK; - *descriptor_l1 |= ((g_bit & 0x1) << SECTION_NG_SHIFT); - return 0; -} - -/** \brief Set section Security attribute - - \param [out] descriptor_l1 L1 descriptor. - \param [in] s_bit Section Security attribute: SECURE, NON_SECURE - - \return 0 -*/ -__STATIC_INLINE int MMU_SecureSection(uint32_t *descriptor_l1, mmu_secure_Type s_bit) -{ - *descriptor_l1 &= SECTION_NS_MASK; - *descriptor_l1 |= ((s_bit & 0x1) << SECTION_NS_SHIFT); - return 0; -} - -/* Page 4k or 64k */ -/** \brief Set 4k/64k page execution-never attribute - - \param [out] descriptor_l2 L2 descriptor. - \param [in] xn Page execution-never attribute : EXECUTE , NON_EXECUTE. - \param [in] page Page size: PAGE_4k, PAGE_64k, - - \return 0 -*/ -__STATIC_INLINE int MMU_XNPage(uint32_t *descriptor_l2, mmu_execute_Type xn, mmu_region_size_Type page) -{ - if (page == PAGE_4k) - { - *descriptor_l2 &= PAGE_XN_4K_MASK; - *descriptor_l2 |= ((xn & 0x1) << PAGE_XN_4K_SHIFT); - } - else - { - *descriptor_l2 &= PAGE_XN_64K_MASK; - *descriptor_l2 |= ((xn & 0x1) << PAGE_XN_64K_SHIFT); - } - return 0; -} - -/** \brief Set 4k/64k page domain - - \param [out] descriptor_l1 L1 descriptor. - \param [in] domain Page domain - - \return 0 -*/ -__STATIC_INLINE int MMU_DomainPage(uint32_t *descriptor_l1, uint8_t domain) -{ - *descriptor_l1 &= PAGE_DOMAIN_MASK; - *descriptor_l1 |= ((domain & 0xf) << PAGE_DOMAIN_SHIFT); - return 0; -} - -/** \brief Set 4k/64k page parity check - - \param [out] descriptor_l1 L1 descriptor. - \param [in] p_bit Parity check: ECC_DISABLED, ECC_ENABLED - - \return 0 -*/ -__STATIC_INLINE int MMU_PPage(uint32_t *descriptor_l1, mmu_ecc_check_Type p_bit) -{ - *descriptor_l1 &= SECTION_P_MASK; - *descriptor_l1 |= ((p_bit & 0x1) << SECTION_P_SHIFT); - return 0; -} - -/** \brief Set 4k/64k page access privileges - - \param [out] descriptor_l2 L2 descriptor. - \param [in] user User Level Access: NO_ACCESS, RW, READ - \param [in] priv Privilege Level Access: NO_ACCESS, RW, READ - \param [in] afe Access flag enable - - \return 0 -*/ -__STATIC_INLINE int MMU_APPage(uint32_t *descriptor_l2, mmu_access_Type user, mmu_access_Type priv, uint32_t afe) -{ - uint32_t ap = 0; - - if (afe == 0) { //full access - if ((priv == NO_ACCESS) && (user == NO_ACCESS)) { ap = 0x0; } - else if ((priv == RW) && (user == NO_ACCESS)) { ap = 0x1; } - else if ((priv == RW) && (user == READ)) { ap = 0x2; } - else if ((priv == RW) && (user == RW)) { ap = 0x3; } - else if ((priv == READ) && (user == NO_ACCESS)) { ap = 0x5; } - else if ((priv == READ) && (user == READ)) { ap = 0x6; } - } - - else { //Simplified access - if ((priv == RW) && (user == NO_ACCESS)) { ap = 0x1; } - else if ((priv == RW) && (user == RW)) { ap = 0x3; } - else if ((priv == READ) && (user == NO_ACCESS)) { ap = 0x5; } - else if ((priv == READ) && (user == READ)) { ap = 0x7; } - } - - *descriptor_l2 &= PAGE_AP_MASK; - *descriptor_l2 |= (ap & 0x3) << PAGE_AP_SHIFT; - *descriptor_l2 |= ((ap & 0x4)>>2) << PAGE_AP2_SHIFT; - - return 0; -} - -/** \brief Set 4k/64k page shareability - - \param [out] descriptor_l2 L2 descriptor. - \param [in] s_bit 4k/64k page shareability: NON_SHARED, SHARED - - \return 0 -*/ -__STATIC_INLINE int MMU_SharedPage(uint32_t *descriptor_l2, mmu_shared_Type s_bit) -{ - *descriptor_l2 &= PAGE_S_MASK; - *descriptor_l2 |= ((s_bit & 0x1) << PAGE_S_SHIFT); - return 0; -} - -/** \brief Set 4k/64k page Global attribute - - \param [out] descriptor_l2 L2 descriptor. - \param [in] g_bit 4k/64k page attribute: GLOBAL, NON_GLOBAL - - \return 0 -*/ -__STATIC_INLINE int MMU_GlobalPage(uint32_t *descriptor_l2, mmu_global_Type g_bit) -{ - *descriptor_l2 &= PAGE_NG_MASK; - *descriptor_l2 |= ((g_bit & 0x1) << PAGE_NG_SHIFT); - return 0; -} - -/** \brief Set 4k/64k page Security attribute - - \param [out] descriptor_l1 L1 descriptor. - \param [in] s_bit 4k/64k page Security attribute: SECURE, NON_SECURE - - \return 0 -*/ -__STATIC_INLINE int MMU_SecurePage(uint32_t *descriptor_l1, mmu_secure_Type s_bit) -{ - *descriptor_l1 &= PAGE_NS_MASK; - *descriptor_l1 |= ((s_bit & 0x1) << PAGE_NS_SHIFT); - return 0; -} - -/** \brief Set Section memory attributes - - \param [out] descriptor_l1 L1 descriptor. - \param [in] mem Section memory type: NORMAL, DEVICE, SHARED_DEVICE, NON_SHARED_DEVICE, STRONGLY_ORDERED - \param [in] outer Outer cacheability: NON_CACHEABLE, WB_WA, WT, WB_NO_WA, - \param [in] inner Inner cacheability: NON_CACHEABLE, WB_WA, WT, WB_NO_WA, - - \return 0 -*/ -__STATIC_INLINE int MMU_MemorySection(uint32_t *descriptor_l1, mmu_memory_Type mem, mmu_cacheability_Type outer, mmu_cacheability_Type inner) -{ - *descriptor_l1 &= SECTION_TEXCB_MASK; - - if (STRONGLY_ORDERED == mem) - { - return 0; - } - else if (SHARED_DEVICE == mem) - { - *descriptor_l1 |= (1 << SECTION_B_SHIFT); - } - else if (NON_SHARED_DEVICE == mem) - { - *descriptor_l1 |= (1 << SECTION_TEX1_SHIFT); - } - else if (NORMAL == mem) - { - *descriptor_l1 |= 1 << SECTION_TEX2_SHIFT; - switch(inner) - { - case NON_CACHEABLE: - break; - case WB_WA: - *descriptor_l1 |= (1 << SECTION_B_SHIFT); - break; - case WT: - *descriptor_l1 |= 1 << SECTION_C_SHIFT; - break; - case WB_NO_WA: - *descriptor_l1 |= (1 << SECTION_B_SHIFT) | (1 << SECTION_C_SHIFT); - break; - } - switch(outer) - { - case NON_CACHEABLE: - break; - case WB_WA: - *descriptor_l1 |= (1 << SECTION_TEX0_SHIFT); - break; - case WT: - *descriptor_l1 |= 1 << SECTION_TEX1_SHIFT; - break; - case WB_NO_WA: - *descriptor_l1 |= (1 << SECTION_TEX0_SHIFT) | (1 << SECTION_TEX0_SHIFT); - break; - } - } - return 0; -} - -/** \brief Set 4k/64k page memory attributes - - \param [out] descriptor_l2 L2 descriptor. - \param [in] mem 4k/64k page memory type: NORMAL, DEVICE, SHARED_DEVICE, NON_SHARED_DEVICE, STRONGLY_ORDERED - \param [in] outer Outer cacheability: NON_CACHEABLE, WB_WA, WT, WB_NO_WA, - \param [in] inner Inner cacheability: NON_CACHEABLE, WB_WA, WT, WB_NO_WA, - \param [in] page Page size - - \return 0 -*/ -__STATIC_INLINE int MMU_MemoryPage(uint32_t *descriptor_l2, mmu_memory_Type mem, mmu_cacheability_Type outer, mmu_cacheability_Type inner, mmu_region_size_Type page) -{ - *descriptor_l2 &= PAGE_4K_TEXCB_MASK; - - if (page == PAGE_64k) - { - //same as section - MMU_MemorySection(descriptor_l2, mem, outer, inner); - } - else - { - if (STRONGLY_ORDERED == mem) - { - return 0; - } - else if (SHARED_DEVICE == mem) - { - *descriptor_l2 |= (1 << PAGE_4K_B_SHIFT); - } - else if (NON_SHARED_DEVICE == mem) - { - *descriptor_l2 |= (1 << PAGE_4K_TEX1_SHIFT); - } - else if (NORMAL == mem) - { - *descriptor_l2 |= 1 << PAGE_4K_TEX2_SHIFT; - switch(inner) - { - case NON_CACHEABLE: - break; - case WB_WA: - *descriptor_l2 |= (1 << PAGE_4K_B_SHIFT); - break; - case WT: - *descriptor_l2 |= 1 << PAGE_4K_C_SHIFT; - break; - case WB_NO_WA: - *descriptor_l2 |= (1 << PAGE_4K_B_SHIFT) | (1 << PAGE_4K_C_SHIFT); - break; - } - switch(outer) - { - case NON_CACHEABLE: - break; - case WB_WA: - *descriptor_l2 |= (1 << PAGE_4K_TEX0_SHIFT); - break; - case WT: - *descriptor_l2 |= 1 << PAGE_4K_TEX1_SHIFT; - break; - case WB_NO_WA: - *descriptor_l2 |= (1 << PAGE_4K_TEX0_SHIFT) | (1 << PAGE_4K_TEX0_SHIFT); - break; - } - } - } - - return 0; -} - -/** \brief Create a L1 section descriptor - - \param [out] descriptor L1 descriptor - \param [in] reg Section attributes - - \return 0 -*/ -__STATIC_INLINE int MMU_GetSectionDescriptor(uint32_t *descriptor, mmu_region_attributes_Type reg) -{ - *descriptor = 0; - - MMU_MemorySection(descriptor, reg.mem_t, reg.outer_norm_t, reg.inner_norm_t); - MMU_XNSection(descriptor,reg.xn_t); - MMU_DomainSection(descriptor, reg.domain); - MMU_PSection(descriptor, reg.e_t); - MMU_APSection(descriptor, reg.user_t, reg.priv_t, 1); - MMU_SharedSection(descriptor,reg.sh_t); - MMU_GlobalSection(descriptor,reg.g_t); - MMU_SecureSection(descriptor,reg.sec_t); - *descriptor &= SECTION_MASK; - *descriptor |= SECTION_DESCRIPTOR; - - return 0; -} - - -/** \brief Create a L1 and L2 4k/64k page descriptor - - \param [out] descriptor L1 descriptor - \param [out] descriptor2 L2 descriptor - \param [in] reg 4k/64k page attributes - - \return 0 -*/ -__STATIC_INLINE int MMU_GetPageDescriptor(uint32_t *descriptor, uint32_t *descriptor2, mmu_region_attributes_Type reg) -{ - *descriptor = 0; - *descriptor2 = 0; - - switch (reg.rg_t) - { - case PAGE_4k: - MMU_MemoryPage(descriptor2, reg.mem_t, reg.outer_norm_t, reg.inner_norm_t, PAGE_4k); - MMU_XNPage(descriptor2, reg.xn_t, PAGE_4k); - MMU_DomainPage(descriptor, reg.domain); - MMU_PPage(descriptor, reg.e_t); - MMU_APPage(descriptor2, reg.user_t, reg.priv_t, 1); - MMU_SharedPage(descriptor2,reg.sh_t); - MMU_GlobalPage(descriptor2,reg.g_t); - MMU_SecurePage(descriptor,reg.sec_t); - *descriptor &= PAGE_L1_MASK; - *descriptor |= PAGE_L1_DESCRIPTOR; - *descriptor2 &= PAGE_L2_4K_MASK; - *descriptor2 |= PAGE_L2_4K_DESC; - break; - - case PAGE_64k: - MMU_MemoryPage(descriptor2, reg.mem_t, reg.outer_norm_t, reg.inner_norm_t, PAGE_64k); - MMU_XNPage(descriptor2, reg.xn_t, PAGE_64k); - MMU_DomainPage(descriptor, reg.domain); - MMU_PPage(descriptor, reg.e_t); - MMU_APPage(descriptor2, reg.user_t, reg.priv_t, 1); - MMU_SharedPage(descriptor2,reg.sh_t); - MMU_GlobalPage(descriptor2,reg.g_t); - MMU_SecurePage(descriptor,reg.sec_t); - *descriptor &= PAGE_L1_MASK; - *descriptor |= PAGE_L1_DESCRIPTOR; - *descriptor2 &= PAGE_L2_64K_MASK; - *descriptor2 |= PAGE_L2_64K_DESC; - break; - - case SECTION: - //error - break; - } - - return 0; -} - -/** \brief Create a 1MB Section - - \param [in] ttb Translation table base address - \param [in] base_address Section base address - \param [in] count Number of sections to create - \param [in] descriptor_l1 L1 descriptor (region attributes) - -*/ -__STATIC_INLINE void MMU_TTSection(uint32_t *ttb, uint32_t base_address, uint32_t count, uint32_t descriptor_l1) -{ - uint32_t offset; - uint32_t entry; - uint32_t i; - - offset = base_address >> 20; - entry = (base_address & 0xFFF00000) | descriptor_l1; - - //4 bytes aligned - ttb = ttb + offset; - - for (i = 0; i < count; i++ ) - { - //4 bytes aligned - *ttb++ = entry; - entry += OFFSET_1M; - } -} - -/** \brief Create a 4k page entry - - \param [in] ttb L1 table base address - \param [in] base_address 4k base address - \param [in] count Number of 4k pages to create - \param [in] descriptor_l1 L1 descriptor (region attributes) - \param [in] ttb_l2 L2 table base address - \param [in] descriptor_l2 L2 descriptor (region attributes) - -*/ -__STATIC_INLINE void MMU_TTPage4k(uint32_t *ttb, uint32_t base_address, uint32_t count, uint32_t descriptor_l1, uint32_t *ttb_l2, uint32_t descriptor_l2 ) -{ - - uint32_t offset, offset2; - uint32_t entry, entry2; - uint32_t i; - - offset = base_address >> 20; - entry = ((int)ttb_l2 & 0xFFFFFC00) | descriptor_l1; - - //4 bytes aligned - ttb += offset; - //create l1_entry - *ttb = entry; - - offset2 = (base_address & 0xff000) >> 12; - ttb_l2 += offset2; - entry2 = (base_address & 0xFFFFF000) | descriptor_l2; - for (i = 0; i < count; i++ ) - { - //4 bytes aligned - *ttb_l2++ = entry2; - entry2 += OFFSET_4K; - } -} - -/** \brief Create a 64k page entry - - \param [in] ttb L1 table base address - \param [in] base_address 64k base address - \param [in] count Number of 64k pages to create - \param [in] descriptor_l1 L1 descriptor (region attributes) - \param [in] ttb_l2 L2 table base address - \param [in] descriptor_l2 L2 descriptor (region attributes) - -*/ -__STATIC_INLINE void MMU_TTPage64k(uint32_t *ttb, uint32_t base_address, uint32_t count, uint32_t descriptor_l1, uint32_t *ttb_l2, uint32_t descriptor_l2 ) -{ - uint32_t offset, offset2; - uint32_t entry, entry2; - uint32_t i,j; - - - offset = base_address >> 20; - entry = ((int)ttb_l2 & 0xFFFFFC00) | descriptor_l1; - - //4 bytes aligned - ttb += offset; - //create l1_entry - *ttb = entry; - - offset2 = (base_address & 0xff000) >> 12; - ttb_l2 += offset2; - entry2 = (base_address & 0xFFFF0000) | descriptor_l2; - for (i = 0; i < count; i++ ) - { - //create 16 entries - for (j = 0; j < 16; j++) - { - //4 bytes aligned - *ttb_l2++ = entry2; - } - entry2 += OFFSET_64K; - } -} - -/** \brief Enable MMU -*/ -__STATIC_INLINE void MMU_Enable(void) -{ - // Set M bit 0 to enable the MMU - // Set AFE bit to enable simplified access permissions model - // Clear TRE bit to disable TEX remap and A bit to disable strict alignment fault checking - __set_SCTLR( (__get_SCTLR() & ~(1 << 28) & ~(1 << 1)) | 1 | (1 << 29)); - __ISB(); -} - -/** \brief Disable MMU -*/ -__STATIC_INLINE void MMU_Disable(void) -{ - // Clear M bit 0 to disable the MMU - __set_SCTLR( __get_SCTLR() & ~1); - __ISB(); -} - -/** \brief Invalidate entire unified TLB -*/ - -__STATIC_INLINE void MMU_InvalidateTLB(void) -{ - __set_TLBIALL(0); - __DSB(); //ensure completion of the invalidation - __ISB(); //ensure instruction fetch path sees new state -} - - -#ifdef __cplusplus -} -#endif - -#endif /* __CORE_CA_H_DEPENDANT */ - -#endif /* __CMSIS_GENERIC */ diff --git a/external/CMSIS_5/CMSIS/Core_A/Include/irq_ctrl.h b/external/CMSIS_5/CMSIS/Core_A/Include/irq_ctrl.h deleted file mode 100644 index 1ca29a2..0000000 --- a/external/CMSIS_5/CMSIS/Core_A/Include/irq_ctrl.h +++ /dev/null @@ -1,192 +0,0 @@ -/**************************************************************************//** - * @file irq_ctrl.h - * @brief Interrupt Controller API header file - * @version V1.1.0 - * @date 03. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2017-2020 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined ( __ICCARM__ ) - #pragma system_include /* treat file as system include file for MISRA check */ -#elif defined (__clang__) - #pragma clang system_header /* treat file as system include file */ -#endif - -#ifndef IRQ_CTRL_H_ -#define IRQ_CTRL_H_ - -#include - -#ifndef IRQHANDLER_T -#define IRQHANDLER_T -/// Interrupt handler data type -typedef void (*IRQHandler_t) (void); -#endif - -#ifndef IRQN_ID_T -#define IRQN_ID_T -/// Interrupt ID number data type -typedef int32_t IRQn_ID_t; -#endif - -/* Interrupt mode bit-masks */ -#define IRQ_MODE_TRIG_Pos (0U) -#define IRQ_MODE_TRIG_Msk (0x07UL /*<< IRQ_MODE_TRIG_Pos*/) -#define IRQ_MODE_TRIG_LEVEL (0x00UL /*<< IRQ_MODE_TRIG_Pos*/) ///< Trigger: level triggered interrupt -#define IRQ_MODE_TRIG_LEVEL_LOW (0x01UL /*<< IRQ_MODE_TRIG_Pos*/) ///< Trigger: low level triggered interrupt -#define IRQ_MODE_TRIG_LEVEL_HIGH (0x02UL /*<< IRQ_MODE_TRIG_Pos*/) ///< Trigger: high level triggered interrupt -#define IRQ_MODE_TRIG_EDGE (0x04UL /*<< IRQ_MODE_TRIG_Pos*/) ///< Trigger: edge triggered interrupt -#define IRQ_MODE_TRIG_EDGE_RISING (0x05UL /*<< IRQ_MODE_TRIG_Pos*/) ///< Trigger: rising edge triggered interrupt -#define IRQ_MODE_TRIG_EDGE_FALLING (0x06UL /*<< IRQ_MODE_TRIG_Pos*/) ///< Trigger: falling edge triggered interrupt -#define IRQ_MODE_TRIG_EDGE_BOTH (0x07UL /*<< IRQ_MODE_TRIG_Pos*/) ///< Trigger: rising and falling edge triggered interrupt - -#define IRQ_MODE_TYPE_Pos (3U) -#define IRQ_MODE_TYPE_Msk (0x01UL << IRQ_MODE_TYPE_Pos) -#define IRQ_MODE_TYPE_IRQ (0x00UL << IRQ_MODE_TYPE_Pos) ///< Type: interrupt source triggers CPU IRQ line -#define IRQ_MODE_TYPE_FIQ (0x01UL << IRQ_MODE_TYPE_Pos) ///< Type: interrupt source triggers CPU FIQ line - -#define IRQ_MODE_DOMAIN_Pos (4U) -#define IRQ_MODE_DOMAIN_Msk (0x01UL << IRQ_MODE_DOMAIN_Pos) -#define IRQ_MODE_DOMAIN_NONSECURE (0x00UL << IRQ_MODE_DOMAIN_Pos) ///< Domain: interrupt is targeting non-secure domain -#define IRQ_MODE_DOMAIN_SECURE (0x01UL << IRQ_MODE_DOMAIN_Pos) ///< Domain: interrupt is targeting secure domain - -#define IRQ_MODE_CPU_Pos (5U) -#define IRQ_MODE_CPU_Msk (0xFFUL << IRQ_MODE_CPU_Pos) -#define IRQ_MODE_CPU_ALL (0x00UL << IRQ_MODE_CPU_Pos) ///< CPU: interrupt targets all CPUs -#define IRQ_MODE_CPU_0 (0x01UL << IRQ_MODE_CPU_Pos) ///< CPU: interrupt targets CPU 0 -#define IRQ_MODE_CPU_1 (0x02UL << IRQ_MODE_CPU_Pos) ///< CPU: interrupt targets CPU 1 -#define IRQ_MODE_CPU_2 (0x04UL << IRQ_MODE_CPU_Pos) ///< CPU: interrupt targets CPU 2 -#define IRQ_MODE_CPU_3 (0x08UL << IRQ_MODE_CPU_Pos) ///< CPU: interrupt targets CPU 3 -#define IRQ_MODE_CPU_4 (0x10UL << IRQ_MODE_CPU_Pos) ///< CPU: interrupt targets CPU 4 -#define IRQ_MODE_CPU_5 (0x20UL << IRQ_MODE_CPU_Pos) ///< CPU: interrupt targets CPU 5 -#define IRQ_MODE_CPU_6 (0x40UL << IRQ_MODE_CPU_Pos) ///< CPU: interrupt targets CPU 6 -#define IRQ_MODE_CPU_7 (0x80UL << IRQ_MODE_CPU_Pos) ///< CPU: interrupt targets CPU 7 - -// Encoding in some early GIC implementations -#define IRQ_MODE_MODEL_Pos (13U) -#define IRQ_MODE_MODEL_Msk (0x1UL << IRQ_MODE_MODEL_Pos) -#define IRQ_MODE_MODEL_NN (0x0UL << IRQ_MODE_MODEL_Pos) ///< Corresponding interrupt is handled using the N-N model -#define IRQ_MODE_MODEL_1N (0x1UL << IRQ_MODE_MODEL_Pos) ///< Corresponding interrupt is handled using the 1-N model - -#define IRQ_MODE_ERROR (0x80000000UL) ///< Bit indicating mode value error - -/* Interrupt priority bit-masks */ -#define IRQ_PRIORITY_Msk (0x0000FFFFUL) ///< Interrupt priority value bit-mask -#define IRQ_PRIORITY_ERROR (0x80000000UL) ///< Bit indicating priority value error - -/// Initialize interrupt controller. -/// \return 0 on success, -1 on error. -int32_t IRQ_Initialize (void); - -/// Register interrupt handler. -/// \param[in] irqn interrupt ID number -/// \param[in] handler interrupt handler function address -/// \return 0 on success, -1 on error. -int32_t IRQ_SetHandler (IRQn_ID_t irqn, IRQHandler_t handler); - -/// Get the registered interrupt handler. -/// \param[in] irqn interrupt ID number -/// \return registered interrupt handler function address. -IRQHandler_t IRQ_GetHandler (IRQn_ID_t irqn); - -/// Enable interrupt. -/// \param[in] irqn interrupt ID number -/// \return 0 on success, -1 on error. -int32_t IRQ_Enable (IRQn_ID_t irqn); - -/// Disable interrupt. -/// \param[in] irqn interrupt ID number -/// \return 0 on success, -1 on error. -int32_t IRQ_Disable (IRQn_ID_t irqn); - -/// Get interrupt enable state. -/// \param[in] irqn interrupt ID number -/// \return 0 - interrupt is disabled, 1 - interrupt is enabled. -uint32_t IRQ_GetEnableState (IRQn_ID_t irqn); - -/// Configure interrupt request mode. -/// \param[in] irqn interrupt ID number -/// \param[in] mode mode configuration -/// \return 0 on success, -1 on error. -int32_t IRQ_SetMode (IRQn_ID_t irqn, uint32_t mode); - -/// Get interrupt mode configuration. -/// \param[in] irqn interrupt ID number -/// \return current interrupt mode configuration with optional IRQ_MODE_ERROR bit set. -uint32_t IRQ_GetMode (IRQn_ID_t irqn); - -/// Get ID number of current interrupt request (IRQ). -/// \return interrupt ID number. -IRQn_ID_t IRQ_GetActiveIRQ (void); - -/// Get ID number of current fast interrupt request (FIQ). -/// \return interrupt ID number. -IRQn_ID_t IRQ_GetActiveFIQ (void); - -/// Signal end of interrupt processing. -/// \param[in] irqn interrupt ID number -/// \return 0 on success, -1 on error. -int32_t IRQ_EndOfInterrupt (IRQn_ID_t irqn); - -/// Set interrupt pending flag. -/// \param[in] irqn interrupt ID number -/// \return 0 on success, -1 on error. -int32_t IRQ_SetPending (IRQn_ID_t irqn); - -/// Get interrupt pending flag. -/// \param[in] irqn interrupt ID number -/// \return 0 - interrupt is not pending, 1 - interrupt is pending. -uint32_t IRQ_GetPending (IRQn_ID_t irqn); - -/// Clear interrupt pending flag. -/// \param[in] irqn interrupt ID number -/// \return 0 on success, -1 on error. -int32_t IRQ_ClearPending (IRQn_ID_t irqn); - -/// Set interrupt priority value. -/// \param[in] irqn interrupt ID number -/// \param[in] priority interrupt priority value -/// \return 0 on success, -1 on error. -int32_t IRQ_SetPriority (IRQn_ID_t irqn, uint32_t priority); - -/// Get interrupt priority. -/// \param[in] irqn interrupt ID number -/// \return current interrupt priority value with optional IRQ_PRIORITY_ERROR bit set. -uint32_t IRQ_GetPriority (IRQn_ID_t irqn); - -/// Set priority masking threshold. -/// \param[in] priority priority masking threshold value -/// \return 0 on success, -1 on error. -int32_t IRQ_SetPriorityMask (uint32_t priority); - -/// Get priority masking threshold -/// \return current priority masking threshold value with optional IRQ_PRIORITY_ERROR bit set. -uint32_t IRQ_GetPriorityMask (void); - -/// Set priority grouping field split point -/// \param[in] bits number of MSB bits included in the group priority field comparison -/// \return 0 on success, -1 on error. -int32_t IRQ_SetPriorityGroupBits (uint32_t bits); - -/// Get priority grouping field split point -/// \return current number of MSB bits included in the group priority field comparison with -/// optional IRQ_PRIORITY_ERROR bit set. -uint32_t IRQ_GetPriorityGroupBits (void); - -#endif // IRQ_CTRL_H_ diff --git a/external/CMSIS_5/CMSIS/Core_A/Source/irq_ctrl_gic.c b/external/CMSIS_5/CMSIS/Core_A/Source/irq_ctrl_gic.c deleted file mode 100644 index fa7765f..0000000 --- a/external/CMSIS_5/CMSIS/Core_A/Source/irq_ctrl_gic.c +++ /dev/null @@ -1,433 +0,0 @@ -/**************************************************************************//** - * @file irq_ctrl_gic.c - * @brief Interrupt controller handling implementation for GIC - * @version V1.2.0 - * @date 30. October 2022 - ******************************************************************************/ -/* - * Copyright (c) 2017-2022 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include - -#include "RTE_Components.h" -#include CMSIS_device_header - -#include "irq_ctrl.h" - -#if defined(__GIC_PRESENT) && (__GIC_PRESENT == 1U) - -/// Number of implemented interrupt lines -#ifndef IRQ_GIC_LINE_COUNT -#define IRQ_GIC_LINE_COUNT (1020U) -#endif - -#ifndef IRQ_GIC_EXTERN_IRQ_TABLE -static IRQHandler_t IRQTable[IRQ_GIC_LINE_COUNT] = { 0U }; -#else -extern IRQHandler_t IRQTable[IRQ_GIC_LINE_COUNT]; -#endif -static uint32_t IRQ_ID0; - -/// Initialize interrupt controller. -__WEAK int32_t IRQ_Initialize (void) { - #ifndef IRQ_GIC_EXTERN_IRQ_TABLE - uint32_t i; - - for (i = 0U; i < IRQ_GIC_LINE_COUNT; i++) { - IRQTable[i] = (IRQHandler_t)NULL; - } - GIC_Enable(); - #endif - return (0); -} - - -/// Register interrupt handler. -__WEAK int32_t IRQ_SetHandler (IRQn_ID_t irqn, IRQHandler_t handler) { - int32_t status; - - if ((irqn >= 0) && (irqn < (IRQn_ID_t)IRQ_GIC_LINE_COUNT)) { - IRQTable[irqn] = handler; - status = 0; - } else { - status = -1; - } - - return (status); -} - -/// The Interrupt Handler. -__WEAK void IRQ_Handler (void) { - IRQn_Type irqn = GIC_AcknowledgePending (); - if (irqn < (IRQn_Type)IRQ_GIC_LINE_COUNT) { - IRQTable[irqn](); - } - GIC_EndInterrupt (irqn); -} - - -/// Get the registered interrupt handler. -__WEAK IRQHandler_t IRQ_GetHandler (IRQn_ID_t irqn) { - IRQHandler_t h; - - // Ignore CPUID field (software generated interrupts) - irqn &= 0x3FFU; - - if ((irqn >= 0) && (irqn < (IRQn_ID_t)IRQ_GIC_LINE_COUNT)) { - h = IRQTable[irqn]; - } else { - h = (IRQHandler_t)0; - } - - return (h); -} - - -/// Enable interrupt. -__WEAK int32_t IRQ_Enable (IRQn_ID_t irqn) { - int32_t status; - - if ((irqn >= 0) && (irqn < (IRQn_ID_t)IRQ_GIC_LINE_COUNT)) { - GIC_EnableIRQ ((IRQn_Type)irqn); - status = 0; - } else { - status = -1; - } - - return (status); -} - - -/// Disable interrupt. -__WEAK int32_t IRQ_Disable (IRQn_ID_t irqn) { - int32_t status; - - if ((irqn >= 0) && (irqn < (IRQn_ID_t)IRQ_GIC_LINE_COUNT)) { - GIC_DisableIRQ ((IRQn_Type)irqn); - status = 0; - } else { - status = -1; - } - - return (status); -} - - -/// Get interrupt enable state. -__WEAK uint32_t IRQ_GetEnableState (IRQn_ID_t irqn) { - uint32_t enable; - - if ((irqn >= 0) && (irqn < (IRQn_ID_t)IRQ_GIC_LINE_COUNT)) { - enable = GIC_GetEnableIRQ((IRQn_Type)irqn); - } else { - enable = 0U; - } - - return (enable); -} - - -/// Configure interrupt request mode. -__WEAK int32_t IRQ_SetMode (IRQn_ID_t irqn, uint32_t mode) { - uint32_t val; - uint8_t cfg; - uint8_t secure; - uint8_t cpu; - int32_t status = 0; - - if ((irqn >= 0) && (irqn < (IRQn_ID_t)IRQ_GIC_LINE_COUNT)) { - // Check triggering mode - val = (mode & IRQ_MODE_TRIG_Msk); - - if (val == IRQ_MODE_TRIG_LEVEL) { - cfg = 0x00U; - } else if (val == IRQ_MODE_TRIG_EDGE) { - cfg = 0x02U; - } else { - cfg = 0x00U; - status = -1; - } - - val = (mode & IRQ_MODE_MODEL_Msk); - if (val == IRQ_MODE_MODEL_1N) { - cfg |= 1; // 1-N model - } - - // Check interrupt type - val = mode & IRQ_MODE_TYPE_Msk; - - if (val != IRQ_MODE_TYPE_IRQ) { - status = -1; - } - - // Check interrupt domain - val = mode & IRQ_MODE_DOMAIN_Msk; - - if (val == IRQ_MODE_DOMAIN_NONSECURE) { - secure = 0U; - } else { - // Check security extensions support - val = GIC_DistributorInfo() & (1UL << 10U); - - if (val != 0U) { - // Security extensions are supported - secure = 1U; - } else { - secure = 0U; - status = -1; - } - } - - // Check interrupt CPU targets - val = mode & IRQ_MODE_CPU_Msk; - - if (val == IRQ_MODE_CPU_ALL) { - cpu = 0xFFU; - } else { - cpu = (uint8_t)(val >> IRQ_MODE_CPU_Pos); - } - - // Apply configuration if no mode error - if (status == 0) { - GIC_SetConfiguration((IRQn_Type)irqn, cfg); - GIC_SetTarget ((IRQn_Type)irqn, cpu); - - if (secure != 0U) { - GIC_SetGroup ((IRQn_Type)irqn, secure); - } - } - } - - return (status); -} - - -/// Get interrupt mode configuration. -__WEAK uint32_t IRQ_GetMode (IRQn_ID_t irqn) { - uint32_t mode; - uint32_t val; - - if ((irqn >= 0) && (irqn < (IRQn_ID_t)IRQ_GIC_LINE_COUNT)) { - mode = IRQ_MODE_TYPE_IRQ; - - // Get trigger mode - val = GIC_GetConfiguration((IRQn_Type)irqn); - - if ((val & 2U) != 0U) { - // Corresponding interrupt is edge triggered - mode |= IRQ_MODE_TRIG_EDGE; - } else { - // Corresponding interrupt is level triggered - mode |= IRQ_MODE_TRIG_LEVEL; - } - - if (val & 1U) { - mode |= IRQ_MODE_MODEL_1N; - } - // Get interrupt CPU targets - mode |= GIC_GetTarget ((IRQn_Type)irqn) << IRQ_MODE_CPU_Pos; - - } else { - mode = IRQ_MODE_ERROR; - } - - return (mode); -} - - -/// Get ID number of current interrupt request (IRQ). -__WEAK IRQn_ID_t IRQ_GetActiveIRQ (void) { - IRQn_ID_t irqn; - uint32_t prio; - - /* Dummy read to avoid GIC 390 errata 801120 */ - GIC_GetHighPendingIRQ(); - - irqn = GIC_AcknowledgePending(); - - __DSB(); - - /* Workaround GIC 390 errata 733075 (GIC-390_Errata_Notice_v6.pdf, 09-Jul-2014) */ - /* The following workaround code is for a single-core system. It would be */ - /* different in a multi-core system. */ - /* If the ID is 0 or 0x3FE or 0x3FF, then the GIC CPU interface may be locked-up */ - /* so unlock it, otherwise service the interrupt as normal. */ - /* Special IDs 1020=0x3FC and 1021=0x3FD are reserved values in GICv1 and GICv2 */ - /* so will not occur here. */ - - if ((irqn == 0) || (irqn >= 0x3FE)) { - /* Unlock the CPU interface with a dummy write to Interrupt Priority Register */ - prio = GIC_GetPriority((IRQn_Type)0); - GIC_SetPriority ((IRQn_Type)0, prio); - - __DSB(); - - if ((irqn == 0U) && ((GIC_GetIRQStatus ((IRQn_Type)irqn) & 1U) != 0U) && (IRQ_ID0 == 0U)) { - /* If the ID is 0, is active and has not been seen before */ - IRQ_ID0 = 1U; - } - /* End of Workaround GIC 390 errata 733075 */ - } - - return (irqn); -} - - -/// Get ID number of current fast interrupt request (FIQ). -__WEAK IRQn_ID_t IRQ_GetActiveFIQ (void) { - return ((IRQn_ID_t)-1); -} - - -/// Signal end of interrupt processing. -__WEAK int32_t IRQ_EndOfInterrupt (IRQn_ID_t irqn) { - int32_t status; - IRQn_Type irq = (IRQn_Type)irqn; - - irqn &= 0x3FFU; - - if ((irqn >= 0) && (irqn < (IRQn_ID_t)IRQ_GIC_LINE_COUNT)) { - GIC_EndInterrupt (irq); - - if (irqn == 0) { - IRQ_ID0 = 0U; - } - - status = 0; - } else { - status = -1; - } - - return (status); -} - - -/// Set interrupt pending flag. -__WEAK int32_t IRQ_SetPending (IRQn_ID_t irqn) { - int32_t status; - - if ((irqn >= 0) && (irqn < (IRQn_ID_t)IRQ_GIC_LINE_COUNT)) { - GIC_SetPendingIRQ ((IRQn_Type)irqn); - status = 0; - } else { - status = -1; - } - - return (status); -} - -/// Get interrupt pending flag. -__WEAK uint32_t IRQ_GetPending (IRQn_ID_t irqn) { - uint32_t pending; - - if ((irqn >= 16) && (irqn < (IRQn_ID_t)IRQ_GIC_LINE_COUNT)) { - pending = GIC_GetPendingIRQ ((IRQn_Type)irqn); - } else { - pending = 0U; - } - - return (pending & 1U); -} - - -/// Clear interrupt pending flag. -__WEAK int32_t IRQ_ClearPending (IRQn_ID_t irqn) { - int32_t status; - - if ((irqn >= 16) && (irqn < (IRQn_ID_t)IRQ_GIC_LINE_COUNT)) { - GIC_ClearPendingIRQ ((IRQn_Type)irqn); - status = 0; - } else { - status = -1; - } - - return (status); -} - - -/// Set interrupt priority value. -__WEAK int32_t IRQ_SetPriority (IRQn_ID_t irqn, uint32_t priority) { - int32_t status; - - if ((irqn >= 0) && (irqn < (IRQn_ID_t)IRQ_GIC_LINE_COUNT)) { - GIC_SetPriority ((IRQn_Type)irqn, priority); - status = 0; - } else { - status = -1; - } - - return (status); -} - - -/// Get interrupt priority. -__WEAK uint32_t IRQ_GetPriority (IRQn_ID_t irqn) { - uint32_t priority; - - if ((irqn >= 0) && (irqn < (IRQn_ID_t)IRQ_GIC_LINE_COUNT)) { - priority = GIC_GetPriority ((IRQn_Type)irqn); - } else { - priority = IRQ_PRIORITY_ERROR; - } - - return (priority); -} - - -/// Set priority masking threshold. -__WEAK int32_t IRQ_SetPriorityMask (uint32_t priority) { - GIC_SetInterfacePriorityMask (priority); - return (0); -} - - -/// Get priority masking threshold -__WEAK uint32_t IRQ_GetPriorityMask (void) { - return GIC_GetInterfacePriorityMask(); -} - - -/// Set priority grouping field split point -__WEAK int32_t IRQ_SetPriorityGroupBits (uint32_t bits) { - int32_t status; - - if (bits == IRQ_PRIORITY_Msk) { - bits = 7U; - } - - if (bits < 8U) { - GIC_SetBinaryPoint (7U - bits); - status = 0; - } else { - status = -1; - } - - return (status); -} - - -/// Get priority grouping field split point -__WEAK uint32_t IRQ_GetPriorityGroupBits (void) { - uint32_t bp; - - bp = GIC_GetBinaryPoint() & 0x07U; - - return (7U - bp); -} - -#endif diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Config/DAP_config.h b/external/CMSIS_5/CMSIS/DAP/Firmware/Config/DAP_config.h deleted file mode 100644 index 5e62cf4..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Config/DAP_config.h +++ /dev/null @@ -1,561 +0,0 @@ -/* - * Copyright (c) 2013-2021 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ---------------------------------------------------------------------- - * - * $Date: 16. June 2021 - * $Revision: V2.1.0 - * - * Project: CMSIS-DAP Configuration - * Title: DAP_config.h CMSIS-DAP Configuration File (Template) - * - *---------------------------------------------------------------------------*/ - -#ifndef __DAP_CONFIG_H__ -#define __DAP_CONFIG_H__ - - -//************************************************************************************************** -/** -\defgroup DAP_Config_Debug_gr CMSIS-DAP Debug Unit Information -\ingroup DAP_ConfigIO_gr -@{ -Provides definitions about the hardware and configuration of the Debug Unit. - -This information includes: - - Definition of Cortex-M processor parameters used in CMSIS-DAP Debug Unit. - - Debug Unit Identification strings (Vendor, Product, Serial Number). - - Debug Unit communication packet size. - - Debug Access Port supported modes and settings (JTAG/SWD and SWO). - - Optional information about a connected Target Device (for Evaluation Boards). -*/ - -#ifdef _RTE_ -#include "RTE_Components.h" -#include CMSIS_device_header -#else -#include "device.h" // Debug Unit Cortex-M Processor Header File -#endif - -/// Processor Clock of the Cortex-M MCU used in the Debug Unit. -/// This value is used to calculate the SWD/JTAG clock speed. -#define CPU_CLOCK 100000000U ///< Specifies the CPU Clock in Hz. - -/// Number of processor cycles for I/O Port write operations. -/// This value is used to calculate the SWD/JTAG clock speed that is generated with I/O -/// Port write operations in the Debug Unit by a Cortex-M MCU. Most Cortex-M processors -/// require 2 processor cycles for a I/O Port Write operation. If the Debug Unit uses -/// a Cortex-M0+ processor with high-speed peripheral I/O only 1 processor cycle might be -/// required. -#define IO_PORT_WRITE_CYCLES 2U ///< I/O Cycles: 2=default, 1=Cortex-M0+ fast I/0. - -/// Indicate that Serial Wire Debug (SWD) communication mode is available at the Debug Access Port. -/// This information is returned by the command \ref DAP_Info as part of Capabilities. -#define DAP_SWD 1 ///< SWD Mode: 1 = available, 0 = not available. - -/// Indicate that JTAG communication mode is available at the Debug Port. -/// This information is returned by the command \ref DAP_Info as part of Capabilities. -#define DAP_JTAG 1 ///< JTAG Mode: 1 = available, 0 = not available. - -/// Configure maximum number of JTAG devices on the scan chain connected to the Debug Access Port. -/// This setting impacts the RAM requirements of the Debug Unit. Valid range is 1 .. 255. -#define DAP_JTAG_DEV_CNT 8U ///< Maximum number of JTAG devices on scan chain. - -/// Default communication mode on the Debug Access Port. -/// Used for the command \ref DAP_Connect when Port Default mode is selected. -#define DAP_DEFAULT_PORT 1U ///< Default JTAG/SWJ Port Mode: 1 = SWD, 2 = JTAG. - -/// Default communication speed on the Debug Access Port for SWD and JTAG mode. -/// Used to initialize the default SWD/JTAG clock frequency. -/// The command \ref DAP_SWJ_Clock can be used to overwrite this default setting. -#define DAP_DEFAULT_SWJ_CLOCK 1000000U ///< Default SWD/JTAG clock frequency in Hz. - -/// Maximum Package Size for Command and Response data. -/// This configuration settings is used to optimize the communication performance with the -/// debugger and depends on the USB peripheral. Typical vales are 64 for Full-speed USB HID or WinUSB, -/// 1024 for High-speed USB HID and 512 for High-speed USB WinUSB. -#define DAP_PACKET_SIZE 512U ///< Specifies Packet Size in bytes. - -/// Maximum Package Buffers for Command and Response data. -/// This configuration settings is used to optimize the communication performance with the -/// debugger and depends on the USB peripheral. For devices with limited RAM or USB buffer the -/// setting can be reduced (valid range is 1 .. 255). -#define DAP_PACKET_COUNT 8U ///< Specifies number of packets buffered. - -/// Indicate that UART Serial Wire Output (SWO) trace is available. -/// This information is returned by the command \ref DAP_Info as part of Capabilities. -#define SWO_UART 1 ///< SWO UART: 1 = available, 0 = not available. - -/// USART Driver instance number for the UART SWO. -#define SWO_UART_DRIVER 0 ///< USART Driver instance number (Driver_USART#). - -/// Maximum SWO UART Baudrate. -#define SWO_UART_MAX_BAUDRATE 10000000U ///< SWO UART Maximum Baudrate in Hz. - -/// Indicate that Manchester Serial Wire Output (SWO) trace is available. -/// This information is returned by the command \ref DAP_Info as part of Capabilities. -#define SWO_MANCHESTER 0 ///< SWO Manchester: 1 = available, 0 = not available. - -/// SWO Trace Buffer Size. -#define SWO_BUFFER_SIZE 4096U ///< SWO Trace Buffer Size in bytes (must be 2^n). - -/// SWO Streaming Trace. -#define SWO_STREAM 0 ///< SWO Streaming Trace: 1 = available, 0 = not available. - -/// Clock frequency of the Test Domain Timer. Timer value is returned with \ref TIMESTAMP_GET. -#define TIMESTAMP_CLOCK 100000000U ///< Timestamp clock in Hz (0 = timestamps not supported). - -/// Indicate that UART Communication Port is available. -/// This information is returned by the command \ref DAP_Info as part of Capabilities. -#define DAP_UART 1 ///< DAP UART: 1 = available, 0 = not available. - -/// USART Driver instance number for the UART Communication Port. -#define DAP_UART_DRIVER 1 ///< USART Driver instance number (Driver_USART#). - -/// UART Receive Buffer Size. -#define DAP_UART_RX_BUFFER_SIZE 1024U ///< Uart Receive Buffer Size in bytes (must be 2^n). - -/// UART Transmit Buffer Size. -#define DAP_UART_TX_BUFFER_SIZE 1024U ///< Uart Transmit Buffer Size in bytes (must be 2^n). - -/// Indicate that UART Communication via USB COM Port is available. -/// This information is returned by the command \ref DAP_Info as part of Capabilities. -#define DAP_UART_USB_COM_PORT 1 ///< USB COM Port: 1 = available, 0 = not available. - -/// Debug Unit is connected to fixed Target Device. -/// The Debug Unit may be part of an evaluation board and always connected to a fixed -/// known device. In this case a Device Vendor, Device Name, Board Vendor and Board Name strings -/// are stored and may be used by the debugger or IDE to configure device parameters. -#define TARGET_FIXED 0 ///< Target: 1 = known, 0 = unknown; - -#define TARGET_DEVICE_VENDOR "Arm" ///< String indicating the Silicon Vendor -#define TARGET_DEVICE_NAME "Cortex-M" ///< String indicating the Target Device -#define TARGET_BOARD_VENDOR "Arm" ///< String indicating the Board Vendor -#define TARGET_BOARD_NAME "Arm board" ///< String indicating the Board Name - -#if TARGET_FIXED != 0 -#include -static const char TargetDeviceVendor [] = TARGET_DEVICE_VENDOR; -static const char TargetDeviceName [] = TARGET_DEVICE_NAME; -static const char TargetBoardVendor [] = TARGET_BOARD_VENDOR; -static const char TargetBoardName [] = TARGET_BOARD_NAME; -#endif - -/** Get Vendor Name string. -\param str Pointer to buffer to store the string (max 60 characters). -\return String length (including terminating NULL character) or 0 (no string). -*/ -__STATIC_INLINE uint8_t DAP_GetVendorString (char *str) { - (void)str; - return (0U); -} - -/** Get Product Name string. -\param str Pointer to buffer to store the string (max 60 characters). -\return String length (including terminating NULL character) or 0 (no string). -*/ -__STATIC_INLINE uint8_t DAP_GetProductString (char *str) { - (void)str; - return (0U); -} - -/** Get Serial Number string. -\param str Pointer to buffer to store the string (max 60 characters). -\return String length (including terminating NULL character) or 0 (no string). -*/ -__STATIC_INLINE uint8_t DAP_GetSerNumString (char *str) { - (void)str; - return (0U); -} - -/** Get Target Device Vendor string. -\param str Pointer to buffer to store the string (max 60 characters). -\return String length (including terminating NULL character) or 0 (no string). -*/ -__STATIC_INLINE uint8_t DAP_GetTargetDeviceVendorString (char *str) { -#if TARGET_FIXED != 0 - uint8_t len; - - strcpy(str, TargetDeviceVendor); - len = (uint8_t)(strlen(TargetDeviceVendor) + 1U); - return (len); -#else - (void)str; - return (0U); -#endif -} - -/** Get Target Device Name string. -\param str Pointer to buffer to store the string (max 60 characters). -\return String length (including terminating NULL character) or 0 (no string). -*/ -__STATIC_INLINE uint8_t DAP_GetTargetDeviceNameString (char *str) { -#if TARGET_FIXED != 0 - uint8_t len; - - strcpy(str, TargetDeviceName); - len = (uint8_t)(strlen(TargetDeviceName) + 1U); - return (len); -#else - (void)str; - return (0U); -#endif -} - -/** Get Target Board Vendor string. -\param str Pointer to buffer to store the string (max 60 characters). -\return String length (including terminating NULL character) or 0 (no string). -*/ -__STATIC_INLINE uint8_t DAP_GetTargetBoardVendorString (char *str) { -#if TARGET_FIXED != 0 - uint8_t len; - - strcpy(str, TargetBoardVendor); - len = (uint8_t)(strlen(TargetBoardVendor) + 1U); - return (len); -#else - (void)str; - return (0U); -#endif -} - -/** Get Target Board Name string. -\param str Pointer to buffer to store the string (max 60 characters). -\return String length (including terminating NULL character) or 0 (no string). -*/ -__STATIC_INLINE uint8_t DAP_GetTargetBoardNameString (char *str) { -#if TARGET_FIXED != 0 - uint8_t len; - - strcpy(str, TargetBoardName); - len = (uint8_t)(strlen(TargetBoardName) + 1U); - return (len); -#else - (void)str; - return (0U); -#endif -} - -/** Get Product Firmware Version string. -\param str Pointer to buffer to store the string (max 60 characters). -\return String length (including terminating NULL character) or 0 (no string). -*/ -__STATIC_INLINE uint8_t DAP_GetProductFirmwareVersionString (char *str) { - (void)str; - return (0U); -} - -///@} - - -//************************************************************************************************** -/** -\defgroup DAP_Config_PortIO_gr CMSIS-DAP Hardware I/O Pin Access -\ingroup DAP_ConfigIO_gr -@{ - -Standard I/O Pins of the CMSIS-DAP Hardware Debug Port support standard JTAG mode -and Serial Wire Debug (SWD) mode. In SWD mode only 2 pins are required to implement the debug -interface of a device. The following I/O Pins are provided: - -JTAG I/O Pin | SWD I/O Pin | CMSIS-DAP Hardware pin mode ----------------------------- | -------------------- | --------------------------------------------- -TCK: Test Clock | SWCLK: Clock | Output Push/Pull -TMS: Test Mode Select | SWDIO: Data I/O | Output Push/Pull; Input (for receiving data) -TDI: Test Data Input | | Output Push/Pull -TDO: Test Data Output | | Input -nTRST: Test Reset (optional) | | Output Open Drain with pull-up resistor -nRESET: Device Reset | nRESET: Device Reset | Output Open Drain with pull-up resistor - - -DAP Hardware I/O Pin Access Functions -------------------------------------- -The various I/O Pins are accessed by functions that implement the Read, Write, Set, or Clear to -these I/O Pins. - -For the SWDIO I/O Pin there are additional functions that are called in SWD I/O mode only. -This functions are provided to achieve faster I/O that is possible with some advanced GPIO -peripherals that can independently write/read a single I/O pin without affecting any other pins -of the same I/O port. The following SWDIO I/O Pin functions are provided: - - \ref PIN_SWDIO_OUT_ENABLE to enable the output mode from the DAP hardware. - - \ref PIN_SWDIO_OUT_DISABLE to enable the input mode to the DAP hardware. - - \ref PIN_SWDIO_IN to read from the SWDIO I/O pin with utmost possible speed. - - \ref PIN_SWDIO_OUT to write to the SWDIO I/O pin with utmost possible speed. -*/ - - -// Configure DAP I/O pins ------------------------------ - -/** Setup JTAG I/O pins: TCK, TMS, TDI, TDO, nTRST, and nRESET. -Configures the DAP Hardware I/O pins for JTAG mode: - - TCK, TMS, TDI, nTRST, nRESET to output mode and set to high level. - - TDO to input mode. -*/ -__STATIC_INLINE void PORT_JTAG_SETUP (void) { - ; -} - -/** Setup SWD I/O pins: SWCLK, SWDIO, and nRESET. -Configures the DAP Hardware I/O pins for Serial Wire Debug (SWD) mode: - - SWCLK, SWDIO, nRESET to output mode and set to default high level. - - TDI, nTRST to HighZ mode (pins are unused in SWD mode). -*/ -__STATIC_INLINE void PORT_SWD_SETUP (void) { - ; -} - -/** Disable JTAG/SWD I/O Pins. -Disables the DAP Hardware I/O pins which configures: - - TCK/SWCLK, TMS/SWDIO, TDI, TDO, nTRST, nRESET to High-Z mode. -*/ -__STATIC_INLINE void PORT_OFF (void) { - ; -} - - -// SWCLK/TCK I/O pin ------------------------------------- - -/** SWCLK/TCK I/O pin: Get Input. -\return Current status of the SWCLK/TCK DAP hardware I/O pin. -*/ -__STATIC_FORCEINLINE uint32_t PIN_SWCLK_TCK_IN (void) { - return (0U); -} - -/** SWCLK/TCK I/O pin: Set Output to High. -Set the SWCLK/TCK DAP hardware I/O pin to high level. -*/ -__STATIC_FORCEINLINE void PIN_SWCLK_TCK_SET (void) { - ; -} - -/** SWCLK/TCK I/O pin: Set Output to Low. -Set the SWCLK/TCK DAP hardware I/O pin to low level. -*/ -__STATIC_FORCEINLINE void PIN_SWCLK_TCK_CLR (void) { - ; -} - - -// SWDIO/TMS Pin I/O -------------------------------------- - -/** SWDIO/TMS I/O pin: Get Input. -\return Current status of the SWDIO/TMS DAP hardware I/O pin. -*/ -__STATIC_FORCEINLINE uint32_t PIN_SWDIO_TMS_IN (void) { - return (0U); -} - -/** SWDIO/TMS I/O pin: Set Output to High. -Set the SWDIO/TMS DAP hardware I/O pin to high level. -*/ -__STATIC_FORCEINLINE void PIN_SWDIO_TMS_SET (void) { - ; -} - -/** SWDIO/TMS I/O pin: Set Output to Low. -Set the SWDIO/TMS DAP hardware I/O pin to low level. -*/ -__STATIC_FORCEINLINE void PIN_SWDIO_TMS_CLR (void) { - ; -} - -/** SWDIO I/O pin: Get Input (used in SWD mode only). -\return Current status of the SWDIO DAP hardware I/O pin. -*/ -__STATIC_FORCEINLINE uint32_t PIN_SWDIO_IN (void) { - return (0U); -} - -/** SWDIO I/O pin: Set Output (used in SWD mode only). -\param bit Output value for the SWDIO DAP hardware I/O pin. -*/ -__STATIC_FORCEINLINE void PIN_SWDIO_OUT (uint32_t bit) { - ; -} - -/** SWDIO I/O pin: Switch to Output mode (used in SWD mode only). -Configure the SWDIO DAP hardware I/O pin to output mode. This function is -called prior \ref PIN_SWDIO_OUT function calls. -*/ -__STATIC_FORCEINLINE void PIN_SWDIO_OUT_ENABLE (void) { - ; -} - -/** SWDIO I/O pin: Switch to Input mode (used in SWD mode only). -Configure the SWDIO DAP hardware I/O pin to input mode. This function is -called prior \ref PIN_SWDIO_IN function calls. -*/ -__STATIC_FORCEINLINE void PIN_SWDIO_OUT_DISABLE (void) { - ; -} - - -// TDI Pin I/O --------------------------------------------- - -/** TDI I/O pin: Get Input. -\return Current status of the TDI DAP hardware I/O pin. -*/ -__STATIC_FORCEINLINE uint32_t PIN_TDI_IN (void) { - return (0U); -} - -/** TDI I/O pin: Set Output. -\param bit Output value for the TDI DAP hardware I/O pin. -*/ -__STATIC_FORCEINLINE void PIN_TDI_OUT (uint32_t bit) { - ; -} - - -// TDO Pin I/O --------------------------------------------- - -/** TDO I/O pin: Get Input. -\return Current status of the TDO DAP hardware I/O pin. -*/ -__STATIC_FORCEINLINE uint32_t PIN_TDO_IN (void) { - return (0U); -} - - -// nTRST Pin I/O ------------------------------------------- - -/** nTRST I/O pin: Get Input. -\return Current status of the nTRST DAP hardware I/O pin. -*/ -__STATIC_FORCEINLINE uint32_t PIN_nTRST_IN (void) { - return (0U); -} - -/** nTRST I/O pin: Set Output. -\param bit JTAG TRST Test Reset pin status: - - 0: issue a JTAG TRST Test Reset. - - 1: release JTAG TRST Test Reset. -*/ -__STATIC_FORCEINLINE void PIN_nTRST_OUT (uint32_t bit) { - ; -} - -// nRESET Pin I/O------------------------------------------ - -/** nRESET I/O pin: Get Input. -\return Current status of the nRESET DAP hardware I/O pin. -*/ -__STATIC_FORCEINLINE uint32_t PIN_nRESET_IN (void) { - return (0U); -} - -/** nRESET I/O pin: Set Output. -\param bit target device hardware reset pin status: - - 0: issue a device hardware reset. - - 1: release device hardware reset. -*/ -__STATIC_FORCEINLINE void PIN_nRESET_OUT (uint32_t bit) { - ; -} - -///@} - - -//************************************************************************************************** -/** -\defgroup DAP_Config_LEDs_gr CMSIS-DAP Hardware Status LEDs -\ingroup DAP_ConfigIO_gr -@{ - -CMSIS-DAP Hardware may provide LEDs that indicate the status of the CMSIS-DAP Debug Unit. - -It is recommended to provide the following LEDs for status indication: - - Connect LED: is active when the DAP hardware is connected to a debugger. - - Running LED: is active when the debugger has put the target device into running state. -*/ - -/** Debug Unit: Set status of Connected LED. -\param bit status of the Connect LED. - - 1: Connect LED ON: debugger is connected to CMSIS-DAP Debug Unit. - - 0: Connect LED OFF: debugger is not connected to CMSIS-DAP Debug Unit. -*/ -__STATIC_INLINE void LED_CONNECTED_OUT (uint32_t bit) {} - -/** Debug Unit: Set status Target Running LED. -\param bit status of the Target Running LED. - - 1: Target Running LED ON: program execution in target started. - - 0: Target Running LED OFF: program execution in target stopped. -*/ -__STATIC_INLINE void LED_RUNNING_OUT (uint32_t bit) {} - -///@} - - -//************************************************************************************************** -/** -\defgroup DAP_Config_Timestamp_gr CMSIS-DAP Timestamp -\ingroup DAP_ConfigIO_gr -@{ -Access function for Test Domain Timer. - -The value of the Test Domain Timer in the Debug Unit is returned by the function \ref TIMESTAMP_GET. By -default, the DWT timer is used. The frequency of this timer is configured with \ref TIMESTAMP_CLOCK. - -*/ - -/** Get timestamp of Test Domain Timer. -\return Current timestamp value. -*/ -__STATIC_INLINE uint32_t TIMESTAMP_GET (void) { - return (DWT->CYCCNT); -} - -///@} - - -//************************************************************************************************** -/** -\defgroup DAP_Config_Initialization_gr CMSIS-DAP Initialization -\ingroup DAP_ConfigIO_gr -@{ - -CMSIS-DAP Hardware I/O and LED Pins are initialized with the function \ref DAP_SETUP. -*/ - -/** Setup of the Debug Unit I/O pins and LEDs (called when Debug Unit is initialized). -This function performs the initialization of the CMSIS-DAP Hardware I/O Pins and the -Status LEDs. In detail the operation of Hardware I/O and LED pins are enabled and set: - - I/O clock system enabled. - - all I/O pins: input buffer enabled, output pins are set to HighZ mode. - - for nTRST, nRESET a weak pull-up (if available) is enabled. - - LED output pins are enabled and LEDs are turned off. -*/ -__STATIC_INLINE void DAP_SETUP (void) { - ; -} - -/** Reset Target Device with custom specific I/O pin or command sequence. -This function allows the optional implementation of a device specific reset sequence. -It is called when the command \ref DAP_ResetTarget and is for example required -when a device needs a time-critical unlock sequence that enables the debug port. -\return 0 = no device specific reset sequence is implemented.\n - 1 = a device specific reset sequence is implemented. -*/ -__STATIC_INLINE uint8_t RESET_TARGET (void) { - return (0U); // change to '1' when a device reset sequence is implemented -} - -///@} - - -#endif /* __DAP_CONFIG_H__ */ diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/CMSIS_DAP.uvguix b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/CMSIS_DAP.uvguix deleted file mode 100644 index a104736..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/CMSIS_DAP.uvguix +++ /dev/null @@ -1,1878 +0,0 @@ - - - - -6.1 - -
### uVision Project, (C) Keil Software
- - - - - - - - - - 38003 - Registers - 140 90 - - - 346 - Code Coverage - 1010 160 - - - 204 - Performance Analyzer - 1170 - - - - - - 35141 - Event Statistics - - 200 50 700 - - - 1506 - Symbols - - 80 80 80 - - - 1936 - Watch 1 - - 200 133 133 - - - 1937 - Watch 2 - - 200 133 133 - - - 1935 - Call Stack + Locals - - 200 133 133 - - - 2506 - Trace Data - - 75 135 130 95 70 230 200 150 - - - 466 - Source Browser - 500 - 300 - - - - - - - - 1 - 1 - 0 - 0 - -1 - - - - - - - 44 - 2 - 3 - - -1 - -1 - - - -1 - -1 - - - 0 - -15 - 1494 - 844 - - - - 0 - - 293 - 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000100000000000000010000005B443A5C4769744875625C41524D2D736F6674776172655C434D5349535F355C434D5349535C4441505C4669726D776172655C4578616D706C65735C4C50432D4C696E6B32202D20436F70795C56325C41627374726163742E747874000000000C41627374726163742E74787400000000C5D4F200FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F4000000660000008007000075040000 - - - - 0 - Build - - -1 - -1 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - F40000004F00000090050000DF000000 - - - 16 - F40000006600000090050000F6000000 - - - - 1005 - 1005 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000066000000ED00000045040000 - - - 16 - B7000000CD000000A701000098010000 - - - - 109 - 109 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000066000000ED00000045040000 - - - 16 - B7000000CD000000D30100000F030000 - - - - 1465 - 1465 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000320200008D050000A6020000 - - - 16 - B7000000CD0000007F0300005D010000 - - - - 1466 - 1466 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000320200008D050000A6020000 - - - 16 - B7000000CD0000007F0300005D010000 - - - - 1467 - 1467 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000320200008D050000A6020000 - - - 16 - B7000000CD0000007F0300005D010000 - - - - 1468 - 1468 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000320200008D050000A6020000 - - - 16 - B7000000CD0000007F0300005D010000 - - - - 1506 - 1506 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 1913 - 1913 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - F7000000660000008D050000C6000000 - - - 16 - B7000000CD0000007F0300005D010000 - - - - 1935 - 1935 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 03000000320200008D050000A6020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 1936 - 1936 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000320200008D050000A6020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 1937 - 1937 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000320200008D050000A6020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 1939 - 1939 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000320200008D050000A6020000 - - - 16 - B7000000CD0000007F0300005D010000 - - - - 1940 - 1940 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000320200008D050000A6020000 - - - 16 - B7000000CD0000007F0300005D010000 - - - - 1941 - 1941 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000320200008D050000A6020000 - - - 16 - B7000000CD0000007F0300005D010000 - - - - 1942 - 1942 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000320200008D050000A6020000 - - - 16 - B7000000CD0000007F0300005D010000 - - - - 195 - 195 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000066000000ED00000045040000 - - - 16 - B7000000CD000000D30100000F030000 - - - - 196 - 196 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000066000000ED00000045040000 - - - 16 - B7000000CD000000D30100000F030000 - - - - 197 - 197 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 00000000E2030000800700005E040000 - - - 16 - B7000000CD0000007F0300005D010000 - - - - 198 - 198 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 000000001B02000090050000BF020000 - - - 16 - B7000000CD0000007F0300005D010000 - - - - 199 - 199 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000E50300007D07000045040000 - - - 16 - B7000000CD0000007F0300005D010000 - - - - 203 - 203 - 0 - 0 - 0 - 0 - 32767 - 0 - 8192 - 0 - - 16 - F7000000660000008D050000C6000000 - - - 16 - B7000000CD0000007F0300005D010000 - - - - 204 - 204 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - F7000000660000008D050000C6000000 - - - 16 - B7000000CD0000007F0300005D010000 - - - - 221 - 221 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 00000000000000000000000000000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 2506 - 2506 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 2507 - 2507 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000320200008D050000A6020000 - - - 16 - B7000000CD0000007F0300005D010000 - - - - 343 - 343 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - F7000000660000008D050000C6000000 - - - 16 - B7000000CD0000007F0300005D010000 - - - - 346 - 346 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - F7000000660000008D050000C6000000 - - - 16 - B7000000CD0000007F0300005D010000 - - - - 35141 - 35141 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - F40000006300000090050000F1000000 - - - 16 - 8A000000A10000007A01000084010000 - - - - 35824 - 35824 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - F7000000660000008D050000C6000000 - - - 16 - B7000000CD0000007F0300005D010000 - - - - 35885 - 35885 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 35886 - 35886 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 35887 - 35887 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 35888 - 35888 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 35889 - 35889 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 35890 - 35890 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 35891 - 35891 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 35892 - 35892 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 35893 - 35893 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 35894 - 35894 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 35895 - 35895 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 35896 - 35896 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 35897 - 35897 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 35898 - 35898 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 35899 - 35899 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 35900 - 35900 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 35901 - 35901 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 35902 - 35902 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 35903 - 35903 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 35904 - 35904 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 35905 - 35905 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 38003 - 38003 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000066000000ED000000CE030000 - - - 16 - B7000000CD000000D30100000F030000 - - - - 38007 - 38007 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000E50300007D07000045040000 - - - 16 - B7000000CD0000007F0300005D010000 - - - - 436 - 436 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000E50300007D07000045040000 - - - 16 - B7000000CD000000D30100000F030000 - - - - 437 - 437 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000320200008D050000A6020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 440 - 440 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000320200008D050000A6020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 463 - 463 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000E50300007D07000045040000 - - - 16 - B7000000CD000000D30100000F030000 - - - - 466 - 466 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000E50300007D07000045040000 - - - 16 - B7000000CD000000D30100000F030000 - - - - 470 - 470 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000320200008D050000A6020000 - - - 16 - B7000000CD0000007F0300005D010000 - - - - 50000 - 50000 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 50001 - 50001 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 50002 - 50002 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 50003 - 50003 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 50004 - 50004 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 50005 - 50005 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 50006 - 50006 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 50007 - 50007 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 50008 - 50008 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 50009 - 50009 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 50010 - 50010 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 50011 - 50011 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 50012 - 50012 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 50013 - 50013 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 50014 - 50014 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 50015 - 50015 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 50016 - 50016 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 50017 - 50017 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 50018 - 50018 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 50019 - 50019 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 59392 - 59392 - 1 - 0 - 0 - 0 - 940 - 0 - 8192 - 0 - - 16 - 0000000000000000C40300001C000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59393 - 0 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 000000005E0400008007000071040000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59399 - 59399 - 1 - 0 - 0 - 0 - 476 - 0 - 8192 - 1 - - 16 - 000000001C000000E701000038000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59400 - 59400 - 0 - 0 - 0 - 0 - 612 - 0 - 8192 - 2 - - 16 - 00000000380000006F02000054000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 824 - 824 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000320200008D050000A6020000 - - - 16 - B7000000CD000000A701000098010000 - - - - 3487 - 000000000D000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DF00000090050000E3000000000000000100000004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E650020000000000000F40000006600000090050000F6000000F40000004F00000090050000DF0000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A00400002B020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A0040000660000009005000042020000A00400004F000000900500002B02000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F40000005E040000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000F0000000FE030000000000004F000000F00000005E0400000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000017020000900500001B02000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF100000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000D601000001800080000000000000000000003202000090050000D6020000000000001B02000090050000BF0200000000000040410046100000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC80200001B020000CC020000BF02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF00000000CA03000080070000CE030000000000000100000004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000000000000000000006E03000080070000FE03000000000000CE030000800700005E0400000000000040820046060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF1346696E6420416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000F100000090050000F5000000000000000100001004000000010000000000000000000000FFFFFFFF010000004589000001800020000000000000F40000006500000090050000F5000000F40000004F00000090050000F1000000000000004028004601000000104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFF4589000001000000FFFFFFFF45890000000000000000000000000000 - - - 59392 - File - - 2897 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000126F734D757465785072696F496E686572697496000000000000001300126F734D757465785072696F496E68657269740664656C657465095465726D696E6174651154485F4D75746578416371756972655F3709416371756972655F370752656C6561736504307830331855534244305F4445565F444553435F494450524F445543541975736264305F737472696E675F64657363726970746F725F741775736264305F6465766963655F64657363726970746F720A307831613030613666301254617267657444657669636556656E646F72106F734B65726E656C4765745374617465145441524745545F4445564943455F56454E444F52074C424231365F37033238370C556E6C6F636B5265636F726406756E6C6F636B0D5F5F64697361626C655F69727100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000 - - - 1423 - 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 1423 - 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 - - - - 59399 - Build - - 978 - 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000094C50432D4C696E6B3296000000000000000100094C50432D4C696E6B32000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 - - - 583 - 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 583 - 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 - - - - 59400 - Debug - - 2373 - 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 - - - 898 - 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 898 - 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 - - - - 0 - 1920 - 1200 - - - - - - 1 - 0 - - 100 - 0 - - .\README.md - 0 - 1 - 1 - 1 - - 0 - - - - -
diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/CMSIS_DAP.uvoptx b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/CMSIS_DAP.uvoptx deleted file mode 100644 index 36bef29..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/CMSIS_DAP.uvoptx +++ /dev/null @@ -1,554 +0,0 @@ - - - - 1.0 - -
### uVision Project, (C) Keil Software
- - - *.c - *.s*; *.src; *.a* - *.obj; *.o - *.lib - *.txt; *.h; *.inc; *.md - *.plm - *.cpp - 0 - - - - 0 - 0 - - - - LPC-Link2 - 0x4 - ARM-ADS - - 12000000 - - 1 - 1 - 0 - 1 - 0 - - - 1 - 65535 - 0 - 0 - 0 - - - 79 - 66 - 8 - .\Listings\ - - - 1 - 1 - 1 - 0 - 1 - 1 - 0 - 1 - 0 - 0 - 0 - 0 - - - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 0 - - - 1 - 0 - 1 - - 8 - - 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 1 - 1 - 1 - 1 - 0 - 0 - 1 - 0 - 0 - 0 - - - - - - - - - - - BIN\UL2CM3.DLL - - - - 0 - UL2CM3 - -UV0018BME -O206 -S8 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO65554 -TC180000000 -TT180000000 -TP21 -TDS802F -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD10000000 -FC10000 -FN1 -FF0LPC18xx43xx_S25FL032 -FS014000000 -FL0400000 - - - - - C:\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\RTX5.scvd - ARM.CMSIS.5.7.0 - 1 - - - C:\ARM\PACK\Keil\MDK-Middleware\7.13.0\USB\USB.scvd - Keil.MDK-Middleware.7.13.0 - 1 - - - 0 - - - 0 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - 0 - 0 - 0 - - - - - - - - - - 1 - 0 - 0 - 1 - 10000000 - - - - - - LPC-Link2 on-board - 0x4 - ARM-ADS - - 12000000 - - 1 - 1 - 0 - 1 - 0 - - - 1 - 65535 - 0 - 0 - 0 - - - 79 - 66 - 8 - .\Listings\ - - - 1 - 1 - 1 - 0 - 1 - 1 - 0 - 1 - 0 - 0 - 0 - 0 - - - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 0 - - - 1 - 0 - 0 - - 8 - - 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 1 - 1 - 1 - 1 - 0 - 0 - 1 - 0 - 0 - 0 - - - - - - - - - - - BIN\UL2CM3.DLL - - - - 0 - UL2CM3 - -UV0001BDE -O206 -S0 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC180000000 -TP21 -TDS802F -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FN1 -FCFE0 -FD10000000 -FF0LPC18xx43xx_512_BA -FL080000 -FS01A000000 -FP0($$Device:LPC4322$Flash\LPC18xx43xx_512_BA.FLM) - - - - - C:\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\RTOS2\RTX\RTX5.scvd - ARM.CMSIS.5.7.0 - 1 - - - C:\ARM\PACK\Keil\MDK-Middleware\7.13.0\USB\USB.scvd - Keil.MDK-Middleware.7.13.0 - 1 - - - 0 - - - 0 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - 0 - 0 - 0 - - - - - - - - - - 1 - 0 - 0 - 1 - 10000000 - - - - - - Source - 1 - 0 - 0 - 0 - - 1 - 1 - 1 - 0 - 0 - 0 - .\main.c - main.c - 0 - 0 - - - 1 - 2 - 1 - 0 - 0 - 0 - .\target.c - target.c - 0 - 0 - - - 1 - 3 - 1 - 0 - 0 - 0 - .\ser_num.c - ser_num.c - 0 - 0 - - - 1 - 4 - 1 - 0 - 0 - 0 - .\USBD_User_CustomClass_0.c - USBD_User_CustomClass_0.c - 0 - 0 - - - 1 - 5 - 1 - 0 - 0 - 0 - .\USBD_User_CDC_ACM_UART_0.c - USBD_User_CDC_ACM_UART_0.c - 0 - 0 - - - - - Documentation - 1 - 0 - 0 - 0 - - 2 - 6 - 5 - 0 - 0 - 0 - .\README.md - README.md - 0 - 0 - - - - - CMSIS DAP - 1 - 0 - 0 - 0 - - 3 - 7 - 5 - 0 - 0 - 0 - .\DAP_config.h - DAP_config.h - 0 - 0 - - - 3 - 8 - 1 - 0 - 0 - 0 - ..\..\Source\DAP.c - DAP.c - 0 - 0 - - - 3 - 9 - 1 - 0 - 0 - 0 - ..\..\Source\JTAG_DP.c - JTAG_DP.c - 0 - 0 - - - 3 - 10 - 1 - 0 - 0 - 0 - ..\..\Source\SW_DP.c - SW_DP.c - 0 - 0 - - - 3 - 11 - 1 - 0 - 0 - 0 - ..\..\Source\SWO.c - SWO.c - 0 - 0 - - - 3 - 12 - 1 - 0 - 0 - 0 - ..\..\Source\UART.c - UART.c - 0 - 0 - - - - - ::CMSIS - 1 - 0 - 0 - 1 - - - - ::CMSIS Driver - 1 - 0 - 0 - 1 - - - - ::Device - 1 - 0 - 0 - 1 - - - - ::USB - 1 - 0 - 0 - 1 - - -
diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/CMSIS_DAP.uvprojx b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/CMSIS_DAP.uvprojx deleted file mode 100644 index 24f10bc..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/CMSIS_DAP.uvprojx +++ /dev/null @@ -1,1208 +0,0 @@ - - - - 2.1 - -
### uVision Project, (C) Keil Software
- - - - LPC-Link2 - 0x4 - ARM-ADS - 6160000::V6.16::ARMCLANG - 1 - - - LPC4370:Cortex-M4 - NXP - Keil.LPC4300_DFP.2.9.0 - http://www.keil.com/pack/ - IRAM(0x10000000,0x20000) IRAM2(0x20000000,0x10000) CPUTYPE("Cortex-M4") FPU2 CLOCK(12000000) ELITTLE - - - UL2CM3(-S0 -C0 -P0 -FD10000000 -FC1000) - 0 - $$Device:LPC4370$Device\Include\LPC43xx.h - - - - - - - - - - $$Device:LPC4370$SVD\LPC43xx.svd - 0 - 0 - - - - - - - 0 - 0 - 0 - 0 - 1 - - .\Objects\ - CMSIS_DAP - 1 - 0 - 1 - 1 - 1 - .\Listings\ - 1 - 0 - 0 - - 0 - 0 - - - 0 - 0 - 0 - 0 - - - 0 - 0 - - - 0 - 0 - 0 - 0 - - - 1 - 0 - fromelf.exe --bin -o "$L@L.bin" "#L" - - 0 - 0 - 0 - 0 - - 0 - - - - 0 - 0 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 0 - 3 - - - 1 - - - SARMCM3.DLL - -MPU - DCM.DLL - -pCM4 - SARMCM3.DLL - -MPU - TCM.DLL - -pCM4 - - - - 1 - 0 - 0 - 0 - 16 - - - - - 1 - 0 - 0 - 1 - 1 - 4096 - - 1 - BIN\UL2CM3.DLL - - - - - - 0 - - - - 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 1 - 1 - 0 - 1 - 1 - 0 - 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 0 - "Cortex-M4" - - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 2 - 0 - 0 - 1 - 0 - 1 - 1 - 0 - 0 - 0 - 0 - 4 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 1 - 1 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x10000000 - 0x20000 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 1 - 0x14000000 - 0x400000 - - - 1 - 0x0 - 0x0 - - - 1 - 0x0 - 0x0 - - - 1 - 0x0 - 0x0 - - - 1 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x10000000 - 0x20000 - - - 0 - 0x20000000 - 0x10000 - - - - - - 1 - 4 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 3 - 0 - 0 - 1 - 0 - 0 - 0 - 3 - 1 - 1 - 0 - 0 - 0 - - - - - .;..\..\Include - - - - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 1 - - - - - - - - - 1 - 0 - 0 - 0 - 1 - 0 - 0x00000000 - 0x10000000 - - - - - - - - - - - - - Source - - - main.c - 1 - .\main.c - - - target.c - 1 - .\target.c - - - ser_num.c - 1 - .\ser_num.c - - - 2 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 2 - 11 - - - 1 - - - - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 0 - 0 - 2 - 2 - 2 - 2 - 2 - - - - - - - - - - - - USBD_User_CustomClass_0.c - 1 - .\USBD_User_CustomClass_0.c - - - USBD_User_CDC_ACM_UART_0.c - 1 - .\USBD_User_CDC_ACM_UART_0.c - - - - - Documentation - - - README.md - 5 - .\README.md - - - - - CMSIS DAP - - - DAP_config.h - 5 - .\DAP_config.h - - - DAP.c - 1 - ..\..\Source\DAP.c - - - JTAG_DP.c - 1 - ..\..\Source\JTAG_DP.c - - - SW_DP.c - 1 - ..\..\Source\SW_DP.c - - - SWO.c - 1 - ..\..\Source\SWO.c - - - UART.c - 1 - ..\..\Source\UART.c - - - - - ::CMSIS - - - ::CMSIS Driver - - - ::Device - - - ::USB - - - - - LPC-Link2 on-board - 0x4 - ARM-ADS - 6160000::V6.16::ARMCLANG - 1 - - - LPC4322:Cortex-M4 - NXP - Keil.LPC4300_DFP.2.9.0 - http://www.keil.com/pack/ - IRAM(0x10000000,0x8000) IRAM2(0x20000000,0x4000) IROM(0x1A000000,0x80000) CPUTYPE("Cortex-M4") FPU2 CLOCK(12000000) ELITTLE - - - UL2CM3(-S0 -C0 -P0 -FD10000000 -FCFE0 -FN1 -FF0LPC18xx43xx_512_BA -FS01A000000 -FL080000 -FP0($$Device:LPC4322$Flash\LPC18xx43xx_512_BA.FLM)) - 0 - $$Device:LPC4322$Device\Include\LPC43xx.h - - - - - - - - - - $$Device:LPC4322$SVD\LPC43xx.svd - 0 - 0 - - - - - - - 0 - 0 - 0 - 0 - 1 - - .\Objects\ - CMSIS_DAP - 1 - 0 - 1 - 1 - 1 - .\Listings\ - 1 - 0 - 0 - - 0 - 0 - - - 0 - 0 - 0 - 0 - - - 0 - 0 - - - 0 - 0 - 0 - 0 - - - 1 - 1 - $K/ARM/BIN/ElfDwT.exe !L BASEADDRESS(0x1A000000) - fromelf.exe --bin -o "$L@L.bin" "#L" - 0 - 0 - 0 - 0 - - 0 - - - - 0 - 0 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 0 - 3 - - - 1 - - - SARMCM3.DLL - -REMAP -MPU - DCM.DLL - -pCM4 - SARMCM3.DLL - -MPU - TCM.DLL - -pCM4 - - - - 1 - 0 - 0 - 0 - 16 - - - - - 1 - 0 - 0 - 1 - 1 - 4096 - - 1 - BIN\UL2CM3.DLL - - - - - - 0 - - - - 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 1 - 1 - 0 - 1 - 1 - 0 - 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 0 - "Cortex-M4" - - 1 - 0 - 0 - 1 - 1 - 0 - 0 - 2 - 0 - 0 - 1 - 0 - 8 - 1 - 0 - 0 - 0 - 3 - 4 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 0 - 1 - 1 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x10000000 - 0x8000 - - - 1 - 0x1a000000 - 0x80000 - - - 0 - 0x0 - 0x0 - - - 1 - 0x0 - 0x0 - - - 1 - 0x0 - 0x0 - - - 1 - 0x0 - 0x0 - - - 1 - 0x1a000000 - 0x80000 - - - 1 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x10000000 - 0x8000 - - - 0 - 0x20000000 - 0x4000 - - - - - - 1 - 4 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 3 - 0 - 0 - 1 - 0 - 0 - 0 - 3 - 1 - 1 - 0 - 0 - 0 - - - TARGET_POWER_EN LPC_LINK2_ONBOARD - - .;..\..\Include - - - - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 1 - - - - - - - - - 1 - 0 - 0 - 0 - 1 - 0 - 0x00000000 - 0x10000000 - - - - - - - - - - - - - Source - - - main.c - 1 - .\main.c - - - target.c - 1 - .\target.c - - - ser_num.c - 1 - .\ser_num.c - - - USBD_User_CustomClass_0.c - 1 - .\USBD_User_CustomClass_0.c - - - USBD_User_CDC_ACM_UART_0.c - 1 - .\USBD_User_CDC_ACM_UART_0.c - - - - - Documentation - - - README.md - 5 - .\README.md - - - - - CMSIS DAP - - - DAP_config.h - 5 - .\DAP_config.h - - - DAP.c - 1 - ..\..\Source\DAP.c - - - JTAG_DP.c - 1 - ..\..\Source\JTAG_DP.c - - - SW_DP.c - 1 - ..\..\Source\SW_DP.c - - - SWO.c - 1 - ..\..\Source\SWO.c - - - UART.c - 1 - ..\..\Source\UART.c - - - - - ::CMSIS - - - ::CMSIS Driver - - - ::Device - - - ::USB - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - USE_SPIFI=1 - - - NO_CRP - - - - - NO_CRP - - - - - - - - RTE\CMSIS\RTX_Config.c - - - - - - - - - RTE\CMSIS\RTX_Config.h - - - - - - - - - RTE\Device\LPC4322_Cortex-M4\RTE_Device.h - - - - - - - - RTE\Device\LPC4322_Cortex-M4\startup_LPC43xx.s - - - - - - - - RTE\Device\LPC4322_Cortex-M4\system_LPC43xx.c - - - - - - - - RTE\Device\LPC4370_Cortex-M4\RTE_Device.h - - - - - - - - RTE\Device\LPC4370_Cortex-M4\startup_LPC43xx.s - - - - - - - - RTE\Device\LPC4370_Cortex-M4\system_LPC43xx.c - - - - - - - - RTE\USB\USBD_Config_0.c - - - - - - - - - RTE\USB\USBD_Config_CDC_0.h - - - - - - - - - RTE\USB\USBD_Config_CustomClass_0.h - - - - - - - - - - - - - - CMSIS_DAP - 1 - - - - -
diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/DAP_config.h b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/DAP_config.h deleted file mode 100644 index 3e7a397..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/DAP_config.h +++ /dev/null @@ -1,709 +0,0 @@ -/* - * Copyright (c) 2013-2021 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ---------------------------------------------------------------------- - * - * $Date: 16. June 2021 - * $Revision: V2.1.0 - * - * Project: CMSIS-DAP Examples LPC-Link2 - * Title: DAP_config.h CMSIS-DAP Configuration File for LPC-Link2 - * - *---------------------------------------------------------------------------*/ - -#ifndef __DAP_CONFIG_H__ -#define __DAP_CONFIG_H__ - - -//************************************************************************************************** -/** -\defgroup DAP_Config_Debug_gr CMSIS-DAP Debug Unit Information -\ingroup DAP_ConfigIO_gr -@{ -Provides definitions about the hardware and configuration of the Debug Unit. - -This information includes: - - Definition of Cortex-M processor parameters used in CMSIS-DAP Debug Unit. - - Debug Unit Identification strings (Vendor, Product, Serial Number). - - Debug Unit communication packet size. - - Debug Access Port supported modes and settings (JTAG/SWD and SWO). - - Optional information about a connected Target Device (for Evaluation Boards). -*/ - -#ifdef _RTE_ -#include "RTE_Components.h" -#include CMSIS_device_header -#else -#include "device.h" // Debug Unit Cortex-M Processor Header File -#endif - -#ifdef LPC_LINK2_ONBOARD -#include -#include "ser_num.h" -#endif - -/// Processor Clock of the Cortex-M MCU used in the Debug Unit. -/// This value is used to calculate the SWD/JTAG clock speed. -#define CPU_CLOCK 180000000U ///< Specifies the CPU Clock in Hz. - -/// Number of processor cycles for I/O Port write operations. -/// This value is used to calculate the SWD/JTAG clock speed that is generated with I/O -/// Port write operations in the Debug Unit by a Cortex-M MCU. Most Cortex-M processors -/// require 2 processor cycles for a I/O Port Write operation. If the Debug Unit uses -/// a Cortex-M0+ processor with high-speed peripheral I/O only 1 processor cycle might be -/// required. -#define IO_PORT_WRITE_CYCLES 2U ///< I/O Cycles: 2=default, 1=Cortex-M0+ fast I/0. - -/// Indicate that Serial Wire Debug (SWD) communication mode is available at the Debug Access Port. -/// This information is returned by the command \ref DAP_Info as part of Capabilities. -#define DAP_SWD 1 ///< SWD Mode: 1 = available, 0 = not available. - -/// Indicate that JTAG communication mode is available at the Debug Port. -/// This information is returned by the command \ref DAP_Info as part of Capabilities. -#define DAP_JTAG 1 ///< JTAG Mode: 1 = available, 0 = not available. - -/// Configure maximum number of JTAG devices on the scan chain connected to the Debug Access Port. -/// This setting impacts the RAM requirements of the Debug Unit. Valid range is 1 .. 255. -#define DAP_JTAG_DEV_CNT 8U ///< Maximum number of JTAG devices on scan chain. - -/// Default communication mode on the Debug Access Port. -/// Used for the command \ref DAP_Connect when Port Default mode is selected. -#define DAP_DEFAULT_PORT 1U ///< Default JTAG/SWJ Port Mode: 1 = SWD, 2 = JTAG. - -/// Default communication speed on the Debug Access Port for SWD and JTAG mode. -/// Used to initialize the default SWD/JTAG clock frequency. -/// The command \ref DAP_SWJ_Clock can be used to overwrite this default setting. -#define DAP_DEFAULT_SWJ_CLOCK 1000000U ///< Default SWD/JTAG clock frequency in Hz. - -/// Maximum Package Size for Command and Response data. -/// This configuration settings is used to optimize the communication performance with the -/// debugger and depends on the USB peripheral. Typical vales are 64 for Full-speed USB HID or WinUSB, -/// 1024 for High-speed USB HID and 512 for High-speed USB WinUSB. -#define DAP_PACKET_SIZE 512U ///< Specifies Packet Size in bytes. - -/// Maximum Package Buffers for Command and Response data. -/// This configuration settings is used to optimize the communication performance with the -/// debugger and depends on the USB peripheral. For devices with limited RAM or USB buffer the -/// setting can be reduced (valid range is 1 .. 255). -#define DAP_PACKET_COUNT 8U ///< Specifies number of packets buffered. - -/// Indicate that UART Serial Wire Output (SWO) trace is available. -/// This information is returned by the command \ref DAP_Info as part of Capabilities. -#define SWO_UART 1 ///< SWO UART: 1 = available, 0 = not available. - -/// USART Driver instance number for the UART SWO. -#define SWO_UART_DRIVER 1 ///< USART Driver instance number (Driver_USART#). - -/// Maximum SWO UART Baudrate. -#define SWO_UART_MAX_BAUDRATE 10000000U ///< SWO UART Maximum Baudrate in Hz. - -/// Indicate that Manchester Serial Wire Output (SWO) trace is available. -/// This information is returned by the command \ref DAP_Info as part of Capabilities. -#define SWO_MANCHESTER 0 ///< SWO Manchester: 1 = available, 0 = not available. - -/// SWO Trace Buffer Size. -#define SWO_BUFFER_SIZE 8192U ///< SWO Trace Buffer Size in bytes (must be 2^n). - -/// SWO Streaming Trace. -#define SWO_STREAM 1 ///< SWO Streaming Trace: 1 = available, 0 = not available. - -/// Clock frequency of the Test Domain Timer. Timer value is returned with \ref TIMESTAMP_GET. -#define TIMESTAMP_CLOCK 180000000U ///< Timestamp clock in Hz (0 = timestamps not supported). - -/// Indicate that UART Communication Port is available. -/// This information is returned by the command \ref DAP_Info as part of Capabilities. -#define DAP_UART 1 ///< DAP UART: 1 = available, 0 = not available. - -/// USART Driver instance number for the UART Communication Port. -#define DAP_UART_DRIVER 0 ///< USART Driver instance number (Driver_USART#). - -/// UART Receive Buffer Size. -#define DAP_UART_RX_BUFFER_SIZE 1024U ///< Uart Receive Buffer Size in bytes (must be 2^n). - -/// UART Transmit Buffer Size. -#define DAP_UART_TX_BUFFER_SIZE 1024U ///< Uart Transmit Buffer Size in bytes (must be 2^n). - -/// Indicate that UART Communication via USB COM Port is available. -/// This information is returned by the command \ref DAP_Info as part of Capabilities. -#define DAP_UART_USB_COM_PORT 1 ///< USB COM Port: 1 = available, 0 = not available. - -/// Debug Unit is connected to fixed Target Device. -/// The Debug Unit may be part of an evaluation board and always connected to a fixed -/// known device. In this case a Device Vendor, Device Name, Board Vendor and Board Name strings -/// are stored and may be used by the debugger or IDE to configure device parameters. -#ifdef LPC_LINK2_ONBOARD -#define TARGET_FIXED 1 ///< Target: 1 = known, 0 = unknown; -#else -#define TARGET_FIXED 0 ///< Target: 1 = known, 0 = unknown; -#endif - -#define TARGET_DEVICE_VENDOR "NXP" ///< String indicating the Silicon Vendor -#define TARGET_DEVICE_NAME "Cortex-M" ///< String indicating the Target Device -#define TARGET_BOARD_VENDOR "NXP" ///< String indicating the Board Vendor -#define TARGET_BOARD_NAME "NXP board" ///< String indicating the Board Name - -#if TARGET_FIXED != 0 -extern const char TargetDeviceVendor []; -extern const char TargetDeviceName []; -extern const char TargetBoardVendor []; -extern const char TargetBoardName []; -#endif - -/** Get Vendor Name string. -\param str Pointer to buffer to store the string (max 60 characters). -\return String length (including terminating NULL character) or 0 (no string). -*/ -__STATIC_INLINE uint8_t DAP_GetVendorString (char *str) { - (void)str; - return (0U); -} - -/** Get Product Name string. -\param str Pointer to buffer to store the string (max 60 characters). -\return String length (including terminating NULL character) or 0 (no string). -*/ -__STATIC_INLINE uint8_t DAP_GetProductString (char *str) { - (void)str; - return (0U); -} - -/** Get Serial Number string. -\param str Pointer to buffer to store the string (max 60 characters). -\return String length (including terminating NULL character) or 0 (no string). -*/ -__STATIC_INLINE uint8_t DAP_GetSerNumString (char *str) { -#ifdef LPC_LINK2_ONBOARD - uint8_t len = 0U; - char *ser_num; - - ser_num = GetSerialNum(); - if (ser_num != NULL) { - strcpy(str, ser_num); - len = (uint8_t)(strlen(ser_num) + 1U); - } - - return (len); -#else - (void)str; - return (0U); -#endif -} - -/** Get Target Device Vendor string. -\param str Pointer to buffer to store the string (max 60 characters). -\return String length (including terminating NULL character) or 0 (no string). -*/ -__STATIC_INLINE uint8_t DAP_GetTargetDeviceVendorString (char *str) { -#if TARGET_FIXED != 0 - uint8_t len; - - strcpy(str, TargetDeviceVendor); - len = (uint8_t)(strlen(TargetDeviceVendor) + 1U); - return (len); -#else - (void)str; - return (0U); -#endif -} - -/** Get Target Device Name string. -\param str Pointer to buffer to store the string (max 60 characters). -\return String length (including terminating NULL character) or 0 (no string). -*/ -__STATIC_INLINE uint8_t DAP_GetTargetDeviceNameString (char *str) { -#if TARGET_FIXED != 0 - uint8_t len; - - strcpy(str, TargetDeviceName); - len = (uint8_t)(strlen(TargetDeviceName) + 1U); - return (len); -#else - (void)str; - return (0U); -#endif -} - -/** Get Target Board Vendor string. -\param str Pointer to buffer to store the string (max 60 characters). -\return String length (including terminating NULL character) or 0 (no string). -*/ -__STATIC_INLINE uint8_t DAP_GetTargetBoardVendorString (char *str) { -#if TARGET_FIXED != 0 - uint8_t len; - - strcpy(str, TargetBoardVendor); - len = (uint8_t)(strlen(TargetBoardVendor) + 1U); - return (len); -#else - (void)str; - return (0U); -#endif -} - -/** Get Target Board Name string. -\param str Pointer to buffer to store the string (max 60 characters). -\return String length (including terminating NULL character) or 0 (no string). -*/ -__STATIC_INLINE uint8_t DAP_GetTargetBoardNameString (char *str) { -#if TARGET_FIXED != 0 - uint8_t len; - - strcpy(str, TargetBoardName); - len = (uint8_t)(strlen(TargetBoardName) + 1U); - return (len); -#else - (void)str; - return (0U); -#endif -} - -/** Get Product Firmware Version string. -\param str Pointer to buffer to store the string (max 60 characters). -\return String length (including terminating NULL character) or 0 (no string). -*/ -__STATIC_INLINE uint8_t DAP_GetProductFirmwareVersionString (char *str) { - (void)str; - return (0U); -} - -///@} - - -// LPC43xx peripheral register bit masks (used by macros) -#define CCU_CLK_CFG_RUN (1U << 0) -#define CCU_CLK_CFG_AUTO (1U << 1) -#define CCU_CLK_STAT_RUN (1U << 0) -#define SCU_SFS_EPD (1U << 3) -#define SCU_SFS_EPUN (1U << 4) -#define SCU_SFS_EHS (1U << 5) -#define SCU_SFS_EZI (1U << 6) -#define SCU_SFS_ZIF (1U << 7) - - -// Debug Port I/O Pins - -// SWCLK/TCK Pin P1_17: GPIO0[12] -#define PIN_SWCLK_TCK_PORT 0 -#define PIN_SWCLK_TCK_BIT 12 - -// SWDIO/TMS Pin P1_6: GPIO1[9] -#define PIN_SWDIO_TMS_PORT 1 -#define PIN_SWDIO_TMS_BIT 9 - -// SWDIO Output Enable Pin P1_5: GPIO1[8] -#define PIN_SWDIO_OE_PORT 1 -#define PIN_SWDIO_OE_BIT 8 - -// TDI Pin P1_18: GPIO0[13] -#define PIN_TDI_PORT 0 -#define PIN_TDI_BIT 13 - -// TDO Pin P1_14: GPIO1[7] -#define PIN_TDO_PORT 1 -#define PIN_TDO_BIT 7 - -// nTRST Pin Not available -#define PIN_nTRST_PORT -#define PIN_nTRST_BIT - -// nRESET Pin P2_5: GPIO5[5] -#define PIN_nRESET_PORT 5 -#define PIN_nRESET_BIT 5 - -// nRESET Output Enable Pin P2_6: GPIO5[6] -#define PIN_nRESET_OE_PORT 5 -#define PIN_nRESET_OE_BIT 6 - - -// Debug Unit LEDs - -// Connected LED P1_1: GPIO0[8] -#define LED_CONNECTED_PORT 0 -#define LED_CONNECTED_BIT 8 - -// Target Running LED Not available - - -//************************************************************************************************** -/** -\defgroup DAP_Config_PortIO_gr CMSIS-DAP Hardware I/O Pin Access -\ingroup DAP_ConfigIO_gr -@{ - -Standard I/O Pins of the CMSIS-DAP Hardware Debug Port support standard JTAG mode -and Serial Wire Debug (SWD) mode. In SWD mode only 2 pins are required to implement the debug -interface of a device. The following I/O Pins are provided: - -JTAG I/O Pin | SWD I/O Pin | CMSIS-DAP Hardware pin mode ----------------------------- | -------------------- | --------------------------------------------- -TCK: Test Clock | SWCLK: Clock | Output Push/Pull -TMS: Test Mode Select | SWDIO: Data I/O | Output Push/Pull; Input (for receiving data) -TDI: Test Data Input | | Output Push/Pull -TDO: Test Data Output | | Input -nTRST: Test Reset (optional) | | Output Open Drain with pull-up resistor -nRESET: Device Reset | nRESET: Device Reset | Output Open Drain with pull-up resistor - - -DAP Hardware I/O Pin Access Functions -------------------------------------- -The various I/O Pins are accessed by functions that implement the Read, Write, Set, or Clear to -these I/O Pins. - -For the SWDIO I/O Pin there are additional functions that are called in SWD I/O mode only. -This functions are provided to achieve faster I/O that is possible with some advanced GPIO -peripherals that can independently write/read a single I/O pin without affecting any other pins -of the same I/O port. The following SWDIO I/O Pin functions are provided: - - \ref PIN_SWDIO_OUT_ENABLE to enable the output mode from the DAP hardware. - - \ref PIN_SWDIO_OUT_DISABLE to enable the input mode to the DAP hardware. - - \ref PIN_SWDIO_IN to read from the SWDIO I/O pin with utmost possible speed. - - \ref PIN_SWDIO_OUT to write to the SWDIO I/O pin with utmost possible speed. -*/ - - -// Configure DAP I/O pins ------------------------------ - -// LPC-Link2 HW uses buffers for debug port pins. Therefore it is not -// possible to disable outputs SWCLK/TCK, TDI and they are left active. -// Only SWDIO/TMS output can be disabled but it is also left active. -// nRESET is configured for open drain mode. - -/** Setup JTAG I/O pins: TCK, TMS, TDI, TDO, nTRST, and nRESET. -Configures the DAP Hardware I/O pins for JTAG mode: - - TCK, TMS, TDI, nTRST, nRESET to output mode and set to high level. - - TDO to input mode. -*/ -__STATIC_INLINE void PORT_JTAG_SETUP (void) { - LPC_GPIO_PORT->MASK[PIN_SWDIO_TMS_PORT] = 0U; - LPC_GPIO_PORT->MASK[PIN_TDI_PORT] = ~(1U << PIN_TDI_BIT); -} - -/** Setup SWD I/O pins: SWCLK, SWDIO, and nRESET. -Configures the DAP Hardware I/O pins for Serial Wire Debug (SWD) mode: - - SWCLK, SWDIO, nRESET to output mode and set to default high level. - - TDI, nTRST to HighZ mode (pins are unused in SWD mode). -*/ -__STATIC_INLINE void PORT_SWD_SETUP (void) { - LPC_GPIO_PORT->MASK[PIN_TDI_PORT] = 0U; - LPC_GPIO_PORT->MASK[PIN_SWDIO_TMS_PORT] = ~(1U << PIN_SWDIO_TMS_BIT); -} - -/** Disable JTAG/SWD I/O Pins. -Disables the DAP Hardware I/O pins which configures: - - TCK/SWCLK, TMS/SWDIO, TDI, TDO, nTRST, nRESET to High-Z mode. -*/ -__STATIC_INLINE void PORT_OFF (void) { - LPC_GPIO_PORT->SET[PIN_SWCLK_TCK_PORT] = (1U << PIN_SWCLK_TCK_BIT); - LPC_GPIO_PORT->SET[PIN_SWDIO_TMS_PORT] = (1U << PIN_SWDIO_TMS_BIT); - LPC_GPIO_PORT->SET[PIN_SWDIO_OE_PORT] = (1U << PIN_SWDIO_OE_BIT); - LPC_GPIO_PORT->SET[PIN_TDI_PORT] = (1U << PIN_TDI_BIT); - LPC_GPIO_PORT->DIR[PIN_nRESET_PORT] &= ~(1U << PIN_nRESET_BIT); - LPC_GPIO_PORT->CLR[PIN_nRESET_OE_PORT] = (1U << PIN_nRESET_OE_BIT); -} - - -// SWCLK/TCK I/O pin ------------------------------------- - -/** SWCLK/TCK I/O pin: Get Input. -\return Current status of the SWCLK/TCK DAP hardware I/O pin. -*/ -__STATIC_FORCEINLINE uint32_t PIN_SWCLK_TCK_IN (void) { - return ((LPC_GPIO_PORT->PIN[PIN_SWCLK_TCK_PORT] >> PIN_SWCLK_TCK_BIT) & 1U); -} - -/** SWCLK/TCK I/O pin: Set Output to High. -Set the SWCLK/TCK DAP hardware I/O pin to high level. -*/ -__STATIC_FORCEINLINE void PIN_SWCLK_TCK_SET (void) { - LPC_GPIO_PORT->SET[PIN_SWCLK_TCK_PORT] = 1U << PIN_SWCLK_TCK_BIT; -} - -/** SWCLK/TCK I/O pin: Set Output to Low. -Set the SWCLK/TCK DAP hardware I/O pin to low level. -*/ -__STATIC_FORCEINLINE void PIN_SWCLK_TCK_CLR (void) { - LPC_GPIO_PORT->CLR[PIN_SWCLK_TCK_PORT] = 1U << PIN_SWCLK_TCK_BIT; -} - - -// SWDIO/TMS Pin I/O -------------------------------------- - -/** SWDIO/TMS I/O pin: Get Input. -\return Current status of the SWDIO/TMS DAP hardware I/O pin. -*/ -__STATIC_FORCEINLINE uint32_t PIN_SWDIO_TMS_IN (void) { - return ((LPC_GPIO_PORT->PIN[PIN_SWDIO_TMS_PORT] >> PIN_SWDIO_TMS_BIT) & 1U); -} - -/** SWDIO/TMS I/O pin: Set Output to High. -Set the SWDIO/TMS DAP hardware I/O pin to high level. -*/ -__STATIC_FORCEINLINE void PIN_SWDIO_TMS_SET (void) { - LPC_GPIO_PORT->SET[PIN_SWDIO_TMS_PORT] = 1U << PIN_SWDIO_TMS_BIT; -} - -/** SWDIO/TMS I/O pin: Set Output to Low. -Set the SWDIO/TMS DAP hardware I/O pin to low level. -*/ -__STATIC_FORCEINLINE void PIN_SWDIO_TMS_CLR (void) { - LPC_GPIO_PORT->CLR[PIN_SWDIO_TMS_PORT] = 1U << PIN_SWDIO_TMS_BIT; -} - -/** SWDIO I/O pin: Get Input (used in SWD mode only). -\return Current status of the SWDIO DAP hardware I/O pin. -*/ -__STATIC_FORCEINLINE uint32_t PIN_SWDIO_IN (void) { - return (LPC_GPIO_PORT->MPIN[PIN_SWDIO_TMS_PORT] >> PIN_SWDIO_TMS_BIT); -} - -/** SWDIO I/O pin: Set Output (used in SWD mode only). -\param bit Output value for the SWDIO DAP hardware I/O pin. -*/ -__STATIC_FORCEINLINE void PIN_SWDIO_OUT (uint32_t bit) { - LPC_GPIO_PORT->MPIN[PIN_SWDIO_TMS_PORT] = bit << PIN_SWDIO_TMS_BIT; -} - -/** SWDIO I/O pin: Switch to Output mode (used in SWD mode only). -Configure the SWDIO DAP hardware I/O pin to output mode. This function is -called prior \ref PIN_SWDIO_OUT function calls. -*/ -__STATIC_FORCEINLINE void PIN_SWDIO_OUT_ENABLE (void) { - LPC_GPIO_PORT->SET[PIN_SWDIO_OE_PORT] = 1U << PIN_SWDIO_OE_BIT; -} - -/** SWDIO I/O pin: Switch to Input mode (used in SWD mode only). -Configure the SWDIO DAP hardware I/O pin to input mode. This function is -called prior \ref PIN_SWDIO_IN function calls. -*/ -__STATIC_FORCEINLINE void PIN_SWDIO_OUT_DISABLE (void) { - LPC_GPIO_PORT->CLR[PIN_SWDIO_OE_PORT] = 1U << PIN_SWDIO_OE_BIT; -} - - -// TDI Pin I/O --------------------------------------------- - -/** TDI I/O pin: Get Input. -\return Current status of the TDI DAP hardware I/O pin. -*/ -__STATIC_FORCEINLINE uint32_t PIN_TDI_IN (void) { - return ((LPC_GPIO_PORT->PIN [PIN_TDI_PORT] >> PIN_TDI_BIT) & 1U); -} - -/** TDI I/O pin: Set Output. -\param bit Output value for the TDI DAP hardware I/O pin. -*/ -__STATIC_FORCEINLINE void PIN_TDI_OUT (uint32_t bit) { - LPC_GPIO_PORT->MPIN[PIN_TDI_PORT] = bit << PIN_TDI_BIT; -} - - -// TDO Pin I/O --------------------------------------------- - -/** TDO I/O pin: Get Input. -\return Current status of the TDO DAP hardware I/O pin. -*/ -__STATIC_FORCEINLINE uint32_t PIN_TDO_IN (void) { - return ((LPC_GPIO_PORT->PIN[PIN_TDO_PORT] >> PIN_TDO_BIT) & 1U); -} - - -// nTRST Pin I/O ------------------------------------------- - -/** nTRST I/O pin: Get Input. -\return Current status of the nTRST DAP hardware I/O pin. -*/ -__STATIC_FORCEINLINE uint32_t PIN_nTRST_IN (void) { - return (0U); // Not available -} - -/** nTRST I/O pin: Set Output. -\param bit JTAG TRST Test Reset pin status: - - 0: issue a JTAG TRST Test Reset. - - 1: release JTAG TRST Test Reset. -*/ -__STATIC_FORCEINLINE void PIN_nTRST_OUT (uint32_t bit) { - (void) bit; - // Not available -} - -// nRESET Pin I/O------------------------------------------ - -/** nRESET I/O pin: Get Input. -\return Current status of the nRESET DAP hardware I/O pin. -*/ -__STATIC_FORCEINLINE uint32_t PIN_nRESET_IN (void) { - return ((LPC_GPIO_PORT->PIN[PIN_nRESET_PORT] >> PIN_nRESET_BIT) & 1U); -} - -/** nRESET I/O pin: Set Output. -\param bit target device hardware reset pin status: - - 0: issue a device hardware reset. - - 1: release device hardware reset. -*/ -__STATIC_FORCEINLINE void PIN_nRESET_OUT (uint32_t bit) { - if (bit) { - LPC_GPIO_PORT->DIR[PIN_nRESET_PORT] &= ~(1U << PIN_nRESET_BIT); - LPC_GPIO_PORT->CLR[PIN_nRESET_OE_PORT] = (1U << PIN_nRESET_OE_BIT); - } else { - LPC_GPIO_PORT->SET[PIN_nRESET_OE_PORT] = (1U << PIN_nRESET_OE_BIT); - LPC_GPIO_PORT->DIR[PIN_nRESET_PORT] |= (1U << PIN_nRESET_BIT); - } -} - -///@} - - -//************************************************************************************************** -/** -\defgroup DAP_Config_LEDs_gr CMSIS-DAP Hardware Status LEDs -\ingroup DAP_ConfigIO_gr -@{ - -CMSIS-DAP Hardware may provide LEDs that indicate the status of the CMSIS-DAP Debug Unit. - -It is recommended to provide the following LEDs for status indication: - - Connect LED: is active when the DAP hardware is connected to a debugger. - - Running LED: is active when the debugger has put the target device into running state. -*/ - -/** Debug Unit: Set status of Connected LED. -\param bit status of the Connect LED. - - 1: Connect LED ON: debugger is connected to CMSIS-DAP Debug Unit. - - 0: Connect LED OFF: debugger is not connected to CMSIS-DAP Debug Unit. -*/ -__STATIC_INLINE void LED_CONNECTED_OUT (uint32_t bit) { - LPC_GPIO_PORT->B[32*LED_CONNECTED_PORT + LED_CONNECTED_BIT] = (uint8_t)bit; -} - -/** Debug Unit: Set status Target Running LED. -\param bit status of the Target Running LED. - - 1: Target Running LED ON: program execution in target started. - - 0: Target Running LED OFF: program execution in target stopped. -*/ -__STATIC_INLINE void LED_RUNNING_OUT (uint32_t bit) { - (void) bit; - // Not available -} - -///@} - - -//************************************************************************************************** -/** -\defgroup DAP_Config_Timestamp_gr CMSIS-DAP Timestamp -\ingroup DAP_ConfigIO_gr -@{ -Access function for Test Domain Timer. - -The value of the Test Domain Timer in the Debug Unit is returned by the function \ref TIMESTAMP_GET. By -default, the DWT timer is used. The frequency of this timer is configured with \ref TIMESTAMP_CLOCK. - -*/ - -/** Get timestamp of Test Domain Timer. -\return Current timestamp value. -*/ -__STATIC_INLINE uint32_t TIMESTAMP_GET (void) { - return (DWT->CYCCNT); -} - -///@} - - -//************************************************************************************************** -/** -\defgroup DAP_Config_Initialization_gr CMSIS-DAP Initialization -\ingroup DAP_ConfigIO_gr -@{ - -CMSIS-DAP Hardware I/O and LED Pins are initialized with the function \ref DAP_SETUP. -*/ - -/** Setup of the Debug Unit I/O pins and LEDs (called when Debug Unit is initialized). -This function performs the initialization of the CMSIS-DAP Hardware I/O Pins and the -Status LEDs. In detail the operation of Hardware I/O and LED pins are enabled and set: - - I/O clock system enabled. - - all I/O pins: input buffer enabled, output pins are set to HighZ mode. - - for nTRST, nRESET a weak pull-up (if available) is enabled. - - LED output pins are enabled and LEDs are turned off. -*/ -__STATIC_INLINE void DAP_SETUP (void) { - - /* Enable clock and init GPIO outputs */ - LPC_CCU1->CLK_M4_GPIO_CFG = CCU_CLK_CFG_AUTO | CCU_CLK_CFG_RUN; - while (!(LPC_CCU1->CLK_M4_GPIO_STAT & CCU_CLK_STAT_RUN)); - - /* Configure I/O pins: function number, input buffer enabled, */ - /* no pull-up/down except nRESET (pull-up) */ - LPC_SCU->SFSP1_17 = 0U | SCU_SFS_EPUN|SCU_SFS_EZI; /* SWCLK/TCK: GPIO0[12] */ - LPC_SCU->SFSP1_6 = 0U | SCU_SFS_EPUN|SCU_SFS_EZI; /* SWDIO/TMS: GPIO1[9] */ - LPC_SCU->SFSP1_5 = 0U | SCU_SFS_EPUN|SCU_SFS_EZI; /* SWDIO_OE: GPIO1[8] */ - LPC_SCU->SFSP1_18 = 0U | SCU_SFS_EPUN|SCU_SFS_EZI; /* TDI: GPIO0[13] */ - LPC_SCU->SFSP1_14 = 0U | SCU_SFS_EPUN|SCU_SFS_EZI; /* TDO: GPIO1[7] */ - LPC_SCU->SFSP2_5 = 4U | SCU_SFS_EZI; /* nRESET: GPIO5[5] */ - LPC_SCU->SFSP2_6 = 4U | SCU_SFS_EPUN|SCU_SFS_EZI; /* nRESET_OE: GPIO5[6] */ - LPC_SCU->SFSP1_1 = 0U | SCU_SFS_EPUN|SCU_SFS_EZI; /* LED: GPIO0[8] */ -#ifdef TARGET_POWER_EN - LPC_SCU->SFSP3_1 = 4U | SCU_SFS_EPUN|SCU_SFS_EZI; /* Target Power enable P3_1 GPIO5[8] */ -#endif - - /* Configure: SWCLK/TCK, SWDIO/TMS, SWDIO_OE, TDI as outputs (high level) */ - /* TDO as input */ - /* nRESET as input with output latch set to low level */ - /* nRESET_OE as output (low level) */ - LPC_GPIO_PORT->SET[PIN_SWCLK_TCK_PORT] = (1U << PIN_SWCLK_TCK_BIT); - LPC_GPIO_PORT->SET[PIN_SWDIO_TMS_PORT] = (1U << PIN_SWDIO_TMS_BIT); - LPC_GPIO_PORT->SET[PIN_SWDIO_OE_PORT] = (1U << PIN_SWDIO_OE_BIT); - LPC_GPIO_PORT->SET[PIN_TDI_PORT] = (1U << PIN_TDI_BIT); - LPC_GPIO_PORT->CLR[PIN_nRESET_PORT] = (1U << PIN_nRESET_BIT); - LPC_GPIO_PORT->CLR[PIN_nRESET_OE_PORT] = (1U << PIN_nRESET_OE_BIT); - LPC_GPIO_PORT->DIR[PIN_SWCLK_TCK_PORT] |= (1U << PIN_SWCLK_TCK_BIT); - LPC_GPIO_PORT->DIR[PIN_SWDIO_TMS_PORT] |= (1U << PIN_SWDIO_TMS_BIT); - LPC_GPIO_PORT->DIR[PIN_SWDIO_OE_PORT] |= (1U << PIN_SWDIO_OE_BIT); - LPC_GPIO_PORT->DIR[PIN_TDI_PORT] |= (1U << PIN_TDI_BIT); - LPC_GPIO_PORT->DIR[PIN_TDO_PORT] &= ~(1U << PIN_TDO_BIT); - LPC_GPIO_PORT->DIR[PIN_nRESET_PORT] &= ~(1U << PIN_nRESET_BIT); - LPC_GPIO_PORT->DIR[PIN_nRESET_OE_PORT] |= (1U << PIN_nRESET_OE_BIT); - -#ifdef TARGET_POWER_EN - /* Target Power enable as output (turned on) */ - LPC_GPIO_PORT->SET[5] = (1U << 8); - LPC_GPIO_PORT->DIR[5] |= (1U << 8); -#endif - - /* Configure: LED as output (turned off) */ - LPC_GPIO_PORT->CLR[LED_CONNECTED_PORT] = (1U << LED_CONNECTED_BIT); - LPC_GPIO_PORT->DIR[LED_CONNECTED_PORT] |= (1U << LED_CONNECTED_BIT); - - /* Configure Peripheral Interrupt Priorities */ - NVIC_SetPriority(USB0_IRQn, 1U); -} - -/** Reset Target Device with custom specific I/O pin or command sequence. -This function allows the optional implementation of a device specific reset sequence. -It is called when the command \ref DAP_ResetTarget and is for example required -when a device needs a time-critical unlock sequence that enables the debug port. -\return 0 = no device specific reset sequence is implemented.\n - 1 = a device specific reset sequence is implemented. -*/ -__STATIC_INLINE uint8_t RESET_TARGET (void) { - return (0U); // change to '1' when a device reset sequence is implemented -} - -///@} - - -#endif /* __DAP_CONFIG_H__ */ diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/DebugConfig/LPC-Link2_LPC4370_Cortex-M4.dbgconf b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/DebugConfig/LPC-Link2_LPC4370_Cortex-M4.dbgconf deleted file mode 100644 index fb89136..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/DebugConfig/LPC-Link2_LPC4370_Cortex-M4.dbgconf +++ /dev/null @@ -1,43 +0,0 @@ -// <<< Use Configuration Wizard in Context Menu >>> - -// Debug Setup - -// Release M0 On Connect -// <0=> No -// <1=> Yes -// Debugger releases the M0 Application processor from reset when connecting to it. -ReleaseM0OnConnect = 1; - -// Release M0 Sub-System On Connect -// <0=> No -// <1=> Yes -// Debugger releases the M0 Sub-System from reset when connecting to it (LPC437x only). -ReleaseM0SubOnConnect = 1; - -// Vector Reset -// <0=> Processor Only -// <1=> Processor and Peripherals -// Select if to additionally reset peripherals (LCD, USB0, USB1, DMA, SDIO, ETHERNET) after a Vector Reset -VecResetWithPeriph = 1; - -// - -// TPIU Pin Routing (TRACECLK fixed on PF_4) -// Configure the TPIU pin routing as used on your target platform. -// TRACEDATA0 -// <0=> Pin PF_5 -// <1=> Pin P7_4 -// TRACEDATA1 -// <0=> Pin PF_6 -// <1=> Pin P7_5 -// TRACEDATA2 -// <0=> Pin PF_7 -// <1=> Pin P7_6 -// TRACEDATA3 -// <0=> Pin PF_8 -// <1=> Pin P7_7 -RoutingTPIU = 0x00000000; - -// - -// <<< end of configuration section >>> diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/DebugConfig/LPC-Link2_on-board_LPC4322_Cortex-M4.dbgconf b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/DebugConfig/LPC-Link2_on-board_LPC4322_Cortex-M4.dbgconf deleted file mode 100644 index fb89136..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/DebugConfig/LPC-Link2_on-board_LPC4322_Cortex-M4.dbgconf +++ /dev/null @@ -1,43 +0,0 @@ -// <<< Use Configuration Wizard in Context Menu >>> - -// Debug Setup - -// Release M0 On Connect -// <0=> No -// <1=> Yes -// Debugger releases the M0 Application processor from reset when connecting to it. -ReleaseM0OnConnect = 1; - -// Release M0 Sub-System On Connect -// <0=> No -// <1=> Yes -// Debugger releases the M0 Sub-System from reset when connecting to it (LPC437x only). -ReleaseM0SubOnConnect = 1; - -// Vector Reset -// <0=> Processor Only -// <1=> Processor and Peripherals -// Select if to additionally reset peripherals (LCD, USB0, USB1, DMA, SDIO, ETHERNET) after a Vector Reset -VecResetWithPeriph = 1; - -// - -// TPIU Pin Routing (TRACECLK fixed on PF_4) -// Configure the TPIU pin routing as used on your target platform. -// TRACEDATA0 -// <0=> Pin PF_5 -// <1=> Pin P7_4 -// TRACEDATA1 -// <0=> Pin PF_6 -// <1=> Pin P7_5 -// TRACEDATA2 -// <0=> Pin PF_7 -// <1=> Pin P7_6 -// TRACEDATA3 -// <0=> Pin PF_8 -// <1=> Pin P7_7 -RoutingTPIU = 0x00000000; - -// - -// <<< end of configuration section >>> diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/Objects/CMSIS_DAP.hex b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/Objects/CMSIS_DAP.hex deleted file mode 100644 index 5b640f4..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/Objects/CMSIS_DAP.hex +++ /dev/null @@ -1,4356 +0,0 @@ -:020000041400E6 -:10000000A0A10010659300146D9300146F93001469 -:100010007193001473930014759300145A5A5A5A2A -:100020000000000000000000000000002DA60014E9 -:100030007993001400000000C5A60014D5A6001492 -:100040007F9300147F93001495900014000000002B -:100050007F9300147F9300147F9300147F93001408 -:100060002D7B00147F9300147F9300147F93001462 -:100070007F9300147F9300147F9300147F930014E8 -:100080007F9300147F9300147F9300147F930014D8 -:100090007F9300147F9300147F9300147F930014C8 -:1000A000A5650014856A00147F9300147F930014E3 -:1000B0007F9300147F9300147F9300147F930014A8 -:1000C0007F9300147F9300147F9300147F93001498 -:1000D0007F9300147F9300147F9300147F93001488 -:1000E0007F9300147F9300147F9300147F93001478 -:1000F000000000007F9300147F9300147F9300148E -:10010000000000007F9300147F9300147F9300147D -:100110007F930014DFF80CD00AF05EFB0048004724 -:10012000A1010014A0A1001002F0A8F900200EF017 -:10013000D7FD00200DF09AFB00200DF085FB002874 -:10014000FAD044F20804C4F20F04012020704FF4E6 -:10015000FA7000F081FB0020207040F24D304FF625 -:100160002C02C1F20040C1F2004200210BF0A0FAC3 -:1001700040F60004C1F20004206045F22D504FF615 -:100180000812C1F20040C1F2004200210BF090FAC7 -:1001900060604FF0FF300AF065FC00BFFEE700BF73 -:1001A00009F0CCFC0AF09CFC40F22910C1F200409E -:1001B000002100220BF07CFA0AF066FC012808BF3F -:1001C0000AF0A4FCFEE7000040F60800C1F20000BF -:1001D0000021012241808180C18001810270418122 -:1001E0008181C18101824270704700BF704700BFAA -:1001F000704700BF012818BF704780B540F6080C53 -:10020000C1F2000C4FF0000E42F60622C1F20002CD -:10021000002001214FF400738CF800E0BDE880401D -:100220000EF026BD704700BF00207047704700BF2A -:10023000002070470020704770B540F6080504465E -:100240008007C1F200053AD5002001210EF024FDFF -:1002500042F60626C1F20006F8B168884002305C1A -:10026000072807D140F64800C1F2000001210170C3 -:1002700013E000BF68880121013068806888082881 -:1002800004BF00206880E8880130E88040F6000064 -:10029000C1F2000000680BF0CDF9E8882989401A06 -:1002A00080B2082802D10120287008E06888012166 -:1002B00006EB402200204FF400730EF0D9FC6007DB -:1002C00058BF70BDE889298A884203D1012068702F -:1002D00070BD00BFA889A98943F6062205EB41013C -:1002E000C1F200024B8A02EB40220020812100244F -:1002F0000EF0E0FCA8890130A881A889082808BF71 -:10030000AC81288A0130288270BD00BF400748BFF9 -:1003100005F0DEB8704700BF704700BF704700BFF0 -:10032000704700BF704700BF704700BF704700BFF5 -:10033000704700BF704700BF704700BF704700BFE5 -:10034000704700BF704700BF704700BF40F6080508 -:1003500042F6062643F606284FF00009C1F20005D2 -:10036000C1F200067F27C1F2000800BF81200021F2 -:100370004FF0FF320BF08AF9E88829898842F5D0DE -:10038000AC886002305C7E281AD106EB442005E080 -:100390006002305C7E2806EB442011D10770601C9F -:1003A0006988B0F1080418BF04468C42F0D181205E -:1003B00000214FF0FF320BF069F90006E8D500BFCD -:1003C000A888698906EB402008EB412102F02CF84F -:1003D000698905EB41014882A8880130A880A88876 -:1003E000082808BFA5F804902889013028812878BA -:1003F00080B1E8882989401A80B208280AD085F897 -:1004000000906888012106EB402200204FF4007321 -:100410000EF02EFC6889013068816889082808BFC1 -:10042000A5F80A90E8890130E88168780028A3D00F -:10043000E889298A88429FD0A889411CA981A98975 -:1004400008EB4022082908BFA5F80C90298A013141 -:10045000298285F8019005EB40014B8A002081211B -:100460000EF028FC88E700BF0B46024600208221E0 -:100470000EF020BC002082210EF0ECBBB0B50128AC -:100480001ED000284ED140F62C04C1F20004606852 -:10049000012121700BF01EF9002804BF00206060CC -:1004A0004FF65000C1F20040826AD0E9034519209E -:1004B000002190470020A847A0470020B0BD00BF02 -:1004C0004FF65001C1F2004140F2C5608A68C1F2A6 -:1004D00000400C6990470220A04740F235704FF66B -:1004E0001C22C1F20040C1F20042002100240BF0A6 -:1004F000DFF840F62C05C1F20005A968686021B953 -:1005000000200AF0ABFB0146A86008464FF0FF311F -:100510000AF092FB05F1140000F042F8A8682C7074 -:100520000AF0AEFB0020B0BDB0B540F62C04C1F21D -:10053000000460680BF0CEF8002804BF0020606063 -:100540004FF65000C1F20040826AD0E903541920EE -:10055000002190470020A0472846BDE8B040004752 -:1005600010B54FF65001C1F2004140F2C5608A68F3 -:10057000C1F200400C6990470220A04740F235705C -:100580004FF61C22C1F20040C1F2004200210BF0E4 -:100590008FF840F62C01C1F20001486010BD00BF89 -:1005A000F0B581B04FF65006C1F20046B76A044676 -:1005B000182000210025B84719200021B847152030 -:1005C0000021B84716200021B84794F904000228FA -:1005D00019D894F90510022918D8A279053AD3B28E -:1005E000032B13D81AA353F820001CA353F821108F -:1005F00052B21DA353F82220084321681043B84784 -:100600004FF0000530B1284601B0F0BD0025284666 -:1006100001B0F0BD2068D4F8031040F62C02C1F2FE -:100620000002C2F81710506115200121D560156134 -:100630000125B84716200121B847B26948F2207059 -:10064000C1F200004FF400719047284601B0F0BDA0 -:1006500000000000008000000040000000000000DA -:10066000002000000010000001050000010600004D -:10067000010700000100000010B540F62C00C1F297 -:1006800000000078E0B94FF65004C1F20044E06A7F -:100690008047C00718BF10BD48F62011C1F2000105 -:1006A00000204FF400720BF045FF012808DB0146E3 -:1006B000626948F62010C1F20000BDE81040104702 -:1006C00010BD00BFB0B540F62C05C1F20005297879 -:1006D000002918BFB0BD0446C00715D048F6201148 -:1006E000C1F2000100204FF400720BF023FF01283B -:1006F0000ADB01464FF65000C1F20040426948F65D -:100700002010C1F200009047A00701D4B0BD00BF87 -:10071000E8684FF4007100F500724FF65000C1F226 -:100720000040836948F22070C1F20000EA60BDE831 -:10073000B04018474FF65000C1F20040446AC56A05 -:1007400040F62C0648F22078C1F20006C1F20008FB -:1007500003E000BF0A200AF085F9A8478007F9D511 -:10076000F768A04731693844421AB2F5F07F07DBD9 -:10077000F0684FF4F072A0F5F070306102E000BF55 -:10078000012AE7DB306931696FF35F20C0F5007043 -:100790006FF35F218242C8BF0246414400200BF044 -:1007A00049FF0128D6DB316908443061D2E700BF38 -:1007B00010B540F62C00C1F200000078002818BFE8 -:1007C00010BD4FF65000C1F20040846A182000218D -:1007D000A047192000212246BDE81040104700BF65 -:1007E000B0B540F62C05C1F20005A968044621B950 -:1007F00000200AF033FA0146A86008464FF0FF31A6 -:100800000AF01AFA287801280CD1D4F803002168DC -:10081000C5F8170069610124A8680AF031FA20467A -:10082000B0BD00BF2046FFF7BBFE0446A8680AF033 -:1008300027FA2046B0BD00BF014640F62C00C1F2A9 -:100840000000D0F8172043690120C1F803200B6095 -:10085000704700BF012070474EF660214843401E9C -:10086000FDD17047FF224FF001100A70704700BFA2 -:100870002DE9F04F89B0814690F900000D46B0F1A6 -:10088000FF3FC0B208DC9F2806D84846294609B079 -:10089000BDE8F04FFFF7E6BFAA460AF8010B4E4647 -:1008A00016F8010B232800F2BF82DFE810F02500C4 -:1008B000450057007500A100B9006902BD02C502DC -:1008C000E302F702BD02BD02BD02BD02BD0201038B -:1008D0003F0353036F037D03B503CD03F103FB0314 -:1008E00005040F04190423042D04770481048B04E8 -:1008F00095049F04A90400BF3278A91CA2F1F0035B -:100900000F2B4FF0000001F29D80DFE813F01F096C -:1009100023093709370937093709370937093709EB -:10092000370937091100110029092F09330900BFC0 -:100930004FF4806001F016B93078012800F0A182F0 -:10094000002840F0818499F8020044F2080100F088 -:100950000100C4F20F01087093E200BF317800205B -:10096000002908BF0121022900F07084012940F00C -:100970007E8440F64801C1F200010120087146F270 -:100980000011C4F20F01002241F8802C6FF40072B4 -:1009900041F87C2C00F06BBC40F64800C1F200002E -:1009A0000021017146F20010C4F20F004FF4805292 -:1009B000C0F800214FF40072C0F804214FF4807297 -:1009C000C0F804214FF40052C0F8002150F8EC2C7C -:1009D000012422F0200240F8EC2C4022C0F894219F -:1009E0008AF8001004F1011009B0BDE8F08F00BFD3 -:1009F00099F8010040F64801C1F200010874B9F805 -:100A0000020001248882B9F80400C0F20504C882FB -:100A100000208AF8000004F1011009B0BDE8F08F51 -:100A200040F6480BC1F2000B9BF80400022800F0CE -:100A30002784012840F014864FF000088BF80080CE -:100A400099F80230E81C0790002B09F103074FF0DA -:100A5000000001F0AC8404904FF0000E0020002153 -:100A60009846B9460691059319F8014BA10713D48E -:100A7000BEF1000F52D00397BBF814700E2008A9E6 -:100A800002F086FFC7B3022836D19BF80000013F71 -:100A90000028F3D001F094B8BEF1000F2AD00397DC -:100AA000BBF8147004F011000128029010D1013736 -:100AB000204608A902F06CFF02285FD1013F01F037 -:100AC0007F809BF800000028F2D001F079B800BFC9 -:100AD0000E2008A902F05CFF002F4FF0000E4FD04F -:100AE00002284DD19BF80000013F0028F0D001F012 -:100AF00013B900BF002368E0012841F06D84DDE9EF -:100B0000071008700898000A4870BDF82200887025 -:100B10009DF82300C870081D0790039FD7F80100B7 -:100B2000A10607F10509089010D4BBF814702046FF -:100B300008A902F02DFF7FB102280DD19BF800001B -:100B4000013F0028F3D001F0E7B800BFCBF8180050 -:100B50004FF0000E0120ECE0012841F04184200616 -:100B600005D5DBF80C00079941F8040B07914FF00D -:100B7000000E012001210491DBE000BF4FF0010EC7 -:100B8000012841F0CC80DDE90710029B087008982D -:100B9000039F000A4870BDF822000A1D88709DF866 -:100BA0002300012BC8700DD1200605D50799DBF86D -:100BB0000C0001F108024860002101200123079286 -:100BC00004E000BF0023012007920121E206039305 -:100BD00014D45F46BBF814B0E2072BD1204608A915 -:100BE00002F0D6FEBBF1000F38D0022836D138789B -:100BF000ABF1010B0028F1D001F0E4B9D7F8010006 -:100C000007F105090290BBF816000190E00750D0EB -:100C1000BBF814702046002102F0BAFE002F43D02A -:100C2000022841D19BF80000013F0028F2D001F0DA -:100C30006FBA00BF002977D02046002102F0A8FE3D -:100C4000BBF1000F00F08680022840F083803878E6 -:100C5000ABF1010B0028EFD001F0B4B9012841F04D -:100C6000B281DDF80CE02006BB4605D5DBF80C00B0 -:100C7000079941F8040B0791DDE90710059B0A4627 -:100C800002F8040B08981146000A02F8030CBDF89C -:100C90002200079202F8020C9DF8230002F8010CD2 -:100CA00000200490012045E0DDF80CE0012841F02F -:100CB0003680BBF81470204608A902F069FE3FB1E7 -:100CC000022805D19BF80000013F0028F3D017E06F -:100CD000012816D1019BDDF80CE04FF0010093B123 -:100CE0000899DBF818201140029A91420BD09BF82A -:100CF0000000013B00280193DBD0012001E000BF90 -:100D00000220DDF80CE00899DBF818201140029A67 -:100D1000914218BF40F01000012841F000800020EF -:100D20000490012005E000BF002104914FF0010E66 -:100D3000BB46059B9BF800100029069901F10101B3 -:100D4000069140F0EC87B8F101084F467FF48CAE75 -:100D500001F028BB012841F03681200604D4002090 -:100D600004900120E2E700BFF8680799BB4641F80C -:100D7000040B00200791049001204FF0010ED8E7EA -:100D800040F64807C1F200073879022800F086844F -:100D9000012840F0DF8400223A70B9F8021005F112 -:100DA000040B002900F0B08599F80440A00700F179 -:100DB000ED8600200DF12008CDF814B007900491C5 -:100DC00056F8040FBB46BF8A0139069108902046A9 -:100DD000414602F0DDFD4FB1022807D19BF800002B -:100DE000013F0028F3D000F0E5BE00BF06990128BE -:100DF00040F0E1860798002900F101005F46079066 -:100E0000DED1B88A441C0E20002102F0C1FD022868 -:100E100041F0EB82013C01F0E782387800284FF086 -:100E20000200F0D001F0E1BAFF2028704FF001106D -:100E300009B0BDE8F08F00BF40F64800C1F20000E5 -:100E40000179022900F08E84012940F09B84D9F8B1 -:100E500002000124089008A90020C0F20504002522 -:100E600002F096FD8AF8005004F1011009B0BDE8C7 -:100E7000F08F00BFB9F80100C0EB00108000401EE9 -:100E8000FDD100208AF800000120C0F20500A0F585 -:100E9000403404F1011009B0BDE8F08F0020A5F83E -:100EA0000100022404F1011009B0BDE8F08F00BF79 -:100EB00099F8023099F80140D9F8032046F2001061 -:100EC00013F00109C4F20F0007D0E1074FF480517D -:100ED0000CBFC0F88011C0F8001113F0020E08D04A -:100EE000A6074FF482764FF4007558BF4FF4C276D0 -:100EF000855113F0040B1EBF4FF4FC2505EAC425F1 -:100F0000C0F8805013F08001079100F00A85250693 -:100F100000F1FE844025C0F8145150F8EC5C45F017 -:100F2000200540F8EC5C00F0FCBC00BFD9F80100E3 -:100F3000002800F071814AF24051C0F2AE2188428F -:100F4000C0F0248440F64801C1F20001012048713C -:100F500000F033BC99F8014009F10201002C08BFF0 -:100F60004FF48074204602F07BFC00208AF80000D9 -:100F70004FF4604000EB44303FFA80F000F1011480 -:100F800004F1011009B0BDE8F08F00BF307840F6E1 -:100F9000480200F003010131C1F20002C0F38000F9 -:100FA00011775077002062E100208AF8000096F85F -:100FB00000A0BAF1000F00F0318109F102040235FE -:100FC0004FF001084FF0010914F8016B2A4616F0A2 -:100FD0003F0000F107004FEAD00730462146AAF152 -:100FE000010A08BF082701F0BFFA09EB070016F055 -:100FF00080013C441CBF3D44B844BAF1000F00F1ED -:101000000109E1D14FEA094048EA000404F1011066 -:1010100009B0BDE8F08F00BF96F8008040F6480B9D -:10102000C1F2000BB8F1000F8BF81E8000F0608455 -:10103000A8F1010CBCF1030F08F0030E80F0D0837F -:1010400000240023F0E300BF40F64800C1F2000096 -:101050000179022940F0DE803178827FC1779142A8 -:1010600080F0D8800E2001F063FC01F0F1FA00213D -:101070006970010AA870E970010C000E052429713D -:101080006871C0F2010404F1011009B0BDE8F08FED -:101090003046514603F0ACFF044604F1011009B09C -:1010A000BDE8F08F3046514603F0BAFF044604F124 -:1010B000011009B0BDE8F08F3046514603F0D8FF6B -:1010C000044604F1011009B0BDE8F08F30465146E6 -:1010D00003F0E6FF044604F1011009B0BDE8F08F0B -:1010E000504604F021F8044604F1011009B0BDE8AF -:1010F000F08F00BF3046514604F00CF9044604F16D -:10110000011009B0BDE8F08F00208AF800003678A1 -:10111000002E00F08F8009F1020405F1020B4FF060 -:1011200001094FF4807A012705E000BF78192C44AB -:10113000471C013E2AD014F8010B46F2001210F0B1 -:101140003F0101F107014FEAD1054FF4C27108BF19 -:10115000082510F0800808BF4FF48271C4F20F0216 -:1011600042F801A021465A4602F0ACFB012E02BF14 -:1011700046F20010C4F20F00C0F804A1B8F1000F4D -:10118000D4D00137AB44A944013ED4D149EA074445 -:1011900004F1011009B0BDE8F08F00BF30465146A0 -:1011A00004F016F8044604F1011009B0BDE8F08F10 -:1011B0003046514604F02EFA044604F1011009B0FD -:1011C000BDE8F08F3046514604F038FB044604F188 -:1011D000011009B0BDE8F08F3046514604F0AAFC7A -:1011E000044604F1011009B0BDE8F08F30465146C5 -:1011F00004F072FB044604F1011009B0BDE8F08F61 -:10120000504604F037FC044604F1011009B0BDE873 -:10121000F08F00BFFF202AE0FF20D4E24FF001084A -:101220004FF4803048EA000404F1011009B0BDE831 -:10123000F08F00BF01274FF0010949EA074404F18C -:10124000011009B0BDE8F08FFF201BE640F6480111 -:10125000C1F2000102220A7146F20011C4F20F012C -:1012600041F87C0C6FF4005041F8800C02208AF8A1 -:1012700000004FF0011404F1011009B0BDE8F08F37 -:1012800000248BF8004099F801009BF81E1005F12E -:10129000030E88428BF81F0080F0E08399F802105B -:1012A00009F10307002900F02F850020079005228F -:1012B0004FF0000C0020894605900291BB461BF8B8 -:1012C000014B2346A00762F35F0323D4BCF1000F58 -:1012D0006BD00397CDF818E0079898460A2802D0FB -:1012E0000A2001F025FB40F64800C1F20000878A81 -:1012F0000E2008A901F000FDE7B302283AD140F61C -:101300004800C1F200000078013F0028F0D000F052 -:10131000E9BD00BFBCF1000F049327D040F64800A0 -:101320000799C1F20000B0F8148081EA030004F0CC -:101330001002104300920190CDF818E060D103979D -:1013400008F10107204608A901F0D6FC022840F068 -:101350008380013F00F0C88540F64800C1F20000DC -:1013600000780028EED000F0BFBD00BF04F01000F0 -:101370009EE000BF012841F03B8043460898DDF81D -:1013800018800A2188F8000008980791000A88F858 -:101390000100BDF82200039F88F802009DF8230099 -:1013A00088F8030008F104008646D7F8010040F6EB -:1013B0004808A10607F10507C1F20008089019D4F2 -:1013C000CDF818E004930798BB46984202D00498E1 -:1013D00001F0AEFAB8F81470204608A901F08CFCB0 -:1013E00057B3022828D198F80000013F0028F3D015 -:1013F00000F088BEC8F818004FF0000C1AE100BFDA -:101400000A2902D00A2001F093FA0E2008A901F05F -:1014100073FC0A22B8F1000F4FF0000C20D0022814 -:101420001ED140F64800C1F200000078A8F1010882 -:101430000028EAD000F078BE012840F0E587DDF80A -:1014400018E02006049944BFD8F80C004EF8040BAD -:101450005F464FF0000CECE0039F079A4FF0010C41 -:101460000128079240F06B860898DDF818C00199B2 -:101470008CF800000898B1FA81F1000A8CF801009C -:10148000BDF8220049098CF802009DF82310049B46 -:101490000CF104008CF8031008D0210600F1AE8096 -:1014A0004FF0010C86465F46A2E000BF86460098DA -:1014B000CDF818E040B3D7F80100B846039040F6E5 -:1014C0004800C1F20000B0F816B00798984202D068 -:1014D000049801F02DFA40F64800C1F20000878A16 -:1014E00008F105082046002101F006FC57B3022848 -:1014F00028D140F64800C1F200000078013F0028E2 -:10150000F0D000F009BE00BF07989846984202D07C -:10151000404601F00DFA40F64800C1F20000878A0B -:101520002046002101F0E8FB002F55D0022853D1BE -:1015300040F64800C1F200000078013F0028EFD0DB -:1015400000F0F8BD012840F0638740F64803C1F27F -:1015500000039F8A204608A901F0CEFB57B102285C -:1015600008D140F64800C1F200000078013F002891 -:10157000F0D019E0012818D1BBF1000F4FF00100A5 -:10158000474667D040F64803C1F2000308999A69BC -:101590001140039A91420DD01878ABF1010B00284D -:1015A000D7D0012005E000BF022040F64803C1F279 -:1015B0000003474608999A694FF0000C1140039ABE -:1015C000914218BF40F01000DDF818E0049901289E -:1015D00040F0228798462CE0012840F02187DDF872 -:1015E00018E02006414619D44FF0010C5F460791E0 -:1015F00040F64808C1F200081CE000BF40F6480869 -:10160000C1F20008D8F80C005F46CCF804000CF1D9 -:1016100008004FF0010C86460CE000BF40F6480879 -:10162000C1F20008D8F80C004FF0010C4EF8040B82 -:101630005F460791059998F800000131002805914F -:1016400040F0C486B9F101094FF005027FF436AECF -:1016500000F0C0BE40F64803C1F20003AAE700BF95 -:1016600099F8020009F10301002800F02F8410F01E -:101670000303A0F1010C00F0E98399F8037009F16C -:101680000804F906214658BF09F10401BF0758BFF5 -:101690002146012B40F028836046D7E300223A70B0 -:1016A0003078B97F05F1040B8842F87780F02C81FF -:1016B000B9F802000028069000F02A8399F8048007 -:1016C00008F0010004900A3001F032F95FEA8870F6 -:1016D00000F13E830020CDF80CB00790069908ACCD -:1016E00056F8040FBB46BF8A013905910890404661 -:1016F000214601F001FB3FB1022805D19BF8000013 -:10170000013F0028F3D035E30599012840F03383E9 -:101710000798002900F101005F460790E0D1049886 -:1017200010B10A2001F004F9BBF81400441C0E208B -:10173000002101F0E1FA022840F06186013C00F04E -:101740005D869BF8000000284FF00200EFD000F00B -:1017500056BE00BF0020A5F80100E870032000F08D -:1017600004BE00BF3178827FC177914280F07C81D6 -:10177000082001F0DDF8D9F8020000F0F1FF0020A8 -:1017800073E100BF0124FF2070E100BF44F67F2118 -:10179000C0F25D510144B1FBF0F14AF6AB20CAF64C -:1017A000AA20A1FB000240F64800C1F2000000237D -:1017B00043710120022988BF500840F64801C1F258 -:1017C0000001886000208AF800000120C0F20500B6 -:1017D000A0F5803404F1011009B0BDE8F08F00BF1E -:1017E00008F0FC070024002309EB0406B5780BEB96 -:1017F00004010BEB440081F820500385F2782B4460 -:1018000081F82120438535791A4481F82250828558 -:1018100073792A44043481F82330A7421344C285E3 -:10182000E2D109EB0400461CBEF1000F1ED0707817 -:101830000BF11E073919887007EB44014B81BEF18B -:10184000010F034412D0601CB1783A1807EB400036 -:1018500091704381BEF1020F0B4407D0A01CF178B8 -:101860003A1807EB4000917043810B44BCF1030F21 -:1018700002D200271CE000BF08F0FC0600270BEB9B -:10188000070090F820100BEB4702591A118790F8C7 -:1018900021300437C91A518790F82230BE42A1EB9B -:1018A0000301918790F82300A1EB0003D387E6D1D1 -:1018B000BEF1000F1CD00BF11E02D0198078BEF1D2 -:1018C000010FA3EB000302EB4700438310D0781C09 -:1018D0001118897802EB40005B1ABEF1020F4383B6 -:1018E00006D0B81C1118897802EB4000591A4183C0 -:1018F00000208AF800004FF0011000EB084404F1CA -:10190000011009B0BDE8F08F002000F028BD00BF35 -:1019100050F8EC5C25F0200540F8EC5C4025C0F860 -:101920009451002A00F0628203F02003B3FA83F39B -:101930005F094CF2C06341F20401C0F22D03CEF204 -:1019400000019A4238BF1346B42204F0E00C5A4317 -:101950000B68BCFA8CF14909E6094FEA5408A5085E -:10196000B9F1000F47EA01073ED1BEF1000F40F088 -:10197000878041F20404BBF1000FCEF2000440F076 -:101980002381002F00F00E820799002900F02E829B -:101990004169C1F340118E4200F028822168C91AC2 -:1019A000914280F023824169C1F340118E4200F0E0 -:1019B0001D822168C91A914280F018824169C1F3E1 -:1019C00040118E4200F012822168C91A914280F0C3 -:1019D0000D824169C1F340118E4200F007822168F7 -:1019E000C91A9142D4D301E2BEF1000F40F07E80CB -:1019F000AC4641F20405CEF2000504E02968C91A9C -:101A0000914280F0F3810168C1F30031A142F5D128 -:101A1000BBF1000F02D1002FF0D009E00168C1F343 -:101A20004031ACEB0101B1FA81F149090F42E5D037 -:101A30000799002900F0DA814169C1F340118E4213 -:101A4000DCD1D3E1042A40F099803020888042F62E -:101A50003260C2F63160086006208FE009F10207AB -:101A6000002000F028BC00BFFF200124C0F20504C4 -:101A70008AF8000004F1011009B0BDE8F08F00BF42 -:101A800041F20404BBF1000FCEF2000440F0E48008 -:101A9000EFB941682168C91A914280F0A781416875 -:101AA0002168C91A914280F0A18141682168C91A50 -:101AB000914280F09B8141682168C91A9142E8D324 -:101AC00094E100BF2168C91A914280F08F8141687A -:101AD000C1F340218845F5D10799002900F086819E -:101AE0004169C1F340118E42ECD17FE1B44641F22D -:101AF0000406CEF2000604E03168C91A914280F073 -:101B000075810168C1F30031A142F5D14168C1F38B -:101B100040218845F0D1BBF1000F03D1002FEBD05D -:101B200009E000BF0168C1F34031691AB1FA81F1DF -:101B300049090F42E0D00799002900F05781416917 -:101B4000C1F340118C45D7D150E100BF40F2F710EE -:101B500012E000BF49F20050C0F6BA2002E000BF18 -:101B60004FF40050C5F80200042007E00820087078 -:101B7000012003E04FF40070688002208AF8000022 -:101B800000F1021009B0BDE8F08F00BFE00700F0DF -:101B9000B281BE8A88462046002101F0F9FE002E5F -:101BA00000F0A681022840F0A3813878013E002889 -:101BB000F1D0DCE00220DDF814B0079ACFE300BFDB -:101BC0004FF0010EAAE000BFFFB9079961BB0168A1 -:101BD0002168C91A914280F0098101682168C91AF7 -:101BE000914280F0038101682168C91A914280F016 -:101BF000FD8001682168C91A9142E8D3F6E000BF70 -:101C00002168C91A914280F0F1800168C1F3403126 -:101C10008D42F5D10799002900F0E8804169C1F3B0 -:101C200040118E42ECD1E1E001682168C91A91426D -:101C300080F0DC8001682168C91A914280F0D6806A -:101C400001682168C91A914280F0D080016821683A -:101C5000C91A9142E8D3C9E08FBB4168C1F3402162 -:101C6000884508BF01682168C91A914280F0BE808A -:101C70004168C1F34021884508BF01682168C91A3D -:101C8000914280F0B3804168C1F34021884508BF8C -:101C900001682168C91A914280F0A8804168C1F3A7 -:101CA0004021884508BF01682168C91A9142D4D3F0 -:101CB0009CE000BF2168C91A914280F0978041687A -:101CC000C1F340218845F5D10168C1F340318D420F -:101CD000F0D10799002900F089804169C1F34011D2 -:101CE0008E42E7D182E000BF0F4617F8014B4A1D34 -:101CF000E10648BF1746A107394658BF1146022BD7 -:101D000040F098800238A1E000240020D3E200BF18 -:101D10000022002023E300BF4FF0000E0220B8F1A4 -:101D2000000F00F0A98118F00302A8F1010C00F0E7 -:101D30005D8109F1050319F8017BF90648BF994651 -:101D4000B90758BF9946012A1AD1E0464EE100BFB3 -:101D5000BC8A4046002100F0CFFF002C00F0FE803E -:101D6000022840F0FB803878013C0028F1D00220A6 -:101D70000022F4E20220DDF80CB0079AEFE200BF87 -:101D8000494611F8013B09F10507DC0648BF394611 -:101D90009B07894658BFB946022A40F01981A8F12D -:101DA000020823E1079989B92168C91A91421DD215 -:101DB0002168C91A914219D22168C91A914215D2D3 -:101DC0002168C91A9142EFD310E000BF2168C91AF7 -:101DD00091420BD22168C91A914207D22168C91ACF -:101DE000914203D22168C91A9142EFD30168426837 -:101DF0000223C1F3003103EA1222114402680423D2 -:101E000003EAD222114442680823406903EA12120D -:101E1000114400F0200041EA80008AF8000001200F -:101E2000C0F2050000F5803404F1011009B0BDE8EE -:101E3000F08F00BF0A4612F8013B0531DF0648BFAC -:101E40000A469B0758BF0A4603381146BCF1030FE8 -:101E50003CD30A784C1D02F0020312F010024FF03E -:101E60000502274604BF01224F1C002B08BF052294 -:101E7000895C08BF274601F002027C1D11F01001A9 -:101E80004FF00501234604BF01217B1C002A08BF37 -:101E90000521795C08BF234601F002025C1D11F0A8 -:101EA00010014FF00501274604BF01215F1C002AE5 -:101EB00004BF052127465A5C7B1DD106194658BF31 -:101EC000791C920758BF19460438C2D10020A5F8E2 -:101ED0000100881B0004841C04F1011009B0BDE856 -:101EE000F08F00BF0A2007904FF0010C022026E17E -:101EF0000128414664D1002008AE07900491E00714 -:101F0000204618BF0E20B7F8148001390691002929 -:101F100008BF04462046314601F03AFDB8F1000FF3 -:101F200008D0022806D13878A8F101080028F1D09D -:101F300010E000BF012840F0118208984BF8040B14 -:101F4000079801300790069901200029D7D1049AFB -:101F500005E200BF079A022001E200BF01282FD14D -:101F6000049800280698A0F101014FF0000040F00D -:101F7000CB810790BC8A46460591002908BF0E26F2 -:101F8000304608A900F0B8FE44B1022806D13878DE -:101F9000013C00284FF00200F2D0DFE1012840F0C0 -:101FA000DD8108984BF8040B0798013007900598DD -:101FB0000028A0F101014FF00100DBD1CBE100BF0F -:101FC0000022CCE10220DDF80CE0BB46A7E600BF12 -:101FD000494611F8012B09F10503D70648BF1946F8 -:101FE000920758BF1946A8F103088946BCF1030FB0 -:101FF00042D399F8001009F1050701F0020211F02F -:1020000010014FF005013B4604BF012109F1010316 -:10201000002A08BF052119F8011008BF3B4601F04E -:1020200002025C1D11F010014FF00501274604BFAC -:1020300001215F1C002A08BF0521595C08BF274603 -:1020400001F002027C1D11F010014FF00501234642 -:1020500004BF01217B1C002A04BF05212346795CB3 -:102060005A1DCF06914658BF03F10109890758BF91 -:102070009146B8F10408BCD1DDF818804F4601281C -:1020800040F09581BEF1000F12D0B946BBF8147034 -:1020900008AC0E20214601F07BFCFFB102281DD1C7 -:1020A0009BF80000013F0028F3D002204F467EE15C -:1020B000049858B3BBF81400441C0E20002101F012 -:1020C00067FC022840F07381013C00F01B819BF803 -:1020D000000000284FF00200EFD068E101284F46D1 -:1020E00040F06581DDE9071008700898000A487023 -:1020F000BDF8220088709DF82300C87004310120CB -:10210000079154E14FF0000C022009E001204EE15C -:10211000DDF80CE002E600BF4FF0000C0220C346E1 -:10212000049907910BE000BF0A2007904FF0000CC4 -:10213000022004E04FF0000C0220CDF81C80DDF8F6 -:1021400018E0B9F1000F7AD0E04619F00302A9F1C6 -:10215000010C2DD00BF105031BF8017BF90648BFDC -:102160009B46B90758BF9B46012A01D1E1461FE0B3 -:10217000594611F8013B0BF10507DC0648BF39460B -:102180009B078B4658BFBB46022A03D1A9F102091F -:102190000EE000BF594611F8012B0BF10503D706DD -:1021A00048BF1946920758BF1946A9F103098B4643 -:1021B000BCF1030FC44642D39BF800100BF1050796 -:1021C00001F0020211F010014FF005013B4604BF7F -:1021D00001210BF10103002A08BF05211BF80110A2 -:1021E00008BF3B4601F002025C1D11F010014FF0E8 -:1021F0000501274604BF01215F1C002A08BF0521F5 -:10220000595C08BF274601F002027C1D11F0100145 -:102210004FF00501234604BF01217B1C002A04BFA7 -:1022200005212346795C5A1DCF06934658BF03F11A -:10223000010B890758BF9346B9F10409BCD1059C2D -:1022400001285F4637D1CDF818E00798B9460A282B -:1022500004D00A20674600F06BFBBC4640F64808F5 -:10226000C1F20008B8F81470A346BCF1000F0FD0FB -:1022700008AC0E20214600F03FFD4FB3022827D1C5 -:1022800098F80000013F0028F3D002200FE000BFC3 -:102290007C1C0E20002100F02FFD022807D1013CFC -:1022A000F3D098F8000000284FF00200F1D0DDF8DC -:1022B00018E05C464F46A870B81BAEEB0A016C7084 -:1022C00041EA004404F1011009B0BDE8F08F00BFFD -:1022D00001285C464F4611D10898DDF81890A9F8FE -:1022E0000000BDF8220009F1040189F802009DF800 -:1022F00023008E4689F803000120DCE7DDF818E0B2 -:10230000D9E700BF022052E008AC0790059121B93F -:102310000A2000F00DFB4FF00E08BE8A4046214611 -:1023200000F0EAFC46B1022806D13878013E0028C8 -:102330004FF00200F2D011E001280FD108984BF8BD -:10234000040B07980130079005980028A0F10101BF -:102350004FF00100DAD1069A01E000BF079A110A96 -:102360006A70A970E870ABEB0A0099F8041089074D -:1023700010D499F8031099F80220890641EA8241A5 -:1023800001F5802141EA000404F1011009B0BDE823 -:10239000F08F00BF40F4802404F1011009B0BDE8C3 -:1023A000F08F00BF98464F4601283FF46BAE079967 -:1023B000A870B81BA1EB0A0185F8018041EA00442E -:1023C00004F1011009B0BDE8F08F00BF0120BB4649 -:1023D000B7E600BF029C36E74FF0010E9FE400BF56 -:1023E0004FF0000E9BE400BF0220DDE9042BB6E7AE -:1023F0000A2107914FF0010CA1E600BF0220069AC6 -:10240000DDF80CB0ABE700BF4FF0000C88E600BF72 -:102410004FF0000C83E600BFBB46079191E600BF7A -:102420004FF0000C89E600BFF0B581B002787F2A3A -:1024300018D17F220A7047784F70CFB18D1C861C4F -:102440004FF0021430462946013FFEF711FA0444CA -:1024500006EB1046002F15FA80F5F3D1204601B0A7 -:10246000F0BD00BF01B0BDE8F040FEF701BA00BF0B -:102470004FF00214204601B0F0BD00BF40F6480105 -:10248000C1F20001582300228B60642341F2144002 -:10249000C1E905320123C4F205008A800A748B83E6 -:1024A0008A77032140F8041C0168C90709D1016833 -:1024B000C90704BF01685FEAC17102D10168C90799 -:1024C000F2D046F28400C4F2080050214422016494 -:1024D0004161016141644163C0F890205422C0F819 -:1024E0009420016046F20000C4F20F004FF48051C6 -:1024F000C0F800124FF40071C0F804124FF480725B -:102500004FF40051C0F80422C0F8001220214023EB -:10251000C0F89412C0F89432036843F48053036007 -:10252000436843F400734360436843F4807343603B -:10253000036843F400530360436823F0800343605F -:10254000436923F020034361436943F0400343613F -:10255000C0F88022026842F4807202604EF20840A5 -:10256000CEF20000017070472DE9F04310F03F0CEF -:1025700008BF4FF0400C470646F204134FF4807733 -:10258000C4F20F0358BF4FF4C0774FF40076000633 -:10259000FE5025D440F64C024FF48050C1F20002A8 -:1025A00003E000BFBCEB050C50D011F8017BACF18F -:1025B000010600247D03DD67C3F87C0155686D1EAC -:1025C000FDD11D68C3F8FC0055686D1EFDD1A64203 -:1025D00004F10105E6D07F08072C2C46EAD1E1E79B -:1025E00040F64C084FF4805EC1F200080BE000BFDB -:1025F000C0F1080426FA04F4BCEB000C02F8014B0D -:1026000008BFBDE8F08311F8014BACF101090027C8 -:10261000002600BF6003D867C3F87CE1D8F8040047 -:10262000401EFDD11868C3F8FCE0D8F8045000F053 -:1026300080006D1EFDD140EA5606B94507F1010044 -:10264000D6D06408072F0746E4D1D1E7BDE8F08370 -:10265000B0B546F20021C4F20F014FF400724FF4FE -:10266000805040F64C0C4A60C1F88000C1F2000C6A -:10267000DCF804305B1EFDD10860DCF804305B1E22 -:10268000FDD1C1F88420C1F88000DCF80420521E7E -:10269000FDD10860DCF80420521EFDD1C1F8800095 -:1026A000DCF80420521EFDD10860DCF80420521E24 -:1026B000FDD19CF81B2062B1C1F88000DCF8043029 -:1026C0005B1EFDD10860DCF804305B1EFDD1013AD1 -:1026D000F2D100236FF01E02C1F88000DCF8044044 -:1026E000641EFDD151F8FC4C0860DCF804506D1EEE -:1026F000FDD104F0800543EA056301324FEA53033C -:10270000EAD34FF400704FF480524860C1F8802043 -:10271000DCF80440641EFDD151F8FC5C0A60DCF872 -:102720000440641EFDD1C1F88020DCF80440641E22 -:10273000FDD10A60DCF80440641EFDD1C1F88400BC -:10274000C1F88020DCF8044005F08005641EFDD14E -:102750000A6043EA0560DCF80410491EFDD1B0BDF3 -:1027600010B546F20021C4F20F014FF400724FF48D -:10277000805340F64C0C4A60C1F88030C1F2000C26 -:10278000DCF80440641EFDD10B60DCF80440641EDC -:10279000FDD1C1F88420C1F88030DCF80420521E3D -:1027A000FDD10B60DCF80420521EFDD1C1F8803051 -:1027B000DCF80420521EFDD10B60DCF80420521E10 -:1027C000FDD19CF81B2062B1C1F88030DCF80440D8 -:1027D000641EFDD10B60DCF80440641EFDD1013A9B -:1027E000F2D1002241F8802CC1F88030DCF80420BE -:1027F000521EFDD10B60DCF80420521EFDD1C1F841 -:102800008030DCF80420521EFDD10B60DCF804207F -:10281000521EFDD1C1F88030DCF80420521EFDD1DB -:102820000B60DCF80420521EFDD16FF01E0200BFC9 -:10283000440341F8804CC1F88030DCF80440641E49 -:10284000FDD10B60DCF80440641EFDD101324FEA7B -:102850005000EDD39CF81B209CF81A30D44314EBA5 -:10286000030E31D0400341F8800C4FF48050C1F882 -:102870008000DCF80440641EFDD10860DCF80440F0 -:10288000641EFDD1BEF1010F0FD0D21A023200BF7B -:10289000C1F88000DCF804305B1EFDD10860DCF874 -:1028A00004305B1EFDD10132F2D34FF400724A6056 -:1028B000C1F88000DCF80420521EFDD10860DCF86D -:1028C0000400401EFDD112E04FF4007240034A6044 -:1028D00041F8800C4FF48050C1F88000DCF80420EF -:1028E000521EFDD10860DCF80400401EFDD14FF4FB -:1028F0008050C1F88000DCF80420521EFDD1086031 -:10290000DCF80420521EFDD14FF40072C1F884207F -:10291000C1F88000DCF80420521EFDD10860DCF80C -:102920000400401EFDD14FF4005041F8800C10BD52 -:10293000F0B540F64C02C1F20002577846F2002191 -:10294000C4F20F014FF400754FF480534D60C1F88D -:1029500080309FB30B60C1F880300B60C1F88450A9 -:10296000C1F880300B60C1F880300B604FF4005329 -:1029700041F8803C92F81BE002EB4E0CBCF824506E -:10298000002D00F0BB8015F00306A5F1010400F056 -:10299000A1804FF48057012E2346C1F880700F604C -:1029A00000F09980022EC1F880700F6040F008811D -:1029B000AB1E032C80F09180A0E000BF5468641E21 -:1029C000FDD10B605468641EFDD1C1F8803054689D -:1029D000641EFDD10B605468641EFDD1C1F88450A3 -:1029E000C1F880305468641EFDD10B605468641EC9 -:1029F000FDD1C1F880305468641EFDD10B6053686E -:102A00005B1EFDD14FF4005341F8803CD37E02EBB6 -:102A10004307BD8C75B14FF4805300BFC1F88030BF -:102A20005468641EFDD10B605468641EFDD1013DE5 -:102A3000F4D1D37ED7183F7F012F15D07B424FF4BE -:102A4000805500BF470341F8807CC1F8805054682E -:102A5000641EFDD10D605468641EFDD101335F1CFE -:102A60004FEA5000EED1D37E02EB43039B8E002B46 -:102A700000F06880400341F8800C4FF48050C1F8AA -:102A800080005468641EFDD108605468641EFDD146 -:102A90004FF40057012B41F8807C0DD05B4200BF02 -:102AA000C1F880005468641EFDD108605468641E3B -:102AB000FDD101335F1CF3D14FF400734B60C1F8BB -:102AC000800053685B1EFDD108605068401EFDD138 -:102AD00049E000BF2B46032C10D34FF4805400BFB5 -:102AE000043BC1F880400C60C1F880400C60C1F824 -:102AF00080400C60C1F880400C60F1D17244147FBA -:102B0000631E17D013F00305A4F1020E14D0420384 -:102B100041F8802C4FF48053012D4FEA5002C1F848 -:102B200080300B603CD173461046BEF1030F80F03D -:102B30005F8084E0024682E0BEF1030F80F058809F -:102B40007DE000BF4FF4007340034B6041F8800C00 -:102B50004FF48050C1F8800053685B1EFDD10860BF -:102B60005068401EFDD14FF48050C1F8800053687A -:102B70005B1EFDD1086053685B1EFDD14FF40073EE -:102B8000C1F88430C1F8800053685B1EFDD1086035 -:102B90005068401EFDD14FF4005041F8800CF0BD4C -:102BA000520341F8802C022D4FEA9002C1F8803088 -:102BB0000B600FD1E31E1046BEF1030F18D23EE0AA -:102BC0004FF48053C1F880300B60EB1E032CBFF430 -:102BD00084AF93E7520341F8802C4FF48052C1F840 -:102BE00080200A60C208231F1046BEF1030F26D3BF -:102BF0004EF2000E4FF48054CFF6FF7E024600BF27 -:102C0000500341F8800C0EEA0230C1F880400C609D -:102C100041F8800C0EEAC220C1F880400C6041F8F7 -:102C2000800C0EEA8220043B4FEA1212C1F8804069 -:102C30000C6041F8800CC1F880400C60E0D1BCF819 -:102C400034300BB3500341F8800C4FF48050C1F87E -:102C5000800008604FF40052581E41F8802C33D099 -:102C600010F00306A3F102021CD04FF48057012E8E -:102C70001046C1F880700F6014D0022EC1F8807029 -:102C80000F6009D1D81E0DE04FF40070486050036A -:102C900041F8800C1BE000BF4FF48050C1F8800069 -:102CA0000860181F032A0FD34FF480520438C1F86C -:102CB00080200A60C1F880200A60C1F880200A6084 -:102CC000C1F880200A60F1D14FF4007048604FF4E1 -:102CD00080504FF40072C1F880000860C1F8800095 -:102CE0000860C1F88420C1F8800008604FF40050EB -:102CF00041F8800CF0BD00BF2DE9F04F9DB040F6CB -:102D00004C02C1F20002567846F200234EF2000C4B -:102D10008346C4F20F034FF400704FF48057CFF690 -:102D2000FF7C5860C3F8807056B31F60C3F88400FE -:102D3000C3F880701F60C3F880701F6092F81BE0BA -:102D4000BEF1000F00F0F0801EF00300AEF10106AE -:102D500000F0D6804FF4805501283746C3F88050E4 -:102D60001D6000F0CE800228C3F880501D6040F046 -:102D70009583AEF10207032E80F0C580D4E000BF3A -:102D800055686D1EFDD11F6055686D1EFDD1C3F8DD -:102D90008400C3F880705068401EFDD11F605068E9 -:102DA000401EFDD1C3F880705068401EFDD11F60E9 -:102DB0005068401EFDD1D07E68B14FF4805700BFEF -:102DC000C3F8807055686D1EFDD11F6055686D1E7B -:102DD000FDD10138F4D10CEA0B304FF4805743F8A1 -:102DE000800CC3F880705068401EFDD153F8FC0C75 -:102DF0001F6055680CEACB266D1EFDD143F8806C30 -:102E0000C3F8807055686D1EFDD1022653F8FC5C36 -:102E10001F60546806EA90100CEA8B26641EFDD1F0 -:102E200043F8806CC3F880705468C5F3C016641E04 -:102E3000FDD153F8FC5C1F6030440426546806EA58 -:102E40005516641EFDD100EB0608B8F1010F40F0E5 -:102E500049805FEA8B7000F1D58209686FF01E002F -:102E60004FF480574E0343F8806CC3F88070546869 -:102E7000641EFDD11F605468641EFDD101304FEA0D -:102E80005101EFD3D07E977EC643F61900F02E8312 -:102E9000490343F8801C4FF48051C3F880105468F4 -:102EA000641EFDD119605468641EFDD1012E0CD042 -:102EB000C01B0230C3F880105468641EFDD1196035 -:102EC0005468641EFDD10130F4D34FF40070586093 -:102ED000C3F880105068401EFDD119605068401E34 -:102EE000FDD12BE34FF400705860C3F88070506838 -:102EF000401EFDD11F605068401EFDD11EE300BF83 -:102F00007746032E10D34FF4805000BF043FC3F820 -:102F100080001860C3F880001860C3F88000186053 -:102F2000C3F880001860F1D10CEA0B3043F8800C34 -:102F30004FF48050C3F880000CEACB2553F8FC7C9A -:102F4000186043F8805CC3F8800053F8FC5C0226EC -:102F500006EA9717C5F3C01637440CEA8B261860AB -:102F600043F8806CC3F8800053F8FC6C042505EA34 -:102F7000561607EB0608B8F1010F186040F03E81C5 -:102F80005FEA8B70CDF8708000F13C810D684FF4E2 -:102F90008051680343F8800C0CEA0530C3F88010B8 -:102FA000196043F8800C0CEAC520C3F88010196042 -:102FB00043F8800C0CEA8520C3F88010196043F8B0 -:102FC000800C0CEA4520C3F88010196043F8800C8F -:102FD0000CEA0520C3F88010196043F8800C0CEA55 -:102FE000C510C3F88010196043F8800C0CEA8510F6 -:102FF000C3F88010196043F8800C0CEA4510C3F840 -:103000008010196043F8800C0CEA0510C3F880109A -:10301000196043F8800C0CEAC500C3F880101960F1 -:1030200043F8800C0CEA8500C3F88010196043F85F -:10303000800C0CEA4500C3F88010196043F8800C3E -:103040004EF200004EF2000CC7F6FF70C0F23F0CCB -:1030500000EA55080CF17F5000EA95090CF1FE508A -:1030600000EAD500C3F8801019601B900CF17C6059 -:1030700000EA15101A900CF1F86000EA551019904A -:103080000CF1707000EA951018900CF1E07000EAF5 -:10309000D51017900CF5400000EA152016900CF59D -:1030A000800000EA552015900CEA952014904FF40A -:1030B000FF1000EAD5264FF47E2000EA153428469A -:1030C0006FF30C0043F8800CC3F88010196043F8CC -:1030D000808CC3F88010196043F8809CC3F880107E -:1030E00019601B9F4FF4FC2043F8807CC3F88010CC -:1030F00019601A9F00EA553C43F8807CC3F88010A1 -:103100001960199F4FF4783043F8807CC3F8801021 -:103110001960189F4FF4F03A43F8807CC3F8801090 -:103120001960179F4FF4604943F8807CC3F8801002 -:103130001960169F4FF4C04843F8807CC3F8801094 -:103140001960159F00EA953043F8807CC3F8801021 -:103150001960149F0AEAD53A09EA154908EA554860 -:1031600043F8807CC3F88010196043F8806CC3F882 -:103170008010196043F8804CC3F88010196043F840 -:1031800080CCC3F88010196043F8800CC3F880101D -:10319000196043F880ACC3F88010196043F8809C34 -:1031A000C3F88010196043F8808CC3F88010196050 -:1031B000907E6FEA0E07C6194FEAD57700F07A8144 -:1031C0007F0343F8807CC3F880101960DDF87080BD -:1031D000771E00F01582A0EB0E00811C11F0030198 -:1031E000A0F1030000F0FA814FF480570129C3F8E1 -:1031F00080701F6040F0DC81B71EEFE14FF400717A -:10320000596002E24FF48058C3F8808053F8FCCC38 -:10321000C3F80080C3F8808053F8FC6CC3F80080CA -:10322000C3F8808053F8FC7CC3F80080C3F880802A -:1032300053F8FC9CC3F80080C3F8808053F8FC4C22 -:10324000C3F80080C3F8808053F8FC0C1B90C3F8CF -:103250000080C3F8808053F8FC0C1A90C3F80080FB -:10326000C3F8808053F8FC0C1990C3F80080C3F8B1 -:10327000808053F8FC0C1890C3F80080C3F880805D -:1032800053F8FC0C1790C3F80080C3F8808053F803 -:10329000FC0C1690C3F80080C3F8808053F8FC0C37 -:1032A0001590C3F80080C3F8808053F8FC0C14908C -:1032B000C3F80080C3F8808053F8FC0C1390C3F867 -:1032C0000080C3F8808053F8FC0C1290C3F8008093 -:1032D000C3F8808053F8FC0C1190C3F80080C3F849 -:1032E000808053F8FC0C1090C3F80080C3F88080F5 -:1032F00053F8FC0C0F90C3F80080C3F8808053F89B -:10330000FC0C0E90C3F80080C3F8808053F8FC0CCE -:103310000D90C3F80080C3F8808053F8FC0C0C902B -:10332000C3F80080C3F8808053F8FC0C0B90C3F8FE -:103330000080C3F8808053F8FC0C0A90C3F800802A -:10334000C3F8808053F8FC0C0990C3F80080C3F8E0 -:10335000808053F8FC0C0890C3F80080C3F880808C -:1033600053F8FC0C0790C3F80080C3F8808053F832 -:10337000FC0C0690C3F80080C3F8808053F8FC0C66 -:103380000590C3F80080C3F8808053F8FC0C0490CB -:10339000C3F80080C3F8808053F8FC0C0390C3F896 -:1033A0000080C3F8808053F8FC0C0290C3F80080C2 -:1033B000957E6FEA0E0015EB000A00F087800194FD -:1033C000C3F8808053F8FC0CBAF101040090C3F8F4 -:1033D0000080DDF8708000F08981A5EB0E05A81C47 -:1033E00010F00300A5F1030500F06D814FF4805447 -:1033F0000128C3F880401C6040F0E280AAF102047A -:1034000061E100BF00276FF01E004FF4805600BF3F -:10341000C3F880605468641EFDD153F8FC5C1E60E4 -:10342000546805F08005641EFDD147EA0567013048 -:103430004FEA5707ECD3D07E947EC64316EB040EBA -:1034400000F066804FF48055C3F880505668761EB1 -:10345000FDD153F8FCCC1D605668761EFDD1BEF13F -:10346000010F0CD0001B0230C3F880505468641E5A -:10347000FDD11D605468641EFDD10130F4D34FF4BA -:1034800000705860C3F880505068401EFDD11D6028 -:103490005068401EFDD100294BD14FE04FF48050C1 -:1034A000C3F880001860AEF10307032EBFF42BAD04 -:1034B0003AE500BF4FF400705860780343F8800C81 -:1034C000C3F880101960DDF87080A1E04FF400703F -:1034D0005860C3F8808053F8FCECDDF870804FF43E -:1034E00080500029186040F0108191E04FF4007086 -:1034F0005860480343F8800C4FF48050C3F88000B4 -:103500005168491EFDD118605068401EFDD115E07C -:103510004FF4007058604FF48050C3F88000546836 -:10352000641EFDD153F8FCCC18605068401EFDD1DC -:1035300021B10CF0800047EA006008604FF4805031 -:10354000C3F880005168491EFDD118605168491EBA -:10355000FDD14FF40071C3F88410C3F880005168A6 -:10356000491EFDD118605068401EFDD14FF4005037 -:103570005FEA0B6143F8800C05D541F20400CEF2FE -:10358000000000689060107B002800F087804FF4F6 -:10359000805100BFC3F880105468641EFDD11960CB -:1035A00054680138641EFDD10028F3D176E000BFD5 -:1035B0000229C3F880701F600AD1F71E0EE000BF19 -:1035C0000228C3F880401C6076D1AAF103047AE097 -:1035D0004FF48051C3F880101960371F03280FD3B0 -:1035E0004FF48050043FC3F880001860C3F8800097 -:1035F0001860C3F880001860C3F880001860F1D12B -:103600004FF4007058604FF48050C3F88000186089 -:103610004FF480504FF40071C3F880001860C3F875 -:103620008410C3F8800018604FF400505FEA0B610B -:1036300043F8800C05D541F20400CEF2000000688A -:103640009060127B52B312F00307A2F1010111D076 -:103650004FF48056012F0846C3F880601E600AD0E0 -:10366000022FC3F880601E601CD1901E032915D361 -:1036700003E000BF1046032910D34FF4805100BF70 -:103680000438C3F880101960C3F880101960C3F8BB -:1036900080101960C3F880101960F1D140461DB048 -:1036A000BDE8F08FD01E4FF48052C3F880201A601E -:1036B0000329F3D3E1E700BF4FF48050C3F8800043 -:1036C0001860AAF10404032D10D34FF4805500BFF5 -:1036D000043CC3F880501D60C3F880501D60C3F8DF -:1036E00080501D60C3F880501D60F1D14FF4007010 -:1036F00058604FF48050C3F88000DDE900E44FF4D7 -:103700008050002918603FF483AF4FF0804000EAFA -:10371000CC5006F0800540EA056007F08005ED0515 -:1037200045EA900009F0800540EA056004F0800554 -:103730001B9FED0545EA900007F080051A9F40EABF -:10374000056007F08005199FED0545EA900007F038 -:103750008005189F40EA056007F08005179FED057A -:1037600045EA900007F08005169F40EA056007F0E3 -:103770008005159FED0545EA900007F08005149F30 -:1037800040EA056007F08005139FED0545EA9000CB -:1037900007F08005129F40EA056007F08005119F41 -:1037A000ED0545EA900007F08005109F40EA0560AE -:1037B00007F080050F9FED0545EA900007F08005B2 -:1037C0000E9F40EA056007F080050D9FED0545EA74 -:1037D000900007F080050C9F40EA056007F0800527 -:1037E0000B9FED0545EA900007F080050A9F40EA2F -:1037F000056007F08005099FED0545EA900007F098 -:103800008005089F40EA056007F08005079FED05E9 -:1038100045EA900007F08005069F40EA056007F042 -:103820008005059FED0545EA900007F08005049F9F -:1038300040EA056007F08005039FED0545EA90002A -:1038400007F08005029F40EA056007F08006F60554 -:1038500046EA90000EF0800740EA07600860D7E66D -:1038600070B5002808BF70BD46F2002240F64C0437 -:103870000023C4F20F024FF4007C4FF4805EC1F2CB -:103880000004002516E000BFEE074FF0040608BF55 -:10389000842642F806C0C2F880E06668761EFDD134 -:1038A000C2F800E066680138761EFDD16D08A3F10C -:1038B000010328B1002BE7D111F8015B0823E3E7EE -:1038C00070BD00BF2DE9F04110F03F0C08BF4FF074 -:1038D000400C000646F28410C4F20F0026D440F6D5 -:1038E0004C034FF4805EC1F2000304E0BCEB060C15 -:1038F00008BFBDE8F08111F8012BACF101040025EF -:1039000056020660C0F8FCE05E68761EFDD1C0F885 -:103910007CE05E68761EFDD1AC4205F10106E5D083 -:103920005208072D3546EBD1E0E700BF40F64C03C7 -:103930004FF48058C1F200036FF07F0E09E000BF22 -:10394000C7F1080125FA01F1BCEB070C02F8011BD5 -:103950001CD0ACF101040026002500BFC0F8FC809B -:103960005F687F1EFDD10768C0F87C805968491EDA -:10397000FDD10EEA970141EA5505B44206F101076F -:10398000DED0072E3E46E9D1DAE700BFBDE8F08180 -:103990002DE9F04740F64C09C1F2000999F80130D1 -:1039A00046F2002A4FF6FC7C4FF6FE78C4F20F0A6E -:1039B000C0F2FF1CC0F2FF084FF400754FF48054B2 -:1039C000002B4AF87C5CCAF8804000F0A5804302D6 -:1039D000CAF800404AF87C3C43085B02CAF88040C1 -:1039E000CAF800404AF87C3C00EB50038608760297 -:1039F00003EB9003CAF88040CAF800404AF87C6C98 -:103A0000C60803EBD00376025B02CAF88040CAF80E -:103A100000404AF87C6CCAF88040CAF800404AF876 -:103A20007C3C0023CAF88040CAF800404AF87C3C3D -:103A30004FF48073CAF88040CAF800404AF87C5CB2 -:103A4000CAF88040CAF80040CAF8843099F818E0F3 -:103A5000BEF1000F2ED0AEF101051EF00303744637 -:103A600011D04FF48056012B2C46CAF88060CAF85A -:103A7000006008D0022BCAF88060CAF8006040F0ED -:103A8000A385AEF10204032D14D34FF4805300BF7D -:103A9000043CCAF88030CAF80030CAF88030CAF84E -:103AA0000030CAF88030CAF80030CAF88030CAF84E -:103AB0000030EDD14FF48053CAF880305AF87C4C76 -:103AC000CAF80030CAF880305AF87C5CCAF8003076 -:103AD000CAF880305AF87C6C08EA152545EA542467 -:103AE0000CEAD61644EA060CBCF1040FCAF8003002 -:103AF00018BFBCF1020F40F0278499F8191010F09C -:103B0000020018BF002940F04584BEF1000F40F0CC -:103B1000CB8400F01FBE00BFD9F80420521EFDD197 -:103B2000CAF80040D9F80420521EFDD142024AF8DA -:103B30007C2CCAF88040D9F80420521EFDD1CAF866 -:103B40000040D9F80420521EFDD1420852024AF822 -:103B50007C2CCAF88040D9F80420521EFDD1CAF846 -:103B60000040D9F80420521EFDD1820852024AF8C2 -:103B70007C2CCAF88040D9F80420521EFDD1CAF826 -:103B80000040D9F80420521EFDD1C20852024AF862 -:103B90007C2CCAF88040D9F80420521EFDD1CAF806 -:103BA000004000EB5003D9F8042003EB9003521EB1 -:103BB000FDD103EBD00252024AF87C2CCAF88040B7 -:103BC000D9F80420521EFDD1CAF80040D9F80420CB -:103BD000521EFDD100224AF87C2CCAF88040D9F848 -:103BE0000420521EFDD1CAF80040D9F80420521E0C -:103BF000FDD14AF87C5CCAF88040D9F80420521EF6 -:103C0000FDD1CAF80040D9F80420521EFDD14FF46E -:103C10008072CAF8842099F818307BB14FF480552F -:103C2000CAF88050D9F80420521EFDD1CAF80050BD -:103C3000D9F80420521EFDD1013BF1D14FF480523E -:103C4000CAF88020D9F804305B1EFDD15AF87C3CBC -:103C5000CAF80020D9F80440641EFDD1CAF88020BB -:103C6000D9F80440641EFDD15AF87C7CCAF80020C3 -:103C7000D9F80440641EFDD1CAF88020D9F8044068 -:103C8000641EFDD15AF87C6CCAF80020D9F80420D3 -:103C900008EA1727521EFDD147EA53230CEAD61231 -:103CA00043EA020CBCF1040F18BFBCF1020F40F054 -:103CB000178410F0020000F0938199F81910002980 -:103CC00000F08E814FF48051CAF88010D9F804209A -:103CD000521EFDD1CAF80010D9F80420521EFDD1A1 -:103CE000CAF88010D9F80420521EFDD1CAF800107D -:103CF000D9F80420521EFDD1CAF88010D9F804204A -:103D0000521EFDD1CAF80010D9F80420521EFDD170 -:103D1000CAF88010D9F80420521EFDD1CAF800104C -:103D2000D9F80420521EFDD1CAF88010D9F8042019 -:103D3000521EFDD1CAF80010D9F80420521EFDD140 -:103D4000CAF88010D9F80420521EFDD1CAF800101C -:103D5000D9F80420521EFDD1CAF88010D9F80420E9 -:103D6000521EFDD1CAF80010D9F80420521EFDD110 -:103D7000CAF88010D9F80420521EFDD1CAF80010EC -:103D8000D9F80420521EFDD1CAF88010D9F80420B9 -:103D9000521EFDD1CAF80010D9F80420521EFDD1E0 -:103DA000CAF88010D9F80420521EFDD1CAF80010BC -:103DB000D9F80420521EFDD1CAF88010D9F8042089 -:103DC000521EFDD1CAF80010D9F80420521EFDD1B0 -:103DD000CAF88010D9F80420521EFDD1CAF800108C -:103DE000D9F80420521EFDD1CAF88010D9F8042059 -:103DF000521EFDD1CAF80010D9F80420521EFDD180 -:103E0000CAF88010D9F80420521EFDD1CAF800105B -:103E1000D9F80420521EFDD1CAF88010D9F8042028 -:103E2000521EFDD1CAF80010D9F80420521EFDD14F -:103E3000CAF88010D9F80420521EFDD1CAF800102B -:103E4000D9F80420521EFDD1CAF88010D9F80420F8 -:103E5000521EFDD1CAF80010D9F80420521EFDD11F -:103E6000CAF88010D9F80420521EFDD1CAF80010FB -:103E7000D9F80420521EFDD1CAF88010D9F80420C8 -:103E8000521EFDD1CAF80010D9F80420521EFDD1EF -:103E9000CAF88010D9F80420521EFDD1CAF80010CB -:103EA000D9F80420521EFDD1CAF88010D9F8042098 -:103EB000521EFDD1CAF80010D9F80420521EFDD1BF -:103EC000CAF88010D9F80420521EFDD1CAF800109B -:103ED000D9F80420521EFDD1CAF88010D9F8042068 -:103EE000521EFDD1CAF80010D9F80420521EFDD18F -:103EF000CAF88010D9F80420521EFDD1CAF800106B -:103F0000D9F80420521EFDD1CAF88010D9F8042037 -:103F1000521EFDD1CAF80010D9F80420521EFDD15E -:103F2000CAF88010D9F80420521EFDD1CAF800103A -:103F3000D9F80420521EFDD1CAF88010D9F8042007 -:103F4000521EFDD1CAF80010D9F80420521EFDD12E -:103F5000CAF88010D9F80420521EFDD1CAF800100A -:103F6000D9F80420521EFDD1CAF88010D9F80420D7 -:103F7000521EFDD1CAF80010D9F80420521EFDD1FE -:103F8000CAF88010D9F80420521EFDD1CAF80010DA -:103F9000D9F80420521EFDD1CAF88010D9F80420A7 -:103FA000521EFDD1CAF80010D9F80420521EFDD1CE -:103FB000CAF88010D9F80420521EFDD1CAF80010AA -:103FC000D9F80420521EFDD1CAF88010D9F8042077 -:103FD000521EFDD1CAF80010D9F80410491EFDD1B7 -:103FE00099F8181081B14FF4805300BFCAF880309F -:103FF000D9F80420521EFDD1CAF80030D9F80420A7 -:10400000521EFDD10139F1D14FF480710028CAF858 -:10401000041040F0B78699F81900002800F0B28625 -:1040200000204AF87C0C4FF48050CAF88000D9F880 -:104030000410491EFDD1CAF80000D9F80410491E29 -:10404000FDD1CAF88000D9F80410491EFDD1CAF884 -:104050000000D9F80410491EFDD1CAF88000D9F833 -:104060000410491EFDD1CAF80000D9F80410491EF9 -:10407000FDD1CAF88000D9F80410491EFDD1CAF854 -:104080000000D9F80410491EFDD1CAF88000D9F803 -:104090000410491EFDD1CAF80000D9F80410491EC9 -:1040A000FDD1CAF88000D9F80410491EFDD1CAF824 -:1040B0000000D9F80410491EFDD1CAF88000D9F8D3 -:1040C0000410491EFDD1CAF80000D9F80410491E99 -:1040D000FDD1CAF88000D9F80410491EFDD1CAF8F4 -:1040E0000000D9F80410491EFDD1CAF88000D9F8A3 -:1040F0000410491EFDD1CAF80000D9F80410491E69 -:10410000FDD1CAF88000D9F80410491EFDD1CAF8C3 -:104110000000D9F80410491EFDD1CAF88000D9F872 -:104120000410491EFDD1CAF80000D9F80410491E38 -:10413000FDD1CAF88000D9F80410491EFDD1CAF893 -:104140000000D9F80410491EFDD1CAF88000D9F842 -:104150000410491EFDD1CAF80000D9F80410491E08 -:10416000FDD1CAF88000D9F80410491EFDD1CAF863 -:104170000000D9F80410491EFDD1CAF88000D9F812 -:104180000410491EFDD1CAF80000D9F80410491ED8 -:10419000FDD1CAF88000D9F80410491EFDD1CAF833 -:1041A0000000D9F80410491EFDD1CAF88000D9F8E2 -:1041B0000410491EFDD1CAF80000D9F80410491EA8 -:1041C000FDD1CAF88000D9F80410491EFDD1CAF803 -:1041D0000000D9F80410491EFDD1CAF88000D9F8B2 -:1041E0000410491EFDD1CAF80000D9F80410491E78 -:1041F000FDD1CAF88000D9F80410491EFDD1CAF8D3 -:104200000000D9F80410491EFDD1CAF88000D9F881 -:104210000410491EFDD1CAF80000D9F80410491E47 -:10422000FDD1CAF88000D9F80410491EFDD1CAF8A2 -:104230000000D9F80410491EFDD1CAF88000D9F851 -:104240000410491EFDD1CAF80000D9F80410491E17 -:10425000FDD1CAF88000D9F80410491EFDD1CAF872 -:104260000000D9F80410491EFDD1CAF88000D9F821 -:104270000410491EFDD1CAF80000D9F80410491EE7 -:10428000FDD1CAF88000D9F80410491EFDD1CAF842 -:104290000000D9F80410491EFDD1CAF88000D9F8F1 -:1042A0000410491EFDD1CAF80000D9F80410491EB7 -:1042B000FDD1CAF88000D9F80410491EFDD1CAF812 -:1042C0000000D9F80410491EFDD1CAF88000D9F8C1 -:1042D0000410491EFDD1CAF80000D9F80410491E87 -:1042E000FDD1CAF88000D9F80410491EFDD1CAF8E2 -:1042F0000000D9F80410491EFDD1CAF88000D9F891 -:104300000410491EFDD1CAF80000D9F80410491E56 -:10431000FDD1CAF88000D9F80410491EFDD1CAF8B1 -:104320000000D9F80410491EFDD1CAF88000D9F860 -:104330000410491EFDD1CAF80000D9F80400401E3F -:10434000FDD100F01FBD00BFBCF1010F40F0148192 -:10435000830700F14781BEF1000F00F05983AEF1F1 -:1043600001051EF00303764600F03C834FF48054B1 -:10437000012B2E46CAF88040CAF8004000F0328374 -:10438000022BCAF88040CAF8004040F02383AEF107 -:10439000020627E34FF48053CAF88030CAF8003091 -:1043A000CAF88030CAF80030CAF88030CAF8003045 -:1043B000CAF88030CAF80030CAF88030CAF8003035 -:1043C000CAF88030CAF80030CAF88030CAF8003025 -:1043D000CAF88030CAF80030CAF88030CAF8003015 -:1043E000CAF88030CAF80030CAF88030CAF8003005 -:1043F000CAF88030CAF80030CAF88030CAF80030F5 -:10440000CAF88030CAF80030CAF88030CAF80030E4 -:10441000CAF88030CAF80030CAF88030CAF80030D4 -:10442000CAF88030CAF80030CAF88030CAF80030C4 -:10443000CAF88030CAF80030CAF88030CAF80030B4 -:10444000CAF88030CAF80030CAF88030CAF80030A4 -:10445000CAF88030CAF80030CAF88030CAF8003094 -:10446000CAF88030CAF80030CAF88030CAF8003084 -:10447000CAF88030CAF80030CAF88030CAF8003074 -:10448000CAF88030CAF80030CAF88030CAF8003064 -:10449000CAF88030CAF80030CAF88030CAF8003054 -:1044A000BEF1000F00F05681AEF101041EF00305CD -:1044B000734600F039814FF48056012D2346CAF827 -:1044C0008060CAF8006000F02F81022DCAF8806079 -:1044D000CAF8006040F02081AEF1020324E100BF81 -:1044E000BCF1010F40F05A80820700F1D98199F8A0 -:1044F00018307BB14FF48056CAF88060D9F8042098 -:10450000521EFDD1CAF80060D9F80420521EFDD118 -:10451000013BF1D14FF48072CAF804200B680021EE -:104520006FF01F064FF480555A024AF87C2CCAF8E7 -:104530008050D9F80420521EFDD1CAF80050D9F895 -:104540000420521EFDD1194401364FEA5303EBD328 -:1045500049024AF87C1C4FF48051CAF88010D9F8FF -:104560000420521EFDD1CAF80010D9F804104FF0F3 -:10457000010C491EFDD1E1E10EF1210010F0030113 -:1045800000F008824FF480500129CAF88000CAF870 -:10459000000040F07B810EF12000FBE199F818004B -:1045A0004FF48051213000BFCAF88010D9F80420A0 -:1045B000521EFDD1CAF80010D9F80420521EFDD1B8 -:1045C0000138F1D1FAE100BF4FF48052CAF88020DF -:1045D000CAF80020AEF10304032DBFF456AAFFF77A -:1045E00069BA00BF00236FF01F064FF48055002406 -:1045F000CAF880505AF87C7CCAF80050CAF880503B -:104600007A0A03EB57235AF87C7CD20742EA540219 -:104610007C0ACAF80050CAF8805003EB5723E7071A -:104620005AF87C4CCAF80050CAF8805047EA520247 -:10463000670A03EB54235AF87C4CFF07CAF8005072 -:10464000CAF8805047EA5202670A03EB54235AF82B -:104650007C4CFF07CAF80050CAF8805047EA520263 -:10466000670A03EB54235AF87C4CFF07CAF8005042 -:10467000CAF8805047EA5202670A03EB54235AF8FB -:104680007C4CFF07CAF80050CAF8805047EA520233 -:10469000670A03EB54235AF87C4CFF0747EA52029F -:1046A000670AFF0703EB5423083647EA5204CAF8A7 -:1046B00000509DD14FF48052CAF880205AF87C7C7B -:1046C0004FF0080C83EA5723DB0708BF4FF0010CBB -:1046D0000029CAF8002018BF0C60BEF1000F00F0DE -:1046E0000783AEF101041EF00303714600F0EA8275 -:1046F0004FF48055012B2146CAF88050CAF800506B -:1047000000F0E082022BCAF88050CAF8005040F056 -:10471000D182AEF10201D5E24FF48052CAF8802076 -:10472000CAF80020AEF10303032C13D34FF48057D3 -:10473000043BCAF88070CAF80070CAF88070CAF8E2 -:104740000070CAF88070CAF80070CAF88070CAF8A1 -:104750000070EDD14FF480720028CAF8042040F0B8 -:104760001183002900F00E8300204AF87C0C4FF4DE -:104770008050CAF88000CAF80000CAF88000CAF861 -:104780000000CAF88000CAF80000CAF88000CAF821 -:104790000000CAF88000CAF80000CAF88000CAF811 -:1047A0000000CAF88000CAF80000CAF88000CAF801 -:1047B0000000CAF88000CAF80000CAF88000CAF8F1 -:1047C0000000CAF88000CAF80000CAF88000CAF8E1 -:1047D0000000CAF88000CAF80000CAF88000CAF8D1 -:1047E0000000CAF88000CAF80000CAF88000CAF8C1 -:1047F0000000CAF88000CAF80000CAF88000CAF8B1 -:104800000000CAF88000CAF80000CAF88000CAF8A0 -:104810000000CAF88000CAF80000CAF88000CAF890 -:104820000000CAF88000CAF80000CAF88000CAF880 -:104830000000CAF88000CAF80000CAF88000CAF870 -:104840000000CAF88000CAF80000CAF88000CAF860 -:104850000000CAF88000CAF80000CAF88000CAF850 -:104860000000CAF88000CAF80000CAF88000CAF840 -:104870000000CAF88000CAF800004FF400715FFA27 -:104880008CF04AF87C1CBDE8F08700BF0229CAF80A -:104890008000CAF8000040F075800EF11F0079E03A -:1048A00000256FF01F034FF4805C0026CAF880C01B -:1048B000D9F80420521EFDD15AF87C2CCAF800C049 -:1048C000D9F80470540A7F1EFDD105EB5225E2078A -:1048D000013342EA5606E9D34FF48052CAF88020E9 -:1048E000D9F804305B1EFDD15AF87C3CCAF8002090 -:1048F000D9F80420521EFDD185EA5322D2074FF089 -:10490000080C08BF4FF0010C002918BF0E6099F881 -:10491000181079B14FF48053CAF88030D9F80420C8 -:10492000521EFDD1CAF80030D9F80420521EFDD124 -:104930000139F1D14FF48071CAF80410000606D590 -:1049400041F20400CEF200000068C9F8080099F8AE -:104950000C00002800F0168200214AF87C1C4FF45D -:10496000805100BFCAF88010D9F80420521EFDD132 -:10497000CAF80010D9F80420521EFDD10138F1D137 -:1049800000E200BF4FF48050CAF88000CAF800006F -:104990000EF11E004FF480510438CAF88010CAF896 -:1049A0000010CAF88010CAF80010CAF88010CAF8BF -:1049B0000010CAF88010CAF80010EDD14FF48070D2 -:1049C000CAF804004FF400715FFA8CF04AF87C1CBE -:1049D000BDE8F0874FF48052CAF88020CAF8002062 -:1049E000AEF10306032D13D34FF48053043ECAF8EF -:1049F0008030CAF80030CAF88030CAF80030CAF8EF -:104A00008030CAF80030CAF88030CAF80030EDD1E2 -:104A10004FF48072CAF804200C684FF0010C610258 -:104A20006208A3084AF87C1C4FF4805152025B02D2 -:104A3000CAF88010CAF800104AF87C2CCAF8801016 -:104A4000CAF800104AF87C3CE3085B02CAF8801000 -:104A5000CAF800104AF87C3C23095B02CAF88010AF -:104A6000CAF800104AF87C3C63095B02CAF880105F -:104A7000CAF800104AF87C3CA3095B02CAF880100F -:104A8000CAF800104AF87C3CE3095B02CAF88010BF -:104A9000CAF800104AF87C3C230A5B02CAF880106E -:104AA000CAF800104AF87C3C40F2FF1324EA0303E2 -:104AB000CAF88010CAF800104AF87C3CA30A5B02CE -:104AC000CAF88010CAF800104AF87C3CE30A5B027E -:104AD000CAF88010CAF800104AF87C3C230B5B022D -:104AE000CAF88010CAF800104AF87C3C630B5B02DD -:104AF000CAF88010CAF800104AF87C3CA30B5B028D -:104B0000CAF88010CAF800104AF87C3CE30B5B023C -:104B100004EB5402CAF88010CAF800104AF87C3C32 -:104B2000230C02EB94025B0202EBD402CAF8801061 -:104B3000CAF800104AF87C3C630C02EB14125B02CA -:104B400002EB5412CAF88010CAF800104AF87C3CF4 -:104B5000A30C02EB94125B0202EBD412CAF8801091 -:104B6000CAF800104AF87C3CE30C02EB14225B020A -:104B700002EB5422CAF88010CAF800104AF87C3CB4 -:104B8000230D02EB94225B0202EBD422CAF88010C0 -:104B9000CAF800104AF87C3C630D02EB14325B0249 -:104BA00002EB5432CAF88010CAF800104AF87C3C74 -:104BB000A30D02EB94325B0202EBD432CAF88010F0 -:104BC000CAF800104AF87C3CE30D02EB14425B0289 -:104BD00002EB5442CAF88010CAF800104AF87C3C34 -:104BE000230E02EB94425B0202EBD442CAF880101F -:104BF000CAF800104AF87C3C630E02EB14525B02C8 -:104C000002EB5452CAF88010CAF800104AF87C3CF3 -:104C1000A30E02EB94525B0202EBD452CAF880104E -:104C2000CAF800104AF87C3CE30E02EB14625B0207 -:104C300002EB5462CAF88010CAF800104AF87C3CB3 -:104C4000230F02EB94625B02CAF88010CAF80010CE -:104C500002EBD4624AF87C3C630F02EB14725B02F5 -:104C6000CAF88010CAF800104AF87C3C02EB547273 -:104C7000A30F5B0202EB9472CAF88010CAF800100E -:104C80004AF87C3CE30F02EBD4725B025202CAF892 -:104C90008010CAF800104AF87C3CCAF88010CAF8A4 -:104CA00000104AF87C2CCAF88010CAF800100006E0 -:104CB00024D42AE04FF48051CAF88010CAF80010BA -:104CC000AEF10301032C13D34FF480530439CAF817 -:104CD0008030CAF80030CAF88030CAF80030CAF80C -:104CE0008030CAF80030CAF88030CAF80030EDD100 -:104CF0004FF48071CAF80410000606D541F2040092 -:104D0000CEF200000068C9F8080099F80C30CBB367 -:104D100000204AF87C0C13F00307A3F1010011D026 -:104D20004FF48056012F0146CAF88060CAF800602F -:104D300011D0022FCAF88060CAF8006004D1991E11 -:104D400009E000BF194606E04FF48051CAF8801010 -:104D5000CAF80010D91E032814D34FF4805000BFA6 -:104D60000439CAF88000CAF80000CAF88000CAF8FE -:104D70000000CAF88000CAF80000CAF88000CAF82B -:104D80000000EDD14FF400715FFA8CF04AF87C1C02 -:104D9000BDE8F08770B540F69001C1F20001002235 -:104DA0000A70A8B14FF68804C1F20044A16844F625 -:104DB000F550C1F20040884700281CBF002070BD9C -:104DC00021690220884798B1E0688047002070BDC3 -:104DD0004FF68800C1F20040866AD0E903451620EC -:104DE0000021B04719200021B0470020A847A04764 -:104DF000012070BDF0B581B040F6900504468007F3 -:104E0000C1F2000539D541F20400CEF2000000687D -:104E100028626E69E8682969084400F03F01871B31 -:104E200001F5FE529742E860E86103D903206870FB -:104E300010E000BF4FF68802C1F2004240F699131D -:104E40006FF35F309269C1F20003C1F14001184471 -:104E50002961904701202871A87802280DD16FF3AD -:104E60005F26C6F50070874207D340F60400C1F202 -:104E700000000068012106F0DDFBA00605D5A87939 -:104E80002844C17941F08001C17114F4607F05D0DC -:104E9000A8792844C17941F04001C17101B0F0BD49 -:104EA0002DE9F04149F2806440F69006C0F2980482 -:104EB000C1F200064FF68808A04238BF0446707859 -:104EC000C1F20048D8F82850C00710D016200021A1 -:104ED000A847D8F82C008047800708D5D8F82400C8 -:104EE0008047F1680844F06019200021A84701209C -:104EF00021460127A84728B1002420463470BDE888 -:104F0000F08100BF70783770C10714D080070FD4CC -:104F1000F06840F6991300F03F016FF35F30D8F866 -:104F20001820C1F20003C1F14001184431619047DB -:104F300016200121A8472046BDE8F08170B5B8B120 -:104F400040F69000C1F20000017801290DD14FF622 -:104F500088040121C1F20044A269016140F6991060 -:104F6000C1F2000001219047E0B1002070BD00BFF8 -:104F70004FF68805C1F20045D5E90A461620002102 -:104F8000A047B047800715D5686A804740F6900172 -:104F9000C1F20001CA681044C86019200021A0476E -:104FA00008E000BFA26A16200121904700281CBF1C -:104FB000002070BD012070BD4FF68803C1F2004390 -:104FC00040F690029B69C1F200021161184700BFD0 -:104FD00010B54FF68804C1F20044E06A80478007AC -:104FE0005CBF002010BD606ABDE81040004700BFF4 -:104FF00040F69002C1F200025378DB070AD1007834 -:1050000002289ABF90700022FF224FF001100A7010 -:10501000704700BFFF224FF001100A70704700BFB9 -:10502000F0B581B040F69005C1F20005EA78077846 -:10503000012A0C4602D10020FFF7ACFE4FF000061B -:1050400067B1012F06D101200127FFF7A3FE08B1A8 -:10505000002105E0FF21002702E000BF002700211A -:10506000EF706E704FF00110217001B0F0BD00BF05 -:10507000B0B540F69005C1F20005EA780C46012A69 -:1050800008D10068FFF70CFF014618B14FF004107B -:105090002160B0BD002169704FF004102160B0BDE7 -:1050A00070B540F69006C1F200060078727800F004 -:1050B000010502F0010085420C4605D100214FF0A8 -:1050C0000110217070BD00BF7DB1B078022805D1FC -:1050D000707918B1FBF7CEF90020707100203072A2 -:1050E000F080F0607061F0613062F078012815D1D5 -:1050F0002846FFF723FF88B1B07875700228DDD10C -:1051000040F60400C1F200000068012106F092FAA6 -:1051100000214FF00110217070BD00BFFF214FF042 -:105120000110217070BD00BF2DE9F04381B040F641 -:105130009007C1F200070446B87997F8019080F013 -:105140000101384490F80780B9710021B9F1010FCD -:10515000C17113D1F878012814D10120002500BFB6 -:105160003D71F9687A690128A1EB020602D1FFF7C7 -:105170002FFF06443879E8B1F878F1E7F8687969E3 -:10518000461A17E0002000BF3871F9687A693B7948 -:105190007BB13871F9687A693B7953B13871F96834 -:1051A0007A693B792BB13871F9687A693B79002BC0 -:1051B000EAD18E1A48EA09002070300AA070300C3B -:1051C000310E6670E0700520217101B0BDE8F083FA -:1051D0002DE9F04790F800A088464FF000095FEAFB -:1051E000CA700E460AD15FEA8A701ED45FEA4A701E -:1051F00060D409F58030BDE8F08700BF40F690002C -:10520000C1F200008179427881F001030144CF7935 -:10521000837147EA0200464681F8079006F8010BC1 -:105220004FF001095FEA8A70E0D540F69004C1F2C0 -:1052300000046078012813D1E078012814D10120FE -:10524000002500BF2571E16862690128A1EB020712 -:1052500002D1FFF7BDFE07442079E8B1E078F1E71D -:10526000E0686169471A17E0002000BF2071E1681B -:10527000626923797BB12071E1686269237953B156 -:105280002071E168626923792BB12071E16862695C -:105290002379002BEAD18F1A380A08F80970707048 -:1052A000380CB070380EF070043609F104095FEA6A -:1052B0004A709ED540F69001C1F20001002200BF65 -:1052C0000A71CB69086A0F797FB10A71CB69086AE4 -:1052D0000F7957B10A71CB69086A0F792FB10A713A -:1052E000CB69086A0F79002FEAD1190A7170190C7D -:1052F000B170190EF170010A30717171010C000E5C -:1053000009F104093370B171F07109F58030BDE81D -:10531000F08700BF2DE9F04381B040F69006C1F25E -:1053200000068046B0790C4680F001023044717866 -:10533000C379B27143EA010900220129C27113D174 -:10534000F078012824D10120002700BF3771F168CF -:1053500072690128A1EB020502D1FFF739FE05446D -:10536000307920B1F078F1E7F0687169451AB078CA -:105370005FFA89F1012828D1B8F80070B7F5FE7FEF -:1053800028BF4FF4FE77BD4298BF2F461EE000BFF6 -:10539000002000BF3071F168726933797BB13071E0 -:1053A000F1687269337953B13071F1687269337998 -:1053B0002BB13071F16872693379002BEAD18D1A03 -:1053C000B0785FFA89F10128D6D000272170390A18 -:1053D00001286770A17075D1D6F81480002F55D0C0 -:1053E00040F69911A7F1010E17F00305C1F2000173 -:1053F0000ED043466FF35F33581CCB5C012DE37036 -:105400000ED104F1040C7546BEF1030F23D23DE02A -:1054100004F1030C40463D46BEF1030F1BD235E0BC -:105420006FF35F30431C085C022D207108D104F13A -:10543000050CBD1E1846BEF1030F0CD226E000BFBE -:105440006FF35F33CA5C581C04F1060C6271FD1ED9 -:10545000BEF1030F1AD3ACF1040300BF02466FF391 -:105460005F328A5C441C03F8042F6FF35F340A5DDB -:10547000841C5A706FF35F340A5DC41C9A706FF31A -:105480005F340A5D601C043DDA70E7D108EB070069 -:1054900070617078032815D1F06871690022411A93 -:1054A000B2EB513F0ED1F17801290BD1012171707E -:1054B00040F699116FF35F30C1F2000108440121F9 -:1054C000FFF77AFDF81C40F4003001B0BDE8F0832E -:1054D00080B540F69000C1F2000081694269114434 -:1054E0000022416142714178032914D1C1684369A6 -:1054F000CB1AB2EB533F0ED1C278012A0BD1012255 -:10550000427040F699106FF35F31C1F20000084419 -:105510000121FFF751FD40F60400C1F200000068D0 -:105520000121BDE8804006F085B800BF40F6900537 -:1055300040F6991A4FF0FF344FF001080027C1F2EE -:105540000005C1F2000A15E0696908466FF35F3093 -:10555000C0F50052964288BF164619F1020218BFE4 -:10556000BBF1000F48D150443146AE6185F805804B -:10557000FAF77AFF01200021224606F087F86978C1 -:105580006A7911F0010B4FF0320408BF4FF0FF347D -:10559000002AEFD18146012928D1E87801280FD1CE -:1055A000012000BF2F71E9686A690128A1EB02069A -:1055B00002D1FFF70DFD06442879D0B1E878F1E774 -:1055C0002F71E86869692A7992B12F71E868696971 -:1055D0002A796AB12F71E86869692A7942B12F7115 -:1055E000E86869692A79002AEAD101E0E86869690E -:1055F000461A002EA8D1BDE76FF35F2131B1C1F586 -:1056000000718E420E46B5D3ADE700BF16F4785652 -:10561000A9D1AFE72DE9F04700780C46022817D052 -:10562000012841D0002840F0028140F22C06C1F24E -:105630000006307802284BD0012800F08180002835 -:105640000CBF0025FF254FF001102570BDE8F08745 -:1056500040F22C05C1F200052878022800F0A18054 -:10566000012877D0002840F0E28040F6B4004FF6E1 -:105670005006C1F200000021C1F200460170017124 -:105680004180417041718171016141618160C160FE -:10569000B268816145F62550C1F20040904700286C -:1056A00040F0C58076E000BF40F22C05C1F2000555 -:1056B000287802287CD0012873D0002840F0B780D9 -:1056C00001200126FAF7DAFE002840F0B08067E0FA -:1056D00040F6B40AC1F2000A9AF803004FF65008E7 -:1056E0000128C1F200480BD1D8F82850162000211B -:1056F0004FF00009A84719200021A8478AF8039015 -:105700009AF8040001280DD1D8F82850182000215B -:105710004FF00009A84715200021A8478AF80290F9 -:105720008AF80490D8E90371002500208AF8005017 -:105730008847B84735704FF001102570BDE8F087F5 -:1057400000200025FAF79AFE35704FF00110257001 -:10575000BDE8F08700200027FAF790FE40F6B4007D -:105760004FF65006C1F20000C1F200462F700770DC -:10577000077147804770477187710761476187608C -:10578000C760B168876145F62550C1F2004088477F -:1057900000284CD13169022002268847002846D1D2 -:1057A0002E7000254FF001102570BDE8F08700BF76 -:1057B00040F6B409C1F2000999F8030001280ED19E -:1057C0004FF65000C1F20040876A162000214FF0CA -:1057D0000008B84719200021B84789F8038099F8D4 -:1057E0000400012810D14FF65000C1F20040876A32 -:1057F000182000214FF00008B84715200021B847B5 -:1058000089F8028089F804804FF65000C1F2004008 -:10581000D0E903610027002089F800708847B0476D -:1058200001202F700126FAF729FE0028B8D0FF25A5 -:105830004FF001102570BDE8F08700BFB0B540F211 -:105840002C02C1F2000212780C46022A20D1017803 -:10585000D0F801504FF65000C1F20040826A41F08A -:10586000010029469047B8B140F6B40300F10B029D -:10587000C1F200030021032A197017D80020DFE8C5 -:1058800002F003191D1F00BF0421284618E000BFC5 -:105890000020072114E000BF40F6B400C1F2000070 -:1058A00001210170002128460AE000BF00200721E5 -:1058B00006E000BF0221284602E000BF0121284681 -:1058C0002170010AA170010C6070E170010E4FF0AF -:1058D00005102171B0BD00BF2DE9F04381B040F249 -:1058E0002C02C1F2000212788946022A06D10578FC -:1058F000A80705D4E8071BD100263DE0FF2695E068 -:1059000040F6B408C1F2000898F803000026012808 -:1059100032D14FF65000C1F20040876A16200021B4 -:10592000B84719200021B84788F8036024E000BF79 -:1059300040F6B407C1F20007387801281BD1F87887 -:105940000026C8B9BE60FE60B8684FF6500144F644 -:1059500008226FF39F20C1F20041C1F200021044FF -:105960008A698E6A20219047162001214FF0010894 -:10597000B04700287AD0FF2668071ED54FF650089A -:10598000C1F20048D8F828201920002100279047AC -:1059900040F6B400C1F200008760C760C1780129F9 -:1059A0000BD1806844F608216FF39F20D8F81820A7 -:1059B000C1F20001084420219047A8061CD4E80643 -:1059C00032D540F6B407C1F200073878012811D16A -:1059D000387948BB4FF65001C1F2004100208A6A75 -:1059E000B87038617861B861152001214FF0010865 -:1059F0009047B8B1FF2617E040F6B407C1F20007A0 -:105A00003879012810D14FF65000C1F20040846A65 -:105A1000182000214FF00008A04715200021A047C2 -:105A200087F8028087F80480680607D44FF00110D9 -:105A300089F8006001B0BDE8F08300BF4FF6500068 -:105A4000C1F20040826A182000210024904740F6ED -:105A5000B400C1F2000084700461446184614FF0BD -:105A6000011089F8006001B0BDE8F08387F8038079 -:105A700042E700BF2DE9F04140F22C01C1F20001E4 -:105A80000978044602294FF000083BD140F6B407DC -:105A9000C1F200073878012838D14FF65005C1F21D -:105AA0000045B868F9686A6A461A90470644B6F530 -:105AB000707F07D901207870B8684FF47076A0F530 -:105AC0007070F860386979692A6A451A90477A785F -:105AD000BB78F978002B18BF2D1A002A1EBF0020B2 -:105AE00078700231787900281EBF00207871043167 -:105AF000B87900281EBF0020B8710831387960F3EA -:105B0000041106E000260025002102E00026002501 -:105B10000021300AA070280AA071280C2170E071C1 -:105B2000290E09206670A4F8038065712172BDE812 -:105B3000F08100BF2DE9F04F81B040F22C02C1F29C -:105B4000000212788946022A3AD140F6B40AC1F21C -:105B5000000A80460588DAF80800DAF80C104FF6DB -:105B6000500BC1F2004B461ADBF82400B5F5FD7F5F -:105B700028BF4FF4FD7580473044B0F5707F0AD9D7 -:105B800001208AF80100DAF80800A0F57070CAF860 -:105B90000C004FF47070DAF80C1085426FF39F21FF -:105BA00088BF05464819B0F5806F09F105070BD885 -:105BB00044F60820C1F20000014438462A4611E0AC -:105BC00000260025002099E044F60824C1F58066EF -:105BD000C1F2000421443846324604F0BAFDB81937 -:105BE000AA1B214604F0B5FDDAF80C002844CAF8D7 -:105BF0000C00B8F80270DBF82000DAF81060DAF870 -:105C0000144008F10408B7F5FD7F88BF40F2FB1788 -:105C100080479AF802B0A11B01F58066BBF1000F26 -:105C200018BF0644DAF81000B7426FF39F2098BF00 -:105C30003E463118B1F5806F08D844F60861C1F2CC -:105C400000010844414632460FE000BF44F60864B4 -:105C5000C0F58067C1F20004204441463A4604F092 -:105C600078FD08EB0701F21B204604F072FDDAF81C -:105C70001000BBF1000F3044CAF8100020D1DAF850 -:105C80001000DAF81410411ADAF8140018D06FF383 -:105C90009F204218B2F5806F4FF0010288BFC0F517 -:105CA00080618AF802204FF65002C1F2004244F6A9 -:105CB00008635269C1F200031844CAF818109047EB -:105CC0009AF801109AF8030000291EBF00218AF8F3 -:105CD000011002309AF8051000291EBF00218AF831 -:105CE000051004309AF8061000291EBF00218AF81A -:105CF000061008309AF8041061F3041089F80000C7 -:105D0000300A89F80200290A301D6A1D89F80160ED -:105D100089F8035042EA004089F8041001B0BDE858 -:105D2000F08F00BF10B50446C00725D040F6B40080 -:105D3000C1F2000041698269114441610021817012 -:105D400001694269891A426916D06FF39F2253187C -:105D5000B3F5806F4FF0010388BFC2F580618161A8 -:105D600083704FF65000C1F20040436944F608606A -:105D7000C1F2000010449847A00713D4A00629D40C -:105D8000E00505D540F6B400C1F2000001214171E3 -:105D9000A00558BF10BD40F6B400C1F200000121BB -:105DA000817110BD40F6B400C1F20000816820315D -:105DB00081604FF650018068C1F200418A6944F663 -:105DC00008216FF39F20C1F2000108442021904771 -:105DD000A006D5D540F6B400C1F200000121417003 -:105DE000E005D5D5CEE70000FEE700BFFEE70000E6 -:105DF0002DE9F04F81B08946096C04460968C1F36A -:105E0000046003F00BFE0203010D1046224600233E -:105E10004FF0000B04F06CFCD9F8602092F83020B1 -:105E2000062A40F0C18099ED190A4FF6443EBDEEB6 -:105E3000C00A009410EE101A4FF0FF38C1F2004E65 -:105E400000244FF0000C4FF0000A04E01034B4F5C9 -:105E5000907F00F085813EF80420B0FBF2F3B3FBA5 -:105E6000F1F6BBEB164F21D1032E0EEB040303D248 -:105E7000022E1BD103260DE006FB02F5B5FBF1F760 -:105E80003D1A38BFC51B454503D293F802C0B24640 -:105E9000A84601367243B2FBF1F52A1A38BF421BFD -:105EA000424503D293F802C0B24690460EEB04037B -:105EB0009A88B0FBF2F5B5FBF1F6BBEB164F1FD19C -:105EC000032E03D2022E1BD103260DE006FB02F5A2 -:105ED000B5FBF1F73D1A38BFC51B454503D293F812 -:105EE00006C0B246A84601367243B2FBF1F52A1A43 -:105EF00038BF421B424503D293F806C0B2469046D3 -:105F00001A89B0FBF2F5B5FBF1F6BBEB164F1FD1CA -:105F1000032E03D2022E1BD103260DE006FB02F551 -:105F2000B5FBF1F73D1A38BFC51B454503D293F8C1 -:105F30000AC0B246A84601367243B2FBF1F52A1AEE -:105F400038BF421B424503D293F80AC0B24690467E -:105F50009A89B0FBF2F5B5FBF1F6BBEB164F7FF477 -:105F600075AF032E04D2022E7FF470AF03260DE02E -:105F700006FB02F5B5FBF1F73D1A38BFC51B4545D9 -:105F800003D293F80EC0B246A84601367243B2FB64 -:105F9000F1F52A1A38BF421B4245BFF457AF93F8B8 -:105FA0000EC0B246904651E74FF6FF7220EA020259 -:105FB000824209D1020C42EA014A002310214FF02B -:105FC000000C4FF00008CDE04FF6FF7BC0F20F0B46 -:105FD000ABF54D21884240F2F7804FF6443E002653 -:105FE0004FF0FF38C1F2004E4FF0000C00214FF08F -:105FF000000A009405E000BF1036B6F5907F00F06F -:10600000AF803EF80620B0FBF2F55D4524D82C09A0 -:106010001201302D0EEB060302D21F2D0DD81BE00E -:1060200002FB04F52F1A38BF02FB1407474504D2C0 -:1060300093F802C01021B846A246671C02FB07F481 -:10604000241A38BF02FB1704444505D293F802C056 -:106050001021BA46A04600BF0EEB06039A88B0FB9B -:10606000F2F55D4524D82C09302D4FEA021203D2F7 -:10607000202D0ED21CE000BF02FB04F52F1A38BF02 -:1060800002FB1407474504D293F806C01021B84616 -:10609000A246671C02FB07F4241A38BF02FB170450 -:1060A000444505D293F806C01021BA46A04600BF69 -:1060B0001A89B0FBF2F55D4524D82C09302D4FEA42 -:1060C000021203D2202D0ED21CE000BF02FB04F509 -:1060D0002F1A38BF02FB1407474504D293F80AC0B1 -:1060E0001021B846A246671C02FB07F4241A38BFE9 -:1060F00002FB1704444505D293F80AC01021BA46A2 -:10610000A04600BF9A89B0FBF2F55D453FF674AF3B -:106110002C09302D4FEA021204D2202DFFF46CAF6F -:106120000DE000BF02FB04F52F1A38BF02FB140775 -:10613000474504D293F80EC01021B846A246671C0A -:1061400002FB07F4241A38BF02FB17044445BFF4CE -:1061500053AF93F80EC01021BA46A0464CE700BFDB -:106160000023009C642208FB02F2B2FBF0F003283B -:1061700004D94FF0FF3001B0BDE8F08FD9F804002A -:10618000C26842F08002C2601FFA8AF2120A4260BC -:10619000D9F804005FFA8AF20260D9E90102C768FF -:1061A00027F08007C7605FFA8CF7876222B989B24F -:1061B00043EA01111039C162D9F86000C4620020BD -:1061C00001B0BDE8F08F00BFD9F808100029D0D188 -:1061D0004CF6CC41884205D9B0F5403F5ED90F213D -:1061E00097E000BF00944FF0FF3C4FF4504B4FF44A -:1061F0004A4E4FF0000A00270EF5C062ABEB0008D4 -:10620000824238BFA0EB0B08E0453ABF4FF0010ACD -:106210001746E0460EF580620021B1EB923F35D083 -:10622000ABF50075291A824238BF411B41454546EE -:10623000ABF58064A2F500733CBF17460D46261AE5 -:10624000834238BF061BAE422B46ABF5C064A2F5B5 -:10625000806B3CBF0EF500773346A4EB000C834502 -:1062600038BFA0EB040C414538BF4FF0010AAE42E5 -:1062700038BF4FF0010A9C453ABF4FF0010A7746FC -:106280009C46AEF5006EA2F5C06BB5E7BAB20E2320 -:10629000110B03EA12234FF0000C62E7B0F5343F14 -:1062A00002D90E2135E000BFB0F5283F02D90D21FB -:1062B0002FE000BFB0F5183F02D90C2129E000BF44 -:1062C000B0F50C3F02D90B2123E000BFB0F5003F31 -:1062D00002D90A211DE000BFB0F5E83F02D909212B -:1062E00017E000BFB0F5D03F02D9082111E000BF90 -:1062F000B0F5B83F02D907210BE000BFB0F5983FD9 -:1063000002D9062105E000BF0421B0F5803F88BF17 -:106310000521B0FBF1F2130500F0A8804FF6443ED2 -:10632000A34601EB410700264FF0FF38C1F2004EB3 -:106330004FF0000C00244FF0000A04E02436B6F5BC -:10634000907F00F08F803EF8063007FB03F2121AB0 -:1063500038BF07FB1302424507D20EEB060393F842 -:1063600002C04FF0030A0C4690460EEB06039D88D0 -:1063700007FB05F2121A38BF07FB1502424505D28A -:1063800093F806C04FF0030A0C4690461D8907FBA0 -:1063900005F2121A38BF07FB1502424505D293F8E1 -:1063A0000AC04FF0030A0C4690469D8907FB05F290 -:1063B000121A38BF07FB1502424505D293F80EC0EA -:1063C0004FF0030A0C4690461D8A07FB05F2121A8D -:1063D00038BF07FB1502424505D293F812C04FF0B3 -:1063E000030A0C4690469D8A07FB05F2121A38BF35 -:1063F00007FB1502424505D293F816C04FF0030A79 -:106400000C4690461D8B07FB05F2121A38BF07FB9E -:106410001502424505D293F81AC04FF0030A0C4604 -:1064200090469D8B07FB05F2121A38BF07FB150239 -:10643000424505D293F81EC04FF0030A0C46904621 -:106440001D8C07FB05F2121A38BF07FB15024245E7 -:10645000BFF474AF93F822C04FF0030A0C46904685 -:106460006CE700BFA2B221465C4606E04FEA123A52 -:106470004FF0000C0A464FF000080CF00F03CCF36D -:1064800003171FFA8AF63B4472435A43120392FBE6 -:10649000F7F73A0502D0002364E600BF4FF6F0722A -:1064A00017425DD048F68902C8F68802A7FB02238E -:1064B000DB081A0558D042F293437A08C9F24923FF -:1064C000A2FB03239B081A0550D04EF64F42C4F698 -:1064D000C462A7FB02239B081A0549D04AF6AB22E7 -:1064E000CAF6AA22A7FB0232D3081E0542D048F6FC -:1064F000A333CBF62E23A7FB0336F3081E053BD0B0 -:106500004CF6CD43CCF6CC43A7FB0336F3081D0570 -:1065100034D048F63963C3F6E303A7FB03356B08B1 -:106520001D052DD047F6F8731F422BD044F62513D6 -:10653000C2F29243A7FB03357B1B05EB53039B0879 -:106540001D0523D093081A0522D0B3081A0521D0BF -:1065500043F6FC7217429ED1BB0804211BE000BF2A -:106560003B09102117E000BF0F2114E00E2112E0BB -:106570000D2110E00C210EE00B210CE00A210AE0B5 -:10658000092108E0FB08082105E000BF072102E01F -:10659000062100E005214FEA133A00234FF0000CDA -:1065A000E0E500BF4FF62C10C1F2004000E000BF54 -:1065B00070B541688968CA076ED101F00E0CBCF154 -:1065C000020F40F09B80026E6FF00F01136A0BE028 -:1065D00092691A441278436804311A60026E136A91 -:1065E00003F10103136265D016699E4265D092F8EB -:1065F000306006F0FE06022E06D192F82760022EC9 -:1066000002D1243202E000BF92691A441278436832 -:106610001A60026E136A166901339E4213624CD0EF -:1066200092F8306006F0FE06022E05D192F827603F -:10663000022E01D1243201E092691A441278436893 -:106640001A60026E136A166901339E42136234D0D7 -:1066500092F8306006F0FE06022E05D192F827600F -:10666000022E01D1243201E092691A441278436863 -:106670001A60026E136A166901339E4213621CD0BF -:1066800092F8306006F0FE06022EA1D192F8276043 -:10669000022E9DD124329DE70021002908BF70BD44 -:1066A000006E026822B10846BDE87040104700BF86 -:1066B00070BD00BF1169994220D141684A6822F03B -:1066C00002024A60016E91F8302002F0FE02022AB6 -:1066D0004FF0000281F826207CD191F82720012A72 -:1066E0000CD191F83110012222EA1111BCF1040FF2 -:1066F00018BFBCF10C0F08D073E000BF0021BCF143 -:10670000040F18BFBCF10C0F6BD1426D4FF0010E9E -:106710004FEAB212032A9ABF7EA353F82230002315 -:106720004268002B546918BF14F0010400F0DA80AD -:106730005669B40718D40024750704D5056E04F50E -:10674000007485F808E0F50620D4056E360744BFCE -:1067500085F807E044F4807495F8306006F0FE0692 -:10676000022E1ED024E000BF046E94F8305084F84E -:1067700005E0032D2AD194F82640002C4FF0300478 -:1067800008BF20247507D9D4DDE700BF056E44F0AB -:10679000800485F806E095F8306006F0FE06022ECB -:1067A00006D195F82760012E02D1126805E000BFDE -:1067B00012686E69ED697255056EEA692143EC68ED -:1067C0000132013BA242EA61AAD13DE020247507D3 -:1067D000B9D5B3E70121BCF1040F18BFBCF10C0F10 -:1067E00093D0BCF1060F4CD1426853699A0701D48B -:1067F00000220EE0026E012592F830605571032EE2 -:1068000006D192F826603022002E08BF202200E038 -:1068100020225E0704D5066E012502F5007235724E -:10682000DE0609D41B0704D5036E012642F48072EC -:10683000DE71114331E700BF036E012642F0800292 -:106840009E71114329E700BF42680026536823F078 -:1068500001035360026E92F83030167103F0FE03AC -:10686000022B3DD192F8273082F82760032B4BD0C2 -:10687000022B35D0012B08BF41F00101BCF10C0FF8 -:1068800033D0BCF1000F7FF408AF8268002A3FF4D8 -:1068900004AF926990F90130DE060E4648BF46F417 -:1068A0008066D50708BF0E465906314648BF41F4F9 -:1068B00000619507857858BF3146EE070E4618BF30 -:1068C00046F40056550758BF0E461107314648BFDB -:1068D00041F48051B3F1FF3FC8BF3146DDE600BF50 -:1068E00041F00201BCF10C0FCBD1026E92F83030B6 -:1068F00003F0FE03022B3FF4D0AED368D2699A4274 -:1069000018BF41F04001C8E641F00401BCF10C0F92 -:10691000EBD0B6E701000000030000000700000014 -:106920000D00000040F20420C0F20E20704700BFAE -:106930002920704780B54FF62C11C1F2004100F0BC -:106940008DF9002080BD00BF80B54FF62C10C1F23C -:10695000004000F0FFF9002080BD00BF4FF62C1171 -:10696000C1F200416AE200BF4FF62C12C1F20042B0 -:10697000D0E300BF4FF62C12C1F2004200F06EBC13 -:10698000B0B5054600286FF0040018BF002901D1FA -:10699000B0BD00BF1446002AFAD042F69C10C1F2E6 -:1069A000000090F8312052071CD590F8302002F0FA -:1069B000FE02022A16D1032280F827204FF62C125D -:1069C000C1F200420846214600F048FC002818BFEA -:1069D000B0BD4FF62C12C1F2004228462146BDE858 -:1069E000B04097E34FF0FF30B0BD00BF42F69C10BF -:1069F000C1F20000006A704742F69C10C1F200002C -:106A0000C06970474FF62C12C1F2004200F090BCF2 -:106A100080B541F2140042F69C11C4F20800C1F2A4 -:106A2000000100680A794B79C0F3801C887902F074 -:106A3000010291F807E04CEA420203F0010342EA46 -:106A4000C30200F00100097A42EA00100EF00102D0 -:106A500001F0010140EA421040EA811080F001009B -:106A600080BD00BF42F69C10C1F2000090F83100DA -:106A700040076FF0030058BF4FF0FF30704700BF72 -:106A8000002070474FF6AC10C1F2004090E500BF07 -:106A9000012821D142F6D011C1F2000191F8302035 -:106AA000C86802F0FE02C8610020022A08710FD1F6 -:106AB00091F8272081F82700013AD3B2022B88BF32 -:106AC000704750B205A252F82000096821B108476A -:106AD000022009680029FAD1704700BF01000000B8 -:106AE00002000000040000000120704780B54FF64E -:106AF000AC11C1F2004100F0B1F8002080BD00BF30 -:106B000080B54FF6AC10C1F2004000F023F9002030 -:106B100080BD00BF4FF6AC11C1F200418EE100BF55 -:106B20004FF6AC12C1F20042F4E200BF4FF6AC12D5 -:106B3000C1F2004292E300BFB0B5054600286FF0F5 -:106B4000040018BF002901D1B0BD00BF1446002ABF -:106B5000FAD042F6D010C1F2000090F8312052076E -:106B60001CD590F8302002F0FE02022A16D1032232 -:106B700080F827204FF6AC12C1F2004208462146A9 -:106B800000F06CFB002818BFB0BD4FF6AC12C1F28C -:106B9000004228462146BDE8B040BBE24FF0FF303E -:106BA000B0BD00BF42F6D010C1F20000006A7047CD -:106BB000012002F057BA00BF4FF6AC12C1F20042FA -:106BC000B6E300BF80B542F2140042F6D011C4F221 -:106BD0000800C1F2000100680A794B79C0F3801CFB -:106BE000887902F0010291F807E04CEA420203F0D2 -:106BF000010342EAC30200F00100097A42EA0010F0 -:106C00000EF0010201F0010140EA421040EA811059 -:106C100080F0010080BD00BF42F6D011C1F200013A -:106C200091F8311049075CBF4FF0FF3070470021E9 -:106C3000042838BF6FF003010846704742F6D010B1 -:106C4000C1F2000090F83100400704D542F218006C -:106C5000C4F2080000680020704700BF10B50C4661 -:106C6000096E91F83120D20718BF10BD002281F8BB -:106C7000262081F82420C1E900020A726078C1064A -:106C800016D4010720D441B2B1F1FF3F29DD4106FE -:106C900033D480063DD46088C00745D1A06D00285C -:106CA0004ED001F0D3FF206E012180F8311010BDCD -:106CB000A269182310785178526863F3DF0202F05A -:106CC0009FFA60780107DED5E1694A68087849785B -:106CD00002F0070202F094FA607841B2B1F1FF3F8E -:106CE000D5DC226A182310785178526863F3DF02EA -:106CF00002F086FA60784106CBD5626A18231078D4 -:106D00005178526863F3DF0202F07AFA6078800605 -:106D1000C1D5A16A4A680878497802F0070202F0F2 -:106D20006FFA6088C007B9D0E26A182310785178EA -:106D3000526863F3DF0202F063FAA06D0028B0D15D -:106D4000E06D002818BF01F081FF206E012180F85E -:106D5000311010BD10B5C168044621B108784978DA -:106D6000002202F04DFA216921B108784978002209 -:106D700002F046FA616921B108784978002202F0F0 -:106D80003FFA6078C10617D401071ED441B2B1F1B1 -:106D9000FF3F25DD41062CD4800633D46088C00730 -:106DA00039D1A06D00283FD001F0D4FF206E002122 -:106DB00080F8311010BD00BFA16900220878497821 -:106DC00002F01EFA60780107E0D5E1690022087838 -:106DD000497802F015FA607841B2B1F1FF3FD9DC91 -:106DE000216A00220878497802F00AFA60784106A0 -:106DF000D2D5616A00220878497802F001FA6078F9 -:106E00008006CBD5A16A00220878497802F0F8F90B -:106E10006088C007C5D0E16A00220878497802F08E -:106E2000EFF9A06D0028BFD1E06D002818BF01F078 -:106E300091FF206E002180F8311010BD70B502283E -:106E40000C4600F0A580012800F0D68000281CBF69 -:106E50006FF0040070BD94F950004EF280260028B7 -:106E6000CEF200060ED400F01F010122400902FA02 -:106E700001F106EB80006FF0FF028150BFF34F8FEE -:106E8000BFF36F8FA06D30B1216E91F8261011B154 -:106E9000007802F0A3F8E06D28B1216E097911B1F4 -:106EA000007802F09BF8E16CD4E911020B6860EA0B -:106EB0000300106040F22800C1F200000368626C19 -:106EC0009B090D682A4211D17BB10D682A420DD170 -:106ED000012B0AD00D682A4208D1022B05D00D687B -:106EE0002A4203D1043B5D1CEBD100BFA16B0A68B1 -:106EF00022F001020A60026892090B68DB0711D0D8 -:106F00007AB10B68DB070DD0012A0AD00B68DB07CA -:106F100008D0022A05D00B68DB0703D0043A531CC3 -:106F2000EBD100BF216B0A6822F001020A60006801 -:106F300080090A68D20711D078B10A68D2070DD04B -:106F400001280AD00A68D20708D0022805D00A68AA -:106F5000D20703D00438421CEBD100BF94F9500093 -:106F6000002807D400F01F01012202FA01F14009B4 -:106F700046F82010216E002091F8312081F826007B -:106F800002F0FD024860087281F8312070BD00BF38 -:106F9000206E90F83100C10704BF4FF0FF3070BD84 -:106FA000800744BF002070BD206C40F60002216BBA -:106FB000C0F600120260086840F00300086040F26A -:106FC0002800C1F20000026892090B68DB0717D1A4 -:106FD000002A4FD00B68DB0712D1012A4AD00B6878 -:106FE000DB070DD1022A45D00B68DB0708D1043A34 -:106FF000531CEAD13EE000BF6FF0030070BD00BF3C -:10700000A16B0A6842F003020A60026892090B68E9 -:10701000DB0711D172B30B68DB070DD1012A29D030 -:107020000B68DB0708D1022A24D00B68DB0703D1E9 -:10703000043A531CEBD11DE0E16CD4E911230E6836 -:1070400062EA06021A600268606C92090B681842D4 -:1070500014D17AB10B68184210D1012A0AD00B68FA -:1070600018420BD1022A05D00B68184206D1043A07 -:10707000531CEBD14FF0FF3000BF70BD6068C16D95 -:1070800021F00101C165C16C41F00201C164002120 -:107090004160E06D616D002801F0C00001D1A16D7B -:1070A000A1B340F0090061688860A06850B16178C0 -:1070B00011F0D00F02D16188C90703D0416841F0B7 -:1070C00008014160226E4FF440701086002050602D -:1070D000107294F9501082F82600002948BF70BD44 -:1070E00001F01F00012202FA00F04EF2802249094D -:1070F000CEF2000202EB810342F821004FF68061DC -:10710000CFF6FF715850002070BD00BF40F0010065 -:10711000C9E700BF2DE9F04184B0064600286FF0B2 -:10712000040000F098800D46002900F09480106E55 -:10713000144690F83110490704D44FF0FF3004B0E2 -:10714000BDE8F08190F8261021B16FF0010004B085 -:10715000BDE8F08190F83010012201F0FE01022913 -:1071600080F826200FD190F8271002293CD051B981 -:10717000012180F8271025302946224600F06EF8BC -:107180000028DAD1206E4FF00748A16D00228661F9 -:1071900005610262B1B14878897801F001FEA16D04 -:1071A00062684B7808784CF601044F6863F38A14E0 -:1071B00031462B46CDE90084029701F00BFE0130E9 -:1071C00048D1BAE761684969890611D490F8281056 -:1071D0000F2910D90021A94221D06068416841F0EF -:1071E0000201416036E000BF4FF00348CDE700BF29 -:1071F000002180F82810002182694B1C0362505C3A -:1072000061680860206E90F8281005694A1CD1B2A8 -:107210000F29016A80F82820DDD8A942ECD190F826 -:107220003010002201F0FE01022980F826200BD147 -:1072300090F8271001290DD190F83110012201F0AA -:10724000100182EA111100E0012119B1016809B1B0 -:1072500001208847002004B0BDE8F081F0B583B07C -:10726000064600286FF0040060D00D4600295DD06E -:10727000106E144690F83110490703D44FF0FF30D8 -:1072800003B0F0BD0179012904D16FF0010003B012 -:10729000F0BD00BF012190F8302001710021C0F83D -:1072A0000510C16102F0FE0102294FF00B47C560D5 -:1072B000466105D190F82700012808BF4FF0034729 -:1072C000E16DC9B14878897801F06AFDE26D4DF24F -:1072D000010392F801C061681078D2F804E06CF301 -:1072E0004503CDE9007332462B46CDF808E001F0A6 -:1072F00071FD013005D1C1E76068416841F00101CD -:107300004160206E90F8301001F0FE0102290CD18E -:1073100090F8271049B9022180F827102430294617 -:107320002246FFF7F7FE0028A8D1002003B0F0BDE9 -:107330002DE9F04F83B01446126E029192F831702D -:107340004FF0FF33B9074FF0FF3103D4084603B0C5 -:10735000BDE8F08F53FA80F3192B6FF00301F5D8D5 -:107360004FF0000E4FF0240A4FF0010C00254FF0B3 -:1073700000094FF0000B4FF00008DFE813F0920116 -:107380001D002900350041004D001B001B001B00A3 -:107390001B001B001B001B001B001B005900610091 -:1073A0006B0081008B009500B900E300F9001F011C -:1073B000430100BFCAE700BF21462178890700F1D9 -:1073C00043816FF00601084603B0BDE8F08F00BFAF -:1073D00021462178490700F13F816FF006010846F8 -:1073E00003B0BDE8F08F00BF4FF0000E4FF0010B6F -:1073F0004FF0240A4FF0040C00254FF000094EE135 -:1074000021462178C90600F131816FF00601084656 -:1074100003B0BDE8F08F00BF21462178890600F156 -:1074200033816FF00601084603B0BDE8F08F00BF5E -:107430000298002182F82400084603B0BDE8F08FCE -:107440002078C00600F148814FF0FF31084603B0B4 -:10745000BDE8F08F02984FF0FF31FF283FF676AF7E -:10746000207810F020003FF471AF6068816C21F447 -:107470007F418164816C029A41EA02217FE100BF71 -:107480002078810600F164814FF0FF31084603B097 -:10749000BDE8F08F2078800600F168814FF0FF3161 -:1074A000084603B0BDE8F08F0298002800F06E8116 -:1074B00092F8300006280CD0E36853B15A68187867 -:1074C0005978102363F3DF0201F09AFE226E92F8DE -:1074D000317047F00800616882F83100C86D40F0F3 -:1074E0000100C8650021084603B0BDE8F08F00BF69 -:1074F0000298002800F05A8192F8300040F0020013 -:1075000006280CD0236953B15A6818785978182383 -:1075100063F3DF0201F074FE226E92F8317047F0DF -:107520001000616882F83100C86C20F00200C86465 -:10753000486840F0040048600021084603B0BDE8F8 -:10754000F08F00BF0298002800F0528192F82600C8 -:10755000002840F0AD806068C16841F04001C16022 -:10756000012082F826000021084603B0BDE8F08F14 -:107570006068416821F002014160E06D616D0028A2 -:1075800001F0C00003D1A16D002900F0878140F017 -:107590000900616840F004008860A06D30B1216E80 -:1075A00091F8261011B1007801F018FD206E00212D -:1075B00080F82610084603B0BDE8F08F6068416887 -:1075C00021F001014160E06D616D002801F0C00013 -:1075D00003D1A16D002900F0658140F009006168C8 -:1075E00040F002008860E06D28B1216E097911B188 -:1075F000007801F0F3FC206E00210171084603B011 -:10760000BDE8F08F6068416821F003014160A06D22 -:1076100030B1216E91F8261011B1007801F0DEFC36 -:10762000E06D002800F0F080216E0979002900F05B -:107630000581007801F0D2FCE06D616D002801F059 -:10764000C00040F0FE80E2E000254FF0270A4FF036 -:10765000020C4FF0010E06E04FF0000E4FF0250A2D -:107660004FF0030C01254FF0000916E04FF0010820 -:107670004FF0000E4FF0240A4FF0050C00254FF09C -:1076800000094FF0000B0CE04FF001094FF0000E25 -:107690004FF0240A4FF0060C00254FF0000B4FF07E -:1076A00000081179CDE900B811B992F8261029B176 -:1076B0006FF00101084603B0BDE8F08FC0F302216E -:1076C000E122CA40D20740F0A7806FF008010846C7 -:1076D00003B0BDE8F08F00BF2546029C002C00F0EF -:1076E000BF80286C0068C0F3046002F097F94CF684 -:1076F00000226968C3F69A32B2FBF0F34A6AB4EB2F -:10770000430F22F0380040F2F981B4EB830F40F2CE -:10771000CD80B4EBC30F40F21B81B4EB031F40F2EA -:107720003D81B4EB431F40F2C381B4EB831F40F2B1 -:10773000D581B4EBC31F40F2DB81B4EB032F40F2E1 -:10774000DB814FF0FF31084603B0BDE8F08F00BF8A -:107750002346029C002C00F08880400600F18A80BD -:107760004FF0FF31084603B0BDE8F08F6068816CD0 -:10777000029A002A0CBF41F0020121F0020181644B -:107780000021084603B0BDE8F08F00BF07F0F70006 -:10779000616882F83100C86D20F00100C86592F878 -:1077A0003000062861D0E168B9B95EE007F0EF006B -:1077B000616882F83100C86C40F00200C864486813 -:1077C00020F004004860206E90F8300040F0020085 -:1077D00006284AD02169002947D0087849788022B4 -:1077E00001F00EFD0021084603B0BDE8F08F00BF98 -:1077F0006068C16821F04001C160002182F8261054 -:10780000084603B0BDE8F08F606D00F0C000A16DC8 -:10781000B9B940F0010016E0BCA252F821806746D9 -:107820004E4610F4405145D0B1F5005FF44643D0C8 -:10783000B1F5805F62D148F018083FE0606D00F05C -:10784000C00040F00900616840F006008860206ECA -:107850000021017180F82610084603B0BDE8F08FC2 -:107860006868416A21F0020141620021084603B0C4 -:10787000BDE8F08F92ED0B0A93ED191AB8EE400AAD -:1078800021EE000ABCEEC00A10EE100A001B18BF61 -:107890004FF0FF3003B0BDE8F08F00BF40F00100B3 -:1078A00077E600BF40F0010099E600BF40F0080015 -:1078B00024E100BFF44601E048F0080810F440411C -:1078C00004D0B1F5804F1FD148F00408A16809B376 -:1078D0000969C0F3014221F0C009DFE802F01D038D -:1078E000495300BF94F90010B1F1FF3F40F3E48029 -:1078F0006FF00B01084603B0BDE8F08F6FF009018F -:10790000084603B0BDE8F08F6FF00A01084603B0E7 -:10791000BDE8F08F4FF000094CEA0501012909D1BB -:10792000410319D4000305D46FF00D01084603B0DC -:10793000BDE8F08F02982146FEF75AFA013011D0C7 -:10794000206E354680F8307066B3E168009E33E003 -:1079500040F01000D2E000BF6FF00C01084603B009 -:10796000BDE8F08F6FF00701084603B0BDE8F08F67 -:107970006178C90740F098806FF00B01084603B0AA -:10798000BDE8F08F94F90020B2F1FF3F40F39880FA -:107990006FF00B01084603B0BDE8F08F40F018000F -:1079A000ACE000BF90F83120E168009E120703D4DC -:1079B00069B1802204E000BF4A68102060F3DF0252 -:1079C0000878497801F01CFC206E90F8307047F080 -:1079D000020106295AD18022216919B10878497813 -:1079E00001F00EFC616979B1206E90F830208020A2 -:1079F000022A18BF062A6DD14A6802F00702024324 -:107A00000878497801F0FCFB207810F0060F03D0CD -:107A10006068C0F858A02078019A01071ED4C106FA -:107A200021D4800628D4A06828B1016921F0C001C2 -:107A300041EA090101616068216EC26802F0C0027A -:107A400042EA0802C26091F8310040F0040081F877 -:107A500031000021084603B0BDE8F08F606806647D -:107A60002078C106DDD56068416A21F0010111442A -:107A7000416220788006D6D56068816C21F00101D2 -:107A800029448164A0680028CFD1D4E790F8310060 -:107A9000C006A0D520694268182060F3DF02216982 -:107AA00000299BD19EE700BF49F0800934E700BF61 -:107AB00040F0200022E000BF49F040092CE700BF61 -:107AC0006278D2070ED16FF00B01084603B0BDE813 -:107AD000F08F00BF032A09D1C0208DE740F02800B5 -:107AE0000CE000BF41F0C00916E700BFC02287E7E5 -:107AF00040F0300002E000BF42F0380040F00200E9 -:107B000048620021084603B0BDE8F08F0300000082 -:107B10000000000000000000000000000000000065 -:107B200000000000010000000200000000F00CB89E -:107B300042F60420C1F200000078704742F60420AB -:107B4000C1F2000000787047F0B581B046F24015F0 -:107B5000C4F200056F6E6868A968EC6F01EA000660 -:107B600038036E60EC670BD4F8021AD4700629D47F -:107B7000F00537D470073ED4F00700F0418258E09A -:107B8000686E40F40020686640F6D000C1F2000044 -:107B9000C168426841F00101C16001209047F802CC -:107BA000E4D5686E40F48010686640F6D000C1F2FB -:107BB0000000C168426821F00701C16002209047BF -:107BC0007006D5D500F062FA40F6D000C1F2000090 -:107BD000C2680123416863F34202C26004208847FF -:107BE000F005C7D540F6D000C1F200004168102072 -:107BF00088477007C0D540F6D007686CC1F200070F -:107C0000F96800F04060B0F1006F21F0060007D184 -:107C100040F004007968F8600820884703E000BF5E -:107C200040F00200F860796820208847F00700F0F3 -:107C3000E781E86EF8B145F6000140F6D000C1F2E8 -:107C40000001C1F2000000BF2A6842F400522A601D -:107C5000D1E90A23C0E904232A682B681342F3D030 -:107C6000296821F4005129600121E96601708268C8 -:107C700000200121904714F47C1F00F0CB80E0032A -:107C80001ED545F60000C1F20000B0F87C10D0E926 -:107C90001D3211448B4281670CD140F6D002C1F2F3 -:107CA00000020021926880F87F1080200421904714 -:107CB00006E000BF90F87F0010B1802000F044FB88 -:107CC000A0031FD545F60000C1F20000B0F8FC107B -:107CD000D0E93D3211448B42C0F8F8100CD140F687 -:107CE000D002C1F200020021926880F8FF108120CA -:107CF0000421904706E000BF90F8FF0010B18120FA -:107D000000F022FB60031FD545F60000C1F2000021 -:107D1000B0F87C11D0E95D3211448B42C0F8781183 -:107D20000CD140F6D002C1F200020021926880F826 -:107D30007F1182200421904706E000BF90F87F0168 -:107D400010B1822000F000FB20031FD545F6000093 -:107D5000C1F20000B0F8FC11D0E97D3211448B4231 -:107D6000C0F8F8110CD140F6D002C1F20002002197 -:107D7000926880F8FF1183200421904706E000BF3D -:107D800090F8FF0110B1832000F0DEFAE0021FD569 -:107D900045F60000C1F20000B0F87C12D0E99D3237 -:107DA00011448B42C0F878120CD140F6D002C1F2D7 -:107DB00000020021926880F87F12842004219047FD -:107DC00006E000BF90F87F0210B1842000F0BCFAFA -:107DD000A0021FD545F60000C1F20000B0F8FC1269 -:107DE000D0E9BD3211448B42C0F8F8120CD140F6F4 -:107DF000D002C1F200020021926880F8FF128520B3 -:107E00000421904706E000BF90F8FF0210B18520E2 -:107E100000F09AFAA50600F0F380E0072BD045F6B3 -:107E20000000C1F20000C289838F41886FF3DF3206 -:107E30009A1A93B26FF3DF21B3FBF1F7866B07FB5E -:107E40001133416B16FA82F282634BB9914207D02B -:107E500090F83F0078B1002000F076FA0BE000BF08 -:107E600040F6D002C1F200020021926880F83F1073 -:107E7000002002219047A00731D545F60000C1F24D -:107E80000000B0F88E20B0F8BC30B0F882106FF36C -:107E9000DF329A1A93B26FF3DF21B3FBF1F7D0F818 -:107EA000B86007FB1133D0F8B41016FA82F2C0F8AC -:107EB000B8204BB9914207D090F8BF0078B10120AB -:107EC00000F042FA0BE000BF40F6D002C1F200021F -:107ED0000021926880F8BF100120022190476007BE -:107EE00031D545F60000C1F20000B0F80E21B0F81F -:107EF0003C31B0F802116FF3DF329A1A93B26FF38C -:107F0000DF21B3FBF1F7D0F8386107FB1133D0F86C -:107F1000341116FA82F2C0F838214BB9914207D0D9 -:107F200090F83F0178B1022000F00EFA0BE000BF9C -:107F300040F6D002C1F200020021926880F83F11A1 -:107F4000022002219047200731D545F60000C1F2FA -:107F50000000B0F88E21B0F8BC31B0F882116FF398 -:107F6000DF329A1A93B26FF3DF21B3FBF1F7D0F847 -:107F7000B86107FB1133D0F8B41116FA82F2C0F8D9 -:107F8000B8214BB9914207D090F8BF0178B10320D6 -:107F900000F0DAF90BE000BF40F6D002C1F20002B7 -:107FA0000021926880F8BF11032002219047E0066B -:107FB00024D545F60000C1F20000B0F80E22B0F85A -:107FC0003C32B0F802126FF3DF329A1A93B26FF3B9 -:107FD000DF21B3FBF1F7D0F8386207FB1133D0F89B -:107FE000341216FA82F2C0F838225BB9914209D0F5 -:107FF00090F83F0210B1042000F0A6F9002D0ED435 -:1080000001B0F0BD40F6D002C1F20002002192683A -:1080100080F83F12042002219047002DF0D545F64C -:108020000002C1F20002B2F88E12B2F8BC32B2F80D -:1080300082026FF3DF31591A8BB26FF3DF20B3FB8B -:10804000F0F7D2F8B86207FB1033D2F8B40216FA90 -:1080500081F1C2F8B8125BB9884209D092F8BF0228 -:108060000028CDD0052001B0BDE8F0406CE100BF94 -:1080700040F6D000C1F200000027836805200221ED -:1080800082F8BF7201B0BDE8F04018472DE9F04119 -:1080900045F6000440F6D007C1F2000446F2B415DC -:1080A000C1F20007002620464FF44071C4F20005DB -:1080B000C7E904663E7002F065FB45F60030C1F288 -:1080C00000004FF4C07102F05DFB286920F08010C1 -:1080D0002861686920F080106861A86920F080102C -:1080E000A861E86920F08010E861286A20F080101B -:1080F00028624FF0FF3045F83C0C45F8386C45F8E5 -:10810000700C55F8080C40F2280645F8080CA868D1 -:10811000C1F20006A8603068800955F8041C89B1D6 -:1081200078B155F8041C69B101280AD055F8041C2F -:1081300041B1022805D055F8041C19B10438411C7E -:10814000EBD100BF4FF0FF3028603068800929680C -:1081500071B160B1296859B1012808D0296839B1D5 -:10816000022804D0296819B10438411CEFD100BF9E -:1081700055F8740C20F47F0045F8740CF86842F64A -:108180000527C1F20007397894F83F2000F0060077 -:10819000B2FA82F25209042802EA510066D168B3A9 -:1081A0002046402102F0EEFA0020C2F2080000F55D -:1081B0006210206001200021C4E9020128603068BB -:1081C00080092968C90711D078B12968C9070DD07D -:1081D00001280AD02968C90708D0022805D02968D3 -:1081E000C90703D00438411CEBD100BFE86820F078 -:1081F000ED00E860E86840F0C000E860387880078B -:1082000040F1978094F87F00002840F0928004F1BC -:108210004000402102F0B6FA4FF0015020640120E6 -:108220000021C4E912014FF48030286030688009D1 -:108230002968C90311D578B12968C9030DD501286A -:108240000AD02968C90308D5022805D02968C903BE -:1082500003D50438411CEBD100BFE86820F46D0061 -:10826000E860E86840F44000E86062E040F200083E -:10827000C2F2080850B32046402102F083FA08F504 -:108280000040206001200021C4E90201286030681C -:1082900080092968C90711D078B12968C9070DD0AC -:1082A00001280AD02968C90708D0022805D0296802 -:1082B000C90703D00438411CEBD100BFE86820F0A7 -:1082C000ED00E860E86840F0C000E86038788007BA -:1082D0002FD594F87F0060BB04F14000402102F0EC -:1082E00051FA01200021C4E912014FF48030C4F892 -:1082F00040802860306880092968C90311D578B1A9 -:108300002968C9030DD501280AD02968C90308D5F1 -:10831000022805D02968C90303D50438411CEBD1D4 -:1083200000BFE86820F46D00E860E86840F44000B1 -:10833000E86045F85C4C55F80C0C40F0080045F836 -:108340000C0CBDE8F08100BF2DE9F04100F00F02F8 -:108350005300C40943EAD01342EA0410012245F64F -:10836000000402FA00F045F60032C1F20004C1F246 -:10837000000204EB831602EB4312B36BD6E90C4503 -:1083800046F2B81104EB030EA5EB030C40F22803F0 -:10839000C1F200031B68C4F200019C09BCF5804FC8 -:1083A00028BF4FF4804C0B68034213D07CB10B689C -:1083B00003420FD0012C0AD00B6803420AD0022CD2 -:1083C00005D00B68034205D0043C631CEBD100BF11 -:1083D000BDE8F0810023C2E90033C2E90233C2E9FB -:1083E0000433C2E9063354680123136044EA0C43A2 -:1083F00048F2800423430EF58054C2E9013E02F1A5 -:108400000C030EF500550EF54057B0C3F3680EF59A -:10841000804823F0FF03C2F81880C6E90223A6F8BB -:108420003CC051F8082C104341F8080CBDE8F0811D -:1084300040F20320C0F20C20704700BF07207047B5 -:1084400010B542F60524C1F200042278D2070FD1FC -:1084500040F6D002C1F20002C2E9010142F6042056 -:10846000C1F2000002210170FFF762FB01202070C1 -:10847000002010BD80B5FFF761FB42F60420C1F279 -:1084800000000021017042F60521C1F200010878C8 -:1084900000F0FE0200200A7080BD00BFB0B50228C7 -:1084A00000F09280012800F0CD8000281CBF6FF002 -:1084B0000400B0BD4EF20010CEF200004FF4807107 -:1084C000C0F88010BFF34F8FBFF36F8FC0F88011DB -:1084D00042F60520C1F200000178002401F0FD0100 -:1084E000017040F6D000C1F200000470C168602540 -:1084F00021F00F01C16045F60000C1F200004FF409 -:108500004071C4F2050502F03DF945F60030C1F2B4 -:1085100000004FF4C07102F035F92868C00740F040 -:10852000FA8043F20401C4F204010A6841F22C40CB -:1085300042F02002C4F205000A60D0F8D41321F002 -:108540000101C0F8D41340F22801C1F200010A6809 -:108550009209D0F8D833DB0714D092B1D0F8D833D1 -:10856000DB070FD0012A0CD0D0F8D833DB0709D0B5 -:10857000022A06D0D0F8D833DB0703D0043A531CC4 -:10858000E7D100BF50F8042C22F0010240F8042C7F -:10859000096889090268D20711D079B10268D20747 -:1085A0000DD001290AD00268D20708D0022905D0CF -:1085B0000268D20703D004394A1CEBD100BF012066 -:1085C00028600020B0BD00BF42F60524C1F20004BF -:1085D0002078C00704BF4FF0FF30B0BD207880077F -:1085E00044BF0020B0BD602140F6000241F22C40A3 -:1085F000C4F20501C0F20072C4F205000A6050F82E -:10860000041C41F0010140F8041C40F22801C1F2B1 -:1086100000010A6892090368DB0717D1002A53D0CA -:108620000368DB0712D1012A4ED00368DB070DD1A6 -:10863000022A49D00368DB0708D1043A531CEAD167 -:1086400042E000BF6FF00300B0BD00BFD0F8D423FC -:1086500042F00102C0F8D4230A689209D0F8D83356 -:10866000DB0715D182B3D0F8D833DB0710D1012A4C -:108670002AD0D0F8D833DB070AD1022A24D0D0F888 -:10868000D833DB0704D1043A531CE7D11CE000BF08 -:1086900046F24015C4F200050220286008688009EF -:1086A0002968890714D078B12968890710D0012872 -:1086B0000AD0296889070BD0022805D029688907C4 -:1086C00006D00438411CEBD14FF0FF3000BFB0BDE5 -:1086D0000A20A86643F20400C4F20400016821F0F5 -:1086E00020010160FFF7D2FC686C4FF4807120F02C -:1086F000807068640920C1F60000686640F2451089 -:10870000A860207840F0020020704EF20010CEF2F7 -:108710000000016000242046B0BD00BF42F60520E5 -:10872000C1F20000007880075CBF4FF0FF30704757 -:1087300046F24010C4F20000016841F001010160FE -:108740000020704742F60520C1F200000078800743 -:108750005CBF4FF0FF30704746F24010C4F200009B -:10876000016821F0010101600020704742F60520F8 -:10877000C1F20000007880075CBF0020704746F21D -:10878000841040F6D001C4F20000C1F2000100687C -:10879000C96800F0810221F00800012A08BF0830F2 -:1087A000704700BF42F60520C1F200000078800744 -:1087B0005CBF4FF0FF30704746F28410C4F20000F7 -:1087C000016821F400010160016841F0400101608D -:1087D0000020704742F60521C1F20001097889079F -:1087E0005CBF4FF0FF30704746F254114006C4F2B0 -:1087F00000010860086840F0807008600020704741 -:1088000042F60521C1F200010978890712D540F628 -:10881000D001C1F200010A7862B100220A70D1E9E8 -:108820000423436002600878002818BF4FF0FF302F -:10883000704700BF4FF0FF30704700BF2DE9F04F89 -:1088400081B000F00F04052C07D8054642F605203C -:10885000C1F200000078800704D44FF0FF3001B06F -:10886000BDE8F08F8846600045F6000140EAD5106B -:10887000C1F2000101EB801797F83F0020B16FF0C3 -:10888000010001B0BDE8F08FE80946F2B41A4FEAE2 -:108890000019384640211646C4F2000AC2F3C12B23 -:1088A00001F070FF40F6D000C1F20000C06887F808 -:1088B0003E80B8F1010F08BF0BF1010B00F006007C -:1088C0004FEA8B710228084608BF4FF08040BBF189 -:1088D000010F98BF08460021C0F2FF7101EA06416E -:1088E0004FF00052002D04BF48F20002C2F2000215 -:1088F00011440844386001200021C7E90201102119 -:1089000001EAD5012144884040F22801CAF800005C -:10891000C1F2000109688909DAF80020024214D086 -:1089200091B1DAF8002002420FD001290CD0DAF818 -:108930000020024209D0022906D0DAF800200242C3 -:1089400003D004394A1CE7D100BF0AF10C0141EA07 -:108950008401ED200A6800FA09F022EA00000860AC -:10896000C02068F383000A6800FA09F01043086029 -:10897000002001B0BDE8F08F2DE9F04100F00F02BA -:10898000052A07D8014642F60520C1F2000000780A -:10899000800703D44FF0FF30BDE8F081500040EA7B -:1089A000D11C45F60000C1F2000000EB8C1090F8DD -:1089B0003F30002B1CBF6FF00100BDE8F08146F294 -:1089C000C014C909C4F200040901ED2354F822704F -:1089D0008B4027EA030344F82230402354F82270E6 -:1089E00003FA01F145F600383943C1F2000844F8B2 -:1089F0002210402108EB4C154FEA4C1601F0C2FE44 -:108A0000002048F80600C5E90100C5E90300C5E9F2 -:108A10000500E861BDE8F08170B500F00F02052A9D -:108A200006D842F60523C1F200031B789B0703D446 -:108A30004FF0FF3070BD00BF530045F6000543EA1C -:108A4000D013C1F2000505EB831393F83F50002DBE -:108A50001CBF6FF0010070BDC50946F2B41E4FEA9D -:108A6000051C0124C4F2000E04FA0CF541B10EF10C -:108A70000C0040EA8200016829430160002070BDBB -:108A80000EF10C0141EA82010E6826EA05050D602F -:108A90000025DD60102303EAD000104404FA00F042 -:108AA00040F22802CEF80000C1F2000212689209DA -:108AB000DEF80030034214D092B1DEF800300342F9 -:108AC0000FD0012A0CD0DEF80030034209D0022A70 -:108AD00006D0DEF80030034203D0043A531CE7D13D -:108AE00000BF40200A6800FA0CF010430860002024 -:108AF00070BD00BF10B500F00F03052B06D842F67D -:108B00000524C1F200042478A40703D44FF0FF30F9 -:108B100010BD00BF5B0045F6000443EAD013C1F26C -:108B2000000404EB831C634613F83F4F002C1CBF6A -:108B30006FF0010010BD01241C7000240CF1300303 -:108B400016C3ACF83C40FFF7FFFB204610BD00BF4A -:108B500000F00F01052984BF00207047402202EA7F -:108B6000500040EAC11045F60001C1F2000108447E -:108B7000806B7047B0B500F00F01052906D842F6AA -:108B80000522C1F200021278920703D44FF0FF30A1 -:108B9000B0BD00BF4A001025C40942EAD01C05EA56 -:108BA000D00046F2B4134FEA041E41EA0412012435 -:108BB0000844C4F2000304FA00F040F228051860EB -:108BC000C1F200052D6804FA02F2AC091D680542E5 -:108BD00011D07CB11D6805420DD0012C0AD01D6852 -:108BE000054208D0022C05D01D68054203D0043C84 -:108BF000651CEBD100BF9A6003F10C0242EA8101CF -:108C000040200A6800FA0EF01043086045F60000A4 -:108C1000C1F2000000EB8C11C86820F0FF00C860B2 -:108C2000002081F83F00B0BD42F60520C1F20000EF -:108C3000007880075CBF0020704746F24C10C4F2F9 -:108C400000000068C0F3CA007047000040F69410AE -:108C5000C1F20000016801310129016084BF0020D8 -:108C6000704741F24440C4F2050050F8041C41F042 -:108C7000010140F8041C40F22801C1F2000109681A -:108C800089090268D20715D179B10268D20711D1DA -:108C900001290AD00268D2070CD1022905D0026846 -:108CA000D20707D104394A1CEBD14FF0FF3000BF87 -:108CB000704700BF43F20010C4F20500016D4FF48D -:108CC000002262EA0101016042F2080140F6F4026A -:108CD000C4F200010020C1F20002C1F80801C2E99B -:108CE0000000C2E90200C1F82801C2E90500C2E99A -:108CF0000700C1F84801C2E90A00C2E90C00C1F846 -:108D00006801C2E90F00C2E91100C1F88801C2E997 -:108D10001400C2E91600C1F8A801C2E91900C2E9AD -:108D20001B00C1F8C801C2E91E00C2E92000C1F859 -:108D3000E801C2E92300C2E92500FF220A608A6037 -:108D40004EF20011CEF200010422C1F880210A6027 -:108D5000704700BF40F69410C1F20000016800297E -:108D600004BF4FF0FF307047013901601CBF002085 -:108D7000704741F24040C4F20500016821F0010152 -:108D800001604EF28010CEF2000004210160BFF3BA -:108D90004F8FBFF36F8FC0F800110020704700BFE6 -:108DA00002460F284FF0FF3098BF032900D97047C3 -:108DB00043F21C1CC4F2040CDCF800305200032007 -:108DC000904023EA000091400843CCF800000020C6 -:108DD000704700BF2DE9F04F072884BF4FF0FF30E8 -:108DE000BDE8F08FDDF82CA0DDE9099E012740F6F3 -:108DF000F00C07FA00F4C1F2000C5CE8005F2542B9 -:108E00005AD125434CE80056C6B15CE8005F2542C4 -:108E100052D125434CE8005686B15CE8005F2542FC -:108E20004AD125434CE8005646B15CE8005F254234 -:108E300042D125434CE80056002EDED142F23005E7 -:108E400040F6F408C4F2000500EB800BC1F2000804 -:108E500008EB8B0705EB40100026C7F810A0C0F800 -:108E6000E060C0F8DC6045F8284C45F8204CC0F8BC -:108E7000D86001262E6040F22806C1F2000636684E -:108E800000F1D00AB6092868C0071BD17EB1286856 -:108E9000C00717D1012E0AD02868C00712D1022EB0 -:108EA00005D02868C0070DD1043E701CEBD14FF0EF -:108EB000FF3000BFBDE8F08F4FF0FF30BFF32F8FC2 -:108EC000BDE8F08F40F6FF708342C9F38145BB6077 -:108ED00028BF034629EA000003FA05F55FEA4916B0 -:108EE00040EA0300CAF80010CAF8042048BF294429 -:108EF000C9F341555FEA091603FA05F548BF2A444C -:108F000048F82B107A60FB60CAF80C005FEACE705C -:108F1000CAF810E01ED1E1435CE8000F08404CE8BD -:108F20000002BAB15CE8000F08404CE800028AB1C8 -:108F30005CE8000F08404CE800025AB15CE8000F02 -:108F400008404CE80002002A4FF0000008BFBDE8CE -:108F5000F08FE1E70020BDE8F08F00BF072884BF55 -:108F60004FF0FF307047012140F6F00C8140C1F214 -:108F7000000C5CE8003F0B422AD10B434CE8003266 -:108F8000DAB15CE8003F0B4222D143EA01024CE82F -:108F9000002393B15CE8003F0B4219D143EA010280 -:108FA0004CE800234BB15CE8003F0B4210D143EA90 -:108FB00001024CE80023002BDBD142F210114001EA -:108FC000C4F200010A5842F001020A500020704722 -:108FD0004FF0FF30BFF32F8F704700BF072884BFCB -:108FE0004FF0FF3070470121814040F6F0026FEAF8 -:108FF000010CC1F2000200BF52E8003F03EA0C037B -:1090000042E80031A9B152E8001F01EA0C0142E830 -:10901000001373B152E8001F01EA0C0142E800138B -:109020003BB152E8001F01EA0C0142E80013002B9B -:10903000E2D142F210114001C4F200010A5822F0BC -:1090400001020A5000207047072884BF00207047A3 -:1090500040F6F001C1F20001096821FA00F000F0C9 -:1090600001007047072884BF0020704740F6F402D3 -:1090700000EB8001C1F2000202EB810142F20C120E -:109080004001C4F20002C96810586FF31F30081A7B -:10909000704700BF2DE9F04F81B042F2000840F662 -:1090A000F00740F6F40AC4F200084FF0010BC1F2D9 -:1090B0000007C1F2000A40F6FF7900240EE000BF6D -:1090C000D06820EA09000843D060106940F0010030 -:1090D000106100BF0134082C00F08E80D8F8000029 -:1090E0000BFA04F10842F5D0D8F8040008EB44125A -:1090F000084202F580722DD004EB84030AEB830C46 -:10910000C8F80810604650F80C5F50F8046CAE4286 -:109110004ED1C94357E8000F084047E8000292B11A -:1091200057E8000F084047E8000262B157E8000F17 -:10913000084047E8000232B157E8000F084047E80E -:109140000002002AE6D1DCF810100029C2D001206C -:109150002CE000BFD8F80C000842BBD00020106102 -:10916000D060C84357E8002F024047E8002393B17E -:1091700057E8002F024047E8002363B157E8002F6B -:10918000024047E8002333B157E8002F024047E888 -:109190000023002BE6D104EB8400C8F810100AEB82 -:1091A0008000016900293FF495AF0220884791E7CC -:1091B000711B494528BF49464E190660D0684001D9 -:1091C0000AD55AF823001060D668C6F3814601FA22 -:1091D00006F630444AF82300D06800017FF570AFEE -:1091E000DCF804005060D368C3F3415301FA03F381 -:1091F0001844CCF8040063E701B0BDE8F08F00002C -:1092000003460F284FF0FF3098BF1F2900D9704741 -:10921000D80100EB810046F20001C4F2080142507F -:109220000020704703288FBF4FF0FF3046F6004202 -:10923000C4F2080242F8201098BF0020704700BF17 -:1092400046F680420146C4F20802002011607047D1 -:1092500050B140F60C41884206D040F608018842E1 -:109260001CBF4FF0FF30704746F68441C4F208013E -:1092700008600020704700BF012884BF4FF0FF3016 -:10928000704707294FF0FF3398BF012A02D91846CB -:10929000704700BF46F688434FF0010CC4F2080344 -:1092A0000CFA01F132B153F82020114343F8201099 -:1092B0000020704753F8202022EA010143F82010D3 -:1092C00000231846704700BF012884BF4FF0FF30CD -:1092D000704746F69041C4F208010A68002822F05F -:1092E00001024FF0000018BF01320A60704700BF52 -:1092F00010B541EA0003072B4FF0FF3398BF1F2A38 -:1093000002D9184610BD00BF46F600630328C4F218 -:10931000080311D8C4004FF0FF0CD3F800E00CFA9A -:1093200004F02EEA0000186042EA41101968A040DB -:1093300008431860002010BD0438C0B2C0004FF0D0 -:10934000FF0CD3F804E00CFA00F42EEA04045C608D -:1093500042EA41115A6801FA00F0104358600023B4 -:10936000184610BD0648804706480047FEE7FEE75E -:10937000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7C5 -:109380005D9B001415010014B0B543F22012C4F225 -:1093900004021368402043F470431360536840F69E -:1093A000000143F47043536045F20C2340F6000C77 -:1093B000C4F200031F24C4F20500C0F60011C0F27D -:1093C000001C1C600023C0F82CC040F8283C01F1B0 -:1093D0004073C0F808C00363436840F2000EC0F257 -:1093E0000E6E43F001034360C0F804E00368DB073E -:1093F00001BF03685FEAC37303685FEAC37302D106 -:109400000368DB07F2D00EF50863C162436000BF5A -:109410000368DB0701BF03685FEAC37303685FEAA1 -:10942000C37302D10368DB07F2D0C1621368092459 -:1094300064F30F331360536864F30F33536050F8D1 -:10944000202C4FF4804342F0010240F8202C47F6D4 -:10945000EC7200BFC3F34D0483EA5305234665F362 -:109460008E339AB15D0884EA530464F38E356C0838 -:1094700084EA530363F38E34630883EA55039B0342 -:1094800043EA54036FF3DF33043AE3E70EF50022B7 -:109490001A4340F81C2C42F20002C0F2300240F89D -:1094A000182C50F8182C42F0620240F8182C40F6A4 -:1094B0001C02C0F2006240F8202C50F8242CD20785 -:1094C0000CD150F8242CD20704BF50F8242C5FEAAA -:1094D000C27203D150F8242CD207EED001F1080259 -:1094E000826040F60402C0F200328431C260C0F8EB -:1094F00010C0C0F814C08161B0BD00BF2DE9F04FAD -:1095000081B041F23440C4F20500072140F8041C48 -:109510000168C90701BF01685FEAC17101685FEABC -:10952000C17102D10168C907F2D040F2280AC1F224 -:10953000000ADAF800104BF2004246F60044C0F28E -:10954000C44247F27773C4F20804914238BF002343 -:10955000C4F8003146F28003C4F20803F222F3217A -:10956000F1271A605A609A60D9601961596199614E -:10957000D961196259629962D96219635963996311 -:10958000C3F88020C3F88420C3F88820C3F898204B -:10959000C3F89C10C3F8A010C3F8A410C3F8A81017 -:1095A000C3F8AC10C3F8B010C3F8B410C3F800226D -:1095B000C3F80422C3F80822C3F80C22C3F810220F -:1095C000C3F81422C3F81822C3F81C22C3F884720B -:1095D000C3F88872C3F88C12C3F89012C3F89412BF -:1095E000C3F89872C3F89C72C3F8A072C3F8A412AF -:1095F000C3F8A812C3F8AC12C3F8B012C3F89014A1 -:10960000C3F8002646F2846345F22005C4F208033D -:10961000C4F200051A605A609A60DA601A615A61F1 -:109620009A61DA611A625A629A62DA621A635A635A -:109630009A63DA63D967C3F88010C3F88410C3F85B -:109640008810C3F88C10C3F89010C3F89410C3F8B6 -:109650009810C3F89C10C3F8A010C3F8A410C3F866 -:10966000A810C3F8AC10C3F8B010C3F8B410C3F816 -:10967000B8100121002345F8201C45F8183CDAF801 -:10968000001040F60162C0F2277291424FF00107CC -:1096900034D34FF0805211680426009146F603013E -:1096A000CFF24341116043F2803140F2DB73C1F2EB -:1096B0000006C6F2030146F20A02CDF2FC0396E868 -:1096C000000BF768C6F64B0244F2707C86E80E1079 -:1096D00000F1440143F22C100123C4F20400C1F252 -:1096E00000032722BFF36F8F984700984FF08051F7 -:1096F0000023086086E8000BF7600227F020206056 -:109700006060A060E0608A20C5F8E0010220C5F832 -:10971000E831C5F8F001DAF800004CF60024B0FB9F -:10972000F7F05A21C3F69A34A0FB01012246002328 -:1097300000F0DEFF0130C5F8EC01D5F8E0014FF094 -:10974000010940F40020C5F8E0014FF48A40C5F853 -:10975000E00040F20330C5F8E400C5F80890DAF8FC -:10976000000043F68931B0FBF7F0C5F2E651A0FBEB -:109770000101080E2861DAF800002A21B0FBF7F099 -:109780002246A0FB0101002300F0B2FF6861DAF875 -:1097900000004FF03F08B0FBF7F02246A0FB0801A5 -:1097A000002300F0A5FFA861DAF800004626B0FB10 -:1097B000F7F02246A0FB0601002300F099FFE861C4 -:1097C000DAF800002246B0FBF7F00023A0FB060108 -:1097D00000F08EFF2862DAF800004FF01E0BB0FB9D -:1097E000F7F02246A0FB0B01002300F081FF686226 -:1097F000DAF800002246B0FBF7F00023A0FB0801D6 -:1098000000F076FFA862DAF800002246B0FBF7F01D -:109810000023A0FB080100F06BFFE862DAF800000B -:109820002246B0FBF7F00023A0FB080100F060FF28 -:109830002863DAF800000E21B0FBF7F02246A0FB07 -:109840000101002300F054FF6863DAF800002246AB -:10985000B0FBF7F00023A0FB0B0100F049FFA86369 -:1098600040F2831040F20311286029602860DAF882 -:1098700000004CF66B21B0FBF7F0C6F65F31A0FBA1 -:10988000010109EB51606860DAF8000044F6D35139 -:10989000B0FBF7F0C1F26201A0FB010109EB11403E -:1098A00068608320286042F20000C2F6030000686E -:1098B00002202860D5F8E00040F40020C5F8E00060 -:1098C00001B0BDE8F08F00BF1421C4F205010A68A1 -:1098D000000622F4000200F2FF100A6008600A6825 -:1098E0004FF60060C0F27F0042F400020A6000BF41 -:1098F0000B680A681B0227D50B6802406FF35F23D1 -:109900001A4304BF002070470B680A681B021BD56E -:109910000B6802406FF35F231A4313D00B680A6889 -:109920001B0211D50B6802406FF35F231A4309D065 -:109930000B680A681B0207D50B6802406FF35F23B0 -:109940001A43D5D100207047C2F34D2045F6BB31F4 -:109950004843704710285DD8DFE800F00C0A0A0A77 -:109960000A5C1822282E5C5C383E444A500000BF36 -:10997000704700BF43F20400C4F20400006800F026 -:109980000A00023818BF4FF0FF3070471820C4F2A9 -:1099900005000068C0074FF0FF3008BF0620704781 -:1099A0001820C4F2050081682CE000BF1820C4F222 -:1099B0000500816926E000BF1820C4F20500816A15 -:1099C000C90714BFC16A00211CE000BF1820C4F2FF -:1099D0000500016B16E000BF1820C4F20500416BC2 -:1099E00010E000BF1820C4F20500816B0AE000BF40 -:1099F0001820C4F20500C16B04E000BF1820C4F2B7 -:109A00000500016CC8074FF0FF3008BFC1F30460C8 -:109A1000704700BF4FF0FF30704700BF70B5442360 -:109A2000C4F205034FF0010CA3F124024FF0010E24 -:109A3000012110280DD9002070BD00BFA3F114042E -:109A40002468E0074FF0FF3008BFC4F3046010281B -:109A5000F1D81446DFE800F06A566060560E560CE6 -:109A60000A100E0E1E24282C340000BFE6E700BFAB -:109A7000E6E700BFDFE700BF1868C0F30134C0F3BA -:109A80000125013486070CFA05F521D410F0C00F2A -:109A900022D11FE01C4654F8040FC0F381000CE0F3 -:109AA0001C4654F8080F06E01C4654F80C0F02E060 -:109AB0001C4654F8100FC0F3830001304143BFE748 -:109AC0001C4654F8140F80085CFA80F04143B7E755 -:109AD000060601D56C4364005CFAA0F040EA042459 -:109AE000C0B200FB0EFE53F8040CC4F30724C007F9 -:109AF00004FB01F104D1002010287FF6AAAF9AE7F9 -:109B00001C469DE741F60030C0F2B70000FB0EF0A6 -:109B1000B0FBF1F070BD00BF4FF28000C0F2FA2040 -:109B200000FB0EF0B0FBF1F070BD00BF4FF4004041 -:109B300000FB0EF0B0FBF1F070BD00BF80B56C20F3 -:109B4000C4F205000068C0F30460FFF767FF40F24D -:109B50002801C1F20001086080BD00BF80B54EF64B -:109B60008850CEF2000001684FF0807241F470011D -:109B7000016043F20411C4F205010A604EF21001C3 -:109B8000CEF200010A6822F003020A6040F20001EE -:109B9000C1F200416FF3130140F8801CFFF7F4FBA2 -:109BA0006C20C4F205000068C0F30460FFF736FFC4 -:109BB00040F22801C1F20001086080BDB0B58AB052 -:109BC0000C46054601A8242100F0DCFD042D4FF0D1 -:109BD000000000F28F80DFE805F003138D2D5B009D -:109BE000002C56D14DF671204FF67C62C1F2004038 -:109BF000C1F20042002101F05BFD0AB0B0BD00BF20 -:109C0000042C46D84FA050F8240046F64471019029 -:109C100004EB0410C1F2000101EB8000039044202A -:109C2000022C049068D3032C68D0022C14BFC020EF -:109C3000402064E06CBB40F2CC10C1F2014050F80F -:109C4000340047F29801019004EB0410C1F20001C6 -:109C500001EBC00003904420049048F22030C1F290 -:109C6000000005904FF64020C1F2004000EB0411C7 -:109C700022018058496801AACDE906014CF6A140AD -:109C8000C1F20040214601F013FD0AB0B0BD00BF93 -:109C900014B100200AB0B0BD600040F2CC11013018 -:109CA000C1F2014151F8201047F29802019100EBF6 -:109CB0000011C1F2000202EB8101039144210491E1 -:109CC00048F22031C1F2000101F5007105914FF613 -:109CD0004021C1F2004101EBC00251F8300051684F -:109CE00001AACDE906014CF21170C1F200402146F3 -:109CF00001F0DEFC0AB0B0BD002000E080204CF690 -:109D0000CD41CCF6CC41A4FB011247F62031C1F283 -:109D1000000101EBC000059040F25410C1F2014077 -:109D200000EBC40150F834004968CDE906014DF656 -:109D300045309108C1F2004001AA01F0B9FC0AB017 -:109D4000B0BD00BF94FD0014E4FC001401FD00143C -:109D50001EFD00143BFD001400280CBF4FF0FF3027 -:109D600001F0B8BC704700BFB0B540F6E805C1F2DD -:109D700000052968044689B900F09EFE44F6D351D7 -:109D80008002C1F26201A0FB01014FF60040890987 -:109D9000CFF6FF70B0FBF1F0C5E90010601C02289F -:109DA0000CD3B1F5806F09D06868A04231BF6FF065 -:109DB000010401FB04F000F2FF30840A2046BDE8F4 -:109DC000B04000F04FBE00BF00207047002804BF25 -:109DD0004FF0FF30704770B540F6E806C1F200065C -:109DE000044630680D4688B900F066FE44F6D3514B -:109DF0008002C1F26201A0FB010188094FF6004117 -:109E0000CFF6FF71B1FBF0F1C6E90001691C022930 -:109E10000BD3B0F5806F08D07168A94231BF6FF0E5 -:109E20000105684300F2FF30850A20462946BDE857 -:109E3000704001F085BC00BF10B548B1044601F088 -:109E40006DFC48B12046BDE8104001F08BBC00BF5E -:109E50004FF0FF3010BD00BF002010BD00280CBF28 -:109E60004FF0FF3001F048BC704700BF00280CBF26 -:109E7000002001F0DFBB7047B0B540F6E805C1F245 -:109E800000052968044689B900F016FE44F6D3514E -:109E90008002C1F26201A0FB01014FF60040890976 -:109EA000CFF6FF70B0FBF1F0C5E90010601C02288E -:109EB0000CD3B1F5806F09D06868A04231BF6FF054 -:109EC000010401FB04F000F2FF30840A4FF6FF703A -:109ED0000021224601F0DAFBB0F1FF3FC8BFB0BD60 -:109EE0006FF00101401A18BF0120C007B0BD00BFCC -:109EF00080B584B003460020012B0390CDE901001A -:109F0000009005D0BBB9C9B1002004B080BD00BF2E -:109F10004FF0000079B9092A0DD846F69450C1F2E5 -:109F2000000000EB02100290102003906A4601200E -:109F3000012101F041FB04B080BD00BF46F6845012 -:109F4000C1F200000290102003906A460120012116 -:109F500001F032FB04B080BD002804BF4FF0FF3099 -:109F6000704770B540F6E806C1F200060446306856 -:109F70000D4688B900F0A0FD44F6D3518002C1F22D -:109F80006201A0FB010188094FF60041CFF6FF7185 -:109F9000B1FBF0F1C6E90001691C02290BD3B0F551 -:109FA000806F08D07168A94231BF6FF00105684326 -:109FB00000F2FF30850A20462946BDE8704001F0D6 -:109FC000BFBA00BF00280CBF4FF0FF3001F006BB46 -:109FD000704700BF00280CBF4FF0FF3001F0DABA25 -:109FE000704700BF0146002005F06ABB0A460146E3 -:109FF000002005F06DBB00BF704700BF704700BF79 -:10A00000704700BF704700BF704700BFFFF7F8BF41 -:10A01000FFF7F8BFFFF7F8BF00207047704700BF99 -:10A02000002070470020704710B540F6E804C1F2E8 -:10A030000004206888B900F03FFD44F6D351800247 -:10A04000C1F26201A0FB010188094FF60041CFF681 -:10A05000FF71B1FBF0F1C4E900014FF6FF70002180 -:10A060004FF0FF32BDE8104001F010BB10B540F6D4 -:10A07000E804C1F20004206888B900F01DFD44F630 -:10A08000D3518002C1F26201A0FB010188094FF6A1 -:10A090000041CFF6FF71B1FBF0F1C4E900014FF6CA -:10A0A000FF7000214FF0FF32BDE8104001F0EEBA22 -:10A0B00010B540F6E804C1F20004206888B900F049 -:10A0C000FBFC44F6D3518002C1F26201A0FB010106 -:10A0D00088094FF60041CFF6FF71B1FBF0F1C4E9FA -:10A0E00000014FF6FF7000214FF0FF32BDE8104035 -:10A0F00001F0CCBA10B540F6E804C1F200042068C3 -:10A1000088B900F0D9FC44F6D3518002C1F2620153 -:10A11000A0FB010188094FF60041CFF6FF71B1FBAA -:10A12000F0F1C4E900014FF6FF7000214FF0FF325B -:10A13000BDE8104001F0AABA10B540F6E804C1F23B -:10A140000004206888B900F0B7FC44F6D3518002BF -:10A15000C1F26201A0FB010188094FF60041CFF670 -:10A16000FF71B1FBF0F1C4E900014FF6FF7000216F -:10A170004FF0FF32BDE8104001F088BA10B540F64C -:10A18000E804C1F20004206888B900F095FC44F6A8 -:10A19000D3518002C1F26201A0FB010188094FF690 -:10A1A0000041CFF6FF71B1FBF0F1C4E900014FF6B9 -:10A1B000FF7000214FF0FF32BDE8104001F066BA99 -:10A1C00010B540F6E804C1F20004206888B900F038 -:10A1D00073FC44F6D3518002C1F26201A0FB01017D -:10A1E00088094FF60041CFF6FF71B1FBF0F1C4E9E9 -:10A1F00000014FF6FF7000214FF0FF32BDE8104024 -:10A2000001F044BA10B540F6E804C1F20004206839 -:10A2100088B900F051FC44F6D3518002C1F26201CA -:10A22000A0FB010188094FF60041CFF6FF71B1FB99 -:10A23000F0F1C4E900014FF6FF7000214FF0FF324A -:10A24000BDE8104001F022BA10B540F6E804C1F2B2 -:10A250000004206888B900F02FFC44F6D351800236 -:10A26000C1F26201A0FB010188094FF60041CFF65F -:10A27000FF71B1FBF0F1C4E900014FF6FF7000215E -:10A280004FF0FF32BDE8104001F000BA10B540F6C3 -:10A29000E804C1F20004206888B900F00DFC44F61F -:10A2A000D3518002C1F26201A0FB010188094FF67F -:10A2B0000041CFF6FF71B1FBF0F1C4E900014FF6A8 -:10A2C000FF7000214FF0FF32BDE8104001F0DEB911 -:10A2D00010B540F6E804C1F20004206888B900F027 -:10A2E000EBFB44F6D3518002C1F26201A0FB0101F5 -:10A2F00088094FF60041CFF6FF71B1FBF0F1C4E9D8 -:10A3000000014FF6FF7000214FF0FF32BDE8104012 -:10A3100001F0BCB910B540F6E804C1F200042068B1 -:10A3200088B900F0C9FB44F6D3518002C1F2620142 -:10A33000A0FB010188094FF60041CFF6FF71B1FB88 -:10A34000F0F1C4E900014FF6FF7000214FF0FF3239 -:10A35000BDE8104001F09AB910B540F6E804C1F22A -:10A360000004206888B900F0A7FB44F6D3518002AE -:10A37000C1F26201A0FB010188094FF60041CFF64E -:10A38000FF71B1FBF0F1C4E900014FF6FF7000214D -:10A390004FF0FF32BDE8104001F078B910B540F63B -:10A3A000E804C1F20004206888B900F085FB44F697 -:10A3B000D3518002C1F26201A0FB010188094FF66E -:10A3C0000041CFF6FF71B1FBF0F1C4E900014FF697 -:10A3D000FF7000214FF0FF32BDE8104001F056B988 -:10A3E00010B540F6E804C1F20004206888B900F016 -:10A3F00063FB44F6D3518002C1F26201A0FB01016C -:10A4000088094FF60041CFF6FF71B1FBF0F1C4E9C6 -:10A4100000014FF6FF7000214FF0FF32BDE8104001 -:10A4200001F034B9002070470020704700207047C9 -:10A4300000207047704700BF704700BF704700BFE3 -:10A4400000207047002070470020704700207047B0 -:10A4500000207047704700BF704700BF704700BFC3 -:10A46000704700BF704700BF704700BF704700BF14 -:10A470000020704700207047002070470020704780 -:10A480000020704700207047002070470020704770 -:10A490000020704700207047002070470020704760 -:10A4A0000020704700207047002070470020704750 -:10A4B000704700BF704700BF002070470020704702 -:10A4C00000207047704700BF00207047704700BFF2 -:10A4D000704700BF704700BF704700BFFFF7FCBF69 -:10A4E000704700BF704700BF704700BF704700BF94 -:10A4F000704700BF704700BF00207047704700BF23 -:10A50000002070470020704710B500281CBF0020B5 -:10A5100010BD002003F062FB0446002002F088FB1F -:10A52000002818BF0446204610BD00BF10B5002803 -:10A530001CBF002010BD002003F0A2FB0446002039 -:10A5400002F0AAFD002818BF0446204610BD00BF37 -:10A55000002818BF704780B5002003F07FFB002063 -:10A56000BDE8804002F02EBD704700BF10B508B1B5 -:10A5700010BD00BF0C4680290EDDA4F18100022829 -:10A5800014D3832C1CD0842C18BF10BD0020842130 -:10A59000BDE8104002F0FAB8012C07D0042CE7D136 -:10A5A00000200421BDE8104002F0F0B80020214650 -:10A5B00003F0ECFA832C03D0842CE7D0D8E700BF5B -:10A5C00000208321BDE8104002F0E0B810B508B1CA -:10A5D00010BD00BF0C4680290EDDA4F181000228C9 -:10A5E00014D3832C1CD0842C18BF10BD00208421D0 -:10A5F000BDE8104002F016B9012C07D0042CE7D1B9 -:10A6000000200421BDE8104002F00CB900202146D2 -:10A6100003F0D0FA832C03D0842CE7D0D8E700BF16 -:10A6200000208321BDE8104002F0FCB81EF0040FAA -:10A630000CBFEFF30880EFF30980816911F8021C69 -:10A6400091BB01B590E80F10E047BDE800508CE8E1 -:10A650000300244B93E80600914208BF704741B9BC -:10A660001EF0100F10D12049086820F0010008608A -:10A670000AE02CE9F00F1EF0100F08BF2CED108A35 -:10A68000C1F838C081F822E01A6092F82210906B6D -:10A6900061F0FF0E1EF0100F08BFB0EC108AB0E89A -:10A6A000F00F80F309887047104A13689942FAD86E -:10A6B00001B552F821C00FC8E047BDE80050CCF802 -:10A6C0000000704701B500F067FCBDE80140EFF302 -:10A6D000098CBEE701B500F0B3FEBDE80140EFF321 -:10A6E000098CB6E74400001034EF00E064FC00146D -:10A6F0002DE9F05F0546002092469B4688460646B7 -:10A70000814640241BE0284641464746224600F049 -:10A7100053F853465A46C01A914110D31146184671 -:10A72000224600F03AF82D1A67EB01084F46224600 -:10A730000120002100F031F817EB00094E41201EE6 -:10A74000A4F10104DFDC484631462A464346BDE811 -:10A75000F09F40EA01039B0703D009E008C9121FDC -:10A7600008C0042AFAD203E011F8013B00F8013BCB -:10A77000521EF9D27047D2B201E000F8012B491EF7 -:10A78000FBD270470022F6E710B513460A4604468E -:10A790001946FFF7F0FF204610BD202A04DB203ABF -:10A7A00000FA02F1002070479140C2F1200320FA24 -:10A7B00003F3194390407047202A04DB203A21FA22 -:10A7C00002F00021704721FA02F3D040C2F12002CA -:10A7D0009140084319467047064C074D06E0E06873 -:10A7E00040F0010394E8070098471034AC42F6D3D8 -:10A7F000F5F794FC340201145402011430B58C189E -:10A8000010F8012B12F00F0301D110F8013B1209CF -:10A8100006D110F8012B03E010F8015B01F8015B91 -:10A820005B1EF9D101E001F8013B521EFBD1A142B0 -:10A83000E6D3002030BD10B500F1280151E8002F0B -:10A8400012B9BFF32F8F04E0531E41E8003404B166 -:10A85000F4E772B12C300121006850B1821CD2E8BB -:10A860004F3FC2E8441F04B1F9E71A0602D008308E -:10A87000F2E7002010BD70B5024652F8305F4DB1CE -:10A88000CC7800235DB12E46ED78A5420DD27568D7 -:10A890003346F7E70023C1E90133C1620DE000242C -:10A8A000C1E9014300F12C0403E0C1E9016306F1B1 -:10A8B00008042160002B18BF1A1D1160283050E8D1 -:10A8C000001F4A1C40E8002303B1F8E770BDD1E93E -:10A8D0000123002A0EBFC36293608B68191D002BF1 -:10A8E00008BF00F130010A60704700001A48006894 -:10A8F000704700BF19480178012905D105494FF07B -:10A9000080620A60002101701348016841F0010172 -:10A910000160704704ED00E04FF0FF307047000029 -:10A9200040B10B490968B1FBF0F0411E0020B0EBCB -:10A93000116F02D04FF0FF307047064AFF231370AB -:10A94000054A0623136051600449087090607047FF -:10A950002800001023ED00E010E000E0980900104E -:10A96000B0B500F10C01C289D1E85F3F9A4202D82C -:10A97000BFF32F8F04E05C1CC1E8554F05B1F3E72E -:10A98000C28999B20020914238BF0120B0BD10B5F4 -:10A99000930712D400F12803D0071ED153E8000F0B -:10A9A000084203D1BFF32F8F002005E020EA010207 -:10A9B00043E8002404B1F1E710BD806A00EA010316 -:10A9C0008B42014618BF002112F0010208BF014668 -:10A9D00053EA020018BF084610BD53E8000F00EA12 -:10A9E00001028A4203D0BFF32F8F002005E020EA46 -:10A9F000010243E8002404B1EFE710BDB0B52D4AD1 -:10AA00000023443215462C683CB12569A94209D37C -:10AA1000491B04F10C052346F5E70024C0E9023484 -:10AA2000016106E0C0E902340161A0602569691A8C -:10AA30002161002B18BF03F10C021060B0BD00BFF4 -:10AA4000C16829B1826803698A600A691A440A6187 -:10AA50008068184A00F10C03002808BF02F1440383 -:10AA600019607047EFF3058129B9EFF3108111B92F -:10AA7000EFF3118111B16FF005007047DFF804C0EA -:10AA800000DF704789B70014EFF3058048B9EFF392 -:10AA9000108030B9EFF3118018B9EFF31480C007BC -:10AAA00002D10448007A7047DFF804C000DF704725 -:10AAB0009DB7001430000010EFF3058028B9EFF3C4 -:10AAC000108010B9EFF3118010B10348406870474F -:10AAD000DFF808C000DF70478CF70014A9B7001436 -:10AAE00080B500F0DFF8EFF3058028B9EFF31080B0 -:10AAF00010B9EFF3118010B16FF0050080BDDFF8E1 -:10AB000008C000DF80BD00BFB5B70014EFF30580BB -:10AB100028B9EFF3108010B9EFF3118010B16FF086 -:10AB200005007047DFF804C000DF7047FDB800146F -:10AB3000F8B514460E460546EFF3058028B9EFF345 -:10AB4000108010B9EFF31180F0B16FF003000DB376 -:10AB500003BBFEB12978FA291CD12846FFF76BFE0A -:10AB600078B16A6A074600F10C013046FFF7F1FD43 -:10AB70000CB1F87820703846FD6000F051FA0020E2 -:10AB8000F8BD6FF00200F8BD2846DFF80CC0314672 -:10AB9000224600DFF8BD00BF81B90014EFF3058342 -:10ABA0002BB9EFF3108313B9EFF311830BB100202E -:10ABB0007047DFF808C000DF704700BF5DBA0014BF -:10ABC0002DE9F04190460D460646EFF3058028B981 -:10ABD000EFF3108010B9EFF3118018B36FF0030793 -:10ABE000EEB1E3B9DDB13078FA2818D106F10C00E6 -:10ABF00000F0D2F888B1726A04460C302946FFF79B -:10AC0000A8FD0027F920C4E9015684F80380A77045 -:10AC10002070204600F004FA01E06FF00207384689 -:10AC2000BDE8F0813046DFF80CC02946424600DF1F -:10AC3000BDE8F0818DBB0014EFF305822AB9EFF374 -:10AC4000108212B9EFF3118212B16FF00500704754 -:10AC5000DFF804C000DF704749BC0014EFF3058142 -:10AC600029B9EFF3108111B9EFF3118109B1002077 -:10AC70007047DFF808C000DF704700BFDDBC00147C -:10AC8000EFF3058129B9EFF3108111B9EFF31181C9 -:10AC900011B16FF005007047DFF804C000DF7047A6 -:10ACA00041BD00147047F0B5002390B389B3032A67 -:10ACB0002FD8034653F8084F0F3121F007012546DE -:10ACC000E61A5C6824F00307F61B8E4205D22C6856 -:10ACD0002B46002CF3D100231BE0D0E900650D4486 -:10ACE0004560304450F8046CAE4202D208384560EA -:10ACF0005C6854B1186824F00304E05041EA020093 -:10AD0000E118486019600B4602E041EA0200586011 -:10AD100008331846F0BDB0B50022E8B1E1B100F14A -:10AD20000804A1F108020023944206D025462468B5 -:10AD30002B46002CF8D100220EE051F8045C446848 -:10AD400025F00305641B446013B11068186002E02D -:10AD5000002041F8040C01221046B0BD08B14207A2 -:10AD600002D000221046704700221829FAD311F0B1 -:10AD70000703F7D110B50A18A2F108038360002376 -:10AD800042F8083C8268102454600122C0E9001493 -:10AD9000C360BDE81040E5E710B5002817D00146B4 -:10ADA00000F1140252E8000F10B9BFF32F8F04E036 -:10ADB000036842E8003404B1F4E740B1043151E8DB -:10ADC000002F531C41E8003404B1F8E710BD002007 -:10ADD00010BDB0B500281ED0C2688A421BD80269D7 -:10ADE0008A4218D900F1140213680B60BFF35F8F19 -:10ADF00052E8003F0C689C42F6D142E8001505B1CC -:10AE0000F2E7043050E8001F4A1E40E8002303B177 -:10AE1000F8E70020B0BD6FF00300B0BDB0B5044648 -:10AE20000020ACB1A1B19AB193B10020C4E90010E7 -:10AE300004F1080002FB01352CC0481E636120B1FB -:10AE40009918196001380B46F9E7002018600120B5 -:10AE5000B0BDF8B50446807868B3E5682146284659 -:10AE6000FFF735FD002005F10C0620703046214625 -:10AE7000FFF7AFFFA868E8B13046FFF78DFFC8B114 -:10AE80000446284600F006FA002100220646002764 -:10AE900000F0BCFA304600F05DFA81686A6A064646 -:10AEA00004F10C00FFF755FCF920A7702070F06842 -:10AEB000E07025E0F8BDA568A86808B3407883284D -:10AEC0001ED1284600F0E6F90021002206460027A0 -:10AED00000F09CFA304600F03DFA064680686A6A47 -:10AEE00004F10C01FFF735FCF06808B1E17801705E -:10AEF000277005F10C002146BDE8F840FFF769BF57 -:10AF000028462146BDE8F840FFF7B5BC2DE9F041E1 -:10AF1000044600274FF00108D4B12546E87864695B -:10AF20000007F9D52F76A8680028F5D0284600F04C -:10AF3000B1F900210022064600F068FAC5E903676E -:10AF4000F06A686100B1056185F81880F562E3E791 -:10AF5000BDE8F081B0B5C278920715D5C068C36A64 -:10AF600090F821209C688C4208BF8C682CB194F921 -:10AF7000204055B2AC42C8BFE2B25B69002BF1D1B0 -:10AF800090F82010914200D1B0BD80F82020BDE89B -:10AF9000B04000F0AEB9000070B5ED4C04F15605BC -:10AFA00004F15A06B4F85400D5E85F1F11B9BFF395 -:10AFB0002F8F04E04A1EC5E8532F03B1F4E70904BC -:10AFC00029D0D6E85F1F4A1C904200D80022C6E86C -:10AFD000532F03B1F5E788B2E16D51F82000D0B1ED -:10AFE0000178F1390829DDD8DFE801F00605090507 -:10AFF000050C0F051200D5E7216E8847D2E7616E78 -:10B000008847CFE7A16E8847CCE7E16E8847C9E75C -:10B01000216F8847C6E70020BDE8704000F0E6B821 -:10B0200070B50146EA4800F15603B0F85420D3E861 -:10B030005F4FA24202D8BFF32F8F04E0651CC3E824 -:10B04000565F06B1F3E7A3B2934214D200F158035E -:10B05000D3E85F4F651CAA4200D80025C3E8565FBD -:10B0600006B1F5E7C36DA2B243F82210417A39B1B7 -:10B070000121817270BD0220BDE87040FAF7B6BEB2 -:10B0800002484FF08051016070BD00BF04ED00E048 -:10B0900010B58168B1B100F10C01D1E85F2F12B990 -:10B0A000BFF32F8F04E0531EC1E8543F04B1F4E70F -:10B0B000110407D000F0EEF800210022BDE8104096 -:10B0C00000F0A4B910BD000010B501214170CE49B7 -:10B0D00090F920301C310A46896841B191F920402D -:10B0E0009C42F8DCC0E9021290600C3104E00021BF -:10B0F000C0E9021202F10801086010BDB0B54A1C97 -:10B100000DD0EA4A00242C3215462B68DBB1DD69EC -:10B11000A9421AD3491B03F110051C46F5E7F14972 -:10B12000002330310C461A46236803F11004002B2B -:10B13000F9D14FF0FF33C3610023C0E904329AB163 -:10B1400002F1100110E0002500E00125002CC0E90B -:10B150000434C16118BF04F1100210602DB1DA6926 -:10B16000511AD96103F114010860B0BDC2690169C7 -:10B17000531C0AD021B143694B61CB691A44CA619F -:10B1800042693AB9ED48C162704709B142694A6102 -:10B1900042691AB10023436111617047E7480163B6 -:10B1A000704700BF70B5E54DEC6A1CB1E06901382D -:10B1B000E06100D070BD042660781338B6EB301F14 -:10B1C00005D1204600F08FF82146FFF7C3FE204648 -:10B1D00000F07FF8204600F0B3F8246924B1E0695C -:10B1E0000028E9D000206061EC6270BDB0B5054672 -:10B1F000D2484469017A65B1022905D194F9200049 -:10B2000095F92010814211DC2846BDE8B04000F0DD -:10B2100097B8022912D1456A85B194F9200095F9B1 -:10B22000201081420ADD284600F053F82046FFF73F -:10B230004BFF2846BDE8B04000F0C4B8B0BD00BF29 -:10B2400010B5044600202080A07881070DD5C006E7 -:10B2500005D4BA48216B406FFFF75DFD05E0B748A4 -:10B26000216BD0F88400FFF7B4FDA078C00708BFB9 -:10B2700010BDB249D1F8880020B12146BDE8104088 -:10B28000FFF7A7BDD1F880002146BDE81040FFF7C9 -:10B2900042BD00BF0146806882688A6002B1D16009 -:10B2A0000021C160704710B591F9203002468068D6 -:10B2B00040B190F920409C42F8DAC1E90202916065 -:10B2C0000C3004E00020C1E9020202F10800016034 -:10B2D00010BDC16831B182688A60826802B1D160F4 -:10B2E0000021C16070470178F12918BF7047C0681C -:10B2F000F9E7B0B50446054625B12878F12802D112 -:10B30000ED68F9E7B0BD2046FFF7E3FF2846214688 -:10B31000BDE8B040FFF7C7BF10B5044640783328FA -:10B320000DD194F82320616A2046FFF730FB30B13D -:10B33000014620460022BDE8104000F067B810BD6D -:10B340000146012048707D481C30FFF7ACBF00BFAC -:10B350003000001090F82210C9064FF0200158BFAD -:10B360006021806B084470477448416939B1086BAB -:10B370008A6B824204D90068034A904200D1704728 -:10B380000120FAF733BD00BFA52E5AE270B5544C28 -:10B390000A48A26D666E002100F070FE674DA8623B -:10B3A0004EB1E26D0648002100F068FEA864002856 -:10B3B00018BF012070BD012070BD00BFE95D001401 -:10B3C000B1B40014F749886102214170FFF7CCBF86 -:10B3D0003000001010B5F34C0246237A0020022BF7 -:10B3E00011D1636A7BB160694270FFF787FE606AC2 -:10B3F0008168616211B104F11C02CA600021C16060 -:10B40000FFF7E0FF012010BD30000010B0B504468A -:10B4100090F822001546C0064FF0200058BF60206B -:10B42000A26B81502046FFF7A1FE20461DB1BDE86A -:10B43000B040FFF7DBBEBDE8B040FFF781BF0000C2 -:10B44000B0B5FFF753FAD74DE968286D0131E960CF -:10B4500000B18047FFF7A6FE0020FFF7C7FE296C6A -:10B4600011B3AA69A86B90421CBFC5E90E21B0BDFB -:10B47000E96B11B10139E96316D1297A022913D197 -:10B480006C6A8CB190F8200094F8201081420BD1A6 -:10B490002046FFF71EFFA86BFFF752FF2046FFF77D -:10B4A00091FF286CC5E90E40B0BD00BF3000001010 -:10B4B00082B0BF480821D0E91820FFF76FFBB94DD3 -:10B4C00009496C46C5E91301214600224FF0FF33BC -:10B4D000FFF72EFB10B9DDE900108847E86CF3E7B1 -:10B4E0008CF7001430000010EDB4001470B5AD4DB1 -:10B4F0006C6C14B32069012601382061ECB120691D -:10B50000D8B9E06808B1A16881606864E86C04F1AA -:10B51000180100220023FFF753FB18B10320214636 -:10B52000FAF764FCE078012804D161692046FFF74E -:10B5300065FA00E066706C6CE0E770BD30000010EA -:10B54000EFF305822AB9EFF3108212B9EFF31182FB -:10B55000CAB16FF00302A0B199B90178F62910D1F0 -:10B560000C30D0E85F1F11B9BFF32F8F04E04A1EE3 -:10B57000C0E8532F03B1F4E70022080408BF6FF0BE -:10B58000020210467047DFF808C000DF704700BFB6 -:10B59000F5BD0014EFF3058129B9EFF3108111B95E -:10B5A000EFF3118111B16FF005007047DFF804C0AF -:10B5B00000DF704749BE0014EFF305832BB9EFF3AA -:10B5C000108313B9EFF311830BB100207047DFF83C -:10B5D00008C000DF704700BFA9BE001410B50446C4 -:10B5E000EFF3058028B9EFF3108010B9EFF3118065 -:10B5F00090B15CB12078F62808D12046FFF7B0F969 -:10B6000038B12046FFF70CFD002010BD6FF003009D -:10B6100010BD6FF0020010BD2046DFF808C000DF4B -:10B6200010BD00BF29BF0014DFF804C000DFFEE733 -:10B6300061BF0014B0B5EFF305822AB9EFF31082B1 -:10B6400012B9EFF31182DAB16FF00304B0B100293F -:10B6500014D40278F12A11D14278042A02D16FF071 -:10B6600002040BE000F1280252E8003F43EA010423 -:10B6700042E8004505B1F7E7FFF7D2FC2046B0BD30 -:10B68000DFF804C000DFB0BDC9BF0014EFF30583CD -:10B690002BB9EFF3108313B9EFF3118313B16FF0EC -:10B6A00005007047DFF804C000DF704731C00014A8 -:10B6B000EFF305832BB9EFF3108313B9EFF3118385 -:10B6C0000BB100207047DFF808C000DF704700BFF3 -:10B6D0007DC00014EFF3058129B9EFF3108111B992 -:10B6E000EFF3118111B16FF005007047DFF804C06E -:10B6F00000DF70474DC20014EFF3058129B9EFF365 -:10B70000108111B9EFF3118111B16FF0050070478D -:10B71000DFF804C000DF704709C30014EFF30581B0 -:10B7200029B9EFF3108111B9EFF3118109B10020AC -:10B730007047DFF808C000DF704700BF55C3001432 -:10B74000EFF305822AB9EFF3108212B9EFF31182F9 -:10B7500012B16FF005007047DFF804C000DF7047DA -:10B760006DC30014EFF3058129B9EFF3108111B90E -:10B77000EFF3118111B16FF005007047DFF804C0DD -:10B7800000DF7047B9C3001430B180B50146132003 -:10B79000FFF720FEBDE8804000207047F948007A9E -:10B7A000704700BF3000001073484068704700BF0A -:10B7B0008CF700142DE9F843F24F387A30B10128A4 -:10B7C00000F096804FF0FF30BDE8F88307F10800E5 -:10B7D0009C21FEF7D7FFDFF8648AB8F81000D8E99B -:10B7E0000B41A7F85400D8E90202FA6538642046F4 -:10B7F000FFF7B4FA08B1C7F88040D8E90541DFF88F -:10B80000F890D8E907562046C847D7F88010002896 -:10B8100018BF2146796728463146C847D7F88010B7 -:10B82000002818BF2946B967D8E909412046C8470A -:10B83000D7F88010002818BF2146D8F83440F9679F -:10B840003CB12168D4E902232046FFF7E7FAC7F8A4 -:10B850008440D8F838403CB12168D4E9022320461E -:10B86000FFF7DCFAC7F88840D8F83C403CB12168C3 -:10B87000D4E902232046FFF7D1FAC7F88C40D8F864 -:10B8800040403CB12168D4E902232046FFF7C6FAC4 -:10B89000C7F89040D8F844403CB12168D4E902236D -:10B8A0002046FFF7BBFAC7F89440D8F848403CB1AF -:10B8B0002168D4E902232046FFF7B0FAC7F8984080 -:10B8C000D8F84C403CB12168D4E902232046FFF768 -:10B8D000A5FAC7F89C40D8F850403CB12168D4E99B -:10B8E00002232046FFF79AFAC7F8A04001203872D9 -:10B8F0000020BDE8F88300BF5DAD0014B0B5F64C84 -:10B90000207A01281CD1FFF741FDC8B11948FF2159 -:10B910008175817D026881F0FF01B1FA81F1C1F189 -:10B920002001C2F302228A4228BF511CFE2202FAE1 -:10B9300001F1114DC17468681049FEF7F1FF10B1B3 -:10B940004FF0FF30B0BDFEF7E7FF2061FEF7D2FFFA -:10B9500004F11C00FFF79EFCFFF734FD2878C007B8 -:10B960000CBF0320022080F31488022020720020E4 -:10B97000B0BD00BF0CED00E08CF70014D5A600149C -:10B980002DE9F84300284CD00F466FF0030500293D -:10B9900049D004460078FA2845D120469946904679 -:10B9A000FEF749FF002841D0064620463146FEF703 -:10B9B0008EFF626A06F10C013846FEF7CAFEB8F146 -:10B9C000000F1CBFF07888F8000004F10C07002578 -:10B9D000384631463570FFF7FCF9A06818B3384691 -:10B9E000FFF7DAF90025F0B106462046FFF752FCD2 -:10B9F000002101220746FFF709FD3846FFF7AAFCA0 -:10BA00008168626A074606F10C00FEF7A2FEF92083 -:10BA1000B5703070F8683146F0702046FEF72BFFA5 -:10BA200001E06FF003052846BDE8F883B9F1000F87 -:10BA300010D083204946FFF7CDFC40B1EC48416966 -:10BA40002046FFF730FCEFF30980C0E902786FF081 -:10BA50000105E8E76FF00205E5E700BF2DE9F84FC3 -:10BA6000002770B10D4661B105F10F0121F0030609 -:10BA70000446B0FA80F0B6FA86F10844202803D2D2 -:10BA800000273846BDE8F88F06FB04F872B1D2F8FB -:10BA900008A01368D2E90490BAF1000F11D05FEA50 -:10BAA0008A71EDD1D1683429EAD30DE000234FF03B -:10BAB0000009FC490093D1F8A00078B1FFF76CF9B8 -:10BAC00012E0D1680029DBD1B9F1000F2FD0002797 -:10BAD0004045D6D319F003002BD0D2E7D1F880002F -:10BAE00034210122FFF7DFF882464FF0010BB9F154 -:10BAF000000F10D1BAF1000F0DD0EA4F4146F86F98 -:10BB00000022FFF7D0F8814638B148464146FEF79B -:10BB100039FE57461AE057461AE0BBF1000F14D021 -:10BB2000D7F8A00060B15146FFF753F90DE00028A7 -:10BB3000A6D1BAF1000FBCD000934FF0000BD6E7AE -:10BB4000D7F880005146FFF7E6F800270BF1020B0B -:10BB5000002F3FF496AF0020C7E90950C7E90B005A -:10BB600000993246C7E90110FA2087F802B0387010 -:10BB700007F10C0021464B46FFF750F9E84802490F -:10BB800001677EE73000001053AE00142DE9F84342 -:10BB900038B30E466FF00307002951D005460078F0 -:10BBA000FA284DD1A86899469046E8B14078832894 -:10BBB0001AD12846FFF76EFB002101220446002718 -:10BBC000FFF724FC2046FFF7C5FB044680686A6A3D -:10BBD0003146FEF7BEFDE06890B380F80080002794 -:10BBE0002EE06FF003072BE005F10C00FFF7D4F80F -:10BBF00080B16A6A04460C303146FEF7AAFD002780 -:10BC0000F92084F80380A770207028462146FEF7AB -:10BC100032FE15E0B9F1000F10D093204946FFF72E -:10BC2000D9FB40B1E74841692846FFF73CFBEFF3F9 -:10BC30000980C0E902686FF0010701E06FF00207B8 -:10BC40003846BDE8F88300BF70B50446DD48456955 -:10BC50004DB32CB32078F52822D1207E30B30E4688 -:10BC6000E178CA0702D0E268AA422BD066B38807FF -:10BC70000AD5E06895F9201090F920208A4203DA6D -:10BC800080F82010FFF735FB53203146FFF7A2FB69 -:10BC900018B120462946FFF706FB6FF0010070BD82 -:10BCA0006FF0030070BD4FF0FF3070BD0020C4E99D -:10BCB0000350E86A606100B1046101202076002031 -:10BCC000EC6270BDFF2802D16FF0020070BD013040 -:10BCD0002076002070BD00BF3000001070B550B15C -:10BCE0008468D0E900657CB1A10710D1C16800204B -:10BCF0001C2917D270BD00250026DF49D1F8940019 -:10BD000038B1FFF749F80AE0C0680028F5D00020F4 -:10BD100070BDD1F880001C210122FEF7C4FF04464B -:10BD200058B101206660E570A070F520207004F124 -:10BD300008001121FEF726FD00E00024204670BD1A -:10BD400070B50446CC48406970B154B12178F529EA -:10BD500007D1217E11B1E268824209D06FF002045E -:10BD600004E06FF0030401E04FF0FF34204670BDA3 -:10BD700001392176090601D00024F7E7616909B18C -:10BD800022690A6100F12C0223691546002B18BFB5 -:10BD900003F114052960E17889070FD590F8211087 -:10BDA00012684AB193682BB193F920304DB2AB427F -:10BDB000C8BF19461432F3E780F82010A06888B194 -:10BDC0002046FFF767FA0021002205460026FFF70C -:10BDD0001DFBC4E90356E86A606100B104610120FB -:10BDE0002076EC6200200024FFF700FABEE700BFD7 -:10BDF00030000010B0B508B304460078F6281DD115 -:10BE000004F10C00D0E85F2F12B9BFF32F8F04E0CC -:10BE1000531EC0E8553F05B1F4E710041CBF0020D5 -:10BE2000B0BD71B16320FFF7D5FA20B192484169E6 -:10BE30002046FFF738FA6FF00100B0BD6FF0030045 -:10BE4000B0BD6FF00200B0BD10B500B3044600787D -:10BE5000F6281CD1A06868B12046FFF71BFA6FF0E6 -:10BE600002010022FFF7D2FAA0680028F4D10020D6 -:10BE7000FFF7BCF900202070A178C90710D0EE4967 -:10BE8000D1F8980030B12146FEF7A3FF07E06FF02C -:10BE9000030010BDD1F880002146FEF73CFF0020D2 -:10BEA00010BD00BF3000001070B5054601384FF6D8 -:10BEB000FE730C460021984298BFAC4201D9084657 -:10BEC00070BD4AB19068166870B181070FD1D26811 -:10BED0000021102AF3D314E00026D749D1F89800A6 -:10BEE00038B1FEF759FF0AE0D0680028F5D00021EC -:10BEF000E5E7D1F8800010210122FEF7D4FE60B101 -:10BF000001210022C5818481C0E901628170F6218E -:10BF10000170FC49034A8A6600E000200146CEE732 -:10BF20003000001091B0001410B560B10178F6290E -:10BF300009D1816859B1FFF7ADF900210122002430 -:10BF4000FFF764FA01E06FF00304204610BDFEF72E -:10BF500007FD0024002808BF6FF00204F5E7000089 -:10BF600070B5FB4D287A02282AD1686A40B36C6903 -:10BF7000E06AFEF7CBFFA06918B100210022FFF7AD -:10BF800045FAEFF30980A063686A8168696211B1BC -:10BF900005F11C02CA600026C660FFF713FA6E6145 -:10BFA000E078C00704D12046BDE87040FFF748B9EB -:10BFB0000420E6606070686BA06000B1C4606C63D0 -:10BFC00070BD00BF30000010B0B56FF0030460B367 -:10BFD00000292AD405460078F12826D1687804285B -:10BFE00002D16FF0020420E005F1280050E8002F94 -:10BFF00042EA010440E8004303B1F7E768783328D8 -:10C0000013D195F82320696A2846FEF7C0FC60B179 -:10C01000014695F823000C4680075CBF686A21EA58 -:10C02000000428460122FFF7F1F92046B0BD0000C8 -:10C03000F8B50546DF48476957B1002D0BD40E46C9 -:10C040001446384629463246FEF7A1FC30B1F8BD09 -:10C050004FF0FF30F8BD6FF00300F8BD4CB1332056 -:10C06000214687F823607D62FFF7B4F96FF0010085 -:10C07000F8BD6FF00200F8BD300000102DE9FE4F52 -:10C0800018B380466AB102F1100A96689AE88006F1 -:10C09000D2E90053BEB1B00717D1D068442814D3F9 -:10C0A00017E001244FF0180A002300274FF0000981 -:10C0B0000025C04A0293D2F88800CDE90015C0B12E -:10C0C000FEF76AFE1BE0D06818B100242046BDE8E8 -:10C0D000FE8F37B10024B9F1000FF7D017F0070039 -:10C0E000F4D1BAF1000F24D0AAF101003728ECD81E -:10C0F00021E0D2F8800044210122FEF7D4FD06465B -:10C100004FF0010B87B97EB184B1AA494B4AD1F8EF -:10C110008400D2F85490C8B1FEF73EFE07460028CE -:10C1200018BF0BF1100B17E0344635E0A148406F03 -:10C130000DE04FF0180AB9F1000F1BD00024B9F13F -:10C14000480FC3D319F0070015D0BFE7486F494621 -:10C150000022FEF7A8FD07460FB134461AE05FEA59 -:10C16000CB7016D09349D1F8880068B13146FEF7FC -:10C1700030FE0EE00124002E3FF49BAFCDE9001508 -:10C1800002934FF0000BBDE7D1F880003146FEF777 -:10C19000C2FD00244BF0020B002C3FF497AF019836 -:10C1A000182160600298E07040F2F11084F802B04B -:10C1B000208004F10800FEF7E5FA07EB09010020F2 -:10C1C0004039FD22C4F82300C4F82700C4F82B002E -:10C1D00084F82F0084F8222084F821A084F820A07D -:10C1E000C4E90C79C4E90E181549009D396013495A -:10C1F000097849070AD56FF0100101EB99013A1D42 -:10C200004FF0CC3311B108C20139FBE7A16B00221A -:10C210000D2A03D041F822000132F9E7094A4FF014 -:10C220008070C1E90D28C8630D6262480649016645 -:10C230002046FEF7DBFF49E7300000108CF70014C2 -:10C24000A52E5AE229B6001419B3001470B5C0B176 -:10C2500004460078F12814D1607800F00F0001281E -:10C2600012D0032814D002281CBF6FF0020070BD4A -:10C2700050496FF002000A7A022A01D1496A69B96D -:10C2800070BD6FF0030070BD2046FFF722F805E097 -:10C290002046FFF71EF82046FEF768FFE06AFEF72B -:10C2A00035FEA06918B100210022FFF7AFF86078D1 -:10C2B000022810D13F4DEFF30980A063686A8168BE -:10C2C000696211B105F11C02CA600026C660FFF761 -:10C2D00079F86E6102E00020FEF788FFE078C00781 -:10C2E00003D12046FEF7ACFF09E00020E060042007 -:10C2F00060703048416BA16001B1CC6044630020A4 -:10C3000070BD00BF3000001010B5B0B10446007819 -:10C31000F22812D16078022802D12046FEF790FB65 -:10C3200000202080A178C90710D02249D1F88C00C4 -:10C3300030B12146FEF74DFD07E06FF0030010BD60 -:10C34000D1F880002146FEF7E6FC002010BD00BFBA -:10C350003000001040B10178F22905D14078023850 -:10C36000B0FA80F04009704700207047B0B570B156 -:10C370000C4605466FF00300B9B12978F22914D1B3 -:10C380006878022806D12846FEF75AFB08E06FF0CD -:10C390000300B0BD0748006D40B102206C616870B9 -:10C3A00028462146FEF72AFB0020B0BD6FF00200B0 -:10C3B000B0BD00BF3000001080B570B10178F22927 -:10C3C0000BD1417802291CBF6FF0020080BD012112 -:10C3D0004170FEF735FB002080BD6FF0030080BD8B -:10C3E00000207047002070472DE9F0411E46174697 -:10C3F00088460546002400F0A5F940B9054850F8E4 -:10C40000253023B1324639464046984704462046F7 -:10C41000BDE8F08158FA001470B50546002400F01C -:10C4200091F9C0B90D480E4950F82500007E51F829 -:10C43000200086680B4850F8251061B10A488847EB -:10C44000040008D00848093850F8091F3160818875 -:10C45000B1808079B071204670BD0000C801011420 -:10C460002C0201145CFA001419000010002070471F -:10C4700070B50E460546002400F064F970B908480E -:10C48000084950F8250051F825203AB1007E0649A8 -:10C4900051F820003146806890470446204670BD20 -:10C4A000C801011468FA00142C020114002070471E -:10C4B00070B50E460546002400F044F960B90748FF -:10C4C00050F8251041B130468847040004D0044894 -:10C4D00050F8250040690685204670BD6CFA0014AE -:10C4E000C801011470B50546002400F02BF9B0B95D -:10C4F0000C480D4950F82500007E51F820000B49EA -:10C50000806851F8251051B1094A0368C2F8023019 -:10C510008388D38080791072901C88470446204617 -:10C5200070BD0000C80101142C02011470FA00143F -:10C53000100000102DE9F05F14468B46814600F094 -:10C5400001F9B8B9384951F829603849307E756920 -:10C5500051F82000C06890F8950006EB4000B0F854 -:10C5600028A0707E28B1B07E38B1A878002857D1B5 -:10C5700047E027204042BDE8F09F296AA869401A99 -:10C5800029D0844200D90446E9697068738C0A1A7C -:10C59000A3EB0A00801A8046274644450CD3024686 -:10C5A0005846FEF7D6F87068E861296AC34401EB83 -:10C5B0000800A7EB0807286257B13A465846E969D0 -:10C5C000FEF7C7F8E8693844E861286A3844286209 -:10C5D000A87810B125E00024FAE7296AA869401A72 -:10C5E000718C091AB1EB4A0F1BD30220A870F17F9E -:10C5F000000240EA01310E4850F82900FDF736FCF0 -:10C600000FE0296AA869401A0AD0844200D904467A -:10C61000224658466969FEF79CF8A8692862E4E753 -:10C6200000242046A7E70000C80101142C020114D1 -:10C63000A09C00102DE9F05F14468946824600F068 -:10C6400081F870B9304951F82A60707E756938B147 -:10C65000B07E4FF0020B38B1287898B3002445E043 -:10C6600027204042BDE8F09F2969A868401A318C14 -:10C67000081A28D0844200D90446326868682746E0 -:10C68000121A02EB0108414644450CD30A464946BA -:10C69000FEF75FF830686860A968C14401EB0800E4 -:10C6A000A7EB0807A86057B13A4649466868FEF705 -:10C6B00050F8686838446860A8683844A8602878EA -:10C6C00018B113E014E00024F9E72969A86888424A -:10C6D0000CD000BF85F800B0B17F4FF4806040EA15 -:10C6E00001310A4850F82A00FDF7C0FB2046B9E79F -:10C6F000308CA04200D20446224649466868FEF7C4 -:10C7000028F8AC60E6E70000C8010114A09C001006 -:10C7100070B5C4B2204600F015F8002811D1451EAE -:10C720002846FDF7A9FB0101FAD4060AB00702D595 -:10C73000204600F09FF97007F2D5204600F09AF8E5 -:10C74000EEE770BD0D490978884212D20C4951F8C4 -:10C75000200070B1416961B10A49007E09788842C0 -:10C7600009D2094951F8200028B1C06818B1002049 -:10C77000704727207047212070470000C401011432 -:10C78000C8010114280201142C0201142DE9F04102 -:10C790000D460646FFF7D6FF002838D11D481E4932 -:10C7A00050F82640207E676951F82000617FC068FC -:10C7B00041F08001A9422AD0E17FA94227D0617EC1 -:10C7C00001291AD01548656B50F8260000B1804742 -:10C7D00094F82C0001281AD0608CA84217D30220AC -:10C7E000B870E07F4FF4007141EA00310C4850F816 -:10C7F0002600BDE8F041FDF739BBA17E09B1658C8B -:10C80000EAE790F8950004EB4000058DE4E7BDE809 -:10C81000F0810000C80101142C020114C8FA0014B0 -:10C82000A09C00102DE9F0410E460746FFF78AFF55 -:10C83000002818D10D484FF0000850F82740E07F3D -:10C840006569B04208D185F80280607E20B9084849 -:10C8500050F8270000B18047A07F40F08000B04230 -:10C8600001D185F80080BDE8F0810000C801011405 -:10C87000CCFA00142DE9F84F8346FFF763FF002838 -:10C880007DD1784951F82B507749287E6C6900900A -:10C8900051F82000C06890F8950005EB4000B0F812 -:10C8A00028802078012809D000206A7E01210026F6 -:10C8B000012A0AD02278012A6FD0A4E0A87F40F094 -:10C8C0008001009801F05EFCEFE7AA7E002A227842 -:10C8D00002D0012A56D05CE0012A18D1B0B1E2683A -:10C8E0000244E2602B8C2F681F44974201D8D21A71 -:10C8F000E260226902442261A368934207D1B0FB3F -:10C90000F8F308FB130010B9617000E0667022694B -:10C91000A068871A4046474500D9074660784FF01F -:10C92000FF3977B100B166706268E068904209D360 -:10C930002B8C2A681A44C3199A4203D2A2EB00092D -:10C9400000E0E8B12170D5F80CA0E168B84648468F -:10C950004F4507D302465046FDF7FBFE2968CA44FF -:10C96000A8EB0908B8F1000003D002465046FDF7D5 -:10C97000F0FEA87F3B4640F08001EA6819E06EE0D7 -:10C9800026701EE060B1B0FBF8F308FB1300A66050 -:10C9900020B1607828B1002306E014E06170FAE766 -:10C9A0006670A368002BEBD02170A87F626840F00E -:10C9B0008001009801F01AFB0028E1D120780028BE -:10C9C0004DD12A4843E0E8B195F82C20A2B995F85A -:10C9D0002D3022695B1E1A4004EB82029665E268E4 -:10C9E0002B6B1344E3602F8C2A6817449F4200D8B6 -:10C9F000E2602269521C2261A8F10102104202D1B8 -:10CA0000617000E066706078002388B995F82C00AA -:10CA100018B92269A068904202D12078022810D16A -:10CA200095F82D202069521E104004EB8000836D84 -:10CA30002170A87FE26840F08001009801F0D6FAEA -:10CA400008B1267002E02078002808D1084850F884 -:10CA50002B00002803D001B0BDE8F04F0047BDE82F -:10CA6000F88F0000C80101142C02011454FA0014BC -:10CA70009CFA00142DE9F14F82B00298FFF762FE94 -:10CA800000287CD16649029851F820506C69287EB4 -:10CA90000090A078012809D00026687E4FF0000998 -:10CAA000012809D0A078012876D08BE0E97F009892 -:10CAB00001F068FB0646F0E7A87E28B1A0780128BF -:10CAC00045D002284BD055E05649009851F8200037 -:10CAD000C06890F8950005EB4000008D0190A078AB -:10CAE000012824D11EB3676968686A8C391A0198D5 -:10CAF000D5F810B0101AA0EB010AB04650465645C2 -:10CB00000BD3024659463846FDF723FEA8EB0A0030 -:10CB10006F68D3445FEA000805D04246594638465C -:10CB2000FDF717FE47446761A0693044A061216AA0 -:10CB3000A069401A698C091A0198B1EB400F17D30C -:10CB40000120A070DDE90003E97F2A690DE0002ED5 -:10CB500063D084F80290A0693044A0610CE0012009 -:10CB6000A0706B8CE97F6269009801F03FFA08B110 -:10CB700084F80290002E50D02B48029901E04CE03E -:10CB80000AE050F82110002947D0226AA06903B0BA -:10CB9000801ABDE8F04F0847A6B195F82E10A0699D -:10CBA000491E084004EB800006666069696B014419 -:10CBB00061616A8C686802448A4200D86061A06939 -:10CBC000401CA06195F82C00012801D038B116E076 -:10CBD000A078022813D10120A070236D09E0216AFA -:10CBE000A069401A95F82E10884208D20120A07042 -:10CBF0006B6BE97F6269009801F0F8F908B184F87D -:10CC00000290002E09D00948029950F8210000280E -:10CC100003D003B0BDE8F04F0047BDE8FE8F000031 -:10CC2000C80101142C02011450FA0014A0FA0014D7 -:10CC300070B50446FFF786FD050025D1134850F86E -:10CC40002400407E01280AD0114800BF50F824007B -:10CC500000B180470F4E56F8240010B108E00E488E -:10CC6000F4E721460320FCF7A9FF46F8240050B161 -:10CC70000A4E56F8240038B921460420FCF79EFFDE -:10CC800046F8240000B91025284670BDC8010114DB -:10CC900098FA0014289D001060FA0014A09C00105F -:10CCA0002DE9F047C6B23046FFF74CFD00282FD1E2 -:10CCB0004FF0FF3900274846FDF7DEF80101FAD4AE -:10CCC000000A4007F7D53046FFF73CFD0028F2D1B7 -:10CCD000104951F826506C6995F81880E0780128C1 -:10CCE00008D1687F40F08001404601F04BFAE178BE -:10CCF000012909D00120E070687F636A40F080015B -:10CD00004046AA6801F072F90028D4D0E770D2E753 -:10CD1000BDE8F087C801011470B50E460546002431 -:10CD2000FFF710FD30B9044850F8252012B1304605 -:10CD300090470446204670BD78FA00142DE9F04172 -:10CD400016460F4605460024FFF7FCFC38B9054897 -:10CD500050F825201AB131463846904704462046FF -:10CD6000BDE8F0817CFA00142DE9F04116460F462B -:10CD700005460024FFF7E6FC38B9054850F82520A1 -:10CD80001AB131463846904704462046BDE8F08146 -:10CD900080FA001470B50E4605460024FFF7D2FC59 -:10CDA00030B9044850F8252012B130469047044667 -:10CDB000204670BD84FA001470B50E460546002466 -:10CDC000FFF7C0FC30B9044850F8252012B13046B6 -:10CDD00090470446204670BD88FA001470B50E4690 -:10CDE00005460024FFF7AEFC30B9044850F8252072 -:10CDF00012B1304690470446204670BD8CFA0014AC -:10CE000070B50E4605460024FFF79CFC30B9044877 -:10CE100050F8252012B1304690470446204670BD98 -:10CE200090FA001470B50E4605460024FFF78AFC00 -:10CE300030B9044850F8252012B1304690470446D6 -:10CE4000204670BD94FA001470B50D4606460024C5 -:10CE5000FFF778FC68B9084850F8261049B1284611 -:10CE60008847040005D0054850F82600406980F83E -:10CE70002B50204670BD0000A8FA0014C801011410 -:10CE80002DE9F04116460F4605460024FFF75AFCEF -:10CE900038B9054850F825201AB131463846904730 -:10CEA00004462046BDE8F081ACFA001470B50E4689 -:10CEB00005460024FFF746FC30B9044850F8252009 -:10CEC00012B1304690470446204670BDB0FA0014B7 -:10CED0002DE9F0411E461746884605460024FFF717 -:10CEE00031FC40B9054850F8253023B13246394667 -:10CEF0004046984704462046BDE8F081B4FA001445 -:10CF000070B50E4605460024FFF71CFC60B90748C3 -:10CF100050F8251041B130468847040004D0044839 -:10CF200050F8250040698685204670BDB8FA001487 -:10CF3000C801011470B50E4605460024FFF702FC37 -:10CF400030B9044850F8252012B1304690470446C5 -:10CF5000204670BDBCFA001470B50D46064600248C -:10CF6000FFF7F0FB68B9084850F8261049B1284689 -:10CF70008847040005D0054850F82600406980F82D -:10CF80002A50204670BD0000C0FA0014C8010114E8 -:10CF900070B50E4605460024FFF7D4FB60B907487C -:10CFA00050F8251041B130468847040004D00448A9 -:10CFB00050F8250040690663204670BDC4FA00148D -:10CFC000C80101142DE9F0410746FFF7BBFB00281B -:10CFD00056D12C480026842150F827506C692046F1 -:10CFE000A6702670FDF7CEFB286860602868E060B8 -:10CFF000686860616868E061687E012824D055F83F -:10D00000300F20632889A0851C2024F8680F15F8AC -:10D01000010C60802868606068892081A88960812F -:10D02000E889A081E68168682061288AA082688AF0 -:10D03000E082A88A20831448668350F827000028DD -:10D040001ED0BDE8F0410047A87E40B90F482685B4 -:10D050004FF41651016006714671082181710C4828 -:10D0600050F8270000B18047A87E002808D1094861 -:10D0700050F82710002903D0BDE8F04103480847C5 -:10D08000BDE8F081C8010114A4FA001420000010CA -:10D0900064FA001470FA00142DE9F0410446FFF719 -:10D0A00051FB050020D1134E002756F8240020B173 -:10D0B000FCF752FE40B946F824700F4E56F8240093 -:10D0C00030B1FCF749FE08B110250DE046F8247098 -:10D0D0000A4850F82400407E012808D0084800BFC4 -:10D0E00050F8240000B180472846BDE8F08105488B -:10D0F000F6E70000A09C0010289D0010C801011454 -:10D10000D0FA001474FA001407490978884209D249 -:10D11000064951F8200028B1C16819B1006808B16A -:10D120000020704721207047280201142C020114AE -:10D130002DE9F05F68490546002009788D4232D21A -:10D14000DFF8989159F8251000292CD0644951F83E -:10D150002510CC68002C26D094F8A010C1F3411201 -:10D16000012A20D1DFF87CA15F4F11F01F0107D009 -:10D1700001291AD002293FD0032914D10026A7E0A3 -:10D1800000260DE05AF826100978A94206D159F870 -:10D190002610D4F8AC008847002804D1761CF6B2DB -:10D1A00039788E42EED3BDE8F09F0026BB461EE0E4 -:10D1B0005AF8268098F80010A94216D15FF00007AF -:10D1C00007EBC70208EB42010A7952B1B4F8A42078 -:10D1D00049798A4205D159F82610D4F8AC0088471D -:10D1E00018B97F1CFFB2042FEAD3761CF6B29BF865 -:10D1F00000108E42DCD3D6E70026BB4654E000BFC9 -:10D200005AF8268098F80010A9424BD15FF0000729 -:10D2100007EBC70208EB42010A79EAB38A7922B127 -:10D22000B4F8A420CB799A4230D00A7A22B1B4F86B -:10D23000A4304A7A934229D08A7A22B1B4F8A42041 -:10D24000CB7A9A4222D00A7B22B1B4F8A4204B7B3D -:10D250009A421BD08A7B22B1B4F8A420CB7B9A429D -:10D2600014D00A7C22B1B4F8A4204B7C9A420DD091 -:10D270008A7C22B1B4F8A420CB7C9A4206D00A7DE5 -:10D2800052B1B4F8A420497D8A4207D159F826103A -:10D29000D4F8AC00884700E000E018B97F1CFFB26A -:10D2A000042FB5D3761CF6B29BF800108E42A7D39C -:10D2B00079E700BF5AF826100978A94206D159F833 -:10D2C0002610D4F8AC008847002894D1761CF6B21A -:10D2D00039788E42EED366E728020114D4FA00149E -:10D2E0002C02011424020114200201142DE9F05F24 -:10D2F00068490546002009788D4232D2DFF89891BE -:10D3000059F8251000292CD0644951F82510CC6813 -:10D31000002C26D094F8A010C1F34112012A20D18C -:10D32000DFF87CA15F4F11F01F0107D001291AD04F -:10D3300002293FD0032914D10026A7E000260DE0E2 -:10D340005AF826100978A94206D159F82610D4F8BF -:10D35000AC008847002804D1761CF6B239788E429A -:10D36000EED3BDE8F09F0026BB461EE05AF82680AB -:10D3700098F80010A94216D15FF0000707EBC7022A -:10D3800008EB42010A7952B1B4F8A42049798A42E3 -:10D3900005D159F82610D4F8AC00884718B97F1C7D -:10D3A000FFB2042FEAD3761CF6B29BF800108E422F -:10D3B000DCD3D6E70026BB4654E000BF5AF82680EF -:10D3C00098F80010A9424BD15FF0000707EBC702A5 -:10D3D00008EB42010A79EAB38A7922B1B4F8A420B1 -:10D3E000CB799A4230D00A7A22B1B4F8A4304A7A82 -:10D3F000934229D08A7A22B1B4F8A420CB7A9A42F7 -:10D4000022D00A7B22B1B4F8A4204B7B9A421BD0D5 -:10D410008A7B22B1B4F8A420CB7B9A4214D00A7C38 -:10D4200022B1B4F8A4204B7C9A420DD08A7C22B160 -:10D43000B4F8A420CB7C9A4206D00A7D52B1B4F84D -:10D44000A420497D8A4207D159F82610D4F8AC00AF -:10D45000884700E000E018B97F1CFFB2042FB5D365 -:10D46000761CF6B29BF800108E42A7D379E700BF76 -:10D470005AF826100978A94206D159F82610D4F88E -:10D48000AC008847002894D1761CF6B239788E42D9 -:10D49000EED366E728020114D8FA00142C02011416 -:10D4A00024020114200201142DE9F84F05466748B3 -:10D4B0000078854235D2DFF8989159F82500002888 -:10D4C0002FD0644850F82500C468002C29D094F867 -:10D4D000A000C0F34111012923D1DFF87CA1DFF8BE -:10D4E0007C8110F01F0009D001281CD0022843D0F5 -:10D4F000032816D100265746A034A2E0002657463E -:10D50000A0340AE057F826000078A84203D159F861 -:10D51000261020468847761CF6B298F8000086420E -:10D52000F0D3BDE8F88FCB4604F1A0000026C14639 -:10D5300000901CE05AF8268098F80000A84214D108 -:10D540005FF0000707EBC70108EB4100017941B12B -:10D55000B4F8A4104079814203D15BF826100098FA -:10D5600088477F1CFFB2042FECD3761CF6B299F8E3 -:10D5700000008642DED3D4E70026C34651E000BF58 -:10D580005AF8268098F80000A84248D15FF00007BA -:10D5900007EBC70108EB41000179E1B3817921B1C3 -:10D5A000B4F8A410C279914230D0017A21B1B4F814 -:10D5B000A410427A914229D0817A21B1B4F8A41002 -:10D5C000C27A914222D0017B21B1B4F8A410427BEF -:10D5D00091421BD0817B21B1B4F8A410C27B91424F -:10D5E00014D0017C21B1B4F8A410427C91420DD03A -:10D5F000817C21B1B4F8A410C27C914206D0017D97 -:10D6000049B1B4F8A410407D814204D159F82610E4 -:10D6100004F1A00088477F1CFFB2042FB8D3761C0A -:10D62000F6B29BF800008642AAD37AE757F82600A4 -:10D630000078A84203D159F8261020468847761C66 -:10D64000F6B298F800008642F0D36AE72802011487 -:10D65000DCFA00142C02011424020114200201142B -:10D660002DE9FE4F73490546002009788D423DD2D1 -:10D67000DFF8C49159F82510002937D06F4951F8C7 -:10D680002510CC68002C31D094F8A010C1F34112C1 -:10D69000012A2BD1DFF8A8A16A4F11F01F010CD08D -:10D6A000012925D0022951D003291FD1002604F1D8 -:10D6B000AC0B04F1A808A034B7E0002604F1AC0BD1 -:10D6C00004F1A808A0340EE05AF826100978A942FF -:10D6D00007D159F826305A46414620469847002837 -:10D6E00004D1761CF6B239788E42EDD3BDE8FE8FB8 -:10D6F0000026BB4625E000BF5AF8268098F80010A7 -:10D70000A9421CD104F1AC010291091F002701912B -:10D710000839009107EBC70208EB42010A7952B1C0 -:10D72000B4F8A42049798A4205D19DE8070059F848 -:10D730002630984718B97F1CFFB2042FEAD3761C15 -:10D74000F6B29BF800108E42D6D3CFE70026BB4638 -:10D7500057E000BF5AF8268098F80010A9424ED131 -:10D760005FF0000707EBC70208EB42010A79EAB352 -:10D770008A7922B1B4F8A430CA79934230D00A7AB7 -:10D7800022B1B4F8A4204B7A9A4229D08A7A22B1E5 -:10D79000B4F8A420CB7A9A4222D00A7B22B1B4F802 -:10D7A000A4204B7B9A421BD08A7B22B1B4F8A420E0 -:10D7B000CB7B9A4214D00A7C22B1B4F8A4204B7CD3 -:10D7C0009A420DD08A7C22B1B4F8A420CB7C9A4234 -:10D7D00006D00A7D52B1B4F8A420497D8A420AD10C -:10D7E00004F1AC0259F82630111F00E003E004F107 -:10D7F000A000984718B97F1CFFB2042FB2D3761C43 -:10D80000F6B29BF800108E42A4D36FE75AF82610A8 -:10D810000978A94207D159F825305A464146204691 -:10D820009847002891D1761CF6B239788E42EDD314 -:10D830005CE7000028020114E0FA00142C02011435 -:10D84000240201142002011470B505460024FFF7DC -:10D850005BFC30B9044850F82500C068007900B17D -:10D860000124204670BD00002C02011410B50446AE -:10D87000FFF74AFC002804D12046BDE8104000F024 -:10D8800089BA10BD70B504462D4E0D46C80704D0A8 -:10D8900056F8241009B101208847A80707D556F883 -:10D8A000241009B100208847204601F0F5FE6807E2 -:10D8B00021D5204601F0F0FE224850F824000668E9 -:10D8C000F078B38800F00302B178204600F0CCFA7B -:10D8D00048B9F078B38800F00302B07840F08001D6 -:10D8E000204600F0C1FA2046FCF732FE164850F8F8 -:10D8F000240000B1804728070BD51449012051F8B6 -:10D900002410C96881F89500114850F8240000B12E -:10D910008047E80604D50F4850F8240000B180473E -:10D92000A80604D50C4850F8240000B18047290A05 -:10D93000480704D02046BDE8704000F06DBD70BDC2 -:10D940002CFB0014140100101CFB00142C02011409 -:10D9500014FB001424FB001420FB001410B5044633 -:10D960000C480078844201D3002010BD0A4850F8CA -:10D970002400C0680028F8D00849D0F8AC0051F85D -:10D98000241088470028F0D12046BDE81040FFF75A -:10D99000CFBB0000280201142C02011404FB001468 -:10D9A00010B504460C480078844201D3002010BD15 -:10D9B0000A4850F82400C0680028F8D00849D0F878 -:10D9C000AC0051F8241088470028F0D12046BDE86B -:10D9D0001040FFF78BBC0000280201142C02011438 -:10D9E00008FB001410B504460A48007884420FD2A0 -:10D9F000094850F82400C068002809D00749A03021 -:10DA000051F8241088472046BDE81040FFF74CBD70 -:10DA100010BD0000280201142C0201140CFB00149C -:10DA200010B504460F480078844201D3002010BD91 -:10DA30000D4850F82400C0680028F8D00021C0F834 -:10DA4000A810C0F8AC10094900F1AC0251F824301C -:10DA5000111FA03098470028E9D12046BDE81040AA -:10DA6000FFF7FEBD280201142C02011410FB001464 -:10DA70002DE9F047C6B220480078864239D21F48C7 -:10DA800000244FF0FF3750F82600D0F800901C48D3 -:10DA900050F82600C10708D0810701D4012464276B -:10DAA000400702D444F0020464274FF00008E00766 -:10DAB00001D0012119E03846FCF7DEF901460001EA -:10DAC00013D5D9F81C00804700F001054545F2D078 -:10DAD000A846E00704D01DB101213046FFF7D2FE71 -:10DAE000A007E8D5002DE6D102213046FFF7CAFE97 -:10DAF000E1E7BDE8F0870000280201142C020114C0 -:10DB0000848C00100B490978884201D32A20704781 -:10DB1000094951F82000094900780978884207D25C -:10DB2000074951F8200018B1C06808B100207047BB -:10DB3000212070472002011424020114280201143C -:10DB40002C0201142DE9F041C4B22046FFF7DAFFA0 -:10DB5000002815D10B4E0C4D471E3846FCF78CF9AA -:10DB60000101FAD43278C0F3033104FB0211C9B2C7 -:10DB7000C0F3032055F821100029EED08847ECE7C8 -:10DB8000BDE8F0813002011430FB001470B50D4681 -:10DB90000446FFF7B7FF002808D1054850F82420B5 -:10DBA000002A03D02846BDE87040104770BD000031 -:10DBB000E4FA001470B50D460446FFF7A3FF0028F1 -:10DBC00008D1054850F82420002A03D02846BDE893 -:10DBD0007040104770BD0000E8FA00142DE9F041D4 -:10DBE0000546FFF78FFF002829D1174850F8250078 -:10DBF00000B1804715480124164E50F8250047888B -:10DC0000134800EB851816E0C0B205FB004012492E -:10DC100051F8201069B10121A140394209D058F8CA -:10DC2000241031B9C1B20120FBF7C8FF48F8240025 -:10DC300038B1641CE4B230788442E5D30020BDE8FA -:10DC4000F0811020FBE70000ECFA0014240201141C -:10DC5000309D0010300201141801001010B5044668 -:10DC6000FFF750FF002807D1044850F8240000288F -:10DC700002D0BDE81040004710BD0000F0FA0014CB -:10DC80002DE9F05F0546FFF73DFF00281FD118483A -:10DC90000124194E50F82500DFF86080A24647881D -:10DCA00014484FF0000B00EB851916E0C0B205FBDD -:10DCB000004158F8210070B10AFA04F038420AD045 -:10DCC00059F8240038B1FCF747F810B11020BDE82E -:10DCD000F09F49F824B0641CE4B230788442E5D364 -:10DCE000074850F8250000B180470020EFE700000A -:10DCF00024020114309D001030020114180100109C -:10DD0000F4FA001470B5174951F82010C9B1CC6865 -:10DD1000BCB1D4F89C200025AAB1497D491E0A4215 -:10DD200002D1012184F89610D4E92623802100F045 -:10DD30005DF9002804D1F4E926121144C4E9001564 -:10DD400070BD212070BD94F8961049B100231A4689 -:10DD5000802100F04BF90028F4D184F8965070BD72 -:10DD6000222070BD2C020114094910B551F8201071 -:10DD7000CC680021D4E9262300F038F9002805D129 -:10DD8000F4E92601084420600020606010BD000016 -:10DD90002C0201142DE9F04105460324154E08E03C -:10DDA00056F825006421FCF7D7F828B10A20FBF7C4 -:10DDB000DBFF641EE4B2F3D2BCB1DFF83C80022783 -:10DDC00058F82500006840698047040005D00A2003 -:10DDD000FBF7CAFF7F1EFFB2F2D256F82500FCF710 -:10DDE000F1F824B12220BDE8F0812320FBE70020D8 -:10DDF000F9E70000989D00102C0201142DE9F0476E -:10DE0000894605460324164E09E000BF56F8250052 -:10DE10006421FCF7A1F828B10A20FBF7A5FF641ED6 -:10DE2000E4B2F3D2C4B1DFF83C80022758F82500F1 -:10DE30000068416A48468847040005D00A20FBF77D -:10DE400093FF7F1EFFB2F1D256F82500FCF7BAF817 -:10DE500024B12220BDE8F0872320FBE70020F9E76A -:10DE6000989D00102C0201142DE9FF5F894601F0F6 -:10DE70000F020546102101EAD9002C499B461044A7 -:10DE80000B786B4302EB4302D4B2102802D309781B -:10DE90002144CCB2264F142202EB800057F8251003 -:10DEA000C968085820B14946284600F011F9A0BBBE -:10DEB000DFF88080022600BF58F824006421FCF7B8 -:10DEC0004BF828B10A20FBF74FFF761EF6B2F3D2CB -:10DED0004EB303264FEA070A5A465AF8250002991C -:10DEE0000068C36A484698470746801D06280CD23A -:10DEF000DFE800F00B0B0B030303761E16F0FF06A2 -:10DF000003D00A20FBF730FFE6E758F82400FCF7BF -:10DF100059F817F1020F06D01FB1222004B0BDE856 -:10DF2000F09F0020FAE72320F8E7000030020114F8 -:10DF30002C020114709D00102DE9F05F9346894674 -:10DF400001F00F020546102101EAD90024491044CE -:10DF50000B786B4302EB4302D4B2102802D309784A -:10DF60002144CCB2DFF87CA0142202EB80005AF8E6 -:10DF70002510C968085820B14946284600F0A8F87D -:10DF800038BBDFF864800226642158F82400FBF7D0 -:10DF9000E3FF28B10A20FBF7E7FE761EF6B2F3D2C4 -:10DFA000E6B102275AF8250059460068426B4846F8 -:10DFB0009047060005D00A20FBF7D6FE7F1EFFB271 -:10DFC000F0D258F82400FBF7FDFF16F1020F05D040 -:10DFD00016B12220BDE8F09F0020FBE72320F9E7DF -:10DFE000300201142C020114709D00102DE9FF5F16 -:10DFF000884601F00F03334A0446102101EAD80095 -:10E0000018440127157807FA00F1654303EB45032F -:10E01000DDB2102802D312782A44D5B22A4B53F825 -:10E020002420D268D6680E424AD1142101EB80091F -:10E030009A4652F8090038B15FEA087040D141466B -:10E04000204600F045F8A8BBDFF880B0022600BFEC -:10E050005BF825006421FBF77FFF28B10A20FBF75E -:10E0600083FE761EF6B2F3D256B35AF82410CA686D -:10E0700042F809705FF002075AF82400DDE9021245 -:10E080000068836B4046984706000BD00A20FBF7D8 -:10E090006BFE7F1EFFB2EFD25AF824000021C26847 -:10E0A00042F809105BF82500FBF78CFF16F1020F10 -:10E0B00006D01EB1222004B0BDE8F09F0020FAE790 -:10E0C0002320F8E7300201142C020114709D001087 -:10E0D0002DE9F05F8A4601F00F020446102101EAA3 -:10E0E000DA00254910440B78634302EB4302D5B2B2 -:10E0F000102802D309782944CDB2DFF8808058F87F -:10E100002410CA68142101EB800B52F80B00002880 -:10E1100020D0DFF86C900226642159F82500FBF727 -:10E120001BFF28B10A20FBF71FFE761EF6B2F3D2C2 -:10E130007EB1022758F824000068016C50468847D9 -:10E14000060009D00A20FBF70FFE7F1EFFB2F1D2B6 -:10E1500008E02320BDE8F09F58F824000021C268A1 -:10E1600042F80B1059F82500FBF72CFF0EB12220C6 -:10E17000F0E70020EEE70000300201142C02011449 -:10E18000709D00102DE9F04180460E46102001F0F0 -:10E190000F0200EAD600111815481029047808FB70 -:10E1A00004F302EB4302D4B202D300782044C4B299 -:10E1B000104F0225642157F82400FBF7CDFE28B14B -:10E1C0000A20FBF7D1FD6D1EEDB2F3D275B10A49FD -:10E1D00051F828000068C16B30468847054657F85B -:10E1E0002400FBF7EFFE2846BDE8F0810020FBE7A6 -:10E1F00030020114709D00102C0201142DE9F0472B -:10E20000894601F00F020546102101EAD90025498F -:10E2100010440B786B4302EB4302D4B2102802D3B4 -:10E2200009782144CCB2DFF880A0142202EB8000F0 -:10E230005AF82510C968085820B149462846FFF702 -:10E2400047FF38BBDFF86480022600BF58F824007F -:10E250006421FBF781FE28B10A20FBF785FD761EBD -:10E26000F6B2F3D2DEB102275AF825000068016B3E -:10E2700048468847060005D00A20FBF775FD7F1E3B -:10E28000FFB2F1D258F82400FBF79CFE16F1020F02 -:10E2900005D016B12220BDE8F0870020FBE723203F -:10E2A000F9E70000300201142C020114709D0010E7 -:10E2B000024951F820000068406800472C02011410 -:10E2C000024951F820000068006800472C02011440 -:10E2D0002DE9F04791468A4605460324164E08E08C -:10E2E00056F825006421FBF737FE28B10A20FBF71A -:10E2F0003BFD641EE4B2F3D2CCB1DFF840800227CC -:10E30000494658F825000068826850469047040046 -:10E3100005D00A20FBF728FD7F1EFFB2F0D256F889 -:10E320002500FBF74FFE24B12220BDE8F087232013 -:10E33000FBE70020F9E70000989D00102C02011473 -:10E340002DE9F047894605460324164E09E000BF33 -:10E3500056F825006421FBF7FFFD28B10A20FBF7E2 -:10E3600003FD641EE4B2F3D2C4B1DFF83C8002279F -:10E3700058F825000068016948468847040005D020 -:10E380000A20FBF7F1FC7F1EFFB2F1D256F8250000 -:10E39000FBF718FE24B12220BDE8F0872320FBE71D -:10E3A0000020F9E7989D00102C0201142DE9F04798 -:10E3B000894605460324164E09E000BF56F825009D -:10E3C0006421FBF7C9FD28B10A20FBF7CDFC641ED0 -:10E3D000E4B2F3D2C4B1DFF83C80022758F825003C -:10E3E0000068816A48468847040005D00A20FBF788 -:10E3F000BBFC7F1EFFB2F1D256F82500FBF7E2FD11 -:10E4000024B12220BDE8F0872320FBE70020F9E7B4 -:10E41000989D00102C0201142DE9F0470546DC48B8 -:10E4200088460078854278D2DFF8689359F82570DD -:10E43000002F72D0FC68002C6FD05FEA48704FF05C -:10E44000000632D594F8A000000621D5D4F89C002F -:10E4500010B994F8960020B12846FFF753FC20B37A -:10E460000AE094F8970000B384F897602846FFF715 -:10E4700075FA48B1012807D0012200212846FFF78C -:10E480005BFDC4F89C6010E0284601F052F90CE0F6 -:10E49000284601F046F940B96078010605D500F03C -:10E4A0007F0161702846FFF7A9FC5FEA887045D5B7 -:10E4B00094F8A00001063ED4D4F89C1021B128465F -:10E4C000FFF752FC50B32EE094F8971059B184F83E -:10E4D00097602846FFF764FA08B1012823D128463F -:10E4E00001F01AF92AE0C0F34111E1B101291AD172 -:10E4F00010F01F0017D0012802D0022813D10EE01F -:10E500002846FBF7DDFF48B92846FBF78DFF28B901 -:10E51000284600F041F908B905E04AE00EE0284637 -:10E52000FBF786FFF7E7012280212846FFF704FD6D -:10E53000C4F89C6002E0284601F000F95FEAC87068 -:10E5400037D02846C84659F82010C968A031FFF7CF -:10E550002DFF00282DD12846FFF762FA0121B8B31C -:10E56000012863D1D4F8A80018B9D4F8AC20002A47 -:10E570005CD1B4F8A620F2B1C4F89800D4F8AC008D -:10E58000C4F89C0084F8971094F8A0301B0603D4BC -:10E590002846FFF7E9FB0AE0904205D27A7D521E39 -:10E5A000104201D184F896102846FFF7ABFB0028F3 -:10E5B0003CD1BDE8F08794F8A0000006284603D4BB -:10E5C000BDE8F04701F0A8B8BDE8F04701F0B1B8E8 -:10E5D000B868C4F89800B4F8A6007A8B904202D9C3 -:10E5E000C4F89C2001E0C4F89C0094F8A000C0F39B -:10E5F000411222B1012A7DD0022A17D19BE094F862 -:10E60000A1000C2812D2DFE800F00612AF14AF1AF6 -:10E6100034AF3A505471284600F05EFD2CE0284695 -:10E62000FFF7E0F92846FFF76DFBE0B39CE000211F -:10E6300000E00121284600F0A9FD98B994E058F8BF -:10E640002500C06880B3B0F8A41069BBB0F8A6106C -:10E6500051BB90F8A010C90626D190F8A21041F045 -:10E66000800141702846FFF7BDF9284601F054F8B3 -:10E6700068E0284600F00CFC0028D0D174E058F87F -:10E680002500C06880B1B0F8A2206AB9B0F8A42013 -:10E6900052B9B0F8A620012A66D190F8A020D2067F -:10E6A00062D1021D1EE04AE040E0284600F0F4FD81 -:10E6B000C3E758F82520CAB3D068B8B3B0F8A23081 -:10E6C000A3BBB0F8A630012B4ED190F8A03003F0D8 -:10E6D0001F03012B48D1B0F8A430578ABB4243D264 -:10E6E00052681A44C0E9262199E703E0284600F061 -:10E6F00007FFA2E710F01F0036D0012802D0022841 -:10E7000032D114E02846FBF7D9FE58B92846FBF76A -:10E71000DBFE38B92846FBF785FE18B9284600F01D -:10E72000FFF818B12846FFF75DF90BE01CE028461A -:10E73000FBF77CFEF5E7284600F074FC9CE72846D2 -:10E7400000F0F7FF94F8A00000063FF532AFB4F8F0 -:10E75000A60000283FF42DAF2846FFF705FB002850 -:10E76000F8D00122802109E094F8A0000006B4F856 -:10E77000A60009D40028F4D0012200212846FFF782 -:10E78000DBFBC4F89C6014E70028EAD1F4E7000042 -:10E79000280201142C0201142DE9F04107463B48E0 -:10E7A000007887426BD23A4850F82750002D66D047 -:10E7B000EC688CB30026DFF8DC805CE0364850F86B -:10E7C000260040B3017EB94253D1B4F8A410C27EF2 -:10E7D000914202D0007F81424BD194F8A1004128A0 -:10E7E0002CD007DC68B1022817D020281BD0402885 -:10E7F0003FD11CE082282AD086282DD0882838D105 -:10E8000030E0B4F8A6103046FDF732FE2FE038466F -:10E8100000F082FFB0B32CE031E0B4F8A210304633 -:10E82000FDF744FE23E03046FDF75CFE1FE0B4F840 -:10E83000A2203046A968FEF723FB18E0B4F8A63002 -:10E84000B4F8A2103046AA68FEF742FB0FE030464B -:10E85000A968FEF76FFB0AE0A86801683046FEF77A -:10E8600097FB04E0A86801883046FEF749FB0028C2 -:10E87000CDD1761CF6B298F8000086429ED30020D7 -:10E88000BDE8F081FFE70120FAE70000280201144B -:10E890002C020114C4010114C8010114F0B51B4A73 -:10E8A000127890422FD21A4A52F82020D56855B3D8 -:10E8B0000023DFF860C0184F22E000BF5CF823405F -:10E8C000227882421AD1002202EBC20604EB4606ED -:10E8D00096F804E0BEF1000F0CD095F8A2E076792E -:10E8E000B64507D10D4850F8230050F822000860C3 -:10E8F0000120F0BD521CD2B2042AE5D35B1CDBB26E -:10E900003A789342DAD30020F0BD000028020114C7 -:10E910002C020114240201142002011450010114DC -:10E920002DE9FC5FC74980460978884277D2C649FD -:10E9300051F82850002D72D0EC68002CFBD0002735 -:10E940004FF0040B4FF00209DFF800A372E1C0485A -:10E9500050F82760002E6ED0307E40456BD1B4F861 -:10E96000A400F17E884202D0317F8842F6D194F82B -:10E97000A100432876D01DDC212874D00DDC0328AB -:10E980005AD005DC80B3012832D00228E6D147E016 -:10E9900004285DD02028E1D168E0402871D004DC53 -:10E9A00022286FD02328D9D18DE041281CD04228BD -:10E9B000D4D1C2E0852874D00EDC822872D006DC67 -:10E9C000442870D080286FD08128C7D1E6E0832802 -:10E9D0006BD08428C2D1FBE0863805282BD2DFE833 -:10E9E00000F09DF01FEFEE00A868C4F898009FE0CB -:10E9F00000200090ADF80400B4F8A61001AB6A4600 -:10EA00003846FDF7F1FC002815D00099002906D002 -:10EA1000BDF80400002802D0C4E9261012E07BE013 -:10EA2000D4F89C00022877D3A868C4F898007FD94E -:10EA3000C4F89C907CE070E0B4F8A2103846FDF772 -:10EA4000D1FC80E04046FFF75DF9002874D0EFE08C -:10EA5000B4F8A60000285FD1B4F8A2103846FDF73C -:10EA6000BFFC2BE07AE00EE0B0B3E1E0D4F89C000C -:10EA7000072851D3A868C4F8980059D94FF0070067 -:10EA80003CE02AE012E03846FDF7C6FC002844D0FE -:10EA9000A868C4F89800D4F89C000728D2D90720A9 -:10EAA00089E09FE02DE062E068E08CE0B4F8A60029 -:10EAB00090BBB4F8A2103846FDF7FAFC68B34046A4 -:10EAC00000F02AFED0E7B4F8A60028BBB4F8A210E4 -:10EAD0003846FDF7CBFCF1E712E0B4F8A200D4F819 -:10EAE0009C1000EB4002B1EB420F15D3A968C4F8AB -:10EAF00098101DD900EB40004FEA4000C4F89C007C -:10EB000016E0D4F89C00062806D3A868C4F898003C -:10EB10000ED94FF00600F1E754E04FE0D4F89C0026 -:10EB200004284FD3A868C4F8980001D9C4F89CB051 -:10EB30004FF00100BDE8FC9F6DE0B4F8A21038462C -:10EB4000AA68FEF7FBF8C8B3A868C4F89800D4F820 -:10EB50009C000228A2D9C4F89C9073E7B4F8A600E0 -:10EB600080BBB4F8A2103846FEF7A0F9A6E7B4F8C7 -:10EB7000A2103846AA68FEF7F7F837E07169384600 -:10EB80006831FEF74FF9C8B170696830C4F8980071 -:10EB9000D4F89C001C28E0D91C200CE03846A96859 -:10EBA000FEF70AF950B1A868C4F89800D4F89C00A0 -:10EBB0000628D2D90620C4F89C0043E738E02EE0AE -:10EBC00024E01EE03BE03846A968FEF707F9BAE703 -:10EBD000B4F8A60098BB706990F82A103846FEF782 -:10EBE000BBF96BE73846A968FEF70AF900B3A868D5 -:10EBF000C4F89800D4F89C000428AED9C4F89CB09E -:10EC000020E73846A968FEF7C5F89CE73846A968AA -:10EC1000FEF782F897E7404600F08BFD24E7B4F852 -:10EC2000A60060B9B4F8A2103846FEF70DF945E722 -:10EC30007F1CFFB29AF800008742FFF488AE0020E4 -:10EC400078E70000280201142C020114C401011409 -:10EC5000C801011470B50C460546FEF755FA0028A8 -:10EC600005D121462846BDE87040FFF731BA70BD96 -:10EC70002DE9F0411C4615460E460746FEF744FABC -:10EC8000002807D123462A4631463846BDE8F041E0 -:10EC9000FFF7ACB9BDE8F08170B50C460546FEF74C -:10ECA00033FA08B1002070BD21462846BDE8704007 -:10ECB000FFF768BA2DE9F0411D4616460C46074697 -:10ECC000FEF722FA002808D144F080012B46324694 -:10ECD0003846BDE8F041FFF789B9BDE8F081000092 -:10ECE0002DE9F05F0446FEF70FFA050078D15C4885 -:10ECF00050F82400C768387810B10020BDE8F09FB4 -:10ED00002046FFF7DDFA574901EB840108602046F1 -:10ED1000FFF7CEFA544941F82400B0213846FBF7FA -:10ED200031FDDFF84CA1DFF84491DFF848B19AF8E3 -:10ED3000000059F8241004FB00F639B900222146DE -:10ED40001046FBF7D5F849F8240078B3002510E009 -:10ED500005EB460000F0FF085BF8280038B92A46AA -:10ED600021460120FBF7C4F84BF82800F0B16D1CD8 -:10ED7000EDB29AF80000B5EB400FE9D33E4850F8E9 -:10ED80002400426A3AB1364850F82400C18A11B1D1 -:10ED90001046FBF7F7FC394850F8240000B18047D3 -:10EDA0002046FBF7B1FB050023D102E0FFE7122567 -:10EDB0001FE0334D55F8240030B921460020FAF702 -:10EDC000FDFE45F8240060B12E4850F824202E485E -:10EDD00050F824102046FFF77BFA050009D102E025 -:10EDE0003BE010250EE002212046FFF7A9FA0500BE -:10EDF00012D0234F57F8240020B1FAF7ADFF0020BE -:10EE000047F824002046FBF791FB204850F82400E7 -:10EE100000B18047002712E0012038701DE000BFDC -:10EE200007EB460000F0FF085BF8281029B1084600 -:10EE3000FBF7D0F800204BF828007F1CFFB29AF8AF -:10EE40000000B7EB400FEBD359F824004E4620B139 -:10EE5000FBF7C0F8002046F8240028464EE70000E3 -:10EE60002C0201149C9D0010848C0010989D0010B1 -:10EE700030020114709D00101401001018FB0014E2 -:10EE80002C9D0010B8000114B400011428FB0014DC -:10EE90002DE9F0415F490978884273D25E4951F803 -:10EEA0002060002E6ED0F568002D6BD0B5F8A6104E -:10EEB000002967D095F8A010584C11F01F0102D01E -:10EEC00001295FD186E0B5F8A2205549130A082B25 -:10EED00058D2DFE803F090041D5890900E3F12F0D6 -:10EEE000FF0F4FD151F820004068C5F8980012205C -:10EEF0006EE0727C002A7ED095F8952051F82000B3 -:10EF000022B1C068C5F898000A2061E08068F9E77E -:10EF1000737C002B95F8953007D03BB151F8200059 -:10EF2000406920600020D2B20BE05BBB51F82000AA -:10EF30000069F6E721680B7813B14B88194421600A -:10EF4000401C8242F6D120680178D9B1C5F89800FA -:10EF500040883DE0737CABB195F8953051F82000C6 -:10EF600023B1C06920600020D2B208E08069F9E7CF -:10EF700021680B7813B14B8819442160401C8242F0 -:10EF8000F6D1E0E737E0D2B2032A05D151F82030BC -:10EF90005B6A0BB11F782FB9EE2A05D151F82030EA -:10EFA0009B6A0BB123600DE051F82000006A2060DD -:10EFB000002005E02368197809B119442160401C3C -:10EFC0008242F7D120680178A9B1C5F8980000788D -:10EFD000606009E0114A121D111FFBF76DFA00284D -:10EFE0000AD02068C5F89800B5F8A6006168884284 -:10EFF00004D3084603E00020BDE8F0816060C5F856 -:10F000009C00717D491E014202D1012085F89600C5 -:10F010000120F1E7280201142C0201140000001065 -:10F020001401001070B528490978884220D2274978 -:10F0300051F82060E6B1F468D4B194F8A110327EA2 -:10F04000914215D1B4F8A210090A11D1B4F8A61052 -:10F0500071B194F8A0101E4D11F01F0102D00129CA -:10F0600006D10EE0B4F8A410042903D005290CD071 -:10F07000002070BD174951F82000C06A80B1A86017 -:10F080000AE0B4F8A41005290AD111490831FFF7A4 -:10F0900005FC0028EDD0A868C4F898000068E86076 -:10F0A000B4F8A600E968884201D3084600E0E860A9 -:10F0B000C4F89C00717D491E014202D1012084F8F0 -:10F0C0009600012070BD0000280201142C020114DA -:10F0D0000000001014010010F0B52A490978884298 -:10F0E0004ED2294951F82020F2B3D068002846D0EA -:10F0F000926800F19801BAB3B0F8A230A3BBB0F89F -:10F10000A630022B3CD190F8A0304FF0020613F04D -:10F110001F0305D00024012B09D0022B30D110E0B1 -:10F12000B0F8A42002BB801CC1E9000626E00379E8 -:10F13000D3B190F8A43090F89400834220D2147098 -:10F1400019E090F8A430102703F08F0505F00F03A5 -:10F1500007EAD5071F440123BB4007790FB92D07E4 -:10F160000ED185681D4200E00AE009D0C068184051 -:10F1700000D0012010705470C1E900260120F0BDBC -:10F180000020F0BD280201142C0201142DE9F041E9 -:10F1900007463D480078874265D23C4850F8270032 -:10F1A000C468002C5FD0B4F8A600E8BB94F8A000B7 -:10F1B00010F01F0004D0012855D0022853D117E0C9 -:10F1C000B4F8A20001284ED141B1314850F82700CF -:10F1D00000B18047608840F0020007E02D4850F8F9 -:10F1E000270000B18047608820F00200608048E07E -:10F1F00094F8A400102200F08F0606F00F0002EA37 -:10F20000D60210440125227985406AB1A2682A42BB -:10F2100029D0B4F8A220A2BB320724D0C1B104EB9C -:10F220008000406930B100E01DE031463846FEF70D -:10F230004FFFC0B9012231463846FEF77DFE90B936 -:10F24000E06831462843E0603846FBF7BFF918E034 -:10F25000D4E903010840284213D100223146384640 -:10F26000FEF76AFE10B10020BDE8F081E06831468B -:10F27000A843E0603846FBF725F931463846FBF7EE -:10F2800075F90120F0E70000280201142C02011496 -:10F2900000FB0014FCFA00142DE9FC5F9449804641 -:10F2A000097888427ED2934951F82870002F79D08E -:10F2B000FC68002CFBD0B4F8A400002872D1B4F88C -:10F2C000A6000028FAD1009094F8A00010F01F0FBB -:10F2D000F4D194F8A2004FF0000A10F0FF0F4FF0A5 -:10F2E000010B4FF4803977D0797C8348002994F85A -:10F2F000951004D029B150F8280045699DE00029F7 -:10F30000DCD150F82800056997E06878022804D01D -:10F31000042868D0052863D168E0697994F8A200D0 -:10F3200081425ED129797A8A91423BD8207128792D -:10F3300084F89400002003E07A6802F800A0401CE2 -:10F34000798A8142F8D80126A1680BFA06F00142B9 -:10F3500013D004EB8600406928B131464046FEF7E1 -:10F36000B7FE00281ED131464046FEF747FF002871 -:10F3700018D131464046FBF729F9A16809FA06F091 -:10F38000014218D004EB8600406D30B146F0800198 -:10F390004046FEF79DFE002804D146F0800140461D -:10F3A000019100E075E0FEF729FF002871D1404689 -:10F3B0000199FBF70BF9761CF6B2102EC4D34FF06F -:10F3C0000110C4E9020AC4F810A0E8794006608878 -:10F3D00003D540F0010002E034E020F0010060803D -:10F3E00029E0688828E0E878009024E0009810BBC5 -:10F3F000A878102200F08F0101F00F0002EAD1027C -:10F4000010440BFA00F604EB8000406918B1404646 -:10F41000FEF75EFEE8BBA0683043A060E878AB88EA -:10F4200000F00302A9784046FEF71EFD88BBA978CC -:10F430004046FBF79BF828780544287800287FF49D -:10F4400064AF41E0564684F804A001254FEA0B075B -:10F45000A16807FA05F0014211D004EB850040696C -:10F4600020B129464046FEF733FE90B92946404672 -:10F47000FEF7C4FE68B929464046FBF7A7F8A16825 -:10F4800009FA05F0014216D004EB8500406D38B151 -:10F4900000E02BE045F080014046FEF719FE28BB56 -:10F4A00045F080018A464046FEF7A8FEF0B9514675 -:10F4B0004046FBF78BF86D1CEDB2102DC8D34FF012 -:10F4C0000110C4E902062661207994F8A21088424E -:10F4D0000CD121794046FBF747F8084850F828102E -:10F4E00009B1207988470120BDE8FC9F0020FBE797 -:10F4F000280201142C02011414010010F8FA00145F -:10F500002DE9FE4F07466148007887427ED2604869 -:10F5100050F82760002E79D0F468002C76D0B4F82B -:10F52000A600002872D18346CDF808B094F8A00058 -:10F53000D84600F01F00DA46D946012866D1207966 -:10F54000002871D0717C5348002994F8951004D09C -:10F5500029B150F8270045698CE0002956D150F8B0 -:10F560002700056986E06878022804D0042808D0BE -:10F5700005287DD11FE068792179884278D0688894 -:10F5800077E0B4F8A400718A88426AD295F80280C4 -:10F5900095F803A04FF0000B404569D1B4F8A210D4 -:10F5A000514565D170684FF0010910F808100291BB -:10F5B00000F808A05CE0B4F8A410414558D1A87840 -:10F5C000102200F08F0000F00F01009002EAD0003E -:10F5D0000844012181400191B4F8A220524524D170 -:10F5E000A168019A04EB80001143A160E168019ACF -:10F5F0009143E160406920B138460099FEF768FD0B -:10F6000020B9E878AB8800F0030200E029E0A9788F -:10F610003846FEF729FC20BB38460099FAF7A6FFCA -:10F6200001994BEA010B23E01CE0029A92451FD19D -:10F63000019A1BEA020F1BD1A16804EB80009143E1 -:10F64000A160E168019A9143E160406920B13846C8 -:10F650000099FEF73DFD20B938460099FEF7CEFD32 -:10F6600010B10020BDE8FE8F38460099FAF7AEFFD2 -:10F6700028780544287800287FF475AFB9F1000F89 -:10F6800001D084F805804846ECE700002802011408 -:10F690002C0201141401001070B5084D0446AF216E -:10F6A00055F82400C068401CFBF76CF855F824009E -:10F6B000017CC068C1F38011418070BD2C0201142F -:10F6C000024A52F82000FAF7D1BB00002C9D00102E -:10F6D000F0B40E4D01F00F03102455F8205004EA49 -:10F6E000D1011944ED68142606EB810100246C5009 -:10F6F000190341EA0221064A127800FB0230054A4A -:10F7000052F820000068F0BCFAF7B0BB2C020114DC -:10F71000300201141801001000231A468021FEF760 -:10F7200065BC10B58021FEF72DFD002800D02220F9 -:10F7300010BD00231A461946FEF758BC10B5044602 -:10F740000021FEF71FFD08B1222010BD064850F829 -:10F750002400C068406D0028F7D02046BDE8104066 -:10F760008021FEF7B5BC00002C02011402E008C89D -:10F77000121F08C1002AFAD170477047002001E02B -:10F7800001C1121F002AFBD17047000003000000D6 -:10F79000E803000005000000805C0010200000006D -:10F7A0000000000000000000000000000000000059 -:10F7B0000000000000000000005D001000100000CC -:10F7C0000000000000000000000000000000000039 -:10F7D0000000000000000000000000000000000029 -:10F7E0000004000068FC0014A4FC00148CFC00144D -:10F7F00004000000346E00102071001000000000B2 -:10F8000000000000000000000000000000000000F8 -:10F8100000000000846D0010346E00100000000035 -:10F8200000000000006D0010346D001000000000AA -:10F8300000000000000000000000000000000000C8 -:10F8400000000000180000000000000000000000A0 -:10F8500025690014316900143569001449690014E0 -:10F860005D690014696900147569001481690014E8 -:10F87000ED690014F9690014056A0014116A001496 -:10F88000656A0014816A001425690014E96A00148D -:10F89000ED6A0014016B0014156B0014216B001449 -:10F8A0002D6B0014396B0014A56B0014B16B0014A0 -:10F8B000B96B0014C56B0014196C00143D6C001476 -:10F8C000318400143D8400144184001475840014B4 -:10F8D0009D8400141D870014458700146D87001453 -:10F8E000A5870014D5870014018800143D880014F2 -:10F8F00079890014198A0014F58A0014518B0014B8 -:10F90000758B0014298C001400000000000000001A -:10F9100000000000000000000000000000000000E7 -:10F92000200000000000000000000000290000008E -:10F9300000100840000000009CF9001494F9001425 -:10F9400000000000000000000000000000000000B7 -:10F950000000000000000000000000000815054045 -:10F960000C15054000250540042505409C00054078 -:10F97000001000000431054054310540180000001B -:10F980000000000000000000000000009C290010A2 -:10F990000000BA4302010000010000000200000064 -:10F9A0000100000001040100916A00140100000040 -:10F9B00000200840002008400000000014FA001455 -:10F9C0000000000000000000000000000000000037 -:10F9D00000000000000000000000000010150540BD -:10F9E000141505400024054004240540A0000540EE -:10F9F000002000000431054054310540190000008A -:10FA00000000000000000000A4F90014D02900103C -:10FA100000000000010E000001000000C8FC0014FE -:10FA200000000000346E001044000000207100103F -:10FA300000020000180000000000000000000000AC -:10FA40000002000020000000000200002000000072 -:10FA50007906001459A4001445A4001439080014B0 -:10FA600061050014B107001441A4001455080014E6 -:10FA7000E107001429050014A9A4001479A40014B6 -:10FA800081A40014A1A4001489A4001491A400145A -:10FA900099A4001485A400145DA40014B1A400145A -:10FAA000B5A4001465A40014ADA4001471A400143E -:10FAB0007DA4001475A40014A5A400148DA4001442 -:10FAC00095A400149DA4001469A400146DA400144E -:10FAD00061A4001435020014310200142D02001438 -:10FAE00029020014F501001425020014C9010014B4 -:10FAF000F1010014ED010014EDA40014F5A40014AC -:10FB0000F1A4001405A5001401A50014FDA400141F -:10FB1000F9A40014E1A40014CDA40014DDA4001481 -:10FB2000E9A40014E5A40014D1A40014D5A4001481 -:10FB300000000000390200140D0300141903001422 -:10FB40001D030014001000001111F1002411E10048 -:10FB50003B11D1005511C1007411B1009911A100E0 -:10FB6000C7119100001281002212F20049127100A7 -:10FB70007612D200AA126100E812B20033135100CB -:10FB80006D13E3008E139200B113D30000144100F3 -:10FB90004414F4005D14B30092147200CC14A3005A -:10FBA000EC14D40055153100B615E500D115B4009C -:10FBB000001683002716D50066165200AA16C50047 -:10FBC000DB1673001C1794004517B5006217D600AA -:10FBD0007717F700001821008818F8009D18D70043 -:10FBE000BA18B600E3189500241974005519C70017 -:10FBF00099195300D819D800001A85002E1AB70099 -:10FC0000491AE900AA1A3200131BD900331BA700B6 -:10FC10006D1B7500A21BB800BB1BFB00001C430042 -:10FC20004E1CDA00711C9700921CEB00CC1C540097 -:10FC3000171DB900551D6500891DDB00B61D760036 -:10FC4000DD1DFD00001E8700381E9800661EA900FD -:10FC50008B1EBA00AA1ECB00C41EDC00DB1EED000A -:10FC6000EE1EFE000000000000000000000000008A -:10FC7000786E0010440000002073001000020000A5 -:10FC80000100000000000000000000000000000073 -:10FC900000000000006D001034000000346D001002 -:10FCA000500000000000000000000000BC6E0010CA -:10FCB0004400000020750010000200002800000031 -:10FCC0000000000000000000434443305F41434D0A -:10FCD0005F554152545F746F5F5553425F54687271 -:10FCE00065616400555342445F437573746F6D439F -:10FCF0006C617373305F4550315F54687265616445 -:10FD000000555342445F437573746F6D436C617368 -:10FD100073305F4550325F546872656164005553BB -:10FD200042445F437573746F6D436C617373305FEE -:10FD30004550335F54687265616400555342445FB7 -:10FD4000437573746F6D436C617373305F455034EA -:10FD50005F5468726561640055534244305F436F7D -:10FD600072655F54687265616400555342445F4335 -:10FD70004443305F42756C6B5F5468726561640028 -:10FD8000555342445F434443305F496E745F546847 -:10FD900072656164000000005254582056352E35BB -:10FDA0002E3200000902690003010080FA090400F4 -:10FDB0000003FF0000040705010240000007058161 -:10FDC0000240000007058202400000080B01020209 -:10FDD00002010509040100010202000505240010CA -:10FDE000010524010301042402060524060102077B -:10FDF00005830310000209040200020A000006073E -:10FE000005040240000007058402400000000000D5 -:10FE10000902690003010080FA0904000003FF00E1 -:10FE2000000407050102000200070581020002002C -:10FE300007058202000200080B0102020201050907 -:10FE4000040100010202000505240010010524013F -:10FE5000030104240206052406010207058303109A -:10FE6000000209040200020A00000607050402005D -:10FE700002000705840200020000000058FD001483 -:10FE800000000000006F0010440000002077001008 -:10FE9000000400002000000000000000000000003E -:10FEA000C0F80014208B0010E08B0010248B001091 -:10FEB00080010300064010000100800012010002D2 -:10FEC000EF02014051C20AF00001010203010000EB -:10FED0000A06000200000040010000000A060002BD -:10FEE0000000004001000000070500004000000085 -:10FEF00028000000000104000100000000000000D4 -:10FF0000000157494E555342000000000000000018 -:10FF1000000000000000000012034D0053004600E6 -:10FF20005400310030003000010000000907690072 -:10FF300003010080FA0904000003FF000004070524 -:10FF4000010200020007058102000200070582028B -:10FF5000000200080B010202020105090401000170 -:10FF600002020005052400100105240103010424F8 -:10FF70000206052406010207058303100002090496 -:10FF80000200020A0000060705040200020007053D -:10FF900084020002000000000907690003010080DC -:10FFA000FA0904000003FF000004070501024000F5 -:10FFB000000705810240000007058202400000089A -:10FFC0000B01020202010509040100010202000501 -:10FFD0000524001001052401030104240206052460 -:10FFE0000601020705830310000209040200020A49 -:10FFF00000000607050402400000070584024000D7 -:020000041401E5 -:10000000000000000403090428034B0045004900D8 -:100010004C0020002D00200054006F006F006C0089 -:1000200073002000420079002000410052004D0082 -:1000300014034C00500043002D004C0069006E007A -:100040006B0032001A0330003000300031004100F4 -:100050003000300030003000300030003000280325 -:100060004C00500043002D004C0069006E006B00F6 -:100070003200200043004D005300490053002D0082 -:1000800044004100500016035500530042005F0039 -:1000900043004400430030005F0030001603550069 -:1000A000530042005F0043004400430030005F0003 -:1000B00031000000E59F0014ED9F00148E00000049 -:1000C000000105000100840000000100000028007C -:1000D00044006500760069006300650049006E0019 -:1000E00074006500720066006100630065004700EF -:1000F00055004900440000004E0000007B00430012 -:1001000044004200330042003500410044002D000D -:1001100032003900330042002D0034003600360032 -:1001200033002D0041004100330036002D00310026 -:1001300041004100450034003600340036003300F1 -:100140003700370036007D0000000000000000008E -:100150000401001000000000000000000002000088 -:10016000200000000002000020000000000200004B -:10017000200000000002000020000000A0960010F7 -:10018000948C0010888C0010A09A0010A09400108D -:10019000A49C0010000100010203040400040008F4 -:1001A00010001000400000020000000000000000ED -:1001B000000000000000000000000000000000003F -:1001C00000000000010000007C01011480FD00140B -:1001D0006AFD001400000600010001010181018296 -:1001E00000820003008300040084000100010081FC -:1001F000000200820003008300040084000200016A -:1002000000810002008200030083000400840003D8 -:1002100000010081000200820003008300040084CA -:1002200001000000D401011401000000A0FE001430 -:100230000500000000080114000000100008000084 -:100240006CF700140010011400080010A0990000C1 -:100250007CF70014F0D095030000000000000000BF -:10026000000000000000000000000000000000008E -:10027000000000000000000000000000000000007E -:10028000000000000000000000000000000000006E -:10029000000000000000000000000000000000005E -:1002A000000000000000000000000000000000004E -:1002B000000000000000000000000000000000003E -:1002C000000000000000000000000000000000002E -:1002D000000000000000000000000000000000001E -:1002E000000000000000000000000000000000000E -:1002F00000000000000000000000000000000000FE -:1003000000000000000000000000000000000000ED -:1003100000000000000000000000000000000000DD -:1003200000000000000000000000000000000000CD -:1003300000000000000000000000000000000000BD -:1003400000000000000000000000000000000000AD -:10035000000000000000000000000000000000009D -:10036000000000000000000000000000000000008D -:10037000000000000000000000000000000000007D -:10038000000000000000000000000000000000006D -:10039000000000000000000000000000000000005D -:1003A000000000000000000000000000000000004D -:1003B000000000000000000000000000000000003D -:1003C000000000000000000000000000000000002D -:1003D000000000000000000000000000000000001D -:1003E000000000000000000000000000000000000D -:1003F00000000000000000000000000000000000FD -:1004000000000000000000000000000000000000EC -:1004100000000000000000000000000000000000DC -:1004200000000000000000000000000000000000CC -:1004300000000000000000000000000000000000BC -:1004400000000000000000000000000000000000AC -:10045000000000000000000000000000000000009C -:10046000000000000000000000000000000000008C -:10047000000000000000000000000000000000007C -:10048000000000000000000000000000000000006C -:10049000000000000000000000000000000000005C -:1004A000000000000000000000000000000000004C -:1004B000000000000000000000000000000000003C -:1004C000000000000000000000000000000000002C -:1004D000000000000000000000000000000000001C -:1004E000000000000000000000000000000000000C -:1004F00000000000000000000000000000000000FC -:1005000000000000000000000000000000000000EB -:1005100000000000000000000000000000000000DB -:1005200000000000000000000000000000000000CB -:1005300000000000000000000000000000000000BB -:1005400000000000000000000000000000000000AB -:10055000000000000000000000000000000000009B -:10056000000000000000000000000000000000008B -:10057000000000000000000000000000000000007B -:10058000000000000000000000000000000000006B -:10059000000000000000000000000000000000005B -:1005A000000000000000000000000000000000004B -:1005B000000000000000000000000000000000003B -:1005C000000000000000000000000000000000002B -:1005D000000000000000000000000000000000001B -:1005E000000000000000000000000000000000000B -:1005F00000000000000000000000000000000000FB -:1006000000000000000000000000000000000000EA -:1006100000000000000000000000000000000000DA -:1006200000000000000000000000000000000000CA -:1006300000000000000000000000000000000000BA -:1006400000000000000000000000000000000000AA -:10065000000000000000000000000000000000009A -:10066000000000000000000000000000000000008A -:10067000000000000000000000000000000000007A -:10068000000000000000000000000000000000006A -:10069000000000000000000000000000000000005A -:1006A000000000000000000000000000000000004A -:1006B000000000000000000000000000000000003A -:1006C000000000000000000000000000000000002A -:1006D000000000000000000000000000000000001A -:1006E000000000000000000000000000000000000A -:1006F00000000000000000000000000000000000FA -:1007000000000000000000000000000000000000E9 -:1007100000000000000000000000000000000000D9 -:1007200000000000000000000000000000000000C9 -:1007300000000000000000000000000000000000B9 -:1007400000000000000000000000000000000000A9 -:100750000000000000000000000000000000000099 -:100760000000000000000000000000000000000089 -:100770000000000000000000000000000000000079 -:100780000000000000000000000000000000000069 -:100790000000000000000000000000000000000059 -:1007A0000000000000000000000000000000000049 -:1007B0000000000000000000000000000000000039 -:1007C0000000000000000000000000000000000029 -:1007D0000000000000000000000000000000000019 -:1007E0000000000000000000000000000000000009 -:1007F00000000000000000000000000000000000F9 -:1008000000000000000000000000000000000000E8 -:1008100000000000000000000000000000000000D8 -:1008200000000000000000000095BA0A010000006E -:1008300098FD0014D2B3FB0200000000000000008D -:1008400000000000000000000000000000000000A8 -:100850000000000000000000000000000000000098 -:100860000000000000000000000000000000000088 -:100870000000000000000000000000000000000078 -:100880000000000000000000000000000000000068 -:100890000000000000000000000000000000000058 -:1008A0000000000000000000000000000000000048 -:1008B0000000000000000000000000000000000038 -:1008C0000000000000000000000000000000000028 -:1008D00000000000E8FE0014BCFE0014D0FE00146E -:1008E000DCFE0014A4FD001410FE00142CFF001404 -:1008F00098FF001404000114608C001018FF00140D -:10090000F0FE0014BC0001144A0101144B01011453 -:100910004C010114D40000102C9D0010349D0010D7 -:10092000389D0010289D0010A09C001000000000C1 -:1009300000000000000000000000000000000000B7 -:1009400000000000000000000000000000000000A7 -:100950000000000000000000000000000000000097 -:100960000000000000000000000000000000000087 -:100970000000000000000000000000000000000077 -:100980000000000000000000000000000000000067 -:100990000000000000000000000000000000000057 -:1009A0000000000000000000000000000000000047 -:1009B0000000000000000000000000000000000037 -:1009C0000000000000000000000000000000000027 -:1009D0000000000000000000000000000000000017 -:1009E0000000000000000000000000000000000007 -:1009F00000000000000000000000000000000000F7 -:100A000000000000000000000000000000000000E6 -:100A100000000000000000000000000000000000D6 -:100A200000000000000000000000000000000000C6 -:100A300000000000000000000000000000000000B6 -:100A400000000000000000000000000000000000A6 -:100A50000000000000000000000000000000000096 -:100A60000000000000000000000000000000000086 -:100A70000000000000000000000000000000000076 -:100A80000000000000000000000000000000000066 -:100A90000000000000000000000000000000000056 -:100AA0000000000000000000000000000000000046 -:100AB0000000000000000000000000000000000036 -:100AC0000000000000000000000000000000000026 -:100AD0000000000000000000000000000000000016 -:100AE0000000000000000000000000000000000006 -:100AF00000000000000000000000000000000000F6 -:100B000000000000000000000000000000000000E5 -:100B100000000000000000000000000000000000D5 -:100B200000000000000000000000000000000000C5 -:100B300000000000000000000000000000000000B5 -:100B400000000000000000000000000000000000A5 -:100B50000000000000000000000000000000000095 -:100B60000000000000000000000000000000000085 -:100B70000000000000000000000000000000000075 -:100B80000000000000000000000000000000000065 -:100B90000000000000000000000000000000000055 -:100BA0000000000000000000000000000000000045 -:100BB0000000000000000000000000000000000035 -:100BC0000000000000000000000000000000000025 -:100BD0000000000000000000000000000000000015 -:100BE0000000000000000000000000000000000005 -:100BF00000000000000000000000000000000000F5 -:100C000000000000000000000000000000000000E4 -:100C100000000000000000000000000000000000D4 -:100C200000000000000000000000000000000000C4 -:100C300000000000000000000000000000000000B4 -:100C400000000000000000000000000000000000A4 -:100C50000000000000000000000000000000000094 -:100C60000000000000000000000000000000000084 -:100C70000000000000000000000000000000000074 -:100C80000000000000000000000000000000000064 -:100C90000000000000000000000000000000000054 -:100CA0000000000000000000000000000000000044 -:100CB0000000000000000000000000000000000034 -:100CC0000000000000000000000000000000000024 -:100CD0000000000000000000000000000000000014 -:100CE0000000000000000000000000000000000004 -:100CF00000000000000000000000000000000000F4 -:100D000000000000000000000000000000000000E3 -:100D100000000000000000000000000000000000D3 -:100D200000000000000000000000000000000000C3 -:100D300000000000000000000000000000000000B3 -:100D400000000000000000000000000000000000A3 -:100D50000000000000000000000000000000000093 -:100D60000000000000000000000000000000000083 -:100D70000000000000000000000000000000000073 -:100D80000000000000000000000000000000000063 -:100D90000000000000000000000000000000000053 -:100DA0000000000000000000000000000000000043 -:100DB0000000000000000000000000000000000033 -:100DC0000000000000000000000000000000000023 -:100DD0000000000000000000000000000000000013 -:100DE0000000000000000000000000000000000003 -:100DF00000000000000000000000000000000000F3 -:100E000000000000000000000000000000000000E2 -:100E100000000000000000000000000000000000D2 -:100E200000000000000000000000000000000000C2 -:100E300000000000000000000000000000000000B2 -:100E400000000000000000000000000000000000A2 -:100E50000000000000000000000000000000000092 -:100E60000000000000000000000000000000000082 -:100E70000000000000000000000000000000000072 -:100E80000000000000000000000000000000000062 -:100E90000000000000000000000000000000000052 -:100EA0000000000000000000000000000000000042 -:100EB0000000000000000000000000000000000032 -:100EC0000000000000000000000000000000000022 -:100ED0000000000000000000000000000000000012 -:100EE0000000000000000000000000000000000002 -:100EF00000000000000000000000000000000000F2 -:100F000000000000000000000000000000000000E1 -:100F100000000000000000000000000000000000D1 -:100F200000000000000000000000000000000000C1 -:100F300000000000000000000000000000000000B1 -:100F400000000000000000000000000000000000A1 -:100F50000000000000000000000000000000000091 -:100F60000000000000000000000000000000000081 -:100F70000000000000000000000000000000000071 -:100F80000000000000000000000000000000000061 -:100F90000000000000000000000000000000000051 -:100FA0000000000000000000000000000000000041 -:100FB0000000000000000000000000000000000031 -:100FC0000000000000000000000000000000000021 -:100FD0000000000000000000000000000000000011 -:100FE0000000000000000000000000000000000001 -:100FF00000000000000000000000000000000000F1 -:0400000514000115CD -:00000001FF diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/README.md b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/README.md deleted file mode 100644 index 2029c8a..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/README.md +++ /dev/null @@ -1,8 +0,0 @@ -CMSIS-DAP v2 firmware for NXP LPC-Link2 debug probe. - -CMSIS-DAP v2 uses USB bulk endpoints for the communication with the host PC and is therefore faster. -Optionally, support for streaming SWO trace is provided via an additional USB endpoint. - -Following targets are available: - - LPC-Link2: stand-alone debug probe - - LPC-Link2 on-board: on-board debug probe (LPC55S69-EVK, MIMXRT1064-EVK, ...) diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/CMSIS/RTX_Config.c b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/CMSIS/RTX_Config.c deleted file mode 100644 index 22151e9..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/CMSIS/RTX_Config.c +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (c) 2013-2017 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ----------------------------------------------------------------------------- - * - * $Revision: V5.1.0 - * - * Project: CMSIS-RTOS RTX - * Title: RTX Configuration - * - * ----------------------------------------------------------------------------- - */ - -#include "cmsis_compiler.h" -#include "rtx_os.h" - -// OS Idle Thread -__WEAK __NO_RETURN void osRtxIdleThread (void *argument) { - (void)argument; - - for (;;) {} -} - -// OS Error Callback function -__WEAK uint32_t osRtxErrorNotify (uint32_t code, void *object_id) { - (void)object_id; - - switch (code) { - case osRtxErrorStackUnderflow: - // Stack overflow detected for thread (thread_id=object_id) - break; - case osRtxErrorISRQueueOverflow: - // ISR Queue overflow detected when inserting object (object_id) - break; - case osRtxErrorTimerQueueOverflow: - // User Timer Callback Queue overflow detected for timer (timer_id=object_id) - break; - case osRtxErrorClibSpace: - // Standard C/C++ library libspace not available: increase OS_THREAD_LIBSPACE_NUM - break; - case osRtxErrorClibMutex: - // Standard C/C++ library mutex initialization failed - break; - default: - break; - } - for (;;) {} -//return 0U; -} diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/CMSIS/RTX_Config.h b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/CMSIS/RTX_Config.h deleted file mode 100644 index fb6a8c1..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/CMSIS/RTX_Config.h +++ /dev/null @@ -1,580 +0,0 @@ -/* - * Copyright (c) 2013-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ----------------------------------------------------------------------------- - * - * $Revision: V5.5.1 - * - * Project: CMSIS-RTOS RTX - * Title: RTX Configuration definitions - * - * ----------------------------------------------------------------------------- - */ - -#ifndef RTX_CONFIG_H_ -#define RTX_CONFIG_H_ - -#ifdef _RTE_ -#include "RTE_Components.h" -#ifdef RTE_RTX_CONFIG_H -#include RTE_RTX_CONFIG_H -#endif -#endif - -//-------- <<< Use Configuration Wizard in Context Menu >>> -------------------- - -// System Configuration -// ======================= - -// Global Dynamic Memory size [bytes] <0-1073741824:8> -// Defines the combined global dynamic memory size. -// Default: 32768 -#ifndef OS_DYNAMIC_MEM_SIZE -#define OS_DYNAMIC_MEM_SIZE 4096 -#endif - -// Kernel Tick Frequency [Hz] <1-1000000> -// Defines base time unit for delays and timeouts. -// Default: 1000 (1ms tick) -#ifndef OS_TICK_FREQ -#define OS_TICK_FREQ 1000 -#endif - -// Round-Robin Thread switching -// Enables Round-Robin Thread switching. -#ifndef OS_ROBIN_ENABLE -#define OS_ROBIN_ENABLE 1 -#endif - -// Round-Robin Timeout <1-1000> -// Defines how many ticks a thread will execute before a thread switch. -// Default: 5 -#ifndef OS_ROBIN_TIMEOUT -#define OS_ROBIN_TIMEOUT 5 -#endif - -// - -// ISR FIFO Queue -// <4=> 4 entries <8=> 8 entries <12=> 12 entries <16=> 16 entries -// <24=> 24 entries <32=> 32 entries <48=> 48 entries <64=> 64 entries -// <96=> 96 entries <128=> 128 entries <196=> 196 entries <256=> 256 entries -// RTOS Functions called from ISR store requests to this buffer. -// Default: 16 entries -#ifndef OS_ISR_FIFO_QUEUE -#define OS_ISR_FIFO_QUEUE 32 -#endif - -// Object Memory usage counters -// Enables object memory usage counters (requires RTX source variant). -#ifndef OS_OBJ_MEM_USAGE -#define OS_OBJ_MEM_USAGE 0 -#endif - -// - -// Thread Configuration -// ======================= - -// Object specific Memory allocation -// Enables object specific memory allocation. -#ifndef OS_THREAD_OBJ_MEM -#define OS_THREAD_OBJ_MEM 0 -#endif - -// Number of user Threads <1-1000> -// Defines maximum number of user threads that can be active at the same time. -// Applies to user threads with system provided memory for control blocks. -#ifndef OS_THREAD_NUM -#define OS_THREAD_NUM 1 -#endif - -// Number of user Threads with default Stack size <0-1000> -// Defines maximum number of user threads with default stack size. -// Applies to user threads with zero stack size specified. -#ifndef OS_THREAD_DEF_STACK_NUM -#define OS_THREAD_DEF_STACK_NUM 0 -#endif - -// Total Stack size [bytes] for user Threads with user-provided Stack size <0-1073741824:8> -// Defines the combined stack size for user threads with user-provided stack size. -// Applies to user threads with user-provided stack size and system provided memory for stack. -// Default: 0 -#ifndef OS_THREAD_USER_STACK_SIZE -#define OS_THREAD_USER_STACK_SIZE 0 -#endif - -// - -// Default Thread Stack size [bytes] <96-1073741824:8> -// Defines stack size for threads with zero stack size specified. -// Default: 3072 -#ifndef OS_STACK_SIZE -#define OS_STACK_SIZE 1024 -#endif - -// Idle Thread Stack size [bytes] <72-1073741824:8> -// Defines stack size for Idle thread. -// Default: 512 -#ifndef OS_IDLE_THREAD_STACK_SIZE -#define OS_IDLE_THREAD_STACK_SIZE 512 -#endif - -// Idle Thread TrustZone Module Identifier -// Defines TrustZone Thread Context Management Identifier. -// Applies only to cores with TrustZone technology. -// Default: 0 (not used) -#ifndef OS_IDLE_THREAD_TZ_MOD_ID -#define OS_IDLE_THREAD_TZ_MOD_ID 0 -#endif - -// Stack overrun checking -// Enables stack overrun check at thread switch. -// Enabling this option increases slightly the execution time of a thread switch. -#ifndef OS_STACK_CHECK -#define OS_STACK_CHECK 1 -#endif - -// Stack usage watermark -// Initializes thread stack with watermark pattern for analyzing stack usage. -// Enabling this option increases significantly the execution time of thread creation. -#ifndef OS_STACK_WATERMARK -#define OS_STACK_WATERMARK 0 -#endif - -// Processor mode for Thread execution -// <0=> Unprivileged mode -// <1=> Privileged mode -// Default: Privileged mode -#ifndef OS_PRIVILEGE_MODE -#define OS_PRIVILEGE_MODE 1 -#endif - -// - -// Timer Configuration -// ====================== - -// Object specific Memory allocation -// Enables object specific memory allocation. -#ifndef OS_TIMER_OBJ_MEM -#define OS_TIMER_OBJ_MEM 0 -#endif - -// Number of Timer objects <1-1000> -// Defines maximum number of objects that can be active at the same time. -// Applies to objects with system provided memory for control blocks. -#ifndef OS_TIMER_NUM -#define OS_TIMER_NUM 1 -#endif - -// - -// Timer Thread Priority -// <8=> Low -// <16=> Below Normal <24=> Normal <32=> Above Normal -// <40=> High -// <48=> Realtime -// Defines priority for timer thread -// Default: High -#ifndef OS_TIMER_THREAD_PRIO -#define OS_TIMER_THREAD_PRIO 40 -#endif - -// Timer Thread Stack size [bytes] <0-1073741824:8> -// Defines stack size for Timer thread. -// May be set to 0 when timers are not used. -// Default: 512 -#ifndef OS_TIMER_THREAD_STACK_SIZE -#define OS_TIMER_THREAD_STACK_SIZE 512 -#endif - -// Timer Thread TrustZone Module Identifier -// Defines TrustZone Thread Context Management Identifier. -// Applies only to cores with TrustZone technology. -// Default: 0 (not used) -#ifndef OS_TIMER_THREAD_TZ_MOD_ID -#define OS_TIMER_THREAD_TZ_MOD_ID 0 -#endif - -// Timer Callback Queue entries <0-256> -// Number of concurrent active timer callback functions. -// May be set to 0 when timers are not used. -// Default: 4 -#ifndef OS_TIMER_CB_QUEUE -#define OS_TIMER_CB_QUEUE 4 -#endif - -// - -// Event Flags Configuration -// ============================ - -// Object specific Memory allocation -// Enables object specific memory allocation. -#ifndef OS_EVFLAGS_OBJ_MEM -#define OS_EVFLAGS_OBJ_MEM 0 -#endif - -// Number of Event Flags objects <1-1000> -// Defines maximum number of objects that can be active at the same time. -// Applies to objects with system provided memory for control blocks. -#ifndef OS_EVFLAGS_NUM -#define OS_EVFLAGS_NUM 1 -#endif - -// - -// - -// Mutex Configuration -// ====================== - -// Object specific Memory allocation -// Enables object specific memory allocation. -#ifndef OS_MUTEX_OBJ_MEM -#define OS_MUTEX_OBJ_MEM 0 -#endif - -// Number of Mutex objects <1-1000> -// Defines maximum number of objects that can be active at the same time. -// Applies to objects with system provided memory for control blocks. -#ifndef OS_MUTEX_NUM -#define OS_MUTEX_NUM 1 -#endif - -// - -// - -// Semaphore Configuration -// ========================== - -// Object specific Memory allocation -// Enables object specific memory allocation. -#ifndef OS_SEMAPHORE_OBJ_MEM -#define OS_SEMAPHORE_OBJ_MEM 0 -#endif - -// Number of Semaphore objects <1-1000> -// Defines maximum number of objects that can be active at the same time. -// Applies to objects with system provided memory for control blocks. -#ifndef OS_SEMAPHORE_NUM -#define OS_SEMAPHORE_NUM 1 -#endif - -// - -// - -// Memory Pool Configuration -// ============================ - -// Object specific Memory allocation -// Enables object specific memory allocation. -#ifndef OS_MEMPOOL_OBJ_MEM -#define OS_MEMPOOL_OBJ_MEM 0 -#endif - -// Number of Memory Pool objects <1-1000> -// Defines maximum number of objects that can be active at the same time. -// Applies to objects with system provided memory for control blocks. -#ifndef OS_MEMPOOL_NUM -#define OS_MEMPOOL_NUM 1 -#endif - -// Data Storage Memory size [bytes] <0-1073741824:8> -// Defines the combined data storage memory size. -// Applies to objects with system provided memory for data storage. -// Default: 0 -#ifndef OS_MEMPOOL_DATA_SIZE -#define OS_MEMPOOL_DATA_SIZE 0 -#endif - -// - -// - -// Message Queue Configuration -// ============================== - -// Object specific Memory allocation -// Enables object specific memory allocation. -#ifndef OS_MSGQUEUE_OBJ_MEM -#define OS_MSGQUEUE_OBJ_MEM 0 -#endif - -// Number of Message Queue objects <1-1000> -// Defines maximum number of objects that can be active at the same time. -// Applies to objects with system provided memory for control blocks. -#ifndef OS_MSGQUEUE_NUM -#define OS_MSGQUEUE_NUM 1 -#endif - -// Data Storage Memory size [bytes] <0-1073741824:8> -// Defines the combined data storage memory size. -// Applies to objects with system provided memory for data storage. -// Default: 0 -#ifndef OS_MSGQUEUE_DATA_SIZE -#define OS_MSGQUEUE_DATA_SIZE 0 -#endif - -// - -// - -// Event Recorder Configuration -// =============================== - -// Global Initialization -// Initialize Event Recorder during 'osKernelInitialize'. -#ifndef OS_EVR_INIT -#define OS_EVR_INIT 0 -#endif - -// Start recording -// Start event recording after initialization. -#ifndef OS_EVR_START -#define OS_EVR_START 1 -#endif - -// Global Event Filter Setup -// Initial recording level applied to all components. -// Error events -// API function call events -// Operation events -// Detailed operation events -// -#ifndef OS_EVR_LEVEL -#define OS_EVR_LEVEL 0x00U -#endif - -// RTOS Event Filter Setup -// Recording levels for RTX components. -// Only applicable if events for the respective component are generated. - -// Memory Management -// Recording level for Memory Management events. -// Error events -// API function call events -// Operation events -// Detailed operation events -// -#ifndef OS_EVR_MEMORY_LEVEL -#define OS_EVR_MEMORY_LEVEL 0x01U -#endif - -// Kernel -// Recording level for Kernel events. -// Error events -// API function call events -// Operation events -// Detailed operation events -// -#ifndef OS_EVR_KERNEL_LEVEL -#define OS_EVR_KERNEL_LEVEL 0x01U -#endif - -// Thread -// Recording level for Thread events. -// Error events -// API function call events -// Operation events -// Detailed operation events -// -#ifndef OS_EVR_THREAD_LEVEL -#define OS_EVR_THREAD_LEVEL 0x05U -#endif - -// Generic Wait -// Recording level for Generic Wait events. -// Error events -// API function call events -// Operation events -// Detailed operation events -// -#ifndef OS_EVR_WAIT_LEVEL -#define OS_EVR_WAIT_LEVEL 0x01U -#endif - -// Thread Flags -// Recording level for Thread Flags events. -// Error events -// API function call events -// Operation events -// Detailed operation events -// -#ifndef OS_EVR_THFLAGS_LEVEL -#define OS_EVR_THFLAGS_LEVEL 0x01U -#endif - -// Event Flags -// Recording level for Event Flags events. -// Error events -// API function call events -// Operation events -// Detailed operation events -// -#ifndef OS_EVR_EVFLAGS_LEVEL -#define OS_EVR_EVFLAGS_LEVEL 0x01U -#endif - -// Timer -// Recording level for Timer events. -// Error events -// API function call events -// Operation events -// Detailed operation events -// -#ifndef OS_EVR_TIMER_LEVEL -#define OS_EVR_TIMER_LEVEL 0x01U -#endif - -// Mutex -// Recording level for Mutex events. -// Error events -// API function call events -// Operation events -// Detailed operation events -// -#ifndef OS_EVR_MUTEX_LEVEL -#define OS_EVR_MUTEX_LEVEL 0x01U -#endif - -// Semaphore -// Recording level for Semaphore events. -// Error events -// API function call events -// Operation events -// Detailed operation events -// -#ifndef OS_EVR_SEMAPHORE_LEVEL -#define OS_EVR_SEMAPHORE_LEVEL 0x01U -#endif - -// Memory Pool -// Recording level for Memory Pool events. -// Error events -// API function call events -// Operation events -// Detailed operation events -// -#ifndef OS_EVR_MEMPOOL_LEVEL -#define OS_EVR_MEMPOOL_LEVEL 0x01U -#endif - -// Message Queue -// Recording level for Message Queue events. -// Error events -// API function call events -// Operation events -// Detailed operation events -// -#ifndef OS_EVR_MSGQUEUE_LEVEL -#define OS_EVR_MSGQUEUE_LEVEL 0x01U -#endif - -// - -// - -// RTOS Event Generation -// Enables event generation for RTX components (requires RTX source variant). - -// Memory Management -// Enables Memory Management event generation. -#ifndef OS_EVR_MEMORY -#define OS_EVR_MEMORY 1 -#endif - -// Kernel -// Enables Kernel event generation. -#ifndef OS_EVR_KERNEL -#define OS_EVR_KERNEL 1 -#endif - -// Thread -// Enables Thread event generation. -#ifndef OS_EVR_THREAD -#define OS_EVR_THREAD 1 -#endif - -// Generic Wait -// Enables Generic Wait event generation. -#ifndef OS_EVR_WAIT -#define OS_EVR_WAIT 1 -#endif - -// Thread Flags -// Enables Thread Flags event generation. -#ifndef OS_EVR_THFLAGS -#define OS_EVR_THFLAGS 1 -#endif - -// Event Flags -// Enables Event Flags event generation. -#ifndef OS_EVR_EVFLAGS -#define OS_EVR_EVFLAGS 1 -#endif - -// Timer -// Enables Timer event generation. -#ifndef OS_EVR_TIMER -#define OS_EVR_TIMER 1 -#endif - -// Mutex -// Enables Mutex event generation. -#ifndef OS_EVR_MUTEX -#define OS_EVR_MUTEX 1 -#endif - -// Semaphore -// Enables Semaphore event generation. -#ifndef OS_EVR_SEMAPHORE -#define OS_EVR_SEMAPHORE 1 -#endif - -// Memory Pool -// Enables Memory Pool event generation. -#ifndef OS_EVR_MEMPOOL -#define OS_EVR_MEMPOOL 1 -#endif - -// Message Queue -// Enables Message Queue event generation. -#ifndef OS_EVR_MSGQUEUE -#define OS_EVR_MSGQUEUE 1 -#endif - -// - -// - -// Number of Threads which use standard C/C++ library libspace -// (when thread specific memory allocation is not used). -#if (OS_THREAD_OBJ_MEM == 0) -#ifndef OS_THREAD_LIBSPACE_NUM -#define OS_THREAD_LIBSPACE_NUM 4 -#endif -#else -#define OS_THREAD_LIBSPACE_NUM OS_THREAD_NUM -#endif - -//------------- <<< end of configuration section >>> --------------------------- - -#endif // RTX_CONFIG_H_ diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/Device/LPC4322_Cortex-M4/RTE_Device.h b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/Device/LPC4322_Cortex-M4/RTE_Device.h deleted file mode 100644 index 146a2d4..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/Device/LPC4322_Cortex-M4/RTE_Device.h +++ /dev/null @@ -1,2483 +0,0 @@ -/* -------------------------------------------------------------------------- - * Copyright (c) 2013-2016 Arm Limited (or its affiliates). All - * rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * $Date: 25. April 2016 - * $Revision: V2.2.1 - * - * Project: RTE Device Configuration for NXP LPC43xx - * -------------------------------------------------------------------------- */ - -//-------- <<< Use Configuration Wizard in Context Menu >>> -------------------- - -#ifndef __RTE_DEVICE_H -#define __RTE_DEVICE_H - - -// USB0 Controller [Driver_USBD0 and Driver_USBH0] -// Configuration settings for Driver_USBD0 in component ::Drivers:USB Device -// Configuration settings for Driver_USBH0 in component ::Drivers:USB Host -#define RTE_USB_USB0 1 - -// Pin Configuration -// USB0_PPWR (Host) <0=>Not used <1=>P1_7 <2=>P2_0 <3=>P2_3 <4=>P6_3 -// VBUS drive signal (towards external charge pump or power management unit). -#define RTE_USB0_PPWR_ID 0 -#if (RTE_USB0_PPWR_ID == 0) - #define RTE_USB0_PPWR_PIN_EN 0 -#elif (RTE_USB0_PPWR_ID == 1) - #define RTE_USB0_PPWR_PORT 1 - #define RTE_USB0_PPWR_BIT 7 - #define RTE_USB0_PPWR_FUNC 4 -#elif (RTE_USB0_PPWR_ID == 2) - #define RTE_USB0_PPWR_PORT 2 - #define RTE_USB0_PPWR_BIT 0 - #define RTE_USB0_PPWR_FUNC 3 -#elif (RTE_USB0_PPWR_ID == 3) - #define RTE_USB0_PPWR_PORT 2 - #define RTE_USB0_PPWR_BIT 3 - #define RTE_USB0_PPWR_FUNC 7 -#elif (RTE_USB0_PPWR_ID == 4) - #define RTE_USB0_PPWR_PORT 6 - #define RTE_USB0_PPWR_BIT 3 - #define RTE_USB0_PPWR_FUNC 1 -#else - #error "Invalid RTE_USB0_PPWR Pin Configuration!" -#endif -#ifndef RTE_USB0_PPWR_PIN_EN - #define RTE_USB0_PPWR_PIN_EN 1 -#endif -// USB0_PWR_FAULT (Host) <0=>Not used <1=>P1_5 <2=>P2_1 <3=>P2_4 <4=>P6_6 <5=>P8_0 -// Port power fault signal indicating overcurrent condition. -// This signal monitors over-current on the USB bus -// (external circuitry required to detect over-current condition). -#define RTE_USB0_PWR_FAULT_ID 0 -#if (RTE_USB0_PWR_FAULT_ID == 0) - #define RTE_USB0_PWR_FAULT_PIN_EN 0 -#elif (RTE_USB0_PWR_FAULT_ID == 1) - #define RTE_USB0_PWR_FAULT_PORT 1 - #define RTE_USB0_PWR_FAULT_BIT 5 - #define RTE_USB0_PWR_FAULT_FUNC 4 -#elif (RTE_USB0_PWR_FAULT_ID == 2) - #define RTE_USB0_PWR_FAULT_PORT 2 - #define RTE_USB0_PWR_FAULT_BIT 1 - #define RTE_USB0_PWR_FAULT_FUNC 3 -#elif (RTE_USB0_PWR_FAULT_ID == 3) - #define RTE_USB0_PWR_FAULT_PORT 2 - #define RTE_USB0_PWR_FAULT_BIT 4 - #define RTE_USB0_PWR_FAULT_FUNC 7 -#elif (RTE_USB0_PWR_FAULT_ID == 4) - #define RTE_USB0_PWR_FAULT_PORT 6 - #define RTE_USB0_PWR_FAULT_BIT 6 - #define RTE_USB0_PWR_FAULT_FUNC 3 -#elif (RTE_USB0_PWR_FAULT_ID == 5) - #define RTE_USB0_PWR_FAULT_PORT 8 - #define RTE_USB0_PWR_FAULT_BIT 0 - #define RTE_USB0_PWR_FAULT_FUNC 1 -#else - #error "Invalid RTE_USB0_PWR_FAULT Pin Configuration!" -#endif -#ifndef RTE_USB0_PWR_FAULT_PIN_EN - #define RTE_USB0_PWR_FAULT_PIN_EN 1 -#endif -// USB0_IND0 <0=>Not used <1=>P1_4 <2=>P2_5 <3=>P2_6 <4=>P6_8 <5=>P8_2 -// USB0 port indicator LED control output 0 -#define RTE_USB0_IND0_ID 0 -#if (RTE_USB0_IND0_ID == 0) - #define RTE_USB0_IND0_PIN_EN 0 -#elif (RTE_USB0_IND0_ID == 1) - #define RTE_USB0_IND0_PORT 1 - #define RTE_USB0_IND0_BIT 4 - #define RTE_USB0_IND0_FUNC 4 -#elif (RTE_USB0_IND0_ID == 2) - #define RTE_USB0_IND0_PORT 2 - #define RTE_USB0_IND0_BIT 5 - #define RTE_USB0_IND0_FUNC 7 -#elif (RTE_USB0_IND0_ID == 3) - #define RTE_USB0_IND0_PORT 2 - #define RTE_USB0_IND0_BIT 6 - #define RTE_USB0_IND0_FUNC 3 -#elif (RTE_USB0_IND0_ID == 4) - #define RTE_USB0_IND0_PORT 6 - #define RTE_USB0_IND0_BIT 8 - #define RTE_USB0_IND0_FUNC 3 -#elif (RTE_USB0_IND0_ID == 5) - #define RTE_USB0_IND0_PORT 8 - #define RTE_USB0_IND0_BIT 2 - #define RTE_USB0_IND0_FUNC 1 -#else - #error "Invalid RTE_USB0_IND0 Pin Configuration!" -#endif -#ifndef RTE_USB0_IND0_PIN_EN - #define RTE_USB0_IND0_PIN_EN 1 -#endif -// USB0_IND1 <0=>Not used <1=>P1_3 <2=>P2_2 <3=>P6_7 <4=>P8_1 -// USB0 port indicator LED control output 1 -#define RTE_USB0_IND1_ID 0 -#if (RTE_USB0_IND1_ID == 0) - #define RTE_USB0_IND1_PIN_EN 0 -#elif (RTE_USB0_IND1_ID == 1) - #define RTE_USB0_IND1_PORT 1 - #define RTE_USB0_IND1_BIT 3 - #define RTE_USB0_IND1_FUNC 4 -#elif (RTE_USB0_IND1_ID == 2) - #define RTE_USB0_IND1_PORT 2 - #define RTE_USB0_IND1_BIT 2 - #define RTE_USB0_IND1_FUNC 3 -#elif (RTE_USB0_IND1_ID == 3) - #define RTE_USB0_IND1_PORT 6 - #define RTE_USB0_IND1_BIT 7 - #define RTE_USB0_IND1_FUNC 3 -#elif (RTE_USB0_IND1_ID == 4) - #define RTE_USB0_IND1_PORT 8 - #define RTE_USB0_IND1_BIT 1 - #define RTE_USB0_IND1_FUNC 1 -#else - #error "Invalid RTE_USB0_IND1 Pin Configuration!" -#endif -#ifndef RTE_USB0_IND1_PIN_EN - #define RTE_USB0_IND1_PIN_EN 1 -#endif -// Pin Configuration - -// Device [Driver_USBD0] -// Configuration settings for Driver_USBD0 in component ::Drivers:USB Device -// High-speed -// Enable high-speed functionality -#define RTE_USB_USB0_HS_EN 1 -// Device [Driver_USBD0] -// USB0 Controller [Driver_USBD0 and Driver_USBH0] - -// USB1 Controller [Driver_USBD1 and Driver_USBH1] -// Configuration settings for Driver_USBD1 in component ::Drivers:USB Device -// Configuration settings for Driver_USBH1 in component ::Drivers:USB Host -#define RTE_USB_USB1 0 - -// Pin Configuration -// USB1_PPWR (Host) <0=>Not used <1=>P9_5 -// VBUS drive signal (towards external charge pump or power management unit). -#define RTE_USB1_PPWR_ID 1 -#if (RTE_USB1_PPWR_ID == 0) - #define RTE_USB1_PPWR_PIN_EN 0 -#elif (RTE_USB1_PPWR_ID == 1) - #define RTE_USB1_PPWR_PORT 9 - #define RTE_USB1_PPWR_BIT 5 - #define RTE_USB1_PPWR_FUNC 2 -#else - #error "Invalid RTE_USB1_PPWR Pin Configuration!" -#endif -#ifndef RTE_USB1_PPWR_PIN_EN - #define RTE_USB1_PPWR_PIN_EN 1 -#endif -// USB1_PWR_FAULT (Host) <0=>Not used <1=>P9_6 -// Port power fault signal indicating overcurrent condition. -// This signal monitors over-current on the USB bus -// (external circuitry required to detect over-current condition). -#define RTE_USB1_PWR_FAULT_ID 1 -#if (RTE_USB1_PWR_FAULT_ID == 0) - #define RTE_USB1_PWR_FAULT_PIN_EN 0 -#elif (RTE_USB1_PWR_FAULT_ID == 1) - #define RTE_USB1_PWR_FAULT_PORT 9 - #define RTE_USB1_PWR_FAULT_BIT 6 - #define RTE_USB1_PWR_FAULT_FUNC 2 -#else - #error "Invalid RTE_USB1_PWR_FAULT Pin Configuration!" -#endif -#ifndef RTE_USB1_PWR_FAULT_PIN_EN - #define RTE_USB1_PWR_FAULT_PIN_EN 1 -#endif -// USB1_IND0 <0=>Not used <1=>P3_2 <2=>P9_4 -// USB1 port indicator LED control output 0 -#define RTE_USB1_IND0_ID 1 -#if (RTE_USB1_IND0_ID == 0) - #define RTE_USB1_IND0_PIN_EN 0 -#elif (RTE_USB1_IND0_ID == 1) - #define RTE_USB1_IND0_PORT 3 - #define RTE_USB1_IND0_BIT 2 - #define RTE_USB1_IND0_FUNC 3 -#elif (RTE_USB1_IND0_ID == 2) - #define RTE_USB1_IND0_PORT 9 - #define RTE_USB1_IND0_BIT 4 - #define RTE_USB1_IND0_FUNC 2 -#else - #error "Invalid RTE_USB1_IND0 Pin Configuration!" -#endif -#ifndef RTE_USB1_IND0_PIN_EN - #define RTE_USB1_IND0_PIN_EN 1 -#endif -// USB1_IND1 <0=>Not used <1=>P3_1 <2=>P9_3 -// USB1 port indicator LED control output 1 -#define RTE_USB1_IND1_ID 1 -#if (RTE_USB1_IND1_ID == 0) - #define RTE_USB1_IND1_PIN_EN 0 -#elif (RTE_USB1_IND1_ID == 1) - #define RTE_USB1_IND1_PORT 3 - #define RTE_USB1_IND1_BIT 1 - #define RTE_USB1_IND1_FUNC 3 -#elif (RTE_USB1_IND1_ID == 2) - #define RTE_USB1_IND1_PORT 9 - #define RTE_USB1_IND1_BIT 3 - #define RTE_USB1_IND1_FUNC 2 -#else - #error "Invalid RTE_USB1_IND1 Pin Configuration!" -#endif -#ifndef RTE_USB1_IND1_PIN_EN - #define RTE_USB1_IND1_PIN_EN 1 -#endif - -// On-chip full-speed PHY -#define RTE_USB_USB1_FS_PHY_EN 1 - -// USB1_VBUS (Device) <0=>Not used <1=>P2_5 -// Monitors the presence of USB1 bus power. -#define RTE_USB1_VBUS_ID 1 -#if (RTE_USB1_VBUS_ID == 0) - #define RTE_USB1_VBUS_PIN_EN 0 -#elif (RTE_USB1_VBUS_ID == 1) - #define RTE_USB1_VBUS_PORT 2 - #define RTE_USB1_VBUS_BIT 5 - #define RTE_USB1_VBUS_FUNC 2 -#else - #error "Invalid RTE_USB1_VBUS Pin Configuration!" -#endif -#ifndef RTE_USB1_VBUS_PIN_EN - #define RTE_USB1_VBUS_PIN_EN 1 -#endif -// On-chip full-speed PHY - -// External high-speed ULPI PHY (UTMI+ Low Pin Interface) -#define RTE_USB_USB1_HS_PHY_EN 0 - -// USB1_ULPI_CLK <0=>P8_8 <1=>PC_0 -// USB1 ULPI link CLK signal. -// 60 MHz clock generated by the PHY. -#define RTE_USB1_ULPI_CLK_ID 0 -#if (RTE_USB1_ULPI_CLK_ID == 0) - #define RTE_USB1_ULPI_CLK_PORT 8 - #define RTE_USB1_ULPI_CLK_BIT 8 - #define RTE_USB1_ULPI_CLK_FUNC 1 -#elif (RTE_USB1_ULPI_CLK_ID == 1) - #define RTE_USB1_ULPI_CLK_PORT 0xC - #define RTE_USB1_ULPI_CLK_BIT 0 - #define RTE_USB1_ULPI_CLK_FUNC 1 -#else - #error "Invalid RTE_USB1_ULPI_CLK Pin Configuration!" -#endif -// USB1_ULPI_DIR <0=>PB_1 <1=>PC_11 -// USB1 ULPI link DIR signal. -// Controls the ULPI data line direction. -#define RTE_USB1_ULPI_DIR_ID 0 -#if (RTE_USB1_ULPI_DIR_ID == 0) - #define RTE_USB1_ULPI_DIR_PORT 0xB - #define RTE_USB1_ULPI_DIR_BIT 1 - #define RTE_USB1_ULPI_DIR_FUNC 1 -#elif (RTE_USB1_ULPI_DIR_ID == 1) - #define RTE_USB1_ULPI_DIR_PORT 0xC - #define RTE_USB1_ULPI_DIR_BIT 11 - #define RTE_USB1_ULPI_DIR_FUNC 1 -#else - #error "Invalid RTE_USB1_ULPI_DIR Pin Configuration!" -#endif -// USB1_ULPI_STP <0=>P8_7 <1=>PC_10 -// USB1 ULPI link STP signal. -// Asserted to end or interrupt transfers to the PHY. -#define RTE_USB1_ULPI_STP_ID 0 -#if (RTE_USB1_ULPI_STP_ID == 0) - #define RTE_USB1_ULPI_STP_PORT 8 - #define RTE_USB1_ULPI_STP_BIT 7 - #define RTE_USB1_ULPI_STP_FUNC 1 -#elif (RTE_USB1_ULPI_STP_ID == 1) - #define RTE_USB1_ULPI_STP_PORT 0xC - #define RTE_USB1_ULPI_STP_BIT 10 - #define RTE_USB1_ULPI_STP_FUNC 1 -#else - #error "Invalid RTE_USB1_ULPI_STP Pin Configuration!" -#endif -// USB1_ULPI_NXT <0=>P8_6 <1=>PC_9 -// USB1 ULPI link NXT signal. -// Data flow control signal from the PHY. -#define RTE_USB1_ULPI_NXT_ID 0 -#if (RTE_USB1_ULPI_NXT_ID == 0) - #define RTE_USB1_ULPI_NXT_PORT 8 - #define RTE_USB1_ULPI_NXT_BIT 6 - #define RTE_USB1_ULPI_NXT_FUNC 1 -#elif (RTE_USB1_ULPI_NXT_ID == 1) - #define RTE_USB1_ULPI_NXT_PORT 0xC - #define RTE_USB1_ULPI_NXT_BIT 9 - #define RTE_USB1_ULPI_NXT_FUNC 1 -#else - #error "Invalid RTE_USB1_ULPI_NXT Pin Configuration!" -#endif -// USB1_ULPI_D0 <0=>P8_5 <1=>PC_8 <2=>PD_11 -// USB1 ULPI link bidirectional data line 0. -#define RTE_USB1_ULPI_D0_ID 0 -#if (RTE_USB1_ULPI_D0_ID == 0) - #define RTE_USB1_ULPI_D0_PORT 8 - #define RTE_USB1_ULPI_D0_BIT 5 - #define RTE_USB1_ULPI_D0_FUNC 1 -#elif (RTE_USB1_ULPI_D0_ID == 1) - #define RTE_USB1_ULPI_D0_PORT 0xC - #define RTE_USB1_ULPI_D0_BIT 8 - #define RTE_USB1_ULPI_D0_FUNC 1 -#elif (RTE_USB1_ULPI_D0_ID == 2) - #define RTE_USB1_ULPI_D0_PORT 0xD - #define RTE_USB1_ULPI_D0_BIT 11 - #define RTE_USB1_ULPI_D0_FUNC 5 -#else - #error "Invalid RTE_USB1_ULPI_D0 Pin Configuration!" -#endif -// USB1_ULPI_D1 <0=>P8_4 <1=>PC_7 -// USB1 ULPI link bidirectional data line 1. -#define RTE_USB1_ULPI_D1_ID 0 -#if (RTE_USB1_ULPI_D1_ID == 0) - #define RTE_USB1_ULPI_D1_PORT 8 - #define RTE_USB1_ULPI_D1_BIT 4 - #define RTE_USB1_ULPI_D1_FUNC 1 -#elif (RTE_USB1_ULPI_D1_ID == 1) - #define RTE_USB1_ULPI_D1_PORT 0xC - #define RTE_USB1_ULPI_D1_BIT 7 - #define RTE_USB1_ULPI_D1_FUNC 1 -#else - #error "Invalid RTE_USB1_ULPI_D1 Pin Configuration!" -#endif -// USB1_ULPI_D2 <0=>P8_3 <1=>PC_6 -// USB1 ULPI link bidirectional data line 2. -#define RTE_USB1_ULPI_D2_ID 0 -#if (RTE_USB1_ULPI_D2_ID == 0) - #define RTE_USB1_ULPI_D2_PORT 8 - #define RTE_USB1_ULPI_D2_BIT 3 - #define RTE_USB1_ULPI_D2_FUNC 1 -#elif (RTE_USB1_ULPI_D2_ID == 1) - #define RTE_USB1_ULPI_D2_PORT 0xC - #define RTE_USB1_ULPI_D2_BIT 6 - #define RTE_USB1_ULPI_D2_FUNC 1 -#else - #error "Invalid RTE_USB1_ULPI_D2 Pin Configuration!" -#endif -// USB1_ULPI_D3 <0=>PB_6 <1=>PC_5 -// USB1 ULPI link bidirectional data line 3. -#define RTE_USB1_ULPI_D3_ID 0 -#if (RTE_USB1_ULPI_D3_ID == 0) - #define RTE_USB1_ULPI_D3_PORT 0xB - #define RTE_USB1_ULPI_D3_BIT 6 - #define RTE_USB1_ULPI_D3_FUNC 1 -#elif (RTE_USB1_ULPI_D3_ID == 1) - #define RTE_USB1_ULPI_D3_PORT 0xC - #define RTE_USB1_ULPI_D3_BIT 5 - #define RTE_USB1_ULPI_D3_FUNC 1 -#else - #error "Invalid RTE_USB1_ULPI_D3 Pin Configuration!" -#endif -// USB1_ULPI_D4 <0=>PB_5 <1=>PC_4 -// USB1 ULPI link bidirectional data line 4. -#define RTE_USB1_ULPI_D4_ID 0 -#if (RTE_USB1_ULPI_D4_ID == 0) - #define RTE_USB1_ULPI_D4_PORT 0xB - #define RTE_USB1_ULPI_D4_BIT 5 - #define RTE_USB1_ULPI_D4_FUNC 1 -#elif (RTE_USB1_ULPI_D4_ID == 1) - #define RTE_USB1_ULPI_D4_PORT 0xC - #define RTE_USB1_ULPI_D4_BIT 4 - #define RTE_USB1_ULPI_D4_FUNC 1 -#else - #error "Invalid RTE_USB1_ULPI_D4 Pin Configuration!" -#endif -// USB1_ULPI_D5 <0=>PB_4 <1=>PC_3 -// USB1 ULPI link bidirectional data line 5. -#define RTE_USB1_ULPI_D5_ID 0 -#if (RTE_USB1_ULPI_D5_ID == 0) - #define RTE_USB1_ULPI_D5_PORT 0xB - #define RTE_USB1_ULPI_D5_BIT 4 - #define RTE_USB1_ULPI_D5_FUNC 1 -#elif (RTE_USB1_ULPI_D5_ID == 1) - #define RTE_USB1_ULPI_D5_PORT 0xC - #define RTE_USB1_ULPI_D5_BIT 3 - #define RTE_USB1_ULPI_D5_FUNC 0 -#else - #error "Invalid RTE_USB1_ULPI_D5 Pin Configuration!" -#endif -// USB1_ULPI_D6 <0=>PB_3 <1=>PC_2 -// USB1 ULPI link bidirectional data line 6. -#define RTE_USB1_ULPI_D6_ID 0 -#if (RTE_USB1_ULPI_D6_ID == 0) - #define RTE_USB1_ULPI_D6_PORT 0xB - #define RTE_USB1_ULPI_D6_BIT 3 - #define RTE_USB1_ULPI_D6_FUNC 1 -#elif (RTE_USB1_ULPI_D6_ID == 1) - #define RTE_USB1_ULPI_D6_PORT 0xC - #define RTE_USB1_ULPI_D6_BIT 2 - #define RTE_USB1_ULPI_D6_FUNC 0 -#else - #error "Invalid RTE_USB1_ULPI_D6 Pin Configuration!" -#endif -// USB1_ULPI_D7 <0=>PB_2 <1=>PC_1 -// USB1 ULPI link bidirectional data line 7. -#define RTE_USB1_ULPI_D7_ID 0 -#if (RTE_USB1_ULPI_D7_ID == 0) - #define RTE_USB1_ULPI_D7_PORT 0xB - #define RTE_USB1_ULPI_D7_BIT 2 - #define RTE_USB1_ULPI_D7_FUNC 1 -#elif (RTE_USB1_ULPI_D7_ID == 1) - #define RTE_USB1_ULPI_D7_PORT 0xC - #define RTE_USB1_ULPI_D7_BIT 1 - #define RTE_USB1_ULPI_D7_FUNC 0 -#else - #error "Invalid RTE_USB1_ULPI_D7 Pin Configuration!" -#endif -// External high-speed ULPI PHY (UTMI+ Low Pin Interface) -// Pin Configuration -// USB1 Controller [Driver_USBD1 and Driver_USBH1] - -// ENET (Ethernet Interface) [Driver_ETH_MAC0] -// Configuration settings for Driver_ETH_MAC0 in component ::Drivers:Ethernet MAC -#define RTE_ENET 0 - -// MII (Media Independent Interface) -#define RTE_ENET_MII 0 - -// ENET_TXD0 Pin <0=>P1_18 -#define RTE_ENET_MII_TXD0_PORT_ID 0 -#if (RTE_ENET_MII_TXD0_PORT_ID == 0) - #define RTE_ENET_MII_TXD0_PORT 1 - #define RTE_ENET_MII_TXD0_PIN 18 - #define RTE_ENET_MII_TXD0_FUNC 3 -#else - #error "Invalid ENET_TXD0 Pin Configuration!" -#endif -// ENET_TXD1 Pin <0=>P1_20 -#define RTE_ENET_MII_TXD1_PORT_ID 0 -#if (RTE_ENET_MII_TXD1_PORT_ID == 0) - #define RTE_ENET_MII_TXD1_PORT 1 - #define RTE_ENET_MII_TXD1_PIN 20 - #define RTE_ENET_MII_TXD1_FUNC 3 -#else - #error "Invalid ENET_TXD1 Pin Configuration!" -#endif -// ENET_TXD2 Pin <0=>P9_4 <1=>PC_2 -#define RTE_ENET_MII_TXD2_PORT_ID 0 -#if (RTE_ENET_MII_TXD2_PORT_ID == 0) - #define RTE_ENET_MII_TXD2_PORT 9 - #define RTE_ENET_MII_TXD2_PIN 4 - #define RTE_ENET_MII_TXD2_FUNC 5 -#elif (RTE_ENET_MII_TXD2_PORT_ID == 1) - #define RTE_ENET_MII_TXD2_PORT 0xC - #define RTE_ENET_MII_TXD2_PIN 2 - #define RTE_ENET_MII_TXD2_FUNC 3 -#else - #error "Invalid ENET_TXD2 Pin Configuration!" -#endif -// ENET_TXD3 Pin <0=>P9_5 <1=>PC_3 -#define RTE_ENET_MII_TXD3_PORT_ID 0 -#if (RTE_ENET_MII_TXD3_PORT_ID == 0) - #define RTE_ENET_MII_TXD3_PORT 9 - #define RTE_ENET_MII_TXD3_PIN 5 - #define RTE_ENET_MII_TXD3_FUNC 5 -#elif (RTE_ENET_MII_TXD3_PORT_ID == 1) - #define RTE_ENET_MII_TXD3_PORT 0xC - #define RTE_ENET_MII_TXD3_PIN 3 - #define RTE_ENET_MII_TXD3_FUNC 3 -#else - #error "Invalid ENET_TXD3 Pin Configuration!" -#endif -// ENET_TX_EN Pin <0=>P0_1 <1=>PC_4 -#define RTE_ENET_MII_TX_EN_PORT_ID 0 -#if (RTE_ENET_MII_TX_EN_PORT_ID == 0) - #define RTE_ENET_MII_TX_EN_PORT 0 - #define RTE_ENET_MII_TX_EN_PIN 1 - #define RTE_ENET_MII_TX_EN_FUNC 6 -#elif (RTE_ENET_MII_TX_EN_PORT_ID == 1) - #define RTE_ENET_MII_TX_EN_PORT 0xC - #define RTE_ENET_MII_TX_EN_PIN 4 - #define RTE_ENET_MII_TX_EN_FUNC 3 -#else - #error "Invalid ENET_TX_EN Pin Configuration!" -#endif -// ENET_TX_CLK Pin <0=>P1_19 <1=>CLK0 -#define RTE_ENET_MII_TX_CLK_PORT_ID 0 -#if (RTE_ENET_MII_TX_CLK_PORT_ID == 0) - #define RTE_ENET_MII_TX_CLK_PORT 1 - #define RTE_ENET_MII_TX_CLK_PIN 19 - #define RTE_ENET_MII_TX_CLK_FUNC 0 -#elif (RTE_ENET_MII_TX_CLK_PORT_ID == 1) - #define RTE_ENET_MII_TX_CLK_PORT 0x10 - #define RTE_ENET_MII_TX_CLK_PIN 0 - #define RTE_ENET_MII_TX_CLK_FUNC 7 -#else - #error "Invalid ENET_TX_CLK Pin Configuration!" -#endif -// ENET_TX_ER Pin <0=>Not used <1=>PC_5 <2=>PC_14 -// Optional signal, rarely used -#define RTE_ENET_MII_TX_ER_PORT_ID 0 -#if (RTE_ENET_MII_TX_ER_PORT_ID == 0) - #define RTE_ENET_MII_TX_ER_PIN_EN 0 -#elif (RTE_ENET_MII_TX_ER_PORT_ID == 1) - #define RTE_ENET_MII_TX_ER_PORT 0xC - #define RTE_ENET_MII_TX_ER_PIN 5 - #define RTE_ENET_MII_TX_ER_FUNC 3 -#elif (RTE_ENET_MII_TX_ER_PORT_ID == 2) - #define RTE_ENET_MII_TX_ER_PORT 0xC - #define RTE_ENET_MII_TX_ER_PIN 14 - #define RTE_ENET_MII_TX_ER_FUNC 6 -#else - #error "Invalid ENET_TX_ER Pin Configuration!" -#endif -#ifndef RTE_ENET_MII_TX_ER_PIN_EN - #define RTE_ENET_MII_TX_ER_PIN_EN 1 -#endif -// ENET_RXD0 Pin <0=>P1_15 -#define RTE_ENET_MII_RXD0_PORT_ID 0 -#if (RTE_ENET_MII_RXD0_PORT_ID == 0) - #define RTE_ENET_MII_RXD0_PORT 1 - #define RTE_ENET_MII_RXD0_PIN 15 - #define RTE_ENET_MII_RXD0_FUNC 3 -#else - #error "Invalid ENET_RXD0 Pin Configuration!" -#endif -// ENET_RXD1 Pin <0=>P0_0 -#define RTE_ENET_MII_RXD1_PORT_ID 0 -#if (RTE_ENET_MII_RXD1_PORT_ID == 0) - #define RTE_ENET_MII_RXD1_PORT 0 - #define RTE_ENET_MII_RXD1_PIN 0 - #define RTE_ENET_MII_RXD1_FUNC 2 -#else - #error "Invalid ENET_RXD1 Pin Configuration!" -#endif -// ENET_RXD2 Pin <0=>P9_3 <1=>PC_6 -#define RTE_ENET_MII_RXD2_PORT_ID 0 -#if (RTE_ENET_MII_RXD2_PORT_ID == 0) - #define RTE_ENET_MII_RXD2_PORT 9 - #define RTE_ENET_MII_RXD2_PIN 3 - #define RTE_ENET_MII_RXD2_FUNC 5 -#elif (RTE_ENET_MII_RXD2_PORT_ID == 1) - #define RTE_ENET_MII_RXD2_PORT 0xC - #define RTE_ENET_MII_RXD2_PIN 6 - #define RTE_ENET_MII_RXD2_FUNC 3 -#else - #error "Invalid ENET_RXD2 Pin Configuration!" -#endif -// ENET_RXD3 Pin <0=>P9_2 <1=>PC_7 -#define RTE_ENET_MII_RXD3_PORT_ID 0 -#if (RTE_ENET_MII_RXD3_PORT_ID == 0) - #define RTE_ENET_MII_RXD3_PORT 9 - #define RTE_ENET_MII_RXD3_PIN 2 - #define RTE_ENET_MII_RXD3_FUNC 5 -#elif (RTE_ENET_MII_RXD3_PORT_ID == 1) - #define RTE_ENET_MII_RXD3_PORT 0xC - #define RTE_ENET_MII_RXD3_PIN 7 - #define RTE_ENET_MII_RXD3_FUNC 3 -#else - #error "Invalid ENET_RXD3 Pin Configuration!" -#endif -// ENET_RX_DV Pin <0=>P1_16 <1=>PC_8 -#define RTE_ENET_MII_RX_DV_PORT_ID 0 -#if (RTE_ENET_MII_RX_DV_PORT_ID == 0) - #define RTE_ENET_MII_RX_DV_PORT 1 - #define RTE_ENET_MII_RX_DV_PIN 16 - #define RTE_ENET_MII_RX_DV_FUNC 7 -#elif (RTE_ENET_MII_RX_DV_PORT_ID == 1) - #define RTE_ENET_MII_RX_DV_PORT 0xC - #define RTE_ENET_MII_RX_DV_PIN 8 - #define RTE_ENET_MII_RX_DV_FUNC 3 -#else - #error "Invalid ENET_RX_DV Pin Configuration!" -#endif -// ENET_RX_CLK Pin <0=>PC_0 -#define RTE_ENET_MII_RX_CLK_PORT_ID 0 -#if (RTE_ENET_MII_RX_CLK_PORT_ID == 0) - #define RTE_ENET_MII_RX_CLK_PORT 0xC - #define RTE_ENET_MII_RX_CLK_PIN 0 - #define RTE_ENET_MII_RX_CLK_FUNC 3 -#else - #error "Invalid ENET_RX_CLK Pin Configuration!" -#endif -// ENET_RX_ER Pin <0=>P9_1 <1=>PC_9 -#define RTE_ENET_MII_RX_ER_PORT_ID 0 -#if (RTE_ENET_MII_RX_ER_PORT_ID == 0) - #define RTE_ENET_MII_RX_ER_PORT 9 - #define RTE_ENET_MII_RX_ER_PIN 1 - #define RTE_ENET_MII_RX_ER_FUNC 5 -#elif (RTE_ENET_MII_RX_ER_PORT_ID == 1) - #define RTE_ENET_MII_RX_ER_PORT 0xC - #define RTE_ENET_MII_RX_ER_PIN 9 - #define RTE_ENET_MII_RX_ER_FUNC 3 -#else - #error "Invalid ENET_RX_ER Pin Configuration!" -#endif -// ENET_COL Pin <0=>P0_1 <1=>P4_1 <2=>P9_6 -#define RTE_ENET_MII_COL_PORT_ID 0 -#if (RTE_ENET_MII_COL_PORT_ID == 0) - #define RTE_ENET_MII_COL_PORT 0 - #define RTE_ENET_MII_COL_PIN 1 - #define RTE_ENET_MII_COL_FUNC 2 -#elif (RTE_ENET_MII_COL_PORT_ID == 1) - #define RTE_ENET_MII_COL_PORT 4 - #define RTE_ENET_MII_COL_PIN 1 - #define RTE_ENET_MII_COL_FUNC 7 -#elif (RTE_ENET_MII_COL_PORT_ID == 2) - #define RTE_ENET_MII_COL_PORT 9 - #define RTE_ENET_MII_COL_PIN 6 - #define RTE_ENET_MII_COL_FUNC 5 -#else - #error "Invalid ENET_COL Pin Configuration!" -#endif -// ENET_CRS Pin <0=>P1_16 <1=>P9_0 -#define RTE_ENET_MII_CRS_PORT_ID 0 -#if (RTE_ENET_MII_CRS_PORT_ID == 0) - #define RTE_ENET_MII_CRS_PORT 1 - #define RTE_ENET_MII_CRS_PIN 16 - #define RTE_ENET_MII_CRS_FUNC 3 -#elif (RTE_ENET_MII_CRS_PORT_ID == 1) - #define RTE_ENET_MII_CRS_PORT 9 - #define RTE_ENET_MII_CRS_PIN 0 - #define RTE_ENET_MII_CRS_FUNC 5 -#else - #error "Invalid ENET_CRS Pin Configuration!" -#endif -// MII (Media Independent Interface) - -// RMII (Reduced Media Independent Interface) -#define RTE_ENET_RMII 0 - -// ENET_TXD0 Pin <0=>P1_18 -#define RTE_ENET_RMII_TXD0_PORT_ID 0 -#if (RTE_ENET_RMII_TXD0_PORT_ID == 0) - #define RTE_ENET_RMII_TXD0_PORT 1 - #define RTE_ENET_RMII_TXD0_PIN 18 - #define RTE_ENET_RMII_TXD0_FUNC 3 -#else - #error "Invalid ENET_TXD0 Pin Configuration!" -#endif -// ENET_TXD1 Pin <0=>P1_20 -#define RTE_ENET_RMII_TXD1_PORT_ID 0 -#if (RTE_ENET_RMII_TXD1_PORT_ID == 0) - #define RTE_ENET_RMII_TXD1_PORT 1 - #define RTE_ENET_RMII_TXD1_PIN 20 - #define RTE_ENET_RMII_TXD1_FUNC 3 -#else - #error "Invalid ENET_TXD1 Pin Configuration!" -#endif -// ENET_TX_EN Pin <0=>P0_1 <1=>PC_4 -#define RTE_ENET_RMII_TX_EN_PORT_ID 0 -#if (RTE_ENET_RMII_TX_EN_PORT_ID == 0) - #define RTE_ENET_RMII_TX_EN_PORT 0 - #define RTE_ENET_RMII_TX_EN_PIN 1 - #define RTE_ENET_RMII_TX_EN_FUNC 6 -#elif (RTE_ENET_RMII_TX_EN_PORT_ID == 1) - #define RTE_ENET_RMII_TX_EN_PORT 0xC - #define RTE_ENET_RMII_TX_EN_PIN 4 - #define RTE_ENET_RMII_TX_EN_FUNC 3 -#else - #error "Invalid ENET_TX_EN Pin Configuration!" -#endif -// ENET_REF_CLK Pin <0=>P1_19 <1=>CLK0 -#define RTE_ENET_RMII_REF_CLK_PORT_ID 0 -#if (RTE_ENET_RMII_REF_CLK_PORT_ID == 0) - #define RTE_ENET_RMII_REF_CLK_PORT 1 - #define RTE_ENET_RMII_REF_CLK_PIN 19 - #define RTE_ENET_RMII_REF_CLK_FUNC 0 -#elif (RTE_ENET_RMII_REF_CLK_PORT_ID == 1) - #define RTE_ENET_RMII_REF_CLK_PORT 0x10 - #define RTE_ENET_RMII_REF_CLK_PIN 0 - #define RTE_ENET_RMII_REF_CLK_FUNC 7 -#else - #error "Invalid ENET_REF_CLK Pin Configuration!" -#endif -// ENET_RXD0 Pin <0=>P1_15 -#define RTE_ENET_RMII_RXD0_PORT_ID 0 -#if (RTE_ENET_RMII_RXD0_PORT_ID == 0) - #define RTE_ENET_RMII_RXD0_PORT 1 - #define RTE_ENET_RMII_RXD0_PIN 15 - #define RTE_ENET_RMII_RXD0_FUNC 3 -#else - #error "Invalid ENET_RXD0 Pin Configuration!" -#endif -// ENET_RXD1 Pin <0=>P0_0 -#define RTE_ENET_RMII_RXD1_PORT_ID 0 -#if (RTE_ENET_RMII_RXD1_PORT_ID == 0) - #define RTE_ENET_RMII_RXD1_PORT 0 - #define RTE_ENET_RMII_RXD1_PIN 0 - #define RTE_ENET_RMII_RXD1_FUNC 2 -#else - #error "Invalid ENET_RXD1 Pin Configuration!" -#endif -// ENET_RX_DV Pin <0=>P1_16 <1=>PC_8 -#define RTE_ENET_RMII_RX_DV_PORT_ID 0 -#if (RTE_ENET_RMII_RX_DV_PORT_ID == 0) - #define RTE_ENET_RMII_RX_DV_PORT 1 - #define RTE_ENET_RMII_RX_DV_PIN 16 - #define RTE_ENET_RMII_RX_DV_FUNC 7 -#elif (RTE_ENET_RMII_RX_DV_PORT_ID == 1) - #define RTE_ENET_RMII_RX_DV_PORT 0xC - #define RTE_ENET_RMII_RX_DV_PIN 8 - #define RTE_ENET_RMII_RX_DV_FUNC 3 -#else - #error "Invalid ENET_RX_DV Pin Configuration!" -#endif -// RMII (Reduced Media Independent Interface) - -// MIIM (Management Data Interface) -// ENET_MDIO Pin <0=>P1_17 -#define RTE_ENET_MDI_MDIO_PORT_ID 0 -#if (RTE_ENET_MDI_MDIO_PORT_ID == 0) - #define RTE_ENET_MDI_MDIO_PORT 1 - #define RTE_ENET_MDI_MDIO_PIN 17 - #define RTE_ENET_MDI_MDIO_FUNC 3 -#else - #error "Invalid ENET_MDIO Pin Configuration!" -#endif -// ENET_MDC Pin <0=>P2_0 <1=>P7_7 <2=>PC_1 -#define RTE_ENET_MDI_MDC_PORT_ID 2 -#if (RTE_ENET_MDI_MDC_PORT_ID == 0) - #define RTE_ENET_MDI_MDC_PORT 2 - #define RTE_ENET_MDI_MDC_PIN 0 - #define RTE_ENET_MDI_MDC_FUNC 7 -#elif (RTE_ENET_MDI_MDC_PORT_ID == 1) - #define RTE_ENET_MDI_MDC_PORT 7 - #define RTE_ENET_MDI_MDC_PIN 7 - #define RTE_ENET_MDI_MDC_FUNC 6 -#elif (RTE_ENET_MDI_MDC_PORT_ID == 2) - #define RTE_ENET_MDI_MDC_PORT 0xC - #define RTE_ENET_MDI_MDC_PIN 1 - #define RTE_ENET_MDI_MDC_FUNC 3 -#else - #error "Invalid ENET_MDC Pin Configuration!" -#endif -// MIIM (Management Data Interface) -// ENET (Ethernet Interface) [Driver_ETH_MAC0] - -// SD/MMC Interface [Driver_MCI0] -// Configuration settings for Driver_MCI0 in component ::Drivers:MCI -#define RTE_SDMMC 0 - -// SD/MMC Peripheral Bus -// SD_CLK Pin <0=>PC_0 <1=>CLK0 <2=>CLK2 -#define RTE_SD_CLK_PORT_ID 0 -#if (RTE_SD_CLK_PORT_ID == 0) - #define RTE_SD_CLK_PORT 0xC - #define RTE_SD_CLK_PIN 0 - #define RTE_SD_CLK_FUNC 7 -#elif (RTE_SD_CLK_PORT_ID == 1) - #define RTE_SD_CLK_PORT 0x10 - #define RTE_SD_CLK_PIN 0 - #define RTE_SD_CLK_FUNC 4 -#elif (RTE_SD_CLK_PORT_ID == 2) - #define RTE_SD_CLK_PORT 0x10 - #define RTE_SD_CLK_PIN 2 - #define RTE_SD_CLK_FUNC 4 -#else - #error "Invalid SD_CLK Pin Configuration!" -#endif -// SD_CMD Pin <0=>P1_6 <1=>PC_10 -#define RTE_SD_CMD_PORT_ID 0 -#if (RTE_SD_CMD_PORT_ID == 0) - #define RTE_SD_CMD_PORT 1 - #define RTE_SD_CMD_PIN 6 - #define RTE_SD_CMD_FUNC 7 -#elif (RTE_SD_CMD_PORT_ID == 1) - #define RTE_SD_CMD_PORT 0xC - #define RTE_SD_CMD_PIN 10 - #define RTE_SD_CMD_FUNC 7 -#else - #error "Invalid SD_CMD Pin Configuration!" -#endif -// SD_DAT0 Pin <0=>P1_9 <1=>PC_4 -#define RTE_SD_DAT0_PORT_ID 0 -#if (RTE_SD_DAT0_PORT_ID == 0) - #define RTE_SD_DAT0_PORT 1 - #define RTE_SD_DAT0_PIN 9 - #define RTE_SD_DAT0_FUNC 7 -#elif (RTE_SD_DAT0_PORT_ID == 1) - #define RTE_SD_DAT0_PORT 0xC - #define RTE_SD_DAT0_PIN 4 - #define RTE_SD_DAT0_FUNC 7 -#else - #error "Invalid SD_DAT0 Pin Configuration!" -#endif -// SD_DAT[1 .. 3] -#define RTE_SDMMC_BUS_WIDTH_4 0 -// SD_DAT1 Pin <0=>P1_10 <1=>PC_5 -#define RTE_SD_DAT1_PORT_ID 0 -#if (RTE_SD_DAT1_PORT_ID == 0) - #define RTE_SD_DAT1_PORT 1 - #define RTE_SD_DAT1_PIN 10 - #define RTE_SD_DAT1_FUNC 7 -#elif (RTE_SD_DAT1_PORT_ID == 1) - #define RTE_SD_DAT1_PORT 0xC - #define RTE_SD_DAT1_PIN 5 - #define RTE_SD_DAT1_FUNC 7 -#else - #error "Invalid SD_DAT1 Pin Configuration!" -#endif -// SD_DAT2 Pin <0=>P1_11 <1=>PC_6 -#define RTE_SD_DAT2_PORT_ID 0 -#if (RTE_SD_DAT2_PORT_ID == 0) - #define RTE_SD_DAT2_PORT 1 - #define RTE_SD_DAT2_PIN 11 - #define RTE_SD_DAT2_FUNC 7 -#elif (RTE_SD_DAT2_PORT_ID == 1) - #define RTE_SD_DAT2_PORT 0xC - #define RTE_SD_DAT2_PIN 6 - #define RTE_SD_DAT2_FUNC 7 -#else - #error "Invalid SD_DAT2 Pin Configuration!" -#endif -// SD_DAT3 Pin <0=>P1_12 <1=>PC_7 -#define RTE_SD_DAT3_PORT_ID 0 -#if (RTE_SD_DAT3_PORT_ID == 0) - #define RTE_SD_DAT3_PORT 1 - #define RTE_SD_DAT3_PIN 12 - #define RTE_SD_DAT3_FUNC 7 -#elif (RTE_SD_DAT3_PORT_ID == 1) - #define RTE_SD_DAT3_PORT 0xC - #define RTE_SD_DAT3_PIN 7 - #define RTE_SD_DAT3_FUNC 7 -#else - #error "Invalid SD_DAT3 Pin Configuration!" -#endif -// SD_DAT[1 .. 3] -// SD_DAT[4 .. 7] -#define RTE_SDMMC_BUS_WIDTH_8 0 -// SD_DAT4 Pin <0=>PC_11 -#define RTE_SD_DAT4_PORT_ID 0 -#if (RTE_SD_DAT4_PORT_ID == 0) - #define RTE_SD_DAT4_PORT 0xC - #define RTE_SD_DAT4_PIN 11 - #define RTE_SD_DAT4_FUNC 7 -#else - #error "Invalid SD_DAT4 Pin Configuration!" -#endif -// SD_DAT5 Pin <0=>PC_12 -#define RTE_SD_DAT5_PORT_ID 0 -#if (RTE_SD_DAT5_PORT_ID == 0) - #define RTE_SD_DAT5_PORT 0xC - #define RTE_SD_DAT5_PIN 12 - #define RTE_SD_DAT5_FUNC 7 -#else - #error "Invalid SD_DAT5 Pin Configuration!" -#endif -// SD_DAT6 Pin <0=>PC_13 -#define RTE_SD_DAT6_PORT_ID 0 -#if (RTE_SD_DAT6_PORT_ID == 0) - #define RTE_SD_DAT6_PORT 0xC - #define RTE_SD_DAT6_PIN 13 - #define RTE_SD_DAT6_FUNC 7 -#else - #error "Invalid SD_DAT6 Pin Configuration!" -#endif -// SD_DAT7 Pin <0=>PC_14 -#define RTE_SD_DAT7_PORT_ID 0 -#if (RTE_SD_DAT7_PORT_ID == 0) - #define RTE_SD_DAT7_PORT 0xC - #define RTE_SD_DAT7_PIN 14 - #define RTE_SD_DAT7_FUNC 7 -#else - #error "Invalid SD_DAT7 Pin Configuration!" -#endif -// SD_DAT[4 .. 7] -// SD/MMC Peripheral Bus - -// SD_CD (Card Detect) Pin <0=>Not used <1=>P1_13 <2=>PC_8 -// Configure Pin if exists -#define RTE_SD_CD_PORT_ID 0 -#if (RTE_SD_CD_PORT_ID == 0) - #define RTE_SD_CD_PIN_EN 0 -#elif (RTE_SD_CD_PORT_ID == 1) - #define RTE_SD_CD_PORT 1 - #define RTE_SD_CD_PIN 13 - #define RTE_SD_CD_FUNC 7 -#elif (RTE_SD_CD_PORT_ID == 2) - #define RTE_SD_CD_PORT 0xC - #define RTE_SD_CD_PIN 8 - #define RTE_SD_CD_FUNC 7 -#else - #error "Invalid SD_CD Pin Configuration!" -#endif -#ifndef RTE_SD_CD_PIN_EN - #define RTE_SD_CD_PIN_EN 1 -#endif -// SD_WP (Write Protect) Pin <0=>Not used <1=>PD_15 <2=>PF_10 -// Configure Pin if exists -#define RTE_SD_WP_PORT_ID 0 -#if (RTE_SD_WP_PORT_ID == 0) - #define RTE_SD_WP_PIN_EN 0 -#elif (RTE_SD_WP_PORT_ID == 1) - #define RTE_SD_WP_PORT 0xD - #define RTE_SD_WP_PIN 15 - #define RTE_SD_WP_FUNC 5 -#elif (RTE_SD_WP_PORT_ID == 2) - #define RTE_SD_WP_PORT 0xF - #define RTE_SD_WP_PIN 10 - #define RTE_SD_WP_FUNC 6 -#else - #error "Invalid SD_WP Pin Configuration!" -#endif -#ifndef RTE_SD_WP_PIN_EN - #define RTE_SD_WP_PIN_EN 1 -#endif -// SD_POW (Power) Pin <0=>Not used <1=>P1_5 <2=>PC_9 <3=>PD_1 -// Configure Pin if exists -#define RTE_SD_POW_PORT_ID 0 -#if (RTE_SD_POW_PORT_ID == 0) - #define RTE_SD_POW_PIN_EN 0 -#elif (RTE_SD_POW_PORT_ID == 1) - #define RTE_SD_POW_PORT 1 - #define RTE_SD_POW_PIN 5 - #define RTE_SD_POW_FUNC 7 -#elif (RTE_SD_POW_PORT_ID == 2) - #define RTE_SD_POW_PORT 0xC - #define RTE_SD_POW_PIN 9 - #define RTE_SD_POW_FUNC 7 -#elif (RTE_SD_POW_PORT_ID == 3) - #define RTE_SD_POW_PORT 0xD - #define RTE_SD_POW_PIN 1 - #define RTE_SD_POW_FUNC 5 -#else - #error "Invalid SD_POW Pin Configuration!" -#endif -#ifndef RTE_SD_POW_PIN_EN - #define RTE_SD_POW_PIN_EN 1 -#endif -// SD_RST (Card Reset for MMC4.4) Pin <0=>Not used <1=>P1_3 <2=>PC_2 -// Configure Pin if exists -#define RTE_SD_RST_PORT_ID 0 -#if (RTE_SD_RST_PORT_ID == 0) - #define RTE_SD_RST_PIN_EN 0 -#elif (RTE_SD_RST_PORT_ID == 1) - #define RTE_SD_RST_PORT 1 - #define RTE_SD_RST_PIN 3 - #define RTE_SD_RST_FUNC 7 -#elif (RTE_SD_RST_PORT_ID == 2) - #define RTE_SD_RST_PORT 0xC - #define RTE_SD_RST_PIN 2 - #define RTE_SD_RST_FUNC 7 -#else - #error "Invalid SD_RST Pin Configuration!" -#endif -#ifndef RTE_SD_RST_PIN_EN - #define RTE_SD_RST_PIN_EN 1 -#endif -// SD/MMC Interface [Driver_MCI0] - -// I2C0 (Inter-integrated Circuit Interface 0) [Driver_I2C0] -// Configuration settings for Driver_I2C0 in component ::Drivers:I2C -// I2C0 (Inter-integrated Circuit Interface 0) [Driver_I2C0] -#define RTE_I2C0 0 - -// I2C1 (Inter-integrated Circuit Interface 1) [Driver_I2C1] -// Configuration settings for Driver_I2C1 in component ::Drivers:I2C -#define RTE_I2C1 0 - -// I2C1_SCL Pin <0=>P2_4 <1=>PE_15 -#define RTE_I2C1_SCL_PORT_ID 0 -#if (RTE_I2C1_SCL_PORT_ID == 0) - #define RTE_I2C1_SCL_PORT 2 - #define RTE_I2C1_SCL_PIN 4 - #define RTE_I2C1_SCL_FUNC 1 -#elif (RTE_I2C1_SCL_PORT_ID == 1) - #define RTE_I2C1_SCL_PORT 0xE - #define RTE_I2C1_SCL_PIN 15 - #define RTE_I2C1_SCL_FUNC 2 -#else - #error "Invalid I2C1_SCL Pin Configuration!" -#endif -// I2C1_SDA Pin <0=>P2_3 <1=>PE_13 -#define RTE_I2C1_SDA_PORT_ID 0 -#if (RTE_I2C1_SDA_PORT_ID == 0) - #define RTE_I2C1_SDA_PORT 2 - #define RTE_I2C1_SDA_PIN 3 - #define RTE_I2C1_SDA_FUNC 1 -#elif (RTE_I2C1_SDA_PORT_ID == 1) - #define RTE_I2C1_SDA_PORT 0xE - #define RTE_I2C1_SDA_PIN 13 - #define RTE_I2C1_SDA_FUNC 2 -#else - #error "Invalid I2C1_SDA Pin Configuration!" -#endif -// I2C1 (Inter-integrated Circuit Interface 1) [Driver_I2C1] - -// USART0 (Universal synchronous asynchronous receiver transmitter) [Driver_USART0] -#define RTE_USART0 1 - -// Pin Configuration -// TX <0=>Not used <1=>P2_0 <2=>P6_4 <3=>P9_5 <4=>PF_10 -// USART0 Serial Output pin -#define RTE_USART0_TX_ID 1 -#if (RTE_USART0_TX_ID == 0) - #define RTE_USART0_TX_PIN_EN 0 -#elif (RTE_USART0_TX_ID == 1) - #define RTE_USART0_TX_PORT 2 - #define RTE_USART0_TX_BIT 0 - #define RTE_USART0_TX_FUNC 1 -#elif (RTE_USART0_TX_ID == 2) - #define RTE_USART0_TX_PORT 6 - #define RTE_USART0_TX_BIT 4 - #define RTE_USART0_TX_FUNC 2 -#elif (RTE_USART0_TX_ID == 3) - #define RTE_USART0_TX_PORT 9 - #define RTE_USART0_TX_BIT 5 - #define RTE_USART0_TX_FUNC 7 -#elif (RTE_USART0_TX_ID == 4) - #define RTE_USART0_TX_PORT 0xF - #define RTE_USART0_TX_BIT 10 - #define RTE_USART0_TX_FUNC 1 -#else - #error "Invalid USART0_TX Pin Configuration!" -#endif -#ifndef RTE_USART0_TX_PIN_EN - #define RTE_USART0_TX_PIN_EN 1 -#endif -// RX <0=>Not used <1=>P2_1 <2=>P6_5 <3=>P9_6 <4=>PF_11 -// USART0 Serial Input pin -#define RTE_USART0_RX_ID 1 -#if (RTE_USART0_RX_ID == 0) - #define RTE_USART0_RX_PIN_EN 0 -#elif (RTE_USART0_RX_ID == 1) - #define RTE_USART0_RX_PORT 2 - #define RTE_USART0_RX_BIT 1 - #define RTE_USART0_RX_FUNC 1 -#elif (RTE_USART0_RX_ID == 2) - #define RTE_USART0_RX_PORT 6 - #define RTE_USART0_RX_BIT 5 - #define RTE_USART0_RX_FUNC 2 -#elif (RTE_USART0_RX_ID == 3) - #define RTE_USART0_RX_PORT 9 - #define RTE_USART0_RX_BIT 6 - #define RTE_USART0_RX_FUNC 7 -#elif (RTE_USART0_RX_ID == 4) - #define RTE_USART0_RX_PORT 0xF - #define RTE_USART0_RX_BIT 11 - #define RTE_USART0_RX_FUNC 1 -#else - #error "Invalid USART0_RX Pin Configuration!" -#endif -#ifndef RTE_USART0_RX_PIN_EN - #define RTE_USART0_RX_PIN_EN 1 -#endif -// UCLK (Synchronous and SmartCard mode) <0=>Not used <1=>P2_2 <2=>P6_1 <3=>PF_8 -// USART0 Serial Clock input/output synchronous mode -#define RTE_USART0_UCLK_ID 0 -#if (RTE_USART0_UCLK_ID == 0) - #define RTE_USART0_UCLK_PIN_EN 0 -#elif (RTE_USART0_UCLK_ID == 1) - #define RTE_USART0_UCLK_PORT 2 - #define RTE_USART0_UCLK_BIT 2 - #define RTE_USART0_UCLK_FUNC 1 -#elif (RTE_USART0_UCLK_ID == 2) - #define RTE_USART0_UCLK_PORT 6 - #define RTE_USART0_UCLK_BIT 1 - #define RTE_USART0_UCLK_FUNC 2 -#elif (RTE_USART0_UCLK_ID == 3) - #define RTE_USART0_UCLK_PORT 0xF - #define RTE_USART0_UCLK_BIT 8 - #define RTE_USART0_UCLK_FUNC 1 -#else - #error "Invalid USART0_UCLK Pin Configuration!" -#endif -#ifndef RTE_USART0_UCLK_PIN_EN - #define RTE_USART0_UCLK_PIN_EN 1 -#endif -// Pin Configuration - -// DMA -// Tx -// Channel <0=>0 <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// Peripheral <0=>1 (DMAMUXPER1) <1=>11 (DMAMUXPER11) -// -#define RTE_USART0_DMA_TX_EN 0 -#define RTE_USART0_DMA_TX_CH 0 -#define RTE_USART0_DMA_TX_PERI_ID 0 -#if (RTE_USART0_DMA_TX_PERI_ID == 0) - #define RTE_USART0_DMA_TX_PERI 1 - #define RTE_USART0_DMA_TX_PERI_SEL 1 -#elif (RTE_USART0_DMA_TX_PERI_ID == 1) - #define RTE_USART0_DMA_TX_PERI 11 - #define RTE_USART0_DMA_TX_PERI_SEL 2 -#endif -// Rx -// Channel <0=>0 <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// Peripheral <0=>2 (DMAMUXPER2) <1=>12 (DMAMUXPER12) -// -#define RTE_USART0_DMA_RX_EN 0 -#define RTE_USART0_DMA_RX_CH 1 -#define RTE_USART0_DMA_RX_PERI_ID 0 -#if (RTE_USART0_DMA_RX_PERI_ID == 0) - #define RTE_USART0_DMA_RX_PERI 2 - #define RTE_USART0_DMA_RX_PERI_SEL 1 -#elif (RTE_USART0_DMA_RX_PERI_ID == 1) - #define RTE_USART0_DMA_RX_PERI 12 - #define RTE_USART0_DMA_RX_PERI_SEL 2 -#endif -// DMA -// USART0 (Universal synchronous asynchronous receiver transmitter) [Driver_USART0] - -// UART1 (Universal asynchronous receiver transmitter) [Driver_USART1] -#define RTE_UART1 1 - -// Pin Configuration -// TX <0=>Not used <1=>P1_13 <2=>P3_4 <3=>P5_6 <4=>PC_13 <5=>PE_11 -// UART0 Serial Output pin -#define RTE_UART1_TX_ID 0 -#if (RTE_UART1_TX_ID == 0) - #define RTE_UART1_TX_PIN_EN 0 -#elif (RTE_UART1_TX_ID == 1) - #define RTE_UART1_TX_PORT 1 - #define RTE_UART1_TX_BIT 13 - #define RTE_UART1_TX_FUNC 1 -#elif (RTE_UART1_TX_ID == 2) - #define RTE_UART1_TX_PORT 3 - #define RTE_UART1_TX_BIT 4 - #define RTE_UART1_TX_FUNC 4 -#elif (RTE_UART1_TX_ID == 3) - #define RTE_UART1_TX_PORT 5 - #define RTE_UART1_TX_BIT 6 - #define RTE_UART1_TX_FUNC 4 -#elif (RTE_UART1_TX_ID == 4) - #define RTE_UART1_TX_PORT 0xC - #define RTE_UART1_TX_BIT 13 - #define RTE_UART1_TX_FUNC 2 -#elif (RTE_UART1_TX_ID == 5) - #define RTE_UART1_TX_PORT 0xE - #define RTE_UART1_TX_BIT 11 - #define RTE_UART1_TX_FUNC 2 -#else - #error "Invalid UART1_TX Pin Configuration!" -#endif -#ifndef RTE_UART1_TX_PIN_EN - #define RTE_UART1_TX_PIN_EN 1 -#endif -// RX <0=>Not used <1=>P1_14 <2=>P3_5 <3=>P5_7 <4=>PC_14 <5=>PE_12 -// UART1 Serial Input pin -#define RTE_UART1_RX_ID 1 -#if (RTE_UART1_RX_ID == 0) - #define RTE_UART1_RX_PIN_EN 0 -#elif (RTE_UART1_RX_ID == 1) - #define RTE_UART1_RX_PORT 1 - #define RTE_UART1_RX_BIT 14 - #define RTE_UART1_RX_FUNC 1 -#elif (RTE_UART1_RX_ID == 2) - #define RTE_UART1_RX_PORT 3 - #define RTE_UART1_RX_BIT 5 - #define RTE_UART1_RX_FUNC 4 -#elif (RTE_UART1_RX_ID == 3) - #define RTE_UART1_RX_PORT 5 - #define RTE_UART1_RX_BIT 7 - #define RTE_UART1_RX_FUNC 4 -#elif (RTE_UART1_RX_ID == 4) - #define RTE_UART1_RX_PORT 0xC - #define RTE_UART1_RX_BIT 14 - #define RTE_UART1_RX_FUNC 2 -#elif (RTE_UART1_RX_ID == 5) - #define RTE_UART1_RX_PORT 0xE - #define RTE_UART1_RX_BIT 12 - #define RTE_UART1_RX_FUNC 2 -#else - #error "Invalid UART1_RX Pin Configuration!" -#endif -#ifndef RTE_UART1_RX_PIN_EN - #define RTE_UART1_RX_PIN_EN 1 -#endif - -// Modem Lines -// CTS <0=>Not used <1=>P1_11 <2=>P5_4 <3=>PC_2 <4=>PE_7 -#define RTE_UART1_CTS_ID 0 -#if (RTE_UART1_CTS_ID == 0) - #define RTE_UART1_CTS_PIN_EN 0 -#elif (RTE_UART1_CTS_ID == 1) - #define RTE_UART1_CTS_PORT 1 - #define RTE_UART1_CTS_BIT 11 - #define RTE_UART1_CTS_FUNC 1 -#elif (RTE_UART1_CTS_ID == 2) - #define RTE_UART1_CTS_PORT 5 - #define RTE_UART1_CTS_BIT 4 - #define RTE_UART1_CTS_FUNC 4 -#elif (RTE_UART1_CTS_ID == 3) - #define RTE_UART1_CTS_PORT 0xC - #define RTE_UART1_CTS_BIT 2 - #define RTE_UART1_CTS_FUNC 2 -#elif (RTE_UART1_CTS_ID == 4) - #define RTE_UART1_CTS_PORT 0xE - #define RTE_UART1_CTS_BIT 7 - #define RTE_UART1_CTS_FUNC 2 -#else - #error "Invalid UART1_CTS Pin Configuration!" -#endif -#ifndef RTE_UART1_CTS_PIN_EN - #define RTE_UART1_CTS_PIN_EN 1 -#endif -// RTS <0=>Not used <1=>P1_9 <2=>P5_2 <3=>PC_3 <4=>PE_5 -#define RTE_UART1_RTS_ID 0 -#if (RTE_UART1_RTS_ID == 0) - #define RTE_UART1_RTS_PIN_EN 0 -#elif (RTE_UART1_RTS_ID == 1) - #define RTE_UART1_RTS_PORT 1 - #define RTE_UART1_RTS_BIT 9 - #define RTE_UART1_RTS_FUNC 1 -#elif (RTE_UART1_RTS_ID == 2) - #define RTE_UART1_RTS_PORT 5 - #define RTE_UART1_RTS_BIT 2 - #define RTE_UART1_RTS_FUNC 4 -#elif (RTE_UART1_RTS_ID == 3) - #define RTE_UART1_RTS_PORT 0xC - #define RTE_UART1_RTS_BIT 3 - #define RTE_UART1_RTS_FUNC 2 -#elif (RTE_UART1_RTS_ID == 4) - #define RTE_UART1_RTS_PORT 0xE - #define RTE_UART1_RTS_BIT 5 - #define RTE_UART1_RTS_FUNC 2 -#else - #error "Invalid UART1_RTS Pin Configuration!" -#endif -#ifndef RTE_UART1_RTS_PIN_EN - #define RTE_UART1_RTS_PIN_EN 1 -#endif -// DCD <0=>Not used <1=>P1_12 <2=>P5_5 <3=>PC_11 <4=>PE_9 -#define RTE_UART1_DCD_ID 0 -#if (RTE_UART1_DCD_ID == 0) - #define RTE_UART1_DCD_PIN_EN 0 -#elif (RTE_UART1_DCD_ID == 1) - #define RTE_UART1_DCD_PORT 1 - #define RTE_UART1_DCD_BIT 12 - #define RTE_UART1_DCD_FUNC 1 -#elif (RTE_UART1_DCD_ID == 2) - #define RTE_UART1_DCD_PORT 5 - #define RTE_UART1_DCD_BIT 5 - #define RTE_UART1_DCD_FUNC 4 -#elif (RTE_UART1_DCD_ID == 3) - #define RTE_UART1_DCD_PORT 0xC - #define RTE_UART1_DCD_BIT 11 - #define RTE_UART1_DCD_FUNC 2 -#elif (RTE_UART1_DCD_ID == 4) - #define RTE_UART1_DCD_PORT 0xE - #define RTE_UART1_DCD_BIT 9 - #define RTE_UART1_DCD_FUNC 2 -#else - #error "Invalid UART1_DCD Pin Configuration!" -#endif -#ifndef RTE_UART1_DCD_PIN_EN - #define RTE_UART1_DCD_PIN_EN 1 -#endif -// DSR <0=>Not used <1=>P1_7 <2=>P5_0 <3=>PC_10 <4=>PE_8 -#define RTE_UART1_DSR_ID 0 -#if (RTE_UART1_DSR_ID == 0) - #define RTE_UART1_DSR_PIN_EN 0 -#elif (RTE_UART1_DSR_ID == 1) - #define RTE_UART1_DSR_PORT 1 - #define RTE_UART1_DSR_BIT 7 - #define RTE_UART1_DSR_FUNC 1 -#elif (RTE_UART1_DSR_ID == 2) - #define RTE_UART1_DSR_PORT 5 - #define RTE_UART1_DSR_BIT 0 - #define RTE_UART1_DSR_FUNC 4 -#elif (RTE_UART1_DSR_ID == 3) - #define RTE_UART1_DSR_PORT 0xC - #define RTE_UART1_DSR_BIT 10 - #define RTE_UART1_DSR_FUNC 2 -#elif (RTE_UART1_DSR_ID == 4) - #define RTE_UART1_DSR_PORT 0xE - #define RTE_UART1_DSR_BIT 8 - #define RTE_UART1_DSR_FUNC 2 -#else - #error "Invalid UART1_DSR Pin Configuration!" -#endif -#ifndef RTE_UART1_DSR_PIN_EN - #define RTE_UART1_DSR_PIN_EN 1 -#endif -// DTR <0=>Not used <1=>P1_8 <2=>P5_1 <3=>PC_12 <4=>PE_10 -#define RTE_UART1_DTR_ID 0 -#if (RTE_UART1_DTR_ID == 0) - #define RTE_UART1_DTR_PIN_EN 0 -#elif (RTE_UART1_DTR_ID == 1) - #define RTE_UART1_DTR_PORT 1 - #define RTE_UART1_DTR_BIT 8 - #define RTE_UART1_DTR_FUNC 1 -#elif (RTE_UART1_DTR_ID == 2) - #define RTE_UART1_DTR_PORT 5 - #define RTE_UART1_DTR_BIT 1 - #define RTE_UART1_DTR_FUNC 4 -#elif (RTE_UART1_DTR_ID == 3) - #define RTE_UART1_DTR_PORT 0xC - #define RTE_UART1_DTR_BIT 12 - #define RTE_UART1_DTR_FUNC 2 -#elif (RTE_UART1_DTR_ID == 4) - #define RTE_UART1_DTR_PORT 0xE - #define RTE_UART1_DTR_BIT 10 - #define RTE_UART1_DTR_FUNC 2 -#else - #error "Invalid UART1_DTR Pin Configuration!" -#endif -#ifndef RTE_UART1_DTR_PIN_EN - #define RTE_UART1_DTR_PIN_EN 1 -#endif -// RI <0=>Not used <1=>P1_10 <2=>P5_3 <3=>PC_1 <4=>PE_6 -#define RTE_UART1_RI_ID 0 -#if (RTE_UART1_RI_ID == 0) - #define RTE_UART1_RI_PIN_EN 0 -#elif (RTE_UART1_RI_ID == 1) - #define RTE_UART1_RI_PORT 1 - #define RTE_UART1_RI_BIT 10 - #define RTE_UART1_RI_FUNC 1 -#elif (RTE_UART1_RI_ID == 2) - #define RTE_UART1_RI_PORT 5 - #define RTE_UART1_RI_BIT 3 - #define RTE_UART1_RI_FUNC 4 -#elif (RTE_UART1_RI_ID == 3) - #define RTE_UART1_RI_PORT 0xC - #define RTE_UART1_RI_BIT 1 - #define RTE_UART1_RI_FUNC 2 -#elif (RTE_UART1_RI_ID == 4) - #define RTE_UART1_RI_PORT 0xE - #define RTE_UART1_RI_BIT 6 - #define RTE_UART1_RI_FUNC 2 -#else - #error "Invalid UART1_RI Pin Configuration!" -#endif -#ifndef RTE_UART1_RI_PIN_EN - #define RTE_UART1_RI_PIN_EN 1 -#endif -// Modem Lines -// Pin Configuration - -// DMA -// Tx -// Channel <0=>0 <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// Peripheral <0=>3 (DMAMUXPER3) -// -#define RTE_UART1_DMA_TX_EN 0 -#define RTE_UART1_DMA_TX_CH 0 -#define RTE_UART1_DMA_TX_PERI_ID 0 -#if (RTE_UART1_DMA_TX_PERI_ID == 0) - #define RTE_UART1_DMA_TX_PERI 3 - #define RTE_UART1_DMA_TX_PERI_SEL 1 -#endif -// Rx -// Channel <0=>0 <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// Peripheral <0=>4 (DMAMUXPER4) -// -#define RTE_UART1_DMA_RX_EN 1 -#define RTE_UART1_DMA_RX_CH 1 -#define RTE_UART1_DMA_RX_PERI_ID 0 -#if (RTE_UART1_DMA_RX_PERI_ID == 0) - #define RTE_UART1_DMA_RX_PERI 4 - #define RTE_UART1_DMA_RX_PERI_SEL 1 -#endif -// DMA -// UART1 (Universal asynchronous receiver transmitter) [Driver_USART1] - -// USART2 (Universal synchronous asynchronous receiver transmitter) [Driver_USART2] -#define RTE_USART2 0 - -// Pin Configuration -// TX <0=>Not used <1=>P1_15 <2=>P2_10 <3=>P7_1 <4=>PA_1 -// USART2 Serial Output pin -#define RTE_USART2_TX_ID 0 -#if (RTE_USART2_TX_ID == 0) - #define RTE_USART2_TX_PIN_EN 0 -#elif (RTE_USART2_TX_ID == 1) - #define RTE_USART2_TX_PORT 1 - #define RTE_USART2_TX_BIT 15 - #define RTE_USART2_TX_FUNC 1 -#elif (RTE_USART2_TX_ID == 2) - #define RTE_USART2_TX_PORT 2 - #define RTE_USART2_TX_BIT 10 - #define RTE_USART2_TX_FUNC 2 -#elif (RTE_USART2_TX_ID == 3) - #define RTE_USART2_TX_PORT 7 - #define RTE_USART2_TX_BIT 1 - #define RTE_USART2_TX_FUNC 6 -#elif (RTE_USART2_TX_ID == 4) - #define RTE_USART2_TX_PORT 0xA - #define RTE_USART2_TX_BIT 1 - #define RTE_USART2_TX_FUNC 3 -#else - #error "Invalid USART2_TX Pin Configuration!" -#endif -#ifndef RTE_USART2_TX_PIN_EN - #define RTE_USART2_TX_PIN_EN 1 -#endif -// RX <0=>Not used <1=>P1_16 <2=>P2_11 <3=>P7_2 <4=>PA_2 -// USART2 Serial Input pin -#define RTE_USART2_RX_ID 0 -#if (RTE_USART2_RX_ID == 0) - #define RTE_USART2_RX_PIN_EN 0 -#elif (RTE_USART2_RX_ID == 1) - #define RTE_USART2_RX_PORT 1 - #define RTE_USART2_RX_BIT 16 - #define RTE_USART2_RX_FUNC 1 -#elif (RTE_USART2_RX_ID == 2) - #define RTE_USART2_RX_PORT 2 - #define RTE_USART2_RX_BIT 11 - #define RTE_USART2_RX_FUNC 2 -#elif (RTE_USART2_RX_ID == 3) - #define RTE_USART2_RX_PORT 7 - #define RTE_USART2_RX_BIT 2 - #define RTE_USART2_RX_FUNC 6 -#elif (RTE_USART2_RX_ID == 4) - #define RTE_USART2_RX_PORT 0xA - #define RTE_USART2_RX_BIT 2 - #define RTE_USART2_RX_FUNC 3 -#else - #error "Invalid USART2_RX Pin Configuration!" -#endif -#ifndef RTE_USART2_RX_PIN_EN - #define RTE_USART2_RX_PIN_EN 1 -#endif -// UCLK (Synchronous and SmartCard mode) <0=>Not used <1=>P1_17 <2=>P2_12 -// USART2 Serial Clock input/output synchronous mode -#define RTE_USART2_UCLK_ID 0 -#if (RTE_USART2_UCLK_ID == 0) - #define RTE_USART2_UCLK_PIN_EN 0 -#elif (RTE_USART2_UCLK_ID == 1) - #define RTE_USART2_UCLK_PORT 1 - #define RTE_USART2_UCLK_BIT 17 - #define RTE_USART2_UCLK_FUNC 1 -#elif (RTE_USART2_UCLK_ID == 2) - #define RTE_USART2_UCLK_PORT 2 - #define RTE_USART2_UCLK_BIT 12 - #define RTE_USART2_UCLK_FUNC 7 -#else - #error "Invalid USART2_UCLK Pin Configuration!" -#endif -#ifndef RTE_USART2_UCLK_PIN_EN - #define RTE_USART2_UCLK_PIN_EN 1 -#endif -// Pin Configuration - -// DMA -// Tx -// Channel <0=>0 <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// Peripheral <0=>5 (DMAMUXPER5) -// -#define RTE_USART2_DMA_TX_EN 0 -#define RTE_USART2_DMA_TX_CH 0 -#define RTE_USART2_DMA_TX_PERI_ID 0 -#if (RTE_USART2_DMA_TX_PERI_ID == 0) - #define RTE_USART2_DMA_TX_PERI 5 - #define RTE_USART2_DMA_TX_PERI_SEL 1 -#endif -// Rx -// Channel <0=>0 <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// Peripheral <0=>6 (DMAMUXPER6) -// -#define RTE_USART2_DMA_RX_EN 0 -#define RTE_USART2_DMA_RX_CH 1 -#define RTE_USART2_DMA_RX_PERI_ID 0 -#if (RTE_USART2_DMA_RX_PERI_ID == 0) - #define RTE_USART2_DMA_RX_PERI 6 - #define RTE_USART2_DMA_RX_PERI_SEL 1 -#endif -// DMA -// USART2 (Universal synchronous asynchronous receiver transmitter) [Driver_USART2] - -// USART3 (Universal synchronous asynchronous receiver transmitter) [Driver_USART3] -#define RTE_USART3 0 - -// Pin Configuration -// TX <0=>Not used <1=>P2_3 <2=>P4_1 <3=>P9_3 <4=>PF_2 -// USART3 Serial Output pin -#define RTE_USART3_TX_ID 0 -#if (RTE_USART3_TX_ID == 0) - #define RTE_USART3_TX_PIN_EN 0 -#elif (RTE_USART3_TX_ID == 1) - #define RTE_USART3_TX_PORT 2 - #define RTE_USART3_TX_BIT 3 - #define RTE_USART3_TX_FUNC 2 -#elif (RTE_USART3_TX_ID == 2) - #define RTE_USART3_TX_PORT 4 - #define RTE_USART3_TX_BIT 1 - #define RTE_USART3_TX_FUNC 6 -#elif (RTE_USART3_TX_ID == 3) - #define RTE_USART3_TX_PORT 9 - #define RTE_USART3_TX_BIT 3 - #define RTE_USART3_TX_FUNC 7 -#elif (RTE_USART3_TX_ID == 4) - #define RTE_USART3_TX_PORT 0xF - #define RTE_USART3_TX_BIT 2 - #define RTE_USART3_TX_FUNC 1 -#else - #error "Invalid USART3_TX Pin Configuration!" -#endif -#ifndef RTE_USART3_TX_PIN_EN - #define RTE_USART3_TX_PIN_EN 1 -#endif -// RX <0=>Not used <1=>P2_4 <2=>P4_2 <3=>P9_4 <4=>PF_3 -// USART3 Serial Input pin -#define RTE_USART3_RX_ID 0 -#if (RTE_USART3_RX_ID == 0) - #define RTE_USART3_RX_PIN_EN 0 -#elif (RTE_USART3_RX_ID == 1) - #define RTE_USART3_RX_PORT 2 - #define RTE_USART3_RX_BIT 4 - #define RTE_USART3_RX_FUNC 2 -#elif (RTE_USART3_RX_ID == 2) - #define RTE_USART3_RX_PORT 4 - #define RTE_USART3_RX_BIT 2 - #define RTE_USART3_RX_FUNC 6 -#elif (RTE_USART3_RX_ID == 3) - #define RTE_USART3_RX_PORT 9 - #define RTE_USART3_RX_BIT 4 - #define RTE_USART3_RX_FUNC 7 -#elif (RTE_USART3_RX_ID == 4) - #define RTE_USART3_RX_PORT 0xF - #define RTE_USART3_RX_BIT 3 - #define RTE_USART3_RX_FUNC 1 -#else - #error "Invalid USART3_RX Pin Configuration!" -#endif -#ifndef RTE_USART3_RX_PIN_EN - #define RTE_USART3_RX_PIN_EN 1 -#endif -// UCLK (Synchronous and SmartCard mode) <0=>Not used <1=>P2_7 <2=>P4_0 <3=>PF_5 -// USART3 Serial Clock input/output synchronous mode -#define RTE_USART3_UCLK_ID 0 -#if (RTE_USART3_UCLK_ID == 0) - #define RTE_USART3_UCLK_PIN_EN 0 -#elif (RTE_USART3_UCLK_ID == 1) - #define RTE_USART3_UCLK_PORT 2 - #define RTE_USART3_UCLK_BIT 7 - #define RTE_USART3_UCLK_FUNC 2 -#elif (RTE_USART3_UCLK_ID == 2) - #define RTE_USART3_UCLK_PORT 4 - #define RTE_USART3_UCLK_BIT 0 - #define RTE_USART3_UCLK_FUNC 6 -#elif (RTE_USART3_UCLK_ID == 3) - #define RTE_USART3_UCLK_PORT 0xF - #define RTE_USART3_UCLK_BIT 5 - #define RTE_USART3_UCLK_FUNC 1 -#else - #error "Invalid USART3_UCLK Pin Configuration!" -#endif -#ifndef RTE_USART3_UCLK_PIN_EN - #define RTE_USART3_UCLK_PIN_EN 1 -#endif -// Pin Configuration - -// DMA -// Tx -// Channel <0=>0 <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// Peripheral <0=>7 (DMAMUXPER7) <1=>14 (DMAMUXPER14) -// -#define RTE_USART3_DMA_TX_EN 0 -#define RTE_USART3_DMA_TX_CH 0 -#define RTE_USART3_DMA_TX_PERI_ID 0 -#if (RTE_USART3_DMA_TX_PERI_ID == 0) - #define RTE_USART3_DMA_TX_PERI 7 - #define RTE_USART3_DMA_TX_PERI_SEL 1 -#elif (RTE_USART3_DMA_TX_PERI_ID == 1) - #define RTE_USART3_DMA_TX_PERI 14 - #define RTE_USART3_DMA_TX_PERI_SEL 3 -#endif -// Rx -// Channel <0=>0 <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// Peripheral <0=>8 (DMAMUXPER8) <1=>13 (DMAMUXPER13) -// -#define RTE_USART3_DMA_RX_EN 0 -#define RTE_USART3_DMA_RX_CH 1 -#define RTE_USART3_DMA_RX_PERI_ID 0 -#if (RTE_USART3_DMA_RX_PERI_ID == 0) - #define RTE_USART3_DMA_RX_PERI 8 - #define RTE_USART3_DMA_RX_PERI_SEL 1 -#elif (RTE_USART3_DMA_RX_PERI_ID == 1) - #define RTE_USART3_DMA_RX_PERI 13 - #define RTE_USART3_DMA_RX_PERI_SEL 3 -#endif -// DMA -// USART3 (Universal synchronous asynchronous receiver transmitter) [Driver_USART3] - -// SSP0 (Synchronous Serial Port 0) [Driver_SPI0] -// Configuration settings for Driver_SPI0 in component ::Drivers:SPI -#define RTE_SSP0 0 - -// Pin Configuration -// SSP0_SSEL <0=>Not used <1=>P1_0 <2=>P3_6 <3=>P3_8 <4=>P9_0 <5=>PF_1 -// Slave Select for SSP0 -#define RTE_SSP0_SSEL_PIN_SEL 1 -#if (RTE_SSP0_SSEL_PIN_SEL == 0) -#define RTE_SSP0_SSEL_PIN_EN 0 -#elif (RTE_SSP0_SSEL_PIN_SEL == 1) - #define RTE_SSP0_SSEL_PORT 1 - #define RTE_SSP0_SSEL_BIT 0 - #define RTE_SSP0_SSEL_FUNC 5 - #define RTE_SSP0_SSEL_GPIO_FUNC 0 - #define RTE_SSP0_SSEL_GPIO_PORT 0 - #define RTE_SSP0_SSEL_GPIO_BIT 4 -#elif (RTE_SSP0_SSEL_PIN_SEL == 2) - #define RTE_SSP0_SSEL_PORT 3 - #define RTE_SSP0_SSEL_BIT 6 - #define RTE_SSP0_SSEL_FUNC 2 - #define RTE_SSP0_SSEL_GPIO_FUNC 0 - #define RTE_SSP0_SSEL_GPIO_PORT 0 - #define RTE_SSP0_SSEL_GPIO_BIT 6 -#elif (RTE_SSP0_SSEL_PIN_SEL == 3) - #define RTE_SSP0_SSEL_PORT 3 - #define RTE_SSP0_SSEL_BIT 8 - #define RTE_SSP0_SSEL_FUNC 5 - #define RTE_SSP0_SSEL_GPIO_FUNC 4 - #define RTE_SSP0_SSEL_GPIO_PORT 5 - #define RTE_SSP0_SSEL_GPIO_BIT 11 -#elif (RTE_SSP0_SSEL_PIN_SEL == 4) - #define RTE_SSP0_SSEL_PORT 9 - #define RTE_SSP0_SSEL_BIT 0 - #define RTE_SSP0_SSEL_FUNC 7 - #define RTE_SSP0_SSEL_GPIO_FUNC 0 - #define RTE_SSP0_SSEL_GPIO_PORT 4 - #define RTE_SSP0_SSEL_GPIO_BIT 12 -#elif (RTE_SSP0_SSEL_PIN_SEL == 5) - #define RTE_SSP0_SSEL_PORT 0xF - #define RTE_SSP0_SSEL_BIT 1 - #define RTE_SSP0_SSEL_FUNC 2 - #define RTE_SSP0_SSEL_GPIO_FUNC 4 - #define RTE_SSP0_SSEL_GPIO_PORT 7 - #define RTE_SSP0_SSEL_GPIO_BIT 16 -#else - #error "Invalid SSP0 SSP0_SSEL Pin Configuration!" -#endif -#ifndef RTE_SSP0_SSEL_PIN_EN -#define RTE_SSP0_SSEL_PIN_EN 1 -#endif -// SSP0_SCK <0=>P3_0 <1=>P3_3 <2=>PF_0 -// Serial clock for SSP0 -#define RTE_SSP0_SCK_PIN_SEL 0 -#if (RTE_SSP0_SCK_PIN_SEL == 0) - #define RTE_SSP0_SCK_PORT 3 - #define RTE_SSP0_SCK_BIT 0 - #define RTE_SSP0_SCK_FUNC 4 -#elif (RTE_SSP0_SCK_PIN_SEL == 1) - #define RTE_SSP0_SCK_PORT 3 - #define RTE_SSP0_SCK_BIT 3 - #define RTE_SSP0_SCK_FUNC 2 -#elif (RTE_SSP0_SCK_PIN_SEL == 2) - #define RTE_SSP0_SCK_PORT 0xF - #define RTE_SSP0_SCK_BIT 0 - #define RTE_SSP0_SCK_FUNC 0 -#else - #error "Invalid SSP0 SSP0_SCK Pin Configuration!" -#endif -// SSP0_MISO <0=>Not used <1=>P1_1 <2=>P3_6 <3=>P3_7 <4=>P9_1 <5=>PF_2 -// Master In Slave Out for SSP0 -#define RTE_SSP0_MISO_PIN_SEL 0 -#if (RTE_SSP0_MISO_PIN_SEL == 0) - #define RTE_SSP0_MISO_PIN_EN 0 -#elif (RTE_SSP0_MISO_PIN_SEL == 1) - #define RTE_SSP0_MISO_PORT 1 - #define RTE_SSP0_MISO_BIT 1 - #define RTE_SSP0_MISO_FUNC 5 -#elif (RTE_SSP0_MISO_PIN_SEL == 2) - #define RTE_SSP0_MISO_PORT 3 - #define RTE_SSP0_MISO_BIT 6 - #define RTE_SSP0_MISO_FUNC 5 -#elif (RTE_SSP0_MISO_PIN_SEL == 3) - #define RTE_SSP0_MISO_PORT 3 - #define RTE_SSP0_MISO_BIT 7 - #define RTE_SSP0_MISO_FUNC 2 -#elif (RTE_SSP0_MISO_PIN_SEL == 4) - #define RTE_SSP0_MISO_PORT 9 - #define RTE_SSP0_MISO_BIT 1 - #define RTE_SSP0_MISO_FUNC 7 -#elif (RTE_SSP0_MISO_PIN_SEL == 5) - #define RTE_SSP0_MISO_PORT 0xF - #define RTE_SSP0_MISO_BIT 2 - #define RTE_SSP0_MISO_FUNC 2 -#else - #error "Invalid SSP0 SSP0_MISO Pin Configuration!" -#endif -#ifndef RTE_SSP0_MISO_PIN_EN - #define RTE_SSP0_MISO_PIN_EN 1 -#endif -// SSP0_MOSI <0=>Not used <1=>P1_2 <2=>P3_7 <3=>P3_8 <4=>P9_2 <5=>PF_3 -// Master Out Slave In for SSP0 -#define RTE_SSP0_MOSI_PIN_SEL 0 -#if (RTE_SSP0_MOSI_PIN_SEL == 0) - #define RTE_SSP0_MOSI_PIN_EN 0 -#elif (RTE_SSP0_MOSI_PIN_SEL == 1) - #define RTE_SSP0_MOSI_PORT 1 - #define RTE_SSP0_MOSI_BIT 2 - #define RTE_SSP0_MOSI_FUNC 5 -#elif (RTE_SSP0_MOSI_PIN_SEL == 2) - #define RTE_SSP0_MOSI_PORT 3 - #define RTE_SSP0_MOSI_BIT 7 - #define RTE_SSP0_MOSI_FUNC 5 -#elif (RTE_SSP0_MOSI_PIN_SEL == 3) - #define RTE_SSP0_MOSI_PORT 3 - #define RTE_SSP0_MOSI_BIT 8 - #define RTE_SSP0_MOSI_FUNC 2 -#elif (RTE_SSP0_MOSI_PIN_SEL == 4) - #define RTE_SSP0_MOSI_PORT 9 - #define RTE_SSP0_MOSI_BIT 2 - #define RTE_SSP0_MOSI_FUNC 7 -#elif (RTE_SSP0_MOSI_PIN_SEL == 5) - #define RTE_SSP0_MOSI_PORT 0xF - #define RTE_SSP0_MOSI_BIT 3 - #define RTE_SSP0_MOSI_FUNC 2 -#else - #error "Invalid SSP0 SSP0_MOSI Pin Configuration!" -#endif -#ifndef RTE_SSP0_MOSI_PIN_EN - #define RTE_SSP0_MOSI_PIN_EN 1 -#endif -// Pin Configuration - -// DMA -// Tx -// Channel <0=>0 <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// Peripheral <0=>10 (DMAMUXPER10) -// -#define RTE_SSP0_DMA_TX_EN 0 -#define RTE_SSP0_DMA_TX_CH 0 -#define RTE_SSP0_DMA_TX_PERI_ID 0 -#if (RTE_SSP0_DMA_TX_PERI_ID == 0) - #define RTE_SSP0_DMA_TX_PERI 10 - #define RTE_SSP0_DMA_TX_PERI_SEL 0 -#endif -// Rx -// Channel <0=>0 <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// Peripheral <0=>9 (DMAMUXPER9) -// -#define RTE_SSP0_DMA_RX_EN 0 -#define RTE_SSP0_DMA_RX_CH 1 -#define RTE_SSP0_DMA_RX_PERI_ID 0 -#if (RTE_SSP0_DMA_RX_PERI_ID == 0) - #define RTE_SSP0_DMA_RX_PERI 9 - #define RTE_SSP0_DMA_RX_PERI_SEL 0 -#endif -// DMA -// SSP0 (Synchronous Serial Port 0) [Driver_SPI0] - -// SSP1 (Synchronous Serial Port 1) [Driver_SPI1] -// Configuration settings for Driver_SPI1 in component ::Drivers:SPI -#define RTE_SSP1 0 - -// Pin Configuration -// SSP1_SSEL <0=>Not used <1=>P1_5 <2=>P1_20 <3=>PF_5 -// Slave Select for SSP1 -#define RTE_SSP1_SSEL_PIN_SEL 1 -#if (RTE_SSP1_SSEL_PIN_SEL == 0) - #define RTE_SSP1_SSEL_PIN_EN 0 -#elif (RTE_SSP1_SSEL_PIN_SEL == 1) - #define RTE_SSP1_SSEL_PORT 1 - #define RTE_SSP1_SSEL_BIT 5 - #define RTE_SSP1_SSEL_FUNC 5 - #define RTE_SSP1_SSEL_GPIO_FUNC 0 - #define RTE_SSP1_SSEL_GPIO_PORT 1 - #define RTE_SSP1_SSEL_GPIO_BIT 8 -#elif (RTE_SSP1_SSEL_PIN_SEL == 2) - #define RTE_SSP1_SSEL_PORT 1 - #define RTE_SSP1_SSEL_BIT 20 - #define RTE_SSP1_SSEL_FUNC 1 - #define RTE_SSP1_SSEL_GPIO_FUNC 0 - #define RTE_SSP1_SSEL_GPIO_PORT 0 - #define RTE_SSP1_SSEL_GPIO_BIT 15 -#elif (RTE_SSP1_SSEL_PIN_SEL == 3) - #define RTE_SSP1_SSEL_PORT 0xF - #define RTE_SSP1_SSEL_BIT 5 - #define RTE_SSP1_SSEL_FUNC 2 - #define RTE_SSP1_SSEL_GPIO_FUNC 4 - #define RTE_SSP1_SSEL_GPIO_PORT 7 - #define RTE_SSP1_SSEL_GPIO_BIT 19 -#else - #error "Invalid SSP1 SSP1_SSEL Pin Configuration!" -#endif -#ifndef RTE_SSP1_SSEL_PIN_EN -#define RTE_SSP1_SSEL_PIN_EN 1 -#endif -// SSP1_SCK <0=>P1_19 <1=>PF_4 <2=>CLK0 -// Serial clock for SSP1 -#define RTE_SSP1_SCK_PIN_SEL 0 -#if (RTE_SSP1_SCK_PIN_SEL == 0) - #define RTE_SSP1_SCK_PORT 1 - #define RTE_SSP1_SCK_BIT 19 - #define RTE_SSP1_SCK_FUNC 1 -#elif (RTE_SSP1_SCK_PIN_SEL == 1) - #define RTE_SSP1_SCK_PORT 0xF - #define RTE_SSP1_SCK_BIT 4 - #define RTE_SSP1_SCK_FUNC 0 -#elif (RTE_SSP1_SCK_PIN_SEL == 2) - #define RTE_SSP1_SCK_PORT 0x10 - #define RTE_SSP1_SCK_BIT 0 - #define RTE_SSP1_SCK_FUNC 6 -#else - #error "Invalid SSP1 SSP1_SCK Pin Configuration!" -#endif -// SSP1_MISO <0=>Not used <1=>P0_0 <2=>P1_3 <3=>PF_6 -// Master In Slave Out for SSP1 -#define RTE_SSP1_MISO_PIN_SEL 0 -#if (RTE_SSP1_MISO_PIN_SEL == 0) - #define RTE_SSP1_MISO_PIN_EN 0 -#elif (RTE_SSP1_MISO_PIN_SEL == 1) - #define RTE_SSP1_MISO_PORT 0 - #define RTE_SSP1_MISO_BIT 0 - #define RTE_SSP1_MISO_FUNC 1 -#elif (RTE_SSP1_MISO_PIN_SEL == 2) - #define RTE_SSP1_MISO_PORT 1 - #define RTE_SSP1_MISO_BIT 3 - #define RTE_SSP1_MISO_FUNC 5 -#elif (RTE_SSP1_MISO_PIN_SEL == 3) - #define RTE_SSP1_MISO_PORT 0xF - #define RTE_SSP1_MISO_BIT 6 - #define RTE_SSP1_MISO_FUNC 2 -#else - #error "Invalid SSP1 SSP1_MISO Pin Configuration!" -#endif -#ifndef RTE_SSP1_MISO_PIN_EN - #define RTE_SSP1_MISO_PIN_EN 1 -#endif -// SSP1_MOSI <0=>Not used <1=>P0_1 <2=>P1_4 <3=>PF_7 -// Master Out Slave In for SSP1 -#define RTE_SSP1_MOSI_PIN_SEL 0 -#if (RTE_SSP1_MOSI_PIN_SEL == 0) - #define RTE_SSP1_MOSI_PIN_EN 0 -#elif (RTE_SSP1_MOSI_PIN_SEL == 1) - #define RTE_SSP1_MOSI_PORT 0 - #define RTE_SSP1_MOSI_BIT 1 - #define RTE_SSP1_MOSI_FUNC 1 -#elif (RTE_SSP1_MOSI_PIN_SEL == 2) - #define RTE_SSP1_MOSI_PORT 1 - #define RTE_SSP1_MOSI_BIT 4 - #define RTE_SSP1_MOSI_FUNC 5 -#elif (RTE_SSP1_MOSI_PIN_SEL == 3) - #define RTE_SSP1_MOSI_PORT 0xF - #define RTE_SSP1_MOSI_BIT 7 - #define RTE_SSP1_MOSI_FUNC 2 -#else - #error "Invalid SSP1 SSP1_MOSI Pin Configuration!" -#endif -#ifndef RTE_SSP1_MOSI_PIN_EN - #define RTE_SSP1_MOSI_PIN_EN 1 -#endif -// Pin Configuration - -// DMA -// Tx -// Channel <0=>0 <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// Peripheral <0=>3 (DMAMUXPER3) <1=>5 (DMAMUXPER5) <2=>12 (DMAMUXPER12) <3=>14 (DMAMUXPER14) -// -#define RTE_SSP1_DMA_TX_EN 0 -#define RTE_SSP1_DMA_TX_CH 0 -#define RTE_SSP1_DMA_TX_PERI_ID 0 -#if (RTE_SSP1_DMA_TX_PERI_ID == 0) - #define RTE_SSP1_DMA_TX_PERI 3 - #define RTE_SSP1_DMA_TX_PERI_SEL 3 -#elif (RTE_SSP1_DMA_TX_PERI_ID == 1) - #define RTE_SSP1_DMA_TX_PERI 5 - #define RTE_SSP1_DMA_TX_PERI_SEL 2 -#elif (RTE_SSP1_DMA_TX_PERI_ID == 2) - #define RTE_SSP1_DMA_TX_PERI 12 - #define RTE_SSP1_DMA_TX_PERI_SEL 0 -#elif (RTE_SSP1_DMA_TX_PERI_ID == 3) - #define RTE_SSP1_DMA_TX_PERI 14 - #define RTE_SSP1_DMA_TX_PERI_SEL 2 -#endif -// Rx -// Channel <0=>0 <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// Peripheral <0=>4 (DMAMUXPER4) <1=>6 (DMAMUXPER6) <2=>11 (DMAMUXPER11) <3=>13 (DMAMUXPER13) -// -#define RTE_SSP1_DMA_RX_EN 0 -#define RTE_SSP1_DMA_RX_CH 1 -#define RTE_SSP1_DMA_RX_PERI_ID 0 -#if (RTE_SSP1_DMA_RX_PERI_ID == 0) - #define RTE_SSP1_DMA_RX_PERI 4 - #define RTE_SSP1_DMA_RX_PERI_SEL 3 -#elif (RTE_SSP1_DMA_RX_PERI_ID == 1) - #define RTE_SSP1_DMA_RX_PERI 6 - #define RTE_SSP1_DMA_RX_PERI_SEL 2 -#elif (RTE_SSP1_DMA_RX_PERI_ID == 2) - #define RTE_SSP1_DMA_RX_PERI 11 - #define RTE_SSP1_DMA_RX_PERI_SEL 0 -#elif (RTE_SSP1_DMA_RX_PERI_ID == 3) - #define RTE_SSP1_DMA_RX_PERI 13 - #define RTE_SSP1_DMA_RX_PERI_SEL 2 -#endif -// DMA -// SSP1 (Synchronous Serial Port 1) [Driver_SPI1] - -// SPI (Serial Peripheral Interface) [Driver_SPI2] -// Configuration settings for Driver_SPI2 in component ::Drivers:SPI -#define RTE_SPI 0 - -// Pin Configuration -// SPI_SSEL <0=>Not used <1=>P3_8 -// Slave Select for SPI -#define RTE_SPI_SSEL_PIN_SEL 0 -#if (RTE_SPI_SSEL_PIN_SEL == 0) -#define RTE_SPI_SSEL_PIN_EN 0 -#elif (RTE_SPI_SSEL_PIN_SEL == 1) - #define RTE_SPI_SSEL_PORT 3 - #define RTE_SPI_SSEL_BIT 8 - #define RTE_SPI_SSEL_FUNC 1 - #define RTE_SPI_SSEL_GPIO_FUNC 4 - #define RTE_SPI_SSEL_GPIO_PORT 5 - #define RTE_SPI_SSEL_GPIO_BIT 11 -#else - #error "Invalid SPI SPI_SSEL Pin Configuration!" -#endif -#ifndef RTE_SPI_SSEL_PIN_EN -#define RTE_SPI_SSEL_PIN_EN 1 -#endif -// SPI_SCK <0=>P3_3 -// Serial clock for SPI -#define RTE_SPI_SCK_PIN_SEL 0 -#if (RTE_SPI_SCK_PIN_SEL == 0) - #define RTE_SPI_SCK_PORT 3 - #define RTE_SPI_SCK_BIT 3 - #define RTE_SPI_SCK_FUNC 1 -#else - #error "Invalid SPI SPI_SCK Pin Configuration!" -#endif -// SPI_MISO <0=>Not used <1=>P3_6 -// Master In Slave Out for SPI -#define RTE_SPI_MISO_PIN_SEL 0 -#if (RTE_SPI_MISO_PIN_SEL == 0) - #define RTE_SPI_MISO_PIN_EN 0 -#elif (RTE_SPI_MISO_PIN_SEL == 1) - #define RTE_SPI_MISO_PORT 3 - #define RTE_SPI_MISO_BIT 6 - #define RTE_SPI_MISO_FUNC 1 -#else - #error "Invalid SPI SPI_MISO Pin Configuration!" -#endif -#ifndef RTE_SPI_MISO_PIN_EN - #define RTE_SPI_MISO_PIN_EN 1 -#endif -// SPI_MOSI <0=>Not used <1=>P3_7 -// Master Out Slave In for SPI -#define RTE_SPI_MOSI_PIN_SEL 0 -#if (RTE_SPI_MOSI_PIN_SEL == 0) - #define RTE_SPI_MOSI_PIN_EN 0 -#elif (RTE_SPI_MOSI_PIN_SEL == 1) - #define RTE_SPI_MOSI_PORT 3 - #define RTE_SPI_MOSI_BIT 7 - #define RTE_SPI_MOSI_FUNC 1 -#else - #error "Invalid SPI SPI_MOSI Pin Configuration!" -#endif -#ifndef RTE_SPI_MOSI_PIN_EN - #define RTE_SPI_MOSI_PIN_EN 1 -#endif -// Pin Configuration -// SPI (Serial Peripheral Interface) [Driver_SPI2] - -// I2S0 (Integrated Interchip Sound 0) [Driver_SAI0] -// Configuration settings for Driver_SAI0 in component ::Drivers:SAI -#define RTE_I2S0 0 - -// Pin Configuration -// I2S0_RX_SCK <0=>Not used <1=>P3_0 <2=>P6_0 <3=>PF_4 -// Receive clock for I2S0 -#define RTE_I2S0_RX_SCK_PIN_SEL 2 -#if (RTE_I2S0_RX_SCK_PIN_SEL == 0) -#define RTE_I2S0_RX_SCK_PIN_EN 0 -#elif (RTE_I2S0_RX_SCK_PIN_SEL == 1) - #define RTE_I2S0_RX_SCK_PORT 3 - #define RTE_I2S0_RX_SCK_BIT 0 - #define RTE_I2S0_RX_SCK_FUNC 0 -#elif (RTE_I2S0_RX_SCK_PIN_SEL == 2) - #define RTE_I2S0_RX_SCK_PORT 6 - #define RTE_I2S0_RX_SCK_BIT 0 - #define RTE_I2S0_RX_SCK_FUNC 4 -#elif (RTE_I2S0_RX_SCK_PIN_SEL == 3) - #define RTE_I2S0_RX_SCK_PORT 0xF - #define RTE_I2S0_RX_SCK_BIT 4 - #define RTE_I2S0_RX_SCK_FUNC 7 -#else - #error "Invalid I2S0 I2S0_RX_SCK Pin Configuration!" -#endif -#ifndef RTE_I2S0_RX_SCK_PIN_EN -#define RTE_I2S0_RX_SCK_PIN_EN 1 -#endif -// I2S0_RX_WS <0=>Not used <1=>P3_1 <2=>P6_1 -// Receive word select for I2S0 -#define RTE_I2S0_RX_WS_PIN_SEL 2 -#if (RTE_I2S0_RX_WS_PIN_SEL == 0) -#define RTE_I2S0_RX_WS_PIN_EN 0 -#elif (RTE_I2S0_RX_WS_PIN_SEL == 1) - #define RTE_I2S0_RX_WS_PORT 3 - #define RTE_I2S0_RX_WS_BIT 1 - #define RTE_I2S0_RX_WS_FUNC 1 -#elif (RTE_I2S0_RX_WS_PIN_SEL == 2) - #define RTE_I2S0_RX_WS_PORT 6 - #define RTE_I2S0_RX_WS_BIT 1 - #define RTE_I2S0_RX_WS_FUNC 3 -#else - #error "Invalid I2S0 I2S0_RX_WS Pin Configuration!" -#endif -#ifndef RTE_I2S0_RX_WS_PIN_EN -#define RTE_I2S0_RX_WS_PIN_EN 1 -#endif -// I2S0_RX_SDA <0=>Not used <1=>P3_2 <2=>P6_2 -// Receive master clock for I2S0 -#define RTE_I2S0_RX_SDA_PIN_SEL 2 -#if (RTE_I2S0_RX_SDA_PIN_SEL == 0) -#define RTE_I2S0_RX_SDA_PIN_EN 0 -#elif (RTE_I2S0_RX_SDA_PIN_SEL == 1) - #define RTE_I2S0_RX_SDA_PORT 3 - #define RTE_I2S0_RX_SDA_BIT 2 - #define RTE_I2S0_RX_SDA_FUNC 1 -#elif (RTE_I2S0_RX_SDA_PIN_SEL == 2) - #define RTE_I2S0_RX_SDA_PORT 6 - #define RTE_I2S0_RX_SDA_BIT 2 - #define RTE_I2S0_RX_SDA_FUNC 3 -#else - #error "Invalid I2S0 I2S0_RX_SDA Pin Configuration!" -#endif -#ifndef RTE_I2S0_RX_SDA_PIN_EN -#define RTE_I2S0_RX_SDA_PIN_EN 1 -#endif -// I2S0_RX_MCLK <0=>Not used <1=>P1_19 <2=>P3_0 <3=>P6_0 -// Receive master clock for I2S0 -#define RTE_I2S0_RX_MCLK_PIN_SEL 0 -#if (RTE_I2S0_RX_MCLK_PIN_SEL == 0) -#define RTE_I2S0_RX_MCLK_PIN_EN 0 -#elif (RTE_I2S0_RX_MCLK_PIN_SEL == 1) - #define RTE_I2S0_RX_MCLK_PORT 1 - #define RTE_I2S0_RX_MCLK_BIT 19 - #define RTE_I2S0_RX_MCLK_FUNC 6 -#elif (RTE_I2S0_RX_MCLK_PIN_SEL == 2) - #define RTE_I2S0_RX_MCLK_PORT 3 - #define RTE_I2S0_RX_MCLK_BIT 0 - #define RTE_I2S0_RX_MCLK_FUNC 1 -#elif (RTE_I2S0_RX_MCLK_PIN_SEL == 3) - #define RTE_I2S0_RX_MCLK_PORT 6 - #define RTE_I2S0_RX_MCLK_BIT 0 - #define RTE_I2S0_RX_MCLK_FUNC 1 -#else - #error "Invalid I2S0 I2S0_RX_MCLK Pin Configuration!" -#endif -#ifndef RTE_I2S0_RX_MCLK_PIN_EN -#define RTE_I2S0_RX_MCLK_PIN_EN 1 -#endif -// I2S0_TX_SCK <0=>Not used <1=>P3_0 <2=>P4_7 -// Transmit clock for I2S0 -#define RTE_I2S0_TX_SCK_PIN_SEL 1 -#if (RTE_I2S0_TX_SCK_PIN_SEL == 0) -#define RTE_I2S0_TX_SCK_PIN_EN 0 -#elif (RTE_I2S0_TX_SCK_PIN_SEL == 1) - #define RTE_I2S0_TX_SCK_PORT 3 - #define RTE_I2S0_TX_SCK_BIT 0 - #define RTE_I2S0_TX_SCK_FUNC 2 -#elif (RTE_I2S0_TX_SCK_PIN_SEL == 2) - #define RTE_I2S0_TX_SCK_PORT 4 - #define RTE_I2S0_TX_SCK_BIT 7 - #define RTE_I2S0_TX_SCK_FUNC 7 -#else - #error "Invalid I2S0 I2S0_TX_SCK Pin Configuration!" -#endif -#ifndef RTE_I2S0_TX_SCK_PIN_EN -#define RTE_I2S0_TX_SCK_PIN_EN 1 -#endif -// I2S0_TX_WS <0=>Not used <1=>P0_0 <2=>P3_1 <3=>P3_4 <4=>P7_1 <5=>P9_1 <6=>PC_13 -// Transmit word select for I2S0 -#define RTE_I2S0_TX_WS_PIN_SEL 4 -#if (RTE_I2S0_TX_WS_PIN_SEL == 0) -#define RTE_I2S0_TX_WS_PIN_EN 0 -#elif (RTE_I2S0_TX_WS_PIN_SEL == 1) - #define RTE_I2S0_TX_WS_PORT 0 - #define RTE_I2S0_TX_WS_BIT 0 - #define RTE_I2S0_TX_WS_FUNC 6 -#elif (RTE_I2S0_TX_WS_PIN_SEL == 2) - #define RTE_I2S0_TX_WS_PORT 3 - #define RTE_I2S0_TX_WS_BIT 1 - #define RTE_I2S0_TX_WS_FUNC 0 -#elif (RTE_I2S0_TX_WS_PIN_SEL == 3) - #define RTE_I2S0_TX_WS_PORT 3 - #define RTE_I2S0_TX_WS_BIT 4 - #define RTE_I2S0_TX_WS_FUNC 5 -#elif (RTE_I2S0_TX_WS_PIN_SEL == 4) - #define RTE_I2S0_TX_WS_PORT 7 - #define RTE_I2S0_TX_WS_BIT 1 - #define RTE_I2S0_TX_WS_FUNC 2 -#elif (RTE_I2S0_TX_WS_PIN_SEL == 5) - #define RTE_I2S0_TX_WS_PORT 9 - #define RTE_I2S0_TX_WS_BIT 1 - #define RTE_I2S0_TX_WS_FUNC 4 -#elif (RTE_I2S0_TX_WS_PIN_SEL == 6) - #define RTE_I2S0_TX_WS_PORT 0xC - #define RTE_I2S0_TX_WS_BIT 13 - #define RTE_I2S0_TX_WS_FUNC 6 -#else - #error "Invalid I2S0 I2S0_TX_WS Pin Configuration!" -#endif -#ifndef RTE_I2S0_TX_WS_PIN_EN -#define RTE_I2S0_TX_WS_PIN_EN 1 -#endif -// I2S0_TX_SDA <0=>Not used <1=>P3_2 <2=>P3_5 <3=>P7_2 <4=>P9_2 <5=>PC_12 -// Transmit data for I2S0 -#define RTE_I2S0_TX_SDA_PIN_SEL 3 -#if (RTE_I2S0_TX_SDA_PIN_SEL == 0) -#define RTE_I2S0_TX_SDA_PIN_EN 0 -#elif (RTE_I2S0_TX_SDA_PIN_SEL == 1) - #define RTE_I2S0_TX_SDA_PORT 3 - #define RTE_I2S0_TX_SDA_BIT 2 - #define RTE_I2S0_TX_SDA_FUNC 0 -#elif (RTE_I2S0_TX_SDA_PIN_SEL == 2) - #define RTE_I2S0_TX_SDA_PORT 3 - #define RTE_I2S0_TX_SDA_BIT 5 - #define RTE_I2S0_TX_SDA_FUNC 5 -#elif (RTE_I2S0_TX_SDA_PIN_SEL == 3) - #define RTE_I2S0_TX_SDA_PORT 7 - #define RTE_I2S0_TX_SDA_BIT 2 - #define RTE_I2S0_TX_SDA_FUNC 2 -#elif (RTE_I2S0_TX_SDA_PIN_SEL == 4) - #define RTE_I2S0_TX_SDA_PORT 9 - #define RTE_I2S0_TX_SDA_BIT 2 - #define RTE_I2S0_TX_SDA_FUNC 4 -#elif (RTE_I2S0_TX_SDA_PIN_SEL == 5) - #define RTE_I2S0_TX_SDA_PORT 0xC - #define RTE_I2S0_TX_SDA_BIT 12 - #define RTE_I2S0_TX_SDA_FUNC 6 -#else - #error "Invalid I2S0 I2S0_TX_SDA Pin Configuration!" -#endif -#ifndef RTE_I2S0_TX_SDA_PIN_EN -#define RTE_I2S0_TX_SDA_PIN_EN 1 -#endif -// I2S0_TX_MCLK <0=>Not used <1=>P3_0 <2=>P3_3 <3=>PF_4 <4=>CLK2 -// Transmit master clock for I2S0 -#define RTE_I2S0_TX_MCLK_PIN_SEL 2 -#if (RTE_I2S0_TX_MCLK_PIN_SEL == 0) -#define RTE_I2S0_TX_MCLK_PIN_EN 0 -#elif (RTE_I2S0_TX_MCLK_PIN_SEL == 1) - #define RTE_I2S0_TX_MCLK_PORT 3 - #define RTE_I2S0_TX_MCLK_BIT 0 - #define RTE_I2S0_TX_MCLK_FUNC 3 -#elif (RTE_I2S0_TX_MCLK_PIN_SEL == 2) - #define RTE_I2S0_TX_MCLK_PORT 3 - #define RTE_I2S0_TX_MCLK_BIT 3 - #define RTE_I2S0_TX_MCLK_FUNC 6 -#elif (RTE_I2S0_TX_MCLK_PIN_SEL == 3) - #define RTE_I2S0_TX_MCLK_PORT 0xf - #define RTE_I2S0_TX_MCLK_BIT 4 - #define RTE_I2S0_TX_MCLK_FUNC 6 -#elif (RTE_I2S0_TX_MCLK_PIN_SEL == 4) - #define RTE_I2S0_TX_MCLK_PORT 0x10 - #define RTE_I2S0_TX_MCLK_BIT 2 - #define RTE_I2S0_TX_MCLK_FUNC 6 -#else - #error "Invalid I2S0 I2S0_TX_MCLK Pin Configuration!" -#endif -#ifndef RTE_I2S0_TX_MCLK_PIN_EN -#define RTE_I2S0_TX_MCLK_PIN_EN 1 -#endif -// Pin Configuration - -// DMA -// Tx -// Channel <0=>0 <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// Peripheral <0=>9 (DMAMUXPER9) -// -#define RTE_I2S0_DMA_TX_EN 0 -#define RTE_I2S0_DMA_TX_CH 0 -#define RTE_I2S0_DMA_TX_PERI_ID 0 -#if (RTE_I2S0_DMA_TX_PERI_ID == 0) - #define RTE_I2S0_DMA_TX_PERI 9 - #define RTE_I2S0_DMA_TX_PERI_SEL 1 -#endif -// Rx -// Channel <0=>0 <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// Peripheral <0=>10 (DMAMUXPER10) -// -#define RTE_I2S0_DMA_RX_EN 0 -#define RTE_I2S0_DMA_RX_CH 1 -#define RTE_I2S0_DMA_RX_PERI_ID 0 -#if (RTE_I2S0_DMA_RX_PERI_ID == 0) - #define RTE_I2S0_DMA_RX_PERI 10 - #define RTE_I2S0_DMA_RX_PERI_SEL 1 -#endif -// DMA -// I2S0 (Integrated Interchip Sound 0) [Driver_SAI0] - -// I2S1 (Integrated Interchip Sound 1) [Driver_SAI1] -// Configuration settings for Driver_I2S1 in component ::Drivers:SAI -#define RTE_I2S1 0 - -// Pin Configuration -// I2S1_RX_SCK <0=>Not used <1=>CLK2 <2=>CLK3 -// Receive clock for I2S1 -#define RTE_I2S1_RX_SCK_PIN_SEL 0 -#if (RTE_I2S1_RX_SCK_PIN_SEL == 0) -#define RTE_I2S1_RX_SCK_PIN_EN 0 -#elif (RTE_I2S1_RX_SCK_PIN_SEL == 1) - #define RTE_I2S1_RX_SCK_PORT 0x10 - #define RTE_I2S1_RX_SCK_BIT 2 - #define RTE_I2S1_RX_SCK_FUNC 7 -#elif (RTE_I2S1_RX_SCK_PIN_SEL == 2) - #define RTE_I2S1_RX_SCK_PORT 0x10 - #define RTE_I2S1_RX_SCK_BIT 3 - #define RTE_I2S1_RX_SCK_FUNC 7 -#else - #error "Invalid I2S1 I2S1_RX_SCK Pin Configuration!" -#endif -#ifndef RTE_I2S1_RX_SCK_PIN_EN -#define RTE_I2S1_RX_SCK_PIN_EN 1 -#endif -// I2S1_RX_WS <0=>Not used <1=>P3_5 -// Receive word select for I2S1 -#define RTE_I2S1_RX_WS_PIN_SEL 0 -#if (RTE_I2S1_RX_WS_PIN_SEL == 0) -#define RTE_I2S1_RX_WS_PIN_EN 0 -#elif (RTE_I2S1_RX_WS_PIN_SEL == 1) - #define RTE_I2S1_RX_WS_PORT 3 - #define RTE_I2S1_RX_WS_BIT 5 - #define RTE_I2S1_RX_WS_FUNC 6 -#else - #error "Invalid I2S1 I2S1_RX_WS Pin Configuration!" -#endif -#ifndef RTE_I2S1_RX_WS_PIN_EN -#define RTE_I2S1_RX_WS_PIN_EN 1 -#endif -// I2S1_RX_SDA <0=>Not used <1=>P3_4 -// Receive master clock for I2S1 -#define RTE_I2S1_RX_SDA_PIN_SEL 0 -#if (RTE_I2S1_RX_SDA_PIN_SEL == 0) -#define RTE_I2S1_RX_SDA_PIN_EN 0 -#elif (RTE_I2S1_RX_SDA_PIN_SEL == 1) - #define RTE_I2S1_RX_SDA_PORT 3 - #define RTE_I2S1_RX_SDA_BIT 4 - #define RTE_I2S1_RX_SDA_FUNC 6 -#else - #error "Invalid I2S1 I2S1_RX_SDA Pin Configuration!" -#endif -#ifndef RTE_I2S1_RX_SDA_PIN_EN -#define RTE_I2S1_RX_SDA_PIN_EN 1 -#endif -// I2S1_RX_MCLK <0=>Not used <1=>PA_0 -// Receive master clock for I2S1 -#define RTE_I2S1_RX_MCLK_PIN_SEL 0 -#if (RTE_I2S1_RX_MCLK_PIN_SEL == 0) -#define RTE_I2S1_RX_MCLK_PIN_EN 0 -#elif (RTE_I2S1_RX_MCLK_PIN_SEL == 1) - #define RTE_I2S1_RX_MCLK_PORT 0x0A - #define RTE_I2S1_RX_MCLK_BIT 0 - #define RTE_I2S1_RX_MCLK_FUNC 5 -#else - #error "Invalid I2S1 I2S1_RX_MCLK Pin Configuration!" -#endif -#ifndef RTE_I2S1_RX_MCLK_PIN_EN -#define RTE_I2S1_RX_MCLK_PIN_EN 1 -#endif -// I2S1_TX_SCK <0=>Not used <1=>P1_19 <2=>P3_3 <3=>P4_7 -// Transmit clock for I2S1 -#define RTE_I2S1_TX_SCK_PIN_SEL 0 -#if (RTE_I2S1_TX_SCK_PIN_SEL == 0) -#define RTE_I2S1_TX_SCK_PIN_EN 0 -#elif (RTE_I2S1_TX_SCK_PIN_SEL == 1) - #define RTE_I2S1_TX_SCK_PORT 1 - #define RTE_I2S1_TX_SCK_BIT 19 - #define RTE_I2S1_TX_SCK_FUNC 7 -#elif (RTE_I2S1_TX_SCK_PIN_SEL == 2) - #define RTE_I2S1_TX_SCK_PORT 3 - #define RTE_I2S1_TX_SCK_BIT 3 - #define RTE_I2S1_TX_SCK_FUNC 7 -#elif (RTE_I2S1_TX_SCK_PIN_SEL == 3) - #define RTE_I2S1_TX_SCK_PORT 4 - #define RTE_I2S1_TX_SCK_BIT 7 - #define RTE_I2S1_TX_SCK_FUNC 6 -#else - #error "Invalid I2S1 I2S1_TX_SCK Pin Configuration!" -#endif -#ifndef RTE_I2S1_TX_SCK_PIN_EN -#define RTE_I2S1_TX_SCK_PIN_EN 1 -#endif -// I2S1_TX_WS <0=>Not used <1=>P0_0 <2=>PF_7 -// Transmit word select for I2S1 -#define RTE_I2S1_TX_WS_PIN_SEL 0 -#if (RTE_I2S1_TX_WS_PIN_SEL == 0) -#define RTE_I2S1_TX_WS_PIN_EN 0 -#elif (RTE_I2S1_TX_WS_PIN_SEL == 1) - #define RTE_I2S1_TX_WS_PORT 0 - #define RTE_I2S1_TX_WS_BIT 0 - #define RTE_I2S1_TX_WS_FUNC 7 -#elif (RTE_I2S1_TX_WS_PIN_SEL == 2) - #define RTE_I2S1_TX_WS_PORT 0x0F - #define RTE_I2S1_TX_WS_BIT 7 - #define RTE_I2S1_TX_WS_FUNC 7 -#else - #error "Invalid I2S1 I2S1_TX_WS Pin Configuration!" -#endif -#ifndef RTE_I2S1_TX_WS_PIN_EN -#define RTE_I2S1_TX_WS_PIN_EN 1 -#endif -// I2S1_TX_SDA <0=>Not used <1=>P0_1 <2=>PF_6 -// Transmit data for I2S -#define RTE_I2S1_TX_SDA_PIN_SEL 0 -#if (RTE_I2S1_TX_SDA_PIN_SEL == 0) -#define RTE_I2S1_TX_SDA_PIN_EN 0 -#elif (RTE_I2S1_TX_SDA_PIN_SEL == 1) - #define RTE_I2S1_TX_SDA_PORT 0 - #define RTE_I2S1_TX_SDA_BIT 1 - #define RTE_I2S1_TX_SDA_FUNC 7 -#elif (RTE_I2S1_TX_SDA_PIN_SEL == 2) - #define RTE_I2S1_TX_SDA_PORT 0x0F - #define RTE_I2S1_TX_SDA_BIT 6 - #define RTE_I2S1_TX_SDA_FUNC 7 -#else - #error "Invalid I2S1 I2S1_TX_SDA Pin Configuration!" -#endif -#ifndef RTE_I2S1_TX_SDA_PIN_EN -#define RTE_I2S1_TX_SDA_PIN_EN 1 -#endif -// I2S1_TX_MCLK <0=>Not used <1=>P8_8 <2=>PF_0 <3=>CLK1 -// Transmit master clock for I2S1 -#define RTE_I2S1_TX_MCLK_PIN_SEL 0 -#if (RTE_I2S1_TX_MCLK_PIN_SEL == 0) -#define RTE_I2S1_TX_MCLK_PIN_EN 0 -#elif (RTE_I2S1_TX_MCLK_PIN_SEL == 1) - #define RTE_I2S1_TX_MCLK_PORT 8 - #define RTE_I2S1_TX_MCLK_BIT 8 - #define RTE_I2S1_TX_MCLK_FUNC 7 -#elif (RTE_I2S1_TX_MCLK_PIN_SEL == 2) - #define RTE_I2S1_TX_MCLK_PORT 0x0F - #define RTE_I2S1_TX_MCLK_BIT 0 - #define RTE_I2S1_TX_MCLK_FUNC 7 -#elif (RTE_I2S1_TX_MCLK_PIN_SEL == 3) - #define RTE_I2S1_TX_MCLK_PORT 0x10 - #define RTE_I2S1_TX_MCLK_BIT 1 - #define RTE_I2S1_TX_MCLK_FUNC 7 -#else - #error "Invalid I2S1 I2S1_TX_MCLK Pin Configuration!" -#endif -#ifndef RTE_I2S1_TX_MCLK_PIN_EN -#define RTE_I2S1_TX_MCLK_PIN_EN 1 -#endif -// Pin Configuration - -// DMA -// Tx -// Channel <0=>0 <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// Peripheral <0=>3 (DMAMUXPER3) -// -#define RTE_I2S1_DMA_TX_EN 0 -#define RTE_I2S1_DMA_TX_CH 0 -#define RTE_I2S1_DMA_TX_PERI_ID 0 -#if (RTE_I2S1_DMA_TX_PERI_ID == 0) - #define RTE_I2S1_DMA_TX_PERI 3 - #define RTE_I2S1_DMA_TX_PERI_SEL 2 -#endif -// Rx -// Channel <0=>0 <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// Peripheral <0=>4 (DMAMUXPER4) -// -#define RTE_I2S1_DMA_RX_EN 0 -#define RTE_I2S1_DMA_RX_CH 1 -#define RTE_I2S1_DMA_RX_PERI_ID 0 -#if (RTE_I2S1_DMA_RX_PERI_ID == 0) - #define RTE_I2S1_DMA_RX_PERI 4 - #define RTE_I2S1_DMA_RX_PERI_SEL 2 -#endif -// DMA -// I2S1 (Integrated Interchip Sound 1) [Driver_SAI1] - -// CAN0 Controller [Driver_CAN0] -// Configuration settings for Driver_CAN0 in component ::Drivers:CAN -#define RTE_CAN_CAN0 0 - -// Pin Configuration -// CAN0_RD <0=>Not used <1=>P3_1 <2=>PE_2 -// CAN0 receiver input. -#define RTE_CAN0_RD_ID 0 -#if (RTE_CAN0_RD_ID == 0) - #define RTE_CAN0_RD_PIN_EN 0 -#elif (RTE_CAN0_RD_ID == 1) - #define RTE_CAN0_RD_PORT 3 - #define RTE_CAN0_RD_BIT 1 - #define RTE_CAN0_RD_FUNC 2 -#elif (RTE_CAN0_RD_ID == 2) - #define RTE_CAN0_RD_PORT 0xE - #define RTE_CAN0_RD_BIT 2 - #define RTE_CAN0_RD_FUNC 1 -#else - #error "Invalid RTE_CAN0_RD Pin Configuration!" -#endif -#ifndef RTE_CAN0_RD_PIN_EN - #define RTE_CAN0_RD_PIN_EN 1 -#endif -// CAN0_TD <0=>Not used <1=>P3_2 <2=>PE_3 -// CAN0 transmitter output. -#define RTE_CAN0_TD_ID 0 -#if (RTE_CAN0_TD_ID == 0) - #define RTE_CAN0_TD_PIN_EN 0 -#elif (RTE_CAN0_TD_ID == 1) - #define RTE_CAN0_TD_PORT 3 - #define RTE_CAN0_TD_BIT 2 - #define RTE_CAN0_TD_FUNC 2 -#elif (RTE_CAN0_TD_ID == 2) - #define RTE_CAN0_TD_PORT 0xE - #define RTE_CAN0_TD_BIT 3 - #define RTE_CAN0_TD_FUNC 1 -#else - #error "Invalid RTE_CAN0_TD Pin Configuration!" -#endif -#ifndef RTE_CAN0_TD_PIN_EN - #define RTE_CAN0_TD_PIN_EN 1 -#endif -// Pin Configuration -// CAN0 Controller [Driver_CAN0] - -// CAN1 Controller [Driver_CAN1] -// Configuration settings for Driver_CAN1 in component ::Drivers:CAN -#define RTE_CAN_CAN1 0 - -// Pin Configuration -// CAN1_RD <0=>Not used <1=>P1_18 <2=>P4_9 <3=>PE_1 -// CAN1 receiver input. -#define RTE_CAN1_RD_ID 0 -#if (RTE_CAN1_RD_ID == 0) - #define RTE_CAN1_RD_PIN_EN 0 -#elif (RTE_CAN1_RD_ID == 1) - #define RTE_CAN1_RD_PORT 1 - #define RTE_CAN1_RD_BIT 18 - #define RTE_CAN1_RD_FUNC 5 -#elif (RTE_CAN1_RD_ID == 2) - #define RTE_CAN1_RD_PORT 4 - #define RTE_CAN1_RD_BIT 9 - #define RTE_CAN1_RD_FUNC 6 -#elif (RTE_CAN1_RD_ID == 3) - #define RTE_CAN1_RD_PORT 0xE - #define RTE_CAN1_RD_BIT 1 - #define RTE_CAN1_RD_FUNC 5 -#else - #error "Invalid RTE_CAN1_RD Pin Configuration!" -#endif -#ifndef RTE_CAN1_RD_PIN_EN - #define RTE_CAN1_RD_PIN_EN 1 -#endif -// CAN1_TD <0=>Not used <1=>P1_17 <2=>P4_8 <3=>PE_0 -// CAN1 transmitter output. -#define RTE_CAN1_TD_ID 0 -#if (RTE_CAN1_TD_ID == 0) - #define RTE_CAN1_TD_PIN_EN 0 -#elif (RTE_CAN1_TD_ID == 1) - #define RTE_CAN1_TD_PORT 1 - #define RTE_CAN1_TD_BIT 17 - #define RTE_CAN1_TD_FUNC 5 -#elif (RTE_CAN1_TD_ID == 2) - #define RTE_CAN1_TD_PORT 4 - #define RTE_CAN1_TD_BIT 8 - #define RTE_CAN1_TD_FUNC 6 -#elif (RTE_CAN1_TD_ID == 3) - #define RTE_CAN1_TD_PORT 0xE - #define RTE_CAN1_TD_BIT 0 - #define RTE_CAN1_TD_FUNC 5 -#else - #error "Invalid RTE_CAN1_TD Pin Configuration!" -#endif -#ifndef RTE_CAN1_TD_PIN_EN - #define RTE_CAN1_TD_PIN_EN 1 -#endif -// Pin Configuration -// CAN1 Controller [Driver_CAN1] - - -#endif /* __RTE_DEVICE_H */ diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/Device/LPC4322_Cortex-M4/startup_LPC43xx.s b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/Device/LPC4322_Cortex-M4/startup_LPC43xx.s deleted file mode 100644 index 19eac6d..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/Device/LPC4322_Cortex-M4/startup_LPC43xx.s +++ /dev/null @@ -1,333 +0,0 @@ -;/**************************************************************************//** -; * @file LPC43xx.s -; * @brief CMSIS Cortex-M4 Core Device Startup File for -; * NXP LPC43xxDevice Series -; * @version V1.00 -; * @date 03. September 2013 -; * -; * @note -; * Copyright (C) 2009-2013 ARM Limited. All rights reserved. -; * -; * @par -; * ARM Limited (ARM) is supplying this software for use with Cortex-M -; * processor based microcontrollers. This file can be freely distributed -; * within development tools that are supporting such ARM based processors. -; * -; * @par -; * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED -; * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF -; * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. -; * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR -; * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. -; * -; * <<< Use Configuration Wizard in Context Menu >>> -; ******************************************************************************/ - -; Stack Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Stack_Size EQU 0x00000400 - - AREA STACK, NOINIT, READWRITE, ALIGN=3 -Stack_Mem SPACE Stack_Size -__initial_sp - -; Heap Configuration -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Heap_Size EQU 0x00000000 - - AREA HEAP, NOINIT, READWRITE, ALIGN=3 -__heap_base -Heap_Mem SPACE Heap_Size -__heap_limit - - PRESERVE8 - THUMB - -; Vector Table Mapped to Address 0 at Reset - - AREA RESET, DATA, READONLY - EXPORT __Vectors - -Sign_Value EQU 0x5A5A5A5A - -__Vectors DCD __initial_sp ; 0 Top of Stack - DCD Reset_Handler ; 1 Reset Handler - DCD NMI_Handler ; 2 NMI Handler - DCD HardFault_Handler ; 3 Hard Fault Handler - DCD MemManage_Handler ; 4 MPU Fault Handler - DCD BusFault_Handler ; 5 Bus Fault Handler - DCD UsageFault_Handler ; 6 Usage Fault Handler - DCD Sign_Value ; 7 Reserved - DCD 0 ; 8 Reserved - DCD 0 ; 9 Reserved - DCD 0 ; 10 Reserved - DCD SVC_Handler ; 11 SVCall Handler - DCD DebugMon_Handler ; 12 Debug Monitor Handler - DCD 0 ; 13 Reserved - DCD PendSV_Handler ; 14 PendSV Handler - DCD SysTick_Handler ; 15 SysTick Handler - - ; External LPC43xx/M4 Interrupts - DCD DAC_IRQHandler ; 0 DAC interrupt - DCD M0APP_IRQHandler ; 1 Cortex-M0APP; Latched TXEV; for M4-M0APP communication - DCD DMA_IRQHandler ; 2 DMA interrupt - DCD 0 ; 3 Reserved - DCD FLASHEEPROM_IRQHandler ; 4 flash bank A, flash bank B, EEPROM ORed interrupt - DCD ETHERNET_IRQHandler ; 5 Ethernet interrupt - DCD SDIO_IRQHandler ; 6 SD/MMC interrupt - DCD LCD_IRQHandler ; 7 LCD interrupt - DCD USB0_IRQHandler ; 8 OTG interrupt - DCD USB1_IRQHandler ; 9 USB1 interrupt - DCD SCT_IRQHandler ; 10 SCT combined interrupt - DCD RITIMER_IRQHandler ; 11 RI Timer interrupt - DCD TIMER0_IRQHandler ; 12 Timer 0 interrupt - DCD TIMER1_IRQHandler ; 13 Timer 1 interrupt - DCD TIMER2_IRQHandler ; 14 Timer 2 interrupt - DCD TIMER3_IRQHandler ; 15 Timer 3 interrupt - DCD MCPWM_IRQHandler ; 16 Motor control PWM interrupt - DCD ADC0_IRQHandler ; 17 ADC0 interrupt - DCD I2C0_IRQHandler ; 18 I2C0 interrupt - DCD I2C1_IRQHandler ; 19 I2C1 interrupt - DCD SPI_IRQHandler ; 20 SPI interrupt - DCD ADC1_IRQHandler ; 21 ADC1 interrupt - DCD SSP0_IRQHandler ; 22 SSP0 interrupt - DCD SSP1_IRQHandler ; 23 SSP1 interrupt - DCD USART0_IRQHandler ; 24 USART0 interrupt - DCD UART1_IRQHandler ; 25 Combined UART1, Modem interrupt - DCD USART2_IRQHandler ; 26 USART2 interrupt - DCD USART3_IRQHandler ; 27 Combined USART3, IrDA interrupt - DCD I2S0_IRQHandler ; 28 I2S0 interrupt - DCD I2S1_IRQHandler ; 29 I2S1 interrupt - DCD SPIFI_IRQHandler ; 30 SPISI interrupt - DCD SGPIO_IRQHandler ; 31 SGPIO interrupt - DCD PIN_INT0_IRQHandler ; 32 GPIO pin interrupt 0 - DCD PIN_INT1_IRQHandler ; 33 GPIO pin interrupt 1 - DCD PIN_INT2_IRQHandler ; 34 GPIO pin interrupt 2 - DCD PIN_INT3_IRQHandler ; 35 GPIO pin interrupt 3 - DCD PIN_INT4_IRQHandler ; 36 GPIO pin interrupt 4 - DCD PIN_INT5_IRQHandler ; 37 GPIO pin interrupt 5 - DCD PIN_INT6_IRQHandler ; 38 GPIO pin interrupt 6 - DCD PIN_INT7_IRQHandler ; 39 GPIO pin interrupt 7 - DCD GINT0_IRQHandler ; 40 GPIO global interrupt 0 - DCD GINT1_IRQHandler ; 41 GPIO global interrupt 1 - DCD EVENTROUTER_IRQHandler ; 42 Event router interrupt - DCD C_CAN1_IRQHandler ; 43 C_CAN1 interrupt - DCD 0 ; 44 Reserved - DCD ADCHS_IRQHandler ; 45 ADCHS combined interrupt - DCD ATIMER_IRQHandler ; 46 Alarm timer interrupt - DCD RTC_IRQHandler ; 47 RTC interrupt - DCD 0 ; 48 Reserved - DCD WWDT_IRQHandler ; 49 WWDT interrupt - DCD M0SUB_IRQHandler ; 50 TXEV instruction from the M0 subsystem core interrupt - DCD C_CAN0_IRQHandler ; 51 C_CAN0 interrupt - DCD QEI_IRQHandler ; 52 QEI interrupt - - -;CRP address at offset 0x2FC relative to the BOOT Bank address - IF :LNOT::DEF:NO_CRP - SPACE (0x2FC - (. - __Vectors)) -; EXPORT CRP_Key -CRP_Key DCD 0xFFFFFFFF -; 0xFFFFFFFF => CRP Disabled -; 0x12345678 => CRP Level 1 -; 0x87654321 => CRP Level 2 -; 0x43218765 => CRP Level 3 (ARE YOU SURE?) -; 0x4E697370 => NO ISP (ARE YOU SURE?) - ENDIF - - AREA |.text|, CODE, READONLY - -; Reset Handler - -Reset_Handler PROC - EXPORT Reset_Handler [WEAK] - IMPORT SystemInit - IMPORT __main - LDR R0, =SystemInit - BLX R0 - LDR R0, =__main - BX R0 - ENDP - -; Dummy Exception Handlers (infinite loops which can be modified) - -NMI_Handler PROC - EXPORT NMI_Handler [WEAK] - B . - ENDP -HardFault_Handler\ - PROC - EXPORT HardFault_Handler [WEAK] - B . - ENDP -MemManage_Handler\ - PROC - EXPORT MemManage_Handler [WEAK] - B . - ENDP -BusFault_Handler\ - PROC - EXPORT BusFault_Handler [WEAK] - B . - ENDP -UsageFault_Handler\ - PROC - EXPORT UsageFault_Handler [WEAK] - B . - ENDP -SVC_Handler PROC - EXPORT SVC_Handler [WEAK] - B . - ENDP -DebugMon_Handler\ - PROC - EXPORT DebugMon_Handler [WEAK] - B . - ENDP -PendSV_Handler PROC - EXPORT PendSV_Handler [WEAK] - B . - ENDP -SysTick_Handler PROC - EXPORT SysTick_Handler [WEAK] - B . - ENDP - -Default_Handler PROC - EXPORT DAC_IRQHandler [WEAK] - EXPORT M0APP_IRQHandler [WEAK] - EXPORT DMA_IRQHandler [WEAK] - EXPORT FLASHEEPROM_IRQHandler [WEAK] - EXPORT ETHERNET_IRQHandler [WEAK] - EXPORT SDIO_IRQHandler [WEAK] - EXPORT LCD_IRQHandler [WEAK] - EXPORT USB0_IRQHandler [WEAK] - EXPORT USB1_IRQHandler [WEAK] - EXPORT SCT_IRQHandler [WEAK] - EXPORT RITIMER_IRQHandler [WEAK] - EXPORT TIMER0_IRQHandler [WEAK] - EXPORT TIMER1_IRQHandler [WEAK] - EXPORT TIMER2_IRQHandler [WEAK] - EXPORT TIMER3_IRQHandler [WEAK] - EXPORT MCPWM_IRQHandler [WEAK] - EXPORT ADC0_IRQHandler [WEAK] - EXPORT I2C0_IRQHandler [WEAK] - EXPORT I2C1_IRQHandler [WEAK] - EXPORT SPI_IRQHandler [WEAK] - EXPORT ADC1_IRQHandler [WEAK] - EXPORT SSP0_IRQHandler [WEAK] - EXPORT SSP1_IRQHandler [WEAK] - EXPORT USART0_IRQHandler [WEAK] - EXPORT UART1_IRQHandler [WEAK] - EXPORT USART2_IRQHandler [WEAK] - EXPORT USART3_IRQHandler [WEAK] - EXPORT I2S0_IRQHandler [WEAK] - EXPORT I2S1_IRQHandler [WEAK] - EXPORT SPIFI_IRQHandler [WEAK] - EXPORT SGPIO_IRQHandler [WEAK] - EXPORT PIN_INT0_IRQHandler [WEAK] - EXPORT PIN_INT1_IRQHandler [WEAK] - EXPORT PIN_INT2_IRQHandler [WEAK] - EXPORT PIN_INT3_IRQHandler [WEAK] - EXPORT PIN_INT4_IRQHandler [WEAK] - EXPORT PIN_INT5_IRQHandler [WEAK] - EXPORT PIN_INT6_IRQHandler [WEAK] - EXPORT PIN_INT7_IRQHandler [WEAK] - EXPORT GINT0_IRQHandler [WEAK] - EXPORT GINT1_IRQHandler [WEAK] - EXPORT EVENTROUTER_IRQHandler [WEAK] - EXPORT C_CAN1_IRQHandler [WEAK] - EXPORT ADCHS_IRQHandler [WEAK] - EXPORT ATIMER_IRQHandler [WEAK] - EXPORT RTC_IRQHandler [WEAK] - EXPORT WWDT_IRQHandler [WEAK] - EXPORT M0SUB_IRQHandler [WEAK] - EXPORT C_CAN0_IRQHandler [WEAK] - EXPORT QEI_IRQHandler [WEAK] - -DAC_IRQHandler -M0APP_IRQHandler -DMA_IRQHandler -FLASHEEPROM_IRQHandler -ETHERNET_IRQHandler -SDIO_IRQHandler -LCD_IRQHandler -USB0_IRQHandler -USB1_IRQHandler -SCT_IRQHandler -RITIMER_IRQHandler -TIMER0_IRQHandler -TIMER1_IRQHandler -TIMER2_IRQHandler -TIMER3_IRQHandler -MCPWM_IRQHandler -ADC0_IRQHandler -I2C0_IRQHandler -I2C1_IRQHandler -SPI_IRQHandler -ADC1_IRQHandler -SSP0_IRQHandler -SSP1_IRQHandler -USART0_IRQHandler -UART1_IRQHandler -USART2_IRQHandler -USART3_IRQHandler -I2S0_IRQHandler -I2S1_IRQHandler -SPIFI_IRQHandler -SGPIO_IRQHandler -PIN_INT0_IRQHandler -PIN_INT1_IRQHandler -PIN_INT2_IRQHandler -PIN_INT3_IRQHandler -PIN_INT4_IRQHandler -PIN_INT5_IRQHandler -PIN_INT6_IRQHandler -PIN_INT7_IRQHandler -GINT0_IRQHandler -GINT1_IRQHandler -EVENTROUTER_IRQHandler -C_CAN1_IRQHandler -ADCHS_IRQHandler -ATIMER_IRQHandler -RTC_IRQHandler -WWDT_IRQHandler -M0SUB_IRQHandler -C_CAN0_IRQHandler -QEI_IRQHandler - - B . - ENDP - - ALIGN - -; User Initial Stack & Heap - - IF :DEF:__MICROLIB - - EXPORT __initial_sp - EXPORT __heap_base - EXPORT __heap_limit - - ELSE - - IMPORT __use_two_region_memory - EXPORT __user_initial_stackheap -__user_initial_stackheap - - LDR R0, = Heap_Mem - LDR R1, =(Stack_Mem + Stack_Size) - LDR R2, = (Heap_Mem + Heap_Size) - LDR R3, = Stack_Mem - BX LR - - ALIGN - - ENDIF - - - END diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/Device/LPC4322_Cortex-M4/system_LPC43xx.c b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/Device/LPC4322_Cortex-M4/system_LPC43xx.c deleted file mode 100644 index 5c46381..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/Device/LPC4322_Cortex-M4/system_LPC43xx.c +++ /dev/null @@ -1,938 +0,0 @@ -/* ----------------------------------------------------------------------------- - * Copyright (c) 2013 - 2017 ARM Ltd. - * - * This software is provided 'as-is', without any express or implied warranty. - * In no event will the authors be held liable for any damages arising from - * the use of this software. Permission is granted to anyone to use this - * software for any purpose, including commercial applications, and to alter - * it and redistribute it freely, subject to the following restrictions: - * - * 1. The origin of this software must not be misrepresented; you must not - * claim that you wrote the original software. If you use this software in - * a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * - * 2. Altered source versions must be plainly marked as such, and must not be - * misrepresented as being the original software. - * - * 3. This notice may not be removed or altered from any source distribution. - * - * $Date: 10. September 2018 - * $Revision: V1.0.3 - * - * Project: NXP LPC43xx System initialization - * -------------------------------------------------------------------------- */ - -#include "LPC43xx.h" - -/*---------------------------------------------------------------------------- - This file configures the clocks as follows: - ----------------------------------------------------------------------------- - Clock Unit | Output clock | Source clock | Note - ----------------------------------------------------------------------------- - PLL0USB | 480 MHz | XTAL | External crystal @ 12 MHz - ----------------------------------------------------------------------------- - PLL1 | 180 MHz | XTAL | External crystal @ 12 MHz - ----------------------------------------------------------------------------- - CPU | 180 MHz | PLL1 | CPU Clock == BASE_M4_CLK - ----------------------------------------------------------------------------- - IDIV A | 60 MHz | PLL1 | To the USB1 peripheral - ----------------------------------------------------------------------------- - IDIV B | 25 MHz | ENET_TX_CLK | ENET_TX_CLK @ 50MHz - ----------------------------------------------------------------------------- - IDIV C | 12 MHz | IRC | Internal oscillator @ 12 MHz - ----------------------------------------------------------------------------- - IDIV D | 12 MHz | IRC | Internal oscillator @ 12 MHz - ----------------------------------------------------------------------------- - IDIV E | 5.3 MHz | PLL1 | To the LCD controller - -----------------------------------------------------------------------------*/ - - -/*---------------------------------------------------------------------------- - Clock source selection definitions (do not change) - *----------------------------------------------------------------------------*/ -#define CLK_SRC_32KHZ 0x00 -#define CLK_SRC_IRC 0x01 -#define CLK_SRC_ENET_RX 0x02 -#define CLK_SRC_ENET_TX 0x03 -#define CLK_SRC_GP_CLKIN 0x04 -#define CLK_SRC_XTAL 0x06 -#define CLK_SRC_PLL0U 0x07 -#define CLK_SRC_PLL0A 0x08 -#define CLK_SRC_PLL1 0x09 -#define CLK_SRC_IDIVA 0x0C -#define CLK_SRC_IDIVB 0x0D -#define CLK_SRC_IDIVC 0x0E -#define CLK_SRC_IDIVD 0x0F -#define CLK_SRC_IDIVE 0x10 - - -/*---------------------------------------------------------------------------- - Define external input frequency values - *----------------------------------------------------------------------------*/ -#define CLK_32KHZ 32768UL /* 32 kHz oscillator frequency */ -#define CLK_IRC 12000000UL /* Internal oscillator frequency */ -#define CLK_ENET_RX 50000000UL /* Ethernet Rx frequency */ -#define CLK_ENET_TX 50000000UL /* Ethernet Tx frequency */ -#define CLK_GP_CLKIN 12000000UL /* General purpose clock input freq. */ -#define CLK_XTAL 12000000UL /* Crystal oscilator frequency */ - - -/*---------------------------------------------------------------------------- - Define clock sources - *----------------------------------------------------------------------------*/ -#define PLL1_CLK_SEL CLK_SRC_XTAL /* PLL1 input clock: XTAL */ -#define PLL0USB_CLK_SEL CLK_SRC_XTAL /* PLL0USB input clock: XTAL */ -#define IDIVA_CLK_SEL CLK_SRC_PLL1 /* IDIVA input clock: PLL1 */ -#define IDIVB_CLK_SEL CLK_SRC_ENET_TX /* IDIVB input clock: ENET TX */ -#define IDIVC_CLK_SEL CLK_SRC_IRC /* IDIVC input clock: IRC */ -#define IDIVD_CLK_SEL CLK_SRC_IRC /* IDIVD input clock: IRC */ -#define IDIVE_CLK_SEL CLK_SRC_PLL1 /* IDIVD input clock: PLL1 */ - - -/*---------------------------------------------------------------------------- - Configure integer divider values - *----------------------------------------------------------------------------*/ -#define IDIVA_IDIV 2 /* Divide input clock by 3 */ -#define IDIVB_IDIV 1 /* Divide input clock by 2 */ -#define IDIVC_IDIV 0 /* Divide input clock by 1 */ -#define IDIVD_IDIV 0 /* Divide input clock by 1 */ -#define IDIVE_IDIV 33 /* Divide input clock by 34 */ - - -/*---------------------------------------------------------------------------- - Define CPU clock input - *----------------------------------------------------------------------------*/ -#define CPU_CLK_SEL CLK_SRC_PLL1 /* Default CPU clock source is PLL1 */ - - -/*---------------------------------------------------------------------------- - Configure external memory controller options - *----------------------------------------------------------------------------*/ -#define USE_EXT_STAT_MEM_CS0 1 /* Use ext. static memory with CS0 */ -#define USE_EXT_DYN_MEM_CS0 1 /* Use ext. dynamic memory with CS0 */ - - -/*---------------------------------------------------------------------------- - * Configure PLL1 - *---------------------------------------------------------------------------- - * Integer mode: - * - PLL1_DIRECT = 0 (Post divider enabled) - * - PLL1_FBSEL = 1 (Feedback divider runs from PLL output) - * - Output frequency: - * FCLKOUT = (FCLKIN / N) * M - * FCCO = FCLKOUT * 2 * P - * - * Non-integer: - * - PLL1_DIRECT = 0 (Post divider enabled) - * - PLL1_FBSEL = 0 (Feedback divider runs from CCO clock) - * - Output frequency: - * FCLKOUT = (FCLKIN / N) * M / (2 * P) - * FCCO = FCLKOUT * 2 * P - * - * Direct mode: - * - PLL1_DIRECT = 1 (Post divider disabled) - * - PLL1_FBSEL = dont care (Feedback divider runs from CCO clock) - * - Output frequency: - * FCLKOUT = (FCLKIN / N) * M - * FCCO = FCLKOUT - * - *---------------------------------------------------------------------------- - * PLL1 requirements: - * | Frequency | Minimum | Maximum | Note | - * | FCLKIN | 1MHz | 25MHz | Clock source is external crystal | - * | FCLKIN | 1MHz | 50MHz | | - * | FCCO | 156MHz | 320MHz | | - * | FCLKOUT | 9.75MHz | 320MHz | | - *---------------------------------------------------------------------------- - * Configuration examples: - * | Fclkout | Fcco | N | M | P | DIRECT | FBSEL | BYPASS | - * | 36MHz | 288MHz | 1 | 24 | 4 | 0 | 0 | 0 | - * | 72MHz | 288MHz | 1 | 24 | 2 | 0 | 0 | 0 | - * | 100MHz | 200MHz | 3 | 50 | 1 | 0 | 0 | 0 | - * | 120MHz | 240MHz | 1 | 20 | 1 | 0 | 0 | 0 | - * | 160MHz | 160MHz | 3 | 40 | x | 1 | 0 | 0 | - * | 180MHz | 180MHz | 1 | 15 | x | 1 | 0 | 0 | - * | 204MHz | 204MHz | 1 | 17 | x | 1 | 0 | 0 | - *---------------------------------------------------------------------------- - * Relations beetwen PLL dividers and definitions: - * N = PLL1_NSEL + 1, M = PLL1_MSEL + 1, P = 2 ^ PLL1_PSEL - *----------------------------------------------------------------------------*/ - -/* PLL1 output clock: 180MHz, Fcco: 180MHz, N = 1, M = 15, P = x */ -#define PLL1_NSEL 0 /* Range [0 - 3]: Pre-divider ratio N */ -#define PLL1_MSEL 14 /* Range [0 - 255]: Feedback-divider ratio M */ -#define PLL1_PSEL 0 /* Range [0 - 3]: Post-divider ratio P */ - -#define PLL1_BYPASS 0 /* 0: Use PLL, 1: PLL is bypassed */ -#define PLL1_DIRECT 1 /* 0: Use PSEL, 1: Don't use PSEL */ -#define PLL1_FBSEL 0 /* 0: FCCO is used as PLL feedback */ - /* 1: FCLKOUT is used as PLL feedback */ - -/*---------------------------------------------------------------------------- - * Configure Flash Accelerator - *---------------------------------------------------------------------------- - * Flash acces time: - * | CPU clock | FLASHTIM | - * | up to 21MHz | 0 | - * | up to 43MHz | 1 | - * | up to 64MHz | 2 | - * | up to 86MHz | 3 | - * | up to 107MHz | 4 | - * | up to 129MHz | 5 | - * | up to 150MHz | 6 | - * | up to 172MHz | 7 | - * | up to 193MHz | 8 | - * | up to 204MHz | 9 | - *----------------------------------------------------------------------------*/ -#define FLASHCFG_FLASHTIM 9 - - -/*---------------------------------------------------------------------------- - * Configure PLL0USB - *---------------------------------------------------------------------------- - * - * Normal operating mode without post-divider and without pre-divider - * - PLL0USB_DIRECTI = 1 - * - PLL0USB_DIRECTO = 1 - * - PLL0USB_BYPASS = 0 - * - Output frequency: - * FOUT = FIN * 2 * M - * FCCO = FOUT - * - * Normal operating mode with post-divider and without pre-divider - * - PLL0USB_DIRECTI = 1 - * - PLL0USB_DIRECTO = 0 - * - PLL0USB_BYPASS = 0 - * - Output frequency: - * FOUT = FIN * (M / P) - * FCCO = FOUT * 2 * P - * - * Normal operating mode without post-divider and with pre-divider - * - PLL0USB_DIRECTI = 0 - * - PLL0USB_DIRECTO = 1 - * - PLL0USB_BYPASS = 0 - * - Output frequency: - * FOUT = FIN * 2 * M / N - * FCCO = FOUT - * - * Normal operating mode with post-divider and with pre-divider - * - PLL0USB_DIRECTI = 0 - * - PLL0USB_DIRECTO = 0 - * - PLL0USB_BYPASS = 0 - * - Output frequency: - * FOUT = FIN * M / (P * N) - * FCCO = FOUT * 2 * P - *---------------------------------------------------------------------------- - * PLL0 requirements: - * | Frequency | Minimum | Maximum | Note | - * | FCLKIN | 14kHz | 25MHz | Clock source is external crystal | - * | FCLKIN | 14kHz | 150MHz | | - * | FCCO | 275MHz | 550MHz | | - * | FCLKOUT | 4.3MHz | 550MHz | | - *---------------------------------------------------------------------------- - * Configuration examples: - * | Fclkout | Fcco | N | M | P | DIRECTI | DIRECTO | BYPASS | - * | 120MHz | 480MHz | x | 20 | 2 | 1 | 0 | 0 | - * | 480MHz | 480MHz | 1 | 20 | 1 | 1 | 1 | 0 | - *----------------------------------------------------------------------------*/ - -/* PLL0USB output clock: 480MHz, Fcco: 480MHz, N = 1, M = 20, P = 1 */ -#define PLL0USB_N 1 /* Range [1 - 256]: Pre-divider */ -#define PLL0USB_M 20 /* Range [1 - 2^15]: Feedback-divider */ -#define PLL0USB_P 1 /* Range [1 - 32]: Post-divider */ - -#define PLL0USB_DIRECTI 1 /* 0: Use N_DIV, 1: Don't use N_DIV */ -#define PLL0USB_DIRECTO 1 /* 0: Use P_DIV, 1: Don't use P_DIV */ -#define PLL0USB_BYPASS 0 /* 0: Use PLL, 1: PLL is bypassed */ - - -/*---------------------------------------------------------------------------- - End of configuration - *----------------------------------------------------------------------------*/ - -/* PLL0 Setting Check */ -#if (PLL0USB_BYPASS == 0) - #if (PLL0USB_CLK_SEL == CLK_SRC_XTAL) - #define PLL0USB_CLKIN CLK_XTAL - #else - #define PLL0USB_CLKIN CLK_IRC - #endif - - #if ((PLL0USB_DIRECTI == 1) && (PLL0USB_DIRECTO == 1)) /* Mode 1a */ - #define PLL0USB_FOUT (PLL0USB_CLKIN * 2 * PLL0USB_M) - #define PLL0USB_FCCO (PLL0USB_FOUT) - #elif ((PLL0USB_DIRECTI == 1) && (PLL0USB_DIRECTO == 0)) /* Mode 1b */ - #define PLL0USB_FOUT (PLL0USB_CLKIN * PLL0USB_M / PLL0USB_P) - #define PLL0USB_FCCO (PLL0USB_FOUT * 2 * PLL0USB_P) - #elif ((PLL0USB_DIRECTI == 0) && (PLL0USB_DIRECTO == 1)) /* Mode 1c */ - #define PLL0USB_FOUT (PLL0USB_CLKIN * 2 * PLL0USB_M / PLL0USB_N) - #define PLL0USB_FCCO (PLL0USB_FOUT) - #else /* Mode 1d */ - #define PLL0USB_FOUT (PLL0USB_CLKIN * PLL0USB_M / (PLL0USB_P * PLL0USB_N)) - #define PLL0USB_FCCO (PLL0USB_FOUT * 2 * PLL0USB_P) - #endif - - #if (PLL0USB_FCCO < 275000000UL || PLL0USB_FCCO > 550000000UL) - #error "PLL0USB Fcco frequency out of range! (275MHz >= Fcco <= 550MHz)" - #endif - #if (PLL0USB_FOUT < 4300000UL || PLL0USB_FOUT > 550000000UL) - #error "PLL0USB output frequency out of range! (4.3MHz >= Fclkout <= 550MHz)" - #endif -#endif - -/* PLL1 Setting Check */ -#if (PLL1_BYPASS == 0) - #if (PLL1_CLK_SEL == CLK_SRC_XTAL) - #define PLL1_CLKIN CLK_XTAL - #else - #define PLL1_CLKIN CLK_IRC - #endif - - #if (PLL1_DIRECT == 1) /* Direct Mode */ - #define PLL1_FCCO ((PLL1_MSEL + 1) * (PLL1_CLKIN / (PLL1_NSEL + 1))) - #define PLL1_FOUT ((PLL1_MSEL + 1) * (PLL1_CLKIN / (PLL1_NSEL + 1))) - #elif (PLL1_FBSEL == 1) /* Integer Mode */ - #define PLL1_FCCO ((2 * (1 << PLL1_PSEL)) * (PLL1_MSEL + 1) * (PLL1_CLKIN / (PLL1_NSEL + 1))) - #define PLL1_FOUT ((PLL1_MSEL + 1) * (PLL1_CLKIN / (PLL1_NSEL + 1))) - #else /* Noninteger Mode */ - #define PLL1_FCCO ((PLL1_MSEL + 1) * (PLL1_CLKIN / (PLL1_NSEL + 1))) - #define PLL1_FOUT (PLL1_FCCO / (2 * (1 << PLL1_PSEL))) - #endif - #if (PLL1_FCCO < 156000000UL || PLL1_FCCO > 320000000UL) - #error "PLL1 Fcco frequency out of range! (156MHz >= Fcco <= 320MHz)" - #endif - #if (PLL1_FOUT < 9750000UL || PLL1_FOUT > 204000000UL) - #error "PLL1 output frequency out of range! (9.75MHz >= Fclkout <= 204MHz)" - #endif -#endif - - -/*---------------------------------------------------------------------------- - System Core Clock variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = 180000000U; /* System Clock Frequency (Core Clock) */ - - -/****************************************************************************** - * SetClock - ******************************************************************************/ -void SetClock (void) { - uint32_t x, i; - uint32_t selp, seli; - - - /* Set flash accelerator configuration for bank A and B to reset value */ - LPC_CREG->FLASHCFGA |= (0xF << 12); - LPC_CREG->FLASHCFGB |= (0xF << 12); - - /* Set flash wait states to maximum */ - LPC_EMC->STATICWAITRD0 = 0x1F; - - /* Switch BASE_M4_CLOCK to IRC */ - LPC_CGU->BASE_M4_CLK = (0x01 << 11) | /* Autoblock En */ - (CLK_SRC_IRC << 24) ; /* Set clock source */ - - /* Configure input to crystal oscilator */ - LPC_CGU->XTAL_OSC_CTRL = (0 << 0) | /* Enable oscillator-pad */ - (0 << 1) | /* Operation with crystal connected */ - (0 << 2) ; /* Low-frequency mode */ - - /* Wait ~250us @ 12MHz */ - for (i = 1500; i; i--); - -#if (USE_SPIFI) -/* configure SPIFI clk to IRC via IDIVA (later IDIVA is configured to PLL1/3) */ - LPC_CGU->IDIVA_CTRL = (0 << 0) | /* Disable Power-down */ - (0 << 2) | /* IDIV */ - (1 << 11) | /* Autoblock En */ - (CLK_SRC_IRC << 24) ; /* Clock source */ - - LPC_CGU->BASE_SPIFI_CLK = (0 << 0) | /* Disable Power-down */ - (0 << 2) | /* IDIV */ - (1 << 11) | /* Autoblock En */ - (CLK_SRC_IDIVA << 24) ; /* Clock source */ -#endif - -/*---------------------------------------------------------------------------- - PLL1 Setup - *----------------------------------------------------------------------------*/ - /* Power down PLL */ - LPC_CGU->PLL1_CTRL |= 1; - -#if ((PLL1_FOUT > 110000000UL) && (CPU_CLK_SEL == CLK_SRC_PLL1)) - /* To run at full speed, CPU must first run at an intermediate speed */ - LPC_CGU->PLL1_CTRL = (0 << 0) | /* PLL1 Enabled */ - (PLL1_BYPASS << 1) | /* CCO out sent to post-dividers */ - (PLL1_FBSEL << 6) | /* PLL output used as feedback */ - (0 << 7) | /* Direct on/off */ - (PLL1_PSEL << 8) | /* PSEL */ - (0 << 11)| /* Autoblock Disabled */ - (PLL1_NSEL << 12)| /* NSEL */ - (PLL1_MSEL << 16)| /* MSEL */ - (PLL1_CLK_SEL << 24); /* Clock source */ - /* Wait for lock */ - while (!(LPC_CGU->PLL1_STAT & 1)); - - /* CPU base clock is in the mid frequency range before final clock set */ - LPC_CGU->BASE_M4_CLK = (0x01 << 11) | /* Autoblock En */ - (0x09 << 24) ; /* Clock source: PLL1 */ - - /* Max. BASE_M4_CLK frequency here is 102MHz, wait at least 20us */ - for (i = 1050; i; i--); /* Wait minimum 2100 cycles */ -#endif - /* Configure PLL1 */ - LPC_CGU->PLL1_CTRL = (0 << 0) | /* PLL1 Enabled */ - (PLL1_BYPASS << 1) | /* CCO out sent to post-dividers */ - (PLL1_FBSEL << 6) | /* PLL output used as feedback */ - (PLL1_DIRECT << 7) | /* Direct on/off */ - (PLL1_PSEL << 8) | /* PSEL */ - (1 << 11)| /* Autoblock En */ - (PLL1_NSEL << 12)| /* NSEL */ - (PLL1_MSEL << 16)| /* MSEL */ - (PLL1_CLK_SEL << 24); /* Clock source */ - - /* Wait for lock */ - while (!(LPC_CGU->PLL1_STAT & 1)); - - /* Set CPU base clock source */ - LPC_CGU->BASE_M4_CLK = (0x01 << 11) | /* Autoblock En */ - (CPU_CLK_SEL << 24) ; /* Set clock source */ - - /* Set flash accelerator configuration for internal flash bank A and B */ - LPC_CREG->FLASHCFGA = (LPC_CREG->FLASHCFGA & (~0x0000F000)) | (FLASHCFG_FLASHTIM << 12); - LPC_CREG->FLASHCFGB = (LPC_CREG->FLASHCFGB & (~0x0000F000)) | (FLASHCFG_FLASHTIM << 12); - -/*---------------------------------------------------------------------------- - PLL0USB Setup - *----------------------------------------------------------------------------*/ - - /* Power down PLL0USB */ - LPC_CGU->PLL0USB_CTRL |= 1; - - /* M divider */ - x = 0x00004000; - switch (PLL0USB_M) { - case 0: x = 0xFFFFFFFF; - break; - case 1: x = 0x00018003; - break; - case 2: x = 0x00010003; - break; - default: - for (i = PLL0USB_M; i <= 0x8000; i++) { - x = (((x ^ (x >> 1)) & 1) << 14) | ((x >> 1) & 0x3FFF); - } - } - - if (PLL0USB_M < 60) selp = (PLL0USB_M >> 1) + 1; - else selp = 31; - - if (PLL0USB_M > 16384) seli = 1; - else if (PLL0USB_M > 8192) seli = 2; - else if (PLL0USB_M > 2048) seli = 4; - else if (PLL0USB_M >= 501) seli = 8; - else if (PLL0USB_M >= 60) seli = 4 * (1024 / (PLL0USB_M + 9)); - else seli = (PLL0USB_M & 0x3C) + 4; - LPC_CGU->PLL0USB_MDIV = (selp << 17) | - (seli << 22) | - (x << 0); - - /* N divider */ - x = 0x80; - switch (PLL0USB_N) { - case 0: x = 0xFFFFFFFF; - break; - case 1: x = 0x00000302; - break; - case 2: x = 0x00000202; - break; - default: - for (i = PLL0USB_N; i <= 0x0100; i++) { - x =(((x ^ (x >> 2) ^ (x >> 3) ^ (x >> 4)) & 1) << 7) | ((x >> 1) & 0x7F); - } - } - LPC_CGU->PLL0USB_NP_DIV = (x << 12); - - /* P divider */ - x = 0x10; - switch (PLL0USB_P) { - case 0: x = 0xFFFFFFFF; - break; - case 1: x = 0x00000062; - break; - case 2: x = 0x00000042; - break; - default: - for (i = PLL0USB_P; i <= 0x200; i++) { - x = (((x ^ (x >> 2)) & 1) << 4) | ((x >> 1) &0x0F); - } - } - LPC_CGU->PLL0USB_NP_DIV |= x; - - LPC_CGU->PLL0USB_CTRL = (PLL0USB_CLK_SEL << 24) | /* Clock source sel */ - (1 << 11) | /* Autoblock En */ - (1 << 4 ) | /* PLL0USB clock en */ - (PLL0USB_DIRECTO << 3 ) | /* Direct output */ - (PLL0USB_DIRECTI << 2 ) | /* Direct input */ - (PLL0USB_BYPASS << 1 ) | /* PLL bypass */ - (0 << 0 ) ; /* PLL0USB Enabled */ - while (!(LPC_CGU->PLL0USB_STAT & 1)); - - -/*---------------------------------------------------------------------------- - Integer divider Setup - *----------------------------------------------------------------------------*/ - - /* Configure integer dividers */ - LPC_CGU->IDIVA_CTRL = (0 << 0) | /* Disable Power-down */ - (IDIVA_IDIV << 2) | /* IDIV */ - (1 << 11) | /* Autoblock En */ - (IDIVA_CLK_SEL << 24) ; /* Clock source */ - - LPC_CGU->IDIVB_CTRL = (0 << 0) | /* Disable Power-down */ - (IDIVB_IDIV << 2) | /* IDIV */ - (1 << 11) | /* Autoblock En */ - (IDIVB_CLK_SEL << 24) ; /* Clock source */ - - LPC_CGU->IDIVC_CTRL = (0 << 0) | /* Disable Power-down */ - (IDIVC_IDIV << 2) | /* IDIV */ - (1 << 11) | /* Autoblock En */ - (IDIVC_CLK_SEL << 24) ; /* Clock source */ - - LPC_CGU->IDIVD_CTRL = (0 << 0) | /* Disable Power-down */ - (IDIVD_IDIV << 2) | /* IDIV */ - (1 << 11) | /* Autoblock En */ - (IDIVD_CLK_SEL << 24) ; /* Clock source */ - - LPC_CGU->IDIVE_CTRL = (0 << 0) | /* Disable Power-down */ - (IDIVE_IDIV << 2) | /* IDIV */ - (1 << 11) | /* Autoblock En */ - (IDIVE_CLK_SEL << 24) ; /* Clock source */ -} - - -/*---------------------------------------------------------------------------- - Approximate delay function (must be used after SystemCoreClockUpdate() call) - *----------------------------------------------------------------------------*/ -#define CPU_NANOSEC(x) (((uint64_t)(x) * SystemCoreClock)/1000000000) - -static void WaitUs (uint32_t us) { - uint32_t cyc = us * CPU_NANOSEC(1000)/4; - while(cyc--); -} - - -/*---------------------------------------------------------------------------- - External Memory Controller Definitions - *----------------------------------------------------------------------------*/ -#define SDRAM_ADDR_BASE 0x28000000 /* SDRAM base address */ -/* Write Mode register macro */ -#define WR_MODE(x) (*((volatile uint32_t *)(SDRAM_ADDR_BASE | (x)))) - -/* Pin Settings: Glith filter DIS, Input buffer EN, Fast Slew Rate, No Pullup */ -#define EMC_PIN_SET ((1 << 7) | (1 << 6) | (1 << 5) | (1 << 4)) -#define EMC_NANOSEC(ns, freq, div) (((uint64_t)(ns) * ((freq)/((div)+1)))/1000000000) - -#define EMC_CLK_DLY_TIM_2 (0x7777) /* 3.5 ns delay for the EMC clock out */ -#define EMC_CLK_DLY_TIM_0 (0x0000) /* No delay for the EMC clock out */ - -typedef void (*emcdivby2) (volatile uint32_t *creg6, volatile uint32_t *emcdiv, uint32_t cfg); - -const uint16_t emcdivby2_opc[] = { - 0x6803, /* LDR R3,[R0,#0] ; Load CREG6 */ - 0xF443,0x3380, /* ORR R3,R3,#0x10000 ; Set Divided by 2 */ - 0x6003, /* STR R3,[R0,#0] ; Store CREG6 */ - 0x600A, /* STR R2,[R1,#0] ; EMCDIV_CFG = cfg */ - 0x684B, /* loop LDR R3,[R1,#4] ; Load EMCDIV_STAT */ - 0x07DB, /* LSLS R3,R3,#31 ; Check EMCDIV_STAT.0 */ - 0xD0FC, /* BEQ loop ; Jump if 0 */ - 0x4770, /* BX LR ; Exit */ - 0, -}; - -#define emcdivby2_szw ((sizeof(emcdivby2_opc)+3)/4) -#define emcdivby2_ram 0x10000000 - -/*---------------------------------------------------------------------------- - Initialize external memory controller - *----------------------------------------------------------------------------*/ - -void SystemInit_ExtMemCtl (void) { - uint32_t emcdivby2_buf[emcdivby2_szw]; - uint32_t div, n; - - /* Select and enable EMC branch clock */ - LPC_CCU1->CLK_M4_EMC_CFG = (1 << 2) | (1 << 1) | 1; - while (!(LPC_CCU1->CLK_M4_EMC_STAT & 1)); - - /* Set EMC clock output delay */ - if (SystemCoreClock < 80000000UL) { - LPC_SCU->EMCDELAYCLK = EMC_CLK_DLY_TIM_0; /* No EMC clock out delay */ - } - else { - LPC_SCU->EMCDELAYCLK = EMC_CLK_DLY_TIM_2; /* 2.0 ns EMC clock out delay */ - } - - /* Configure EMC port pins */ - LPC_SCU->SFSP1_0 = EMC_PIN_SET | 2; /* P1_0: A5 */ - LPC_SCU->SFSP1_1 = EMC_PIN_SET | 2; /* P1_1: A6 */ - LPC_SCU->SFSP1_2 = EMC_PIN_SET | 2; /* P1_2: A7 */ - LPC_SCU->SFSP1_3 = EMC_PIN_SET | 3; /* P1_3: OE */ - LPC_SCU->SFSP1_4 = EMC_PIN_SET | 3; /* P1_4: BLS0 */ - LPC_SCU->SFSP1_5 = EMC_PIN_SET | 3; /* P1_5: CS0 */ - LPC_SCU->SFSP1_6 = EMC_PIN_SET | 3; /* P1_6: WE */ - LPC_SCU->SFSP1_7 = EMC_PIN_SET | 3; /* P1_7: D0 */ - LPC_SCU->SFSP1_8 = EMC_PIN_SET | 3; /* P1_8: D1 */ - LPC_SCU->SFSP1_9 = EMC_PIN_SET | 3; /* P1_9: D2 */ - LPC_SCU->SFSP1_10 = EMC_PIN_SET | 3; /* P1_10: D3 */ - LPC_SCU->SFSP1_11 = EMC_PIN_SET | 3; /* P1_11: D4 */ - LPC_SCU->SFSP1_12 = EMC_PIN_SET | 3; /* P1_12: D5 */ - LPC_SCU->SFSP1_13 = EMC_PIN_SET | 3; /* P1_13: D6 */ - LPC_SCU->SFSP1_14 = EMC_PIN_SET | 3; /* P1_14: D7 */ - - LPC_SCU->SFSP2_0 = EMC_PIN_SET | 2; /* P2_0: A13 */ - LPC_SCU->SFSP2_1 = EMC_PIN_SET | 2; /* P2_1: A12 */ - LPC_SCU->SFSP2_2 = EMC_PIN_SET | 2; /* P2_2: A11 */ - LPC_SCU->SFSP2_6 = EMC_PIN_SET | 2; /* P2_6: A10 */ - LPC_SCU->SFSP2_7 = EMC_PIN_SET | 3; /* P2_7: A9 */ - LPC_SCU->SFSP2_8 = EMC_PIN_SET | 3; /* P2_8: A8 */ - LPC_SCU->SFSP2_9 = EMC_PIN_SET | 3; /* P2_9: A0 */ - LPC_SCU->SFSP2_10 = EMC_PIN_SET | 3; /* P2_10: A1 */ - LPC_SCU->SFSP2_11 = EMC_PIN_SET | 3; /* P2_11: A2 */ - LPC_SCU->SFSP2_12 = EMC_PIN_SET | 3; /* P2_12: A3 */ - LPC_SCU->SFSP2_13 = EMC_PIN_SET | 3; /* P2_13: A4 */ - - LPC_SCU->SFSP5_0 = EMC_PIN_SET | 2; /* P5_0: D12 */ - LPC_SCU->SFSP5_1 = EMC_PIN_SET | 2; /* P5_1: D13 */ - LPC_SCU->SFSP5_2 = EMC_PIN_SET | 2; /* P5_2: D14 */ - LPC_SCU->SFSP5_3 = EMC_PIN_SET | 2; /* P5_3: D15 */ - LPC_SCU->SFSP5_4 = EMC_PIN_SET | 2; /* P5_4: D8 */ - LPC_SCU->SFSP5_5 = EMC_PIN_SET | 2; /* P5_5: D9 */ - LPC_SCU->SFSP5_6 = EMC_PIN_SET | 2; /* P5_6: D10 */ - LPC_SCU->SFSP5_7 = EMC_PIN_SET | 2; /* P5_7: D11 */ - - LPC_SCU->SFSP6_1 = EMC_PIN_SET | 1; /* P6_1: DYCS1 */ - LPC_SCU->SFSP6_2 = EMC_PIN_SET | 1; /* P6_3: CKEOUT1 */ - LPC_SCU->SFSP6_3 = EMC_PIN_SET | 3; /* P6_3: CS1 */ - LPC_SCU->SFSP6_4 = EMC_PIN_SET | 3; /* P6_4: CAS */ - LPC_SCU->SFSP6_5 = EMC_PIN_SET | 3; /* P6_5: RAS */ - LPC_SCU->SFSP6_6 = EMC_PIN_SET | 1; /* P6_6: BLS1 */ - LPC_SCU->SFSP6_7 = EMC_PIN_SET | 1; /* P6_7: A15 */ - LPC_SCU->SFSP6_8 = EMC_PIN_SET | 1; /* P6_8: A14 */ - LPC_SCU->SFSP6_9 = EMC_PIN_SET | 3; /* P6_9: DYCS0 */ - LPC_SCU->SFSP6_10 = EMC_PIN_SET | 3; /* P6_10: DQMOUT1 */ - LPC_SCU->SFSP6_11 = EMC_PIN_SET | 3; /* P6_11: CKEOUT0 */ - LPC_SCU->SFSP6_12 = EMC_PIN_SET | 3; /* P6_12: DQMOUT0 */ - - LPC_SCU->SFSPA_4 = EMC_PIN_SET | 3; /* PA_4: A23 */ - - LPC_SCU->SFSPD_0 = EMC_PIN_SET | 2; /* PD_0: DQMOUT2 */ - LPC_SCU->SFSPD_1 = EMC_PIN_SET | 2; /* PD_1: CKEOUT2 */ - LPC_SCU->SFSPD_2 = EMC_PIN_SET | 2; /* PD_2: D16 */ - LPC_SCU->SFSPD_3 = EMC_PIN_SET | 2; /* PD_3: D17 */ - LPC_SCU->SFSPD_4 = EMC_PIN_SET | 2; /* PD_4: D18 */ - LPC_SCU->SFSPD_5 = EMC_PIN_SET | 2; /* PD_5: D19 */ - LPC_SCU->SFSPD_6 = EMC_PIN_SET | 2; /* PD_6: D20 */ - LPC_SCU->SFSPD_7 = EMC_PIN_SET | 2; /* PD_7: D21 */ - LPC_SCU->SFSPD_8 = EMC_PIN_SET | 2; /* PD_8: D22 */ - LPC_SCU->SFSPD_9 = EMC_PIN_SET | 2; /* PD_9: D23 */ - LPC_SCU->SFSPD_10 = EMC_PIN_SET | 2; /* PD_10: BLS3 */ - LPC_SCU->SFSPD_11 = EMC_PIN_SET | 2; /* PD_11: CS3 */ - LPC_SCU->SFSPD_12 = EMC_PIN_SET | 2; /* PD_12: CS2 */ - LPC_SCU->SFSPD_13 = EMC_PIN_SET | 2; /* PD_13: BLS2 */ - LPC_SCU->SFSPD_14 = EMC_PIN_SET | 2; /* PD_14: DYCS2 */ - LPC_SCU->SFSPD_15 = EMC_PIN_SET | 2; /* PD_15: A17 */ - LPC_SCU->SFSPD_16 = EMC_PIN_SET | 2; /* PD_16: A16 */ - - LPC_SCU->SFSPE_0 = EMC_PIN_SET | 3; /* PE_0: A18 */ - LPC_SCU->SFSPE_1 = EMC_PIN_SET | 3; /* PE_1: A19 */ - LPC_SCU->SFSPE_2 = EMC_PIN_SET | 3; /* PE_2: A20 */ - LPC_SCU->SFSPE_3 = EMC_PIN_SET | 3; /* PE_3: A21 */ - LPC_SCU->SFSPE_4 = EMC_PIN_SET | 3; /* PE_4: A22 */ - LPC_SCU->SFSPE_5 = EMC_PIN_SET | 3; /* PE_5: D24 */ - LPC_SCU->SFSPE_6 = EMC_PIN_SET | 3; /* PE_6: D25 */ - LPC_SCU->SFSPE_7 = EMC_PIN_SET | 3; /* PE_7: D26 */ - LPC_SCU->SFSPE_8 = EMC_PIN_SET | 3; /* PE_8: D27 */ - LPC_SCU->SFSPE_9 = EMC_PIN_SET | 3; /* PE_9: D28 */ - LPC_SCU->SFSPE_10 = EMC_PIN_SET | 3; /* PE_10: D29 */ - LPC_SCU->SFSPE_11 = EMC_PIN_SET | 3; /* PE_11: D30 */ - LPC_SCU->SFSPE_12 = EMC_PIN_SET | 3; /* PE_12: D31 */ - LPC_SCU->SFSPE_13 = EMC_PIN_SET | 3; /* PE_13: DQMOUT3 */ - LPC_SCU->SFSPE_14 = EMC_PIN_SET | 3; /* PE_14: DYCS3 */ - LPC_SCU->SFSPE_15 = EMC_PIN_SET | 3; /* PE_15: CKEOUT3 */ - - LPC_EMC->CONTROL = 0x00000001; /* EMC Enable */ - LPC_EMC->CONFIG = 0x00000000; /* Little-endian, Clock Ratio 1:1 */ - - div = 0; - if (SystemCoreClock > 120000000UL) { - /* Use EMC clock divider and EMC clock output delay */ - div = 1; - /* Following code must be executed in RAM to ensure stable operation */ - /* LPC_CCU1->CLK_M4_EMCDIV_CFG = (1 << 5) | (1 << 2) | (1 << 1) | 1; */ - /* LPC_CREG->CREG6 |= (1 << 16); // EMC_CLK_DIV divided by 2 */ - /* while (!(LPC_CCU1->CLK_M4_EMCDIV_STAT & 1)); */ - - /* This code configures EMC clock divider and is executed in RAM */ - for (n = 0; n < emcdivby2_szw; n++) { - emcdivby2_buf[n] = *((uint32_t *)emcdivby2_ram + n); - *((uint32_t *)emcdivby2_ram + n) = *((uint32_t *)emcdivby2_opc + n); - } - __ISB(); - ((emcdivby2 )(emcdivby2_ram+1))(&LPC_CREG->CREG6, &LPC_CCU1->CLK_M4_EMCDIV_CFG, (1 << 5) | (1 << 2) | (1 << 1) | 1); - for (n = 0; n < emcdivby2_szw; n++) { - *((uint32_t *)emcdivby2_ram + n) = emcdivby2_buf[n]; - } - } - - /* Configure EMC clock-out pins */ - LPC_SCU->SFSCLK_0 = EMC_PIN_SET | 0; /* CLK0 */ - LPC_SCU->SFSCLK_1 = EMC_PIN_SET | 0; /* CLK1 */ - LPC_SCU->SFSCLK_2 = EMC_PIN_SET | 0; /* CLK2 */ - LPC_SCU->SFSCLK_3 = EMC_PIN_SET | 0; /* CLK3 */ - - /* Static memory configuration (chip select 0) */ -#if (USE_EXT_STAT_MEM_CS0) - LPC_EMC->STATICCONFIG0 = (1 << 7) | /* Byte lane state: use WE signal */ - (2 << 0) | /* Memory width 32-bit */ - (1 << 3); /* Async page mode enable */ - - LPC_EMC->STATICWAITOEN0 = (0 << 0) ; /* Wait output enable: No delay */ - - LPC_EMC->STATICWAITPAGE0 = 2; - - /* Set Static Memory Read Delay for 90ns External NOR Flash */ - LPC_EMC->STATICWAITRD0 = 1 + EMC_NANOSEC(90, SystemCoreClock, div); - LPC_EMC->STATICCONFIG0 |= (1 << 19) ; /* Enable buffer */ -#endif - - /* Dynamic memory configuration (chip select 0) */ -#if (USE_EXT_DYN_MEM_CS0) - - /* Set Address mapping: 128Mb(4Mx32), 4 banks, row len = 12, column len = 8 */ - LPC_EMC->DYNAMICCONFIG0 = (1 << 14) | /* AM[14] = 1 */ - (0 << 12) | /* AM[12] = 0 */ - (2 << 9) | /* AM[11:9] = 2 */ - (2 << 7) ; /* AM[8:7] = 2 */ - - LPC_EMC->DYNAMICRASCAS0 = 0x00000303; /* Latency: RAS 3, CAS 3 CCLK cyc.*/ - LPC_EMC->DYNAMICREADCONFIG = 0x00000001; /* Command delayed by 1/2 CCLK */ - - LPC_EMC->DYNAMICRP = EMC_NANOSEC (20, SystemCoreClock, div); - LPC_EMC->DYNAMICRAS = EMC_NANOSEC (42, SystemCoreClock, div); - LPC_EMC->DYNAMICSREX = EMC_NANOSEC (63, SystemCoreClock, div); - LPC_EMC->DYNAMICAPR = EMC_NANOSEC (70, SystemCoreClock, div); - LPC_EMC->DYNAMICDAL = EMC_NANOSEC (70, SystemCoreClock, div); - LPC_EMC->DYNAMICWR = EMC_NANOSEC (30, SystemCoreClock, div); - LPC_EMC->DYNAMICRC = EMC_NANOSEC (63, SystemCoreClock, div); - LPC_EMC->DYNAMICRFC = EMC_NANOSEC (63, SystemCoreClock, div); - LPC_EMC->DYNAMICXSR = EMC_NANOSEC (63, SystemCoreClock, div); - LPC_EMC->DYNAMICRRD = EMC_NANOSEC (14, SystemCoreClock, div); - LPC_EMC->DYNAMICMRD = EMC_NANOSEC (30, SystemCoreClock, div); - - WaitUs (100); - LPC_EMC->DYNAMICCONTROL = 0x00000183; /* Issue NOP command */ - WaitUs (10); - LPC_EMC->DYNAMICCONTROL = 0x00000103; /* Issue PALL command */ - WaitUs (1); - LPC_EMC->DYNAMICCONTROL = 0x00000183; /* Issue NOP command */ - WaitUs (1); - LPC_EMC->DYNAMICREFRESH = EMC_NANOSEC( 200, SystemCoreClock, div) / 16 + 1; - WaitUs (10); - LPC_EMC->DYNAMICREFRESH = EMC_NANOSEC(15625, SystemCoreClock, div) / 16 + 1; - WaitUs (10); - LPC_EMC->DYNAMICCONTROL = 0x00000083; /* Issue MODE command */ - - /* Mode register: Burst Length: 4, Burst Type: Sequential, CAS Latency: 3 */ - WR_MODE(((3 << 4) | 2) << 12); - - WaitUs (10); - LPC_EMC->DYNAMICCONTROL = 0x00000002; /* Issue NORMAL command */ - LPC_EMC->DYNAMICCONFIG0 |= (1 << 19); /* Enable buffer */ -#endif -} - - -/*---------------------------------------------------------------------------- - Measure frequency using frequency monitor - *----------------------------------------------------------------------------*/ -uint32_t MeasureFreq (uint32_t clk_sel) { - uint32_t fcnt, rcnt, fout; - - /* Set register values */ - LPC_CGU->FREQ_MON &= ~(1 << 23); /* Stop frequency counters */ - LPC_CGU->FREQ_MON = (clk_sel << 24) | 511; /* RCNT == 511 */ - LPC_CGU->FREQ_MON |= (1 << 23); /* Start RCNT and FCNT */ - while (LPC_CGU->FREQ_MON & (1 << 23)) { - fcnt = (LPC_CGU->FREQ_MON >> 9) & 0x3FFF; - rcnt = (LPC_CGU->FREQ_MON ) & 0x01FF; - if (fcnt == 0 && rcnt == 0) { - return (0); /* No input clock present */ - } - } - fcnt = (LPC_CGU->FREQ_MON >> 9) & 0x3FFF; - fout = fcnt * (12000000U/511U); /* FCNT * (IRC_CLK / RCNT) */ - - return (fout); -} - - -/*---------------------------------------------------------------------------- - Get PLL1 (divider and multiplier) parameters - *----------------------------------------------------------------------------*/ -static __inline uint32_t GetPLL1Param (void) { - uint32_t ctrl; - uint32_t p; - uint32_t div, mul; - - ctrl = LPC_CGU->PLL1_CTRL; - div = ((ctrl >> 12) & 0x03) + 1; - mul = ((ctrl >> 16) & 0xFF) + 1; - p = 1 << ((ctrl >> 8) & 0x03); - - if (ctrl & (1 << 1)) { - /* Bypass = 1, PLL1 input clock sent to post-dividers */ - if (ctrl & (1 << 7)) { - div *= (2*p); - } - } - else { - /* Direct and integer mode */ - if (((ctrl & (1 << 7)) == 0) && ((ctrl & (1 << 6)) == 0)) { - /* Non-integer mode */ - div *= (2*p); - } - } - return ((div << 8) | (mul)); -} - - -/*---------------------------------------------------------------------------- - Get input clock source for specified clock generation block - *----------------------------------------------------------------------------*/ -int32_t GetClkSel (uint32_t clk_src) { - uint32_t reg; - int32_t clk_sel = -1; - - switch (clk_src) { - case CLK_SRC_IRC: - case CLK_SRC_ENET_RX: - case CLK_SRC_ENET_TX: - case CLK_SRC_GP_CLKIN: - return (clk_src); - - case CLK_SRC_32KHZ: - return ((LPC_CREG->CREG0 & 0x0A) != 0x02) ? (-1) : (CLK_SRC_32KHZ); - case CLK_SRC_XTAL: - return (LPC_CGU->XTAL_OSC_CTRL & 1) ? (-1) : (CLK_SRC_XTAL); - - case CLK_SRC_PLL0U: reg = LPC_CGU->PLL0USB_CTRL; break; - case CLK_SRC_PLL0A: reg = LPC_CGU->PLL0AUDIO_CTRL; break; - case CLK_SRC_PLL1: reg = (LPC_CGU->PLL1_STAT & 1) ? (LPC_CGU->PLL1_CTRL) : (0); break; - - case CLK_SRC_IDIVA: reg = LPC_CGU->IDIVA_CTRL; break; - case CLK_SRC_IDIVB: reg = LPC_CGU->IDIVB_CTRL; break; - case CLK_SRC_IDIVC: reg = LPC_CGU->IDIVC_CTRL; break; - case CLK_SRC_IDIVD: reg = LPC_CGU->IDIVD_CTRL; break; - case CLK_SRC_IDIVE: reg = LPC_CGU->IDIVE_CTRL; break; - - default: - return (clk_sel); - } - if (!(reg & 1)) { - clk_sel = (reg >> 24) & 0x1F; - } - return (clk_sel); -} - - -/*---------------------------------------------------------------------------- - Get clock frequency for specified clock source - *----------------------------------------------------------------------------*/ -uint32_t GetClockFreq (uint32_t clk_src) { - uint32_t tmp; - uint32_t mul = 1; - uint32_t div = 1; - uint32_t main_freq = 0; - int32_t clk_sel = clk_src; - - do { - switch (clk_sel) { - case CLK_SRC_32KHZ: main_freq = CLK_32KHZ; break; - case CLK_SRC_IRC: main_freq = CLK_IRC; break; - case CLK_SRC_ENET_RX: main_freq = CLK_ENET_RX; break; - case CLK_SRC_ENET_TX: main_freq = CLK_ENET_TX; break; - case CLK_SRC_GP_CLKIN: main_freq = CLK_GP_CLKIN; break; - case CLK_SRC_XTAL: main_freq = CLK_XTAL; break; - - case CLK_SRC_IDIVA: div *= ((LPC_CGU->IDIVA_CTRL >> 2) & 0x03) + 1; break; - case CLK_SRC_IDIVB: div *= ((LPC_CGU->IDIVB_CTRL >> 2) & 0x0F) + 1; break; - case CLK_SRC_IDIVC: div *= ((LPC_CGU->IDIVC_CTRL >> 2) & 0x0F) + 1; break; - case CLK_SRC_IDIVD: div *= ((LPC_CGU->IDIVD_CTRL >> 2) & 0x0F) + 1; break; - case CLK_SRC_IDIVE: div *= ((LPC_CGU->IDIVE_CTRL >> 2) & 0xFF) + 1; break; - - case CLK_SRC_PLL0U: /* Not implemented */ break; - case CLK_SRC_PLL0A: /* Not implemented */ break; - - case CLK_SRC_PLL1: - tmp = GetPLL1Param (); - mul *= (tmp ) & 0xFF; /* PLL input clock multiplier */ - div *= (tmp >> 8) & 0xFF; /* PLL input clock divider */ - break; - - default: - return (0); /* Clock not running or not supported */ - } - if (main_freq == 0) { - clk_sel = GetClkSel (clk_sel); - } - } - while (main_freq == 0); - - return ((main_freq * mul) / div); -} - - -/*---------------------------------------------------------------------------- - System Core Clock update - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) { - /* Check BASE_M4_CLK connection */ - uint32_t base_src = (LPC_CGU->BASE_M4_CLK >> 24) & 0x1F; - - /* Update core clock frequency */ - SystemCoreClock = GetClockFreq (base_src); -} - - -extern uint32_t __Vectors; /* see startup_LPC43xx.s */ - -/*---------------------------------------------------------------------------- - Initialize the system - *----------------------------------------------------------------------------*/ -void SystemInit (void) { - - #if (__FPU_USED == 1) - SCB->CPACR |= ((3UL << 10*2) | /* set CP10 Full Access */ - (3UL << 11*2) ); /* set CP11 Full Access */ - #endif - - /* Stop CM0 core */ - LPC_RGU->RESET_CTRL1 = (1 << 24); - - /* Disable SysTick timer */ - SysTick->CTRL &= ~(SysTick_CTRL_TICKINT_Msk | SysTick_CTRL_ENABLE_Msk); - - /* Set vector table pointer */ - SCB->VTOR = ((uint32_t)(&__Vectors)) & 0xFFF00000UL; - - /* Configure PLL0 and PLL1, connect CPU clock to selected clock source */ - SetClock(); - - /* Update SystemCoreClock variable */ - SystemCoreClockUpdate(); - - /* Configure External Memory Controller */ -//SystemInit_ExtMemCtl (); -} diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/Device/LPC4370_Cortex-M4/RTE_Device.h b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/Device/LPC4370_Cortex-M4/RTE_Device.h deleted file mode 100644 index 146a2d4..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/Device/LPC4370_Cortex-M4/RTE_Device.h +++ /dev/null @@ -1,2483 +0,0 @@ -/* -------------------------------------------------------------------------- - * Copyright (c) 2013-2016 Arm Limited (or its affiliates). All - * rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * $Date: 25. April 2016 - * $Revision: V2.2.1 - * - * Project: RTE Device Configuration for NXP LPC43xx - * -------------------------------------------------------------------------- */ - -//-------- <<< Use Configuration Wizard in Context Menu >>> -------------------- - -#ifndef __RTE_DEVICE_H -#define __RTE_DEVICE_H - - -// USB0 Controller [Driver_USBD0 and Driver_USBH0] -// Configuration settings for Driver_USBD0 in component ::Drivers:USB Device -// Configuration settings for Driver_USBH0 in component ::Drivers:USB Host -#define RTE_USB_USB0 1 - -// Pin Configuration -// USB0_PPWR (Host) <0=>Not used <1=>P1_7 <2=>P2_0 <3=>P2_3 <4=>P6_3 -// VBUS drive signal (towards external charge pump or power management unit). -#define RTE_USB0_PPWR_ID 0 -#if (RTE_USB0_PPWR_ID == 0) - #define RTE_USB0_PPWR_PIN_EN 0 -#elif (RTE_USB0_PPWR_ID == 1) - #define RTE_USB0_PPWR_PORT 1 - #define RTE_USB0_PPWR_BIT 7 - #define RTE_USB0_PPWR_FUNC 4 -#elif (RTE_USB0_PPWR_ID == 2) - #define RTE_USB0_PPWR_PORT 2 - #define RTE_USB0_PPWR_BIT 0 - #define RTE_USB0_PPWR_FUNC 3 -#elif (RTE_USB0_PPWR_ID == 3) - #define RTE_USB0_PPWR_PORT 2 - #define RTE_USB0_PPWR_BIT 3 - #define RTE_USB0_PPWR_FUNC 7 -#elif (RTE_USB0_PPWR_ID == 4) - #define RTE_USB0_PPWR_PORT 6 - #define RTE_USB0_PPWR_BIT 3 - #define RTE_USB0_PPWR_FUNC 1 -#else - #error "Invalid RTE_USB0_PPWR Pin Configuration!" -#endif -#ifndef RTE_USB0_PPWR_PIN_EN - #define RTE_USB0_PPWR_PIN_EN 1 -#endif -// USB0_PWR_FAULT (Host) <0=>Not used <1=>P1_5 <2=>P2_1 <3=>P2_4 <4=>P6_6 <5=>P8_0 -// Port power fault signal indicating overcurrent condition. -// This signal monitors over-current on the USB bus -// (external circuitry required to detect over-current condition). -#define RTE_USB0_PWR_FAULT_ID 0 -#if (RTE_USB0_PWR_FAULT_ID == 0) - #define RTE_USB0_PWR_FAULT_PIN_EN 0 -#elif (RTE_USB0_PWR_FAULT_ID == 1) - #define RTE_USB0_PWR_FAULT_PORT 1 - #define RTE_USB0_PWR_FAULT_BIT 5 - #define RTE_USB0_PWR_FAULT_FUNC 4 -#elif (RTE_USB0_PWR_FAULT_ID == 2) - #define RTE_USB0_PWR_FAULT_PORT 2 - #define RTE_USB0_PWR_FAULT_BIT 1 - #define RTE_USB0_PWR_FAULT_FUNC 3 -#elif (RTE_USB0_PWR_FAULT_ID == 3) - #define RTE_USB0_PWR_FAULT_PORT 2 - #define RTE_USB0_PWR_FAULT_BIT 4 - #define RTE_USB0_PWR_FAULT_FUNC 7 -#elif (RTE_USB0_PWR_FAULT_ID == 4) - #define RTE_USB0_PWR_FAULT_PORT 6 - #define RTE_USB0_PWR_FAULT_BIT 6 - #define RTE_USB0_PWR_FAULT_FUNC 3 -#elif (RTE_USB0_PWR_FAULT_ID == 5) - #define RTE_USB0_PWR_FAULT_PORT 8 - #define RTE_USB0_PWR_FAULT_BIT 0 - #define RTE_USB0_PWR_FAULT_FUNC 1 -#else - #error "Invalid RTE_USB0_PWR_FAULT Pin Configuration!" -#endif -#ifndef RTE_USB0_PWR_FAULT_PIN_EN - #define RTE_USB0_PWR_FAULT_PIN_EN 1 -#endif -// USB0_IND0 <0=>Not used <1=>P1_4 <2=>P2_5 <3=>P2_6 <4=>P6_8 <5=>P8_2 -// USB0 port indicator LED control output 0 -#define RTE_USB0_IND0_ID 0 -#if (RTE_USB0_IND0_ID == 0) - #define RTE_USB0_IND0_PIN_EN 0 -#elif (RTE_USB0_IND0_ID == 1) - #define RTE_USB0_IND0_PORT 1 - #define RTE_USB0_IND0_BIT 4 - #define RTE_USB0_IND0_FUNC 4 -#elif (RTE_USB0_IND0_ID == 2) - #define RTE_USB0_IND0_PORT 2 - #define RTE_USB0_IND0_BIT 5 - #define RTE_USB0_IND0_FUNC 7 -#elif (RTE_USB0_IND0_ID == 3) - #define RTE_USB0_IND0_PORT 2 - #define RTE_USB0_IND0_BIT 6 - #define RTE_USB0_IND0_FUNC 3 -#elif (RTE_USB0_IND0_ID == 4) - #define RTE_USB0_IND0_PORT 6 - #define RTE_USB0_IND0_BIT 8 - #define RTE_USB0_IND0_FUNC 3 -#elif (RTE_USB0_IND0_ID == 5) - #define RTE_USB0_IND0_PORT 8 - #define RTE_USB0_IND0_BIT 2 - #define RTE_USB0_IND0_FUNC 1 -#else - #error "Invalid RTE_USB0_IND0 Pin Configuration!" -#endif -#ifndef RTE_USB0_IND0_PIN_EN - #define RTE_USB0_IND0_PIN_EN 1 -#endif -// USB0_IND1 <0=>Not used <1=>P1_3 <2=>P2_2 <3=>P6_7 <4=>P8_1 -// USB0 port indicator LED control output 1 -#define RTE_USB0_IND1_ID 0 -#if (RTE_USB0_IND1_ID == 0) - #define RTE_USB0_IND1_PIN_EN 0 -#elif (RTE_USB0_IND1_ID == 1) - #define RTE_USB0_IND1_PORT 1 - #define RTE_USB0_IND1_BIT 3 - #define RTE_USB0_IND1_FUNC 4 -#elif (RTE_USB0_IND1_ID == 2) - #define RTE_USB0_IND1_PORT 2 - #define RTE_USB0_IND1_BIT 2 - #define RTE_USB0_IND1_FUNC 3 -#elif (RTE_USB0_IND1_ID == 3) - #define RTE_USB0_IND1_PORT 6 - #define RTE_USB0_IND1_BIT 7 - #define RTE_USB0_IND1_FUNC 3 -#elif (RTE_USB0_IND1_ID == 4) - #define RTE_USB0_IND1_PORT 8 - #define RTE_USB0_IND1_BIT 1 - #define RTE_USB0_IND1_FUNC 1 -#else - #error "Invalid RTE_USB0_IND1 Pin Configuration!" -#endif -#ifndef RTE_USB0_IND1_PIN_EN - #define RTE_USB0_IND1_PIN_EN 1 -#endif -// Pin Configuration - -// Device [Driver_USBD0] -// Configuration settings for Driver_USBD0 in component ::Drivers:USB Device -// High-speed -// Enable high-speed functionality -#define RTE_USB_USB0_HS_EN 1 -// Device [Driver_USBD0] -// USB0 Controller [Driver_USBD0 and Driver_USBH0] - -// USB1 Controller [Driver_USBD1 and Driver_USBH1] -// Configuration settings for Driver_USBD1 in component ::Drivers:USB Device -// Configuration settings for Driver_USBH1 in component ::Drivers:USB Host -#define RTE_USB_USB1 0 - -// Pin Configuration -// USB1_PPWR (Host) <0=>Not used <1=>P9_5 -// VBUS drive signal (towards external charge pump or power management unit). -#define RTE_USB1_PPWR_ID 1 -#if (RTE_USB1_PPWR_ID == 0) - #define RTE_USB1_PPWR_PIN_EN 0 -#elif (RTE_USB1_PPWR_ID == 1) - #define RTE_USB1_PPWR_PORT 9 - #define RTE_USB1_PPWR_BIT 5 - #define RTE_USB1_PPWR_FUNC 2 -#else - #error "Invalid RTE_USB1_PPWR Pin Configuration!" -#endif -#ifndef RTE_USB1_PPWR_PIN_EN - #define RTE_USB1_PPWR_PIN_EN 1 -#endif -// USB1_PWR_FAULT (Host) <0=>Not used <1=>P9_6 -// Port power fault signal indicating overcurrent condition. -// This signal monitors over-current on the USB bus -// (external circuitry required to detect over-current condition). -#define RTE_USB1_PWR_FAULT_ID 1 -#if (RTE_USB1_PWR_FAULT_ID == 0) - #define RTE_USB1_PWR_FAULT_PIN_EN 0 -#elif (RTE_USB1_PWR_FAULT_ID == 1) - #define RTE_USB1_PWR_FAULT_PORT 9 - #define RTE_USB1_PWR_FAULT_BIT 6 - #define RTE_USB1_PWR_FAULT_FUNC 2 -#else - #error "Invalid RTE_USB1_PWR_FAULT Pin Configuration!" -#endif -#ifndef RTE_USB1_PWR_FAULT_PIN_EN - #define RTE_USB1_PWR_FAULT_PIN_EN 1 -#endif -// USB1_IND0 <0=>Not used <1=>P3_2 <2=>P9_4 -// USB1 port indicator LED control output 0 -#define RTE_USB1_IND0_ID 1 -#if (RTE_USB1_IND0_ID == 0) - #define RTE_USB1_IND0_PIN_EN 0 -#elif (RTE_USB1_IND0_ID == 1) - #define RTE_USB1_IND0_PORT 3 - #define RTE_USB1_IND0_BIT 2 - #define RTE_USB1_IND0_FUNC 3 -#elif (RTE_USB1_IND0_ID == 2) - #define RTE_USB1_IND0_PORT 9 - #define RTE_USB1_IND0_BIT 4 - #define RTE_USB1_IND0_FUNC 2 -#else - #error "Invalid RTE_USB1_IND0 Pin Configuration!" -#endif -#ifndef RTE_USB1_IND0_PIN_EN - #define RTE_USB1_IND0_PIN_EN 1 -#endif -// USB1_IND1 <0=>Not used <1=>P3_1 <2=>P9_3 -// USB1 port indicator LED control output 1 -#define RTE_USB1_IND1_ID 1 -#if (RTE_USB1_IND1_ID == 0) - #define RTE_USB1_IND1_PIN_EN 0 -#elif (RTE_USB1_IND1_ID == 1) - #define RTE_USB1_IND1_PORT 3 - #define RTE_USB1_IND1_BIT 1 - #define RTE_USB1_IND1_FUNC 3 -#elif (RTE_USB1_IND1_ID == 2) - #define RTE_USB1_IND1_PORT 9 - #define RTE_USB1_IND1_BIT 3 - #define RTE_USB1_IND1_FUNC 2 -#else - #error "Invalid RTE_USB1_IND1 Pin Configuration!" -#endif -#ifndef RTE_USB1_IND1_PIN_EN - #define RTE_USB1_IND1_PIN_EN 1 -#endif - -// On-chip full-speed PHY -#define RTE_USB_USB1_FS_PHY_EN 1 - -// USB1_VBUS (Device) <0=>Not used <1=>P2_5 -// Monitors the presence of USB1 bus power. -#define RTE_USB1_VBUS_ID 1 -#if (RTE_USB1_VBUS_ID == 0) - #define RTE_USB1_VBUS_PIN_EN 0 -#elif (RTE_USB1_VBUS_ID == 1) - #define RTE_USB1_VBUS_PORT 2 - #define RTE_USB1_VBUS_BIT 5 - #define RTE_USB1_VBUS_FUNC 2 -#else - #error "Invalid RTE_USB1_VBUS Pin Configuration!" -#endif -#ifndef RTE_USB1_VBUS_PIN_EN - #define RTE_USB1_VBUS_PIN_EN 1 -#endif -// On-chip full-speed PHY - -// External high-speed ULPI PHY (UTMI+ Low Pin Interface) -#define RTE_USB_USB1_HS_PHY_EN 0 - -// USB1_ULPI_CLK <0=>P8_8 <1=>PC_0 -// USB1 ULPI link CLK signal. -// 60 MHz clock generated by the PHY. -#define RTE_USB1_ULPI_CLK_ID 0 -#if (RTE_USB1_ULPI_CLK_ID == 0) - #define RTE_USB1_ULPI_CLK_PORT 8 - #define RTE_USB1_ULPI_CLK_BIT 8 - #define RTE_USB1_ULPI_CLK_FUNC 1 -#elif (RTE_USB1_ULPI_CLK_ID == 1) - #define RTE_USB1_ULPI_CLK_PORT 0xC - #define RTE_USB1_ULPI_CLK_BIT 0 - #define RTE_USB1_ULPI_CLK_FUNC 1 -#else - #error "Invalid RTE_USB1_ULPI_CLK Pin Configuration!" -#endif -// USB1_ULPI_DIR <0=>PB_1 <1=>PC_11 -// USB1 ULPI link DIR signal. -// Controls the ULPI data line direction. -#define RTE_USB1_ULPI_DIR_ID 0 -#if (RTE_USB1_ULPI_DIR_ID == 0) - #define RTE_USB1_ULPI_DIR_PORT 0xB - #define RTE_USB1_ULPI_DIR_BIT 1 - #define RTE_USB1_ULPI_DIR_FUNC 1 -#elif (RTE_USB1_ULPI_DIR_ID == 1) - #define RTE_USB1_ULPI_DIR_PORT 0xC - #define RTE_USB1_ULPI_DIR_BIT 11 - #define RTE_USB1_ULPI_DIR_FUNC 1 -#else - #error "Invalid RTE_USB1_ULPI_DIR Pin Configuration!" -#endif -// USB1_ULPI_STP <0=>P8_7 <1=>PC_10 -// USB1 ULPI link STP signal. -// Asserted to end or interrupt transfers to the PHY. -#define RTE_USB1_ULPI_STP_ID 0 -#if (RTE_USB1_ULPI_STP_ID == 0) - #define RTE_USB1_ULPI_STP_PORT 8 - #define RTE_USB1_ULPI_STP_BIT 7 - #define RTE_USB1_ULPI_STP_FUNC 1 -#elif (RTE_USB1_ULPI_STP_ID == 1) - #define RTE_USB1_ULPI_STP_PORT 0xC - #define RTE_USB1_ULPI_STP_BIT 10 - #define RTE_USB1_ULPI_STP_FUNC 1 -#else - #error "Invalid RTE_USB1_ULPI_STP Pin Configuration!" -#endif -// USB1_ULPI_NXT <0=>P8_6 <1=>PC_9 -// USB1 ULPI link NXT signal. -// Data flow control signal from the PHY. -#define RTE_USB1_ULPI_NXT_ID 0 -#if (RTE_USB1_ULPI_NXT_ID == 0) - #define RTE_USB1_ULPI_NXT_PORT 8 - #define RTE_USB1_ULPI_NXT_BIT 6 - #define RTE_USB1_ULPI_NXT_FUNC 1 -#elif (RTE_USB1_ULPI_NXT_ID == 1) - #define RTE_USB1_ULPI_NXT_PORT 0xC - #define RTE_USB1_ULPI_NXT_BIT 9 - #define RTE_USB1_ULPI_NXT_FUNC 1 -#else - #error "Invalid RTE_USB1_ULPI_NXT Pin Configuration!" -#endif -// USB1_ULPI_D0 <0=>P8_5 <1=>PC_8 <2=>PD_11 -// USB1 ULPI link bidirectional data line 0. -#define RTE_USB1_ULPI_D0_ID 0 -#if (RTE_USB1_ULPI_D0_ID == 0) - #define RTE_USB1_ULPI_D0_PORT 8 - #define RTE_USB1_ULPI_D0_BIT 5 - #define RTE_USB1_ULPI_D0_FUNC 1 -#elif (RTE_USB1_ULPI_D0_ID == 1) - #define RTE_USB1_ULPI_D0_PORT 0xC - #define RTE_USB1_ULPI_D0_BIT 8 - #define RTE_USB1_ULPI_D0_FUNC 1 -#elif (RTE_USB1_ULPI_D0_ID == 2) - #define RTE_USB1_ULPI_D0_PORT 0xD - #define RTE_USB1_ULPI_D0_BIT 11 - #define RTE_USB1_ULPI_D0_FUNC 5 -#else - #error "Invalid RTE_USB1_ULPI_D0 Pin Configuration!" -#endif -// USB1_ULPI_D1 <0=>P8_4 <1=>PC_7 -// USB1 ULPI link bidirectional data line 1. -#define RTE_USB1_ULPI_D1_ID 0 -#if (RTE_USB1_ULPI_D1_ID == 0) - #define RTE_USB1_ULPI_D1_PORT 8 - #define RTE_USB1_ULPI_D1_BIT 4 - #define RTE_USB1_ULPI_D1_FUNC 1 -#elif (RTE_USB1_ULPI_D1_ID == 1) - #define RTE_USB1_ULPI_D1_PORT 0xC - #define RTE_USB1_ULPI_D1_BIT 7 - #define RTE_USB1_ULPI_D1_FUNC 1 -#else - #error "Invalid RTE_USB1_ULPI_D1 Pin Configuration!" -#endif -// USB1_ULPI_D2 <0=>P8_3 <1=>PC_6 -// USB1 ULPI link bidirectional data line 2. -#define RTE_USB1_ULPI_D2_ID 0 -#if (RTE_USB1_ULPI_D2_ID == 0) - #define RTE_USB1_ULPI_D2_PORT 8 - #define RTE_USB1_ULPI_D2_BIT 3 - #define RTE_USB1_ULPI_D2_FUNC 1 -#elif (RTE_USB1_ULPI_D2_ID == 1) - #define RTE_USB1_ULPI_D2_PORT 0xC - #define RTE_USB1_ULPI_D2_BIT 6 - #define RTE_USB1_ULPI_D2_FUNC 1 -#else - #error "Invalid RTE_USB1_ULPI_D2 Pin Configuration!" -#endif -// USB1_ULPI_D3 <0=>PB_6 <1=>PC_5 -// USB1 ULPI link bidirectional data line 3. -#define RTE_USB1_ULPI_D3_ID 0 -#if (RTE_USB1_ULPI_D3_ID == 0) - #define RTE_USB1_ULPI_D3_PORT 0xB - #define RTE_USB1_ULPI_D3_BIT 6 - #define RTE_USB1_ULPI_D3_FUNC 1 -#elif (RTE_USB1_ULPI_D3_ID == 1) - #define RTE_USB1_ULPI_D3_PORT 0xC - #define RTE_USB1_ULPI_D3_BIT 5 - #define RTE_USB1_ULPI_D3_FUNC 1 -#else - #error "Invalid RTE_USB1_ULPI_D3 Pin Configuration!" -#endif -// USB1_ULPI_D4 <0=>PB_5 <1=>PC_4 -// USB1 ULPI link bidirectional data line 4. -#define RTE_USB1_ULPI_D4_ID 0 -#if (RTE_USB1_ULPI_D4_ID == 0) - #define RTE_USB1_ULPI_D4_PORT 0xB - #define RTE_USB1_ULPI_D4_BIT 5 - #define RTE_USB1_ULPI_D4_FUNC 1 -#elif (RTE_USB1_ULPI_D4_ID == 1) - #define RTE_USB1_ULPI_D4_PORT 0xC - #define RTE_USB1_ULPI_D4_BIT 4 - #define RTE_USB1_ULPI_D4_FUNC 1 -#else - #error "Invalid RTE_USB1_ULPI_D4 Pin Configuration!" -#endif -// USB1_ULPI_D5 <0=>PB_4 <1=>PC_3 -// USB1 ULPI link bidirectional data line 5. -#define RTE_USB1_ULPI_D5_ID 0 -#if (RTE_USB1_ULPI_D5_ID == 0) - #define RTE_USB1_ULPI_D5_PORT 0xB - #define RTE_USB1_ULPI_D5_BIT 4 - #define RTE_USB1_ULPI_D5_FUNC 1 -#elif (RTE_USB1_ULPI_D5_ID == 1) - #define RTE_USB1_ULPI_D5_PORT 0xC - #define RTE_USB1_ULPI_D5_BIT 3 - #define RTE_USB1_ULPI_D5_FUNC 0 -#else - #error "Invalid RTE_USB1_ULPI_D5 Pin Configuration!" -#endif -// USB1_ULPI_D6 <0=>PB_3 <1=>PC_2 -// USB1 ULPI link bidirectional data line 6. -#define RTE_USB1_ULPI_D6_ID 0 -#if (RTE_USB1_ULPI_D6_ID == 0) - #define RTE_USB1_ULPI_D6_PORT 0xB - #define RTE_USB1_ULPI_D6_BIT 3 - #define RTE_USB1_ULPI_D6_FUNC 1 -#elif (RTE_USB1_ULPI_D6_ID == 1) - #define RTE_USB1_ULPI_D6_PORT 0xC - #define RTE_USB1_ULPI_D6_BIT 2 - #define RTE_USB1_ULPI_D6_FUNC 0 -#else - #error "Invalid RTE_USB1_ULPI_D6 Pin Configuration!" -#endif -// USB1_ULPI_D7 <0=>PB_2 <1=>PC_1 -// USB1 ULPI link bidirectional data line 7. -#define RTE_USB1_ULPI_D7_ID 0 -#if (RTE_USB1_ULPI_D7_ID == 0) - #define RTE_USB1_ULPI_D7_PORT 0xB - #define RTE_USB1_ULPI_D7_BIT 2 - #define RTE_USB1_ULPI_D7_FUNC 1 -#elif (RTE_USB1_ULPI_D7_ID == 1) - #define RTE_USB1_ULPI_D7_PORT 0xC - #define RTE_USB1_ULPI_D7_BIT 1 - #define RTE_USB1_ULPI_D7_FUNC 0 -#else - #error "Invalid RTE_USB1_ULPI_D7 Pin Configuration!" -#endif -// External high-speed ULPI PHY (UTMI+ Low Pin Interface) -// Pin Configuration -// USB1 Controller [Driver_USBD1 and Driver_USBH1] - -// ENET (Ethernet Interface) [Driver_ETH_MAC0] -// Configuration settings for Driver_ETH_MAC0 in component ::Drivers:Ethernet MAC -#define RTE_ENET 0 - -// MII (Media Independent Interface) -#define RTE_ENET_MII 0 - -// ENET_TXD0 Pin <0=>P1_18 -#define RTE_ENET_MII_TXD0_PORT_ID 0 -#if (RTE_ENET_MII_TXD0_PORT_ID == 0) - #define RTE_ENET_MII_TXD0_PORT 1 - #define RTE_ENET_MII_TXD0_PIN 18 - #define RTE_ENET_MII_TXD0_FUNC 3 -#else - #error "Invalid ENET_TXD0 Pin Configuration!" -#endif -// ENET_TXD1 Pin <0=>P1_20 -#define RTE_ENET_MII_TXD1_PORT_ID 0 -#if (RTE_ENET_MII_TXD1_PORT_ID == 0) - #define RTE_ENET_MII_TXD1_PORT 1 - #define RTE_ENET_MII_TXD1_PIN 20 - #define RTE_ENET_MII_TXD1_FUNC 3 -#else - #error "Invalid ENET_TXD1 Pin Configuration!" -#endif -// ENET_TXD2 Pin <0=>P9_4 <1=>PC_2 -#define RTE_ENET_MII_TXD2_PORT_ID 0 -#if (RTE_ENET_MII_TXD2_PORT_ID == 0) - #define RTE_ENET_MII_TXD2_PORT 9 - #define RTE_ENET_MII_TXD2_PIN 4 - #define RTE_ENET_MII_TXD2_FUNC 5 -#elif (RTE_ENET_MII_TXD2_PORT_ID == 1) - #define RTE_ENET_MII_TXD2_PORT 0xC - #define RTE_ENET_MII_TXD2_PIN 2 - #define RTE_ENET_MII_TXD2_FUNC 3 -#else - #error "Invalid ENET_TXD2 Pin Configuration!" -#endif -// ENET_TXD3 Pin <0=>P9_5 <1=>PC_3 -#define RTE_ENET_MII_TXD3_PORT_ID 0 -#if (RTE_ENET_MII_TXD3_PORT_ID == 0) - #define RTE_ENET_MII_TXD3_PORT 9 - #define RTE_ENET_MII_TXD3_PIN 5 - #define RTE_ENET_MII_TXD3_FUNC 5 -#elif (RTE_ENET_MII_TXD3_PORT_ID == 1) - #define RTE_ENET_MII_TXD3_PORT 0xC - #define RTE_ENET_MII_TXD3_PIN 3 - #define RTE_ENET_MII_TXD3_FUNC 3 -#else - #error "Invalid ENET_TXD3 Pin Configuration!" -#endif -// ENET_TX_EN Pin <0=>P0_1 <1=>PC_4 -#define RTE_ENET_MII_TX_EN_PORT_ID 0 -#if (RTE_ENET_MII_TX_EN_PORT_ID == 0) - #define RTE_ENET_MII_TX_EN_PORT 0 - #define RTE_ENET_MII_TX_EN_PIN 1 - #define RTE_ENET_MII_TX_EN_FUNC 6 -#elif (RTE_ENET_MII_TX_EN_PORT_ID == 1) - #define RTE_ENET_MII_TX_EN_PORT 0xC - #define RTE_ENET_MII_TX_EN_PIN 4 - #define RTE_ENET_MII_TX_EN_FUNC 3 -#else - #error "Invalid ENET_TX_EN Pin Configuration!" -#endif -// ENET_TX_CLK Pin <0=>P1_19 <1=>CLK0 -#define RTE_ENET_MII_TX_CLK_PORT_ID 0 -#if (RTE_ENET_MII_TX_CLK_PORT_ID == 0) - #define RTE_ENET_MII_TX_CLK_PORT 1 - #define RTE_ENET_MII_TX_CLK_PIN 19 - #define RTE_ENET_MII_TX_CLK_FUNC 0 -#elif (RTE_ENET_MII_TX_CLK_PORT_ID == 1) - #define RTE_ENET_MII_TX_CLK_PORT 0x10 - #define RTE_ENET_MII_TX_CLK_PIN 0 - #define RTE_ENET_MII_TX_CLK_FUNC 7 -#else - #error "Invalid ENET_TX_CLK Pin Configuration!" -#endif -// ENET_TX_ER Pin <0=>Not used <1=>PC_5 <2=>PC_14 -// Optional signal, rarely used -#define RTE_ENET_MII_TX_ER_PORT_ID 0 -#if (RTE_ENET_MII_TX_ER_PORT_ID == 0) - #define RTE_ENET_MII_TX_ER_PIN_EN 0 -#elif (RTE_ENET_MII_TX_ER_PORT_ID == 1) - #define RTE_ENET_MII_TX_ER_PORT 0xC - #define RTE_ENET_MII_TX_ER_PIN 5 - #define RTE_ENET_MII_TX_ER_FUNC 3 -#elif (RTE_ENET_MII_TX_ER_PORT_ID == 2) - #define RTE_ENET_MII_TX_ER_PORT 0xC - #define RTE_ENET_MII_TX_ER_PIN 14 - #define RTE_ENET_MII_TX_ER_FUNC 6 -#else - #error "Invalid ENET_TX_ER Pin Configuration!" -#endif -#ifndef RTE_ENET_MII_TX_ER_PIN_EN - #define RTE_ENET_MII_TX_ER_PIN_EN 1 -#endif -// ENET_RXD0 Pin <0=>P1_15 -#define RTE_ENET_MII_RXD0_PORT_ID 0 -#if (RTE_ENET_MII_RXD0_PORT_ID == 0) - #define RTE_ENET_MII_RXD0_PORT 1 - #define RTE_ENET_MII_RXD0_PIN 15 - #define RTE_ENET_MII_RXD0_FUNC 3 -#else - #error "Invalid ENET_RXD0 Pin Configuration!" -#endif -// ENET_RXD1 Pin <0=>P0_0 -#define RTE_ENET_MII_RXD1_PORT_ID 0 -#if (RTE_ENET_MII_RXD1_PORT_ID == 0) - #define RTE_ENET_MII_RXD1_PORT 0 - #define RTE_ENET_MII_RXD1_PIN 0 - #define RTE_ENET_MII_RXD1_FUNC 2 -#else - #error "Invalid ENET_RXD1 Pin Configuration!" -#endif -// ENET_RXD2 Pin <0=>P9_3 <1=>PC_6 -#define RTE_ENET_MII_RXD2_PORT_ID 0 -#if (RTE_ENET_MII_RXD2_PORT_ID == 0) - #define RTE_ENET_MII_RXD2_PORT 9 - #define RTE_ENET_MII_RXD2_PIN 3 - #define RTE_ENET_MII_RXD2_FUNC 5 -#elif (RTE_ENET_MII_RXD2_PORT_ID == 1) - #define RTE_ENET_MII_RXD2_PORT 0xC - #define RTE_ENET_MII_RXD2_PIN 6 - #define RTE_ENET_MII_RXD2_FUNC 3 -#else - #error "Invalid ENET_RXD2 Pin Configuration!" -#endif -// ENET_RXD3 Pin <0=>P9_2 <1=>PC_7 -#define RTE_ENET_MII_RXD3_PORT_ID 0 -#if (RTE_ENET_MII_RXD3_PORT_ID == 0) - #define RTE_ENET_MII_RXD3_PORT 9 - #define RTE_ENET_MII_RXD3_PIN 2 - #define RTE_ENET_MII_RXD3_FUNC 5 -#elif (RTE_ENET_MII_RXD3_PORT_ID == 1) - #define RTE_ENET_MII_RXD3_PORT 0xC - #define RTE_ENET_MII_RXD3_PIN 7 - #define RTE_ENET_MII_RXD3_FUNC 3 -#else - #error "Invalid ENET_RXD3 Pin Configuration!" -#endif -// ENET_RX_DV Pin <0=>P1_16 <1=>PC_8 -#define RTE_ENET_MII_RX_DV_PORT_ID 0 -#if (RTE_ENET_MII_RX_DV_PORT_ID == 0) - #define RTE_ENET_MII_RX_DV_PORT 1 - #define RTE_ENET_MII_RX_DV_PIN 16 - #define RTE_ENET_MII_RX_DV_FUNC 7 -#elif (RTE_ENET_MII_RX_DV_PORT_ID == 1) - #define RTE_ENET_MII_RX_DV_PORT 0xC - #define RTE_ENET_MII_RX_DV_PIN 8 - #define RTE_ENET_MII_RX_DV_FUNC 3 -#else - #error "Invalid ENET_RX_DV Pin Configuration!" -#endif -// ENET_RX_CLK Pin <0=>PC_0 -#define RTE_ENET_MII_RX_CLK_PORT_ID 0 -#if (RTE_ENET_MII_RX_CLK_PORT_ID == 0) - #define RTE_ENET_MII_RX_CLK_PORT 0xC - #define RTE_ENET_MII_RX_CLK_PIN 0 - #define RTE_ENET_MII_RX_CLK_FUNC 3 -#else - #error "Invalid ENET_RX_CLK Pin Configuration!" -#endif -// ENET_RX_ER Pin <0=>P9_1 <1=>PC_9 -#define RTE_ENET_MII_RX_ER_PORT_ID 0 -#if (RTE_ENET_MII_RX_ER_PORT_ID == 0) - #define RTE_ENET_MII_RX_ER_PORT 9 - #define RTE_ENET_MII_RX_ER_PIN 1 - #define RTE_ENET_MII_RX_ER_FUNC 5 -#elif (RTE_ENET_MII_RX_ER_PORT_ID == 1) - #define RTE_ENET_MII_RX_ER_PORT 0xC - #define RTE_ENET_MII_RX_ER_PIN 9 - #define RTE_ENET_MII_RX_ER_FUNC 3 -#else - #error "Invalid ENET_RX_ER Pin Configuration!" -#endif -// ENET_COL Pin <0=>P0_1 <1=>P4_1 <2=>P9_6 -#define RTE_ENET_MII_COL_PORT_ID 0 -#if (RTE_ENET_MII_COL_PORT_ID == 0) - #define RTE_ENET_MII_COL_PORT 0 - #define RTE_ENET_MII_COL_PIN 1 - #define RTE_ENET_MII_COL_FUNC 2 -#elif (RTE_ENET_MII_COL_PORT_ID == 1) - #define RTE_ENET_MII_COL_PORT 4 - #define RTE_ENET_MII_COL_PIN 1 - #define RTE_ENET_MII_COL_FUNC 7 -#elif (RTE_ENET_MII_COL_PORT_ID == 2) - #define RTE_ENET_MII_COL_PORT 9 - #define RTE_ENET_MII_COL_PIN 6 - #define RTE_ENET_MII_COL_FUNC 5 -#else - #error "Invalid ENET_COL Pin Configuration!" -#endif -// ENET_CRS Pin <0=>P1_16 <1=>P9_0 -#define RTE_ENET_MII_CRS_PORT_ID 0 -#if (RTE_ENET_MII_CRS_PORT_ID == 0) - #define RTE_ENET_MII_CRS_PORT 1 - #define RTE_ENET_MII_CRS_PIN 16 - #define RTE_ENET_MII_CRS_FUNC 3 -#elif (RTE_ENET_MII_CRS_PORT_ID == 1) - #define RTE_ENET_MII_CRS_PORT 9 - #define RTE_ENET_MII_CRS_PIN 0 - #define RTE_ENET_MII_CRS_FUNC 5 -#else - #error "Invalid ENET_CRS Pin Configuration!" -#endif -// MII (Media Independent Interface) - -// RMII (Reduced Media Independent Interface) -#define RTE_ENET_RMII 0 - -// ENET_TXD0 Pin <0=>P1_18 -#define RTE_ENET_RMII_TXD0_PORT_ID 0 -#if (RTE_ENET_RMII_TXD0_PORT_ID == 0) - #define RTE_ENET_RMII_TXD0_PORT 1 - #define RTE_ENET_RMII_TXD0_PIN 18 - #define RTE_ENET_RMII_TXD0_FUNC 3 -#else - #error "Invalid ENET_TXD0 Pin Configuration!" -#endif -// ENET_TXD1 Pin <0=>P1_20 -#define RTE_ENET_RMII_TXD1_PORT_ID 0 -#if (RTE_ENET_RMII_TXD1_PORT_ID == 0) - #define RTE_ENET_RMII_TXD1_PORT 1 - #define RTE_ENET_RMII_TXD1_PIN 20 - #define RTE_ENET_RMII_TXD1_FUNC 3 -#else - #error "Invalid ENET_TXD1 Pin Configuration!" -#endif -// ENET_TX_EN Pin <0=>P0_1 <1=>PC_4 -#define RTE_ENET_RMII_TX_EN_PORT_ID 0 -#if (RTE_ENET_RMII_TX_EN_PORT_ID == 0) - #define RTE_ENET_RMII_TX_EN_PORT 0 - #define RTE_ENET_RMII_TX_EN_PIN 1 - #define RTE_ENET_RMII_TX_EN_FUNC 6 -#elif (RTE_ENET_RMII_TX_EN_PORT_ID == 1) - #define RTE_ENET_RMII_TX_EN_PORT 0xC - #define RTE_ENET_RMII_TX_EN_PIN 4 - #define RTE_ENET_RMII_TX_EN_FUNC 3 -#else - #error "Invalid ENET_TX_EN Pin Configuration!" -#endif -// ENET_REF_CLK Pin <0=>P1_19 <1=>CLK0 -#define RTE_ENET_RMII_REF_CLK_PORT_ID 0 -#if (RTE_ENET_RMII_REF_CLK_PORT_ID == 0) - #define RTE_ENET_RMII_REF_CLK_PORT 1 - #define RTE_ENET_RMII_REF_CLK_PIN 19 - #define RTE_ENET_RMII_REF_CLK_FUNC 0 -#elif (RTE_ENET_RMII_REF_CLK_PORT_ID == 1) - #define RTE_ENET_RMII_REF_CLK_PORT 0x10 - #define RTE_ENET_RMII_REF_CLK_PIN 0 - #define RTE_ENET_RMII_REF_CLK_FUNC 7 -#else - #error "Invalid ENET_REF_CLK Pin Configuration!" -#endif -// ENET_RXD0 Pin <0=>P1_15 -#define RTE_ENET_RMII_RXD0_PORT_ID 0 -#if (RTE_ENET_RMII_RXD0_PORT_ID == 0) - #define RTE_ENET_RMII_RXD0_PORT 1 - #define RTE_ENET_RMII_RXD0_PIN 15 - #define RTE_ENET_RMII_RXD0_FUNC 3 -#else - #error "Invalid ENET_RXD0 Pin Configuration!" -#endif -// ENET_RXD1 Pin <0=>P0_0 -#define RTE_ENET_RMII_RXD1_PORT_ID 0 -#if (RTE_ENET_RMII_RXD1_PORT_ID == 0) - #define RTE_ENET_RMII_RXD1_PORT 0 - #define RTE_ENET_RMII_RXD1_PIN 0 - #define RTE_ENET_RMII_RXD1_FUNC 2 -#else - #error "Invalid ENET_RXD1 Pin Configuration!" -#endif -// ENET_RX_DV Pin <0=>P1_16 <1=>PC_8 -#define RTE_ENET_RMII_RX_DV_PORT_ID 0 -#if (RTE_ENET_RMII_RX_DV_PORT_ID == 0) - #define RTE_ENET_RMII_RX_DV_PORT 1 - #define RTE_ENET_RMII_RX_DV_PIN 16 - #define RTE_ENET_RMII_RX_DV_FUNC 7 -#elif (RTE_ENET_RMII_RX_DV_PORT_ID == 1) - #define RTE_ENET_RMII_RX_DV_PORT 0xC - #define RTE_ENET_RMII_RX_DV_PIN 8 - #define RTE_ENET_RMII_RX_DV_FUNC 3 -#else - #error "Invalid ENET_RX_DV Pin Configuration!" -#endif -// RMII (Reduced Media Independent Interface) - -// MIIM (Management Data Interface) -// ENET_MDIO Pin <0=>P1_17 -#define RTE_ENET_MDI_MDIO_PORT_ID 0 -#if (RTE_ENET_MDI_MDIO_PORT_ID == 0) - #define RTE_ENET_MDI_MDIO_PORT 1 - #define RTE_ENET_MDI_MDIO_PIN 17 - #define RTE_ENET_MDI_MDIO_FUNC 3 -#else - #error "Invalid ENET_MDIO Pin Configuration!" -#endif -// ENET_MDC Pin <0=>P2_0 <1=>P7_7 <2=>PC_1 -#define RTE_ENET_MDI_MDC_PORT_ID 2 -#if (RTE_ENET_MDI_MDC_PORT_ID == 0) - #define RTE_ENET_MDI_MDC_PORT 2 - #define RTE_ENET_MDI_MDC_PIN 0 - #define RTE_ENET_MDI_MDC_FUNC 7 -#elif (RTE_ENET_MDI_MDC_PORT_ID == 1) - #define RTE_ENET_MDI_MDC_PORT 7 - #define RTE_ENET_MDI_MDC_PIN 7 - #define RTE_ENET_MDI_MDC_FUNC 6 -#elif (RTE_ENET_MDI_MDC_PORT_ID == 2) - #define RTE_ENET_MDI_MDC_PORT 0xC - #define RTE_ENET_MDI_MDC_PIN 1 - #define RTE_ENET_MDI_MDC_FUNC 3 -#else - #error "Invalid ENET_MDC Pin Configuration!" -#endif -// MIIM (Management Data Interface) -// ENET (Ethernet Interface) [Driver_ETH_MAC0] - -// SD/MMC Interface [Driver_MCI0] -// Configuration settings for Driver_MCI0 in component ::Drivers:MCI -#define RTE_SDMMC 0 - -// SD/MMC Peripheral Bus -// SD_CLK Pin <0=>PC_0 <1=>CLK0 <2=>CLK2 -#define RTE_SD_CLK_PORT_ID 0 -#if (RTE_SD_CLK_PORT_ID == 0) - #define RTE_SD_CLK_PORT 0xC - #define RTE_SD_CLK_PIN 0 - #define RTE_SD_CLK_FUNC 7 -#elif (RTE_SD_CLK_PORT_ID == 1) - #define RTE_SD_CLK_PORT 0x10 - #define RTE_SD_CLK_PIN 0 - #define RTE_SD_CLK_FUNC 4 -#elif (RTE_SD_CLK_PORT_ID == 2) - #define RTE_SD_CLK_PORT 0x10 - #define RTE_SD_CLK_PIN 2 - #define RTE_SD_CLK_FUNC 4 -#else - #error "Invalid SD_CLK Pin Configuration!" -#endif -// SD_CMD Pin <0=>P1_6 <1=>PC_10 -#define RTE_SD_CMD_PORT_ID 0 -#if (RTE_SD_CMD_PORT_ID == 0) - #define RTE_SD_CMD_PORT 1 - #define RTE_SD_CMD_PIN 6 - #define RTE_SD_CMD_FUNC 7 -#elif (RTE_SD_CMD_PORT_ID == 1) - #define RTE_SD_CMD_PORT 0xC - #define RTE_SD_CMD_PIN 10 - #define RTE_SD_CMD_FUNC 7 -#else - #error "Invalid SD_CMD Pin Configuration!" -#endif -// SD_DAT0 Pin <0=>P1_9 <1=>PC_4 -#define RTE_SD_DAT0_PORT_ID 0 -#if (RTE_SD_DAT0_PORT_ID == 0) - #define RTE_SD_DAT0_PORT 1 - #define RTE_SD_DAT0_PIN 9 - #define RTE_SD_DAT0_FUNC 7 -#elif (RTE_SD_DAT0_PORT_ID == 1) - #define RTE_SD_DAT0_PORT 0xC - #define RTE_SD_DAT0_PIN 4 - #define RTE_SD_DAT0_FUNC 7 -#else - #error "Invalid SD_DAT0 Pin Configuration!" -#endif -// SD_DAT[1 .. 3] -#define RTE_SDMMC_BUS_WIDTH_4 0 -// SD_DAT1 Pin <0=>P1_10 <1=>PC_5 -#define RTE_SD_DAT1_PORT_ID 0 -#if (RTE_SD_DAT1_PORT_ID == 0) - #define RTE_SD_DAT1_PORT 1 - #define RTE_SD_DAT1_PIN 10 - #define RTE_SD_DAT1_FUNC 7 -#elif (RTE_SD_DAT1_PORT_ID == 1) - #define RTE_SD_DAT1_PORT 0xC - #define RTE_SD_DAT1_PIN 5 - #define RTE_SD_DAT1_FUNC 7 -#else - #error "Invalid SD_DAT1 Pin Configuration!" -#endif -// SD_DAT2 Pin <0=>P1_11 <1=>PC_6 -#define RTE_SD_DAT2_PORT_ID 0 -#if (RTE_SD_DAT2_PORT_ID == 0) - #define RTE_SD_DAT2_PORT 1 - #define RTE_SD_DAT2_PIN 11 - #define RTE_SD_DAT2_FUNC 7 -#elif (RTE_SD_DAT2_PORT_ID == 1) - #define RTE_SD_DAT2_PORT 0xC - #define RTE_SD_DAT2_PIN 6 - #define RTE_SD_DAT2_FUNC 7 -#else - #error "Invalid SD_DAT2 Pin Configuration!" -#endif -// SD_DAT3 Pin <0=>P1_12 <1=>PC_7 -#define RTE_SD_DAT3_PORT_ID 0 -#if (RTE_SD_DAT3_PORT_ID == 0) - #define RTE_SD_DAT3_PORT 1 - #define RTE_SD_DAT3_PIN 12 - #define RTE_SD_DAT3_FUNC 7 -#elif (RTE_SD_DAT3_PORT_ID == 1) - #define RTE_SD_DAT3_PORT 0xC - #define RTE_SD_DAT3_PIN 7 - #define RTE_SD_DAT3_FUNC 7 -#else - #error "Invalid SD_DAT3 Pin Configuration!" -#endif -// SD_DAT[1 .. 3] -// SD_DAT[4 .. 7] -#define RTE_SDMMC_BUS_WIDTH_8 0 -// SD_DAT4 Pin <0=>PC_11 -#define RTE_SD_DAT4_PORT_ID 0 -#if (RTE_SD_DAT4_PORT_ID == 0) - #define RTE_SD_DAT4_PORT 0xC - #define RTE_SD_DAT4_PIN 11 - #define RTE_SD_DAT4_FUNC 7 -#else - #error "Invalid SD_DAT4 Pin Configuration!" -#endif -// SD_DAT5 Pin <0=>PC_12 -#define RTE_SD_DAT5_PORT_ID 0 -#if (RTE_SD_DAT5_PORT_ID == 0) - #define RTE_SD_DAT5_PORT 0xC - #define RTE_SD_DAT5_PIN 12 - #define RTE_SD_DAT5_FUNC 7 -#else - #error "Invalid SD_DAT5 Pin Configuration!" -#endif -// SD_DAT6 Pin <0=>PC_13 -#define RTE_SD_DAT6_PORT_ID 0 -#if (RTE_SD_DAT6_PORT_ID == 0) - #define RTE_SD_DAT6_PORT 0xC - #define RTE_SD_DAT6_PIN 13 - #define RTE_SD_DAT6_FUNC 7 -#else - #error "Invalid SD_DAT6 Pin Configuration!" -#endif -// SD_DAT7 Pin <0=>PC_14 -#define RTE_SD_DAT7_PORT_ID 0 -#if (RTE_SD_DAT7_PORT_ID == 0) - #define RTE_SD_DAT7_PORT 0xC - #define RTE_SD_DAT7_PIN 14 - #define RTE_SD_DAT7_FUNC 7 -#else - #error "Invalid SD_DAT7 Pin Configuration!" -#endif -// SD_DAT[4 .. 7] -// SD/MMC Peripheral Bus - -// SD_CD (Card Detect) Pin <0=>Not used <1=>P1_13 <2=>PC_8 -// Configure Pin if exists -#define RTE_SD_CD_PORT_ID 0 -#if (RTE_SD_CD_PORT_ID == 0) - #define RTE_SD_CD_PIN_EN 0 -#elif (RTE_SD_CD_PORT_ID == 1) - #define RTE_SD_CD_PORT 1 - #define RTE_SD_CD_PIN 13 - #define RTE_SD_CD_FUNC 7 -#elif (RTE_SD_CD_PORT_ID == 2) - #define RTE_SD_CD_PORT 0xC - #define RTE_SD_CD_PIN 8 - #define RTE_SD_CD_FUNC 7 -#else - #error "Invalid SD_CD Pin Configuration!" -#endif -#ifndef RTE_SD_CD_PIN_EN - #define RTE_SD_CD_PIN_EN 1 -#endif -// SD_WP (Write Protect) Pin <0=>Not used <1=>PD_15 <2=>PF_10 -// Configure Pin if exists -#define RTE_SD_WP_PORT_ID 0 -#if (RTE_SD_WP_PORT_ID == 0) - #define RTE_SD_WP_PIN_EN 0 -#elif (RTE_SD_WP_PORT_ID == 1) - #define RTE_SD_WP_PORT 0xD - #define RTE_SD_WP_PIN 15 - #define RTE_SD_WP_FUNC 5 -#elif (RTE_SD_WP_PORT_ID == 2) - #define RTE_SD_WP_PORT 0xF - #define RTE_SD_WP_PIN 10 - #define RTE_SD_WP_FUNC 6 -#else - #error "Invalid SD_WP Pin Configuration!" -#endif -#ifndef RTE_SD_WP_PIN_EN - #define RTE_SD_WP_PIN_EN 1 -#endif -// SD_POW (Power) Pin <0=>Not used <1=>P1_5 <2=>PC_9 <3=>PD_1 -// Configure Pin if exists -#define RTE_SD_POW_PORT_ID 0 -#if (RTE_SD_POW_PORT_ID == 0) - #define RTE_SD_POW_PIN_EN 0 -#elif (RTE_SD_POW_PORT_ID == 1) - #define RTE_SD_POW_PORT 1 - #define RTE_SD_POW_PIN 5 - #define RTE_SD_POW_FUNC 7 -#elif (RTE_SD_POW_PORT_ID == 2) - #define RTE_SD_POW_PORT 0xC - #define RTE_SD_POW_PIN 9 - #define RTE_SD_POW_FUNC 7 -#elif (RTE_SD_POW_PORT_ID == 3) - #define RTE_SD_POW_PORT 0xD - #define RTE_SD_POW_PIN 1 - #define RTE_SD_POW_FUNC 5 -#else - #error "Invalid SD_POW Pin Configuration!" -#endif -#ifndef RTE_SD_POW_PIN_EN - #define RTE_SD_POW_PIN_EN 1 -#endif -// SD_RST (Card Reset for MMC4.4) Pin <0=>Not used <1=>P1_3 <2=>PC_2 -// Configure Pin if exists -#define RTE_SD_RST_PORT_ID 0 -#if (RTE_SD_RST_PORT_ID == 0) - #define RTE_SD_RST_PIN_EN 0 -#elif (RTE_SD_RST_PORT_ID == 1) - #define RTE_SD_RST_PORT 1 - #define RTE_SD_RST_PIN 3 - #define RTE_SD_RST_FUNC 7 -#elif (RTE_SD_RST_PORT_ID == 2) - #define RTE_SD_RST_PORT 0xC - #define RTE_SD_RST_PIN 2 - #define RTE_SD_RST_FUNC 7 -#else - #error "Invalid SD_RST Pin Configuration!" -#endif -#ifndef RTE_SD_RST_PIN_EN - #define RTE_SD_RST_PIN_EN 1 -#endif -// SD/MMC Interface [Driver_MCI0] - -// I2C0 (Inter-integrated Circuit Interface 0) [Driver_I2C0] -// Configuration settings for Driver_I2C0 in component ::Drivers:I2C -// I2C0 (Inter-integrated Circuit Interface 0) [Driver_I2C0] -#define RTE_I2C0 0 - -// I2C1 (Inter-integrated Circuit Interface 1) [Driver_I2C1] -// Configuration settings for Driver_I2C1 in component ::Drivers:I2C -#define RTE_I2C1 0 - -// I2C1_SCL Pin <0=>P2_4 <1=>PE_15 -#define RTE_I2C1_SCL_PORT_ID 0 -#if (RTE_I2C1_SCL_PORT_ID == 0) - #define RTE_I2C1_SCL_PORT 2 - #define RTE_I2C1_SCL_PIN 4 - #define RTE_I2C1_SCL_FUNC 1 -#elif (RTE_I2C1_SCL_PORT_ID == 1) - #define RTE_I2C1_SCL_PORT 0xE - #define RTE_I2C1_SCL_PIN 15 - #define RTE_I2C1_SCL_FUNC 2 -#else - #error "Invalid I2C1_SCL Pin Configuration!" -#endif -// I2C1_SDA Pin <0=>P2_3 <1=>PE_13 -#define RTE_I2C1_SDA_PORT_ID 0 -#if (RTE_I2C1_SDA_PORT_ID == 0) - #define RTE_I2C1_SDA_PORT 2 - #define RTE_I2C1_SDA_PIN 3 - #define RTE_I2C1_SDA_FUNC 1 -#elif (RTE_I2C1_SDA_PORT_ID == 1) - #define RTE_I2C1_SDA_PORT 0xE - #define RTE_I2C1_SDA_PIN 13 - #define RTE_I2C1_SDA_FUNC 2 -#else - #error "Invalid I2C1_SDA Pin Configuration!" -#endif -// I2C1 (Inter-integrated Circuit Interface 1) [Driver_I2C1] - -// USART0 (Universal synchronous asynchronous receiver transmitter) [Driver_USART0] -#define RTE_USART0 1 - -// Pin Configuration -// TX <0=>Not used <1=>P2_0 <2=>P6_4 <3=>P9_5 <4=>PF_10 -// USART0 Serial Output pin -#define RTE_USART0_TX_ID 1 -#if (RTE_USART0_TX_ID == 0) - #define RTE_USART0_TX_PIN_EN 0 -#elif (RTE_USART0_TX_ID == 1) - #define RTE_USART0_TX_PORT 2 - #define RTE_USART0_TX_BIT 0 - #define RTE_USART0_TX_FUNC 1 -#elif (RTE_USART0_TX_ID == 2) - #define RTE_USART0_TX_PORT 6 - #define RTE_USART0_TX_BIT 4 - #define RTE_USART0_TX_FUNC 2 -#elif (RTE_USART0_TX_ID == 3) - #define RTE_USART0_TX_PORT 9 - #define RTE_USART0_TX_BIT 5 - #define RTE_USART0_TX_FUNC 7 -#elif (RTE_USART0_TX_ID == 4) - #define RTE_USART0_TX_PORT 0xF - #define RTE_USART0_TX_BIT 10 - #define RTE_USART0_TX_FUNC 1 -#else - #error "Invalid USART0_TX Pin Configuration!" -#endif -#ifndef RTE_USART0_TX_PIN_EN - #define RTE_USART0_TX_PIN_EN 1 -#endif -// RX <0=>Not used <1=>P2_1 <2=>P6_5 <3=>P9_6 <4=>PF_11 -// USART0 Serial Input pin -#define RTE_USART0_RX_ID 1 -#if (RTE_USART0_RX_ID == 0) - #define RTE_USART0_RX_PIN_EN 0 -#elif (RTE_USART0_RX_ID == 1) - #define RTE_USART0_RX_PORT 2 - #define RTE_USART0_RX_BIT 1 - #define RTE_USART0_RX_FUNC 1 -#elif (RTE_USART0_RX_ID == 2) - #define RTE_USART0_RX_PORT 6 - #define RTE_USART0_RX_BIT 5 - #define RTE_USART0_RX_FUNC 2 -#elif (RTE_USART0_RX_ID == 3) - #define RTE_USART0_RX_PORT 9 - #define RTE_USART0_RX_BIT 6 - #define RTE_USART0_RX_FUNC 7 -#elif (RTE_USART0_RX_ID == 4) - #define RTE_USART0_RX_PORT 0xF - #define RTE_USART0_RX_BIT 11 - #define RTE_USART0_RX_FUNC 1 -#else - #error "Invalid USART0_RX Pin Configuration!" -#endif -#ifndef RTE_USART0_RX_PIN_EN - #define RTE_USART0_RX_PIN_EN 1 -#endif -// UCLK (Synchronous and SmartCard mode) <0=>Not used <1=>P2_2 <2=>P6_1 <3=>PF_8 -// USART0 Serial Clock input/output synchronous mode -#define RTE_USART0_UCLK_ID 0 -#if (RTE_USART0_UCLK_ID == 0) - #define RTE_USART0_UCLK_PIN_EN 0 -#elif (RTE_USART0_UCLK_ID == 1) - #define RTE_USART0_UCLK_PORT 2 - #define RTE_USART0_UCLK_BIT 2 - #define RTE_USART0_UCLK_FUNC 1 -#elif (RTE_USART0_UCLK_ID == 2) - #define RTE_USART0_UCLK_PORT 6 - #define RTE_USART0_UCLK_BIT 1 - #define RTE_USART0_UCLK_FUNC 2 -#elif (RTE_USART0_UCLK_ID == 3) - #define RTE_USART0_UCLK_PORT 0xF - #define RTE_USART0_UCLK_BIT 8 - #define RTE_USART0_UCLK_FUNC 1 -#else - #error "Invalid USART0_UCLK Pin Configuration!" -#endif -#ifndef RTE_USART0_UCLK_PIN_EN - #define RTE_USART0_UCLK_PIN_EN 1 -#endif -// Pin Configuration - -// DMA -// Tx -// Channel <0=>0 <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// Peripheral <0=>1 (DMAMUXPER1) <1=>11 (DMAMUXPER11) -// -#define RTE_USART0_DMA_TX_EN 0 -#define RTE_USART0_DMA_TX_CH 0 -#define RTE_USART0_DMA_TX_PERI_ID 0 -#if (RTE_USART0_DMA_TX_PERI_ID == 0) - #define RTE_USART0_DMA_TX_PERI 1 - #define RTE_USART0_DMA_TX_PERI_SEL 1 -#elif (RTE_USART0_DMA_TX_PERI_ID == 1) - #define RTE_USART0_DMA_TX_PERI 11 - #define RTE_USART0_DMA_TX_PERI_SEL 2 -#endif -// Rx -// Channel <0=>0 <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// Peripheral <0=>2 (DMAMUXPER2) <1=>12 (DMAMUXPER12) -// -#define RTE_USART0_DMA_RX_EN 0 -#define RTE_USART0_DMA_RX_CH 1 -#define RTE_USART0_DMA_RX_PERI_ID 0 -#if (RTE_USART0_DMA_RX_PERI_ID == 0) - #define RTE_USART0_DMA_RX_PERI 2 - #define RTE_USART0_DMA_RX_PERI_SEL 1 -#elif (RTE_USART0_DMA_RX_PERI_ID == 1) - #define RTE_USART0_DMA_RX_PERI 12 - #define RTE_USART0_DMA_RX_PERI_SEL 2 -#endif -// DMA -// USART0 (Universal synchronous asynchronous receiver transmitter) [Driver_USART0] - -// UART1 (Universal asynchronous receiver transmitter) [Driver_USART1] -#define RTE_UART1 1 - -// Pin Configuration -// TX <0=>Not used <1=>P1_13 <2=>P3_4 <3=>P5_6 <4=>PC_13 <5=>PE_11 -// UART0 Serial Output pin -#define RTE_UART1_TX_ID 0 -#if (RTE_UART1_TX_ID == 0) - #define RTE_UART1_TX_PIN_EN 0 -#elif (RTE_UART1_TX_ID == 1) - #define RTE_UART1_TX_PORT 1 - #define RTE_UART1_TX_BIT 13 - #define RTE_UART1_TX_FUNC 1 -#elif (RTE_UART1_TX_ID == 2) - #define RTE_UART1_TX_PORT 3 - #define RTE_UART1_TX_BIT 4 - #define RTE_UART1_TX_FUNC 4 -#elif (RTE_UART1_TX_ID == 3) - #define RTE_UART1_TX_PORT 5 - #define RTE_UART1_TX_BIT 6 - #define RTE_UART1_TX_FUNC 4 -#elif (RTE_UART1_TX_ID == 4) - #define RTE_UART1_TX_PORT 0xC - #define RTE_UART1_TX_BIT 13 - #define RTE_UART1_TX_FUNC 2 -#elif (RTE_UART1_TX_ID == 5) - #define RTE_UART1_TX_PORT 0xE - #define RTE_UART1_TX_BIT 11 - #define RTE_UART1_TX_FUNC 2 -#else - #error "Invalid UART1_TX Pin Configuration!" -#endif -#ifndef RTE_UART1_TX_PIN_EN - #define RTE_UART1_TX_PIN_EN 1 -#endif -// RX <0=>Not used <1=>P1_14 <2=>P3_5 <3=>P5_7 <4=>PC_14 <5=>PE_12 -// UART1 Serial Input pin -#define RTE_UART1_RX_ID 1 -#if (RTE_UART1_RX_ID == 0) - #define RTE_UART1_RX_PIN_EN 0 -#elif (RTE_UART1_RX_ID == 1) - #define RTE_UART1_RX_PORT 1 - #define RTE_UART1_RX_BIT 14 - #define RTE_UART1_RX_FUNC 1 -#elif (RTE_UART1_RX_ID == 2) - #define RTE_UART1_RX_PORT 3 - #define RTE_UART1_RX_BIT 5 - #define RTE_UART1_RX_FUNC 4 -#elif (RTE_UART1_RX_ID == 3) - #define RTE_UART1_RX_PORT 5 - #define RTE_UART1_RX_BIT 7 - #define RTE_UART1_RX_FUNC 4 -#elif (RTE_UART1_RX_ID == 4) - #define RTE_UART1_RX_PORT 0xC - #define RTE_UART1_RX_BIT 14 - #define RTE_UART1_RX_FUNC 2 -#elif (RTE_UART1_RX_ID == 5) - #define RTE_UART1_RX_PORT 0xE - #define RTE_UART1_RX_BIT 12 - #define RTE_UART1_RX_FUNC 2 -#else - #error "Invalid UART1_RX Pin Configuration!" -#endif -#ifndef RTE_UART1_RX_PIN_EN - #define RTE_UART1_RX_PIN_EN 1 -#endif - -// Modem Lines -// CTS <0=>Not used <1=>P1_11 <2=>P5_4 <3=>PC_2 <4=>PE_7 -#define RTE_UART1_CTS_ID 0 -#if (RTE_UART1_CTS_ID == 0) - #define RTE_UART1_CTS_PIN_EN 0 -#elif (RTE_UART1_CTS_ID == 1) - #define RTE_UART1_CTS_PORT 1 - #define RTE_UART1_CTS_BIT 11 - #define RTE_UART1_CTS_FUNC 1 -#elif (RTE_UART1_CTS_ID == 2) - #define RTE_UART1_CTS_PORT 5 - #define RTE_UART1_CTS_BIT 4 - #define RTE_UART1_CTS_FUNC 4 -#elif (RTE_UART1_CTS_ID == 3) - #define RTE_UART1_CTS_PORT 0xC - #define RTE_UART1_CTS_BIT 2 - #define RTE_UART1_CTS_FUNC 2 -#elif (RTE_UART1_CTS_ID == 4) - #define RTE_UART1_CTS_PORT 0xE - #define RTE_UART1_CTS_BIT 7 - #define RTE_UART1_CTS_FUNC 2 -#else - #error "Invalid UART1_CTS Pin Configuration!" -#endif -#ifndef RTE_UART1_CTS_PIN_EN - #define RTE_UART1_CTS_PIN_EN 1 -#endif -// RTS <0=>Not used <1=>P1_9 <2=>P5_2 <3=>PC_3 <4=>PE_5 -#define RTE_UART1_RTS_ID 0 -#if (RTE_UART1_RTS_ID == 0) - #define RTE_UART1_RTS_PIN_EN 0 -#elif (RTE_UART1_RTS_ID == 1) - #define RTE_UART1_RTS_PORT 1 - #define RTE_UART1_RTS_BIT 9 - #define RTE_UART1_RTS_FUNC 1 -#elif (RTE_UART1_RTS_ID == 2) - #define RTE_UART1_RTS_PORT 5 - #define RTE_UART1_RTS_BIT 2 - #define RTE_UART1_RTS_FUNC 4 -#elif (RTE_UART1_RTS_ID == 3) - #define RTE_UART1_RTS_PORT 0xC - #define RTE_UART1_RTS_BIT 3 - #define RTE_UART1_RTS_FUNC 2 -#elif (RTE_UART1_RTS_ID == 4) - #define RTE_UART1_RTS_PORT 0xE - #define RTE_UART1_RTS_BIT 5 - #define RTE_UART1_RTS_FUNC 2 -#else - #error "Invalid UART1_RTS Pin Configuration!" -#endif -#ifndef RTE_UART1_RTS_PIN_EN - #define RTE_UART1_RTS_PIN_EN 1 -#endif -// DCD <0=>Not used <1=>P1_12 <2=>P5_5 <3=>PC_11 <4=>PE_9 -#define RTE_UART1_DCD_ID 0 -#if (RTE_UART1_DCD_ID == 0) - #define RTE_UART1_DCD_PIN_EN 0 -#elif (RTE_UART1_DCD_ID == 1) - #define RTE_UART1_DCD_PORT 1 - #define RTE_UART1_DCD_BIT 12 - #define RTE_UART1_DCD_FUNC 1 -#elif (RTE_UART1_DCD_ID == 2) - #define RTE_UART1_DCD_PORT 5 - #define RTE_UART1_DCD_BIT 5 - #define RTE_UART1_DCD_FUNC 4 -#elif (RTE_UART1_DCD_ID == 3) - #define RTE_UART1_DCD_PORT 0xC - #define RTE_UART1_DCD_BIT 11 - #define RTE_UART1_DCD_FUNC 2 -#elif (RTE_UART1_DCD_ID == 4) - #define RTE_UART1_DCD_PORT 0xE - #define RTE_UART1_DCD_BIT 9 - #define RTE_UART1_DCD_FUNC 2 -#else - #error "Invalid UART1_DCD Pin Configuration!" -#endif -#ifndef RTE_UART1_DCD_PIN_EN - #define RTE_UART1_DCD_PIN_EN 1 -#endif -// DSR <0=>Not used <1=>P1_7 <2=>P5_0 <3=>PC_10 <4=>PE_8 -#define RTE_UART1_DSR_ID 0 -#if (RTE_UART1_DSR_ID == 0) - #define RTE_UART1_DSR_PIN_EN 0 -#elif (RTE_UART1_DSR_ID == 1) - #define RTE_UART1_DSR_PORT 1 - #define RTE_UART1_DSR_BIT 7 - #define RTE_UART1_DSR_FUNC 1 -#elif (RTE_UART1_DSR_ID == 2) - #define RTE_UART1_DSR_PORT 5 - #define RTE_UART1_DSR_BIT 0 - #define RTE_UART1_DSR_FUNC 4 -#elif (RTE_UART1_DSR_ID == 3) - #define RTE_UART1_DSR_PORT 0xC - #define RTE_UART1_DSR_BIT 10 - #define RTE_UART1_DSR_FUNC 2 -#elif (RTE_UART1_DSR_ID == 4) - #define RTE_UART1_DSR_PORT 0xE - #define RTE_UART1_DSR_BIT 8 - #define RTE_UART1_DSR_FUNC 2 -#else - #error "Invalid UART1_DSR Pin Configuration!" -#endif -#ifndef RTE_UART1_DSR_PIN_EN - #define RTE_UART1_DSR_PIN_EN 1 -#endif -// DTR <0=>Not used <1=>P1_8 <2=>P5_1 <3=>PC_12 <4=>PE_10 -#define RTE_UART1_DTR_ID 0 -#if (RTE_UART1_DTR_ID == 0) - #define RTE_UART1_DTR_PIN_EN 0 -#elif (RTE_UART1_DTR_ID == 1) - #define RTE_UART1_DTR_PORT 1 - #define RTE_UART1_DTR_BIT 8 - #define RTE_UART1_DTR_FUNC 1 -#elif (RTE_UART1_DTR_ID == 2) - #define RTE_UART1_DTR_PORT 5 - #define RTE_UART1_DTR_BIT 1 - #define RTE_UART1_DTR_FUNC 4 -#elif (RTE_UART1_DTR_ID == 3) - #define RTE_UART1_DTR_PORT 0xC - #define RTE_UART1_DTR_BIT 12 - #define RTE_UART1_DTR_FUNC 2 -#elif (RTE_UART1_DTR_ID == 4) - #define RTE_UART1_DTR_PORT 0xE - #define RTE_UART1_DTR_BIT 10 - #define RTE_UART1_DTR_FUNC 2 -#else - #error "Invalid UART1_DTR Pin Configuration!" -#endif -#ifndef RTE_UART1_DTR_PIN_EN - #define RTE_UART1_DTR_PIN_EN 1 -#endif -// RI <0=>Not used <1=>P1_10 <2=>P5_3 <3=>PC_1 <4=>PE_6 -#define RTE_UART1_RI_ID 0 -#if (RTE_UART1_RI_ID == 0) - #define RTE_UART1_RI_PIN_EN 0 -#elif (RTE_UART1_RI_ID == 1) - #define RTE_UART1_RI_PORT 1 - #define RTE_UART1_RI_BIT 10 - #define RTE_UART1_RI_FUNC 1 -#elif (RTE_UART1_RI_ID == 2) - #define RTE_UART1_RI_PORT 5 - #define RTE_UART1_RI_BIT 3 - #define RTE_UART1_RI_FUNC 4 -#elif (RTE_UART1_RI_ID == 3) - #define RTE_UART1_RI_PORT 0xC - #define RTE_UART1_RI_BIT 1 - #define RTE_UART1_RI_FUNC 2 -#elif (RTE_UART1_RI_ID == 4) - #define RTE_UART1_RI_PORT 0xE - #define RTE_UART1_RI_BIT 6 - #define RTE_UART1_RI_FUNC 2 -#else - #error "Invalid UART1_RI Pin Configuration!" -#endif -#ifndef RTE_UART1_RI_PIN_EN - #define RTE_UART1_RI_PIN_EN 1 -#endif -// Modem Lines -// Pin Configuration - -// DMA -// Tx -// Channel <0=>0 <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// Peripheral <0=>3 (DMAMUXPER3) -// -#define RTE_UART1_DMA_TX_EN 0 -#define RTE_UART1_DMA_TX_CH 0 -#define RTE_UART1_DMA_TX_PERI_ID 0 -#if (RTE_UART1_DMA_TX_PERI_ID == 0) - #define RTE_UART1_DMA_TX_PERI 3 - #define RTE_UART1_DMA_TX_PERI_SEL 1 -#endif -// Rx -// Channel <0=>0 <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// Peripheral <0=>4 (DMAMUXPER4) -// -#define RTE_UART1_DMA_RX_EN 1 -#define RTE_UART1_DMA_RX_CH 1 -#define RTE_UART1_DMA_RX_PERI_ID 0 -#if (RTE_UART1_DMA_RX_PERI_ID == 0) - #define RTE_UART1_DMA_RX_PERI 4 - #define RTE_UART1_DMA_RX_PERI_SEL 1 -#endif -// DMA -// UART1 (Universal asynchronous receiver transmitter) [Driver_USART1] - -// USART2 (Universal synchronous asynchronous receiver transmitter) [Driver_USART2] -#define RTE_USART2 0 - -// Pin Configuration -// TX <0=>Not used <1=>P1_15 <2=>P2_10 <3=>P7_1 <4=>PA_1 -// USART2 Serial Output pin -#define RTE_USART2_TX_ID 0 -#if (RTE_USART2_TX_ID == 0) - #define RTE_USART2_TX_PIN_EN 0 -#elif (RTE_USART2_TX_ID == 1) - #define RTE_USART2_TX_PORT 1 - #define RTE_USART2_TX_BIT 15 - #define RTE_USART2_TX_FUNC 1 -#elif (RTE_USART2_TX_ID == 2) - #define RTE_USART2_TX_PORT 2 - #define RTE_USART2_TX_BIT 10 - #define RTE_USART2_TX_FUNC 2 -#elif (RTE_USART2_TX_ID == 3) - #define RTE_USART2_TX_PORT 7 - #define RTE_USART2_TX_BIT 1 - #define RTE_USART2_TX_FUNC 6 -#elif (RTE_USART2_TX_ID == 4) - #define RTE_USART2_TX_PORT 0xA - #define RTE_USART2_TX_BIT 1 - #define RTE_USART2_TX_FUNC 3 -#else - #error "Invalid USART2_TX Pin Configuration!" -#endif -#ifndef RTE_USART2_TX_PIN_EN - #define RTE_USART2_TX_PIN_EN 1 -#endif -// RX <0=>Not used <1=>P1_16 <2=>P2_11 <3=>P7_2 <4=>PA_2 -// USART2 Serial Input pin -#define RTE_USART2_RX_ID 0 -#if (RTE_USART2_RX_ID == 0) - #define RTE_USART2_RX_PIN_EN 0 -#elif (RTE_USART2_RX_ID == 1) - #define RTE_USART2_RX_PORT 1 - #define RTE_USART2_RX_BIT 16 - #define RTE_USART2_RX_FUNC 1 -#elif (RTE_USART2_RX_ID == 2) - #define RTE_USART2_RX_PORT 2 - #define RTE_USART2_RX_BIT 11 - #define RTE_USART2_RX_FUNC 2 -#elif (RTE_USART2_RX_ID == 3) - #define RTE_USART2_RX_PORT 7 - #define RTE_USART2_RX_BIT 2 - #define RTE_USART2_RX_FUNC 6 -#elif (RTE_USART2_RX_ID == 4) - #define RTE_USART2_RX_PORT 0xA - #define RTE_USART2_RX_BIT 2 - #define RTE_USART2_RX_FUNC 3 -#else - #error "Invalid USART2_RX Pin Configuration!" -#endif -#ifndef RTE_USART2_RX_PIN_EN - #define RTE_USART2_RX_PIN_EN 1 -#endif -// UCLK (Synchronous and SmartCard mode) <0=>Not used <1=>P1_17 <2=>P2_12 -// USART2 Serial Clock input/output synchronous mode -#define RTE_USART2_UCLK_ID 0 -#if (RTE_USART2_UCLK_ID == 0) - #define RTE_USART2_UCLK_PIN_EN 0 -#elif (RTE_USART2_UCLK_ID == 1) - #define RTE_USART2_UCLK_PORT 1 - #define RTE_USART2_UCLK_BIT 17 - #define RTE_USART2_UCLK_FUNC 1 -#elif (RTE_USART2_UCLK_ID == 2) - #define RTE_USART2_UCLK_PORT 2 - #define RTE_USART2_UCLK_BIT 12 - #define RTE_USART2_UCLK_FUNC 7 -#else - #error "Invalid USART2_UCLK Pin Configuration!" -#endif -#ifndef RTE_USART2_UCLK_PIN_EN - #define RTE_USART2_UCLK_PIN_EN 1 -#endif -// Pin Configuration - -// DMA -// Tx -// Channel <0=>0 <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// Peripheral <0=>5 (DMAMUXPER5) -// -#define RTE_USART2_DMA_TX_EN 0 -#define RTE_USART2_DMA_TX_CH 0 -#define RTE_USART2_DMA_TX_PERI_ID 0 -#if (RTE_USART2_DMA_TX_PERI_ID == 0) - #define RTE_USART2_DMA_TX_PERI 5 - #define RTE_USART2_DMA_TX_PERI_SEL 1 -#endif -// Rx -// Channel <0=>0 <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// Peripheral <0=>6 (DMAMUXPER6) -// -#define RTE_USART2_DMA_RX_EN 0 -#define RTE_USART2_DMA_RX_CH 1 -#define RTE_USART2_DMA_RX_PERI_ID 0 -#if (RTE_USART2_DMA_RX_PERI_ID == 0) - #define RTE_USART2_DMA_RX_PERI 6 - #define RTE_USART2_DMA_RX_PERI_SEL 1 -#endif -// DMA -// USART2 (Universal synchronous asynchronous receiver transmitter) [Driver_USART2] - -// USART3 (Universal synchronous asynchronous receiver transmitter) [Driver_USART3] -#define RTE_USART3 0 - -// Pin Configuration -// TX <0=>Not used <1=>P2_3 <2=>P4_1 <3=>P9_3 <4=>PF_2 -// USART3 Serial Output pin -#define RTE_USART3_TX_ID 0 -#if (RTE_USART3_TX_ID == 0) - #define RTE_USART3_TX_PIN_EN 0 -#elif (RTE_USART3_TX_ID == 1) - #define RTE_USART3_TX_PORT 2 - #define RTE_USART3_TX_BIT 3 - #define RTE_USART3_TX_FUNC 2 -#elif (RTE_USART3_TX_ID == 2) - #define RTE_USART3_TX_PORT 4 - #define RTE_USART3_TX_BIT 1 - #define RTE_USART3_TX_FUNC 6 -#elif (RTE_USART3_TX_ID == 3) - #define RTE_USART3_TX_PORT 9 - #define RTE_USART3_TX_BIT 3 - #define RTE_USART3_TX_FUNC 7 -#elif (RTE_USART3_TX_ID == 4) - #define RTE_USART3_TX_PORT 0xF - #define RTE_USART3_TX_BIT 2 - #define RTE_USART3_TX_FUNC 1 -#else - #error "Invalid USART3_TX Pin Configuration!" -#endif -#ifndef RTE_USART3_TX_PIN_EN - #define RTE_USART3_TX_PIN_EN 1 -#endif -// RX <0=>Not used <1=>P2_4 <2=>P4_2 <3=>P9_4 <4=>PF_3 -// USART3 Serial Input pin -#define RTE_USART3_RX_ID 0 -#if (RTE_USART3_RX_ID == 0) - #define RTE_USART3_RX_PIN_EN 0 -#elif (RTE_USART3_RX_ID == 1) - #define RTE_USART3_RX_PORT 2 - #define RTE_USART3_RX_BIT 4 - #define RTE_USART3_RX_FUNC 2 -#elif (RTE_USART3_RX_ID == 2) - #define RTE_USART3_RX_PORT 4 - #define RTE_USART3_RX_BIT 2 - #define RTE_USART3_RX_FUNC 6 -#elif (RTE_USART3_RX_ID == 3) - #define RTE_USART3_RX_PORT 9 - #define RTE_USART3_RX_BIT 4 - #define RTE_USART3_RX_FUNC 7 -#elif (RTE_USART3_RX_ID == 4) - #define RTE_USART3_RX_PORT 0xF - #define RTE_USART3_RX_BIT 3 - #define RTE_USART3_RX_FUNC 1 -#else - #error "Invalid USART3_RX Pin Configuration!" -#endif -#ifndef RTE_USART3_RX_PIN_EN - #define RTE_USART3_RX_PIN_EN 1 -#endif -// UCLK (Synchronous and SmartCard mode) <0=>Not used <1=>P2_7 <2=>P4_0 <3=>PF_5 -// USART3 Serial Clock input/output synchronous mode -#define RTE_USART3_UCLK_ID 0 -#if (RTE_USART3_UCLK_ID == 0) - #define RTE_USART3_UCLK_PIN_EN 0 -#elif (RTE_USART3_UCLK_ID == 1) - #define RTE_USART3_UCLK_PORT 2 - #define RTE_USART3_UCLK_BIT 7 - #define RTE_USART3_UCLK_FUNC 2 -#elif (RTE_USART3_UCLK_ID == 2) - #define RTE_USART3_UCLK_PORT 4 - #define RTE_USART3_UCLK_BIT 0 - #define RTE_USART3_UCLK_FUNC 6 -#elif (RTE_USART3_UCLK_ID == 3) - #define RTE_USART3_UCLK_PORT 0xF - #define RTE_USART3_UCLK_BIT 5 - #define RTE_USART3_UCLK_FUNC 1 -#else - #error "Invalid USART3_UCLK Pin Configuration!" -#endif -#ifndef RTE_USART3_UCLK_PIN_EN - #define RTE_USART3_UCLK_PIN_EN 1 -#endif -// Pin Configuration - -// DMA -// Tx -// Channel <0=>0 <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// Peripheral <0=>7 (DMAMUXPER7) <1=>14 (DMAMUXPER14) -// -#define RTE_USART3_DMA_TX_EN 0 -#define RTE_USART3_DMA_TX_CH 0 -#define RTE_USART3_DMA_TX_PERI_ID 0 -#if (RTE_USART3_DMA_TX_PERI_ID == 0) - #define RTE_USART3_DMA_TX_PERI 7 - #define RTE_USART3_DMA_TX_PERI_SEL 1 -#elif (RTE_USART3_DMA_TX_PERI_ID == 1) - #define RTE_USART3_DMA_TX_PERI 14 - #define RTE_USART3_DMA_TX_PERI_SEL 3 -#endif -// Rx -// Channel <0=>0 <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// Peripheral <0=>8 (DMAMUXPER8) <1=>13 (DMAMUXPER13) -// -#define RTE_USART3_DMA_RX_EN 0 -#define RTE_USART3_DMA_RX_CH 1 -#define RTE_USART3_DMA_RX_PERI_ID 0 -#if (RTE_USART3_DMA_RX_PERI_ID == 0) - #define RTE_USART3_DMA_RX_PERI 8 - #define RTE_USART3_DMA_RX_PERI_SEL 1 -#elif (RTE_USART3_DMA_RX_PERI_ID == 1) - #define RTE_USART3_DMA_RX_PERI 13 - #define RTE_USART3_DMA_RX_PERI_SEL 3 -#endif -// DMA -// USART3 (Universal synchronous asynchronous receiver transmitter) [Driver_USART3] - -// SSP0 (Synchronous Serial Port 0) [Driver_SPI0] -// Configuration settings for Driver_SPI0 in component ::Drivers:SPI -#define RTE_SSP0 0 - -// Pin Configuration -// SSP0_SSEL <0=>Not used <1=>P1_0 <2=>P3_6 <3=>P3_8 <4=>P9_0 <5=>PF_1 -// Slave Select for SSP0 -#define RTE_SSP0_SSEL_PIN_SEL 1 -#if (RTE_SSP0_SSEL_PIN_SEL == 0) -#define RTE_SSP0_SSEL_PIN_EN 0 -#elif (RTE_SSP0_SSEL_PIN_SEL == 1) - #define RTE_SSP0_SSEL_PORT 1 - #define RTE_SSP0_SSEL_BIT 0 - #define RTE_SSP0_SSEL_FUNC 5 - #define RTE_SSP0_SSEL_GPIO_FUNC 0 - #define RTE_SSP0_SSEL_GPIO_PORT 0 - #define RTE_SSP0_SSEL_GPIO_BIT 4 -#elif (RTE_SSP0_SSEL_PIN_SEL == 2) - #define RTE_SSP0_SSEL_PORT 3 - #define RTE_SSP0_SSEL_BIT 6 - #define RTE_SSP0_SSEL_FUNC 2 - #define RTE_SSP0_SSEL_GPIO_FUNC 0 - #define RTE_SSP0_SSEL_GPIO_PORT 0 - #define RTE_SSP0_SSEL_GPIO_BIT 6 -#elif (RTE_SSP0_SSEL_PIN_SEL == 3) - #define RTE_SSP0_SSEL_PORT 3 - #define RTE_SSP0_SSEL_BIT 8 - #define RTE_SSP0_SSEL_FUNC 5 - #define RTE_SSP0_SSEL_GPIO_FUNC 4 - #define RTE_SSP0_SSEL_GPIO_PORT 5 - #define RTE_SSP0_SSEL_GPIO_BIT 11 -#elif (RTE_SSP0_SSEL_PIN_SEL == 4) - #define RTE_SSP0_SSEL_PORT 9 - #define RTE_SSP0_SSEL_BIT 0 - #define RTE_SSP0_SSEL_FUNC 7 - #define RTE_SSP0_SSEL_GPIO_FUNC 0 - #define RTE_SSP0_SSEL_GPIO_PORT 4 - #define RTE_SSP0_SSEL_GPIO_BIT 12 -#elif (RTE_SSP0_SSEL_PIN_SEL == 5) - #define RTE_SSP0_SSEL_PORT 0xF - #define RTE_SSP0_SSEL_BIT 1 - #define RTE_SSP0_SSEL_FUNC 2 - #define RTE_SSP0_SSEL_GPIO_FUNC 4 - #define RTE_SSP0_SSEL_GPIO_PORT 7 - #define RTE_SSP0_SSEL_GPIO_BIT 16 -#else - #error "Invalid SSP0 SSP0_SSEL Pin Configuration!" -#endif -#ifndef RTE_SSP0_SSEL_PIN_EN -#define RTE_SSP0_SSEL_PIN_EN 1 -#endif -// SSP0_SCK <0=>P3_0 <1=>P3_3 <2=>PF_0 -// Serial clock for SSP0 -#define RTE_SSP0_SCK_PIN_SEL 0 -#if (RTE_SSP0_SCK_PIN_SEL == 0) - #define RTE_SSP0_SCK_PORT 3 - #define RTE_SSP0_SCK_BIT 0 - #define RTE_SSP0_SCK_FUNC 4 -#elif (RTE_SSP0_SCK_PIN_SEL == 1) - #define RTE_SSP0_SCK_PORT 3 - #define RTE_SSP0_SCK_BIT 3 - #define RTE_SSP0_SCK_FUNC 2 -#elif (RTE_SSP0_SCK_PIN_SEL == 2) - #define RTE_SSP0_SCK_PORT 0xF - #define RTE_SSP0_SCK_BIT 0 - #define RTE_SSP0_SCK_FUNC 0 -#else - #error "Invalid SSP0 SSP0_SCK Pin Configuration!" -#endif -// SSP0_MISO <0=>Not used <1=>P1_1 <2=>P3_6 <3=>P3_7 <4=>P9_1 <5=>PF_2 -// Master In Slave Out for SSP0 -#define RTE_SSP0_MISO_PIN_SEL 0 -#if (RTE_SSP0_MISO_PIN_SEL == 0) - #define RTE_SSP0_MISO_PIN_EN 0 -#elif (RTE_SSP0_MISO_PIN_SEL == 1) - #define RTE_SSP0_MISO_PORT 1 - #define RTE_SSP0_MISO_BIT 1 - #define RTE_SSP0_MISO_FUNC 5 -#elif (RTE_SSP0_MISO_PIN_SEL == 2) - #define RTE_SSP0_MISO_PORT 3 - #define RTE_SSP0_MISO_BIT 6 - #define RTE_SSP0_MISO_FUNC 5 -#elif (RTE_SSP0_MISO_PIN_SEL == 3) - #define RTE_SSP0_MISO_PORT 3 - #define RTE_SSP0_MISO_BIT 7 - #define RTE_SSP0_MISO_FUNC 2 -#elif (RTE_SSP0_MISO_PIN_SEL == 4) - #define RTE_SSP0_MISO_PORT 9 - #define RTE_SSP0_MISO_BIT 1 - #define RTE_SSP0_MISO_FUNC 7 -#elif (RTE_SSP0_MISO_PIN_SEL == 5) - #define RTE_SSP0_MISO_PORT 0xF - #define RTE_SSP0_MISO_BIT 2 - #define RTE_SSP0_MISO_FUNC 2 -#else - #error "Invalid SSP0 SSP0_MISO Pin Configuration!" -#endif -#ifndef RTE_SSP0_MISO_PIN_EN - #define RTE_SSP0_MISO_PIN_EN 1 -#endif -// SSP0_MOSI <0=>Not used <1=>P1_2 <2=>P3_7 <3=>P3_8 <4=>P9_2 <5=>PF_3 -// Master Out Slave In for SSP0 -#define RTE_SSP0_MOSI_PIN_SEL 0 -#if (RTE_SSP0_MOSI_PIN_SEL == 0) - #define RTE_SSP0_MOSI_PIN_EN 0 -#elif (RTE_SSP0_MOSI_PIN_SEL == 1) - #define RTE_SSP0_MOSI_PORT 1 - #define RTE_SSP0_MOSI_BIT 2 - #define RTE_SSP0_MOSI_FUNC 5 -#elif (RTE_SSP0_MOSI_PIN_SEL == 2) - #define RTE_SSP0_MOSI_PORT 3 - #define RTE_SSP0_MOSI_BIT 7 - #define RTE_SSP0_MOSI_FUNC 5 -#elif (RTE_SSP0_MOSI_PIN_SEL == 3) - #define RTE_SSP0_MOSI_PORT 3 - #define RTE_SSP0_MOSI_BIT 8 - #define RTE_SSP0_MOSI_FUNC 2 -#elif (RTE_SSP0_MOSI_PIN_SEL == 4) - #define RTE_SSP0_MOSI_PORT 9 - #define RTE_SSP0_MOSI_BIT 2 - #define RTE_SSP0_MOSI_FUNC 7 -#elif (RTE_SSP0_MOSI_PIN_SEL == 5) - #define RTE_SSP0_MOSI_PORT 0xF - #define RTE_SSP0_MOSI_BIT 3 - #define RTE_SSP0_MOSI_FUNC 2 -#else - #error "Invalid SSP0 SSP0_MOSI Pin Configuration!" -#endif -#ifndef RTE_SSP0_MOSI_PIN_EN - #define RTE_SSP0_MOSI_PIN_EN 1 -#endif -// Pin Configuration - -// DMA -// Tx -// Channel <0=>0 <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// Peripheral <0=>10 (DMAMUXPER10) -// -#define RTE_SSP0_DMA_TX_EN 0 -#define RTE_SSP0_DMA_TX_CH 0 -#define RTE_SSP0_DMA_TX_PERI_ID 0 -#if (RTE_SSP0_DMA_TX_PERI_ID == 0) - #define RTE_SSP0_DMA_TX_PERI 10 - #define RTE_SSP0_DMA_TX_PERI_SEL 0 -#endif -// Rx -// Channel <0=>0 <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// Peripheral <0=>9 (DMAMUXPER9) -// -#define RTE_SSP0_DMA_RX_EN 0 -#define RTE_SSP0_DMA_RX_CH 1 -#define RTE_SSP0_DMA_RX_PERI_ID 0 -#if (RTE_SSP0_DMA_RX_PERI_ID == 0) - #define RTE_SSP0_DMA_RX_PERI 9 - #define RTE_SSP0_DMA_RX_PERI_SEL 0 -#endif -// DMA -// SSP0 (Synchronous Serial Port 0) [Driver_SPI0] - -// SSP1 (Synchronous Serial Port 1) [Driver_SPI1] -// Configuration settings for Driver_SPI1 in component ::Drivers:SPI -#define RTE_SSP1 0 - -// Pin Configuration -// SSP1_SSEL <0=>Not used <1=>P1_5 <2=>P1_20 <3=>PF_5 -// Slave Select for SSP1 -#define RTE_SSP1_SSEL_PIN_SEL 1 -#if (RTE_SSP1_SSEL_PIN_SEL == 0) - #define RTE_SSP1_SSEL_PIN_EN 0 -#elif (RTE_SSP1_SSEL_PIN_SEL == 1) - #define RTE_SSP1_SSEL_PORT 1 - #define RTE_SSP1_SSEL_BIT 5 - #define RTE_SSP1_SSEL_FUNC 5 - #define RTE_SSP1_SSEL_GPIO_FUNC 0 - #define RTE_SSP1_SSEL_GPIO_PORT 1 - #define RTE_SSP1_SSEL_GPIO_BIT 8 -#elif (RTE_SSP1_SSEL_PIN_SEL == 2) - #define RTE_SSP1_SSEL_PORT 1 - #define RTE_SSP1_SSEL_BIT 20 - #define RTE_SSP1_SSEL_FUNC 1 - #define RTE_SSP1_SSEL_GPIO_FUNC 0 - #define RTE_SSP1_SSEL_GPIO_PORT 0 - #define RTE_SSP1_SSEL_GPIO_BIT 15 -#elif (RTE_SSP1_SSEL_PIN_SEL == 3) - #define RTE_SSP1_SSEL_PORT 0xF - #define RTE_SSP1_SSEL_BIT 5 - #define RTE_SSP1_SSEL_FUNC 2 - #define RTE_SSP1_SSEL_GPIO_FUNC 4 - #define RTE_SSP1_SSEL_GPIO_PORT 7 - #define RTE_SSP1_SSEL_GPIO_BIT 19 -#else - #error "Invalid SSP1 SSP1_SSEL Pin Configuration!" -#endif -#ifndef RTE_SSP1_SSEL_PIN_EN -#define RTE_SSP1_SSEL_PIN_EN 1 -#endif -// SSP1_SCK <0=>P1_19 <1=>PF_4 <2=>CLK0 -// Serial clock for SSP1 -#define RTE_SSP1_SCK_PIN_SEL 0 -#if (RTE_SSP1_SCK_PIN_SEL == 0) - #define RTE_SSP1_SCK_PORT 1 - #define RTE_SSP1_SCK_BIT 19 - #define RTE_SSP1_SCK_FUNC 1 -#elif (RTE_SSP1_SCK_PIN_SEL == 1) - #define RTE_SSP1_SCK_PORT 0xF - #define RTE_SSP1_SCK_BIT 4 - #define RTE_SSP1_SCK_FUNC 0 -#elif (RTE_SSP1_SCK_PIN_SEL == 2) - #define RTE_SSP1_SCK_PORT 0x10 - #define RTE_SSP1_SCK_BIT 0 - #define RTE_SSP1_SCK_FUNC 6 -#else - #error "Invalid SSP1 SSP1_SCK Pin Configuration!" -#endif -// SSP1_MISO <0=>Not used <1=>P0_0 <2=>P1_3 <3=>PF_6 -// Master In Slave Out for SSP1 -#define RTE_SSP1_MISO_PIN_SEL 0 -#if (RTE_SSP1_MISO_PIN_SEL == 0) - #define RTE_SSP1_MISO_PIN_EN 0 -#elif (RTE_SSP1_MISO_PIN_SEL == 1) - #define RTE_SSP1_MISO_PORT 0 - #define RTE_SSP1_MISO_BIT 0 - #define RTE_SSP1_MISO_FUNC 1 -#elif (RTE_SSP1_MISO_PIN_SEL == 2) - #define RTE_SSP1_MISO_PORT 1 - #define RTE_SSP1_MISO_BIT 3 - #define RTE_SSP1_MISO_FUNC 5 -#elif (RTE_SSP1_MISO_PIN_SEL == 3) - #define RTE_SSP1_MISO_PORT 0xF - #define RTE_SSP1_MISO_BIT 6 - #define RTE_SSP1_MISO_FUNC 2 -#else - #error "Invalid SSP1 SSP1_MISO Pin Configuration!" -#endif -#ifndef RTE_SSP1_MISO_PIN_EN - #define RTE_SSP1_MISO_PIN_EN 1 -#endif -// SSP1_MOSI <0=>Not used <1=>P0_1 <2=>P1_4 <3=>PF_7 -// Master Out Slave In for SSP1 -#define RTE_SSP1_MOSI_PIN_SEL 0 -#if (RTE_SSP1_MOSI_PIN_SEL == 0) - #define RTE_SSP1_MOSI_PIN_EN 0 -#elif (RTE_SSP1_MOSI_PIN_SEL == 1) - #define RTE_SSP1_MOSI_PORT 0 - #define RTE_SSP1_MOSI_BIT 1 - #define RTE_SSP1_MOSI_FUNC 1 -#elif (RTE_SSP1_MOSI_PIN_SEL == 2) - #define RTE_SSP1_MOSI_PORT 1 - #define RTE_SSP1_MOSI_BIT 4 - #define RTE_SSP1_MOSI_FUNC 5 -#elif (RTE_SSP1_MOSI_PIN_SEL == 3) - #define RTE_SSP1_MOSI_PORT 0xF - #define RTE_SSP1_MOSI_BIT 7 - #define RTE_SSP1_MOSI_FUNC 2 -#else - #error "Invalid SSP1 SSP1_MOSI Pin Configuration!" -#endif -#ifndef RTE_SSP1_MOSI_PIN_EN - #define RTE_SSP1_MOSI_PIN_EN 1 -#endif -// Pin Configuration - -// DMA -// Tx -// Channel <0=>0 <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// Peripheral <0=>3 (DMAMUXPER3) <1=>5 (DMAMUXPER5) <2=>12 (DMAMUXPER12) <3=>14 (DMAMUXPER14) -// -#define RTE_SSP1_DMA_TX_EN 0 -#define RTE_SSP1_DMA_TX_CH 0 -#define RTE_SSP1_DMA_TX_PERI_ID 0 -#if (RTE_SSP1_DMA_TX_PERI_ID == 0) - #define RTE_SSP1_DMA_TX_PERI 3 - #define RTE_SSP1_DMA_TX_PERI_SEL 3 -#elif (RTE_SSP1_DMA_TX_PERI_ID == 1) - #define RTE_SSP1_DMA_TX_PERI 5 - #define RTE_SSP1_DMA_TX_PERI_SEL 2 -#elif (RTE_SSP1_DMA_TX_PERI_ID == 2) - #define RTE_SSP1_DMA_TX_PERI 12 - #define RTE_SSP1_DMA_TX_PERI_SEL 0 -#elif (RTE_SSP1_DMA_TX_PERI_ID == 3) - #define RTE_SSP1_DMA_TX_PERI 14 - #define RTE_SSP1_DMA_TX_PERI_SEL 2 -#endif -// Rx -// Channel <0=>0 <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// Peripheral <0=>4 (DMAMUXPER4) <1=>6 (DMAMUXPER6) <2=>11 (DMAMUXPER11) <3=>13 (DMAMUXPER13) -// -#define RTE_SSP1_DMA_RX_EN 0 -#define RTE_SSP1_DMA_RX_CH 1 -#define RTE_SSP1_DMA_RX_PERI_ID 0 -#if (RTE_SSP1_DMA_RX_PERI_ID == 0) - #define RTE_SSP1_DMA_RX_PERI 4 - #define RTE_SSP1_DMA_RX_PERI_SEL 3 -#elif (RTE_SSP1_DMA_RX_PERI_ID == 1) - #define RTE_SSP1_DMA_RX_PERI 6 - #define RTE_SSP1_DMA_RX_PERI_SEL 2 -#elif (RTE_SSP1_DMA_RX_PERI_ID == 2) - #define RTE_SSP1_DMA_RX_PERI 11 - #define RTE_SSP1_DMA_RX_PERI_SEL 0 -#elif (RTE_SSP1_DMA_RX_PERI_ID == 3) - #define RTE_SSP1_DMA_RX_PERI 13 - #define RTE_SSP1_DMA_RX_PERI_SEL 2 -#endif -// DMA -// SSP1 (Synchronous Serial Port 1) [Driver_SPI1] - -// SPI (Serial Peripheral Interface) [Driver_SPI2] -// Configuration settings for Driver_SPI2 in component ::Drivers:SPI -#define RTE_SPI 0 - -// Pin Configuration -// SPI_SSEL <0=>Not used <1=>P3_8 -// Slave Select for SPI -#define RTE_SPI_SSEL_PIN_SEL 0 -#if (RTE_SPI_SSEL_PIN_SEL == 0) -#define RTE_SPI_SSEL_PIN_EN 0 -#elif (RTE_SPI_SSEL_PIN_SEL == 1) - #define RTE_SPI_SSEL_PORT 3 - #define RTE_SPI_SSEL_BIT 8 - #define RTE_SPI_SSEL_FUNC 1 - #define RTE_SPI_SSEL_GPIO_FUNC 4 - #define RTE_SPI_SSEL_GPIO_PORT 5 - #define RTE_SPI_SSEL_GPIO_BIT 11 -#else - #error "Invalid SPI SPI_SSEL Pin Configuration!" -#endif -#ifndef RTE_SPI_SSEL_PIN_EN -#define RTE_SPI_SSEL_PIN_EN 1 -#endif -// SPI_SCK <0=>P3_3 -// Serial clock for SPI -#define RTE_SPI_SCK_PIN_SEL 0 -#if (RTE_SPI_SCK_PIN_SEL == 0) - #define RTE_SPI_SCK_PORT 3 - #define RTE_SPI_SCK_BIT 3 - #define RTE_SPI_SCK_FUNC 1 -#else - #error "Invalid SPI SPI_SCK Pin Configuration!" -#endif -// SPI_MISO <0=>Not used <1=>P3_6 -// Master In Slave Out for SPI -#define RTE_SPI_MISO_PIN_SEL 0 -#if (RTE_SPI_MISO_PIN_SEL == 0) - #define RTE_SPI_MISO_PIN_EN 0 -#elif (RTE_SPI_MISO_PIN_SEL == 1) - #define RTE_SPI_MISO_PORT 3 - #define RTE_SPI_MISO_BIT 6 - #define RTE_SPI_MISO_FUNC 1 -#else - #error "Invalid SPI SPI_MISO Pin Configuration!" -#endif -#ifndef RTE_SPI_MISO_PIN_EN - #define RTE_SPI_MISO_PIN_EN 1 -#endif -// SPI_MOSI <0=>Not used <1=>P3_7 -// Master Out Slave In for SPI -#define RTE_SPI_MOSI_PIN_SEL 0 -#if (RTE_SPI_MOSI_PIN_SEL == 0) - #define RTE_SPI_MOSI_PIN_EN 0 -#elif (RTE_SPI_MOSI_PIN_SEL == 1) - #define RTE_SPI_MOSI_PORT 3 - #define RTE_SPI_MOSI_BIT 7 - #define RTE_SPI_MOSI_FUNC 1 -#else - #error "Invalid SPI SPI_MOSI Pin Configuration!" -#endif -#ifndef RTE_SPI_MOSI_PIN_EN - #define RTE_SPI_MOSI_PIN_EN 1 -#endif -// Pin Configuration -// SPI (Serial Peripheral Interface) [Driver_SPI2] - -// I2S0 (Integrated Interchip Sound 0) [Driver_SAI0] -// Configuration settings for Driver_SAI0 in component ::Drivers:SAI -#define RTE_I2S0 0 - -// Pin Configuration -// I2S0_RX_SCK <0=>Not used <1=>P3_0 <2=>P6_0 <3=>PF_4 -// Receive clock for I2S0 -#define RTE_I2S0_RX_SCK_PIN_SEL 2 -#if (RTE_I2S0_RX_SCK_PIN_SEL == 0) -#define RTE_I2S0_RX_SCK_PIN_EN 0 -#elif (RTE_I2S0_RX_SCK_PIN_SEL == 1) - #define RTE_I2S0_RX_SCK_PORT 3 - #define RTE_I2S0_RX_SCK_BIT 0 - #define RTE_I2S0_RX_SCK_FUNC 0 -#elif (RTE_I2S0_RX_SCK_PIN_SEL == 2) - #define RTE_I2S0_RX_SCK_PORT 6 - #define RTE_I2S0_RX_SCK_BIT 0 - #define RTE_I2S0_RX_SCK_FUNC 4 -#elif (RTE_I2S0_RX_SCK_PIN_SEL == 3) - #define RTE_I2S0_RX_SCK_PORT 0xF - #define RTE_I2S0_RX_SCK_BIT 4 - #define RTE_I2S0_RX_SCK_FUNC 7 -#else - #error "Invalid I2S0 I2S0_RX_SCK Pin Configuration!" -#endif -#ifndef RTE_I2S0_RX_SCK_PIN_EN -#define RTE_I2S0_RX_SCK_PIN_EN 1 -#endif -// I2S0_RX_WS <0=>Not used <1=>P3_1 <2=>P6_1 -// Receive word select for I2S0 -#define RTE_I2S0_RX_WS_PIN_SEL 2 -#if (RTE_I2S0_RX_WS_PIN_SEL == 0) -#define RTE_I2S0_RX_WS_PIN_EN 0 -#elif (RTE_I2S0_RX_WS_PIN_SEL == 1) - #define RTE_I2S0_RX_WS_PORT 3 - #define RTE_I2S0_RX_WS_BIT 1 - #define RTE_I2S0_RX_WS_FUNC 1 -#elif (RTE_I2S0_RX_WS_PIN_SEL == 2) - #define RTE_I2S0_RX_WS_PORT 6 - #define RTE_I2S0_RX_WS_BIT 1 - #define RTE_I2S0_RX_WS_FUNC 3 -#else - #error "Invalid I2S0 I2S0_RX_WS Pin Configuration!" -#endif -#ifndef RTE_I2S0_RX_WS_PIN_EN -#define RTE_I2S0_RX_WS_PIN_EN 1 -#endif -// I2S0_RX_SDA <0=>Not used <1=>P3_2 <2=>P6_2 -// Receive master clock for I2S0 -#define RTE_I2S0_RX_SDA_PIN_SEL 2 -#if (RTE_I2S0_RX_SDA_PIN_SEL == 0) -#define RTE_I2S0_RX_SDA_PIN_EN 0 -#elif (RTE_I2S0_RX_SDA_PIN_SEL == 1) - #define RTE_I2S0_RX_SDA_PORT 3 - #define RTE_I2S0_RX_SDA_BIT 2 - #define RTE_I2S0_RX_SDA_FUNC 1 -#elif (RTE_I2S0_RX_SDA_PIN_SEL == 2) - #define RTE_I2S0_RX_SDA_PORT 6 - #define RTE_I2S0_RX_SDA_BIT 2 - #define RTE_I2S0_RX_SDA_FUNC 3 -#else - #error "Invalid I2S0 I2S0_RX_SDA Pin Configuration!" -#endif -#ifndef RTE_I2S0_RX_SDA_PIN_EN -#define RTE_I2S0_RX_SDA_PIN_EN 1 -#endif -// I2S0_RX_MCLK <0=>Not used <1=>P1_19 <2=>P3_0 <3=>P6_0 -// Receive master clock for I2S0 -#define RTE_I2S0_RX_MCLK_PIN_SEL 0 -#if (RTE_I2S0_RX_MCLK_PIN_SEL == 0) -#define RTE_I2S0_RX_MCLK_PIN_EN 0 -#elif (RTE_I2S0_RX_MCLK_PIN_SEL == 1) - #define RTE_I2S0_RX_MCLK_PORT 1 - #define RTE_I2S0_RX_MCLK_BIT 19 - #define RTE_I2S0_RX_MCLK_FUNC 6 -#elif (RTE_I2S0_RX_MCLK_PIN_SEL == 2) - #define RTE_I2S0_RX_MCLK_PORT 3 - #define RTE_I2S0_RX_MCLK_BIT 0 - #define RTE_I2S0_RX_MCLK_FUNC 1 -#elif (RTE_I2S0_RX_MCLK_PIN_SEL == 3) - #define RTE_I2S0_RX_MCLK_PORT 6 - #define RTE_I2S0_RX_MCLK_BIT 0 - #define RTE_I2S0_RX_MCLK_FUNC 1 -#else - #error "Invalid I2S0 I2S0_RX_MCLK Pin Configuration!" -#endif -#ifndef RTE_I2S0_RX_MCLK_PIN_EN -#define RTE_I2S0_RX_MCLK_PIN_EN 1 -#endif -// I2S0_TX_SCK <0=>Not used <1=>P3_0 <2=>P4_7 -// Transmit clock for I2S0 -#define RTE_I2S0_TX_SCK_PIN_SEL 1 -#if (RTE_I2S0_TX_SCK_PIN_SEL == 0) -#define RTE_I2S0_TX_SCK_PIN_EN 0 -#elif (RTE_I2S0_TX_SCK_PIN_SEL == 1) - #define RTE_I2S0_TX_SCK_PORT 3 - #define RTE_I2S0_TX_SCK_BIT 0 - #define RTE_I2S0_TX_SCK_FUNC 2 -#elif (RTE_I2S0_TX_SCK_PIN_SEL == 2) - #define RTE_I2S0_TX_SCK_PORT 4 - #define RTE_I2S0_TX_SCK_BIT 7 - #define RTE_I2S0_TX_SCK_FUNC 7 -#else - #error "Invalid I2S0 I2S0_TX_SCK Pin Configuration!" -#endif -#ifndef RTE_I2S0_TX_SCK_PIN_EN -#define RTE_I2S0_TX_SCK_PIN_EN 1 -#endif -// I2S0_TX_WS <0=>Not used <1=>P0_0 <2=>P3_1 <3=>P3_4 <4=>P7_1 <5=>P9_1 <6=>PC_13 -// Transmit word select for I2S0 -#define RTE_I2S0_TX_WS_PIN_SEL 4 -#if (RTE_I2S0_TX_WS_PIN_SEL == 0) -#define RTE_I2S0_TX_WS_PIN_EN 0 -#elif (RTE_I2S0_TX_WS_PIN_SEL == 1) - #define RTE_I2S0_TX_WS_PORT 0 - #define RTE_I2S0_TX_WS_BIT 0 - #define RTE_I2S0_TX_WS_FUNC 6 -#elif (RTE_I2S0_TX_WS_PIN_SEL == 2) - #define RTE_I2S0_TX_WS_PORT 3 - #define RTE_I2S0_TX_WS_BIT 1 - #define RTE_I2S0_TX_WS_FUNC 0 -#elif (RTE_I2S0_TX_WS_PIN_SEL == 3) - #define RTE_I2S0_TX_WS_PORT 3 - #define RTE_I2S0_TX_WS_BIT 4 - #define RTE_I2S0_TX_WS_FUNC 5 -#elif (RTE_I2S0_TX_WS_PIN_SEL == 4) - #define RTE_I2S0_TX_WS_PORT 7 - #define RTE_I2S0_TX_WS_BIT 1 - #define RTE_I2S0_TX_WS_FUNC 2 -#elif (RTE_I2S0_TX_WS_PIN_SEL == 5) - #define RTE_I2S0_TX_WS_PORT 9 - #define RTE_I2S0_TX_WS_BIT 1 - #define RTE_I2S0_TX_WS_FUNC 4 -#elif (RTE_I2S0_TX_WS_PIN_SEL == 6) - #define RTE_I2S0_TX_WS_PORT 0xC - #define RTE_I2S0_TX_WS_BIT 13 - #define RTE_I2S0_TX_WS_FUNC 6 -#else - #error "Invalid I2S0 I2S0_TX_WS Pin Configuration!" -#endif -#ifndef RTE_I2S0_TX_WS_PIN_EN -#define RTE_I2S0_TX_WS_PIN_EN 1 -#endif -// I2S0_TX_SDA <0=>Not used <1=>P3_2 <2=>P3_5 <3=>P7_2 <4=>P9_2 <5=>PC_12 -// Transmit data for I2S0 -#define RTE_I2S0_TX_SDA_PIN_SEL 3 -#if (RTE_I2S0_TX_SDA_PIN_SEL == 0) -#define RTE_I2S0_TX_SDA_PIN_EN 0 -#elif (RTE_I2S0_TX_SDA_PIN_SEL == 1) - #define RTE_I2S0_TX_SDA_PORT 3 - #define RTE_I2S0_TX_SDA_BIT 2 - #define RTE_I2S0_TX_SDA_FUNC 0 -#elif (RTE_I2S0_TX_SDA_PIN_SEL == 2) - #define RTE_I2S0_TX_SDA_PORT 3 - #define RTE_I2S0_TX_SDA_BIT 5 - #define RTE_I2S0_TX_SDA_FUNC 5 -#elif (RTE_I2S0_TX_SDA_PIN_SEL == 3) - #define RTE_I2S0_TX_SDA_PORT 7 - #define RTE_I2S0_TX_SDA_BIT 2 - #define RTE_I2S0_TX_SDA_FUNC 2 -#elif (RTE_I2S0_TX_SDA_PIN_SEL == 4) - #define RTE_I2S0_TX_SDA_PORT 9 - #define RTE_I2S0_TX_SDA_BIT 2 - #define RTE_I2S0_TX_SDA_FUNC 4 -#elif (RTE_I2S0_TX_SDA_PIN_SEL == 5) - #define RTE_I2S0_TX_SDA_PORT 0xC - #define RTE_I2S0_TX_SDA_BIT 12 - #define RTE_I2S0_TX_SDA_FUNC 6 -#else - #error "Invalid I2S0 I2S0_TX_SDA Pin Configuration!" -#endif -#ifndef RTE_I2S0_TX_SDA_PIN_EN -#define RTE_I2S0_TX_SDA_PIN_EN 1 -#endif -// I2S0_TX_MCLK <0=>Not used <1=>P3_0 <2=>P3_3 <3=>PF_4 <4=>CLK2 -// Transmit master clock for I2S0 -#define RTE_I2S0_TX_MCLK_PIN_SEL 2 -#if (RTE_I2S0_TX_MCLK_PIN_SEL == 0) -#define RTE_I2S0_TX_MCLK_PIN_EN 0 -#elif (RTE_I2S0_TX_MCLK_PIN_SEL == 1) - #define RTE_I2S0_TX_MCLK_PORT 3 - #define RTE_I2S0_TX_MCLK_BIT 0 - #define RTE_I2S0_TX_MCLK_FUNC 3 -#elif (RTE_I2S0_TX_MCLK_PIN_SEL == 2) - #define RTE_I2S0_TX_MCLK_PORT 3 - #define RTE_I2S0_TX_MCLK_BIT 3 - #define RTE_I2S0_TX_MCLK_FUNC 6 -#elif (RTE_I2S0_TX_MCLK_PIN_SEL == 3) - #define RTE_I2S0_TX_MCLK_PORT 0xf - #define RTE_I2S0_TX_MCLK_BIT 4 - #define RTE_I2S0_TX_MCLK_FUNC 6 -#elif (RTE_I2S0_TX_MCLK_PIN_SEL == 4) - #define RTE_I2S0_TX_MCLK_PORT 0x10 - #define RTE_I2S0_TX_MCLK_BIT 2 - #define RTE_I2S0_TX_MCLK_FUNC 6 -#else - #error "Invalid I2S0 I2S0_TX_MCLK Pin Configuration!" -#endif -#ifndef RTE_I2S0_TX_MCLK_PIN_EN -#define RTE_I2S0_TX_MCLK_PIN_EN 1 -#endif -// Pin Configuration - -// DMA -// Tx -// Channel <0=>0 <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// Peripheral <0=>9 (DMAMUXPER9) -// -#define RTE_I2S0_DMA_TX_EN 0 -#define RTE_I2S0_DMA_TX_CH 0 -#define RTE_I2S0_DMA_TX_PERI_ID 0 -#if (RTE_I2S0_DMA_TX_PERI_ID == 0) - #define RTE_I2S0_DMA_TX_PERI 9 - #define RTE_I2S0_DMA_TX_PERI_SEL 1 -#endif -// Rx -// Channel <0=>0 <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// Peripheral <0=>10 (DMAMUXPER10) -// -#define RTE_I2S0_DMA_RX_EN 0 -#define RTE_I2S0_DMA_RX_CH 1 -#define RTE_I2S0_DMA_RX_PERI_ID 0 -#if (RTE_I2S0_DMA_RX_PERI_ID == 0) - #define RTE_I2S0_DMA_RX_PERI 10 - #define RTE_I2S0_DMA_RX_PERI_SEL 1 -#endif -// DMA -// I2S0 (Integrated Interchip Sound 0) [Driver_SAI0] - -// I2S1 (Integrated Interchip Sound 1) [Driver_SAI1] -// Configuration settings for Driver_I2S1 in component ::Drivers:SAI -#define RTE_I2S1 0 - -// Pin Configuration -// I2S1_RX_SCK <0=>Not used <1=>CLK2 <2=>CLK3 -// Receive clock for I2S1 -#define RTE_I2S1_RX_SCK_PIN_SEL 0 -#if (RTE_I2S1_RX_SCK_PIN_SEL == 0) -#define RTE_I2S1_RX_SCK_PIN_EN 0 -#elif (RTE_I2S1_RX_SCK_PIN_SEL == 1) - #define RTE_I2S1_RX_SCK_PORT 0x10 - #define RTE_I2S1_RX_SCK_BIT 2 - #define RTE_I2S1_RX_SCK_FUNC 7 -#elif (RTE_I2S1_RX_SCK_PIN_SEL == 2) - #define RTE_I2S1_RX_SCK_PORT 0x10 - #define RTE_I2S1_RX_SCK_BIT 3 - #define RTE_I2S1_RX_SCK_FUNC 7 -#else - #error "Invalid I2S1 I2S1_RX_SCK Pin Configuration!" -#endif -#ifndef RTE_I2S1_RX_SCK_PIN_EN -#define RTE_I2S1_RX_SCK_PIN_EN 1 -#endif -// I2S1_RX_WS <0=>Not used <1=>P3_5 -// Receive word select for I2S1 -#define RTE_I2S1_RX_WS_PIN_SEL 0 -#if (RTE_I2S1_RX_WS_PIN_SEL == 0) -#define RTE_I2S1_RX_WS_PIN_EN 0 -#elif (RTE_I2S1_RX_WS_PIN_SEL == 1) - #define RTE_I2S1_RX_WS_PORT 3 - #define RTE_I2S1_RX_WS_BIT 5 - #define RTE_I2S1_RX_WS_FUNC 6 -#else - #error "Invalid I2S1 I2S1_RX_WS Pin Configuration!" -#endif -#ifndef RTE_I2S1_RX_WS_PIN_EN -#define RTE_I2S1_RX_WS_PIN_EN 1 -#endif -// I2S1_RX_SDA <0=>Not used <1=>P3_4 -// Receive master clock for I2S1 -#define RTE_I2S1_RX_SDA_PIN_SEL 0 -#if (RTE_I2S1_RX_SDA_PIN_SEL == 0) -#define RTE_I2S1_RX_SDA_PIN_EN 0 -#elif (RTE_I2S1_RX_SDA_PIN_SEL == 1) - #define RTE_I2S1_RX_SDA_PORT 3 - #define RTE_I2S1_RX_SDA_BIT 4 - #define RTE_I2S1_RX_SDA_FUNC 6 -#else - #error "Invalid I2S1 I2S1_RX_SDA Pin Configuration!" -#endif -#ifndef RTE_I2S1_RX_SDA_PIN_EN -#define RTE_I2S1_RX_SDA_PIN_EN 1 -#endif -// I2S1_RX_MCLK <0=>Not used <1=>PA_0 -// Receive master clock for I2S1 -#define RTE_I2S1_RX_MCLK_PIN_SEL 0 -#if (RTE_I2S1_RX_MCLK_PIN_SEL == 0) -#define RTE_I2S1_RX_MCLK_PIN_EN 0 -#elif (RTE_I2S1_RX_MCLK_PIN_SEL == 1) - #define RTE_I2S1_RX_MCLK_PORT 0x0A - #define RTE_I2S1_RX_MCLK_BIT 0 - #define RTE_I2S1_RX_MCLK_FUNC 5 -#else - #error "Invalid I2S1 I2S1_RX_MCLK Pin Configuration!" -#endif -#ifndef RTE_I2S1_RX_MCLK_PIN_EN -#define RTE_I2S1_RX_MCLK_PIN_EN 1 -#endif -// I2S1_TX_SCK <0=>Not used <1=>P1_19 <2=>P3_3 <3=>P4_7 -// Transmit clock for I2S1 -#define RTE_I2S1_TX_SCK_PIN_SEL 0 -#if (RTE_I2S1_TX_SCK_PIN_SEL == 0) -#define RTE_I2S1_TX_SCK_PIN_EN 0 -#elif (RTE_I2S1_TX_SCK_PIN_SEL == 1) - #define RTE_I2S1_TX_SCK_PORT 1 - #define RTE_I2S1_TX_SCK_BIT 19 - #define RTE_I2S1_TX_SCK_FUNC 7 -#elif (RTE_I2S1_TX_SCK_PIN_SEL == 2) - #define RTE_I2S1_TX_SCK_PORT 3 - #define RTE_I2S1_TX_SCK_BIT 3 - #define RTE_I2S1_TX_SCK_FUNC 7 -#elif (RTE_I2S1_TX_SCK_PIN_SEL == 3) - #define RTE_I2S1_TX_SCK_PORT 4 - #define RTE_I2S1_TX_SCK_BIT 7 - #define RTE_I2S1_TX_SCK_FUNC 6 -#else - #error "Invalid I2S1 I2S1_TX_SCK Pin Configuration!" -#endif -#ifndef RTE_I2S1_TX_SCK_PIN_EN -#define RTE_I2S1_TX_SCK_PIN_EN 1 -#endif -// I2S1_TX_WS <0=>Not used <1=>P0_0 <2=>PF_7 -// Transmit word select for I2S1 -#define RTE_I2S1_TX_WS_PIN_SEL 0 -#if (RTE_I2S1_TX_WS_PIN_SEL == 0) -#define RTE_I2S1_TX_WS_PIN_EN 0 -#elif (RTE_I2S1_TX_WS_PIN_SEL == 1) - #define RTE_I2S1_TX_WS_PORT 0 - #define RTE_I2S1_TX_WS_BIT 0 - #define RTE_I2S1_TX_WS_FUNC 7 -#elif (RTE_I2S1_TX_WS_PIN_SEL == 2) - #define RTE_I2S1_TX_WS_PORT 0x0F - #define RTE_I2S1_TX_WS_BIT 7 - #define RTE_I2S1_TX_WS_FUNC 7 -#else - #error "Invalid I2S1 I2S1_TX_WS Pin Configuration!" -#endif -#ifndef RTE_I2S1_TX_WS_PIN_EN -#define RTE_I2S1_TX_WS_PIN_EN 1 -#endif -// I2S1_TX_SDA <0=>Not used <1=>P0_1 <2=>PF_6 -// Transmit data for I2S -#define RTE_I2S1_TX_SDA_PIN_SEL 0 -#if (RTE_I2S1_TX_SDA_PIN_SEL == 0) -#define RTE_I2S1_TX_SDA_PIN_EN 0 -#elif (RTE_I2S1_TX_SDA_PIN_SEL == 1) - #define RTE_I2S1_TX_SDA_PORT 0 - #define RTE_I2S1_TX_SDA_BIT 1 - #define RTE_I2S1_TX_SDA_FUNC 7 -#elif (RTE_I2S1_TX_SDA_PIN_SEL == 2) - #define RTE_I2S1_TX_SDA_PORT 0x0F - #define RTE_I2S1_TX_SDA_BIT 6 - #define RTE_I2S1_TX_SDA_FUNC 7 -#else - #error "Invalid I2S1 I2S1_TX_SDA Pin Configuration!" -#endif -#ifndef RTE_I2S1_TX_SDA_PIN_EN -#define RTE_I2S1_TX_SDA_PIN_EN 1 -#endif -// I2S1_TX_MCLK <0=>Not used <1=>P8_8 <2=>PF_0 <3=>CLK1 -// Transmit master clock for I2S1 -#define RTE_I2S1_TX_MCLK_PIN_SEL 0 -#if (RTE_I2S1_TX_MCLK_PIN_SEL == 0) -#define RTE_I2S1_TX_MCLK_PIN_EN 0 -#elif (RTE_I2S1_TX_MCLK_PIN_SEL == 1) - #define RTE_I2S1_TX_MCLK_PORT 8 - #define RTE_I2S1_TX_MCLK_BIT 8 - #define RTE_I2S1_TX_MCLK_FUNC 7 -#elif (RTE_I2S1_TX_MCLK_PIN_SEL == 2) - #define RTE_I2S1_TX_MCLK_PORT 0x0F - #define RTE_I2S1_TX_MCLK_BIT 0 - #define RTE_I2S1_TX_MCLK_FUNC 7 -#elif (RTE_I2S1_TX_MCLK_PIN_SEL == 3) - #define RTE_I2S1_TX_MCLK_PORT 0x10 - #define RTE_I2S1_TX_MCLK_BIT 1 - #define RTE_I2S1_TX_MCLK_FUNC 7 -#else - #error "Invalid I2S1 I2S1_TX_MCLK Pin Configuration!" -#endif -#ifndef RTE_I2S1_TX_MCLK_PIN_EN -#define RTE_I2S1_TX_MCLK_PIN_EN 1 -#endif -// Pin Configuration - -// DMA -// Tx -// Channel <0=>0 <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// Peripheral <0=>3 (DMAMUXPER3) -// -#define RTE_I2S1_DMA_TX_EN 0 -#define RTE_I2S1_DMA_TX_CH 0 -#define RTE_I2S1_DMA_TX_PERI_ID 0 -#if (RTE_I2S1_DMA_TX_PERI_ID == 0) - #define RTE_I2S1_DMA_TX_PERI 3 - #define RTE_I2S1_DMA_TX_PERI_SEL 2 -#endif -// Rx -// Channel <0=>0 <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// Peripheral <0=>4 (DMAMUXPER4) -// -#define RTE_I2S1_DMA_RX_EN 0 -#define RTE_I2S1_DMA_RX_CH 1 -#define RTE_I2S1_DMA_RX_PERI_ID 0 -#if (RTE_I2S1_DMA_RX_PERI_ID == 0) - #define RTE_I2S1_DMA_RX_PERI 4 - #define RTE_I2S1_DMA_RX_PERI_SEL 2 -#endif -// DMA -// I2S1 (Integrated Interchip Sound 1) [Driver_SAI1] - -// CAN0 Controller [Driver_CAN0] -// Configuration settings for Driver_CAN0 in component ::Drivers:CAN -#define RTE_CAN_CAN0 0 - -// Pin Configuration -// CAN0_RD <0=>Not used <1=>P3_1 <2=>PE_2 -// CAN0 receiver input. -#define RTE_CAN0_RD_ID 0 -#if (RTE_CAN0_RD_ID == 0) - #define RTE_CAN0_RD_PIN_EN 0 -#elif (RTE_CAN0_RD_ID == 1) - #define RTE_CAN0_RD_PORT 3 - #define RTE_CAN0_RD_BIT 1 - #define RTE_CAN0_RD_FUNC 2 -#elif (RTE_CAN0_RD_ID == 2) - #define RTE_CAN0_RD_PORT 0xE - #define RTE_CAN0_RD_BIT 2 - #define RTE_CAN0_RD_FUNC 1 -#else - #error "Invalid RTE_CAN0_RD Pin Configuration!" -#endif -#ifndef RTE_CAN0_RD_PIN_EN - #define RTE_CAN0_RD_PIN_EN 1 -#endif -// CAN0_TD <0=>Not used <1=>P3_2 <2=>PE_3 -// CAN0 transmitter output. -#define RTE_CAN0_TD_ID 0 -#if (RTE_CAN0_TD_ID == 0) - #define RTE_CAN0_TD_PIN_EN 0 -#elif (RTE_CAN0_TD_ID == 1) - #define RTE_CAN0_TD_PORT 3 - #define RTE_CAN0_TD_BIT 2 - #define RTE_CAN0_TD_FUNC 2 -#elif (RTE_CAN0_TD_ID == 2) - #define RTE_CAN0_TD_PORT 0xE - #define RTE_CAN0_TD_BIT 3 - #define RTE_CAN0_TD_FUNC 1 -#else - #error "Invalid RTE_CAN0_TD Pin Configuration!" -#endif -#ifndef RTE_CAN0_TD_PIN_EN - #define RTE_CAN0_TD_PIN_EN 1 -#endif -// Pin Configuration -// CAN0 Controller [Driver_CAN0] - -// CAN1 Controller [Driver_CAN1] -// Configuration settings for Driver_CAN1 in component ::Drivers:CAN -#define RTE_CAN_CAN1 0 - -// Pin Configuration -// CAN1_RD <0=>Not used <1=>P1_18 <2=>P4_9 <3=>PE_1 -// CAN1 receiver input. -#define RTE_CAN1_RD_ID 0 -#if (RTE_CAN1_RD_ID == 0) - #define RTE_CAN1_RD_PIN_EN 0 -#elif (RTE_CAN1_RD_ID == 1) - #define RTE_CAN1_RD_PORT 1 - #define RTE_CAN1_RD_BIT 18 - #define RTE_CAN1_RD_FUNC 5 -#elif (RTE_CAN1_RD_ID == 2) - #define RTE_CAN1_RD_PORT 4 - #define RTE_CAN1_RD_BIT 9 - #define RTE_CAN1_RD_FUNC 6 -#elif (RTE_CAN1_RD_ID == 3) - #define RTE_CAN1_RD_PORT 0xE - #define RTE_CAN1_RD_BIT 1 - #define RTE_CAN1_RD_FUNC 5 -#else - #error "Invalid RTE_CAN1_RD Pin Configuration!" -#endif -#ifndef RTE_CAN1_RD_PIN_EN - #define RTE_CAN1_RD_PIN_EN 1 -#endif -// CAN1_TD <0=>Not used <1=>P1_17 <2=>P4_8 <3=>PE_0 -// CAN1 transmitter output. -#define RTE_CAN1_TD_ID 0 -#if (RTE_CAN1_TD_ID == 0) - #define RTE_CAN1_TD_PIN_EN 0 -#elif (RTE_CAN1_TD_ID == 1) - #define RTE_CAN1_TD_PORT 1 - #define RTE_CAN1_TD_BIT 17 - #define RTE_CAN1_TD_FUNC 5 -#elif (RTE_CAN1_TD_ID == 2) - #define RTE_CAN1_TD_PORT 4 - #define RTE_CAN1_TD_BIT 8 - #define RTE_CAN1_TD_FUNC 6 -#elif (RTE_CAN1_TD_ID == 3) - #define RTE_CAN1_TD_PORT 0xE - #define RTE_CAN1_TD_BIT 0 - #define RTE_CAN1_TD_FUNC 5 -#else - #error "Invalid RTE_CAN1_TD Pin Configuration!" -#endif -#ifndef RTE_CAN1_TD_PIN_EN - #define RTE_CAN1_TD_PIN_EN 1 -#endif -// Pin Configuration -// CAN1 Controller [Driver_CAN1] - - -#endif /* __RTE_DEVICE_H */ diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/Device/LPC4370_Cortex-M4/startup_LPC43xx.s b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/Device/LPC4370_Cortex-M4/startup_LPC43xx.s deleted file mode 100644 index 19eac6d..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/Device/LPC4370_Cortex-M4/startup_LPC43xx.s +++ /dev/null @@ -1,333 +0,0 @@ -;/**************************************************************************//** -; * @file LPC43xx.s -; * @brief CMSIS Cortex-M4 Core Device Startup File for -; * NXP LPC43xxDevice Series -; * @version V1.00 -; * @date 03. September 2013 -; * -; * @note -; * Copyright (C) 2009-2013 ARM Limited. All rights reserved. -; * -; * @par -; * ARM Limited (ARM) is supplying this software for use with Cortex-M -; * processor based microcontrollers. This file can be freely distributed -; * within development tools that are supporting such ARM based processors. -; * -; * @par -; * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED -; * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF -; * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. -; * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR -; * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. -; * -; * <<< Use Configuration Wizard in Context Menu >>> -; ******************************************************************************/ - -; Stack Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Stack_Size EQU 0x00000400 - - AREA STACK, NOINIT, READWRITE, ALIGN=3 -Stack_Mem SPACE Stack_Size -__initial_sp - -; Heap Configuration -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Heap_Size EQU 0x00000000 - - AREA HEAP, NOINIT, READWRITE, ALIGN=3 -__heap_base -Heap_Mem SPACE Heap_Size -__heap_limit - - PRESERVE8 - THUMB - -; Vector Table Mapped to Address 0 at Reset - - AREA RESET, DATA, READONLY - EXPORT __Vectors - -Sign_Value EQU 0x5A5A5A5A - -__Vectors DCD __initial_sp ; 0 Top of Stack - DCD Reset_Handler ; 1 Reset Handler - DCD NMI_Handler ; 2 NMI Handler - DCD HardFault_Handler ; 3 Hard Fault Handler - DCD MemManage_Handler ; 4 MPU Fault Handler - DCD BusFault_Handler ; 5 Bus Fault Handler - DCD UsageFault_Handler ; 6 Usage Fault Handler - DCD Sign_Value ; 7 Reserved - DCD 0 ; 8 Reserved - DCD 0 ; 9 Reserved - DCD 0 ; 10 Reserved - DCD SVC_Handler ; 11 SVCall Handler - DCD DebugMon_Handler ; 12 Debug Monitor Handler - DCD 0 ; 13 Reserved - DCD PendSV_Handler ; 14 PendSV Handler - DCD SysTick_Handler ; 15 SysTick Handler - - ; External LPC43xx/M4 Interrupts - DCD DAC_IRQHandler ; 0 DAC interrupt - DCD M0APP_IRQHandler ; 1 Cortex-M0APP; Latched TXEV; for M4-M0APP communication - DCD DMA_IRQHandler ; 2 DMA interrupt - DCD 0 ; 3 Reserved - DCD FLASHEEPROM_IRQHandler ; 4 flash bank A, flash bank B, EEPROM ORed interrupt - DCD ETHERNET_IRQHandler ; 5 Ethernet interrupt - DCD SDIO_IRQHandler ; 6 SD/MMC interrupt - DCD LCD_IRQHandler ; 7 LCD interrupt - DCD USB0_IRQHandler ; 8 OTG interrupt - DCD USB1_IRQHandler ; 9 USB1 interrupt - DCD SCT_IRQHandler ; 10 SCT combined interrupt - DCD RITIMER_IRQHandler ; 11 RI Timer interrupt - DCD TIMER0_IRQHandler ; 12 Timer 0 interrupt - DCD TIMER1_IRQHandler ; 13 Timer 1 interrupt - DCD TIMER2_IRQHandler ; 14 Timer 2 interrupt - DCD TIMER3_IRQHandler ; 15 Timer 3 interrupt - DCD MCPWM_IRQHandler ; 16 Motor control PWM interrupt - DCD ADC0_IRQHandler ; 17 ADC0 interrupt - DCD I2C0_IRQHandler ; 18 I2C0 interrupt - DCD I2C1_IRQHandler ; 19 I2C1 interrupt - DCD SPI_IRQHandler ; 20 SPI interrupt - DCD ADC1_IRQHandler ; 21 ADC1 interrupt - DCD SSP0_IRQHandler ; 22 SSP0 interrupt - DCD SSP1_IRQHandler ; 23 SSP1 interrupt - DCD USART0_IRQHandler ; 24 USART0 interrupt - DCD UART1_IRQHandler ; 25 Combined UART1, Modem interrupt - DCD USART2_IRQHandler ; 26 USART2 interrupt - DCD USART3_IRQHandler ; 27 Combined USART3, IrDA interrupt - DCD I2S0_IRQHandler ; 28 I2S0 interrupt - DCD I2S1_IRQHandler ; 29 I2S1 interrupt - DCD SPIFI_IRQHandler ; 30 SPISI interrupt - DCD SGPIO_IRQHandler ; 31 SGPIO interrupt - DCD PIN_INT0_IRQHandler ; 32 GPIO pin interrupt 0 - DCD PIN_INT1_IRQHandler ; 33 GPIO pin interrupt 1 - DCD PIN_INT2_IRQHandler ; 34 GPIO pin interrupt 2 - DCD PIN_INT3_IRQHandler ; 35 GPIO pin interrupt 3 - DCD PIN_INT4_IRQHandler ; 36 GPIO pin interrupt 4 - DCD PIN_INT5_IRQHandler ; 37 GPIO pin interrupt 5 - DCD PIN_INT6_IRQHandler ; 38 GPIO pin interrupt 6 - DCD PIN_INT7_IRQHandler ; 39 GPIO pin interrupt 7 - DCD GINT0_IRQHandler ; 40 GPIO global interrupt 0 - DCD GINT1_IRQHandler ; 41 GPIO global interrupt 1 - DCD EVENTROUTER_IRQHandler ; 42 Event router interrupt - DCD C_CAN1_IRQHandler ; 43 C_CAN1 interrupt - DCD 0 ; 44 Reserved - DCD ADCHS_IRQHandler ; 45 ADCHS combined interrupt - DCD ATIMER_IRQHandler ; 46 Alarm timer interrupt - DCD RTC_IRQHandler ; 47 RTC interrupt - DCD 0 ; 48 Reserved - DCD WWDT_IRQHandler ; 49 WWDT interrupt - DCD M0SUB_IRQHandler ; 50 TXEV instruction from the M0 subsystem core interrupt - DCD C_CAN0_IRQHandler ; 51 C_CAN0 interrupt - DCD QEI_IRQHandler ; 52 QEI interrupt - - -;CRP address at offset 0x2FC relative to the BOOT Bank address - IF :LNOT::DEF:NO_CRP - SPACE (0x2FC - (. - __Vectors)) -; EXPORT CRP_Key -CRP_Key DCD 0xFFFFFFFF -; 0xFFFFFFFF => CRP Disabled -; 0x12345678 => CRP Level 1 -; 0x87654321 => CRP Level 2 -; 0x43218765 => CRP Level 3 (ARE YOU SURE?) -; 0x4E697370 => NO ISP (ARE YOU SURE?) - ENDIF - - AREA |.text|, CODE, READONLY - -; Reset Handler - -Reset_Handler PROC - EXPORT Reset_Handler [WEAK] - IMPORT SystemInit - IMPORT __main - LDR R0, =SystemInit - BLX R0 - LDR R0, =__main - BX R0 - ENDP - -; Dummy Exception Handlers (infinite loops which can be modified) - -NMI_Handler PROC - EXPORT NMI_Handler [WEAK] - B . - ENDP -HardFault_Handler\ - PROC - EXPORT HardFault_Handler [WEAK] - B . - ENDP -MemManage_Handler\ - PROC - EXPORT MemManage_Handler [WEAK] - B . - ENDP -BusFault_Handler\ - PROC - EXPORT BusFault_Handler [WEAK] - B . - ENDP -UsageFault_Handler\ - PROC - EXPORT UsageFault_Handler [WEAK] - B . - ENDP -SVC_Handler PROC - EXPORT SVC_Handler [WEAK] - B . - ENDP -DebugMon_Handler\ - PROC - EXPORT DebugMon_Handler [WEAK] - B . - ENDP -PendSV_Handler PROC - EXPORT PendSV_Handler [WEAK] - B . - ENDP -SysTick_Handler PROC - EXPORT SysTick_Handler [WEAK] - B . - ENDP - -Default_Handler PROC - EXPORT DAC_IRQHandler [WEAK] - EXPORT M0APP_IRQHandler [WEAK] - EXPORT DMA_IRQHandler [WEAK] - EXPORT FLASHEEPROM_IRQHandler [WEAK] - EXPORT ETHERNET_IRQHandler [WEAK] - EXPORT SDIO_IRQHandler [WEAK] - EXPORT LCD_IRQHandler [WEAK] - EXPORT USB0_IRQHandler [WEAK] - EXPORT USB1_IRQHandler [WEAK] - EXPORT SCT_IRQHandler [WEAK] - EXPORT RITIMER_IRQHandler [WEAK] - EXPORT TIMER0_IRQHandler [WEAK] - EXPORT TIMER1_IRQHandler [WEAK] - EXPORT TIMER2_IRQHandler [WEAK] - EXPORT TIMER3_IRQHandler [WEAK] - EXPORT MCPWM_IRQHandler [WEAK] - EXPORT ADC0_IRQHandler [WEAK] - EXPORT I2C0_IRQHandler [WEAK] - EXPORT I2C1_IRQHandler [WEAK] - EXPORT SPI_IRQHandler [WEAK] - EXPORT ADC1_IRQHandler [WEAK] - EXPORT SSP0_IRQHandler [WEAK] - EXPORT SSP1_IRQHandler [WEAK] - EXPORT USART0_IRQHandler [WEAK] - EXPORT UART1_IRQHandler [WEAK] - EXPORT USART2_IRQHandler [WEAK] - EXPORT USART3_IRQHandler [WEAK] - EXPORT I2S0_IRQHandler [WEAK] - EXPORT I2S1_IRQHandler [WEAK] - EXPORT SPIFI_IRQHandler [WEAK] - EXPORT SGPIO_IRQHandler [WEAK] - EXPORT PIN_INT0_IRQHandler [WEAK] - EXPORT PIN_INT1_IRQHandler [WEAK] - EXPORT PIN_INT2_IRQHandler [WEAK] - EXPORT PIN_INT3_IRQHandler [WEAK] - EXPORT PIN_INT4_IRQHandler [WEAK] - EXPORT PIN_INT5_IRQHandler [WEAK] - EXPORT PIN_INT6_IRQHandler [WEAK] - EXPORT PIN_INT7_IRQHandler [WEAK] - EXPORT GINT0_IRQHandler [WEAK] - EXPORT GINT1_IRQHandler [WEAK] - EXPORT EVENTROUTER_IRQHandler [WEAK] - EXPORT C_CAN1_IRQHandler [WEAK] - EXPORT ADCHS_IRQHandler [WEAK] - EXPORT ATIMER_IRQHandler [WEAK] - EXPORT RTC_IRQHandler [WEAK] - EXPORT WWDT_IRQHandler [WEAK] - EXPORT M0SUB_IRQHandler [WEAK] - EXPORT C_CAN0_IRQHandler [WEAK] - EXPORT QEI_IRQHandler [WEAK] - -DAC_IRQHandler -M0APP_IRQHandler -DMA_IRQHandler -FLASHEEPROM_IRQHandler -ETHERNET_IRQHandler -SDIO_IRQHandler -LCD_IRQHandler -USB0_IRQHandler -USB1_IRQHandler -SCT_IRQHandler -RITIMER_IRQHandler -TIMER0_IRQHandler -TIMER1_IRQHandler -TIMER2_IRQHandler -TIMER3_IRQHandler -MCPWM_IRQHandler -ADC0_IRQHandler -I2C0_IRQHandler -I2C1_IRQHandler -SPI_IRQHandler -ADC1_IRQHandler -SSP0_IRQHandler -SSP1_IRQHandler -USART0_IRQHandler -UART1_IRQHandler -USART2_IRQHandler -USART3_IRQHandler -I2S0_IRQHandler -I2S1_IRQHandler -SPIFI_IRQHandler -SGPIO_IRQHandler -PIN_INT0_IRQHandler -PIN_INT1_IRQHandler -PIN_INT2_IRQHandler -PIN_INT3_IRQHandler -PIN_INT4_IRQHandler -PIN_INT5_IRQHandler -PIN_INT6_IRQHandler -PIN_INT7_IRQHandler -GINT0_IRQHandler -GINT1_IRQHandler -EVENTROUTER_IRQHandler -C_CAN1_IRQHandler -ADCHS_IRQHandler -ATIMER_IRQHandler -RTC_IRQHandler -WWDT_IRQHandler -M0SUB_IRQHandler -C_CAN0_IRQHandler -QEI_IRQHandler - - B . - ENDP - - ALIGN - -; User Initial Stack & Heap - - IF :DEF:__MICROLIB - - EXPORT __initial_sp - EXPORT __heap_base - EXPORT __heap_limit - - ELSE - - IMPORT __use_two_region_memory - EXPORT __user_initial_stackheap -__user_initial_stackheap - - LDR R0, = Heap_Mem - LDR R1, =(Stack_Mem + Stack_Size) - LDR R2, = (Heap_Mem + Heap_Size) - LDR R3, = Stack_Mem - BX LR - - ALIGN - - ENDIF - - - END diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/Device/LPC4370_Cortex-M4/system_LPC43xx.c b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/Device/LPC4370_Cortex-M4/system_LPC43xx.c deleted file mode 100644 index 5c46381..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/Device/LPC4370_Cortex-M4/system_LPC43xx.c +++ /dev/null @@ -1,938 +0,0 @@ -/* ----------------------------------------------------------------------------- - * Copyright (c) 2013 - 2017 ARM Ltd. - * - * This software is provided 'as-is', without any express or implied warranty. - * In no event will the authors be held liable for any damages arising from - * the use of this software. Permission is granted to anyone to use this - * software for any purpose, including commercial applications, and to alter - * it and redistribute it freely, subject to the following restrictions: - * - * 1. The origin of this software must not be misrepresented; you must not - * claim that you wrote the original software. If you use this software in - * a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * - * 2. Altered source versions must be plainly marked as such, and must not be - * misrepresented as being the original software. - * - * 3. This notice may not be removed or altered from any source distribution. - * - * $Date: 10. September 2018 - * $Revision: V1.0.3 - * - * Project: NXP LPC43xx System initialization - * -------------------------------------------------------------------------- */ - -#include "LPC43xx.h" - -/*---------------------------------------------------------------------------- - This file configures the clocks as follows: - ----------------------------------------------------------------------------- - Clock Unit | Output clock | Source clock | Note - ----------------------------------------------------------------------------- - PLL0USB | 480 MHz | XTAL | External crystal @ 12 MHz - ----------------------------------------------------------------------------- - PLL1 | 180 MHz | XTAL | External crystal @ 12 MHz - ----------------------------------------------------------------------------- - CPU | 180 MHz | PLL1 | CPU Clock == BASE_M4_CLK - ----------------------------------------------------------------------------- - IDIV A | 60 MHz | PLL1 | To the USB1 peripheral - ----------------------------------------------------------------------------- - IDIV B | 25 MHz | ENET_TX_CLK | ENET_TX_CLK @ 50MHz - ----------------------------------------------------------------------------- - IDIV C | 12 MHz | IRC | Internal oscillator @ 12 MHz - ----------------------------------------------------------------------------- - IDIV D | 12 MHz | IRC | Internal oscillator @ 12 MHz - ----------------------------------------------------------------------------- - IDIV E | 5.3 MHz | PLL1 | To the LCD controller - -----------------------------------------------------------------------------*/ - - -/*---------------------------------------------------------------------------- - Clock source selection definitions (do not change) - *----------------------------------------------------------------------------*/ -#define CLK_SRC_32KHZ 0x00 -#define CLK_SRC_IRC 0x01 -#define CLK_SRC_ENET_RX 0x02 -#define CLK_SRC_ENET_TX 0x03 -#define CLK_SRC_GP_CLKIN 0x04 -#define CLK_SRC_XTAL 0x06 -#define CLK_SRC_PLL0U 0x07 -#define CLK_SRC_PLL0A 0x08 -#define CLK_SRC_PLL1 0x09 -#define CLK_SRC_IDIVA 0x0C -#define CLK_SRC_IDIVB 0x0D -#define CLK_SRC_IDIVC 0x0E -#define CLK_SRC_IDIVD 0x0F -#define CLK_SRC_IDIVE 0x10 - - -/*---------------------------------------------------------------------------- - Define external input frequency values - *----------------------------------------------------------------------------*/ -#define CLK_32KHZ 32768UL /* 32 kHz oscillator frequency */ -#define CLK_IRC 12000000UL /* Internal oscillator frequency */ -#define CLK_ENET_RX 50000000UL /* Ethernet Rx frequency */ -#define CLK_ENET_TX 50000000UL /* Ethernet Tx frequency */ -#define CLK_GP_CLKIN 12000000UL /* General purpose clock input freq. */ -#define CLK_XTAL 12000000UL /* Crystal oscilator frequency */ - - -/*---------------------------------------------------------------------------- - Define clock sources - *----------------------------------------------------------------------------*/ -#define PLL1_CLK_SEL CLK_SRC_XTAL /* PLL1 input clock: XTAL */ -#define PLL0USB_CLK_SEL CLK_SRC_XTAL /* PLL0USB input clock: XTAL */ -#define IDIVA_CLK_SEL CLK_SRC_PLL1 /* IDIVA input clock: PLL1 */ -#define IDIVB_CLK_SEL CLK_SRC_ENET_TX /* IDIVB input clock: ENET TX */ -#define IDIVC_CLK_SEL CLK_SRC_IRC /* IDIVC input clock: IRC */ -#define IDIVD_CLK_SEL CLK_SRC_IRC /* IDIVD input clock: IRC */ -#define IDIVE_CLK_SEL CLK_SRC_PLL1 /* IDIVD input clock: PLL1 */ - - -/*---------------------------------------------------------------------------- - Configure integer divider values - *----------------------------------------------------------------------------*/ -#define IDIVA_IDIV 2 /* Divide input clock by 3 */ -#define IDIVB_IDIV 1 /* Divide input clock by 2 */ -#define IDIVC_IDIV 0 /* Divide input clock by 1 */ -#define IDIVD_IDIV 0 /* Divide input clock by 1 */ -#define IDIVE_IDIV 33 /* Divide input clock by 34 */ - - -/*---------------------------------------------------------------------------- - Define CPU clock input - *----------------------------------------------------------------------------*/ -#define CPU_CLK_SEL CLK_SRC_PLL1 /* Default CPU clock source is PLL1 */ - - -/*---------------------------------------------------------------------------- - Configure external memory controller options - *----------------------------------------------------------------------------*/ -#define USE_EXT_STAT_MEM_CS0 1 /* Use ext. static memory with CS0 */ -#define USE_EXT_DYN_MEM_CS0 1 /* Use ext. dynamic memory with CS0 */ - - -/*---------------------------------------------------------------------------- - * Configure PLL1 - *---------------------------------------------------------------------------- - * Integer mode: - * - PLL1_DIRECT = 0 (Post divider enabled) - * - PLL1_FBSEL = 1 (Feedback divider runs from PLL output) - * - Output frequency: - * FCLKOUT = (FCLKIN / N) * M - * FCCO = FCLKOUT * 2 * P - * - * Non-integer: - * - PLL1_DIRECT = 0 (Post divider enabled) - * - PLL1_FBSEL = 0 (Feedback divider runs from CCO clock) - * - Output frequency: - * FCLKOUT = (FCLKIN / N) * M / (2 * P) - * FCCO = FCLKOUT * 2 * P - * - * Direct mode: - * - PLL1_DIRECT = 1 (Post divider disabled) - * - PLL1_FBSEL = dont care (Feedback divider runs from CCO clock) - * - Output frequency: - * FCLKOUT = (FCLKIN / N) * M - * FCCO = FCLKOUT - * - *---------------------------------------------------------------------------- - * PLL1 requirements: - * | Frequency | Minimum | Maximum | Note | - * | FCLKIN | 1MHz | 25MHz | Clock source is external crystal | - * | FCLKIN | 1MHz | 50MHz | | - * | FCCO | 156MHz | 320MHz | | - * | FCLKOUT | 9.75MHz | 320MHz | | - *---------------------------------------------------------------------------- - * Configuration examples: - * | Fclkout | Fcco | N | M | P | DIRECT | FBSEL | BYPASS | - * | 36MHz | 288MHz | 1 | 24 | 4 | 0 | 0 | 0 | - * | 72MHz | 288MHz | 1 | 24 | 2 | 0 | 0 | 0 | - * | 100MHz | 200MHz | 3 | 50 | 1 | 0 | 0 | 0 | - * | 120MHz | 240MHz | 1 | 20 | 1 | 0 | 0 | 0 | - * | 160MHz | 160MHz | 3 | 40 | x | 1 | 0 | 0 | - * | 180MHz | 180MHz | 1 | 15 | x | 1 | 0 | 0 | - * | 204MHz | 204MHz | 1 | 17 | x | 1 | 0 | 0 | - *---------------------------------------------------------------------------- - * Relations beetwen PLL dividers and definitions: - * N = PLL1_NSEL + 1, M = PLL1_MSEL + 1, P = 2 ^ PLL1_PSEL - *----------------------------------------------------------------------------*/ - -/* PLL1 output clock: 180MHz, Fcco: 180MHz, N = 1, M = 15, P = x */ -#define PLL1_NSEL 0 /* Range [0 - 3]: Pre-divider ratio N */ -#define PLL1_MSEL 14 /* Range [0 - 255]: Feedback-divider ratio M */ -#define PLL1_PSEL 0 /* Range [0 - 3]: Post-divider ratio P */ - -#define PLL1_BYPASS 0 /* 0: Use PLL, 1: PLL is bypassed */ -#define PLL1_DIRECT 1 /* 0: Use PSEL, 1: Don't use PSEL */ -#define PLL1_FBSEL 0 /* 0: FCCO is used as PLL feedback */ - /* 1: FCLKOUT is used as PLL feedback */ - -/*---------------------------------------------------------------------------- - * Configure Flash Accelerator - *---------------------------------------------------------------------------- - * Flash acces time: - * | CPU clock | FLASHTIM | - * | up to 21MHz | 0 | - * | up to 43MHz | 1 | - * | up to 64MHz | 2 | - * | up to 86MHz | 3 | - * | up to 107MHz | 4 | - * | up to 129MHz | 5 | - * | up to 150MHz | 6 | - * | up to 172MHz | 7 | - * | up to 193MHz | 8 | - * | up to 204MHz | 9 | - *----------------------------------------------------------------------------*/ -#define FLASHCFG_FLASHTIM 9 - - -/*---------------------------------------------------------------------------- - * Configure PLL0USB - *---------------------------------------------------------------------------- - * - * Normal operating mode without post-divider and without pre-divider - * - PLL0USB_DIRECTI = 1 - * - PLL0USB_DIRECTO = 1 - * - PLL0USB_BYPASS = 0 - * - Output frequency: - * FOUT = FIN * 2 * M - * FCCO = FOUT - * - * Normal operating mode with post-divider and without pre-divider - * - PLL0USB_DIRECTI = 1 - * - PLL0USB_DIRECTO = 0 - * - PLL0USB_BYPASS = 0 - * - Output frequency: - * FOUT = FIN * (M / P) - * FCCO = FOUT * 2 * P - * - * Normal operating mode without post-divider and with pre-divider - * - PLL0USB_DIRECTI = 0 - * - PLL0USB_DIRECTO = 1 - * - PLL0USB_BYPASS = 0 - * - Output frequency: - * FOUT = FIN * 2 * M / N - * FCCO = FOUT - * - * Normal operating mode with post-divider and with pre-divider - * - PLL0USB_DIRECTI = 0 - * - PLL0USB_DIRECTO = 0 - * - PLL0USB_BYPASS = 0 - * - Output frequency: - * FOUT = FIN * M / (P * N) - * FCCO = FOUT * 2 * P - *---------------------------------------------------------------------------- - * PLL0 requirements: - * | Frequency | Minimum | Maximum | Note | - * | FCLKIN | 14kHz | 25MHz | Clock source is external crystal | - * | FCLKIN | 14kHz | 150MHz | | - * | FCCO | 275MHz | 550MHz | | - * | FCLKOUT | 4.3MHz | 550MHz | | - *---------------------------------------------------------------------------- - * Configuration examples: - * | Fclkout | Fcco | N | M | P | DIRECTI | DIRECTO | BYPASS | - * | 120MHz | 480MHz | x | 20 | 2 | 1 | 0 | 0 | - * | 480MHz | 480MHz | 1 | 20 | 1 | 1 | 1 | 0 | - *----------------------------------------------------------------------------*/ - -/* PLL0USB output clock: 480MHz, Fcco: 480MHz, N = 1, M = 20, P = 1 */ -#define PLL0USB_N 1 /* Range [1 - 256]: Pre-divider */ -#define PLL0USB_M 20 /* Range [1 - 2^15]: Feedback-divider */ -#define PLL0USB_P 1 /* Range [1 - 32]: Post-divider */ - -#define PLL0USB_DIRECTI 1 /* 0: Use N_DIV, 1: Don't use N_DIV */ -#define PLL0USB_DIRECTO 1 /* 0: Use P_DIV, 1: Don't use P_DIV */ -#define PLL0USB_BYPASS 0 /* 0: Use PLL, 1: PLL is bypassed */ - - -/*---------------------------------------------------------------------------- - End of configuration - *----------------------------------------------------------------------------*/ - -/* PLL0 Setting Check */ -#if (PLL0USB_BYPASS == 0) - #if (PLL0USB_CLK_SEL == CLK_SRC_XTAL) - #define PLL0USB_CLKIN CLK_XTAL - #else - #define PLL0USB_CLKIN CLK_IRC - #endif - - #if ((PLL0USB_DIRECTI == 1) && (PLL0USB_DIRECTO == 1)) /* Mode 1a */ - #define PLL0USB_FOUT (PLL0USB_CLKIN * 2 * PLL0USB_M) - #define PLL0USB_FCCO (PLL0USB_FOUT) - #elif ((PLL0USB_DIRECTI == 1) && (PLL0USB_DIRECTO == 0)) /* Mode 1b */ - #define PLL0USB_FOUT (PLL0USB_CLKIN * PLL0USB_M / PLL0USB_P) - #define PLL0USB_FCCO (PLL0USB_FOUT * 2 * PLL0USB_P) - #elif ((PLL0USB_DIRECTI == 0) && (PLL0USB_DIRECTO == 1)) /* Mode 1c */ - #define PLL0USB_FOUT (PLL0USB_CLKIN * 2 * PLL0USB_M / PLL0USB_N) - #define PLL0USB_FCCO (PLL0USB_FOUT) - #else /* Mode 1d */ - #define PLL0USB_FOUT (PLL0USB_CLKIN * PLL0USB_M / (PLL0USB_P * PLL0USB_N)) - #define PLL0USB_FCCO (PLL0USB_FOUT * 2 * PLL0USB_P) - #endif - - #if (PLL0USB_FCCO < 275000000UL || PLL0USB_FCCO > 550000000UL) - #error "PLL0USB Fcco frequency out of range! (275MHz >= Fcco <= 550MHz)" - #endif - #if (PLL0USB_FOUT < 4300000UL || PLL0USB_FOUT > 550000000UL) - #error "PLL0USB output frequency out of range! (4.3MHz >= Fclkout <= 550MHz)" - #endif -#endif - -/* PLL1 Setting Check */ -#if (PLL1_BYPASS == 0) - #if (PLL1_CLK_SEL == CLK_SRC_XTAL) - #define PLL1_CLKIN CLK_XTAL - #else - #define PLL1_CLKIN CLK_IRC - #endif - - #if (PLL1_DIRECT == 1) /* Direct Mode */ - #define PLL1_FCCO ((PLL1_MSEL + 1) * (PLL1_CLKIN / (PLL1_NSEL + 1))) - #define PLL1_FOUT ((PLL1_MSEL + 1) * (PLL1_CLKIN / (PLL1_NSEL + 1))) - #elif (PLL1_FBSEL == 1) /* Integer Mode */ - #define PLL1_FCCO ((2 * (1 << PLL1_PSEL)) * (PLL1_MSEL + 1) * (PLL1_CLKIN / (PLL1_NSEL + 1))) - #define PLL1_FOUT ((PLL1_MSEL + 1) * (PLL1_CLKIN / (PLL1_NSEL + 1))) - #else /* Noninteger Mode */ - #define PLL1_FCCO ((PLL1_MSEL + 1) * (PLL1_CLKIN / (PLL1_NSEL + 1))) - #define PLL1_FOUT (PLL1_FCCO / (2 * (1 << PLL1_PSEL))) - #endif - #if (PLL1_FCCO < 156000000UL || PLL1_FCCO > 320000000UL) - #error "PLL1 Fcco frequency out of range! (156MHz >= Fcco <= 320MHz)" - #endif - #if (PLL1_FOUT < 9750000UL || PLL1_FOUT > 204000000UL) - #error "PLL1 output frequency out of range! (9.75MHz >= Fclkout <= 204MHz)" - #endif -#endif - - -/*---------------------------------------------------------------------------- - System Core Clock variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = 180000000U; /* System Clock Frequency (Core Clock) */ - - -/****************************************************************************** - * SetClock - ******************************************************************************/ -void SetClock (void) { - uint32_t x, i; - uint32_t selp, seli; - - - /* Set flash accelerator configuration for bank A and B to reset value */ - LPC_CREG->FLASHCFGA |= (0xF << 12); - LPC_CREG->FLASHCFGB |= (0xF << 12); - - /* Set flash wait states to maximum */ - LPC_EMC->STATICWAITRD0 = 0x1F; - - /* Switch BASE_M4_CLOCK to IRC */ - LPC_CGU->BASE_M4_CLK = (0x01 << 11) | /* Autoblock En */ - (CLK_SRC_IRC << 24) ; /* Set clock source */ - - /* Configure input to crystal oscilator */ - LPC_CGU->XTAL_OSC_CTRL = (0 << 0) | /* Enable oscillator-pad */ - (0 << 1) | /* Operation with crystal connected */ - (0 << 2) ; /* Low-frequency mode */ - - /* Wait ~250us @ 12MHz */ - for (i = 1500; i; i--); - -#if (USE_SPIFI) -/* configure SPIFI clk to IRC via IDIVA (later IDIVA is configured to PLL1/3) */ - LPC_CGU->IDIVA_CTRL = (0 << 0) | /* Disable Power-down */ - (0 << 2) | /* IDIV */ - (1 << 11) | /* Autoblock En */ - (CLK_SRC_IRC << 24) ; /* Clock source */ - - LPC_CGU->BASE_SPIFI_CLK = (0 << 0) | /* Disable Power-down */ - (0 << 2) | /* IDIV */ - (1 << 11) | /* Autoblock En */ - (CLK_SRC_IDIVA << 24) ; /* Clock source */ -#endif - -/*---------------------------------------------------------------------------- - PLL1 Setup - *----------------------------------------------------------------------------*/ - /* Power down PLL */ - LPC_CGU->PLL1_CTRL |= 1; - -#if ((PLL1_FOUT > 110000000UL) && (CPU_CLK_SEL == CLK_SRC_PLL1)) - /* To run at full speed, CPU must first run at an intermediate speed */ - LPC_CGU->PLL1_CTRL = (0 << 0) | /* PLL1 Enabled */ - (PLL1_BYPASS << 1) | /* CCO out sent to post-dividers */ - (PLL1_FBSEL << 6) | /* PLL output used as feedback */ - (0 << 7) | /* Direct on/off */ - (PLL1_PSEL << 8) | /* PSEL */ - (0 << 11)| /* Autoblock Disabled */ - (PLL1_NSEL << 12)| /* NSEL */ - (PLL1_MSEL << 16)| /* MSEL */ - (PLL1_CLK_SEL << 24); /* Clock source */ - /* Wait for lock */ - while (!(LPC_CGU->PLL1_STAT & 1)); - - /* CPU base clock is in the mid frequency range before final clock set */ - LPC_CGU->BASE_M4_CLK = (0x01 << 11) | /* Autoblock En */ - (0x09 << 24) ; /* Clock source: PLL1 */ - - /* Max. BASE_M4_CLK frequency here is 102MHz, wait at least 20us */ - for (i = 1050; i; i--); /* Wait minimum 2100 cycles */ -#endif - /* Configure PLL1 */ - LPC_CGU->PLL1_CTRL = (0 << 0) | /* PLL1 Enabled */ - (PLL1_BYPASS << 1) | /* CCO out sent to post-dividers */ - (PLL1_FBSEL << 6) | /* PLL output used as feedback */ - (PLL1_DIRECT << 7) | /* Direct on/off */ - (PLL1_PSEL << 8) | /* PSEL */ - (1 << 11)| /* Autoblock En */ - (PLL1_NSEL << 12)| /* NSEL */ - (PLL1_MSEL << 16)| /* MSEL */ - (PLL1_CLK_SEL << 24); /* Clock source */ - - /* Wait for lock */ - while (!(LPC_CGU->PLL1_STAT & 1)); - - /* Set CPU base clock source */ - LPC_CGU->BASE_M4_CLK = (0x01 << 11) | /* Autoblock En */ - (CPU_CLK_SEL << 24) ; /* Set clock source */ - - /* Set flash accelerator configuration for internal flash bank A and B */ - LPC_CREG->FLASHCFGA = (LPC_CREG->FLASHCFGA & (~0x0000F000)) | (FLASHCFG_FLASHTIM << 12); - LPC_CREG->FLASHCFGB = (LPC_CREG->FLASHCFGB & (~0x0000F000)) | (FLASHCFG_FLASHTIM << 12); - -/*---------------------------------------------------------------------------- - PLL0USB Setup - *----------------------------------------------------------------------------*/ - - /* Power down PLL0USB */ - LPC_CGU->PLL0USB_CTRL |= 1; - - /* M divider */ - x = 0x00004000; - switch (PLL0USB_M) { - case 0: x = 0xFFFFFFFF; - break; - case 1: x = 0x00018003; - break; - case 2: x = 0x00010003; - break; - default: - for (i = PLL0USB_M; i <= 0x8000; i++) { - x = (((x ^ (x >> 1)) & 1) << 14) | ((x >> 1) & 0x3FFF); - } - } - - if (PLL0USB_M < 60) selp = (PLL0USB_M >> 1) + 1; - else selp = 31; - - if (PLL0USB_M > 16384) seli = 1; - else if (PLL0USB_M > 8192) seli = 2; - else if (PLL0USB_M > 2048) seli = 4; - else if (PLL0USB_M >= 501) seli = 8; - else if (PLL0USB_M >= 60) seli = 4 * (1024 / (PLL0USB_M + 9)); - else seli = (PLL0USB_M & 0x3C) + 4; - LPC_CGU->PLL0USB_MDIV = (selp << 17) | - (seli << 22) | - (x << 0); - - /* N divider */ - x = 0x80; - switch (PLL0USB_N) { - case 0: x = 0xFFFFFFFF; - break; - case 1: x = 0x00000302; - break; - case 2: x = 0x00000202; - break; - default: - for (i = PLL0USB_N; i <= 0x0100; i++) { - x =(((x ^ (x >> 2) ^ (x >> 3) ^ (x >> 4)) & 1) << 7) | ((x >> 1) & 0x7F); - } - } - LPC_CGU->PLL0USB_NP_DIV = (x << 12); - - /* P divider */ - x = 0x10; - switch (PLL0USB_P) { - case 0: x = 0xFFFFFFFF; - break; - case 1: x = 0x00000062; - break; - case 2: x = 0x00000042; - break; - default: - for (i = PLL0USB_P; i <= 0x200; i++) { - x = (((x ^ (x >> 2)) & 1) << 4) | ((x >> 1) &0x0F); - } - } - LPC_CGU->PLL0USB_NP_DIV |= x; - - LPC_CGU->PLL0USB_CTRL = (PLL0USB_CLK_SEL << 24) | /* Clock source sel */ - (1 << 11) | /* Autoblock En */ - (1 << 4 ) | /* PLL0USB clock en */ - (PLL0USB_DIRECTO << 3 ) | /* Direct output */ - (PLL0USB_DIRECTI << 2 ) | /* Direct input */ - (PLL0USB_BYPASS << 1 ) | /* PLL bypass */ - (0 << 0 ) ; /* PLL0USB Enabled */ - while (!(LPC_CGU->PLL0USB_STAT & 1)); - - -/*---------------------------------------------------------------------------- - Integer divider Setup - *----------------------------------------------------------------------------*/ - - /* Configure integer dividers */ - LPC_CGU->IDIVA_CTRL = (0 << 0) | /* Disable Power-down */ - (IDIVA_IDIV << 2) | /* IDIV */ - (1 << 11) | /* Autoblock En */ - (IDIVA_CLK_SEL << 24) ; /* Clock source */ - - LPC_CGU->IDIVB_CTRL = (0 << 0) | /* Disable Power-down */ - (IDIVB_IDIV << 2) | /* IDIV */ - (1 << 11) | /* Autoblock En */ - (IDIVB_CLK_SEL << 24) ; /* Clock source */ - - LPC_CGU->IDIVC_CTRL = (0 << 0) | /* Disable Power-down */ - (IDIVC_IDIV << 2) | /* IDIV */ - (1 << 11) | /* Autoblock En */ - (IDIVC_CLK_SEL << 24) ; /* Clock source */ - - LPC_CGU->IDIVD_CTRL = (0 << 0) | /* Disable Power-down */ - (IDIVD_IDIV << 2) | /* IDIV */ - (1 << 11) | /* Autoblock En */ - (IDIVD_CLK_SEL << 24) ; /* Clock source */ - - LPC_CGU->IDIVE_CTRL = (0 << 0) | /* Disable Power-down */ - (IDIVE_IDIV << 2) | /* IDIV */ - (1 << 11) | /* Autoblock En */ - (IDIVE_CLK_SEL << 24) ; /* Clock source */ -} - - -/*---------------------------------------------------------------------------- - Approximate delay function (must be used after SystemCoreClockUpdate() call) - *----------------------------------------------------------------------------*/ -#define CPU_NANOSEC(x) (((uint64_t)(x) * SystemCoreClock)/1000000000) - -static void WaitUs (uint32_t us) { - uint32_t cyc = us * CPU_NANOSEC(1000)/4; - while(cyc--); -} - - -/*---------------------------------------------------------------------------- - External Memory Controller Definitions - *----------------------------------------------------------------------------*/ -#define SDRAM_ADDR_BASE 0x28000000 /* SDRAM base address */ -/* Write Mode register macro */ -#define WR_MODE(x) (*((volatile uint32_t *)(SDRAM_ADDR_BASE | (x)))) - -/* Pin Settings: Glith filter DIS, Input buffer EN, Fast Slew Rate, No Pullup */ -#define EMC_PIN_SET ((1 << 7) | (1 << 6) | (1 << 5) | (1 << 4)) -#define EMC_NANOSEC(ns, freq, div) (((uint64_t)(ns) * ((freq)/((div)+1)))/1000000000) - -#define EMC_CLK_DLY_TIM_2 (0x7777) /* 3.5 ns delay for the EMC clock out */ -#define EMC_CLK_DLY_TIM_0 (0x0000) /* No delay for the EMC clock out */ - -typedef void (*emcdivby2) (volatile uint32_t *creg6, volatile uint32_t *emcdiv, uint32_t cfg); - -const uint16_t emcdivby2_opc[] = { - 0x6803, /* LDR R3,[R0,#0] ; Load CREG6 */ - 0xF443,0x3380, /* ORR R3,R3,#0x10000 ; Set Divided by 2 */ - 0x6003, /* STR R3,[R0,#0] ; Store CREG6 */ - 0x600A, /* STR R2,[R1,#0] ; EMCDIV_CFG = cfg */ - 0x684B, /* loop LDR R3,[R1,#4] ; Load EMCDIV_STAT */ - 0x07DB, /* LSLS R3,R3,#31 ; Check EMCDIV_STAT.0 */ - 0xD0FC, /* BEQ loop ; Jump if 0 */ - 0x4770, /* BX LR ; Exit */ - 0, -}; - -#define emcdivby2_szw ((sizeof(emcdivby2_opc)+3)/4) -#define emcdivby2_ram 0x10000000 - -/*---------------------------------------------------------------------------- - Initialize external memory controller - *----------------------------------------------------------------------------*/ - -void SystemInit_ExtMemCtl (void) { - uint32_t emcdivby2_buf[emcdivby2_szw]; - uint32_t div, n; - - /* Select and enable EMC branch clock */ - LPC_CCU1->CLK_M4_EMC_CFG = (1 << 2) | (1 << 1) | 1; - while (!(LPC_CCU1->CLK_M4_EMC_STAT & 1)); - - /* Set EMC clock output delay */ - if (SystemCoreClock < 80000000UL) { - LPC_SCU->EMCDELAYCLK = EMC_CLK_DLY_TIM_0; /* No EMC clock out delay */ - } - else { - LPC_SCU->EMCDELAYCLK = EMC_CLK_DLY_TIM_2; /* 2.0 ns EMC clock out delay */ - } - - /* Configure EMC port pins */ - LPC_SCU->SFSP1_0 = EMC_PIN_SET | 2; /* P1_0: A5 */ - LPC_SCU->SFSP1_1 = EMC_PIN_SET | 2; /* P1_1: A6 */ - LPC_SCU->SFSP1_2 = EMC_PIN_SET | 2; /* P1_2: A7 */ - LPC_SCU->SFSP1_3 = EMC_PIN_SET | 3; /* P1_3: OE */ - LPC_SCU->SFSP1_4 = EMC_PIN_SET | 3; /* P1_4: BLS0 */ - LPC_SCU->SFSP1_5 = EMC_PIN_SET | 3; /* P1_5: CS0 */ - LPC_SCU->SFSP1_6 = EMC_PIN_SET | 3; /* P1_6: WE */ - LPC_SCU->SFSP1_7 = EMC_PIN_SET | 3; /* P1_7: D0 */ - LPC_SCU->SFSP1_8 = EMC_PIN_SET | 3; /* P1_8: D1 */ - LPC_SCU->SFSP1_9 = EMC_PIN_SET | 3; /* P1_9: D2 */ - LPC_SCU->SFSP1_10 = EMC_PIN_SET | 3; /* P1_10: D3 */ - LPC_SCU->SFSP1_11 = EMC_PIN_SET | 3; /* P1_11: D4 */ - LPC_SCU->SFSP1_12 = EMC_PIN_SET | 3; /* P1_12: D5 */ - LPC_SCU->SFSP1_13 = EMC_PIN_SET | 3; /* P1_13: D6 */ - LPC_SCU->SFSP1_14 = EMC_PIN_SET | 3; /* P1_14: D7 */ - - LPC_SCU->SFSP2_0 = EMC_PIN_SET | 2; /* P2_0: A13 */ - LPC_SCU->SFSP2_1 = EMC_PIN_SET | 2; /* P2_1: A12 */ - LPC_SCU->SFSP2_2 = EMC_PIN_SET | 2; /* P2_2: A11 */ - LPC_SCU->SFSP2_6 = EMC_PIN_SET | 2; /* P2_6: A10 */ - LPC_SCU->SFSP2_7 = EMC_PIN_SET | 3; /* P2_7: A9 */ - LPC_SCU->SFSP2_8 = EMC_PIN_SET | 3; /* P2_8: A8 */ - LPC_SCU->SFSP2_9 = EMC_PIN_SET | 3; /* P2_9: A0 */ - LPC_SCU->SFSP2_10 = EMC_PIN_SET | 3; /* P2_10: A1 */ - LPC_SCU->SFSP2_11 = EMC_PIN_SET | 3; /* P2_11: A2 */ - LPC_SCU->SFSP2_12 = EMC_PIN_SET | 3; /* P2_12: A3 */ - LPC_SCU->SFSP2_13 = EMC_PIN_SET | 3; /* P2_13: A4 */ - - LPC_SCU->SFSP5_0 = EMC_PIN_SET | 2; /* P5_0: D12 */ - LPC_SCU->SFSP5_1 = EMC_PIN_SET | 2; /* P5_1: D13 */ - LPC_SCU->SFSP5_2 = EMC_PIN_SET | 2; /* P5_2: D14 */ - LPC_SCU->SFSP5_3 = EMC_PIN_SET | 2; /* P5_3: D15 */ - LPC_SCU->SFSP5_4 = EMC_PIN_SET | 2; /* P5_4: D8 */ - LPC_SCU->SFSP5_5 = EMC_PIN_SET | 2; /* P5_5: D9 */ - LPC_SCU->SFSP5_6 = EMC_PIN_SET | 2; /* P5_6: D10 */ - LPC_SCU->SFSP5_7 = EMC_PIN_SET | 2; /* P5_7: D11 */ - - LPC_SCU->SFSP6_1 = EMC_PIN_SET | 1; /* P6_1: DYCS1 */ - LPC_SCU->SFSP6_2 = EMC_PIN_SET | 1; /* P6_3: CKEOUT1 */ - LPC_SCU->SFSP6_3 = EMC_PIN_SET | 3; /* P6_3: CS1 */ - LPC_SCU->SFSP6_4 = EMC_PIN_SET | 3; /* P6_4: CAS */ - LPC_SCU->SFSP6_5 = EMC_PIN_SET | 3; /* P6_5: RAS */ - LPC_SCU->SFSP6_6 = EMC_PIN_SET | 1; /* P6_6: BLS1 */ - LPC_SCU->SFSP6_7 = EMC_PIN_SET | 1; /* P6_7: A15 */ - LPC_SCU->SFSP6_8 = EMC_PIN_SET | 1; /* P6_8: A14 */ - LPC_SCU->SFSP6_9 = EMC_PIN_SET | 3; /* P6_9: DYCS0 */ - LPC_SCU->SFSP6_10 = EMC_PIN_SET | 3; /* P6_10: DQMOUT1 */ - LPC_SCU->SFSP6_11 = EMC_PIN_SET | 3; /* P6_11: CKEOUT0 */ - LPC_SCU->SFSP6_12 = EMC_PIN_SET | 3; /* P6_12: DQMOUT0 */ - - LPC_SCU->SFSPA_4 = EMC_PIN_SET | 3; /* PA_4: A23 */ - - LPC_SCU->SFSPD_0 = EMC_PIN_SET | 2; /* PD_0: DQMOUT2 */ - LPC_SCU->SFSPD_1 = EMC_PIN_SET | 2; /* PD_1: CKEOUT2 */ - LPC_SCU->SFSPD_2 = EMC_PIN_SET | 2; /* PD_2: D16 */ - LPC_SCU->SFSPD_3 = EMC_PIN_SET | 2; /* PD_3: D17 */ - LPC_SCU->SFSPD_4 = EMC_PIN_SET | 2; /* PD_4: D18 */ - LPC_SCU->SFSPD_5 = EMC_PIN_SET | 2; /* PD_5: D19 */ - LPC_SCU->SFSPD_6 = EMC_PIN_SET | 2; /* PD_6: D20 */ - LPC_SCU->SFSPD_7 = EMC_PIN_SET | 2; /* PD_7: D21 */ - LPC_SCU->SFSPD_8 = EMC_PIN_SET | 2; /* PD_8: D22 */ - LPC_SCU->SFSPD_9 = EMC_PIN_SET | 2; /* PD_9: D23 */ - LPC_SCU->SFSPD_10 = EMC_PIN_SET | 2; /* PD_10: BLS3 */ - LPC_SCU->SFSPD_11 = EMC_PIN_SET | 2; /* PD_11: CS3 */ - LPC_SCU->SFSPD_12 = EMC_PIN_SET | 2; /* PD_12: CS2 */ - LPC_SCU->SFSPD_13 = EMC_PIN_SET | 2; /* PD_13: BLS2 */ - LPC_SCU->SFSPD_14 = EMC_PIN_SET | 2; /* PD_14: DYCS2 */ - LPC_SCU->SFSPD_15 = EMC_PIN_SET | 2; /* PD_15: A17 */ - LPC_SCU->SFSPD_16 = EMC_PIN_SET | 2; /* PD_16: A16 */ - - LPC_SCU->SFSPE_0 = EMC_PIN_SET | 3; /* PE_0: A18 */ - LPC_SCU->SFSPE_1 = EMC_PIN_SET | 3; /* PE_1: A19 */ - LPC_SCU->SFSPE_2 = EMC_PIN_SET | 3; /* PE_2: A20 */ - LPC_SCU->SFSPE_3 = EMC_PIN_SET | 3; /* PE_3: A21 */ - LPC_SCU->SFSPE_4 = EMC_PIN_SET | 3; /* PE_4: A22 */ - LPC_SCU->SFSPE_5 = EMC_PIN_SET | 3; /* PE_5: D24 */ - LPC_SCU->SFSPE_6 = EMC_PIN_SET | 3; /* PE_6: D25 */ - LPC_SCU->SFSPE_7 = EMC_PIN_SET | 3; /* PE_7: D26 */ - LPC_SCU->SFSPE_8 = EMC_PIN_SET | 3; /* PE_8: D27 */ - LPC_SCU->SFSPE_9 = EMC_PIN_SET | 3; /* PE_9: D28 */ - LPC_SCU->SFSPE_10 = EMC_PIN_SET | 3; /* PE_10: D29 */ - LPC_SCU->SFSPE_11 = EMC_PIN_SET | 3; /* PE_11: D30 */ - LPC_SCU->SFSPE_12 = EMC_PIN_SET | 3; /* PE_12: D31 */ - LPC_SCU->SFSPE_13 = EMC_PIN_SET | 3; /* PE_13: DQMOUT3 */ - LPC_SCU->SFSPE_14 = EMC_PIN_SET | 3; /* PE_14: DYCS3 */ - LPC_SCU->SFSPE_15 = EMC_PIN_SET | 3; /* PE_15: CKEOUT3 */ - - LPC_EMC->CONTROL = 0x00000001; /* EMC Enable */ - LPC_EMC->CONFIG = 0x00000000; /* Little-endian, Clock Ratio 1:1 */ - - div = 0; - if (SystemCoreClock > 120000000UL) { - /* Use EMC clock divider and EMC clock output delay */ - div = 1; - /* Following code must be executed in RAM to ensure stable operation */ - /* LPC_CCU1->CLK_M4_EMCDIV_CFG = (1 << 5) | (1 << 2) | (1 << 1) | 1; */ - /* LPC_CREG->CREG6 |= (1 << 16); // EMC_CLK_DIV divided by 2 */ - /* while (!(LPC_CCU1->CLK_M4_EMCDIV_STAT & 1)); */ - - /* This code configures EMC clock divider and is executed in RAM */ - for (n = 0; n < emcdivby2_szw; n++) { - emcdivby2_buf[n] = *((uint32_t *)emcdivby2_ram + n); - *((uint32_t *)emcdivby2_ram + n) = *((uint32_t *)emcdivby2_opc + n); - } - __ISB(); - ((emcdivby2 )(emcdivby2_ram+1))(&LPC_CREG->CREG6, &LPC_CCU1->CLK_M4_EMCDIV_CFG, (1 << 5) | (1 << 2) | (1 << 1) | 1); - for (n = 0; n < emcdivby2_szw; n++) { - *((uint32_t *)emcdivby2_ram + n) = emcdivby2_buf[n]; - } - } - - /* Configure EMC clock-out pins */ - LPC_SCU->SFSCLK_0 = EMC_PIN_SET | 0; /* CLK0 */ - LPC_SCU->SFSCLK_1 = EMC_PIN_SET | 0; /* CLK1 */ - LPC_SCU->SFSCLK_2 = EMC_PIN_SET | 0; /* CLK2 */ - LPC_SCU->SFSCLK_3 = EMC_PIN_SET | 0; /* CLK3 */ - - /* Static memory configuration (chip select 0) */ -#if (USE_EXT_STAT_MEM_CS0) - LPC_EMC->STATICCONFIG0 = (1 << 7) | /* Byte lane state: use WE signal */ - (2 << 0) | /* Memory width 32-bit */ - (1 << 3); /* Async page mode enable */ - - LPC_EMC->STATICWAITOEN0 = (0 << 0) ; /* Wait output enable: No delay */ - - LPC_EMC->STATICWAITPAGE0 = 2; - - /* Set Static Memory Read Delay for 90ns External NOR Flash */ - LPC_EMC->STATICWAITRD0 = 1 + EMC_NANOSEC(90, SystemCoreClock, div); - LPC_EMC->STATICCONFIG0 |= (1 << 19) ; /* Enable buffer */ -#endif - - /* Dynamic memory configuration (chip select 0) */ -#if (USE_EXT_DYN_MEM_CS0) - - /* Set Address mapping: 128Mb(4Mx32), 4 banks, row len = 12, column len = 8 */ - LPC_EMC->DYNAMICCONFIG0 = (1 << 14) | /* AM[14] = 1 */ - (0 << 12) | /* AM[12] = 0 */ - (2 << 9) | /* AM[11:9] = 2 */ - (2 << 7) ; /* AM[8:7] = 2 */ - - LPC_EMC->DYNAMICRASCAS0 = 0x00000303; /* Latency: RAS 3, CAS 3 CCLK cyc.*/ - LPC_EMC->DYNAMICREADCONFIG = 0x00000001; /* Command delayed by 1/2 CCLK */ - - LPC_EMC->DYNAMICRP = EMC_NANOSEC (20, SystemCoreClock, div); - LPC_EMC->DYNAMICRAS = EMC_NANOSEC (42, SystemCoreClock, div); - LPC_EMC->DYNAMICSREX = EMC_NANOSEC (63, SystemCoreClock, div); - LPC_EMC->DYNAMICAPR = EMC_NANOSEC (70, SystemCoreClock, div); - LPC_EMC->DYNAMICDAL = EMC_NANOSEC (70, SystemCoreClock, div); - LPC_EMC->DYNAMICWR = EMC_NANOSEC (30, SystemCoreClock, div); - LPC_EMC->DYNAMICRC = EMC_NANOSEC (63, SystemCoreClock, div); - LPC_EMC->DYNAMICRFC = EMC_NANOSEC (63, SystemCoreClock, div); - LPC_EMC->DYNAMICXSR = EMC_NANOSEC (63, SystemCoreClock, div); - LPC_EMC->DYNAMICRRD = EMC_NANOSEC (14, SystemCoreClock, div); - LPC_EMC->DYNAMICMRD = EMC_NANOSEC (30, SystemCoreClock, div); - - WaitUs (100); - LPC_EMC->DYNAMICCONTROL = 0x00000183; /* Issue NOP command */ - WaitUs (10); - LPC_EMC->DYNAMICCONTROL = 0x00000103; /* Issue PALL command */ - WaitUs (1); - LPC_EMC->DYNAMICCONTROL = 0x00000183; /* Issue NOP command */ - WaitUs (1); - LPC_EMC->DYNAMICREFRESH = EMC_NANOSEC( 200, SystemCoreClock, div) / 16 + 1; - WaitUs (10); - LPC_EMC->DYNAMICREFRESH = EMC_NANOSEC(15625, SystemCoreClock, div) / 16 + 1; - WaitUs (10); - LPC_EMC->DYNAMICCONTROL = 0x00000083; /* Issue MODE command */ - - /* Mode register: Burst Length: 4, Burst Type: Sequential, CAS Latency: 3 */ - WR_MODE(((3 << 4) | 2) << 12); - - WaitUs (10); - LPC_EMC->DYNAMICCONTROL = 0x00000002; /* Issue NORMAL command */ - LPC_EMC->DYNAMICCONFIG0 |= (1 << 19); /* Enable buffer */ -#endif -} - - -/*---------------------------------------------------------------------------- - Measure frequency using frequency monitor - *----------------------------------------------------------------------------*/ -uint32_t MeasureFreq (uint32_t clk_sel) { - uint32_t fcnt, rcnt, fout; - - /* Set register values */ - LPC_CGU->FREQ_MON &= ~(1 << 23); /* Stop frequency counters */ - LPC_CGU->FREQ_MON = (clk_sel << 24) | 511; /* RCNT == 511 */ - LPC_CGU->FREQ_MON |= (1 << 23); /* Start RCNT and FCNT */ - while (LPC_CGU->FREQ_MON & (1 << 23)) { - fcnt = (LPC_CGU->FREQ_MON >> 9) & 0x3FFF; - rcnt = (LPC_CGU->FREQ_MON ) & 0x01FF; - if (fcnt == 0 && rcnt == 0) { - return (0); /* No input clock present */ - } - } - fcnt = (LPC_CGU->FREQ_MON >> 9) & 0x3FFF; - fout = fcnt * (12000000U/511U); /* FCNT * (IRC_CLK / RCNT) */ - - return (fout); -} - - -/*---------------------------------------------------------------------------- - Get PLL1 (divider and multiplier) parameters - *----------------------------------------------------------------------------*/ -static __inline uint32_t GetPLL1Param (void) { - uint32_t ctrl; - uint32_t p; - uint32_t div, mul; - - ctrl = LPC_CGU->PLL1_CTRL; - div = ((ctrl >> 12) & 0x03) + 1; - mul = ((ctrl >> 16) & 0xFF) + 1; - p = 1 << ((ctrl >> 8) & 0x03); - - if (ctrl & (1 << 1)) { - /* Bypass = 1, PLL1 input clock sent to post-dividers */ - if (ctrl & (1 << 7)) { - div *= (2*p); - } - } - else { - /* Direct and integer mode */ - if (((ctrl & (1 << 7)) == 0) && ((ctrl & (1 << 6)) == 0)) { - /* Non-integer mode */ - div *= (2*p); - } - } - return ((div << 8) | (mul)); -} - - -/*---------------------------------------------------------------------------- - Get input clock source for specified clock generation block - *----------------------------------------------------------------------------*/ -int32_t GetClkSel (uint32_t clk_src) { - uint32_t reg; - int32_t clk_sel = -1; - - switch (clk_src) { - case CLK_SRC_IRC: - case CLK_SRC_ENET_RX: - case CLK_SRC_ENET_TX: - case CLK_SRC_GP_CLKIN: - return (clk_src); - - case CLK_SRC_32KHZ: - return ((LPC_CREG->CREG0 & 0x0A) != 0x02) ? (-1) : (CLK_SRC_32KHZ); - case CLK_SRC_XTAL: - return (LPC_CGU->XTAL_OSC_CTRL & 1) ? (-1) : (CLK_SRC_XTAL); - - case CLK_SRC_PLL0U: reg = LPC_CGU->PLL0USB_CTRL; break; - case CLK_SRC_PLL0A: reg = LPC_CGU->PLL0AUDIO_CTRL; break; - case CLK_SRC_PLL1: reg = (LPC_CGU->PLL1_STAT & 1) ? (LPC_CGU->PLL1_CTRL) : (0); break; - - case CLK_SRC_IDIVA: reg = LPC_CGU->IDIVA_CTRL; break; - case CLK_SRC_IDIVB: reg = LPC_CGU->IDIVB_CTRL; break; - case CLK_SRC_IDIVC: reg = LPC_CGU->IDIVC_CTRL; break; - case CLK_SRC_IDIVD: reg = LPC_CGU->IDIVD_CTRL; break; - case CLK_SRC_IDIVE: reg = LPC_CGU->IDIVE_CTRL; break; - - default: - return (clk_sel); - } - if (!(reg & 1)) { - clk_sel = (reg >> 24) & 0x1F; - } - return (clk_sel); -} - - -/*---------------------------------------------------------------------------- - Get clock frequency for specified clock source - *----------------------------------------------------------------------------*/ -uint32_t GetClockFreq (uint32_t clk_src) { - uint32_t tmp; - uint32_t mul = 1; - uint32_t div = 1; - uint32_t main_freq = 0; - int32_t clk_sel = clk_src; - - do { - switch (clk_sel) { - case CLK_SRC_32KHZ: main_freq = CLK_32KHZ; break; - case CLK_SRC_IRC: main_freq = CLK_IRC; break; - case CLK_SRC_ENET_RX: main_freq = CLK_ENET_RX; break; - case CLK_SRC_ENET_TX: main_freq = CLK_ENET_TX; break; - case CLK_SRC_GP_CLKIN: main_freq = CLK_GP_CLKIN; break; - case CLK_SRC_XTAL: main_freq = CLK_XTAL; break; - - case CLK_SRC_IDIVA: div *= ((LPC_CGU->IDIVA_CTRL >> 2) & 0x03) + 1; break; - case CLK_SRC_IDIVB: div *= ((LPC_CGU->IDIVB_CTRL >> 2) & 0x0F) + 1; break; - case CLK_SRC_IDIVC: div *= ((LPC_CGU->IDIVC_CTRL >> 2) & 0x0F) + 1; break; - case CLK_SRC_IDIVD: div *= ((LPC_CGU->IDIVD_CTRL >> 2) & 0x0F) + 1; break; - case CLK_SRC_IDIVE: div *= ((LPC_CGU->IDIVE_CTRL >> 2) & 0xFF) + 1; break; - - case CLK_SRC_PLL0U: /* Not implemented */ break; - case CLK_SRC_PLL0A: /* Not implemented */ break; - - case CLK_SRC_PLL1: - tmp = GetPLL1Param (); - mul *= (tmp ) & 0xFF; /* PLL input clock multiplier */ - div *= (tmp >> 8) & 0xFF; /* PLL input clock divider */ - break; - - default: - return (0); /* Clock not running or not supported */ - } - if (main_freq == 0) { - clk_sel = GetClkSel (clk_sel); - } - } - while (main_freq == 0); - - return ((main_freq * mul) / div); -} - - -/*---------------------------------------------------------------------------- - System Core Clock update - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) { - /* Check BASE_M4_CLK connection */ - uint32_t base_src = (LPC_CGU->BASE_M4_CLK >> 24) & 0x1F; - - /* Update core clock frequency */ - SystemCoreClock = GetClockFreq (base_src); -} - - -extern uint32_t __Vectors; /* see startup_LPC43xx.s */ - -/*---------------------------------------------------------------------------- - Initialize the system - *----------------------------------------------------------------------------*/ -void SystemInit (void) { - - #if (__FPU_USED == 1) - SCB->CPACR |= ((3UL << 10*2) | /* set CP10 Full Access */ - (3UL << 11*2) ); /* set CP11 Full Access */ - #endif - - /* Stop CM0 core */ - LPC_RGU->RESET_CTRL1 = (1 << 24); - - /* Disable SysTick timer */ - SysTick->CTRL &= ~(SysTick_CTRL_TICKINT_Msk | SysTick_CTRL_ENABLE_Msk); - - /* Set vector table pointer */ - SCB->VTOR = ((uint32_t)(&__Vectors)) & 0xFFF00000UL; - - /* Configure PLL0 and PLL1, connect CPU clock to selected clock source */ - SetClock(); - - /* Update SystemCoreClock variable */ - SystemCoreClockUpdate(); - - /* Configure External Memory Controller */ -//SystemInit_ExtMemCtl (); -} diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/USB/USBD_Config_0.c b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/USB/USBD_Config_0.c deleted file mode 100644 index a541cb9..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/USB/USBD_Config_0.c +++ /dev/null @@ -1,206 +0,0 @@ -/*------------------------------------------------------------------------------ - * MDK Middleware - Component ::USB:Device - * Copyright (c) 2004-2019 Arm Limited (or its affiliates). All rights reserved. - *------------------------------------------------------------------------------ - * Name: USBD_Config_0.c - * Purpose: USB Device Configuration - * Rev.: V5.2.0 - *------------------------------------------------------------------------------ - * Use the following configuration settings in the Device Class configuration - * files to assign a Device Class to this USB Device 0. - * - * Configuration Setting Value - * --------------------- ----- - * Assign Device Class to USB Device # = 0 - *----------------------------------------------------------------------------*/ - -//-------- <<< Use Configuration Wizard in Context Menu >>> -------------------- - -// USB Device 0 -// Connect to hardware via Driver_USBD# <0-255> -// Select driver control block for hardware interface. -#define USBD0_PORT 0 - -// High-speed -// Enable High-speed functionality (if device supports it). -#define USBD0_HS 1 - -// Device Settings -// These settings are used to create the Device Descriptor -// Max Endpoint 0 Packet Size -// Maximum packet size for Endpoint 0 (bMaxPacketSize0). -// <8=>8 Bytes <16=>16 Bytes <32=>32 Bytes <64=>64 Bytes -#define USBD0_MAX_PACKET0 64 - -// Vendor ID <0x0000-0xFFFF> -// Vendor ID assigned by USB-IF (idVendor). -#define USBD0_DEV_DESC_IDVENDOR 0xC251 - -// Product ID <0x0000-0xFFFF> -// Product ID assigned by manufacturer (idProduct). -#define USBD0_DEV_DESC_IDPRODUCT 0xF00A - -// Device Release Number <0x0000-0xFFFF> -// Device Release Number in binary-coded decimal (bcdDevice) -#define USBD0_DEV_DESC_BCDDEVICE 0x0100 - -// - -// Configuration Settings -// These settings are used to create the Configuration Descriptor. -// Power -// Default Power Setting (D6: of bmAttributes). -// <0=>Bus-powered -// <1=>Self-powered -// Remote Wakeup -// Configuration support for Remote Wakeup (D5: of bmAttributes). -#define USBD0_CFG_DESC_BMATTRIBUTES 0x80 - -// Maximum Power Consumption (in mA) <0-510><#/2> -// Maximum Power Consumption of USB Device from bus in this -// specific configuration when device is fully operational (bMaxPower). -#define USBD0_CFG_DESC_BMAXPOWER 250 - -// - -// String Settings -// These settings are used to create the String Descriptor. -// Language ID <0x0000-0xFCFF> -// English (United States) = 0x0409. -#define USBD0_STR_DESC_LANGID 0x0409 - -// Manufacturer String -// String Descriptor describing Manufacturer. -#define USBD0_STR_DESC_MAN L"KEIL - Tools By ARM" - -// Product String -// String Descriptor describing Product. -#define USBD0_STR_DESC_PROD L"LPC-Link2" - -// Serial Number String -// Enable Serial Number String. -// If disabled Serial Number String will not be assigned to USB Device. -#define USBD0_STR_DESC_SER_EN 1 - -// Default value -// Default device's Serial Number String. -#define USBD0_STR_DESC_SER L"0001A0000000" - -// Maximum Length (in characters) <0-126> -// Specifies the maximum number of Serial Number String characters that can be set at run-time. -// Maximum value is 126. Use value 0 to disable RAM allocation for string. -#define USBD0_STR_DESC_SER_MAX_LEN 16 - -// -// - -// Microsoft OS Descriptors Settings -// These settings are used to create the Microsoft OS Descriptors. -// OS String -// Enable creation of Microsoft OS String and Extended Compat ID OS Feature Descriptors. -#define USBD0_OS_DESC_EN 1 - -// Vendor Code <0x01-0xFF> -// Specifies Vendor Code used to retrieve OS Feature Descriptors. -#define USBD0_OS_DESC_VENDOR_CODE 0x01 - -// -// - -// Control Transfer Buffer Size <64-65536:64> -// Specifies size of buffer used for Control Transfers. -// It should be at least as big as maximum packet size for Endpoint 0. -#define USBD0_EP0_BUF_SIZE 128 - -// OS Resources Settings -// These settings are used to optimize usage of OS resources. -// Core Thread Stack Size <64-65536> -#define USBD0_CORE_THREAD_STACK_SIZE 1024 - -// Core Thread Priority -#define USBD0_CORE_THREAD_PRIORITY osPriorityAboveNormal - -// -// - - -#include "RTE_Components.h" - -#ifdef RTE_USB_Device_CustomClass_0 -#include "USBD_Config_CustomClass_0.h" -#endif -#ifdef RTE_USB_Device_CustomClass_1 -#include "USBD_Config_CustomClass_1.h" -#endif -#ifdef RTE_USB_Device_CustomClass_2 -#include "USBD_Config_CustomClass_2.h" -#endif -#ifdef RTE_USB_Device_CustomClass_3 -#include "USBD_Config_CustomClass_3.h" -#endif - -#ifdef RTE_USB_Device_HID_0 -#include "USBD_Config_HID_0.h" -#endif -#ifdef RTE_USB_Device_HID_1 -#include "USBD_Config_HID_1.h" -#endif -#ifdef RTE_USB_Device_HID_2 -#include "USBD_Config_HID_2.h" -#endif -#ifdef RTE_USB_Device_HID_3 -#include "USBD_Config_HID_3.h" -#endif - -#ifdef RTE_USB_Device_MSC_0 -#include "USBD_Config_MSC_0.h" -#endif -#ifdef RTE_USB_Device_MSC_1 -#include "USBD_Config_MSC_1.h" -#endif -#ifdef RTE_USB_Device_MSC_2 -#include "USBD_Config_MSC_2.h" -#endif -#ifdef RTE_USB_Device_MSC_3 -#include "USBD_Config_MSC_3.h" -#endif - -#ifdef RTE_USB_Device_CDC_0 -#include "USBD_Config_CDC_0.h" -#endif -#ifdef RTE_USB_Device_CDC_1 -#include "USBD_Config_CDC_1.h" -#endif -#ifdef RTE_USB_Device_CDC_2 -#include "USBD_Config_CDC_2.h" -#endif -#ifdef RTE_USB_Device_CDC_3 -#include "USBD_Config_CDC_3.h" -#endif -#ifdef RTE_USB_Device_CDC_4 -#include "USBD_Config_CDC_4.h" -#endif -#ifdef RTE_USB_Device_CDC_5 -#include "USBD_Config_CDC_5.h" -#endif -#ifdef RTE_USB_Device_CDC_6 -#include "USBD_Config_CDC_6.h" -#endif -#ifdef RTE_USB_Device_CDC_7 -#include "USBD_Config_CDC_7.h" -#endif - -#ifdef RTE_USB_Device_ADC_0 -#include "USBD_Config_ADC_0.h" -#endif -#ifdef RTE_USB_Device_ADC_1 -#include "USBD_Config_ADC_1.h" -#endif -#ifdef RTE_USB_Device_ADC_2 -#include "USBD_Config_ADC_2.h" -#endif -#ifdef RTE_USB_Device_ADC_3 -#include "USBD_Config_ADC_3.h" -#endif - -#include "usbd_config.h" diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/USB/USBD_Config_CDC_0.h b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/USB/USBD_Config_CDC_0.h deleted file mode 100644 index 7cf68d1..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/USB/USBD_Config_CDC_0.h +++ /dev/null @@ -1,364 +0,0 @@ -/*------------------------------------------------------------------------------ - * MDK Middleware - Component ::USB:Device - * Copyright (c) 2004-2019 Arm Limited (or its affiliates). All rights reserved. - *------------------------------------------------------------------------------ - * Name: USBD_Config_CDC_0.h - * Purpose: USB Device Communication Device Class (CDC) Configuration - * Rev.: V5.2.0 - *----------------------------------------------------------------------------*/ - -//-------- <<< Use Configuration Wizard in Context Menu >>> -------------------- - -// USB Device: Communication Device Class (CDC) 0 -// Assign Device Class to USB Device # <0-3> -// Select USB Device that is used for this Device Class instance -#define USBD_CDC0_DEV 0 - -// Communication Class Subclass -// Specifies the model used by the CDC class. -// <2=>Abstract Control Model (ACM) -// <13=>Network Control Model (NCM) -#define USBD_CDC0_SUBCLASS 2 - -// Communication Class Protocol -// Specifies the protocol used by the CDC class. -// <0=>No protocol (Virtual COM) -// <255=>Vendor-specific (RNDIS) -#define USBD_CDC0_PROTOCOL 0 - -// Interrupt Endpoint Settings -// By default, the settings match the first USB Class instance in a USB Device. -// Endpoint conflicts are flagged by compile-time error messages. - -// Interrupt IN Endpoint Number -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -#define USBD_CDC0_EP_INT_IN 3 - - -// Endpoint Settings -// Parameters are used to create Endpoint Descriptors -// and for memory allocation in the USB component. - -// Full/Low-speed (High-speed disabled) -// Parameters apply when High-speed is disabled in USBD_Config_n.c -// Maximum Endpoint Packet Size (in bytes) <0-64> -// Specifies the physical packet size used for information exchange. -// Maximum value is 64. -#define USBD_CDC0_WMAXPACKETSIZE 16 - -// Endpoint polling Interval (in ms) <1-255> -// Specifies the frequency of requests initiated by USB Host for -// getting the notification. -#define USBD_CDC0_BINTERVAL 2 - -// - -// High-speed -// Parameters apply when High-speed is enabled in USBD_Config_n.c -// -// Maximum Endpoint Packet Size (in bytes) <0-1024> -// Specifies the physical packet size used for information exchange. -// Maximum value is 1024. -// Additional transactions per microframe -// Additional transactions improve communication performance. -// <0=>None <1=>1 additional <2=>2 additional -#define USBD_CDC0_HS_WMAXPACKETSIZE 16 - -// Endpoint polling Interval (in 125 us intervals) -// Specifies the frequency of requests initiated by USB Host for -// getting the notification. -// <1=> 1 <2=> 2 <3=> 4 <4=> 8 -// <5=> 16 <6=> 32 <7=> 64 <8=> 128 -// <9=> 256 <10=> 512 <11=> 1024 <12=> 2048 -// <13=>4096 <14=>8192 <15=>16384 <16=>32768 -#define USBD_CDC0_HS_BINTERVAL 2 - -// -// -// - - -// Bulk Endpoint Settings -// By default, the settings match the first USB Class instance in a USB Device. -// Endpoint conflicts are flagged by compile-time error messages. - -// Bulk IN Endpoint Number -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -#define USBD_CDC0_EP_BULK_IN 4 - -// Bulk OUT Endpoint Number -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -#define USBD_CDC0_EP_BULK_OUT 4 - - -// Endpoint Settings -// Parameters are used to create USB Descriptors and for memory -// allocation in the USB component. -// -// Full/Low-speed (High-speed disabled) -// Parameters apply when High-speed is disabled in USBD_Config_n.c -// Maximum Endpoint Packet Size (in bytes) <8=>8 <16=>16 <32=>32 <64=>64 -// Specifies the physical packet size used for information exchange. -// Maximum value is 64. -#define USBD_CDC0_WMAXPACKETSIZE1 64 - -// - -// High-speed -// Parameters apply when High-speed is enabled in USBD_Config_n.c -// -// Maximum Endpoint Packet Size (in bytes) <512=>512 -// Specifies the physical packet size used for information exchange. -// Only available value is 512. -#define USBD_CDC0_HS_WMAXPACKETSIZE1 512 - -// Maximum NAK Rate <0-255> -// Specifies the interval in which Bulk Endpoint can NAK. -// Value of 0 indicates that Bulk Endpoint never NAKs. -#define USBD_CDC0_HS_BINTERVAL1 0 - -// -// -// - -// Communication Device Class Settings -// Parameters are used to create USB Descriptors and for memory allocation -// in the USB component. -// -// Communication Class Interface String -#define USBD_CDC0_CIF_STR_DESC L"USB_CDC0_0" - -// Data Class Interface String -#define USBD_CDC0_DIF_STR_DESC L"USB_CDC0_1" - -// Abstract Control Model Settings - -// Call Management Capabilities -// Specifies which call management functionality is supported. -// Call Management channel -// <0=>Communication Class Interface only -// <1=>Communication and Data Class Interface -// Device Call Management handling -// <0=>None -// <1=>All -// -#define USBD_CDC0_ACM_CM_BM_CAPABILITIES 0x03 - -// Abstract Control Management Capabilities -// Specifies which abstract control management functionality is supported. -// D3 bit -// Enabled = Supports the notification Network_Connection -// D2 bit -// Enabled = Supports the request Send_Break -// D1 bit -// Enabled = Supports the following requests: Set_Line_Coding, Get_Line_Coding, -// Set_Control_Line_State, and notification Serial_State -// D0 bit -// Enabled = Supports the following requests: Set_Comm_Feature, Clear_Comm_Feature and Get_Comm_Feature -// -#define USBD_CDC0_ACM_ACM_BM_CAPABILITIES 0x06 - -// Maximum Communication Device Send Buffer Size -// Specifies size of buffer used for sending of data to USB Host. -// <8=> 8 Bytes <16=> 16 Bytes <32=> 32 Bytes <64=> 64 Bytes -// <128=> 128 Bytes <256=> 256 Bytes <512=> 512 Bytes <1024=> 1024 Bytes -// <2048=>2048 Bytes <4096=>4096 Bytes <8192=>8192 Bytes <16384=>16384 Bytes -#define USBD_CDC0_ACM_SEND_BUF_SIZE 1024 - -// Maximum Communication Device Receive Buffer Size -// Specifies size of buffer used for receiving of data from USB Host. -// Minimum size must be twice as large as Maximum Packet Size for Bulk OUT Endpoint. -// Suggested size is three or more times larger then Maximum Packet Size for Bulk OUT Endpoint. -// <8=> 8 Bytes <16=> 16 Bytes <32=> 32 Bytes <64=> 64 Bytes -// <128=> 128 Bytes <256=> 256 Bytes <512=> 512 Bytes <1024=> 1024 Bytes -// <2048=>2048 Bytes <4096=>4096 Bytes <8192=>8192 Bytes <16384=>16384 Bytes -#define USBD_CDC0_ACM_RECEIVE_BUF_SIZE 2048 - -// - -// Network Control Model Settings - -// MAC Address String -// Specifies 48-bit Ethernet MAC address. -#define USBD_CDC0_NCM_MAC_ADDRESS L"1E306CA2455E" - -// Ethernet Statistics -// Specifies Ethernet statistic functions supported. -// XMIT_OK -// Frames transmitted without errors -// RVC_OK -// Frames received without errors -// XMIT_ERROR -// Frames not transmitted, or transmitted with errors -// RCV_ERROR -// Frames received with errors that are not delivered to the USB host. -// RCV_NO_BUFFER -// Frame missed, no buffers -// DIRECTED_BYTES_XMIT -// Directed bytes transmitted without errors -// DIRECTED_FRAMES_XMIT -// Directed frames transmitted without errors -// MULTICAST_BYTES_XMIT -// Multicast bytes transmitted without errors -// MULTICAST_FRAMES_XMIT -// Multicast frames transmitted without errors -// BROADCAST_BYTES_XMIT -// Broadcast bytes transmitted without errors -// BROADCAST_FRAMES_XMIT -// Broadcast frames transmitted without errors -// DIRECTED_BYTES_RCV -// Directed bytes received without errors -// DIRECTED_FRAMES_RCV -// Directed frames received without errors -// MULTICAST_BYTES_RCV -// Multicast bytes received without errors -// MULTICAST_FRAMES_RCV -// Multicast frames received without errors -// BROADCAST_BYTES_RCV -// Broadcast bytes received without errors -// BROADCAST_FRAMES_RCV -// Broadcast frames received without errors -// RCV_CRC_ERROR -// Frames received with circular redundancy check (CRC) or frame check sequence (FCS) error -// TRANSMIT_QUEUE_LENGTH -// Length of transmit queue -// RCV_ERROR_ALIGNMENT -// Frames received with alignment error -// XMIT_ONE_COLLISION -// Frames transmitted with one collision -// XMIT_MORE_COLLISIONS -// Frames transmitted with more than one collision -// XMIT_DEFERRED -// Frames transmitted after deferral -// XMIT_MAX_COLLISIONS -// Frames not transmitted due to collisions -// RCV_OVERRUN -// Frames not received due to overrun -// XMIT_UNDERRUN -// Frames not transmitted due to underrun -// XMIT_HEARTBEAT_FAILURE -// Frames transmitted with heartbeat failure -// XMIT_TIMES_CRS_LOST -// Times carrier sense signal lost during transmission -// XMIT_LATE_COLLISIONS -// Late collisions detected -// -#define USBD_CDC0_NCM_BM_ETHERNET_STATISTICS 0x00000003 - -// Maximum Segment Size -// Specifies maximum segment size that Ethernet device is capable of supporting. -// Typically 1514 bytes. -#define USBD_CDC0_NCM_W_MAX_SEGMENT_SIZE 1514 - -// Multicast Filtering <0=>Perfect (no hashing) <1=>Imperfect (hashing) -// Specifies multicast filtering type. -// Number of Multicast Filters -// Specifies number of multicast filters that can be configured by the USB Host. -#define USBD_CDC0_NCM_W_NUMBER_MC_FILTERS 1 - -// Number of Power Filters -// Specifies number of pattern filters that are available for causing wake-up of the USB Host. -#define USBD_CDC0_NCM_B_NUMBER_POWER_FILTERS 0 - -// Network Capabilities -// Specifies which functions are supported. -// SetCrcMode/GetCrcMode -// SetMaxDatagramSize/GetMaxDatagramSize -// SetNetAddress/GetNetAddress -// SetEthernetPacketFilter -// -#define USBD_CDC0_NCM_BM_NETWORK_CAPABILITIES 0x1B - -// NTB Parameters -// Specifies NTB parameters reported by GetNtbParameters function. - -// NTB Formats Supported (bmNtbFormatsSupported) -// Specifies NTB formats supported. -// 16-bit NTB (always supported) -// 32-bit NTB -// -#define USBD_CDC0_NCM_BM_NTB_FORMATS_SUPPORTED 0x0001 - -// IN Data Pipe -// -// Maximum NTB Size (dwNtbInMaxSize) -// Specifies maximum IN NTB size in bytes. -#define USBD_CDC0_NCM_DW_NTB_IN_MAX_SIZE 4096 - -// NTB Datagram Payload Alignment Divisor (wNdpInDivisor) -// Specifies divisor used for IN NTB Datagram payload alignment. -#define USBD_CDC0_NCM_W_NDP_IN_DIVISOR 4 - -// NTB Datagram Payload Alignment Remainder (wNdpInPayloadRemainder) -// Specifies remainder used to align input datagram payload within the NTB. -// (Payload Offset) % (wNdpInDivisor) = wNdpInPayloadRemainder -#define USBD_CDC0_NCM_W_NDP_IN_PAYLOAD_REMINDER 0 - -// NDP Alignment Modulus in NTB (wNdpInAlignment) -// Specifies NDP alignment modulus for NTBs on the IN pipe. -// Shall be power of 2, and shall be at least 4. -#define USBD_CDC0_NCM_W_NDP_IN_ALIGNMENT 4 - -// - -// OUT Data Pipe -// -// Maximum NTB Size (dwNtbOutMaxSize) -// Specifies maximum OUT NTB size in bytes. -#define USBD_CDC0_NCM_DW_NTB_OUT_MAX_SIZE 4096 - -// NTB Datagram Payload Alignment Divisor (wNdpOutDivisor) -// Specifies divisor used for OUT NTB Datagram payload alignment. -#define USBD_CDC0_NCM_W_NDP_OUT_DIVISOR 4 - -// NTB Datagram Payload Alignment Remainder (wNdpOutPayloadRemainder) -// Specifies remainder used to align output datagram payload within the NTB. -// (Payload Offset) % (wNdpOutDivisor) = wNdpOutPayloadRemainder -#define USBD_CDC0_NCM_W_NDP_OUT_PAYLOAD_REMINDER 0 - -// NDP Alignment Modulus in NTB (wNdpOutAlignment) -// Specifies NDP alignment modulus for NTBs on the IN pipe. -// Shall be power of 2, and shall be at least 4. -#define USBD_CDC0_NCM_W_NDP_OUT_ALIGNMENT 4 - -// - -// - -// Raw Data Access API -// Enables or disables Raw Data Access API. -#define USBD_CDC0_NCM_RAW_ENABLE 0 - -// IN NTB Data Buffering <1=>Single Buffer <2=>Double Buffer -// Specifies buffering used for sending data to USB Host. -// Not used when RAW Data Access API is enabled. -#define USBD_CDC0_NCM_NTB_IN_BUF_CNT 1 - -// OUT NTB Data Buffering <1=>Single Buffer <2=>Double Buffer -// Specifies buffering used for receiving data from USB Host. -// Not used when RAW Data Access API is enabled. -#define USBD_CDC0_NCM_NTB_OUT_BUF_CNT 1 - -// - -// - -// OS Resources Settings -// These settings are used to optimize usage of OS resources. -// Communication Device Class Interrupt Endpoint Thread Stack Size <64-65536> -#define USBD_CDC0_INT_THREAD_STACK_SIZE 512 - -// Communication Device Class Interrupt Endpoint Thread Priority -#define USBD_CDC0_INT_THREAD_PRIORITY osPriorityAboveNormal - -// Communication Device Class Bulk Endpoints Thread Stack Size <64-65536> -#define USBD_CDC0_BULK_THREAD_STACK_SIZE 512 - -// Communication Device Class Bulk Endpoints Thread Priority -#define USBD_CDC0_BULK_THREAD_PRIORITY osPriorityAboveNormal - -// -// diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/USB/USBD_Config_CustomClass_0.h b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/USB/USBD_Config_CustomClass_0.h deleted file mode 100644 index c576037..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/RTE/USB/USBD_Config_CustomClass_0.h +++ /dev/null @@ -1,3771 +0,0 @@ -/*------------------------------------------------------------------------------ - * MDK Middleware - Component ::USB:Device - * Copyright (c) 2004-2017 ARM Germany GmbH. All rights reserved. - *------------------------------------------------------------------------------ - * Name: USBD_Config_CustomClass_0.h - * Purpose: USB Device Custom Class Configuration - * Rev.: V5.2.0 - *----------------------------------------------------------------------------*/ - -//-------- <<< Use Configuration Wizard in Context Menu >>> -------------------- - -// USB Device: Custom Class 0 -// Custom Class can be used to make support for Standard or Vendor-Specific Class -// Assign Device Class to USB Device # <0-3> -// Select USB Device that is used for this Device Class instance -#define USBD_CUSTOM_CLASS0_DEV 0 - -// Interface Association -// Used for grouping of multiple interfaces to a single class. -#define USBD_CUSTOM_CLASS0_IAD_EN 0 - -// Class Code -// Class Codes are defined by USB-IF. For more information refer to -// http://www.usb.org/developers/defined_class. -// <0x00=>0x00: Indicate a Null Class Code triple -// <0x01=>0x01: Audio -// <0x02=>0x02: Communications and CDC Control -// <0x03=>0x03: HID (Human Interface Device) -// <0x05=>0x05: Physical -// <0x06=>0x06: Image -// <0x07=>0x07: Printer -// <0x08=>0x08: Mass Storage -// <0x0A=>0x0A: CDC-Data -// <0x0B=>0x0B: Smart Card -// <0x0D=>0x0D: Content Security -// <0x0E=>0x0E: Video -// <0x0F=>0x0F: Personal Healthcare -// <0x10=>0x10: Audio/Video Devices -// <0xDC=>0xDC: Diagnostic Device -// <0xE0=>0xE0: Wireless Controller -// <0xEF=>0xEF: Miscellaneous -// <0xFE=>0xFE: Application Specific -// <0xFF=>0xFF: Vendor Specific -#define USBD_CUSTOM_CLASS0_IAD_CLASS 0xFF - -// Subclass Code <0x00-0xFF> -// The possible values depend on the Class Code: -// Class Code 0x00: Subclass Code must be 0 -// Class Code 0x01 .. 0xFE: Subclass Code is defined by USB-IF -// Class Code 0xFF: Subclass Code can be 0x00 .. 0xFF -#define USBD_CUSTOM_CLASS0_IAD_SUBCLASS 0x00 - -// Protocol Code <0x00-0xFF> -// The Protocol Code value defines the protocol used on this interface: -// Protocol Code 0x00: class-specific protocol not used -// Protocol Code 0x01 .. 0xFE: class-specific protocol used -// Protocol Code 0xFF: vendor-specific protocol used -#define USBD_CUSTOM_CLASS0_IAD_PROTOCOL 0x00 - -// - - -// Interface -#define USBD_CUSTOM_CLASS0_IF0_EN 1 - -// Interface Settings -// The Interface Settings are used to create the Interface Descriptor. -// Refer to USB - USB Concepts - USB Descriptor in the MDK Components -// User's Guide for more information about the Interface Descriptor. - -// Interface Number <0-255> -// Defines the value for bInterfaceNumber -// Each USB Device Interface has a sequential Interface Number starting with 0. -// Several Interfaces may have the same Interface Number; in this case the value -// of Alternate Setting is used to differ between the Interfaces. For a -// composite device the Interface Numbers of the custom classes must be contiguous. -#define USBD_CUSTOM_CLASS0_IF0_NUM 0 - -// Alternate Setting <0=>0 <1=>1 <2=>2 <3=>3 -// Defines the value for bAlternateSetting -// A sequential number starting with 0 to identify the Interface Descriptors -// that share the same value for Interface Number. -#define USBD_CUSTOM_CLASS0_IF0_ALT 0 - -// Class Code -// Class Codes are defined by USB-IF. For more information refer to -// http://www.usb.org/developers/defined_class. -// <0x00=>0x00: Indicate a Null Class Code triple -// <0x01=>0x01: Audio -// <0x02=>0x02: Communications and CDC Control -// <0x03=>0x03: HID (Human Interface Device) -// <0x05=>0x05: Physical -// <0x06=>0x06: Image -// <0x07=>0x07: Printer -// <0x08=>0x08: Mass Storage -// <0x0A=>0x0A: CDC-Data -// <0x0B=>0x0B: Smart Card -// <0x0D=>0x0D: Content Security -// <0x0E=>0x0E: Video -// <0x0F=>0x0F: Personal Healthcare -// <0x10=>0x10: Audio/Video Devices -// <0xDC=>0xDC: Diagnostic Device -// <0xE0=>0xE0: Wireless Controller -// <0xEF=>0xEF: Miscellaneous -// <0xFE=>0xFE: Application Specific -// <0xFF=>0xFF: Vendor Specific -#define USBD_CUSTOM_CLASS0_IF0_CLASS 0xFF - -// Subclass Code <0x00-0xFF> -// The possible values depend on the Class Code: -// Class Code 0x00: Subclass Code must be 0 -// Class Code 0x01 .. 0xFE: Subclass Code is defined by USB-IF -// Class Code 0xFF: Subclass Code can be 0x00 .. 0xFF -#define USBD_CUSTOM_CLASS0_IF0_SUBCLASS 0x00 - -// Protocol Code <0x00-0xFF> -// The Protocol Code value defines the protocol used on this interface: -// Protocol Code 0x00: class-specific protocol not used -// Protocol Code 0x01 .. 0xFE: class-specific protocol used -// Protocol Code 0xFF: vendor-specific protocol used -#define USBD_CUSTOM_CLASS0_IF0_PROTOCOL 0x00 - -// - -// Endpoint Settings -// Following settings are used to create the Endpoint Descriptors. -// Refer to USB - USB Concepts - USB Descriptor in the MDK Components -// User's Guide for more information about Endpoint Descriptors. - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF0_EP0_EN 1 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF0_EP0_BMATTRIBUTES 0x02 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF0_EP0_BENDPOINTADDRESS 0x01 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF0_EP0_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF0_EP0_FS_BINTERVAL 0 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF0_EP0_HS_WMAXPACKETSIZE 512 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF0_EP0_HS_BINTERVAL 0 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF0_EP1_EN 1 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF0_EP1_BMATTRIBUTES 0x02 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF0_EP1_BENDPOINTADDRESS 0x81 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF0_EP1_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF0_EP1_FS_BINTERVAL 0 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF0_EP1_HS_WMAXPACKETSIZE 512 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF0_EP1_HS_BINTERVAL 0 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF0_EP2_EN 1 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF0_EP2_BMATTRIBUTES 0x02 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF0_EP2_BENDPOINTADDRESS 0x82 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF0_EP2_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF0_EP2_FS_BINTERVAL 0 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF0_EP2_HS_WMAXPACKETSIZE 512 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF0_EP2_HS_BINTERVAL 0 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF0_EP3_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF0_EP3_BMATTRIBUTES 0x03 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF0_EP3_BENDPOINTADDRESS 0x82 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF0_EP3_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF0_EP3_FS_BINTERVAL 1 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF0_EP3_HS_WMAXPACKETSIZE 1024 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF0_EP3_HS_BINTERVAL 1 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF0_EP4_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF0_EP4_BMATTRIBUTES 0x01 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF0_EP4_BENDPOINTADDRESS 0x03 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF0_EP4_FS_WMAXPACKETSIZE 1023 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF0_EP4_FS_BINTERVAL 1 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF0_EP4_HS_WMAXPACKETSIZE 1024 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF0_EP4_HS_BINTERVAL 1 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF0_EP5_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF0_EP5_BMATTRIBUTES 0x01 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF0_EP5_BENDPOINTADDRESS 0x83 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF0_EP5_FS_WMAXPACKETSIZE 1023 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF0_EP5_FS_BINTERVAL 1 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF0_EP5_HS_WMAXPACKETSIZE 1024 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF0_EP5_HS_BINTERVAL 1 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF0_EP6_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF0_EP6_BMATTRIBUTES 0x02 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF0_EP6_BENDPOINTADDRESS 0x04 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF0_EP6_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF0_EP6_FS_BINTERVAL 0 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF0_EP6_HS_WMAXPACKETSIZE 512 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF0_EP6_HS_BINTERVAL 0 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF0_EP7_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF0_EP7_BMATTRIBUTES 0x02 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF0_EP7_BENDPOINTADDRESS 0x84 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF0_EP7_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF0_EP7_FS_BINTERVAL 0 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF0_EP7_HS_WMAXPACKETSIZE 512 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF0_EP7_HS_BINTERVAL 0 - -// -// -// -// - -// String Settings -// Following settings are used to create String Descriptor(s) - -// Interface String Enable -// Enable Interface String. -// If disabled Interface String will not be assigned to USB Device Custom Class Interface 0. -#define USBD_CUSTOM_CLASS0_IF0_STR_EN 1 - -// Interface String -#define USBD_CUSTOM_CLASS0_IF0_STR L"LPC-Link2 CMSIS-DAP" - -// -// - -// Microsoft OS Descriptor Settings -// Following settings are used to create Extended Compat ID OS Feature Descriptor - -// Extended Compat ID OS Feature Descriptor Function Section -// Enable creation of function section in Extended Compat ID OS Feature Descriptor for this interface. -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_COMPAT_ID_EN 1 - -// compatibleID -// compatibleID field of function section in Extended Compat ID OS Feature Descriptor for this interface. -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_COMPAT_ID "WINUSB" - -// subCompatibleID -// subCompatibleID field of function section in Extended Compat ID OS Feature Descriptor for this interface. -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_SUBCOMPAT_ID "" - -// - -// Extended Properties OS Feature Descriptor -// Custom Property Section 0 -// Enable creation of custom property 0 section in Extended Properties OS Feature Descriptor. -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP0_EN 1 - -// Data Type -// Specifies the dwPropertyDataType field of custom property 0 section in Extended Properties OS Feature Descriptor. -// Values 3 (Free-form binary) and 7 (Multiple Unicode Strings) are not supported. -// <1=>Unicode String (REG_SZ) -// <2=>Unicode String with environment variables (REG_EXPAND_SZ) -// <4=>Little-endian 32-bit integer (REG_DWORD_LITTLE_ENDIAN) -// <5=>Big-endian 32-bit integer (REG_DWORD_BIG_ENDIAN) -// <6=>Unicode String with symbolic link (REG_LINK) -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP0_DATA_TYP 1 - -// Name -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP0_NAME L"DeviceInterfaceGUID" - -// Data -// Unicode String -// Property Data in case Data Type is selected as Unicode String. -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP0_DATA_STR L"{CDB3B5AD-293B-4663-AA36-1AAE46463776}" - -// 32-bit Integer -// Property Data in case Data Type is selected as Little/Big-endian 32-bit Integer. -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP0_DATA_INT 0 - -// -// - -// Custom Property Section 1 -// Enable creation of custom property 1 section in Extended Properties OS Feature Descriptor. -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP1_EN 0 - -// Data Type -// Specifies the dwPropertyDataType field of custom property 1 section in Extended Properties OS Feature Descriptor. -// Values 3 (Free-form binary) and 7 (Multiple Unicode Strings) are not supported. -// <1=>Unicode String (REG_SZ) -// <2=>Unicode String with environment variables (REG_EXPAND_SZ) -// <4=>Little-endian 32-bit integer (REG_DWORD_LITTLE_ENDIAN) -// <5=>Big-endian 32-bit integer (REG_DWORD_BIG_ENDIAN) -// <6=>Unicode String with symbolic link (REG_LINK) -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP1_DATA_TYP 1 - -// Name -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP1_NAME L"" - -// Data -// Unicode String -// Property Data in case Data Type is selected as Unicode String. -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP1_DATA_STR L"" - -// 32-bit Integer -// Property Data in case Data Type is selected as Little/Big-endian 32-bit Integer. -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP1_DATA_INT 0 - -// -// - -// Custom Property Section 2 -// Enable creation of custom property 2 section in Extended Properties OS Feature Descriptor. -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP2_EN 0 - -// Data Type -// Specifies the dwPropertyDataType field of custom property 2 section in Extended Properties OS Feature Descriptor. -// Values 3 (Free-form binary) and 7 (Multiple Unicode Strings) are not supported. -// <1=>Unicode String (REG_SZ) -// <2=>Unicode String with environment variables (REG_EXPAND_SZ) -// <4=>Little-endian 32-bit integer (REG_DWORD_LITTLE_ENDIAN) -// <5=>Big-endian 32-bit integer (REG_DWORD_BIG_ENDIAN) -// <6=>Unicode String with symbolic link (REG_LINK) -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP2_DATA_TYP 1 - -// Name -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP2_NAME L"" - -// Data -// Unicode String -// Property Data in case Data Type is selected as Unicode String. -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP2_DATA_STR L"" - -// 32-bit Integer -// Property Data in case Data Type is selected as Little/Big-endian 32-bit Integer. -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP2_DATA_INT 0 - -// -// - -// Custom Property Section 3 -// Enable creation of custom property 3 section in Extended Properties OS Feature Descriptor. -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP3_EN 0 - -// Data Type -// Specifies the dwPropertyDataType field of custom property 3 section in Extended Properties OS Feature Descriptor. -// Values 3 (Free-form binary) and 7 (Multiple Unicode Strings) are not supported. -// <1=>Unicode String (REG_SZ) -// <2=>Unicode String with environment variables (REG_EXPAND_SZ) -// <4=>Little-endian 32-bit integer (REG_DWORD_LITTLE_ENDIAN) -// <5=>Big-endian 32-bit integer (REG_DWORD_BIG_ENDIAN) -// <6=>Unicode String with symbolic link (REG_LINK) -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP3_DATA_TYP 1 - -// Name -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP3_NAME L"" - -// Data -// Unicode String -// Property Data in case Data Type is selected as Unicode String. -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP3_DATA_STR L"" - -// 32-bit Integer -// Property Data in case Data Type is selected as Little/Big-endian 32-bit Integer. -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP3_DATA_INT 0 - -// -// -// -// -// - - -// Interface -#define USBD_CUSTOM_CLASS0_IF1_EN 0 - -// Interface Settings -// The Interface Settings are used to create the Interface Descriptor. -// Refer to USB - USB Concepts - USB Descriptor in the MDK Components -// User's Guide for more information about the Interface Descriptor. - -// Interface Number <0-255> -// Defines the value for bInterfaceNumber -// Each USB Device Interface has a sequential Interface Number starting with 0. -// Several Interfaces may have the same Interface Number; in this case the value -// of Alternate Setting is used to differ between the Interfaces. For a -// composite device the Interface Numbers of the custom classes must be contiguous. -#define USBD_CUSTOM_CLASS0_IF1_NUM 1 - -// Alternate Setting <0=>0 <1=>1 <2=>2 <3=>3 -// Defines the value for bAlternateSetting -// A sequential number starting with 0 to identify the Interface Descriptors -// that share the same value for Interface Number. -#define USBD_CUSTOM_CLASS0_IF1_ALT 0 - -// Class Code -// Class Codes are defined by USB-IF. For more information refer to -// http://www.usb.org/developers/defined_class. -// <0x00=>0x00: Indicate a Null Class Code triple -// <0x01=>0x01: Audio -// <0x02=>0x02: Communications and CDC Control -// <0x03=>0x03: HID (Human Interface Device) -// <0x05=>0x05: Physical -// <0x06=>0x06: Image -// <0x07=>0x07: Printer -// <0x08=>0x08: Mass Storage -// <0x0A=>0x0A: CDC-Data -// <0x0B=>0x0B: Smart Card -// <0x0D=>0x0D: Content Security -// <0x0E=>0x0E: Video -// <0x0F=>0x0F: Personal Healthcare -// <0x10=>0x10: Audio/Video Devices -// <0xDC=>0xDC: Diagnostic Device -// <0xE0=>0xE0: Wireless Controller -// <0xEF=>0xEF: Miscellaneous -// <0xFE=>0xFE: Application Specific -// <0xFF=>0xFF: Vendor Specific -#define USBD_CUSTOM_CLASS0_IF1_CLASS 0xFF - -// Subclass Code <0x00-0xFF> -// The possible values depend on the Class Code: -// Class Code 0x00: Subclass Code must be 0 -// Class Code 0x01 .. 0xFE: Subclass Code is defined by USB-IF -// Class Code 0xFF: Subclass Code can be 0x00 .. 0xFF -#define USBD_CUSTOM_CLASS0_IF1_SUBCLASS 0x00 - -// Protocol Code <0x00-0xFF> -// The Protocol Code value defines the protocol used on this interface: -// Protocol Code 0x00: class-specific protocol not used -// Protocol Code 0x01 .. 0xFE: class-specific protocol used -// Protocol Code 0xFF: vendor-specific protocol used -#define USBD_CUSTOM_CLASS0_IF1_PROTOCOL 0x00 - -// - -// Endpoint Settings -// Following settings are used to create the Endpoint Descriptors. -// Refer to USB - USB Concepts - USB Descriptor in the MDK Components -// User's Guide for more information about Endpoint Descriptors. - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF1_EP0_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF1_EP0_BMATTRIBUTES 0x02 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF1_EP0_BENDPOINTADDRESS 0x01 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF1_EP0_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF1_EP0_FS_BINTERVAL 0 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF1_EP0_HS_WMAXPACKETSIZE 512 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF1_EP0_HS_BINTERVAL 0 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF1_EP1_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF1_EP1_BMATTRIBUTES 0x02 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF1_EP1_BENDPOINTADDRESS 0x81 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF1_EP1_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF1_EP1_FS_BINTERVAL 0 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF1_EP1_HS_WMAXPACKETSIZE 512 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF1_EP1_HS_BINTERVAL 0 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF1_EP2_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF1_EP2_BMATTRIBUTES 0x03 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF1_EP2_BENDPOINTADDRESS 0x02 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF1_EP2_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF1_EP2_FS_BINTERVAL 1 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF1_EP2_HS_WMAXPACKETSIZE 1024 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF1_EP2_HS_BINTERVAL 1 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF1_EP3_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF1_EP3_BMATTRIBUTES 0x03 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF1_EP3_BENDPOINTADDRESS 0x82 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF1_EP3_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF1_EP3_FS_BINTERVAL 1 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF1_EP3_HS_WMAXPACKETSIZE 1024 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF1_EP3_HS_BINTERVAL 1 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF1_EP4_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF1_EP4_BMATTRIBUTES 0x01 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF1_EP4_BENDPOINTADDRESS 0x03 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF1_EP4_FS_WMAXPACKETSIZE 1023 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF1_EP4_FS_BINTERVAL 1 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF1_EP4_HS_WMAXPACKETSIZE 1024 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF1_EP4_HS_BINTERVAL 1 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF1_EP5_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF1_EP5_BMATTRIBUTES 0x01 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF1_EP5_BENDPOINTADDRESS 0x83 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF1_EP5_FS_WMAXPACKETSIZE 1023 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF1_EP5_FS_BINTERVAL 1 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF1_EP5_HS_WMAXPACKETSIZE 1024 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF1_EP5_HS_BINTERVAL 1 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF1_EP6_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF1_EP6_BMATTRIBUTES 0x02 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF1_EP6_BENDPOINTADDRESS 0x04 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF1_EP6_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF1_EP6_FS_BINTERVAL 0 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF1_EP6_HS_WMAXPACKETSIZE 512 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF1_EP6_HS_BINTERVAL 0 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF1_EP7_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF1_EP7_BMATTRIBUTES 0x02 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF1_EP7_BENDPOINTADDRESS 0x84 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF1_EP7_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF1_EP7_FS_BINTERVAL 0 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF1_EP7_HS_WMAXPACKETSIZE 512 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF1_EP7_HS_BINTERVAL 0 - -// -// -// -// - -// String Settings -// Following settings are used to create String Descriptor(s) - -// Interface String Enable -// Enable Interface String. -// If disabled Interface String will not be assigned to USB Device Custom Class Interface 1. -#define USBD_CUSTOM_CLASS0_IF1_STR_EN 0 - -// Interface String -#define USBD_CUSTOM_CLASS0_IF1_STR L"USB_CUSTOM_CLASS0_IF1" - -// -// - -// Microsoft OS Descriptor Settings -// Following settings are used to create Extended Compat ID OS Feature Descriptor - -// Extended Compat ID OS Feature Descriptor Function Section -// Enable creation of function section in Extended Compat ID OS Feature Descriptor for this interface. -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_COMPAT_ID_EN 0 - -// compatibleID -// compatibleID field of function section in Extended Compat ID OS Feature Descriptor for this interface. -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_COMPAT_ID "WINUSB" - -// subCompatibleID -// subCompatibleID field of function section in Extended Compat ID OS Feature Descriptor for this interface. -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_SUBCOMPAT_ID "" - -// - -// Extended Properties OS Feature Descriptor -// Custom Property Section 0 -// Enable creation of custom property 0 section in Extended Properties OS Feature Descriptor. -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP0_EN 0 - -// Data Type -// Specifies the dwPropertyDataType field of custom property 0 section in Extended Properties OS Feature Descriptor. -// Values 3 (Free-form binary) and 7 (Multiple Unicode Strings) are not supported. -// <1=>Unicode String (REG_SZ) -// <2=>Unicode String with environment variables (REG_EXPAND_SZ) -// <4=>Little-endian 32-bit integer (REG_DWORD_LITTLE_ENDIAN) -// <5=>Big-endian 32-bit integer (REG_DWORD_BIG_ENDIAN) -// <6=>Unicode String with symbolic link (REG_LINK) -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP0_DATA_TYP 1 - -// Name -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP0_NAME L"DeviceInterfaceGUID" - -// Data -// Unicode String -// Property Data in case Data Type is selected as Unicode String. -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP0_DATA_STR L"{7D9ADCFC-E570-4B38-BF4E-8F81F68964E0}" - -// 32-bit Integer -// Property Data in case Data Type is selected as Little/Big-endian 32-bit Integer. -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP0_DATA_INT 0 - -// -// - -// Custom Property Section 1 -// Enable creation of custom property 1 section in Extended Properties OS Feature Descriptor. -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP1_EN 0 - -// Data Type -// Specifies the dwPropertyDataType field of custom property 1 section in Extended Properties OS Feature Descriptor. -// Values 3 (Free-form binary) and 7 (Multiple Unicode Strings) are not supported. -// <1=>Unicode String (REG_SZ) -// <2=>Unicode String with environment variables (REG_EXPAND_SZ) -// <4=>Little-endian 32-bit integer (REG_DWORD_LITTLE_ENDIAN) -// <5=>Big-endian 32-bit integer (REG_DWORD_BIG_ENDIAN) -// <6=>Unicode String with symbolic link (REG_LINK) -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP1_DATA_TYP 1 - -// Name -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP1_NAME L"" - -// Data -// Unicode String -// Property Data in case Data Type is selected as Unicode String. -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP1_DATA_STR L"" - -// 32-bit Integer -// Property Data in case Data Type is selected as Little/Big-endian 32-bit Integer. -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP1_DATA_INT 0 - -// -// - -// Custom Property Section 2 -// Enable creation of custom property 2 section in Extended Properties OS Feature Descriptor. -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP2_EN 0 - -// Data Type -// Specifies the dwPropertyDataType field of custom property 2 section in Extended Properties OS Feature Descriptor. -// Values 3 (Free-form binary) and 7 (Multiple Unicode Strings) are not supported. -// <1=>Unicode String (REG_SZ) -// <2=>Unicode String with environment variables (REG_EXPAND_SZ) -// <4=>Little-endian 32-bit integer (REG_DWORD_LITTLE_ENDIAN) -// <5=>Big-endian 32-bit integer (REG_DWORD_BIG_ENDIAN) -// <6=>Unicode String with symbolic link (REG_LINK) -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP2_DATA_TYP 1 - -// Name -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP2_NAME L"" - -// Data -// Unicode String -// Property Data in case Data Type is selected as Unicode String. -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP2_DATA_STR L"" - -// 32-bit Integer -// Property Data in case Data Type is selected as Little/Big-endian 32-bit Integer. -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP2_DATA_INT 0 - -// -// - -// Custom Property Section 3 -// Enable creation of custom property 3 section in Extended Properties OS Feature Descriptor. -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP3_EN 0 - -// Data Type -// Specifies the dwPropertyDataType field of custom property 3 section in Extended Properties OS Feature Descriptor. -// Values 3 (Free-form binary) and 7 (Multiple Unicode Strings) are not supported. -// <1=>Unicode String (REG_SZ) -// <2=>Unicode String with environment variables (REG_EXPAND_SZ) -// <4=>Little-endian 32-bit integer (REG_DWORD_LITTLE_ENDIAN) -// <5=>Big-endian 32-bit integer (REG_DWORD_BIG_ENDIAN) -// <6=>Unicode String with symbolic link (REG_LINK) -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP3_DATA_TYP 1 - -// Name -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP3_NAME L"" - -// Data -// Unicode String -// Property Data in case Data Type is selected as Unicode String. -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP3_DATA_STR L"" - -// 32-bit Integer -// Property Data in case Data Type is selected as Little/Big-endian 32-bit Integer. -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP3_DATA_INT 0 - -// -// -// -// -// - - -// Interface -#define USBD_CUSTOM_CLASS0_IF2_EN 0 - -// Interface Settings -// The Interface Settings are used to create the Interface Descriptor. -// Refer to USB - USB Concepts - USB Descriptor in the MDK Components -// User's Guide for more information about the Interface Descriptor. - -// Interface Number <0-255> -// Defines the value for bInterfaceNumber -// Each USB Device Interface has a sequential Interface Number starting with 0. -// Several Interfaces may have the same Interface Number; in this case the value -// of Alternate Setting is used to differ between the Interfaces. For a -// composite device the Interface Numbers of the custom classes must be contiguous. -#define USBD_CUSTOM_CLASS0_IF2_NUM 2 - -// Alternate Setting <0=>0 <1=>1 <2=>2 <3=>3 -// Defines the value for bAlternateSetting -// A sequential number starting with 0 to identify the Interface Descriptors -// that share the same value for Interface Number. -#define USBD_CUSTOM_CLASS0_IF2_ALT 0 - -// Class Code -// Class Codes are defined by USB-IF. For more information refer to -// http://www.usb.org/developers/defined_class. -// <0x00=>0x00: Indicate a Null Class Code triple -// <0x01=>0x01: Audio -// <0x02=>0x02: Communications and CDC Control -// <0x03=>0x03: HID (Human Interface Device) -// <0x05=>0x05: Physical -// <0x06=>0x06: Image -// <0x07=>0x07: Printer -// <0x08=>0x08: Mass Storage -// <0x0A=>0x0A: CDC-Data -// <0x0B=>0x0B: Smart Card -// <0x0D=>0x0D: Content Security -// <0x0E=>0x0E: Video -// <0x0F=>0x0F: Personal Healthcare -// <0x10=>0x10: Audio/Video Devices -// <0xDC=>0xDC: Diagnostic Device -// <0xE0=>0xE0: Wireless Controller -// <0xEF=>0xEF: Miscellaneous -// <0xFE=>0xFE: Application Specific -// <0xFF=>0xFF: Vendor Specific -#define USBD_CUSTOM_CLASS0_IF2_CLASS 0xFF - -// Subclass Code <0x00-0xFF> -// The possible values depend on the Class Code: -// Class Code 0x00: Subclass Code must be 0 -// Class Code 0x01 .. 0xFE: Subclass Code is defined by USB-IF -// Class Code 0xFF: Subclass Code can be 0x00 .. 0xFF -#define USBD_CUSTOM_CLASS0_IF2_SUBCLASS 0x00 - -// Protocol Code <0x00-0xFF> -// The Protocol Code value defines the protocol used on this interface: -// Protocol Code 0x00: class-specific protocol not used -// Protocol Code 0x01 .. 0xFE: class-specific protocol used -// Protocol Code 0xFF: vendor-specific protocol used -#define USBD_CUSTOM_CLASS0_IF2_PROTOCOL 0x00 - -// - -// Endpoint Settings -// Following settings are used to create the Endpoint Descriptors. -// Refer to USB - USB Concepts - USB Descriptor in the MDK Components -// User's Guide for more information about Endpoint Descriptors. - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF2_EP0_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF2_EP0_BMATTRIBUTES 0x02 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF2_EP0_BENDPOINTADDRESS 0x01 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF2_EP0_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF2_EP0_FS_BINTERVAL 0 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF2_EP0_HS_WMAXPACKETSIZE 512 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF2_EP0_HS_BINTERVAL 0 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF2_EP1_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF2_EP1_BMATTRIBUTES 0x02 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF2_EP1_BENDPOINTADDRESS 0x81 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF2_EP1_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF2_EP1_FS_BINTERVAL 0 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF2_EP1_HS_WMAXPACKETSIZE 512 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF2_EP1_HS_BINTERVAL 0 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF2_EP2_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF2_EP2_BMATTRIBUTES 0x03 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF2_EP2_BENDPOINTADDRESS 0x02 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF2_EP2_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF2_EP2_FS_BINTERVAL 1 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF2_EP2_HS_WMAXPACKETSIZE 1024 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF2_EP2_HS_BINTERVAL 1 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF2_EP3_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF2_EP3_BMATTRIBUTES 0x03 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF2_EP3_BENDPOINTADDRESS 0x82 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF2_EP3_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF2_EP3_FS_BINTERVAL 1 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF2_EP3_HS_WMAXPACKETSIZE 1024 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF2_EP3_HS_BINTERVAL 1 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF2_EP4_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF2_EP4_BMATTRIBUTES 0x01 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF2_EP4_BENDPOINTADDRESS 0x03 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF2_EP4_FS_WMAXPACKETSIZE 1023 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF2_EP4_FS_BINTERVAL 1 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF2_EP4_HS_WMAXPACKETSIZE 1024 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF2_EP4_HS_BINTERVAL 1 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF2_EP5_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF2_EP5_BMATTRIBUTES 0x01 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF2_EP5_BENDPOINTADDRESS 0x83 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF2_EP5_FS_WMAXPACKETSIZE 1023 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF2_EP5_FS_BINTERVAL 1 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF2_EP5_HS_WMAXPACKETSIZE 1024 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF2_EP5_HS_BINTERVAL 1 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF2_EP6_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF2_EP6_BMATTRIBUTES 0x02 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF2_EP6_BENDPOINTADDRESS 0x04 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF2_EP6_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF2_EP6_FS_BINTERVAL 0 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF2_EP6_HS_WMAXPACKETSIZE 512 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF2_EP6_HS_BINTERVAL 0 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF2_EP7_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF2_EP7_BMATTRIBUTES 0x02 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF2_EP7_BENDPOINTADDRESS 0x84 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF2_EP7_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF2_EP7_FS_BINTERVAL 0 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF2_EP7_HS_WMAXPACKETSIZE 512 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF2_EP7_HS_BINTERVAL 0 - -// -// -// -// - -// String Settings -// Following settings are used to create String Descriptor(s) - -// Interface String Enable -// Enable Interface String. -// If disabled Interface String will not be assigned to USB Device Custom Class Interface 2. -#define USBD_CUSTOM_CLASS0_IF2_STR_EN 0 - -// Interface String -#define USBD_CUSTOM_CLASS0_IF2_STR L"USB_CUSTOM_CLASS0_IF2" - -// -// - -// Microsoft OS Descriptor Settings -// Following settings are used to create Extended Compat ID OS Feature Descriptor - -// Extended Compat ID OS Feature Descriptor Function Section -// Enable creation of function section in Extended Compat ID OS Feature Descriptor for this interface. -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_COMPAT_ID_EN 0 - -// compatibleID -// compatibleID field of function section in Extended Compat ID OS Feature Descriptor for this interface. -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_COMPAT_ID "WINUSB" - -// subCompatibleID -// subCompatibleID field of function section in Extended Compat ID OS Feature Descriptor for this interface. -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_SUBCOMPAT_ID "" - -// - -// Extended Properties OS Feature Descriptor -// Custom Property Section 0 -// Enable creation of custom property 0 section in Extended Properties OS Feature Descriptor. -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP0_EN 0 - -// Data Type -// Specifies the dwPropertyDataType field of custom property 0 section in Extended Properties OS Feature Descriptor. -// Values 3 (Free-form binary) and 7 (Multiple Unicode Strings) are not supported. -// <1=>Unicode String (REG_SZ) -// <2=>Unicode String with environment variables (REG_EXPAND_SZ) -// <4=>Little-endian 32-bit integer (REG_DWORD_LITTLE_ENDIAN) -// <5=>Big-endian 32-bit integer (REG_DWORD_BIG_ENDIAN) -// <6=>Unicode String with symbolic link (REG_LINK) -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP0_DATA_TYP 1 - -// Name -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP0_NAME L"DeviceInterfaceGUID" - -// Data -// Unicode String -// Property Data in case Data Type is selected as Unicode String. -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP0_DATA_STR L"{7D9ADCFC-E570-4B38-BF4E-8F81F68964E0}" - -// 32-bit Integer -// Property Data in case Data Type is selected as Little/Big-endian 32-bit Integer. -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP0_DATA_INT 0 - -// -// - -// Custom Property Section 1 -// Enable creation of custom property 1 section in Extended Properties OS Feature Descriptor. -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP1_EN 0 - -// Data Type -// Specifies the dwPropertyDataType field of custom property 1 section in Extended Properties OS Feature Descriptor. -// Values 3 (Free-form binary) and 7 (Multiple Unicode Strings) are not supported. -// <1=>Unicode String (REG_SZ) -// <2=>Unicode String with environment variables (REG_EXPAND_SZ) -// <4=>Little-endian 32-bit integer (REG_DWORD_LITTLE_ENDIAN) -// <5=>Big-endian 32-bit integer (REG_DWORD_BIG_ENDIAN) -// <6=>Unicode String with symbolic link (REG_LINK) -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP1_DATA_TYP 1 - -// Name -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP1_NAME L"" - -// Data -// Unicode String -// Property Data in case Data Type is selected as Unicode String. -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP1_DATA_STR L"" - -// 32-bit Integer -// Property Data in case Data Type is selected as Little/Big-endian 32-bit Integer. -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP1_DATA_INT 0 - -// -// - -// Custom Property Section 2 -// Enable creation of custom property 2 section in Extended Properties OS Feature Descriptor. -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP2_EN 0 - -// Data Type -// Specifies the dwPropertyDataType field of custom property 2 section in Extended Properties OS Feature Descriptor. -// Values 3 (Free-form binary) and 7 (Multiple Unicode Strings) are not supported. -// <1=>Unicode String (REG_SZ) -// <2=>Unicode String with environment variables (REG_EXPAND_SZ) -// <4=>Little-endian 32-bit integer (REG_DWORD_LITTLE_ENDIAN) -// <5=>Big-endian 32-bit integer (REG_DWORD_BIG_ENDIAN) -// <6=>Unicode String with symbolic link (REG_LINK) -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP2_DATA_TYP 1 - -// Name -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP2_NAME L"" - -// Data -// Unicode String -// Property Data in case Data Type is selected as Unicode String. -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP2_DATA_STR L"" - -// 32-bit Integer -// Property Data in case Data Type is selected as Little/Big-endian 32-bit Integer. -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP2_DATA_INT 0 - -// -// - -// Custom Property Section 3 -// Enable creation of custom property 3 section in Extended Properties OS Feature Descriptor. -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP3_EN 0 - -// Data Type -// Specifies the dwPropertyDataType field of custom property 3 section in Extended Properties OS Feature Descriptor. -// Values 3 (Free-form binary) and 7 (Multiple Unicode Strings) are not supported. -// <1=>Unicode String (REG_SZ) -// <2=>Unicode String with environment variables (REG_EXPAND_SZ) -// <4=>Little-endian 32-bit integer (REG_DWORD_LITTLE_ENDIAN) -// <5=>Big-endian 32-bit integer (REG_DWORD_BIG_ENDIAN) -// <6=>Unicode String with symbolic link (REG_LINK) -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP3_DATA_TYP 1 - -// Name -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP3_NAME L"" - -// Data -// Unicode String -// Property Data in case Data Type is selected as Unicode String. -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP3_DATA_STR L"" - -// 32-bit Integer -// Property Data in case Data Type is selected as Little/Big-endian 32-bit Integer. -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP3_DATA_INT 0 - -// -// -// -// -// - - -// Interface -#define USBD_CUSTOM_CLASS0_IF3_EN 0 - -// Interface Settings -// The Interface Settings are used to create the Interface Descriptor. -// Refer to USB - USB Concepts - USB Descriptor in the MDK Components -// User's Guide for more information about the Interface Descriptor. - -// Interface Number <0-255> -// Defines the value for bInterfaceNumber -// Each USB Device Interface has a sequential Interface Number starting with 0. -// Several Interfaces may have the same Interface Number; in this case the value -// of Alternate Setting is used to differ between the Interfaces. For a -// composite device the Interface Numbers of the custom classes must be contiguous. -#define USBD_CUSTOM_CLASS0_IF3_NUM 3 - -// Alternate Setting <0=>0 <1=>1 <2=>2 <3=>3 -// Defines the value for bAlternateSetting -// A sequential number starting with 0 to identify the Interface Descriptors -// that share the same value for Interface Number. -#define USBD_CUSTOM_CLASS0_IF3_ALT 0 - -// Class Code -// Class Codes are defined by USB-IF. For more information refer to -// http://www.usb.org/developers/defined_class. -// <0x00=>0x00: Indicate a Null Class Code triple -// <0x01=>0x01: Audio -// <0x02=>0x02: Communications and CDC Control -// <0x03=>0x03: HID (Human Interface Device) -// <0x05=>0x05: Physical -// <0x06=>0x06: Image -// <0x07=>0x07: Printer -// <0x08=>0x08: Mass Storage -// <0x0A=>0x0A: CDC-Data -// <0x0B=>0x0B: Smart Card -// <0x0D=>0x0D: Content Security -// <0x0E=>0x0E: Video -// <0x0F=>0x0F: Personal Healthcare -// <0x10=>0x10: Audio/Video Devices -// <0xDC=>0xDC: Diagnostic Device -// <0xE0=>0xE0: Wireless Controller -// <0xEF=>0xEF: Miscellaneous -// <0xFE=>0xFE: Application Specific -// <0xFF=>0xFF: Vendor Specific -#define USBD_CUSTOM_CLASS0_IF3_CLASS 0xFF - -// Subclass Code <0x00-0xFF> -// The possible values depend on the Class Code: -// Class Code 0x00: Subclass Code must be 0 -// Class Code 0x01 .. 0xFE: Subclass Code is defined by USB-IF -// Class Code 0xFF: Subclass Code can be 0x00 .. 0xFF -#define USBD_CUSTOM_CLASS0_IF3_SUBCLASS 0x00 - -// Protocol Code <0x00-0xFF> -// The Protocol Code value defines the protocol used on this interface: -// Protocol Code 0x00: class-specific protocol not used -// Protocol Code 0x01 .. 0xFE: class-specific protocol used -// Protocol Code 0xFF: vendor-specific protocol used -#define USBD_CUSTOM_CLASS0_IF3_PROTOCOL 0x00 - -// - -// Endpoint Settings -// Following settings are used to create the Endpoint Descriptors. -// Refer to USB - USB Concepts - USB Descriptor in the MDK Components -// User's Guide for more information about Endpoint Descriptors. - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF3_EP0_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF3_EP0_BMATTRIBUTES 0x02 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF3_EP0_BENDPOINTADDRESS 0x01 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF3_EP0_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF3_EP0_FS_BINTERVAL 0 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF3_EP0_HS_WMAXPACKETSIZE 512 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF3_EP0_HS_BINTERVAL 0 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF3_EP1_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF3_EP1_BMATTRIBUTES 0x02 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF3_EP1_BENDPOINTADDRESS 0x81 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF3_EP1_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF3_EP1_FS_BINTERVAL 0 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF3_EP1_HS_WMAXPACKETSIZE 512 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF3_EP1_HS_BINTERVAL 0 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF3_EP2_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF3_EP2_BMATTRIBUTES 0x03 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF3_EP2_BENDPOINTADDRESS 0x02 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF3_EP2_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF3_EP2_FS_BINTERVAL 1 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF3_EP2_HS_WMAXPACKETSIZE 1024 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF3_EP2_HS_BINTERVAL 1 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF3_EP3_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF3_EP3_BMATTRIBUTES 0x03 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF3_EP3_BENDPOINTADDRESS 0x82 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF3_EP3_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF3_EP3_FS_BINTERVAL 1 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF3_EP3_HS_WMAXPACKETSIZE 1024 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF3_EP3_HS_BINTERVAL 1 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF3_EP4_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF3_EP4_BMATTRIBUTES 0x01 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF3_EP4_BENDPOINTADDRESS 0x03 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF3_EP4_FS_WMAXPACKETSIZE 1023 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF3_EP4_FS_BINTERVAL 1 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF3_EP4_HS_WMAXPACKETSIZE 1024 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF3_EP4_HS_BINTERVAL 1 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF3_EP5_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF3_EP5_BMATTRIBUTES 0x01 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF3_EP5_BENDPOINTADDRESS 0x83 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF3_EP5_FS_WMAXPACKETSIZE 1023 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF3_EP5_FS_BINTERVAL 1 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF3_EP5_HS_WMAXPACKETSIZE 1024 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF3_EP5_HS_BINTERVAL 1 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF3_EP6_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF3_EP6_BMATTRIBUTES 0x02 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF3_EP6_BENDPOINTADDRESS 0x04 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF3_EP6_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF3_EP6_FS_BINTERVAL 0 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF3_EP6_HS_WMAXPACKETSIZE 512 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF3_EP6_HS_BINTERVAL 0 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF3_EP7_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF3_EP7_BMATTRIBUTES 0x02 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF3_EP7_BENDPOINTADDRESS 0x84 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF3_EP7_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF3_EP7_FS_BINTERVAL 0 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF3_EP7_HS_WMAXPACKETSIZE 512 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF3_EP7_HS_BINTERVAL 0 - -// -// -// -// - -// String Settings -// Following settings are used to create String Descriptor(s) - -// Interface String Enable -// Enable Interface String. -// If disabled Interface String will not be assigned to USB Device Custom Class Interface 3. -#define USBD_CUSTOM_CLASS0_IF3_STR_EN 0 - -// Interface String -#define USBD_CUSTOM_CLASS0_IF3_STR L"USB_CUSTOM_CLASS0_IF3" - -// -// - -// Microsoft OS Descriptor Settings -// Following settings are used to create Extended Compat ID OS Feature Descriptor - -// Extended Compat ID OS Feature Descriptor Function Section -// Enable creation of function section in Extended Compat ID OS Feature Descriptor for this interface. -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_COMPAT_ID_EN 0 - -// compatibleID -// compatibleID field of function section in Extended Compat ID OS Feature Descriptor for this interface. -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_COMPAT_ID "WINUSB" - -// subCompatibleID -// subCompatibleID field of function section in Extended Compat ID OS Feature Descriptor for this interface. -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_SUBCOMPAT_ID "" - -// - -// Extended Properties OS Feature Descriptor -// Custom Property Section 0 -// Enable creation of custom property 0 section in Extended Properties OS Feature Descriptor. -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP0_EN 0 - -// Data Type -// Specifies the dwPropertyDataType field of custom property 0 section in Extended Properties OS Feature Descriptor. -// Values 3 (Free-form binary) and 7 (Multiple Unicode Strings) are not supported. -// <1=>Unicode String (REG_SZ) -// <2=>Unicode String with environment variables (REG_EXPAND_SZ) -// <4=>Little-endian 32-bit integer (REG_DWORD_LITTLE_ENDIAN) -// <5=>Big-endian 32-bit integer (REG_DWORD_BIG_ENDIAN) -// <6=>Unicode String with symbolic link (REG_LINK) -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP0_DATA_TYP 1 - -// Name -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP0_NAME L"DeviceInterfaceGUID" - -// Data -// Unicode String -// Property Data in case Data Type is selected as Unicode String. -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP0_DATA_STR L"{7D9ADCFC-E570-4B38-BF4E-8F81F68964E0}" - -// 32-bit Integer -// Property Data in case Data Type is selected as Little/Big-endian 32-bit Integer. -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP0_DATA_INT 0 - -// -// - -// Custom Property Section 1 -// Enable creation of custom property 1 section in Extended Properties OS Feature Descriptor. -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP1_EN 0 - -// Data Type -// Specifies the dwPropertyDataType field of custom property 1 section in Extended Properties OS Feature Descriptor. -// Values 3 (Free-form binary) and 7 (Multiple Unicode Strings) are not supported. -// <1=>Unicode String (REG_SZ) -// <2=>Unicode String with environment variables (REG_EXPAND_SZ) -// <4=>Little-endian 32-bit integer (REG_DWORD_LITTLE_ENDIAN) -// <5=>Big-endian 32-bit integer (REG_DWORD_BIG_ENDIAN) -// <6=>Unicode String with symbolic link (REG_LINK) -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP1_DATA_TYP 1 - -// Name -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP1_NAME L"" - -// Data -// Unicode String -// Property Data in case Data Type is selected as Unicode String. -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP1_DATA_STR L"" - -// 32-bit Integer -// Property Data in case Data Type is selected as Little/Big-endian 32-bit Integer. -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP1_DATA_INT 0 - -// -// - -// Custom Property Section 2 -// Enable creation of custom property 2 section in Extended Properties OS Feature Descriptor. -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP2_EN 0 - -// Data Type -// Specifies the dwPropertyDataType field of custom property 2 section in Extended Properties OS Feature Descriptor. -// Values 3 (Free-form binary) and 7 (Multiple Unicode Strings) are not supported. -// <1=>Unicode String (REG_SZ) -// <2=>Unicode String with environment variables (REG_EXPAND_SZ) -// <4=>Little-endian 32-bit integer (REG_DWORD_LITTLE_ENDIAN) -// <5=>Big-endian 32-bit integer (REG_DWORD_BIG_ENDIAN) -// <6=>Unicode String with symbolic link (REG_LINK) -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP2_DATA_TYP 1 - -// Name -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP2_NAME L"" - -// Data -// Unicode String -// Property Data in case Data Type is selected as Unicode String. -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP2_DATA_STR L"" - -// 32-bit Integer -// Property Data in case Data Type is selected as Little/Big-endian 32-bit Integer. -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP2_DATA_INT 0 - -// -// - -// Custom Property Section 3 -// Enable creation of custom property 3 section in Extended Properties OS Feature Descriptor. -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP3_EN 0 - -// Data Type -// Specifies the dwPropertyDataType field of custom property 3 section in Extended Properties OS Feature Descriptor. -// Values 3 (Free-form binary) and 7 (Multiple Unicode Strings) are not supported. -// <1=>Unicode String (REG_SZ) -// <2=>Unicode String with environment variables (REG_EXPAND_SZ) -// <4=>Little-endian 32-bit integer (REG_DWORD_LITTLE_ENDIAN) -// <5=>Big-endian 32-bit integer (REG_DWORD_BIG_ENDIAN) -// <6=>Unicode String with symbolic link (REG_LINK) -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP3_DATA_TYP 1 - -// Name -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP3_NAME L"" - -// Data -// Unicode String -// Property Data in case Data Type is selected as Unicode String. -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP3_DATA_STR L"" - -// 32-bit Integer -// Property Data in case Data Type is selected as Little/Big-endian 32-bit Integer. -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP3_DATA_INT 0 - -// -// -// -// -// - - -// OS Resources Settings -// These settings are used to optimize usage of OS resources. -// Endpoint 1 Thread Stack Size <64-65536> -// This setting is used if Endpoint 1 is enabled. -#define USBD_CUSTOM_CLASS0_EP1_THREAD_STACK_SIZE 512 - -// Endpoint 1 Thread Priority -#define USBD_CUSTOM_CLASS0_EP1_THREAD_PRIORITY osPriorityAboveNormal - -// Endpoint 2 Thread Stack Size <64-65536> -// This setting is used if Endpoint 2 is enabled. -#define USBD_CUSTOM_CLASS0_EP2_THREAD_STACK_SIZE 512 - -// Endpoint 2 Thread Priority -#define USBD_CUSTOM_CLASS0_EP2_THREAD_PRIORITY osPriorityAboveNormal - -// Endpoint 3 Thread Stack Size <64-65536> -// This setting is used if Endpoint 3 is enabled. -#define USBD_CUSTOM_CLASS0_EP3_THREAD_STACK_SIZE 512 - -// Endpoint 3 Thread Priority -#define USBD_CUSTOM_CLASS0_EP3_THREAD_PRIORITY osPriorityAboveNormal - -// Endpoint 4 Thread Stack Size <64-65536> -// This setting is used if Endpoint 4 is enabled. -#define USBD_CUSTOM_CLASS0_EP4_THREAD_STACK_SIZE 512 - -// Endpoint 4 Thread Priority -#define USBD_CUSTOM_CLASS0_EP4_THREAD_PRIORITY osPriorityAboveNormal - -// Endpoint 5 Thread Stack Size <64-65536> -// This setting is used if Endpoint 5 is enabled. -#define USBD_CUSTOM_CLASS0_EP5_THREAD_STACK_SIZE 512 - -// Endpoint 5 Thread Priority -#define USBD_CUSTOM_CLASS0_EP5_THREAD_PRIORITY osPriorityAboveNormal - -// Endpoint 6 Thread Stack Size <64-65536> -// This setting is used if Endpoint 6 is enabled. -#define USBD_CUSTOM_CLASS0_EP6_THREAD_STACK_SIZE 512 - -// Endpoint 6 Thread Priority -#define USBD_CUSTOM_CLASS0_EP6_THREAD_PRIORITY osPriorityAboveNormal - -// Endpoint 7 Thread Stack Size <64-65536> -// This setting is used if Endpoint 7 is enabled. -#define USBD_CUSTOM_CLASS0_EP7_THREAD_STACK_SIZE 512 - -// Endpoint 7 Thread Priority -#define USBD_CUSTOM_CLASS0_EP7_THREAD_PRIORITY osPriorityAboveNormal - -// Endpoint 8 Thread Stack Size <64-65536> -// This setting is used if Endpoint 8 is enabled. -#define USBD_CUSTOM_CLASS0_EP8_THREAD_STACK_SIZE 512 - -// Endpoint 8 Thread Priority -#define USBD_CUSTOM_CLASS0_EP8_THREAD_PRIORITY osPriorityAboveNormal - -// Endpoint 9 Thread Stack Size <64-65536> -// This setting is used if Endpoint 9 is enabled. -#define USBD_CUSTOM_CLASS0_EP9_THREAD_STACK_SIZE 512 - -// Endpoint 9 Thread Priority -#define USBD_CUSTOM_CLASS0_EP9_THREAD_PRIORITY osPriorityAboveNormal - -// Endpoint 10 Thread Stack Size <64-65536> -// This setting is used if Endpoint 10 is enabled. -#define USBD_CUSTOM_CLASS0_EP10_THREAD_STACK_SIZE 512 - -// Endpoint 10 Thread Priority -#define USBD_CUSTOM_CLASS0_EP10_THREAD_PRIORITY osPriorityAboveNormal - -// Endpoint 11 Thread Stack Size <64-65536> -// This setting is used if Endpoint 11 is enabled. -#define USBD_CUSTOM_CLASS0_EP11_THREAD_STACK_SIZE 512 - -// Endpoint 11 Thread Priority -#define USBD_CUSTOM_CLASS0_EP11_THREAD_PRIORITY osPriorityAboveNormal - -// Endpoint 12 Thread Stack Size <64-65536> -// This setting is used if Endpoint 12 is enabled. -#define USBD_CUSTOM_CLASS0_EP12_THREAD_STACK_SIZE 512 - -// Endpoint 12 Thread Priority -#define USBD_CUSTOM_CLASS0_EP12_THREAD_PRIORITY osPriorityAboveNormal - -// Endpoint 13 Thread Stack Size <64-65536> -// This setting is used if Endpoint 13 is enabled. -#define USBD_CUSTOM_CLASS0_EP13_THREAD_STACK_SIZE 512 - -// Endpoint 13 Thread Priority -#define USBD_CUSTOM_CLASS0_EP13_THREAD_PRIORITY osPriorityAboveNormal - -// Endpoint 14 Thread Stack Size <64-65536> -// This setting is used if Endpoint 14 is enabled. -#define USBD_CUSTOM_CLASS0_EP14_THREAD_STACK_SIZE 512 - -// Endpoint 14 Thread Priority -#define USBD_CUSTOM_CLASS0_EP14_THREAD_PRIORITY osPriorityAboveNormal - -// Endpoint 15 Thread Stack Size <64-65536> -// This setting is used if Endpoint 15 is enabled. -#define USBD_CUSTOM_CLASS0_EP15_THREAD_STACK_SIZE 512 - -// Endpoint 15 Thread Priority -#define USBD_CUSTOM_CLASS0_EP15_THREAD_PRIORITY osPriorityAboveNormal - -// -// diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/USBD_User_CDC_ACM_UART_0.c b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/USBD_User_CDC_ACM_UART_0.c deleted file mode 100644 index 7f12203..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/USBD_User_CDC_ACM_UART_0.c +++ /dev/null @@ -1,381 +0,0 @@ -/*------------------------------------------------------------------------------ - * MDK Middleware - Component ::USB:Device:CDC - * Copyright (c) 2004-2021 Arm Limited (or its affiliates). All rights reserved. - *------------------------------------------------------------------------------ - * Name: USBD_User_CDC_ACM_UART_0.c - * Purpose: USB Device Communication Device Class (CDC) - * Abstract Control Model (ACM) USB <-> UART Bridge User module - * Rev.: V1.0.8 - *----------------------------------------------------------------------------*/ -/** - * \addtogroup usbd_cdcFunctions - * - * USBD_User_CDC_ACM_UART_0.c implements the application specific - * functionality of the CDC ACM class and is used to demonstrate a USB <-> UART - * bridge. All data received on USB is transmitted on UART and all data - * received on UART is transmitted on USB. - * - * Details of operation: - * UART -> USB: - * Initial reception on UART is started after the USB Host sets line coding - * with SetLineCoding command. Having received a full UART buffer, any - * new reception is restarted on the same buffer. Any data received on - * the UART is sent over USB using the CDC0_ACM_UART_to_USB_Thread thread. - * USB -> UART: - * While the UART transmit is not busy, data transmission on the UART is - * started in the USBD_CDC0_ACM_DataReceived callback as soon as data is - * received on the USB. Further data received on USB is transmitted on - * UART in the UART callback routine until there is no more data available. - * In this case, the next UART transmit is restarted from the - * USBD_CDC0_ACM_DataReceived callback as soon as new data is received - * on the USB. - * - * The following constants in this module affect the module functionality: - * - * - UART_PORT: specifies UART Port - * default value: 0 (=UART0) - * - UART_BUFFER_SIZE: specifies UART data Buffer Size - * default value: 512 - * - * Notes: - * If the USB is slower than the UART, data can get lost. This may happen - * when USB is pausing during data reception because of the USB Host being - * too loaded with other tasks and not polling the Bulk IN Endpoint often - * enough (up to 2 seconds of gap in polling Bulk IN Endpoint may occur). - * This problem can be solved by using a large enough UART buffer to - * compensate up to a few seconds of received UART data or by using UART - * flow control. - * If the device that receives the UART data (usually a PC) is too loaded - * with other tasks it can also loose UART data. This problem can only be - * solved by using UART flow control. - * - * This file has to be adapted in case of UART flow control usage. - */ - - -//! [code_USBD_User_CDC_ACM] -#include -#include - -#include "rl_usb.h" - -#include "Driver_USART.h" - -#include "DAP_config.h" -#include "DAP.h" - -// UART Configuration ---------------------------------------------------------- - -#define UART_BUFFER_SIZE (512) // UART Buffer Size - -//------------------------------------------------------------------------------ - -#define _UART_Driver_(n) Driver_USART##n -#define UART_Driver_(n) _UART_Driver_(n) -extern ARM_DRIVER_USART UART_Driver_(DAP_UART_DRIVER); -#define ptrUART (&UART_Driver_(DAP_UART_DRIVER)) - -// Local Variables -static uint8_t uart_rx_buf[UART_BUFFER_SIZE]; -static uint8_t uart_tx_buf[UART_BUFFER_SIZE]; - -static volatile int32_t uart_rx_cnt = 0; -static volatile int32_t usb_tx_cnt = 0; - -static void *cdc_acm_bridge_tid = 0U; -static CDC_LINE_CODING cdc_acm_line_coding = { 0U, 0U, 0U, 0U }; - -static uint8_t cdc_acm_active = 1U; -static osMutexId_t cdc_acm_mutex_id = NULL; - -// Acquire mutex -__STATIC_INLINE void CDC_ACM_Lock (void) { - if (cdc_acm_mutex_id == NULL) { - cdc_acm_mutex_id = osMutexNew(NULL); - } - osMutexAcquire(cdc_acm_mutex_id, osWaitForever); -} - -// Release mutex -__STATIC_INLINE void CDC_ACM_Unlock (void) { - osMutexRelease(cdc_acm_mutex_id); -} - -// Change communication settings. -// \param[in] line_coding pointer to CDC_LINE_CODING structure. -// \return true set line coding request processed. -// \return false set line coding request not supported or not processed. -static bool CDC_ACM_SetLineCoding (const CDC_LINE_CODING *line_coding) { - uint32_t data_bits = 0U, parity = 0U, stop_bits = 0U; - int32_t status; - - (void)ptrUART->Control (ARM_USART_ABORT_SEND, 0U); - (void)ptrUART->Control (ARM_USART_ABORT_RECEIVE, 0U); - (void)ptrUART->Control (ARM_USART_CONTROL_TX, 0U); - (void)ptrUART->Control (ARM_USART_CONTROL_RX, 0U); - - switch (line_coding->bCharFormat) { - case 0: // 1 Stop bit - stop_bits = ARM_USART_STOP_BITS_1; - break; - case 1: // 1.5 Stop bits - stop_bits = ARM_USART_STOP_BITS_1_5; - break; - case 2: // 2 Stop bits - stop_bits = ARM_USART_STOP_BITS_2; - break; - default: - return false; - } - - switch (line_coding->bParityType) { - case 0: // None - parity = ARM_USART_PARITY_NONE; - break; - case 1: // Odd - parity = ARM_USART_PARITY_ODD; - break; - case 2: // Even - parity = ARM_USART_PARITY_EVEN; - break; - default: - return false; - } - - switch (line_coding->bDataBits) { - case 5: - data_bits = ARM_USART_DATA_BITS_5; - break; - case 6: - data_bits = ARM_USART_DATA_BITS_6; - break; - case 7: - data_bits = ARM_USART_DATA_BITS_7; - break; - case 8: - data_bits = ARM_USART_DATA_BITS_8; - break; - default: - return false; - } - - status = ptrUART->Control(ARM_USART_MODE_ASYNCHRONOUS | - data_bits | - parity | - stop_bits , - line_coding->dwDTERate ); - - if (status != ARM_DRIVER_OK) { - return false; - } - - // Store requested settings to local variable - memcpy(&cdc_acm_line_coding, line_coding, sizeof(cdc_acm_line_coding)); - - uart_rx_cnt = 0; - usb_tx_cnt = 0; - - (void)ptrUART->Control (ARM_USART_CONTROL_TX, 1U); - (void)ptrUART->Control (ARM_USART_CONTROL_RX, 1U); - - (void)ptrUART->Receive (uart_rx_buf, UART_BUFFER_SIZE); - - return true; -} - -// Activate or Deactivate USBD COM PORT -// \param[in] cmd 0=deactivate, 1=activate -// \return 0=Ok, 0xFF=Error -uint8_t USB_COM_PORT_Activate (uint32_t cmd) { - switch (cmd) { - case 0U: - cdc_acm_active = 0U; - USBD_CDC0_ACM_Uninitialize(); - break; - case 1U: - USBD_CDC0_ACM_Initialize(); - CDC_ACM_Lock(); - CDC_ACM_SetLineCoding(&cdc_acm_line_coding); - cdc_acm_active = 1U; - CDC_ACM_Unlock(); - break; - } - - return 0U; -} - -// Called when UART has transmitted or received requested number of bytes. -// \param[in] event UART event -// - ARM_USART_EVENT_SEND_COMPLETE: all requested data was sent -// - ARM_USART_EVENT_RECEIVE_COMPLETE: all requested data was received -static void UART_Callback (uint32_t event) { - int32_t cnt; - - if (cdc_acm_active == 0U) { - return; - } - - if (event & ARM_USART_EVENT_SEND_COMPLETE) { - // USB -> UART - cnt = USBD_CDC_ACM_ReadData(0U, uart_tx_buf, UART_BUFFER_SIZE); - if (cnt > 0) { - (void)ptrUART->Send(uart_tx_buf, (uint32_t)(cnt)); - } - } - - if (event & ARM_USART_EVENT_RECEIVE_COMPLETE) { - // UART data received, restart new reception - uart_rx_cnt += UART_BUFFER_SIZE; - (void)ptrUART->Receive(uart_rx_buf, UART_BUFFER_SIZE); - } -} - -// Thread: Sends data received on UART to USB -// \param[in] arg not used. -__NO_RETURN static void CDC0_ACM_UART_to_USB_Thread (void *arg) { - int32_t cnt, cnt_to_wrap; - - (void)(arg); - - for (;;) { - // UART - > USB - if (ptrUART->GetStatus().rx_busy != 0U) { - cnt = uart_rx_cnt; - cnt += (int32_t)ptrUART->GetRxCount(); - cnt -= usb_tx_cnt; - if (cnt >= (UART_BUFFER_SIZE - 32)) { - // Dump old data in UART receive buffer if USB is not consuming fast enough - cnt = (UART_BUFFER_SIZE - 32); - usb_tx_cnt = uart_rx_cnt - (UART_BUFFER_SIZE - 32); - } - if (cnt > 0) { - cnt_to_wrap = (int32_t)(UART_BUFFER_SIZE - ((uint32_t)usb_tx_cnt & (UART_BUFFER_SIZE - 1))); - if (cnt > cnt_to_wrap) { - cnt = cnt_to_wrap; - } - cnt = USBD_CDC_ACM_WriteData(0U, (uart_rx_buf + ((uint32_t)usb_tx_cnt & (UART_BUFFER_SIZE - 1))), cnt); - if (cnt > 0) { - usb_tx_cnt += cnt; - } - } - } - (void)osDelay(10U); - } -} - -static osRtxThread_t cdc0_acm_uart_to_usb_thread_cb_mem __SECTION(.bss.os.thread.cb); -static uint64_t cdc0_acm_uart_to_usb_thread_stack_mem[512U / 8U] __SECTION(.bss.os.thread.cdc.stack); -static const osThreadAttr_t cdc0_acm_uart_to_usb_thread_attr = { - "CDC0_ACM_UART_to_USB_Thread", - 0U, - &cdc0_acm_uart_to_usb_thread_cb_mem, - sizeof(osRtxThread_t), - &cdc0_acm_uart_to_usb_thread_stack_mem[0], - sizeof(cdc0_acm_uart_to_usb_thread_stack_mem), - osPriorityNormal, - 0U, - 0U -}; - - -// CDC ACM Callbacks ----------------------------------------------------------- - -// Called when new data was received from the USB Host. -// \param[in] len number of bytes available to read. -void USBD_CDC0_ACM_DataReceived (uint32_t len) { - int32_t cnt; - - (void)(len); - - if (cdc_acm_active == 0U) { - return; - } - - if (ptrUART->GetStatus().tx_busy == 0U) { - // Start USB -> UART - cnt = USBD_CDC_ACM_ReadData(0U, uart_tx_buf, UART_BUFFER_SIZE); - if (cnt > 0) { - (void)ptrUART->Send(uart_tx_buf, (uint32_t)(cnt)); - } - } -} - -// Called during USBD_Initialize to initialize the USB CDC class instance (ACM). -void USBD_CDC0_ACM_Initialize (void) { - (void)ptrUART->Initialize (UART_Callback); - (void)ptrUART->PowerControl (ARM_POWER_FULL); - - cdc_acm_bridge_tid = osThreadNew (CDC0_ACM_UART_to_USB_Thread, NULL, &cdc0_acm_uart_to_usb_thread_attr); -} - - -// Called during USBD_Uninitialize to de-initialize the USB CDC class instance (ACM). -void USBD_CDC0_ACM_Uninitialize (void) { - if (osThreadTerminate (cdc_acm_bridge_tid) == osOK) { - cdc_acm_bridge_tid = NULL; - } - (void)ptrUART->Control (ARM_USART_ABORT_RECEIVE, 0U); - (void)ptrUART->PowerControl (ARM_POWER_OFF); - (void)ptrUART->Uninitialize (); -} - - -// Called upon USB Bus Reset Event. -void USBD_CDC0_ACM_Reset (void) { - if (cdc_acm_active == 0U ) { - return; - } - (void)ptrUART->Control (ARM_USART_ABORT_SEND, 0U); - (void)ptrUART->Control (ARM_USART_ABORT_RECEIVE, 0U); -} - - -// Called upon USB Host request to change communication settings. -// \param[in] line_coding pointer to CDC_LINE_CODING structure. -// \return true set line coding request processed. -// \return false set line coding request not supported or not processed. -bool USBD_CDC0_ACM_SetLineCoding (const CDC_LINE_CODING *line_coding) { - bool ret = false; - - CDC_ACM_Lock(); - if (cdc_acm_active == 0U) { - // Store requested settings to local variable - memcpy(&cdc_acm_line_coding, line_coding, sizeof(cdc_acm_line_coding)); - ret = true; - } else { - ret = CDC_ACM_SetLineCoding(line_coding); - } - CDC_ACM_Unlock(); - - return ret; -} - - -// Called upon USB Host request to retrieve communication settings. -// \param[out] line_coding pointer to CDC_LINE_CODING structure. -// \return true get line coding request processed. -// \return false get line coding request not supported or not processed. -bool USBD_CDC0_ACM_GetLineCoding (CDC_LINE_CODING *line_coding) { - - // Load settings from ones stored on USBD_CDC0_ACM_SetLineCoding callback - *line_coding = cdc_acm_line_coding; - - return true; -} - - -// Called upon USB Host request to set control line states. -// \param [in] state control line settings bitmap. -// - bit 0: DTR state -// - bit 1: RTS state -// \return true set control line state request processed. -// \return false set control line state request not supported or not processed. -bool USBD_CDC0_ACM_SetControlLineState (uint16_t state) { - // Add code for set control line state - - (void)(state); - - return true; -} - -//! [code_USBD_User_CDC_ACM] diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/USBD_User_CustomClass_0.c b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/USBD_User_CustomClass_0.c deleted file mode 100644 index 186c7b9..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/USBD_User_CustomClass_0.c +++ /dev/null @@ -1,358 +0,0 @@ -/*------------------------------------------------------------------------------ - * MDK Middleware - Component ::USB:Device - * Copyright (c) 2004-2016 ARM Germany GmbH. All rights reserved. - *------------------------------------------------------------------------------ - * Name: USBD_User_CustomClass_0.c - * Purpose: USB Device Custom Class User module - * Rev.: V6.7.3 - *----------------------------------------------------------------------------*/ -/* - * USBD_User_CustomClass_0.c is a code template for the Custom Class 0 - * class request handling. It allows user to handle all Custom Class class - * requests. - * - * Uncomment "Example code" lines to see example that receives data on - * Endpoint 1 OUT and echoes it back on Endpoint 1 IN. - * To try the example you also have to enable Bulk Endpoint 1 IN/OUT in Custom - * Class configuration in USBD_Config_CustomClass_0.h file. - */ - -/** - * \addtogroup usbd_custom_classFunctions - * - */ - - -//! [code_USBD_User_CustomClass] - -#include -#include -#include -#include "cmsis_os2.h" -#define osObjectsExternal -#include "osObjects.h" -#include "rl_usb.h" -#include "Driver_USBD.h" -#include "DAP_config.h" -#include "DAP.h" - -static volatile uint16_t USB_RequestIndexI; // Request Index In -static volatile uint16_t USB_RequestIndexO; // Request Index Out -static volatile uint16_t USB_RequestCountI; // Request Count In -static volatile uint16_t USB_RequestCountO; // Request Count Out -static volatile uint8_t USB_RequestIdle; // Request Idle Flag - -static volatile uint16_t USB_ResponseIndexI; // Response Index In -static volatile uint16_t USB_ResponseIndexO; // Response Index Out -static volatile uint16_t USB_ResponseCountI; // Response Count In -static volatile uint16_t USB_ResponseCountO; // Response Count Out -static volatile uint8_t USB_ResponseIdle; // Response Idle Flag - -static uint8_t USB_Request [DAP_PACKET_COUNT][DAP_PACKET_SIZE] __attribute__((section(".bss.USB_IO"))); // Request Buffer -static uint8_t USB_Response[DAP_PACKET_COUNT][DAP_PACKET_SIZE] __attribute__((section(".bss.USB_IO"))); // Response Buffer -static uint16_t USB_RespSize[DAP_PACKET_COUNT]; // Response Size - -// \brief Callback function called during USBD_Initialize to initialize the USB Custom class instance -void USBD_CustomClass0_Initialize (void) { - // Handle Custom Class Initialization - - // Initialize variables - USB_RequestIndexI = 0U; - USB_RequestIndexO = 0U; - USB_RequestCountI = 0U; - USB_RequestCountO = 0U; - USB_RequestIdle = 1U; - USB_ResponseIndexI = 0U; - USB_ResponseIndexO = 0U; - USB_ResponseCountI = 0U; - USB_ResponseCountO = 0U; - USB_ResponseIdle = 1U; -} - -// \brief Callback function called during USBD_Uninitialize to de-initialize the USB Custom class instance -void USBD_CustomClass0_Uninitialize (void) { - // Handle Custom Class De-initialization -} - -// \brief Callback function called upon USB Bus Reset signaling -void USBD_CustomClass0_Reset (void) { - // Handle USB Bus Reset Event -} - -// \brief Callback function called when Endpoint Start was requested (by activating interface or configuration) -// \param[in] ep_addr endpoint address. -void USBD_CustomClass0_EndpointStart (uint8_t ep_addr) { - // Start communication on Endpoint - if (ep_addr == USB_ENDPOINT_OUT(1U)) { - USB_RequestIdle = 0U; - USBD_EndpointRead(0U, USB_ENDPOINT_OUT(1U), USB_Request[0], DAP_PACKET_SIZE); - } -} - -// \brief Callback function called when Endpoint Stop was requested (by de-activating interface or activating configuration 0) -// \param[in] ep_addr endpoint address. -void USBD_CustomClass0_EndpointStop (uint8_t ep_addr) { - // Handle Endpoint communication stopped - (void)ep_addr; -} - -// \brief Callback function called when Custom Class 0 received SETUP PACKET on Control Endpoint 0 -// (this callback will be called only for Class Requests (USB_REQUEST_CLASS) if it was not processed -// previously by Device callback) -// \param[in] setup_packet pointer to received setup packet. -// \param[out] buf pointer to data buffer used for data stage requested by setup packet. -// \param[out] len pointer to number of data bytes in data stage requested by setup packet. -// \return usbdRequestStatus enumerator value indicating the function execution status -// \return usbdRequestNotProcessed:request was not processed; processing will be done by USB library -// \return usbdRequestOK: request was processed successfully (send Zero-Length Packet if no data stage) -// \return usbdRequestStall: request was processed but is not supported (stall Endpoint 0) -usbdRequestStatus USBD_CustomClass0_Endpoint0_SetupPacketReceived (const USB_SETUP_PACKET *setup_packet, uint8_t **buf, uint32_t *len) { - (void)setup_packet; - (void)buf; - (void)len; - - switch (setup_packet->bmRequestType.Recipient) { - case USB_REQUEST_TO_DEVICE: - break; - case USB_REQUEST_TO_INTERFACE: - break; - case USB_REQUEST_TO_ENDPOINT: - break; - default: - break; - } - - return usbdRequestNotProcessed; -} - -// \brief Callback function called when SETUP PACKET was processed by USB library -// (this callback will be called only for Class Requests (USB_REQUEST_CLASS) if it was not processed -// previously by Device callback nor by Custom Class callback) -// \param[in] setup_packet pointer to processed setup packet. -void USBD_CustomClass0_Endpoint0_SetupPacketProcessed (const USB_SETUP_PACKET *setup_packet) { - (void)setup_packet; - - switch (setup_packet->bmRequestType.Recipient) { - case USB_REQUEST_TO_DEVICE: - break; - case USB_REQUEST_TO_INTERFACE: - break; - case USB_REQUEST_TO_ENDPOINT: - break; - default: - break; - } -} - -// \brief Callback function called when Custom Class 0 received OUT DATA on Control Endpoint 0 -// (this callback will be called only for Class Requests (USB_REQUEST_CLASS) if it was not processed -// previously by Device callback) -// \param[in] len number of received data bytes. -// \return usbdRequestStatus enumerator value indicating the function execution status -// \return usbdRequestNotProcessed:request was not processed; processing will be done by USB library -// \return usbdRequestOK: request was processed successfully (send Zero-Length Packet) -// \return usbdRequestStall: request was processed but is not supported (stall Endpoint 0) -// \return usbdRequestNAK: request was processed but the device is busy (return NAK) -usbdRequestStatus USBD_CustomClass0_Endpoint0_OutDataReceived (uint32_t len) { - (void)len; - return usbdRequestNotProcessed; -} - -// \brief Callback function called when Custom Class 0 sent IN DATA on Control Endpoint 0 -// (this callback will be called only for Class Requests (USB_REQUEST_CLASS) if it was not processed -// previously by Device callback) -// \param[in] len number of sent data bytes. -// \return usbdRequestStatus enumerator value indicating the function execution status -// \return usbdRequestNotProcessed:request was not processed; processing will be done by USB library -// \return usbdRequestOK: request was processed successfully (return ACK) -// \return usbdRequestStall: request was processed but is not supported (stall Endpoint 0) -// \return usbdRequestNAK: request was processed but the device is busy (return NAK) -usbdRequestStatus USBD_CustomClass0_Endpoint0_InDataSent (uint32_t len) { - (void)len; - return usbdRequestNotProcessed; -} - -// \brief Callback function called when DATA was sent or received on Endpoint n -// \param[in] event event on Endpoint: -// - ARM_USBD_EVENT_OUT = data OUT received -// - ARM_USBD_EVENT_IN = data IN sent -void USBD_CustomClass0_Endpoint1_Event (uint32_t event) { - // Handle Endpoint 1 events - uint32_t n; - - if (event & ARM_USBD_EVENT_OUT) { - n = USBD_EndpointReadGetResult(0U, USB_ENDPOINT_OUT(1U)); - if (n != 0U) { - if (USB_Request[USB_RequestIndexI][0] == ID_DAP_TransferAbort) { - DAP_TransferAbort = 1U; - } else { - USB_RequestIndexI++; - if (USB_RequestIndexI == DAP_PACKET_COUNT) { - USB_RequestIndexI = 0U; - } - USB_RequestCountI++; - osThreadFlagsSet(DAP_ThreadId, 0x01); - } - } - // Start reception of next request packet - if ((uint16_t)(USB_RequestCountI - USB_RequestCountO) != DAP_PACKET_COUNT) { - USBD_EndpointRead(0U, USB_ENDPOINT_OUT(1U), USB_Request[USB_RequestIndexI], DAP_PACKET_SIZE); - } else { - USB_RequestIdle = 1U; - } - } - if (event & ARM_USBD_EVENT_IN) { - if (USB_ResponseCountI != USB_ResponseCountO) { - // Load data from response buffer to be sent back - USBD_EndpointWrite(0U, USB_ENDPOINT_IN(1U), USB_Response[USB_ResponseIndexO], USB_RespSize[USB_ResponseIndexO]); - USB_ResponseIndexO++; - if (USB_ResponseIndexO == DAP_PACKET_COUNT) { - USB_ResponseIndexO = 0U; - } - USB_ResponseCountO++; - } else { - USB_ResponseIdle = 1U; - } - } -} -void USBD_CustomClass0_Endpoint2_Event (uint32_t event) { - // Handle Endpoint 2 events - if (event & ARM_USBD_EVENT_IN) { - SWO_TransferComplete(); - } -} -void USBD_CustomClass0_Endpoint3_Event (uint32_t event) { - // Handle Endpoint 3 events - (void)event; -} -void USBD_CustomClass0_Endpoint4_Event (uint32_t event) { - // Handle Endpoint 4 events - (void)event; -} -void USBD_CustomClass0_Endpoint5_Event (uint32_t event) { - // Handle Endpoint 5 events - (void)event; -} -void USBD_CustomClass0_Endpoint6_Event (uint32_t event) { - // Handle Endpoint 6 events - (void)event; -} -void USBD_CustomClass0_Endpoint7_Event (uint32_t event) { - // Handle Endpoint 7 events - (void)event; -} -void USBD_CustomClass0_Endpoint8_Event (uint32_t event) { - // Handle Endpoint 8 events - (void)event; -} -void USBD_CustomClass0_Endpoint9_Event (uint32_t event) { - // Handle Endpoint 9 events - (void)event; -} -void USBD_CustomClass0_Endpoint10_Event (uint32_t event) { - // Handle Endpoint 10 events - (void)event; -} -void USBD_CustomClass0_Endpoint11_Event (uint32_t event) { - // Handle Endpoint 11 events - (void)event; -} -void USBD_CustomClass0_Endpoint12_Event (uint32_t event) { - // Handle Endpoint 12 events - (void)event; -} -void USBD_CustomClass0_Endpoint13_Event (uint32_t event) { - // Handle Endpoint 13 events - (void)event; -} -void USBD_CustomClass0_Endpoint14_Event (uint32_t event) { - // Handle Endpoint 14 events - (void)event; -} -void USBD_CustomClass0_Endpoint15_Event (uint32_t event) { - // Handle Endpoint 15 events - (void)event; -} - -// DAP Thread. -__NO_RETURN void DAP_Thread (void *argument) { - uint32_t flags; - uint32_t n; - (void) argument; - - for (;;) { - osThreadFlagsWait(0x81U, osFlagsWaitAny, osWaitForever); - - // Process pending requests - while (USB_RequestCountI != USB_RequestCountO) { - - // Handle Queue Commands - n = USB_RequestIndexO; - while (USB_Request[n][0] == ID_DAP_QueueCommands) { - USB_Request[n][0] = ID_DAP_ExecuteCommands; - n++; - if (n == DAP_PACKET_COUNT) { - n = 0U; - } - if (n == USB_RequestIndexI) { - flags = osThreadFlagsWait(0x81U, osFlagsWaitAny, osWaitForever); - if (flags & 0x80U) { - break; - } - } - } - - // Execute DAP Command (process request and prepare response) - USB_RespSize[USB_ResponseIndexI] = - (uint16_t)DAP_ExecuteCommand(USB_Request[USB_RequestIndexO], USB_Response[USB_ResponseIndexI]); - - // Update Request Index and Count - USB_RequestIndexO++; - if (USB_RequestIndexO == DAP_PACKET_COUNT) { - USB_RequestIndexO = 0U; - } - USB_RequestCountO++; - - if (USB_RequestIdle) { - if ((uint16_t)(USB_RequestCountI - USB_RequestCountO) != DAP_PACKET_COUNT) { - USB_RequestIdle = 0U; - USBD_EndpointRead(0U, USB_ENDPOINT_OUT(1U), USB_Request[USB_RequestIndexI], DAP_PACKET_SIZE); - } - } - - // Update Response Index and Count - USB_ResponseIndexI++; - if (USB_ResponseIndexI == DAP_PACKET_COUNT) { - USB_ResponseIndexI = 0U; - } - USB_ResponseCountI++; - - if (USB_ResponseIdle) { - if (USB_ResponseCountI != USB_ResponseCountO) { - // Load data from response buffer to be sent back - n = USB_ResponseIndexO++; - if (USB_ResponseIndexO == DAP_PACKET_COUNT) { - USB_ResponseIndexO = 0U; - } - USB_ResponseCountO++; - USB_ResponseIdle = 0U; - USBD_EndpointWrite(0U, USB_ENDPOINT_IN(1U), USB_Response[n], USB_RespSize[n]); - } - } - } - } -} - -// SWO Data Queue Transfer -// buf: pointer to buffer with data -// num: number of bytes to transfer -void SWO_QueueTransfer (uint8_t *buf, uint32_t num) { - USBD_EndpointWrite(0U, USB_ENDPOINT_IN(2U), buf, num); -} - -// SWO Data Abort Transfer -void SWO_AbortTransfer (void) { - USBD_EndpointAbort(0U, USB_ENDPOINT_IN(2U)); -} - -//! [code_USBD_User_CustomClass] diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/main.c b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/main.c deleted file mode 100644 index ea90b4a..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/main.c +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright (c) 2013-2021 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ---------------------------------------------------------------------- - * - * $Date: 21. May 2021 - * $Revision: V2.0.0 - * - * Project: CMSIS-DAP Examples LPC-Link2 - * Title: main.c CMSIS-DAP Main module for LPC-Link2 - * - *---------------------------------------------------------------------------*/ - -#include "cmsis_os2.h" -#include "osObjects.h" -#include "rl_usb.h" -#include "DAP_config.h" -#include "DAP.h" - -// Application Main program -__NO_RETURN void app_main (void *argument) { - (void)argument; - - DAP_Setup(); // DAP Setup - - USBD_Initialize(0U); // USB Device Initialization -#ifdef LPC_LINK2_ONBOARD - char *ser_num; - ser_num = GetSerialNum(); - if (ser_num != NULL) { - USBD_SetSerialNumber(0U, ser_num); // Update Serial Number - } -#endif - USBD_Connect(0U); // USB Device Connect - - while (!USBD_Configured(0U)); // Wait for USB Device to configure - - LED_CONNECTED_OUT(1U); // Turn on Debugger Connected LED - LED_RUNNING_OUT(1U); // Turn on Target Running LED - Delayms(500U); // Wait for 500ms - LED_RUNNING_OUT(0U); // Turn off Target Running LED - LED_CONNECTED_OUT(0U); // Turn off Debugger Connected LED - - // Create DAP Thread - DAP_ThreadId = osThreadNew(DAP_Thread, NULL, &DAP_ThreadAttr); - - // Create SWO Thread - SWO_ThreadId = osThreadNew(SWO_Thread, NULL, &SWO_ThreadAttr); - - osDelay(osWaitForever); - for (;;) {} -} - -int main (void) { - - SystemCoreClockUpdate(); - osKernelInitialize(); // Initialize CMSIS-RTOS - osThreadNew(app_main, NULL, NULL); // Create application main thread - if (osKernelGetState() == osKernelReady) { - osKernelStart(); // Start thread execution - } - - for (;;) {} -} diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/osObjects.h b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/osObjects.h deleted file mode 100644 index 6619bb9..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/osObjects.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (c) 2013-2017 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ---------------------------------------------------------------------- - * - * $Date: 11. June 2021 - * $Revision: V2.0.0 - * - * Project: CMSIS-DAP Examples LPC-Link2 - * Title: osObjects.h CMSIS-DAP RTOS2 Objects for LPC-Link2 - * - *---------------------------------------------------------------------------*/ - -#ifndef __osObjects_h__ -#define __osObjects_h__ - -#include "cmsis_os2.h" - -#ifdef osObjectsExternal -extern osThreadId_t DAP_ThreadId; -extern osThreadId_t SWO_ThreadId; -#else -static const osThreadAttr_t DAP_ThreadAttr = { - .priority = osPriorityNormal -}; -static const osThreadAttr_t SWO_ThreadAttr = { - .priority = osPriorityAboveNormal -}; -extern osThreadId_t DAP_ThreadId; - osThreadId_t DAP_ThreadId; -extern osThreadId_t SWO_ThreadId; - osThreadId_t SWO_ThreadId; -#endif - -extern void DAP_Thread (void *argument); -extern void SWO_Thread (void *argument); - -extern void app_main (void *argument); - -#endif /* __osObjects_h__ */ diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/ser_num.c b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/ser_num.c deleted file mode 100644 index cc76f74..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/ser_num.c +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright (c) 2021 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ---------------------------------------------------------------------- - * - * $Date: 27. May 2021 - * $Revision: V1.0.0 - * - * Project: CMSIS-DAP Examples LPC-Link2 - * Title: ser_num.c CMSIS-DAP Serial Number module for LPC-Link2 - * - *---------------------------------------------------------------------------*/ - -#include -#include -#include - -#include "ser_num.h" - -// Serial Number -#define SER_NUM_PREFIX "00A1" -static char SerialNum[32]; - -#define IAP_LOCATION *(volatile unsigned int *)(0x10400100) -#define IAP_READ_DEVICE_SERIAL_NUMBER 58U -typedef void (*IAP)(unsigned int [],unsigned int[]); - -/** - \brief Calculate 32-bit CRC (polynom: 0x04C11DB7, init value: 0xFFFFFFFF) - \param[in] data pointer to data - \param[in] len data length (in bytes) - \return CRC32 value -*/ -static uint32_t crc32 (const uint8_t *data, uint32_t len) { - uint32_t crc32; - uint32_t n; - - crc32 = 0xFFFFFFFFU; - while (len != 0U) { - crc32 ^= ((uint32_t)*data++) << 24U; - for (n = 8U; n; n--) { - if (crc32 & 0x80000000U) { - crc32 <<= 1U; - crc32 ^= 0x04C11DB7U; - } else { - crc32 <<= 1U; - } - } - len--; - } - return (crc32); -} - -/** - \brief Get serial number string. First characters are fixed. Last eight - characters are Unique (calculated from devices's unique ID) - \return Serial number string or NULL (callculation of unique ID failed) -*/ -char *GetSerialNum (void) { - uint32_t command_param[5]; - uint32_t status_result[5]; - uint32_t uid; - char *str; - IAP iap_entry; - - memset(command_param, 0, sizeof(command_param)); - memset(status_result, 0, sizeof(status_result)); - iap_entry = (IAP)IAP_LOCATION; - command_param[0] = IAP_READ_DEVICE_SERIAL_NUMBER; - iap_entry(command_param, status_result); - str = NULL; - if (status_result[0] == 0U) { - uid = crc32 ((uint8_t *)&status_result[1], 16U); - snprintf(SerialNum, sizeof(SerialNum), "%s%08X", SER_NUM_PREFIX, uid); - str = SerialNum; - } - - return (str); -} diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/ser_num.h b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/ser_num.h deleted file mode 100644 index 6370739..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/ser_num.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright (c) 2021 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ---------------------------------------------------------------------- - * - * $Date: 27. May 2021 - * $Revision: V1.0.0 - * - * Project: CMSIS-DAP Examples LPC-Link2 - * Title: ser_num.h CMSIS-DAP Serial Number module for LPC-Link2 - * - *---------------------------------------------------------------------------*/ - -#ifndef __SER_NUM_H__ -#define __SER_NUM_H__ - -char *GetSerialNum (void); - -#endif /* __SER_NUM_H__ */ diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/target.c b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/target.c deleted file mode 100644 index 5a82aea..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/LPC-Link2/target.c +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (c) 2021 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ---------------------------------------------------------------------- - * - * $Date: 16. June 2021 - * $Revision: V1.0.0 - * - * Project: CMSIS-DAP Examples LPC-Link2 - * Title: target.c CMSIS-DAP Target Device/Board information (patchable) - * - *---------------------------------------------------------------------------*/ - -#include "DAP_config.h" - -#if TARGET_FIXED != 0 -const char TargetDeviceVendor [64] = TARGET_DEVICE_VENDOR; -const char TargetDeviceName [64] = TARGET_DEVICE_NAME; -const char TargetBoardVendor [64] = TARGET_BOARD_VENDOR; -const char TargetBoardName [64] = TARGET_BOARD_NAME; -#endif diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/CMSIS_DAP.uvguix b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/CMSIS_DAP.uvguix deleted file mode 100644 index ee3e6e5..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/CMSIS_DAP.uvguix +++ /dev/null @@ -1,3619 +0,0 @@ - - - - -6.1 - -
### uVision Project, (C) Keil Software
- - - D:\GitHub\ARM-software\CMSIS_5\CMSIS\DAP\Firmware\Examples\MCU-LINK - - - - - - - 38003 - Registers - 188 34 - - - 346 - Code Coverage - 1010 160 - - - 204 - Performance Analyzer - 1170 - - - - - - 35141 - Event Statistics - - 200 50 700 - - - 1506 - Symbols - - 106 106 106 - - - 1936 - Watch 1 - - 200 133 133 - - - 1937 - Watch 2 - - 200 133 133 - - - 1935 - Call Stack + Locals - - 200 133 133 - - - 2506 - Trace Data - - 75 135 130 95 70 230 200 150 - - - 466 - Source Browser - 500 - 300 - - - - - - - - 0 - 0 - 0 - 50 - 16 - - - - - - - 44 - 2 - 3 - - -1 - -1 - - - -1 - -1 - - - 155 - 264 - 1308 - 1086 - - - - 0 - - 282 - 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000001000000000000000100000050443A5C4769744875625C41524D2D736F6674776172655C434D5349535F355C434D5349535C4441505C4669726D776172655C4578616D706C65735C4D43552D4C494E4B5C41627374726163742E747874000000000C41627374726163742E74787400000000C5D4F200FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000EC00000066000000000A00001A040000 - - - - 0 - Build - - -1 - -1 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - F40000004F00000090050000E5000000 - - - 16 - 0402000009010000A00600009F010000 - - - - 1005 - 1005 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000066000000E5000000EA030000 - - - 16 - 9DFFFFFFE20200008D00000047070000 - - - - 109 - 109 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000066000000E5000000EA030000 - - - 16 - 9DFFFFFFE20200008D00000047070000 - - - - 1465 - 1465 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 030000004A0200008D050000C4020000 - - - 16 - AFFFFFFFE1010000AB0400005C040000 - - - - 1466 - 1466 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 030000004A0200008D050000C4020000 - - - 16 - AFFFFFFFE1010000AB0400005C040000 - - - - 1467 - 1467 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 030000004A0200008D050000C4020000 - - - 16 - AFFFFFFFE1010000AB0400005C040000 - - - - 1468 - 1468 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 030000004A0200008D050000C4020000 - - - 16 - AFFFFFFFE1010000AB0400005C040000 - - - - 1506 - 1506 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 1913 - 1913 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - F7000000660000008D050000CC000000 - - - 16 - 220A000039000000DA0D0000FF000000 - - - - 1935 - 1935 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 030000004A0200008D050000C4020000 - - - 16 - AFFFFFFFE1010000AB0400005C040000 - - - - 1936 - 1936 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 030000004A0200008D050000C4020000 - - - 16 - AFFFFFFFE1010000AB0400005C040000 - - - - 1937 - 1937 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 030000004A0200008D050000C4020000 - - - 16 - AFFFFFFFE1010000AB0400005C040000 - - - - 1939 - 1939 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 030000004A0200008D050000C4020000 - - - 16 - AFFFFFFFE1010000AB0400005C040000 - - - - 1940 - 1940 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 030000004A0200008D050000C4020000 - - - 16 - AFFFFFFFE1010000AB0400005C040000 - - - - 1941 - 1941 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 030000004A0200008D050000C4020000 - - - 16 - AFFFFFFFE1010000AB0400005C040000 - - - - 1942 - 1942 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 030000004A0200008D050000C4020000 - - - 16 - AFFFFFFFE1010000AB0400005C040000 - - - - 195 - 195 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000066000000E5000000EA030000 - - - 16 - 9DFFFFFFE20200008D00000047070000 - - - - 196 - 196 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000066000000E5000000EA030000 - - - 16 - 9DFFFFFFE20200008D00000047070000 - - - - 197 - 197 - 1 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 030000001E040000FD09000035050000 - - - 16 - 7E030000370500007E0D0000CD050000 - - - - 198 - 198 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 000000003302000090050000DD020000 - - - 16 - 50080000E6000000180B00007C010000 - - - - 199 - 199 - 1 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 030000001E040000FD09000035050000 - - - 16 - 7E030000370500007E0D0000CD050000 - - - - 203 - 203 - 0 - 0 - 0 - 0 - 32767 - 0 - 8192 - 0 - - 16 - F7000000660000008D050000CC000000 - - - 16 - 50080000E6000000180B00007C010000 - - - - 204 - 204 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - F7000000660000008D050000CC000000 - - - 16 - 50080000E6000000180B00007C010000 - - - - 221 - 221 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 00000000000000000000000000000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 2506 - 2506 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 2507 - 2507 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 030000004A0200008D050000C4020000 - - - 16 - AFFFFFFFE1010000AB0400005C040000 - - - - 343 - 343 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - F7000000660000008D050000CC000000 - - - 16 - 50080000E6000000180B00007C010000 - - - - 346 - 346 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - F7000000660000008D050000CC000000 - - - 16 - 50080000E6000000180B00007C010000 - - - - 35141 - 35141 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A40000006300000090050000EF000000 - - - 16 - BC070000E0FFFFFF5C08000063000000 - - - - 35824 - 35824 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - F7000000660000008D050000CC000000 - - - 16 - 50080000E6000000180B00007C010000 - - - - 35885 - 35885 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 35886 - 35886 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 35887 - 35887 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 35888 - 35888 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 35889 - 35889 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 35890 - 35890 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 35891 - 35891 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 35892 - 35892 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 35893 - 35893 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 35894 - 35894 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 35895 - 35895 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 35896 - 35896 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 35897 - 35897 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 35898 - 35898 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 35899 - 35899 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 35900 - 35900 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 35901 - 35901 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 35902 - 35902 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 35903 - 35903 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 35904 - 35904 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 35905 - 35905 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 38003 - 38003 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000066000000E5000000EA030000 - - - 16 - 9DFFFFFFE20200008D00000047070000 - - - - 38007 - 38007 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 030000001E040000FD09000035050000 - - - 16 - 7E030000370500007E0D0000CD050000 - - - - 436 - 436 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 030000001E040000FD09000035050000 - - - 16 - 7E030000370500007E0D0000CD050000 - - - - 437 - 437 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 030000004A0200008D050000C4020000 - - - 16 - AFFFFFFFE1010000AB0400005C040000 - - - - 440 - 440 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 030000004A0200008D050000C4020000 - - - 16 - AFFFFFFFE1010000AB0400005C040000 - - - - 463 - 463 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 030000001E040000FD09000035050000 - - - 16 - 7E030000370500007E0D0000CD050000 - - - - 466 - 466 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 030000001E040000FD09000035050000 - - - 16 - 7E030000370500007E0D0000CD050000 - - - - 470 - 470 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000004A0200008D050000C4020000 - - - 16 - 50080000E6000000180B00007C010000 - - - - 50000 - 50000 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 50001 - 50001 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 50002 - 50002 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 50003 - 50003 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 50004 - 50004 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 50005 - 50005 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 50006 - 50006 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 50007 - 50007 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 50008 - 50008 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 50080000E600000040090000B1010000 - - - - 50009 - 50009 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 50080000E600000040090000B1010000 - - - - 50010 - 50010 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 50080000E600000040090000B1010000 - - - - 50011 - 50011 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 50080000E600000040090000B1010000 - - - - 50012 - 50012 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 50080000E600000040090000B1010000 - - - - 50013 - 50013 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 50014 - 50014 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 50015 - 50015 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 50016 - 50016 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 50017 - 50017 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 50018 - 50018 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 50019 - 50019 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500002A020000 - - - 16 - 850000009B0000007501000066010000 - - - - 59392 - 59392 - 1 - 0 - 0 - 0 - 494 - 0 - 8192 - 0 - - 16 - 0000000000000000D10300001C000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59393 - 0 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 000000004E050000000A000061050000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59399 - 59399 - 1 - 0 - 0 - 0 - 476 - 0 - 8192 - 1 - - 16 - 000000001C000000E701000038000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59400 - 59400 - 0 - 0 - 0 - 0 - 612 - 0 - 8192 - 2 - - 16 - 00000000380000006F02000054000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 824 - 824 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 030000004A0200008D050000C4020000 - - - 16 - AFFFFFFFE1010000AB0400005C040000 - - - - 3527 - 000000000D000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000E500000090050000E9000000000000000100000004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E6500200000000000000402000009010000A00600009F010000F40000004F00000090050000E50000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000043020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000B005000009010000A0060000FD020000A00400004F000000900500004302000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000080000000000000FFFFFFFFFFFFFFFF000000002F020000900500003302000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF100000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000D60100000180008000000000000010010000ED020000A006000097030000000000003302000090050000DD0200000000000040410046100000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000033020000CC020000DD02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000020000000000000FFFFFFFFFFFFFFFFA4000000EF00000090050000F3000000000000000100000004000000010000000000000000000000FFFFFFFF010000004589000001800020000000000000B401000009010000A0060000A9010000A40000004F00000090050000EF000000000000004028004601000000104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFF4589000001000000FFFFFFFF45890000000000000010000001000000FFFFFFFFFFFFFFFFE80000004F000000EC0000000304000001000000020000100400000001000000000000000000000000000000000000000000000001000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000001001000009010000F8010000BD040000000000004F000000E8000000030400000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF0000000003040000000A0000070400000100000001000010040000000100000080FBFFFF7400000000000000000000000000000001000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000010010000C1040000100B0000080600000000000007040000000A00004E0500000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF1346696E6420416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 - - - 59392 - File - - 2872 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000135254455F5553415254325F50494E5F494E495496000000000000001400135254455F5553415254325F50494E5F494E4954124C5055415254315F4465696E697450696E73086C70632D6C696E6B03757362036C69620A307830303030343030300662725F646976036F7673144750494F5F456E61626C65506F7274436C6F636B06444952434C522246534C5F464541545552455F4750494F5F4449525345545F414E445F444952434C52082D3E44495253455403646972146770696F5F70696E5F646972656374696F6E5F74126B4750494F5F4469676974616C496E707574032D3E42052D3E636C72052D3E534554052D3E50494E1355534152545F52585F4255464645525F4C454E0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65EE010000 - - - 1423 - 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 1423 - 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 - - - - 59399 - Build - - 976 - 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000084D43552D4C494E4B96000000000000000100084D43552D4C494E4B000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 - - - 583 - 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 583 - 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 - - - - 59400 - Debug - - 2373 - 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 - - - 898 - 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 898 - 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 - - - - 0 - 2560 - 1440 - - - - 1 - Debug - - -1 - -1 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 4B0100004F000000000A0000F1000000 - - - 16 - ED0B0000660000000014000008010000 - - - - 1005 - 1005 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000660000004401000052040000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 109 - 109 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000066000000E6010000B8030000 - - - 16 - 69080000FF0000008509000059030000 - - - - 1465 - 1465 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 0705000086040000FD09000035050000 - - - 16 - 041000005B04000000150000D6060000 - - - - 1466 - 1466 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 0705000086040000FD09000035050000 - - - 16 - 041000005B04000000150000D6060000 - - - - 1467 - 1467 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 0705000086040000FD09000035050000 - - - 16 - 041000005B04000000150000D6060000 - - - - 1468 - 1468 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 0705000086040000FD09000035050000 - - - 16 - 041000005B04000000150000D6060000 - - - - 1506 - 1506 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 1913 - 1913 - 0 - 0 - 0 - 0 - 32767 - 0 - 8192 - 0 - - 16 - 4E010000660000005B090000D8000000 - - - 16 - 69080000FF000000310B000095010000 - - - - 1935 - 1935 - 1 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 0405000083040000000A00004E050000 - - - 16 - 041000005B04000000150000D6060000 - - - - 1936 - 1936 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 0405000083040000F80900004E050000 - - - 16 - 041000005B04000000150000D6060000 - - - - 1937 - 1937 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 0705000086040000FD09000035050000 - - - 16 - 041000005B04000000150000D6060000 - - - - 1939 - 1939 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 0405000083040000000A00004E050000 - - - 16 - 041000005B04000000150000D6060000 - - - - 1940 - 1940 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 0705000086040000FD09000035050000 - - - 16 - 041000005B04000000150000D6060000 - - - - 1941 - 1941 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 0705000086040000FD09000035050000 - - - 16 - 041000005B04000000150000D6060000 - - - - 1942 - 1942 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 0705000086040000FD09000035050000 - - - 16 - 041000005B04000000150000D6060000 - - - - 195 - 195 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000066000000E6010000B8030000 - - - 16 - 69080000FF0000008509000059030000 - - - - 196 - 196 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000066000000E6010000B8030000 - - - 16 - 69080000FF0000008509000059030000 - - - - 197 - 197 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 03000000860400000505000035050000 - - - 16 - 7A070000EC0400007A11000082050000 - - - - 198 - 198 - 1 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 0300000086040000FD04000035050000 - - - 16 - 69080000FF000000310B000095010000 - - - - 199 - 199 - 1 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 0300000086040000FD04000035050000 - - - 16 - 7A070000EC0400007A11000082050000 - - - - 203 - 203 - 1 - 0 - 0 - 0 - 32767 - 0 - 8192 - 0 - - 16 - 4B01000063000000000A0000F1000000 - - - 16 - 69080000FF000000310B000095010000 - - - - 204 - 204 - 0 - 0 - 0 - 0 - 32767 - 0 - 8192 - 0 - - 16 - 4E010000660000005B090000D8000000 - - - 16 - 69080000FF000000310B000095010000 - - - - 221 - 221 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 00000000000000000000000000000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 2506 - 2506 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 2507 - 2507 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 0705000086040000FD09000035050000 - - - 16 - 041000005B04000000150000D6060000 - - - - 343 - 343 - 0 - 0 - 0 - 0 - 32767 - 0 - 8192 - 0 - - 16 - 4E010000660000005B090000D8000000 - - - 16 - 69080000FF000000310B000095010000 - - - - 346 - 346 - 0 - 0 - 0 - 0 - 32767 - 0 - 8192 - 0 - - 16 - 4E010000660000005B090000D8000000 - - - 16 - 69080000FF000000310B000095010000 - - - - 35141 - 35141 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A40000006300000090050000EF000000 - - - 16 - BC070000E0FFFFFF5C08000063000000 - - - - 35824 - 35824 - 0 - 0 - 0 - 0 - 32767 - 0 - 8192 - 0 - - 16 - 4E010000660000005B090000D8000000 - - - 16 - 69080000FF000000310B000095010000 - - - - 35885 - 35885 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 35886 - 35886 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 35887 - 35887 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 35888 - 35888 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 35889 - 35889 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 35890 - 35890 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 35891 - 35891 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 35892 - 35892 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 35893 - 35893 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 35894 - 35894 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 35895 - 35895 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 35896 - 35896 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 35897 - 35897 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 35898 - 35898 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 35899 - 35899 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 35900 - 35900 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 35901 - 35901 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 35902 - 35902 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 35903 - 35903 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 35904 - 35904 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 35905 - 35905 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 38003 - 38003 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000660000004401000052040000 - - - 16 - 69080000FF0000008509000059030000 - - - - 38007 - 38007 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 03000000860400000505000035050000 - - - 16 - 7A070000EC0400007A11000082050000 - - - - 436 - 436 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 03000000860400000505000035050000 - - - 16 - 7A070000EC0400007A11000082050000 - - - - 437 - 437 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 0705000086040000FD09000035050000 - - - 16 - 041000005B04000000150000D6060000 - - - - 440 - 440 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 0705000086040000FD09000035050000 - - - 16 - 041000005B04000000150000D6060000 - - - - 463 - 463 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 03000000860400000505000035050000 - - - 16 - 7A070000EC0400007A11000082050000 - - - - 466 - 466 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 03000000860400000505000035050000 - - - 16 - 7A070000EC0400007A11000082050000 - - - - 470 - 470 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 00000000FEFFFFFF0100000034020000 - - - 16 - D3070000690000009B0A0000FF000000 - - - - 50000 - 50000 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 50001 - 50001 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 50002 - 50002 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 50003 - 50003 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 50004 - 50004 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 50005 - 50005 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 50006 - 50006 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 50007 - 50007 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 50008 - 50008 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 50009 - 50009 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 50010 - 50010 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 50011 - 50011 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 50012 - 50012 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 50013 - 50013 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 50014 - 50014 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 50015 - 50015 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 50016 - 50016 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 50017 - 50017 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 50018 - 50018 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 50019 - 50019 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - DC04000066000000FD090000B8030000 - - - 16 - 69080000FF00000059090000CA010000 - - - - 59392 - 59392 - 1 - 0 - 0 - 0 - 494 - 0 - 8192 - 0 - - 16 - 0000000000000000D10300001C000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59393 - 0 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 000000004E050000000A000061050000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59399 - 59399 - 0 - 0 - 0 - 0 - 463 - 0 - 8192 - 1 - - 16 - 000000001C000000DA01000038000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59400 - 59400 - 1 - 0 - 0 - 0 - 612 - 0 - 8192 - 2 - - 16 - 050000001C0000007402000038000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 824 - 824 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 0705000086040000FD09000035050000 - - - 16 - 041000005B04000000150000D6060000 - - - - 3766 - 000000000D000000000000000020000001000000FFFFFFFFFFFFFFFF4B010000F1000000000A0000F500000001000000010000100400000001000000C0FEFFFF37020000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E650020000001000000ED0B00006600000000140000080100004B0100004F000000000A0000F10000000000000040280056060000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFFD50400004F000000D9040000D103000000000000020000000400000001000000D1F9FFFFD2020000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000D90E00006600000000140000E8030000D90400004F000000000A0000D103000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0655534152543000000000408C000001000000FFFFFFFFFFFFFFFF06535953434F4E00000000418C000001000000FFFFFFFFFFFFFFFF0E4576656E74205265636F726465720000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF470100004F0000004B0100006B0400000100000002000010040000000100000019FEFFFF0E080000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000000A000066000000E90B0000E8030000000000004F000000470100006B0400000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF04000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF000000006B040000000A00006F04000001000000010000100400000001000000000000000000000000000000000000000000000001000000000000000000000001000000000000000000000001000000FFFFFFFF00050000D503000004050000B404000000000000020000000400000000000000000000000000000001000000FFFFFFFF07000000C6000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000069080000FF000000310B000095010000000000006F040000000500004E05000000000000408200560700000007436F6D6D616E6401000000C600000001000000FFFFFFFFFFFFFFFF0C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF0000000000000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000001000000041000005B04000000150000D6060000040500006F040000000A00004E05000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF000000000000000002000000000000000100000002000000FFFFFFFF000500006F040000040500004E0500000100000002000000040000000000000000000000000000000000000000000000000000000000000002000000FFFFFFFFC6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000FFFFFFFFC6000000000000000080000000000000FFFFFFFFFFFFFFFF000000002F02000090050000330200000000000001000000040000000100000000000000000000000000000000000000000000000100000000000000FFFFFFFF01000000D601000001800080000000000000000A000001000000910B00004B02000000000000EAFFFFFF01000000340200000000000040410046010000000F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000033020000CC020000DD02000000000000020000000400000000000000000000000000000000000000000000000000000001000000FFFFFFFFD601000001000000FFFFFFFFD6010000000000000020000000000000FFFFFFFFFFFFFFFFA4000000EF00000090050000F3000000000000000100000004000000010000000000000000000000FFFFFFFF010000004589000001800020000000000000A40A000066000000900F000006010000A40000004F00000090050000EF000000000000004028004601000000104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFF4589000001000000FFFFFFFF45890000000000000000000000000000 - - - 59392 - File - - 2877 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000036C696296000000000000001400036C69620A307830303030343030300662725F646976036F7673144750494F5F456E61626C65506F7274436C6F636B06444952434C522246534C5F464541545552455F4750494F5F4449525345545F414E445F444952434C52082D3E44495253455403646972146770696F5F70696E5F646972656374696F6E5F74126B4750494F5F4469676974616C496E707574032D3E42052D3E636C72052D3E534554052D3E50494E1355534152545F52585F4255464645525F4C454E175553415254305F52585F4255464645525F454E41424C45046669666F1155534152545F53657442617564526174651946534C5F55534152545F4D4F4449464945445F42595F41524D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000300150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65EE010000 - - - 1423 - 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 1423 - 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 - - - - 59399 - Build - - 684 - 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E00000000000000000000000000000000010000000100000001809E8A0000000000001F0000000000000000000000000000000001000000010000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000054465627567960000000000000002000544656275670752656C6561736500000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64CF010000 - - - 583 - 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 583 - 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 - - - - 59400 - Debug - - 2362 - 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F0100000200000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000020000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 - - - 898 - 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 898 - 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 - - - - 0 - 2560 - 1440 - - - - - - 1 - 0 - - 100 - 0 - - .\README.md - 0 - 1 - 1 - 0 - - 0 - - - - -
diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/CMSIS_DAP.uvoptx b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/CMSIS_DAP.uvoptx deleted file mode 100644 index 2f5d377..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/CMSIS_DAP.uvoptx +++ /dev/null @@ -1,480 +0,0 @@ - - - - 1.0 - -
### uVision Project, (C) Keil Software
- - - *.c - *.s*; *.src; *.a* - *.obj; *.o - *.lib - *.txt; *.h; *.inc; *.md - *.plm - *.cpp - 0 - - - - 0 - 0 - - - - MCU-LINK - 0x4 - ARM-ADS - - 12000000 - - 1 - 1 - 0 - 1 - 0 - - - 1 - 65535 - 0 - 0 - 0 - - - 79 - 66 - 8 - .\Listings\ - - - 1 - 1 - 1 - 0 - 1 - 1 - 0 - 1 - 0 - 0 - 0 - 0 - - - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 0 - - - 1 - 0 - 1 - - 8 - - 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 1 - 1 - 1 - 1 - 0 - 0 - 1 - 0 - 0 - 15 - - - - - - - - - - - BIN\CMSIS_AGDI_V8M.DLL - - - - 0 - CMSIS_AGDI_V8M - -X"ULINKplus CMSIS-DAP" -UL68410450A -O206 -S9 -C0 -P00000000 -N00("") -D00(00000000) -L00(0) -TO65554 -TC10000000 -TT10000000 -TP20 -TDS8000 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN2 -FF0LPC55XX_640.FLM -FS00 -FL098000 -FP0($$Device:LPC55S69JBD64$arm\LPC55XX_640.FLM) -FF1LPC55XX_S_640.FLM -FS110000000 -FL198000 -FP1($$Device:LPC55S69JBD64$arm\LPC55XX_S_640.FLM) - - - 0 - EVENTREC_CNF - -l0 -a1 -s0 -f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 - - - 0 - ULPL2CM3 - -UL68410450A -O718 -S9 -C0 -P00000000 -N00("ARM CoreSight SW-DP") -D00(6BA02477) -L00(0) -TO65554 -TC10000000 -TT10000000 -TP20 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN2 -FF0LPC55XX_640.FLM -FS00 -FL098000 -FP0($$Device:LPC55S69JBD64$arm\LPC55XX_640.FLM) -FF1LPC55XX_S_640.FLM -FS110000000 -FL198000 -FP1($$Device:LPC55S69JBD64$arm\LPC55XX_S_640.FLM) - - - 0 - ARMRTXEVENTFLAGS - -L70 -Z18 -C0 -M0 -T1 - - - 0 - DLGTARM - (6010=75,104,552,700,0)(6018=-1,-1,-1,-1,0)(6019=-1,-1,-1,-1,0)(6008=-1,-1,-1,-1,0)(6009=-1,-1,-1,-1,0)(6014=-1,-1,-1,-1,0)(6015=-1,-1,-1,-1,0)(6003=-1,-1,-1,-1,0)(6000=-1,-1,-1,-1,0) - - - 0 - ARMDBGFLAGS - - - - 0 - DLGUARM - - - - 0 - UL2V8M - -UAny -O206 -S9 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(6BA02477) -L00(0) -TO65554 -TC10000000 -TT10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN2 -FF0LPC55XX_640.FLM -FS00 -FL098000 -FP0($$Device:LPC55S69JBD64$arm\LPC55XX_640.FLM) -FF1LPC55XX_S_640.FLM -FS110000000 -FL198000 -FP1($$Device:LPC55S69JBD64$arm\LPC55XX_S_640.FLM) - - - - - C:\Keil_v5\ARM\PACK\Keil\MDK-Middleware\7.13.0\USB\USB.scvd - Keil.MDK-Middleware.7.13.0 - 1 - - - C:\Keil_v5\ARM\PACK\ARM\CMSIS\5.8.0\CMSIS\RTOS2\RTX\RTX5.scvd - ARM.CMSIS.5.8.0 - 1 - - - 0 - - - 0 - 1 - 1 - 0 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - - - - 0 - 0 - 0 - - - - - - - - - - 1 - 1 - 0 - 2 - 5000000 - - - - - - Source - 1 - 0 - 0 - 0 - - 1 - 1 - 1 - 0 - 0 - 0 - .\main.c - main.c - 0 - 0 - - - 1 - 2 - 1 - 0 - 0 - 0 - .\ser_num.c - ser_num.c - 0 - 0 - - - 1 - 3 - 1 - 0 - 0 - 0 - .\USBD_User_CustomClass_0.c - USBD_User_CustomClass_0.c - 0 - 0 - - - 1 - 4 - 1 - 0 - 0 - 0 - .\USBD_User_CDC_ACM_UART_0.c - USBD_User_CDC_ACM_UART_0.c - 0 - 0 - - - 1 - 5 - 1 - 0 - 0 - 0 - .\USBD1_LPC55xxx.c - USBD1_LPC55xxx.c - 0 - 0 - - - 1 - 6 - 1 - 0 - 0 - 0 - .\fsl_usart.c - fsl_usart.c - 0 - 0 - - - - - Documentation - 1 - 0 - 0 - 0 - - 2 - 7 - 5 - 0 - 0 - 0 - .\README.md - README.md - 0 - 0 - - - - - Board - 1 - 0 - 0 - 0 - - 3 - 8 - 1 - 0 - 0 - 0 - .\board\clock_config.c - clock_config.c - 0 - 0 - - - 3 - 9 - 1 - 0 - 0 - 0 - .\board\peripherals.c - peripherals.c - 0 - 0 - - - 3 - 10 - 1 - 0 - 0 - 0 - .\board\pin_mux.c - pin_mux.c - 0 - 0 - - - - - CMSIS DAP - 1 - 0 - 0 - 0 - - 4 - 11 - 5 - 0 - 0 - 0 - .\DAP_config.h - DAP_config.h - 0 - 0 - - - 4 - 12 - 1 - 0 - 0 - 0 - ..\..\Source\DAP.c - DAP.c - 0 - 0 - - - 4 - 13 - 1 - 0 - 0 - 0 - ..\..\Source\JTAG_DP.c - JTAG_DP.c - 0 - 0 - - - 4 - 14 - 1 - 0 - 0 - 0 - ..\..\Source\SW_DP.c - SW_DP.c - 0 - 0 - - - 4 - 15 - 1 - 0 - 0 - 0 - ..\..\Source\SWO.c - SWO.c - 0 - 0 - - - 4 - 16 - 1 - 0 - 0 - 0 - ..\..\Source\UART.c - UART.c - 0 - 0 - - - - - ::CMSIS - 1 - 0 - 0 - 1 - - - - ::CMSIS Driver - 1 - 0 - 0 - 1 - - - - ::Device - 0 - 0 - 0 - 1 - - - - ::USB - 1 - 0 - 0 - 1 - - -
diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/CMSIS_DAP.uvprojx b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/CMSIS_DAP.uvprojx deleted file mode 100644 index 7374171..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/CMSIS_DAP.uvprojx +++ /dev/null @@ -1,955 +0,0 @@ - - - - 2.1 - -
### uVision Project, (C) Keil Software
- - - - MCU-LINK - 0x4 - ARM-ADS - 6160000::V6.16::ARMCLANG - 1 - - - LPC55S69JBD64:cm33_core0 - NXP - NXP.LPC55S69_DFP.13.1.0 - https://mcuxpresso.nxp.com/cmsis_pack/repo/ - IRAM(0x20000000,0x040000) IRAM2(0x20040000,0x4000) IROM(0x00000000,0x098000) XRAM(0x04000000,0x8000) XRAM2(0x40100000,0x4000) CPUTYPE("Cortex-M33") FPU3(SFPU) DSP TZ CLOCK(12000000) ELITTLE - - - UL2V8M(-S0 -C0 -P0 -FD20000000 -FC1000 -FN2 -FF0LPC55XX_640 -FS00 -FL098000 -FF1LPC55XX_S_640 -FS110000000 -FL198000 -FP0($$Device:LPC55S69JBD64$arm\LPC55XX_640.FLM) -FP1($$Device:LPC55S69JBD64$arm\LPC55XX_S_640.FLM)) - 0 - $$Device:LPC55S69JBD64$fsl_device_registers.h - - - - - - - - - - $$Device:LPC55S69JBD64$LPC55S69_cm33_core0.xml - 0 - 0 - - - - - - - 0 - 0 - 0 - 0 - 1 - - .\Objects\ - CMSIS_DAP - 1 - 0 - 1 - 1 - 1 - .\Listings\ - 1 - 0 - 0 - - 0 - 0 - - - 0 - 0 - 0 - 0 - - - 0 - 0 - - - 0 - 0 - 0 - 0 - - - 0 - 0 - - - 0 - 0 - 0 - 0 - - 0 - - - - 0 - 0 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 0 - 3 - - - 1 - - - - - - - SARMV8M.DLL - -MPU - TCM.DLL - -pCM33 - - - - 1 - 0 - 0 - 0 - 16 - - - - - 1 - 0 - 0 - 1 - 1 - 4102 - - 1 - BIN\UL2V8M.DLL - "" () - - - - - 0 - - - - 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 1 - 1 - 0 - 1 - 1 - 0 - 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 0 - "Cortex-M33" - - 1 - 0 - 0 - 1 - 1 - 1 - 0 - 2 - 0 - 0 - 1 - 0 - 8 - 1 - 0 - 0 - 2 - 3 - 4 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 0 - 1 - 1 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x20000000 - 0x40000 - - - 1 - 0x0 - 0x98000 - - - 1 - 0x4000000 - 0x8000 - - - 1 - 0x0 - 0x0 - - - 1 - 0x0 - 0x0 - - - 1 - 0x0 - 0x0 - - - 1 - 0x0 - 0x98000 - - - 1 - 0x0 - 0x0 - - - 0 - 0x4000000 - 0x8000 - - - 0 - 0x40100000 - 0x4000 - - - 0 - 0x0 - 0x0 - - - 0 - 0x20000000 - 0x40000 - - - 0 - 0x20040000 - 0x4000 - - - - - - 1 - 4 - 0 - 0 - 1 - 0 - 0 - 0 - 0 - 0 - 3 - 0 - 0 - 1 - 0 - 0 - 3 - 3 - 1 - 1 - 0 - 0 - 0 - - - - - .;.\board;..\..\Include - - - - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 1 - - - - - - - - - 0 - 0 - 0 - 0 - 1 - 0 - 0x00000000 - 0x10000000 - - .\RTE\Device\LPC55S69JBD64_cm33_core0\LPC55S69_cm33_core0_flash.scf - - - --diag_suppress=L6314 - - - - - - - - Source - - - main.c - 1 - .\main.c - - - ser_num.c - 1 - .\ser_num.c - - - USBD_User_CustomClass_0.c - 1 - .\USBD_User_CustomClass_0.c - - - USBD_User_CDC_ACM_UART_0.c - 1 - .\USBD_User_CDC_ACM_UART_0.c - - - USBD1_LPC55xxx.c - 1 - .\USBD1_LPC55xxx.c - - - fsl_usart.c - 1 - .\fsl_usart.c - - - - - Documentation - - - README.md - 5 - .\README.md - - - - - Board - - - clock_config.c - 1 - .\board\clock_config.c - - - peripherals.c - 1 - .\board\peripherals.c - - - pin_mux.c - 1 - .\board\pin_mux.c - - - - - CMSIS DAP - - - DAP_config.h - 5 - .\DAP_config.h - - - DAP.c - 1 - ..\..\Source\DAP.c - - - JTAG_DP.c - 1 - ..\..\Source\JTAG_DP.c - - - SW_DP.c - 1 - ..\..\Source\SW_DP.c - - - SWO.c - 1 - ..\..\Source\SWO.c - - - UART.c - 1 - ..\..\Source\UART.c - - - - - ::CMSIS - - - ::CMSIS Driver - - - 0 - 0 - 0 - 0 - 0 - 1 - 2 - 2 - 2 - 2 - 11 - - - 1 - - - - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 0 - 0 - 2 - 2 - 2 - 2 - 2 - - - - - - - - - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 0 - - - - - - - - - - - - ::Device - - - 0 - 0 - 0 - 0 - 0 - 1 - 2 - 2 - 2 - 2 - 11 - - - 1 - - - - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 0 - 0 - 2 - 2 - 2 - 2 - 2 - - - - - - - - - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 0 - - - - - - - - - - - - ::USB - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - RTE\CMSIS\RTX_Config.c - - - - - - - - RTE\CMSIS\RTX_Config.h - - - - - - - - RTE\Device\LPC55S69JBD64_cm33_core0\LPC55S69_cm33_core0_flash.scf - - - - - - - - RTE\Device\LPC55S69JBD64_cm33_core0\LPC55S69_cm33_core0_flash_ns.scf - - - - - - - - RTE\Device\LPC55S69JBD64_cm33_core0\LPC55S69_cm33_core0_flash_s.scf - - - - - - - - RTE\Device\LPC55S69JBD64_cm33_core0\LPC55S69_cm33_core0_ram.scf - - - - - - - - RTE\Device\LPC55S69JBD64_cm33_core0\RTE_Device.h - - - - - - - - RTE\Device\LPC55S69JBD64_cm33_core0\startup_LPC55S69_cm33_core0.S - - - - - - - - RTE\USB\USBD_Config_0.c - - - - - - - - RTE\USB\USBD_Config_CDC_0.h - - - - - - - - RTE\USB\USBD_Config_CustomClass_0.h - - - - - - - - - - - - - CMSIS_DAP - 1 - - - - -
diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/DAP_config.h b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/DAP_config.h deleted file mode 100644 index 573d725..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/DAP_config.h +++ /dev/null @@ -1,651 +0,0 @@ -/* - * Copyright (c) 2013-2021 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ---------------------------------------------------------------------- - * - * $Date: 15. September 2021 - * $Revision: V2.1.0 - * - * Project: CMSIS-DAP Examples MCU-LINK - * Title: DAP_config.h CMSIS-DAP Configuration File for MCU-LINK - * - *---------------------------------------------------------------------------*/ - -#ifndef __DAP_CONFIG_H__ -#define __DAP_CONFIG_H__ - - -//************************************************************************************************** -/** -\defgroup DAP_Config_Debug_gr CMSIS-DAP Debug Unit Information -\ingroup DAP_ConfigIO_gr -@{ -Provides definitions about the hardware and configuration of the Debug Unit. - -This information includes: - - Definition of Cortex-M processor parameters used in CMSIS-DAP Debug Unit. - - Debug Unit Identification strings (Vendor, Product, Serial Number). - - Debug Unit communication packet size. - - Debug Access Port supported modes and settings (JTAG/SWD and SWO). - - Optional information about a connected Target Device (for Evaluation Boards). -*/ - -#ifdef _RTE_ -#include "RTE_Components.h" -#include CMSIS_device_header -#else -#include "device.h" // Debug Unit Cortex-M Processor Header File -#endif - -#include "pin_mux.h" -#include "fsl_gpio.h" - -#include "ser_num.h" - -/// Processor Clock of the Cortex-M MCU used in the Debug Unit. -/// This value is used to calculate the SWD/JTAG clock speed. -#define CPU_CLOCK 150000000U ///< Specifies the CPU Clock in Hz. - -/// Number of processor cycles for I/O Port write operations. -/// This value is used to calculate the SWD/JTAG clock speed that is generated with I/O -/// Port write operations in the Debug Unit by a Cortex-M MCU. Most Cortex-M processors -/// require 2 processor cycles for a I/O Port Write operation. If the Debug Unit uses -/// a Cortex-M0+ processor with high-speed peripheral I/O only 1 processor cycle might be -/// required. -#define IO_PORT_WRITE_CYCLES 2U ///< I/O Cycles: 2=default, 1=Cortex-M0+ fast I/0. - -/// Indicate that Serial Wire Debug (SWD) communication mode is available at the Debug Access Port. -/// This information is returned by the command \ref DAP_Info as part of Capabilities. -#define DAP_SWD 1 ///< SWD Mode: 1 = available, 0 = not available. - -/// Indicate that JTAG communication mode is available at the Debug Port. -/// This information is returned by the command \ref DAP_Info as part of Capabilities. -#define DAP_JTAG 1 ///< JTAG Mode: 1 = available, 0 = not available. - -/// Configure maximum number of JTAG devices on the scan chain connected to the Debug Access Port. -/// This setting impacts the RAM requirements of the Debug Unit. Valid range is 1 .. 255. -#define DAP_JTAG_DEV_CNT 8U ///< Maximum number of JTAG devices on scan chain. - -/// Default communication mode on the Debug Access Port. -/// Used for the command \ref DAP_Connect when Port Default mode is selected. -#define DAP_DEFAULT_PORT 1U ///< Default JTAG/SWJ Port Mode: 1 = SWD, 2 = JTAG. - -/// Default communication speed on the Debug Access Port for SWD and JTAG mode. -/// Used to initialize the default SWD/JTAG clock frequency. -/// The command \ref DAP_SWJ_Clock can be used to overwrite this default setting. -#define DAP_DEFAULT_SWJ_CLOCK 1000000U ///< Default SWD/JTAG clock frequency in Hz. - -/// Maximum Package Size for Command and Response data. -/// This configuration settings is used to optimize the communication performance with the -/// debugger and depends on the USB peripheral. Typical vales are 64 for Full-speed USB HID or WinUSB, -/// 1024 for High-speed USB HID and 512 for High-speed USB WinUSB. -#define DAP_PACKET_SIZE 512U ///< Specifies Packet Size in bytes. - -/// Maximum Package Buffers for Command and Response data. -/// This configuration settings is used to optimize the communication performance with the -/// debugger and depends on the USB peripheral. For devices with limited RAM or USB buffer the -/// setting can be reduced (valid range is 1 .. 255). -#define DAP_PACKET_COUNT 8U ///< Specifies number of packets buffered. - -/// Indicate that UART Serial Wire Output (SWO) trace is available. -/// This information is returned by the command \ref DAP_Info as part of Capabilities. -#define SWO_UART 1 ///< SWO UART: 1 = available, 0 = not available. - -/// USART Driver instance number for the UART SWO. -#define SWO_UART_DRIVER 3 ///< USART Driver instance number (Driver_USART#). - -/// Maximum SWO UART Baudrate. -#define SWO_UART_MAX_BAUDRATE 9000000U ///< SWO UART Maximum Baudrate in Hz. - -/// Indicate that Manchester Serial Wire Output (SWO) trace is available. -/// This information is returned by the command \ref DAP_Info as part of Capabilities. -#define SWO_MANCHESTER 0 ///< SWO Manchester: 1 = available, 0 = not available. - -/// SWO Trace Buffer Size. -#define SWO_BUFFER_SIZE 8192U ///< SWO Trace Buffer Size in bytes (must be 2^n). - -/// SWO Streaming Trace. -#define SWO_STREAM 1 ///< SWO Streaming Trace: 1 = available, 0 = not available. - -/// Clock frequency of the Test Domain Timer. Timer value is returned with \ref TIMESTAMP_GET. -#define TIMESTAMP_CLOCK 150000000U ///< Timestamp clock in Hz (0 = timestamps not supported). - -/// Indicate that UART Communication Port is available. -/// This information is returned by the command \ref DAP_Info as part of Capabilities. -#define DAP_UART 1 ///< DAP UART: 1 = available, 0 = not available. - -/// USART Driver instance number for the UART Communication Port. -#define DAP_UART_DRIVER 0 ///< USART Driver instance number (Driver_USART#). - -/// UART Receive Buffer Size. -#define DAP_UART_RX_BUFFER_SIZE 1024U ///< Uart Receive Buffer Size in bytes (must be 2^n). - -/// UART Transmit Buffer Size. -#define DAP_UART_TX_BUFFER_SIZE 1024U ///< Uart Transmit Buffer Size in bytes (must be 2^n). - -/// Indicate that UART Communication via USB COM Port is available. -/// This information is returned by the command \ref DAP_Info as part of Capabilities. -#define DAP_UART_USB_COM_PORT 1 ///< USB COM Port: 1 = available, 0 = not available. - -/// Debug Unit is connected to fixed Target Device. -/// The Debug Unit may be part of an evaluation board and always connected to a fixed -/// known device. In this case a Device Vendor, Device Name, Board Vendor and Board Name strings -/// are stored and may be used by the debugger or IDE to configure device parameters. -#define TARGET_FIXED 0 ///< Target: 1 = known, 0 = unknown; - -#define TARGET_DEVICE_VENDOR "NXP" ///< String indicating the Silicon Vendor -#define TARGET_DEVICE_NAME "Cortex-M" ///< String indicating the Target Device -#define TARGET_BOARD_VENDOR "NXP" ///< String indicating the Board Vendor -#define TARGET_BOARD_NAME "NXP board" ///< String indicating the Board Name - -#if TARGET_FIXED != 0 -#include -static const char TargetDeviceVendor [] = TARGET_DEVICE_VENDOR; -static const char TargetDeviceName [] = TARGET_DEVICE_NAME; -static const char TargetBoardVendor [] = TARGET_BOARD_VENDOR; -static const char TargetBoardName [] = TARGET_BOARD_NAME; -#endif - -/** Get Vendor Name string. -\param str Pointer to buffer to store the string (max 60 characters). -\return String length (including terminating NULL character) or 0 (no string). -*/ -__STATIC_INLINE uint8_t DAP_GetVendorString (char *str) { - (void)str; - return (0U); -} - -/** Get Product Name string. -\param str Pointer to buffer to store the string (max 60 characters). -\return String length (including terminating NULL character) or 0 (no string). -*/ -__STATIC_INLINE uint8_t DAP_GetProductString (char *str) { - (void)str; - return (0U); -} - -/** Get Serial Number string. -\param str Pointer to buffer to store the string (max 60 characters). -\return String length (including terminating NULL character) or 0 (no string). -*/ -__STATIC_INLINE uint8_t DAP_GetSerNumString (char *str) { - uint8_t len = 0U; - char *ser_num; - - ser_num = GetSerialNum(); - if (ser_num != NULL) { - strcpy(str, ser_num); - len = (uint8_t)(strlen(ser_num) + 1U); - } - - return (len); -} - -/** Get Target Device Vendor string. -\param str Pointer to buffer to store the string (max 60 characters). -\return String length (including terminating NULL character) or 0 (no string). -*/ -__STATIC_INLINE uint8_t DAP_GetTargetDeviceVendorString (char *str) { -#if TARGET_FIXED != 0 - uint8_t len; - - strcpy(str, TargetDeviceVendor); - len = (uint8_t)(strlen(TargetDeviceVendor) + 1U); - return (len); -#else - (void)str; - return (0U); -#endif -} - -/** Get Target Device Name string. -\param str Pointer to buffer to store the string (max 60 characters). -\return String length (including terminating NULL character) or 0 (no string). -*/ -__STATIC_INLINE uint8_t DAP_GetTargetDeviceNameString (char *str) { -#if TARGET_FIXED != 0 - uint8_t len; - - strcpy(str, TargetDeviceName); - len = (uint8_t)(strlen(TargetDeviceName) + 1U); - return (len); -#else - (void)str; - return (0U); -#endif -} - -/** Get Target Board Vendor string. -\param str Pointer to buffer to store the string (max 60 characters). -\return String length (including terminating NULL character) or 0 (no string). -*/ -__STATIC_INLINE uint8_t DAP_GetTargetBoardVendorString (char *str) { -#if TARGET_FIXED != 0 - uint8_t len; - - strcpy(str, TargetBoardVendor); - len = (uint8_t)(strlen(TargetBoardVendor) + 1U); - return (len); -#else - (void)str; - return (0U); -#endif -} - -/** Get Target Board Name string. -\param str Pointer to buffer to store the string (max 60 characters). -\return String length (including terminating NULL character) or 0 (no string). -*/ -__STATIC_INLINE uint8_t DAP_GetTargetBoardNameString (char *str) { -#if TARGET_FIXED != 0 - uint8_t len; - - strcpy(str, TargetBoardName); - len = (uint8_t)(strlen(TargetBoardName) + 1U); - return (len); -#else - (void)str; - return (0U); -#endif -} - -/** Get Product Firmware Version string. -\param str Pointer to buffer to store the string (max 60 characters). -\return String length (including terminating NULL character) or 0 (no string). -*/ -__STATIC_INLINE uint8_t DAP_GetProductFirmwareVersionString (char *str) { - (void)str; - return (0U); -} - -///@} - -// Debug Port I/O Pins -//SWO/TDO -#define PIN_SWO_TDO_PORT (0U) -#define PIN_SWO_TDO_PIN (3U) - -//************************************************************************************************** -/** -\defgroup DAP_Config_PortIO_gr CMSIS-DAP Hardware I/O Pin Access -\ingroup DAP_ConfigIO_gr -@{ - -Standard I/O Pins of the CMSIS-DAP Hardware Debug Port support standard JTAG mode -and Serial Wire Debug (SWD) mode. In SWD mode only 2 pins are required to implement the debug -interface of a device. The following I/O Pins are provided: - -JTAG I/O Pin | SWD I/O Pin | CMSIS-DAP Hardware pin mode ----------------------------- | -------------------- | --------------------------------------------- -TCK: Test Clock | SWCLK: Clock | Output Push/Pull -TMS: Test Mode Select | SWDIO: Data I/O | Output Push/Pull; Input (for receiving data) -TDI: Test Data Input | | Output Push/Pull -TDO: Test Data Output | | Input -nTRST: Test Reset (optional) | | Output Open Drain with pull-up resistor -nRESET: Device Reset | nRESET: Device Reset | Output Open Drain with pull-up resistor - - -DAP Hardware I/O Pin Access Functions -------------------------------------- -The various I/O Pins are accessed by functions that implement the Read, Write, Set, or Clear to -these I/O Pins. - -For the SWDIO I/O Pin there are additional functions that are called in SWD I/O mode only. -This functions are provided to achieve faster I/O that is possible with some advanced GPIO -peripherals that can independently write/read a single I/O pin without affecting any other pins -of the same I/O port. The following SWDIO I/O Pin functions are provided: - - \ref PIN_SWDIO_OUT_ENABLE to enable the output mode from the DAP hardware. - - \ref PIN_SWDIO_OUT_DISABLE to enable the input mode to the DAP hardware. - - \ref PIN_SWDIO_IN to read from the SWDIO I/O pin with utmost possible speed. - - \ref PIN_SWDIO_OUT to write to the SWDIO I/O pin with utmost possible speed. -*/ - - -// Configure DAP I/O pins ------------------------------ - -/** Setup JTAG I/O pins: TCK, TMS, TDI, TDO, nTRST, and nRESET. -Configures the DAP Hardware I/O pins for JTAG mode: - - TCK, TMS, TDI, nTRST, nRESET to output mode and set to high level. - - TDO to input mode. -*/ -__STATIC_INLINE void PORT_JTAG_SETUP (void) { - - // TCK - DBGIF_TCK_SWCLK_GPIO->SET[DBGIF_TCK_SWCLK_PORT] = (1U << DBGIF_TCK_SWCLK_PIN); - DBGIF_TCK_SWCLK_GPIO->DIRSET[DBGIF_TCK_SWCLK_PORT] = (1U << DBGIF_TCK_SWCLK_PIN); - - // TDI - DBGIF_TDI_GPIO->SET[DBGIF_TDI_PORT] = (1U << DBGIF_TDI_PIN); - DBGIF_TDI_GPIO->DIRSET[DBGIF_TDI_PORT] = (1U << DBGIF_TDI_PIN); - - // TMS - DBGIF_TMS_SWDIO_GPIO->SET[DBGIF_TMS_SWDIO_PORT] = (1U << DBGIF_TMS_SWDIO_PIN); - DBGIF_TMS_SWDIO_GPIO->DIRSET[DBGIF_TMS_SWDIO_PORT] = (1U << DBGIF_TMS_SWDIO_PIN); - DBGIF_TMS_SWDIO_TXEN_GPIO->SET[DBGIF_TMS_SWDIO_TXEN_PORT] = (1U << DBGIF_TMS_SWDIO_TXEN_PIN); - - // nRESET - DBGIF_RESET_GPIO->SET[DBGIF_RESET_PORT] = (1U << DBGIF_RESET_PIN); - DBGIF_RESET_GPIO->DIRSET[DBGIF_RESET_PORT] = (1U << DBGIF_RESET_PIN); - DBGIF_RESET_TXEN_GPIO->SET[DBGIF_RESET_TXEN_PORT] = (1U << DBGIF_RESET_TXEN_PIN); - - // TDO - GPIO->DIRCLR[PIN_SWO_TDO_PORT] = (1U << PIN_SWO_TDO_PIN); -} - -/** Setup SWD I/O pins: SWCLK, SWDIO, and nRESET. -Configures the DAP Hardware I/O pins for Serial Wire Debug (SWD) mode: - - SWCLK, SWDIO, nRESET to output mode and set to default high level. - - TDI, nTRST to HighZ mode (pins are unused in SWD mode). -*/ -__STATIC_INLINE void PORT_SWD_SETUP (void) { - - // SWCLK - DBGIF_TCK_SWCLK_GPIO->SET[DBGIF_TCK_SWCLK_PORT] = (1U << DBGIF_TCK_SWCLK_PIN); - DBGIF_TCK_SWCLK_GPIO->DIRSET[DBGIF_TCK_SWCLK_PORT] = (1U << DBGIF_TCK_SWCLK_PIN); - - // SWDIO - DBGIF_TMS_SWDIO_GPIO->SET[DBGIF_TMS_SWDIO_PORT] = (1U << DBGIF_TMS_SWDIO_PIN); - DBGIF_TMS_SWDIO_GPIO->DIRSET[DBGIF_TMS_SWDIO_PORT] = (1U << DBGIF_TMS_SWDIO_PIN); - DBGIF_TMS_SWDIO_TXEN_GPIO->SET[DBGIF_TMS_SWDIO_TXEN_PORT] = (1U << DBGIF_TMS_SWDIO_TXEN_PIN); - - // nRESET - DBGIF_RESET_GPIO->SET[DBGIF_RESET_PORT] = (1U << DBGIF_RESET_PIN); - DBGIF_RESET_GPIO->DIRSET[DBGIF_RESET_PORT] = (1U << DBGIF_RESET_PIN); - DBGIF_RESET_TXEN_GPIO->SET[DBGIF_RESET_TXEN_PORT] = (1U << DBGIF_RESET_TXEN_PIN); - - // TDI - DBGIF_TDI_GPIO->DIRCLR[DBGIF_TDI_PORT] = (1U << DBGIF_TDI_PIN); -} - -/** Disable JTAG/SWD I/O Pins. -Disables the DAP Hardware I/O pins which configures: - - TCK/SWCLK, TMS/SWDIO, TDI, TDO, nTRST, nRESET to High-Z mode. -*/ -__STATIC_INLINE void PORT_OFF (void) { - - // TCK/SWCLK - DBGIF_TCK_SWCLK_GPIO->DIRCLR[DBGIF_TCK_SWCLK_PORT] = (1U << DBGIF_TCK_SWCLK_PIN); - - // TMS/SWDIO - DBGIF_TMS_SWDIO_TXEN_GPIO->CLR[DBGIF_TMS_SWDIO_TXEN_PORT] = (1U << DBGIF_TMS_SWDIO_TXEN_PIN); - DBGIF_TMS_SWDIO_GPIO->DIRCLR[DBGIF_TMS_SWDIO_PORT] = (1U << DBGIF_TMS_SWDIO_PIN); - - // nRESET - DBGIF_RESET_TXEN_GPIO->CLR[DBGIF_RESET_TXEN_PORT] = (1U << DBGIF_RESET_TXEN_PIN); - DBGIF_RESET_GPIO->DIRCLR[DBGIF_RESET_PORT] = (1U << DBGIF_RESET_PIN); - - // TDI - DBGIF_TDI_GPIO->DIRCLR[DBGIF_TDI_PORT] = (1U << DBGIF_TDI_PIN); - - // TDO - GPIO->DIRCLR[PIN_SWO_TDO_PORT] = (1U << PIN_SWO_TDO_PIN); -} - - -// SWCLK/TCK I/O pin ------------------------------------- - -/** SWCLK/TCK I/O pin: Get Input. -\return Current status of the SWCLK/TCK DAP hardware I/O pin. -*/ -__STATIC_FORCEINLINE uint32_t PIN_SWCLK_TCK_IN (void) { - return ((DBGIF_TCK_SWCLK_GPIO->PIN[DBGIF_TCK_SWCLK_PORT] >> DBGIF_TCK_SWCLK_PIN) & 1U); -} - -/** SWCLK/TCK I/O pin: Set Output to High. -Set the SWCLK/TCK DAP hardware I/O pin to high level. -*/ -__STATIC_FORCEINLINE void PIN_SWCLK_TCK_SET (void) { - DBGIF_TCK_SWCLK_GPIO->SET[DBGIF_TCK_SWCLK_PORT] = (1U << DBGIF_TCK_SWCLK_PIN); -} - -/** SWCLK/TCK I/O pin: Set Output to Low. -Set the SWCLK/TCK DAP hardware I/O pin to low level. -*/ -__STATIC_FORCEINLINE void PIN_SWCLK_TCK_CLR (void) { - DBGIF_TCK_SWCLK_GPIO->CLR[DBGIF_TCK_SWCLK_PORT] = (1U << DBGIF_TCK_SWCLK_PIN); -} - - -// SWDIO/TMS Pin I/O -------------------------------------- - -/** SWDIO/TMS I/O pin: Get Input. -\return Current status of the SWDIO/TMS DAP hardware I/O pin. -*/ -__STATIC_FORCEINLINE uint32_t PIN_SWDIO_TMS_IN (void) { - return ((DBGIF_TMS_SWDIO_GPIO->PIN[DBGIF_TMS_SWDIO_PORT] >> DBGIF_TMS_SWDIO_PIN) & 1U); -} - -/** SWDIO/TMS I/O pin: Set Output to High. -Set the SWDIO/TMS DAP hardware I/O pin to high level. -*/ -__STATIC_FORCEINLINE void PIN_SWDIO_TMS_SET (void) { - DBGIF_TMS_SWDIO_GPIO->SET[DBGIF_TMS_SWDIO_PORT] = (1U << DBGIF_TMS_SWDIO_PIN); -} - -/** SWDIO/TMS I/O pin: Set Output to Low. -Set the SWDIO/TMS DAP hardware I/O pin to low level. -*/ -__STATIC_FORCEINLINE void PIN_SWDIO_TMS_CLR (void) { - DBGIF_TMS_SWDIO_GPIO->CLR[DBGIF_TMS_SWDIO_PORT] = (1U << DBGIF_TMS_SWDIO_PIN); -} - -/** SWDIO I/O pin: Get Input (used in SWD mode only). -\return Current status of the SWDIO DAP hardware I/O pin. -*/ -__STATIC_FORCEINLINE uint32_t PIN_SWDIO_IN (void) { - return (DBGIF_TMS_SWDIO_GPIO->B[DBGIF_TMS_SWDIO_PORT][DBGIF_TMS_SWDIO_PIN]); -} - -/** SWDIO I/O pin: Set Output (used in SWD mode only). -\param bit Output value for the SWDIO DAP hardware I/O pin. -*/ -__STATIC_FORCEINLINE void PIN_SWDIO_OUT (uint32_t bit) { - DBGIF_TMS_SWDIO_GPIO->B[DBGIF_TMS_SWDIO_PORT][DBGIF_TMS_SWDIO_PIN] = bit; -} - -/** SWDIO I/O pin: Switch to Output mode (used in SWD mode only). -Configure the SWDIO DAP hardware I/O pin to output mode. This function is -called prior \ref PIN_SWDIO_OUT function calls. -*/ -__STATIC_FORCEINLINE void PIN_SWDIO_OUT_ENABLE (void) { - DBGIF_TMS_SWDIO_GPIO->DIRSET[DBGIF_TMS_SWDIO_PORT] = (1U << DBGIF_TMS_SWDIO_PIN); - DBGIF_TMS_SWDIO_TXEN_GPIO->SET[DBGIF_TMS_SWDIO_TXEN_PORT] = (1U << DBGIF_TMS_SWDIO_TXEN_PIN); -} - -/** SWDIO I/O pin: Switch to Input mode (used in SWD mode only). -Configure the SWDIO DAP hardware I/O pin to input mode. This function is -called prior \ref PIN_SWDIO_IN function calls. -*/ -__STATIC_FORCEINLINE void PIN_SWDIO_OUT_DISABLE (void) { - DBGIF_TMS_SWDIO_TXEN_GPIO->CLR[DBGIF_TMS_SWDIO_TXEN_PORT] = (1U << DBGIF_TMS_SWDIO_TXEN_PIN); - DBGIF_TMS_SWDIO_GPIO->DIRCLR[DBGIF_TMS_SWDIO_PORT] = (1U << DBGIF_TMS_SWDIO_PIN); -} - - -// TDI Pin I/O --------------------------------------------- - -/** TDI I/O pin: Get Input. -\return Current status of the TDI DAP hardware I/O pin. -*/ -__STATIC_FORCEINLINE uint32_t PIN_TDI_IN (void) { - return (DBGIF_TDI_GPIO->B[DBGIF_TDI_PORT][DBGIF_TDI_PIN]); -} - -/** TDI I/O pin: Set Output. -\param bit Output value for the TDI DAP hardware I/O pin. -*/ -__STATIC_FORCEINLINE void PIN_TDI_OUT (uint32_t bit) { - DBGIF_TDI_GPIO->B[DBGIF_TDI_PORT][DBGIF_TDI_PIN] = bit; -} - - -// TDO Pin I/O --------------------------------------------- - -/** TDO I/O pin: Get Input. -\return Current status of the TDO DAP hardware I/O pin. -*/ -__STATIC_FORCEINLINE uint32_t PIN_TDO_IN (void) { - return (GPIO->B[PIN_SWO_TDO_PORT][PIN_SWO_TDO_PIN]); - -} - - -// nTRST Pin I/O ------------------------------------------- - -/** nTRST I/O pin: Get Input. -\return Current status of the nTRST DAP hardware I/O pin. -*/ -__STATIC_FORCEINLINE uint32_t PIN_nTRST_IN (void) { - return (0U); // Not available -} - -/** nTRST I/O pin: Set Output. -\param bit JTAG TRST Test Reset pin status: - - 0: issue a JTAG TRST Test Reset. - - 1: release JTAG TRST Test Reset. -*/ -__STATIC_FORCEINLINE void PIN_nTRST_OUT (uint32_t bit) { - (void) bit; - // Not available -} - -// nRESET Pin I/O------------------------------------------ - -/** nRESET I/O pin: Get Input. -\return Current status of the nRESET DAP hardware I/O pin. -*/ -__STATIC_FORCEINLINE uint32_t PIN_nRESET_IN (void) { - return ((DBGIF_RESET_GPIO->PIN[DBGIF_RESET_PORT] >> DBGIF_RESET_PIN) & 1U); -} - -/** nRESET I/O pin: Set Output. -\param bit target device hardware reset pin status: - - 0: issue a device hardware reset. - - 1: release device hardware reset. -*/ -__STATIC_FORCEINLINE void PIN_nRESET_OUT (uint32_t bit) { - if (bit) { - DBGIF_RESET_GPIO->SET[DBGIF_RESET_PORT] = (1U << DBGIF_RESET_PIN); - DBGIF_RESET_TXEN_GPIO->CLR[DBGIF_RESET_TXEN_PORT] = (1U << DBGIF_RESET_TXEN_PIN); - DBGIF_RESET_GPIO->DIRCLR[DBGIF_RESET_PORT] = (1U << DBGIF_RESET_PIN); - } else { - DBGIF_RESET_GPIO->CLR[DBGIF_RESET_PORT] = (1U << DBGIF_RESET_PIN); - DBGIF_RESET_GPIO->DIRSET[DBGIF_RESET_PORT] = (1U << DBGIF_RESET_PIN); - DBGIF_RESET_TXEN_GPIO->SET[DBGIF_RESET_TXEN_PORT] = (1U << DBGIF_RESET_TXEN_PIN); - } -} - -///@} - - -//************************************************************************************************** -/** -\defgroup DAP_Config_LEDs_gr CMSIS-DAP Hardware Status LEDs -\ingroup DAP_ConfigIO_gr -@{ - -CMSIS-DAP Hardware may provide LEDs that indicate the status of the CMSIS-DAP Debug Unit. - -It is recommended to provide the following LEDs for status indication: - - Connect LED: is active when the DAP hardware is connected to a debugger. - - Running LED: is active when the debugger has put the target device into running state. -*/ - -/** Debug Unit: Set status of Connected LED. -\param bit status of the Connect LED. - - 1: Connect LED ON: debugger is connected to CMSIS-DAP Debug Unit. - - 0: Connect LED OFF: debugger is not connected to CMSIS-DAP Debug Unit. -*/ -__STATIC_INLINE void LED_CONNECTED_OUT (uint32_t bit) { - if (bit) { - LED1_GPIO->CLR[LED1_PORT] = (1U << LED1_PIN); - } else { - LED1_GPIO->SET[LED1_PORT] = (1U << LED1_PIN); - } -} - -/** Debug Unit: Set status Target Running LED. -\param bit status of the Target Running LED. - - 1: Target Running LED ON: program execution in target started. - - 0: Target Running LED OFF: program execution in target stopped. -*/ -__STATIC_INLINE void LED_RUNNING_OUT (uint32_t bit) { - (void) bit; - // Not available -} - -///@} - - -//************************************************************************************************** -/** -\defgroup DAP_Config_Timestamp_gr CMSIS-DAP Timestamp -\ingroup DAP_ConfigIO_gr -@{ -Access function for Test Domain Timer. - -The value of the Test Domain Timer in the Debug Unit is returned by the function \ref TIMESTAMP_GET. By -default, the DWT timer is used. The frequency of this timer is configured with \ref TIMESTAMP_CLOCK. - -*/ - -/** Get timestamp of Test Domain Timer. -\return Current timestamp value. -*/ -__STATIC_INLINE uint32_t TIMESTAMP_GET (void) { - return (DWT->CYCCNT); -} - -///@} - - -//************************************************************************************************** -/** -\defgroup DAP_Config_Initialization_gr CMSIS-DAP Initialization -\ingroup DAP_ConfigIO_gr -@{ - -CMSIS-DAP Hardware I/O and LED Pins are initialized with the function \ref DAP_SETUP. -*/ - -/** Setup of the Debug Unit I/O pins and LEDs (called when Debug Unit is initialized). -This function performs the initialization of the CMSIS-DAP Hardware I/O Pins and the -Status LEDs. In detail the operation of Hardware I/O and LED pins are enabled and set: - - I/O clock system enabled. - - all I/O pins: input buffer enabled, output pins are set to HighZ mode. - - for nTRST, nRESET a weak pull-up (if available) is enabled. - - LED output pins are enabled and LEDs are turned off. -*/ -__STATIC_INLINE void DAP_SETUP (void) { - BOARD_InitBootPins(); -} - -/** Reset Target Device with custom specific I/O pin or command sequence. -This function allows the optional implementation of a device specific reset sequence. -It is called when the command \ref DAP_ResetTarget and is for example required -when a device needs a time-critical unlock sequence that enables the debug port. -\return 0 = no device specific reset sequence is implemented.\n - 1 = a device specific reset sequence is implemented. -*/ -__STATIC_INLINE uint8_t RESET_TARGET (void) { - return (0U); // change to '1' when a device reset sequence is implemented -} - -///@} - - -#endif /* __DAP_CONFIG_H__ */ diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/DebugConfig/MCU-Link_LPC55S69JBD64_cm33_core0.dbgconf b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/DebugConfig/MCU-Link_LPC55S69JBD64_cm33_core0.dbgconf deleted file mode 100644 index 1cc3a2a..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/DebugConfig/MCU-Link_LPC55S69JBD64_cm33_core0.dbgconf +++ /dev/null @@ -1,18 +0,0 @@ -// <<< Use Configuration Wizard in Context Menu >>> - -// SWO pin -// The SWO (Serial Wire Output) pin optionally provides data from the ITM -// for an external debug tool to evaluate. -// <0=> PIO0_10 -// <1=> PIO0_8 -SWO_Pin = 0; -// - -// Debug Configuration -// StopAfterBootloader Stop after Bootloader -// -Dbg_CR = 0x00000001; -// - - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/MCU-Link.mex b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/MCU-Link.mex deleted file mode 100644 index 1788595..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/MCU-Link.mex +++ /dev/null @@ -1,743 +0,0 @@ - - - - LPC55S69 - LPC55S69JBD64 - ksdk2_0 - - - - - - - - true - false - false - - - - - - - - - 9.0.3 - - - - - - - - - - - - - - - - Configures pin routing and optionally pin electrical features. - - true - - cm33_core0 - true - - - - - true - - - - - true - - - - - true - - - - - true - - - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9.0.3 - - - - - - - - - true - - - - - INPUT - - - - - true - - - - - OUTPUT - - - - - true - - - - - true - - - - - true - - - - - true - - - - - true - - - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - - - - - - - 0.0.0 - - - - - - - - - - 9.0.3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0.0.0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/Objects/CMSIS_DAP.hex b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/Objects/CMSIS_DAP.hex deleted file mode 100644 index c9c3a3a..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/Objects/CMSIS_DAP.hex +++ /dev/null @@ -1,4356 +0,0 @@ -:020000040000FA -:1000000000300320150200004D02000051020000E4 -:1000100049020000490200004902000049020000B4 -:100020000000000000000000000000005504000077 -:100030004902000000000000F50400000505000072 -:100040006102000065020000690200006D0200000C -:100050007102000075020000790200007D020000BC -:100060008102000085020000890200008D0200006C -:100070009102000095020000990200009D0200001C -:10008000A1020000A5020000A9020000AD020000CC -:10009000B1020000B5020000B9020000BD0200007C -:1000A000C1020000C5020000C9020000CD0200002C -:1000B000D1020000D5020000D9020000DD020000DC -:1000C000E1020000E5020000E9020000ED0200008C -:1000D000F1020000F5020000F9020000FD0200003C -:1000E0000103000005030000090300000D030000E8 -:1000F00011030000150300001903000051950000D2 -:100100002103000025030000290300002D03000047 -:100110003103000035030000390300003D030000F7 -:100120004103000045030000490300004D030000A7 -:1001300000000000000000000000000000000000BF -:1001400000000000000000000000000000000000AF -:10015000000000000000000000000000000000009F -:10016000000000000000000000000000000000008F -:10017000000000000000000000000000000000007F -:10018000000000000000000000000000000000006F -:10019000000000000000000000000000000000005F -:1001A000000000000000000000000000000000004F -:1001B000000000000000000000000000000000003F -:1001C000000000000000000000000000000000002F -:1001D000000000000000000000000000000000001F -:1001E000000000000000000000000000000000000F -:1001F00000000000000000000000000000000000FF -:10020000DFF80CD000F026FA0048004741AB0000B0 -:100210000030032072B60748074901600A6882F37C -:100220000888064880F30A880548804762B6054872 -:10023000004700BF08ED00E000000000002C032094 -:10024000817B000001020000FFF7FEBF404800472D -:100250004048004740480047404800474048004762 -:100260004048004740480047404800474048004752 -:100270004048004740480047404800474048004742 -:100280004048004740480047404800474048004732 -:100290004048004740480047404800474048004722 -:1002A0004048004740480047404800474048004712 -:1002B0004048004740480047404800474048004702 -:1002C00040480047404800474048004740480047F2 -:1002D00040480047404800474048004740480047E2 -:1002E00040480047404800474048004740480047D2 -:1002F00040480047404800474048004740480047C2 -:1003000040480047404800474048004740480047B1 -:1003100040480047404800474048004740480047A1 -:100320004048004740480047404800474048004791 -:100330004048004740480047404800474048004781 -:100340004048004740480047404800474048004771 -:100350004D0200005102000055040000F5040000A9 -:100360000505000049020000D52E000049020000EA -:100370004902000049020000490200004902000051 -:100380004902000049020000490200004902000041 -:10039000490200004902000049020000F139000052 -:1003A000213A0000513A0000813A0000B13A0000C1 -:1003B000E13A0000113B0000413B0000490200000F -:1003C0004902000049020000490200004902000001 -:1003D00049020000490200004902000049020000F1 -:1003E00049020000490200004902000049020000E1 -:1003F00049020000490200004902000049020000D1 -:1004000049020000490200004902000049020000C0 -:1004100049020000490200004902000049020000B0 -:1004200049020000490200004902000049020000A0 -:100430004902000049020000490200004902000090 -:10044000490200004902000049020000E12E0000BC -:10045000713B00001EF0040F0CBFEFF30880EFF3B8 -:100460000980816911F8021C002935D101B590E895 -:100470000F10E047BDE800508CE80300254B93E8DF -:100480000600914208BF70471A6041B91EF0100F74 -:1004900010D1214B186820F0010018600AE02CE907 -:1004A000F00F1EF0100F08BF2CED108AC1F838C0F5 -:1004B00081F822E0906B116B81F30B8892F8221087 -:1004C00061F0FF0E1EF0100F08BFB0EC108AB0E80C -:1004D000F00F80F309887047104A13689942FAD8E0 -:1004E00001B552F821C00FC8E047BDE80050CCF874 -:1004F0000000704701B50AF0CFFDBDE80140EFF301 -:10050000098CBBE701B50BF02DF8BDE80140EFF316 -:10051000098CB3E74400002034EF00E0F8FF00004E -:100520002DE9F05F0546002092469B468846064628 -:10053000814640241BE0284641464746224600F0BB -:1005400079F853465A46C01A914110D311461846BD -:10055000224600F060F82D1A67EB01084F4622464C -:100560000120002100F057F817EB00094E41201E32 -:10057000A4F10104DFDC484631462A464346BDE883 -:10058000F09F40EA01039B0703D009E008C9121F4E -:1005900008C0042AFAD203E011F8013B00F8013B3D -:1005A000521EF9D27047D2B201E000F8012B491E69 -:1005B000FBD270470022F6E710B513460A46044600 -:1005C0001946FFF7F0FF204610BD421C10F8011B32 -:1005D0000029FBD1801A7047034611F8012B00F85F -:1005E000012B002AF9D11846704720F00040C20DB7 -:1005F000C0F3160040F400007F2A02DA0020014612 -:1006000070470021962A03DCC2F19602D040704761 -:10061000963AAFF30080202A04DB203A00FA02F178 -:10062000002070479140C2F1200320FA03F31943E0 -:1006300090407047202A04DB203A21FA02F0002182 -:10064000704721FA02F3D040C2F1200291400843E2 -:1006500019467047064C074D06E0E06840F001037C -:1006600094E8070098471034AC42F6D3FFF7CCFD6E -:10067000740D0100940D010030B58C1810F8012B99 -:1006800012F00F0301D110F8013B120906D110F846 -:10069000012B03E010F8015B01F8015B5B1EF9D14F -:1006A00001E001F8013B521EFBD1A142E6D300203C -:1006B00030BD00002DE9F04389B0C826C4F202061F -:1006C0002020306041F60030C0F2B70000F09CFC02 -:1006D00049F20818C0F21008404600F02BF94DF618 -:1006E0000000C0F2B85000F08FFC4FF48070306012 -:1006F0004FF48010306042F20040C0F2F40000F08D -:1007000063FC40F61820C4F2000001684DF2801925 -:1007100041F02001016043F22000C4F201000168B1 -:10072000C0F6F00941F080710160016841F40001F8 -:100730000160484604F0E0FE484600F0EDFA4FF450 -:10074000037000F0F7F84FF4007030604FF40000D1 -:1007500030604FF6FC50C0F2000090E84E00D0E947 -:100760000447D0E906500DF1040C8CE84E00CDE9A9 -:100770000547CDE9075001A800F060FB08200021E3 -:10078000002200F0ADFA0B200021002200F0A8FAB0 -:1007900020200121002200F0A3FA222000210122C2 -:1007A00000F09EFA22200221002200F099FA08F5BA -:1007B000801000F0BFF840F2144000F0BBF840F2A7 -:1007C000174000F0B7F840F22800C2F20000C0F86D -:1007D000009009B0BDE8F083FFF76CBF04F038BDAE -:1007E0004FF6EC40C0F20000446AC56A40F22C2685 -:1007F00047F67058C2F20006C2F2000803E000BFDC -:100800000A200AF0B1F9A8478007F9D5F768A04790 -:1008100031693844421AB2F5F07F07DBF0684FF4D3 -:10082000F072A0F5F070306102E000BF012AE7DB52 -:10083000306931696FF35F20C0F500706FF35F219D -:100840008242C8BF0246414400200BF08FFE0128BF -:10085000D6DB316908443061D2E70000F0B581B0E1 -:100860004FF6EC46C0F20006B76A04461820002195 -:100870000025B84719200021B84715200021B847A6 -:1008800016200021B84794F90400022819D894F9D9 -:100890000510022918D8A279053AD3B2032B13D830 -:1008A0001AA353F820001CA352B253F821101DA321 -:1008B00053F82220084321681043B8474FF0000541 -:1008C00030B1284601B0F0BD0025284601B0F0BD8A -:1008D000D4F80300216840F22C22C2F20002C2F8D0 -:1008E0001700516115200121D56015610125B84718 -:1008F00016200121B847B26947F67050C2F20000D5 -:100900004FF400719047284601B0F0BD0000000090 -:1009100000800000004000000000000000200000F7 -:1009200000100000010500000106000001070000A2 -:100930000100000040F00041B1F1004F08BF7047D6 -:10094000010513D0C0F30321C2B201393F2AC9B255 -:1009500006D19822C4F2020213681943116005E01F -:1009600040F26023C4F2000343F822100021B1EBEF -:10097000103F1EBF4FF20001C0F2FF0111EA00015B -:1009800000D17047C0F30351000B4A1EC1B23F298A -:10099000D0B207D19821C4F202010A68104308605E -:1009A000704700BF40F26022C4F2000242F821000A -:1009B0007047000040F22820C4F20000402101608E -:1009C00020210160D0F8F01741F02001C0F8F017A5 -:1009D00043F22001C4F20101086840F40002012042 -:1009E0000A60704781B0C822C4F202024FF48070DE -:1009F00010604FF4801010604020106080204FF491 -:100A00008053106013604FF48023136048F2A0629B -:100A1000C0F20102009200BF009A531E00930AB177 -:100A200000BFF9E740F22822C4F200024FF0006351 -:100A30001360106043F60002C1F69C42B2FBF1F273 -:100A40006FF00E0348F2A40113FA82F24FF0004057 -:100A5000C4F2030141F86C0C192A4FF000003FD892 -:100A6000DFE802F0240E3E3E3E123E3E3E16223E9F -:100A70003E3E3E1A3E3E3E3E3E3E3E3E3E1E00BF97 -:100A80004FF4800012E000BF4FF400000EE000BF02 -:100A90004FF080700AE000BF4FF0C07006E000BF6A -:100AA0004FF0E07002E000BF4FF0A07051F8042C4E -:100AB00022F0E072104341F8040C4FF4001008607B -:100AC0004FF4803048604FF4805008604020086048 -:100AD0004FF0804041F86C0C002041F8A00C012040 -:100AE00001B0704740F28020C4F200004168032941 -:100AF00084BF00207047DFE801F003171D2300BF0B -:100B0000016889B3016801293CD143F21000C4F2A5 -:100B1000010040F2D4010069C2F200010968C0017D -:100B200001EAE070704700BF40F2E820C2F2000026 -:100B30008068704740F2E820C2F20000C068704749 -:100B40009820C4F20200016A490605D40168C90769 -:100B500004BF4FF400407047016A09064FBF0020F0 -:100B60000068C00380B2704743F21000C4F2010075 -:100B7000006841F600314004C0F2B70101EAE070BC -:100B8000704700BF016802290AD1D0F8980744F2E3 -:100B900040214006C0F20F0101EAE070704700BF3B -:100BA000006803281CBF0020704743F21000C4F205 -:100BB000010000684DF600014000C0F2B85101EAA2 -:100BC000E070704710B5044600F014F840F2203190 -:100BD000C4F2000151F8242051F82410012353FAE3 -:100BE00081F102F47F42B2FBF1F10131B0FBF1F08F -:100BF00010BD000040F2B021C4F2000151F82020E5 -:100C0000072A61D80FF20A0000EB82030020DFE818 -:100C100002F0050715233741471300BFFFF762BFF6 -:100C200040F2E820C2F200008068D1F814110122DD -:100C300052FA81F1B0FBF1F0704700BF43F21000AF -:100C4000C4F20100006841F600314004C0F2B7016F -:100C500001EAE070704700BF43F21000C4F20100E7 -:100C600000684DF600024000C0F2B852D1F8D8102A -:100C700002EAE070012252FA81F1B0FBF1F0704714 -:100C8000D1F8680744F240214006C0F20F0101EAA2 -:100C9000E070704740F2E820C2F200004068704700 -:100CA0009820C4F20200016A490605D40168C90708 -:100CB00004BF4FF400407047016A09064FBF00208F -:100CC0000068C00380B2704740F2112040F2D11199 -:100CD000C0F20100C0F2010140F2493209F0F0FD1A -:100CE00000F0F803082B40F20033C4F2000305D1F2 -:100CF000FF2261F30F2243F820207047002A1CBF17 -:100D00004FF0005243F820204A1E002908BF4FF040 -:100D1000804243F8202070474DF6C101C0F2A70180 -:100D2000884201D2002157E04BF28111C0F24F11ED -:100D3000884201D201214FE048F64121C0F2F7116B -:100D4000884201D2022147E046F20131C0F29F21E0 -:100D5000884201D203213FE043F6C131C0F247315E -:100D6000884201D2042137E041F28141C0F2EF31E3 -:100D7000884201D205212FE04EF64151C0F2964142 -:100D8000884201D2062127E04CF20161C0F23E51B7 -:100D9000884201D207211FE04EF20111C0F2F55145 -:100DA000884201D2082117E04CF2C121C0F2DA6179 -:100DB000884201D209210FE04AF28141C0F2BF719D -:100DC000884201D20A2107E04DF28112C0F6F002FA -:100DD0000C21904238BF0B2144F6E872C4F20302A2 -:100DE0001F2344F6E07013604FF2A002C4F2030028 -:100DF000CFF6FF72835823F00F030B4483504FF25A -:100E00002002CFF6FF72022383500268520709D4F2 -:100E1000026852075CBF02685FEA427202D402684D -:100E20005207F2D540F20040C4F20000026822F4FA -:100E3000704242EA0131016070470000B0B540F2F3 -:100E4000980CC4F2020C4FF4007E4FF40003CCF86F -:100E500028E0CCF82830D0E90012044640F2845053 -:100E6000C4F20000A56840F8041C42F4807142609E -:100E7000416045F02001856081602169C160616940 -:100E80000161616941F0806141F002010161CCF8CA -:100E900030E0CCF83030217F890740F18D80016946 -:100EA0004FF60042C0F2FF32114223D04FF60C51F0 -:100EB000CFF6FF71415801F00703032B54D841F6D8 -:100EC0000032C0F2B702DFE803F045031F2D00BF78 -:100ED00043F22001C4F2010140F2D4020968C2F2D7 -:100EE00000021268C90102EAE17250F8041C090309 -:100EF00034D53EE04DF28011C0F6F00141F2707041 -:100F000004F058FB58E000BFD0F8941444F240229B -:100F10004906C0F20F0202EAE17250F8041C09030C -:100F20001CD526E0DCF8201049060BD4DCF80010B4 -:100F3000C90707D14FF4004250F8041C09030DD52E -:100F400017E000BFDCF8201009060DD4DCF8001013 -:100F5000C9038AB250F8041C09030AD44168C9B213 -:100F6000002908BF012105E0002250F8041C0903F4 -:100F7000F4D50121B2FBF1F14AF26062A1F5C03172 -:100F8000A1F5D461C0F22F1291420DD80168C907B2 -:100F900012D10168C90704BF01685FEAC1710BD1B2 -:100FA0000168C907F2D007E04DF28011C0F6F001E8 -:100FB00041F2707004F0FEFAA16940F2E822C2F238 -:100FC000000200209160B0BD44F60001C0F2E811BB -:100FD000884284BF01207047C821C4F202014FF447 -:100FE00080720A604FF480120A6040F61821C4F241 -:100FF00000010A6842F020020A6040F2D401C2F205 -:10100000000108600020704741F60031C0F2B701CE -:101010004DF6000C8842C0F2B85C18BF604507D09E -:1010200046F60042C0F2DC2290421CBF012070470D -:1010300040F24812C4F200024FF000631360C2F89D -:10104000E030C822C4F202022023136043F21002EF -:10105000C4F2010213684FF48041604508BF4FF0AD -:10106000804143EA0100106000207047F0B581B074 -:1010700002787F2A18D17F220A7047784F70CFB14B -:101080008D1C861C4FF0021430462946013F00F0AB -:1010900017F806EB104615FA80F5002F0444F3D13B -:1010A000204601B0F0BD00BF01B0BDE8F04000F047 -:1010B00007B800BF4FF00214204601B0F0BD000099 -:1010C0002DE9F04F89B0814690F900000D46B0F14E -:1010D000FF3FC0B208DC9F2806D84846294609B021 -:1010E000BDE8F04F01F050BEAA460AF8010B4E468B -:1010F00016F8010B232800F2AD82DFE810F025007E -:1011000045005B006F009900A9005702AB02B302D3 -:10111000D102E502AB02AB02AB02AB02AB02EF02C3 -:101120002D0341035D036B03A303BB03DF03E9034B -:10113000F303FD03070411041B046D047704810409 -:101140008B0495049F0400BF3078AC1CA0F1F00222 -:101150000F2A4FF0000101F21780DFE812F04F096B -:101160005309720B720B720B720B720B720B720BB8 -:10117000720B720B1100110059095F09630900BF5E -:101180004FF4806001F046B93078012800F08F827A -:10119000002840F0778499F802002021C0074EF221 -:1011A0000010C4F208000CBFC0F80011C0F8801194 -:1011B0007DE200BF3078002808BF0120022800F03F -:1011C0006384012840F08E8440F26021C2F2000165 -:1011D00001200871022100F067BC00BF40F26020CE -:1011E000C2F20000002101714EF20010C4F20800AA -:1011F00001264FF08052C0F80063C0F8802104221D -:10120000C0F800234FF40052C0F880214FF40022B0 -:10121000C0F800230222C0F800230822C0F80023EF -:101220008AF8001006F1011009B0BDE8F08F00BF88 -:1012300099F8010040F26021C2F200010874B9F887 -:1012400002008882B9F80400C882002001F05FB86B -:1012500040F2602BC2F2000B9BF80400022800F061 -:101260004B84012840F038864FF000088BF800804E -:1012700099F80230E81C0790002B09F103074FF0A2 -:10128000000001F0448504904FF0000E0020002182 -:101290009846B9460691059319F8014BA10713D456 -:1012A000BEF1000F52D00397BBF814700E2008A9AE -:1012B00004F010FAC7B3022836D19BF80000013FB2 -:1012C0000028F3D001F0BAB8BEF1000F2AD003977E -:1012D000BBF8147004F011000128029010D10137FE -:1012E000204608A904F0F6F902285FD1013F01F079 -:1012F000A5809BF800000028F2D001F09FB800BF45 -:101300000E2008A904F0E6F9002F4FF0000E4FD090 -:1013100002284DD19BF80000013F0028F0D001F0D9 -:1013200073B900BF002368E0012841F00585DDE9BD -:10133000071008700898000A4870BDF822008870ED -:101340009DF82300C870081D0790039FD7F801007F -:10135000A10607F10509089010D4BBF814702046C7 -:1013600008A904F0B7F97FB102280DD19BF800005D -:10137000013F0028F3D001F047B900BFCBF81800B7 -:101380004FF0000E0120EAE0012841F0D984200648 -:1013900005D5DBF80C00079941F8040B07914FF0D5 -:1013A000000E012001210491D9E000BF4FF0010E91 -:1013B000012841F02C81DDE90710029B039F0A1DE3 -:1013C00008700898012B4FEA10204870BDF82200E1 -:1013D00088709DF82300C8700CD1200604D5DBF876 -:1013E0000C0001F10802486000210120012307924E -:1013F00004E000BF0023012007920121E2060393CD -:1014000014D45F46BBF814B0E2072BD1204608A9DC -:1014100004F060F9BBF1000F38D0022836D13878DB -:10142000ABF1010B0028F1D001F084BAD7F801002C -:1014300007F105090290BBF816000190E0074ED0B5 -:10144000BBF814702046002104F044F9002F41D06D -:1014500002283FD19BF80000013F0028F2D001F0A4 -:101460000FBB00BF002975D02046002104F032F9DF -:10147000BBF1000F00F08480022840F081803878B2 -:10148000ABF1010B0028EFD001F054BA012841F074 -:10149000528207992006BB46DDF80CE044BFDBF81A -:1014A0000C0041F8040B0898059B01F8040B089800 -:1014B0000A46000A01F8030CBDF82200079101F862 -:1014C000020C9DF8230001F8010C0020049001207B -:1014D00046E000BFDDF80CE0012841F09880BBF841 -:1014E0001470204608A904F0F5F83FB1022805D190 -:1014F0009BF80000013F0028F3D017E0012816D127 -:10150000019BDDF80CE04FF0010093B10899DBF886 -:1015100018201140029A91420BD09BF80000013B29 -:1015200000280193DBD0012001E000BF0220DDF89C -:101530000CE00899DBF818201140029A914218BF7C -:1015400040F01000012841F062800020049001204A -:1015500005E000BF002104914FF0010EBB46059B42 -:101560009BF800100029069901F10101069141F054 -:101570004E80B8F101084F467FF48EAE01F0C2BB39 -:10158000012841F0D881200604D4002004900120D5 -:10159000E2E700BFF8680799BB4641F8040B00205A -:1015A0000791049001204FF0010ED8E740F2602728 -:1015B000C2F200073879022800F0AE84012840F01A -:1015C000078500223A70B9F8021005F1040B0029D2 -:1015D00000F0D68599F80440A00700F1FB860020B2 -:1015E0000DF12008CDF814B00790049156F8040FBF -:1015F000BB46BF8A0139069108902046414604F057 -:1016000069F84FB1022807D19BF80000013F00287C -:10161000F3D000F00DBF00BF0699012840F0098704 -:101620000798002900F101005F460790DED1B88AD3 -:10163000441C0E20002104F04DF8022841F085835F -:10164000013C01F08183387800284FF00200F0D08F -:1016500001F07BBBFF2028704FF0011009B0BDE8FE -:10166000F08F00BF40F26020C2F200000179022931 -:1016700000F0B684012940F0C384D9F802000126A5 -:10168000089008A90020C0F20506002404F022F802 -:101690008AF8004006F1011009B0BDE8F08F00BFE4 -:1016A000B9F80100322100FB01F0401EFDD10020FD -:1016B0008AF800000120C0F20500A0F5403606F1CE -:1016C000011009B0BDE8F08F0020A5F80100022646 -:1016D00006F1011009B0BDE8F08F00BF99F80230A3 -:1016E00099F80160D9F803104EF2001B13F00100C5 -:1016F000C4F2080B07D0F2074FF001020CBFCBF881 -:101700008021CBF8002113F0020907D0B7074FF072 -:10171000040754BFCBF88071CBF8007113F00405B7 -:101720004CF2010CC4F2080C1CBFB7088CF8007016 -:1017300013F08002079200F04785370600F13A85E2 -:101740004FF40027CBF88071CBF880724FF400572C -:10175000CBF8007100F038BDD9F80100002800F086 -:10176000798143F26041C0F23C218842C0F04A8452 -:1017700040F26021C2F200010120487100F059BC22 -:1017800099F8014009F10201002C08BF4FF4807460 -:10179000204605F03DF94FF4604101EB4431002053 -:1017A0008AF800003FFA81F000F1011606F10110FD -:1017B00009B0BDE8F08F00BF307840F2602200F041 -:1017C0000301C0F380000131C2F2000211775077AB -:1017D000002088E100208AF8000096F800A0BAF105 -:1017E000000F00F0398109F1020402354FF00108C1 -:1017F0004FF0010914F8016B2A4616F03F0000F182 -:1018000007004FEAD007304608BF08272146AAF153 -:10181000010A02F0AFFE09EB070016F080011CBFC1 -:101820003D44B8443C44BAF1000F00F10109E1D154 -:101830004FEA094048EA000606F1011009B0BDE888 -:10184000F08F00BF96F8008040F2602BC2F2000BD0 -:10185000B8F1000F8BF81E8000F08684A8F1010C0F -:10186000BCF1030F08F0030E80F0F6830024002380 -:1018700000F016BC40F26020C2F20000017902299B -:1018800040F0E6803178827FC177914280F0E0803D -:101890000E2002F039FC02F0EDFD00216970010A12 -:1018A000A870E970010C000E052629716871C0F25C -:1018B000010606F1011009B0BDE8F08F304651462F -:1018C00005F0B4FC064606F1011009B0BDE8F08F42 -:1018D0003046514605F052FB064606F1011009B0AC -:1018E000BDE8F08F3046514605F0C4F8064606F1D3 -:1018F000011009B0BDE8F08F3046514605F02CF9D3 -:10190000064606F1011009B0BDE8F08F504605F01B -:1019100097FB064606F1011009B0BDE8F08F00BF45 -:101920003046514605F09AF9064606F1011009B015 -:10193000BDE8F08F00208AF800003678002E00F015 -:1019400097804EF2001B09F1020402354FF00108A6 -:10195000C4F2080B012705E007EB09004C44471CC3 -:10196000013E31D014F8010B10F03F0101F10701E5 -:101970004FEAD10908BF4FF0080910F0800A07D1DB -:101980000421CBF880124FF08051CBF8001106E013 -:101990004FF08051CBF880110421CBF80013214681 -:1019A0002A4603F031FE012E06D10420CBF8800236 -:1019B0004FF08050CBF80001BAF1000FCCD00137C6 -:1019C0004D44C844013ECDD148EA074606F1011016 -:1019D00009B0BDE8F08F00BF3046514605F01CFA53 -:1019E000064606F1011009B0BDE8F08F30465146B9 -:1019F00006F0EAFB064606F1011009B0BDE8F08FDB -:101A00003046514606F06EF9064606F1011009B05F -:101A1000BDE8F08F3046514606F0E0FA064606F182 -:101A2000011009B0BDE8F08F3046514606F0A8F924 -:101A3000064606F1011009B0BDE8F08F504606F0E9 -:101A40006DFA064606F1011009B0BDE8F08F00BF3F -:101A5000FF2048E0FF20F2E24FF001084FF4803011 -:101A600048EA000606F1011009B0BDE8F08F00BF9A -:101A700001274FF0010848EA074606F1011009B0B6 -:101A8000BDE8F08FFF2013E640F26021C2F20001B2 -:101A9000022008714EF20011C4F208010122C1F8BF -:101AA0000021C1F8802208214EF20012C4F208027F -:101AB0000423C2F80001C2F88002C2F80031C2F863 -:101AC00080324FF08053C2F800314FF40023C2F847 -:101AD0000031C2F880324FF40053C2F80031C2F82E -:101AE000001300E000208AF800004FF0011606F114 -:101AF000011009B0BDE8F08F00248BF8004099F880 -:101B000001009BF81E1005F1030E88428BF81F00A0 -:101B100080F0F68399F8021009F10307002900F01C -:101B20006B850020079005224FF0000C00208946AD -:101B300005900291BB461BF8014B2346A00762F3B8 -:101B40005F0323D4BCF1000F6BD00397CDF818E0EE -:101B5000079898460A281CBF0A2002F0D5FA40F2DE -:101B60006020C2F20000878A0E2008A902F07AFDE8 -:101B7000E7B302283AD140F26020C2F200000078B8 -:101B8000013F0028F0D000F065BE00BFBCF1000F9F -:101B9000049327D040F260200799C2F20000B0F809 -:101BA000148081EA030004F01002104300920190B7 -:101BB000CDF818E060D1039708F10107204608A985 -:101BC00002F050FD022840F08380013F00F044867F -:101BD00040F26020C2F2000000780028EED000F051 -:101BE0003BBE00BF04F010009EE000BF012841F0A2 -:101BF000AF8043460898DDF818800A2188F8000075 -:101C000008980791000A88F80100BDF82200039F98 -:101C100088F802009DF8230088F8030008F104000A -:101C20008646D7F8010040F26028A10607F10507B3 -:101C3000C2F20008089019D4CDF818E00493079870 -:101C4000BB46984202D0049802F05EFAB8F81470CD -:101C5000204608A902F006FD57B3022828D198F8BB -:101C60000000013F0028F3D000F004BFC8F81800BE -:101C70004FF0000C1AE100BF0A291CBF0A2002F035 -:101C800043FA0E2008A902F0EDFC0A22B8F1000F79 -:101C90004FF0000C20D002281ED140F26020C2F28A -:101CA00000000078A8F101080028EAD000F0F4BE96 -:101CB000012841F05980DDF818E02006049944BF5E -:101CC000D8F80C004EF8040B5F464FF0000CECE027 -:101CD000039F079A4FF0010C0128079240F0E78616 -:101CE0000898DDF818C001998CF800000898B1FA3E -:101CF00081F1000A8CF80100BDF8220049098CF836 -:101D000002009DF82310049B0CF104008CF80310D2 -:101D100008D0210600F1AE804FF0010C86465F46E8 -:101D2000A2E000BF86460098CDF818E040B3D7F88F -:101D30000100B846039040F26020C2F20000B0F803 -:101D400016B00798984202D0049802F0DDF940F2EC -:101D50006020C2F20000878A08F1050820460021B1 -:101D600002F080FC57B3022828D140F26020C2F272 -:101D700000000078013F0028F0D000F085BE00BFD1 -:101D80000798984698421CBF404602F0BDF940F2C1 -:101D90006020C2F20000878A2046002102F062FC27 -:101DA000002F55D0022853D140F26020C2F200002B -:101DB0000078013F0028EFD000F074BE012840F009 -:101DC000D78740F26023C2F200039F8A204608A909 -:101DD00002F048FC57B1022808D140F26020C2F25C -:101DE00000000078013F0028F0D019E0012818D148 -:101DF000BBF1000F4FF00100474667D040F260236F -:101E0000C2F2000308999A691140039A91420DD0D9 -:101E10001878ABF1010B0028D7D0012005E000BFF6 -:101E2000022040F26023C2F20003474608999A69F3 -:101E30004FF0000C1140039A914218BF40F010007F -:101E4000DDF818E00499012840F0968798462CE0C8 -:101E5000012840F09587DDF818E02006414619D4A6 -:101E60004FF0010C5F46079140F26028C2F2000873 -:101E70001CE000BF40F26028C2F20008D8F80C0055 -:101E80005F46CCF804000CF108004FF0010C8646C8 -:101E90000CE000BF40F26028C2F20008D8F80C0045 -:101EA0004FF0010C4EF8040B5F460791059998F826 -:101EB000000001310028059140F03887B9F101098F -:101EC0004FF005027FF436AE00F034BF40F26023DD -:101ED000C2F20003AAE700BF99F8020009F103016A -:101EE000002800F0A18410F00303A0F1010C00F021 -:101EF0005B8499F8037009F10804F906214658BF7C -:101F000009F10401BF0758BF2146012B40F064834B -:101F1000604600F049BC00BF00223A703078B97FBB -:101F200005F1040B8842F87780F02A81B9F80200A5 -:101F30000028069000F0648399F8048008F00100FE -:101F400004900A3002F0E0F85FEA887000F17883CC -:101F50000020CDF80CB00790069908AC56F8040F95 -:101F6000BB46BF8A0139059108904046214602F0E0 -:101F700079FB3FB1022805D19BF80000013F002802 -:101F8000F3D06FE30599012840F06D83079800298D -:101F900000F101005F460790E0D1049800281CBFC3 -:101FA0000A2002F0B1F8BBF81400441C0E200021F6 -:101FB00002F058FB022840F0D286013C00F0CE86A9 -:101FC0009BF8000000284FF00200EFD000F0C7BEE1 -:101FD0000020A5F80100E870032000F076BE00BFE5 -:101FE0003178827FC177914280F09081082002F0A1 -:101FF0008BF8D9F8020003F04BF8FFF726B900BFC1 -:10200000FF2084E146F6BF01C0F278410144B1FBF4 -:10201000F0F140F26020C2F20000002242714AF664 -:10202000AB20CAF6AA20A1FB00020120022988BF2A -:10203000500840F26021C2F20001886000208AF856 -:1020400000000120C0F20500A0F5803606F1011065 -:1020500009B0BDE8F08F00BF08F0FC0700240023A2 -:1020600009EB0406B5780BEB44000BEB040181F897 -:1020700020500385F2782B4481F82120438535795F -:102080001A4481F82250828573792A44043481F8F5 -:102090002330A7421344C285E2D109EB0400461C59 -:1020A000BEF1000F1ED00BF11E07707807EB440243 -:1020B000391988705381BEF1010F034412D0601C9E -:1020C000B1783A1807EB400091704381BEF1020FDE -:1020D0000B4407D0A01CF1783A1807EB4000917030 -:1020E00043810B44BCF1030F02D200271CE000BF68 -:1020F00008F0FC0600270BEB070090F820100BEB14 -:102100004702591A118790F821300437C91A5187AC -:1021100090F82230BE42A1EB0301918790F8230092 -:10212000A1EB0003D387E6D1BEF1000F1CD00BF169 -:102130001E02D0198078BEF1010FA3EB000302EB61 -:102140004700438310D0781C1118897802EB4000B7 -:102150005B1ABEF1020F438306D0B81C11188978B0 -:1021600002EB4000591A418300204FF0011101EBAE -:1021700008468AF8000006F1011009B0BDE8F08FAA -:10218000002000F09CBD00BF042800F05B81032804 -:1021900040F0578301F0E8FE002800F05183054627 -:1021A00020462946FEF718FA2846FEF70EFA411C8B -:1021B00047E300BF4FF4002E4FF40057CBF800E187 -:1021C000CBF88071CBF800E3002900F0BD8203F06A -:1021D0002003B3FA83F34FEA531C4CF2C063C0F2FE -:1021E0002D0341F2040206F0E00E994238BF0B467F -:1021F0009621CEF20002BEFA8EF403FB01F31768BB -:102200006409F20971084FEA9608002844EA0C04B0 -:1022100046D1B9F1000F40F08580002D4CF2010C41 -:1022200041F20405C4F2080CCEF2000540F014811E -:10223000002C00F02F820798002800F08582DBF840 -:102240000010C1F3C0418A4200F07E822968C91B98 -:10225000994280F07982DBF80010C1F3C0418A42D4 -:1022600000F072822968C91B994280F06D82DBF808 -:102270000010C1F3C0418A4200F066822968C91B80 -:10228000994280F06182DBF80010C1F3C0418A42BC -:1022900000F05A822968C91B9942D0D354E200BF8A -:1022A0004CF2010CC4F2080CB9F1000F62D141F2FA -:1022B0000400CEF2000004E00168C91B994280F0DE -:1022C0004382DBF8001001F00101B142F4D11DB9E5 -:1022D000002CF1D009E000BF9CF80010A8EB010130 -:1022E000B1FA81F149090C42E6D00799002900F0C2 -:1022F0002B82DBF80010C1F3C0418A42DCD123E21B -:1023000009F10207002000F08EBC00BFFF2001266B -:10231000C0F205068AF8000006F1011009B0BDE818 -:10232000F08F00BF002D4CF2010C41F20405C4F205 -:10233000080C9646CEF2000540F0FC80079884F029 -:10234000010204E02E68F61B9E4280F0FD81DBF85E -:102350000060C6F380068E1B18BF01261643F1D11C -:10236000002800F0F181DBF80060C6F3C046B645F6 -:10237000E8D1E9E141F204009646CEF2000004E023 -:102380000268D21B9A4280F0DF81DBF8002002F065 -:102390000102B242F4D1DBF80020C2F38002914284 -:1023A000EED11DB9002CEBD009E000BF9CF8002055 -:1023B000A8EB0202B2FA82F252091442E0D0079A64 -:1023C000002A00F0C181DBF80020C2F3C04296452C -:1023D000D6D1B9E1E00700F04682BE8A88462046A1 -:1023E000002103F077F9002E00F03A82022840F035 -:1023F00037823878013E0028F1D030E140F2F71002 -:1024000012E000BF4DF28010C0F6F00002E000BF05 -:102410004FF40050C5F80200042112E20820012107 -:1024200020700EE24FF400706880022109E200BFC4 -:102430000220DDF814B0079A00F041BC4FF0010E05 -:10244000E4E000BF3020A08042F63260C2F6316086 -:1024500020600621F5E100BF002C00F041810798C3 -:1024600068BB9CF80010884500F06E812968C91B84 -:10247000994280F069819CF80010884500F06481E1 -:102480002968C91B994280F05F819CF8001088453B -:1024900000F05A812968C91B994280F055819CF847 -:1024A0000010884500F050812968C91B9942D8D393 -:1024B0004AE100BF2968C91B994280F045819CF818 -:1024C0000010884506D1DBF80010C1F3C0418A42F4 -:1024D00000F03A812968C91B994280F035819CF847 -:1024E0000010884506D1DBF80010C1F3C0418A42D4 -:1024F00000F02A812968C91B994280F025819CF847 -:102500000010884506D1DBF80010C1F3C0418A42B3 -:1025100000F01A812968C91B994280F015819CF846 -:1025200000108845C6D1DBF80010C1F3C0418A42D3 -:10253000C0D109E1E4B1079805E000BF2A68D21BC9 -:102540009A4280F00181DBF80020C2F380029142C0 -:10255000F4D19CF800209045F0D1002800F0F480E0 -:10256000DBF80020C2F3C0429645E7D1ECE000BFA3 -:10257000DBF80020C2F38002914208BF9CF80020E3 -:102580002A68D21B9A4280F0DF80DBF80020C2F379 -:102590008002914208BF9CF800202A68D21B9A4210 -:1025A00080F0D280DBF80020C2F38002914208BFA5 -:1025B0009CF800202A68D21B9A4280F0C580DBF884 -:1025C0000020C2F38002914208BF9CF800202A68D4 -:1025D000D21B9A42CCD3B7E00F4617F8014B4A1DE5 -:1025E000E10648BF1746A107394658BF1146022BDE -:1025F00040F0CE800238D7E00024002013E300BF73 -:10260000002200205BE300BF4FF0000E0220B8F173 -:10261000000F00F0E98118F00302A8F1010C00F0AE -:102620009D8109F1050319F8017BF90648BF994618 -:10263000B90758BF9946012A1AD1E0468EE100BF7A -:10264000BC8A4046002102F00DF8002C00F03E81CB -:10265000022840F03B813878013C0028F1D002206C -:1026600000222CE30220DDF80CB0079A27E300BF1C -:10267000494611F8013B09F10507DC0648BF394618 -:102680009B07894658BFB946022A40F05981A8F1F4 -:10269000020863E1079888B92968C91B994253D297 -:1026A0002968C91B99424FD22968C91B99424BD24C -:1026B0002968C91B9942EFD346E000BF2968C91BAE -:1026C000994241D22968C91B99423DD22968C91B48 -:1026D000994239D22968C91B9942EFD334E000BF2F -:1026E0000798C8B99CF800102968C91B99422BD2D9 -:1026F0009CF800102968C91B994225D29CF800104B -:102700002968C91B99421FD29CF800102968C91B6F -:102710009942E7D318E000BF9CF800102968C91B54 -:10272000994211D29CF800102968C91B99420BD21A -:102730009CF800102968C91B994205D29CF800102A -:102740002968C91B9942E7D3DBF80010DBF80020A9 -:10275000022303EA520201F001019CF80030114407 -:1027600041EA83019CF80220DBF8000041EAC20143 -:10277000802202EA103008438AF800000120C0F2EB -:10278000050000F5803606F1011009B0BDE8F08FB4 -:102790000A4612F8013B0531DF0648BF0A469B078F -:1027A00058BF0A4603381146BCF1030F3CD30A78E0 -:1027B0004C1D02F0020312F010024FF005022746F2 -:1027C00004BF01224F1C002B08BF0522895C08BFF3 -:1027D00027467C1D01F0020211F010014FF00501A7 -:1027E000234604BF01217B1C002A08BF0521795C18 -:1027F00008BF23465C1D01F0020211F010014FF0EA -:102800000501274604BF01215F1C002A04BF0521E2 -:1028100027465A5C7B1DD106194658BF791C920782 -:1028200058BF19460438C2D10020A5F80100881B02 -:102830000004861C06F1011009B0BDE8F08F00BF4E -:1028400000214FF0021050FA81F08AF8001009B010 -:10285000BDE8F08F0A2007904FF0010C022026E11E -:102860000128414664D1002008AE07900491E0079A -:10287000204618BF0E20B7F81480013906910029B0 -:1028800008BF04462046314602F024FFB8F1000F8D -:1028900008D0022806D13878A8F101080028F1D024 -:1028A00010E000BF012840F0098208984BF8040BA3 -:1028B000079801300790069901200029D7D1049A82 -:1028C000FDE100BF079A0220F9E100BF01282FD1E6 -:1028D000049800280698A0F101014FF0000040F094 -:1028E000C3810790BC8A46460591002908BF0E2681 -:1028F000304608A901F0B6FE44B1022806D1387866 -:10290000013C00284FF00200F2D0D7E1012840F04E -:10291000D58108984BF8040B07980130079005986B -:102920000028A0F101014FF00100DBD1C3E100BF9D -:102930000022C4E10220DDF80CE0BB4667E600BFE0 -:10294000494611F8012B09F10503D70648BF19467E -:10295000920758BF1946A8F103088946BCF1030F36 -:1029600042D399F8001009F1050701F0020211F0B5 -:1029700010014FF005013B4604BF012109F101039D -:10298000002A08BF052119F8011008BF3B465C1D4D -:1029900001F0020211F010014FF00501274604BFBB -:1029A00001215F1C002A08BF0521595C08BF27468A -:1029B0007C1D01F0020211F010014FF005012346C9 -:1029C00004BF01217B1C002A04BF052123465A1D98 -:1029D000795C9146CF0658BF03F10109890758BFBA -:1029E0009146B8F10408BCD1DDF818804F460128A3 -:1029F00040F08D81BEF1000F12D0B946BBF81470C3 -:102A000008AC0E20214602F065FEFFB102281DD160 -:102A10009BF80000013F0028F3D002204F4676E1EA -:102A2000049858B3BBF81400441C0E20002102F097 -:102A300051FE022840F06B81013C00F013819BF8AD -:102A4000000000284FF00200EFD060E101284F465F -:102A500040F05D81DDE9071008700898000A4870B1 -:102A6000BDF8220088709DF82300C8700431012051 -:102A700007914CE14FF0000C022009E0012046E1F3 -:102A8000DDF80CE0C2E500BF4FF0000C0220C346A9 -:102A9000049907910BE000BF0A2007904FF0000C4B -:102AA000022004E04FF0000C0220CDF81C80DDF87D -:102AB00018E0B9F1000F7AD0E04619F00302A9F14D -:102AC000010C2DD00BF105031BF8017BF90648BF63 -:102AD0009B46B90758BF9B46012A01D1E1461FE03A -:102AE000594611F8013B0BF10507DC0648BF394692 -:102AF0009B078B4658BFBB46022A03D1A9F10209A6 -:102B00000EE000BF594611F8012B0BF10503D70663 -:102B100048BF1946920758BF1946A9F103098B46C9 -:102B2000BCF1030FC44642D39BF800100BF105071C -:102B300001F0020211F010014FF005013B4604BF05 -:102B400001210BF10103002A08BF05211BF8011028 -:102B500008BF3B465C1D01F0020211F010014FF06E -:102B60000501274604BF01215F1C002A08BF05217B -:102B7000595C08BF27467C1D01F0020211F01001CC -:102B80004FF00501234604BF01217B1C002A04BF2E -:102B9000052123465A1D795C9346CF0658BF03F1A1 -:102BA000010B890758BF9346B9F10409BCD1059CB4 -:102BB00001285F4637D1CDF818E00798B9460A28B2 -:102BC00004D00A20674601F09FFABC4640F2602814 -:102BD000C2F20008B8F81470A346BCF1000F0FD081 -:102BE00008AC0E20214601F03DFD0FB302281FD195 -:102BF00098F80000013F0028F3D002200FE000BF4A -:102C00007C1C0E20002101F02DFD022807D1013C83 -:102C1000F3D098F8000000284FF00200F1D0DDF862 -:102C200018E05C464F46B91BAEEB0A026C7074E0CC -:102C300001285C464F4611D10898DDF81890A9F894 -:102C40000000BDF8220009F1040189F802009DF896 -:102C500023008E4689F803000120E4E7DDF818E040 -:102C6000E1E700BF022052E008AC0790059121B9CE -:102C70000A2001F049FA4FF00E08BE8A404621466C -:102C800001F0F0FC46B1022806D13878013E002858 -:102C90004FF00200F2D011E001280FD108984BF854 -:102CA000040B07980130079005980028A0F1010156 -:102CB0004FF00100DAD1069A01E000BF079A110A2D -:102CC0006A70A970E870ABEB0A0099F804108907E4 -:102CD00010D499F8031099F80220890641EA82413C -:102CE00001F5802141EA000606F1011009B0BDE8B6 -:102CF000F08F00BF40F4802606F1011009B0BDE856 -:102D0000F08F00BF98464F4601283FF473AE079AF4 -:102D100085F80180B91BA2EB0A0242EA0146A870BD -:102D200006F1011009B0BDE8F08F00BF0120BB46DD -:102D3000BFE600BF029C3EE74FF0010EFFF767BC05 -:102D40004FF0000EFFF763BC0220DDE9042BB6E76D -:102D50000A2107914FF0010CA9E600BF0220069A54 -:102D6000DDF80CB0ABE700BF4FF0000C90E600BF01 -:102D70004FF0000C8BE600BFBB46079199E600BF01 -:102D80004FF0000C91E60000FF224FF001100A7096 -:102D90007047000040F26020C2F20000492200218A -:102DA00082606422C0E9052101228180017482834E -:102DB0008177FDF713BD000040F2082542F264461A -:102DC00043F264484FF00009C2F20005C2F2000667 -:102DD0007F27C2F2000800BF812000214FF0FF32A0 -:102DE00008F0FAFCE88829898842F5D0AC886002AE -:102DF000305C7E281AD106EB442005E06002315C8D -:102E000006EB44207E2911D10770601C6988B0F15F -:102E1000080418BF04468C42F0D1812000214FF0F5 -:102E2000FF3208F0D9FC0006E8D500BFA888698900 -:102E300006EB402008EB4121FEF718F9698905EB04 -:102E400041014882A8880130A880A888082808BFC6 -:102E5000A5F80490288901302881287880B1E88875 -:102E60002989401A80B208280AD085F8009068881D -:102E7000012106EB402200204FF400730BF094FE7A -:102E80006889013068816889082808BFA5F80A9018 -:102E9000E8890130E88168780028A3D0E889298A88 -:102EA00088429FD0A889411CA981A98908EB4022AA -:102EB000082908BFA5F80C90298A0131298205EB61 -:102EC000400185F801904B8A002081210BF08EFE95 -:102ED00088E7000042F20000C4F2080000F0FEB9EA -:102EE00047F20000C4F20A0000F0F8B910B588B348 -:102EF00090F80CE0BEF1170F38D280680123816A88 -:102F000003FA0EFC41EA0C010EF01F04816200F18D -:102F100038024FEA5E11A34052F821401C420BD008 -:102F200052F821401C4207D052F821401C4203D0E5 -:102F300052F821401C42EFD1CEF3421100F12002A1 -:102F400002EB81018A6D1A438A65016A41EA0C012C -:102F5000016210BD40F25A5040F21C51C0F2010013 -:102F6000C0F2010140F2CF1207F0AAFC40F2F900D2 -:102F7000C0F2010002A14FF4D67207F0A1FC00BF1D -:102F8000433A2F4B65696C5F76352F41524D2F5078 -:102F900041434B2F4E58502F4C5043353553363903 -:102FA0005F4446502F31332E312E302F64726976B4 -:102FB0006572732F66736C5F646D612E680000002C -:102FC0002DE9F047DDF820C05FEA0C7740F0B880CB -:102FD000002A00F091808C79B2FBF4F707FB1427EC -:102FE000002F40F08980002B00F09280B3FBF4F7B3 -:102FF00007FB1437002F40F08B80CD79042D00F2B1 -:1030000093800F7A052F80F08F80052C80F0A480AC -:10301000B1F80AE0BEF5806F00F2A6804FF440766A -:1030200006EB0426042C06F440764FF4405408BF07 -:103030004FF4007604EA0538042D08BF4FF44058D9 -:10304000BD03042F4FF00107ADB207EB162708BFF1 -:103050004FF44045B6F5007F08BF0427B2FBF7F4F4 -:1030600004FB172424B9B3FBF7F404FB17342CB189 -:1030700000210160C0E90111BDE8F08791F80090DE -:103080004C7891F802A049EA440491F8039044EA8C -:103090008A0491F804A044EAC904497944EA0A146C -:1030A00040F20009C0F2FF3944EA411109EB0E4435 -:1030B00046445FFA81FE04EA09012E44C4F3094440 -:1030C00031448E444FEA1836A90BB8F5405F08BF6B -:1030D000042604FB07F4B5F5404F08BF042114FB98 -:1030E000062214FB0131C0F800E0C0E90121C0F85C -:1030F0000CC0BDE8F08700BF40F2703040F21C51B8 -:10310000C0F20100C0F2010140F2BB1207F0D8FB8F -:1031100040F2C33040F21C51C0F20100C0F2010184 -:103120004FF4DE7207F0CCFB40F2164040F21C5127 -:10313000C0F20100C0F20101DD2207F0C1FB00BFB7 -:1031400040F2B34040F21C51C0F20100C0F2010154 -:103150004FF4DD7207F0B4FB40F21C5106A0C0F240 -:103160000101DF2207F0ACFB40F21C5110A0C0F2BD -:103170000101E12207F0A4FB786665726366672DA2 -:103180003E627974655769647468203C3D202875F7 -:10319000696E74385F74296B444D415F5472616E7F -:1031A00073666572333242697457696474680000EB -:1031B000786665726366672D3E7472616E736665CC -:1031C00072436F756E74203C3D20444D415F4D410C -:1031D000585F5452414E534645525F434F554E54EB -:1031E0000000000010B5C8B3172A37D247F2000319 -:1031F000C4F20A0399424FF0010C09D042F20003D5 -:10320000C4F20803994235D14FF0000E002302E0CA -:1032100017234FF0010E0024C0E9021499181BA3D4 -:10322000C0E9004447F6000413F90E30C2F200046E -:1032300044F8210003F01F014EF2001402730CFA4F -:1032400001F15B09CEF2000444F823100CFA02F2FB -:103250008068816C1143816410BD00BF40F25C2026 -:1032600040F21C51C0F20100C0F2010140F2E7122D -:1032700007F026FB40F2914040F21C51C0F20100E1 -:10328000C0F20101612207F01BFB00BF013A000000 -:10329000172917D2026BCA40D2070BD100EB0112DB -:1032A0000023D2F80824C0F2FF331A409A4204BF28 -:1032B0000020704700EB0110D0F80804C0F309406B -:1032C0000130704740F2F90040F21C51C0F2010099 -:1032D000C0F20101C12207F0F3FA00002DE9F0432A -:1032E00081B042F20001C4F20801884208D047F2DE -:1032F0000001C4F20A01884254D1172001E000BF46 -:10330000002047F60001C2F2000101EB800900260F -:103310004FF0010806E000BF0136172E04BF01B0D0 -:10332000BDE8F08359F82640002CF5D0207BA16839 -:1033300000F01F0301F15802400952F8205008FA2A -:1033400003F72F420BD042F8207025683DB1616829 -:10335000204601220023A847207BA168400901F1F3 -:10336000600252F820303B420BD042F820702568B2 -:103370003DB16168204601220123A847207BA16856 -:103380004009403151F820203A42C5D041F8207020 -:103390002768002FC0D06168204600220223B8476A -:1033A000BAE700BF40F2914040F21C51C0F2010068 -:1033B000C0F20101612207F083FA0000B0B50446B3 -:1033C00047F20000C4F20A0084420FD042F200002B -:1033D000C4F20800844221D140F22020C4F200004F -:1033E0004FF480110160002507E000BF40F220206B -:1033F000C4F200000221012581600EA050F82500D2 -:1034000002F090F840F25C00C0F2010050F8250094 -:10341000A060206840F001002060B0BD40F2914003 -:1034200040F21C51C0F20100C0F20101612207F01C -:1034300047FA00BF14000000010002002DE9F0412E -:10344000002855D0002953D0002A51D05F1E022FEA -:1034500001D3042B62D1DDF820C05FEA0C7751D193 -:10346000069CB4FBF3FEBEF5806F35D80EFB13440B -:1034700094BB079E0025022E4FF00108C0E90055BD -:10348000C0E90255C0E9045585610DD840F2001429 -:10349000F7004FF0011540F20116C0F20104FD40A3 -:1034A000FE4024FA07F701E000260127C5740675DF -:1034B000077680E80610A0F816E0837480F8108084 -:1034C000BCF1000F18BF4FF0010C80F80DC080F860 -:1034D0000C80BDE8F08100BF40F2233040F21C5167 -:1034E000C0F20100C0F2010140F22B2207F0E8F91E -:1034F00040F21C510EA0C0F2010140F2252207F05B -:10350000DFF900BF40F2B34040F21C51C0F20100AD -:10351000C0F2010140F2272207F0D2F940F21C511B -:1035200012A0C0F2010140F2262207F0C9F900BF43 -:10353000284E554C4C20213D20636F6E66696729EB -:1035400020262620284E554C4C20213D20737263A6 -:10355000416464722920262620284E554C4C202197 -:103560003D20647374416464722900002862797498 -:10357000655769647468203D3D2031554C29207C95 -:103580007C2028627974655769647468203D3D2009 -:1035900032554C29207C7C202862797465576964F7 -:1035A0007468203D3D2034554C29000000281CBF84 -:1035B000C0E90012704740F21C5103A0C0F20101A3 -:1035C00040F2052207F07CF968616E646C65202189 -:1035D0003D204E554C4C0000B0B1017B17291FD245 -:1035E00082680120136A8840034302EB01101362D2 -:1035F000D0F80014890748BF7047D0F8081441F08C -:103600000401C0F80814704740F25A5040F21C51AF -:10361000C0F20100C0F2010140F2CB3207F050F9D4 -:1036200040F2B82040F21C51C0F20100C0F201018A -:1036300040F2CE3207F044F9B0B582B0002843D052 -:10364000002941D00446007B172849D2A26842F2E3 -:103650000003C4F208039A4208D047F20003C4F200 -:103660000A039A4248D1012301E000BF0023156BF1 -:10367000C540ED071EBF41F2883002B0B0BD40F238 -:103680005C0502EB0012C0F2010555F8235091F8D9 -:1036900018C0D2F8003405EB001523F0010040EA11 -:1036A0000C00C2F80004B1E80C102846CDF800C0A8 -:1036B000FFF786FC2868A168227B01EB0211C1F8A4 -:1036C0000804002002B0B0BD40F2FE2040F21C51C0 -:1036D000C0F20100C0F201014FF4697207F0F0F886 -:1036E00040F2B02040F21C51C0F20100C0F20101D2 -:1036F00040F2A53207F0E4F840F2914040F21C514C -:10370000C0F20100C0F20101612207F0D9F8000007 -:103710002DE9F04381B0012B43DB16460A681C46B5 -:103720000D460746E0B140F29439C2F2000909F1B2 -:10373000200808E000222A60BE542868013C00F1FD -:1037400001022A602DD0501C7F28F5D9D9F8040039 -:103750000028EFD04046394603F096FDEAE700BF67 -:10376000C4F1000CA4F1010E0023D7187E1C802E9A -:103770001AD29E452E6014D0B81C7F2814D80CEBAA -:103780000306B11C28600CD0F81C7F280CD8F11C53 -:10379000286006D004377F2F06D804339C422F6060 -:1037A000E3D101B0BDE8F083FEE7000083B0B0B51F -:1037B000A1B0044625A80EC068468021FCF7FAFE99 -:1037C00040F29435C2F20005686808B343F2117301 -:1037D00025A96A462046C0F20003209103F076FD39 -:1037E000044600284FF000000CD0696851B105F183 -:1037F00020006946224603F047FD002818BF4FF01D -:10380000FF34204621B0BDE8B04003B0704700BF90 -:10381000002021B0BDE8B04003B070474CF25031F9 -:1038200000FB01F0401EFDD17047000041F2001284 -:10383000C1F2003212F80A3C032B03D112682AB1FC -:10384000526B104712686AB1926A104740F27A6070 -:1038500040F29261C0F20100C0F201014FF4F17236 -:1038600007F02EF840F2626040F29261C0F201006F -:10387000C0F2010140F2DD1207F022F870B5ADF59B -:10388000007D41F20015C1F2003515F80A1C04460E -:10389000032913D1286800287AD0816A20468847F6 -:1038A00000285AD10120606215F80A0C032819D1AA -:1038B0002868002800F08480C66C17E0286800287B -:1038C00072D0C16920468847002846D10120606235 -:1038D00015F80A0C03281DD12868002870D0C66C82 -:1038E0001CE000BF2868002876D0066C6946204698 -:1038F00000224FF40073B04778BB0220606215F8D5 -:103900000A0C019E03281DD12868002858D0C56CD8 -:103910001CE000BF286800285ED0066C694620467F -:1039200000224FF40073B047B8B90220606215F866 -:103930000A0C019E032813D12868002840D0C56CCA -:1039400011E000BF2868002846D0056C6946204673 -:1039500000224FF40073A84768B10DF5007D70BDDB -:103960002868C8B3056C6946204600224FF40073EE -:10397000A8470028F1D101980221864288BF30462D -:1039800088BF0121C4E9080100200DF5007D70BD4C -:1039900040F27A6040F29261C0F20100C0F201018F -:1039A00040F2A91206F08CFF40F2626040F2926190 -:1039B000C0F20100C0F2010140F29F1206F080FF48 -:1039C00040F27A6040F29261C0F20100C0F201015F -:1039D0004FF4127206F074FF40F2626040F292619E -:1039E000C0F20100C0F2010140F2432206F068FF7C -:1039F00040F24C30C2F2000002682AB1416A46F23D -:103A00000000C4F20800104740F2695040F2BD5176 -:103A1000C0F20100C0F20101B72206F051FF000020 -:103A200040F24C30C2F2000042682AB1816A47F28B -:103A30000000C4F20800104740F2695040F2BD5146 -:103A4000C0F20100C0F20101C52206F039FF0000FA -:103A500040F24C30C2F2000082682AB1C16A48F2DA -:103A60000000C4F20800104740F2695040F2BD5116 -:103A7000C0F20100C0F20101D32206F021FF0000D4 -:103A800040F24C30C2F20000C2682AB1016B49F228 -:103A90000000C4F20800104740F2695040F2BD51E6 -:103AA000C0F20100C0F20101E12206F009FF0000AE -:103AB00040F24C30C2F2000002692AB1416B4AF276 -:103AC0000000C4F20800104740F2695040F2BD51B6 -:103AD000C0F20100C0F20101EF2206F0F1FE000089 -:103AE00040F24C30C2F2000042692AB1816B46F2CA -:103AF0000000C4F20900104740F2695040F2BD5185 -:103B0000C0F20100C0F20101FE2206F0D9FE000061 -:103B100040F24C30C2F2000082692AB1C16B47F218 -:103B20000000C4F20900104740F2695040F2BD5154 -:103B3000C0F20100C0F201014FF4867206F0C0FE2F -:103B400040F24C30C2F20000C2692AB1016C48F266 -:103B50000000C4F20900104740F2695040F2BD5124 -:103B6000C0F20100C0F201014FF48D7206F0A8FE10 -:103B700040F24C30C2F20000026A2AB1416C4FF2AE -:103B80000000C4F20900104740F2695040F2BD51F4 -:103B9000C0F20100C0F201014FF4947206F090FEF1 -:103BA00049F6FF71C4F2080188421FDD46F6FF7135 -:103BB000C4F2090188423BDD47F20001C4F2090169 -:103BC000884204BF0620704748F20001C4F2090190 -:103BD000884204BF072070474FF20001C4F2090178 -:103BE000884204BF0820704716E000BF47F6FF7107 -:103BF000C4F2080188422DDC46F20001C4F208013B -:103C0000884204BF0020704747F20001C4F2080157 -:103C1000884204BF0120704740F2905040F2BD51ED -:103C2000C0F20100C0F201016A2206F049FE00BFA5 -:103C30004AF20001C4F20801884204BF0420704720 -:103C400046F20001C4F20901884204BF0520704712 -:103C5000E2E700BF48F20001C4F20801884204BF55 -:103C60000220704749F20001C4F20801884204BFF3 -:103C700003207047D0E70000B0B5044649F6FF7056 -:103C8000C4F2080084420D461ADD46F6FF70C4F205 -:103C90000900844228DD47F20000C4F20900844292 -:103CA0003ED048F20000C4F2090084423AD04FF2FC -:103CB0000000C4F20900844274D1082039E000BF3A -:103CC00047F6FF70C4F2080084421BDC46F2000095 -:103CD000C4F20800844227D047F20000C4F2080072 -:103CE00084425FD1012024E04AF20000C4F20800BF -:103CF00084421BD046F20000C4F20900844251D134 -:103D0000052016E048F20000C4F2080084420FD0FB -:103D100049F20000C4F20800844243D1032008E0C5 -:103D2000062006E0072004E0002002E0042000E076 -:103D3000022040F26401C0F2010131F810100123A9 -:103D40000A0AC9B203FA01F11CA353F8200040F299 -:103D50002023C4F2000343F8221001F0E3FB8DB1ED -:103D6000042D07D8D4F8F80FE84000075CBF032003 -:103D7000B0BD07E0052D03D1D4F8F80F000601D43B -:103D80000320B0BDD4F8F80F000707D5D4F8F80F1A -:103D900000F00700A8421CBF0120B0BD0020C4F8FD -:103DA000F85FB0BD40F2905040F2BD51C0F201004A -:103DB000C0F201016A2206F083FD00BF0B00010082 -:103DC0000C0001000D0001000E0001000F000100B9 -:103DD0001000010011000100120001001C0002008F -:103DE00049F6FF73C4F2080398421BDD46F6FF73E1 -:103DF000C4F2090398422BDD47F20003C4F2090321 -:103E0000984245D048F20003C4F20903984243D0D7 -:103E10004FF20003C4F20903984255D14FF0080C49 -:103E200048E000BF47F6FF73C4F2080398421FDC66 -:103E300046F20003C4F20803984231D047F200036F -:103E4000C4F2080398423FD14FF0010C32E000BFAA -:103E50004AF20003C4F20803984225D046F2000358 -:103E6000C4F2090398422FD14FF0050C22E000BFA5 -:103E700048F20003C4F20803984219D049F2000343 -:103E8000C4F2080398421FD14FF0030C12E000BFA8 -:103E90004FF0060C0EE000BF4FF0070C0AE000BF29 -:103EA0004FF0000C06E000BF4FF0040C02E000BF32 -:103EB0004FF0020C40F24C33C2F2000303EB8C00D3 -:103EC00043F82C104262704740F2905040F2BD51CE -:103ED000C0F20100C0F201016A2206F0F1FC00000C -:103EE000B0B5042934D24FF63C6CC0F2000C3CF85B -:103EF00011C040F220254FEA1C2E5FFA8CF44FF0DF -:103F0000010C0CFA04F4C4F2000545F82E401D78AB -:103F100095B100EB81005B780CFA02F100F50852D4 -:103F2000002B08BF00F50A5211604FF4005283586D -:103F300019438150B0BD00BF00EB81004FF4005128 -:103F400043580CFA02F223EA02024250B0BD00BF0D -:103F500040F2006040F22361C0F20100C0F20101B2 -:103F60002D2206F0ADFC0000B0B594B005A8FFF717 -:103F700085FC18B10025284614B0B0BD01AC05A8D9 -:103F80002146FFF753FC18B10025284614B0B0BDF8 -:103F900041F6B752A01E1021C0F2C1424FF0FF34CB -:103FA00010F8023F84EA036382EA4305B3F1FF3F5E -:103FB000C8BF5D0082EA4503B5F1FF3FC8BF6B0093 -:103FC00082EA4305B3F1FF3FC8BF5D0082EA4503C3 -:103FD000B5F1FF3FC8BF6B0082EA4305B3F1FF3F75 -:103FE000C8BF5D0082EA4503B5F1FF3FC8BF6B0063 -:103FF00082EA4305B3F1FF3FC8BF5D0082EA450393 -:104000004478B5F1FF3FC8BF6B0083EA046382EADE -:104010004305B3F1FF3FC8BF5D0082EA4503B5F138 -:10402000FF3FC8BF6B0082EA4305B3F1FF3FC8BF43 -:104030005D0082EA4503B5F1FF3FC8BF6B0082EA2D -:104040004305B3F1FF3FC8BF5D0082EA4503B5F108 -:10405000FF3FC8BF6B0082EA4305B3F1FF3FC8BF13 -:104060005D0082EA4504B5F1FF3FC8BF6C0002392C -:1040700096D140F2C435C2F2000505A206A3284637 -:10408000202100940BF040FB284614B0B0BD00BFC7 -:1040900025732530385800003030413100000000D1 -:1040A00080B568B1C1B11AB300784FF61C63C0F295 -:1040B000000353F8200005F06FF9002080BD00BF19 -:1040C00040F2625040F27A11C0F20100C0F20101E8 -:1040D0004FF4C87206F0F4FB40F2751040F27A110A -:1040E000C0F20100C0F2010140F2911206F0E8FBBB -:1040F00040F2CA1040F27A11C0F20100C0F2010190 -:104100004FF4C97206F0DCFBF0B540F26423C2F252 -:1041100000035F784EF200224CF2010EC4F2080256 -:1041200004250121C4F2080E1560C2F880107FB387 -:104130001160C2F880101160C2F88050C2F880107F -:104140001160C2F8801011608EF8001093F81BC047 -:1041500003EB4C018D8C002D00F0AA8015F00306B6 -:10416000A5F1010400F092800127012E2146C2F83A -:104170008070176000F08B80022EC2F8807017608C -:1041800040F0F080A91E032C80F0838090E000BFF7 -:104190005C68641EFDD111605C68641EFDD1C2F8CC -:1041A00080105C68641EFDD111605C68641EFDD1E6 -:1041B000C2F88050C2F880105C68641EFDD11160A6 -:1041C0005C68641EFDD1C2F880105C68641EFDD17D -:1041D00011605C68641EFDD18EF80010D97E03EB7F -:1041E0004107BD8C65B10121C2F880105C68641E76 -:1041F000FDD111605C68641EFDD1013DF4D1D97E12 -:104200005F183F7F012F12D0794201258EF8000000 -:10421000C2F880505C68641EFDD115605C68641E45 -:10422000FDD101314F1C4FEA5000EFD1D97E03EB95 -:104230004101898E002900F05D808EF80000012088 -:10424000C2F880005C68641EFDD110605C68641E6A -:10425000FDD18EF8000001290CD04942C2F880003F -:104260005C68641EFDD110605C68641EFDD1013184 -:104270004F1CF3D104211160C2F880005968491E17 -:10428000FDD110605868401EFDD141E02946032C45 -:104290000ED301240439C2F880401460C2F8804073 -:1042A0001460C2F880401460C2F880401460F1D1FC -:1042B00003EB0C010D7F6C1E00F08A8014F00306E6 -:1042C000A5F1020C10D00124012E4FEA50018EF806 -:1042D0000000C2F88040146034D164460846BCF146 -:1042E000030F80F0558070E0BCF1030F80F0508028 -:1042F0006BE000BF042111608EF800000120C2F8BD -:1043000080005968491EFDD110605868401EFDD1DB -:104310000120C2F880005968491EFDD1106059681B -:104320000427491EFDD1C2F88070C2F88000596888 -:10433000491EFDD110605868401EFDD101208EF845 -:104340000000F0BD8EF80010022E4FEA9001C2F876 -:104350008040146010D1EC1E0846BCF1030F17D248 -:1043600033E000BF0121C2F880101160E91E032C68 -:10437000BFF48FAF9CE700BF8EF800100121C2F898 -:1043800080101160C1082C1F0846BCF1030F1CD31C -:104390000125014648088EF80010C2F880501560CB -:1043A0008EF800008808C2F8805015608EF8000072 -:1043B000C808043C4FEA1111C2F8805015608EF80D -:1043C0000000C2F880501560E4D193F81BC0084685 -:1043D00003EB4C01898EE9B18EF800000123481EE1 -:1043E000C2F8803013608EF800302FD010F0030632 -:1043F000A1F1020319D00127012E1846C2F88070DE -:10440000176012D0022EC2F88070176008D1C81E43 -:104410000BE000BF042111608EF8000018E000BF1F -:104420000120C2F880001060081F032B0ED3012169 -:104430000438C2F880101160C2F880101160C2F810 -:1044400080101160C2F880101160F1D1042010605A -:1044500001200421C2F880001060C2F880001060C2 -:10446000C2F88010C2F88000106001208EF80000B1 -:10447000F0BD0000B0B54EF2002EC4F2080E0421CB -:10448000012040F26422CEF80010CEF88000C2F283 -:10449000000253685B1EFDD1CEF8000053685B1E1E -:1044A000FDD1CEF88010CEF880005168491EFDD1B4 -:1044B000CEF800005168491EFDD1CEF88000516849 -:1044C000491EFDD1CEF800005168491EFDD1D17EB4 -:1044D00061B100BFCEF8800053685B1EFDD1CEF8FD -:1044E000000053685B1EFDD10139F3D14CF2030C7F -:1044F00000236FF01E01C4F2080C00BFCEF880004C -:104500005468641EFDD19CF80040CEF80000556848 -:1045100043EAC4736D1EFDD101314FEA5303EDD35D -:1045200004200121CEF80000CEF880105468641EEB -:10453000FDD19CF80050CEF800105468641EFDD1E7 -:10454000CEF880105468641EFDD1CEF80010546877 -:10455000641EFDD1CEF88000CEF88010546843EA86 -:10456000C570641EFDD1CEF800105168491EFDD102 -:10457000B0BD00002DE9F04710F03F0C08BF4FF030 -:10458000400C43064EF200294CF2010AC4F208091D -:104590004FF0040354BFC9F88030C9F8003000065A -:1045A000C4F2080A26D440F264240122C2F20004B4 -:1045B00003E000BFBCEB030C52D011F8017BACF15F -:1045C000010600258AF80070C9F8802063685B1E28 -:1045D000FDD19AF80230C9F8002063685B1EFDD156 -:1045E000AE4205F10103E5D07F08072D1D46E9D154 -:1045F000E0E700BF40F264284FF0010EC2F200086D -:104600000BE000BFC3F1080027FA00F0BCEB030C7D -:1046100002F8010B08BFBDE8F08711F8015BACF1AF -:1046200001060024002700BF8AF80050C9F880E086 -:10463000D8F804305B1EFDD19AF80230C9F800E0CA -:10464000D8F80400DB01401EFDD143EA5707A6421B -:1046500004F10103D6D06D08072C1C46E4D1D1E744 -:10466000BDE8F0872DE9F04F9FB040F2642BC2F215 -:10467000000B9BF801504EF200224CF2010CC4F2E8 -:10468000080204260127C4F2080C1660C2F88070E4 -:1046900055B31760C2F88060C2F880701760C2F826 -:1046A000807017609BF81B50002D00F0F78015F00C -:1046B0000304A5F1010600F0DF804FF0010E012C8C -:1046C0003746C2F880E0C2F800E000F0D680022C45 -:1046D000C2F880E0C2F800E040F03C83AF1E032E39 -:1046E00080F0CD80DAE000BFDBF80440641EFDD12D -:1046F0001760DBF80440641EFDD1C2F88060C2F888 -:104700008070DBF80440641EFDD11760DBF80440C4 -:10471000641EFDD1C2F88070DBF80440641EFDD138 -:104720001760DBF80440641EFDD19BF81B7077B165 -:10473000012600BFC2F88060DBF80440641EFDD192 -:104740001660DBF80440641EFDD1013FF2D147083A -:1047500001248CF80070C2F88040DBF804506D1E14 -:10476000FDD19CF802E01460DBF8045086086D1E51 -:10477000FDD18CF80060C2F88040DBF804506D1E5B -:10478000FDD19CF802601460DBF80450C7086D1E70 -:10479000FDD18CF80070C2F88040DBF8045046EA86 -:1047A0004E076D1EFDD19CF802601460DBF80450CA -:1047B00047EA860E6D1EFDD1BEF1010F40F04E801E -:1047C000840700F1758209686FF01E04012500BF9F -:1047D0008CF80010C2F88050DBF804305B1EFDD16D -:1047E0001560DBF804305B1EFDD149080134EFD3BE -:1047F0009BF81B409BF81A50E3435E1900F0C682F9 -:104800008CF800100121C2F88010DBF804305B1E28 -:10481000FDD11160DBF804305B1EFDD1012E0ED0FE -:10482000631B9C1CC2F88010DBF804305B1EFDD1BA -:104830001160DBF804305B1EFDD10134F2D3042398 -:104840001360C2F88010DBF804305B1EFDD11160EC -:10485000DBF80410491EFDD1BEE200BF0421116047 -:10486000C2F88040DBF80410491EFDD11460DBF86B -:104870000410491EFDD1AFE22F46032E0ED30126B0 -:10488000043FC2F880601660C2F880601660C2F80B -:1048900080601660C2F880601660F1D1470801247C -:1048A0008CF80070C2F8804086089CF80270146092 -:1048B0008CF80060C2F880409CF80260146046EA00 -:1048C0004707C6088CF80060C2F880409CF8026078 -:1048D000146047EA860EBEF1010F40F0E1808407C4 -:1048E00000F1E4800C68012165088CF80040C2F8F2 -:1048F000801011608CF80050A508C2F8801011607B -:104900008CF80050E508C2F8801011608CF8005057 -:104910002509C2F8801011608CF800506509C2F8B2 -:10492000801011608CF80050A509C2F88010116049 -:104930008CF80050E509C2F8801011608CF8005026 -:10494000250AC2F8801011608CF80050650AC2F880 -:10495000801011608CF80050A50AC2F88010116018 -:104960008CF80050E50AC2F8801011608CF80050F5 -:10497000250BC2F8801011608CF80050650BC2F84E -:10498000801011608CF80050A50BC2F880101160E7 -:104990008CF80050E50BC2F8801011608CF80050C4 -:1049A000250CC2F8801011608CF80050650CC2F81C -:1049B000801011608CF80050A50CC2F880101160B6 -:1049C0008CF80050E50CC2F8801011608CF8005093 -:1049D000250DC2F8801011608CF80050650DC2F8EA -:1049E000801011608CF80050A50DC2F88010116085 -:1049F0008CF80050E50DC2F8801011608CF8005062 -:104A0000250EC2F8801011608CF80050650EC2F8B7 -:104A1000801011608CF80050A50EC2F88010116053 -:104A20008CF80050E50EC2F8801011608CF8005030 -:104A3000250FC2F8801011608CF80050650FC2F885 -:104A4000801011608CF80050A50FC2F88010116022 -:104A50008CF80050C2F8801011609BF81B609BF826 -:104A60001A70F543ED194FEAD47400F07D818CF88B -:104A700000406C1EC2F88010116000F00F82B91B5C -:104A80008E1C16F00306A1F1030100F0F68101244B -:104A9000012EC2F88040146040F0DA81AC1EECE1D7 -:104AA00004211160C2F880401460A4E24FF00108B4 -:104AB000C2F880809CF802301E93C2F80080C2F8D1 -:104AC00080809CF802301D93C2F80080C2F880807C -:104AD0009CF80290C2F80080C2F880809CF80270B6 -:104AE000C2F80080C2F880809CF80260C2F80080A2 -:104AF000C2F880809CF802301C93C2F80080C2F893 -:104B000080809CF802301B93C2F80080C2F880803D -:104B10009CF802301A93C2F80080C2F880809CF89A -:104B200002301993C2F80080C2F880809CF80230ED -:104B30001893C2F80080C2F880809CF80230179366 -:104B4000C2F80080C2F880809CF802301693C2F848 -:104B50000080C2F880809CF802301593C2F8008073 -:104B6000C2F880809CF802301493C2F80080C2F82A -:104B700080809CF802301393C2F80080C2F88080D5 -:104B80009CF802301293C2F80080C2F880809CF832 -:104B900002301193C2F80080C2F880809CF8023085 -:104BA0001093C2F80080C2F880809CF802300F9306 -:104BB000C2F80080C2F880809CF802300E93C2F8E0 -:104BC0000080C2F880809CF802300D93C2F800800B -:104BD000C2F880809CF802300C93C2F80080C2F8C2 -:104BE00080809CF802300B93C2F80080C2F880806D -:104BF0009CF802300A93C2F80080C2F880809CF8CA -:104C000002300993C2F80080C2F880809CF802301C -:104C10000893C2F80080C2F880809CF802300793A5 -:104C2000C2F80080C2F880809CF802300693C2F877 -:104C30000080C2F880809CF802300593C2F80080A2 -:104C4000C2F880809CF802300493C2F80080C2F859 -:104C500080809CF802300393C2F800809BF81B40D0 -:104C60009BF81AA0E54315EB0A0300F08380CDE919 -:104C70000167C2F880809CF802504F46B3F10109E9 -:104C80000095C2F8008000F02A81AAEB0404A51C5C -:104C900015F00305A4F1030400F00E810126012D97 -:104CA000C2F88060166040F0DB80A3F1020903E1E6 -:104CB00000246FF01E050126C2F88060DBF8047046 -:104CC0007F1EFDD19CF802701660DBF804305B1E7D -:104CD000FDD144EAC77301354FEA5304ECD39BF886 -:104CE0001B709BF81A50FB4313EB050900F0608022 -:104CF0000126C2F88060DBF804305B1EFDD19CF811 -:104D000002801660DBF804305B1EFDD1B9F1010FA3 -:104D10000FD07B1B9D1C00BFC2F88060DBF8043005 -:104D20005B1EFDD11660DBF804305B1EFDD1013542 -:104D3000F2D304231360C2F88060DBF804305B1EFA -:104D4000FDD11660DBF804305B1EFDD1002940D197 -:104D500042E000BF0123C2F880301360EF1E032E33 -:104D6000BFF48DAD9AE500BF042515608CF80040B6 -:104D700097E000BF04241460C2F880809CF8028091 -:104D800001240029146040F0B78034E1042313604B -:104D90008CF800100121C2F88010DBF804305B1E93 -:104DA000FDD11160DBF80410491EFDD114E000BFF5 -:104DB000042313600123C2F88030DBF804506D1E19 -:104DC000FDD19CF802801360DBF804305B1EFDD13E -:104DD00011B144EAC8730B600121C2F88010DBF8FE -:104DE00004305B1EFDD11160DBF8043004245B1E2F -:104DF000FDD1C2F88040C2F88010DBF804305B1EA1 -:104E0000FDD11160DBF804305B1EFDD18CF8001081 -:104E1000000606D541F20400CEF200000068CBF88F -:104E200008009BF80C00002800F02481012100BF3D -:104E3000C2F88010DBF804305B1EFDD11160DBF896 -:104E4000043001385B1EFDD10028F1D112E100BF12 -:104E5000022EC2F8804014600AD1EC1E0DE000BFA3 -:104E6000022DC2F88060166020D1A3F1030923E06F -:104E70000123C2F8803013602C1F03290ED30121B7 -:104E8000043CC2F880101160C2F880101160C2F8B2 -:104E900080101160C2F880101160F1D104211160FE -:104EA0000121C2F880101160A5E000BF0125C2F801 -:104EB00080501560A3F10409032C10D3012400BF16 -:104EC000B9F10409C2F880401460C2F8804014604F -:104ED000C2F880401460C2F880401460F0D104240D -:104EE00014600124C2F88040B946029FDDE90086C3 -:104EF0000124002914607ED01E9B4FF0804404EAF8 -:104F000083741D9B4FEAC97544EAC3741C9B45EA30 -:104F10005404FD0745EA5404F50745EA5404DD0747 -:104F20001B9B45EA5404DD071A9B45EA5404DD0740 -:104F3000199B45EA5404DD07189B45EA5404DD0734 -:104F4000179B45EA5404DD07169B45EA5404DD0728 -:104F5000159B45EA5404DD07149B45EA5404DD071C -:104F6000139B45EA5404DD07129B45EA5404DD0710 -:104F7000119B45EA5404DD07109B45EA5404DD0704 -:104F80000F9B45EA5404DD070E9B45EA5404DD07F8 -:104F90000D9B45EA5404DD070C9B45EA5404DD07EC -:104FA0000B9B45EA5404DD070A9B45EA5404DD07E0 -:104FB000099B45EA5404DD07089B45EA5404DD07D4 -:104FC000079B45EA5404DD07069B45EA5404DD07C8 -:104FD000059B45EA5404DD07049B45EA5404DD07BC -:104FE000039B45EA5404DD0745EA54044FEAC875BB -:104FF00045EA54040C60012104240006C2F8801024 -:105000001160C2F88040C2F8801011608CF8001066 -:1050100006D541F20400CEF200000068CBF808008B -:105020009BF80C3033B313F00307A3F101010FD049 -:105030000126012F0846C2F88060166009D0022FB1 -:10504000C2F8806016601BD1981E032912D302E0BB -:10505000184603290ED301210438C2F880101160CC -:10506000C2F880101160C2F880101160C2F8801080 -:105070001160F1D15FFA8EF01FB0BDE8F08F00BF74 -:10508000D81E0123C2F8803013600329F2D3E2E76F -:10509000B0B54EF2002EC4F2080E0421012340F2F6 -:1050A0006422CEF80010CEF88030C2F200025468BC -:1050B000641EFDD1CEF800305468641EFDD1CEF8D8 -:1050C0008010CEF880305168491EFDD1CEF80030F6 -:1050D0005168491EFDD1CEF880305168491EFDD17E -:1050E000CEF800305168491EFDD1D17E61B100BFBC -:1050F000CEF880305468641EFDD1CEF8003054687C -:10510000641EFDD10139F3D14CF2010CC4F2080C3C -:1051100000218CF80010CEF880305168491EFDD176 -:10512000CEF800305168491EFDD1CEF8803051686C -:10513000491EFDD1CEF800305168491EFDD1CEF890 -:1051400080305168491EFDD1CEF800305168491EAB -:10515000FDD16FF01E0100BF8CF80000CEF880304A -:105160005468641EFDD1CEF800305468641EFDD131 -:1051700040080131F0D3D17E937ECC43E4182BD08C -:105180008CF800000120CEF8800055686D1EFDD11E -:10519000CEF8000055686D1EFDD1012C0ED0C91A45 -:1051A000023100BFCEF8800053685B1EFDD1CEF8FF -:1051B000000053685B1EFDD10131F3D30421CEF80A -:1051C0000010CEF880005168491EFDD1CEF80000D5 -:1051D0005068401EFDD10FE00421CEF800108CF87D -:1051E00000000120CEF880005168491EFDD1CEF8A4 -:1051F00000005068401EFDD10120CEF880005168AB -:10520000491EFDD1CEF8000051680423491EFDD18E -:10521000CEF88030CEF880005168491EFDD1CEF81E -:1052200000005168491EFDD18CF80000B0BD00009F -:10523000002B08BF704741F24660101AB0FA80F0A8 -:10524000400941F247618A4208BF02201847000026 -:10525000F0B585B040F22025C4F200054FF40050AF -:105260004CF2000428604FF48040C4F20804286027 -:1052700000260DF11203204600210022ADF8126035 -:10528000FEF72EFE04AB204600210122ADF810608F -:105290000127FEF725FE0DF10E0320460021022214 -:1052A000ADF80E60FEF71CFE40F20110ADF80C00E8 -:1052B00003AB204600210522FEF712FE0DF10A0382 -:1052C000204600210D22ADF80A70FEF709FE02AB60 -:1052D000204600211322ADF80860FEF701FE0DF113 -:1052E0000603204600211C22ADF80670FEF7F8FDEB -:1052F000D5F8E00D40F2411240F4A07020F00F000C -:10530000C5F8E00D41F20400C4F20000016841F468 -:10531000A07121F00F010160016B41F4807121F057 -:105320000F010163816C41F4A07121F00F018164D0 -:10533000416841F4A07121F03F014160C16D11430A -:1053400021F00E01C165016E114321F00E010166CD -:10535000C16E41F4A07121F00F01C1668168114353 -:1053600021F00E018160016940F2071241F4907151 -:1053700021F01F010161D0F88410114321F00801D0 -:10538000C0F8841005B0F0BD10B500F1280151E857 -:10539000002F12B9BFF32F8F04E0531E41E80034F1 -:1053A00004B1F4E772B12C300121006850B1821CC5 -:1053B000D2E84F3FC2E8441F04B1F9E71A0602D011 -:1053C0000830F2E7002010BD70B5024652F8305F99 -:1053D0004DB1CC7800235DB12E46ED78A5420DD2BB -:1053E00075683346F7E70023C162C1E901330DE078 -:1053F0000024C1E9014300F12C0403E0C1E9016389 -:1054000006F108042160002B18BF1A1D1160283016 -:1054100050E8001F4A1C40E8002303B1F8E770BDC4 -:10542000D1E9012312B193608B6800E0C362191DBA -:10543000002B08BF00F130010A6070471A4800686D -:10544000704700BF19480178012905D105494FF07F -:1054500080620A60002101701348016841F0010177 -:105460000160704704ED00E04FF0FF30704700002E -:1054700040B10B490968B1FBF0F0411E0020B0EBD0 -:10548000116F02D04FF0FF307047064AFF231370B0 -:105490000623054A13605160044908709060704704 -:1054A0002800002023ED00E010E000E0D85D00209F -:1054B00021682046D4E9022305F024BD6FF00500E1 -:1054C0007047002100220646002706F033B86FF02F -:1054D000050070476FF0030010BD4DF808ED204641 -:1054E00005F09EFF20465DF808EB05F0C5BE0446BA -:1054F0000078F1287047000010B50849022488425E -:1055000038BF01240649884238BF0024204605F0F0 -:1055100043FA2046BDE8104005F0C8BA81A4BF0791 -:1055200001E1F50580B582B2202A37D240F20011A0 -:10553000000CC4F200014FF0010C01EB800E0CFADC -:1055400002F2CEF8202000BF51F8203013420BD1D8 -:1055500051F82030134207D151F82030134203D1C3 -:1055600051F820301342EFD0CEF840200BE000BFBE -:1055700051F8203013409A4218BF80BD51F82030B6 -:1055800013409A4209D151F8203013409A4204D175 -:1055900051F8203013409A42EAD080BD40F210709A -:1055A00040F2D061C0F20100C0F20101302205F0EA -:1055B00087F9000080B5002808BF80BD44F2402272 -:1055C000A1FB0001C0F20F0291420BD240F6001283 -:1055D000C0F23D020023FAF7A3FF0046401E002858 -:1055E000FCD180BD40F2172102A0C0F20101C5220A -:1055F00005F066F9636F756E74203C3D2055494E89 -:105600005433325F4D4158002DE9F04110F03F0C0A -:1056100008BF4FF0400C00064EF200204CF2020E84 -:10562000C4F20800C4F2080E24D440F2642301221C -:10563000C2F2000305E000BFBCEB070C08BFBDE8E9 -:10564000F08111F8014BACF1010500268EF8004005 -:10565000C0F880205F687F1EFDD102605F687F1EFA -:10566000FDD1B54206F10107E6D06408072E3E469B -:10567000ECD1E1E740F264234FF00108C2F20003ED -:1056800009E000BFC7F1080125FA01F102F8011B8A -:10569000BCEB070C1CD0ACF101040026002500BFB8 -:1056A000C0F880805F687F1EFDD19EF80070C0F852 -:1056B00000805968FF01491EFDD147EA5505B442F3 -:1056C00006F10107DED0072E3E46E9D1DAE700BF3A -:1056D000BDE8F0812DE9F04740F26429C2F20009EB -:1056E00099F801704CF2020C4EF2002AC4F2080C38 -:1056F0000124C4F2080A002F8CF80040CAF8804048 -:1057000000F09A804708CAF800408CF80000CAF8F8 -:105710008040CAF800408CF8007000EB5007860803 -:1057200007EB9007CAF8804007EBD007CAF80040A3 -:105730008CF80060C608CAF88040CAF800408CF8AF -:105740000060CAF88040CAF800408CF8007000275A -:10575000CAF88040CAF800408CF800704FF08057BB -:10576000CAF88040CAF800408CF80040CAF880406F -:10577000CAF80040CAF880700427CAF8007299F885 -:105780001880B8F1000F2BD0A8F1010718F003051D -:10579000464610D00124012D3E46CAF88040CAF882 -:1057A000004008D0022DCAF88040CAF8004040F0FE -:1057B0008D85A8F10206032F12D30127043ECAF8F3 -:1057C0008070CAF80070CAF88070CAF80070CAF811 -:1057D0008070CAF80070CAF88070CAF80070EDD105 -:1057E0000124CAF880409CF80070CAF80040CAF84A -:1057F00080409CF80060CAF80040CAF8804047EA40 -:1058000046079CF80060CAF8004047EA860EBEF1E1 -:10581000040F18BFBEF1020F40F01E8499F8191052 -:1058200010F0020018BF002940F03C84B8F1000FCE -:1058300040F0C18400F0FABDD9F80420521EFDD119 -:10584000CAF80040D9F80420521EFDD18CF800009F -:10585000CAF88040D9F80420521EFDD1CAF8004091 -:10586000D9F804204308521EFDD18CF80030CAF844 -:105870008040D9F80420521EFDD1CAF80040D9F862 -:1058800004208308521EFDD18CF80030CAF88040F5 -:10589000D9F8042000EB5003521EFDD1CAF8004095 -:1058A000D9F80420C708521EFDD18CF80070CAF840 -:1058B000804003EB9003D9F80420521EFDD1CAF8B2 -:1058C000004003EBD003D9F80420521EFDD18CF820 -:1058D0000030CAF88040D9F80420521EFDD1CAF821 -:1058E0000040D9F804200023521EFDD18CF800306E -:1058F000CAF88040D9F80420521EFDD1CAF80040F1 -:10590000D9F80420521EFDD18CF80040CAF880401E -:10591000D9F80420521EFDD1CAF80040D9F804205D -:10592000521EFDD14FF080530422CAF88030CAF8CD -:10593000002299F818707FB1012600BFCAF8806074 -:10594000D9F80420521EFDD1CAF80060D9F804200D -:10595000521EFDD1013FF1D10122CAF88020D9F8B1 -:1059600004305B1EFDD19CF80030CAF80020D9F845 -:105970000440641EFDD1CAF88020D9F80440641E9A -:10598000FDD19CF80070CAF80020D9F80440641ECC -:10599000FDD1CAF88020D9F8044043EA4703641EC9 -:1059A000FDD19CF80070CAF80020D9F8042043EA21 -:1059B000870E521EFDD1BEF1040F18BFBEF1020FBB -:1059C00040F0148410F0020000F0928199F8191050 -:1059D000002900F08D810121CAF88010D9F8042037 -:1059E000521EFDD1CAF80010D9F80420521EFDD174 -:1059F000CAF88010D9F80420521EFDD1CAF8001050 -:105A0000D9F80420521EFDD1CAF88010D9F804201C -:105A1000521EFDD1CAF80010D9F80420521EFDD143 -:105A2000CAF88010D9F80420521EFDD1CAF800101F -:105A3000D9F80420521EFDD1CAF88010D9F80420EC -:105A4000521EFDD1CAF80010D9F80420521EFDD113 -:105A5000CAF88010D9F80420521EFDD1CAF80010EF -:105A6000D9F80420521EFDD1CAF88010D9F80420BC -:105A7000521EFDD1CAF80010D9F80420521EFDD1E3 -:105A8000CAF88010D9F80420521EFDD1CAF80010BF -:105A9000D9F80420521EFDD1CAF88010D9F804208C -:105AA000521EFDD1CAF80010D9F80420521EFDD1B3 -:105AB000CAF88010D9F80420521EFDD1CAF800108F -:105AC000D9F80420521EFDD1CAF88010D9F804205C -:105AD000521EFDD1CAF80010D9F80420521EFDD183 -:105AE000CAF88010D9F80420521EFDD1CAF800105F -:105AF000D9F80420521EFDD1CAF88010D9F804202C -:105B0000521EFDD1CAF80010D9F80420521EFDD152 -:105B1000CAF88010D9F80420521EFDD1CAF800102E -:105B2000D9F80420521EFDD1CAF88010D9F80420FB -:105B3000521EFDD1CAF80010D9F80420521EFDD122 -:105B4000CAF88010D9F80420521EFDD1CAF80010FE -:105B5000D9F80420521EFDD1CAF88010D9F80420CB -:105B6000521EFDD1CAF80010D9F80420521EFDD1F2 -:105B7000CAF88010D9F80420521EFDD1CAF80010CE -:105B8000D9F80420521EFDD1CAF88010D9F804209B -:105B9000521EFDD1CAF80010D9F80420521EFDD1C2 -:105BA000CAF88010D9F80420521EFDD1CAF800109E -:105BB000D9F80420521EFDD1CAF88010D9F804206B -:105BC000521EFDD1CAF80010D9F80420521EFDD192 -:105BD000CAF88010D9F80420521EFDD1CAF800106E -:105BE000D9F80420521EFDD1CAF88010D9F804203B -:105BF000521EFDD1CAF80010D9F80420521EFDD162 -:105C0000CAF88010D9F80420521EFDD1CAF800103D -:105C1000D9F80420521EFDD1CAF88010D9F804200A -:105C2000521EFDD1CAF80010D9F80420521EFDD131 -:105C3000CAF88010D9F80420521EFDD1CAF800100D -:105C4000D9F80420521EFDD1CAF88010D9F80420DA -:105C5000521EFDD1CAF80010D9F80420521EFDD101 -:105C6000CAF88010D9F80420521EFDD1CAF80010DD -:105C7000D9F80420521EFDD1CAF88010D9F80420AA -:105C8000521EFDD1CAF80010D9F80420521EFDD1D1 -:105C9000CAF88010D9F80420521EFDD1CAF80010AD -:105CA000D9F80420521EFDD1CAF88010D9F804207A -:105CB000521EFDD1CAF80010D9F80420521EFDD1A1 -:105CC000CAF88010D9F80420521EFDD1CAF800107D -:105CD000D9F80420521EFDD1CAF88010D9F804204A -:105CE000521EFDD1CAF80010D9F80410491EFDD18A -:105CF00099F8181071B10124CAF88040D9F804202D -:105D0000521EFDD1CAF80040D9F80420521EFDD120 -:105D10000139F1D10421CAF880114FF080510028D7 -:105D2000CAF8001040F06C8699F81900002800F0BD -:105D3000678600208CF800000120CAF88000D9F89E -:105D40000410491EFDD1CAF80000D9F80410491EFC -:105D5000FDD1CAF88000D9F80410491EFDD1CAF857 -:105D60000000D9F80410491EFDD1CAF88000D9F806 -:105D70000410491EFDD1CAF80000D9F80410491ECC -:105D8000FDD1CAF88000D9F80410491EFDD1CAF827 -:105D90000000D9F80410491EFDD1CAF88000D9F8D6 -:105DA0000410491EFDD1CAF80000D9F80410491E9C -:105DB000FDD1CAF88000D9F80410491EFDD1CAF8F7 -:105DC0000000D9F80410491EFDD1CAF88000D9F8A6 -:105DD0000410491EFDD1CAF80000D9F80410491E6C -:105DE000FDD1CAF88000D9F80410491EFDD1CAF8C7 -:105DF0000000D9F80410491EFDD1CAF88000D9F876 -:105E00000410491EFDD1CAF80000D9F80410491E3B -:105E1000FDD1CAF88000D9F80410491EFDD1CAF896 -:105E20000000D9F80410491EFDD1CAF88000D9F845 -:105E30000410491EFDD1CAF80000D9F80410491E0B -:105E4000FDD1CAF88000D9F80410491EFDD1CAF866 -:105E50000000D9F80410491EFDD1CAF88000D9F815 -:105E60000410491EFDD1CAF80000D9F80410491EDB -:105E7000FDD1CAF88000D9F80410491EFDD1CAF836 -:105E80000000D9F80410491EFDD1CAF88000D9F8E5 -:105E90000410491EFDD1CAF80000D9F80410491EAB -:105EA000FDD1CAF88000D9F80410491EFDD1CAF806 -:105EB0000000D9F80410491EFDD1CAF88000D9F8B5 -:105EC0000410491EFDD1CAF80000D9F80410491E7B -:105ED000FDD1CAF88000D9F80410491EFDD1CAF8D6 -:105EE0000000D9F80410491EFDD1CAF88000D9F885 -:105EF0000410491EFDD1CAF80000D9F80410491E4B -:105F0000FDD1CAF88000D9F80410491EFDD1CAF8A5 -:105F10000000D9F80410491EFDD1CAF88000D9F854 -:105F20000410491EFDD1CAF80000D9F80410491E1A -:105F3000FDD1CAF88000D9F80410491EFDD1CAF875 -:105F40000000D9F80410491EFDD1CAF88000D9F824 -:105F50000410491EFDD1CAF80000D9F80410491EEA -:105F6000FDD1CAF88000D9F80410491EFDD1CAF845 -:105F70000000D9F80410491EFDD1CAF88000D9F8F4 -:105F80000410491EFDD1CAF80000D9F80410491EBA -:105F9000FDD1CAF88000D9F80410491EFDD1CAF815 -:105FA0000000D9F80410491EFDD1CAF88000D9F8C4 -:105FB0000410491EFDD1CAF80000D9F80410491E8A -:105FC000FDD1CAF88000D9F80410491EFDD1CAF8E5 -:105FD0000000D9F80410491EFDD1CAF88000D9F894 -:105FE0000410491EFDD1CAF80000D9F80410491E5A -:105FF000FDD1CAF88000D9F80410491EFDD1CAF8B5 -:106000000000D9F80410491EFDD1CAF88000D9F863 -:106010000410491EFDD1CAF80000D9F80410491E29 -:10602000FDD1CAF88000D9F80410491EFDD1CAF884 -:106030000000D9F80410491EFDD1CAF88000D9F833 -:106040000410491EFDD1CAF80000D9F80400401E12 -:10605000FDD100F0D5BC00BFBEF1010F40F01081B2 -:10606000870700F13F81B8F1000F00F03183A8F1FC -:10607000010618F00305474600F015830124012DA1 -:106080003746CAF88040CAF8004000F00C83022D61 -:10609000CAF88040CAF8004040F0FE82A8F102072A -:1060A00001E300BF0122CAF88020CAF80020CAF824 -:1060B0008020CAF80020CAF88020CAF80020CAF858 -:1060C0008020CAF80020CAF88020CAF80020CAF848 -:1060D0008020CAF80020CAF88020CAF80020CAF838 -:1060E0008020CAF80020CAF88020CAF80020CAF828 -:1060F0008020CAF80020CAF88020CAF80020CAF818 -:106100008020CAF80020CAF88020CAF80020CAF807 -:106110008020CAF80020CAF88020CAF80020CAF8F7 -:106120008020CAF80020CAF88020CAF80020CAF8E7 -:106130008020CAF80020CAF88020CAF80020CAF8D7 -:106140008020CAF80020CAF88020CAF80020CAF8C7 -:106150008020CAF80020CAF88020CAF80020CAF8B7 -:106160008020CAF80020CAF88020CAF80020CAF8A7 -:106170008020CAF80020CAF88020CAF80020CAF897 -:106180008020CAF80020CAF88020CAF80020CAF887 -:106190008020CAF80020CAF88020CAF80020CAF877 -:1061A0008020CAF80020CAF88020CAF80020B8F180 -:1061B000000F00F03B81A8F1010418F003054246EE -:1061C00000F01F810126012D2246CAF88060CAF81E -:1061D000006000F01681022DCAF88060CAF80060E5 -:1061E00040F00881A8F102020BE100BFBEF1010FEF -:1061F00040F05880820700F1B78199F818707FB19C -:10620000012600BFCAF88060D9F80420521EFDD1D3 -:10621000CAF80060D9F80420521EFDD1013FF1D127 -:106220000422CAF880214FF08052CAF800200F687B -:1062300000216FF01F0601258CF80070CAF880500D -:10624000D9F80420521EFDD1CAF80050D9F8042014 -:10625000521EFDD1394401364FEA5707ECD34FF0B7 -:10626000010E8CF80010CAF880E0D9F80410491E1D -:10627000FDD1CAF800E0D9F80410491EFDD1C0E1F3 -:1062800008F1210010F0030100F0E581012001294F -:10629000CAF88000CAF8000040F05C8108F12000D4 -:1062A000D9E100BF99F8180001212130CAF8801007 -:1062B000D9F80420521EFDD1CAF80010D9F80420E4 -:1062C000521EFDD10138F1D1D8E100BF0122CAF838 -:1062D0008020CAF80020A8F10306032FBFF46DAA9E -:1062E000FFF77EBA00276FF01F040125002600BFCC -:1062F000CAF880509CF80020CAF800501744D20712 -:10630000CAF8805042EA56029CF80060CAF8005071 -:106310003744F607CAF8805046EA52029CF80060FB -:10632000CAF800503744F607CAF8805046EA5202CD -:106330009CF80060CAF800503744F607CAF880504D -:1063400046EA52029CF80060CAF800503744F6074B -:10635000CAF8805046EA52029CF80060CAF8005021 -:106360003744F607CAF8805046EA52029CF80060AB -:10637000CAF80050CAF880503744F6079CF800303D -:1063800046EA5202DE0746EA520608341F44CAF8BB -:106390000050ADD10122CAF880209CF800304FF0A7 -:1063A000080E7B40DB0708BF4FF0010E0029CAF83A -:1063B000002018BF0E60B8F1000F00F0D782A8F1DE -:1063C000010418F00305414600F0BB820126012DAF -:1063D0002146CAF88060CAF8006000F0B282022D3F -:1063E000CAF88060CAF8006040F0A482A8F10201F7 -:1063F000A7E200BF0122CAF88020CAF80020A8F155 -:106400000302032C12D30124043ACAF88040CAF8CC -:106410000040CAF88040CAF80040CAF88040CAF874 -:106420000040CAF88040CAF80040EDD10422CAF802 -:1064300080214FF080520028CAF8002040F0E0820E -:10644000002900F0DD8200208CF800000120CAF84D -:106450008000CAF80000CAF88000CAF80000CAF834 -:106460008000CAF80000CAF88000CAF80000CAF824 -:106470008000CAF80000CAF88000CAF80000CAF814 -:106480008000CAF80000CAF88000CAF80000CAF804 -:106490008000CAF80000CAF88000CAF80000CAF8F4 -:1064A0008000CAF80000CAF88000CAF80000CAF8E4 -:1064B0008000CAF80000CAF88000CAF80000CAF8D4 -:1064C0008000CAF80000CAF88000CAF80000CAF8C4 -:1064D0008000CAF80000CAF88000CAF80000CAF8B4 -:1064E0008000CAF80000CAF88000CAF80000CAF8A4 -:1064F0008000CAF80000CAF88000CAF80000CAF894 -:106500008000CAF80000CAF88000CAF80000CAF883 -:106510008000CAF80000CAF88000CAF80000CAF873 -:106520008000CAF80000CAF88000CAF80000CAF863 -:106530008000CAF80000CAF88000CAF80000CAF853 -:106540008000CAF80000CAF88000CAF80000CAF843 -:10655000800098E00229CAF88000CAF8000040F0E4 -:10656000738008F11F0076E000266FF01F074FF0E0 -:10657000010E0024CAF880E0D9F80420521EFDD193 -:106580009CF80020CAF800E0D9F80430D5075B1E5B -:10659000FDD145EA540401371644EBD30122CAF871 -:1065A0008020D9F804305B1EFDD14FF0080E9CF816 -:1065B0000030CAF80020D9F80420521EFDD186EA26 -:1065C0000302D20708BF4FF0010E002918BF0C606C -:1065D00099F8181071B10124CAF88040D9F8042044 -:1065E000521EFDD1CAF80040D9F80420521EFDD138 -:1065F0000139F1D10421CAF880114FF08051CAF855 -:106600000010000606D541F20400CEF2000000683A -:10661000C9F8080099F80C00002800F0F181002169 -:106620008CF80010012100BFCAF88010D9F80420AE -:10663000521EFDD1CAF80010D9F80420521EFDD117 -:106640000138F1D1DCE100BF0120CAF88000CAF8AE -:10665000000008F11E0001210438CAF88010CAF8B1 -:106660000010CAF88010CAF80010CAF88010CAF8E2 -:106670000010CAF88010CAF80010EDD10420CAF842 -:1066800080014FF08050CAF8000001215FFA8EF0BF -:106690008CF80010BDE8F0870122CAF88020CAF803 -:1066A0000020A8F10307032E12D30126043FCAF8E5 -:1066B0008060CAF80060CAF88060CAF80060CAF852 -:1066C0008060CAF80060CAF88060CAF80060EDD146 -:1066D0000422CAF880214FF08052CAF800200C68CA -:1066E000012162088CF80040CAF88010CAF8001036 -:1066F0008CF8002004EB5402A30802EB9402CAF8C1 -:10670000801002EBD402CAF8001002EB14128CF8CD -:10671000003002EB5412E30802EB9412CAF8801026 -:1067200002EBD412CAF8001002EB14228CF80030ED -:1067300002EB5422230902EB9422CAF8801002EBE8 -:10674000D422CAF8001002EB14328CF8003002EBAD -:106750005432630902EB9432CAF8801002EBD4324F -:10676000CAF8001002EB14428CF8003002EB5442DD -:10677000A30902EB9442CAF8801002EBD442CAF893 -:1067800000108CF80030E309CAF88010CAF8001035 -:106790008CF80030230A02EB1452CAF88010CAF8B1 -:1067A00000108CF80030630ACAF88010CAF8001094 -:1067B0008CF80030A30A02EB5452CAF88010CAF8D1 -:1067C00000108CF80030E30ACAF88010CAF80010F4 -:1067D0008CF80030230B02EB9452CAF88010CAF8F0 -:1067E00000108CF80030630BCAF88010CAF8001053 -:1067F0008CF80030A30B02EBD452CAF88010CAF810 -:1068000000108CF80030E30BCAF88010CAF80010B2 -:106810008CF80030230C02EB1462CAF88010CAF81E -:1068200000108CF80030630CCAF88010CAF8001011 -:106830008CF80030A30C02EB5462CAF88010CAF83E -:1068400000108CF80030E30CCAF88010CAF8001071 -:106850008CF80030230D02EB9462CAF88010CAF85D -:1068600000108CF80030630DCAF88010CAF80010D0 -:106870008CF80030A30D02EBD462CAF88010CAF87D -:1068800000108CF80030E30DCAF88010CAF8001030 -:106890008CF80030230E02EB1472CAF88010CAF88C -:1068A00000108CF80030630ECAF88010CAF800108F -:1068B0008CF80030A30E02EB5472CAF88010CAF8AC -:1068C00000108CF80030E30ECAF88010CAF80010EF -:1068D0008CF80030230F02EB9472CAF88010CAF8CB -:1068E00000108CF80030630FCAF88010CAF800104E -:1068F0008CF80030A30F02EBD472CAF88010CAF8EB -:1069000000108CF80030E30F4FF0010ECAF8801031 -:10691000CAF800108CF80030CAF88010CAF80010CD -:106920008CF80020CAF880100006CAF8001026D49F -:106930002CE000BF0121CAF88010CAF80010A8F1AD -:106940000301032C12D301240439CAF88040CAF889 -:106950000040CAF88040CAF80040CAF88040CAF82F -:106960000040CAF88040CAF80040EDD10421CAF8BE -:1069700080114FF080510006CAF8001006D541F290 -:106980000400CEF200000068C9F8080099F80C2055 -:10699000B2B300208CF8000012F00304A2F1010051 -:1069A00010D00125012C0146CAF88050CAF80050C9 -:1069B00010D0022CCAF88050CAF8005004D1911EA1 -:1069C00008E000BF114605E00121CAF88010CAF8AE -:1069D0000010D11E032813D3012000BF0439CAF8C8 -:1069E0008000CAF80000CAF88000CAF80000CAF89F -:1069F0008000CAF80000CAF88000CAF80000EDD193 -:106A000001215FFA8EF08CF80010BDE8F0870000DD -:106A100070B5002808BF70BD4EF2002340F2642418 -:106A200000224FF0040CC4F208034FF0010EC2F232 -:106A300000040025002A04BF11F8015B0822EE07BC -:106A40000CBFC3F880C0C3F800C0C3F880E066681C -:106A5000761EFDD1C3F800E066680138761EFDD1D0 -:106A60006D080028A2F10102E4D170BD002082214E -:106A700008F08CB8B0B540F2A825C2F20005EA785B -:106A80000C46012A08D1006800F00CF8014618B144 -:106A90004FF004102160B0BD002169704FF0041068 -:106AA0002160B0BD2DE9F04145F2404440F2A826F6 -:106AB000C0F28904C2F200064FF62458A04238BF43 -:106AC00004467078C0F20008D8F82850C00710D0EB -:106AD00016200021A847D8F82C008047800708D549 -:106AE000D8F824008047F1680844F060192000219C -:106AF000A847012021460127A84728B100242046A5 -:106B00003470BDE8F08100BF70783770C10714D0D1 -:106B100080070FD4F06840F2E43300F03F016FF3D8 -:106B20005F30D8F81820C2F20003C1F140011844C8 -:106B30003161904716200121A8472046BDE8F08129 -:106B40004FF62452C0F20002926940F2A823C2F22A -:106B5000000319611047000070B540F2A826C2F288 -:106B600000060078727800F0010502F0010085420D -:106B70000C4605D100214FF00110217070BD00BFFF -:106B80007DB1B078022805D1707918B1FFF76EFF9A -:106B90000020707100203072F080F0607061F06150 -:106BA0003062F078012815D1284600F019F888B134 -:106BB000B07875700228DDD140F20420C2F20000E6 -:106BC0000068012104F0DCFD00214FF0011021706C -:106BD00070BD00BFFF214FF00110217070BD00009B -:106BE00070B5B8B140F2A820C2F2000001780129C6 -:106BF0000DD14FF624540121C0F20004A2690161B5 -:106C000040F2E430C2F2000001219047E0B10020E0 -:106C100070BD00BF4FF62455C0F20005D5E90A4605 -:106C200016200021A047B047800715D5686A804725 -:106C300040F2A821C2F20001CA681044C8601920BD -:106C40000021A04708E000BFA26A1620012190475A -:106C500000281CBF002070BD012070BD2DE9F0434D -:106C600081B040F2A826C2F200068046B0790C46F8 -:106C700080F0010230447178C379B27143EA0109AE -:106C800000220129C27113D1F078012824D10120FA -:106C9000002500BF3571F16872690128A1EB020778 -:106CA00002D100F05BF90744307920B1F078F1E7C8 -:106CB000F0687169471AB0785FFA89F1012828D124 -:106CC000B8F80050B5F5FE7F28BF4FF4FE75AF420F -:106CD00098BF3D461EE000BF002000BF3071F16844 -:106CE000726933797BB13071F1687269337953B16C -:106CF0003071F168726933792BB13071F168726962 -:106D00003379002BEAD18F1AB0785FFA89F1012824 -:106D1000D6D000252170290A01286570A17075D18F -:106D2000D6F81480002D55D040F2E43115F003035D -:106D3000A5F1010EC2F200010ED040466FF35F30A4 -:106D4000421C085C012BE0700ED104F1040C734668 -:106D5000BEF1030F23D23DE004F1030C42462B4663 -:106D6000BEF1030F1BD235E06FF35F32885C571C16 -:106D7000022B207108D104F1050CAB1E3A46BEF17E -:106D8000030F0CD226E000BF6FF35F37C85D7A1C9B -:106D900004F1060C6071EB1EBEF1030F1AD3ACF1C7 -:106DA000040700BF10466FF35F30085C541C07F8FF -:106DB000040F6FF35F34085D941C78706FF35F34D9 -:106DC000085DD41CB8706FF35F34085D621C043B2F -:106DD000F870E7D108EB050070617078032815D1D1 -:106DE000F06871690022411AB2EB513F0ED1F1787F -:106DF00001290BD10121717040F2E4316FF35F3052 -:106E0000C2F2000108440121FFF79AFEE81C40F499 -:106E1000003001B0BDE8F0832DE9F04790F800A004 -:106E200088464FF000095FEACA700E460AD15FEA51 -:106E30008A701ED45FEA4A7060D409F58030BDE8DC -:106E4000F08700BF40F2A820C2F2000081794278AA -:106E500081F001030144CF79837147EA020046467D -:106E600081F8079006F8010B4FF001095FEA8A707C -:106E7000E0D540F2A824C2F200046078012813D1C2 -:106E8000E078012814D10120002500BF2571E168B8 -:106E900062690128A1EB020702D100F05FF8074404 -:106EA0002079E8B1E078F1E7E0686169471A17E016 -:106EB000002000BF2071E168626923797BB12071F5 -:106EC000E1686269237953B12071E16862692379CD -:106ED0002BB12071E16862692379002BEAD18F1A06 -:106EE000380A08F809707070380CB070380EF070FD -:106EF000043609F104095FEA4A709ED540F2A821E0 -:106F0000C2F20001002200BF0A71CB69086A0F7942 -:106F10007FB10A71CB69086A0F7957B10A71CB69E1 -:106F2000086A0F792FB10A71CB69086A0F79002FAF -:106F3000EAD1190A7170190CB170190EF170010AB9 -:106F400030717171010C000E09F104093370B171D7 -:106F5000F07109F58030BDE8F087000010B54FF6FC -:106F60002454C0F20004E06A804780075CBF002020 -:106F700010BD606ABDE8104000470000F0B581B068 -:106F800040F2A825C2F20005EA780778012A0C46EB -:106F900004BF002000F01AF84FF0000667B1012F7F -:106FA00006D10120012700F011F808B1002105E009 -:106FB000FF21002702E000BF00270021EF706E7064 -:106FC0004FF00110217001B0F0BD000070B540F22B -:106FD000A8220021C2F200021170C8B14FF6245459 -:106FE000C0F20004A16848F2F960C0F200008847CE -:106FF00000281CBF002070BD21690220884700289E -:1070000004BF012070BDE0688047002070BD00BF54 -:107010004FF62450C0F20000866AD0E903451620DE -:107020000021B04719200021B0470020A847A04701 -:10703000012070BD0B4602460020822107F0D6BD1C -:107040002DE9F04381B040F2A827C2F200070446C0 -:10705000B87997F8019080F00101384490F80780E2 -:10706000B9710021B9F1010FC17113D1F87801286C -:1070700014D10120002500BF3D71F9687A6901280B -:10708000A1EB020602D1FFF769FF06443879E8B1A7 -:10709000F878F1E7F8687969461A17E0002000BF30 -:1070A0003871F9687A693B797BB13871F9687A6926 -:1070B0003B7953B13871F9687A693B792BB13871F2 -:1070C000F9687A693B79002BEAD18E1A48EA0900FF -:1070D0002070300AA070300C310E6670E070052010 -:1070E000217101B0BDE8F08340F2A82540F2E43AF6 -:1070F0004FF0FF344FF001080027C2F20005C2F242 -:10710000000A15E0696908466FF35F30C0F5005268 -:10711000964288BF164619F1020218BFBBF1000F54 -:1071200048D150443146AE6185F80580FFF782FFB3 -:1071300001200021224604F04FFB69786A7911F0A2 -:10714000010B4FF0320408BF4FF0FF34002AEFD19B -:107150008146012928D1E87801280FD1012000BFFC -:107160002F71E9686A690128A1EB020602D1FFF7D5 -:10717000F5FE06442879D0B1E878F1E72F71E86888 -:1071800069692A7992B12F71E86869692A796AB1C7 -:107190002F71E86869692A7942B12F71E8686969D5 -:1071A0002A79002AEAD101E0E8686969461A002EC6 -:1071B000A8D1BDE76FF35F2131B1C1F500718E42F7 -:1071C0000E46B5D3ADE700BF16F47856A9D1AFE7A8 -:1071D00080B540F2A820C2F20000816942691144E2 -:1071E0000022416142714178032914D1C168436989 -:1071F000CB1AB2EB533F0ED1C278012A0BD1012238 -:10720000427040F2E4306FF35F31C2F20000084494 -:107210000121FFF795FC40F20420C2F20000006853 -:107220000121BDE8804004F0ABBA000040F2A82282 -:10723000C2F200025378DB070AD1007802289ABF15 -:1072400090700022FF224FF001100A70704700BFBB -:10725000FF224FF001100A707047B0B500F10C0129 -:10726000C289D1E85F3F9A4202D8BFF32F8F04E072 -:107270005C1CC1E8554F05B1F3E799B2C289002003 -:10728000914238BF0120B0BD60B169B172B10068F0 -:1072900070B10378012B0ABF0C3043F2215000F08B -:1072A00009B87047FEE700BFFEE700BFFEE700BF7A -:1072B000FEE7000030B139B1002A18BFFCF7F0BE7C -:1072C000FEE700BFFEE700BFFEE700002DE9F04F3C -:1072D0008BB00C46002101910DF10B019A46154629 -:1072E000013901AF0091461C00F1020916F8012C8A -:1072F000002A00F08D8200BF252A0BD0284639468F -:107300000123D047013609F1010916F8012C002AA2 -:10731000F2D17DE2B04618F801094FF0000BA0F160 -:107320003001092948D800BF0BEB8B0100EB41016C -:1073300099F80000A1F1300BA0F130020A2A2FD2F7 -:107340000BEB8B0100EB410199F80100A1F1300B2F -:10735000A0F13002092A2BD80BEB8B0100EB410185 -:1073600099F80200A1F1300BA0F13002092A41D8AE -:107370000BEB8B0100EB410199F80300A1F1300BFD -:10738000A0F130010A2909F10409CDD3A9F10208BD -:10739000A9F101060DF10B092E2837D110E000BF2D -:1073A000A9F101084E460DF10B092E282ED107E058 -:1073B00009F10106C84600BF0DF10B092E2825D1A1 -:1073C000707830380A280FD2B078303809280DD8B4 -:1073D000F0783038092817D816F8040F30380A2802 -:1073E000EED3A6F1010811E0B0460FE006F1010866 -:1073F0000CE000BF09F1010809F102060DF10B09CB -:107400002E2803D1DCE700BF06F1020898F801201E -:1074100002F0FB0068281BD198F8022002F0FB0064 -:10742000682813D198F8032002F0FB00682840F088 -:107430005D8018F8042F02F0FB006828E6D0A8F160 -:107440000108A2F14600322807D911E108F101082C -:10745000A2F14600322800F20B81DFE810F04F0065 -:1074600009010901090109010901090109010901CC -:1074700009010901090109010901090109010901BC -:10748000090159000901090109010901090109015D -:10749000090109010901330007019F0009014F009B -:1074A000090109019F0009010901090109010901F7 -:1074B00033003300090109010F01090133000901FB -:1074C0000901590054F8041B702A00F0F5806F2A56 -:1074D00000F03281622A14BF0A20022000294FF0F6 -:1074E00000028DF80B2040F0EE802CE108F102083C -:1074F000A2F1460032287FF6B0AFB9E0E01D20F0DF -:10750000070000F1080401AF08F10200EBE600BF3C -:1075100054F8040B002100288DF80B1000F018819E -:1075200037270126782A08BF572700BF00F00F022F -:107530000A2A3B4638BF30231A44102809F806208F -:10754000C0F03181C0F3031339460A2B38BF302114 -:1075500009EB06021944B0F5807F5170C0F020811C -:10756000C0F303213B460A2938BF30231944B0F544 -:10757000805F9170C0F01681C0F303313B460A2949 -:1075800038BF3023B0F5803F4FEA1040194406F170 -:107590000406D170CAD2013E05E100BF54F8040BC5 -:1075A000002100288DF80B1000F0D880012600BFC4 -:1075B0004CF6CD41CCF6CC41A0FB0112D10801EB39 -:1075C00081023723524200EB42020A2A38BF30239D -:1075D0001A440A2809F80620C0F0FF8048F21F521A -:1075E000C5F2EB12A0FB02235B0903EB83023727F2 -:1075F000524201EB420209EB06010A2A38BF30274A -:107600003A4464284A70C0F0E58044F6D352C1F28F -:107610006202A0FB0227BA0902EB82077F4203EB5A -:10762000470337270A2B38BF30273B44B0F57A7F12 -:107630008B70C0F0D18041F25973CDF2B713A0FB2B -:1076400003377B0B03EB830704367F4202EB4702D1 -:1076500037270A2A38BF30273A44CA7042F21071DD -:1076600088421846A4D2013EB7E000BF14F8042BAC -:1076700001AF284639460123D047C5E054F8046BD2 -:10768000002E3FF440AF3046F8F79FFF01AFABEB61 -:107690000003284639462022D0473078002800F0E1 -:1076A000B380013EC2B2284639460123D047B078A4 -:1076B00001360028F6D1A7E0102000294FF0000283 -:1076C0008DF80B203FD0A446012600BFB1FBF0F39C -:1076D000372703FB10120A2A38BF30273A44814269 -:1076E00009F8062043D3B3FBF0F1372401FB103730 -:1076F00009EB06020A2F38BF302427448342577013 -:1077000032D3B1FBF0F3372403FB10170A2F38BF35 -:10771000302427448142977028D3B3FBF0F13724FB -:1077200001FB103704360A2F38BF30242744834228 -:10773000D770CBD2013E1AE0082000294FF000029A -:107740008DF80B20BFD130208DF80C0001260FE002 -:1077500030208DF80C00012625E000BF30208DF888 -:107760000C00012639E000BF013600E00236644615 -:1077700001AFABEB0603284639462022D04719F863 -:107780000600002840D000990E4400BFC2B228462F -:1077900039460123D04716F801090028F6D133E015 -:1077A000013600E0023601AFABEB0603284639464E -:1077B0002022D04719F8060030B300990E4400BFCC -:1077C000C2B2284639460123D04716F801090028DD -:1077D000F6D119E0013600E0023601AFABEB06034B -:1077E000284639462022D04719F8060060B1009992 -:1077F0000E4400BFC2B2284639460123D04716F8CE -:1078000001090028F6D100BF08F102006BE500BFB6 -:1078100001980BB0BDE8F08F70B540F260554FF69F -:107820002450C4F20005CFF6FF70285800F007007E -:1078300003281FD8DFE800F002203C584FF6205004 -:10784000CFF6FF70285800F00700022864D0012806 -:1078500000F06C80002840F0778043F21000C4F202 -:107860000100006841F600314004C0F2B70101EAAE -:10787000E07073E1002071E14FF63050CFF6FF70F9 -:10788000285800F00700032800F2E280DFE800F04B -:10789000029A6AA843F21000C4F20100006841F69F -:1078A00000314004C0F2B70101EAE070D1E000BF4E -:1078B0004FF63450CFF6FF70285800F00700032829 -:1078C00000F2A480DFE800F00258667043F2100076 -:1078D000C4F20100006841F600314004C0F2B70173 -:1078E00001EAE07093E000BFB820C4F20200016832 -:1078F000490607D450F8201CC90703D14FF40040B3 -:107900002CE100BF0168090604D450F8200CC00324 -:1079100080B223E1002021E1D5F8B80444F24021EF -:107920004006C0F20F0101EAE07017E143F21000D7 -:10793000C4F20100006942F20041C001C0F2F4014A -:1079400001EAE0700AE100BF43F21000C4F2010056 -:1079500000684DF600014000C0F2B85101EAE07045 -:10796000FCE000BFD5F8B80444F240214006C0F264 -:107970000F0101EAE0706CE043F21000C4F2010074 -:10798000006942F20041C001C0F2F40101EAE07076 -:107990003DE000BFD5F8B80444F240214006C0F2F3 -:1079A0000F0101EAE07032E0B820C4F20200016881 -:1079B000490623D450F8201CC9071FD14FF40040BA -:1079C00025E000BF43F21000C4F20100006942F25A -:1079D0000041C001C0F2F40101EAE07039E000BFEB -:1079E000B820C4F202000168490629D450F8201CCE -:1079F000C90725D14FF400402BE000BF01680906FC -:107A000004D450F8200CC00380B200E000202968A4 -:107A1000090400F1A3802968890240F19F80B82100 -:107A2000C4F202010968490500F198802968090338 -:107A30002AD4A968C9B2002908BF012125E000BFE6 -:107A40000168090604D450F8200CC00380B200E09D -:107A50000020296A090400F18180296A89027DD504 -:107A6000B821C4F202010A6892055CBF09685FEAA6 -:107A7000012173D4296A090326D4A96AC9B200294D -:107A800008BF012121E000BF01212A68D2020DD4E4 -:107A90002B682E693E2406F01F02DB0358BF04EA60 -:107AA0004602002A08BF022201E000BF0122EB6863 -:107AB000B0FBF1F09BB2002B08BF0123A3FB000138 -:107AC0000023F8F72DFD49E001212A6AD2020DD4E6 -:107AD0002A6AEB6A3E2603F01F04D20358BF06EA67 -:107AE0004304002C08BF022401E000BF0124B0FBC6 -:107AF000F1F6696B686BC90016D4296B2A6B490EC5 -:107B000022F07E4200EE102A9FED1C1AB8EE400AC9 -:107B100060F3C71120EE010A01EE101AB8EE411A07 -:107B200030EE010A06E000BFC0F38F2000EE100A1D -:107B3000B8EE400AB5EE400AB7EE001AF1EE10FAC0 -:107B400001FE000A10EE100AF8F74FFDA0FB060236 -:107B500001FB062122460023F8F7E2FC4FF62061E4 -:107B6000CFF6FF716958012252FA81F1B0FBF1F0B2 -:107B700040F22801C2F20001086070BD000000332D -:107B80004EF68850CEF20000016840F6034241F400 -:107B900070010160016841F00F010160416811430B -:107BA000416040F20001C0F2000140F8801C40F248 -:107BB0002020C4F200000021C0F8E8107821016004 -:107BC000AFF30080704710B5930712D400F128037B -:107BD000D00715D153E8000F084203D1BFF32F8F10 -:107BE000002005E020EA010243E8002404B1F1E7A7 -:107BF00010BD806AD20700EA010312D1A3B912E0D6 -:107C000053E8000F00EA01028A4203D0BFF32F8F2E -:107C1000002005E020EA010243E8002404B1EFE778 -:107C200010BD8B4200D0002010BD0000B0B5104A3E -:107C30000023443215462C683CB12569A94209D37A -:107C4000491B04F10C052346F5E700240161C0E956 -:107C5000023406E001612569C0E90234691AA060B6 -:107C60002161002B18BF03F10C021060B0BD00BFF2 -:107C700030000020B0B540F22C25C2F20005297872 -:107C8000002918BFB0BD0446C00715D047F6707173 -:107C9000C2F2000100204FF4007204F0E7FB01285B -:107CA0000ADB01464FF6EC40C0F20000426947F69D -:107CB0007070C2F200009047A00701D4B0BD00BFB1 -:107CC000E8684FF4007100F500724FF6EC40C0F226 -:107CD0000000836947F67050C2F20000EA60BDE818 -:107CE000B0401847B0B540F22C02C2F20002127840 -:107CF0000C46022A20D10178D0F801504FF6EC4012 -:107D0000C0F20000826A41F0010029469047B8B1F4 -:107D100000F10B0240F2CC200021C2F20000032A45 -:107D2000017017D80020DFE802F003191D1F00BF03 -:107D30000421284618E000BF0020072114E000BFFE -:107D400040F2CC20C2F2000001210170002128463F -:107D50000AE000BF0020072106E000BF02212846FC -:107D600002E000BF012128462170010AA170010C28 -:107D70006070E170010E4FF005102171B0BD000080 -:107D80002DE9F04381B040F22C02C2F200021278D9 -:107D90008946022A06D10578A80705D4E8071BD131 -:107DA00000263DE0FF2695E040F2CC28C2F2000814 -:107DB00098F803000026012832D14FF6EC40C0F2BB -:107DC0000000876A16200021B84719200021B84713 -:107DD00088F8036024E000BF40F2CC27C2F200071D -:107DE000387801281BD1F8780026C8B9BE60FE603B -:107DF000B8684FF6EC4244F26441C0F200026FF3FF -:107E00009F20C2F2000193690844966A2021984796 -:107E1000162001214FF00108B04700287AD0FF2634 -:107E200068071ED54FF6EC48C0F20008D8F82820A5 -:107E3000192000210027904740F2CC20C2F2000018 -:107E40008760C760C17801290BD1806844F2644122 -:107E50006FF39F20D8F81820C2F2000108442021B7 -:107E60009047A8061CD4E80632D540F2CC27C2F2CF -:107E700000073878012811D1387948BB4FF6EC411A -:107E8000C0F2000100208A6AB87038617861B86178 -:107E9000152001214FF001089047B8B1FF2617E0E7 -:107EA00040F2CC27C2F200073879012810D14FF6F2 -:107EB000EC40C0F20000846A182000214FF0000856 -:107EC000A04715200021A04787F8028087F804808A -:107ED000680607D44FF0011089F8006001B0BDE8D2 -:107EE000F08300BF4FF6EC40C0F20000826A182019 -:107EF00000210024904740F2CC20C2F200008470A0 -:107F00000461446184614FF0011089F8006001B0A0 -:107F1000BDE8F08387F8038042E700002DE9F041D7 -:107F200040F22C01C2F200010978044602294FF008 -:107F300000083BD140F2CC27C2F200073878012874 -:107F400038D14FF6EC45C0F20005B868F9686A6AA6 -:107F5000461A90470644B6F5707F07D9012078701D -:107F6000B8684FF47076A0F57070F8603869796978 -:107F70002A6A451A90477A78BB78F978002B18BF9F -:107F80002D1A002A1EBF002078700231787900284F -:107F90001EBF002078710431B87900281EBF002070 -:107FA000B8710831387960F3041106E00026002525 -:107FB000002102E0002600250021300AA070280AD6 -:107FC000A071280C2170E071290E09206670A4F8B8 -:107FD000038065712172BDE8F08100002DE9F04F4A -:107FE00081B040F22C02C2F2000212788946022AC5 -:107FF0003AD140F2CC2AC2F2000A80460588DAF86B -:108000000800DAF80C104FF6EC4BC0F2000B461AE1 -:10801000DBF82400B5F5FD7F28BF4FF4FD758047E0 -:108020003044B0F5707F0AD901208AF80100DAF8EF -:108030000800A0F57070CAF80C004FF47070DAF800 -:108040000C10854288BF05466FF39F214819B0F593 -:10805000806F09F105070BD844F26440C2F20000BA -:10806000014438462A4611E000260025002098E009 -:1080700044F26444C1F58066C2F2000421443846EB -:108080003246F8F77EFAB819AA1B2146F8F779FAB2 -:10809000DAF80C002844CAF80C00B8F80270DBF8D3 -:1080A0002000DAF81060DAF8144008F10408B7F597 -:1080B000FD7F88BF40F2FB1780479AF802B0A11BF2 -:1080C00001F58066BBF1000F18BF0644DAF8100016 -:1080D000B74298BF3E466FF39F203118B1F5806FCD -:1080E00008D844F66401C2F2000108444146324611 -:1080F0000FE000BF44F66404C0F58067C2F20004DC -:10810000204441463A46F8F73CFA08EB0701F21BD7 -:108110002046F8F736FADAF81000BBF1000F3044C9 -:10812000CAF810001FD1DAF81000DAF81410411A5A -:10813000DAF8140017D06FF39F204218B2F5806F61 -:1081400088BFC0F5806101228AF802204FF6EC4218 -:10815000C0F2000244F664035269C2F200031844FC -:10816000CAF8181090479AF801109AF803000029ED -:108170001EBF00218AF8011002309AF8051000296C -:108180001EBF00218AF8051004309AF80610002955 -:108190001EBF00218AF8061008309AF8041061F317 -:1081A000041089F80000300A89F80200301D691DAA -:1081B00041EA0040290A89F8016089F8035089F8EA -:1081C000041001B0BDE8F08F2DE9F04700780C46AF -:1081D000022817D0012841D0002840F0028140F247 -:1081E0002C06C2F20006307802284BD0012800F09D -:1081F000818000280CBF0025FF254FF0011025705D -:10820000BDE8F08740F22C05C2F20005287802286C -:1082100000F0A180012877D0002840F0E28040F2F1 -:10822000CC204FF6EC46C2F200000021C0F200065E -:108230000170017141804170417181710161416141 -:108240008160C160B268816148F2A570C0F200002F -:108250009047002840F0C58076E000BF40F22C0532 -:10826000C2F20005287802287CD0012873D00028AB -:1082700040F0B7800120012602F0CCFA002840F03F -:10828000B08067E040F2CC2AC2F2000A9AF80300FC -:108290004FF6EC480128C0F200080BD1D8F828505E -:1082A000162000214FF00009A84719200021A847F7 -:1082B0008AF803909AF8040001280DD1D8F82850C4 -:1082C000182000214FF00009A84715200021A847D9 -:1082D0008AF802908AF80490D8E9037100250020FA -:1082E0008AF800508847B84735704FF00110257064 -:1082F000BDE8F0870020002502F08CFA35704FF0C1 -:1083000001102570BDE8F0870020002702F082FAF6 -:1083100040F2CC204FF6EC46C2F20000C0F200065C -:108320002F70077007714780477047718771076129 -:1083300047618760C760B168876148F2A570C0F285 -:108340000000884700284CD1316902200226884766 -:10835000002846D12E7000254FF001102570BDE891 -:10836000F08700BF40F2CC29C2F2000999F803005F -:1083700001280ED14FF6EC40C0F20000876A1620AB -:1083800000214FF00008B84719200021B84789F8AC -:10839000038099F80400012810D14FF6EC40C0F298 -:1083A0000000876A182000214FF00008B847152008 -:1083B0000021B84789F8028089F804804FF6EC4024 -:1083C000C0F20000D0E903610027002089F80070A6 -:1083D0008847B04701202F70012602F01BFA0028C1 -:1083E000B8D0FF254FF001102570BDE8F0870000E0 -:1083F00040F23012C2F2000200F05EBAB0B582B0B4 -:1084000040F23015C2F200052868A968006801AC86 -:10841000224600F007FEA968062808BF01F10C04F7 -:10842000206802B0B0BD000080B540F23010C2F24A -:1084300000000168806809682023896890F81CE0C2 -:1084400090F81DC0102000EA911003EA1123402289 -:1084500002EA112118440844BEF1010F08BF01309F -:10846000BCF1030F08BF023080BD0000B0B582B080 -:1084700040F23015C2F200052868A968006801AC16 -:10848000224600F007FEA968062808BF01F1100483 -:10849000206802B0B0BD000040F23011C2F200010D -:1084A0000A7ED20702D14861012008760020704779 -:1084B00040F23011C2F2000100F09ABA80B582B0E9 -:1084C00040F23012C2F200021368D2F808C01B68F2 -:1084D000CDE900016A461846614600F013FE58B126 -:1084E00041F2456188420BD0042814BF4FF0FF30A1 -:1084F0006FF0040002B080BD002002B080BD00BF5C -:108500006FF0010002B080BD80B582B040F2301241 -:10851000C2F200021368D2F808C01B68CDE900015E -:108520006A461846614600F097FE58B141F2446130 -:1085300088420BD0042814BF4FF0FF306FF00400C6 -:1085400002B080BD002002B080BD00BF6FF001000E -:1085500002B080BD4FF0FF307047000040F2301293 -:108560000021C2F200020020117670470020F8F7C7 -:1085700029BB000040F24C12C2F2000200F09CB98C -:10858000B0B582B040F24C15C2F200052868A96867 -:10859000006801AC224600F045FDA968062808BF26 -:1085A00001F10C04206802B0B0BD000080B540F2BB -:1085B0004C10C2F2000001688068096820238968B5 -:1085C00090F81CE090F81DC0102000EA911003EA1A -:1085D0001123402202EA112118440844BEF1010F80 -:1085E00008BF0130BCF1030F08BF023080BD00009E -:1085F000B0B582B040F24C15C2F200052868A968F7 -:10860000006801AC224600F045FDA968062808BFB5 -:1086100001F11004206802B0B0BD000040F24C111E -:10862000C2F200010A7ED20702D148610120087619 -:108630000020704740F24C11C2F2000100F0D8B99E -:1086400080B582B040F24C12C2F200021368D2F838 -:1086500008C01B68CDE900016A461846614600F073 -:1086600051FD58B141F2456188420BD0042814BF36 -:108670004FF0FF306FF0040002B080BD002002B068 -:1086800080BD00BF6FF0010002B080BD80B582B038 -:1086900040F24C12C2F200021368D2F808C01B6804 -:1086A000CDE900016A461846614600F0D5FD58B193 -:1086B00041F2446188420BD0042814BF4FF0FF30D0 -:1086C0006FF0040002B080BD002002B080BD00BF8A -:1086D0006FF0010002B080BD4FF0FF307047000026 -:1086E00040F24C120021C2F20002002011767047C5 -:1086F0000320F8F767BA0000F0B581B040F2A82572 -:1087000004468007C2F2000539D541F20400CEF2DA -:108710000000006828626E69E8682969084400F072 -:108720003F01871B01F5FE529742E860E86103D9DB -:108730000320687010E000BF4FF62452C0F2000220 -:1087400040F2E4336FF35F309269C2F20003C1F18B -:10875000400118442961904701202871A878022817 -:108760000DD16FF35F26C6F50070874207D340F244 -:108770000420C2F200000068012103F001F8A00605 -:1087800005D5A8792844C17941F08001C17114F45C -:10879000607F05D0A8792844C17941F04001C171BA -:1087A00001B0F0BD10B50446C00724D040F2CC2083 -:1087B000C2F2000041698269114441610021817067 -:1087C00001694269891A426915D06FF39F225318D3 -:1087D000B3F5806F88BFC2F580610123816183702A -:1087E0004FF6EC40C0F20000436944F66400C2F268 -:1087F000000010449847A00714D4A0062AD4E0052E -:1088000005D540F2CC20C2F2000001214171A00543 -:1088100058BF10BD40F2CC20C2F20000012181718E -:1088200010BD00BF40F2CC20C2F2000081682031B0 -:1088300081604FF6EC418068C0F200018A6944F221 -:1088400064416FF39F20C2F2000108442021904749 -:10885000A006D4D540F2CC20C2F200000121417024 -:10886000E005D4D5CDE70000D0B18168090709D46F -:10887000816809075CBF81685FEA017102D4816881 -:108880000907F2D50F21C0F8141ED0F8001E21F4FC -:108890004051C0F8001E016821F0010101607047DD -:1088A00040F2EC0040F2E001C0F20100C0F2010130 -:1088B0004FF48C7202F004F82DE9F04186B01446B2 -:1088C000127E0E4691075EBF4FF0FF3006B0BDE846 -:1088D000F081054610F4702F04D06FF0030006B04D -:1088E000BDE8F081EFB2192F14D0182F26D12068DF -:1088F000A1680068D0F8002E22F48052C0F8002E43 -:108900004869FAF7F3FAA1680020087706B0BDE8D5 -:10891000F08100BF2068A1680068D0F8002E22F422 -:108920000052C0F8002E8869FAF7E0FAA068022128 -:108930004177002006B0BDE8F08100BFD4F8008088 -:1089400001A800F0E5F8012F04D0162F18BF152F4D -:10895000EFD0C2E715F4405001960FD0B0F5005F9C -:108960000AD0B0F5805F1EBF6FF0090006B0BDE809 -:10897000F081022003E000BF032000E0002015F496 -:1089800040418DF8080005D0B1F5804F2AD1012073 -:108990008DF80900207E400707D5D8F80000FFF7C2 -:1089A00063FF207E00F0FB00207640F20110ADF85E -:1089B0000C00D8E900508047024601A9284600F083 -:1089C000EDF841F25161884202BF6FF0070006B036 -:1089D000BDE8F081207E40F004002076002006B043 -:1089E000BDE8F0816FF00A0006B0BDE8F08100003C -:1089F000B0B588B002280C4620D0002868D1207E6F -:108A0000800718D520680068FFF72EFF6068C268ED -:108A1000172A65D2836801219D6A01FA02F22A436E -:108A20009A624268172A5BD2006801FA02F2836AEE -:108A30001A4382622176002008B0B0BD207E002853 -:108A40004AD08007F7D403A800F062F840F2011082 -:108A50006268ADF814005368172B4DD215684FF0BB -:108A6000010C9168286A0CFA03F318432862D36852 -:108A7000172B41D2086A0CFA03F318430862E06826 -:108A8000D268FAF7AFFB62682069D2E90012FAF700 -:108A9000A9FB2068D0E900508047024603A9284678 -:108AA00000F07CF82068D4E90215D4E904230068BA -:108AB000009245F23122C0F20002019500F006FA60 -:108AC000207E40F006002076002008B0B0BD00BF38 -:108AD0006FF0030008B0B0BD4FF0FF3008B0B0BD7C -:108AE00040F2F90040F23711C0F20100C0F201017A -:108AF0004FF4D67201F0E4FE40F2F90040F2371173 -:108B0000C0F20100C0F201014FF4D07201F0D8FEB2 -:108B100090B100214FF4E132C0E900210122C0E907 -:108B20000211016181808271C0F80710C0F80B103A -:108B3000A0F80F10704700BF40F2E00103A0C0F2A0 -:108B4000010140F2351201F0BBFE00BF4E554C4C06 -:108B500020213D20636F6E6669670000A0F18040B0 -:108B6000A0F506204FEA303012280CD81F21C0F2A1 -:108B70000701C140C9071FBF4FF67C41C0F2000189 -:108B800051F82000704740F2B60040F2E001C0F218 -:108B90000100C0F20101482201F092FEB0B50028A8 -:108BA00000F094800D46002900F09080002A00F02B -:108BB0008D8001210446FBF75FF808B1B0BD00BF0E -:108BC000687AD0B1D4F8000E40F00110C4F8000E5D -:108BD000D4F8080E20F47060C4F8080E687BD4F84E -:108BE000081E00F00F0041EA0020C4F8080ED4F877 -:108BF000080E40F00100C4F8080E287AD0B1D4F86D -:108C0000000E40F00210C4F8000ED4F8080E20F454 -:108C10007020C4F8080EA87BD4F8081E00F00F00DE -:108C200041EA0040C4F8080ED4F8080E40F00200F3 -:108C3000C4F8080E6979402295F804C0AB7902EABD -:108C4000811103F0030E6CF30511E87941EA8E01FE -:108C5000EB7B41EAC03003F0020240EA822003F0DD -:108C60000103297C40EA833001F00101EA7A40EAFD -:108C70000130297B40EAC21040EA412040F0010067 -:108C80002060296872B14FF41650B0FBF1F000FB80 -:108C900001F1B1F5165F1CBF41F25160B0BD206219 -:108CA00006E000BF204600F039F8002818BFB0BD2C -:108CB000A97A606821B140F4807060600020B0BD86 -:108CC00020F4807060600020B0BD00BF40F2E00181 -:108CD00002A0C0F20101CB2201F0F2FD2128284EB2 -:108CE000554C4C203D3D206261736529207C7C20E1 -:108CF000284E554C4C203D3D20636F6E66696729B8 -:108D0000207C7C20283055203D3D20737263436CCD -:108D10006F636B5F487A2929000000002DE9F0415C -:108D20000E460446FAF73CFF0546F7F763FF46F6A2 -:108D30000041C0F2DC21884240F0B1800020CCF23A -:108D4000C0602D2132460023F7F7EAFBB0F5A04FB3 -:108D5000C0F0A5800646000520D0B6F5883F0DD3AB -:108D6000370C3002310E3A010023F7F7D9FB000B24 -:108D700040EA01524FF0100878E000BF300B40EAA3 -:108D800001583002310E5FFA88F20023F7F7C8FB72 -:108D9000000B40EA0152012768E000BF4FF6F07077 -:108DA000064243D048F68900C8F68800A6FB0002B8 -:108DB000D00802053ED042F293427008C9F249221F -:108DC000A0FB02029008020538D04EF64F40C4F6D0 -:108DD000C460A6FB00029008020533D04AF6AB201F -:108DE000CAF6AA20A6FB0002D00802052ED048F63B -:108DF000A330CBF62E20A6FB0002D008020529D016 -:108E00004CF6CD40CCF6CC40A6FB0002D0080205C3 -:108E100024D048F63960C3F6E300A6FB00025008F0 -:108E200002059AD14FF009081AE000BF30094FF04F -:108E3000100815E04FF00F0812E000BF4FF00E08C9 -:108E40000EE000BF4FF00D080AE000BF4FF00C0825 -:108E500006E000BF4FF00B0802E000BF4FF00A0829 -:108E60000022B2EB103F3FF478AF070B5FFA88F0B7 -:108E700007FB00F0D1B200FB01F24FF6F073C0F235 -:108E8000FF0303EA021202EB0030321A38BF821BE2 -:108E9000642002FB00F0B0FBF6F0032804D941F295 -:108EA0005160BDE8F08100BF05F10800C0B20022AA -:108EB0000025F7F715FF4FF0FF3050FA88F0A06259 -:108EC000781E20622846BDE8F08100002DE9F04FB1 -:108ED00081B0002854D00F46002959D0DDE90A9806 -:108EE0009A4693460446FFF739FE47F6B801054611 -:108EF000C2F20001002001EBC506C7E90000C7E986 -:108F00000200C7E90400C7E9060041F83540022124 -:108F10007760797748F6CD713877C0F20001204646 -:108F20003A46C7E901BAC7E90598FAF759FF1CA004 -:108F30004057012200F01F0102FA01F14EF2001227 -:108F40004009CEF2000242F82010B9F1000F07D01C -:108F500049F25131C0F2000148463246FAF726FB89 -:108F6000B8F1000F07D049F2FD11C0F200014046F0 -:108F70003246FAF71BFB002001B0BDE8F08F00BFBE -:108F800040F26F710DA0C0F20101812201F098FC46 -:108F900040F26F7104A0C0F20101872201F090FC41 -:108FA0000E0F10111213141521284E554C4C203D54 -:108FB0003D2068616E646C652900000021284E55D3 -:108FC0004C4C203D3D2062617365290070B169B150 -:108FD00000220A7708220261D1F804C0BCF1000F18 -:108FE00008BF70478B6841F24662604740F26F717C -:108FF00003A0C0F2010140F27B1201F061FC00BF4E -:10900000284E554C4C20213D206261736529202655 -:109010002620284E554C4C20213D2068616E646C02 -:1090200065290000B0B589B114468A69D2B12CB364 -:10903000487F022804BF0620B0BDCD689068117B30 -:10904000FAF726F9281A20600020B0BD40F25A50E5 -:1090500040F26F71C0F20100C0F201014FF4A7723B -:1090600001F02EFC40F2B37040F26F71C0F20100CB -:10907000C0F2010140F24F1201F022FC40F2EB700D -:1090800040F26F71C0F20100C0F201014FF4A8720A -:1090900001F016FCB0B589B114464A69D2B12CB3BF -:1090A000087F002804BF0620B0BD0D699068117BC1 -:1090B000FAF7EEF8281A20600020B0BD40F25A50AE -:1090C00040F26F71C0F20100C0F201014FF4B572BD -:1090D00001F0F6FB40F2CF7040F26F71C0F2010078 -:1090E000C0F2010140F26B1201F0EAFB40F2EB70BA -:1090F00040F26F71C0F20100C0F201014FF4B6728C -:1091000001F0DEFB70B58AB091B30C468969D9B322 -:10911000002A41D0116800294AD05368002B53D04F -:10912000617F032904D141F2456528460AB070BD2C -:1091300003216177E360D0F8001E03AE41F40051D3 -:10914000C0F8001E126800F5636101200025CDE91A -:109150000030304601230295FAF770F9A0693146D4 -:10916000FAF76AFAA069FAF737FA28460AB070BD2A -:1091700040F2307040F26F71C0F20100C0F20101A4 -:10918000F72201F09DFB00BF40F26F7114A0C0F206 -:109190000101F82201F094FB40F24D7040F26F7132 -:1091A000C0F20100C0F20101F92201F089FB00BF09 -:1091B00040F21D7040F26F71C0F20100C0F2010177 -:1091C000FA2201F07DFB00BF40F25A7040F26F714D -:1091D000C0F20100C0F20101FB2201F071FB00BFEF -:1091E00068616E646C652D3E7278446D6148616E95 -:1091F000646C6520213D204E554C4C00A0B1F9B166 -:10920000D1E90001D0F8002E22F40052C0F8002E5F -:1092100002224A77D1F804C0BCF1000F08BF7047A2 -:109220008B6841F24762604740F2307040F26F71E4 -:10923000C0F20100C0F201015D2201F041FB00BF5C -:1092400040F23F7040F26F71C0F20100C0F20101C4 -:109250005E2201F035FB000070B58AB091B30C4678 -:109260004969D9B3002A41D0116800294AD053680E -:10927000002B53D0217F012904D141F244652846B7 -:109280000AB070BD012121772361D0F8001E03AE22 -:1092900041F48051C0F8001E116800F5626202209E -:1092A0000025CDE90030304601230295FAF7C6F8D3 -:1092B00060693146FAF7C0F96069FAF78DF9284616 -:1092C0000AB070BD40F2307040F26F71C0F2010020 -:1092D000C0F20101C32201F0F3FA00BF40F26F7146 -:1092E00014A0C0F20101C42201F0EAFA40F24D706C -:1092F00040F26F71C0F20100C0F20101C52201F01D -:10930000DFFA00BF40F21D7040F26F71C0F2010041 -:10931000C0F20101C62201F0D3FA00BF40F25A7038 -:1093200040F26F71C0F20100C0F20101C72201F0EA -:10933000C7FA00BF68616E646C652D3E7478446D39 -:109340006148616E646C6520213D204E554C4C0097 -:1093500050B1A9B10868D0F8001E21F48051C0F8BE -:10936000001E0821C160704740F2307040F26F71FA -:10937000C0F20100C0F201014F2201F0A1FA00BFCA -:1093800040F23F7040F26F71C0F20100C0F2010183 -:10939000502201F095FA000070B5002800F0BE8060 -:1093A000002900F0BB80D0F8003EDB0704BF04209A -:1093B00070BD002A00F0A58000F6046312F00305DA -:1093C000A2F101062ED01C68A40609D41C68A406CC -:1093D0005CBF1C685FEA846402D41C68A406F2D5F2 -:1093E0008C461CF8014B012DB646C0F8204E1BD010 -:1093F0001C68A40609D41C68A4065CBF1C685FEA4C -:10940000846402D41C68A406F2D54C78022DC0F8FE -:10941000204E0DD101F1020CA2F1020E032E70D3E9 -:1094200028E000BF96468C46032E6AD322E000BF98 -:109430001D68AD0609D41D68AD065CBF1D685FEAF6 -:10944000856502D41D68AD06F2D58D7801F1030C57 -:10945000C0F8205EA2F1030E032E52D30AE000BF33 -:109460009CF80310BEF1040E0CF1040CC0F8201E91 -:1094700047D000BF196889065FBF19685FEA81613C -:1094800019685FEA816102D419688906F2D59CF8EF -:109490000010C0F8201E1968890609D419688906C9 -:1094A0005CBF19685FEA816102D419688906F2D548 -:1094B0009CF80110C0F8201E1968890609D41968A3 -:1094C00089065CBF19685FEA816102D41968890660 -:1094D000F2D59CF80210C0F8201E19688906BFD486 -:1094E000196889065CBF19685FEA8161B8D4196898 -:1094F0008906F2D5B4E700BF8168090744BF0020A0 -:1095000070BD8168090706D4816809075CBF81685E -:109510005FEA0171F0D5002070BD00BF40F29200FB -:1095200040F2E001C0F20100C0F2010140F27B22F2 -:1095300001F0C6F9012070470020704740F2042076 -:10954000C0F20220704700006FF003007047000077 -:109550002DE9F04F83B044F20007C4F20907386ADE -:10956000796A3D6801EA000940F24828B9F1FF3FF5 -:10957000C2F20008C7F8209032DC680120D543F61B -:109580000040C4F210006021F7F714F80A20C8F870 -:109590000C004FF600013868C0F2FF3101F5086198 -:1095A00008433860D8F8041004208847386800F46D -:1095B0004000B0F5000F03D1D8F804100820884708 -:1095C000A8030DD5D8F80C00D8F8041020F0080036 -:1095D000C8F80C00386840F4003038601020884724 -:1095E0005FEA095000F0B2814FF64460C0F200001B -:1095F00000F1080605F480744FF0000A01254FF0D1 -:10960000000BCDE9014922E0401AA04288BF204664 -:10961000E8604FF600023968C0F2FF3202EAC0206B -:1096200001F0F841B288084440EA9210012500F1A7 -:10963000004038604F46DDE9014900BFBBF1090F2A -:109640000BF1020B06F120060AF1010A68D205FAB5 -:109650000BF010EA090FF1D03862ACB3BBF1000F88 -:1096600032D143F60045C4F2100595E80F0021F011 -:10967000005120F0005022F0005223F000530FC59B -:10968000386840F2000240F480703860C4F2100282 -:109690001068526881B2C8E90402B1F5A06F08D120 -:1096A0003968C0F3074021F07F01084340F0800093 -:1096B0003860012588F80050D8F80820002ABDD06D -:1096C000002001219047B9E7B94656E90271356893 -:1096D0003868C0F3CE22D5E903309C1A2246F6F74B -:1096E00050FFD5E901022969002C2144296102EBD0 -:1096F0000401A96018BF88420CD14F46DDE9014939 -:10970000D8F808200125002A98D05FFA8AF00221B3 -:10971000904793E72A6894423FF476AFEDE700BFA5 -:1097200001255FEA8970C8F2000536D5022038624B -:1097300044F66440C2F20000D0E90831D0E90626C0 -:10974000194433449A424162C36107D1D8F80820D2 -:109750001AB38020042190471FE000BFD0F814C046 -:10976000D61A664588BF6646066240F20000C4F21B -:10977000100040303246F6F704FF43F60042C4F2D0 -:1097800010024FF600019068C0F2FF3101EAC621D5 -:1097900000F0F8400844284390605FEA097039D52A -:1097A0000820386244F66440C2F20000D0E9123169 -:1097B000D0E91026194433449A42C164436407D166 -:1097C000D8F8082032B381200421904722E000BF5E -:1097D000D0F83CC0D61A664588BF6646866440F21B -:1097E0000000C4F2100000F590603246F6F7C9FEA2 -:1097F00043F60042C4F210024FF600019069C0F235 -:10980000FF3101EAC62100F0F840084405F11101DA -:10981000084390615FEA896038D52020386244F6B9 -:109820006440C2F20000D0E91C31D0E91A26194484 -:1098300033449A424167C36606D1D8F808202AB358 -:1098400082200421904721E0D0F864C0D61A6645F2 -:1098500088BF6646066740F20000C4F2100000F5BB -:1098600048603246F6F78DFE43F60042C4F210021D -:109870004FF60001906AC0F2FF3101EAC62100F004 -:10988000F840084405F13101084390625FEA09603D -:1098900017D58020386244F66440C2F20000D0E957 -:1098A0002631D0E92426194433449A42C0F89C104A -:1098B000C0F8943024D1D8F8082012B183200421B4 -:1098C00090475FEA895041D54FF40070386244F602 -:1098D0006440C2F20000D0E93031D0E92E271944AB -:1098E0003B449A42C0F8C410C0F8BC3032D1D8F81A -:1098F00008205AB38420042103B0BDE8F04F10477C -:10990000D0F88CC0D61A664588BF6646C0F8986005 -:1099100040F20000C4F2100000F5A4503246F6F701 -:1099200030FE43F60042C4F210024FF60001906B85 -:10993000C0F2FF3101EAC62100F0F840084405F109 -:109940005101084390635FEA8950BDD403B0BDE87C -:10995000F08F00BFD0F8B470D41ABC4288BF3C4628 -:10996000C0F8C04040F20000C4F2100000F5E4501E -:109970002246F6F706FE43F60042C4F210024FF606 -:109980000001906CC0F2FF3101EAC42100F0F84000 -:10999000084405F171010843906403B0BDE8F08FFD -:1099A0000146002005F05ABE0A460146002005F097 -:1099B0005DBE000010B540F22C20C2F2000000781D -:1099C000E0B94FF6EC44C0F20004E06A8047C007FB -:1099D00018BF10BD47F67071C2F2000100204FF4AD -:1099E000007202F043FD012808DB0146626947F678 -:1099F0007070C2F20000BDE81040104710BD0000BA -:109A00007047000000207047014640F22C20C2F24F -:109A10000000D0F8172043690120C1F803200B6033 -:109A20007047000010B54FF6EC41C0F200018A68A3 -:109A300047F67540C0F200000C6990470220A0472D -:109A400040F2E1704FF6C852C0F20000C0F20002CE -:109A5000002101F0D3FE40F22C21C2F20001486047 -:109A600010BD000010B540F22C20C2F200000078BA -:109A7000002818BF10BD4FF6EC40C0F20000846A09 -:109A800018200021A047192000212246BDE81040DF -:109A9000104700000020704701207047B0B540F229 -:109AA0002C25C2F20005A968044621B9002001F066 -:109AB0004BF90146A86008464FF0FF3101F032F93A -:109AC000287801280CD1D4F803002168C5F81700C4 -:109AD00069610124A86801F049F92046B0BD00BFC2 -:109AE0002046F6F7BBFE0446A86801F03FF9204681 -:109AF000B0BD0000B0B540F22C24C2F20004606892 -:109B000001F08EFE002804BF002060604FF6EC409C -:109B1000C0F20000826AD0E9035419200021904766 -:109B20000020A0472846BDE8B0400047002070470D -:109B300000207047002070470020704700207047C9 -:109B400000207047002070470020704770470000D9 -:109B50007047000070470000704700000020704709 -:109B60000020704700207047002070470020704799 -:109B700000207047002070470020704770470000A9 -:109B8000704700007047000010B500281CBF00207F -:109B900010BD002003F0BEFF0446002002F0E4FFE9 -:109BA000002818BF0446204610BD000010B500284C -:109BB0001CBF002010BD002003F0FEFF0446002063 -:109BC00003F006FA002818BF0446204610BD000026 -:109BD0000020704700207047704700000020704749 -:109BE00070B540F2082504468007C2F200053AD558 -:109BF0000020012104F0ECFF42F26446C2F20006AC -:109C0000F8B168884002305C072807D140F2602034 -:109C1000C2F200000121017013E000BF6888012139 -:109C2000013068806888082804BF00206880E888C0 -:109C30000130E88040F20020C2F20000006801F02C -:109C40009FFDE8882989401A80B2082802D10120A6 -:109C5000287008E06888012106EB402200204FF4BC -:109C6000007304F0A1FF600758BF70BDE889298A1E -:109C7000884203D10120687070BD00BFA889A989FE -:109C800043F2644205EB4101C2F2000202EB4022C2 -:109C90004B8A00208121002404F0A8FFA88901300C -:109CA000A881A889082808BFAC81288A01302882A9 -:109CB00070BD0000400748BFFDF78ABA704700003A -:109CC0007047000070470000012818BF704780B53A -:109CD00040F2082E4FF0000C42F26442C2F2000E35 -:109CE0000020C2F2000201214FF400738EF800C080 -:109CF000BDE8804004F058BF7047000040F20820E3 -:109D0000C2F200000021012241808180C1800181D6 -:109D1000027041818181C1810182427070470000DF -:109D20007047000070470000B0B540F2BC35C2F289 -:109D300000052968044689B900F040FF44F6D35174 -:109D40008002C1F26201A0FB01014FF600408909C7 -:109D5000CFF6FF70B0FBF1F0C5E90010601C0228DF -:109D60000CD3B1F5806F09D06868A04231BF6FF0A5 -:109D7000010401FB04F000F2FF30840A2046BDE834 -:109D8000B04000F0F1BE00007047000070470000D6 -:109D900070470000002070470020704770470000A7 -:109DA00000207047704700007047000070470000B7 -:109DB000FFF7F8BF704700007047000070470000D1 -:109DC0007047000040F24820C2F20000407880074F -:109DD0005CBF4FF0FF30704744F20000C4F209004E -:109DE000016841F4803101600020704740F2482052 -:109DF000C2F20000407880075CBF4FF0FF30704730 -:109E000044F20000C4F20900016821F480310160CD -:109E10000020704740F24820C2F200004178C0683C -:109E2000890700EAE170704740F24820C2F2000062 -:109E3000407880075CBF4FF0FF30704744F200006D -:109E4000C4F20900016821F400310160002070476C -:109E500040F24820C2F200004078C0F340000138D0 -:109E600070470000704700000020704700207047D6 -:109E70000020704700207047002070470020704786 -:109E8000002070470020704770B587B0002306930C -:109E900005930493039300F00F035D00013504065E -:109EA0000290019158BF4500062B009206D30698F8 -:109EB000013006904FF0FF3007B070BD40F24820EF -:109EC000C2F200004078800706D405980130059062 -:109ED0004FF0FF3007B070BD4FF644605FFA85FC6D -:109EE000C0F2000000EB0C1420680568B5F1FF3FDC -:109EF0000EDDA58BB4F80CE0A5EB0E0595420FDA4C -:109F00000398013003904FF0FF3007B070BD00BFE1 -:109F10000498013004906FF0010007B070BD00BFDD -:109F2000A4680025456005602561E560A560656061 -:109F300025600CEB8C0444F664456FF3DF22C2F21B -:109F4000000545F82420026840F2FF74A24342EA6B -:109F50009E14046023B34FF6FF32CAF2FF3204EAC4 -:109F6000020505F1A04203290260A3D84FEA9E131F -:109F7000DFE801F00902080645F0A84202E000BF50 -:109F800044F0B842026022F08041426801604FF61E -:109F90000001CBF6FF711140194401F1804141608D -:109FA000012000FA0CF044F224016FF31F30C4F2D8 -:109FB000090141F8040C0A6810430860002007B04A -:109FC00070BD000000F00F035A0002F1010C020600 -:109FD00058BF4FEA400C052B06D840F24820C2F289 -:109FE00000004078800703D44FF0FF30704700BF77 -:109FF0004FF644624FEA0C10C0F20002105802689B -:10A00000002A44BF6FF00100704729B142F00051AF -:10A0100001600020704700BF022161F3DD62026031 -:10A020000020704710B508B110BD00BF0C46802954 -:10A030000EDDA4F18100022814D3832C1CD0842CC3 -:10A0400018BF10BD00208421BDE8104002F03ABBCB -:10A05000012C07D0042CE7D100200421BDE81040DA -:10A0600002F030BB0020214603F02CFD832C03D0EE -:10A07000842CE7D0D8E700BF00208321BDE8104042 -:10A0800002F020BB10B508B110BD00BF0C468029FE -:10A090000EDDA4F18100022814D3832C1CD0842C63 -:10A0A00018BF10BD00208421BDE8104002F056BB4F -:10A0B000012C07D0042CE7D100200421BDE810407A -:10A0C00002F04CBB0020214603F010FD832C03D08E -:10A0D000842CE7D0D8E700BF00208321BDE81040E2 -:10A0E00002F03CBBF0B581B000F00F077B001446D6 -:10A0F00010F0800203F1010308BF4300052F06D8CA -:10A1000040F24820C2F200004078800704D44FF0AB -:10A11000FF3001B0F0BD00BFD8B24FF64463C0F2CB -:10A12000000303EB00173D682868002824D4BE68AC -:10A1300030683161A042746038BF04460020B060CE -:10A140001AB178682246F6F71CFA2968B88940F2F5 -:10A15000FF72914341EA901040F2FF712860F46071 -:10A160002868C7F60041084064F3D92000F1004098 -:10A170002860002001B0F0BD6FF0010001B0F0BD1B -:10A1800010B500F00F014A00531C020658BF4300EF -:10A19000052906D840F24820C2F200004078800726 -:10A1A00002D44FF0FF3010BD4FF64461D8B2C0F278 -:10A1B000000101EB001C44F214014FF0010EC4F247 -:10A1C00009010EFA00F208696FF31F3220EA020457 -:10A1D000DCF800000C610468B4F1FF3F14DC0C688B -:10A1E0000EFA03F31C430C600C681C4208D00C6888 -:10A1F0001C4205D00C681C4202D00C681C42F3D1F2 -:10A20000036823F000430360DCF808300020C3E952 -:10A210000100D860CA600B691A430A6110BD0000D2 -:10A2200000F00F01052984BF00207047490001316B -:10A23000020658BF410001EB810044F66441C2F2BE -:10A24000000101EB800080687047000080B500F0DD -:10A250000F0251000131030658BF4100052A06D8FC -:10A2600040F24820C2F200004078800702D44FF04C -:10A27000FF3080BDC8B24FF644620101C0F2000257 -:10A2800051580A68002A44BF6FF0010080BD0122C6 -:10A2900002FA00F044F21402C4F209028646D2F82F -:10A2A00010C06FF31F3E2CEA0E0313610B68B3F16D -:10A2B000FF3F07DD00204FF0804348600B60C2F88D -:10A2C0000CE080BD13680343136000BF13680342B2 -:10A2D000F0D013680342EDD013680342EAD013684C -:10A2E0000342F3D1E6E700000020704740F2482027 -:10A2F000C2F200004078800751BF002044F2040001 -:10A30000C4F20900006848BF6FF3DF207047000007 -:10A3100040F20320C0F200107047000040F24822D3 -:10A32000C2F200025378DB0703D1C2E90101012028 -:10A33000507000207047000070B5022846D00028F9 -:10A340001CBF6FF0030070BD4EF20410CEF200008F -:10A350004FF40041C0F88010BFF34F8FBFF36F8FF1 -:10A36000C0F8801140F24820C2F200004178052474 -:10A3700001F0FD01C0F2020441702046FBF7D2F863 -:10A38000A01CFBF7CFF8601CFBF7CCF840F22820AC -:10A39000C4F20000016821F040010160016821F071 -:10A3A00020010160016821F08001016043F6004056 -:10A3B000C4F210006021F6F7FDF844F66440C2F2E2 -:10A3C0000000F021F6F7F6F8002070BD40F24826B4 -:10A3D000C2F200067078C10704BF4FF0FF3070BDB5 -:10A3E00080074FF000044FD442F20041C0F2F40164 -:10A3F0000020F6F7F7FA4FF0FF300021F6F7DAFA0F -:10A4000040F2282043F25002C4F200001021C4F2AE -:10A410000A024FF4002301601360156845F480358B -:10A420001560016248F23400C4F203004FF4801159 -:10A4300040F8344C036001600020C4F210004FF477 -:10A440008041F6F7B7F843F60045C4F210052846F8 -:10A450006021F6F7AFF844F2080040F20001C4F2C0 -:10A460000900C4F21001F460056041604FF0004142 -:10A47000C16170784FF4004140F0020070704EF2FC -:10A480000410CEF200000160204670BD40F2482169 -:10A49000C2F200014A7892070ED50A7862B1002212 -:10A4A0000A70D1E90423026043600878002818BFCD -:10A4B0004FF0FF30704700BF4FF0FF307047000093 -:10A4C000002818BF704780B5002003F063FB002010 -:10A4D000BDE8804002F012BD002804BF4FF0FF30FD -:10A4E000704770B540F2BC36C2F2000604463068D0 -:10A4F0000D4688B900F062FB44F6D3518002C1F2E8 -:10A500006201A0FB010188094FF60041CFF6FF71FF -:10A51000B1FBF0F1C6E90001691C02290CD3B0F5CA -:10A52000806F09D07168A94231BF6FF0010500FB4F -:10A5300005F000F2FF30850A20462946BDE870404C -:10A5400001F0A4B880B584B003460020012B03902D -:10A55000CDE90100009013D02BBB00291EBF0020C5 -:10A5600004B080BD45F66060C2F200000290102089 -:10A5700003906A460120012101F0C4F804B080BDB7 -:10A580004FF0000079B9092A0DD845F67060C2F283 -:10A59000000000EB02106A46029010200390012098 -:10A5A000012101F0AFF804B080BD000000280CBF0D -:10A5B0004FF0FF3001F094B87047000000280CBF46 -:10A5C0004FF0FF3001F0B0B8704700007047000056 -:10A5D000B0B58AB00C46054601A82421F5F7EAFF7C -:10A5E000042D4FF0000000F28F80DFE805F0031328 -:10A5F0008D2D5B00002C56D14DF6A91040F6C012EF -:10A60000C0F20000C0F20102002101F0F7F80AB028 -:10A61000B0BD00BF042C46D84FA004EB041146F295 -:10A62000200250F82400C2F2000202EB81010190E6 -:10A630004420022C0391049068D3032C68D0022C90 -:10A6400014BFC020402064E06CBB40F60C50C0F248 -:10A65000010050F8340004EB04110190442046F24C -:10A660007412049047F20020C2F20002C2F200000D -:10A6700002EBC10105904FF6EC50C0F200000391CF -:10A6800000EB041122018058496801AACDE90601B6 -:10A690004CF6D930C0F20000214601F0AFF80AB004 -:10A6A000B0BD00BF14B100200AB0B0BD600040F6DC -:10A6B0000C510130C0F2010151F8201000EB0012E2 -:10A6C00001914421049147F2002146F27413C2F231 -:10A6D0000001C2F2000301F5007103EB8202059153 -:10A6E0004FF6EC51C0F20001039201EBC00251F8A9 -:10A6F0003000516801AACDE906014CF24960C0F270 -:10A700000000214601F07AF80AB0B0BD002000E058 -:10A71000802046F60021C2F2000101EBC00001AA30 -:10A72000059040F69440C0F2010000EBC40150F8DF -:10A7300034004968CDE906014CF6CD40CCF6CC405A -:10A74000A4FB00014DF67D208908C0F2000001F055 -:10A7500055F80AB0B0BD00BF1C070100F9070100A1 -:10A7600016080100330801005008010000280CBF42 -:10A77000002001F005B87047B0B540F2BC35C2F218 -:10A7800000052968044689B900F018FA44F6D35147 -:10A790008002C1F26201A0FB01014FF6004089096D -:10A7A000CFF6FF70B0FBF1F0C5E90010601C022885 -:10A7B0000CD3B1F5806F09D06868A04231BF6FF04B -:10A7C000010401FB04F000F2FF30840A4FF6FF7031 -:10A7D0000021224601F000F8B0F1FF3FC8BFB0BD34 -:10A7E0006FF00101401A18BF0120C007B0BD000082 -:10A7F00000280CBF4FF0FF3001F012B87047000086 -:10A8000040F24821C2F20001487800F0FE02002028 -:10A810004A707047B0B501281ED000284ED140F2D2 -:10A820002C24C2F2000460680121217000F0F8FFBE -:10A83000002804BF002060604FF6EC40C0F200002A -:10A84000826AD0E903451920002190470020A847DB -:10A85000A0470020B0BD00BF4FF6EC41C0F20001A0 -:10A860008A6847F67540C0F200000C6990470220E4 -:10A87000A04740F2E1704FF6C852C0F20000C0F2AB -:10A8800000020021002400F0B9FF40F22C25C2F2A2 -:10A890000005A968686021B9002000F055FA01465A -:10A8A000A86008464FF0FF3100F03CFA05F11400B3 -:10A8B000F5F7D4FFA8682C7000F058FA0020B0BD5E -:10A8C00013460A46014602A0F8F770FF00BEFDE7F6 -:10A8D000415353455254204552524F522022202575 -:10A8E0007320223A2066696C652022257322204C51 -:10A8F000696E652022256422200A0000F5F76EFFAC -:10A90000F5F76AFF42F20000C4F20800F8F756FDBE -:10A91000F8F740FA002004F07FF9F9F725FB18B1A9 -:10A920000146002004F068FE002002F03BFF00BF5B -:10A93000002002F025FF0028FAD04EF20024C4F2D5 -:10A94000080420254FF4FA70C4F88050F8F766FF29 -:10A9500042F6B9504FF6C842C0F20000C0F2000201 -:10A960000021256000F04AFF40F20024C2F20004FA -:10A97000206047F2E9004FF6A452C0F20000C0F296 -:10A980000002002100F03AFF60604FF0FF3000F05D -:10A99000EBF800BFFEE70000022806D0012808D02F -:10A9A00088B90C488168C06806E00A4801684068B8 -:10A9B00002E0084801694069CA0709D049083A4AD3 -:10A9C0001160506070473848034901600349416095 -:10A9D000704700BFD8FC0900684E0C01983A80010E -:10A9E000B0F5747F05D24FF400314FF488400C224B -:10A9F0004BE0B0F57A7F05D84FF480214FF49840B2 -:10AA00000E2242E040F20241884205D24FF4C021BA -:10AA10004FF4B040112238E040F21B41884205D289 -:10AA20004FF400214FF4C84014222EE040F234418C -:10AA3000884205D24FF420214FF4D840162224E05A -:10AA400040F24D41884205D24FF440214FF4E84096 -:10AA500018221AE040F26641884205D24FF4602184 -:10AA60004FF4F0401B2210E040F27F41884202D2B6 -:10AA70004FF4801106E04FF4A011B0F5936F38BF8A -:10AA80004FF490114FF4F8401E2210B51043064ABF -:10AA900047F61F44D368A3431843D060106820F4DE -:10AAA000F0100843106010BD1000024021490A68F0 -:10AAB000D3074FEA520204BF47F6A062C0F2261243 -:10AAC0000969CB074FEA51034FF0020104BF47F673 -:10AAD000A063C0F22613934288BF1346164A9342DE -:10AAE000164A38BF0121934238BF0021022909D0FC -:10AAF00089B940F23341022840F27E4208BF4FF448 -:10AB0000966110E04FF47A71022840F2014208BFCA -:10AB100040F21A4107E04FF47A7140F24C420228A9 -:10AB200008BF40F27E41012808BF11460846FFF7E2 -:10AB300057BF00BF30FD0900A11D4B01A1DF01017E -:10AB4000FCF76AFE00F04EF84AF6FD00C0F2000085 -:10AB50000021002200F052FE00F018F8012808BF82 -:10AB600000F056F8FEE70000EFF3058129B9EFF396 -:10AB7000108111B9EFF3118111B16FF00500704729 -:10AB8000DFF804C000DF704745B80000EFF3058030 -:10AB900048B9EFF3108030B9EFF3118018B9EFF333 -:10ABA0001480C00702D10448007A7047DFF804C05F -:10ABB00000DF70475DB8000030000020EFF3058033 -:10ABC00028B9EFF3108010B9EFF3118010B10348EA -:10ABD00040687047DFF808C000DF7047D4FB000012 -:10ABE00069B8000080B500F0D8F8EFF3058028B907 -:10ABF000EFF3108010B9EFF3118010B16FF0050082 -:10AC000080BDDFF808C000DF80BD00BF75B8000060 -:10AC1000EFF3058028B9EFF3108010B9EFF311803E -:10AC200008B1FAF754BCDFF808C000DF704700BF76 -:10AC300071B90000F8B50546EFF3058014460E46DD -:10AC400028B9EFF3108010B9EFF31180F0B1D5B14E -:10AC50002878FA2817D16FF00300EEB1E3B928463F -:10AC6000FAF792FBC8B16A6A00F10C010746304658 -:10AC7000F5F787FC0CB1F87820703846FD6000F0DD -:10AC80004FFA0020F8BD6FF00300F8BD2846DFF84A -:10AC900010C03146224600DFF8BD6FF00200F8BD5B -:10ACA000F9B900002DE9F0410646EFF30580904622 -:10ACB0000D4628B9EFF3108010B9EFF3118018B3E7 -:10ACC000EEB13078FA281AD16FF00307CDB1C3B9CD -:10ACD00006F10C0000F0D4F8F0B1726A04460C30B2 -:10ACE0002946F5F74EFCF920002720702046C4E9DC -:10ACF000015684F80380A77000F012FA01E06FF0AB -:10AD000003073846BDE8F0813046DFF814C0294615 -:10AD1000424600DFBDE8F0816FF00207F1E700BFB7 -:10AD2000E5BB0000EFF305822AB9EFF3108212B9F8 -:10AD3000EFF3118212B16FF005007047DFF804C025 -:10AD400000DF704795BC0000EFF3058129B9EFF3F0 -:10AD5000108111B9EFF3118109B100207047DFF8BC -:10AD600008C000DF704700BF25BD0000EFF305817C -:10AD700029B9EFF3108111B9EFF3118111B16FF01F -:10AD800005007047DFF804C000DF704789BD000090 -:10AD9000FEE70000FEE7FFF7FBBF7047F0B5A8B184 -:10ADA000002379B3032A2DD803460F3153F8085FE7 -:10ADB00021F007012C46EE1A5D6825F00307F61B0B -:10ADC0008E4205D225682346002DF3D1002319E0D9 -:10ADD000D0E900760E444660384450F8047CB7420F -:10ADE0003EBF083846605D6845B125F00300114359 -:10ADF000C450184418600346416002E041EA020072 -:10AE0000586008331846F0BDB0B560B159B100F1D3 -:10AE10000804A1F108020023944206D025462468C4 -:10AE20002B46002CF8D10020B0BD51F8045C4468DA -:10AE300025F00305641B446013B11068186002E03C -:10AE4000002041F8040C0120B0BD18B102460843AF -:10AE5000400701D000207047002018290FD310B5FB -:10AE60008B18A3F10804946043F8080C102493682D -:10AE7000C2E900145C60D0600120BDE8104070475A -:10AE800010B5002817D0014600F1140252E8000F57 -:10AE900010B9BFF32F8F04E0036842E8003404B117 -:10AEA000F4E740B1043151E8002F531C41E800346D -:10AEB00004B1F8E710BD002010BDB0B500281ED0C9 -:10AEC000C2688A421BD802698A4218D900F114026A -:10AED00013680B60BFF35F8F52E8003F0C689C4221 -:10AEE000F6D142E8001505B1F2E7043050E8001F42 -:10AEF0004A1E40E8002303B1F8E70020B0BD6FF020 -:10AF00000300B0BDB0B598B191B18AB1044600203C -:10AF10009BB1C4E9001004F1080002FB0135636134 -:10AF20002CC0481E30B19918196001380B46F9E75A -:10AF30000020B0BD002018600120B0BDF8B5044667 -:10AF4000807848B3E56821462846FAF769FA05F1A2 -:10AF50000C060020207021463046FFF7AEFFA8689F -:10AF6000C8B13046FFF78CFFA8B10446284600F070 -:10AF700038FAFAF7A6FA304600F092FA81680646E7 -:10AF80006A6A04F10C00F5F7FCFAF920A77020704A -:10AF9000F068E07021E0F8BDA568A868E8B14078E5 -:10AFA00083281AD1284600F01CFAFAF78AFA3046AC -:10AFB00000F076FA064680686A6A04F10C01F5F73B -:10AFC000E0FAF06808B1E1780170277005F10C0033 -:10AFD0002146BDE8F840FFF770BF28462146BDE88E -:10AFE000F840FAF7F1B9000080B507480821D0E928 -:10AFF0001A2000F06BFDF249C8640021002808BF48 -:10B000004FF0FF31084680BDD4FB00002DE9F04130 -:10B01000044600274FF00108D4B125466469E8785A -:10B020000007F9D5A8682F760028F5D0284600F04B -:10B03000D8F900210022064600F07CFAF06AC5E942 -:10B040000367686100B1056185F81880F562E3E780 -:10B05000BDE8F081B0B5C278920715D5C068C36A63 -:10B0600090F821209C688C4208BF8C682CB194F920 -:10B07000204055B2AC42C8BFE2B25B69002BF1D1AF -:10B0800090F82010914200D1B0BD80F82020BDE89A -:10B09000B04000F0D5B90000B0B5C94CB4F85400C8 -:10B0A00004F15601D1E85F2F12B9BFF32F8F04E0EE -:10B0B000531EC1E8553F05B1F4E711042BD004F14C -:10B0C0005A01D1E85F2F531C984200D80023C1E8F1 -:10B0D000553F05B1F5E790B2E16D51F82000D0B1D0 -:10B0E0000178F1390829D9D8DFE801F0060509050A -:10B0F000050C0F051200D1E7216E8847CEE7616E7F -:10B100008847CBE7A16E8847C8E7E16E8847C5E767 -:10B11000216F8847C2E70020BDE8B04000F0FEB8CC -:10B1200070B50146F34800F15603B0F85420D3E857 -:10B130005F4FA24202D8BFF32F8F04E0651CC3E823 -:10B14000565F06B1F3E7A3B2934214D200F158035D -:10B15000D3E85F4F651CAA4200D80025C3E8565FBC -:10B1600006B1F5E7A2B2C36D43F82210417A39B1B6 -:10B170000121817270BD0220BDE87040FFF70BBE57 -:10B1800002484FF08051016070BD00BF04ED00E047 -:10B1900010B58168B1B100F10C01D1E85F2F12B98F -:10B1A000BFF32F8F04E0531EC1E8543F04B1F4E70E -:10B1B000110407D000F015F900210022BDE810406D -:10B1C00000F0B8B910BD000010B5012190F9203091 -:10B1D0004170D7491C310A46896841B191F9204034 -:10B1E0009C42F8DCC0E902120C31906004E00021BE -:10B1F000C0E9021202F10801086010BDB0B54A1C96 -:10B200000DD0F54A00232C3215462C68E4B1E569CF -:10B21000A94221D3491B04F110052346F5E7F5495E -:10B22000002301F1300214461946236803F110048B -:10B23000002BF9D14FF0FF33C3610023C0E9043183 -:10B24000C1B101F1100215E0C161002BC0E9044356 -:10B2500018BF03F110020DE0002BC0E90443C161E7 -:10B2600018BF03F1100210602CB1E269511AE161BC -:10B2700004F114021060B0BDC2690169531C0AD008 -:10B2800021B143694B61CB691A44CA6142693AB939 -:10B29000D84AD16207E009B142694A6142692AB1DC -:10B2A0000023116143610021C1617047F64A1163B7 -:10B2B000F9E700BF70B5F44DEC6A1CB1E0690138E4 -:10B2C000E06100D070BD042660781338B6EB301F03 -:10B2D00005D1204600F0AEF82146FFF7BBFE204620 -:10B2E00000F09EF8204600F0D3F8246924B1E0690C -:10B2F0000028E9D000206061EC6270BDC178C90708 -:10B3000008BF00F033B80021C16004214170DE495C -:10B310004A6B826002B1D0604863704770B5DA4E04 -:10B3200005467469307A65B1022805D194F9200088 -:10B3300095F92010814211DC2846BDE8704000F0EC -:10B34000A7B8022810D1756A75B194F9200095F953 -:10B350002010814208DD284600F062F82046FFF701 -:10B3600033FF0220B561687070BD00BF10B50446A0 -:10B3700000202080A07881070DD5C00605D4C248E2 -:10B38000216B406FFFF740FD05E0BF48216BD0F80F -:10B390008400FFF792FDA078C00708BF10BDBA492E -:10B3A000D1F8880020B12146BDE81040FFF785BDE7 -:10B3B000D1F880002146BDE81040FFF725BD00BF51 -:10B3C0003000002010B50446806918B10021002229 -:10B3D00000F0B0F86078232802BFA06800218161E6 -:10B3E00010BD0146806882688A6002B1D160002188 -:10B3F000C160704710B591F920300246806840B1B5 -:10B4000090F920409C42F8DAC1E902020C309160C8 -:10B4100004E00020C1E9020202F10800016010BD51 -:10B42000C16831B182688A60826802B1D16000214E -:10B43000C16070470178F12918BF7047C068F9E70B -:10B44000B0B50446054625B12878F12802D1ED684B -:10B45000F9E7B0BD2046FFF7E3FF28462146BDE8E7 -:10B46000B040FFF7C7BF10B50446407833280DD170 -:10B4700094F823202046616AFCF7A5FB30B1014611 -:10B4800020460022BDE8104000F054B810BD000076 -:10B49000014601204870F3481C30FFF7ABBF00BFE6 -:10B4A00090F82210C9064FF0200158BF6021806B30 -:10B4B0000844704770B5EE4C00210A48A26D666ED4 -:10B4C00000F0F0FDE74DA86246B1B04740B9E96C25 -:10B4D000D4E9172000F0E6FDA86408B1012070BD92 -:10B4E000002070BD95AD0000DE49886102214170E9 -:10B4F000704700BF3000002010B5DA4C227A022AD3 -:10B5000014D1626A92B1626950701046FFF776FEFC -:10B51000606A8168616211B104F11C02CA60022193 -:10B52000A06141700021C160012010BD002010BD4C -:10B5300030000020B0B5044690F822001546C00641 -:10B540004FF0200058BF6020A26B81502046FFF7CB -:10B5500093FE2046002DBDE8B04008BFFFF798BF1E -:10B56000FFF7DCBEB0B5F9F769FFFF4DE8680130C1 -:10B57000E860FFF79FFE0020FFF7D0FE286D00B1C6 -:10B580008047296C71B1A869EA6B904205D0C26905 -:10B59000E86322B9C1610A4601E0C2691AB1511ECD -:10B5A000C16100D0B0BD297A0229FBD16C6A002CA0 -:10B5B000F8D090F8200094F820108142F2D1204673 -:10B5C000FFF72EFFE86BFFF763FF2046FFF78CFFC6 -:10B5D000286CEC63E061B0BD3000002080B5FFF75F -:10B5E00003FD10B14FF0FF3080BDDF480249016517 -:10B5F000002080BD300000201DB6000082B004464F -:10B600006D462046294600224FF0FF33FFF712FB1C -:10B610000028F6D1DDE900108847F2E72DE9F04176 -:10B62000F14D6C6C74B36E694FF0010820690138FC -:10B63000206134B3206920BBE06808B1A168816053 -:10B64000686404F11801E86C00220023FFF72AFB6C -:10B6500060B1D5E90570214668610320FFF79BFBC7 -:10B66000696986EA0700084308BF0646E0780128B2 -:10B6700011BF84F8018061692046FCF7D7FA6C6C31 -:10B68000D7E76E61BDE8F08130000020EFF305825E -:10B690002AB9EFF3108212B9EFF31182CAB16FF039 -:10B6A0000302A0B199B90178F62910D10C30D0E885 -:10B6B0005F1F11B9BFF32F8F04E04A1EC0E8532F5C -:10B6C00003B1F4E70022080408BF6FF0020210463D -:10B6D0007047DFF808C000DF704700BF39BE0000C8 -:10B6E000EFF3058129B9EFF3108111B9EFF311815F -:10B6F00011B16FF005007047DFF804C000DF70473C -:10B7000091BE0000EFF305832BB9EFF3108313B95B -:10B71000EFF311830BB100207047DFF808C000DFA2 -:10B72000704700BFF1BE000010B50446EFF305807E -:10B7300028B9EFF3108010B9EFF3118090B15CB12C -:10B740002078F62808D12046FBF787FD38B120463F -:10B75000FFF7E6FC002010BD6FF0030010BD6FF096 -:10B76000020010BD2046DFF808C000DF10BD00BF9A -:10B770006DBF0000DFF804C000DFFEE7A5BF0000DA -:10B78000B0B5EFF305822AB9EFF3108212B9EFF3E7 -:10B790001182DAB16FF00304B0B1002914D4027839 -:10B7A000F12A11D14278042A02D16FF002040BE091 -:10B7B00000F1280252E8003F43EA010442E8004554 -:10B7C00005B1F7E7FFF7ACFC2046B0BDDFF804C0D9 -:10B7D00000DFB0BDF1BF0000EFF305832BB9EFF33D -:10B7E000108313B9EFF311830BB1F9F767BEDFF8DC -:10B7F00008C000DF704700BF59C00000EFF30583A9 -:10B800002BB9EFF3108313B9EFF311830BB10020C1 -:10B810007047DFF808C000DF704700BFA5C0000018 -:10B82000EFF3058129B9EFF3108111B9EFF311811D -:10B8300009B1F9F743BEDFF808C000DF704700BF69 -:10B8400091C2000030B180B501461320FFF754FECD -:10B85000013880BD6FF0030070470000DF48007AB8 -:10B86000704700BF3000002061484068704700BF4B -:10B87000D4FB00002DE9F843DFF8988A98F8080017 -:10B8800028B101286CD04FF0FF30BDE8F883584F45 -:10B89000D7E90B41388AA8F85400D7E90202C8F862 -:10B8A00040002046C8F85C20FFF7CFFA08B1C8F87E -:10B8B0008040D7E90541DFF8B490D7E90756204624 -:10B8C000C847D8F88010002818BF2146C8F874105F -:10B8D00028463146C847D8F88010002818BF2946A6 -:10B8E000C8F87810D7E909412046C847D8F8801031 -:10B8F000002818BF21467C6BC8F87C101CB1F9F7F2 -:10B90000D7FDC8F88440BC6B1CB1F9F7D1FDC8F86D -:10B910008840FC6B1CB1F9F7CBFDC8F88C403C6C3F -:10B920001CB1F9F7C5FDC8F890407C6C1CB1F9F763 -:10B93000BFFDC8F89440BC6C1CB1F9F7B9FDC8F85C -:10B940009840FC6C1CB1F9F7B3FDC8F89C403C6D05 -:10B950001CB1F9F7ADFDC8F8A040012088F8080037 -:10B960000020BDE8F88300BF300000204BAE00008F -:10B97000B0B5EB4C207A01281CD1FFF79BFDC8B174 -:10B980001A48FF211A4D8175817D026881F0FF01FF -:10B99000B1FA81F1C1F12001C2F302228A4228BF2B -:10B9A000511CFE2202FA01F1C17468681149F9F7CD -:10B9B0005FFD10B14FF0FF30B0BDF9F755FD2061CC -:10B9C000F9F740FD04F11C00FFF70BFDFFF78CFDBC -:10B9D0002878C0070CBF0320022080F314880220BF -:10B9E00020720020B0BD00BF300000200CED00E050 -:10B9F000D4FB0000050500002DE9F04100284AD0E5 -:10BA000004460078FA2846D10E46002943D0204645 -:10BA10001D469046F9F7B8FC002841D0074620465D -:10BA20003946F9F7FDFC626A07F10C013046F4F77C -:10BA3000A8FD04F10C06B8F1000F1CBFF87888F8D7 -:10BA400000000025304639463D70FFF736FAA06801 -:10BA500018B33046FFF714FA0025F0B10646204629 -:10BA6000FFF7BFFC002101220746FFF763FD3846C0 -:10BA7000FFF716FD81680746626A06F10C00F4F7CD -:10BA800080FDF92031463070F868F0702046B570BE -:10BA9000F9F79AFC01E06FF003052846BDE8F08154 -:10BAA00085B183202946FFF727FD40B1F74841695A -:10BAB0002046FFF79FFCEFF30980C0E902686FF0B2 -:10BAC0000105EAE76FF00205E7E700BF2DE9F84F4F -:10BAD00048B10D4639B10446B0FA80F0B5FA85F1A7 -:10BAE0000844202803D200263046BDE8F88F05F12F -:10BAF0000F0020F0030808FB04F95AB19668D2F849 -:10BB000000A0D2E904707EB1B107ECD1D16834292C -:10BB1000E9D30CE04FF0000A0027F449D1F8A00067 -:10BB200058B1FFF7ADF90EE0D1680029DBD157B36A -:10BB3000B907D8D14845D6D327E0D1F880003421C1 -:10BB40000122FFF72BF906464FF0010B67BB5EB3EE -:10BB5000CDF800A04946DFF8BCA70022DAF87C0047 -:10BB6000FFF71CF9074620B138464946F4F722FD95 -:10BB700016E0BBF1000F12D0DAF8A00050B1314648 -:10BB8000FFF79BF90BE00028ADD1002EC5D04FF098 -:10BB9000000BDBE7DAF880003146FFF735F90026C5 -:10BBA000DDF800A00BF1020B002E3FF49DAF00204A -:10BBB0002146C6E909504246C6E90B003B46C6E9A4 -:10BBC00001A0FA20307006F10C0086F802B0FFF7F1 -:10BBD00099F9E4480249016786E700BF3000002078 -:10BBE0003DAF00002DE9F04120B305460078FA286A -:10BBF00020D10E46F1B1A8681F469046F8B14078B2 -:10BC000083281CD12846FFF7ECFB002101220446C3 -:10BC10000027FFF78FFC2046FFF742FC04468068B0 -:10BC20006A6A3146F4F7ADFCE06828B180F800801C -:10BC3000002701E06FF003073846BDE8F08105F109 -:10BC40000C00FFF71DF980B16A6A04460C303146DA -:10BC5000F4F797FCF920002720702846214684F845 -:10BC60000380A770F9F7B0FBE6E787B19320394668 -:10BC7000FFF742FC40B1DD4841692846FFF7BAFBB7 -:10BC8000EFF30980C0E902686FF00107D4E76FF0B5 -:10BC90000207D1E770B50446D44845694DB32CB3CB -:10BCA0002078F52822D1207E30B30E46E178CA07ED -:10BCB00002D0E268AA422BD066B388070AD5E068B2 -:10BCC00095F9201090F920208A42BCBF80F82010FE -:10BCD000FFF7B6FB53203146FFF70EFC18B12046A4 -:10BCE0002946FFF787FB6FF0010070BD6FF003007E -:10BCF00070BD4FF0FF3070BD0020C4E90350E86A0A -:10BD0000606100B104610120EC622076002070BD0A -:10BD1000FF2802D16FF0020070BD0130F5E700BFCF -:10BD20003000002070B550B18468D0E900657CB166 -:10BD3000A10710D1C16800201C2917D270BD0025B1 -:10BD40000026D749D1F8940038B1FFF799F80AE0F6 -:10BD5000C0680028F5D0002070BDD1F880001C21FB -:10BD60000122FFF71BF8044658B10120A070F5200E -:10BD7000207004F1080011216660E570F4F71AFCE8 -:10BD800000E00024204670BD70B50446C4484069F8 -:10BD900070B154B12178F52907D1217E11B1E26843 -:10BDA000824209D06FF0020404E06FF0030401E066 -:10BDB0004FF0FF34204670BD01392176090601D0CD -:10BDC0000024F7E7616909B122690A6100F12C02D8 -:10BDD00023691546002B18BF03F114052960E1788B -:10BDE00089070FD590F8211012684AB193682BB1DA -:10BDF00093F920304DB2AB42C8BF19461432F3E775 -:10BE000080F82010A06888B12046FFF7EAFA0021E8 -:10BE1000002205460026FFF78DFBE86AC4E90356B9 -:10BE2000606100B104610120EC62207600200024F2 -:10BE3000FFF774FABEE700BFB0B508B30446007858 -:10BE4000F6281DD104F10C00D0E85F2F12B9BFF322 -:10BE50002F8F04E0531EC0E8553F05B1F4E71004EE -:10BE60001CBF0020B0BD71B16320FFF745FB20B1BE -:10BE70008B4841692046FFF7BDFA6FF00100B0BD65 -:10BE80006FF00300B0BD6FF00200B0BD30000020C5 -:10BE900010B500B304460078F6281CD1A06868B13C -:10BEA0002046FFF79EFA6FF002010022FFF742FBE7 -:10BEB000A0680028F4D10020FFF730FAA178002014 -:10BEC0002070C90710D0ED49D1F8980030B1214653 -:10BED000FEF7F3FF07E06FF0030010BDD1F880001C -:10BEE0002146FEF791FF002010BD00BF300000206A -:10BEF00070B50C46002198B30546B1EB104F2FD119 -:10BF0000AC4215D84AB19068166870B181070FD15C -:10BF1000D2680021102A15D222E00026FD49D1F86E -:10BF2000980038B1FEF7ACFF0AE0D0680028F5D0E1 -:10BF3000002115E0D1F8800010210122FEF72EFF2C -:10BF400060B101218170F62101700022F149C0E940 -:10BF50000162054AC58184818A6600E000200146AD -:10BF6000084670BD3000002091B1000010B560B1EE -:10BF70000178F62909D1816859B1FFF732FA002119 -:10BF800001220024FFF7D6FA01E06FF003042046F7 -:10BF900010BDFBF762F90021002808BF6FF0020115 -:10BFA000084610BDB0B5DB4D287A02281DD1686A5D -:10BFB000D8B16C69E06AFFF729F82046FFF702FA6A -:10BFC000686A8168696211B105F11C02CA600221C8 -:10BFD000A86141700021C160EFF30980A063204691 -:10BFE0006961BDE8B040FFF789B9B0BD30000020FD -:10BFF000B0B56FF0030460B300292AD40546007879 -:10C00000F12826D16878042802D16FF0020420E0DC -:10C0100005F1280050E8002F42EA010440E80043FF -:10C0200003B1F7E76878332813D195F82320284621 -:10C03000696AFBF7C8FD60B1014695F823000C461C -:10C0400080075CBF686A21EA000428460122FFF7E6 -:10C0500071FA2046B0BD0000F8B50546AD48476905 -:10C0600057B1002D0BD40E461446384629463246A9 -:10C07000FBF7A9FD30B1F8BD4FF0FF30F8BD6FF010 -:10C080000300F8BD4CB13320214687F823607D6260 -:10C09000FFF732FA6FF00100F8BD6FF00200F8BD53 -:10C0A000300000202DE9FE4F002800F08780054673 -:10C0B0006AB102F110099668D2E9007399E8100399 -:10C0C000C6B1B0077AD1D068442816D276E04FF0D6 -:10C0D000010B4FF01809002300244FF0000800273F -:10C0E0008C4A0293CDE90017D2F88800A8B1FEF778 -:10C0F000C7FE18E0D068002860D124B160075DD188 -:10C10000B8F1000F5AD0B9F1000F3BD0B9F1010FCF -:10C1100054DBB9F1380F37DD50E0D2F8800044210C -:10C120000122FEF73BFE06464FF0010A0027002CD5 -:10C1300053D1002E51D0BBF1000F0DD0754850499E -:10C14000D0F88400D1F8548030B1FEF799FE60B188 -:10C1500004460AF1100A3EE06E4841460022406F54 -:10C16000FEF71CFE08B1044635E01FB14FF0000A8F -:10C1700000242FE06749D1F8880018B33146FEF754 -:10C180009CFE24E04FF01809B8F1000F08D05FEAD8 -:10C19000487013D1B8F1480F10D3B8F1000F0DD487 -:10C1A000B8FA88F0002E4FEA501B3FF499AFCDE962 -:10C1B00000174FF0000A02930127B8E70026304627 -:10C1C000BDE8FE8FD1F880003146FEF71DFE002449 -:10C1D0004FF0010A00264AF0020A002EEFD0019823 -:10C1E000182170600298F07040F2F110308006F172 -:10C1F000080086F802A0F4F7DDF904EB080100203E -:10C200004039C6E90E151F49FD22C6F82300C6F8BD -:10C210002700C6F82B0086F82F00C6E90C482160DD -:10C220001749009F86F82220097886F8219049074F -:10C2300086F8209015D4B16B00220D2A03D041F866 -:10C2400022000132F9E74FF080700F4AC86331488D -:10C25000C1E90D250F620D4901663046FFF75EF812 -:10C26000ADE76FF01001221D01EB98014FF0CC33C8 -:10C270000029E0D008C20139FAE700BF30000020F1 -:10C28000D4FB0000A52E5AE275B7000067B4000089 -:10C2900010B5A0B1F9F72BF911D1607800F00F00BB -:10C2A00001280ED0032810D0022805D11948017AA0 -:10C2B000022901D1406A50B96FF0020010BDF9F7B0 -:10C2C00009B92046FFF7ACF801E0F9F706F9E06A92 -:10C2D000FEF79CFE2046FFF775F86078022811D122 -:10C2E0000C48416A8A68426212B100F11C03D360B3 -:10C2F000022281614A700022CA60EFF30981A163C2 -:10C30000426102E00020FFF709F82046FEF7F6FF41 -:10C31000002010BD30000020002070470020704732 -:10C320002DE9F0411E46174688460546002400F0D8 -:10C33000A5F940B9054850F8253023B132463946B1 -:10C340004046984704462046BDE8F0810CFF0000B7 -:10C3500070B50546002400F091F9C0B90D480E49AA -:10C3600050F82500007E51F8200086680B4850F8F0 -:10C37000251061B10A488847040008D008480938E8 -:10C3800050F8091F31608188B1808079B0712046F2 -:10C3900070BD0000080D01006C0D010010FF0000D1 -:10C3A000190000200020704770B50E460546002495 -:10C3B00000F064F970B90848084950F8250051F8B0 -:10C3C00025203AB1007E064951F8200031468068A8 -:10C3D00090470446204670BD080D01001CFF000078 -:10C3E0006C0D01000020704770B50E460546002414 -:10C3F00000F044F960B9074850F8251041B13046C3 -:10C400008847040004D0044850F825004069068598 -:10C41000204670BD20FF0000080D010070B50546E4 -:10C42000002400F02BF9B0B90C480D4950F8250054 -:10C43000007E51F820000B49806851F8251051B159 -:10C44000094A0368C2F802308388D3808079107269 -:10C45000901C88470446204670BD0000080D01006E -:10C460006C0D010024FF0000100000202DE9F05F9A -:10C4700014468B46814600F001F9B8B9384951F8A5 -:10C4800029603849307E756951F82000C06890F8FD -:10C49000950006EB4000B0F828A0707E28B1B07E71 -:10C4A00038B1A878002857D147E027204042BDE89E -:10C4B000F09F296AA869401A29D0844200D904460D -:10C4C000E9697068738C0A1AA3EB0A00801A804627 -:10C4D000274644450CD302465846F4F752F8706894 -:10C4E000E861296AC34401EB0800A7EB080728624A -:10C4F00057B13A465846E969F4F743F8E8693844D1 -:10C50000E861286A38442862A87810B125E0002440 -:10C51000FAE7296AA869401A718C091AB1EB4A0F27 -:10C520001BD30220A870F17F000240EA01310E48BF -:10C5300050F82900FEF71AF90FE0296AA869401A95 -:10C540000AD0844200D90446224658466969F4F765 -:10C5500018F8A8692862E4E700242046A7E700004D -:10C56000080D01006C0D0100009300202DE9F05F23 -:10C5700014468946824600F081F870B9304951F876 -:10C580002A60707E756938B1B07E4FF0020B38B109 -:10C59000287898B3002445E027204042BDE8F09F6A -:10C5A0002969A868401A318C081A28D0844200D919 -:10C5B0000446326868682746121A02EB01084146B1 -:10C5C00044450CD30A464946F3F7DBFF3068686000 -:10C5D000A968C14401EB0800A7EB0807A86057B1A0 -:10C5E0003A4649466868F3F7CCFF686838446860A3 -:10C5F000A8683844A860287818B113E014E0002433 -:10C60000F9E72969A86888420CD000BF85F800B016 -:10C61000B17F4FF4806040EA01310A4850F82A00A7 -:10C62000FEF7A4F82046B9E7308CA04200D20446B9 -:10C63000224649466868F3F7A4FFAC60E6E70000CD -:10C64000080D01000093002070B5C4B2204600F030 -:10C6500015F8002811D1451E2846FEF78DF8010176 -:10C66000FAD4060AB00702D5204600F09FF97007F9 -:10C67000F2D5204600F09AF8EEE770BD0D49097832 -:10C68000884212D20C4951F8200070B1416961B161 -:10C690000A49007E0978884209D2094951F82000E8 -:10C6A00028B1C06818B100207047272070472120AA -:10C6B00070470000040D0100080D0100680D010025 -:10C6C0006C0D01002DE9F0410D460646FFF7D6FF3F -:10C6D000002838D11D481E4950F82640207E676941 -:10C6E00051F82000617FC06841F08001A9422AD042 -:10C6F000E17FA94227D0617E01291AD01548656BD8 -:10C7000050F8260000B1804794F82C0001281AD078 -:10C71000608CA84217D30220B870E07F4FF40071FC -:10C7200041EA00310C4850F82600BDE8F041FEF720 -:10C730001DB8A17E09B1658CEAE790F8950004EB7D -:10C740004000058DE4E7BDE8F0810000080D010020 -:10C750006C0D01007CFF0000009300202DE9F041EA -:10C760000E460746FFF78AFF002818D10D484FF004 -:10C77000000850F82740E07F6569B04208D185F88D -:10C780000280607E20B9084850F8270000B1804739 -:10C79000A07F40F08000B04201D185F80080BDE864 -:10C7A000F0810000080D010080FF00002DE9F84F26 -:10C7B0008346FFF763FF00287DD1784951F82B505D -:10C7C0007749287E6C69009051F82000C06890F885 -:10C7D000950005EB4000B0F828802078012809D0AA -:10C7E00000206A7E01210026012A0AD02278012A2F -:10C7F0006FD0A4E0A87F40F08001009801F05EFCBB -:10C80000EFE7AA7E002A227802D0012A56D05CE007 -:10C81000012A18D1B0B1E2680244E2602B8C2F6883 -:10C820001F44974201D8D21AE26022690244226171 -:10C83000A368934207D1B0FBF8F308FB130010B9CB -:10C84000617000E066702269A068871A404647451B -:10C8500000D9074660784FF0FF3977B100B16670B4 -:10C860006268E068904209D32B8C2A681A44C31985 -:10C870009A4203D2A2EB000900E0E8B12170D5F89A -:10C880000CA0E168B84648464F4507D302465046DB -:10C89000F3F777FE2968CA44A8EB0908B8F100004D -:10C8A00003D002465046F3F76CFEA87F3B4640F0AB -:10C8B0008001EA6819E06EE026701EE060B1B0FB0E -:10C8C000F8F308FB1300A66020B1607828B10023BC -:10C8D00006E014E06170FAE76670A368002BEBD005 -:10C8E0002170A87F626840F08001009801F01AFB77 -:10C8F0000028E1D1207800284DD12A4843E0E8B152 -:10C9000095F82C20A2B995F82D3022695B1E1A40AB -:10C9100004EB82029665E2682B6B1344E3602F8C74 -:10C920002A6817449F4200D8E2602269521C2261A3 -:10C93000A8F10102104202D1617000E066706078D7 -:10C94000002388B995F82C0018B92269A068904294 -:10C9500002D12078022810D195F82D202069521E8E -:10C96000104004EB8000836D2170A87FE26840F0E6 -:10C970008001009801F0D6FA08B1267002E0207814 -:10C98000002808D1084850F82B00002803D001B037 -:10C99000BDE8F04F0047BDE8F88F0000080D01002A -:10C9A0006C0D010008FF000050FF00002DE9F14F61 -:10C9B00082B00298FFF762FE00287CD16649029897 -:10C9C00051F820506C69287E0090A078012809D089 -:10C9D0000026687E4FF00009012809D0A0780128C0 -:10C9E00076D08BE0E97F009801F068FB0646F0E71F -:10C9F000A87E28B1A078012845D002284BD055E068 -:10CA00005649009851F82000C06890F8950005EB51 -:10CA10004000008D0190A078012824D11EB36769E1 -:10CA200068686A8C391A0198D5F810B0101AA0EB12 -:10CA3000010AB046504656450BD302465946384681 -:10CA4000F3F79FFDA8EB0A006F68D3445FEA000884 -:10CA500005D0424659463846F3F793FD474467618F -:10CA6000A0693044A061216AA069401A698C091A42 -:10CA70000198B1EB400F17D30120A070DDE900034E -:10CA8000E97F2A690DE0002E63D084F80290A06946 -:10CA90003044A0610CE00120A0706B8CE97F6269DA -:10CAA000009801F03FFA08B184F80290002E50D0AF -:10CAB0002B48029901E04CE00AE050F821100029CF -:10CAC00047D0226AA06903B0801ABDE8F04F08473A -:10CAD000A6B195F82E10A069491E084004EB80000D -:10CAE00006666069696B014461616A8C686802442A -:10CAF0008A4200D86061A069401CA06195F82C00B2 -:10CB0000012801D038B116E0A078022813D1012005 -:10CB1000A070236D09E0216AA069401A95F82E10D3 -:10CB2000884208D20120A0706B6BE97F626900988F -:10CB300001F0F8F908B184F80290002E09D00948F4 -:10CB4000029950F82100002803D003B0BDE8F04F4F -:10CB50000047BDE8FE8F0000080D01006C0D0100CC -:10CB600004FF000054FF000070B50446FFF786FD87 -:10CB7000050025D1134850F82400407E01280AD032 -:10CB8000114800BF50F8240000B180470F4E56F8FE -:10CB9000240010B108E00E48F4E721460320FDF719 -:10CBA00017FD46F8240050B10A4E56F8240038B953 -:10CBB00021460420FDF70CFD46F8240000B910259D -:10CBC000284670BD080D01004CFF0000889300202E -:10CBD00014FF0000009300202DE9F047C6B2304654 -:10CBE000FFF74CFD00282FD14FF0FF3900274846B2 -:10CBF000FDF7C2FD0101FAD4000A4007F7D530461F -:10CC0000FFF73CFD0028F2D1104951F826506C691D -:10CC100095F81880E078012808D1687F40F08001FD -:10CC2000404601F04BFAE178012909D00120E0707B -:10CC3000687F636A40F080014046AA6801F072F99B -:10CC40000028D4D0E770D2E7BDE8F087080D0100D6 -:10CC500070B50E4605460024FFF710FD30B90448B4 -:10CC600050F8252012B1304690470446204670BD4A -:10CC70002CFF00002DE9F04116460F460546002422 -:10CC8000FFF7FCFC38B9054850F825201AB13146A9 -:10CC90003846904704462046BDE8F08130FF00004A -:10CCA0002DE9F04116460F4605460024FFF7E6FC45 -:10CCB00038B9054850F825201AB131463846904712 -:10CCC00004462046BDE8F08134FF000070B50E46F2 -:10CCD00005460024FFF7D2FC30B9044850F825205F -:10CCE00012B1304690470446204670BD38FF000020 -:10CCF00070B50E4605460024FFF7C0FC30B9044865 -:10CD000050F8252012B1304690470446204670BDA9 -:10CD10003CFF000070B50E4605460024FFF7AEFC50 -:10CD200030B9044850F8252012B1304690470446E7 -:10CD3000204670BD40FF000070B50E460546002439 -:10CD4000FFF79CFC30B9044850F8252012B130465A -:10CD500090470446204670BD44FF000070B50E4663 -:10CD600005460024FFF78AFC30B9044850F8252016 -:10CD700012B1304690470446204670BD48FF00007F -:10CD800070B50D4606460024FFF778FC68B90848E0 -:10CD900050F8261049B128468847040005D00548B8 -:10CDA00050F82600406980F82B50204670BD0000E6 -:10CDB0005CFF0000080D01002DE9F04116460F460A -:10CDC00005460024FFF75AFC38B9054850F82520DD -:10CDD0001AB131463846904704462046BDE8F081F6 -:10CDE00060FF000070B50E4605460024FFF746FCC4 -:10CDF00030B9044850F8252012B130469047044617 -:10CE0000204670BD64FF00002DE9F0411E46174624 -:10CE1000884605460024FFF731FC40B9054850F824 -:10CE2000253023B1324639464046984704462046CD -:10CE3000BDE8F08168FF000070B50E46054600248D -:10CE4000FFF71CFC60B9074850F8251041B1304687 -:10CE50008847040004D0044850F8250040698685BE -:10CE6000204670BD6CFF0000080D010070B50E4635 -:10CE700005460024FFF702FC30B9044850F825208D -:10CE800012B1304690470446204670BD70FF000046 -:10CE900070B50D4606460024FFF7F0FB68B9084858 -:10CEA00050F8261049B128468847040005D00548A7 -:10CEB00050F82600406980F82A50204670BD0000D6 -:10CEC00074FF0000080D010070B50E4605460024F1 -:10CED000FFF7D4FB60B9074850F8251041B1304640 -:10CEE0008847040004D0044850F8250040690663D0 -:10CEF000204670BD78FF0000080D01002DE9F041CB -:10CF00000746FFF7BBFB002856D12C48002684219A -:10CF100050F827506C692046A6702670F3F74AFB3C -:10CF2000286860602868E060686860616868E0613F -:10CF3000687E012824D055F8300F20632889A08509 -:10CF40001C2024F8680F15F8010C608028686060C8 -:10CF500068892081A8896081E889A081E681686864 -:10CF60002061288AA082688AE082A88A20831448E7 -:10CF7000668350F8270000281ED0BDE8F041004726 -:10CF8000A87E40B90F4826854FF4165101600671FE -:10CF90004671082181710C4850F8270000B1804784 -:10CFA000A87E002808D1094850F82710002903D08E -:10CFB000BDE8F04103480847BDE8F081080D0100D5 -:10CFC00058FF00002000002018FF000024FF000090 -:10CFD0002DE9F0410446FFF751FB050020D1134E27 -:10CFE000002756F8240020B1FDF702FC40B946F8AE -:10CFF00024700F4E56F8240030B1FDF7F9FB08B14C -:10D0000010250DE046F824700A4850F82400407EB0 -:10D01000012808D0084800BF50F8240000B180471C -:10D020002846BDE8F0810548F6E70000009300209F -:10D0300088930020080D010084FF000028FF0000F5 -:10D0400007490978884209D2064951F8200028B1D9 -:10D05000C16819B1006808B10020704721207047ED -:10D06000680D01006C0D01002DE9F05F684905466F -:10D07000002009788D4232D2DFF8989159F82510B6 -:10D0800000292CD0644951F82510CC68002C26D0FA -:10D0900094F8A010C1F34112012A20D1DFF87CA13D -:10D0A0005F4F11F01F0107D001291AD002293FD08C -:10D0B000032914D10026A7E000260DE05AF8261017 -:10D0C0000978A94206D159F82610D4F8AC0088474F -:10D0D000002804D1761CF6B239788E42EED3BDE832 -:10D0E000F09F0026BB461EE05AF8268098F80010F4 -:10D0F000A94216D15FF0000707EBC70208EB420117 -:10D100000A7952B1B4F8A42049798A4205D159F874 -:10D110002610D4F8AC00884718B97F1CFFB2042F42 -:10D12000EAD3761CF6B29BF800108E42DCD3D6E729 -:10D130000026BB4654E000BF5AF8268098F800103D -:10D14000A9424BD15FF0000707EBC70208EB420191 -:10D150000A79EAB38A7922B1B4F8A420CB799A4249 -:10D1600030D00A7A22B1B4F8A4304A7A934229D056 -:10D170008A7A22B1B4F8A420CB7A9A4222D00A7BD0 -:10D1800022B1B4F8A4204B7B9A421BD08A7B22B1F7 -:10D19000B4F8A420CB7B9A4214D00A7C22B1B4F814 -:10D1A000A4204B7C9A420DD08A7C22B1B4F8A420F2 -:10D1B000CB7C9A4206D00A7D52B1B4F8A420497DB6 -:10D1C0008A4207D159F82610D4F8AC00884700E00D -:10D1D00000E018B97F1CFFB2042FB5D3761CF6B25D -:10D1E0009BF800108E42A7D379E700BF5AF82610AB -:10D1F0000978A94206D159F82610D4F8AC0088471E -:10D20000002894D1761CF6B239788E42EED366E7C8 -:10D21000680D010088FF00006C0D0100640D010025 -:10D22000600D01002DE9F05F68490546002009788E -:10D230008D4232D2DFF8989159F8251000292CD070 -:10D24000644951F82510CC68002C26D094F8A01021 -:10D25000C1F34112012A20D1DFF87CA15F4F11F008 -:10D260001F0107D001291AD002293FD0032914D168 -:10D270000026A7E000260DE05AF826100978A942FA -:10D2800006D159F82610D4F8AC008847002804D1FC -:10D29000761CF6B239788E42EED3BDE8F09F0026B8 -:10D2A000BB461EE05AF8268098F80010A94216D115 -:10D2B0005FF0000707EBC70208EB42010A7952B1A1 -:10D2C000B4F8A42049798A4205D159F82610D4F837 -:10D2D000AC00884718B97F1CFFB2042FEAD3761C34 -:10D2E000F6B29BF800108E42DCD3D6E70026BB4690 -:10D2F00054E000BF5AF8268098F80010A9424BD19C -:10D300005FF0000707EBC70208EB42010A79EAB3B6 -:10D310008A7922B1B4F8A420CB799A4230D00A7A23 -:10D3200022B1B4F8A4304A7A934229D08A7A22B141 -:10D33000B4F8A420CB7A9A4222D00A7B22B1B4F866 -:10D34000A4204B7B9A421BD08A7B22B1B4F8A42044 -:10D35000CB7B9A4214D00A7C22B1B4F8A4204B7C37 -:10D360009A420DD08A7C22B1B4F8A420CB7C9A4298 -:10D3700006D00A7D52B1B4F8A420497D8A4207D173 -:10D3800059F82610D4F8AC00884700E000E018B93E -:10D390007F1CFFB2042FB5D3761CF6B29BF80010A9 -:10D3A0008E42A7D379E700BF5AF826100978A94220 -:10D3B00006D159F82610D4F8AC008847002894D13B -:10D3C000761CF6B239788E42EED366E7680D01001E -:10D3D0008CFF00006C0D0100640D0100600D010068 -:10D3E0002DE9F84F054667480078854235D2DFF8C9 -:10D3F000989159F8250000282FD0644850F825004E -:10D40000C468002C29D094F8A000C0F34111012970 -:10D4100023D1DFF87CA1DFF87C8110F01F0009D058 -:10D4200001281CD0022843D0032816D100265746D5 -:10D43000A034A2E000265746A0340AE057F82600A0 -:10D440000078A84203D159F8261020468847761C58 -:10D45000F6B298F800008642F0D3BDE8F88FCB46CC -:10D4600004F1A0000026C14600901CE05AF8268076 -:10D4700098F80000A84214D15FF0000707EBC7013D -:10D4800008EB4100017941B1B4F8A4104079814220 -:10D4900003D15BF82610009888477F1CFFB2042F49 -:10D4A000ECD3761CF6B299F800008642DED3D4E7BE -:10D4B0000026C34651E000BF5AF8268098F80000C5 -:10D4C000A84248D15FF0000707EBC70108EB410015 -:10D4D0000179E1B3817921B1B4F8A410C279914204 -:10D4E00030D0017A21B1B4F8A410427A914229D007 -:10D4F000817A21B1B4F8A410C27A914222D0017B82 -:10D5000021B1B4F8A410427B91421BD0817B21B1A0 -:10D51000B4F8A410C27B914214D0017C21B1B4F8BC -:10D52000A410427C91420DD0817C21B1B4F8A410AA -:10D53000C27C914206D0017D49B1B4F8A410407D6F -:10D54000814204D159F8261004F1A00088477F1CBD -:10D55000FFB2042FB8D3761CF6B29BF800008642C7 -:10D56000AAD37AE757F826000078A84203D159F8E1 -:10D57000261020468847761CF6B298F800008642AE -:10D58000F0D36AE7680D010090FF00006C0D010008 -:10D59000640D0100600D01002DE9FE4F7349054641 -:10D5A000002009788D423DD2DFF8C49159F825104A -:10D5B000002937D06F4951F82510CC68002C31D0A4 -:10D5C00094F8A010C1F34112012A2BD1DFF8A8A1D1 -:10D5D0006A4F11F01F010CD0012925D0022951D02A -:10D5E00003291FD1002604F1AC0B04F1A808A034D4 -:10D5F000B7E0002604F1AC0B04F1A808A0340EE05B -:10D600005AF826100978A94207D159F826305A4607 -:10D61000414620469847002804D1761CF6B2397856 -:10D620008E42EDD3BDE8FE8F0026BB4625E000BF4D -:10D630005AF8268098F80010A9421CD104F1AC01D8 -:10D640000291091F002701910839009107EBC702D9 -:10D6500008EB42010A7952B1B4F8A42049798A4210 -:10D6600005D19DE8070059F82630984718B97F1C66 -:10D67000FFB2042FEAD3761CF6B29BF800108E425C -:10D68000D6D3CFE70026BB4657E000BF5AF8268026 -:10D6900098F80010A9424ED15FF0000707EBC702CF -:10D6A00008EB42010A79EAB38A7922B1B4F8A430CE -:10D6B000CA79934230D00A7A22B1B4F8A4204B7AC6 -:10D6C0009A4229D08A7A22B1B4F8A420CB7A9A421D -:10D6D00022D00A7B22B1B4F8A4204B7B9A421BD003 -:10D6E0008A7B22B1B4F8A420CB7B9A4214D00A7C66 -:10D6F00022B1B4F8A4204B7C9A420DD08A7C22B18E -:10D70000B4F8A420CB7C9A4206D00A7D52B1B4F87A -:10D71000A420497D8A420AD104F1AC0259F826308E -:10D72000111F00E003E004F1A000984718B97F1C26 -:10D73000FFB2042FB2D3761CF6B29BF800108E42D3 -:10D74000A4D36FE75AF826100978A94207D159F8EF -:10D7500025305A46414620469847002891D1761CEC -:10D76000F6B239788E42EDD35CE70000680D010017 -:10D7700094FF00006C0D0100640D0100600D0100BC -:10D7800070B505460024FFF75BFC30B9044850F83B -:10D790002500C068007900B10124204670BD00005A -:10D7A0006C0D010010B50446FFF74AFC002804D1B7 -:10D7B0002046BDE8104000F089BA10BD70B504469F -:10D7C0002D4E0D46C80704D056F8241009B101208B -:10D7D0008847A80707D556F8241009B100208847C4 -:10D7E000204601F0F5FE680721D5204601F0F0FE45 -:10D7F000224850F824000668F078B38800F003024D -:10D80000B178204600F0CCFA48B9F078B38800F03F -:10D810000302B07840F08001204600F0C1FA2046B3 -:10D82000FCF74EFE164850F8240000B18047280748 -:10D830000BD51449012051F82410C96881F89500CE -:10D84000114850F8240000B18047E80604D50F487D -:10D8500050F8240000B18047A80604D50C4850F8C1 -:10D86000240000B18047290A480704D02046BDE8BB -:10D87000704000F06DBD70BDE0FF00001801002099 -:10D88000D0FF00006C0D0100C8FF0000D8FF0000B1 -:10D89000D4FF000010B504460C480078844201D340 -:10D8A000002010BD0A4850F82400C0680028F8D0B5 -:10D8B0000849D0F8AC0051F8241088470028F0D16E -:10D8C0002046BDE81040FFF7CFBB0000680D010007 -:10D8D0006C0D0100B8FF000010B504460C4800783C -:10D8E000844201D3002010BD0A4850F82400C068CB -:10D8F0000028F8D00849D0F8AC0051F82410884727 -:10D900000028F0D12046BDE81040FFF78BBC000096 -:10D91000680D01006C0D0100BCFF000010B504464D -:10D920000A48007884420FD2094850F82400C068A1 -:10D93000002809D00749A03051F824108847204614 -:10D94000BDE81040FFF74CBD10BD0000680D0100A0 -:10D950006C0D0100C0FF000010B504460F480078B0 -:10D96000844201D3002010BD0D4850F82400C06847 -:10D970000028F8D00021C0F8A810C0F8AC10094960 -:10D9800000F1AC0251F82430111FA0309847002854 -:10D99000E9D12046BDE81040FFF7FEBD680D01004B -:10D9A0006C0D0100C4FF00002DE9F047C6B220480D -:10D9B0000078864239D21F4800244FF0FF3750F8D4 -:10D9C0002600D0F800901C4850F82600C10708D067 -:10D9D000810701D401246427400702D444F00204E3 -:10D9E00064274FF00008E00701D0012119E0384614 -:10D9F000FCF7C2FE0146000113D5D9F81C00804790 -:10DA000000F001054545F2D0A846E00704D01DB15D -:10DA100001213046FFF7D2FEA007E8D5002DE6D160 -:10DA200002213046FFF7CAFEE1E7BDE8F0870000BB -:10DA3000680D01006C0D0100E48200200B4909789B -:10DA4000884201D32A207047094951F8200009492A -:10DA500000780978884207D2074951F8200018B1A8 -:10DA6000C06808B10020704721207047600D010098 -:10DA7000640D0100680D01006C0D01002DE9F041FD -:10DA8000C4B22046FFF7DAFF002815D10B4E0C4D2B -:10DA9000471E3846FCF770FE0101FAD43278C0F315 -:10DAA000033104FB0211C9B2C0F3032055F8211061 -:10DAB0000029EED08847ECE7BDE8F081700D010049 -:10DAC000E4FF000070B50D460446FFF7B7FF0028DD -:10DAD00008D1054850F82420002A03D02846BDE884 -:10DAE0007040104770BD000098FF000070B50D46F3 -:10DAF0000446FFF7A3FF002808D1054850F824206A -:10DB0000002A03D02846BDE87040104770BD0000D1 -:10DB10009CFF00002DE9F0410546FFF78FFF00282C -:10DB200029D1174850F8250000B180471548012435 -:10DB3000164E50F825004788134800EB851816E06C -:10DB4000C0B205FB0040124951F8201069B1012113 -:10DB5000A140394209D058F8241031B9C1B201208E -:10DB6000FCF736FD48F8240038B1641CE4B2307884 -:10DB70008442E5D30020BDE8F0811020FBE70000DF -:10DB8000A0FF0000640D010090930020700D0100C3 -:10DB90001C01002010B50446FFF750FF002807D1F4 -:10DBA000044850F82400002802D0BDE81040004787 -:10DBB00010BD0000A4FF00002DE9F05F0546FFF74F -:10DBC0003DFF00281FD118480124194E50F82500A8 -:10DBD000DFF86080A246478814484FF0000B00EB46 -:10DBE000851916E0C0B205FB004158F8210070B15C -:10DBF0000AFA04F038420AD059F8240038B1FCF788 -:10DC0000F7FD10B11020BDE8F09F49F824B0641C66 -:10DC1000E4B230788442E5D3074850F8250000B1DB -:10DC200080470020EFE70000640D01009093002082 -:10DC3000700D01001C010020A8FF000070B51749FD -:10DC400051F82010C9B1CC68BCB1D4F89C20002593 -:10DC5000AAB1497D491E0A4202D1012184F89610D9 -:10DC6000D4E92623802100F05DF9002804D1F4E9ED -:10DC700026121144C4E9001570BD212070BD94F82E -:10DC8000961049B100231A46802100F04BF9002874 -:10DC9000F4D184F8965070BD222070BD6C0D010047 -:10DCA000094910B551F82010CC680021D4E9262389 -:10DCB00000F038F9002805D1F4E926010844206075 -:10DCC0000020606010BD00006C0D01002DE9F041E6 -:10DCD00005460324154E08E056F825006421FCF79C -:10DCE000FBFB28B10A20FCF71FF8641EE4B2F3D254 -:10DCF000BCB1DFF83C80022758F825000068406975 -:10DD00008047040005D00A20FCF70EF87F1EFFB202 -:10DD1000F2D256F82500FCF751FC24B12220BDE8D0 -:10DD2000F0812320FBE70020F9E70000F8930020B2 -:10DD30006C0D01002DE9F047894605460324164E77 -:10DD400009E000BF56F825006421FCF7C5FB28B1A7 -:10DD50000A20FBF7E9FF641EE4B2F3D2C4B1DFF896 -:10DD60003C80022758F825000068416A48468847E9 -:10DD7000040005D00A20FBF7D7FF7F1EFFB2F1D2C7 -:10DD800056F82500FCF71AFC24B12220BDE8F087E4 -:10DD90002320FBE70020F9E7F89300206C0D010039 -:10DDA0002DE9FF5F894601F00F020546102101EAC7 -:10DDB000D9002C499B4610440B786B4302EB43027D -:10DDC000D4B2102802D309782144CCB2264F1422B1 -:10DDD00002EB800057F82510C968085820B1494661 -:10DDE000284600F011F9A0BBDFF88080022600BFB2 -:10DDF00058F824006421FCF76FFB28B10A20FBF7D8 -:10DE000093FF761EF6B2F3D24EB303264FEA070A0B -:10DE10005A465AF8250002990068C36A484698474E -:10DE20000746801D06280CD2DFE800F00B0B0B0321 -:10DE30000303761E16F0FF0603D00A20FBF774FFDB -:10DE4000E6E758F82400FCF7B9FB17F1020F06D0FB -:10DE50001FB1222004B0BDE8F09F0020FAE7232084 -:10DE6000F8E70000700D01006C0D0100D093002058 -:10DE70002DE9F05F9346894601F00F020546102117 -:10DE800001EAD900244910440B786B4302EB4302AA -:10DE9000D4B2102802D309782144CCB2DFF87CA098 -:10DEA000142202EB80005AF82510C968085820B1E6 -:10DEB0004946284600F0A8F838BBDFF864800226FF -:10DEC000642158F82400FCF707FB28B10A20FBF76F -:10DED0002BFF761EF6B2F3D2E6B102275AF82500E0 -:10DEE00059460068426B48469047060005D00A2014 -:10DEF000FBF71AFF7F1EFFB2F0D258F82400FCF7A0 -:10DF00005DFB16F1020F05D016B12220BDE8F09F8F -:10DF10000020FBE72320F9E7700D01006C0D0100E4 -:10DF2000D09300202DE9FF5F884601F00F03334AAC -:10DF30000446102101EAD80018440127157807FA91 -:10DF400000F1654303EB4503DDB2102802D31278DC -:10DF50002A44D5B22A4B53F82420D268D6680E4200 -:10DF60004AD1142101EB80099A4652F8090038B1D0 -:10DF70005FEA087040D14146204600F045F8A8BB52 -:10DF8000DFF880B0022600BF5BF825006421FCF7B3 -:10DF9000A3FA28B10A20FBF7C7FE761EF6B2F3D229 -:10DFA00056B35AF82410CA6842F809705FF00207A5 -:10DFB0005AF82400DDE902120068836B4046984756 -:10DFC00006000BD00A20FBF7AFFE7F1EFFB2EFD298 -:10DFD0005AF824000021C26842F809105BF82500B5 -:10DFE000FCF7ECFA16F1020F06D01EB1222004B0A5 -:10DFF000BDE8F09F0020FAE72320F8E7700D01004C -:10E000006C0D0100D09300202DE9F05F8A4601F0ED -:10E010000F020446102101EADA00254910440B786A -:10E02000634302EB4302D5B2102802D30978294496 -:10E03000CDB2DFF8808058F82410CA68142101EBB3 -:10E04000800B52F80B00002820D0DFF86C900226DD -:10E05000642159F82500FCF73FFA28B10A20FBF7A4 -:10E0600063FE761EF6B2F3D27EB1022758F8240082 -:10E070000068016C50468847060009D00A20FBF76B -:10E0800053FE7F1EFFB2F1D208E02320BDE8F09FCF -:10E0900058F824000021C26842F80B1059F82500F6 -:10E0A000FCF78CFA0EB12220F0E70020EEE700002A -:10E0B000700D01006C0D0100D09300202DE9F0419E -:10E0C00080460E46102001F00F0200EAD60011181B -:10E0D00015481029047808FB04F302EB4302D4B27C -:10E0E00002D300782044C4B2104F0225642157F8AF -:10E0F0002400FCF7F1F928B10A20FBF715FE6D1E8C -:10E10000EDB2F3D275B10A4951F828000068C16B2D -:10E1100030468847054657F82400FCF74FFA284652 -:10E12000BDE8F0810020FBE7700D0100D0930020D6 -:10E130006C0D01002DE9F047894601F00F020546FC -:10E14000102101EAD900254910440B786B4302EBFA -:10E150004302D4B2102802D309782144CCB2DFF8AC -:10E1600080A0142202EB80005AF82510C9680858D4 -:10E1700020B149462846FFF747FF38BBDFF86480E7 -:10E18000022600BF58F824006421FCF7A5F928B145 -:10E190000A20FBF7C9FD761EF6B2F3D2DEB10227E4 -:10E1A0005AF825000068016B48468847060005D0EC -:10E1B0000A20FBF7B9FD7F1EFFB2F1D258F8240008 -:10E1C000FCF7FCF916F1020F05D016B12220BDE8CC -:10E1D000F0870020FBE72320F9E70000700D010025 -:10E1E0006C0D0100D0930020024951F82000006816 -:10E1F000406800476C0D0100024951F8200000689A -:10E20000006800476C0D01002DE9F04791468A46F1 -:10E2100005460324164E08E056F825006421FCF755 -:10E220005BF928B10A20FBF77FFD641EE4B2F3D24C -:10E23000CCB1DFF840800227494658F82500006835 -:10E24000826850469047040005D00A20FBF76CFD19 -:10E250007F1EFFB2F0D256F82500FCF7AFF924B1CB -:10E260002220BDE8F0872320FBE70020F9E700002B -:10E27000F89300206C0D01002DE9F0478946054612 -:10E280000324164E09E000BF56F825006421FCF770 -:10E2900023F928B10A20FBF747FD641EE4B2F3D24C -:10E2A000C4B1DFF83C80022758F8250000680169F6 -:10E2B00048468847040005D00A20FBF735FD7F1E3D -:10E2C000FFB2F1D256F82500FCF778F924B12220EC -:10E2D000BDE8F0872320FBE70020F9E7F893002052 -:10E2E0006C0D01002DE9F047894605460324164EC2 -:10E2F00009E000BF56F825006421FCF7EDF828B1CD -:10E300000A20FBF711FD641EE4B2F3D2C4B1DFF8BA -:10E310003C80022758F825000068816A48468847F3 -:10E32000040005D00A20FBF7FFFC7F1EFFB2F1D2EC -:10E3300056F82500FCF742F924B12220BDE8F08709 -:10E340002320FBE70020F9E7F89300206C0D010083 -:10E350002DE9F0470546DC4888460078854278D2AA -:10E36000DFF8689359F82570002F72D0FC68002CF4 -:10E370006FD05FEA48704FF0000632D594F8A000E5 -:10E38000000621D5D4F89C0010B994F8960020B16D -:10E390002846FFF753FC20B30AE094F8970000B337 -:10E3A00084F897602846FFF775FA48B1012807D02E -:10E3B000012200212846FFF75BFDC4F89C6010E0B5 -:10E3C000284601F084F90CE0284601F078F940B9BC -:10E3D0006078010605D500F07F0161702846FFF7DF -:10E3E000A9FC5FEA887045D594F8A00001063ED4E8 -:10E3F000D4F89C1021B12846FFF752FC50B32EE010 -:10E4000094F8971059B184F897602846FFF764FA9A -:10E4100008B1012823D1284601F04CF92AE0C0F3C5 -:10E420004111E1B101291AD110F01F0017D00128C4 -:10E4300002D0022813D10EE02846FBF719FD48B997 -:10E440002846FBF713FD28B9284600F041F908B922 -:10E4500005E04AE00EE02846FBF706FDF7E701225B -:10E4600080212846FFF704FDC4F89C6002E028469E -:10E4700001F032F95FEAC87037D02846C84659F82B -:10E480002010C968A031FFF72DFF00282DD12846A4 -:10E49000FFF762FA0121B8B3012863D1D4F8A800CC -:10E4A00018B9D4F8AC20002A5CD1B4F8A620F2B197 -:10E4B000C4F89800D4F8AC00C4F89C0084F8971015 -:10E4C00094F8A0301B0603D42846FFF7E9FB0AE0C6 -:10E4D000904205D27A7D521E104201D184F89610E6 -:10E4E0002846FFF7ABFB00283CD1BDE8F08794F845 -:10E4F000A0000006284603D4BDE8F04701F0DAB8D2 -:10E50000BDE8F04701F0E3B8B868C4F89800B4F883 -:10E51000A6007A8B904202D9C4F89C2001E0C4F88E -:10E520009C0094F8A000C0F3411222B1012A7DD0D2 -:10E53000022A17D19BE094F8A1000C2812D2DFE840 -:10E5400000F00612AF14AF1A34AF3A505471284697 -:10E5500000F05EFD2CE02846FFF7E0F92846FFF7C3 -:10E560006DFBE0B39CE0002100E00121284600F0B3 -:10E57000A9FD98B994E058F82500C06880B3B0F8B8 -:10E58000A41069BBB0F8A61051BB90F8A010C90642 -:10E5900026D190F8A21041F0800141702846FFF783 -:10E5A000BDF9284601F086F868E0284600F00CFC2A -:10E5B0000028D0D174E058F82500C06880B1B0F8C8 -:10E5C000A2206AB9B0F8A42052B9B0F8A620012A56 -:10E5D00066D190F8A020D20662D1021D1EE04AE06A -:10E5E00040E0284600F0F4FDC3E758F82520CAB300 -:10E5F000D068B8B3B0F8A230A3BBB0F8A630012BF6 -:10E600004ED190F8A03003F01F03012B48D1B0F891 -:10E61000A430578ABB4243D252681A44C0E926212B -:10E6200099E703E0284600F007FFA2E710F01F007B -:10E6300036D0012802D0022832D114E02846FBF758 -:10E640001FFC58B92846FBF71DFC38B92846FBF7D4 -:10E6500015FC18B9284600F0FFF818B12846FFF756 -:10E660005DF90BE01CE02846FBF706FCF5E72846C1 -:10E6700000F074FC9CE7284601F029F894F8A0000B -:10E6800000063FF532AFB4F8A60000283FF42DAFE6 -:10E690002846FFF705FB0028F8D00122802109E079 -:10E6A00094F8A0000006B4F8A60009D40028F4D01D -:10E6B000012200212846FFF7DBFBC4F89C6014E729 -:10E6C0000028EAD1F4E70000680D01006C0D01009C -:10E6D0002DE9F04107463B48007887426BD23A4823 -:10E6E00050F82750002D66D0EC688CB30026DFF878 -:10E6F000DC805CE0364850F8260040B3017EB94229 -:10E7000053D1B4F8A410C27E914202D0007F81425E -:10E710004BD194F8A10041282CD007DC68B1022825 -:10E7200017D020281BD040283FD11CE082282AD0B7 -:10E7300086282DD0882838D130E0B4F8A61030468D -:10E74000FDF732FE2FE0384600F0B4FFB0B32CE006 -:10E7500031E0B4F8A2103046FDF744FE23E0304625 -:10E76000FDF75CFE1FE0B4F8A2203046A968FEF772 -:10E7700023FB18E0B4F8A630B4F8A2103046AA681B -:10E78000FEF742FB0FE03046A968FEF76FFB0AE098 -:10E79000A86801683046FEF797FB04E0A868018886 -:10E7A0003046FEF749FB0028CDD1761CF6B298F82A -:10E7B000000086429ED30020BDE8F081FFE70120E3 -:10E7C000FAE70000680D01006C0D0100040D010066 -:10E7D000080D0100F0B51B4A127890422FD21A4A58 -:10E7E00052F82020D56855B30023DFF860C0184FD9 -:10E7F00022E000BF5CF82340227882421AD1002236 -:10E8000002EBC20604EB460696F804E0BEF1000FE8 -:10E810000CD095F8A2E07679B64507D10D4850F8AE -:10E82000230050F8220008600120F0BD521CD2B233 -:10E83000042AE5D35B1CDBB23A789342DAD300209A -:10E84000F0BD0000680D01006C0D0100640D0100B9 -:10E85000600D0100900C01002DE9FC5FC749804666 -:10E860000978884277D2C64951F82850002D72D0D5 -:10E87000EC68002CFBD000274FF0040B4FF002098E -:10E88000DFF800A372E1C04850F82760002E6ED078 -:10E89000307E40456BD1B4F8A400F17E884202D0AE -:10E8A000317F8842F6D194F8A100432876D01DDC50 -:10E8B000212874D00DDC03285AD005DC80B3012850 -:10E8C00032D00228E6D147E004285DD02028E1D1EB -:10E8D00068E0402871D004DC22286FD02328D9D1E9 -:10E8E0008DE041281CD04228D4D1C2E0852874D0C4 -:10E8F0000EDC822872D006DC442870D080286FD0CD -:10E900008128C7D1E6E083286BD08428C2D1FBE000 -:10E91000863805282BD2DFE800F09DF01FEFEE00CF -:10E92000A868C4F898009FE000200090ADF80400AB -:10E93000B4F8A61001AB6A463846FDF7F1FC002892 -:10E9400015D00099002906D0BDF80400002802D097 -:10E95000C4E9261012E07BE0D4F89C00022877D3AB -:10E96000A868C4F898007FD9C4F89C907CE070E057 -:10E97000B4F8A2103846FDF7D1FC80E04046FFF71E -:10E980005DF9002874D0EFE0B4F8A60000285FD14C -:10E99000B4F8A2103846FDF7BFFC2BE07AE00EE099 -:10E9A000B0B3E1E0D4F89C00072851D3A868C4F8BC -:10E9B000980059D94FF007003CE02AE012E03846B1 -:10E9C000FDF7C6FC002844D0A868C4F89800D4F825 -:10E9D0009C000728D2D9072089E09FE02DE062E063 -:10E9E00068E08CE0B4F8A60090BBB4F8A2103846FA -:10E9F000FDF7FAFC68B3404600F05CFED0E7B4F8DF -:10EA0000A60028BBB4F8A2103846FDF7CBFCF1E70E -:10EA100012E0B4F8A200D4F89C1000EB4002B1EB75 -:10EA2000420F15D3A968C4F898101DD900EB400017 -:10EA30004FEA4000C4F89C0016E0D4F89C00062879 -:10EA400006D3A868C4F898000ED94FF00600F1E785 -:10EA500054E04FE0D4F89C0004284FD3A868C4F8D1 -:10EA6000980001D9C4F89CB04FF00100BDE8FC9FAC -:10EA70006DE0B4F8A2103846AA68FEF7FBF8C8B3F8 -:10EA8000A868C4F89800D4F89C000228A2D9C4F859 -:10EA90009C9073E7B4F8A60080BBB4F8A210384687 -:10EAA000FEF7A0F9A6E7B4F8A2103846AA68FEF768 -:10EAB000F7F837E0716938466831FEF74FF9C8B1A9 -:10EAC00070696830C4F89800D4F89C001C28E0D91C -:10EAD0001C200CE03846A968FEF70AF950B1A86876 -:10EAE000C4F89800D4F89C000628D2D90620C4F8AF -:10EAF0009C0043E738E02EE024E01EE03BE038468F -:10EB0000A968FEF707F9BAE7B4F8A60098BB7069E0 -:10EB100090F82A103846FEF7BBF96BE73846A9682B -:10EB2000FEF70AF900B3A868C4F89800D4F89C006E -:10EB30000428AED9C4F89CB020E73846A968FEF78F -:10EB4000C5F89CE73846A968FEF782F897E7404683 -:10EB500000F0BDFD24E7B4F8A60060B9B4F8A21037 -:10EB60003846FEF70DF945E77F1CFFB29AF8000022 -:10EB70008742FFF488AE002078E70000680D0100AE -:10EB80006C0D0100040D0100080D010070B50C466C -:10EB90000546FEF755FA002805D121462846BDE86E -:10EBA0007040FFF731BA70BD2DE9F0411C461546A3 -:10EBB0000E460746FEF744FA002807D123462A46A8 -:10EBC00031463846BDE8F041FFF7ACB9BDE8F08109 -:10EBD00070B50C460546FEF733FA08B1002070BD4B -:10EBE00021462846BDE87040FFF768BA2DE9F0419C -:10EBF0001D4616460C460746FEF722FA002808D1A5 -:10EC000044F080012B4632463846BDE8F041FFF71C -:10EC100089B9BDE8F08100002DE9F05F0446FEF7F8 -:10EC20000FFA050078D15C4850F82400C76838789E -:10EC300010B10020BDE8F09F2046FFF7DDFA5749EC -:10EC400001EB840108602046FFF7CEFA544941F8F1 -:10EC50002400B0213846F1F7ADFCDFF84CA1DFF815 -:10EC60004491DFF848B19AF8000059F8241004FBE9 -:10EC700000F639B9002221461046FBF763FC49F83B -:10EC8000240078B3002510E005EB460000F0FF08F3 -:10EC90005BF8280038B92A4621460120FBF752FCD0 -:10ECA0004BF82800F0B16D1CEDB29AF80000B5EBFE -:10ECB000400FE9D33E4850F82400426A3AB1364842 -:10ECC00050F82400C18A11B11046F1F773FC39489D -:10ECD00050F8240000B180472046FAF755FF0500A0 -:10ECE00023D102E0FFE712251FE0334D55F8240041 -:10ECF00030B921460020FBF76BFC45F8240060B1D9 -:10ED00002E4850F824202E4850F824102046FFF7B3 -:10ED10007BFA050009D102E03BE010250EE002215C -:10ED20002046FFF7A9FA050012D0234F57F8240018 -:10ED300020B1FBF75DFD002047F824002046FAF7DC -:10ED400035FF204850F8240000B18047002712E02A -:10ED5000012038701DE000BF07EB460000F0FF08FF -:10ED60005BF8281029B10846FBF720FC00204BF87F -:10ED700028007F1CFFB29AF80000B7EB400FEBD3DE -:10ED800059F824004E4620B1FBF710FC002046F84D -:10ED9000240028464EE700006C0D0100FC93002083 -:10EDA000E4820020F8930020700D0100D093002031 -:10EDB00018010020CCFF00008C930020F80B01000C -:10EDC000F40B0100DCFF00002DE9F0415F490978F8 -:10EDD000884273D25E4951F82060002E6ED0F568EB -:10EDE000002D6BD0B5F8A610002967D095F8A010BB -:10EDF000584C11F01F0102D001295FD186E0B5F80F -:10EE0000A2205549130A082B58D2DFE803F09004DA -:10EE10001D5890900E3F12F0FF0F4FD151F8200077 -:10EE20004068C5F8980012206EE0727C002A7ED0FF -:10EE300095F8952051F8200022B1C068C5F89800D7 -:10EE40000A2061E08068F9E7737C002B95F8953023 -:10EE500007D03BB151F82000406920600020D2B2B9 -:10EE60000BE05BBB51F820000069F6E721680B78E6 -:10EE700013B14B8819442160401C8242F6D12068AE -:10EE80000178D9B1C5F8980040883DE0737CABB1FA -:10EE900095F8953051F8200023B1C069206000201A -:10EEA000D2B208E08069F9E721680B7813B14B888A -:10EEB00019442160401C8242F6D1E0E737E0D2B22B -:10EEC000032A05D151F820305B6A0BB11F782FB9A6 -:10EED000EE2A05D151F820309B6A0BB123600DE07A -:10EEE00051F82000006A2060002005E023681978AE -:10EEF00009B119442160401C8242F7D12068017891 -:10EF0000A9B1C5F898000078606009E0114A121DA7 -:10EF1000111FFAF7AFFF00280AD02068C5F8980043 -:10EF2000B5F8A6006168884204D3084603E00020D3 -:10EF3000BDE8F0816060C5F89C00717D491E01420A -:10EF400002D1012085F896000120F1E7680D01004B -:10EF50006C0D0100000000201801002070B5284948 -:10EF60000978884220D2274951F82060E6B1F46838 -:10EF7000D4B194F8A110327E914215D1B4F8A21008 -:10EF8000090A11D1B4F8A61071B194F8A0101E4D61 -:10EF900011F01F0102D0012906D10EE0B4F8A4102F -:10EFA000042903D005290CD0002070BD174951F861 -:10EFB0002000C06A80B1A8600AE0B4F8A410052956 -:10EFC0000AD111490831FFF705FC0028EDD0A868E7 -:10EFD000C4F898000068E860B4F8A600E9688842C0 -:10EFE00001D3084600E0E860C4F89C00717D491E2A -:10EFF000014202D1012084F89600012070BD00007A -:10F00000680D01006C0D01000000002018010020B7 -:10F01000F0B52A49097888424ED2294951F8202072 -:10F02000F2B3D068002846D0926800F19801BAB3D4 -:10F03000B0F8A230A3BBB0F8A630022B3CD190F8B8 -:10F04000A0304FF0020613F01F0305D00024012B5F -:10F0500009D0022B30D110E0B0F8A42002BB801CF4 -:10F06000C1E9000626E00379D3B190F8A43090F806 -:10F070009400834220D2147019E090F8A430102735 -:10F0800003F08F0505F00F0307EAD5071F4401239E -:10F09000BB4007790FB92D070ED185681D4200E0EE -:10F0A0000AE009D0C068184000D0012010705470E8 -:10F0B000C1E900260120F0BD0020F0BD680D01006F -:10F0C0006C0D01002DE9F04107463D48007887426C -:10F0D00065D23C4850F82700C468002C5FD0B4F8D3 -:10F0E000A600E8BB94F8A00010F01F0004D001288F -:10F0F00055D0022853D117E0B4F8A20001284ED110 -:10F1000041B1314850F8270000B18047608840F095 -:10F11000020007E02D4850F8270000B180476088C2 -:10F1200020F00200608048E094F8A400102200F073 -:10F130008F0606F00F0002EAD6021044012522795C -:10F1400085406AB1A2682A4229D0B4F8A220A2BBA5 -:10F15000320724D0C1B104EB8000406930B100E037 -:10F160001DE031463846FEF74FFFC0B90122314657 -:10F170003846FEF77DFE90B9E06831462843E060EE -:10F180003846FAF77FFF18E0D4E903010840284227 -:10F1900013D1002231463846FEF76AFE10B1002036 -:10F1A000BDE8F081E0683146A843E0603846FAF7F0 -:10F1B00059FE31463846FAF735FF0120F0E70000E6 -:10F1C000680D01006C0D0100B4FF0000B0FF0000ED -:10F1D0002DE9FC5F94498046097888427ED29349A4 -:10F1E00051F82870002F79D0FC68002CFBD0B4F8BF -:10F1F000A400002872D1B4F8A6000028FAD100902B -:10F2000094F8A00010F01F0FF4D194F8A2004FF072 -:10F21000000A10F0FF0F4FF0010B4FF4803977D048 -:10F22000797C8348002994F8951004D029B150F8CE -:10F23000280045699DE00029DCD150F828000569C7 -:10F2400097E06878022804D0042868D0052863D1A4 -:10F2500068E0697994F8A20081425ED129797A8ABE -:10F2600091423BD82071287984F89400002003E073 -:10F270007A6802F800A0401C798A8142F8D80126F9 -:10F28000A1680BFA06F0014213D004EB8600406936 -:10F2900028B131464046FEF7B7FE00281ED1314660 -:10F2A0004046FEF747FF002818D131464046FAF79E -:10F2B000E9FEA16809FA06F0014218D004EB8600C5 -:10F2C000406D30B146F080014046FEF79DFE0028BB -:10F2D00004D146F080014046019100E075E0FEF760 -:10F2E00029FF002871D140460199FAF7CBFE761C20 -:10F2F000F6B2102EC4D34FF00110C4E9020AC4F8CC -:10F3000010A0E8794006608803D540F0010002E0D3 -:10F3100034E020F00100608029E0688828E0E87887 -:10F32000009024E0009810BBA878102200F08F0114 -:10F3300001F00F0002EAD10210440BFA00F604EBD0 -:10F340008000406918B14046FEF75EFEE8BBA06849 -:10F350003043A060E878AB8800F00302A97840460B -:10F36000FEF71EFD88BBA9784046FAF75BFE2878B9 -:10F370000544287800287FF464AF41E0564684F8BD -:10F3800004A001254FEA0B07A16807FA05F0014226 -:10F3900011D004EB8500406920B129464046FEF7B4 -:10F3A00033FE90B929464046FEF7C4FE68B92946A7 -:10F3B0004046FAF767FEA16809FA05F0014216D047 -:10F3C00004EB8500406D38B100E02BE045F0800192 -:10F3D0004046FEF719FE28BB45F080018A464046AC -:10F3E000FEF7A8FEF0B951464046FAF74BFE6D1CF9 -:10F3F000EDB2102DC8D34FF00110C4E9020626610A -:10F40000207994F8A21088420CD121794046FBF76C -:10F41000DDF8084850F8281009B120798847012004 -:10F42000BDE8FC9F0020FBE7680D01006C0D0100AA -:10F4300018010020ACFF00002DE9FE4F074661488F -:10F44000007887427ED2604850F82760002E79D03D -:10F45000F468002C76D0B4F8A600002872D1834658 -:10F46000CDF808B094F8A000D84600F01F00DA46A6 -:10F47000D946012866D12079002871D0717C534883 -:10F48000002994F8951004D029B150F82700456957 -:10F490008CE0002956D150F82700056986E068788D -:10F4A000022804D0042808D005287DD11FE06879FF -:10F4B0002179884278D0688877E0B4F8A400718A0E -:10F4C00088426AD295F8028095F803A04FF0000BAD -:10F4D000404569D1B4F8A210514565D170684FF02C -:10F4E000010910F80810029100F808A05CE0B4F8D7 -:10F4F000A410414558D1A878102200F08F0000F0E8 -:10F500000F01009002EAD0000844012181400191DE -:10F51000B4F8A220524524D1A168019A04EB8000DE -:10F520001143A160E168019A9143E160406920B113 -:10F5300038460099FEF768FD20B9E878AB8800F0FE -:10F54000030200E029E0A9783846FEF729FC20BB39 -:10F5500038460099FAF766FD01994BEA010B23E062 -:10F560001CE0029A92451FD1019A1BEA020F1BD19F -:10F57000A16804EB80009143A160E168019A914386 -:10F58000E160406920B138460099FEF73DFD20B9A1 -:10F5900038460099FEF7CEFD10B10020BDE8FE8F81 -:10F5A00038460099FAF76EFD287805442878002837 -:10F5B0007FF475AFB9F1000F01D084F8058048469B -:10F5C000ECE70000680D01006C0D0100180100203F -:10F5D00070B5084D0446AF2155F82400C068401CA2 -:10F5E000F0F7E8FF55F82400017CC068C1F38011F2 -:10F5F000418070BD6C0D01002DE9F0410F460446BD -:10F60000FDF71EFD050022D1124850F82460A6B176 -:10F61000114850F82400446A8CB13846F0F7D5FF01 -:10F62000F18A814200D20846022202EB4002227097 -:10F630000322A11C6270002207E0212507E0FF25BC -:10F6400005E0BB5C21F8023B521C8242F9D32846FC -:10F65000BDE8F0816C0D010018010020024A52F84B -:10F660002000FBF783B800008C930020F0B40E4D0F -:10F6700001F00F03102455F8205004EAD101194479 -:10F68000ED68142606EB810100246C50190341EA51 -:10F690000221064A127800FB0230054A52F8200087 -:10F6A0000068F0BCFBF762B86C0D0100700D010042 -:10F6B0001C01002000231A468021FEF733BC10B540 -:10F6C0008021FEF7FBFC002800D0222010BD002383 -:10F6D0001A461946FEF726BC10B504460021FEF76F -:10F6E000EDFC08B1222010BD064850F82400C06887 -:10F6F000406D0028F7D02046BDE810408021FEF77D -:10F7000083BC00006C0D01000FB47CB50C0009AD8A -:10F7100001D0611E00E00021CDE90001064B6A46E0 -:10F720002946089800F01AF8002C02D0009A00210F -:10F7300011707CBC5DF814FBBFFB000002E008C840 -:10F74000121F08C1002AFAD170477047002001E05B -:10F7500001C1121F002AFBD1704700002DE9FF4FA5 -:10F760008DB00F460546002606E025280BD0DDE9C2 -:10F770000F1290476D1C761C28780028F5D111B027 -:10F780003046BDE8F08F0024A246A1460122EC4994 -:10F7900000E0044315F8013F203B02FA03F0084261 -:10F7A000F7D128782A2810D06FF02F022878A0F1FE -:10F7B0003001092914D80AEB8A0102EB410144F017 -:10F7C000020400EB010A6D1CF0E701CF5FEA000ABA -:10F7D00003D544F40054CAF1000A44F002046D1C3D -:10F7E00028782E2817D115F8010F44F004042A2890 -:10F7F0000ED06FF02F022878A0F1300109290AD825 -:10F8000009EB890102EB410100EB01096D1CF2E7F4 -:10F8100057F8049B6D1C28786C280FD006DC4C2808 -:10F8200017D068280DD06A2814D104E0742810D0AD -:10F830007A280FD10DE044F400140AE044F4801457 -:10F8400001E044F440146978814202D104F5801447 -:10F850006D1C6D1C2A786E2A1FD00CDC632A31D0F7 -:10F8600004DC002A8BD0582A11D1A3E0642A68D086 -:10F87000692A0CD165E0732A2ED004DC6F2A73D07C -:10F88000702A04D19BE0752A6FD0782A6ED010467A -:10F89000DDE90F129047761C50E1C4F302500228B4 -:10F8A00006D0032809D0042801CF09D0066045E11D -:10F8B00001CFF117C0E9006140E101CF06803DE1D1 -:10F8C00006703BE117F8040B8DF8000000208DF85E -:10F8D0000100EB46012003E057F804BB4FF0FF3076 -:10F8E00061074FF0000102D40DE008F101018846E4 -:10F8F00049450FDA8045F8DB1BF808100029F4D1E0 -:10F9000008E008F1010188468142FADB1BF8081083 -:10F910000029F6D1DDE90F23AAEB08008146214634 -:10F9200000F036F9304400EB080604E0DDE90F1280 -:10F930001BF8010B9047B8F10108F7D22146484661 -:10F94000F7E00A21C4F302534FF0000B0891022B99 -:10F9500004D001CFC117032B09D00AE0FF1D27F007 -:10F960000707F7E8020108E032E01FE020E000B2FC -:10F97000C117042B01D140B2C117031E71F100035E -:10F9800007DA4FF0000CD0EB0C006CEB01012D23DB -:10F9900002E0230504D52B238DF82430012303E056 -:10F9A000E30701D02023F7E7984658E00A2110E04A -:10F9B00010210EE010204FF0000B08900CE01021F9 -:10F9C0004FF0000B44F004044FF00809089103E0E5 -:10F9D00008214FF0000B0891C4F30253022B04D00E -:10F9E00001CF0021032B06D006E0FF1D27F00707FB -:10F9F000F7E8020103E080B2042B00D1C0B24FF05F -:10FA0000000823072BD5702A07D0DDF820C08CF022 -:10FA1000100C5CEA0B0C05D00EE040238DF824306E -:10FA2000012308E050EA010306D030238DF824308A -:10FA30008DF8252002239846DDF820C08CF0080CB4 -:10FA40005CEA0B0C0BD150EA010301D1630706D528 -:10FA500030238DF824304FF00108A9F10109582A0C -:10FA600004D038A20B9208AA0A920BE03AA2F9E756 -:10FA70005B46089AF0F754FD0B9B9B5C0A9A521E5A -:10FA80000A92137050EA0102F2D10A98ADEB00001D -:10FA900000F1200B600702D524F4803401E04FF020 -:10FAA0000109D94502DDA9EB0B0000E0002000EBC5 -:10FAB0000B0141440890AAEB010AE00306D4DDE9FA -:10FAC0000F232146504600F063F806444FF000092A -:10FAD00008E009A911F80900DDE90F12904709F1C2 -:10FAE0000109761CC145F4DBE0030CD5DDE90F23E9 -:10FAF0002146504600F04CF8064404E0DDE90F12C0 -:10FB000030209047761C0899481E08900029F5DCA3 -:10FB100008E00A980A990078491C0A91DDE90F1259 -:10FB20009047761CBBF10001ABF1010BF1DC2146E3 -:10FB30005046DDE90F2300F019F806446D1C1BE662 -:10FB400009280100303132333435363738396162B3 -:10FB50006364656600000000303132333435363777 -:10FB60003839414243444546000000002DE9F04148 -:10FB7000044600251E461746880404D405E039468D -:10FB80002020B0476D1C641EF9D52846BDE8F081E1 -:10FB90002DE9F041044600251E469046C80301D5D4 -:10FBA000302700E02027880404D505E04146384688 -:10FBB000B0476D1C641EF9D52846BDE8F0814A683F -:10FBC000002A06D00A68531C0B6010704868401E5B -:10FBD0004860704701000000E803000005000000D5 -:10FBE000584D002020000000000000000000000030 -:10FBF0000000000000000000000000000000000005 -:10FC0000D84D00200010000000000000000000009F -:10FC100000000000000000000000000000000000E4 -:10FC2000000000000000000000040000FCFF0000D5 -:10FC300038000100FDB50000DDB500002000010026 -:10FC400004000000105F0020FC61002000000000A4 -:10FC500000000000000000000000000000000000A4 -:10FC600000000000605E0020105F00200000000027 -:10FC700000000000DC5D0020105E0020000000009D -:10FC8000010000000200000003000000040000006A -:10FC90000000000000000000000000000000000064 -:10FCA0000000000000000000000000000000000054 -:10FCB000000000000000000000000000050000003F -:10FCC0000600000007000000000000000000000027 -:10FCD0000000000000000000000000000000000024 -:10FCE0001800000000000000000000003D9500002A -:10FCF00035950000998400005D850000B184000006 -:10FD000009850000BD840000558500006D84000059 -:10FD1000FD830000F1830000298400004995000064 -:10FD2000399500003D950000359500001D860000C6 -:10FD3000E1860000358600008D86000041860000C7 -:10FD4000D9860000F18500008185000075850000DE -:10FD5000AD850000499500003995000011A3000011 -:10FD6000E9A200001DA3000001A8000039A30000C3 -:10FD7000C59D0000ED9D0000159E0000299E00001D -:10FD8000519E00008DA40000899E00004DA200003D -:10FD9000C59F0000E5A0000021A2000081A1000095 -:10FDA000EDA20000000000000000000000000000C4 -:10FDB0000000000000000000000000002000000023 -:10FDC00000000000000000007600010000000000BC -:10FDD000105F0020440000000062002000020000CC -:10FDE00018000000000000000000000000020000F9 -:10FDF000200000000002000020000000507F2000D2 -:10FE000008000000010000000000000000000000E9 -:10FE10000058021080D1F008020000000060084085 -:10FE200000700840008008400090084000A0084092 -:10FE30000060094000700940008009400E000F007A -:10FE400010001100003C104000001040644C0020E5 -:10FE500000000000083C104040001040784C00209A -:10FE600040000000103C1040800010408C4C0020EE -:10FE700080000000183C104080041040A04C00207E -:10FE800080040000203C104080081040B44C00204A -:10FE900080080000283C1040800C1040C84C002016 -:10FEA000800C0000303C104080101040DC4C0020E2 -:10FEB00080100000383C104080141040F04C0020AE -:10FEC00080140000403C104080181040044D002079 -:10FED00080180000483C1040801C1040184D002045 -:10FEE000801C0000403C104080201040044D002049 -:10FEF00080200000483C104080241040184D002015 -:10FF000080240000B5990000019A0000059A0000C5 -:10FF1000099A0000259A0000659A0000959A000051 -:10FF2000999A00009D9A0000F59A00002D9B000010 -:10FF3000319B0000359B0000399B00003D9B000079 -:10FF4000419B0000459B0000499B00004D9B000029 -:10FF5000519B0000559B0000599B00005D9B0000D9 -:10FF6000619B0000659B0000699B00006D9B000089 -:10FF7000719B0000759B0000799B00007D9B000039 -:10FF8000819B0000859B0000D19B0000D59B000059 -:10FF9000D99B0000DD9B0000C99C0000F99C00007B -:10FFA000FD9C0000219D0000259D0000899D000012 -:10FFB0008D9D0000919D0000959D0000999D000081 -:10FFC0009D9D0000A19D0000A99D0000AD9D000029 -:10FFD000B19D0000B59D0000B99D0000BD9D0000D1 -:10FFE000C19D000000000000E19B0000B59C0000E6 -:10FFF000C19C0000C59C0000000000000000000043 -:020000040001F9 -:1000000000000000545F0020440000000064002055 -:1000100000020000010000000000000000000000DD -:100020000000000000000000DC5D00203400000043 -:10003000105E0020500000000000000000000000E2 -:10004000985F0020440000000076002000020000BD -:10005000280000000000000000000000007A0020DE -:10006000007C00200B010C010D010E010F0110019D -:10007000110112011C02434443305F41434D5F555F -:100080004152545F746F5F5553425F5468726561AB -:1000900064002128284E554C4C203D3D2062617360 -:1000A0006529207C7C20284E554C4C203D3D206409 -:1000B00061746129290069203C202875696E7433B8 -:1000C000325F742946534C5F464541545552455F53 -:1000D000534F435F55534152545F434F554E540065 -:1000E00066736C5F75736172742E63004E554C4C71 -:1000F00020213D2062617365006368616E6E656CEE -:10010000203C202875696E7433325F742946534C45 -:100110005F464541545552455F444D415F4E554DF4 -:100120004245525F4F465F4348414E4E454C536EE9 -:1001300028626173652900433A2F4B65696C5F76CD -:10014000352F41524D2F5041434B2F4E58502F4C7D -:10015000504335355336395F4446502F31332E31B5 -:100160002E302F647269766572732F66736C5F64CC -:100170006D612E68006461746100433A2F4B6569BC -:100180006C5F76352F41524D2F5041434B2F4E58C7 -:10019000502F4C504335355336395F4446502F313C -:1001A000332E312E302F636F6D706F6E656E7473EA -:1001B0002F756172742F66736C5F61646170746512 -:1001C000725F75736172742E63006C656E6774681C -:1001D00000433A2F4B65696C5F76352F41524D2FA6 -:1001E0005041434B2F4E58502F4C504335355336CA -:1001F000395F4446502F31332E312E302F647269CF -:10020000766572732F66736C5F636C6F636B2E63BE -:100210000066616C736500433A2F4B65696C5F76CD -:10022000352F41524D2F5041434B2F4E58502F4C9C -:10023000504335355336395F4446502F31332E31D4 -:100240002E302F647269766572732F66736C5F63EC -:100250006F6D6D6F6E5F61726D2E6300284E554C31 -:100260004C20213D2068616E646C65292026262083 -:10027000286368616E6E656C203C202875696E7419 -:1002800033325F742946534C5F46454154555245BD -:100290005F444D415F4E554D4245525F4F465F436F -:1002A00048414E4E454C536E2862617365292900C2 -:1002B00068616E646C652D3E6368616E6E656C206E -:1002C0003C202875696E7433325F742946534C5F45 -:1002D000464541545552455F444D415F4E554D4250 -:1002E00045525F4F465F4348414E4E454C536E2842 -:1002F00068616E646C652D3E626173652900284EED -:10030000554C4C20213D2068616E646C6529202687 -:100310002620284E554C4C20213D20636F6E666987 -:1003200067290028786665725F636F756E74203C7C -:100330003D20444D415F4D41585F5452414E53461C -:1003400045525F434F554E542920262620283055CC -:100350004C203D3D207472616E7366657242797403 -:100360006573202520627974655769647468290073 -:10037000284E554C4C20213D2073726341646472B9 -:1003800029202626202830554C203D3D2028287540 -:10039000696E7433325F74292875696E7433325F05 -:1003A00074202A297372634164647229202520789D -:1003B0006665726366672D3E627974655769647419 -:1003C000682900284E554C4C20213D20647374410F -:1003D00064647229202626202830554C203D3D207B -:1003E000282875696E7433325F74292875696E74B4 -:1003F00033325F74202A2964737441646472292043 -:100400002520786665726366672D3E62797465574C -:1004100069647468290028786665726366672D3E92 -:10042000737263496E63203C3D202875696E743891 -:100430005F74296B444D415F416464726573734915 -:100440006E7465726C65617665347857696474683A -:10045000292026262028786665726366672D3E640B -:100460007374496E63203C3D202875696E74385F53 -:1004700074296B444D415F41646472657373496EC6 -:100480007465726C6561766534785769647468293F -:1004900000696E7374616E6365203C204152524165 -:1004A000595F53495A4528735F646D6142617365B2 -:1004B00073290028282875696E7433325F742928DF -:1004C00075696E7433325F74202A296E65787444BE -:1004D00065736329202620282875696E7433325F7E -:1004E000742946534C5F464541545552455F444D2F -:1004F000415F4C494E4B5F44455343524950544F22 -:10050000525F414C49474E5F53495A45202D203197 -:10051000554C2929203D3D2030554C00433A2F4B66 -:1005200065696C5F76352F41524D2F5041434B2FFB -:100530004E58502F4C504335355336395F44465052 -:100540002F31332E312E302F647269766572732FFE -:1005500066736C5F646D612E63004E554C4C2021B8 -:100560003D2068616E646C6500735F666C657863DE -:100570006F6D6D49727148616E646C65725B696E16 -:100580007374616E63655D20213D204E554C4C00B7 -:1005900069203C202875696E7433325F7429465394 -:1005A0004C5F464541545552455F534F435F464C5F -:1005B0004558434F4D4D5F434F554E5400433A2FDE -:1005C0004B65696C5F76352F41524D2F5041434B3F -:1005D0002F4E58502F4C504335355336395F4446D3 -:1005E000502F31332E312E302F647269766572733D -:1005F0002F66736C5F666C6578636F6D6D2E63003C -:10060000706F7274203C2041525241595F53495AD5 -:100610004528735F6770696F436C6F636B4E616DE4 -:10062000652900433A2F4B65696C5F76352F41523F -:100630004D2F5041434B2F4E58502F4C5043353582 -:100640005336395F4446502F31332E312E302F64CC -:100650007269766572732F66736C5F6770696F2E4F -:10066000630056455253494F4E305F464C41534804 -:100670005F4150495F545245450056455253494FDA -:100680004E315F464C4153485F4150495F5452459B -:100690004500433A2F4B65696C5F76352F41524DCB -:1006A0002F5041434B2F4E58502F4C50433535530C -:1006B00036395F4446502F31332E312E302F64723D -:1006C00069766572732F66736C5F6961702E630063 -:1006D000433A2F4B65696C5F76352F41524D2F5051 -:1006E00041434B2F4E58502F4C50433535533639DC -:1006F0005F4446502F31332E312E302F647269768D -:100700006572732F66736C5F72657365742E630018 -:10071000626974506F73203C2033327500786665CF -:10072000722D3E6461746120213D204E554C4C0079 -:1007300068616E646C6520213D204E554C4C007004 -:100740006172616D20213D204E554C4C00786665EC -:100750007220213D204E554C4C00786665722D3E2E -:100760006461746153697A6520213D2030550043EE -:100770003A2F4B65696C5F76352F41524D2F5041B2 -:10078000434B2F4E58502F4C504335355336395F1D -:100790004446502F31332E312E302F6472697665E6 -:1007A00072732F66736C5F75736172745F646D61D1 -:1007B0002E63004E554C4C20213D2068616E646CC8 -:1007C000652D3E7278446D6148616E646C65004EC3 -:1007D000554C4C20213D2068616E646C652D3E7443 -:1007E00078446D6148616E646C65004E554C4C20D8 -:1007F000213D20636F756E7400555342445F43750D -:1008000073746F6D436C617373305F4550315F5427 -:10081000687265616400555342445F437573746F39 -:100820006D436C617373305F4550325F546872651D -:10083000616400555342445F437573746F6D436C3C -:10084000617373305F4550335F5468726561640053 -:10085000555342445F437573746F6D436C6173739A -:10086000305F4550345F546872656164005553428F -:1008700044305F436F72655F546872656164005510 -:100880005342445F434443305F42756C6B5F54682E -:100890007265616400555342445F434443305F498D -:1008A0006E745F5468726561640000005254582091 -:1008B00056352E352E33000000200840050000007C -:1008C0000020084004000000006008406D85000022 -:1008D0000020084009000000002008400800000037 -:1008E00000900840F18600000902690003010080C1 -:1008F000FA0904000003FF0000040705010240009C -:100900000007058102400000070582024000000840 -:100910000B010202020105090401000102020005A7 -:100920000524001001052401030104240206052406 -:100930000601020705830310000209040200020AEF -:10094000000006070504024000000705840240007D -:10095000000000000902690003010080FA09040098 -:100960000003FF00000407050102000200070581E3 -:100970000200020007058202000200080B010202C9 -:10098000020105090401000102020005052400100E -:1009900001052401030104240206052406010207BF -:1009A00005830310000209040200020A0000060782 -:1009B0000504020002000705840200020000000096 -:1009C0006D08010000000000DC5F00204400000012 -:1009D000006600200004000020000000000000006D -:1009E000000000005CFD00007081002040820020BB -:1009F0007481002080010300064010000100800087 -:100A000012010002EF02014051C20BF0000101028D -:100A1000030100000A06000200000040010000007F -:100A20000A06000200000040010000000705000067 -:100A30004000000028000000000104000100000048 -:100A400000000000000157494E55534200000000CD -:100A500000000000000000000000000012034D0034 -:100A60005300460054003100300030000100000007 -:100A70000907690003010080FA0904000003FF0070 -:100A800000040705010200020007058102000200C0 -:100A900007058202000200080B010202020105099B -:100AA00004010001020200050524001001052401D3 -:100AB000030104240206052406010207058303102E -:100AC000000209040200020A0000060705040200F1 -:100AD0000200070584020002000000000907690007 -:100AE00003010080FA0904000003FF000004070569 -:100AF0000102400000070581024000000705820254 -:100B0000400000080B010202020105090401000176 -:100B1000020200050524001001052401030104243C -:100B200002060524060102070583031000020904DA -:100B30000200020A00000607050402400000070543 -:100B400084024000000000000403090428034B0055 -:100B5000450049004C0020002D00200054006F008B -:100B60006F006C00730020004200790020004100FB -:100B700052004D0012034D00430055002D004C0063 -:100B800049004E004B001A033000300030003100A5 -:100B900041003000300030003000300030003000C4 -:100BA00026034D00430055002D004C0049004E0027 -:100BB0004B00200043004D005300490053002D001E -:100BC00044004100500016035500530042005F00EE -:100BD00043004400430030005F003000160355001E -:100BE000530042005F0043004400430030005F00B8 -:100BF00031000000A1990000A99900008E000000BA -:100C00000001050001008400000001000000280030 -:100C100044006500760069006300650049006E00CD -:100C200074006500720066006100630065004700A3 -:100C300055004900440000004E0000007B004300C6 -:100C400044004200330042003500410044002D00C2 -:100C500032003900330042002D00340036003600E7 -:100C600033002D0041004100330036002D003100DB -:100C700041004100450034003600340036003300A6 -:100C80003700370036007D00000000000000000043 -:100C90000801002000000000000000000002000029 -:100CA0002000000000020000200000000002000000 -:100CB000200000000002000020000000008D002045 -:100CC000F4820020E882002000910020008B0020A8 -:100CD0000493002000010001020304040004000842 -:100CE00010001000400000020000000000000000A2 -:100CF00000000000000000000000000000000000F4 -:100D00000000000001000000BC0C0100950801007B -:100D10007F0801000000060001000101018101823D -:100D200000820003008300040084000100010081B0 -:100D3000000200820003008300040084000200011E -:100D4000008100020082000300830004008400038D -:100D5000000100810002008200030083000400847F -:100D600001000000140D010001000000E409010071 -:100D700005000000000E010000000020000200003D -:100D80003CF700000010010000020020009200006B -:100D90004CF70000F0D095030000000000000000B8 -:100DA0000000000000000000000000000000000043 -:100DB0000000000000000000000000000000000033 -:100DC0000000000000000000000000000000000023 -:100DD0000000000000000000000000000000000013 -:100DE0000000000000000000000000000000000003 -:100DF00000000000000000000000000000000000F3 -:100E000000000000000000000000000000000000E2 -:100E100000000000000000000000000000000000D2 -:100E20000000000000000000001BB70001000000EF -:100E3000AC080100D3B3FB0200000000000000007A -:100E400000000000000000000000000000000000A2 -:100E50000000000000000000000000000000000092 -:100E60000000000000000000000000000000000082 -:100E70000000000000000000000000000000000072 -:100E80000000000000000000000000000000000062 -:100E90000000000000000000000000000000000052 -:100EA0000000000000000000000000000000000042 -:100EB0000000000000000000000000000000000032 -:100EC0000000000000000000000000000000000022 -:100ED000000000000024F4002C0A0100000A0100B8 -:100EE000140A0100200A0100E80801005409010069 -:100EF000700A0100DC0A0100480B0100C0820020DA -:100F00005C0A0100340A0100FC0B01008A0C01009C -:100F10008B0C01008C0C0100D80000208C93002069 -:100F20009493002098930020889300200093002041 -:100F3000C8080100B8080100E423002004240020B0 -:100F4000142400200000000000000000E008010060 -:100F5000D008010024240020442400205424002030 -:100F60000000000000000000000000000000000081 -:100F70000000000000000000000000000000000071 -:100F80000000000000000000000000000000000061 -:100F90000000000000000000000000000000000051 -:100FA0000000000000000000000000000000000041 -:100FB0000000000000000000000000000000000031 -:100FC0000000000000000000000000000000000021 -:100FD0000000000000000000000000000000000011 -:100FE0000000000000000000000000000000000001 -:100FF00000000000000000000000000000000000F1 -:0400000500000201F4 -:00000001FF diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/README.md b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/README.md deleted file mode 100644 index f8d4dbf..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/README.md +++ /dev/null @@ -1,13 +0,0 @@ -CMSIS-DAP v2 firmware for NXP MCU-LINK debug probe. - -CMSIS-DAP v2 uses USB bulk endpoints for the communication with the host PC and is therefore faster. -Optionally, support for streaming SWO trace is provided via an additional USB endpoint. - -Instructions for programing CMSIS_DAP firmware on MCU-LINK: -- download and install MCU-LINK_installer from https://www.nxp.com/design/microcontrollers-developer-resources/mcu-link-debug-probe:MCU-LINK -- disconnect MCU-LINK from USB (J1), set "firmware update" jumper (J3), connect MCU-LINK to USB (J1) -- open a Command Window -- navigate to the MCU-LINK_installer installation (default C:\nxp\MCU-LINK_installer\) and go to the scripts sub-directory -- copy pre-built firmware hex file ..\CMSIS\DAP\Firmware\Examples\MCU-LINK\Objects\CMSIS_DAP.hex to scripts directory -- run the command: programm_CMSIS.cmd CMSIS_DAP.hex -- follow the instructions in command window diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/CMSIS/RTX_Config.c b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/CMSIS/RTX_Config.c deleted file mode 100644 index 737078a..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/CMSIS/RTX_Config.c +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright (c) 2013-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ----------------------------------------------------------------------------- - * - * $Revision: V5.1.1 - * - * Project: CMSIS-RTOS RTX - * Title: RTX Configuration - * - * ----------------------------------------------------------------------------- - */ - -#include "cmsis_compiler.h" -#include "rtx_os.h" - -// OS Idle Thread -__WEAK __NO_RETURN void osRtxIdleThread (void *argument) { - (void)argument; - - for (;;) {} -} - -// OS Error Callback function -__WEAK uint32_t osRtxErrorNotify (uint32_t code, void *object_id) { - (void)object_id; - - switch (code) { - case osRtxErrorStackOverflow: - // Stack overflow detected for thread (thread_id=object_id) - break; - case osRtxErrorISRQueueOverflow: - // ISR Queue overflow detected when inserting object (object_id) - break; - case osRtxErrorTimerQueueOverflow: - // User Timer Callback Queue overflow detected for timer (timer_id=object_id) - break; - case osRtxErrorClibSpace: - // Standard C/C++ library libspace not available: increase OS_THREAD_LIBSPACE_NUM - break; - case osRtxErrorClibMutex: - // Standard C/C++ library mutex initialization failed - break; - default: - // Reserved - break; - } - for (;;) {} -//return 0U; -} diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/CMSIS/RTX_Config.h b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/CMSIS/RTX_Config.h deleted file mode 100644 index 3c70db6..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/CMSIS/RTX_Config.h +++ /dev/null @@ -1,580 +0,0 @@ -/* - * Copyright (c) 2013-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ----------------------------------------------------------------------------- - * - * $Revision: V5.5.2 - * - * Project: CMSIS-RTOS RTX - * Title: RTX Configuration definitions - * - * ----------------------------------------------------------------------------- - */ - -#ifndef RTX_CONFIG_H_ -#define RTX_CONFIG_H_ - -#ifdef _RTE_ -#include "RTE_Components.h" -#ifdef RTE_RTX_CONFIG_H -#include RTE_RTX_CONFIG_H -#endif -#endif - -//-------- <<< Use Configuration Wizard in Context Menu >>> -------------------- - -// System Configuration -// ======================= - -// Global Dynamic Memory size [bytes] <0-1073741824:8> -// Defines the combined global dynamic memory size. -// Default: 32768 -#ifndef OS_DYNAMIC_MEM_SIZE -#define OS_DYNAMIC_MEM_SIZE 4096 -#endif - -// Kernel Tick Frequency [Hz] <1-1000000> -// Defines base time unit for delays and timeouts. -// Default: 1000 (1ms tick) -#ifndef OS_TICK_FREQ -#define OS_TICK_FREQ 1000 -#endif - -// Round-Robin Thread switching -// Enables Round-Robin Thread switching. -#ifndef OS_ROBIN_ENABLE -#define OS_ROBIN_ENABLE 1 -#endif - -// Round-Robin Timeout <1-1000> -// Defines how many ticks a thread will execute before a thread switch. -// Default: 5 -#ifndef OS_ROBIN_TIMEOUT -#define OS_ROBIN_TIMEOUT 5 -#endif - -// - -// ISR FIFO Queue -// <4=> 4 entries <8=> 8 entries <12=> 12 entries <16=> 16 entries -// <24=> 24 entries <32=> 32 entries <48=> 48 entries <64=> 64 entries -// <96=> 96 entries <128=> 128 entries <196=> 196 entries <256=> 256 entries -// RTOS Functions called from ISR store requests to this buffer. -// Default: 16 entries -#ifndef OS_ISR_FIFO_QUEUE -#define OS_ISR_FIFO_QUEUE 32 -#endif - -// Object Memory usage counters -// Enables object memory usage counters (requires RTX source variant). -#ifndef OS_OBJ_MEM_USAGE -#define OS_OBJ_MEM_USAGE 0 -#endif - -// - -// Thread Configuration -// ======================= - -// Object specific Memory allocation -// Enables object specific memory allocation. -#ifndef OS_THREAD_OBJ_MEM -#define OS_THREAD_OBJ_MEM 0 -#endif - -// Number of user Threads <1-1000> -// Defines maximum number of user threads that can be active at the same time. -// Applies to user threads with system provided memory for control blocks. -#ifndef OS_THREAD_NUM -#define OS_THREAD_NUM 1 -#endif - -// Number of user Threads with default Stack size <0-1000> -// Defines maximum number of user threads with default stack size. -// Applies to user threads with zero stack size specified. -#ifndef OS_THREAD_DEF_STACK_NUM -#define OS_THREAD_DEF_STACK_NUM 0 -#endif - -// Total Stack size [bytes] for user Threads with user-provided Stack size <0-1073741824:8> -// Defines the combined stack size for user threads with user-provided stack size. -// Applies to user threads with user-provided stack size and system provided memory for stack. -// Default: 0 -#ifndef OS_THREAD_USER_STACK_SIZE -#define OS_THREAD_USER_STACK_SIZE 0 -#endif - -// - -// Default Thread Stack size [bytes] <96-1073741824:8> -// Defines stack size for threads with zero stack size specified. -// Default: 3072 -#ifndef OS_STACK_SIZE -#define OS_STACK_SIZE 1024 -#endif - -// Idle Thread Stack size [bytes] <72-1073741824:8> -// Defines stack size for Idle thread. -// Default: 512 -#ifndef OS_IDLE_THREAD_STACK_SIZE -#define OS_IDLE_THREAD_STACK_SIZE 512 -#endif - -// Idle Thread TrustZone Module Identifier -// Defines TrustZone Thread Context Management Identifier. -// Applies only to cores with TrustZone technology. -// Default: 0 (not used) -#ifndef OS_IDLE_THREAD_TZ_MOD_ID -#define OS_IDLE_THREAD_TZ_MOD_ID 0 -#endif - -// Stack overrun checking -// Enables stack overrun check at thread switch (requires RTX source variant). -// Enabling this option increases slightly the execution time of a thread switch. -#ifndef OS_STACK_CHECK -#define OS_STACK_CHECK 0 -#endif - -// Stack usage watermark -// Initializes thread stack with watermark pattern for analyzing stack usage. -// Enabling this option increases significantly the execution time of thread creation. -#ifndef OS_STACK_WATERMARK -#define OS_STACK_WATERMARK 0 -#endif - -// Processor mode for Thread execution -// <0=> Unprivileged mode -// <1=> Privileged mode -// Default: Privileged mode -#ifndef OS_PRIVILEGE_MODE -#define OS_PRIVILEGE_MODE 1 -#endif - -// - -// Timer Configuration -// ====================== - -// Object specific Memory allocation -// Enables object specific memory allocation. -#ifndef OS_TIMER_OBJ_MEM -#define OS_TIMER_OBJ_MEM 0 -#endif - -// Number of Timer objects <1-1000> -// Defines maximum number of objects that can be active at the same time. -// Applies to objects with system provided memory for control blocks. -#ifndef OS_TIMER_NUM -#define OS_TIMER_NUM 1 -#endif - -// - -// Timer Thread Priority -// <8=> Low -// <16=> Below Normal <24=> Normal <32=> Above Normal -// <40=> High -// <48=> Realtime -// Defines priority for timer thread -// Default: High -#ifndef OS_TIMER_THREAD_PRIO -#define OS_TIMER_THREAD_PRIO 40 -#endif - -// Timer Thread Stack size [bytes] <0-1073741824:8> -// Defines stack size for Timer thread. -// May be set to 0 when timers are not used. -// Default: 512 -#ifndef OS_TIMER_THREAD_STACK_SIZE -#define OS_TIMER_THREAD_STACK_SIZE 512 -#endif - -// Timer Thread TrustZone Module Identifier -// Defines TrustZone Thread Context Management Identifier. -// Applies only to cores with TrustZone technology. -// Default: 0 (not used) -#ifndef OS_TIMER_THREAD_TZ_MOD_ID -#define OS_TIMER_THREAD_TZ_MOD_ID 0 -#endif - -// Timer Callback Queue entries <0-256> -// Number of concurrent active timer callback functions. -// May be set to 0 when timers are not used. -// Default: 4 -#ifndef OS_TIMER_CB_QUEUE -#define OS_TIMER_CB_QUEUE 4 -#endif - -// - -// Event Flags Configuration -// ============================ - -// Object specific Memory allocation -// Enables object specific memory allocation. -#ifndef OS_EVFLAGS_OBJ_MEM -#define OS_EVFLAGS_OBJ_MEM 0 -#endif - -// Number of Event Flags objects <1-1000> -// Defines maximum number of objects that can be active at the same time. -// Applies to objects with system provided memory for control blocks. -#ifndef OS_EVFLAGS_NUM -#define OS_EVFLAGS_NUM 1 -#endif - -// - -// - -// Mutex Configuration -// ====================== - -// Object specific Memory allocation -// Enables object specific memory allocation. -#ifndef OS_MUTEX_OBJ_MEM -#define OS_MUTEX_OBJ_MEM 0 -#endif - -// Number of Mutex objects <1-1000> -// Defines maximum number of objects that can be active at the same time. -// Applies to objects with system provided memory for control blocks. -#ifndef OS_MUTEX_NUM -#define OS_MUTEX_NUM 1 -#endif - -// - -// - -// Semaphore Configuration -// ========================== - -// Object specific Memory allocation -// Enables object specific memory allocation. -#ifndef OS_SEMAPHORE_OBJ_MEM -#define OS_SEMAPHORE_OBJ_MEM 0 -#endif - -// Number of Semaphore objects <1-1000> -// Defines maximum number of objects that can be active at the same time. -// Applies to objects with system provided memory for control blocks. -#ifndef OS_SEMAPHORE_NUM -#define OS_SEMAPHORE_NUM 1 -#endif - -// - -// - -// Memory Pool Configuration -// ============================ - -// Object specific Memory allocation -// Enables object specific memory allocation. -#ifndef OS_MEMPOOL_OBJ_MEM -#define OS_MEMPOOL_OBJ_MEM 0 -#endif - -// Number of Memory Pool objects <1-1000> -// Defines maximum number of objects that can be active at the same time. -// Applies to objects with system provided memory for control blocks. -#ifndef OS_MEMPOOL_NUM -#define OS_MEMPOOL_NUM 1 -#endif - -// Data Storage Memory size [bytes] <0-1073741824:8> -// Defines the combined data storage memory size. -// Applies to objects with system provided memory for data storage. -// Default: 0 -#ifndef OS_MEMPOOL_DATA_SIZE -#define OS_MEMPOOL_DATA_SIZE 0 -#endif - -// - -// - -// Message Queue Configuration -// ============================== - -// Object specific Memory allocation -// Enables object specific memory allocation. -#ifndef OS_MSGQUEUE_OBJ_MEM -#define OS_MSGQUEUE_OBJ_MEM 0 -#endif - -// Number of Message Queue objects <1-1000> -// Defines maximum number of objects that can be active at the same time. -// Applies to objects with system provided memory for control blocks. -#ifndef OS_MSGQUEUE_NUM -#define OS_MSGQUEUE_NUM 1 -#endif - -// Data Storage Memory size [bytes] <0-1073741824:8> -// Defines the combined data storage memory size. -// Applies to objects with system provided memory for data storage. -// Default: 0 -#ifndef OS_MSGQUEUE_DATA_SIZE -#define OS_MSGQUEUE_DATA_SIZE 0 -#endif - -// - -// - -// Event Recorder Configuration -// =============================== - -// Global Initialization -// Initialize Event Recorder during 'osKernelInitialize'. -#ifndef OS_EVR_INIT -#define OS_EVR_INIT 0 -#endif - -// Start recording -// Start event recording after initialization. -#ifndef OS_EVR_START -#define OS_EVR_START 1 -#endif - -// Global Event Filter Setup -// Initial recording level applied to all components. -// Error events -// API function call events -// Operation events -// Detailed operation events -// -#ifndef OS_EVR_LEVEL -#define OS_EVR_LEVEL 0x00U -#endif - -// RTOS Event Filter Setup -// Recording levels for RTX components. -// Only applicable if events for the respective component are generated. - -// Memory Management -// Recording level for Memory Management events. -// Error events -// API function call events -// Operation events -// Detailed operation events -// -#ifndef OS_EVR_MEMORY_LEVEL -#define OS_EVR_MEMORY_LEVEL 0x81U -#endif - -// Kernel -// Recording level for Kernel events. -// Error events -// API function call events -// Operation events -// Detailed operation events -// -#ifndef OS_EVR_KERNEL_LEVEL -#define OS_EVR_KERNEL_LEVEL 0x81U -#endif - -// Thread -// Recording level for Thread events. -// Error events -// API function call events -// Operation events -// Detailed operation events -// -#ifndef OS_EVR_THREAD_LEVEL -#define OS_EVR_THREAD_LEVEL 0x85U -#endif - -// Generic Wait -// Recording level for Generic Wait events. -// Error events -// API function call events -// Operation events -// Detailed operation events -// -#ifndef OS_EVR_WAIT_LEVEL -#define OS_EVR_WAIT_LEVEL 0x81U -#endif - -// Thread Flags -// Recording level for Thread Flags events. -// Error events -// API function call events -// Operation events -// Detailed operation events -// -#ifndef OS_EVR_THFLAGS_LEVEL -#define OS_EVR_THFLAGS_LEVEL 0x81U -#endif - -// Event Flags -// Recording level for Event Flags events. -// Error events -// API function call events -// Operation events -// Detailed operation events -// -#ifndef OS_EVR_EVFLAGS_LEVEL -#define OS_EVR_EVFLAGS_LEVEL 0x81U -#endif - -// Timer -// Recording level for Timer events. -// Error events -// API function call events -// Operation events -// Detailed operation events -// -#ifndef OS_EVR_TIMER_LEVEL -#define OS_EVR_TIMER_LEVEL 0x81U -#endif - -// Mutex -// Recording level for Mutex events. -// Error events -// API function call events -// Operation events -// Detailed operation events -// -#ifndef OS_EVR_MUTEX_LEVEL -#define OS_EVR_MUTEX_LEVEL 0x81U -#endif - -// Semaphore -// Recording level for Semaphore events. -// Error events -// API function call events -// Operation events -// Detailed operation events -// -#ifndef OS_EVR_SEMAPHORE_LEVEL -#define OS_EVR_SEMAPHORE_LEVEL 0x81U -#endif - -// Memory Pool -// Recording level for Memory Pool events. -// Error events -// API function call events -// Operation events -// Detailed operation events -// -#ifndef OS_EVR_MEMPOOL_LEVEL -#define OS_EVR_MEMPOOL_LEVEL 0x81U -#endif - -// Message Queue -// Recording level for Message Queue events. -// Error events -// API function call events -// Operation events -// Detailed operation events -// -#ifndef OS_EVR_MSGQUEUE_LEVEL -#define OS_EVR_MSGQUEUE_LEVEL 0x81U -#endif - -// - -// - -// RTOS Event Generation -// Enables event generation for RTX components (requires RTX source variant). - -// Memory Management -// Enables Memory Management event generation. -#ifndef OS_EVR_MEMORY -#define OS_EVR_MEMORY 1 -#endif - -// Kernel -// Enables Kernel event generation. -#ifndef OS_EVR_KERNEL -#define OS_EVR_KERNEL 1 -#endif - -// Thread -// Enables Thread event generation. -#ifndef OS_EVR_THREAD -#define OS_EVR_THREAD 1 -#endif - -// Generic Wait -// Enables Generic Wait event generation. -#ifndef OS_EVR_WAIT -#define OS_EVR_WAIT 1 -#endif - -// Thread Flags -// Enables Thread Flags event generation. -#ifndef OS_EVR_THFLAGS -#define OS_EVR_THFLAGS 1 -#endif - -// Event Flags -// Enables Event Flags event generation. -#ifndef OS_EVR_EVFLAGS -#define OS_EVR_EVFLAGS 1 -#endif - -// Timer -// Enables Timer event generation. -#ifndef OS_EVR_TIMER -#define OS_EVR_TIMER 1 -#endif - -// Mutex -// Enables Mutex event generation. -#ifndef OS_EVR_MUTEX -#define OS_EVR_MUTEX 1 -#endif - -// Semaphore -// Enables Semaphore event generation. -#ifndef OS_EVR_SEMAPHORE -#define OS_EVR_SEMAPHORE 1 -#endif - -// Memory Pool -// Enables Memory Pool event generation. -#ifndef OS_EVR_MEMPOOL -#define OS_EVR_MEMPOOL 1 -#endif - -// Message Queue -// Enables Message Queue event generation. -#ifndef OS_EVR_MSGQUEUE -#define OS_EVR_MSGQUEUE 1 -#endif - -// - -// - -// Number of Threads which use standard C/C++ library libspace -// (when thread specific memory allocation is not used). -#if (OS_THREAD_OBJ_MEM == 0) -#ifndef OS_THREAD_LIBSPACE_NUM -#define OS_THREAD_LIBSPACE_NUM 4 -#endif -#else -#define OS_THREAD_LIBSPACE_NUM OS_THREAD_NUM -#endif - -//------------- <<< end of configuration section >>> --------------------------- - -#endif // RTX_CONFIG_H_ diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/Device/LPC55S69JBD64_cm33_core0/LPC55S69_cm33_core0_flash.scf b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/Device/LPC55S69JBD64_cm33_core0/LPC55S69_cm33_core0_flash.scf deleted file mode 100644 index 1af7a54..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/Device/LPC55S69JBD64_cm33_core0/LPC55S69_cm33_core0_flash.scf +++ /dev/null @@ -1,105 +0,0 @@ -#!armclang --target=arm-arm-none-eabi -march=armv8-m.main -E -x c -/* -** ################################################################### -** Processors: LPC55S69JBD100_cm33_core0 -** LPC55S69JBD64_cm33_core0 -** LPC55S69JEV98_cm33_core0 -** -** Compiler: Keil ARM C/C++ Compiler -** Reference manual: LPC55S6x/LPC55S2x/LPC552x User manual(UM11126) Rev.1.3 16 May 2019 -** Version: rev. 1.1, 2019-05-16 -** Build: b200722 -** -** Abstract: -** Linker file for the Keil ARM C/C++ Compiler -** -** Copyright 2016 Freescale Semiconductor, Inc. -** Copyright 2016-2020 NXP -** All rights reserved. -** -** SPDX-License-Identifier: BSD-3-Clause -** -** http: www.nxp.com -** mail: support@nxp.com -** -** ################################################################### -*/ - - -/* USB BDT size */ -#define usb_bdt_size 0x0 -/* Sizes */ -#if (defined(__stack_size__)) - #define Stack_Size __stack_size__ -#else - #define Stack_Size 0x0400 -#endif - -#if (defined(__heap_size__)) - #define Heap_Size __heap_size__ -#else - #define Heap_Size 0x0400 -#endif - -#define m_interrupts_start 0x00000000 -#define m_interrupts_size 0x00000200 - -#define m_text_start 0x00000200 -#define m_text_size 0x00071E00 - -#define m_core1_image_start 0x00072000 -#define m_core1_image_size 0x00026000 - -#if (defined(__use_shmem__)) - #define m_data_start 0x20000000 - #define m_data_size 0x00031800 - #define m_rpmsg_sh_mem_start 0x20031800 - #define m_rpmsg_sh_mem_size 0x00001800 -#else - #define m_data_start 0x20000000 - #define m_data_size 0x00033000 -#endif - -#define m_usb_sram_start 0x40100000 -#define m_usb_sram_size 0x00004000 - - -LR_m_text m_interrupts_start m_interrupts_size+m_text_size { ; load region size_region - - VECTOR_ROM m_interrupts_start m_interrupts_size { ; load address = execution address - * (.isr_vector,+FIRST) - } - - ER_m_text m_text_start FIXED m_text_size { ; load address = execution address - * (InRoot$$Sections) - .ANY (+RO) - } - -#if (defined(__use_shmem__)) - RPMSG_SH_MEM m_rpmsg_sh_mem_start UNINIT m_rpmsg_sh_mem_size { ; Shared memory used by RPMSG - * (rpmsg_sh_mem_section) - } -#endif - - RW_m_data m_data_start m_data_size-Stack_Size-Heap_Size { ; RW data - .ANY (+RW +ZI) - } - ARM_LIB_HEAP +0 EMPTY Heap_Size { ; Heap region growing up - } - ARM_LIB_STACK m_data_start+m_data_size EMPTY -Stack_Size { ; Stack region growing down - } - - RW_m_usb_bdt m_usb_sram_start UNINIT usb_bdt_size { - * (*m_usb_bdt) - } - - RW_m_usb_ram (m_usb_sram_start + usb_bdt_size) UNINIT (m_usb_sram_size - usb_bdt_size) { - * (*m_usb_global) - } -} - -LR_CORE1_IMAGE m_core1_image_start { - CORE1_REGION m_core1_image_start m_core1_image_size { - * (.core1_code) - } -} diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/Device/LPC55S69JBD64_cm33_core0/LPC55S69_cm33_core0_flash_ns.scf b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/Device/LPC55S69JBD64_cm33_core0/LPC55S69_cm33_core0_flash_ns.scf deleted file mode 100644 index 56067ac..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/Device/LPC55S69JBD64_cm33_core0/LPC55S69_cm33_core0_flash_ns.scf +++ /dev/null @@ -1,107 +0,0 @@ -#!armclang --target=arm-arm-none-eabi -march=armv8-m.main -E -x c -/* -** ################################################################### -** Processors: LPC55S69JBD100_cm33_core0 -** LPC55S69JBD64_cm33_core0 -** LPC55S69JEV98_cm33_core0 -** -** Compiler: Keil ARM C/C++ Compiler -** Reference manual: LPC55S6x/LPC55S2x/LPC552x User manual(UM11126) Rev.1.3 16 May 2019 -** Version: rev. 1.1, 2019-05-16 -** Build: b190923 -** -** Abstract: -** Linker file for the Keil ARM C/C++ Compiler -** -** Copyright 2016 Freescale Semiconductor, Inc. -** Copyright 2016-2019 NXP -** All rights reserved. -** -** SPDX-License-Identifier: BSD-3-Clause -** -** http: www.nxp.com -** mail: support@nxp.com -** -** ################################################################### -*/ - - -/* USB BDT size */ -#define usb_bdt_size 0x0 -/* Sizes */ -#if (defined(__stack_size__)) - #define Stack_Size __stack_size__ -#else - #define Stack_Size 0x0400 -#endif - -#if (defined(__heap_size__)) - #define Heap_Size __heap_size__ -#else - #define Heap_Size 0x0400 -#endif - -/* The first 64kB of FLASH is used as secure memory. The rest of FLASH memory is non-secure memory. */ -#define m_interrupts_start 0x00010000 -#define m_interrupts_size 0x00000200 - -#define m_text_start 0x00010200 -#define m_text_size 0x00061E00 - -#define m_core1_image_start 0x00072000 -#define m_core1_image_size 0x00026000 - -/* The first 32kB of data RAM is used as secure memory. The rest of data RAM memory is non-secure memory. */ -#if (defined(__use_shmem__)) - #define m_data_start 0x20008000 - #define m_data_size 0x00029000 - #define m_rpmsg_sh_mem_start 0x20031800 - #define m_rpmsg_sh_mem_size 0x00001800 -#else - #define m_data_start 0x20008000 - #define m_data_size 0x0002B000 -#endif - -#define m_usb_sram_start 0x40100000 -#define m_usb_sram_size 0x00004000 - - -LR_m_text m_interrupts_start m_interrupts_size+m_text_size { ; load region size_region - - VECTOR_ROM m_interrupts_start m_interrupts_size { ; load address = execution address - * (.isr_vector,+FIRST) - } - - ER_m_text m_text_start FIXED m_text_size { ; load address = execution address - * (InRoot$$Sections) - .ANY (+RO) - } - -#if (defined(__use_shmem__)) - RPMSG_SH_MEM m_rpmsg_sh_mem_start UNINIT m_rpmsg_sh_mem_size { ; Shared memory used by RPMSG - * (rpmsg_sh_mem_section) - } -#endif - - RW_m_data m_data_start m_data_size-Stack_Size-Heap_Size { ; RW data - .ANY (+RW +ZI) - } - ARM_LIB_HEAP +0 EMPTY Heap_Size { ; Heap region growing up - } - ARM_LIB_STACK m_data_start+m_data_size EMPTY -Stack_Size { ; Stack region growing down - } - - RW_m_usb_bdt m_usb_sram_start UNINIT usb_bdt_size { - * (*m_usb_bdt) - } - - RW_m_usb_ram (m_usb_sram_start + usb_bdt_size) UNINIT (m_usb_sram_size - usb_bdt_size) { - * (*m_usb_global) - } -} - -LR_CORE1_IMAGE m_core1_image_start { - CORE1_REGION m_core1_image_start m_core1_image_size { - * (.core1_code) - } -} diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/Device/LPC55S69JBD64_cm33_core0/LPC55S69_cm33_core0_flash_s.scf b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/Device/LPC55S69JBD64_cm33_core0/LPC55S69_cm33_core0_flash_s.scf deleted file mode 100644 index f4ea3e7..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/Device/LPC55S69JBD64_cm33_core0/LPC55S69_cm33_core0_flash_s.scf +++ /dev/null @@ -1,116 +0,0 @@ -#!armclang --target=arm-arm-none-eabi -march=armv8-m.main -E -x c -/* -** ################################################################### -** Processors: LPC55S69JBD100_cm33_core0 -** LPC55S69JBD64_cm33_core0 -** LPC55S69JEV98_cm33_core0 -** -** Compiler: Keil ARM C/C++ Compiler -** Reference manual: LPC55S6x/LPC55S2x/LPC552x User manual(UM11126) Rev.1.3 16 May 2019 -** Version: rev. 1.1, 2019-05-16 -** Build: b190923 -** -** Abstract: -** Linker file for the Keil ARM C/C++ Compiler -** -** Copyright 2016 Freescale Semiconductor, Inc. -** Copyright 2016-2019 NXP -** All rights reserved. -** -** SPDX-License-Identifier: BSD-3-Clause -** -** http: www.nxp.com -** mail: support@nxp.com -** -** ################################################################### -*/ - - -/* USB BDT size */ -#define usb_bdt_size 0x0 -/* Sizes */ -#if (defined(__stack_size__)) - #define Stack_Size __stack_size__ -#else - #define Stack_Size 0x0400 -#endif - -#if (defined(__heap_size__)) - #define Heap_Size __heap_size__ -#else - #define Heap_Size 0x0400 -#endif - -/* Only the first 64kB of flash is used as secure memory. */ -#define m_interrupts_start 0x10000000 -#define m_interrupts_size 0x00000200 - -#define m_text_start 0x10000200 -#define m_text_size 0x0000FC00 - -#define m_core1_image_start 0x10072000 -#define m_core1_image_size 0x00026000 - -/* Only first 32kB of data RAM is used as secure memory. */ -#if (defined(__use_shmem__)) - #define m_data_start 0x30000000 - #define m_data_size 0x00008000 - #define m_rpmsg_sh_mem_start 0x30031800 - #define m_rpmsg_sh_mem_size 0x00001800 -#else - #define m_data_start 0x30000000 - #define m_data_size 0x00008000 -#endif - -/* 512B - memory for veneer table (NSC - secure, non-secure callable memory) */ -#define m_veneer_table_start 0x1000FE00 -#define m_veneer_table_size 0x200 - - -#define m_usb_sram_start 0x50100000 -#define m_usb_sram_size 0x00004000 - - -LR_m_text m_interrupts_start m_interrupts_size+m_text_size+m_veneer_table_size { ; load region size_region - - VECTOR_ROM m_interrupts_start m_interrupts_size { ; load address = execution address - * (.isr_vector,+FIRST) - } - - ER_m_text m_text_start FIXED m_text_size { ; load address = execution address - * (InRoot$$Sections) - .ANY (+RO) - } - -#if (defined(__use_shmem__)) - RPMSG_SH_MEM m_rpmsg_sh_mem_start UNINIT m_rpmsg_sh_mem_size { ; Shared memory used by RPMSG - * (rpmsg_sh_mem_section) - } -#endif - - RW_m_data m_data_start m_data_size-Stack_Size-Heap_Size { ; RW data - .ANY (+RW +ZI) - } - ARM_LIB_HEAP +0 EMPTY Heap_Size { ; Heap region growing up - } - ARM_LIB_STACK m_data_start+m_data_size EMPTY -Stack_Size { ; Stack region growing down - } - - ER_m_veneer_table m_veneer_table_start FIXED m_veneer_table_size {; veneer table - *(Veneer$$CMSE) - } - - RW_m_usb_bdt m_usb_sram_start UNINIT usb_bdt_size { - * (*m_usb_bdt) - } - - RW_m_usb_ram (m_usb_sram_start + usb_bdt_size) UNINIT (m_usb_sram_size - usb_bdt_size) { - * (*m_usb_global) - } -} - -LR_CORE1_IMAGE m_core1_image_start { - CORE1_REGION m_core1_image_start m_core1_image_size { - * (.core1_code) - } -} diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/Device/LPC55S69JBD64_cm33_core0/LPC55S69_cm33_core0_ram.scf b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/Device/LPC55S69JBD64_cm33_core0/LPC55S69_cm33_core0_ram.scf deleted file mode 100644 index 7974430..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/Device/LPC55S69JBD64_cm33_core0/LPC55S69_cm33_core0_ram.scf +++ /dev/null @@ -1,105 +0,0 @@ -#!armclang --target=arm-arm-none-eabi -march=armv8-m.main -E -x c -/* -** ################################################################### -** Processors: LPC55S69JBD100_cm33_core0 -** LPC55S69JBD64_cm33_core0 -** LPC55S69JEV98_cm33_core0 -** -** Compiler: Keil ARM C/C++ Compiler -** Reference manual: LPC55S6x/LPC55S2x/LPC552x User manual(UM11126) Rev.1.3 16 May 2019 -** Version: rev. 1.1, 2019-05-16 -** Build: b200722 -** -** Abstract: -** Linker file for the Keil ARM C/C++ Compiler -** -** Copyright 2016 Freescale Semiconductor, Inc. -** Copyright 2016-2020 NXP -** All rights reserved. -** -** SPDX-License-Identifier: BSD-3-Clause -** -** http: www.nxp.com -** mail: support@nxp.com -** -** ################################################################### -*/ - - -/* USB BDT size */ -#define usb_bdt_size 0x0 -/* Sizes */ -#if (defined(__stack_size__)) - #define Stack_Size __stack_size__ -#else - #define Stack_Size 0x0400 -#endif - -#if (defined(__heap_size__)) - #define Heap_Size __heap_size__ -#else - #define Heap_Size 0x0400 -#endif - -#define m_interrupts_start 0x04000000 -#define m_interrupts_size 0x00000200 - -#define m_text_start 0x04000200 -#define m_text_size 0x00007E00 - -#define m_core1_image_start 0x20033000 -#define m_core1_image_size 0x0000C800 - -#if (defined(__use_shmem__)) - #define m_data_start 0x20000000 - #define m_data_size 0x00031800 - #define m_rpmsg_sh_mem_start 0x20031800 - #define m_rpmsg_sh_mem_size 0x00001800 -#else - #define m_data_start 0x20000000 - #define m_data_size 0x00033000 -#endif - -#define m_usb_sram_start 0x40100000 -#define m_usb_sram_size 0x00004000 - - -LR_m_text m_interrupts_start m_interrupts_size+m_text_size { ; load region size_region - - VECTOR_ROM m_interrupts_start m_interrupts_size { ; load address = execution address - * (.isr_vector,+FIRST) - } - - ER_m_text m_text_start FIXED m_text_size { ; load address = execution address - * (InRoot$$Sections) - .ANY (+RO) - } - -#if (defined(__use_shmem__)) - RPMSG_SH_MEM m_rpmsg_sh_mem_start UNINIT m_rpmsg_sh_mem_size { ; Shared memory used by RPMSG - * (rpmsg_sh_mem_section) - } -#endif - - RW_m_data m_data_start m_data_size-Stack_Size-Heap_Size { ; RW data - .ANY (+RW +ZI) - } - ARM_LIB_HEAP +0 EMPTY Heap_Size { ; Heap region growing up - } - ARM_LIB_STACK m_data_start+m_data_size EMPTY -Stack_Size { ; Stack region growing down - } - - RW_m_usb_bdt m_usb_sram_start UNINIT usb_bdt_size { - * (*m_usb_bdt) - } - - RW_m_usb_ram (m_usb_sram_start + usb_bdt_size) UNINIT (m_usb_sram_size - usb_bdt_size) { - * (*m_usb_global) - } -} - -LR_CORE1_IMAGE m_core1_image_start { - CORE1_REGION m_core1_image_start m_core1_image_size { - * (.core1_code) - } -} diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/Device/LPC55S69JBD64_cm33_core0/RTE_Device.h b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/Device/LPC55S69JBD64_cm33_core0/RTE_Device.h deleted file mode 100644 index 7e71d12..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/Device/LPC55S69JBD64_cm33_core0/RTE_Device.h +++ /dev/null @@ -1,215 +0,0 @@ -/* - * Copyright (c) 2016, Freescale Semiconductor, Inc. - * Copyright 2016-2020 NXP - * All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#ifndef _RTE_DEVICE_H -#define _RTE_DEVICE_H - -#include "pin_mux.h" - -/* UART Select, UART0-UART7. */ -/* User needs to provide the implementation of USARTX_GetFreq/USARTX_InitPins/USARTX_DeinitPins for the enabled USART - * instance. */ -#define RTE_USART0 1 -#define RTE_USART0_DMA_EN 1 -#define RTE_USART1 0 -#define RTE_USART1_DMA_EN 0 -#define RTE_USART2 0 -#define RTE_USART2_DMA_EN 0 -#define RTE_USART3 1 -#define RTE_USART3_DMA_EN 1 -#define RTE_USART4 0 -#define RTE_USART4_DMA_EN 0 -#define RTE_USART5 0 -#define RTE_USART5_DMA_EN 0 -#define RTE_USART6 0 -#define RTE_USART6_DMA_EN 0 -#define RTE_USART7 0 -#define RTE_USART7_DMA_EN 0 - -/* USART configuration. */ -#define USART_RX_BUFFER_LEN 64 -#define USART0_RX_BUFFER_ENABLE 1 -#define USART1_RX_BUFFER_ENABLE 0 -#define USART2_RX_BUFFER_ENABLE 0 -#define USART3_RX_BUFFER_ENABLE 1 -#define USART4_RX_BUFFER_ENABLE 0 -#define USART5_RX_BUFFER_ENABLE 0 -#define USART6_RX_BUFFER_ENABLE 0 -#define USART7_RX_BUFFER_ENABLE 0 - -#define RTE_USART0_DMA_TX_CH 5 -#define RTE_USART0_DMA_TX_DMA_BASE DMA0 -#define RTE_USART0_DMA_RX_CH 4 -#define RTE_USART0_DMA_RX_DMA_BASE DMA0 - -#define RTE_USART1_DMA_TX_CH 7 -#define RTE_USART1_DMA_TX_DMA_BASE DMA0 -#define RTE_USART1_DMA_RX_CH 6 -#define RTE_USART1_DMA_RX_DMA_BASE DMA0 - -#define RTE_USART2_DMA_TX_CH 8 -#define RTE_USART2_DMA_TX_DMA_BASE DMA0 -#define RTE_USART2_DMA_RX_CH 9 -#define RTE_USART2_DMA_RX_DMA_BASE DMA0 - -#define RTE_USART3_DMA_TX_CH 9 -#define RTE_USART3_DMA_TX_DMA_BASE DMA0 -#define RTE_USART3_DMA_RX_CH 8 -#define RTE_USART3_DMA_RX_DMA_BASE DMA0 - -#define RTE_USART4_DMA_TX_CH 13 -#define RTE_USART4_DMA_TX_DMA_BASE DMA0 -#define RTE_USART4_DMA_RX_CH 12 -#define RTE_USART4_DMA_RX_DMA_BASE DMA0 - -#define RTE_USART5_DMA_TX_CH 15 -#define RTE_USART5_DMA_TX_DMA_BASE DMA0 -#define RTE_USART5_DMA_RX_CH 14 -#define RTE_USART5_DMA_RX_DMA_BASE DMA0 - -#define RTE_USART6_DMA_TX_CH 17 -#define RTE_USART6_DMA_TX_DMA_BASE DMA0 -#define RTE_USART6_DMA_RX_CH 16 -#define RTE_USART6_DMA_RX_DMA_BASE DMA0 - -#define RTE_USART7_DMA_TX_CH 19 -#define RTE_USART7_DMA_TX_DMA_BASE DMA0 -#define RTE_USART7_DMA_RX_CH 18 -#define RTE_USART7_DMA_RX_DMA_BASE DMA0 - -/* I2C Select, I2C0 -I2C7*/ -/* User needs to provide the implementation of I2CX_GetFreq/I2CX_InitPins/I2CX_DeinitPins for the enabled I2C instance. - */ -#define RTE_I2C0 0 -#define RTE_I2C0_DMA_EN 0 -#define RTE_I2C1 0 -#define RTE_I2C1_DMA_EN 0 -#define RTE_I2C2 0 -#define RTE_I2C2_DMA_EN 0 -#define RTE_I2C3 0 -#define RTE_I2C3_DMA_EN 0 -#define RTE_I2C4 0 -#define RTE_I2C4_DMA_EN 0 -#define RTE_I2C5 0 -#define RTE_I2C5_DMA_EN 0 -#define RTE_I2C6 0 -#define RTE_I2C6_DMA_EN 0 -#define RTE_I2C7 0 -#define RTE_I2C7_DMA_EN 0 - -/*I2C configuration*/ -#define RTE_I2C0_Master_DMA_BASE DMA0 -#define RTE_I2C0_Master_DMA_CH 1 - -#define RTE_I2C1_Master_DMA_BASE DMA0 -#define RTE_I2C1_Master_DMA_CH 3 - -#define RTE_I2C2_Master_DMA_BASE DMA0 -#define RTE_I2C2_Master_DMA_CH 5 - -#define RTE_I2C3_Master_DMA_BASE DMA0 -#define RTE_I2C3_Master_DMA_CH 7 - -#define RTE_I2C4_Master_DMA_BASE DMA0 -#define RTE_I2C4_Master_DMA_CH 9 - -#define RTE_I2C5_Master_DMA_BASE DMA0 -#define RTE_I2C5_Master_DMA_CH 11 - -#define RTE_I2C6_Master_DMA_BASE DMA0 -#define RTE_I2C6_Master_DMA_CH 13 - -#define RTE_I2C7_Master_DMA_BASE DMA0 -#define RTE_I2C7_Master_DMA_CH 15 - -/* SPI select, SPI0 - SPI7.*/ -/* User needs to provide the implementation of SPIX_GetFreq/SPIX_InitPins/SPIX_DeinitPins for the enabled SPI instance. - */ -#define RTE_SPI0 0 -#define RTE_SPI0_DMA_EN 0 -#define RTE_SPI1 0 -#define RTE_SPI1_DMA_EN 0 -#define RTE_SPI2 0 -#define RTE_SPI2_DMA_EN 0 -#define RTE_SPI3 0 -#define RTE_SPI3_DMA_EN 0 -#define RTE_SPI4 0 -#define RTE_SPI4_DMA_EN 0 -#define RTE_SPI5 0 -#define RTE_SPI5_DMA_EN 0 -#define RTE_SPI6 0 -#define RTE_SPI6_DMA_EN 0 -#define RTE_SPI7 0 -#define RTE_SPI7_DMA_EN 0 - -/* SPI configuration. */ -#define RTE_SPI0_SSEL_NUM kSPI_Ssel0 -#define RTE_SPI0_PIN_INIT SPI0_InitPins -#define RTE_SPI0_PIN_DEINIT SPI0_DeinitPins -#define RTE_SPI0_DMA_TX_CH 1 -#define RTE_SPI0_DMA_TX_DMA_BASE DMA0 -#define RTE_SPI0_DMA_RX_CH 0 -#define RTE_SPI0_DMA_RX_DMA_BASE DMA0 - -#define RTE_SPI1_SSEL_NUM kSPI_Ssel0 -#define RTE_SPI1_PIN_INIT SPI1_InitPins -#define RTE_SPI1_PIN_DEINIT SPI1_DeinitPins -#define RTE_SPI1_DMA_TX_CH 3 -#define RTE_SPI1_DMA_TX_DMA_BASE DMA0 -#define RTE_SPI1_DMA_RX_CH 2 -#define RTE_SPI1_DMA_RX_DMA_BASE DMA0 - -#define RTE_SPI2_SSEL_NUM kSPI_Ssel0 -#define RTE_SPI2_PIN_INIT SPI2_InitPins -#define RTE_SPI2_PIN_DEINIT SPI2_DeinitPins -#define RTE_SPI2_DMA_TX_CH 5 -#define RTE_SPI2_DMA_TX_DMA_BASE DMA0 -#define RTE_SPI2_DMA_RX_CH 4 -#define RTE_SPI2_DMA_RX_DMA_BASE DMA0 - -#define RTE_SPI3_SSEL_NUM kSPI_Ssel0 -#define RTE_SPI3_PIN_INIT SPI3_InitPins -#define RTE_SPI3_PIN_DEINIT SPI3_DeinitPins -#define RTE_SPI3_DMA_TX_CH 7 -#define RTE_SPI3_DMA_TX_DMA_BASE DMA0 -#define RTE_SPI3_DMA_RX_CH 6 -#define RTE_SPI3_DMA_RX_DMA_BASE DMA0 - -#define RTE_SPI4_SSEL_NUM kSPI_Ssel0 -#define RTE_SPI4_PIN_INIT SPI4_InitPins -#define RTE_SPI4_PIN_DEINIT SPI4_DeinitPins -#define RTE_SPI4_DMA_TX_CH 9 -#define RTE_SPI4_DMA_TX_DMA_BASE DMA0 -#define RTE_SPI4_DMA_RX_CH 8 -#define RTE_SPI4_DMA_RX_DMA_BASE DMA0 - -#define RTE_SPI5_SSEL_NUM kSPI_Ssel0 -#define RTE_SPI5_PIN_INIT SPI5_InitPins -#define RTE_SPI5_PIN_DEINIT SPI5_DeinitPins -#define RTE_SPI5_DMA_TX_CH 11 -#define RTE_SPI5_DMA_TX_DMA_BASE DMA0 -#define RTE_SPI5_DMA_RX_CH 10 -#define RTE_SPI5_DMA_RX_DMA_BASE DMA0 - -#define RTE_SPI6_SSEL_NUM kSPI_Ssel0 -#define RTE_SPI6_PIN_INIT SPI6_InitPins -#define RTE_SPI6_PIN_DEINIT SPI6_DeinitPins -#define RTE_SPI6_DMA_TX_CH 13 -#define RTE_SPI6_DMA_TX_DMA_BASE DMA0 -#define RTE_SPI6_DMA_RX_CH 12 -#define RTE_SPI6_DMA_RX_DMA_BASE DMA0 - -#define RTE_SPI7_SSEL_NUM kSPI_Ssel0 -#define RTE_SPI7_PIN_INIT SPI7_InitPins -#define RTE_SPI7_PIN_DEINIT SPI7_DeinitPins -#define RTE_SPI7_DMA_TX_CH 15 -#define RTE_SPI7_DMA_TX_DMA_BASE DMA0 -#define RTE_SPI7_DMA_RX_CH 14 -#define RTE_SPI7_DMA_RX_DMA_BASE DMA0 - -#endif /* _RTE_DEVICE_H */ diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/Device/LPC55S69JBD64_cm33_core0/startup_LPC55S69_cm33_core0.S b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/Device/LPC55S69JBD64_cm33_core0/startup_LPC55S69_cm33_core0.S deleted file mode 100644 index 9a573e0..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/Device/LPC55S69JBD64_cm33_core0/startup_LPC55S69_cm33_core0.S +++ /dev/null @@ -1,801 +0,0 @@ -/* --------------------------------------------------------------------------------------- - * @file: startup_LPC55S69_cm33_core0.s - * @purpose: CMSIS Cortex-M33 Core Device Startup File for the LPC55S69_cm33_core0 - * @version: 1.1 - * @date: 2019-5-16 - * ---------------------------------------------------------------------------------------*/ -/* - * Copyright 1997-2016 Freescale Semiconductor, Inc. - * Copyright 2016-2021 NXP - * All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ -/*****************************************************************************/ -/* Version: GCC for ARM Embedded Processors */ -/*****************************************************************************/ - - .syntax unified - .arch armv8-m.main - .eabi_attribute Tag_ABI_align_preserved, 1 /*8-byte alignment */ - - .section .isr_vector, "a" - .align 2 - .globl __Vectors - -__Vectors: - .long Image$$ARM_LIB_STACK$$ZI$$Limit /* Top of Stack */ - .long Reset_Handler /* Reset Handler */ - .long NMI_Handler /* NMI Handler*/ - .long HardFault_Handler /* Hard Fault Handler*/ - .long MemManage_Handler /* MPU Fault Handler*/ - .long BusFault_Handler /* Bus Fault Handler*/ - .long UsageFault_Handler /* Usage Fault Handler*/ - .long SecureFault_Handler /* Secure Fault Handler*/ - .long 0 /* Reserved*/ - .long 0 /* Reserved*/ - .long 0 /* Reserved*/ - .long SVC_Handler /* SVCall Handler*/ - .long DebugMon_Handler /* Debug Monitor Handler*/ - .long 0 /* Reserved*/ - .long PendSV_Handler /* PendSV Handler*/ - .long SysTick_Handler /* SysTick Handler*/ - - /* External Interrupts*/ - .long WDT_BOD_IRQHandler /* Windowed watchdog timer, Brownout detect, Flash interrupt */ - .long DMA0_IRQHandler /* DMA0 controller */ - .long GINT0_IRQHandler /* GPIO group 0 */ - .long GINT1_IRQHandler /* GPIO group 1 */ - .long PIN_INT0_IRQHandler /* Pin interrupt 0 or pattern match engine slice 0 */ - .long PIN_INT1_IRQHandler /* Pin interrupt 1or pattern match engine slice 1 */ - .long PIN_INT2_IRQHandler /* Pin interrupt 2 or pattern match engine slice 2 */ - .long PIN_INT3_IRQHandler /* Pin interrupt 3 or pattern match engine slice 3 */ - .long UTICK0_IRQHandler /* Micro-tick Timer */ - .long MRT0_IRQHandler /* Multi-rate timer */ - .long CTIMER0_IRQHandler /* Standard counter/timer CTIMER0 */ - .long CTIMER1_IRQHandler /* Standard counter/timer CTIMER1 */ - .long SCT0_IRQHandler /* SCTimer/PWM */ - .long CTIMER3_IRQHandler /* Standard counter/timer CTIMER3 */ - .long FLEXCOMM0_IRQHandler /* Flexcomm Interface 0 (USART, SPI, I2C, I2S, FLEXCOMM) */ - .long FLEXCOMM1_IRQHandler /* Flexcomm Interface 1 (USART, SPI, I2C, I2S, FLEXCOMM) */ - .long FLEXCOMM2_IRQHandler /* Flexcomm Interface 2 (USART, SPI, I2C, I2S, FLEXCOMM) */ - .long FLEXCOMM3_IRQHandler /* Flexcomm Interface 3 (USART, SPI, I2C, I2S, FLEXCOMM) */ - .long FLEXCOMM4_IRQHandler /* Flexcomm Interface 4 (USART, SPI, I2C, I2S, FLEXCOMM) */ - .long FLEXCOMM5_IRQHandler /* Flexcomm Interface 5 (USART, SPI, I2C, I2S, FLEXCOMM) */ - .long FLEXCOMM6_IRQHandler /* Flexcomm Interface 6 (USART, SPI, I2C, I2S, FLEXCOMM) */ - .long FLEXCOMM7_IRQHandler /* Flexcomm Interface 7 (USART, SPI, I2C, I2S, FLEXCOMM) */ - .long ADC0_IRQHandler /* ADC0 */ - .long Reserved39_IRQHandler /* Reserved interrupt */ - .long ACMP_IRQHandler /* ACMP interrupts */ - .long Reserved41_IRQHandler /* Reserved interrupt */ - .long Reserved42_IRQHandler /* Reserved interrupt */ - .long USB0_NEEDCLK_IRQHandler /* USB Activity Wake-up Interrupt */ - .long USB0_IRQHandler /* USB device */ - .long RTC_IRQHandler /* RTC alarm and wake-up interrupts */ - .long Reserved46_IRQHandler /* Reserved interrupt */ - .long MAILBOX_IRQHandler /* WAKEUP,Mailbox interrupt (present on selected devices) */ - .long PIN_INT4_IRQHandler /* Pin interrupt 4 or pattern match engine slice 4 int */ - .long PIN_INT5_IRQHandler /* Pin interrupt 5 or pattern match engine slice 5 int */ - .long PIN_INT6_IRQHandler /* Pin interrupt 6 or pattern match engine slice 6 int */ - .long PIN_INT7_IRQHandler /* Pin interrupt 7 or pattern match engine slice 7 int */ - .long CTIMER2_IRQHandler /* Standard counter/timer CTIMER2 */ - .long CTIMER4_IRQHandler /* Standard counter/timer CTIMER4 */ - .long OS_EVENT_IRQHandler /* OSEVTIMER0 and OSEVTIMER0_WAKEUP interrupts */ - .long Reserved55_IRQHandler /* Reserved interrupt */ - .long Reserved56_IRQHandler /* Reserved interrupt */ - .long Reserved57_IRQHandler /* Reserved interrupt */ - .long SDIO_IRQHandler /* SD/MMC */ - .long Reserved59_IRQHandler /* Reserved interrupt */ - .long Reserved60_IRQHandler /* Reserved interrupt */ - .long Reserved61_IRQHandler /* Reserved interrupt */ - .long USB1_PHY_IRQHandler /* USB1_PHY */ - .long USB1_IRQHandler /* USB1 interrupt */ - .long USB1_NEEDCLK_IRQHandler /* USB1 activity */ - .long SEC_HYPERVISOR_CALL_IRQHandler /* SEC_HYPERVISOR_CALL interrupt */ - .long SEC_GPIO_INT0_IRQ0_IRQHandler /* SEC_GPIO_INT0_IRQ0 interrupt */ - .long SEC_GPIO_INT0_IRQ1_IRQHandler /* SEC_GPIO_INT0_IRQ1 interrupt */ - .long PLU_IRQHandler /* PLU interrupt */ - .long SEC_VIO_IRQHandler /* SEC_VIO interrupt */ - .long HASHCRYPT_IRQHandler /* HASHCRYPT interrupt */ - .long CASER_IRQHandler /* CASPER interrupt */ - .long PUF_IRQHandler /* PUF interrupt */ - .long PQ_IRQHandler /* PQ interrupt */ - .long DMA1_IRQHandler /* DMA1 interrupt */ - .long FLEXCOMM8_IRQHandler /* Flexcomm Interface 8 (SPI, , FLEXCOMM) */ - .size __Vectors, . - __Vectors - - .text - .thumb - -/* Reset Handler */ - .thumb_func - .align 2 - .weak Reset_Handler - .type Reset_Handler, %function - -Reset_Handler: - cpsid i /* Mask interrupts */ - .equ VTOR, 0xE000ED08 - ldr r0, =VTOR - ldr r1, =__Vectors - str r1, [r0] - ldr r2, [r1] - msr msp, r2 - ldr R0, =Image$$ARM_LIB_STACK$$ZI$$Base - msr msplim, R0 - ldr r0,=SystemInit - blx r0 - cpsie i /* Unmask interrupts */ - ldr r0,=__main - bx r0 - - .pool - .size Reset_Handler, . - Reset_Handler - - .align 1 - .thumb_func - .weak DefaultISR - .type DefaultISR, %function -DefaultISR: - b DefaultISR - .size DefaultISR, . - DefaultISR - - .align 1 - .thumb_func - .weak NMI_Handler - .type NMI_Handler, %function -NMI_Handler: - ldr r0,=NMI_Handler - bx r0 - .size NMI_Handler, . - NMI_Handler - - .align 1 - .thumb_func - .weak HardFault_Handler - .type HardFault_Handler, %function -HardFault_Handler: - ldr r0,=HardFault_Handler - bx r0 - .size HardFault_Handler, . - HardFault_Handler - - .align 1 - .thumb_func - .weak SVC_Handler - .type SVC_Handler, %function -SVC_Handler: - ldr r0,=SVC_Handler - bx r0 - .size SVC_Handler, . - SVC_Handler - - .align 1 - .thumb_func - .weak PendSV_Handler - .type PendSV_Handler, %function -PendSV_Handler: - ldr r0,=PendSV_Handler - bx r0 - .size PendSV_Handler, . - PendSV_Handler - - .align 1 - .thumb_func - .weak SysTick_Handler - .type SysTick_Handler, %function -SysTick_Handler: - ldr r0,=SysTick_Handler - bx r0 - .size SysTick_Handler, . - SysTick_Handler - .align 1 - .thumb_func - .weak WDT_BOD_IRQHandler - .type WDT_BOD_IRQHandler, %function -WDT_BOD_IRQHandler: - ldr r0,=WDT_BOD_DriverIRQHandler - bx r0 - .size WDT_BOD_IRQHandler, . - WDT_BOD_IRQHandler - - .align 1 - .thumb_func - .weak DMA0_IRQHandler - .type DMA0_IRQHandler, %function -DMA0_IRQHandler: - ldr r0,=DMA0_DriverIRQHandler - bx r0 - .size DMA0_IRQHandler, . - DMA0_IRQHandler - - .align 1 - .thumb_func - .weak GINT0_IRQHandler - .type GINT0_IRQHandler, %function -GINT0_IRQHandler: - ldr r0,=GINT0_DriverIRQHandler - bx r0 - .size GINT0_IRQHandler, . - GINT0_IRQHandler - - .align 1 - .thumb_func - .weak GINT1_IRQHandler - .type GINT1_IRQHandler, %function -GINT1_IRQHandler: - ldr r0,=GINT1_DriverIRQHandler - bx r0 - .size GINT1_IRQHandler, . - GINT1_IRQHandler - - .align 1 - .thumb_func - .weak PIN_INT0_IRQHandler - .type PIN_INT0_IRQHandler, %function -PIN_INT0_IRQHandler: - ldr r0,=PIN_INT0_DriverIRQHandler - bx r0 - .size PIN_INT0_IRQHandler, . - PIN_INT0_IRQHandler - - .align 1 - .thumb_func - .weak PIN_INT1_IRQHandler - .type PIN_INT1_IRQHandler, %function -PIN_INT1_IRQHandler: - ldr r0,=PIN_INT1_DriverIRQHandler - bx r0 - .size PIN_INT1_IRQHandler, . - PIN_INT1_IRQHandler - - .align 1 - .thumb_func - .weak PIN_INT2_IRQHandler - .type PIN_INT2_IRQHandler, %function -PIN_INT2_IRQHandler: - ldr r0,=PIN_INT2_DriverIRQHandler - bx r0 - .size PIN_INT2_IRQHandler, . - PIN_INT2_IRQHandler - - .align 1 - .thumb_func - .weak PIN_INT3_IRQHandler - .type PIN_INT3_IRQHandler, %function -PIN_INT3_IRQHandler: - ldr r0,=PIN_INT3_DriverIRQHandler - bx r0 - .size PIN_INT3_IRQHandler, . - PIN_INT3_IRQHandler - - .align 1 - .thumb_func - .weak UTICK0_IRQHandler - .type UTICK0_IRQHandler, %function -UTICK0_IRQHandler: - ldr r0,=UTICK0_DriverIRQHandler - bx r0 - .size UTICK0_IRQHandler, . - UTICK0_IRQHandler - - .align 1 - .thumb_func - .weak MRT0_IRQHandler - .type MRT0_IRQHandler, %function -MRT0_IRQHandler: - ldr r0,=MRT0_DriverIRQHandler - bx r0 - .size MRT0_IRQHandler, . - MRT0_IRQHandler - - .align 1 - .thumb_func - .weak CTIMER0_IRQHandler - .type CTIMER0_IRQHandler, %function -CTIMER0_IRQHandler: - ldr r0,=CTIMER0_DriverIRQHandler - bx r0 - .size CTIMER0_IRQHandler, . - CTIMER0_IRQHandler - - .align 1 - .thumb_func - .weak CTIMER1_IRQHandler - .type CTIMER1_IRQHandler, %function -CTIMER1_IRQHandler: - ldr r0,=CTIMER1_DriverIRQHandler - bx r0 - .size CTIMER1_IRQHandler, . - CTIMER1_IRQHandler - - .align 1 - .thumb_func - .weak SCT0_IRQHandler - .type SCT0_IRQHandler, %function -SCT0_IRQHandler: - ldr r0,=SCT0_DriverIRQHandler - bx r0 - .size SCT0_IRQHandler, . - SCT0_IRQHandler - - .align 1 - .thumb_func - .weak CTIMER3_IRQHandler - .type CTIMER3_IRQHandler, %function -CTIMER3_IRQHandler: - ldr r0,=CTIMER3_DriverIRQHandler - bx r0 - .size CTIMER3_IRQHandler, . - CTIMER3_IRQHandler - - .align 1 - .thumb_func - .weak FLEXCOMM0_IRQHandler - .type FLEXCOMM0_IRQHandler, %function -FLEXCOMM0_IRQHandler: - ldr r0,=FLEXCOMM0_DriverIRQHandler - bx r0 - .size FLEXCOMM0_IRQHandler, . - FLEXCOMM0_IRQHandler - - .align 1 - .thumb_func - .weak FLEXCOMM1_IRQHandler - .type FLEXCOMM1_IRQHandler, %function -FLEXCOMM1_IRQHandler: - ldr r0,=FLEXCOMM1_DriverIRQHandler - bx r0 - .size FLEXCOMM1_IRQHandler, . - FLEXCOMM1_IRQHandler - - .align 1 - .thumb_func - .weak FLEXCOMM2_IRQHandler - .type FLEXCOMM2_IRQHandler, %function -FLEXCOMM2_IRQHandler: - ldr r0,=FLEXCOMM2_DriverIRQHandler - bx r0 - .size FLEXCOMM2_IRQHandler, . - FLEXCOMM2_IRQHandler - - .align 1 - .thumb_func - .weak FLEXCOMM3_IRQHandler - .type FLEXCOMM3_IRQHandler, %function -FLEXCOMM3_IRQHandler: - ldr r0,=FLEXCOMM3_DriverIRQHandler - bx r0 - .size FLEXCOMM3_IRQHandler, . - FLEXCOMM3_IRQHandler - - .align 1 - .thumb_func - .weak FLEXCOMM4_IRQHandler - .type FLEXCOMM4_IRQHandler, %function -FLEXCOMM4_IRQHandler: - ldr r0,=FLEXCOMM4_DriverIRQHandler - bx r0 - .size FLEXCOMM4_IRQHandler, . - FLEXCOMM4_IRQHandler - - .align 1 - .thumb_func - .weak FLEXCOMM5_IRQHandler - .type FLEXCOMM5_IRQHandler, %function -FLEXCOMM5_IRQHandler: - ldr r0,=FLEXCOMM5_DriverIRQHandler - bx r0 - .size FLEXCOMM5_IRQHandler, . - FLEXCOMM5_IRQHandler - - .align 1 - .thumb_func - .weak FLEXCOMM6_IRQHandler - .type FLEXCOMM6_IRQHandler, %function -FLEXCOMM6_IRQHandler: - ldr r0,=FLEXCOMM6_DriverIRQHandler - bx r0 - .size FLEXCOMM6_IRQHandler, . - FLEXCOMM6_IRQHandler - - .align 1 - .thumb_func - .weak FLEXCOMM7_IRQHandler - .type FLEXCOMM7_IRQHandler, %function -FLEXCOMM7_IRQHandler: - ldr r0,=FLEXCOMM7_DriverIRQHandler - bx r0 - .size FLEXCOMM7_IRQHandler, . - FLEXCOMM7_IRQHandler - - .align 1 - .thumb_func - .weak ADC0_IRQHandler - .type ADC0_IRQHandler, %function -ADC0_IRQHandler: - ldr r0,=ADC0_DriverIRQHandler - bx r0 - .size ADC0_IRQHandler, . - ADC0_IRQHandler - - .align 1 - .thumb_func - .weak Reserved39_IRQHandler - .type Reserved39_IRQHandler, %function -Reserved39_IRQHandler: - ldr r0,=Reserved39_DriverIRQHandler - bx r0 - .size Reserved39_IRQHandler, . - Reserved39_IRQHandler - - .align 1 - .thumb_func - .weak ACMP_IRQHandler - .type ACMP_IRQHandler, %function -ACMP_IRQHandler: - ldr r0,=ACMP_DriverIRQHandler - bx r0 - .size ACMP_IRQHandler, . - ACMP_IRQHandler - - .align 1 - .thumb_func - .weak Reserved41_IRQHandler - .type Reserved41_IRQHandler, %function -Reserved41_IRQHandler: - ldr r0,=Reserved41_DriverIRQHandler - bx r0 - .size Reserved41_IRQHandler, . - Reserved41_IRQHandler - - .align 1 - .thumb_func - .weak Reserved42_IRQHandler - .type Reserved42_IRQHandler, %function -Reserved42_IRQHandler: - ldr r0,=Reserved42_DriverIRQHandler - bx r0 - .size Reserved42_IRQHandler, . - Reserved42_IRQHandler - - .align 1 - .thumb_func - .weak USB0_NEEDCLK_IRQHandler - .type USB0_NEEDCLK_IRQHandler, %function -USB0_NEEDCLK_IRQHandler: - ldr r0,=USB0_NEEDCLK_DriverIRQHandler - bx r0 - .size USB0_NEEDCLK_IRQHandler, . - USB0_NEEDCLK_IRQHandler - - .align 1 - .thumb_func - .weak USB0_IRQHandler - .type USB0_IRQHandler, %function -USB0_IRQHandler: - ldr r0,=USB0_DriverIRQHandler - bx r0 - .size USB0_IRQHandler, . - USB0_IRQHandler - - .align 1 - .thumb_func - .weak RTC_IRQHandler - .type RTC_IRQHandler, %function -RTC_IRQHandler: - ldr r0,=RTC_DriverIRQHandler - bx r0 - .size RTC_IRQHandler, . - RTC_IRQHandler - - .align 1 - .thumb_func - .weak Reserved46_IRQHandler - .type Reserved46_IRQHandler, %function -Reserved46_IRQHandler: - ldr r0,=Reserved46_DriverIRQHandler - bx r0 - .size Reserved46_IRQHandler, . - Reserved46_IRQHandler - - .align 1 - .thumb_func - .weak MAILBOX_IRQHandler - .type MAILBOX_IRQHandler, %function -MAILBOX_IRQHandler: - ldr r0,=MAILBOX_DriverIRQHandler - bx r0 - .size MAILBOX_IRQHandler, . - MAILBOX_IRQHandler - - .align 1 - .thumb_func - .weak PIN_INT4_IRQHandler - .type PIN_INT4_IRQHandler, %function -PIN_INT4_IRQHandler: - ldr r0,=PIN_INT4_DriverIRQHandler - bx r0 - .size PIN_INT4_IRQHandler, . - PIN_INT4_IRQHandler - - .align 1 - .thumb_func - .weak PIN_INT5_IRQHandler - .type PIN_INT5_IRQHandler, %function -PIN_INT5_IRQHandler: - ldr r0,=PIN_INT5_DriverIRQHandler - bx r0 - .size PIN_INT5_IRQHandler, . - PIN_INT5_IRQHandler - - .align 1 - .thumb_func - .weak PIN_INT6_IRQHandler - .type PIN_INT6_IRQHandler, %function -PIN_INT6_IRQHandler: - ldr r0,=PIN_INT6_DriverIRQHandler - bx r0 - .size PIN_INT6_IRQHandler, . - PIN_INT6_IRQHandler - - .align 1 - .thumb_func - .weak PIN_INT7_IRQHandler - .type PIN_INT7_IRQHandler, %function -PIN_INT7_IRQHandler: - ldr r0,=PIN_INT7_DriverIRQHandler - bx r0 - .size PIN_INT7_IRQHandler, . - PIN_INT7_IRQHandler - - .align 1 - .thumb_func - .weak CTIMER2_IRQHandler - .type CTIMER2_IRQHandler, %function -CTIMER2_IRQHandler: - ldr r0,=CTIMER2_DriverIRQHandler - bx r0 - .size CTIMER2_IRQHandler, . - CTIMER2_IRQHandler - - .align 1 - .thumb_func - .weak CTIMER4_IRQHandler - .type CTIMER4_IRQHandler, %function -CTIMER4_IRQHandler: - ldr r0,=CTIMER4_DriverIRQHandler - bx r0 - .size CTIMER4_IRQHandler, . - CTIMER4_IRQHandler - - .align 1 - .thumb_func - .weak OS_EVENT_IRQHandler - .type OS_EVENT_IRQHandler, %function -OS_EVENT_IRQHandler: - ldr r0,=OS_EVENT_DriverIRQHandler - bx r0 - .size OS_EVENT_IRQHandler, . - OS_EVENT_IRQHandler - - .align 1 - .thumb_func - .weak Reserved55_IRQHandler - .type Reserved55_IRQHandler, %function -Reserved55_IRQHandler: - ldr r0,=Reserved55_DriverIRQHandler - bx r0 - .size Reserved55_IRQHandler, . - Reserved55_IRQHandler - - .align 1 - .thumb_func - .weak Reserved56_IRQHandler - .type Reserved56_IRQHandler, %function -Reserved56_IRQHandler: - ldr r0,=Reserved56_DriverIRQHandler - bx r0 - .size Reserved56_IRQHandler, . - Reserved56_IRQHandler - - .align 1 - .thumb_func - .weak Reserved57_IRQHandler - .type Reserved57_IRQHandler, %function -Reserved57_IRQHandler: - ldr r0,=Reserved57_DriverIRQHandler - bx r0 - .size Reserved57_IRQHandler, . - Reserved57_IRQHandler - - .align 1 - .thumb_func - .weak SDIO_IRQHandler - .type SDIO_IRQHandler, %function -SDIO_IRQHandler: - ldr r0,=SDIO_DriverIRQHandler - bx r0 - .size SDIO_IRQHandler, . - SDIO_IRQHandler - - .align 1 - .thumb_func - .weak Reserved59_IRQHandler - .type Reserved59_IRQHandler, %function -Reserved59_IRQHandler: - ldr r0,=Reserved59_DriverIRQHandler - bx r0 - .size Reserved59_IRQHandler, . - Reserved59_IRQHandler - - .align 1 - .thumb_func - .weak Reserved60_IRQHandler - .type Reserved60_IRQHandler, %function -Reserved60_IRQHandler: - ldr r0,=Reserved60_DriverIRQHandler - bx r0 - .size Reserved60_IRQHandler, . - Reserved60_IRQHandler - - .align 1 - .thumb_func - .weak Reserved61_IRQHandler - .type Reserved61_IRQHandler, %function -Reserved61_IRQHandler: - ldr r0,=Reserved61_DriverIRQHandler - bx r0 - .size Reserved61_IRQHandler, . - Reserved61_IRQHandler - - .align 1 - .thumb_func - .weak USB1_PHY_IRQHandler - .type USB1_PHY_IRQHandler, %function -USB1_PHY_IRQHandler: - ldr r0,=USB1_PHY_DriverIRQHandler - bx r0 - .size USB1_PHY_IRQHandler, . - USB1_PHY_IRQHandler - - .align 1 - .thumb_func - .weak USB1_IRQHandler - .type USB1_IRQHandler, %function -USB1_IRQHandler: - ldr r0,=USB1_DriverIRQHandler - bx r0 - .size USB1_IRQHandler, . - USB1_IRQHandler - - .align 1 - .thumb_func - .weak USB1_NEEDCLK_IRQHandler - .type USB1_NEEDCLK_IRQHandler, %function -USB1_NEEDCLK_IRQHandler: - ldr r0,=USB1_NEEDCLK_DriverIRQHandler - bx r0 - .size USB1_NEEDCLK_IRQHandler, . - USB1_NEEDCLK_IRQHandler - - .align 1 - .thumb_func - .weak SEC_HYPERVISOR_CALL_IRQHandler - .type SEC_HYPERVISOR_CALL_IRQHandler, %function -SEC_HYPERVISOR_CALL_IRQHandler: - ldr r0,=SEC_HYPERVISOR_CALL_DriverIRQHandler - bx r0 - .size SEC_HYPERVISOR_CALL_IRQHandler, . - SEC_HYPERVISOR_CALL_IRQHandler - - .align 1 - .thumb_func - .weak SEC_GPIO_INT0_IRQ0_IRQHandler - .type SEC_GPIO_INT0_IRQ0_IRQHandler, %function -SEC_GPIO_INT0_IRQ0_IRQHandler: - ldr r0,=SEC_GPIO_INT0_IRQ0_DriverIRQHandler - bx r0 - .size SEC_GPIO_INT0_IRQ0_IRQHandler, . - SEC_GPIO_INT0_IRQ0_IRQHandler - - .align 1 - .thumb_func - .weak SEC_GPIO_INT0_IRQ1_IRQHandler - .type SEC_GPIO_INT0_IRQ1_IRQHandler, %function -SEC_GPIO_INT0_IRQ1_IRQHandler: - ldr r0,=SEC_GPIO_INT0_IRQ1_DriverIRQHandler - bx r0 - .size SEC_GPIO_INT0_IRQ1_IRQHandler, . - SEC_GPIO_INT0_IRQ1_IRQHandler - - .align 1 - .thumb_func - .weak PLU_IRQHandler - .type PLU_IRQHandler, %function -PLU_IRQHandler: - ldr r0,=PLU_DriverIRQHandler - bx r0 - .size PLU_IRQHandler, . - PLU_IRQHandler - - .align 1 - .thumb_func - .weak SEC_VIO_IRQHandler - .type SEC_VIO_IRQHandler, %function -SEC_VIO_IRQHandler: - ldr r0,=SEC_VIO_DriverIRQHandler - bx r0 - .size SEC_VIO_IRQHandler, . - SEC_VIO_IRQHandler - - .align 1 - .thumb_func - .weak HASHCRYPT_IRQHandler - .type HASHCRYPT_IRQHandler, %function -HASHCRYPT_IRQHandler: - ldr r0,=HASHCRYPT_DriverIRQHandler - bx r0 - .size HASHCRYPT_IRQHandler, . - HASHCRYPT_IRQHandler - - .align 1 - .thumb_func - .weak CASER_IRQHandler - .type CASER_IRQHandler, %function -CASER_IRQHandler: - ldr r0,=CASER_DriverIRQHandler - bx r0 - .size CASER_IRQHandler, . - CASER_IRQHandler - - .align 1 - .thumb_func - .weak PUF_IRQHandler - .type PUF_IRQHandler, %function -PUF_IRQHandler: - ldr r0,=PUF_DriverIRQHandler - bx r0 - .size PUF_IRQHandler, . - PUF_IRQHandler - - .align 1 - .thumb_func - .weak PQ_IRQHandler - .type PQ_IRQHandler, %function -PQ_IRQHandler: - ldr r0,=PQ_DriverIRQHandler - bx r0 - .size PQ_IRQHandler, . - PQ_IRQHandler - - .align 1 - .thumb_func - .weak DMA1_IRQHandler - .type DMA1_IRQHandler, %function -DMA1_IRQHandler: - ldr r0,=DMA1_DriverIRQHandler - bx r0 - .size DMA1_IRQHandler, . - DMA1_IRQHandler - - .align 1 - .thumb_func - .weak FLEXCOMM8_IRQHandler - .type FLEXCOMM8_IRQHandler, %function -FLEXCOMM8_IRQHandler: - ldr r0,=FLEXCOMM8_DriverIRQHandler - bx r0 - .size FLEXCOMM8_IRQHandler, . - FLEXCOMM8_IRQHandler - -/* Macro to define default handlers. Default handler - * will be weak symbol and just dead loops. They can be - * overwritten by other handlers */ - .macro def_irq_handler handler_name - .weak \handler_name - .set \handler_name, DefaultISR - .endm -/* Exception Handlers */ - def_irq_handler MemManage_Handler - def_irq_handler BusFault_Handler - def_irq_handler UsageFault_Handler - def_irq_handler SecureFault_Handler - def_irq_handler DebugMon_Handler - def_irq_handler WDT_BOD_DriverIRQHandler /* Windowed watchdog timer, Brownout detect, Flash interrupt */ - def_irq_handler DMA0_DriverIRQHandler /* DMA0 controller */ - def_irq_handler GINT0_DriverIRQHandler /* GPIO group 0 */ - def_irq_handler GINT1_DriverIRQHandler /* GPIO group 1 */ - def_irq_handler PIN_INT0_DriverIRQHandler /* Pin interrupt 0 or pattern match engine slice 0 */ - def_irq_handler PIN_INT1_DriverIRQHandler /* Pin interrupt 1or pattern match engine slice 1 */ - def_irq_handler PIN_INT2_DriverIRQHandler /* Pin interrupt 2 or pattern match engine slice 2 */ - def_irq_handler PIN_INT3_DriverIRQHandler /* Pin interrupt 3 or pattern match engine slice 3 */ - def_irq_handler UTICK0_DriverIRQHandler /* Micro-tick Timer */ - def_irq_handler MRT0_DriverIRQHandler /* Multi-rate timer */ - def_irq_handler CTIMER0_DriverIRQHandler /* Standard counter/timer CTIMER0 */ - def_irq_handler CTIMER1_DriverIRQHandler /* Standard counter/timer CTIMER1 */ - def_irq_handler SCT0_DriverIRQHandler /* SCTimer/PWM */ - def_irq_handler CTIMER3_DriverIRQHandler /* Standard counter/timer CTIMER3 */ - def_irq_handler FLEXCOMM0_DriverIRQHandler /* Flexcomm Interface 0 (USART, SPI, I2C, I2S, FLEXCOMM) */ - def_irq_handler FLEXCOMM1_DriverIRQHandler /* Flexcomm Interface 1 (USART, SPI, I2C, I2S, FLEXCOMM) */ - def_irq_handler FLEXCOMM2_DriverIRQHandler /* Flexcomm Interface 2 (USART, SPI, I2C, I2S, FLEXCOMM) */ - def_irq_handler FLEXCOMM3_DriverIRQHandler /* Flexcomm Interface 3 (USART, SPI, I2C, I2S, FLEXCOMM) */ - def_irq_handler FLEXCOMM4_DriverIRQHandler /* Flexcomm Interface 4 (USART, SPI, I2C, I2S, FLEXCOMM) */ - def_irq_handler FLEXCOMM5_DriverIRQHandler /* Flexcomm Interface 5 (USART, SPI, I2C, I2S, FLEXCOMM) */ - def_irq_handler FLEXCOMM6_DriverIRQHandler /* Flexcomm Interface 6 (USART, SPI, I2C, I2S, FLEXCOMM) */ - def_irq_handler FLEXCOMM7_DriverIRQHandler /* Flexcomm Interface 7 (USART, SPI, I2C, I2S, FLEXCOMM) */ - def_irq_handler ADC0_DriverIRQHandler /* ADC0 */ - def_irq_handler Reserved39_DriverIRQHandler /* Reserved interrupt */ - def_irq_handler ACMP_DriverIRQHandler /* ACMP interrupts */ - def_irq_handler Reserved41_DriverIRQHandler /* Reserved interrupt */ - def_irq_handler Reserved42_DriverIRQHandler /* Reserved interrupt */ - def_irq_handler USB0_NEEDCLK_DriverIRQHandler /* USB Activity Wake-up Interrupt */ - def_irq_handler USB0_DriverIRQHandler /* USB device */ - def_irq_handler RTC_DriverIRQHandler /* RTC alarm and wake-up interrupts */ - def_irq_handler Reserved46_DriverIRQHandler /* Reserved interrupt */ - def_irq_handler MAILBOX_DriverIRQHandler /* WAKEUP,Mailbox interrupt (present on selected devices) */ - def_irq_handler PIN_INT4_DriverIRQHandler /* Pin interrupt 4 or pattern match engine slice 4 int */ - def_irq_handler PIN_INT5_DriverIRQHandler /* Pin interrupt 5 or pattern match engine slice 5 int */ - def_irq_handler PIN_INT6_DriverIRQHandler /* Pin interrupt 6 or pattern match engine slice 6 int */ - def_irq_handler PIN_INT7_DriverIRQHandler /* Pin interrupt 7 or pattern match engine slice 7 int */ - def_irq_handler CTIMER2_DriverIRQHandler /* Standard counter/timer CTIMER2 */ - def_irq_handler CTIMER4_DriverIRQHandler /* Standard counter/timer CTIMER4 */ - def_irq_handler OS_EVENT_DriverIRQHandler /* OSEVTIMER0 and OSEVTIMER0_WAKEUP interrupts */ - def_irq_handler Reserved55_DriverIRQHandler /* Reserved interrupt */ - def_irq_handler Reserved56_DriverIRQHandler /* Reserved interrupt */ - def_irq_handler Reserved57_DriverIRQHandler /* Reserved interrupt */ - def_irq_handler SDIO_DriverIRQHandler /* SD/MMC */ - def_irq_handler Reserved59_DriverIRQHandler /* Reserved interrupt */ - def_irq_handler Reserved60_DriverIRQHandler /* Reserved interrupt */ - def_irq_handler Reserved61_DriverIRQHandler /* Reserved interrupt */ - def_irq_handler USB1_PHY_DriverIRQHandler /* USB1_PHY */ - def_irq_handler USB1_DriverIRQHandler /* USB1 interrupt */ - def_irq_handler USB1_NEEDCLK_DriverIRQHandler /* USB1 activity */ - def_irq_handler SEC_HYPERVISOR_CALL_DriverIRQHandler /* SEC_HYPERVISOR_CALL interrupt */ - def_irq_handler SEC_GPIO_INT0_IRQ0_DriverIRQHandler /* SEC_GPIO_INT0_IRQ0 interrupt */ - def_irq_handler SEC_GPIO_INT0_IRQ1_DriverIRQHandler /* SEC_GPIO_INT0_IRQ1 interrupt */ - def_irq_handler PLU_DriverIRQHandler /* PLU interrupt */ - def_irq_handler SEC_VIO_DriverIRQHandler /* SEC_VIO interrupt */ - def_irq_handler HASHCRYPT_DriverIRQHandler /* HASHCRYPT interrupt */ - def_irq_handler CASER_DriverIRQHandler /* CASPER interrupt */ - def_irq_handler PUF_DriverIRQHandler /* PUF interrupt */ - def_irq_handler PQ_DriverIRQHandler /* PQ interrupt */ - def_irq_handler DMA1_DriverIRQHandler /* DMA1 interrupt */ - def_irq_handler FLEXCOMM8_DriverIRQHandler /* Flexcomm Interface 8 (SPI, , FLEXCOMM) */ - - .end diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/USB/USBD_Config_0.c b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/USB/USBD_Config_0.c deleted file mode 100644 index 9c3cbd7..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/USB/USBD_Config_0.c +++ /dev/null @@ -1,206 +0,0 @@ -/*------------------------------------------------------------------------------ - * MDK Middleware - Component ::USB:Device - * Copyright (c) 2004-2019 Arm Limited (or its affiliates). All rights reserved. - *------------------------------------------------------------------------------ - * Name: USBD_Config_0.c - * Purpose: USB Device Configuration - * Rev.: V5.2.0 - *------------------------------------------------------------------------------ - * Use the following configuration settings in the Device Class configuration - * files to assign a Device Class to this USB Device 0. - * - * Configuration Setting Value - * --------------------- ----- - * Assign Device Class to USB Device # = 0 - *----------------------------------------------------------------------------*/ - -//-------- <<< Use Configuration Wizard in Context Menu >>> -------------------- - -// USB Device 0 -// Connect to hardware via Driver_USBD# <0-255> -// Select driver control block for hardware interface. -#define USBD0_PORT 1 - -// High-speed -// Enable High-speed functionality (if device supports it). -#define USBD0_HS 1 - -// Device Settings -// These settings are used to create the Device Descriptor -// Max Endpoint 0 Packet Size -// Maximum packet size for Endpoint 0 (bMaxPacketSize0). -// <8=>8 Bytes <16=>16 Bytes <32=>32 Bytes <64=>64 Bytes -#define USBD0_MAX_PACKET0 64 - -// Vendor ID <0x0000-0xFFFF> -// Vendor ID assigned by USB-IF (idVendor). -#define USBD0_DEV_DESC_IDVENDOR 0xC251 - -// Product ID <0x0000-0xFFFF> -// Product ID assigned by manufacturer (idProduct). -#define USBD0_DEV_DESC_IDPRODUCT 0xF00B - -// Device Release Number <0x0000-0xFFFF> -// Device Release Number in binary-coded decimal (bcdDevice) -#define USBD0_DEV_DESC_BCDDEVICE 0x0100 - -// - -// Configuration Settings -// These settings are used to create the Configuration Descriptor. -// Power -// Default Power Setting (D6: of bmAttributes). -// <0=>Bus-powered -// <1=>Self-powered -// Remote Wakeup -// Configuration support for Remote Wakeup (D5: of bmAttributes). -#define USBD0_CFG_DESC_BMATTRIBUTES 0x80 - -// Maximum Power Consumption (in mA) <0-510><#/2> -// Maximum Power Consumption of USB Device from bus in this -// specific configuration when device is fully operational (bMaxPower). -#define USBD0_CFG_DESC_BMAXPOWER 250 - -// - -// String Settings -// These settings are used to create the String Descriptor. -// Language ID <0x0000-0xFCFF> -// English (United States) = 0x0409. -#define USBD0_STR_DESC_LANGID 0x0409 - -// Manufacturer String -// String Descriptor describing Manufacturer. -#define USBD0_STR_DESC_MAN L"KEIL - Tools By ARM" - -// Product String -// String Descriptor describing Product. -#define USBD0_STR_DESC_PROD L"MCU-LINK" - -// Serial Number String -// Enable Serial Number String. -// If disabled Serial Number String will not be assigned to USB Device. -#define USBD0_STR_DESC_SER_EN 1 - -// Default value -// Default device's Serial Number String. -#define USBD0_STR_DESC_SER L"0001A0000000" - -// Maximum Length (in characters) <0-126> -// Specifies the maximum number of Serial Number String characters that can be set at run-time. -// Maximum value is 126. Use value 0 to disable RAM allocation for string. -#define USBD0_STR_DESC_SER_MAX_LEN 16 - -// -// - -// Microsoft OS Descriptors Settings -// These settings are used to create the Microsoft OS Descriptors. -// OS String -// Enable creation of Microsoft OS String and Extended Compat ID OS Feature Descriptors. -#define USBD0_OS_DESC_EN 1 - -// Vendor Code <0x01-0xFF> -// Specifies Vendor Code used to retrieve OS Feature Descriptors. -#define USBD0_OS_DESC_VENDOR_CODE 0x01 - -// -// - -// Control Transfer Buffer Size <64-65536:64> -// Specifies size of buffer used for Control Transfers. -// It should be at least as big as maximum packet size for Endpoint 0. -#define USBD0_EP0_BUF_SIZE 128 - -// OS Resources Settings -// These settings are used to optimize usage of OS resources. -// Core Thread Stack Size <64-65536> -#define USBD0_CORE_THREAD_STACK_SIZE 1024 - -// Core Thread Priority -#define USBD0_CORE_THREAD_PRIORITY osPriorityAboveNormal - -// -// - - -#include "RTE_Components.h" - -#ifdef RTE_USB_Device_CustomClass_0 -#include "USBD_Config_CustomClass_0.h" -#endif -#ifdef RTE_USB_Device_CustomClass_1 -#include "USBD_Config_CustomClass_1.h" -#endif -#ifdef RTE_USB_Device_CustomClass_2 -#include "USBD_Config_CustomClass_2.h" -#endif -#ifdef RTE_USB_Device_CustomClass_3 -#include "USBD_Config_CustomClass_3.h" -#endif - -#ifdef RTE_USB_Device_HID_0 -#include "USBD_Config_HID_0.h" -#endif -#ifdef RTE_USB_Device_HID_1 -#include "USBD_Config_HID_1.h" -#endif -#ifdef RTE_USB_Device_HID_2 -#include "USBD_Config_HID_2.h" -#endif -#ifdef RTE_USB_Device_HID_3 -#include "USBD_Config_HID_3.h" -#endif - -#ifdef RTE_USB_Device_MSC_0 -#include "USBD_Config_MSC_0.h" -#endif -#ifdef RTE_USB_Device_MSC_1 -#include "USBD_Config_MSC_1.h" -#endif -#ifdef RTE_USB_Device_MSC_2 -#include "USBD_Config_MSC_2.h" -#endif -#ifdef RTE_USB_Device_MSC_3 -#include "USBD_Config_MSC_3.h" -#endif - -#ifdef RTE_USB_Device_CDC_0 -#include "USBD_Config_CDC_0.h" -#endif -#ifdef RTE_USB_Device_CDC_1 -#include "USBD_Config_CDC_1.h" -#endif -#ifdef RTE_USB_Device_CDC_2 -#include "USBD_Config_CDC_2.h" -#endif -#ifdef RTE_USB_Device_CDC_3 -#include "USBD_Config_CDC_3.h" -#endif -#ifdef RTE_USB_Device_CDC_4 -#include "USBD_Config_CDC_4.h" -#endif -#ifdef RTE_USB_Device_CDC_5 -#include "USBD_Config_CDC_5.h" -#endif -#ifdef RTE_USB_Device_CDC_6 -#include "USBD_Config_CDC_6.h" -#endif -#ifdef RTE_USB_Device_CDC_7 -#include "USBD_Config_CDC_7.h" -#endif - -#ifdef RTE_USB_Device_ADC_0 -#include "USBD_Config_ADC_0.h" -#endif -#ifdef RTE_USB_Device_ADC_1 -#include "USBD_Config_ADC_1.h" -#endif -#ifdef RTE_USB_Device_ADC_2 -#include "USBD_Config_ADC_2.h" -#endif -#ifdef RTE_USB_Device_ADC_3 -#include "USBD_Config_ADC_3.h" -#endif - -#include "usbd_config.h" diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/USB/USBD_Config_CDC_0.h b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/USB/USBD_Config_CDC_0.h deleted file mode 100644 index 7cf68d1..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/USB/USBD_Config_CDC_0.h +++ /dev/null @@ -1,364 +0,0 @@ -/*------------------------------------------------------------------------------ - * MDK Middleware - Component ::USB:Device - * Copyright (c) 2004-2019 Arm Limited (or its affiliates). All rights reserved. - *------------------------------------------------------------------------------ - * Name: USBD_Config_CDC_0.h - * Purpose: USB Device Communication Device Class (CDC) Configuration - * Rev.: V5.2.0 - *----------------------------------------------------------------------------*/ - -//-------- <<< Use Configuration Wizard in Context Menu >>> -------------------- - -// USB Device: Communication Device Class (CDC) 0 -// Assign Device Class to USB Device # <0-3> -// Select USB Device that is used for this Device Class instance -#define USBD_CDC0_DEV 0 - -// Communication Class Subclass -// Specifies the model used by the CDC class. -// <2=>Abstract Control Model (ACM) -// <13=>Network Control Model (NCM) -#define USBD_CDC0_SUBCLASS 2 - -// Communication Class Protocol -// Specifies the protocol used by the CDC class. -// <0=>No protocol (Virtual COM) -// <255=>Vendor-specific (RNDIS) -#define USBD_CDC0_PROTOCOL 0 - -// Interrupt Endpoint Settings -// By default, the settings match the first USB Class instance in a USB Device. -// Endpoint conflicts are flagged by compile-time error messages. - -// Interrupt IN Endpoint Number -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -#define USBD_CDC0_EP_INT_IN 3 - - -// Endpoint Settings -// Parameters are used to create Endpoint Descriptors -// and for memory allocation in the USB component. - -// Full/Low-speed (High-speed disabled) -// Parameters apply when High-speed is disabled in USBD_Config_n.c -// Maximum Endpoint Packet Size (in bytes) <0-64> -// Specifies the physical packet size used for information exchange. -// Maximum value is 64. -#define USBD_CDC0_WMAXPACKETSIZE 16 - -// Endpoint polling Interval (in ms) <1-255> -// Specifies the frequency of requests initiated by USB Host for -// getting the notification. -#define USBD_CDC0_BINTERVAL 2 - -// - -// High-speed -// Parameters apply when High-speed is enabled in USBD_Config_n.c -// -// Maximum Endpoint Packet Size (in bytes) <0-1024> -// Specifies the physical packet size used for information exchange. -// Maximum value is 1024. -// Additional transactions per microframe -// Additional transactions improve communication performance. -// <0=>None <1=>1 additional <2=>2 additional -#define USBD_CDC0_HS_WMAXPACKETSIZE 16 - -// Endpoint polling Interval (in 125 us intervals) -// Specifies the frequency of requests initiated by USB Host for -// getting the notification. -// <1=> 1 <2=> 2 <3=> 4 <4=> 8 -// <5=> 16 <6=> 32 <7=> 64 <8=> 128 -// <9=> 256 <10=> 512 <11=> 1024 <12=> 2048 -// <13=>4096 <14=>8192 <15=>16384 <16=>32768 -#define USBD_CDC0_HS_BINTERVAL 2 - -// -// -// - - -// Bulk Endpoint Settings -// By default, the settings match the first USB Class instance in a USB Device. -// Endpoint conflicts are flagged by compile-time error messages. - -// Bulk IN Endpoint Number -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -#define USBD_CDC0_EP_BULK_IN 4 - -// Bulk OUT Endpoint Number -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -#define USBD_CDC0_EP_BULK_OUT 4 - - -// Endpoint Settings -// Parameters are used to create USB Descriptors and for memory -// allocation in the USB component. -// -// Full/Low-speed (High-speed disabled) -// Parameters apply when High-speed is disabled in USBD_Config_n.c -// Maximum Endpoint Packet Size (in bytes) <8=>8 <16=>16 <32=>32 <64=>64 -// Specifies the physical packet size used for information exchange. -// Maximum value is 64. -#define USBD_CDC0_WMAXPACKETSIZE1 64 - -// - -// High-speed -// Parameters apply when High-speed is enabled in USBD_Config_n.c -// -// Maximum Endpoint Packet Size (in bytes) <512=>512 -// Specifies the physical packet size used for information exchange. -// Only available value is 512. -#define USBD_CDC0_HS_WMAXPACKETSIZE1 512 - -// Maximum NAK Rate <0-255> -// Specifies the interval in which Bulk Endpoint can NAK. -// Value of 0 indicates that Bulk Endpoint never NAKs. -#define USBD_CDC0_HS_BINTERVAL1 0 - -// -// -// - -// Communication Device Class Settings -// Parameters are used to create USB Descriptors and for memory allocation -// in the USB component. -// -// Communication Class Interface String -#define USBD_CDC0_CIF_STR_DESC L"USB_CDC0_0" - -// Data Class Interface String -#define USBD_CDC0_DIF_STR_DESC L"USB_CDC0_1" - -// Abstract Control Model Settings - -// Call Management Capabilities -// Specifies which call management functionality is supported. -// Call Management channel -// <0=>Communication Class Interface only -// <1=>Communication and Data Class Interface -// Device Call Management handling -// <0=>None -// <1=>All -// -#define USBD_CDC0_ACM_CM_BM_CAPABILITIES 0x03 - -// Abstract Control Management Capabilities -// Specifies which abstract control management functionality is supported. -// D3 bit -// Enabled = Supports the notification Network_Connection -// D2 bit -// Enabled = Supports the request Send_Break -// D1 bit -// Enabled = Supports the following requests: Set_Line_Coding, Get_Line_Coding, -// Set_Control_Line_State, and notification Serial_State -// D0 bit -// Enabled = Supports the following requests: Set_Comm_Feature, Clear_Comm_Feature and Get_Comm_Feature -// -#define USBD_CDC0_ACM_ACM_BM_CAPABILITIES 0x06 - -// Maximum Communication Device Send Buffer Size -// Specifies size of buffer used for sending of data to USB Host. -// <8=> 8 Bytes <16=> 16 Bytes <32=> 32 Bytes <64=> 64 Bytes -// <128=> 128 Bytes <256=> 256 Bytes <512=> 512 Bytes <1024=> 1024 Bytes -// <2048=>2048 Bytes <4096=>4096 Bytes <8192=>8192 Bytes <16384=>16384 Bytes -#define USBD_CDC0_ACM_SEND_BUF_SIZE 1024 - -// Maximum Communication Device Receive Buffer Size -// Specifies size of buffer used for receiving of data from USB Host. -// Minimum size must be twice as large as Maximum Packet Size for Bulk OUT Endpoint. -// Suggested size is three or more times larger then Maximum Packet Size for Bulk OUT Endpoint. -// <8=> 8 Bytes <16=> 16 Bytes <32=> 32 Bytes <64=> 64 Bytes -// <128=> 128 Bytes <256=> 256 Bytes <512=> 512 Bytes <1024=> 1024 Bytes -// <2048=>2048 Bytes <4096=>4096 Bytes <8192=>8192 Bytes <16384=>16384 Bytes -#define USBD_CDC0_ACM_RECEIVE_BUF_SIZE 2048 - -// - -// Network Control Model Settings - -// MAC Address String -// Specifies 48-bit Ethernet MAC address. -#define USBD_CDC0_NCM_MAC_ADDRESS L"1E306CA2455E" - -// Ethernet Statistics -// Specifies Ethernet statistic functions supported. -// XMIT_OK -// Frames transmitted without errors -// RVC_OK -// Frames received without errors -// XMIT_ERROR -// Frames not transmitted, or transmitted with errors -// RCV_ERROR -// Frames received with errors that are not delivered to the USB host. -// RCV_NO_BUFFER -// Frame missed, no buffers -// DIRECTED_BYTES_XMIT -// Directed bytes transmitted without errors -// DIRECTED_FRAMES_XMIT -// Directed frames transmitted without errors -// MULTICAST_BYTES_XMIT -// Multicast bytes transmitted without errors -// MULTICAST_FRAMES_XMIT -// Multicast frames transmitted without errors -// BROADCAST_BYTES_XMIT -// Broadcast bytes transmitted without errors -// BROADCAST_FRAMES_XMIT -// Broadcast frames transmitted without errors -// DIRECTED_BYTES_RCV -// Directed bytes received without errors -// DIRECTED_FRAMES_RCV -// Directed frames received without errors -// MULTICAST_BYTES_RCV -// Multicast bytes received without errors -// MULTICAST_FRAMES_RCV -// Multicast frames received without errors -// BROADCAST_BYTES_RCV -// Broadcast bytes received without errors -// BROADCAST_FRAMES_RCV -// Broadcast frames received without errors -// RCV_CRC_ERROR -// Frames received with circular redundancy check (CRC) or frame check sequence (FCS) error -// TRANSMIT_QUEUE_LENGTH -// Length of transmit queue -// RCV_ERROR_ALIGNMENT -// Frames received with alignment error -// XMIT_ONE_COLLISION -// Frames transmitted with one collision -// XMIT_MORE_COLLISIONS -// Frames transmitted with more than one collision -// XMIT_DEFERRED -// Frames transmitted after deferral -// XMIT_MAX_COLLISIONS -// Frames not transmitted due to collisions -// RCV_OVERRUN -// Frames not received due to overrun -// XMIT_UNDERRUN -// Frames not transmitted due to underrun -// XMIT_HEARTBEAT_FAILURE -// Frames transmitted with heartbeat failure -// XMIT_TIMES_CRS_LOST -// Times carrier sense signal lost during transmission -// XMIT_LATE_COLLISIONS -// Late collisions detected -// -#define USBD_CDC0_NCM_BM_ETHERNET_STATISTICS 0x00000003 - -// Maximum Segment Size -// Specifies maximum segment size that Ethernet device is capable of supporting. -// Typically 1514 bytes. -#define USBD_CDC0_NCM_W_MAX_SEGMENT_SIZE 1514 - -// Multicast Filtering <0=>Perfect (no hashing) <1=>Imperfect (hashing) -// Specifies multicast filtering type. -// Number of Multicast Filters -// Specifies number of multicast filters that can be configured by the USB Host. -#define USBD_CDC0_NCM_W_NUMBER_MC_FILTERS 1 - -// Number of Power Filters -// Specifies number of pattern filters that are available for causing wake-up of the USB Host. -#define USBD_CDC0_NCM_B_NUMBER_POWER_FILTERS 0 - -// Network Capabilities -// Specifies which functions are supported. -// SetCrcMode/GetCrcMode -// SetMaxDatagramSize/GetMaxDatagramSize -// SetNetAddress/GetNetAddress -// SetEthernetPacketFilter -// -#define USBD_CDC0_NCM_BM_NETWORK_CAPABILITIES 0x1B - -// NTB Parameters -// Specifies NTB parameters reported by GetNtbParameters function. - -// NTB Formats Supported (bmNtbFormatsSupported) -// Specifies NTB formats supported. -// 16-bit NTB (always supported) -// 32-bit NTB -// -#define USBD_CDC0_NCM_BM_NTB_FORMATS_SUPPORTED 0x0001 - -// IN Data Pipe -// -// Maximum NTB Size (dwNtbInMaxSize) -// Specifies maximum IN NTB size in bytes. -#define USBD_CDC0_NCM_DW_NTB_IN_MAX_SIZE 4096 - -// NTB Datagram Payload Alignment Divisor (wNdpInDivisor) -// Specifies divisor used for IN NTB Datagram payload alignment. -#define USBD_CDC0_NCM_W_NDP_IN_DIVISOR 4 - -// NTB Datagram Payload Alignment Remainder (wNdpInPayloadRemainder) -// Specifies remainder used to align input datagram payload within the NTB. -// (Payload Offset) % (wNdpInDivisor) = wNdpInPayloadRemainder -#define USBD_CDC0_NCM_W_NDP_IN_PAYLOAD_REMINDER 0 - -// NDP Alignment Modulus in NTB (wNdpInAlignment) -// Specifies NDP alignment modulus for NTBs on the IN pipe. -// Shall be power of 2, and shall be at least 4. -#define USBD_CDC0_NCM_W_NDP_IN_ALIGNMENT 4 - -// - -// OUT Data Pipe -// -// Maximum NTB Size (dwNtbOutMaxSize) -// Specifies maximum OUT NTB size in bytes. -#define USBD_CDC0_NCM_DW_NTB_OUT_MAX_SIZE 4096 - -// NTB Datagram Payload Alignment Divisor (wNdpOutDivisor) -// Specifies divisor used for OUT NTB Datagram payload alignment. -#define USBD_CDC0_NCM_W_NDP_OUT_DIVISOR 4 - -// NTB Datagram Payload Alignment Remainder (wNdpOutPayloadRemainder) -// Specifies remainder used to align output datagram payload within the NTB. -// (Payload Offset) % (wNdpOutDivisor) = wNdpOutPayloadRemainder -#define USBD_CDC0_NCM_W_NDP_OUT_PAYLOAD_REMINDER 0 - -// NDP Alignment Modulus in NTB (wNdpOutAlignment) -// Specifies NDP alignment modulus for NTBs on the IN pipe. -// Shall be power of 2, and shall be at least 4. -#define USBD_CDC0_NCM_W_NDP_OUT_ALIGNMENT 4 - -// - -// - -// Raw Data Access API -// Enables or disables Raw Data Access API. -#define USBD_CDC0_NCM_RAW_ENABLE 0 - -// IN NTB Data Buffering <1=>Single Buffer <2=>Double Buffer -// Specifies buffering used for sending data to USB Host. -// Not used when RAW Data Access API is enabled. -#define USBD_CDC0_NCM_NTB_IN_BUF_CNT 1 - -// OUT NTB Data Buffering <1=>Single Buffer <2=>Double Buffer -// Specifies buffering used for receiving data from USB Host. -// Not used when RAW Data Access API is enabled. -#define USBD_CDC0_NCM_NTB_OUT_BUF_CNT 1 - -// - -// - -// OS Resources Settings -// These settings are used to optimize usage of OS resources. -// Communication Device Class Interrupt Endpoint Thread Stack Size <64-65536> -#define USBD_CDC0_INT_THREAD_STACK_SIZE 512 - -// Communication Device Class Interrupt Endpoint Thread Priority -#define USBD_CDC0_INT_THREAD_PRIORITY osPriorityAboveNormal - -// Communication Device Class Bulk Endpoints Thread Stack Size <64-65536> -#define USBD_CDC0_BULK_THREAD_STACK_SIZE 512 - -// Communication Device Class Bulk Endpoints Thread Priority -#define USBD_CDC0_BULK_THREAD_PRIORITY osPriorityAboveNormal - -// -// diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/USB/USBD_Config_CustomClass_0.h b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/USB/USBD_Config_CustomClass_0.h deleted file mode 100644 index 1c47124..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/RTE/USB/USBD_Config_CustomClass_0.h +++ /dev/null @@ -1,3771 +0,0 @@ -/*------------------------------------------------------------------------------ - * MDK Middleware - Component ::USB:Device - * Copyright (c) 2004-2019 Arm Limited (or its affiliates). All rights reserved. - *------------------------------------------------------------------------------ - * Name: USBD_Config_CustomClass_0.h - * Purpose: USB Device Custom Class Configuration - * Rev.: V5.2.0 - *----------------------------------------------------------------------------*/ - -//-------- <<< Use Configuration Wizard in Context Menu >>> -------------------- - -// USB Device: Custom Class 0 -// Custom Class can be used to make support for Standard or Vendor-Specific Class -// Assign Device Class to USB Device # <0-3> -// Select USB Device that is used for this Device Class instance -#define USBD_CUSTOM_CLASS0_DEV 0 - -// Interface Association -// Used for grouping of multiple interfaces to a single class. -#define USBD_CUSTOM_CLASS0_IAD_EN 0 - -// Class Code -// Class Codes are defined by USB-IF. For more information refer to -// http://www.usb.org/developers/defined_class. -// <0x00=>0x00: Indicate a Null Class Code triple -// <0x01=>0x01: Audio -// <0x02=>0x02: Communications and CDC Control -// <0x03=>0x03: HID (Human Interface Device) -// <0x05=>0x05: Physical -// <0x06=>0x06: Image -// <0x07=>0x07: Printer -// <0x08=>0x08: Mass Storage -// <0x0A=>0x0A: CDC-Data -// <0x0B=>0x0B: Smart Card -// <0x0D=>0x0D: Content Security -// <0x0E=>0x0E: Video -// <0x0F=>0x0F: Personal Healthcare -// <0x10=>0x10: Audio/Video Devices -// <0xDC=>0xDC: Diagnostic Device -// <0xE0=>0xE0: Wireless Controller -// <0xEF=>0xEF: Miscellaneous -// <0xFE=>0xFE: Application Specific -// <0xFF=>0xFF: Vendor Specific -#define USBD_CUSTOM_CLASS0_IAD_CLASS 0xFF - -// Subclass Code <0x00-0xFF> -// The possible values depend on the Class Code: -// Class Code 0x00: Subclass Code must be 0 -// Class Code 0x01 .. 0xFE: Subclass Code is defined by USB-IF -// Class Code 0xFF: Subclass Code can be 0x00 .. 0xFF -#define USBD_CUSTOM_CLASS0_IAD_SUBCLASS 0x00 - -// Protocol Code <0x00-0xFF> -// The Protocol Code value defines the protocol used on this interface: -// Protocol Code 0x00: class-specific protocol not used -// Protocol Code 0x01 .. 0xFE: class-specific protocol used -// Protocol Code 0xFF: vendor-specific protocol used -#define USBD_CUSTOM_CLASS0_IAD_PROTOCOL 0x00 - -// - - -// Interface -#define USBD_CUSTOM_CLASS0_IF0_EN 1 - -// Interface Settings -// The Interface Settings are used to create the Interface Descriptor. -// Refer to USB - USB Concepts - USB Descriptor in the MDK Components -// User's Guide for more information about the Interface Descriptor. - -// Interface Number <0-255> -// Defines the value for bInterfaceNumber -// Each USB Device Interface has a sequential Interface Number starting with 0. -// Several Interfaces may have the same Interface Number; in this case the value -// of Alternate Setting is used to differ between the Interfaces. For a -// composite device the Interface Numbers of the custom classes must be contiguous. -#define USBD_CUSTOM_CLASS0_IF0_NUM 0 - -// Alternate Setting <0=>0 <1=>1 <2=>2 <3=>3 -// Defines the value for bAlternateSetting -// A sequential number starting with 0 to identify the Interface Descriptors -// that share the same value for Interface Number. -#define USBD_CUSTOM_CLASS0_IF0_ALT 0 - -// Class Code -// Class Codes are defined by USB-IF. For more information refer to -// http://www.usb.org/developers/defined_class. -// <0x00=>0x00: Indicate a Null Class Code triple -// <0x01=>0x01: Audio -// <0x02=>0x02: Communications and CDC Control -// <0x03=>0x03: HID (Human Interface Device) -// <0x05=>0x05: Physical -// <0x06=>0x06: Image -// <0x07=>0x07: Printer -// <0x08=>0x08: Mass Storage -// <0x0A=>0x0A: CDC-Data -// <0x0B=>0x0B: Smart Card -// <0x0D=>0x0D: Content Security -// <0x0E=>0x0E: Video -// <0x0F=>0x0F: Personal Healthcare -// <0x10=>0x10: Audio/Video Devices -// <0xDC=>0xDC: Diagnostic Device -// <0xE0=>0xE0: Wireless Controller -// <0xEF=>0xEF: Miscellaneous -// <0xFE=>0xFE: Application Specific -// <0xFF=>0xFF: Vendor Specific -#define USBD_CUSTOM_CLASS0_IF0_CLASS 0xFF - -// Subclass Code <0x00-0xFF> -// The possible values depend on the Class Code: -// Class Code 0x00: Subclass Code must be 0 -// Class Code 0x01 .. 0xFE: Subclass Code is defined by USB-IF -// Class Code 0xFF: Subclass Code can be 0x00 .. 0xFF -#define USBD_CUSTOM_CLASS0_IF0_SUBCLASS 0x00 - -// Protocol Code <0x00-0xFF> -// The Protocol Code value defines the protocol used on this interface: -// Protocol Code 0x00: class-specific protocol not used -// Protocol Code 0x01 .. 0xFE: class-specific protocol used -// Protocol Code 0xFF: vendor-specific protocol used -#define USBD_CUSTOM_CLASS0_IF0_PROTOCOL 0x00 - -// - -// Endpoint Settings -// Following settings are used to create the Endpoint Descriptors. -// Refer to USB - USB Concepts - USB Descriptor in the MDK Components -// User's Guide for more information about Endpoint Descriptors. - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF0_EP0_EN 1 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF0_EP0_BMATTRIBUTES 0x02 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF0_EP0_BENDPOINTADDRESS 0x01 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF0_EP0_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF0_EP0_FS_BINTERVAL 0 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF0_EP0_HS_WMAXPACKETSIZE 512 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF0_EP0_HS_BINTERVAL 0 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF0_EP1_EN 1 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF0_EP1_BMATTRIBUTES 0x02 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF0_EP1_BENDPOINTADDRESS 0x81 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF0_EP1_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF0_EP1_FS_BINTERVAL 0 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF0_EP1_HS_WMAXPACKETSIZE 512 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF0_EP1_HS_BINTERVAL 0 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF0_EP2_EN 1 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF0_EP2_BMATTRIBUTES 0x02 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF0_EP2_BENDPOINTADDRESS 0x82 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF0_EP2_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF0_EP2_FS_BINTERVAL 0 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF0_EP2_HS_WMAXPACKETSIZE 512 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF0_EP2_HS_BINTERVAL 0 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF0_EP3_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF0_EP3_BMATTRIBUTES 0x03 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF0_EP3_BENDPOINTADDRESS 0x82 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF0_EP3_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF0_EP3_FS_BINTERVAL 1 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF0_EP3_HS_WMAXPACKETSIZE 1024 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF0_EP3_HS_BINTERVAL 1 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF0_EP4_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF0_EP4_BMATTRIBUTES 0x01 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF0_EP4_BENDPOINTADDRESS 0x03 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF0_EP4_FS_WMAXPACKETSIZE 1023 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF0_EP4_FS_BINTERVAL 1 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF0_EP4_HS_WMAXPACKETSIZE 1024 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF0_EP4_HS_BINTERVAL 1 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF0_EP5_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF0_EP5_BMATTRIBUTES 0x01 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF0_EP5_BENDPOINTADDRESS 0x83 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF0_EP5_FS_WMAXPACKETSIZE 1023 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF0_EP5_FS_BINTERVAL 1 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF0_EP5_HS_WMAXPACKETSIZE 1024 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF0_EP5_HS_BINTERVAL 1 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF0_EP6_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF0_EP6_BMATTRIBUTES 0x02 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF0_EP6_BENDPOINTADDRESS 0x04 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF0_EP6_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF0_EP6_FS_BINTERVAL 0 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF0_EP6_HS_WMAXPACKETSIZE 512 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF0_EP6_HS_BINTERVAL 0 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF0_EP7_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF0_EP7_BMATTRIBUTES 0x02 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF0_EP7_BENDPOINTADDRESS 0x84 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF0_EP7_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF0_EP7_FS_BINTERVAL 0 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF0_EP7_HS_WMAXPACKETSIZE 512 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF0_EP7_HS_BINTERVAL 0 - -// -// -// -// - -// String Settings -// Following settings are used to create String Descriptor(s) - -// Interface String Enable -// Enable Interface String. -// If disabled Interface String will not be assigned to USB Device Custom Class Interface 0. -#define USBD_CUSTOM_CLASS0_IF0_STR_EN 1 - -// Interface String -#define USBD_CUSTOM_CLASS0_IF0_STR L"MCU-LINK CMSIS-DAP" - -// -// - -// Microsoft OS Descriptor Settings -// Following settings are used to create Extended Compat ID OS Feature Descriptor - -// Extended Compat ID OS Feature Descriptor Function Section -// Enable creation of function section in Extended Compat ID OS Feature Descriptor for this interface. -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_COMPAT_ID_EN 1 - -// compatibleID -// compatibleID field of function section in Extended Compat ID OS Feature Descriptor for this interface. -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_COMPAT_ID "WINUSB" - -// subCompatibleID -// subCompatibleID field of function section in Extended Compat ID OS Feature Descriptor for this interface. -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_SUBCOMPAT_ID "" - -// - -// Extended Properties OS Feature Descriptor -// Custom Property Section 0 -// Enable creation of custom property 0 section in Extended Properties OS Feature Descriptor. -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP0_EN 1 - -// Data Type -// Specifies the dwPropertyDataType field of custom property 0 section in Extended Properties OS Feature Descriptor. -// Values 3 (Free-form binary) and 7 (Multiple Unicode Strings) are not supported. -// <1=>Unicode String (REG_SZ) -// <2=>Unicode String with environment variables (REG_EXPAND_SZ) -// <4=>Little-endian 32-bit integer (REG_DWORD_LITTLE_ENDIAN) -// <5=>Big-endian 32-bit integer (REG_DWORD_BIG_ENDIAN) -// <6=>Unicode String with symbolic link (REG_LINK) -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP0_DATA_TYP 1 - -// Name -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP0_NAME L"DeviceInterfaceGUID" - -// Data -// Unicode String -// Property Data in case Data Type is selected as Unicode String. -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP0_DATA_STR L"{CDB3B5AD-293B-4663-AA36-1AAE46463776}" - -// 32-bit Integer -// Property Data in case Data Type is selected as Little/Big-endian 32-bit Integer. -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP0_DATA_INT 0 - -// -// - -// Custom Property Section 1 -// Enable creation of custom property 1 section in Extended Properties OS Feature Descriptor. -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP1_EN 0 - -// Data Type -// Specifies the dwPropertyDataType field of custom property 1 section in Extended Properties OS Feature Descriptor. -// Values 3 (Free-form binary) and 7 (Multiple Unicode Strings) are not supported. -// <1=>Unicode String (REG_SZ) -// <2=>Unicode String with environment variables (REG_EXPAND_SZ) -// <4=>Little-endian 32-bit integer (REG_DWORD_LITTLE_ENDIAN) -// <5=>Big-endian 32-bit integer (REG_DWORD_BIG_ENDIAN) -// <6=>Unicode String with symbolic link (REG_LINK) -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP1_DATA_TYP 1 - -// Name -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP1_NAME L"" - -// Data -// Unicode String -// Property Data in case Data Type is selected as Unicode String. -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP1_DATA_STR L"" - -// 32-bit Integer -// Property Data in case Data Type is selected as Little/Big-endian 32-bit Integer. -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP1_DATA_INT 0 - -// -// - -// Custom Property Section 2 -// Enable creation of custom property 2 section in Extended Properties OS Feature Descriptor. -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP2_EN 0 - -// Data Type -// Specifies the dwPropertyDataType field of custom property 2 section in Extended Properties OS Feature Descriptor. -// Values 3 (Free-form binary) and 7 (Multiple Unicode Strings) are not supported. -// <1=>Unicode String (REG_SZ) -// <2=>Unicode String with environment variables (REG_EXPAND_SZ) -// <4=>Little-endian 32-bit integer (REG_DWORD_LITTLE_ENDIAN) -// <5=>Big-endian 32-bit integer (REG_DWORD_BIG_ENDIAN) -// <6=>Unicode String with symbolic link (REG_LINK) -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP2_DATA_TYP 1 - -// Name -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP2_NAME L"" - -// Data -// Unicode String -// Property Data in case Data Type is selected as Unicode String. -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP2_DATA_STR L"" - -// 32-bit Integer -// Property Data in case Data Type is selected as Little/Big-endian 32-bit Integer. -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP2_DATA_INT 0 - -// -// - -// Custom Property Section 3 -// Enable creation of custom property 3 section in Extended Properties OS Feature Descriptor. -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP3_EN 0 - -// Data Type -// Specifies the dwPropertyDataType field of custom property 3 section in Extended Properties OS Feature Descriptor. -// Values 3 (Free-form binary) and 7 (Multiple Unicode Strings) are not supported. -// <1=>Unicode String (REG_SZ) -// <2=>Unicode String with environment variables (REG_EXPAND_SZ) -// <4=>Little-endian 32-bit integer (REG_DWORD_LITTLE_ENDIAN) -// <5=>Big-endian 32-bit integer (REG_DWORD_BIG_ENDIAN) -// <6=>Unicode String with symbolic link (REG_LINK) -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP3_DATA_TYP 1 - -// Name -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP3_NAME L"" - -// Data -// Unicode String -// Property Data in case Data Type is selected as Unicode String. -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP3_DATA_STR L"" - -// 32-bit Integer -// Property Data in case Data Type is selected as Little/Big-endian 32-bit Integer. -#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP3_DATA_INT 0 - -// -// -// -// -// - - -// Interface -#define USBD_CUSTOM_CLASS0_IF1_EN 0 - -// Interface Settings -// The Interface Settings are used to create the Interface Descriptor. -// Refer to USB - USB Concepts - USB Descriptor in the MDK Components -// User's Guide for more information about the Interface Descriptor. - -// Interface Number <0-255> -// Defines the value for bInterfaceNumber -// Each USB Device Interface has a sequential Interface Number starting with 0. -// Several Interfaces may have the same Interface Number; in this case the value -// of Alternate Setting is used to differ between the Interfaces. For a -// composite device the Interface Numbers of the custom classes must be contiguous. -#define USBD_CUSTOM_CLASS0_IF1_NUM 1 - -// Alternate Setting <0=>0 <1=>1 <2=>2 <3=>3 -// Defines the value for bAlternateSetting -// A sequential number starting with 0 to identify the Interface Descriptors -// that share the same value for Interface Number. -#define USBD_CUSTOM_CLASS0_IF1_ALT 0 - -// Class Code -// Class Codes are defined by USB-IF. For more information refer to -// http://www.usb.org/developers/defined_class. -// <0x00=>0x00: Indicate a Null Class Code triple -// <0x01=>0x01: Audio -// <0x02=>0x02: Communications and CDC Control -// <0x03=>0x03: HID (Human Interface Device) -// <0x05=>0x05: Physical -// <0x06=>0x06: Image -// <0x07=>0x07: Printer -// <0x08=>0x08: Mass Storage -// <0x0A=>0x0A: CDC-Data -// <0x0B=>0x0B: Smart Card -// <0x0D=>0x0D: Content Security -// <0x0E=>0x0E: Video -// <0x0F=>0x0F: Personal Healthcare -// <0x10=>0x10: Audio/Video Devices -// <0xDC=>0xDC: Diagnostic Device -// <0xE0=>0xE0: Wireless Controller -// <0xEF=>0xEF: Miscellaneous -// <0xFE=>0xFE: Application Specific -// <0xFF=>0xFF: Vendor Specific -#define USBD_CUSTOM_CLASS0_IF1_CLASS 0xFF - -// Subclass Code <0x00-0xFF> -// The possible values depend on the Class Code: -// Class Code 0x00: Subclass Code must be 0 -// Class Code 0x01 .. 0xFE: Subclass Code is defined by USB-IF -// Class Code 0xFF: Subclass Code can be 0x00 .. 0xFF -#define USBD_CUSTOM_CLASS0_IF1_SUBCLASS 0x00 - -// Protocol Code <0x00-0xFF> -// The Protocol Code value defines the protocol used on this interface: -// Protocol Code 0x00: class-specific protocol not used -// Protocol Code 0x01 .. 0xFE: class-specific protocol used -// Protocol Code 0xFF: vendor-specific protocol used -#define USBD_CUSTOM_CLASS0_IF1_PROTOCOL 0x00 - -// - -// Endpoint Settings -// Following settings are used to create the Endpoint Descriptors. -// Refer to USB - USB Concepts - USB Descriptor in the MDK Components -// User's Guide for more information about Endpoint Descriptors. - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF1_EP0_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF1_EP0_BMATTRIBUTES 0x02 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF1_EP0_BENDPOINTADDRESS 0x01 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF1_EP0_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF1_EP0_FS_BINTERVAL 0 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF1_EP0_HS_WMAXPACKETSIZE 512 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF1_EP0_HS_BINTERVAL 0 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF1_EP1_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF1_EP1_BMATTRIBUTES 0x02 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF1_EP1_BENDPOINTADDRESS 0x81 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF1_EP1_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF1_EP1_FS_BINTERVAL 0 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF1_EP1_HS_WMAXPACKETSIZE 512 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF1_EP1_HS_BINTERVAL 0 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF1_EP2_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF1_EP2_BMATTRIBUTES 0x03 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF1_EP2_BENDPOINTADDRESS 0x02 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF1_EP2_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF1_EP2_FS_BINTERVAL 1 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF1_EP2_HS_WMAXPACKETSIZE 1024 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF1_EP2_HS_BINTERVAL 1 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF1_EP3_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF1_EP3_BMATTRIBUTES 0x03 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF1_EP3_BENDPOINTADDRESS 0x82 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF1_EP3_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF1_EP3_FS_BINTERVAL 1 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF1_EP3_HS_WMAXPACKETSIZE 1024 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF1_EP3_HS_BINTERVAL 1 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF1_EP4_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF1_EP4_BMATTRIBUTES 0x01 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF1_EP4_BENDPOINTADDRESS 0x03 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF1_EP4_FS_WMAXPACKETSIZE 1023 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF1_EP4_FS_BINTERVAL 1 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF1_EP4_HS_WMAXPACKETSIZE 1024 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF1_EP4_HS_BINTERVAL 1 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF1_EP5_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF1_EP5_BMATTRIBUTES 0x01 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF1_EP5_BENDPOINTADDRESS 0x83 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF1_EP5_FS_WMAXPACKETSIZE 1023 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF1_EP5_FS_BINTERVAL 1 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF1_EP5_HS_WMAXPACKETSIZE 1024 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF1_EP5_HS_BINTERVAL 1 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF1_EP6_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF1_EP6_BMATTRIBUTES 0x02 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF1_EP6_BENDPOINTADDRESS 0x04 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF1_EP6_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF1_EP6_FS_BINTERVAL 0 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF1_EP6_HS_WMAXPACKETSIZE 512 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF1_EP6_HS_BINTERVAL 0 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF1_EP7_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF1_EP7_BMATTRIBUTES 0x02 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF1_EP7_BENDPOINTADDRESS 0x84 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF1_EP7_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF1_EP7_FS_BINTERVAL 0 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF1_EP7_HS_WMAXPACKETSIZE 512 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF1_EP7_HS_BINTERVAL 0 - -// -// -// -// - -// String Settings -// Following settings are used to create String Descriptor(s) - -// Interface String Enable -// Enable Interface String. -// If disabled Interface String will not be assigned to USB Device Custom Class Interface 1. -#define USBD_CUSTOM_CLASS0_IF1_STR_EN 0 - -// Interface String -#define USBD_CUSTOM_CLASS0_IF1_STR L"USB_CUSTOM_CLASS0_IF1" - -// -// - -// Microsoft OS Descriptor Settings -// Following settings are used to create Extended Compat ID OS Feature Descriptor - -// Extended Compat ID OS Feature Descriptor Function Section -// Enable creation of function section in Extended Compat ID OS Feature Descriptor for this interface. -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_COMPAT_ID_EN 0 - -// compatibleID -// compatibleID field of function section in Extended Compat ID OS Feature Descriptor for this interface. -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_COMPAT_ID "WINUSB" - -// subCompatibleID -// subCompatibleID field of function section in Extended Compat ID OS Feature Descriptor for this interface. -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_SUBCOMPAT_ID "" - -// - -// Extended Properties OS Feature Descriptor -// Custom Property Section 0 -// Enable creation of custom property 0 section in Extended Properties OS Feature Descriptor. -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP0_EN 0 - -// Data Type -// Specifies the dwPropertyDataType field of custom property 0 section in Extended Properties OS Feature Descriptor. -// Values 3 (Free-form binary) and 7 (Multiple Unicode Strings) are not supported. -// <1=>Unicode String (REG_SZ) -// <2=>Unicode String with environment variables (REG_EXPAND_SZ) -// <4=>Little-endian 32-bit integer (REG_DWORD_LITTLE_ENDIAN) -// <5=>Big-endian 32-bit integer (REG_DWORD_BIG_ENDIAN) -// <6=>Unicode String with symbolic link (REG_LINK) -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP0_DATA_TYP 1 - -// Name -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP0_NAME L"DeviceInterfaceGUID" - -// Data -// Unicode String -// Property Data in case Data Type is selected as Unicode String. -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP0_DATA_STR L"{7D9ADCFC-E570-4B38-BF4E-8F81F68964E0}" - -// 32-bit Integer -// Property Data in case Data Type is selected as Little/Big-endian 32-bit Integer. -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP0_DATA_INT 0 - -// -// - -// Custom Property Section 1 -// Enable creation of custom property 1 section in Extended Properties OS Feature Descriptor. -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP1_EN 0 - -// Data Type -// Specifies the dwPropertyDataType field of custom property 1 section in Extended Properties OS Feature Descriptor. -// Values 3 (Free-form binary) and 7 (Multiple Unicode Strings) are not supported. -// <1=>Unicode String (REG_SZ) -// <2=>Unicode String with environment variables (REG_EXPAND_SZ) -// <4=>Little-endian 32-bit integer (REG_DWORD_LITTLE_ENDIAN) -// <5=>Big-endian 32-bit integer (REG_DWORD_BIG_ENDIAN) -// <6=>Unicode String with symbolic link (REG_LINK) -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP1_DATA_TYP 1 - -// Name -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP1_NAME L"" - -// Data -// Unicode String -// Property Data in case Data Type is selected as Unicode String. -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP1_DATA_STR L"" - -// 32-bit Integer -// Property Data in case Data Type is selected as Little/Big-endian 32-bit Integer. -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP1_DATA_INT 0 - -// -// - -// Custom Property Section 2 -// Enable creation of custom property 2 section in Extended Properties OS Feature Descriptor. -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP2_EN 0 - -// Data Type -// Specifies the dwPropertyDataType field of custom property 2 section in Extended Properties OS Feature Descriptor. -// Values 3 (Free-form binary) and 7 (Multiple Unicode Strings) are not supported. -// <1=>Unicode String (REG_SZ) -// <2=>Unicode String with environment variables (REG_EXPAND_SZ) -// <4=>Little-endian 32-bit integer (REG_DWORD_LITTLE_ENDIAN) -// <5=>Big-endian 32-bit integer (REG_DWORD_BIG_ENDIAN) -// <6=>Unicode String with symbolic link (REG_LINK) -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP2_DATA_TYP 1 - -// Name -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP2_NAME L"" - -// Data -// Unicode String -// Property Data in case Data Type is selected as Unicode String. -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP2_DATA_STR L"" - -// 32-bit Integer -// Property Data in case Data Type is selected as Little/Big-endian 32-bit Integer. -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP2_DATA_INT 0 - -// -// - -// Custom Property Section 3 -// Enable creation of custom property 3 section in Extended Properties OS Feature Descriptor. -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP3_EN 0 - -// Data Type -// Specifies the dwPropertyDataType field of custom property 3 section in Extended Properties OS Feature Descriptor. -// Values 3 (Free-form binary) and 7 (Multiple Unicode Strings) are not supported. -// <1=>Unicode String (REG_SZ) -// <2=>Unicode String with environment variables (REG_EXPAND_SZ) -// <4=>Little-endian 32-bit integer (REG_DWORD_LITTLE_ENDIAN) -// <5=>Big-endian 32-bit integer (REG_DWORD_BIG_ENDIAN) -// <6=>Unicode String with symbolic link (REG_LINK) -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP3_DATA_TYP 1 - -// Name -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP3_NAME L"" - -// Data -// Unicode String -// Property Data in case Data Type is selected as Unicode String. -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP3_DATA_STR L"" - -// 32-bit Integer -// Property Data in case Data Type is selected as Little/Big-endian 32-bit Integer. -#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP3_DATA_INT 0 - -// -// -// -// -// - - -// Interface -#define USBD_CUSTOM_CLASS0_IF2_EN 0 - -// Interface Settings -// The Interface Settings are used to create the Interface Descriptor. -// Refer to USB - USB Concepts - USB Descriptor in the MDK Components -// User's Guide for more information about the Interface Descriptor. - -// Interface Number <0-255> -// Defines the value for bInterfaceNumber -// Each USB Device Interface has a sequential Interface Number starting with 0. -// Several Interfaces may have the same Interface Number; in this case the value -// of Alternate Setting is used to differ between the Interfaces. For a -// composite device the Interface Numbers of the custom classes must be contiguous. -#define USBD_CUSTOM_CLASS0_IF2_NUM 2 - -// Alternate Setting <0=>0 <1=>1 <2=>2 <3=>3 -// Defines the value for bAlternateSetting -// A sequential number starting with 0 to identify the Interface Descriptors -// that share the same value for Interface Number. -#define USBD_CUSTOM_CLASS0_IF2_ALT 0 - -// Class Code -// Class Codes are defined by USB-IF. For more information refer to -// http://www.usb.org/developers/defined_class. -// <0x00=>0x00: Indicate a Null Class Code triple -// <0x01=>0x01: Audio -// <0x02=>0x02: Communications and CDC Control -// <0x03=>0x03: HID (Human Interface Device) -// <0x05=>0x05: Physical -// <0x06=>0x06: Image -// <0x07=>0x07: Printer -// <0x08=>0x08: Mass Storage -// <0x0A=>0x0A: CDC-Data -// <0x0B=>0x0B: Smart Card -// <0x0D=>0x0D: Content Security -// <0x0E=>0x0E: Video -// <0x0F=>0x0F: Personal Healthcare -// <0x10=>0x10: Audio/Video Devices -// <0xDC=>0xDC: Diagnostic Device -// <0xE0=>0xE0: Wireless Controller -// <0xEF=>0xEF: Miscellaneous -// <0xFE=>0xFE: Application Specific -// <0xFF=>0xFF: Vendor Specific -#define USBD_CUSTOM_CLASS0_IF2_CLASS 0xFF - -// Subclass Code <0x00-0xFF> -// The possible values depend on the Class Code: -// Class Code 0x00: Subclass Code must be 0 -// Class Code 0x01 .. 0xFE: Subclass Code is defined by USB-IF -// Class Code 0xFF: Subclass Code can be 0x00 .. 0xFF -#define USBD_CUSTOM_CLASS0_IF2_SUBCLASS 0x00 - -// Protocol Code <0x00-0xFF> -// The Protocol Code value defines the protocol used on this interface: -// Protocol Code 0x00: class-specific protocol not used -// Protocol Code 0x01 .. 0xFE: class-specific protocol used -// Protocol Code 0xFF: vendor-specific protocol used -#define USBD_CUSTOM_CLASS0_IF2_PROTOCOL 0x00 - -// - -// Endpoint Settings -// Following settings are used to create the Endpoint Descriptors. -// Refer to USB - USB Concepts - USB Descriptor in the MDK Components -// User's Guide for more information about Endpoint Descriptors. - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF2_EP0_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF2_EP0_BMATTRIBUTES 0x02 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF2_EP0_BENDPOINTADDRESS 0x01 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF2_EP0_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF2_EP0_FS_BINTERVAL 0 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF2_EP0_HS_WMAXPACKETSIZE 512 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF2_EP0_HS_BINTERVAL 0 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF2_EP1_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF2_EP1_BMATTRIBUTES 0x02 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF2_EP1_BENDPOINTADDRESS 0x81 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF2_EP1_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF2_EP1_FS_BINTERVAL 0 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF2_EP1_HS_WMAXPACKETSIZE 512 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF2_EP1_HS_BINTERVAL 0 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF2_EP2_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF2_EP2_BMATTRIBUTES 0x03 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF2_EP2_BENDPOINTADDRESS 0x02 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF2_EP2_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF2_EP2_FS_BINTERVAL 1 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF2_EP2_HS_WMAXPACKETSIZE 1024 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF2_EP2_HS_BINTERVAL 1 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF2_EP3_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF2_EP3_BMATTRIBUTES 0x03 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF2_EP3_BENDPOINTADDRESS 0x82 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF2_EP3_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF2_EP3_FS_BINTERVAL 1 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF2_EP3_HS_WMAXPACKETSIZE 1024 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF2_EP3_HS_BINTERVAL 1 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF2_EP4_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF2_EP4_BMATTRIBUTES 0x01 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF2_EP4_BENDPOINTADDRESS 0x03 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF2_EP4_FS_WMAXPACKETSIZE 1023 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF2_EP4_FS_BINTERVAL 1 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF2_EP4_HS_WMAXPACKETSIZE 1024 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF2_EP4_HS_BINTERVAL 1 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF2_EP5_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF2_EP5_BMATTRIBUTES 0x01 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF2_EP5_BENDPOINTADDRESS 0x83 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF2_EP5_FS_WMAXPACKETSIZE 1023 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF2_EP5_FS_BINTERVAL 1 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF2_EP5_HS_WMAXPACKETSIZE 1024 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF2_EP5_HS_BINTERVAL 1 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF2_EP6_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF2_EP6_BMATTRIBUTES 0x02 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF2_EP6_BENDPOINTADDRESS 0x04 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF2_EP6_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF2_EP6_FS_BINTERVAL 0 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF2_EP6_HS_WMAXPACKETSIZE 512 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF2_EP6_HS_BINTERVAL 0 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF2_EP7_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF2_EP7_BMATTRIBUTES 0x02 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF2_EP7_BENDPOINTADDRESS 0x84 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF2_EP7_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF2_EP7_FS_BINTERVAL 0 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF2_EP7_HS_WMAXPACKETSIZE 512 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF2_EP7_HS_BINTERVAL 0 - -// -// -// -// - -// String Settings -// Following settings are used to create String Descriptor(s) - -// Interface String Enable -// Enable Interface String. -// If disabled Interface String will not be assigned to USB Device Custom Class Interface 2. -#define USBD_CUSTOM_CLASS0_IF2_STR_EN 0 - -// Interface String -#define USBD_CUSTOM_CLASS0_IF2_STR L"USB_CUSTOM_CLASS0_IF2" - -// -// - -// Microsoft OS Descriptor Settings -// Following settings are used to create Extended Compat ID OS Feature Descriptor - -// Extended Compat ID OS Feature Descriptor Function Section -// Enable creation of function section in Extended Compat ID OS Feature Descriptor for this interface. -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_COMPAT_ID_EN 0 - -// compatibleID -// compatibleID field of function section in Extended Compat ID OS Feature Descriptor for this interface. -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_COMPAT_ID "WINUSB" - -// subCompatibleID -// subCompatibleID field of function section in Extended Compat ID OS Feature Descriptor for this interface. -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_SUBCOMPAT_ID "" - -// - -// Extended Properties OS Feature Descriptor -// Custom Property Section 0 -// Enable creation of custom property 0 section in Extended Properties OS Feature Descriptor. -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP0_EN 0 - -// Data Type -// Specifies the dwPropertyDataType field of custom property 0 section in Extended Properties OS Feature Descriptor. -// Values 3 (Free-form binary) and 7 (Multiple Unicode Strings) are not supported. -// <1=>Unicode String (REG_SZ) -// <2=>Unicode String with environment variables (REG_EXPAND_SZ) -// <4=>Little-endian 32-bit integer (REG_DWORD_LITTLE_ENDIAN) -// <5=>Big-endian 32-bit integer (REG_DWORD_BIG_ENDIAN) -// <6=>Unicode String with symbolic link (REG_LINK) -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP0_DATA_TYP 1 - -// Name -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP0_NAME L"DeviceInterfaceGUID" - -// Data -// Unicode String -// Property Data in case Data Type is selected as Unicode String. -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP0_DATA_STR L"{7D9ADCFC-E570-4B38-BF4E-8F81F68964E0}" - -// 32-bit Integer -// Property Data in case Data Type is selected as Little/Big-endian 32-bit Integer. -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP0_DATA_INT 0 - -// -// - -// Custom Property Section 1 -// Enable creation of custom property 1 section in Extended Properties OS Feature Descriptor. -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP1_EN 0 - -// Data Type -// Specifies the dwPropertyDataType field of custom property 1 section in Extended Properties OS Feature Descriptor. -// Values 3 (Free-form binary) and 7 (Multiple Unicode Strings) are not supported. -// <1=>Unicode String (REG_SZ) -// <2=>Unicode String with environment variables (REG_EXPAND_SZ) -// <4=>Little-endian 32-bit integer (REG_DWORD_LITTLE_ENDIAN) -// <5=>Big-endian 32-bit integer (REG_DWORD_BIG_ENDIAN) -// <6=>Unicode String with symbolic link (REG_LINK) -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP1_DATA_TYP 1 - -// Name -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP1_NAME L"" - -// Data -// Unicode String -// Property Data in case Data Type is selected as Unicode String. -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP1_DATA_STR L"" - -// 32-bit Integer -// Property Data in case Data Type is selected as Little/Big-endian 32-bit Integer. -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP1_DATA_INT 0 - -// -// - -// Custom Property Section 2 -// Enable creation of custom property 2 section in Extended Properties OS Feature Descriptor. -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP2_EN 0 - -// Data Type -// Specifies the dwPropertyDataType field of custom property 2 section in Extended Properties OS Feature Descriptor. -// Values 3 (Free-form binary) and 7 (Multiple Unicode Strings) are not supported. -// <1=>Unicode String (REG_SZ) -// <2=>Unicode String with environment variables (REG_EXPAND_SZ) -// <4=>Little-endian 32-bit integer (REG_DWORD_LITTLE_ENDIAN) -// <5=>Big-endian 32-bit integer (REG_DWORD_BIG_ENDIAN) -// <6=>Unicode String with symbolic link (REG_LINK) -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP2_DATA_TYP 1 - -// Name -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP2_NAME L"" - -// Data -// Unicode String -// Property Data in case Data Type is selected as Unicode String. -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP2_DATA_STR L"" - -// 32-bit Integer -// Property Data in case Data Type is selected as Little/Big-endian 32-bit Integer. -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP2_DATA_INT 0 - -// -// - -// Custom Property Section 3 -// Enable creation of custom property 3 section in Extended Properties OS Feature Descriptor. -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP3_EN 0 - -// Data Type -// Specifies the dwPropertyDataType field of custom property 3 section in Extended Properties OS Feature Descriptor. -// Values 3 (Free-form binary) and 7 (Multiple Unicode Strings) are not supported. -// <1=>Unicode String (REG_SZ) -// <2=>Unicode String with environment variables (REG_EXPAND_SZ) -// <4=>Little-endian 32-bit integer (REG_DWORD_LITTLE_ENDIAN) -// <5=>Big-endian 32-bit integer (REG_DWORD_BIG_ENDIAN) -// <6=>Unicode String with symbolic link (REG_LINK) -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP3_DATA_TYP 1 - -// Name -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP3_NAME L"" - -// Data -// Unicode String -// Property Data in case Data Type is selected as Unicode String. -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP3_DATA_STR L"" - -// 32-bit Integer -// Property Data in case Data Type is selected as Little/Big-endian 32-bit Integer. -#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP3_DATA_INT 0 - -// -// -// -// -// - - -// Interface -#define USBD_CUSTOM_CLASS0_IF3_EN 0 - -// Interface Settings -// The Interface Settings are used to create the Interface Descriptor. -// Refer to USB - USB Concepts - USB Descriptor in the MDK Components -// User's Guide for more information about the Interface Descriptor. - -// Interface Number <0-255> -// Defines the value for bInterfaceNumber -// Each USB Device Interface has a sequential Interface Number starting with 0. -// Several Interfaces may have the same Interface Number; in this case the value -// of Alternate Setting is used to differ between the Interfaces. For a -// composite device the Interface Numbers of the custom classes must be contiguous. -#define USBD_CUSTOM_CLASS0_IF3_NUM 3 - -// Alternate Setting <0=>0 <1=>1 <2=>2 <3=>3 -// Defines the value for bAlternateSetting -// A sequential number starting with 0 to identify the Interface Descriptors -// that share the same value for Interface Number. -#define USBD_CUSTOM_CLASS0_IF3_ALT 0 - -// Class Code -// Class Codes are defined by USB-IF. For more information refer to -// http://www.usb.org/developers/defined_class. -// <0x00=>0x00: Indicate a Null Class Code triple -// <0x01=>0x01: Audio -// <0x02=>0x02: Communications and CDC Control -// <0x03=>0x03: HID (Human Interface Device) -// <0x05=>0x05: Physical -// <0x06=>0x06: Image -// <0x07=>0x07: Printer -// <0x08=>0x08: Mass Storage -// <0x0A=>0x0A: CDC-Data -// <0x0B=>0x0B: Smart Card -// <0x0D=>0x0D: Content Security -// <0x0E=>0x0E: Video -// <0x0F=>0x0F: Personal Healthcare -// <0x10=>0x10: Audio/Video Devices -// <0xDC=>0xDC: Diagnostic Device -// <0xE0=>0xE0: Wireless Controller -// <0xEF=>0xEF: Miscellaneous -// <0xFE=>0xFE: Application Specific -// <0xFF=>0xFF: Vendor Specific -#define USBD_CUSTOM_CLASS0_IF3_CLASS 0xFF - -// Subclass Code <0x00-0xFF> -// The possible values depend on the Class Code: -// Class Code 0x00: Subclass Code must be 0 -// Class Code 0x01 .. 0xFE: Subclass Code is defined by USB-IF -// Class Code 0xFF: Subclass Code can be 0x00 .. 0xFF -#define USBD_CUSTOM_CLASS0_IF3_SUBCLASS 0x00 - -// Protocol Code <0x00-0xFF> -// The Protocol Code value defines the protocol used on this interface: -// Protocol Code 0x00: class-specific protocol not used -// Protocol Code 0x01 .. 0xFE: class-specific protocol used -// Protocol Code 0xFF: vendor-specific protocol used -#define USBD_CUSTOM_CLASS0_IF3_PROTOCOL 0x00 - -// - -// Endpoint Settings -// Following settings are used to create the Endpoint Descriptors. -// Refer to USB - USB Concepts - USB Descriptor in the MDK Components -// User's Guide for more information about Endpoint Descriptors. - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF3_EP0_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF3_EP0_BMATTRIBUTES 0x02 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF3_EP0_BENDPOINTADDRESS 0x01 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF3_EP0_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF3_EP0_FS_BINTERVAL 0 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF3_EP0_HS_WMAXPACKETSIZE 512 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF3_EP0_HS_BINTERVAL 0 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF3_EP1_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF3_EP1_BMATTRIBUTES 0x02 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF3_EP1_BENDPOINTADDRESS 0x81 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF3_EP1_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF3_EP1_FS_BINTERVAL 0 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF3_EP1_HS_WMAXPACKETSIZE 512 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF3_EP1_HS_BINTERVAL 0 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF3_EP2_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF3_EP2_BMATTRIBUTES 0x03 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF3_EP2_BENDPOINTADDRESS 0x02 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF3_EP2_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF3_EP2_FS_BINTERVAL 1 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF3_EP2_HS_WMAXPACKETSIZE 1024 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF3_EP2_HS_BINTERVAL 1 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF3_EP3_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF3_EP3_BMATTRIBUTES 0x03 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF3_EP3_BENDPOINTADDRESS 0x82 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF3_EP3_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF3_EP3_FS_BINTERVAL 1 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF3_EP3_HS_WMAXPACKETSIZE 1024 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF3_EP3_HS_BINTERVAL 1 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF3_EP4_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF3_EP4_BMATTRIBUTES 0x01 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF3_EP4_BENDPOINTADDRESS 0x03 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF3_EP4_FS_WMAXPACKETSIZE 1023 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF3_EP4_FS_BINTERVAL 1 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF3_EP4_HS_WMAXPACKETSIZE 1024 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF3_EP4_HS_BINTERVAL 1 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF3_EP5_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF3_EP5_BMATTRIBUTES 0x01 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF3_EP5_BENDPOINTADDRESS 0x83 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF3_EP5_FS_WMAXPACKETSIZE 1023 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF3_EP5_FS_BINTERVAL 1 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF3_EP5_HS_WMAXPACKETSIZE 1024 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF3_EP5_HS_BINTERVAL 1 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF3_EP6_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF3_EP6_BMATTRIBUTES 0x02 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF3_EP6_BENDPOINTADDRESS 0x04 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF3_EP6_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF3_EP6_FS_BINTERVAL 0 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF3_EP6_HS_WMAXPACKETSIZE 512 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF3_EP6_HS_BINTERVAL 0 - -// -// -// - -// Endpoint -// Enable Endpoint for this interface. -#define USBD_CUSTOM_CLASS0_IF3_EP7_EN 0 - -// Type -// Select Endpoint Type. -// Endpoint Descriptor: bmAttributes field bits 0 .. 1. -// If required, for Isochronous Endpoint, Synchronization and Usage Type -// can be set by manually editing define value of BMATTRIBUTES. -// <2=>Bulk -// <3=>Interrupt -// <1=>Isochronous -#define USBD_CUSTOM_CLASS0_IF3_EP7_BMATTRIBUTES 0x02 - -// Number -// Select Endpoint Number. -// Endpoint Descriptor: bEndpointAddress field bits 0 .. 3. -// <1=>1 <2=>2 <3=>3 <4=>4 <5=>5 <6=>6 <7=>7 -// <8=>8 <9=>9 <10=>10 <11=>11 <12=>12 <13=>13 <14=>14 <15=>15 -// Direction -// Select Endpoint Direction. -// Endpoint Descriptor: bEndpointAddress field bit 7. -// <0=>OUT -// <1=>IN -#define USBD_CUSTOM_CLASS0_IF3_EP7_BENDPOINTADDRESS 0x84 - -// Speed Settings -// Settings that are different depending on device operating speed. -// -// Full/Low-speed -// Parameters apply when device operates in Full/Low-speed. -// -// Maximum Packet Size <0-1023> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 8, 16, 32 or 64. -// For Interrupt Endpoint set value to 1 .. 64. -// For Isochronous Endpoint set value to 1 .. 1023. -#define USBD_CUSTOM_CLASS0_IF3_EP7_FS_WMAXPACKETSIZE 64 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in ms). -// Endpoint Descriptor: bInterval field. -// Setting is not used for Bulk Endpoint (set value to 0). -// For Interrupt Endpoint set value to 1 .. 255 (polling interval). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF3_EP7_FS_BINTERVAL 0 - -// - -// High-speed -// Parameters apply when High-speed is enabled in corresponding USBD_Config_n.c -// (n is the index of device on which this interface will be used) and when -// device operates in High-speed. -// -// Maximum Packet Size <0-1024> -// Specifies the physical packet size used for information exchange (in bytes). -// Endpoint Descriptor: wMaxPacketSize field bits 0 .. 10. -// For Bulk Endpoint set value to 512. -// For Interrupt Endpoint set value to 1 .. 1024. -// For Isochronous Endpoint set value to 1 .. 1024. -// Additional Transactions per Microframe -// Specifies additional transactions per microframe to improve communication performance. -// Endpoint Descriptor: wMaxPacketSize field bits 11 .. 12. -// Relevant only if Endpoint Type is Isochronous or Interrupt. -// Value: None = 1 transaction per microframe -// Value: 1 additional = 2 transaction per microframe -// Value: 2 additional = 3 transaction per microframe -// <0=>None -// <1=>1 additional -// <2=>2 additional -#define USBD_CUSTOM_CLASS0_IF3_EP7_HS_WMAXPACKETSIZE 512 - -// Endpoint Polling Interval <0-255> -// Specifies the frequency of requests initiated by USB Host (in 125 us units). -// Endpoint Descriptor: bInterval field. -// For Bulk Endpoint this setting represents maximum NAK rate, set value to 0 .. 255. -// For Interrupt Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -// For Isochronous Endpoint set value to 1 .. 16 (polling interval is 2^(value-1)). -#define USBD_CUSTOM_CLASS0_IF3_EP7_HS_BINTERVAL 0 - -// -// -// -// - -// String Settings -// Following settings are used to create String Descriptor(s) - -// Interface String Enable -// Enable Interface String. -// If disabled Interface String will not be assigned to USB Device Custom Class Interface 3. -#define USBD_CUSTOM_CLASS0_IF3_STR_EN 0 - -// Interface String -#define USBD_CUSTOM_CLASS0_IF3_STR L"USB_CUSTOM_CLASS0_IF3" - -// -// - -// Microsoft OS Descriptor Settings -// Following settings are used to create Extended Compat ID OS Feature Descriptor - -// Extended Compat ID OS Feature Descriptor Function Section -// Enable creation of function section in Extended Compat ID OS Feature Descriptor for this interface. -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_COMPAT_ID_EN 0 - -// compatibleID -// compatibleID field of function section in Extended Compat ID OS Feature Descriptor for this interface. -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_COMPAT_ID "WINUSB" - -// subCompatibleID -// subCompatibleID field of function section in Extended Compat ID OS Feature Descriptor for this interface. -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_SUBCOMPAT_ID "" - -// - -// Extended Properties OS Feature Descriptor -// Custom Property Section 0 -// Enable creation of custom property 0 section in Extended Properties OS Feature Descriptor. -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP0_EN 0 - -// Data Type -// Specifies the dwPropertyDataType field of custom property 0 section in Extended Properties OS Feature Descriptor. -// Values 3 (Free-form binary) and 7 (Multiple Unicode Strings) are not supported. -// <1=>Unicode String (REG_SZ) -// <2=>Unicode String with environment variables (REG_EXPAND_SZ) -// <4=>Little-endian 32-bit integer (REG_DWORD_LITTLE_ENDIAN) -// <5=>Big-endian 32-bit integer (REG_DWORD_BIG_ENDIAN) -// <6=>Unicode String with symbolic link (REG_LINK) -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP0_DATA_TYP 1 - -// Name -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP0_NAME L"DeviceInterfaceGUID" - -// Data -// Unicode String -// Property Data in case Data Type is selected as Unicode String. -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP0_DATA_STR L"{7D9ADCFC-E570-4B38-BF4E-8F81F68964E0}" - -// 32-bit Integer -// Property Data in case Data Type is selected as Little/Big-endian 32-bit Integer. -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP0_DATA_INT 0 - -// -// - -// Custom Property Section 1 -// Enable creation of custom property 1 section in Extended Properties OS Feature Descriptor. -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP1_EN 0 - -// Data Type -// Specifies the dwPropertyDataType field of custom property 1 section in Extended Properties OS Feature Descriptor. -// Values 3 (Free-form binary) and 7 (Multiple Unicode Strings) are not supported. -// <1=>Unicode String (REG_SZ) -// <2=>Unicode String with environment variables (REG_EXPAND_SZ) -// <4=>Little-endian 32-bit integer (REG_DWORD_LITTLE_ENDIAN) -// <5=>Big-endian 32-bit integer (REG_DWORD_BIG_ENDIAN) -// <6=>Unicode String with symbolic link (REG_LINK) -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP1_DATA_TYP 1 - -// Name -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP1_NAME L"" - -// Data -// Unicode String -// Property Data in case Data Type is selected as Unicode String. -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP1_DATA_STR L"" - -// 32-bit Integer -// Property Data in case Data Type is selected as Little/Big-endian 32-bit Integer. -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP1_DATA_INT 0 - -// -// - -// Custom Property Section 2 -// Enable creation of custom property 2 section in Extended Properties OS Feature Descriptor. -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP2_EN 0 - -// Data Type -// Specifies the dwPropertyDataType field of custom property 2 section in Extended Properties OS Feature Descriptor. -// Values 3 (Free-form binary) and 7 (Multiple Unicode Strings) are not supported. -// <1=>Unicode String (REG_SZ) -// <2=>Unicode String with environment variables (REG_EXPAND_SZ) -// <4=>Little-endian 32-bit integer (REG_DWORD_LITTLE_ENDIAN) -// <5=>Big-endian 32-bit integer (REG_DWORD_BIG_ENDIAN) -// <6=>Unicode String with symbolic link (REG_LINK) -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP2_DATA_TYP 1 - -// Name -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP2_NAME L"" - -// Data -// Unicode String -// Property Data in case Data Type is selected as Unicode String. -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP2_DATA_STR L"" - -// 32-bit Integer -// Property Data in case Data Type is selected as Little/Big-endian 32-bit Integer. -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP2_DATA_INT 0 - -// -// - -// Custom Property Section 3 -// Enable creation of custom property 3 section in Extended Properties OS Feature Descriptor. -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP3_EN 0 - -// Data Type -// Specifies the dwPropertyDataType field of custom property 3 section in Extended Properties OS Feature Descriptor. -// Values 3 (Free-form binary) and 7 (Multiple Unicode Strings) are not supported. -// <1=>Unicode String (REG_SZ) -// <2=>Unicode String with environment variables (REG_EXPAND_SZ) -// <4=>Little-endian 32-bit integer (REG_DWORD_LITTLE_ENDIAN) -// <5=>Big-endian 32-bit integer (REG_DWORD_BIG_ENDIAN) -// <6=>Unicode String with symbolic link (REG_LINK) -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP3_DATA_TYP 1 - -// Name -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP3_NAME L"" - -// Data -// Unicode String -// Property Data in case Data Type is selected as Unicode String. -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP3_DATA_STR L"" - -// 32-bit Integer -// Property Data in case Data Type is selected as Little/Big-endian 32-bit Integer. -#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP3_DATA_INT 0 - -// -// -// -// -// - - -// OS Resources Settings -// These settings are used to optimize usage of OS resources. -// Endpoint 1 Thread Stack Size <64-65536> -// This setting is used if Endpoint 1 is enabled. -#define USBD_CUSTOM_CLASS0_EP1_THREAD_STACK_SIZE 512 - -// Endpoint 1 Thread Priority -#define USBD_CUSTOM_CLASS0_EP1_THREAD_PRIORITY osPriorityAboveNormal - -// Endpoint 2 Thread Stack Size <64-65536> -// This setting is used if Endpoint 2 is enabled. -#define USBD_CUSTOM_CLASS0_EP2_THREAD_STACK_SIZE 512 - -// Endpoint 2 Thread Priority -#define USBD_CUSTOM_CLASS0_EP2_THREAD_PRIORITY osPriorityAboveNormal - -// Endpoint 3 Thread Stack Size <64-65536> -// This setting is used if Endpoint 3 is enabled. -#define USBD_CUSTOM_CLASS0_EP3_THREAD_STACK_SIZE 512 - -// Endpoint 3 Thread Priority -#define USBD_CUSTOM_CLASS0_EP3_THREAD_PRIORITY osPriorityAboveNormal - -// Endpoint 4 Thread Stack Size <64-65536> -// This setting is used if Endpoint 4 is enabled. -#define USBD_CUSTOM_CLASS0_EP4_THREAD_STACK_SIZE 512 - -// Endpoint 4 Thread Priority -#define USBD_CUSTOM_CLASS0_EP4_THREAD_PRIORITY osPriorityAboveNormal - -// Endpoint 5 Thread Stack Size <64-65536> -// This setting is used if Endpoint 5 is enabled. -#define USBD_CUSTOM_CLASS0_EP5_THREAD_STACK_SIZE 512 - -// Endpoint 5 Thread Priority -#define USBD_CUSTOM_CLASS0_EP5_THREAD_PRIORITY osPriorityAboveNormal - -// Endpoint 6 Thread Stack Size <64-65536> -// This setting is used if Endpoint 6 is enabled. -#define USBD_CUSTOM_CLASS0_EP6_THREAD_STACK_SIZE 512 - -// Endpoint 6 Thread Priority -#define USBD_CUSTOM_CLASS0_EP6_THREAD_PRIORITY osPriorityAboveNormal - -// Endpoint 7 Thread Stack Size <64-65536> -// This setting is used if Endpoint 7 is enabled. -#define USBD_CUSTOM_CLASS0_EP7_THREAD_STACK_SIZE 512 - -// Endpoint 7 Thread Priority -#define USBD_CUSTOM_CLASS0_EP7_THREAD_PRIORITY osPriorityAboveNormal - -// Endpoint 8 Thread Stack Size <64-65536> -// This setting is used if Endpoint 8 is enabled. -#define USBD_CUSTOM_CLASS0_EP8_THREAD_STACK_SIZE 512 - -// Endpoint 8 Thread Priority -#define USBD_CUSTOM_CLASS0_EP8_THREAD_PRIORITY osPriorityAboveNormal - -// Endpoint 9 Thread Stack Size <64-65536> -// This setting is used if Endpoint 9 is enabled. -#define USBD_CUSTOM_CLASS0_EP9_THREAD_STACK_SIZE 512 - -// Endpoint 9 Thread Priority -#define USBD_CUSTOM_CLASS0_EP9_THREAD_PRIORITY osPriorityAboveNormal - -// Endpoint 10 Thread Stack Size <64-65536> -// This setting is used if Endpoint 10 is enabled. -#define USBD_CUSTOM_CLASS0_EP10_THREAD_STACK_SIZE 512 - -// Endpoint 10 Thread Priority -#define USBD_CUSTOM_CLASS0_EP10_THREAD_PRIORITY osPriorityAboveNormal - -// Endpoint 11 Thread Stack Size <64-65536> -// This setting is used if Endpoint 11 is enabled. -#define USBD_CUSTOM_CLASS0_EP11_THREAD_STACK_SIZE 512 - -// Endpoint 11 Thread Priority -#define USBD_CUSTOM_CLASS0_EP11_THREAD_PRIORITY osPriorityAboveNormal - -// Endpoint 12 Thread Stack Size <64-65536> -// This setting is used if Endpoint 12 is enabled. -#define USBD_CUSTOM_CLASS0_EP12_THREAD_STACK_SIZE 512 - -// Endpoint 12 Thread Priority -#define USBD_CUSTOM_CLASS0_EP12_THREAD_PRIORITY osPriorityAboveNormal - -// Endpoint 13 Thread Stack Size <64-65536> -// This setting is used if Endpoint 13 is enabled. -#define USBD_CUSTOM_CLASS0_EP13_THREAD_STACK_SIZE 512 - -// Endpoint 13 Thread Priority -#define USBD_CUSTOM_CLASS0_EP13_THREAD_PRIORITY osPriorityAboveNormal - -// Endpoint 14 Thread Stack Size <64-65536> -// This setting is used if Endpoint 14 is enabled. -#define USBD_CUSTOM_CLASS0_EP14_THREAD_STACK_SIZE 512 - -// Endpoint 14 Thread Priority -#define USBD_CUSTOM_CLASS0_EP14_THREAD_PRIORITY osPriorityAboveNormal - -// Endpoint 15 Thread Stack Size <64-65536> -// This setting is used if Endpoint 15 is enabled. -#define USBD_CUSTOM_CLASS0_EP15_THREAD_STACK_SIZE 512 - -// Endpoint 15 Thread Priority -#define USBD_CUSTOM_CLASS0_EP15_THREAD_PRIORITY osPriorityAboveNormal - -// -// diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/USBD1_LPC55xxx.c b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/USBD1_LPC55xxx.c deleted file mode 100644 index 69f94c1..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/USBD1_LPC55xxx.c +++ /dev/null @@ -1,984 +0,0 @@ -/* ----------------------------------------------------------------------------- - * Copyright (c) 2021 ARM Ltd. - * - * This software is provided 'as-is', without any express or implied warranty. - * In no event will the authors be held liable for any damages arising from - * the use of this software. Permission is granted to anyone to use this - * software for any purpose, including commercial applications, and to alter - * it and redistribute it freely, subject to the following restrictions: - * - * 1. The origin of this software must not be misrepresented; you must not - * claim that you wrote the original software. If you use this software in - * a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * - * 2. Altered source versions must be plainly marked as such, and must not be - * misrepresented as being the original software. - * - * 3. This notice may not be removed or altered from any source distribution. - * - * - * $Date: 28. June 2021 - * $Revision: V1.0 - * - * Driver: Driver_USBD1 - * Project: USB1 High-Speed Device Driver for NXP LPC55xxx - * -------------------------------------------------------------------------- - * Use the following configuration settings in the middleware component - * to connect to this driver. - * - * Configuration Setting Value - * --------------------- ----- - * Connect to hardware via Driver_USBD# = 1 - * -------------------------------------------------------------------------- - * Defines used for driver configuration (at compile time): - * - * USBD1_MAX_ENDPOINT_NUM: defines maximum number of IN/OUT Endpoint pairs - * that driver will support with Control Endpoint 0 - * not included, this value impacts driver memory - * requirements - * - default value: 5 - * - maximum value: 5 - * - * USBD1_OUT_EP0_BUF_SZ: defines Out Endpoint0 buffer size (in Bytes) - * USBD1_IN_EP0_BUF_SZ: defines In Endpoint0 buffer size (in Bytes) - * USBD1_OUT_EP1_BUF_SZ: defines Out Endpoint1 buffer size (in Bytes) - * USBD1_IN_EP1_BUF_SZ: defines In Endpoint1 buffer size (in Bytes) - * USBD1_OUT_EP2_BUF_SZ: defines Out Endpoint2 buffer size (in Bytes) - * USBD1_IN_EP2_BUF_SZ: defines In Endpoint2 buffer size (in Bytes) - * USBD1_OUT_EP3_BUF_SZ: defines Out Endpoint3 buffer size (in Bytes) - * USBD1_IN_EP3_BUF_SZ: defines In Endpoint3 buffer size (in Bytes) - * USBD1_OUT_EP4_BUF_SZ: defines Out Endpoint4 buffer size (in Bytes) - * USBD1_IN_EP4_BUF_SZ: defines In Endpoint4 buffer size (in Bytes) - * USBD1_OUT_EP5_BUF_SZ: defines Out Endpoint5 buffer size (in Bytes) - * USBD1_IN_EP5_BUF_SZ: defines In Endpoint5 buffer size (in Bytes) - * -------------------------------------------------------------------------- */ - -/* History: - * Version 1.0 - * Initial release - */ - -#include -#include - -#include "Driver_USBD.h" - -#include "RTE_Device.h" -#include "RTE_Components.h" - -#include "fsl_common.h" -#include "fsl_power.h" -#include "fsl_clock.h" -#include "fsl_reset.h" - -#include "USB_LPC55xxx.h" - -// Endpoint buffer must be 64Byte aligned -#define ALIGN_64(n) (n == 0U ? (0U) : (64U * (((n - 1U) / 64U) + 1U))) - -#ifndef USBD1_MAX_ENDPOINT_NUM -#define USBD1_MAX_ENDPOINT_NUM (5U) -#endif -#if (USBD1_MAX_ENDPOINT_NUM > 5) -#error Too many Endpoints, maximum IN/OUT Endpoint pairs that this driver supports is 5 !!! -#endif - -// Endpoint Bufer size definitions -#ifndef USBD1_OUT_EP0_BUF_SZ -#define USBD1_OUT_EP0_BUF_SZ (64U) -#endif -#ifndef USBD1_IN_EP0_BUF_SZ -#define USBD1_IN_EP0_BUF_SZ (64U) -#endif -#define USBD1_OUT_EP0_BUF_SZ_64 (ALIGN_64(USBD1_OUT_EP0_BUF_SZ)) -#define USBD1_IN_EP0_BUF_SZ_64 (ALIGN_64(USBD1_IN_EP0_BUF_SZ)) - -#if (USBD1_MAX_ENDPOINT_NUM > 0) -#ifndef USBD1_OUT_EP1_BUF_SZ -#define USBD1_OUT_EP1_BUF_SZ (1024U) -#endif -#ifndef USBD1_IN_EP1_BUF_SZ -#define USBD1_IN_EP1_BUF_SZ (1024U) -#endif -#else -#define USBD1_OUT_EP1_BUF_SZ (0U) -#define USBD1_IN_EP1_BUF_SZ (0U) -#endif -#define USBD1_OUT_EP1_BUF_SZ_64 (ALIGN_64(USBD1_OUT_EP1_BUF_SZ)) -#define USBD1_IN_EP1_BUF_SZ_64 (ALIGN_64(USBD1_IN_EP1_BUF_SZ)) - -#if (USBD1_MAX_ENDPOINT_NUM > 1) -#ifndef USBD1_OUT_EP2_BUF_SZ -#define USBD1_OUT_EP2_BUF_SZ (1024U) -#endif -#ifndef USBD1_IN_EP2_BUF_SZ -#define USBD1_IN_EP2_BUF_SZ (1024U) -#endif -#else -#define USBD1_OUT_EP2_BUF_SZ (0U) -#define USBD1_IN_EP2_BUF_SZ (0U) -#endif -#define USBD1_OUT_EP2_BUF_SZ_64 (ALIGN_64(USBD1_OUT_EP2_BUF_SZ)) -#define USBD1_IN_EP2_BUF_SZ_64 (ALIGN_64(USBD1_IN_EP2_BUF_SZ)) - -#if (USBD1_MAX_ENDPOINT_NUM > 2) -#ifndef USBD1_OUT_EP3_BUF_SZ -#define USBD1_OUT_EP3_BUF_SZ (1024U) -#endif -#ifndef USBD1_IN_EP3_BUF_SZ -#define USBD1_IN_EP3_BUF_SZ (1024U) -#endif -#else -#define USBD1_OUT_EP3_BUF_SZ (0U) -#define USBD1_IN_EP3_BUF_SZ (0U) -#endif -#define USBD1_OUT_EP3_BUF_SZ_64 (ALIGN_64(USBD1_OUT_EP3_BUF_SZ)) -#define USBD1_IN_EP3_BUF_SZ_64 (ALIGN_64(USBD1_IN_EP3_BUF_SZ)) - -#if (USBD1_MAX_ENDPOINT_NUM > 3) -#ifndef USBD1_OUT_EP4_BUF_SZ -#define USBD1_OUT_EP4_BUF_SZ (1024U) -#endif -#ifndef USBD1_IN_EP4_BUF_SZ -#define USBD1_IN_EP4_BUF_SZ (1024U) -#endif -#else -#define USBD1_OUT_EP4_BUF_SZ (0U) -#define USBD1_IN_EP4_BUF_SZ (0U) -#endif -#define USBD1_OUT_EP4_BUF_SZ_64 (ALIGN_64(USBD1_OUT_EP4_BUF_SZ)) -#define USBD1_IN_EP4_BUF_SZ_64 (ALIGN_64(USBD1_IN_EP4_BUF_SZ)) - -#if (USBD1_MAX_ENDPOINT_NUM > 4) -#ifndef USBD1_OUT_EP5_BUF_SZ -#define USBD1_OUT_EP5_BUF_SZ (1024U) -#endif -#ifndef USBD1_IN_EP5_BUF_SZ -#define USBD1_IN_EP5_BUF_SZ (1024U) -#endif -#else -#define USBD1_OUT_EP5_BUF_SZ (0U) -#define USBD1_IN_EP5_BUF_SZ (0U) -#endif -#define USBD1_OUT_EP5_BUF_SZ_64 (ALIGN_64(USBD1_OUT_EP5_BUF_SZ)) -#define USBD1_IN_EP5_BUF_SZ_64 (ALIGN_64(USBD1_IN_EP5_BUF_SZ)) - -#define USBD1_OUT_EP0_BUF_OFFSET (0U) -#define USBD1_IN_EP0_BUF_OFFSET (USBD1_OUT_EP0_BUF_SZ_64) -#define USBD1_OUT_EP1_BUF_OFFSET (USBD1_IN_EP0_BUF_OFFSET + USBD1_IN_EP0_BUF_SZ_64) -#define USBD1_IN_EP1_BUF_OFFSET (USBD1_OUT_EP1_BUF_OFFSET + USBD1_OUT_EP1_BUF_SZ_64) -#define USBD1_OUT_EP2_BUF_OFFSET (USBD1_IN_EP1_BUF_OFFSET + USBD1_IN_EP1_BUF_SZ_64) -#define USBD1_IN_EP2_BUF_OFFSET (USBD1_OUT_EP2_BUF_OFFSET + USBD1_OUT_EP2_BUF_SZ_64) -#define USBD1_OUT_EP3_BUF_OFFSET (USBD1_IN_EP2_BUF_OFFSET + USBD1_IN_EP2_BUF_SZ_64) -#define USBD1_IN_EP3_BUF_OFFSET (USBD1_OUT_EP3_BUF_OFFSET + USBD1_OUT_EP3_BUF_SZ_64) -#define USBD1_OUT_EP4_BUF_OFFSET (USBD1_IN_EP3_BUF_OFFSET + USBD1_IN_EP3_BUF_SZ_64) -#define USBD1_IN_EP4_BUF_OFFSET (USBD1_OUT_EP4_BUF_OFFSET + USBD1_OUT_EP4_BUF_SZ_64) -#define USBD1_OUT_EP5_BUF_OFFSET (USBD1_IN_EP4_BUF_OFFSET + USBD1_IN_EP4_BUF_SZ_64) -#define USBD1_IN_EP5_BUF_OFFSET (USBD1_OUT_EP5_BUF_OFFSET + USBD1_OUT_EP5_BUF_SZ_64) - -#define USBD_EP_BUFFER_SZ (USBD1_OUT_EP0_BUF_SZ_64 + USBD1_IN_EP0_BUF_SZ_64 + \ - USBD1_OUT_EP1_BUF_SZ_64 + USBD1_IN_EP1_BUF_SZ_64 + \ - USBD1_OUT_EP2_BUF_SZ_64 + USBD1_IN_EP2_BUF_SZ_64 + \ - USBD1_OUT_EP3_BUF_SZ_64 + USBD1_IN_EP3_BUF_SZ_64 + \ - USBD1_OUT_EP4_BUF_SZ_64 + USBD1_IN_EP4_BUF_SZ_64 + \ - USBD1_OUT_EP5_BUF_SZ_64 + USBD1_IN_EP5_BUF_SZ_64 ) - -#if (USBD_EP_BUFFER_SZ > 0x3C00U) - #error "Endpoint buffers do not fit into RAMx!" -#endif - -#define EP_NUM(ep_addr) (ep_addr & ARM_USB_ENDPOINT_NUMBER_MASK) -#define EP_IDX(ep_addr) ((ep_addr & 0x80U) ? ((EP_NUM(ep_addr)) * 2U + 1U) : (ep_addr * 2U)) -#define CMD_IDX(ep_addr) ((ep_addr & 0x80U) ? ((EP_NUM(ep_addr)) * 4U + 2U) : (ep_addr * 4U)) - -// Resource allocation -static uint8_t ep_buf[USBD_EP_BUFFER_SZ] __attribute__((section(".bss.ARM.__at_0x40100000"))); -static EP_CMD ep_cmd[(USBD1_MAX_ENDPOINT_NUM + 1) * 4] __attribute__((section(".bss.ARM.__at_0x40103C00"))); -static EP_TRANSFER ep_transfer[(USBD1_MAX_ENDPOINT_NUM + 1) * 2]; - -// Global variables -static ARM_USBD_STATE usbd_state; -static uint8_t usbd_flags; - -static uint8_t setup_packet[8]; // Setup packet data -static volatile uint8_t setup_received; // Setup packet received - -static ARM_USBD_SignalDeviceEvent_t SignalDeviceEvent; -static ARM_USBD_SignalEndpointEvent_t SignalEndpointEvent; - -static const EP endpoint[] = { - // Endpoint 0 - { &(ep_cmd[0]), &(ep_buf[USBD1_OUT_EP0_BUF_OFFSET]), &(ep_transfer[0]), USBD1_OUT_EP0_BUF_OFFSET, }, - { &(ep_cmd[2]), &(ep_buf[USBD1_IN_EP0_BUF_OFFSET]), &(ep_transfer[1]), USBD1_IN_EP0_BUF_OFFSET, }, - -#if (USBD1_MAX_ENDPOINT_NUM > 0U) - // Endpoint 1 - { &(ep_cmd[4]), &(ep_buf[USBD1_OUT_EP1_BUF_OFFSET]), &(ep_transfer[2]), USBD1_OUT_EP1_BUF_OFFSET, }, - { &(ep_cmd[6]), &(ep_buf[USBD1_IN_EP1_BUF_OFFSET]), &(ep_transfer[3]), USBD1_IN_EP1_BUF_OFFSET, }, -#endif - -#if (USBD1_MAX_ENDPOINT_NUM > 1U) - // Endpoint 2 - { &(ep_cmd[8]), &(ep_buf[USBD1_OUT_EP2_BUF_OFFSET]), &(ep_transfer[4]), USBD1_OUT_EP2_BUF_OFFSET, }, - { &(ep_cmd[10]), &(ep_buf[USBD1_IN_EP2_BUF_OFFSET]), &(ep_transfer[5]), USBD1_IN_EP2_BUF_OFFSET, }, -#endif - -#if (USBD1_MAX_ENDPOINT_NUM > 2U) - // Endpoint 3 - { &(ep_cmd[12]), &(ep_buf[USBD1_OUT_EP3_BUF_OFFSET]), &(ep_transfer[6]), USBD1_OUT_EP3_BUF_OFFSET, }, - { &(ep_cmd[14]), &(ep_buf[USBD1_IN_EP3_BUF_OFFSET]), &(ep_transfer[7]), USBD1_IN_EP3_BUF_OFFSET, }, -#endif - -#if (USBD1_MAX_ENDPOINT_NUM > 3U) - // Endpoint 4 - { &(ep_cmd[16]), &(ep_buf[USBD1_OUT_EP4_BUF_OFFSET]), &(ep_transfer[8]), USBD1_OUT_EP4_BUF_OFFSET, }, - { &(ep_cmd[18]), &(ep_buf[USBD1_IN_EP4_BUF_OFFSET]), &(ep_transfer[9]), USBD1_IN_EP4_BUF_OFFSET, }, -#endif -#if (USBD1_MAX_ENDPOINT_NUM > 4U) - // Endpoint 5 - { &(ep_cmd[16]), &(ep_buf[USBD1_OUT_EP5_BUF_OFFSET]), &(ep_transfer[8]), USBD1_OUT_EP5_BUF_OFFSET, }, - { &(ep_cmd[18]), &(ep_buf[USBD1_IN_EP5_BUF_OFFSET]), &(ep_transfer[9]), USBD1_IN_EP5_BUF_OFFSET, }, -#endif -}; - - -// USBD Driver ***************************************************************** - -#define ARM_USBD_DRV_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(1,0) - -// Driver Version -static const ARM_DRIVER_VERSION usbd_driver_version = { ARM_USBD_API_VERSION, ARM_USBD_DRV_VERSION }; - -// Driver Capabilities -static const ARM_USBD_CAPABILITIES usbd_driver_capabilities = { -#if (USBD_VBUS_DETECT == 1) - 1U, // VBUS Detection - 1U, // Event VBUS On - 1U, // Event VBUS Off -#else - 0U, // VBUS Detection - 0U, // Event VBUS On - 0U // Event VBUS Off -#endif -}; - -/** - \fn void USBD_Reset (void) - \brief Reset USB Endpoint settings and variables. -*/ -static void USBD_Reset (void) { - // Clear USB Endpoint command/status list - memset((void *)ep_cmd, 0, sizeof(ep_cmd)); - - memset((void *)&usbd_state, 0, sizeof(usbd_state)); -} - -// USBD Driver functions - -/** - \fn ARM_DRIVER_VERSION USBD_GetVersion (void) - \brief Get driver version. - \return \ref ARM_DRIVER_VERSION -*/ -static ARM_DRIVER_VERSION USBD_GetVersion (void) { return usbd_driver_version; } - -/** - \fn ARM_USBD_CAPABILITIES USBD_GetCapabilities (void) - \brief Get driver capabilities. - \return \ref ARM_USBD_CAPABILITIES -*/ -static ARM_USBD_CAPABILITIES USBD_GetCapabilities (void) { return usbd_driver_capabilities; } - -/** - \fn int32_t USBD_Initialize (ARM_USBD_SignalDeviceEvent_t cb_device_event, - ARM_USBD_SignalEndpointEvent_t cb_endpoint_event) - \brief Initialize USB Device Interface. - \param[in] cb_device_event Pointer to \ref ARM_USBD_SignalDeviceEvent - \param[in] cb_endpoint_event Pointer to \ref ARM_USBD_SignalEndpointEvent - \return \ref execution_status -*/ -static int32_t USBD_Initialize (ARM_USBD_SignalDeviceEvent_t cb_device_event, - ARM_USBD_SignalEndpointEvent_t cb_endpoint_event) { - - if ((usbd_flags & USBD_DRIVER_FLAG_INITIALIZED) != 0U) { return ARM_DRIVER_OK; } - - SignalDeviceEvent = cb_device_event; - SignalEndpointEvent = cb_endpoint_event; - - usbd_flags = USBD_DRIVER_FLAG_INITIALIZED; - - return ARM_DRIVER_OK; -} - -/** - \fn int32_t USBD_Uninitialize (void) - \brief De-initialize USB Device Interface. - \return \ref execution_status -*/ -static int32_t USBD_Uninitialize (void) { - - usbd_flags &= ~USBD_DRIVER_FLAG_INITIALIZED; - - return ARM_DRIVER_OK; -} - -/** - \fn int32_t USBD_PowerControl (ARM_POWER_STATE state) - \brief Control USB Device Interface Power. - \param[in] state Power state - \return \ref execution_status -*/ -static int32_t USBD_PowerControl (ARM_POWER_STATE state) { - - switch (state) { - case ARM_POWER_OFF: - NVIC_DisableIRQ (USB1_IRQn); // Disable interrupt - NVIC_ClearPendingIRQ (USB1_IRQn); // Clear pending interrupt - - usbd_flags &= ~USBD_DRIVER_FLAG_POWERED; // Clear powered flag - - RESET_PeripheralReset(kUSB1D_RST_SHIFT_RSTn); // Reset USB1 Device controller - RESET_PeripheralReset(kUSB1_RST_SHIFT_RSTn); // Reset USB1 PHY - RESET_PeripheralReset(kUSB1RAM_RST_SHIFT_RSTn); // Reset USB1 RAM controller - - // Disable USB IP clock - SYSCON->AHBCLKCTRLSET[2] &= ~SYSCON_AHBCLKCTRL2_USB1_RAM(1); - SYSCON->AHBCLKCTRLSET[2] &= ~SYSCON_AHBCLKCTRL2_USB1_DEV(1); - SYSCON->AHBCLKCTRLSET[2] &= ~SYSCON_AHBCLKCTRL2_USB1_PHY(1); - - // Clear USB Endpoint command/status list - memset((void *)ep_cmd, 0, sizeof(ep_cmd)); - - // Clear Endpoint transfer structure - memset((void *)ep_transfer, 0, sizeof(ep_transfer)); - break; - - case ARM_POWER_FULL: - if ((usbd_flags & USBD_DRIVER_FLAG_INITIALIZED) == 0U) { return ARM_DRIVER_ERROR; } - if ((usbd_flags & USBD_DRIVER_FLAG_POWERED) != 0U) { return ARM_DRIVER_OK; } - - // Enable USB IP clock - CLOCK_EnableUsbhs0PhyPllClock(kCLOCK_UsbPhySrcExt, 16000000U); - CLOCK_EnableUsbhs0DeviceClock(kCLOCK_UsbSrcUnused, 0U); - - // Enable device operation (through USB1 Host PORTMODE register) - CLOCK_EnableClock(kCLOCK_Usbh1); - USBHSH->PORTMODE = USBHSH_PORTMODE_SW_PDCOM_MASK; - USBHSH->PORTMODE |= USBHSH_PORTMODE_DEV_ENABLE_MASK; - CLOCK_DisableClock(kCLOCK_Usbh1); - - // Setup PHY - USBPHY->PWD = 0U; - USBPHY->CTRL_SET = USBPHY_CTRL_SET_ENAUTOCLR_CLKGATE_MASK; - USBPHY->CTRL_SET = USBPHY_CTRL_SET_ENAUTOCLR_PHY_PWD_MASK; - - // Clear USB RAM - memset((void *)FSL_FEATURE_USBHSD_USB_RAM_BASE_ADDRESS, 0, FSL_FEATURE_USBHSD_USB_RAM); - - // Reset variables and endpoint settings - USBD_Reset (); - - // Set Endpoint list start address - USBHSD->EPLISTSTART = (uint32_t)ep_cmd; - - // Set USB Data buffer start address - USBHSD->DATABUFSTART = (uint32_t)ep_buf; - - // Enable device status interrupt - USBHSD->INTEN = USB_INTSTAT_DEV_INT_MASK; - - usbd_flags |= USBD_DRIVER_FLAG_POWERED; - - // Enable USB interrupt - NVIC_EnableIRQ (USB1_IRQn); - break; - - default: - return ARM_DRIVER_ERROR_UNSUPPORTED; - } - - return ARM_DRIVER_OK; -} - -/** - \fn int32_t USBD_DeviceConnect (void) - \brief Connect USB Device. - \return \ref execution_status -*/ -static int32_t USBD_DeviceConnect (void) { - - if ((usbd_flags & USBD_DRIVER_FLAG_POWERED) == 0U) { return ARM_DRIVER_ERROR; } - - // Attach Device - USBHSD->DEVCMDSTAT |= USB_DEVCMDSTAT_DCON_MASK; - - return ARM_DRIVER_OK; -} - -/** - \fn int32_t USBD_DeviceDisconnect (void) - \brief Disconnect USB Device. - \return \ref execution_status -*/ -static int32_t USBD_DeviceDisconnect (void) { - - if ((usbd_flags & USBD_DRIVER_FLAG_POWERED) == 0U) { return ARM_DRIVER_ERROR; } - - // Detach Device - USBHSD->DEVCMDSTAT &= ~USB_DEVCMDSTAT_DCON_MASK; - - return ARM_DRIVER_OK; -} - -/** - \fn ARM_USBD_STATE USBD_DeviceGetState (void) - \brief Get current USB Device State. - \return Device State \ref ARM_USBD_STATE -*/ -static ARM_USBD_STATE USBD_DeviceGetState (void) { - ARM_USBD_STATE dev_state = { 0U, 0U, 0U }; - - if ((usbd_flags & USBD_DRIVER_FLAG_POWERED) == 0U) { return dev_state; } - - - return usbd_state; -} - -/** - \fn int32_t USBD_DeviceRemoteWakeup (void) - \brief Trigger USB Remote Wakeup. - \return \ref execution_status -*/ -static int32_t USBD_DeviceRemoteWakeup (void) { - - if ((usbd_flags & USBD_DRIVER_FLAG_POWERED) == 0U) { return ARM_DRIVER_ERROR; } - - // Force remote wakeup - USBHSD->DEVCMDSTAT &= ~USB_DEVCMDSTAT_DSUS_MASK; - - return ARM_DRIVER_OK; -} - -/** - \fn int32_t USBD_DeviceSetAddress (uint8_t dev_addr) - \brief Set USB Device Address. - \param[in] dev_addr Device Address - \return \ref execution_status -*/ -static int32_t USBD_DeviceSetAddress (uint8_t dev_addr) { - - if ((usbd_flags & USBD_DRIVER_FLAG_POWERED) == 0U) { return ARM_DRIVER_ERROR; } - - return ARM_DRIVER_OK; -} - -/** - \fn int32_t USBD_ReadSetupPacket (uint8_t *setup) - \brief Read setup packet received over Control Endpoint. - \param[out] setup Pointer to buffer for setup packet - \return \ref execution_status -*/ -static int32_t USBD_ReadSetupPacket (uint8_t *setup) { - if ((usbd_flags & USBD_DRIVER_FLAG_POWERED) == 0U) { return ARM_DRIVER_ERROR; } - if (setup_received == 0U) { return ARM_DRIVER_ERROR; } - - setup_received = 0U; - memcpy(setup, setup_packet, 8); - - if (setup_received != 0U) { // If new setup packet was received while this was being read - return ARM_DRIVER_ERROR; - } - - return ARM_DRIVER_OK; -} - -/** - \fn int32_t USBD_EndpointConfigure (uint8_t ep_addr, - uint8_t ep_type, - uint16_t ep_max_packet_size) - \brief Configure USB Endpoint. - \param[in] ep_addr Endpoint Address - - ep_addr.0..3: Address - - ep_addr.7: Direction - \param[in] ep_type Endpoint Type (ARM_USB_ENDPOINT_xxx) - \param[in] ep_max_packet_size Endpoint Maximum Packet Size - \return \ref execution_status -*/ -static int32_t USBD_EndpointConfigure (uint8_t ep_addr, - uint8_t ep_type, - uint16_t ep_max_packet_size) { - uint8_t ep_num, ep_idx; - EP const * ep; - volatile uint32_t DBG1 = 0; - volatile uint32_t DBG2 = 0; - volatile uint32_t DBG3 = 0; - volatile uint32_t DBG4 = 0; - volatile uint32_t DBG5 = ep_addr; - volatile uint32_t DBG6 = ep_type; - volatile uint32_t DBG7 = ep_max_packet_size; - - ep_num = EP_NUM(ep_addr); - ep_idx = EP_IDX(ep_addr); - ep = &endpoint[ep_idx]; - - if (ep_num > USBD1_MAX_ENDPOINT_NUM) { - DBG1++; - return ARM_DRIVER_ERROR; - } - if ((usbd_flags & USBD_DRIVER_FLAG_POWERED) == 0U) { - DBG2++; - return ARM_DRIVER_ERROR; - } - - if (ep->cmd->active == 1U) { - // Endpoint is "owned" by hardware - DBG3++; - return ARM_DRIVER_ERROR_BUSY; - } - - if (ep_max_packet_size > ((ep+1)->buf_offset - ep->buf_offset)) { - // Configured Endpoint buffer size is too small - DBG4++; - return ARM_DRIVER_ERROR; - } - - // Clear Endpoint command/status - memset((void *)ep->cmd, 0, sizeof(EP_CMD) * 2U); - - // Clear Endpoint transfer structure - memset((void *)ep->transfer, 0, sizeof(EP_TRANSFER)); - - ep_transfer[ep_idx].max_packet_sz = ep_max_packet_size & ARM_USB_ENDPOINT_MAX_PACKET_SIZE_MASK; - - ep->cmd->buff_addr_offset = ep->buf_offset >> 6; - - if (ep_num != 0U) { - ep->cmd->ep_disabled = 1U; - - // Reset data toggle - ep->cmd->ep_type_periodic = 0U; - ep->cmd->toggle_value = 0U; - ep->cmd->toggle_reset = 1U; - - switch (ep_type) { - case ARM_USB_ENDPOINT_CONTROL: - break; - case ARM_USB_ENDPOINT_ISOCHRONOUS: - ep->cmd->toggle_value = 0U; - ep->cmd->ep_type_periodic = 1U; - break; - case ARM_USB_ENDPOINT_BULK: - ep->cmd->toggle_value = 0U; - ep->cmd->ep_type_periodic = 0U; - break; - case ARM_USB_ENDPOINT_INTERRUPT: - ep->cmd->toggle_value = 1U; - ep->cmd->ep_type_periodic = 1U; - break; - default: // Unknown endpoint type - return ARM_DRIVER_ERROR; - } - ep->cmd->ep_disabled = 0U; - - /* Double-buffering not configured/used */ - ep->cmd[1].buff_addr_offset = ep->buf_offset >> 6; - ep->cmd[1].ep_disabled = 1U; - } - - // Clear Endpoint Interrupt - USBHSD->INTSTAT = USB_INT_EP(ep_idx); - - // Enable endpoint interrupt - USBHSD->INTEN |= USB_INT_EP(ep_idx); - - return ARM_DRIVER_OK; -} - -/** - \fn int32_t USBD_EndpointUnconfigure (uint8_t ep_addr) - \brief Unconfigure USB Endpoint. - \param[in] ep_addr Endpoint Address - - ep_addr.0..3: Address - - ep_addr.7: Direction - \return \ref execution_status -*/ -static int32_t USBD_EndpointUnconfigure (uint8_t ep_addr) { - uint8_t ep_num, ep_idx; - EP const * ep; - - ep_num = EP_NUM(ep_addr); - ep_idx = EP_IDX(ep_addr); - ep = &endpoint[ep_idx]; - - if (ep_num > USBD1_MAX_ENDPOINT_NUM) { return ARM_DRIVER_ERROR; } - if ((usbd_flags & USBD_DRIVER_FLAG_POWERED) == 0U) { return ARM_DRIVER_ERROR; } - - if (ep->cmd->active == 1U) { - // Endpoint is "owned" by hardware - return ARM_DRIVER_ERROR_BUSY; - } - - // Disable endpoint interrupt - USBHSD->INTEN &= ~USB_INT_EP(ep_idx); - - if (ep->cmd->active) { - USBHSD->EPSKIP |= (1U << ep_idx); - while (USBHSD->EPSKIP & (1U << ep_idx)); - } - - // Clear Endpoint command/status - memset((void *)ep->cmd, 0, sizeof(EP_CMD) * 2U); - - ep->cmd->ep_disabled = 1U; - - // Clear Endpoint Interrupt - USBHSD->INTSTAT = USB_INT_EP(ep_idx); - - return ARM_DRIVER_OK; -} - -/** - \fn int32_t USBD_EndpointStall (uint8_t ep_addr, bool stall) - \brief Set/Clear Stall for USB Endpoint. - \param[in] ep_addr Endpoint Address - - ep_addr.0..3: Address - - ep_addr.7: Direction - \param[in] stall Operation - - \b false Clear - - \b true Set - \return \ref execution_status -*/ -static int32_t USBD_EndpointStall (uint8_t ep_addr, bool stall) { - uint8_t ep_num; - EP const * ep; - - ep_num = EP_NUM(ep_addr); - ep = &endpoint[EP_IDX(ep_addr)]; - - if (ep_num > USBD1_MAX_ENDPOINT_NUM) { return ARM_DRIVER_ERROR; } - if ((usbd_flags & USBD_DRIVER_FLAG_POWERED) == 0U) { return ARM_DRIVER_ERROR; } - - if (ep->cmd->active == 1U) { - // Endpoint is "owned" by hardware - return ARM_DRIVER_ERROR_BUSY; - } - - if (stall != 0U) { - // Set Endpoint stall - ep->cmd->stall = 1U; - } else { - ep->cmd->toggle_value = 0U; - ep->cmd->toggle_reset = 1U; - - // Clear Stall - ep->cmd->stall = 0U; - } - - return ARM_DRIVER_OK; -} - -/** - \fn int32_t USBD_EndpointTransfer (uint8_t ep_addr, uint8_t *data, uint32_t num) - \brief Read data from or Write data to USB Endpoint. - \param[in] ep_addr Endpoint Address - - ep_addr.0..3: Address - - ep_addr.7: Direction - \param[out] data Pointer to buffer for data to read or with data to write - \param[in] num Number of data bytes to transfer - \return \ref execution_status -*/ -static int32_t USBD_EndpointTransfer (uint8_t ep_addr, uint8_t *data, uint32_t num) { - uint8_t ep_num, ep_idx; - EP const * ep; - - ep_num = EP_NUM(ep_addr); - ep_idx = EP_IDX(ep_addr); - ep = &endpoint[ep_idx]; - - if (ep_num > USBD1_MAX_ENDPOINT_NUM) { return ARM_DRIVER_ERROR; } - if ((usbd_flags & USBD_DRIVER_FLAG_POWERED) == 0U) { return ARM_DRIVER_ERROR; } - - if (ep->cmd->active == 1U) { - // Endpoint is "owned" by hardware - return ARM_DRIVER_ERROR_BUSY; - } - - ep->transfer->num = num; - ep->transfer->buf = data; - ep->transfer->num_transferred_total = 0U; - if (num > ep->transfer->max_packet_sz) { num = ep->transfer->max_packet_sz; } - - if (ep_addr & ARM_USB_ENDPOINT_DIRECTION_MASK) { - // Copy data into IN Endpoint buffer - memcpy (ep->buf, ep->transfer->buf, num); - } - - ep->cmd->buff_addr_offset = ep->buf_offset >> 6; - - ep->transfer->num_transferring = num; - - // Set number of bytes to send/receive - ep->cmd->NBytes = num; - - // Activate endpoint - ep->cmd->active |= 1U; - - return ARM_DRIVER_OK; -} - -/** - \fn uint32_t USBD_EndpointTransferGetResult (uint8_t ep_addr) - \brief Get result of USB Endpoint transfer. - \param[in] ep_addr Endpoint Address - - ep_addr.0..3: Address - - ep_addr.7: Direction - \return number of successfully transferred data bytes -*/ -static uint32_t USBD_EndpointTransferGetResult (uint8_t ep_addr) { - - if (EP_NUM(ep_addr) > USBD1_MAX_ENDPOINT_NUM) { return 0U; } - - return (ep_transfer[EP_IDX(ep_addr)].num_transferred_total); -} - -/** - \fn int32_t USBD_EndpointTransferAbort (uint8_t ep_addr) - \brief Abort current USB Endpoint transfer. - \param[in] ep_addr Endpoint Address - - ep_addr.0..3: Address - - ep_addr.7: Direction - \return \ref execution_status -*/ -static int32_t USBD_EndpointTransferAbort (uint8_t ep_addr) { - uint8_t ep_num, ep_idx; - EP const * ep; - - ep_num = EP_NUM(ep_addr); - ep_idx = EP_IDX(ep_addr); - ep = &endpoint[ep_idx]; - - if (ep_num > USBD1_MAX_ENDPOINT_NUM) { return ARM_DRIVER_ERROR; } - if ((usbd_flags & USBD_DRIVER_FLAG_POWERED) == 0U) { return ARM_DRIVER_ERROR; } - - // Disable endpoint interrupt - USBHSD->INTEN &= ~USB_INT_EP(ep_idx); - - if (ep->cmd->active == 1U) { - USBHSD->EPSKIP |= (1U << EP_IDX(ep_addr)); - while (USBHSD->EPSKIP & (1U << EP_IDX(ep_addr))); - ep->cmd->active = 0U; - } - - // Clear transfer info - ep->transfer->num = 0U; - ep->transfer->num_transferred_total = 0U; - ep->transfer->num_transferring = 0U; - - // Clear Endpoint Interrupt - USBHSD->INTSTAT = USB_INT_EP(ep_idx); - - // Enable endpoint interrupt - USBHSD->INTEN |= USB_INT_EP(ep_idx); - - return ARM_DRIVER_OK; -} - -/** - \fn uint16_t USBD_GetFrameNumber (void) - \brief Get current USB Frame Number. - \return Frame Number -*/ -static uint16_t USBD_GetFrameNumber (void) { - - if ((usbd_flags & USBD_DRIVER_FLAG_POWERED) == 0U) { return 0; } - - return ((USBHSD->INFO & USB_INFO_FRAME_NR_MASK) >> USB_INFO_FRAME_NR_SHIFT); -} - -/** - \fn void USB1_IRQHandler (void) - \brief USB1 Device Interrupt Routine (IRQ). -*/ -void USB1_IRQHandler (void) { - uint32_t num, ep_idx, intstat, cmdstat, dev_evt = 0U; - uint16_t val; - EP const * ep; - - intstat = USBHSD->INTSTAT & USBHSD->INTEN; - cmdstat = USBHSD->DEVCMDSTAT; - - // Clear interrupt flags - USBHSD->INTSTAT = intstat; - - // Device Status interrupt - if (intstat & USB_INTSTAT_DEV_INT_MASK) { - - // Reset - if (cmdstat & USB_DEVCMDSTAT_DRES_C_MASK) { - USBD_Reset (); - usbd_state.active = 1U; - usbd_state.speed = ARM_USB_SPEED_FULL; - USBHSD->DEVCMDSTAT |= USB_DEVCMDSTAT_DRES_C_MASK | USB_DEVCMDSTAT_DEV_EN_MASK; - SignalDeviceEvent(ARM_USBD_EVENT_RESET); - - if (((USBHSD->DEVCMDSTAT & USBHSD_DEVCMDSTAT_Speed_MASK) >> USBHSD_DEVCMDSTAT_Speed_SHIFT) == 2U) { - SignalDeviceEvent(ARM_USBD_EVENT_HIGH_SPEED); - } - } - - // Suspend - if (cmdstat & USB_DEVCMDSTAT_DSUS_MASK) { - usbd_state.active = 0U; - USBHSD->DEVCMDSTAT |= USB_DEVCMDSTAT_DSUS_MASK; - SignalDeviceEvent(ARM_USBD_EVENT_SUSPEND); - } - -#if (USBD_VBUS_DETECT == 1) - // Disconnect - if (cmdstat & USB_DEVCMDSTAT_DCON_C) { - usbd_state.active = 0U; - usbd_state.vbus = 0U; - LPC_USB->DEVCMDSTAT |= USB_DEVCMDSTAT_DCON_C; - SignalDeviceEvent(ARM_USBD_EVENT_VBUS_OFF); - } - - // VBUS De-bounced - if (cmdstat & USB_DEVCMDSTAT_VBUS_DEBOUNCED) { - usbd_state.vbus = 1U; - SignalDeviceEvent(ARM_USBD_EVENT_VBUS_ON); - } -#endif - } - - // Endpoint interrupt - if (intstat & USB_INT_EP_MSK) { - for (ep_idx = 0; ep_idx <= USBD1_MAX_ENDPOINT_NUM * 2U; ep_idx += 2U) { - - if (intstat & (USB_INT_EP(ep_idx))) { - - // Clear Interrupt status - USBHSD->INTSTAT = (1 << ep_idx); - // Setup Packet - if ((ep_idx == 0U) && ((cmdstat & USB_DEVCMDSTAT_SETUP_MASK) != 0U)) { - ep_cmd[0].stall = 0U; - ep_cmd[1].stall = 0U; - ep_cmd[2].stall = 0U; - ep_cmd[3].stall = 0U; - - USBHSD->DEVCMDSTAT |= USB_DEVCMDSTAT_SETUP_MASK; - memcpy(setup_packet, ep_buf, 8); - - // Analyze Setup packet for SetAddress - val = setup_packet[0] | (setup_packet[1] << 8); - if (val == 0x0500U) { - val = (setup_packet[2] | (setup_packet[3] << 8)) & USB_DEVCMDSTAT_DEV_ADDR_MASK; - // Set device address - USBHSD->DEVCMDSTAT = (USBHSD->DEVCMDSTAT & ~USB_DEVCMDSTAT_DEV_ADDR_MASK) | - USB_DEVCMDSTAT_DEV_ADDR(val) | USB_DEVCMDSTAT_DEV_EN_MASK; - } - - setup_received = 1U; - if (SignalEndpointEvent != NULL) { - SignalEndpointEvent(0U, ARM_USBD_EVENT_SETUP); - } - } else { - // OUT Packet - ep = &endpoint[ep_idx]; - - num = ep->transfer->num_transferring - ep->cmd->NBytes; - - // Copy EP data - memcpy (ep->transfer->buf, ep->buf, num); - - ep->transfer->buf += num; - ep->transfer->num_transferred_total += num; - - // Check if all OUT data received: - // - data terminated with ZLP or short packet or - // - all required data received - if ((ep->transfer->num_transferred_total == ep->transfer->num) || - (num == 0U) || (num != ep->transfer->max_packet_sz)) { - - if (SignalEndpointEvent != NULL) { - SignalEndpointEvent(ep_idx / 2U, ARM_USBD_EVENT_OUT); - } - } else { - // Remaining data to transfer - num = ep->transfer->num - ep->transfer->num_transferred_total; - if (num > ep->transfer->max_packet_sz) { num = ep->transfer->max_packet_sz; } - - ep->transfer->num_transferring = num; - ep->cmd->NBytes = num; - ep->cmd->buff_addr_offset = ep->buf_offset >> 6; - - // Activate EP to receive next packet - ep->cmd->active = 1U; - } - } - } - } - - // IN Packet - for (ep_idx = 1; ep_idx <= USBD1_MAX_ENDPOINT_NUM * 2U; ep_idx += 2U) { - - if (intstat & (USB_INT_EP(ep_idx))) { - // Clear Interrupt status - USBHSD->INTSTAT = (1 << ep_idx); - - ep = &endpoint[ep_idx]; - - ep->transfer->buf += ep->transfer->num_transferring; - ep->transfer->num_transferred_total += ep->transfer->num_transferring; - - if (ep->transfer->num_transferred_total == ep->transfer->num) { - // All data has been transfered - if (SignalEndpointEvent != NULL) { - SignalEndpointEvent(0x80 | (ep_idx / 2), ARM_USBD_EVENT_IN); - } - } else { - // Still data to transfer - num = ep->transfer->num - ep->transfer->num_transferred_total; - if (num > ep->transfer->max_packet_sz) { - // Remaining data bigger than max packet - num = ep->transfer->max_packet_sz; - } - - ep->transfer->num_transferring = num; - - // Copy data into IN Endpoint buffer - memcpy (ep->buf, ep->transfer->buf, num); - - ep->cmd->buff_addr_offset = ep->buf_offset >> 6; - - // Set number of bytes to send - ep->cmd->NBytes = num; - - // Activate EP to send next packet - ep->cmd->active = 1U; - } - } - } - } -} - -ARM_DRIVER_USBD Driver_USBD1 = { - USBD_GetVersion, - USBD_GetCapabilities, - USBD_Initialize, - USBD_Uninitialize, - USBD_PowerControl, - USBD_DeviceConnect, - USBD_DeviceDisconnect, - USBD_DeviceGetState, - USBD_DeviceRemoteWakeup, - USBD_DeviceSetAddress, - USBD_ReadSetupPacket, - USBD_EndpointConfigure, - USBD_EndpointUnconfigure, - USBD_EndpointStall, - USBD_EndpointTransfer, - USBD_EndpointTransferGetResult, - USBD_EndpointTransferAbort, - USBD_GetFrameNumber -}; diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/USBD_User_CDC_ACM_UART_0.c b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/USBD_User_CDC_ACM_UART_0.c deleted file mode 100644 index 7f12203..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/USBD_User_CDC_ACM_UART_0.c +++ /dev/null @@ -1,381 +0,0 @@ -/*------------------------------------------------------------------------------ - * MDK Middleware - Component ::USB:Device:CDC - * Copyright (c) 2004-2021 Arm Limited (or its affiliates). All rights reserved. - *------------------------------------------------------------------------------ - * Name: USBD_User_CDC_ACM_UART_0.c - * Purpose: USB Device Communication Device Class (CDC) - * Abstract Control Model (ACM) USB <-> UART Bridge User module - * Rev.: V1.0.8 - *----------------------------------------------------------------------------*/ -/** - * \addtogroup usbd_cdcFunctions - * - * USBD_User_CDC_ACM_UART_0.c implements the application specific - * functionality of the CDC ACM class and is used to demonstrate a USB <-> UART - * bridge. All data received on USB is transmitted on UART and all data - * received on UART is transmitted on USB. - * - * Details of operation: - * UART -> USB: - * Initial reception on UART is started after the USB Host sets line coding - * with SetLineCoding command. Having received a full UART buffer, any - * new reception is restarted on the same buffer. Any data received on - * the UART is sent over USB using the CDC0_ACM_UART_to_USB_Thread thread. - * USB -> UART: - * While the UART transmit is not busy, data transmission on the UART is - * started in the USBD_CDC0_ACM_DataReceived callback as soon as data is - * received on the USB. Further data received on USB is transmitted on - * UART in the UART callback routine until there is no more data available. - * In this case, the next UART transmit is restarted from the - * USBD_CDC0_ACM_DataReceived callback as soon as new data is received - * on the USB. - * - * The following constants in this module affect the module functionality: - * - * - UART_PORT: specifies UART Port - * default value: 0 (=UART0) - * - UART_BUFFER_SIZE: specifies UART data Buffer Size - * default value: 512 - * - * Notes: - * If the USB is slower than the UART, data can get lost. This may happen - * when USB is pausing during data reception because of the USB Host being - * too loaded with other tasks and not polling the Bulk IN Endpoint often - * enough (up to 2 seconds of gap in polling Bulk IN Endpoint may occur). - * This problem can be solved by using a large enough UART buffer to - * compensate up to a few seconds of received UART data or by using UART - * flow control. - * If the device that receives the UART data (usually a PC) is too loaded - * with other tasks it can also loose UART data. This problem can only be - * solved by using UART flow control. - * - * This file has to be adapted in case of UART flow control usage. - */ - - -//! [code_USBD_User_CDC_ACM] -#include -#include - -#include "rl_usb.h" - -#include "Driver_USART.h" - -#include "DAP_config.h" -#include "DAP.h" - -// UART Configuration ---------------------------------------------------------- - -#define UART_BUFFER_SIZE (512) // UART Buffer Size - -//------------------------------------------------------------------------------ - -#define _UART_Driver_(n) Driver_USART##n -#define UART_Driver_(n) _UART_Driver_(n) -extern ARM_DRIVER_USART UART_Driver_(DAP_UART_DRIVER); -#define ptrUART (&UART_Driver_(DAP_UART_DRIVER)) - -// Local Variables -static uint8_t uart_rx_buf[UART_BUFFER_SIZE]; -static uint8_t uart_tx_buf[UART_BUFFER_SIZE]; - -static volatile int32_t uart_rx_cnt = 0; -static volatile int32_t usb_tx_cnt = 0; - -static void *cdc_acm_bridge_tid = 0U; -static CDC_LINE_CODING cdc_acm_line_coding = { 0U, 0U, 0U, 0U }; - -static uint8_t cdc_acm_active = 1U; -static osMutexId_t cdc_acm_mutex_id = NULL; - -// Acquire mutex -__STATIC_INLINE void CDC_ACM_Lock (void) { - if (cdc_acm_mutex_id == NULL) { - cdc_acm_mutex_id = osMutexNew(NULL); - } - osMutexAcquire(cdc_acm_mutex_id, osWaitForever); -} - -// Release mutex -__STATIC_INLINE void CDC_ACM_Unlock (void) { - osMutexRelease(cdc_acm_mutex_id); -} - -// Change communication settings. -// \param[in] line_coding pointer to CDC_LINE_CODING structure. -// \return true set line coding request processed. -// \return false set line coding request not supported or not processed. -static bool CDC_ACM_SetLineCoding (const CDC_LINE_CODING *line_coding) { - uint32_t data_bits = 0U, parity = 0U, stop_bits = 0U; - int32_t status; - - (void)ptrUART->Control (ARM_USART_ABORT_SEND, 0U); - (void)ptrUART->Control (ARM_USART_ABORT_RECEIVE, 0U); - (void)ptrUART->Control (ARM_USART_CONTROL_TX, 0U); - (void)ptrUART->Control (ARM_USART_CONTROL_RX, 0U); - - switch (line_coding->bCharFormat) { - case 0: // 1 Stop bit - stop_bits = ARM_USART_STOP_BITS_1; - break; - case 1: // 1.5 Stop bits - stop_bits = ARM_USART_STOP_BITS_1_5; - break; - case 2: // 2 Stop bits - stop_bits = ARM_USART_STOP_BITS_2; - break; - default: - return false; - } - - switch (line_coding->bParityType) { - case 0: // None - parity = ARM_USART_PARITY_NONE; - break; - case 1: // Odd - parity = ARM_USART_PARITY_ODD; - break; - case 2: // Even - parity = ARM_USART_PARITY_EVEN; - break; - default: - return false; - } - - switch (line_coding->bDataBits) { - case 5: - data_bits = ARM_USART_DATA_BITS_5; - break; - case 6: - data_bits = ARM_USART_DATA_BITS_6; - break; - case 7: - data_bits = ARM_USART_DATA_BITS_7; - break; - case 8: - data_bits = ARM_USART_DATA_BITS_8; - break; - default: - return false; - } - - status = ptrUART->Control(ARM_USART_MODE_ASYNCHRONOUS | - data_bits | - parity | - stop_bits , - line_coding->dwDTERate ); - - if (status != ARM_DRIVER_OK) { - return false; - } - - // Store requested settings to local variable - memcpy(&cdc_acm_line_coding, line_coding, sizeof(cdc_acm_line_coding)); - - uart_rx_cnt = 0; - usb_tx_cnt = 0; - - (void)ptrUART->Control (ARM_USART_CONTROL_TX, 1U); - (void)ptrUART->Control (ARM_USART_CONTROL_RX, 1U); - - (void)ptrUART->Receive (uart_rx_buf, UART_BUFFER_SIZE); - - return true; -} - -// Activate or Deactivate USBD COM PORT -// \param[in] cmd 0=deactivate, 1=activate -// \return 0=Ok, 0xFF=Error -uint8_t USB_COM_PORT_Activate (uint32_t cmd) { - switch (cmd) { - case 0U: - cdc_acm_active = 0U; - USBD_CDC0_ACM_Uninitialize(); - break; - case 1U: - USBD_CDC0_ACM_Initialize(); - CDC_ACM_Lock(); - CDC_ACM_SetLineCoding(&cdc_acm_line_coding); - cdc_acm_active = 1U; - CDC_ACM_Unlock(); - break; - } - - return 0U; -} - -// Called when UART has transmitted or received requested number of bytes. -// \param[in] event UART event -// - ARM_USART_EVENT_SEND_COMPLETE: all requested data was sent -// - ARM_USART_EVENT_RECEIVE_COMPLETE: all requested data was received -static void UART_Callback (uint32_t event) { - int32_t cnt; - - if (cdc_acm_active == 0U) { - return; - } - - if (event & ARM_USART_EVENT_SEND_COMPLETE) { - // USB -> UART - cnt = USBD_CDC_ACM_ReadData(0U, uart_tx_buf, UART_BUFFER_SIZE); - if (cnt > 0) { - (void)ptrUART->Send(uart_tx_buf, (uint32_t)(cnt)); - } - } - - if (event & ARM_USART_EVENT_RECEIVE_COMPLETE) { - // UART data received, restart new reception - uart_rx_cnt += UART_BUFFER_SIZE; - (void)ptrUART->Receive(uart_rx_buf, UART_BUFFER_SIZE); - } -} - -// Thread: Sends data received on UART to USB -// \param[in] arg not used. -__NO_RETURN static void CDC0_ACM_UART_to_USB_Thread (void *arg) { - int32_t cnt, cnt_to_wrap; - - (void)(arg); - - for (;;) { - // UART - > USB - if (ptrUART->GetStatus().rx_busy != 0U) { - cnt = uart_rx_cnt; - cnt += (int32_t)ptrUART->GetRxCount(); - cnt -= usb_tx_cnt; - if (cnt >= (UART_BUFFER_SIZE - 32)) { - // Dump old data in UART receive buffer if USB is not consuming fast enough - cnt = (UART_BUFFER_SIZE - 32); - usb_tx_cnt = uart_rx_cnt - (UART_BUFFER_SIZE - 32); - } - if (cnt > 0) { - cnt_to_wrap = (int32_t)(UART_BUFFER_SIZE - ((uint32_t)usb_tx_cnt & (UART_BUFFER_SIZE - 1))); - if (cnt > cnt_to_wrap) { - cnt = cnt_to_wrap; - } - cnt = USBD_CDC_ACM_WriteData(0U, (uart_rx_buf + ((uint32_t)usb_tx_cnt & (UART_BUFFER_SIZE - 1))), cnt); - if (cnt > 0) { - usb_tx_cnt += cnt; - } - } - } - (void)osDelay(10U); - } -} - -static osRtxThread_t cdc0_acm_uart_to_usb_thread_cb_mem __SECTION(.bss.os.thread.cb); -static uint64_t cdc0_acm_uart_to_usb_thread_stack_mem[512U / 8U] __SECTION(.bss.os.thread.cdc.stack); -static const osThreadAttr_t cdc0_acm_uart_to_usb_thread_attr = { - "CDC0_ACM_UART_to_USB_Thread", - 0U, - &cdc0_acm_uart_to_usb_thread_cb_mem, - sizeof(osRtxThread_t), - &cdc0_acm_uart_to_usb_thread_stack_mem[0], - sizeof(cdc0_acm_uart_to_usb_thread_stack_mem), - osPriorityNormal, - 0U, - 0U -}; - - -// CDC ACM Callbacks ----------------------------------------------------------- - -// Called when new data was received from the USB Host. -// \param[in] len number of bytes available to read. -void USBD_CDC0_ACM_DataReceived (uint32_t len) { - int32_t cnt; - - (void)(len); - - if (cdc_acm_active == 0U) { - return; - } - - if (ptrUART->GetStatus().tx_busy == 0U) { - // Start USB -> UART - cnt = USBD_CDC_ACM_ReadData(0U, uart_tx_buf, UART_BUFFER_SIZE); - if (cnt > 0) { - (void)ptrUART->Send(uart_tx_buf, (uint32_t)(cnt)); - } - } -} - -// Called during USBD_Initialize to initialize the USB CDC class instance (ACM). -void USBD_CDC0_ACM_Initialize (void) { - (void)ptrUART->Initialize (UART_Callback); - (void)ptrUART->PowerControl (ARM_POWER_FULL); - - cdc_acm_bridge_tid = osThreadNew (CDC0_ACM_UART_to_USB_Thread, NULL, &cdc0_acm_uart_to_usb_thread_attr); -} - - -// Called during USBD_Uninitialize to de-initialize the USB CDC class instance (ACM). -void USBD_CDC0_ACM_Uninitialize (void) { - if (osThreadTerminate (cdc_acm_bridge_tid) == osOK) { - cdc_acm_bridge_tid = NULL; - } - (void)ptrUART->Control (ARM_USART_ABORT_RECEIVE, 0U); - (void)ptrUART->PowerControl (ARM_POWER_OFF); - (void)ptrUART->Uninitialize (); -} - - -// Called upon USB Bus Reset Event. -void USBD_CDC0_ACM_Reset (void) { - if (cdc_acm_active == 0U ) { - return; - } - (void)ptrUART->Control (ARM_USART_ABORT_SEND, 0U); - (void)ptrUART->Control (ARM_USART_ABORT_RECEIVE, 0U); -} - - -// Called upon USB Host request to change communication settings. -// \param[in] line_coding pointer to CDC_LINE_CODING structure. -// \return true set line coding request processed. -// \return false set line coding request not supported or not processed. -bool USBD_CDC0_ACM_SetLineCoding (const CDC_LINE_CODING *line_coding) { - bool ret = false; - - CDC_ACM_Lock(); - if (cdc_acm_active == 0U) { - // Store requested settings to local variable - memcpy(&cdc_acm_line_coding, line_coding, sizeof(cdc_acm_line_coding)); - ret = true; - } else { - ret = CDC_ACM_SetLineCoding(line_coding); - } - CDC_ACM_Unlock(); - - return ret; -} - - -// Called upon USB Host request to retrieve communication settings. -// \param[out] line_coding pointer to CDC_LINE_CODING structure. -// \return true get line coding request processed. -// \return false get line coding request not supported or not processed. -bool USBD_CDC0_ACM_GetLineCoding (CDC_LINE_CODING *line_coding) { - - // Load settings from ones stored on USBD_CDC0_ACM_SetLineCoding callback - *line_coding = cdc_acm_line_coding; - - return true; -} - - -// Called upon USB Host request to set control line states. -// \param [in] state control line settings bitmap. -// - bit 0: DTR state -// - bit 1: RTS state -// \return true set control line state request processed. -// \return false set control line state request not supported or not processed. -bool USBD_CDC0_ACM_SetControlLineState (uint16_t state) { - // Add code for set control line state - - (void)(state); - - return true; -} - -//! [code_USBD_User_CDC_ACM] diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/USBD_User_CustomClass_0.c b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/USBD_User_CustomClass_0.c deleted file mode 100644 index 186c7b9..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/USBD_User_CustomClass_0.c +++ /dev/null @@ -1,358 +0,0 @@ -/*------------------------------------------------------------------------------ - * MDK Middleware - Component ::USB:Device - * Copyright (c) 2004-2016 ARM Germany GmbH. All rights reserved. - *------------------------------------------------------------------------------ - * Name: USBD_User_CustomClass_0.c - * Purpose: USB Device Custom Class User module - * Rev.: V6.7.3 - *----------------------------------------------------------------------------*/ -/* - * USBD_User_CustomClass_0.c is a code template for the Custom Class 0 - * class request handling. It allows user to handle all Custom Class class - * requests. - * - * Uncomment "Example code" lines to see example that receives data on - * Endpoint 1 OUT and echoes it back on Endpoint 1 IN. - * To try the example you also have to enable Bulk Endpoint 1 IN/OUT in Custom - * Class configuration in USBD_Config_CustomClass_0.h file. - */ - -/** - * \addtogroup usbd_custom_classFunctions - * - */ - - -//! [code_USBD_User_CustomClass] - -#include -#include -#include -#include "cmsis_os2.h" -#define osObjectsExternal -#include "osObjects.h" -#include "rl_usb.h" -#include "Driver_USBD.h" -#include "DAP_config.h" -#include "DAP.h" - -static volatile uint16_t USB_RequestIndexI; // Request Index In -static volatile uint16_t USB_RequestIndexO; // Request Index Out -static volatile uint16_t USB_RequestCountI; // Request Count In -static volatile uint16_t USB_RequestCountO; // Request Count Out -static volatile uint8_t USB_RequestIdle; // Request Idle Flag - -static volatile uint16_t USB_ResponseIndexI; // Response Index In -static volatile uint16_t USB_ResponseIndexO; // Response Index Out -static volatile uint16_t USB_ResponseCountI; // Response Count In -static volatile uint16_t USB_ResponseCountO; // Response Count Out -static volatile uint8_t USB_ResponseIdle; // Response Idle Flag - -static uint8_t USB_Request [DAP_PACKET_COUNT][DAP_PACKET_SIZE] __attribute__((section(".bss.USB_IO"))); // Request Buffer -static uint8_t USB_Response[DAP_PACKET_COUNT][DAP_PACKET_SIZE] __attribute__((section(".bss.USB_IO"))); // Response Buffer -static uint16_t USB_RespSize[DAP_PACKET_COUNT]; // Response Size - -// \brief Callback function called during USBD_Initialize to initialize the USB Custom class instance -void USBD_CustomClass0_Initialize (void) { - // Handle Custom Class Initialization - - // Initialize variables - USB_RequestIndexI = 0U; - USB_RequestIndexO = 0U; - USB_RequestCountI = 0U; - USB_RequestCountO = 0U; - USB_RequestIdle = 1U; - USB_ResponseIndexI = 0U; - USB_ResponseIndexO = 0U; - USB_ResponseCountI = 0U; - USB_ResponseCountO = 0U; - USB_ResponseIdle = 1U; -} - -// \brief Callback function called during USBD_Uninitialize to de-initialize the USB Custom class instance -void USBD_CustomClass0_Uninitialize (void) { - // Handle Custom Class De-initialization -} - -// \brief Callback function called upon USB Bus Reset signaling -void USBD_CustomClass0_Reset (void) { - // Handle USB Bus Reset Event -} - -// \brief Callback function called when Endpoint Start was requested (by activating interface or configuration) -// \param[in] ep_addr endpoint address. -void USBD_CustomClass0_EndpointStart (uint8_t ep_addr) { - // Start communication on Endpoint - if (ep_addr == USB_ENDPOINT_OUT(1U)) { - USB_RequestIdle = 0U; - USBD_EndpointRead(0U, USB_ENDPOINT_OUT(1U), USB_Request[0], DAP_PACKET_SIZE); - } -} - -// \brief Callback function called when Endpoint Stop was requested (by de-activating interface or activating configuration 0) -// \param[in] ep_addr endpoint address. -void USBD_CustomClass0_EndpointStop (uint8_t ep_addr) { - // Handle Endpoint communication stopped - (void)ep_addr; -} - -// \brief Callback function called when Custom Class 0 received SETUP PACKET on Control Endpoint 0 -// (this callback will be called only for Class Requests (USB_REQUEST_CLASS) if it was not processed -// previously by Device callback) -// \param[in] setup_packet pointer to received setup packet. -// \param[out] buf pointer to data buffer used for data stage requested by setup packet. -// \param[out] len pointer to number of data bytes in data stage requested by setup packet. -// \return usbdRequestStatus enumerator value indicating the function execution status -// \return usbdRequestNotProcessed:request was not processed; processing will be done by USB library -// \return usbdRequestOK: request was processed successfully (send Zero-Length Packet if no data stage) -// \return usbdRequestStall: request was processed but is not supported (stall Endpoint 0) -usbdRequestStatus USBD_CustomClass0_Endpoint0_SetupPacketReceived (const USB_SETUP_PACKET *setup_packet, uint8_t **buf, uint32_t *len) { - (void)setup_packet; - (void)buf; - (void)len; - - switch (setup_packet->bmRequestType.Recipient) { - case USB_REQUEST_TO_DEVICE: - break; - case USB_REQUEST_TO_INTERFACE: - break; - case USB_REQUEST_TO_ENDPOINT: - break; - default: - break; - } - - return usbdRequestNotProcessed; -} - -// \brief Callback function called when SETUP PACKET was processed by USB library -// (this callback will be called only for Class Requests (USB_REQUEST_CLASS) if it was not processed -// previously by Device callback nor by Custom Class callback) -// \param[in] setup_packet pointer to processed setup packet. -void USBD_CustomClass0_Endpoint0_SetupPacketProcessed (const USB_SETUP_PACKET *setup_packet) { - (void)setup_packet; - - switch (setup_packet->bmRequestType.Recipient) { - case USB_REQUEST_TO_DEVICE: - break; - case USB_REQUEST_TO_INTERFACE: - break; - case USB_REQUEST_TO_ENDPOINT: - break; - default: - break; - } -} - -// \brief Callback function called when Custom Class 0 received OUT DATA on Control Endpoint 0 -// (this callback will be called only for Class Requests (USB_REQUEST_CLASS) if it was not processed -// previously by Device callback) -// \param[in] len number of received data bytes. -// \return usbdRequestStatus enumerator value indicating the function execution status -// \return usbdRequestNotProcessed:request was not processed; processing will be done by USB library -// \return usbdRequestOK: request was processed successfully (send Zero-Length Packet) -// \return usbdRequestStall: request was processed but is not supported (stall Endpoint 0) -// \return usbdRequestNAK: request was processed but the device is busy (return NAK) -usbdRequestStatus USBD_CustomClass0_Endpoint0_OutDataReceived (uint32_t len) { - (void)len; - return usbdRequestNotProcessed; -} - -// \brief Callback function called when Custom Class 0 sent IN DATA on Control Endpoint 0 -// (this callback will be called only for Class Requests (USB_REQUEST_CLASS) if it was not processed -// previously by Device callback) -// \param[in] len number of sent data bytes. -// \return usbdRequestStatus enumerator value indicating the function execution status -// \return usbdRequestNotProcessed:request was not processed; processing will be done by USB library -// \return usbdRequestOK: request was processed successfully (return ACK) -// \return usbdRequestStall: request was processed but is not supported (stall Endpoint 0) -// \return usbdRequestNAK: request was processed but the device is busy (return NAK) -usbdRequestStatus USBD_CustomClass0_Endpoint0_InDataSent (uint32_t len) { - (void)len; - return usbdRequestNotProcessed; -} - -// \brief Callback function called when DATA was sent or received on Endpoint n -// \param[in] event event on Endpoint: -// - ARM_USBD_EVENT_OUT = data OUT received -// - ARM_USBD_EVENT_IN = data IN sent -void USBD_CustomClass0_Endpoint1_Event (uint32_t event) { - // Handle Endpoint 1 events - uint32_t n; - - if (event & ARM_USBD_EVENT_OUT) { - n = USBD_EndpointReadGetResult(0U, USB_ENDPOINT_OUT(1U)); - if (n != 0U) { - if (USB_Request[USB_RequestIndexI][0] == ID_DAP_TransferAbort) { - DAP_TransferAbort = 1U; - } else { - USB_RequestIndexI++; - if (USB_RequestIndexI == DAP_PACKET_COUNT) { - USB_RequestIndexI = 0U; - } - USB_RequestCountI++; - osThreadFlagsSet(DAP_ThreadId, 0x01); - } - } - // Start reception of next request packet - if ((uint16_t)(USB_RequestCountI - USB_RequestCountO) != DAP_PACKET_COUNT) { - USBD_EndpointRead(0U, USB_ENDPOINT_OUT(1U), USB_Request[USB_RequestIndexI], DAP_PACKET_SIZE); - } else { - USB_RequestIdle = 1U; - } - } - if (event & ARM_USBD_EVENT_IN) { - if (USB_ResponseCountI != USB_ResponseCountO) { - // Load data from response buffer to be sent back - USBD_EndpointWrite(0U, USB_ENDPOINT_IN(1U), USB_Response[USB_ResponseIndexO], USB_RespSize[USB_ResponseIndexO]); - USB_ResponseIndexO++; - if (USB_ResponseIndexO == DAP_PACKET_COUNT) { - USB_ResponseIndexO = 0U; - } - USB_ResponseCountO++; - } else { - USB_ResponseIdle = 1U; - } - } -} -void USBD_CustomClass0_Endpoint2_Event (uint32_t event) { - // Handle Endpoint 2 events - if (event & ARM_USBD_EVENT_IN) { - SWO_TransferComplete(); - } -} -void USBD_CustomClass0_Endpoint3_Event (uint32_t event) { - // Handle Endpoint 3 events - (void)event; -} -void USBD_CustomClass0_Endpoint4_Event (uint32_t event) { - // Handle Endpoint 4 events - (void)event; -} -void USBD_CustomClass0_Endpoint5_Event (uint32_t event) { - // Handle Endpoint 5 events - (void)event; -} -void USBD_CustomClass0_Endpoint6_Event (uint32_t event) { - // Handle Endpoint 6 events - (void)event; -} -void USBD_CustomClass0_Endpoint7_Event (uint32_t event) { - // Handle Endpoint 7 events - (void)event; -} -void USBD_CustomClass0_Endpoint8_Event (uint32_t event) { - // Handle Endpoint 8 events - (void)event; -} -void USBD_CustomClass0_Endpoint9_Event (uint32_t event) { - // Handle Endpoint 9 events - (void)event; -} -void USBD_CustomClass0_Endpoint10_Event (uint32_t event) { - // Handle Endpoint 10 events - (void)event; -} -void USBD_CustomClass0_Endpoint11_Event (uint32_t event) { - // Handle Endpoint 11 events - (void)event; -} -void USBD_CustomClass0_Endpoint12_Event (uint32_t event) { - // Handle Endpoint 12 events - (void)event; -} -void USBD_CustomClass0_Endpoint13_Event (uint32_t event) { - // Handle Endpoint 13 events - (void)event; -} -void USBD_CustomClass0_Endpoint14_Event (uint32_t event) { - // Handle Endpoint 14 events - (void)event; -} -void USBD_CustomClass0_Endpoint15_Event (uint32_t event) { - // Handle Endpoint 15 events - (void)event; -} - -// DAP Thread. -__NO_RETURN void DAP_Thread (void *argument) { - uint32_t flags; - uint32_t n; - (void) argument; - - for (;;) { - osThreadFlagsWait(0x81U, osFlagsWaitAny, osWaitForever); - - // Process pending requests - while (USB_RequestCountI != USB_RequestCountO) { - - // Handle Queue Commands - n = USB_RequestIndexO; - while (USB_Request[n][0] == ID_DAP_QueueCommands) { - USB_Request[n][0] = ID_DAP_ExecuteCommands; - n++; - if (n == DAP_PACKET_COUNT) { - n = 0U; - } - if (n == USB_RequestIndexI) { - flags = osThreadFlagsWait(0x81U, osFlagsWaitAny, osWaitForever); - if (flags & 0x80U) { - break; - } - } - } - - // Execute DAP Command (process request and prepare response) - USB_RespSize[USB_ResponseIndexI] = - (uint16_t)DAP_ExecuteCommand(USB_Request[USB_RequestIndexO], USB_Response[USB_ResponseIndexI]); - - // Update Request Index and Count - USB_RequestIndexO++; - if (USB_RequestIndexO == DAP_PACKET_COUNT) { - USB_RequestIndexO = 0U; - } - USB_RequestCountO++; - - if (USB_RequestIdle) { - if ((uint16_t)(USB_RequestCountI - USB_RequestCountO) != DAP_PACKET_COUNT) { - USB_RequestIdle = 0U; - USBD_EndpointRead(0U, USB_ENDPOINT_OUT(1U), USB_Request[USB_RequestIndexI], DAP_PACKET_SIZE); - } - } - - // Update Response Index and Count - USB_ResponseIndexI++; - if (USB_ResponseIndexI == DAP_PACKET_COUNT) { - USB_ResponseIndexI = 0U; - } - USB_ResponseCountI++; - - if (USB_ResponseIdle) { - if (USB_ResponseCountI != USB_ResponseCountO) { - // Load data from response buffer to be sent back - n = USB_ResponseIndexO++; - if (USB_ResponseIndexO == DAP_PACKET_COUNT) { - USB_ResponseIndexO = 0U; - } - USB_ResponseCountO++; - USB_ResponseIdle = 0U; - USBD_EndpointWrite(0U, USB_ENDPOINT_IN(1U), USB_Response[n], USB_RespSize[n]); - } - } - } - } -} - -// SWO Data Queue Transfer -// buf: pointer to buffer with data -// num: number of bytes to transfer -void SWO_QueueTransfer (uint8_t *buf, uint32_t num) { - USBD_EndpointWrite(0U, USB_ENDPOINT_IN(2U), buf, num); -} - -// SWO Data Abort Transfer -void SWO_AbortTransfer (void) { - USBD_EndpointAbort(0U, USB_ENDPOINT_IN(2U)); -} - -//! [code_USBD_User_CustomClass] diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/USB_LPC55xxx.h b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/USB_LPC55xxx.h deleted file mode 100644 index bb29db4..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/USB_LPC55xxx.h +++ /dev/null @@ -1,70 +0,0 @@ -/* ----------------------------------------------------------------------------- - * Copyright (c) 2021 ARM Ltd. - * - * This software is provided 'as-is', without any express or implied warranty. - * In no event will the authors be held liable for any damages arising from - * the use of this software. Permission is granted to anyone to use this - * software for any purpose, including commercial applications, and to alter - * it and redistribute it freely, subject to the following restrictions: - * - * 1. The origin of this software must not be misrepresented; you must not - * claim that you wrote the original software. If you use this software in - * a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * - * 2. Altered source versions must be plainly marked as such, and must not be - * misrepresented as being the original software. - * - * 3. This notice may not be removed or altered from any source distribution. - * - * - * $Date: 28. June 2021 - * $Revision: V1.0 - * - * Project: USB Driver Definitions for NXP LPC55xxx - * -------------------------------------------------------------------------- */ - -#ifndef __USB_LPC55XXX_H -#define __USB_LPC55XXX_H - -#include - -// USB Device Endpoint Interrupt definitions -#define USB_INT_EP_MSK (0x0FFFU) -#define USB_INT_EP(ep_idx) ((1U << (ep_idx)) & USB_INT_EP_MSK) - -// USB Driver State Flags -// Device State Flags -#define USBD_DRIVER_FLAG_INITIALIZED (1U ) -#define USBD_DRIVER_FLAG_POWERED (1U << 1 ) - -// Transfer information structure -typedef struct { - uint32_t max_packet_sz; - uint32_t num; - uint32_t num_transferred_total; - uint32_t num_transferring; - uint8_t *buf; -} EP_TRANSFER; - -// Endpoint command/status -typedef struct { - uint32_t buff_addr_offset : 11; - uint32_t NBytes : 15; - uint32_t ep_type_periodic : 1; - uint32_t toggle_value : 1; - uint32_t toggle_reset : 1; - uint32_t stall : 1; - uint32_t ep_disabled : 1; - uint32_t active : 1; -} EP_CMD; - -// Endpoint structure -typedef struct __EP { - EP_CMD * const cmd; - uint8_t * const buf; - EP_TRANSFER * const transfer; - uint16_t buf_offset; -} EP; - -#endif /* __USB_LPC55XXX_H */ diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/board/clock_config.c b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/board/clock_config.c deleted file mode 100644 index d7fd979..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/board/clock_config.c +++ /dev/null @@ -1,150 +0,0 @@ -/*********************************************************************************************************************** - * This file was generated by the MCUXpresso Config Tools. Any manual edits made to this file - * will be overwritten if the respective MCUXpresso Config Tools is used to update this file. - **********************************************************************************************************************/ -/* - * How to set up clock using clock driver functions: - * - * 1. Setup clock sources. - * - * 2. Set up wait states of the flash. - * - * 3. Set up all dividers. - * - * 4. Set up all selectors to provide selected clocks. - */ - -/* clang-format off */ -/* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* -!!GlobalInfo -product: Clocks v7.0 -processor: LPC55S69 -package_id: LPC55S69JBD64 -mcu_data: ksdk2_0 -processor_version: 9.0.3 - * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ -/* clang-format on */ - -#include "fsl_power.h" -#include "fsl_clock.h" -#include "clock_config.h" - -/******************************************************************************* - * Definitions - ******************************************************************************/ - -/******************************************************************************* - * Variables - ******************************************************************************/ -/* System clock frequency. */ -extern uint32_t SystemCoreClock; - -/******************************************************************************* - ************************ BOARD_InitBootClocks function ************************ - ******************************************************************************/ -void BOARD_InitBootClocks(void) -{ - BOARD_BootClockRUN(); -} - -/******************************************************************************* - ********************** Configuration BOARD_BootClockRUN *********************** - ******************************************************************************/ -/* clang-format off */ -/* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* -!!Configuration -name: BOARD_BootClockRUN -called_from_default_init: true -outputs: -- {id: FXCOM0_clock.outFreq, value: 48 MHz} -- {id: FXCOM3_clock.outFreq, value: 48 MHz} -- {id: System_clock.outFreq, value: 150 MHz, locked: true, accuracy: '0.001'} -- {id: USB1_PHY_clock.outFreq, value: 16 MHz} -settings: -- {id: PLL0_Mode, value: Normal} -- {id: ANALOG_CONTROL_FRO192M_CTRL_ENDI_FRO_96M_CFG, value: Enable} -- {id: ENABLE_CLKIN_ENA, value: Enabled} -- {id: ENABLE_PLL_USB_OUT, value: Enabled} -- {id: ENABLE_SYSTEM_CLK_OUT, value: Enabled} -- {id: SYSCON.FCCLKSEL0.sel, value: SYSCON.FROHFDIV} -- {id: SYSCON.FCCLKSEL3.sel, value: SYSCON.FROHFDIV} -- {id: SYSCON.FRGCTRL3_DIV.scale, value: '256', locked: true} -- {id: SYSCON.FROHFDIV.scale, value: '2', locked: true} -- {id: SYSCON.MAINCLKSELB.sel, value: SYSCON.PLL0_BYPASS} -- {id: SYSCON.PLL0CLKSEL.sel, value: SYSCON.CLK_IN_EN} -- {id: SYSCON.PLL0M_MULT.scale, value: '150', locked: true} -- {id: SYSCON.PLL0N_DIV.scale, value: '8', locked: true} -- {id: SYSCON.PLL0_PDEC.scale, value: '2'} -sources: -- {id: ANACTRL.fro_hf.outFreq, value: 96 MHz} -- {id: SYSCON.XTAL32M.outFreq, value: 16 MHz, enabled: true} - * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ -/* clang-format on */ - -/******************************************************************************* - * Variables for BOARD_BootClockRUN configuration - ******************************************************************************/ -/******************************************************************************* - * Code for BOARD_BootClockRUN configuration - ******************************************************************************/ -void BOARD_BootClockRUN(void) -{ -#ifndef SDK_SECONDARY_CORE - /*!< Set up the clock sources */ - /*!< Configure FRO192M */ - POWER_DisablePD(kPDRUNCFG_PD_FRO192M); /*!< Ensure FRO is on */ - CLOCK_SetupFROClocking(12000000U); /*!< Set up FRO to the 12 MHz, just for sure */ - CLOCK_AttachClk(kFRO12M_to_MAIN_CLK); /*!< Switch to FRO 12MHz first to ensure we can change the clock setting */ - - CLOCK_SetupFROClocking(96000000U); /* Enable FRO HF(96MHz) output */ - - /*!< Configure XTAL32M */ - POWER_DisablePD(kPDRUNCFG_PD_XTAL32M); /* Ensure XTAL32M is powered */ - POWER_DisablePD(kPDRUNCFG_PD_LDOXO32M); /* Ensure XTAL32M is powered */ - CLOCK_SetupExtClocking(16000000U); /* Enable clk_in clock */ - SYSCON->CLOCK_CTRL |= SYSCON_CLOCK_CTRL_CLKIN_ENA_MASK; /* Enable clk_in from XTAL32M clock */ - ANACTRL->XO32M_CTRL |= ANACTRL_XO32M_CTRL_ENABLE_SYSTEM_CLK_OUT_MASK; /* Enable clk_in to system */ - ANACTRL->XO32M_CTRL |= ANACTRL_XO32M_CTRL_ENABLE_PLL_USB_OUT_MASK; /* Enable clk_in to HS USB */ - - POWER_SetVoltageForFreq(150000000U); /*!< Set voltage for the one of the fastest clock outputs: System clock output */ - CLOCK_SetFLASHAccessCyclesForFreq(150000000U); /*!< Set FLASH wait states for core */ - - /*!< Set up PLL */ - CLOCK_AttachClk(kEXT_CLK_to_PLL0); /*!< Switch PLL0CLKSEL to EXT_CLK */ - POWER_DisablePD(kPDRUNCFG_PD_PLL0); /* Ensure PLL is on */ - POWER_DisablePD(kPDRUNCFG_PD_PLL0_SSCG); - const pll_setup_t pll0Setup = { - .pllctrl = SYSCON_PLL0CTRL_CLKEN_MASK | SYSCON_PLL0CTRL_SELI(53U) | SYSCON_PLL0CTRL_SELP(31U), - .pllndec = SYSCON_PLL0NDEC_NDIV(8U), - .pllpdec = SYSCON_PLL0PDEC_PDIV(1U), - .pllsscg = {0x0U,(SYSCON_PLL0SSCG1_MDIV_EXT(150U) | SYSCON_PLL0SSCG1_SEL_EXT_MASK)}, - .pllRate = 150000000U, - .flags = PLL_SETUPFLAG_WAITLOCK - }; - CLOCK_SetPLL0Freq(&pll0Setup); /*!< Configure PLL0 to the desired values */ - - /*!< Set up dividers */ - #if FSL_CLOCK_DRIVER_VERSION >= MAKE_VERSION(2, 3, 4) - CLOCK_SetClkDiv(kCLOCK_DivFlexFrg0, 0U, false); /*!< Set DIV to value 0xFF and MULT to value 0U in related FLEXFRGCTRL register */ - #else - CLOCK_SetClkDiv(kCLOCK_DivFlexFrg0, 256U, false); /*!< Set DIV to value 0xFF and MULT to value 0U in related FLEXFRGCTRL register */ - #endif - #if FSL_CLOCK_DRIVER_VERSION >= MAKE_VERSION(2, 3, 4) - CLOCK_SetClkDiv(kCLOCK_DivFlexFrg3, 0U, false); /*!< Set DIV to value 0xFF and MULT to value 0U in related FLEXFRGCTRL register */ - #else - CLOCK_SetClkDiv(kCLOCK_DivFlexFrg3, 256U, false); /*!< Set DIV to value 0xFF and MULT to value 0U in related FLEXFRGCTRL register */ - #endif - CLOCK_SetClkDiv(kCLOCK_DivAhbClk, 1U, false); /*!< Set AHBCLKDIV divider to value 1 */ - CLOCK_SetClkDiv(kCLOCK_DivFrohfClk, 0U, true); /*!< Reset FROHFDIV divider counter and halt it */ - CLOCK_SetClkDiv(kCLOCK_DivFrohfClk, 2U, false); /*!< Set FROHFDIV divider to value 2 */ - - /*!< Set up clock selectors - Attach clocks to the peripheries */ - CLOCK_AttachClk(kPLL0_to_MAIN_CLK); /*!< Switch MAIN_CLK to PLL0 */ - CLOCK_AttachClk(kFRO_HF_DIV_to_FLEXCOMM0); /*!< Switch FLEXCOMM0 to FRO_HF_DIV */ - CLOCK_AttachClk(kFRO_HF_DIV_to_FLEXCOMM3); /*!< Switch FLEXCOMM3 to FRO_HF_DIV */ - - /*!< Set SystemCoreClock variable. */ - SystemCoreClock = BOARD_BOOTCLOCKRUN_CORE_CLOCK; -#endif -} - diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/board/clock_config.h b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/board/clock_config.h deleted file mode 100644 index c196f14..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/board/clock_config.h +++ /dev/null @@ -1,62 +0,0 @@ -/*********************************************************************************************************************** - * This file was generated by the MCUXpresso Config Tools. Any manual edits made to this file - * will be overwritten if the respective MCUXpresso Config Tools is used to update this file. - **********************************************************************************************************************/ - -#ifndef _CLOCK_CONFIG_H_ -#define _CLOCK_CONFIG_H_ - -#include "fsl_common.h" - -/******************************************************************************* - * Definitions - ******************************************************************************/ -#define BOARD_XTAL0_CLK_HZ 16000000U /*!< Board xtal frequency in Hz */ -#define BOARD_XTAL32K_CLK_HZ 32768U /*!< Board xtal32K frequency in Hz */ - -/******************************************************************************* - ************************ BOARD_InitBootClocks function ************************ - ******************************************************************************/ - -#if defined(__cplusplus) -extern "C" { -#endif /* __cplusplus*/ - -/*! - * @brief This function executes default configuration of clocks. - * - */ -void BOARD_InitBootClocks(void); - -#if defined(__cplusplus) -} -#endif /* __cplusplus*/ - -/******************************************************************************* - ********************** Configuration BOARD_BootClockRUN *********************** - ******************************************************************************/ -/******************************************************************************* - * Definitions for BOARD_BootClockRUN configuration - ******************************************************************************/ -#define BOARD_BOOTCLOCKRUN_CORE_CLOCK 150000000U /*!< Core clock frequency: 150000000Hz */ - - -/******************************************************************************* - * API for BOARD_BootClockRUN configuration - ******************************************************************************/ -#if defined(__cplusplus) -extern "C" { -#endif /* __cplusplus*/ - -/*! - * @brief This function executes configuration of clocks. - * - */ -void BOARD_BootClockRUN(void); - -#if defined(__cplusplus) -} -#endif /* __cplusplus*/ - -#endif /* _CLOCK_CONFIG_H_ */ - diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/board/peripherals.c b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/board/peripherals.c deleted file mode 100644 index 6ee35ef..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/board/peripherals.c +++ /dev/null @@ -1,77 +0,0 @@ -/*********************************************************************************************************************** - * This file was generated by the MCUXpresso Config Tools. Any manual edits made to this file - * will be overwritten if the respective MCUXpresso Config Tools is used to update this file. - **********************************************************************************************************************/ - -/* clang-format off */ -/* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* -!!GlobalInfo -product: Peripherals v9.0 -processor: LPC55S69 -package_id: LPC55S69JBD64 -mcu_data: ksdk2_0 -processor_version: 9.0.3 -functionalGroups: -- name: BOARD_InitPeripherals - UUID: 85f4cd0c-3b58-4e23-a413-239f6952f139 - called_from_default_init: true - selectedCore: cm33_core0 - * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ - -/* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* -component: -- type: 'system' -- type_id: 'system_54b53072540eeeb8f8e9343e71f28176' -- global_system_definitions: - - user_definitions: '' - - user_includes: '' - * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ -/* clang-format on */ - -/*********************************************************************************************************************** - * Included files - **********************************************************************************************************************/ -#include "peripherals.h" - -/*********************************************************************************************************************** - * BOARD_InitPeripherals functional group - **********************************************************************************************************************/ -/*********************************************************************************************************************** - * NVIC initialization code - **********************************************************************************************************************/ -/* clang-format off */ -/* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* -instance: -- name: 'NVIC' -- type: 'nvic' -- mode: 'general' -- custom_name_enabled: 'false' -- type_id: 'nvic_57b5eef3774cc60acaede6f5b8bddc67' -- functional_group: 'BOARD_InitPeripherals' -- peripheral: 'NVIC' -- config_sets: - - nvic: - - interrupt_table: [] - - interrupts: [] - * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ -/* clang-format on */ - -/* Empty initialization function (commented out) -static void NVIC_init(void) { -} */ - -/*********************************************************************************************************************** - * Initialization functions - **********************************************************************************************************************/ -void BOARD_InitPeripherals(void) -{ - /* Initialize components */ -} - -/*********************************************************************************************************************** - * BOARD_InitBootPeripherals function - **********************************************************************************************************************/ -void BOARD_InitBootPeripherals(void) -{ - BOARD_InitPeripherals(); -} diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/board/peripherals.h b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/board/peripherals.h deleted file mode 100644 index 2a75809..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/board/peripherals.h +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************************************************************** - * This file was generated by the MCUXpresso Config Tools. Any manual edits made to this file - * will be overwritten if the respective MCUXpresso Config Tools is used to update this file. - **********************************************************************************************************************/ - -#ifndef _PERIPHERALS_H_ -#define _PERIPHERALS_H_ - -/*********************************************************************************************************************** - * Included files - **********************************************************************************************************************/ -#include "fsl_common.h" - -#if defined(__cplusplus) -extern "C" { -#endif /* __cplusplus */ - -/*********************************************************************************************************************** - * Initialization functions - **********************************************************************************************************************/ - -void BOARD_InitPeripherals(void); - -/*********************************************************************************************************************** - * BOARD_InitBootPeripherals function - **********************************************************************************************************************/ -void BOARD_InitBootPeripherals(void); - -#if defined(__cplusplus) -} -#endif - -#endif /* _PERIPHERALS_H_ */ diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/board/pin_mux.c b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/board/pin_mux.c deleted file mode 100644 index 19d4184..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/board/pin_mux.c +++ /dev/null @@ -1,337 +0,0 @@ -/*********************************************************************************************************************** - * This file was generated by the MCUXpresso Config Tools. Any manual edits made to this file - * will be overwritten if the respective MCUXpresso Config Tools is used to update this file. - **********************************************************************************************************************/ - -/* clang-format off */ -/* - * TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* -!!GlobalInfo -product: Pins v9.0 -processor: LPC55S69 -package_id: LPC55S69JBD64 -mcu_data: ksdk2_0 -processor_version: 9.0.3 -pin_labels: -- {pin_num: '36', pin_signal: PIO0_0/FC3_SCK/CTIMER0_MAT0/SCT_GPI0/SD1_CARD_INT_N/SECURE_GPIO0_0/ACMP0_A, label: _DBGIF_TCK_SWCLK, identifier: DBGIF_TCK_SWCLK} -- {pin_num: '2', pin_signal: PIO0_1/FC3_CTS_SDA_SSEL0/CT_INP0/SCT_GPI1/SD1_CLK/CMP0_OUT/SECURE_GPIO0_1, label: _DBGIF_TDI, identifier: DBGIF_TDI} -- {pin_num: '52', pin_signal: PIO0_2/FC3_TXD_SCL_MISO_WS/CT_INP1/SCT0_OUT0/SCT_GPI2/SECURE_GPIO0_2, label: _DBGIF_TMS_SWDIO, identifier: DBGIF_TMS_SWDIO} -- {pin_num: '44', pin_signal: PIO0_28/FC0_SCK/SD1_CMD/CT_INP11/SCT0_OUT7/USB0_OVERCURRENTN/PLU_OUT1/SECURE_GPIO0_28, label: _DBGIF_TMS_SWDIO_TXEN, identifier: DBGIF_TMS_SWDIO_TXEN} -- {pin_num: '58', pin_signal: PIO0_19/FC4_RTS_SCL_SSEL1/UTICK_CAP0/CTIMER0_MAT2/SCT0_OUT2/FC7_TXD_SCL_MISO_WS/PLU_IN4/SECURE_GPIO0_19, label: _DBGIF_RESET, identifier: DBG_IF_RESET;DBGIF_RESET} -- {pin_num: '46', pin_signal: PIO0_13/FC1_CTS_SDA_SSEL0/UTICK_CAP0/CT_INP0/SCT_GPI0/FC1_RXD_SDA_MOSI_DATA/PLU_IN0/SECURE_GPIO0_13, label: _DBGIF_RESET_TXEN, identifier: DBG_IF_RESET_TXEN;DBGIF_RESET_TXEN} -- {pin_num: '53', pin_signal: PIO0_3/FC3_RXD_SDA_MOSI_DATA/CTIMER0_MAT1/SCT0_OUT1/SCT_GPI3/SECURE_GPIO0_3, label: _DBGIF_TDO_SWO, identifier: DBG_IF_TDO_SWO;DBGIF_TDO_SWO} -- {pin_num: '45', pin_signal: PIO0_24/FC0_RXD_SDA_MOSI_DATA/SD0_D0/CT_INP8/SCT_GPI0/SECURE_GPIO0_24, label: _FC0_TARGET_RXD, identifier: FC0_TARGET_RXD} -- {pin_num: '51', pin_signal: PIO0_25/FC0_TXD_SCL_MISO_WS/SD0_D1/CT_INP9/SCT_GPI1/SECURE_GPIO0_25, label: _FC0_TARGET_TXD, identifier: FC0_TARGET_TXD} -- {pin_num: '56', pin_signal: PIO0_5/FC4_RXD_SDA_MOSI_DATA/CTIMER3_MAT0/SCT_GPI5/FC3_RTS_SCL_SSEL1/MCLK/SECURE_GPIO0_5, label: _LED1, identifier: LED1} - * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS *********** - */ -/* clang-format on */ - -#include "fsl_common.h" -#include "fsl_gpio.h" -#include "pin_mux.h" - -/* FUNCTION ************************************************************************************************************ - * - * Function Name : BOARD_InitBootPins - * Description : Calls initialization functions. - * - * END ****************************************************************************************************************/ -void BOARD_InitBootPins(void) -{ - MCU_LINK_InitPins(); -} - -/* clang-format off */ -/* - * TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* -MCU_LINK_InitPins: -- options: {callFromInitBoot: 'true', prefix: '', coreID: cm33_core0, enableClock: 'true'} -- pin_list: - - {pin_num: '36', peripheral: GPIO, signal: 'PIO0, 0', pin_signal: PIO0_0/FC3_SCK/CTIMER0_MAT0/SCT_GPI0/SD1_CARD_INT_N/SECURE_GPIO0_0/ACMP0_A, direction: INPUT, - slew_rate: fast} - - {pin_num: '2', peripheral: GPIO, signal: 'PIO0, 1', pin_signal: PIO0_1/FC3_CTS_SDA_SSEL0/CT_INP0/SCT_GPI1/SD1_CLK/CMP0_OUT/SECURE_GPIO0_1, direction: INPUT, slew_rate: fast} - - {pin_num: '52', peripheral: GPIO, signal: 'PIO0, 2', pin_signal: PIO0_2/FC3_TXD_SCL_MISO_WS/CT_INP1/SCT0_OUT0/SCT_GPI2/SECURE_GPIO0_2, direction: INPUT, mode: inactive, - slew_rate: fast} - - {pin_num: '44', peripheral: GPIO, signal: 'PIO0, 28', pin_signal: PIO0_28/FC0_SCK/SD1_CMD/CT_INP11/SCT0_OUT7/USB0_OVERCURRENTN/PLU_OUT1/SECURE_GPIO0_28, direction: OUTPUT, - gpio_init_state: 'false', slew_rate: fast} - - {pin_num: '58', peripheral: GPIO, signal: 'PIO0, 19', pin_signal: PIO0_19/FC4_RTS_SCL_SSEL1/UTICK_CAP0/CTIMER0_MAT2/SCT0_OUT2/FC7_TXD_SCL_MISO_WS/PLU_IN4/SECURE_GPIO0_19, - identifier: DBGIF_RESET, direction: INPUT, slew_rate: fast} - - {pin_num: '46', peripheral: GPIO, signal: 'PIO0, 13', pin_signal: PIO0_13/FC1_CTS_SDA_SSEL0/UTICK_CAP0/CT_INP0/SCT_GPI0/FC1_RXD_SDA_MOSI_DATA/PLU_IN0/SECURE_GPIO0_13, - identifier: DBGIF_RESET_TXEN, direction: OUTPUT, gpio_init_state: 'false'} - - {pin_num: '53', peripheral: FLEXCOMM3, signal: RXD_SDA_MOSI_DATA, pin_signal: PIO0_3/FC3_RXD_SDA_MOSI_DATA/CTIMER0_MAT1/SCT0_OUT1/SCT_GPI3/SECURE_GPIO0_3, identifier: DBGIF_TDO_SWO, - slew_rate: fast} - - {pin_num: '45', peripheral: FLEXCOMM0, signal: RXD_SDA_MOSI_DATA, pin_signal: PIO0_24/FC0_RXD_SDA_MOSI_DATA/SD0_D0/CT_INP8/SCT_GPI0/SECURE_GPIO0_24, slew_rate: fast} - - {pin_num: '51', peripheral: FLEXCOMM0, signal: TXD_SCL_MISO_WS, pin_signal: PIO0_25/FC0_TXD_SCL_MISO_WS/SD0_D1/CT_INP9/SCT_GPI1/SECURE_GPIO0_25, slew_rate: fast} - - {pin_num: '23', peripheral: USBHSH, signal: USB_DP, pin_signal: USB1_DP} - - {pin_num: '24', peripheral: USBHSH, signal: USB_DM, pin_signal: USB1_DM} - - {pin_num: '25', peripheral: USBHSH, signal: USB_VBUS, pin_signal: USB1_VBUS} - - {pin_num: '22', peripheral: USBHSH, signal: USB_VSS, pin_signal: USB1_VSS22} - - {pin_num: '26', peripheral: USBHSH, signal: USB_VSS, pin_signal: USB1_VSS26} - - {pin_num: '41', peripheral: USBHSH, signal: USB_PORTPWRN, pin_signal: PIO1_2/CTIMER0_MAT3/SCT_GPI6/HS_SPI_SCK/USB1_PORTPWRN/PLU_OUT5} - - {pin_num: '56', peripheral: GPIO, signal: 'PIO0, 5', pin_signal: PIO0_5/FC4_RXD_SDA_MOSI_DATA/CTIMER3_MAT0/SCT_GPI5/FC3_RTS_SCL_SSEL1/MCLK/SECURE_GPIO0_5, direction: OUTPUT, - gpio_init_state: 'true', mode: pullUp} - * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS *********** - */ -/* clang-format on */ - -/* FUNCTION ************************************************************************************************************ - * - * Function Name : MCU_LINK_InitPins - * Description : Configures pin routing and optionally pin electrical features. - * - * END ****************************************************************************************************************/ -/* Function assigned for the Cortex-M33 (Core #0) */ -void MCU_LINK_InitPins(void) -{ - /* Enables the clock for the I/O controller.: Enable Clock. */ - CLOCK_EnableClock(kCLOCK_Iocon); - - /* Enables the clock for the GPIO0 module */ - CLOCK_EnableClock(kCLOCK_Gpio0); - - gpio_pin_config_t DBGIF_TCK_SWCLK_config = { - .pinDirection = kGPIO_DigitalInput, - .outputLogic = 0U - }; - /* Initialize GPIO functionality on pin PIO0_0 (pin 36) */ - GPIO_PinInit(DBGIF_TCK_SWCLK_GPIO, DBGIF_TCK_SWCLK_PORT, DBGIF_TCK_SWCLK_PIN, &DBGIF_TCK_SWCLK_config); - - gpio_pin_config_t DBGIF_TDI_config = { - .pinDirection = kGPIO_DigitalInput, - .outputLogic = 0U - }; - /* Initialize GPIO functionality on pin PIO0_1 (pin 2) */ - GPIO_PinInit(DBGIF_TDI_GPIO, DBGIF_TDI_PORT, DBGIF_TDI_PIN, &DBGIF_TDI_config); - - gpio_pin_config_t DBGIF_TMS_SWDIO_config = { - .pinDirection = kGPIO_DigitalInput, - .outputLogic = 0U - }; - /* Initialize GPIO functionality on pin PIO0_2 (pin 52) */ - GPIO_PinInit(DBGIF_TMS_SWDIO_GPIO, DBGIF_TMS_SWDIO_PORT, DBGIF_TMS_SWDIO_PIN, &DBGIF_TMS_SWDIO_config); - - gpio_pin_config_t LED1_config = { - .pinDirection = kGPIO_DigitalOutput, - .outputLogic = 1U - }; - /* Initialize GPIO functionality on pin PIO0_5 (pin 56) */ - GPIO_PinInit(LED1_GPIO, LED1_PORT, LED1_PIN, &LED1_config); - - gpio_pin_config_t DBGIF_RESET_TXEN_config = { - .pinDirection = kGPIO_DigitalOutput, - .outputLogic = 0U - }; - /* Initialize GPIO functionality on pin PIO0_13 (pin 46) */ - GPIO_PinInit(DBGIF_RESET_TXEN_GPIO, DBGIF_RESET_TXEN_PORT, DBGIF_RESET_TXEN_PIN, &DBGIF_RESET_TXEN_config); - - gpio_pin_config_t DBGIF_RESET_config = { - .pinDirection = kGPIO_DigitalInput, - .outputLogic = 0U - }; - /* Initialize GPIO functionality on pin PIO0_19 (pin 58) */ - GPIO_PinInit(DBGIF_RESET_GPIO, DBGIF_RESET_PORT, DBGIF_RESET_PIN, &DBGIF_RESET_config); - - gpio_pin_config_t DBGIF_TMS_SWDIO_TXEN_config = { - .pinDirection = kGPIO_DigitalOutput, - .outputLogic = 0U - }; - /* Initialize GPIO functionality on pin PIO0_28 (pin 44) */ - GPIO_PinInit(DBGIF_TMS_SWDIO_TXEN_GPIO, DBGIF_TMS_SWDIO_TXEN_PORT, DBGIF_TMS_SWDIO_TXEN_PIN, &DBGIF_TMS_SWDIO_TXEN_config); - - IOCON->PIO[0][0] = ((IOCON->PIO[0][0] & - /* Mask bits to zero which are setting */ - (~(IOCON_PIO_FUNC_MASK | IOCON_PIO_SLEW_MASK | IOCON_PIO_DIGIMODE_MASK))) - - /* Selects pin function. - * : PORT00 (pin 36) is configured as PIO0_0. */ - | IOCON_PIO_FUNC(PIO0_0_FUNC_ALT0) - - /* Driver slew rate. - * : Fast-mode, output slew rate is faster. - * Refer to the appropriate specific device data sheet for details. */ - | IOCON_PIO_SLEW(PIO0_0_SLEW_FAST) - - /* Select Digital mode. - * : Enable Digital mode. - * Digital input is enabled. */ - | IOCON_PIO_DIGIMODE(PIO0_0_DIGIMODE_DIGITAL)); - - IOCON->PIO[0][1] = ((IOCON->PIO[0][1] & - /* Mask bits to zero which are setting */ - (~(IOCON_PIO_FUNC_MASK | IOCON_PIO_SLEW_MASK | IOCON_PIO_DIGIMODE_MASK))) - - /* Selects pin function. - * : PORT01 (pin 2) is configured as PIO0_1. */ - | IOCON_PIO_FUNC(PIO0_1_FUNC_ALT0) - - /* Driver slew rate. - * : Fast-mode, output slew rate is faster. - * Refer to the appropriate specific device data sheet for details. */ - | IOCON_PIO_SLEW(PIO0_1_SLEW_FAST) - - /* Select Digital mode. - * : Enable Digital mode. - * Digital input is enabled. */ - | IOCON_PIO_DIGIMODE(PIO0_1_DIGIMODE_DIGITAL)); - - IOCON->PIO[0][13] = ((IOCON->PIO[0][13] & - /* Mask bits to zero which are setting */ - (~(IOCON_PIO_FUNC_MASK | IOCON_PIO_DIGIMODE_MASK))) - - /* Selects pin function. - * : PORT013 (pin 46) is configured as PIO0_13. */ - | IOCON_PIO_FUNC(PIO0_13_FUNC_ALT0) - - /* Select Digital mode. - * : Enable Digital mode. - * Digital input is enabled. */ - | IOCON_PIO_DIGIMODE(PIO0_13_DIGIMODE_DIGITAL)); - - IOCON->PIO[0][19] = ((IOCON->PIO[0][19] & - /* Mask bits to zero which are setting */ - (~(IOCON_PIO_FUNC_MASK | IOCON_PIO_SLEW_MASK | IOCON_PIO_DIGIMODE_MASK))) - - /* Selects pin function. - * : PORT019 (pin 58) is configured as PIO0_19. */ - | IOCON_PIO_FUNC(PIO0_19_FUNC_ALT0) - - /* Driver slew rate. - * : Fast-mode, output slew rate is faster. - * Refer to the appropriate specific device data sheet for details. */ - | IOCON_PIO_SLEW(PIO0_19_SLEW_FAST) - - /* Select Digital mode. - * : Enable Digital mode. - * Digital input is enabled. */ - | IOCON_PIO_DIGIMODE(PIO0_19_DIGIMODE_DIGITAL)); - - IOCON->PIO[0][2] = ((IOCON->PIO[0][2] & - /* Mask bits to zero which are setting */ - (~(IOCON_PIO_FUNC_MASK | IOCON_PIO_MODE_MASK | IOCON_PIO_SLEW_MASK | IOCON_PIO_DIGIMODE_MASK))) - - /* Selects pin function. - * : PORT02 (pin 52) is configured as PIO0_2. */ - | IOCON_PIO_FUNC(PIO0_2_FUNC_ALT0) - - /* Selects function mode (on-chip pull-up/pull-down resistor control). - * : Inactive. - * Inactive (no pull-down/pull-up resistor enabled). */ - | IOCON_PIO_MODE(PIO0_2_MODE_INACTIVE) - - /* Driver slew rate. - * : Fast-mode, output slew rate is faster. - * Refer to the appropriate specific device data sheet for details. */ - | IOCON_PIO_SLEW(PIO0_2_SLEW_FAST) - - /* Select Digital mode. - * : Enable Digital mode. - * Digital input is enabled. */ - | IOCON_PIO_DIGIMODE(PIO0_2_DIGIMODE_DIGITAL)); - - IOCON->PIO[0][24] = ((IOCON->PIO[0][24] & - /* Mask bits to zero which are setting */ - (~(IOCON_PIO_FUNC_MASK | IOCON_PIO_SLEW_MASK | IOCON_PIO_DIGIMODE_MASK))) - - /* Selects pin function. - * : PORT024 (pin 45) is configured as FC0_RXD_SDA_MOSI_DATA. */ - | IOCON_PIO_FUNC(PIO0_24_FUNC_ALT1) - - /* Driver slew rate. - * : Fast-mode, output slew rate is faster. - * Refer to the appropriate specific device data sheet for details. */ - | IOCON_PIO_SLEW(PIO0_24_SLEW_FAST) - - /* Select Digital mode. - * : Enable Digital mode. - * Digital input is enabled. */ - | IOCON_PIO_DIGIMODE(PIO0_24_DIGIMODE_DIGITAL)); - - IOCON->PIO[0][25] = ((IOCON->PIO[0][25] & - /* Mask bits to zero which are setting */ - (~(IOCON_PIO_FUNC_MASK | IOCON_PIO_SLEW_MASK | IOCON_PIO_DIGIMODE_MASK))) - - /* Selects pin function. - * : PORT025 (pin 51) is configured as FC0_TXD_SCL_MISO_WS. */ - | IOCON_PIO_FUNC(PIO0_25_FUNC_ALT1) - - /* Driver slew rate. - * : Fast-mode, output slew rate is faster. - * Refer to the appropriate specific device data sheet for details. */ - | IOCON_PIO_SLEW(PIO0_25_SLEW_FAST) - - /* Select Digital mode. - * : Enable Digital mode. - * Digital input is enabled. */ - | IOCON_PIO_DIGIMODE(PIO0_25_DIGIMODE_DIGITAL)); - - IOCON->PIO[0][28] = ((IOCON->PIO[0][28] & - /* Mask bits to zero which are setting */ - (~(IOCON_PIO_FUNC_MASK | IOCON_PIO_SLEW_MASK | IOCON_PIO_DIGIMODE_MASK))) - - /* Selects pin function. - * : PORT028 (pin 44) is configured as PIO0_28. */ - | IOCON_PIO_FUNC(PIO0_28_FUNC_ALT0) - - /* Driver slew rate. - * : Fast-mode, output slew rate is faster. - * Refer to the appropriate specific device data sheet for details. */ - | IOCON_PIO_SLEW(PIO0_28_SLEW_FAST) - - /* Select Digital mode. - * : Enable Digital mode. - * Digital input is enabled. */ - | IOCON_PIO_DIGIMODE(PIO0_28_DIGIMODE_DIGITAL)); - - IOCON->PIO[0][3] = ((IOCON->PIO[0][3] & - /* Mask bits to zero which are setting */ - (~(IOCON_PIO_FUNC_MASK | IOCON_PIO_SLEW_MASK | IOCON_PIO_DIGIMODE_MASK))) - - /* Selects pin function. - * : PORT03 (pin 53) is configured as FC3_RXD_SDA_MOSI_DATA. */ - | IOCON_PIO_FUNC(PIO0_3_FUNC_ALT1) - - /* Driver slew rate. - * : Fast-mode, output slew rate is faster. - * Refer to the appropriate specific device data sheet for details. */ - | IOCON_PIO_SLEW(PIO0_3_SLEW_FAST) - - /* Select Digital mode. - * : Enable Digital mode. - * Digital input is enabled. */ - | IOCON_PIO_DIGIMODE(PIO0_3_DIGIMODE_DIGITAL)); - - IOCON->PIO[0][5] = ((IOCON->PIO[0][5] & - /* Mask bits to zero which are setting */ - (~(IOCON_PIO_FUNC_MASK | IOCON_PIO_MODE_MASK | IOCON_PIO_DIGIMODE_MASK))) - - /* Selects pin function. - * : PORT05 (pin 56) is configured as PIO0_5. */ - | IOCON_PIO_FUNC(PIO0_5_FUNC_ALT0) - - /* Selects function mode (on-chip pull-up/pull-down resistor control). - * : Pull-up. - * Pull-up resistor enabled. */ - | IOCON_PIO_MODE(PIO0_5_MODE_PULL_UP) - - /* Select Digital mode. - * : Enable Digital mode. - * Digital input is enabled. */ - | IOCON_PIO_DIGIMODE(PIO0_5_DIGIMODE_DIGITAL)); - - IOCON->PIO[1][2] = ((IOCON->PIO[1][2] & - /* Mask bits to zero which are setting */ - (~(IOCON_PIO_FUNC_MASK | IOCON_PIO_DIGIMODE_MASK))) - - /* Selects pin function. - * : PORT12 (pin 41) is configured as USB1_PORTPWRN. */ - | IOCON_PIO_FUNC(PIO1_2_FUNC_ALT7) - - /* Select Digital mode. - * : Enable Digital mode. - * Digital input is enabled. */ - | IOCON_PIO_DIGIMODE(PIO1_2_DIGIMODE_DIGITAL)); -} -/*********************************************************************************************************************** - * EOF - **********************************************************************************************************************/ diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/board/pin_mux.h b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/board/pin_mux.h deleted file mode 100644 index 1a12c66..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/board/pin_mux.h +++ /dev/null @@ -1,276 +0,0 @@ -/*********************************************************************************************************************** - * This file was generated by the MCUXpresso Config Tools. Any manual edits made to this file - * will be overwritten if the respective MCUXpresso Config Tools is used to update this file. - **********************************************************************************************************************/ - -#ifndef _PIN_MUX_H_ -#define _PIN_MUX_H_ - -/*! - * @addtogroup pin_mux - * @{ - */ - -/*********************************************************************************************************************** - * API - **********************************************************************************************************************/ - -#if defined(__cplusplus) -extern "C" { -#endif - -/*! - * @brief Calls initialization functions. - * - */ -void BOARD_InitBootPins(void); - -/*! - * @brief Select Digital mode.: Enable Digital mode. Digital input is enabled. */ -#define PIO0_0_DIGIMODE_DIGITAL 0x01u -/*! - * @brief Selects pin function.: Alternative connection 0. */ -#define PIO0_0_FUNC_ALT0 0x00u -/*! - * @brief - * Driver slew rate. - * : Fast-mode, output slew rate is faster. - * Refer to the appropriate specific device data sheet for details. - */ -#define PIO0_0_SLEW_FAST 0x01u -/*! - * @brief Select Digital mode.: Enable Digital mode. Digital input is enabled. */ -#define PIO0_13_DIGIMODE_DIGITAL 0x01u -/*! - * @brief Selects pin function.: Alternative connection 0. */ -#define PIO0_13_FUNC_ALT0 0x00u -/*! - * @brief Select Digital mode.: Enable Digital mode. Digital input is enabled. */ -#define PIO0_19_DIGIMODE_DIGITAL 0x01u -/*! - * @brief Selects pin function.: Alternative connection 0. */ -#define PIO0_19_FUNC_ALT0 0x00u -/*! - * @brief - * Driver slew rate. - * : Fast-mode, output slew rate is faster. - * Refer to the appropriate specific device data sheet for details. - */ -#define PIO0_19_SLEW_FAST 0x01u -/*! - * @brief Select Digital mode.: Enable Digital mode. Digital input is enabled. */ -#define PIO0_1_DIGIMODE_DIGITAL 0x01u -/*! - * @brief Selects pin function.: Alternative connection 0. */ -#define PIO0_1_FUNC_ALT0 0x00u -/*! - * @brief - * Driver slew rate. - * : Fast-mode, output slew rate is faster. - * Refer to the appropriate specific device data sheet for details. - */ -#define PIO0_1_SLEW_FAST 0x01u -/*! - * @brief Select Digital mode.: Enable Digital mode. Digital input is enabled. */ -#define PIO0_24_DIGIMODE_DIGITAL 0x01u -/*! - * @brief Selects pin function.: Alternative connection 1. */ -#define PIO0_24_FUNC_ALT1 0x01u -/*! - * @brief - * Driver slew rate. - * : Fast-mode, output slew rate is faster. - * Refer to the appropriate specific device data sheet for details. - */ -#define PIO0_24_SLEW_FAST 0x01u -/*! - * @brief Select Digital mode.: Enable Digital mode. Digital input is enabled. */ -#define PIO0_25_DIGIMODE_DIGITAL 0x01u -/*! - * @brief Selects pin function.: Alternative connection 1. */ -#define PIO0_25_FUNC_ALT1 0x01u -/*! - * @brief - * Driver slew rate. - * : Fast-mode, output slew rate is faster. - * Refer to the appropriate specific device data sheet for details. - */ -#define PIO0_25_SLEW_FAST 0x01u -/*! - * @brief Select Digital mode.: Enable Digital mode. Digital input is enabled. */ -#define PIO0_28_DIGIMODE_DIGITAL 0x01u -/*! - * @brief Selects pin function.: Alternative connection 0. */ -#define PIO0_28_FUNC_ALT0 0x00u -/*! - * @brief - * Driver slew rate. - * : Fast-mode, output slew rate is faster. - * Refer to the appropriate specific device data sheet for details. - */ -#define PIO0_28_SLEW_FAST 0x01u -/*! - * @brief Select Digital mode.: Enable Digital mode. Digital input is enabled. */ -#define PIO0_2_DIGIMODE_DIGITAL 0x01u -/*! - * @brief Selects pin function.: Alternative connection 0. */ -#define PIO0_2_FUNC_ALT0 0x00u -/*! - * @brief - * Selects function mode (on-chip pull-up/pull-down resistor control). - * : Inactive. - * Inactive (no pull-down/pull-up resistor enabled). - */ -#define PIO0_2_MODE_INACTIVE 0x00u -/*! - * @brief - * Driver slew rate. - * : Fast-mode, output slew rate is faster. - * Refer to the appropriate specific device data sheet for details. - */ -#define PIO0_2_SLEW_FAST 0x01u -/*! - * @brief Select Digital mode.: Enable Digital mode. Digital input is enabled. */ -#define PIO0_3_DIGIMODE_DIGITAL 0x01u -/*! - * @brief Selects pin function.: Alternative connection 1. */ -#define PIO0_3_FUNC_ALT1 0x01u -/*! - * @brief - * Driver slew rate. - * : Fast-mode, output slew rate is faster. - * Refer to the appropriate specific device data sheet for details. - */ -#define PIO0_3_SLEW_FAST 0x01u -/*! - * @brief Select Digital mode.: Enable Digital mode. Digital input is enabled. */ -#define PIO0_5_DIGIMODE_DIGITAL 0x01u -/*! - * @brief Selects pin function.: Alternative connection 0. */ -#define PIO0_5_FUNC_ALT0 0x00u -/*! - * @brief Selects function mode (on-chip pull-up/pull-down resistor control).: Pull-up. Pull-up resistor enabled. */ -#define PIO0_5_MODE_PULL_UP 0x02u -/*! - * @brief Select Digital mode.: Enable Digital mode. Digital input is enabled. */ -#define PIO1_2_DIGIMODE_DIGITAL 0x01u -/*! - * @brief Selects pin function.: Alternative connection 7. */ -#define PIO1_2_FUNC_ALT7 0x07u - -/*! @name PIO0_0 (number 36), _DBGIF_TCK_SWCLK - @{ */ - -/* Symbols to be used with GPIO driver */ -#define DBGIF_TCK_SWCLK_GPIO GPIO /*!<@brief GPIO peripheral base pointer */ -#define DBGIF_TCK_SWCLK_GPIO_PIN_MASK (1U << 0U) /*!<@brief GPIO pin mask */ -#define DBGIF_TCK_SWCLK_PORT 0U /*!<@brief PORT peripheral base pointer */ -#define DBGIF_TCK_SWCLK_PIN 0U /*!<@brief PORT pin number */ -#define DBGIF_TCK_SWCLK_PIN_MASK (1U << 0U) /*!<@brief PORT pin mask */ - /* @} */ - -/*! @name PIO0_1 (number 2), _DBGIF_TDI - @{ */ - -/* Symbols to be used with GPIO driver */ -#define DBGIF_TDI_GPIO GPIO /*!<@brief GPIO peripheral base pointer */ -#define DBGIF_TDI_GPIO_PIN_MASK (1U << 1U) /*!<@brief GPIO pin mask */ -#define DBGIF_TDI_PORT 0U /*!<@brief PORT peripheral base pointer */ -#define DBGIF_TDI_PIN 1U /*!<@brief PORT pin number */ -#define DBGIF_TDI_PIN_MASK (1U << 1U) /*!<@brief PORT pin mask */ - /* @} */ - -/*! @name PIO0_2 (number 52), _DBGIF_TMS_SWDIO - @{ */ - -/* Symbols to be used with GPIO driver */ -#define DBGIF_TMS_SWDIO_GPIO GPIO /*!<@brief GPIO peripheral base pointer */ -#define DBGIF_TMS_SWDIO_GPIO_PIN_MASK (1U << 2U) /*!<@brief GPIO pin mask */ -#define DBGIF_TMS_SWDIO_PORT 0U /*!<@brief PORT peripheral base pointer */ -#define DBGIF_TMS_SWDIO_PIN 2U /*!<@brief PORT pin number */ -#define DBGIF_TMS_SWDIO_PIN_MASK (1U << 2U) /*!<@brief PORT pin mask */ - /* @} */ - -/*! @name PIO0_28 (number 44), _DBGIF_TMS_SWDIO_TXEN - @{ */ - -/* Symbols to be used with GPIO driver */ -#define DBGIF_TMS_SWDIO_TXEN_GPIO GPIO /*!<@brief GPIO peripheral base pointer */ -#define DBGIF_TMS_SWDIO_TXEN_GPIO_PIN_MASK (1U << 28U) /*!<@brief GPIO pin mask */ -#define DBGIF_TMS_SWDIO_TXEN_PORT 0U /*!<@brief PORT peripheral base pointer */ -#define DBGIF_TMS_SWDIO_TXEN_PIN 28U /*!<@brief PORT pin number */ -#define DBGIF_TMS_SWDIO_TXEN_PIN_MASK (1U << 28U) /*!<@brief PORT pin mask */ - /* @} */ - -/*! @name PIO0_19 (number 58), _DBGIF_RESET - @{ */ - -/* Symbols to be used with GPIO driver */ -#define DBGIF_RESET_GPIO GPIO /*!<@brief GPIO peripheral base pointer */ -#define DBGIF_RESET_GPIO_PIN_MASK (1U << 19U) /*!<@brief GPIO pin mask */ -#define DBGIF_RESET_PORT 0U /*!<@brief PORT peripheral base pointer */ -#define DBGIF_RESET_PIN 19U /*!<@brief PORT pin number */ -#define DBGIF_RESET_PIN_MASK (1U << 19U) /*!<@brief PORT pin mask */ - /* @} */ - -/*! @name PIO0_13 (number 46), _DBGIF_RESET_TXEN - @{ */ - -/* Symbols to be used with GPIO driver */ -#define DBGIF_RESET_TXEN_GPIO GPIO /*!<@brief GPIO peripheral base pointer */ -#define DBGIF_RESET_TXEN_GPIO_PIN_MASK (1U << 13U) /*!<@brief GPIO pin mask */ -#define DBGIF_RESET_TXEN_PORT 0U /*!<@brief PORT peripheral base pointer */ -#define DBGIF_RESET_TXEN_PIN 13U /*!<@brief PORT pin number */ -#define DBGIF_RESET_TXEN_PIN_MASK (1U << 13U) /*!<@brief PORT pin mask */ - /* @} */ - -/*! @name PIO0_3 (number 53), _DBGIF_TDO_SWO - @{ */ -#define DBGIF_TDO_SWO_PORT 0U /*!<@brief PORT peripheral base pointer */ -#define DBGIF_TDO_SWO_PIN 3U /*!<@brief PORT pin number */ -#define DBGIF_TDO_SWO_PIN_MASK (1U << 3U) /*!<@brief PORT pin mask */ - /* @} */ - -/*! @name PIO0_24 (number 45), _FC0_TARGET_RXD - @{ */ -#define FC0_TARGET_RXD_PORT 0U /*!<@brief PORT peripheral base pointer */ -#define FC0_TARGET_RXD_PIN 24U /*!<@brief PORT pin number */ -#define FC0_TARGET_RXD_PIN_MASK (1U << 24U) /*!<@brief PORT pin mask */ - /* @} */ - -/*! @name PIO0_25 (number 51), _FC0_TARGET_TXD - @{ */ -#define FC0_TARGET_TXD_PORT 0U /*!<@brief PORT peripheral base pointer */ -#define FC0_TARGET_TXD_PIN 25U /*!<@brief PORT pin number */ -#define FC0_TARGET_TXD_PIN_MASK (1U << 25U) /*!<@brief PORT pin mask */ - /* @} */ - -/*! @name PIO0_5 (number 56), _LED1 - @{ */ - -/* Symbols to be used with GPIO driver */ -#define LED1_GPIO GPIO /*!<@brief GPIO peripheral base pointer */ -#define LED1_GPIO_PIN_MASK (1U << 5U) /*!<@brief GPIO pin mask */ -#define LED1_PORT 0U /*!<@brief PORT peripheral base pointer */ -#define LED1_PIN 5U /*!<@brief PORT pin number */ -#define LED1_PIN_MASK (1U << 5U) /*!<@brief PORT pin mask */ - /* @} */ - -/*! - * @brief Configures pin routing and optionally pin electrical features. - * - */ -void MCU_LINK_InitPins(void); /* Function assigned for the Cortex-M33 (Core #0) */ - -#if defined(__cplusplus) -} -#endif - -/*! - * @} - */ -#endif /* _PIN_MUX_H_ */ - -/*********************************************************************************************************************** - * EOF - **********************************************************************************************************************/ diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/fsl_usart.c b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/fsl_usart.c deleted file mode 100644 index 40d56a3..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/fsl_usart.c +++ /dev/null @@ -1,1284 +0,0 @@ -/* - * Copyright (c) 2016, Freescale Semiconductor, Inc. - * Copyright 2016-2021 NXP - * All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ - - /* - * Modified by Arm - */ -#define FSL_USART_MODIFIED_BY_ARM 1U - -#include "fsl_usart.h" -#include "fsl_device_registers.h" -#include "fsl_flexcomm.h" - -/******************************************************************************* - * Definitions - ******************************************************************************/ - -/* Component ID definition, used by tools. */ -#ifndef FSL_COMPONENT_ID -#define FSL_COMPONENT_ID "platform.drivers.flexcomm_usart" -#endif - -/*! - * @brief Used for conversion from `flexcomm_usart_irq_handler_t` to `flexcomm_irq_handler_t` - */ -typedef union usart_to_flexcomm -{ - flexcomm_usart_irq_handler_t usart_master_handler; - flexcomm_irq_handler_t flexcomm_handler; -} usart_to_flexcomm_t; - -enum -{ - kUSART_TxIdle, /* TX idle. */ - kUSART_TxBusy, /* TX busy. */ - kUSART_RxIdle, /* RX idle. */ - kUSART_RxBusy /* RX busy. */ -}; - -/******************************************************************************* - * Variables - ******************************************************************************/ - -/*! @brief IRQ name array */ -static const IRQn_Type s_usartIRQ[] = USART_IRQS; - -/*! @brief Array to map USART instance number to base address. */ -static const uint32_t s_usartBaseAddrs[FSL_FEATURE_SOC_USART_COUNT] = USART_BASE_ADDRS; - -/******************************************************************************* - * Code - ******************************************************************************/ - -/* Get the index corresponding to the USART */ -/*! brief Returns instance number for USART peripheral base address. */ -uint32_t USART_GetInstance(USART_Type *base) -{ - uint32_t i; - - for (i = 0; i < (uint32_t)FSL_FEATURE_SOC_USART_COUNT; i++) - { - if ((uint32_t)base == s_usartBaseAddrs[i]) - { - break; - } - } - - assert(i < (uint32_t)FSL_FEATURE_SOC_USART_COUNT); - return i; -} - -/*! - * brief Get the length of received data in RX ring buffer. - * - * param handle USART handle pointer. - * return Length of received data in RX ring buffer. - */ -size_t USART_TransferGetRxRingBufferLength(usart_handle_t *handle) -{ - size_t size; - - /* Check arguments */ - assert(NULL != handle); - uint16_t rxRingBufferHead = handle->rxRingBufferHead; - uint16_t rxRingBufferTail = handle->rxRingBufferTail; - - if (rxRingBufferTail > rxRingBufferHead) - { - size = (size_t)rxRingBufferHead + handle->rxRingBufferSize - (size_t)rxRingBufferTail; - } - else - { - size = (size_t)rxRingBufferHead - (size_t)rxRingBufferTail; - } - return size; -} - -static bool USART_TransferIsRxRingBufferFull(usart_handle_t *handle) -{ - bool full; - - /* Check arguments */ - assert(NULL != handle); - - if (USART_TransferGetRxRingBufferLength(handle) == (handle->rxRingBufferSize - 1U)) - { - full = true; - } - else - { - full = false; - } - return full; -} - -/*! - * brief Sets up the RX ring buffer. - * - * This function sets up the RX ring buffer to a specific USART handle. - * - * When the RX ring buffer is used, data received are stored into the ring buffer even when the - * user doesn't call the USART_TransferReceiveNonBlocking() API. If there is already data received - * in the ring buffer, the user can get the received data from the ring buffer directly. - * - * note When using the RX ring buffer, one byte is reserved for internal use. In other - * words, if p ringBufferSize is 32, then only 31 bytes are used for saving data. - * - * param base USART peripheral base address. - * param handle USART handle pointer. - * param ringBuffer Start address of the ring buffer for background receiving. Pass NULL to disable the ring buffer. - * param ringBufferSize size of the ring buffer. - */ -void USART_TransferStartRingBuffer(USART_Type *base, usart_handle_t *handle, uint8_t *ringBuffer, size_t ringBufferSize) -{ - /* Check arguments */ - assert(NULL != base); - assert(NULL != handle); - assert(NULL != ringBuffer); - - /* Setup the ringbuffer address */ - handle->rxRingBuffer = ringBuffer; - handle->rxRingBufferSize = ringBufferSize; - handle->rxRingBufferHead = 0U; - handle->rxRingBufferTail = 0U; - /* ring buffer is ready we can start receiving data */ - base->FIFOINTENSET = USART_FIFOINTENSET_RXLVL_MASK | USART_FIFOINTENSET_RXERR_MASK; -} - -/*! - * brief Aborts the background transfer and uninstalls the ring buffer. - * - * This function aborts the background transfer and uninstalls the ring buffer. - * - * param base USART peripheral base address. - * param handle USART handle pointer. - */ -void USART_TransferStopRingBuffer(USART_Type *base, usart_handle_t *handle) -{ - /* Check arguments */ - assert(NULL != base); - assert(NULL != handle); - - if (handle->rxState == (uint8_t)kUSART_RxIdle) - { - base->FIFOINTENCLR = USART_FIFOINTENCLR_RXLVL_MASK | USART_FIFOINTENCLR_RXERR_MASK; - } - handle->rxRingBuffer = NULL; - handle->rxRingBufferSize = 0U; - handle->rxRingBufferHead = 0U; - handle->rxRingBufferTail = 0U; -} - -/*! - * brief Initializes a USART instance with user configuration structure and peripheral clock. - * - * This function configures the USART module with the user-defined settings. The user can configure the configuration - * structure and also get the default configuration by using the USART_GetDefaultConfig() function. - * Example below shows how to use this API to configure USART. - * code - * usart_config_t usartConfig; - * usartConfig.baudRate_Bps = 115200U; - * usartConfig.parityMode = kUSART_ParityDisabled; - * usartConfig.stopBitCount = kUSART_OneStopBit; - * USART_Init(USART1, &usartConfig, 20000000U); - * endcode - * - * param base USART peripheral base address. - * param config Pointer to user-defined configuration structure. - * param srcClock_Hz USART clock source frequency in HZ. - * retval kStatus_USART_BaudrateNotSupport Baudrate is not support in current clock source. - * retval kStatus_InvalidArgument USART base address is not valid - * retval kStatus_Success Status USART initialize succeed - */ -status_t USART_Init(USART_Type *base, const usart_config_t *config, uint32_t srcClock_Hz) -{ - int result; - - /* check arguments */ - assert(!((NULL == base) || (NULL == config) || (0U == srcClock_Hz))); - if ((NULL == base) || (NULL == config) || (0U == srcClock_Hz)) - { - return kStatus_InvalidArgument; - } - - /* initialize flexcomm to USART mode */ - result = FLEXCOMM_Init(base, FLEXCOMM_PERIPH_USART); - if (kStatus_Success != result) - { - return result; - } - - if (config->enableTx) - { - /* empty and enable txFIFO */ - base->FIFOCFG |= USART_FIFOCFG_EMPTYTX_MASK | USART_FIFOCFG_ENABLETX_MASK; - /* setup trigger level */ - base->FIFOTRIG &= ~(USART_FIFOTRIG_TXLVL_MASK); - base->FIFOTRIG |= USART_FIFOTRIG_TXLVL(config->txWatermark); - /* enable trigger interrupt */ - base->FIFOTRIG |= USART_FIFOTRIG_TXLVLENA_MASK; - } - - /* empty and enable rxFIFO */ - if (config->enableRx) - { - base->FIFOCFG |= USART_FIFOCFG_EMPTYRX_MASK | USART_FIFOCFG_ENABLERX_MASK; - /* setup trigger level */ - base->FIFOTRIG &= ~(USART_FIFOTRIG_RXLVL_MASK); - base->FIFOTRIG |= USART_FIFOTRIG_RXLVL(config->rxWatermark); - /* enable trigger interrupt */ - base->FIFOTRIG |= USART_FIFOTRIG_RXLVLENA_MASK; - } - /* setup configuration and enable USART */ - base->CFG = USART_CFG_PARITYSEL(config->parityMode) | USART_CFG_STOPLEN(config->stopBitCount) | - USART_CFG_DATALEN(config->bitCountPerChar) | USART_CFG_LOOP(config->loopback) | - USART_CFG_SYNCEN((uint32_t)config->syncMode >> 1) | USART_CFG_SYNCMST((uint8_t)config->syncMode) | - USART_CFG_CLKPOL(config->clockPolarity) | USART_CFG_MODE32K(config->enableMode32k) | - USART_CFG_CTSEN(config->enableHardwareFlowControl) | USART_CFG_ENABLE_MASK; - - /* Setup baudrate */ - if (config->enableMode32k) - { - if ((9600U % config->baudRate_Bps) == 0U) - { - base->BRG = 9600U / config->baudRate_Bps; - } - else - { - return kStatus_USART_BaudrateNotSupport; - } - } - else - { - result = USART_SetBaudRate(base, config->baudRate_Bps, srcClock_Hz); - if (kStatus_Success != result) - { - return result; - } - } - /* Setting continuous Clock configuration. used for synchronous mode. */ - USART_EnableContinuousSCLK(base, config->enableContinuousSCLK); - - return kStatus_Success; -} - -/*! - * brief Deinitializes a USART instance. - * - * This function waits for TX complete, disables TX and RX, and disables the USART clock. - * - * param base USART peripheral base address. - */ -void USART_Deinit(USART_Type *base) -{ - /* Check arguments */ - assert(NULL != base); - while (0U == (base->STAT & USART_STAT_TXIDLE_MASK)) - { - } - /* Disable interrupts, disable dma requests, disable peripheral */ - base->FIFOINTENCLR = USART_FIFOINTENCLR_TXERR_MASK | USART_FIFOINTENCLR_RXERR_MASK | USART_FIFOINTENCLR_TXLVL_MASK | - USART_FIFOINTENCLR_RXLVL_MASK; - base->FIFOCFG &= ~(USART_FIFOCFG_DMATX_MASK | USART_FIFOCFG_DMARX_MASK); - base->CFG &= ~(USART_CFG_ENABLE_MASK); -} - -/*! - * brief Gets the default configuration structure. - * - * This function initializes the USART configuration structure to a default value. The default - * values are: - * usartConfig->baudRate_Bps = 115200U; - * usartConfig->parityMode = kUSART_ParityDisabled; - * usartConfig->stopBitCount = kUSART_OneStopBit; - * usartConfig->bitCountPerChar = kUSART_8BitsPerChar; - * usartConfig->loopback = false; - * usartConfig->enableTx = false; - * usartConfig->enableRx = false; - * - * param config Pointer to configuration structure. - */ -void USART_GetDefaultConfig(usart_config_t *config) -{ - /* Check arguments */ - assert(NULL != config); - - /* Initializes the configure structure to zero. */ - (void)memset(config, 0, sizeof(*config)); - - /* Set always all members ! */ - config->baudRate_Bps = 115200U; - config->parityMode = kUSART_ParityDisabled; - config->stopBitCount = kUSART_OneStopBit; - config->bitCountPerChar = kUSART_8BitsPerChar; - config->loopback = false; - config->enableRx = false; - config->enableTx = false; - config->enableMode32k = false; - config->txWatermark = kUSART_TxFifo0; - config->rxWatermark = kUSART_RxFifo1; - config->syncMode = kUSART_SyncModeDisabled; - config->enableContinuousSCLK = false; - config->clockPolarity = kUSART_RxSampleOnFallingEdge; - config->enableHardwareFlowControl = false; -} - -#ifdef FSL_USART_MODIFIED_BY_ARM -#define FRACT_BITS 12U -#define BAUDRATE_DIVIDER_MAX_ERROR 3U - /*! - * brief Sets the USART instance baud rate. - * - * This function configures the USART module baud rate. - * - * USART_SetBaudRate(USART1, 115200U, 20000000U); - * endcode - * - * param base USART peripheral base address. - * param baudrate_Bps USART baudrate to be set. - * param srcClock_Hz USART clock source frequency in HZ (not used) - * retval kStatus_USART_BaudrateNotSupport Baudrate is not support in current clock source. - * retval kStatus_Success Set baudrate succeed. - * retval kStatus_InvalidArgument One or more arguments are invalid. - * - * Requirement: - * FlexComm input clock must be set 48MHz (fro_hf / 2). - */ -status_t USART_SetBaudRate(USART_Type *base, uint32_t baudrate_Bps, uint32_t srcClock_Hz) -{ - uint32_t flexcomm_idx; - uint32_t flexcomm_clock; - uint32_t div, div_calc; /* divider, 12 LSBs are fractonal part */ - uint8_t ovs, ovs_best; /* oversampling */ - uint32_t br_div, br_div_best; /* baudate divider */ - uint8_t mul; - uint32_t delta; - - (void)srcClock_Hz; - - flexcomm_idx = FLEXCOMM_GetInstance(base); - flexcomm_clock = CLOCK_GetFlexCommInputClock(flexcomm_idx); - if (flexcomm_clock != CPU_CLOCK_HZ) - { - /* FlexComm input clock must be 48000000 */ - return kStatus_USART_BaudrateNotSupport; - } - - /* Calculate fixed point divider (12 LSBs are fractional part) */ - div = (uint32_t)(((uint64_t)flexcomm_clock << FRACT_BITS) / (uint64_t)baudrate_Bps); - - if ((div >> FRACT_BITS) < 5U) - { - return kStatus_USART_BaudrateNotSupport; - } - - br_div_best = 0U; - if ((div & ((1 << FRACT_BITS) - 1U)) == 0U) - { - /* Divider has no fractional part */ - for (ovs = 16; ovs > 8U; ovs--) - { - br_div = div / ovs; - if ((br_div & ((1 << FRACT_BITS) - 1U)) == 0U) - { - ovs_best = ovs; - br_div_best = br_div >> FRACT_BITS; - mul = 0U; - break; - } - } - } - - if (br_div_best == 0U) - { - /* Divider has fractional part */ - if ((div >> FRACT_BITS) > 16) - { - /* Oversampling is fixed to 16 */ - ovs_best = 16U; - br_div = (div / ovs_best)>> FRACT_BITS; - if (br_div <= 0xFFFFU) - { - br_div_best = br_div; - } - else - { - return kStatus_USART_BaudrateNotSupport; - } - /* div = (1 + (mul / 256)) * (ovs * br_div) => mul = (256 * div) / (ovs * br_div) - 256 */ - mul = ((((uint64_t)div * (uint64_t)256U) / ((uint64_t)ovs_best * (uint64_t)br_div_best)) >> FRACT_BITS) - 256U; - - } - else - { - /* Baudrate divider is fixed to 1. */ - br_div_best = 1U; - ovs_best = div >> FRACT_BITS; - mul = ((((uint64_t)div * (uint64_t)256U) / ((uint64_t)ovs_best * (uint64_t)br_div_best)) >> FRACT_BITS) - 256U; - } - } - - div_calc = (uint32_t)(((uint64_t)ovs_best * (uint64_t)br_div_best * (uint64_t)mul) << FRACT_BITS) / 256U + (((uint64_t)ovs_best * (uint64_t)br_div_best) << FRACT_BITS); - delta = (div < div_calc) ? (div_calc - div) : (div - div_calc); - if (((delta * 100U) / div) > BAUDRATE_DIVIDER_MAX_ERROR) - { - return kStatus_USART_BaudrateNotSupport; - } - - CLOCK_SetClkDiv(kCLOCK_DivFlexFrg0 + flexcomm_idx, mul, false); - base->OSR = ovs_best - 1U; - base->BRG = br_div_best - 1U; - - return kStatus_Success; -} -#else -/*! - * brief Sets the USART instance baud rate. - * - * This function configures the USART module baud rate. This function is used to update - * the USART module baud rate after the USART module is initialized by the USART_Init. - * code - * USART_SetBaudRate(USART1, 115200U, 20000000U); - * endcode - * - * param base USART peripheral base address. - * param baudrate_Bps USART baudrate to be set. - * param srcClock_Hz USART clock source frequency in HZ. - * retval kStatus_USART_BaudrateNotSupport Baudrate is not support in current clock source. - * retval kStatus_Success Set baudrate succeed. - * retval kStatus_InvalidArgument One or more arguments are invalid. - */ -status_t USART_SetBaudRate(USART_Type *base, uint32_t baudrate_Bps, uint32_t srcClock_Hz) -{ - uint32_t best_diff = (uint32_t)-1, best_osrval = 0xf, best_brgval = (uint32_t)-1; - uint32_t osrval, brgval, diff, baudrate; - - /* check arguments */ - assert(!((NULL == base) || (0U == baudrate_Bps) || (0U == srcClock_Hz))); - if ((NULL == base) || (0U == baudrate_Bps) || (0U == srcClock_Hz)) - { - return kStatus_InvalidArgument; - } - - /* If synchronous master mode is enabled, only configure the BRG value. */ - if ((base->CFG & USART_CFG_SYNCEN_MASK) != 0U) - { - if ((base->CFG & USART_CFG_SYNCMST_MASK) != 0U) - { - brgval = srcClock_Hz / baudrate_Bps; - base->BRG = brgval - 1U; - } - } - else - { - /* - * Smaller values of OSR can make the sampling position within a data bit less accurate and may - * potentially cause more noise errors or incorrect data. - */ - for (osrval = best_osrval; osrval >= 8U; osrval--) - { - brgval = (((srcClock_Hz * 10U) / ((osrval + 1U) * baudrate_Bps)) - 5U) / 10U; - if (brgval > 0xFFFFU) - { - continue; - } - baudrate = srcClock_Hz / ((osrval + 1U) * (brgval + 1U)); - diff = (baudrate_Bps < baudrate) ? (baudrate - baudrate_Bps) : (baudrate_Bps - baudrate); - if (diff < best_diff) - { - best_diff = diff; - best_osrval = osrval; - best_brgval = brgval; - } - } - - /* Check to see if actual baud rate is within 3% of desired baud rate - * based on the best calculated OSR and BRG value */ - baudrate = srcClock_Hz / ((best_osrval + 1U) * (best_brgval + 1U)); - diff = (baudrate_Bps < baudrate) ? (baudrate - baudrate_Bps) : (baudrate_Bps - baudrate); - if (diff > ((baudrate_Bps / 100U) * 3U)) - { - return kStatus_USART_BaudrateNotSupport; - } - - /* value over range */ - if (best_brgval > 0xFFFFU) - { - return kStatus_USART_BaudrateNotSupport; - } - - base->OSR = best_osrval; - base->BRG = best_brgval; - } - - return kStatus_Success; -} -#endif - -/*! - * brief Enable 32 kHz mode which USART uses clock from the RTC oscillator as the clock source. - * - * Please note that in order to use a 32 kHz clock to operate USART properly, the RTC oscillator - * and its 32 kHz output must be manully enabled by user, by calling RTC_Init and setting - * SYSCON_RTCOSCCTRL_EN bit to 1. - * And in 32kHz clocking mode the USART can only work at 9600 baudrate or at the baudrate that - * 9600 can evenly divide, eg: 4800, 3200. - * - * param base USART peripheral base address. - * param baudRate_Bps USART baudrate to be set.. - * param enableMode32k true is 32k mode, false is normal mode. - * param srcClock_Hz USART clock source frequency in HZ. - * retval kStatus_USART_BaudrateNotSupport Baudrate is not support in current clock source. - * retval kStatus_Success Set baudrate succeed. - * retval kStatus_InvalidArgument One or more arguments are invalid. - */ -status_t USART_Enable32kMode(USART_Type *base, uint32_t baudRate_Bps, bool enableMode32k, uint32_t srcClock_Hz) -{ -#ifdef FSL_USART_MODIFIED_BY_ARM - (void)base; - (void)baudRate_Bps; - (void)enableMode32k; - (void)srcClock_Hz; - - return kStatus_USART_BaudrateNotSupport; -#else - status_t result = kStatus_Success; - base->CFG &= ~(USART_CFG_ENABLE_MASK); - if (enableMode32k) - { - base->CFG |= USART_CFG_MODE32K_MASK; - if ((9600U % baudRate_Bps) == 0U) - { - base->BRG = 9600U / baudRate_Bps - 1U; - } - else - { - return kStatus_USART_BaudrateNotSupport; - } - } - else - { - base->CFG &= ~(USART_CFG_MODE32K_MASK); - result = USART_SetBaudRate(base, baudRate_Bps, srcClock_Hz); - if (kStatus_Success != result) - { - return result; - } - } - base->CFG |= USART_CFG_ENABLE_MASK; - return result; -#endif -} - -/*! - * brief Enable 9-bit data mode for USART. - * - * This function set the 9-bit mode for USART module. The 9th bit is not used for parity thus can be modified by user. - * - * param base USART peripheral base address. - * param enable true to enable, false to disable. - */ -void USART_Enable9bitMode(USART_Type *base, bool enable) -{ - assert(base != NULL); - - uint32_t temp = 0U; - - if (enable) - { - /* Set USART 9-bit mode, disable parity. */ - temp = base->CFG & ~((uint32_t)USART_CFG_DATALEN_MASK | (uint32_t)USART_CFG_PARITYSEL_MASK); - temp |= (uint32_t)USART_CFG_DATALEN(0x2U); - base->CFG = temp; - } - else - { - /* Set USART to 8-bit mode. */ - base->CFG &= ~((uint32_t)USART_CFG_DATALEN_MASK); - base->CFG |= (uint32_t)USART_CFG_DATALEN(0x1U); - } -} - -/*! - * brief Transmit an address frame in 9-bit data mode. - * - * param base USART peripheral base address. - * param address USART slave address. - */ -void USART_SendAddress(USART_Type *base, uint8_t address) -{ - assert(base != NULL); - base->FIFOWR = ((uint32_t)address | 0x100UL); -} - -/*! - * brief Writes to the TX register using a blocking method. - * - * This function polls the TX register, waits for the TX register to be empty or for the TX FIFO - * to have room and writes data to the TX buffer. - * - * param base USART peripheral base address. - * param data Start address of the data to write. - * param length Size of the data to write. - * retval kStatus_USART_Timeout Transmission timed out and was aborted. - * retval kStatus_InvalidArgument Invalid argument. - * retval kStatus_Success Successfully wrote all data. - */ -status_t USART_WriteBlocking(USART_Type *base, const uint8_t *data, size_t length) -{ - /* Check arguments */ - assert(!((NULL == base) || (NULL == data))); -#if UART_RETRY_TIMES - uint32_t waitTimes; -#endif - if ((NULL == base) || (NULL == data)) - { - return kStatus_InvalidArgument; - } - /* Check whether txFIFO is enabled */ - if (0U == (base->FIFOCFG & USART_FIFOCFG_ENABLETX_MASK)) - { - return kStatus_InvalidArgument; - } - for (; length > 0U; length--) - { - /* Loop until txFIFO get some space for new data */ -#if UART_RETRY_TIMES - waitTimes = UART_RETRY_TIMES; - while ((0U == (base->FIFOSTAT & USART_FIFOSTAT_TXNOTFULL_MASK)) && (--waitTimes != 0U)) -#else - while (0U == (base->FIFOSTAT & USART_FIFOSTAT_TXNOTFULL_MASK)) -#endif - { - } -#if UART_RETRY_TIMES - if (0U == waitTimes) - { - return kStatus_USART_Timeout; - } -#endif - base->FIFOWR = *data; - data++; - } - /* Wait to finish transfer */ -#if UART_RETRY_TIMES - waitTimes = UART_RETRY_TIMES; - while ((0U == (base->STAT & USART_STAT_TXIDLE_MASK)) && (--waitTimes != 0U)) -#else - while (0U == (base->STAT & USART_STAT_TXIDLE_MASK)) -#endif - { - } -#if UART_RETRY_TIMES - if (0U == waitTimes) - { - return kStatus_USART_Timeout; - } -#endif - return kStatus_Success; -} - -/*! - * brief Read RX data register using a blocking method. - * - * This function polls the RX register, waits for the RX register to be full or for RX FIFO to - * have data and read data from the TX register. - * - * param base USART peripheral base address. - * param data Start address of the buffer to store the received data. - * param length Size of the buffer. - * retval kStatus_USART_FramingError Receiver overrun happened while receiving data. - * retval kStatus_USART_ParityError Noise error happened while receiving data. - * retval kStatus_USART_NoiseError Framing error happened while receiving data. - * retval kStatus_USART_RxError Overflow or underflow rxFIFO happened. - * retval kStatus_USART_Timeout Transmission timed out and was aborted. - * retval kStatus_Success Successfully received all data. - */ -status_t USART_ReadBlocking(USART_Type *base, uint8_t *data, size_t length) -{ - uint32_t statusFlag; - status_t status = kStatus_Success; -#if UART_RETRY_TIMES - uint32_t waitTimes; -#endif - - /* check arguments */ - assert(!((NULL == base) || (NULL == data))); - if ((NULL == base) || (NULL == data)) - { - return kStatus_InvalidArgument; - } - - /* Check whether rxFIFO is enabled */ - if ((base->FIFOCFG & USART_FIFOCFG_ENABLERX_MASK) == 0U) - { - return kStatus_Fail; - } - for (; length > 0U; length--) - { - /* loop until rxFIFO have some data to read */ -#if UART_RETRY_TIMES - waitTimes = UART_RETRY_TIMES; - while (((base->FIFOSTAT & USART_FIFOSTAT_RXNOTEMPTY_MASK) == 0U) && (--waitTimes != 0U)) -#else - while ((base->FIFOSTAT & USART_FIFOSTAT_RXNOTEMPTY_MASK) == 0U) -#endif - { - } -#if UART_RETRY_TIMES - if (waitTimes == 0U) - { - status = kStatus_USART_Timeout; - break; - } -#endif - /* check rxFIFO statusFlag */ - if ((base->FIFOSTAT & USART_FIFOSTAT_RXERR_MASK) != 0U) - { - base->FIFOCFG |= USART_FIFOCFG_EMPTYRX_MASK; - base->FIFOSTAT |= USART_FIFOSTAT_RXERR_MASK; - status = kStatus_USART_RxError; - break; - } - /* check receive statusFlag */ - statusFlag = base->STAT; - /* Clear all status flags */ - base->STAT |= statusFlag; - if ((statusFlag & USART_STAT_PARITYERRINT_MASK) != 0U) - { - status = kStatus_USART_ParityError; - } - if ((statusFlag & USART_STAT_FRAMERRINT_MASK) != 0U) - { - status = kStatus_USART_FramingError; - } - if ((statusFlag & USART_STAT_RXNOISEINT_MASK) != 0U) - { - status = kStatus_USART_NoiseError; - } - - if (kStatus_Success == status) - { - *data = (uint8_t)base->FIFORD; - data++; - } - else - { - break; - } - } - return status; -} - -/*! - * brief Initializes the USART handle. - * - * This function initializes the USART handle which can be used for other USART - * transactional APIs. Usually, for a specified USART instance, - * call this API once to get the initialized handle. - * - * param base USART peripheral base address. - * param handle USART handle pointer. - * param callback The callback function. - * param userData The parameter of the callback function. - */ -status_t USART_TransferCreateHandle(USART_Type *base, - usart_handle_t *handle, - usart_transfer_callback_t callback, - void *userData) -{ - /* Check 'base' */ - assert(!((NULL == base) || (NULL == handle))); - - uint32_t instance = 0; - usart_to_flexcomm_t handler; - handler.usart_master_handler = USART_TransferHandleIRQ; - - if ((NULL == base) || (NULL == handle)) - { - return kStatus_InvalidArgument; - } - - instance = USART_GetInstance(base); - - (void)memset(handle, 0, sizeof(*handle)); - /* Set the TX/RX state. */ - handle->rxState = (uint8_t)kUSART_RxIdle; - handle->txState = (uint8_t)kUSART_TxIdle; - /* Set the callback and user data. */ - handle->callback = callback; - handle->userData = userData; - handle->rxWatermark = (uint8_t)USART_FIFOTRIG_RXLVL_GET(base); - handle->txWatermark = (uint8_t)USART_FIFOTRIG_TXLVL_GET(base); - - FLEXCOMM_SetIRQHandler(base, handler.flexcomm_handler, handle); - - /* Enable interrupt in NVIC. */ - (void)EnableIRQ(s_usartIRQ[instance]); - - return kStatus_Success; -} - -/*! - * brief Transmits a buffer of data using the interrupt method. - * - * This function sends data using an interrupt method. This is a non-blocking function, which - * returns directly without waiting for all data to be written to the TX register. When - * all data is written to the TX register in the IRQ handler, the USART driver calls the callback - * function and passes the ref kStatus_USART_TxIdle as status parameter. - * - * note The kStatus_USART_TxIdle is passed to the upper layer when all data is written - * to the TX register. However it does not ensure that all data are sent out. Before disabling the TX, - * check the kUSART_TransmissionCompleteFlag to ensure that the TX is finished. - * - * param base USART peripheral base address. - * param handle USART handle pointer. - * param xfer USART transfer structure. See #usart_transfer_t. - * retval kStatus_Success Successfully start the data transmission. - * retval kStatus_USART_TxBusy Previous transmission still not finished, data not all written to TX register yet. - * retval kStatus_InvalidArgument Invalid argument. - */ -status_t USART_TransferSendNonBlocking(USART_Type *base, usart_handle_t *handle, usart_transfer_t *xfer) -{ - /* Check arguments */ - assert(!((NULL == base) || (NULL == handle) || (NULL == xfer))); - if ((NULL == base) || (NULL == handle) || (NULL == xfer)) - { - return kStatus_InvalidArgument; - } - /* Check xfer members */ - assert(!((0U == xfer->dataSize) || (NULL == xfer->txData))); - if ((0U == xfer->dataSize) || (NULL == xfer->txData)) - { - return kStatus_InvalidArgument; - } - - /* Return error if current TX busy. */ - if ((uint8_t)kUSART_TxBusy == handle->txState) - { - return kStatus_USART_TxBusy; - } - else - { - /* Disable IRQ when configuring transfer handle, in case interrupt occurs during the process and messes up the - * handle value. */ - uint32_t interruptMask = USART_GetEnabledInterrupts(base); - USART_DisableInterrupts(base, interruptMask); - handle->txData = xfer->txData; - handle->txDataSize = xfer->dataSize; - handle->txDataSizeAll = xfer->dataSize; - handle->txState = (uint8_t)kUSART_TxBusy; - /* Enable transmiter interrupt and the previously disabled interrupt. */ - USART_EnableInterrupts(base, interruptMask | (uint32_t)kUSART_TxLevelInterruptEnable); - } - return kStatus_Success; -} - -/*! - * brief Aborts the interrupt-driven data transmit. - * - * This function aborts the interrupt driven data sending. The user can get the remainBtyes to find out - * how many bytes are still not sent out. - * - * param base USART peripheral base address. - * param handle USART handle pointer. - */ -void USART_TransferAbortSend(USART_Type *base, usart_handle_t *handle) -{ - assert(NULL != handle); - - /* Disable interrupts */ - USART_DisableInterrupts(base, (uint32_t)kUSART_TxLevelInterruptEnable); - /* Empty txFIFO */ - base->FIFOCFG |= USART_FIFOCFG_EMPTYTX_MASK; - - handle->txDataSize = 0U; - handle->txState = (uint8_t)kUSART_TxIdle; -} - -/*! - * brief Get the number of bytes that have been sent out to bus. - * - * This function gets the number of bytes that have been sent out to bus by interrupt method. - * - * param base USART peripheral base address. - * param handle USART handle pointer. - * param count Send bytes count. - * retval kStatus_NoTransferInProgress No send in progress. - * retval kStatus_InvalidArgument Parameter is invalid. - * retval kStatus_Success Get successfully through the parameter \p count; - */ -status_t USART_TransferGetSendCount(USART_Type *base, usart_handle_t *handle, uint32_t *count) -{ - assert(NULL != handle); - assert(NULL != count); - - if ((uint8_t)kUSART_TxIdle == handle->txState) - { - return kStatus_NoTransferInProgress; - } - - *count = handle->txDataSizeAll - handle->txDataSize - - ((base->FIFOSTAT & USART_FIFOSTAT_TXLVL_MASK) >> USART_FIFOSTAT_TXLVL_SHIFT); - - return kStatus_Success; -} - -/*! - * brief Receives a buffer of data using an interrupt method. - * - * This function receives data using an interrupt method. This is a non-blocking function, which - * returns without waiting for all data to be received. - * If the RX ring buffer is used and not empty, the data in the ring buffer is copied and - * the parameter p receivedBytes shows how many bytes are copied from the ring buffer. - * After copying, if the data in the ring buffer is not enough to read, the receive - * request is saved by the USART driver. When the new data arrives, the receive request - * is serviced first. When all data is received, the USART driver notifies the upper layer - * through a callback function and passes the status parameter ref kStatus_USART_RxIdle. - * For example, the upper layer needs 10 bytes but there are only 5 bytes in the ring buffer. - * The 5 bytes are copied to the xfer->data and this function returns with the - * parameter p receivedBytes set to 5. For the left 5 bytes, newly arrived data is - * saved from the xfer->data[5]. When 5 bytes are received, the USART driver notifies the upper layer. - * If the RX ring buffer is not enabled, this function enables the RX and RX interrupt - * to receive data to the xfer->data. When all data is received, the upper layer is notified. - * - * param base USART peripheral base address. - * param handle USART handle pointer. - * param xfer USART transfer structure, see #usart_transfer_t. - * param receivedBytes Bytes received from the ring buffer directly. - * retval kStatus_Success Successfully queue the transfer into transmit queue. - * retval kStatus_USART_RxBusy Previous receive request is not finished. - * retval kStatus_InvalidArgument Invalid argument. - */ -status_t USART_TransferReceiveNonBlocking(USART_Type *base, - usart_handle_t *handle, - usart_transfer_t *xfer, - size_t *receivedBytes) -{ - uint32_t i; - /* How many bytes to copy from ring buffer to user memory. */ - size_t bytesToCopy = 0U; - /* How many bytes to receive. */ - size_t bytesToReceive; - /* How many bytes currently have received. */ - size_t bytesCurrentReceived; - uint32_t interruptMask = 0U; - - /* Check arguments */ - assert(!((NULL == base) || (NULL == handle) || (NULL == xfer))); - if ((NULL == base) || (NULL == handle) || (NULL == xfer)) - { - return kStatus_InvalidArgument; - } - /* Check xfer members */ - assert(!((0U == xfer->dataSize) || (NULL == xfer->rxData))); - if ((0U == xfer->dataSize) || (NULL == xfer->rxData)) - { - return kStatus_InvalidArgument; - } - - /* Enable address detect when address match is enabled. */ - if ((base->CFG & (uint32_t)USART_CFG_AUTOADDR_MASK) != 0U) - { - base->CTL |= (uint32_t)USART_CTL_ADDRDET_MASK; - } - - /* How to get data: - 1. If RX ring buffer is not enabled, then save xfer->data and xfer->dataSize - to uart handle, enable interrupt to store received data to xfer->data. When - all data received, trigger callback. - 2. If RX ring buffer is enabled and not empty, get data from ring buffer first. - If there are enough data in ring buffer, copy them to xfer->data and return. - If there are not enough data in ring buffer, copy all of them to xfer->data, - save the xfer->data remained empty space to uart handle, receive data - to this empty space and trigger callback when finished. */ - if ((uint8_t)kUSART_RxBusy == handle->rxState) - { - return kStatus_USART_RxBusy; - } - else - { - bytesToReceive = xfer->dataSize; - bytesCurrentReceived = 0U; - /* If RX ring buffer is used. */ - if (handle->rxRingBuffer != NULL) - { - /* Disable IRQ, protect ring buffer. */ - interruptMask = USART_GetEnabledInterrupts(base); - USART_DisableInterrupts(base, interruptMask); - - /* How many bytes in RX ring buffer currently. */ - bytesToCopy = USART_TransferGetRxRingBufferLength(handle); - if (bytesToCopy != 0U) - { - bytesToCopy = MIN(bytesToReceive, bytesToCopy); - bytesToReceive -= bytesToCopy; - /* Copy data from ring buffer to user memory. */ - for (i = 0U; i < bytesToCopy; i++) - { - xfer->rxData[bytesCurrentReceived++] = handle->rxRingBuffer[handle->rxRingBufferTail]; - /* Wrap to 0. Not use modulo (%) because it might be large and slow. */ - if ((size_t)handle->rxRingBufferTail + 1U == handle->rxRingBufferSize) - { - handle->rxRingBufferTail = 0U; - } - else - { - handle->rxRingBufferTail++; - } - } - } - /* If ring buffer does not have enough data, still need to read more data. */ - if (bytesToReceive != 0U) - { - /* No data in ring buffer, save the request to UART handle. */ - handle->rxData = xfer->rxData + bytesCurrentReceived; - handle->rxDataSize = bytesToReceive; - handle->rxDataSizeAll = xfer->dataSize; - handle->rxState = (uint8_t)kUSART_RxBusy; - } - /* Re-enable IRQ. */ - USART_EnableInterrupts(base, interruptMask); - /* Call user callback since all data are received. */ - if (0U == bytesToReceive) - { - if (handle->callback != NULL) - { - handle->callback(base, handle, kStatus_USART_RxIdle, handle->userData); - } - } - } - /* Ring buffer not used. */ - else - { - /* Disable IRQ when configuring transfer handle, in case interrupt occurs during the process and messes up - * the handle value. */ - interruptMask = USART_GetEnabledInterrupts(base); - USART_DisableInterrupts(base, interruptMask); - handle->rxData = xfer->rxData + bytesCurrentReceived; - handle->rxDataSize = bytesToReceive; - handle->rxDataSizeAll = bytesToReceive; - handle->rxState = (uint8_t)kUSART_RxBusy; - - /* Enable RX interrupt. */ - base->FIFOINTENSET = USART_FIFOINTENSET_RXLVL_MASK; - /* Re-enable IRQ. */ - USART_EnableInterrupts(base, interruptMask); - } - /* Return the how many bytes have read. */ - if (receivedBytes != NULL) - { - *receivedBytes = bytesCurrentReceived; - } - } - return kStatus_Success; -} - -/*! - * brief Aborts the interrupt-driven data receiving. - * - * This function aborts the interrupt-driven data receiving. The user can get the remainBytes to find out - * how many bytes not received yet. - * - * param base USART peripheral base address. - * param handle USART handle pointer. - */ -void USART_TransferAbortReceive(USART_Type *base, usart_handle_t *handle) -{ - assert(NULL != handle); - - /* Only abort the receive to handle->rxData, the RX ring buffer is still working. */ - if (NULL == handle->rxRingBuffer) - { - /* Disable interrupts */ - USART_DisableInterrupts(base, (uint32_t)kUSART_RxLevelInterruptEnable); - /* Empty rxFIFO */ - base->FIFOCFG |= USART_FIFOCFG_EMPTYRX_MASK; - } - - handle->rxDataSize = 0U; - handle->rxState = (uint8_t)kUSART_RxIdle; -} - -/*! - * brief Get the number of bytes that have been received. - * - * This function gets the number of bytes that have been received. - * - * param base USART peripheral base address. - * param handle USART handle pointer. - * param count Receive bytes count. - * retval kStatus_NoTransferInProgress No receive in progress. - * retval kStatus_InvalidArgument Parameter is invalid. - * retval kStatus_Success Get successfully through the parameter \p count; - */ -status_t USART_TransferGetReceiveCount(USART_Type *base, usart_handle_t *handle, uint32_t *count) -{ - assert(NULL != handle); - assert(NULL != count); - - if ((uint8_t)kUSART_RxIdle == handle->rxState) - { - return kStatus_NoTransferInProgress; - } - - *count = handle->rxDataSizeAll - handle->rxDataSize; - - return kStatus_Success; -} - -/*! - * brief USART IRQ handle function. - * - * This function handles the USART transmit and receive IRQ request. - * - * param base USART peripheral base address. - * param handle USART handle pointer. - */ -void USART_TransferHandleIRQ(USART_Type *base, usart_handle_t *handle) -{ - /* Check arguments */ - assert((NULL != base) && (NULL != handle)); - - bool receiveEnabled = ((handle->rxDataSize != 0U) || (handle->rxRingBuffer != NULL)); - bool sendEnabled = (handle->txDataSize != 0U); - uint8_t rxdata; - size_t tmpsize; - - /* If RX overrun. */ - if ((base->FIFOSTAT & USART_FIFOSTAT_RXERR_MASK) != 0U) - { - /* Clear rx error state. */ - base->FIFOSTAT |= USART_FIFOSTAT_RXERR_MASK; - /* clear rxFIFO */ - base->FIFOCFG |= USART_FIFOCFG_EMPTYRX_MASK; - /* Trigger callback. */ - if (handle->callback != NULL) - { - handle->callback(base, handle, kStatus_USART_RxError, handle->userData); - } - } - while ((receiveEnabled && ((base->FIFOSTAT & USART_FIFOSTAT_RXNOTEMPTY_MASK) != 0U)) || - (sendEnabled && ((base->FIFOSTAT & USART_FIFOSTAT_TXNOTFULL_MASK) != 0U))) - { - /* Receive data */ - if (receiveEnabled && ((base->FIFOSTAT & USART_FIFOSTAT_RXNOTEMPTY_MASK) != 0U)) - { - /* Clear address detect when RXFIFO has data. */ - base->CTL &= ~(uint32_t)USART_CTL_ADDRDET_MASK; - /* Receive to app bufffer if app buffer is present */ - if (handle->rxDataSize != 0U) - { - rxdata = (uint8_t)base->FIFORD; - *handle->rxData = rxdata; - handle->rxDataSize--; - handle->rxData++; - receiveEnabled = ((handle->rxDataSize != 0U) || (handle->rxRingBuffer != NULL)); - if (0U == handle->rxDataSize) - { - if (NULL == handle->rxRingBuffer) - { - base->FIFOINTENCLR = USART_FIFOINTENCLR_RXLVL_MASK | USART_FIFOINTENSET_RXERR_MASK; - } - handle->rxState = (uint8_t)kUSART_RxIdle; - if (handle->callback != NULL) - { - handle->callback(base, handle, kStatus_USART_RxIdle, handle->userData); - } - } - } - /* Otherwise receive to ring buffer if ring buffer is present */ - else - { - if (handle->rxRingBuffer != NULL) - { - /* If RX ring buffer is full, trigger callback to notify over run. */ - if (USART_TransferIsRxRingBufferFull(handle)) - { - if (handle->callback != NULL) - { - handle->callback(base, handle, kStatus_USART_RxRingBufferOverrun, handle->userData); - } - } - /* If ring buffer is still full after callback function, the oldest data is overridden. */ - if (USART_TransferIsRxRingBufferFull(handle)) - { - /* Increase handle->rxRingBufferTail to make room for new data. */ - if ((size_t)handle->rxRingBufferTail + 1U == handle->rxRingBufferSize) - { - handle->rxRingBufferTail = 0U; - } - else - { - handle->rxRingBufferTail++; - } - } - /* Read data. */ - rxdata = (uint8_t)base->FIFORD; - handle->rxRingBuffer[handle->rxRingBufferHead] = rxdata; - /* Increase handle->rxRingBufferHead. */ - if ((size_t)handle->rxRingBufferHead + 1U == handle->rxRingBufferSize) - { - handle->rxRingBufferHead = 0U; - } - else - { - handle->rxRingBufferHead++; - } - } - } - } - /* Send data */ - if (sendEnabled && ((base->FIFOSTAT & USART_FIFOSTAT_TXNOTFULL_MASK) != 0U)) - { - base->FIFOWR = *handle->txData; - handle->txDataSize--; - handle->txData++; - sendEnabled = handle->txDataSize != 0U; - if (!sendEnabled) - { - base->FIFOINTENCLR = USART_FIFOINTENCLR_TXLVL_MASK; - - base->INTENSET = USART_INTENSET_TXIDLEEN_MASK; - } - } - } - - /* Tx idle and the interrupt is enabled. */ - if ((0U != (base->INTENSET & USART_INTENSET_TXIDLEEN_MASK)) && (0U != (base->INTSTAT & USART_INTSTAT_TXIDLE_MASK))) - { - /* Set txState to idle only when all data has been sent out to bus. */ - handle->txState = (uint8_t)kUSART_TxIdle; - /* Disable tx idle interrupt */ - base->INTENCLR = USART_INTENCLR_TXIDLECLR_MASK; - - /* Trigger callback. */ - if (handle->callback != NULL) - { - handle->callback(base, handle, kStatus_USART_TxIdle, handle->userData); - } - } - - /* ring buffer is not used */ - if (NULL == handle->rxRingBuffer) - { - tmpsize = handle->rxDataSize; - - /* restore if rx transfer ends and rxLevel is different from default value */ - if ((tmpsize == 0U) && (USART_FIFOTRIG_RXLVL_GET(base) != handle->rxWatermark)) - { - base->FIFOTRIG = - (base->FIFOTRIG & (~USART_FIFOTRIG_RXLVL_MASK)) | USART_FIFOTRIG_RXLVL(handle->rxWatermark); - } - /* decrease level if rx transfer is bellow */ - if ((tmpsize != 0U) && (tmpsize < (USART_FIFOTRIG_RXLVL_GET(base) + 1U))) - { - base->FIFOTRIG = (base->FIFOTRIG & (~USART_FIFOTRIG_RXLVL_MASK)) | (USART_FIFOTRIG_RXLVL(tmpsize - 1U)); - } - } -} diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/main.c b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/main.c deleted file mode 100644 index 649d096..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/main.c +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyright (c) 2013-2021 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ---------------------------------------------------------------------- - * - * $Date: 15. September 2021 - * $Revision: V2.0.0 - * - * Project: CMSIS-DAP Examples MCU-LINK - * Title: main.c CMSIS-DAP Main module for MCU-LINK - * - *---------------------------------------------------------------------------*/ - -#include "cmsis_os2.h" -#include "osObjects.h" -#include "rl_usb.h" -#include "DAP_config.h" -#include "DAP.h" - -#include "clock_config.h" -#include "pin_mux.h" -#include "fsl_dma.h" - -// Callbacks for USART0 Driver -uint32_t USART0_GetFreq (void) { return CLOCK_GetFlexCommClkFreq(0); } -void USART0_InitPins (void) { /* Done in BOARD_InitBootPins function */ } -void USART0_DeinitPins (void) { /* Not implemented */ } - -// Callbacks for USART3 Driver -uint32_t USART3_GetFreq (void) { return CLOCK_GetFlexCommClkFreq(3); } -void USART3_InitPins (void) { /* Done in BOARD_InitBootPins function */ } -void USART3_DeinitPins (void) { /* Not implemented */ } - -// Application Main program -__NO_RETURN void app_main (void *argument) { - (void)argument; - - BOARD_InitBootPins(); - BOARD_InitBootClocks(); - - DMA_Init(DMA0); - - DAP_Setup(); // DAP Setup - - USBD_Initialize(0U); // USB Device Initialization - char *ser_num; - ser_num = GetSerialNum(); - if (ser_num != NULL) { - USBD_SetSerialNumber(0U, ser_num); // Update Serial Number - } - - USBD_Connect(0U); // USB Device Connect - - while (!USBD_Configured(0U)); // Wait for USB Device to configure - - LED_CONNECTED_OUT(1U); // Turn on Debugger Connected LED - LED_RUNNING_OUT(1U); // Turn on Target Running LED - Delayms(500U); // Wait for 500ms - LED_RUNNING_OUT(0U); // Turn off Target Running LED - LED_CONNECTED_OUT(0U); // Turn off Debugger Connected LED - - // Create DAP Thread - DAP_ThreadId = osThreadNew(DAP_Thread, NULL, &DAP_ThreadAttr); - - // Create SWO Thread - SWO_ThreadId = osThreadNew(SWO_Thread, NULL, &SWO_ThreadAttr); - - osDelay(osWaitForever); - for (;;) {} -} - -int main (void) { - - SystemCoreClockUpdate(); - osKernelInitialize(); // Initialize CMSIS-RTOS - osThreadNew(app_main, NULL, NULL); // Create application main thread - if (osKernelGetState() == osKernelReady) { - osKernelStart(); // Start thread execution - } - - for (;;) {} -} diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/osObjects.h b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/osObjects.h deleted file mode 100644 index c2be7a4..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/osObjects.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (c) 2013-2017 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ---------------------------------------------------------------------- - * - * $Date: 15. September 2021 - * $Revision: V2.0.0 - * - * Project: CMSIS-DAP Examples MCU-LINK - * Title: osObjects.h CMSIS-DAP RTOS2 Objects for MCU-LINK - * - *---------------------------------------------------------------------------*/ - -#ifndef __osObjects_h__ -#define __osObjects_h__ - -#include "cmsis_os2.h" - -#ifdef osObjectsExternal -extern osThreadId_t DAP_ThreadId; -extern osThreadId_t SWO_ThreadId; -#else -static const osThreadAttr_t DAP_ThreadAttr = { - .priority = osPriorityNormal -}; -static const osThreadAttr_t SWO_ThreadAttr = { - .priority = osPriorityAboveNormal -}; -extern osThreadId_t DAP_ThreadId; - osThreadId_t DAP_ThreadId; -extern osThreadId_t SWO_ThreadId; - osThreadId_t SWO_ThreadId; -#endif - -extern void DAP_Thread (void *argument); -extern void SWO_Thread (void *argument); - -extern void app_main (void *argument); - -#endif /* __osObjects_h__ */ diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/ser_num.c b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/ser_num.c deleted file mode 100644 index 53513c2..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/ser_num.c +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright (c) 2021 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ---------------------------------------------------------------------- - * - * $Date: 15. September 2021 - * $Revision: V1.0.0 - * - * Project: CMSIS-DAP Examples MCU-LINK - * Title: ser_num.c CMSIS-DAP Serial Number module for MCU-LINK - * - *---------------------------------------------------------------------------*/ - -#include -#include -#include - -#include "ser_num.h" -#include "fsl_iap_ffr.h" - -// Serial Number -#define SER_NUM_PREFIX "00A1" -static char SerialNum[32]; - -/** - \brief Calculate 32-bit CRC (polynom: 0x04C11DB7, init value: 0xFFFFFFFF) - \param[in] data pointer to data - \param[in] len data length (in bytes) - \return CRC32 value -*/ -static uint32_t crc32 (const uint8_t *data, uint32_t len) { - uint32_t crc32; - uint32_t n; - - crc32 = 0xFFFFFFFFU; - while (len != 0U) { - crc32 ^= ((uint32_t)*data++) << 24U; - for (n = 8U; n; n--) { - if (crc32 & 0x80000000U) { - crc32 <<= 1U; - crc32 ^= 0x04C11DB7U; - } else { - crc32 <<= 1U; - } - } - len--; - } - return (crc32); -} - -/** - \brief Get serial number string. First characters are fixed. Last eight - characters are Unique (calculated from devices's unique ID) - \return Serial number string or NULL (callculation of unique ID failed) -*/ -char *GetSerialNum (void) { - flash_config_t flash_config; - uint8_t uuid_buf[16]; - uint32_t uid; - char *str; - - str = NULL; - if (FFR_Init(&flash_config) == kStatus_Success) { - if (FFR_GetUUID(&flash_config, uuid_buf) == kStatus_Success) { - uid = crc32(uuid_buf, 16U); - snprintf(SerialNum, sizeof(SerialNum), "%s%08X", SER_NUM_PREFIX, uid); - str = SerialNum; - } - } - - return (str); -} diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/ser_num.h b/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/ser_num.h deleted file mode 100644 index 92586a1..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Examples/MCU-LINK/ser_num.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright (c) 2021 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ---------------------------------------------------------------------- - * - * $Date: 15. September 2021 - * $Revision: V1.0.0 - * - * Project: CMSIS-DAP Examples MCU-LINK - * Title: ser_num.h CMSIS-DAP Serial Number module for MCU-LINK - * - *---------------------------------------------------------------------------*/ - -#ifndef __SER_NUM_H__ -#define __SER_NUM_H__ - -char *GetSerialNum (void); - -#endif /* __SER_NUM_H__ */ diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Include/DAP.h b/external/CMSIS_5/CMSIS/DAP/Firmware/Include/DAP.h deleted file mode 100644 index f226dd5..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Include/DAP.h +++ /dev/null @@ -1,367 +0,0 @@ -/* - * Copyright (c) 2013-2022 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ---------------------------------------------------------------------- - * - * $Date: 5. December 2022 - * $Revision: V2.1.2 - * - * Project: CMSIS-DAP Include - * Title: DAP.h Definitions - * - *---------------------------------------------------------------------------*/ - -#ifndef __DAP_H__ -#define __DAP_H__ - - -// DAP Firmware Version -#ifdef DAP_FW_V1 -#define DAP_FW_VER "1.3.0" -#else -#define DAP_FW_VER "2.1.2" -#endif - -// DAP Command IDs -#define ID_DAP_Info 0x00U -#define ID_DAP_HostStatus 0x01U -#define ID_DAP_Connect 0x02U -#define ID_DAP_Disconnect 0x03U -#define ID_DAP_TransferConfigure 0x04U -#define ID_DAP_Transfer 0x05U -#define ID_DAP_TransferBlock 0x06U -#define ID_DAP_TransferAbort 0x07U -#define ID_DAP_WriteABORT 0x08U -#define ID_DAP_Delay 0x09U -#define ID_DAP_ResetTarget 0x0AU -#define ID_DAP_SWJ_Pins 0x10U -#define ID_DAP_SWJ_Clock 0x11U -#define ID_DAP_SWJ_Sequence 0x12U -#define ID_DAP_SWD_Configure 0x13U -#define ID_DAP_SWD_Sequence 0x1DU -#define ID_DAP_JTAG_Sequence 0x14U -#define ID_DAP_JTAG_Configure 0x15U -#define ID_DAP_JTAG_IDCODE 0x16U -#define ID_DAP_SWO_Transport 0x17U -#define ID_DAP_SWO_Mode 0x18U -#define ID_DAP_SWO_Baudrate 0x19U -#define ID_DAP_SWO_Control 0x1AU -#define ID_DAP_SWO_Status 0x1BU -#define ID_DAP_SWO_ExtendedStatus 0x1EU -#define ID_DAP_SWO_Data 0x1CU -#define ID_DAP_UART_Transport 0x1FU -#define ID_DAP_UART_Configure 0x20U -#define ID_DAP_UART_Control 0x22U -#define ID_DAP_UART_Status 0x23U -#define ID_DAP_UART_Transfer 0x21U - -#define ID_DAP_QueueCommands 0x7EU -#define ID_DAP_ExecuteCommands 0x7FU - -// DAP Vendor Command IDs -#define ID_DAP_Vendor0 0x80U -#define ID_DAP_Vendor1 0x81U -#define ID_DAP_Vendor2 0x82U -#define ID_DAP_Vendor3 0x83U -#define ID_DAP_Vendor4 0x84U -#define ID_DAP_Vendor5 0x85U -#define ID_DAP_Vendor6 0x86U -#define ID_DAP_Vendor7 0x87U -#define ID_DAP_Vendor8 0x88U -#define ID_DAP_Vendor9 0x89U -#define ID_DAP_Vendor10 0x8AU -#define ID_DAP_Vendor11 0x8BU -#define ID_DAP_Vendor12 0x8CU -#define ID_DAP_Vendor13 0x8DU -#define ID_DAP_Vendor14 0x8EU -#define ID_DAP_Vendor15 0x8FU -#define ID_DAP_Vendor16 0x90U -#define ID_DAP_Vendor17 0x91U -#define ID_DAP_Vendor18 0x92U -#define ID_DAP_Vendor19 0x93U -#define ID_DAP_Vendor20 0x94U -#define ID_DAP_Vendor21 0x95U -#define ID_DAP_Vendor22 0x96U -#define ID_DAP_Vendor23 0x97U -#define ID_DAP_Vendor24 0x98U -#define ID_DAP_Vendor25 0x99U -#define ID_DAP_Vendor26 0x9AU -#define ID_DAP_Vendor27 0x9BU -#define ID_DAP_Vendor28 0x9CU -#define ID_DAP_Vendor29 0x9DU -#define ID_DAP_Vendor30 0x9EU -#define ID_DAP_Vendor31 0x9FU - -#define ID_DAP_Invalid 0xFFU - -// DAP Status Code -#define DAP_OK 0U -#define DAP_ERROR 0xFFU - -// DAP ID -#define DAP_ID_VENDOR 1U -#define DAP_ID_PRODUCT 2U -#define DAP_ID_SER_NUM 3U -#define DAP_ID_DAP_FW_VER 4U -#define DAP_ID_DEVICE_VENDOR 5U -#define DAP_ID_DEVICE_NAME 6U -#define DAP_ID_BOARD_VENDOR 7U -#define DAP_ID_BOARD_NAME 8U -#define DAP_ID_PRODUCT_FW_VER 9U -#define DAP_ID_CAPABILITIES 0xF0U -#define DAP_ID_TIMESTAMP_CLOCK 0xF1U -#define DAP_ID_UART_RX_BUFFER_SIZE 0xFBU -#define DAP_ID_UART_TX_BUFFER_SIZE 0xFCU -#define DAP_ID_SWO_BUFFER_SIZE 0xFDU -#define DAP_ID_PACKET_COUNT 0xFEU -#define DAP_ID_PACKET_SIZE 0xFFU - -// DAP Host Status -#define DAP_DEBUGGER_CONNECTED 0U -#define DAP_TARGET_RUNNING 1U - -// DAP Port -#define DAP_PORT_AUTODETECT 0U // Autodetect Port -#define DAP_PORT_DISABLED 0U // Port Disabled (I/O pins in High-Z) -#define DAP_PORT_SWD 1U // SWD Port (SWCLK, SWDIO) + nRESET -#define DAP_PORT_JTAG 2U // JTAG Port (TCK, TMS, TDI, TDO, nTRST) + nRESET - -// DAP SWJ Pins -#define DAP_SWJ_SWCLK_TCK 0 // SWCLK/TCK -#define DAP_SWJ_SWDIO_TMS 1 // SWDIO/TMS -#define DAP_SWJ_TDI 2 // TDI -#define DAP_SWJ_TDO 3 // TDO -#define DAP_SWJ_nTRST 5 // nTRST -#define DAP_SWJ_nRESET 7 // nRESET - -// DAP Transfer Request -#define DAP_TRANSFER_APnDP (1U<<0) -#define DAP_TRANSFER_RnW (1U<<1) -#define DAP_TRANSFER_A2 (1U<<2) -#define DAP_TRANSFER_A3 (1U<<3) -#define DAP_TRANSFER_MATCH_VALUE (1U<<4) -#define DAP_TRANSFER_MATCH_MASK (1U<<5) -#define DAP_TRANSFER_TIMESTAMP (1U<<7) - -// DAP Transfer Response -#define DAP_TRANSFER_OK (1U<<0) -#define DAP_TRANSFER_WAIT (1U<<1) -#define DAP_TRANSFER_FAULT (1U<<2) -#define DAP_TRANSFER_ERROR (1U<<3) -#define DAP_TRANSFER_MISMATCH (1U<<4) - -// DAP SWO Trace Mode -#define DAP_SWO_OFF 0U -#define DAP_SWO_UART 1U -#define DAP_SWO_MANCHESTER 2U - -// DAP SWO Trace Status -#define DAP_SWO_CAPTURE_ACTIVE (1U<<0) -#define DAP_SWO_CAPTURE_PAUSED (1U<<1) -#define DAP_SWO_STREAM_ERROR (1U<<6) -#define DAP_SWO_BUFFER_OVERRUN (1U<<7) - -// DAP UART Transport -#define DAP_UART_TRANSPORT_NONE 0U -#define DAP_UART_TRANSPORT_USB_COM_PORT 1U -#define DAP_UART_TRANSPORT_DAP_COMMAND 2U - -// DAP UART Control -#define DAP_UART_CONTROL_RX_ENABLE (1U<<0) -#define DAP_UART_CONTROL_RX_DISABLE (1U<<1) -#define DAP_UART_CONTROL_RX_BUF_FLUSH (1U<<2) -#define DAP_UART_CONTROL_TX_ENABLE (1U<<4) -#define DAP_UART_CONTROL_TX_DISABLE (1U<<5) -#define DAP_UART_CONTROL_TX_BUF_FLUSH (1U<<6) - -// DAP UART Status -#define DAP_UART_STATUS_RX_ENABLED (1U<<0) -#define DAP_UART_STATUS_RX_DATA_LOST (1U<<1) -#define DAP_UART_STATUS_FRAMING_ERROR (1U<<2) -#define DAP_UART_STATUS_PARITY_ERROR (1U<<3) -#define DAP_UART_STATUS_TX_ENABLED (1U<<4) - -// DAP UART Configure Error -#define DAP_UART_CFG_ERROR_DATA_BITS (1U<<0) -#define DAP_UART_CFG_ERROR_PARITY (1U<<1) -#define DAP_UART_CFG_ERROR_STOP_BITS (1U<<2) - -// Debug Port Register Addresses -#define DP_IDCODE 0x00U // IDCODE Register (SW Read only) -#define DP_ABORT 0x00U // Abort Register (SW Write only) -#define DP_CTRL_STAT 0x04U // Control & Status -#define DP_WCR 0x04U // Wire Control Register (SW Only) -#define DP_SELECT 0x08U // Select Register (JTAG R/W & SW W) -#define DP_RESEND 0x08U // Resend (SW Read Only) -#define DP_RDBUFF 0x0CU // Read Buffer (Read Only) - -// JTAG IR Codes -#define JTAG_ABORT 0x08U -#define JTAG_DPACC 0x0AU -#define JTAG_APACC 0x0BU -#define JTAG_IDCODE 0x0EU -#define JTAG_BYPASS 0x0FU - -// JTAG Sequence Info -#define JTAG_SEQUENCE_TCK 0x3FU // TCK count -#define JTAG_SEQUENCE_TMS 0x40U // TMS value -#define JTAG_SEQUENCE_TDO 0x80U // TDO capture - -// SWD Sequence Info -#define SWD_SEQUENCE_CLK 0x3FU // SWCLK count -#define SWD_SEQUENCE_DIN 0x80U // SWDIO capture - - -#include -#include -#include "cmsis_compiler.h" - -// DAP Data structure -typedef struct { - uint8_t debug_port; // Debug Port - uint8_t fast_clock; // Fast Clock Flag - uint8_t padding[2]; - uint32_t clock_delay; // Clock Delay - uint32_t timestamp; // Last captured Timestamp - struct { // Transfer Configuration - uint8_t idle_cycles; // Idle cycles after transfer - uint8_t padding[3]; - uint16_t retry_count; // Number of retries after WAIT response - uint16_t match_retry; // Number of retries if read value does not match - uint32_t match_mask; // Match Mask - } transfer; -#if (DAP_SWD != 0) - struct { // SWD Configuration - uint8_t turnaround; // Turnaround period - uint8_t data_phase; // Always generate Data Phase - } swd_conf; -#endif -#if (DAP_JTAG != 0) - struct { // JTAG Device Chain - uint8_t count; // Number of devices - uint8_t index; // Device index (device at TDO has index 0) -#if (DAP_JTAG_DEV_CNT != 0) - uint8_t ir_length[DAP_JTAG_DEV_CNT]; // IR Length in bits - uint16_t ir_before[DAP_JTAG_DEV_CNT]; // Bits before IR - uint16_t ir_after [DAP_JTAG_DEV_CNT]; // Bits after IR -#endif - } jtag_dev; -#endif -} DAP_Data_t; - -extern DAP_Data_t DAP_Data; // DAP Data -extern volatile uint8_t DAP_TransferAbort; // Transfer Abort Flag - - -#ifdef __cplusplus -extern "C" -{ -#endif - -// Functions -extern void SWJ_Sequence (uint32_t count, const uint8_t *data); -extern void SWD_Sequence (uint32_t info, const uint8_t *swdo, uint8_t *swdi); -extern void JTAG_Sequence (uint32_t info, const uint8_t *tdi, uint8_t *tdo); -extern void JTAG_IR (uint32_t ir); -extern uint32_t JTAG_ReadIDCode (void); -extern void JTAG_WriteAbort (uint32_t data); -extern uint8_t JTAG_Transfer (uint32_t request, uint32_t *data); -extern uint8_t SWD_Transfer (uint32_t request, uint32_t *data); - -extern void Delayms (uint32_t delay); - -extern uint32_t SWO_Transport (const uint8_t *request, uint8_t *response); -extern uint32_t SWO_Mode (const uint8_t *request, uint8_t *response); -extern uint32_t SWO_Baudrate (const uint8_t *request, uint8_t *response); -extern uint32_t SWO_Control (const uint8_t *request, uint8_t *response); -extern uint32_t SWO_Status (uint8_t *response); -extern uint32_t SWO_ExtendedStatus (const uint8_t *request, uint8_t *response); -extern uint32_t SWO_Data (const uint8_t *request, uint8_t *response); - -extern void SWO_QueueTransfer (uint8_t *buf, uint32_t num); -extern void SWO_AbortTransfer (void); -extern void SWO_TransferComplete (void); - -extern uint32_t SWO_Mode_UART (uint32_t enable); -extern uint32_t SWO_Baudrate_UART (uint32_t baudrate); -extern uint32_t SWO_Control_UART (uint32_t active); -extern void SWO_Capture_UART (uint8_t *buf, uint32_t num); -extern uint32_t SWO_GetCount_UART (void); - -extern uint32_t SWO_Mode_Manchester (uint32_t enable); -extern uint32_t SWO_Baudrate_Manchester (uint32_t baudrate); -extern uint32_t SWO_Control_Manchester (uint32_t active); -extern void SWO_Capture_Manchester (uint8_t *buf, uint32_t num); -extern uint32_t SWO_GetCount_Manchester (void); - -extern uint32_t UART_Transport (const uint8_t *request, uint8_t *response); -extern uint32_t UART_Configure (const uint8_t *request, uint8_t *response); -extern uint32_t UART_Control (const uint8_t *request, uint8_t *response); -extern uint32_t UART_Status (uint8_t *response); -extern uint32_t UART_Transfer (const uint8_t *request, uint8_t *response); - -extern uint8_t USB_COM_PORT_Activate (uint32_t cmd); - -extern uint32_t DAP_ProcessVendorCommand (const uint8_t *request, uint8_t *response); -extern uint32_t DAP_ProcessCommand (const uint8_t *request, uint8_t *response); -extern uint32_t DAP_ExecuteCommand (const uint8_t *request, uint8_t *response); - -extern void DAP_Setup (void); - -// Configurable delay for clock generation -#ifndef DELAY_SLOW_CYCLES -#define DELAY_SLOW_CYCLES 3U // Number of cycles for one iteration -#endif -#if defined(__CC_ARM) -__STATIC_FORCEINLINE void PIN_DELAY_SLOW (uint32_t delay) { - uint32_t count = delay; - while (--count); -} -#else -__STATIC_FORCEINLINE void PIN_DELAY_SLOW (uint32_t delay) { - __ASM volatile ( - ".syntax unified\n" - "0:\n\t" - "subs %0,%0,#1\n\t" - "bne 0b\n" - : "+l" (delay) : : "cc" - ); -} -#endif - -// Fixed delay for fast clock generation -#ifndef DELAY_FAST_CYCLES -#define DELAY_FAST_CYCLES 0U // Number of cycles: 0..3 -#endif -__STATIC_FORCEINLINE void PIN_DELAY_FAST (void) { -#if (DELAY_FAST_CYCLES >= 1U) - __NOP(); -#endif -#if (DELAY_FAST_CYCLES >= 2U) - __NOP(); -#endif -#if (DELAY_FAST_CYCLES >= 3U) - __NOP(); -#endif -} - -#ifdef __cplusplus -} -#endif - - -#endif /* __DAP_H__ */ diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Source/DAP.c b/external/CMSIS_5/CMSIS/DAP/Firmware/Source/DAP.c deleted file mode 100644 index 0e4f319..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Source/DAP.c +++ /dev/null @@ -1,1816 +0,0 @@ -/* - * Copyright (c) 2013-2022 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ---------------------------------------------------------------------- - * - * $Date: 5. December 2022 - * $Revision: V2.1.2 - * - * Project: CMSIS-DAP Source - * Title: DAP.c CMSIS-DAP Commands - * - *---------------------------------------------------------------------------*/ - -#include -#include "DAP_config.h" -#include "DAP.h" - - -#if (DAP_PACKET_SIZE < 64U) -#error "Minimum Packet Size is 64!" -#endif -#if (DAP_PACKET_SIZE > 32768U) -#error "Maximum Packet Size is 32768!" -#endif -#if (DAP_PACKET_COUNT < 1U) -#error "Minimum Packet Count is 1!" -#endif -#if (DAP_PACKET_COUNT > 255U) -#error "Maximum Packet Count is 255!" -#endif - - -// Clock Macros -#define MAX_SWJ_CLOCK(delay_cycles) \ - ((CPU_CLOCK/2U) / (IO_PORT_WRITE_CYCLES + delay_cycles)) - - - DAP_Data_t DAP_Data; // DAP Data -volatile uint8_t DAP_TransferAbort; // Transfer Abort Flag - - -static const char DAP_FW_Ver [] = DAP_FW_VER; - - -// Common clock delay calculation routine -// clock: requested SWJ frequency in Hertz -static void Set_Clock_Delay(uint32_t clock) { - uint32_t delay; - - if (clock >= MAX_SWJ_CLOCK(DELAY_FAST_CYCLES)) { - DAP_Data.fast_clock = 1U; - DAP_Data.clock_delay = 1U; - } else { - DAP_Data.fast_clock = 0U; - - delay = ((CPU_CLOCK/2U) + (clock - 1U)) / clock; - if (delay > IO_PORT_WRITE_CYCLES) { - delay -= IO_PORT_WRITE_CYCLES; - delay = (delay + (DELAY_SLOW_CYCLES - 1U)) / DELAY_SLOW_CYCLES; - } else { - delay = 1U; - } - - DAP_Data.clock_delay = delay; - } -} - - -// Get DAP Information -// id: info identifier -// info: pointer to info data -// return: number of bytes in info data -static uint8_t DAP_Info(uint8_t id, uint8_t *info) { - uint8_t length = 0U; - - switch (id) { - case DAP_ID_VENDOR: - length = DAP_GetVendorString((char *)info); - break; - case DAP_ID_PRODUCT: - length = DAP_GetProductString((char *)info); - break; - case DAP_ID_SER_NUM: - length = DAP_GetSerNumString((char *)info); - break; - case DAP_ID_DAP_FW_VER: - length = (uint8_t)sizeof(DAP_FW_Ver); - memcpy(info, DAP_FW_Ver, length); - break; - case DAP_ID_DEVICE_VENDOR: - length = DAP_GetTargetDeviceVendorString((char *)info); - break; - case DAP_ID_DEVICE_NAME: - length = DAP_GetTargetDeviceNameString((char *)info); - break; - case DAP_ID_BOARD_VENDOR: - length = DAP_GetTargetBoardVendorString((char *)info); - break; - case DAP_ID_BOARD_NAME: - length = DAP_GetTargetBoardNameString((char *)info); - break; - case DAP_ID_PRODUCT_FW_VER: - length = DAP_GetProductFirmwareVersionString((char *)info); - break; - case DAP_ID_CAPABILITIES: - info[0] = ((DAP_SWD != 0) ? (1U << 0) : 0U) | - ((DAP_JTAG != 0) ? (1U << 1) : 0U) | - ((SWO_UART != 0) ? (1U << 2) : 0U) | - ((SWO_MANCHESTER != 0) ? (1U << 3) : 0U) | - /* Atomic Commands */ (1U << 4) | - ((TIMESTAMP_CLOCK != 0U) ? (1U << 5) : 0U) | - ((SWO_STREAM != 0U) ? (1U << 6) : 0U) | - ((DAP_UART != 0U) ? (1U << 7) : 0U); - - info[1] = ((DAP_UART_USB_COM_PORT != 0) ? (1U << 0) : 0U); - length = 2U; - break; - case DAP_ID_TIMESTAMP_CLOCK: -#if (TIMESTAMP_CLOCK != 0U) - info[0] = (uint8_t)(TIMESTAMP_CLOCK >> 0); - info[1] = (uint8_t)(TIMESTAMP_CLOCK >> 8); - info[2] = (uint8_t)(TIMESTAMP_CLOCK >> 16); - info[3] = (uint8_t)(TIMESTAMP_CLOCK >> 24); - length = 4U; -#endif - break; - case DAP_ID_UART_RX_BUFFER_SIZE: -#if (DAP_UART != 0) - info[0] = (uint8_t)(DAP_UART_RX_BUFFER_SIZE >> 0); - info[1] = (uint8_t)(DAP_UART_RX_BUFFER_SIZE >> 8); - info[2] = (uint8_t)(DAP_UART_RX_BUFFER_SIZE >> 16); - info[3] = (uint8_t)(DAP_UART_RX_BUFFER_SIZE >> 24); - length = 4U; -#endif - break; - case DAP_ID_UART_TX_BUFFER_SIZE: -#if (DAP_UART != 0) - info[0] = (uint8_t)(DAP_UART_TX_BUFFER_SIZE >> 0); - info[1] = (uint8_t)(DAP_UART_TX_BUFFER_SIZE >> 8); - info[2] = (uint8_t)(DAP_UART_TX_BUFFER_SIZE >> 16); - info[3] = (uint8_t)(DAP_UART_TX_BUFFER_SIZE >> 24); - length = 4U; -#endif - break; - case DAP_ID_SWO_BUFFER_SIZE: -#if ((SWO_UART != 0) || (SWO_MANCHESTER != 0)) - info[0] = (uint8_t)(SWO_BUFFER_SIZE >> 0); - info[1] = (uint8_t)(SWO_BUFFER_SIZE >> 8); - info[2] = (uint8_t)(SWO_BUFFER_SIZE >> 16); - info[3] = (uint8_t)(SWO_BUFFER_SIZE >> 24); - length = 4U; -#endif - break; - case DAP_ID_PACKET_SIZE: - info[0] = (uint8_t)(DAP_PACKET_SIZE >> 0); - info[1] = (uint8_t)(DAP_PACKET_SIZE >> 8); - length = 2U; - break; - case DAP_ID_PACKET_COUNT: - info[0] = DAP_PACKET_COUNT; - length = 1U; - break; - default: - break; - } - - return (length); -} - - -// Delay for specified time -// delay: delay time in ms -void Delayms(uint32_t delay) { - delay *= ((CPU_CLOCK/1000U) + (DELAY_SLOW_CYCLES-1U)) / DELAY_SLOW_CYCLES; - PIN_DELAY_SLOW(delay); -} - - -// Process Delay command and prepare response -// request: pointer to request data -// response: pointer to response data -// return: number of bytes in response (lower 16 bits) -// number of bytes in request (upper 16 bits) -static uint32_t DAP_Delay(const uint8_t *request, uint8_t *response) { - uint32_t delay; - - delay = (uint32_t)(*(request+0)) | - (uint32_t)(*(request+1) << 8); - delay *= ((CPU_CLOCK/1000000U) + (DELAY_SLOW_CYCLES-1U)) / DELAY_SLOW_CYCLES; - - PIN_DELAY_SLOW(delay); - - *response = DAP_OK; - return ((2U << 16) | 1U); -} - - -// Process Host Status command and prepare response -// request: pointer to request data -// response: pointer to response data -// return: number of bytes in response (lower 16 bits) -// number of bytes in request (upper 16 bits) -static uint32_t DAP_HostStatus(const uint8_t *request, uint8_t *response) { - - switch (*request) { - case DAP_DEBUGGER_CONNECTED: - LED_CONNECTED_OUT((*(request+1) & 1U)); - break; - case DAP_TARGET_RUNNING: - LED_RUNNING_OUT((*(request+1) & 1U)); - break; - default: - *response = DAP_ERROR; - return ((2U << 16) | 1U); - } - - *response = DAP_OK; - return ((2U << 16) | 1U); -} - - -// Process Connect command and prepare response -// request: pointer to request data -// response: pointer to response data -// return: number of bytes in response (lower 16 bits) -// number of bytes in request (upper 16 bits) -static uint32_t DAP_Connect(const uint8_t *request, uint8_t *response) { - uint32_t port; - - if (*request == DAP_PORT_AUTODETECT) { - port = DAP_DEFAULT_PORT; - } else { - port = *request; - } - - switch (port) { -#if (DAP_SWD != 0) - case DAP_PORT_SWD: - DAP_Data.debug_port = DAP_PORT_SWD; - PORT_SWD_SETUP(); - break; -#endif -#if (DAP_JTAG != 0) - case DAP_PORT_JTAG: - DAP_Data.debug_port = DAP_PORT_JTAG; - PORT_JTAG_SETUP(); - break; -#endif - default: - port = DAP_PORT_DISABLED; - break; - } - - *response = (uint8_t)port; - return ((1U << 16) | 1U); -} - - -// Process Disconnect command and prepare response -// response: pointer to response data -// return: number of bytes in response -static uint32_t DAP_Disconnect(uint8_t *response) { - - DAP_Data.debug_port = DAP_PORT_DISABLED; - PORT_OFF(); - - *response = DAP_OK; - return (1U); -} - - -// Process Reset Target command and prepare response -// response: pointer to response data -// return: number of bytes in response -static uint32_t DAP_ResetTarget(uint8_t *response) { - - *(response+1) = RESET_TARGET(); - *(response+0) = DAP_OK; - return (2U); -} - - -// Process SWJ Pins command and prepare response -// request: pointer to request data -// response: pointer to response data -// return: number of bytes in response (lower 16 bits) -// number of bytes in request (upper 16 bits) -static uint32_t DAP_SWJ_Pins(const uint8_t *request, uint8_t *response) { -#if ((DAP_SWD != 0) || (DAP_JTAG != 0)) - uint32_t value; - uint32_t select; - uint32_t wait; - uint32_t timestamp; - - value = (uint32_t) *(request+0); - select = (uint32_t) *(request+1); - wait = (uint32_t)(*(request+2) << 0) | - (uint32_t)(*(request+3) << 8) | - (uint32_t)(*(request+4) << 16) | - (uint32_t)(*(request+5) << 24); - - if ((select & (1U << DAP_SWJ_SWCLK_TCK)) != 0U) { - if ((value & (1U << DAP_SWJ_SWCLK_TCK)) != 0U) { - PIN_SWCLK_TCK_SET(); - } else { - PIN_SWCLK_TCK_CLR(); - } - } - if ((select & (1U << DAP_SWJ_SWDIO_TMS)) != 0U) { - if ((value & (1U << DAP_SWJ_SWDIO_TMS)) != 0U) { - PIN_SWDIO_TMS_SET(); - } else { - PIN_SWDIO_TMS_CLR(); - } - } - if ((select & (1U << DAP_SWJ_TDI)) != 0U) { - PIN_TDI_OUT(value >> DAP_SWJ_TDI); - } - if ((select & (1U << DAP_SWJ_nTRST)) != 0U) { - PIN_nTRST_OUT(value >> DAP_SWJ_nTRST); - } - if ((select & (1U << DAP_SWJ_nRESET)) != 0U){ - PIN_nRESET_OUT(value >> DAP_SWJ_nRESET); - } - - if (wait != 0U) { -#if (TIMESTAMP_CLOCK != 0U) - if (wait > 3000000U) { - wait = 3000000U; - } -#if (TIMESTAMP_CLOCK >= 1000000U) - wait *= TIMESTAMP_CLOCK / 1000000U; -#else - wait /= 1000000U / TIMESTAMP_CLOCK; -#endif -#else - wait = 1U; -#endif - timestamp = TIMESTAMP_GET(); - do { - if ((select & (1U << DAP_SWJ_SWCLK_TCK)) != 0U) { - if ((value >> DAP_SWJ_SWCLK_TCK) ^ PIN_SWCLK_TCK_IN()) { - continue; - } - } - if ((select & (1U << DAP_SWJ_SWDIO_TMS)) != 0U) { - if ((value >> DAP_SWJ_SWDIO_TMS) ^ PIN_SWDIO_TMS_IN()) { - continue; - } - } - if ((select & (1U << DAP_SWJ_TDI)) != 0U) { - if ((value >> DAP_SWJ_TDI) ^ PIN_TDI_IN()) { - continue; - } - } - if ((select & (1U << DAP_SWJ_nTRST)) != 0U) { - if ((value >> DAP_SWJ_nTRST) ^ PIN_nTRST_IN()) { - continue; - } - } - if ((select & (1U << DAP_SWJ_nRESET)) != 0U) { - if ((value >> DAP_SWJ_nRESET) ^ PIN_nRESET_IN()) { - continue; - } - } - break; - } while ((TIMESTAMP_GET() - timestamp) < wait); - } - - value = (PIN_SWCLK_TCK_IN() << DAP_SWJ_SWCLK_TCK) | - (PIN_SWDIO_TMS_IN() << DAP_SWJ_SWDIO_TMS) | - (PIN_TDI_IN() << DAP_SWJ_TDI) | - (PIN_TDO_IN() << DAP_SWJ_TDO) | - (PIN_nTRST_IN() << DAP_SWJ_nTRST) | - (PIN_nRESET_IN() << DAP_SWJ_nRESET); - - *response = (uint8_t)value; -#else - *response = 0U; -#endif - - return ((6U << 16) | 1U); -} - - -// Process SWJ Clock command and prepare response -// request: pointer to request data -// response: pointer to response data -// return: number of bytes in response (lower 16 bits) -// number of bytes in request (upper 16 bits) -static uint32_t DAP_SWJ_Clock(const uint8_t *request, uint8_t *response) { -#if ((DAP_SWD != 0) || (DAP_JTAG != 0)) - uint32_t clock; - uint32_t delay; - - clock = (uint32_t)(*(request+0) << 0) | - (uint32_t)(*(request+1) << 8) | - (uint32_t)(*(request+2) << 16) | - (uint32_t)(*(request+3) << 24); - - if (clock == 0U) { - *response = DAP_ERROR; - return ((4U << 16) | 1U); - } - - Set_Clock_Delay(clock); - - *response = DAP_OK; -#else - *response = DAP_ERROR; -#endif - - return ((4U << 16) | 1U); -} - - -// Process SWJ Sequence command and prepare response -// request: pointer to request data -// response: pointer to response data -// return: number of bytes in response (lower 16 bits) -// number of bytes in request (upper 16 bits) -static uint32_t DAP_SWJ_Sequence(const uint8_t *request, uint8_t *response) { - uint32_t count; - - count = *request++; - if (count == 0U) { - count = 256U; - } - -#if ((DAP_SWD != 0) || (DAP_JTAG != 0)) - SWJ_Sequence(count, request); - *response = DAP_OK; -#else - *response = DAP_ERROR; -#endif - - count = (count + 7U) >> 3; - - return (((count + 1U) << 16) | 1U); -} - - -// Process SWD Configure command and prepare response -// request: pointer to request data -// response: pointer to response data -// return: number of bytes in response (lower 16 bits) -// number of bytes in request (upper 16 bits) -static uint32_t DAP_SWD_Configure(const uint8_t *request, uint8_t *response) { -#if (DAP_SWD != 0) - uint8_t value; - - value = *request; - DAP_Data.swd_conf.turnaround = (value & 0x03U) + 1U; - DAP_Data.swd_conf.data_phase = (value & 0x04U) ? 1U : 0U; - - *response = DAP_OK; -#else - *response = DAP_ERROR; -#endif - - return ((1U << 16) | 1U); -} - - -// Process SWD Sequence command and prepare response -// request: pointer to request data -// response: pointer to response data -// return: number of bytes in response (lower 16 bits) -// number of bytes in request (upper 16 bits) -static uint32_t DAP_SWD_Sequence(const uint8_t *request, uint8_t *response) { - uint32_t sequence_info; - uint32_t sequence_count; - uint32_t request_count; - uint32_t response_count; - uint32_t count; - -#if (DAP_SWD != 0) - *response++ = DAP_OK; -#else - *response++ = DAP_ERROR; -#endif - request_count = 1U; - response_count = 1U; - - sequence_count = *request++; - while (sequence_count--) { - sequence_info = *request++; - count = sequence_info & SWD_SEQUENCE_CLK; - if (count == 0U) { - count = 64U; - } - count = (count + 7U) / 8U; -#if (DAP_SWD != 0) - if ((sequence_info & SWD_SEQUENCE_DIN) != 0U) { - PIN_SWDIO_OUT_DISABLE(); - } else { - PIN_SWDIO_OUT_ENABLE(); - } - SWD_Sequence(sequence_info, request, response); - if (sequence_count == 0U) { - PIN_SWDIO_OUT_ENABLE(); - } -#endif - if ((sequence_info & SWD_SEQUENCE_DIN) != 0U) { - request_count++; -#if (DAP_SWD != 0) - response += count; - response_count += count; -#endif - } else { - request += count; - request_count += count + 1U; - } - } - - return ((request_count << 16) | response_count); -} - - -// Process JTAG Sequence command and prepare response -// request: pointer to request data -// response: pointer to response data -// return: number of bytes in response (lower 16 bits) -// number of bytes in request (upper 16 bits) -static uint32_t DAP_JTAG_Sequence(const uint8_t *request, uint8_t *response) { - uint32_t sequence_info; - uint32_t sequence_count; - uint32_t request_count; - uint32_t response_count; - uint32_t count; - -#if (DAP_JTAG != 0) - *response++ = DAP_OK; -#else - *response++ = DAP_ERROR; -#endif - request_count = 1U; - response_count = 1U; - - sequence_count = *request++; - while (sequence_count--) { - sequence_info = *request++; - count = sequence_info & JTAG_SEQUENCE_TCK; - if (count == 0U) { - count = 64U; - } - count = (count + 7U) / 8U; -#if (DAP_JTAG != 0) - JTAG_Sequence(sequence_info, request, response); -#endif - request += count; - request_count += count + 1U; -#if (DAP_JTAG != 0) - if ((sequence_info & JTAG_SEQUENCE_TDO) != 0U) { - response += count; - response_count += count; - } -#endif - } - - return ((request_count << 16) | response_count); -} - - -// Process JTAG Configure command and prepare response -// request: pointer to request data -// response: pointer to response data -// return: number of bytes in response (lower 16 bits) -// number of bytes in request (upper 16 bits) -static uint32_t DAP_JTAG_Configure(const uint8_t *request, uint8_t *response) { - uint32_t count; -#if (DAP_JTAG != 0) - uint32_t length; - uint32_t bits; - uint32_t n; - - count = *request++; - DAP_Data.jtag_dev.count = (uint8_t)count; - - bits = 0U; - for (n = 0U; n < count; n++) { - length = *request++; - DAP_Data.jtag_dev.ir_length[n] = (uint8_t)length; - DAP_Data.jtag_dev.ir_before[n] = (uint16_t)bits; - bits += length; - } - for (n = 0U; n < count; n++) { - bits -= DAP_Data.jtag_dev.ir_length[n]; - DAP_Data.jtag_dev.ir_after[n] = (uint16_t)bits; - } - - *response = DAP_OK; -#else - count = *request; - *response = DAP_ERROR; -#endif - - return (((count + 1U) << 16) | 1U); -} - - -// Process JTAG IDCODE command and prepare response -// request: pointer to request data -// response: pointer to response data -// return: number of bytes in response (lower 16 bits) -// number of bytes in request (upper 16 bits) -static uint32_t DAP_JTAG_IDCode(const uint8_t *request, uint8_t *response) { -#if (DAP_JTAG != 0) - uint32_t data; - - if (DAP_Data.debug_port != DAP_PORT_JTAG) { - goto id_error; - } - - // Device index (JTAP TAP) - DAP_Data.jtag_dev.index = *request; - if (DAP_Data.jtag_dev.index >= DAP_Data.jtag_dev.count) { - goto id_error; - } - - // Select JTAG chain - JTAG_IR(JTAG_IDCODE); - - // Read IDCODE register - data = JTAG_ReadIDCode(); - - // Store Data - *(response+0) = DAP_OK; - *(response+1) = (uint8_t)(data >> 0); - *(response+2) = (uint8_t)(data >> 8); - *(response+3) = (uint8_t)(data >> 16); - *(response+4) = (uint8_t)(data >> 24); - - return ((1U << 16) | 5U); - -id_error: -#endif - *response = DAP_ERROR; - return ((1U << 16) | 1U); -} - - -// Process Transfer Configure command and prepare response -// request: pointer to request data -// response: pointer to response data -// return: number of bytes in response (lower 16 bits) -// number of bytes in request (upper 16 bits) -static uint32_t DAP_TransferConfigure(const uint8_t *request, uint8_t *response) { - - DAP_Data.transfer.idle_cycles = *(request+0); - DAP_Data.transfer.retry_count = (uint16_t) *(request+1) | - (uint16_t)(*(request+2) << 8); - DAP_Data.transfer.match_retry = (uint16_t) *(request+3) | - (uint16_t)(*(request+4) << 8); - - *response = DAP_OK; - return ((5U << 16) | 1U); -} - - -// Process SWD Transfer command and prepare response -// request: pointer to request data -// response: pointer to response data -// return: number of bytes in response (lower 16 bits) -// number of bytes in request (upper 16 bits) -#if (DAP_SWD != 0) -static uint32_t DAP_SWD_Transfer(const uint8_t *request, uint8_t *response) { - const - uint8_t *request_head; - uint32_t request_count; - uint32_t request_value; - uint8_t *response_head; - uint32_t response_count; - uint32_t response_value; - uint32_t post_read; - uint32_t check_write; - uint32_t match_value; - uint32_t match_retry; - uint32_t retry; - uint32_t data; -#if (TIMESTAMP_CLOCK != 0U) - uint32_t timestamp; -#endif - - request_head = request; - - response_count = 0U; - response_value = 0U; - response_head = response; - response += 2; - - DAP_TransferAbort = 0U; - - post_read = 0U; - check_write = 0U; - - request++; // Ignore DAP index - - request_count = *request++; - - while (request_count != 0) { - request_count--; - request_value = *request++; - if ((request_value & DAP_TRANSFER_RnW) != 0U) { - // Read register - if (post_read) { - // Read was posted before - retry = DAP_Data.transfer.retry_count; - if ((request_value & (DAP_TRANSFER_APnDP | DAP_TRANSFER_MATCH_VALUE)) == DAP_TRANSFER_APnDP) { - // Read previous AP data and post next AP read - do { - response_value = SWD_Transfer(request_value, &data); - } while ((response_value == DAP_TRANSFER_WAIT) && retry-- && !DAP_TransferAbort); - } else { - // Read previous AP data - do { - response_value = SWD_Transfer(DP_RDBUFF | DAP_TRANSFER_RnW, &data); - } while ((response_value == DAP_TRANSFER_WAIT) && retry-- && !DAP_TransferAbort); - post_read = 0U; - } - if (response_value != DAP_TRANSFER_OK) { - break; - } - // Store previous AP data - *response++ = (uint8_t) data; - *response++ = (uint8_t)(data >> 8); - *response++ = (uint8_t)(data >> 16); - *response++ = (uint8_t)(data >> 24); -#if (TIMESTAMP_CLOCK != 0U) - if (post_read) { - // Store Timestamp of next AP read - if ((request_value & DAP_TRANSFER_TIMESTAMP) != 0U) { - timestamp = DAP_Data.timestamp; - *response++ = (uint8_t) timestamp; - *response++ = (uint8_t)(timestamp >> 8); - *response++ = (uint8_t)(timestamp >> 16); - *response++ = (uint8_t)(timestamp >> 24); - } - } -#endif - } - if ((request_value & DAP_TRANSFER_MATCH_VALUE) != 0U) { - // Read with value match - match_value = (uint32_t)(*(request+0) << 0) | - (uint32_t)(*(request+1) << 8) | - (uint32_t)(*(request+2) << 16) | - (uint32_t)(*(request+3) << 24); - request += 4; - match_retry = DAP_Data.transfer.match_retry; - if ((request_value & DAP_TRANSFER_APnDP) != 0U) { - // Post AP read - retry = DAP_Data.transfer.retry_count; - do { - response_value = SWD_Transfer(request_value, NULL); - } while ((response_value == DAP_TRANSFER_WAIT) && retry-- && !DAP_TransferAbort); - if (response_value != DAP_TRANSFER_OK) { - break; - } - } - do { - // Read register until its value matches or retry counter expires - retry = DAP_Data.transfer.retry_count; - do { - response_value = SWD_Transfer(request_value, &data); - } while ((response_value == DAP_TRANSFER_WAIT) && retry-- && !DAP_TransferAbort); - if (response_value != DAP_TRANSFER_OK) { - break; - } - } while (((data & DAP_Data.transfer.match_mask) != match_value) && match_retry-- && !DAP_TransferAbort); - if ((data & DAP_Data.transfer.match_mask) != match_value) { - response_value |= DAP_TRANSFER_MISMATCH; - } - if (response_value != DAP_TRANSFER_OK) { - break; - } - } else { - // Normal read - retry = DAP_Data.transfer.retry_count; - if ((request_value & DAP_TRANSFER_APnDP) != 0U) { - // Read AP register - if (post_read == 0U) { - // Post AP read - do { - response_value = SWD_Transfer(request_value, NULL); - } while ((response_value == DAP_TRANSFER_WAIT) && retry-- && !DAP_TransferAbort); - if (response_value != DAP_TRANSFER_OK) { - break; - } -#if (TIMESTAMP_CLOCK != 0U) - // Store Timestamp - if ((request_value & DAP_TRANSFER_TIMESTAMP) != 0U) { - timestamp = DAP_Data.timestamp; - *response++ = (uint8_t) timestamp; - *response++ = (uint8_t)(timestamp >> 8); - *response++ = (uint8_t)(timestamp >> 16); - *response++ = (uint8_t)(timestamp >> 24); - } -#endif - post_read = 1U; - } - } else { - // Read DP register - do { - response_value = SWD_Transfer(request_value, &data); - } while ((response_value == DAP_TRANSFER_WAIT) && retry-- && !DAP_TransferAbort); - if (response_value != DAP_TRANSFER_OK) { - break; - } -#if (TIMESTAMP_CLOCK != 0U) - // Store Timestamp - if ((request_value & DAP_TRANSFER_TIMESTAMP) != 0U) { - timestamp = DAP_Data.timestamp; - *response++ = (uint8_t) timestamp; - *response++ = (uint8_t)(timestamp >> 8); - *response++ = (uint8_t)(timestamp >> 16); - *response++ = (uint8_t)(timestamp >> 24); - } -#endif - // Store data - *response++ = (uint8_t) data; - *response++ = (uint8_t)(data >> 8); - *response++ = (uint8_t)(data >> 16); - *response++ = (uint8_t)(data >> 24); - } - } - check_write = 0U; - } else { - // Write register - if (post_read) { - // Read previous data - retry = DAP_Data.transfer.retry_count; - do { - response_value = SWD_Transfer(DP_RDBUFF | DAP_TRANSFER_RnW, &data); - } while ((response_value == DAP_TRANSFER_WAIT) && retry-- && !DAP_TransferAbort); - if (response_value != DAP_TRANSFER_OK) { - break; - } - // Store previous data - *response++ = (uint8_t) data; - *response++ = (uint8_t)(data >> 8); - *response++ = (uint8_t)(data >> 16); - *response++ = (uint8_t)(data >> 24); - post_read = 0U; - } - // Load data - data = (uint32_t)(*(request+0) << 0) | - (uint32_t)(*(request+1) << 8) | - (uint32_t)(*(request+2) << 16) | - (uint32_t)(*(request+3) << 24); - request += 4; - if ((request_value & DAP_TRANSFER_MATCH_MASK) != 0U) { - // Write match mask - DAP_Data.transfer.match_mask = data; - response_value = DAP_TRANSFER_OK; - } else { - // Write DP/AP register - retry = DAP_Data.transfer.retry_count; - do { - response_value = SWD_Transfer(request_value, &data); - } while ((response_value == DAP_TRANSFER_WAIT) && retry-- && !DAP_TransferAbort); - if (response_value != DAP_TRANSFER_OK) { - break; - } -#if (TIMESTAMP_CLOCK != 0U) - // Store Timestamp - if ((request_value & DAP_TRANSFER_TIMESTAMP) != 0U) { - timestamp = DAP_Data.timestamp; - *response++ = (uint8_t) timestamp; - *response++ = (uint8_t)(timestamp >> 8); - *response++ = (uint8_t)(timestamp >> 16); - *response++ = (uint8_t)(timestamp >> 24); - } -#endif - check_write = 1U; - } - } - response_count++; - if (DAP_TransferAbort) { - break; - } - } - - while (request_count != 0) { - // Process canceled requests - request_count--; - request_value = *request++; - if ((request_value & DAP_TRANSFER_RnW) != 0U) { - // Read register - if ((request_value & DAP_TRANSFER_MATCH_VALUE) != 0U) { - // Read with value match - request += 4; - } - } else { - // Write register - request += 4; - } - } - - if (response_value == DAP_TRANSFER_OK) { - if (post_read) { - // Read previous data - retry = DAP_Data.transfer.retry_count; - do { - response_value = SWD_Transfer(DP_RDBUFF | DAP_TRANSFER_RnW, &data); - } while ((response_value == DAP_TRANSFER_WAIT) && retry-- && !DAP_TransferAbort); - if (response_value != DAP_TRANSFER_OK) { - goto end; - } - // Store previous data - *response++ = (uint8_t) data; - *response++ = (uint8_t)(data >> 8); - *response++ = (uint8_t)(data >> 16); - *response++ = (uint8_t)(data >> 24); - } else if (check_write) { - // Check last write - retry = DAP_Data.transfer.retry_count; - do { - response_value = SWD_Transfer(DP_RDBUFF | DAP_TRANSFER_RnW, NULL); - } while ((response_value == DAP_TRANSFER_WAIT) && retry-- && !DAP_TransferAbort); - } - } - -end: - *(response_head+0) = (uint8_t)response_count; - *(response_head+1) = (uint8_t)response_value; - - return (((uint32_t)(request - request_head) << 16) | (uint32_t)(response - response_head)); -} -#endif - - -// Process JTAG Transfer command and prepare response -// request: pointer to request data -// response: pointer to response data -// return: number of bytes in response (lower 16 bits) -// number of bytes in request (upper 16 bits) -#if (DAP_JTAG != 0) -static uint32_t DAP_JTAG_Transfer(const uint8_t *request, uint8_t *response) { - const - uint8_t *request_head; - uint32_t request_count; - uint32_t request_value; - uint32_t request_ir; - uint8_t *response_head; - uint32_t response_count; - uint32_t response_value; - uint32_t post_read; - uint32_t match_value; - uint32_t match_retry; - uint32_t retry; - uint32_t data; - uint32_t ir; -#if (TIMESTAMP_CLOCK != 0U) - uint32_t timestamp; -#endif - - request_head = request; - - response_count = 0U; - response_value = 0U; - response_head = response; - response += 2; - - DAP_TransferAbort = 0U; - - ir = 0U; - post_read = 0U; - - // Device index (JTAP TAP) - DAP_Data.jtag_dev.index = *request++; - if (DAP_Data.jtag_dev.index >= DAP_Data.jtag_dev.count) { - goto end; - } - - request_count = *request++; - - while (request_count != 0) { - request_count--; - request_value = *request++; - request_ir = (request_value & DAP_TRANSFER_APnDP) ? JTAG_APACC : JTAG_DPACC; - if ((request_value & DAP_TRANSFER_RnW) != 0U) { - // Read register - if (post_read) { - // Read was posted before - retry = DAP_Data.transfer.retry_count; - if ((ir == request_ir) && ((request_value & DAP_TRANSFER_MATCH_VALUE) == 0U)) { - // Read previous data and post next read - do { - response_value = JTAG_Transfer(request_value, &data); - } while ((response_value == DAP_TRANSFER_WAIT) && retry-- && !DAP_TransferAbort); - } else { - // Select JTAG chain - if (ir != JTAG_DPACC) { - ir = JTAG_DPACC; - JTAG_IR(ir); - } - // Read previous data - do { - response_value = JTAG_Transfer(DP_RDBUFF | DAP_TRANSFER_RnW, &data); - } while ((response_value == DAP_TRANSFER_WAIT) && retry-- && !DAP_TransferAbort); - post_read = 0U; - } - if (response_value != DAP_TRANSFER_OK) { - break; - } - // Store previous data - *response++ = (uint8_t) data; - *response++ = (uint8_t)(data >> 8); - *response++ = (uint8_t)(data >> 16); - *response++ = (uint8_t)(data >> 24); -#if (TIMESTAMP_CLOCK != 0U) - if (post_read) { - // Store Timestamp of next AP read - if ((request_value & DAP_TRANSFER_TIMESTAMP) != 0U) { - timestamp = DAP_Data.timestamp; - *response++ = (uint8_t) timestamp; - *response++ = (uint8_t)(timestamp >> 8); - *response++ = (uint8_t)(timestamp >> 16); - *response++ = (uint8_t)(timestamp >> 24); - } - } -#endif - } - if ((request_value & DAP_TRANSFER_MATCH_VALUE) != 0U) { - // Read with value match - match_value = (uint32_t)(*(request+0) << 0) | - (uint32_t)(*(request+1) << 8) | - (uint32_t)(*(request+2) << 16) | - (uint32_t)(*(request+3) << 24); - request += 4; - match_retry = DAP_Data.transfer.match_retry; - // Select JTAG chain - if (ir != request_ir) { - ir = request_ir; - JTAG_IR(ir); - } - // Post DP/AP read - retry = DAP_Data.transfer.retry_count; - do { - response_value = JTAG_Transfer(request_value, NULL); - } while ((response_value == DAP_TRANSFER_WAIT) && retry-- && !DAP_TransferAbort); - if (response_value != DAP_TRANSFER_OK) { - break; - } - do { - // Read register until its value matches or retry counter expires - retry = DAP_Data.transfer.retry_count; - do { - response_value = JTAG_Transfer(request_value, &data); - } while ((response_value == DAP_TRANSFER_WAIT) && retry-- && !DAP_TransferAbort); - if (response_value != DAP_TRANSFER_OK) { - break; - } - } while (((data & DAP_Data.transfer.match_mask) != match_value) && match_retry-- && !DAP_TransferAbort); - if ((data & DAP_Data.transfer.match_mask) != match_value) { - response_value |= DAP_TRANSFER_MISMATCH; - } - if (response_value != DAP_TRANSFER_OK) { - break; - } - } else { - // Normal read - if (post_read == 0U) { - // Select JTAG chain - if (ir != request_ir) { - ir = request_ir; - JTAG_IR(ir); - } - // Post DP/AP read - retry = DAP_Data.transfer.retry_count; - do { - response_value = JTAG_Transfer(request_value, NULL); - } while ((response_value == DAP_TRANSFER_WAIT) && retry-- && !DAP_TransferAbort); - if (response_value != DAP_TRANSFER_OK) { - break; - } -#if (TIMESTAMP_CLOCK != 0U) - // Store Timestamp - if ((request_value & DAP_TRANSFER_TIMESTAMP) != 0U) { - timestamp = DAP_Data.timestamp; - *response++ = (uint8_t) timestamp; - *response++ = (uint8_t)(timestamp >> 8); - *response++ = (uint8_t)(timestamp >> 16); - *response++ = (uint8_t)(timestamp >> 24); - } -#endif - post_read = 1U; - } - } - } else { - // Write register - if (post_read) { - // Select JTAG chain - if (ir != JTAG_DPACC) { - ir = JTAG_DPACC; - JTAG_IR(ir); - } - // Read previous data - retry = DAP_Data.transfer.retry_count; - do { - response_value = JTAG_Transfer(DP_RDBUFF | DAP_TRANSFER_RnW, &data); - } while ((response_value == DAP_TRANSFER_WAIT) && retry-- && !DAP_TransferAbort); - if (response_value != DAP_TRANSFER_OK) { - break; - } - // Store previous data - *response++ = (uint8_t) data; - *response++ = (uint8_t)(data >> 8); - *response++ = (uint8_t)(data >> 16); - *response++ = (uint8_t)(data >> 24); - post_read = 0U; - } - // Load data - data = (uint32_t)(*(request+0) << 0) | - (uint32_t)(*(request+1) << 8) | - (uint32_t)(*(request+2) << 16) | - (uint32_t)(*(request+3) << 24); - request += 4; - if ((request_value & DAP_TRANSFER_MATCH_MASK) != 0U) { - // Write match mask - DAP_Data.transfer.match_mask = data; - response_value = DAP_TRANSFER_OK; - } else { - // Select JTAG chain - if (ir != request_ir) { - ir = request_ir; - JTAG_IR(ir); - } - // Write DP/AP register - retry = DAP_Data.transfer.retry_count; - do { - response_value = JTAG_Transfer(request_value, &data); - } while ((response_value == DAP_TRANSFER_WAIT) && retry-- && !DAP_TransferAbort); - if (response_value != DAP_TRANSFER_OK) { - break; - } -#if (TIMESTAMP_CLOCK != 0U) - // Store Timestamp - if ((request_value & DAP_TRANSFER_TIMESTAMP) != 0U) { - timestamp = DAP_Data.timestamp; - *response++ = (uint8_t) timestamp; - *response++ = (uint8_t)(timestamp >> 8); - *response++ = (uint8_t)(timestamp >> 16); - *response++ = (uint8_t)(timestamp >> 24); - } -#endif - } - } - response_count++; - if (DAP_TransferAbort) { - break; - } - } - - while (request_count != 0) { - // Process canceled requests - request_count--; - request_value = *request++; - if ((request_value & DAP_TRANSFER_RnW) != 0U) { - // Read register - if ((request_value & DAP_TRANSFER_MATCH_VALUE) != 0U) { - // Read with value match - request += 4; - } - } else { - // Write register - request += 4; - } - } - - if (response_value == DAP_TRANSFER_OK) { - // Select JTAG chain - if (ir != JTAG_DPACC) { - ir = JTAG_DPACC; - JTAG_IR(ir); - } - if (post_read) { - // Read previous data - retry = DAP_Data.transfer.retry_count; - do { - response_value = JTAG_Transfer(DP_RDBUFF | DAP_TRANSFER_RnW, &data); - } while ((response_value == DAP_TRANSFER_WAIT) && retry-- && !DAP_TransferAbort); - if (response_value != DAP_TRANSFER_OK) { - goto end; - } - // Store previous data - *response++ = (uint8_t) data; - *response++ = (uint8_t)(data >> 8); - *response++ = (uint8_t)(data >> 16); - *response++ = (uint8_t)(data >> 24); - } else { - // Check last write - retry = DAP_Data.transfer.retry_count; - do { - response_value = JTAG_Transfer(DP_RDBUFF | DAP_TRANSFER_RnW, NULL); - } while ((response_value == DAP_TRANSFER_WAIT) && retry-- && !DAP_TransferAbort); - } - } - -end: - *(response_head+0) = (uint8_t)response_count; - *(response_head+1) = (uint8_t)response_value; - - return (((uint32_t)(request - request_head) << 16) | (uint32_t)(response - response_head)); -} -#endif - - -// Process Dummy Transfer command and prepare response -// request: pointer to request data -// response: pointer to response data -// return: number of bytes in response (lower 16 bits) -// number of bytes in request (upper 16 bits) -static uint32_t DAP_Dummy_Transfer(const uint8_t *request, uint8_t *response) { - const - uint8_t *request_head; - uint32_t request_count; - uint32_t request_value; - - request_head = request; - - request++; // Ignore DAP index - - request_count = *request++; - - for (; request_count != 0U; request_count--) { - // Process dummy requests - request_value = *request++; - if ((request_value & DAP_TRANSFER_RnW) != 0U) { - // Read register - if ((request_value & DAP_TRANSFER_MATCH_VALUE) != 0U) { - // Read with value match - request += 4; - } - } else { - // Write register - request += 4; - } - } - - *(response+0) = 0U; // Response count - *(response+1) = 0U; // Response value - - return (((uint32_t)(request - request_head) << 16) | 2U); -} - - -// Process Transfer command and prepare response -// request: pointer to request data -// response: pointer to response data -// return: number of bytes in response (lower 16 bits) -// number of bytes in request (upper 16 bits) -static uint32_t DAP_Transfer(const uint8_t *request, uint8_t *response) { - uint32_t num; - - switch (DAP_Data.debug_port) { -#if (DAP_SWD != 0) - case DAP_PORT_SWD: - num = DAP_SWD_Transfer(request, response); - break; -#endif -#if (DAP_JTAG != 0) - case DAP_PORT_JTAG: - num = DAP_JTAG_Transfer(request, response); - break; -#endif - default: - num = DAP_Dummy_Transfer(request, response); - break; - } - - return (num); -} - - -// Process SWD Transfer Block command and prepare response -// request: pointer to request data -// response: pointer to response data -// return: number of bytes in response -#if (DAP_SWD != 0) -static uint32_t DAP_SWD_TransferBlock(const uint8_t *request, uint8_t *response) { - uint32_t request_count; - uint32_t request_value; - uint32_t response_count; - uint32_t response_value; - uint8_t *response_head; - uint32_t retry; - uint32_t data; - - response_count = 0U; - response_value = 0U; - response_head = response; - response += 3; - - DAP_TransferAbort = 0U; - - request++; // Ignore DAP index - - request_count = (uint32_t)(*(request+0) << 0) | - (uint32_t)(*(request+1) << 8); - request += 2; - if (request_count == 0U) { - goto end; - } - - request_value = *request++; - if ((request_value & DAP_TRANSFER_RnW) != 0U) { - // Read register block - if ((request_value & DAP_TRANSFER_APnDP) != 0U) { - // Post AP read - retry = DAP_Data.transfer.retry_count; - do { - response_value = SWD_Transfer(request_value, NULL); - } while ((response_value == DAP_TRANSFER_WAIT) && retry-- && !DAP_TransferAbort); - if (response_value != DAP_TRANSFER_OK) { - goto end; - } - } - while (request_count--) { - // Read DP/AP register - if ((request_count == 0U) && ((request_value & DAP_TRANSFER_APnDP) != 0U)) { - // Last AP read - request_value = DP_RDBUFF | DAP_TRANSFER_RnW; - } - retry = DAP_Data.transfer.retry_count; - do { - response_value = SWD_Transfer(request_value, &data); - } while ((response_value == DAP_TRANSFER_WAIT) && retry-- && !DAP_TransferAbort); - if (response_value != DAP_TRANSFER_OK) { - goto end; - } - // Store data - *response++ = (uint8_t) data; - *response++ = (uint8_t)(data >> 8); - *response++ = (uint8_t)(data >> 16); - *response++ = (uint8_t)(data >> 24); - response_count++; - } - } else { - // Write register block - while (request_count--) { - // Load data - data = (uint32_t)(*(request+0) << 0) | - (uint32_t)(*(request+1) << 8) | - (uint32_t)(*(request+2) << 16) | - (uint32_t)(*(request+3) << 24); - request += 4; - // Write DP/AP register - retry = DAP_Data.transfer.retry_count; - do { - response_value = SWD_Transfer(request_value, &data); - } while ((response_value == DAP_TRANSFER_WAIT) && retry-- && !DAP_TransferAbort); - if (response_value != DAP_TRANSFER_OK) { - goto end; - } - response_count++; - } - // Check last write - retry = DAP_Data.transfer.retry_count; - do { - response_value = SWD_Transfer(DP_RDBUFF | DAP_TRANSFER_RnW, NULL); - } while ((response_value == DAP_TRANSFER_WAIT) && retry-- && !DAP_TransferAbort); - } - -end: - *(response_head+0) = (uint8_t)(response_count >> 0); - *(response_head+1) = (uint8_t)(response_count >> 8); - *(response_head+2) = (uint8_t) response_value; - - return ((uint32_t)(response - response_head)); -} -#endif - - -// Process JTAG Transfer Block command and prepare response -// request: pointer to request data -// response: pointer to response data -// return: number of bytes in response -#if (DAP_JTAG != 0) -static uint32_t DAP_JTAG_TransferBlock(const uint8_t *request, uint8_t *response) { - uint32_t request_count; - uint32_t request_value; - uint32_t response_count; - uint32_t response_value; - uint8_t *response_head; - uint32_t retry; - uint32_t data; - uint32_t ir; - - response_count = 0U; - response_value = 0U; - response_head = response; - response += 3; - - DAP_TransferAbort = 0U; - - // Device index (JTAP TAP) - DAP_Data.jtag_dev.index = *request++; - if (DAP_Data.jtag_dev.index >= DAP_Data.jtag_dev.count) { - goto end; - } - - request_count = (uint32_t)(*(request+0) << 0) | - (uint32_t)(*(request+1) << 8); - request += 2; - if (request_count == 0U) { - goto end; - } - - request_value = *request++; - - // Select JTAG chain - ir = (request_value & DAP_TRANSFER_APnDP) ? JTAG_APACC : JTAG_DPACC; - JTAG_IR(ir); - - if ((request_value & DAP_TRANSFER_RnW) != 0U) { - // Post read - retry = DAP_Data.transfer.retry_count; - do { - response_value = JTAG_Transfer(request_value, NULL); - } while ((response_value == DAP_TRANSFER_WAIT) && retry-- && !DAP_TransferAbort); - if (response_value != DAP_TRANSFER_OK) { - goto end; - } - // Read register block - while (request_count--) { - // Read DP/AP register - if (request_count == 0U) { - // Last read - if (ir != JTAG_DPACC) { - JTAG_IR(JTAG_DPACC); - } - request_value = DP_RDBUFF | DAP_TRANSFER_RnW; - } - retry = DAP_Data.transfer.retry_count; - do { - response_value = JTAG_Transfer(request_value, &data); - } while ((response_value == DAP_TRANSFER_WAIT) && retry-- && !DAP_TransferAbort); - if (response_value != DAP_TRANSFER_OK) { - goto end; - } - // Store data - *response++ = (uint8_t) data; - *response++ = (uint8_t)(data >> 8); - *response++ = (uint8_t)(data >> 16); - *response++ = (uint8_t)(data >> 24); - response_count++; - } - } else { - // Write register block - while (request_count--) { - // Load data - data = (uint32_t)(*(request+0) << 0) | - (uint32_t)(*(request+1) << 8) | - (uint32_t)(*(request+2) << 16) | - (uint32_t)(*(request+3) << 24); - request += 4; - // Write DP/AP register - retry = DAP_Data.transfer.retry_count; - do { - response_value = JTAG_Transfer(request_value, &data); - } while ((response_value == DAP_TRANSFER_WAIT) && retry-- && !DAP_TransferAbort); - if (response_value != DAP_TRANSFER_OK) { - goto end; - } - response_count++; - } - // Check last write - if (ir != JTAG_DPACC) { - JTAG_IR(JTAG_DPACC); - } - retry = DAP_Data.transfer.retry_count; - do { - response_value = JTAG_Transfer(DP_RDBUFF | DAP_TRANSFER_RnW, NULL); - } while ((response_value == DAP_TRANSFER_WAIT) && retry-- && !DAP_TransferAbort); - } - -end: - *(response_head+0) = (uint8_t)(response_count >> 0); - *(response_head+1) = (uint8_t)(response_count >> 8); - *(response_head+2) = (uint8_t) response_value; - - return ((uint32_t)(response - response_head)); -} -#endif - - -// Process Transfer Block command and prepare response -// request: pointer to request data -// response: pointer to response data -// return: number of bytes in response (lower 16 bits) -// number of bytes in request (upper 16 bits) -static uint32_t DAP_TransferBlock(const uint8_t *request, uint8_t *response) { - uint32_t num; - - switch (DAP_Data.debug_port) { -#if (DAP_SWD != 0) - case DAP_PORT_SWD: - num = DAP_SWD_TransferBlock (request, response); - break; -#endif -#if (DAP_JTAG != 0) - case DAP_PORT_JTAG: - num = DAP_JTAG_TransferBlock(request, response); - break; -#endif - default: - *(response+0) = 0U; // Response count [7:0] - *(response+1) = 0U; // Response count[15:8] - *(response+2) = 0U; // Response value - num = 3U; - break; - } - - if ((*(request+3) & DAP_TRANSFER_RnW) != 0U) { - // Read register block - num |= 4U << 16; - } else { - // Write register block - num |= (4U + (((uint32_t)(*(request+1)) | (uint32_t)(*(request+2) << 8)) * 4)) << 16; - } - - return (num); -} - - -// Process SWD Write ABORT command and prepare response -// request: pointer to request data -// response: pointer to response data -// return: number of bytes in response -#if (DAP_SWD != 0) -static uint32_t DAP_SWD_WriteAbort(const uint8_t *request, uint8_t *response) { - uint32_t data; - - // Load data (Ignore DAP index) - data = (uint32_t)(*(request+1) << 0) | - (uint32_t)(*(request+2) << 8) | - (uint32_t)(*(request+3) << 16) | - (uint32_t)(*(request+4) << 24); - - // Write Abort register - SWD_Transfer(DP_ABORT, &data); - - *response = DAP_OK; - return (1U); -} -#endif - - -// Process JTAG Write ABORT command and prepare response -// request: pointer to request data -// response: pointer to response data -// return: number of bytes in response -#if (DAP_JTAG != 0) -static uint32_t DAP_JTAG_WriteAbort(const uint8_t *request, uint8_t *response) { - uint32_t data; - - // Device index (JTAP TAP) - DAP_Data.jtag_dev.index = *request; - if (DAP_Data.jtag_dev.index >= DAP_Data.jtag_dev.count) { - *response = DAP_ERROR; - return (1U); - } - - // Select JTAG chain - JTAG_IR(JTAG_ABORT); - - // Load data - data = (uint32_t)(*(request+1) << 0) | - (uint32_t)(*(request+2) << 8) | - (uint32_t)(*(request+3) << 16) | - (uint32_t)(*(request+4) << 24); - - // Write Abort register - JTAG_WriteAbort(data); - - *response = DAP_OK; - return (1U); -} -#endif - - -// Process Write ABORT command and prepare response -// request: pointer to request data -// response: pointer to response data -// return: number of bytes in response (lower 16 bits) -// number of bytes in request (upper 16 bits) -static uint32_t DAP_WriteAbort(const uint8_t *request, uint8_t *response) { - uint32_t num; - - switch (DAP_Data.debug_port) { -#if (DAP_SWD != 0) - case DAP_PORT_SWD: - num = DAP_SWD_WriteAbort (request, response); - break; -#endif -#if (DAP_JTAG != 0) - case DAP_PORT_JTAG: - num = DAP_JTAG_WriteAbort(request, response); - break; -#endif - default: - *response = DAP_ERROR; - num = 1U; - break; - } - return ((5U << 16) | num); -} - - -// Process DAP Vendor command request and prepare response -// Default function (can be overridden) -// request: pointer to request data -// response: pointer to response data -// return: number of bytes in response (lower 16 bits) -// number of bytes in request (upper 16 bits) -__WEAK uint32_t DAP_ProcessVendorCommand(const uint8_t *request, uint8_t *response) { - (void)request; - *response = ID_DAP_Invalid; - return ((1U << 16) | 1U); -} - - -// Process DAP command request and prepare response -// request: pointer to request data -// response: pointer to response data -// return: number of bytes in response (lower 16 bits) -// number of bytes in request (upper 16 bits) -uint32_t DAP_ProcessCommand(const uint8_t *request, uint8_t *response) { - uint32_t num; - - if ((*request >= ID_DAP_Vendor0) && (*request <= ID_DAP_Vendor31)) { - return DAP_ProcessVendorCommand(request, response); - } - - *response++ = *request; - - switch (*request++) { - case ID_DAP_Info: - num = DAP_Info(*request, response+1); - *response = (uint8_t)num; - return ((2U << 16) + 2U + num); - - case ID_DAP_HostStatus: - num = DAP_HostStatus(request, response); - break; - - case ID_DAP_Connect: - num = DAP_Connect(request, response); - break; - case ID_DAP_Disconnect: - num = DAP_Disconnect(response); - break; - - case ID_DAP_Delay: - num = DAP_Delay(request, response); - break; - - case ID_DAP_ResetTarget: - num = DAP_ResetTarget(response); - break; - - case ID_DAP_SWJ_Pins: - num = DAP_SWJ_Pins(request, response); - break; - case ID_DAP_SWJ_Clock: - num = DAP_SWJ_Clock(request, response); - break; - case ID_DAP_SWJ_Sequence: - num = DAP_SWJ_Sequence(request, response); - break; - - case ID_DAP_SWD_Configure: - num = DAP_SWD_Configure(request, response); - break; - case ID_DAP_SWD_Sequence: - num = DAP_SWD_Sequence(request, response); - break; - - case ID_DAP_JTAG_Sequence: - num = DAP_JTAG_Sequence(request, response); - break; - case ID_DAP_JTAG_Configure: - num = DAP_JTAG_Configure(request, response); - break; - case ID_DAP_JTAG_IDCODE: - num = DAP_JTAG_IDCode(request, response); - break; - - case ID_DAP_TransferConfigure: - num = DAP_TransferConfigure(request, response); - break; - case ID_DAP_Transfer: - num = DAP_Transfer(request, response); - break; - case ID_DAP_TransferBlock: - num = DAP_TransferBlock(request, response); - break; - - case ID_DAP_WriteABORT: - num = DAP_WriteAbort(request, response); - break; - -#if ((SWO_UART != 0) || (SWO_MANCHESTER != 0)) - case ID_DAP_SWO_Transport: - num = SWO_Transport(request, response); - break; - case ID_DAP_SWO_Mode: - num = SWO_Mode(request, response); - break; - case ID_DAP_SWO_Baudrate: - num = SWO_Baudrate(request, response); - break; - case ID_DAP_SWO_Control: - num = SWO_Control(request, response); - break; - case ID_DAP_SWO_Status: - num = SWO_Status(response); - break; - case ID_DAP_SWO_ExtendedStatus: - num = SWO_ExtendedStatus(request, response); - break; - case ID_DAP_SWO_Data: - num = SWO_Data(request, response); - break; -#endif - -#if (DAP_UART != 0) - case ID_DAP_UART_Transport: - num = UART_Transport(request, response); - break; - case ID_DAP_UART_Configure: - num = UART_Configure(request, response); - break; - case ID_DAP_UART_Control: - num = UART_Control(request, response); - break; - case ID_DAP_UART_Status: - num = UART_Status(response); - break; - case ID_DAP_UART_Transfer: - num = UART_Transfer(request, response); - break; -#endif - - default: - *(response-1) = ID_DAP_Invalid; - return ((1U << 16) | 1U); - } - - return ((1U << 16) + 1U + num); -} - - -// Execute DAP command (process request and prepare response) -// request: pointer to request data -// response: pointer to response data -// return: number of bytes in response (lower 16 bits) -// number of bytes in request (upper 16 bits) -uint32_t DAP_ExecuteCommand(const uint8_t *request, uint8_t *response) { - uint32_t cnt, num, n; - - if (*request == ID_DAP_ExecuteCommands) { - *response++ = *request++; - cnt = *request++; - *response++ = (uint8_t)cnt; - num = (2U << 16) | 2U; - while (cnt--) { - n = DAP_ProcessCommand(request, response); - num += n; - request += (uint16_t)(n >> 16); - response += (uint16_t) n; - } - return (num); - } - - return DAP_ProcessCommand(request, response); -} - - -// Setup DAP -void DAP_Setup(void) { - - // Default settings - DAP_Data.debug_port = 0U; - DAP_Data.transfer.idle_cycles = 0U; - DAP_Data.transfer.retry_count = 100U; - DAP_Data.transfer.match_retry = 0U; - DAP_Data.transfer.match_mask = 0x00000000U; -#if (DAP_SWD != 0) - DAP_Data.swd_conf.turnaround = 1U; - DAP_Data.swd_conf.data_phase = 0U; -#endif -#if (DAP_JTAG != 0) - DAP_Data.jtag_dev.count = 0U; -#endif - - // Sets DAP_Data.fast_clock and DAP_Data.clock_delay. - Set_Clock_Delay(DAP_DEFAULT_SWJ_CLOCK); - - DAP_SETUP(); // Device specific setup -} diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Source/DAP_vendor.c b/external/CMSIS_5/CMSIS/DAP/Firmware/Source/DAP_vendor.c deleted file mode 100644 index 4f2477a..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Source/DAP_vendor.c +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright (c) 2013-2017 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ---------------------------------------------------------------------- - * - * $Date: 1. December 2017 - * $Revision: V2.0.0 - * - * Project: CMSIS-DAP Source - * Title: DAP_vendor.c CMSIS-DAP Vendor Commands - * - *---------------------------------------------------------------------------*/ - -#include "DAP_config.h" -#include "DAP.h" - -//************************************************************************************************** -/** -\defgroup DAP_Vendor_Adapt_gr Adapt Vendor Commands -\ingroup DAP_Vendor_gr -@{ - -The file DAP_vendor.c provides template source code for extension of a Debug Unit with -Vendor Commands. Copy this file to the project folder of the Debug Unit and add the -file to the MDK-ARM project under the file group Configuration. -*/ - -/** Process DAP Vendor Command and prepare Response Data -\param request pointer to request data -\param response pointer to response data -\return number of bytes in response (lower 16 bits) - number of bytes in request (upper 16 bits) -*/ -uint32_t DAP_ProcessVendorCommand(const uint8_t *request, uint8_t *response) { - uint32_t num = (1U << 16) | 1U; - - *response++ = *request; // copy Command ID - - switch (*request++) { // first byte in request is Command ID - case ID_DAP_Vendor0: -#if 0 // example user command - num += 1U << 16; // increment request count - if (*request == 1U) { // when first command data byte is 1 - *response++ = 'X'; // send 'X' as response - num++; // increment response count - } -#endif - break; - - case ID_DAP_Vendor1: break; - case ID_DAP_Vendor2: break; - case ID_DAP_Vendor3: break; - case ID_DAP_Vendor4: break; - case ID_DAP_Vendor5: break; - case ID_DAP_Vendor6: break; - case ID_DAP_Vendor7: break; - case ID_DAP_Vendor8: break; - case ID_DAP_Vendor9: break; - case ID_DAP_Vendor10: break; - case ID_DAP_Vendor11: break; - case ID_DAP_Vendor12: break; - case ID_DAP_Vendor13: break; - case ID_DAP_Vendor14: break; - case ID_DAP_Vendor15: break; - case ID_DAP_Vendor16: break; - case ID_DAP_Vendor17: break; - case ID_DAP_Vendor18: break; - case ID_DAP_Vendor19: break; - case ID_DAP_Vendor20: break; - case ID_DAP_Vendor21: break; - case ID_DAP_Vendor22: break; - case ID_DAP_Vendor23: break; - case ID_DAP_Vendor24: break; - case ID_DAP_Vendor25: break; - case ID_DAP_Vendor26: break; - case ID_DAP_Vendor27: break; - case ID_DAP_Vendor28: break; - case ID_DAP_Vendor29: break; - case ID_DAP_Vendor30: break; - case ID_DAP_Vendor31: break; - } - - return (num); -} - -///@} diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Source/JTAG_DP.c b/external/CMSIS_5/CMSIS/DAP/Firmware/Source/JTAG_DP.c deleted file mode 100644 index 24b1f3f..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Source/JTAG_DP.c +++ /dev/null @@ -1,370 +0,0 @@ -/* - * Copyright (c) 2013-2017 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ---------------------------------------------------------------------- - * - * $Date: 1. December 2017 - * $Revision: V2.0.0 - * - * Project: CMSIS-DAP Source - * Title: JTAG_DP.c CMSIS-DAP JTAG DP I/O - * - *---------------------------------------------------------------------------*/ - -#include "DAP_config.h" -#include "DAP.h" - - -// JTAG Macros - -#define PIN_TCK_SET PIN_SWCLK_TCK_SET -#define PIN_TCK_CLR PIN_SWCLK_TCK_CLR -#define PIN_TMS_SET PIN_SWDIO_TMS_SET -#define PIN_TMS_CLR PIN_SWDIO_TMS_CLR - -#define JTAG_CYCLE_TCK() \ - PIN_TCK_CLR(); \ - PIN_DELAY(); \ - PIN_TCK_SET(); \ - PIN_DELAY() - -#define JTAG_CYCLE_TDI(tdi) \ - PIN_TDI_OUT(tdi); \ - PIN_TCK_CLR(); \ - PIN_DELAY(); \ - PIN_TCK_SET(); \ - PIN_DELAY() - -#define JTAG_CYCLE_TDO(tdo) \ - PIN_TCK_CLR(); \ - PIN_DELAY(); \ - tdo = PIN_TDO_IN(); \ - PIN_TCK_SET(); \ - PIN_DELAY() - -#define JTAG_CYCLE_TDIO(tdi,tdo) \ - PIN_TDI_OUT(tdi); \ - PIN_TCK_CLR(); \ - PIN_DELAY(); \ - tdo = PIN_TDO_IN(); \ - PIN_TCK_SET(); \ - PIN_DELAY() - -#define PIN_DELAY() PIN_DELAY_SLOW(DAP_Data.clock_delay) - - -#if (DAP_JTAG != 0) - - -// Generate JTAG Sequence -// info: sequence information -// tdi: pointer to TDI generated data -// tdo: pointer to TDO captured data -// return: none -void JTAG_Sequence (uint32_t info, const uint8_t *tdi, uint8_t *tdo) { - uint32_t i_val; - uint32_t o_val; - uint32_t bit; - uint32_t n, k; - - n = info & JTAG_SEQUENCE_TCK; - if (n == 0U) { - n = 64U; - } - - if (info & JTAG_SEQUENCE_TMS) { - PIN_TMS_SET(); - } else { - PIN_TMS_CLR(); - } - - while (n) { - i_val = *tdi++; - o_val = 0U; - for (k = 8U; k && n; k--, n--) { - JTAG_CYCLE_TDIO(i_val, bit); - i_val >>= 1; - o_val >>= 1; - o_val |= bit << 7; - } - o_val >>= k; - if (info & JTAG_SEQUENCE_TDO) { - *tdo++ = (uint8_t)o_val; - } - } -} - - -// JTAG Set IR -// ir: IR value -// return: none -#define JTAG_IR_Function(speed) /**/ \ -static void JTAG_IR_##speed (uint32_t ir) { \ - uint32_t n; \ - \ - PIN_TMS_SET(); \ - JTAG_CYCLE_TCK(); /* Select-DR-Scan */ \ - JTAG_CYCLE_TCK(); /* Select-IR-Scan */ \ - PIN_TMS_CLR(); \ - JTAG_CYCLE_TCK(); /* Capture-IR */ \ - JTAG_CYCLE_TCK(); /* Shift-IR */ \ - \ - PIN_TDI_OUT(1U); \ - for (n = DAP_Data.jtag_dev.ir_before[DAP_Data.jtag_dev.index]; n; n--) { \ - JTAG_CYCLE_TCK(); /* Bypass before data */ \ - } \ - for (n = DAP_Data.jtag_dev.ir_length[DAP_Data.jtag_dev.index] - 1U; n; n--) { \ - JTAG_CYCLE_TDI(ir); /* Set IR bits (except last) */ \ - ir >>= 1; \ - } \ - n = DAP_Data.jtag_dev.ir_after[DAP_Data.jtag_dev.index]; \ - if (n) { \ - JTAG_CYCLE_TDI(ir); /* Set last IR bit */ \ - PIN_TDI_OUT(1U); \ - for (--n; n; n--) { \ - JTAG_CYCLE_TCK(); /* Bypass after data */ \ - } \ - PIN_TMS_SET(); \ - JTAG_CYCLE_TCK(); /* Bypass & Exit1-IR */ \ - } else { \ - PIN_TMS_SET(); \ - JTAG_CYCLE_TDI(ir); /* Set last IR bit & Exit1-IR */ \ - } \ - \ - JTAG_CYCLE_TCK(); /* Update-IR */ \ - PIN_TMS_CLR(); \ - JTAG_CYCLE_TCK(); /* Idle */ \ - PIN_TDI_OUT(1U); \ -} - - -// JTAG Transfer I/O -// request: A[3:2] RnW APnDP -// data: DATA[31:0] -// return: ACK[2:0] -#define JTAG_TransferFunction(speed) /**/ \ -static uint8_t JTAG_Transfer##speed (uint32_t request, uint32_t *data) { \ - uint32_t ack; \ - uint32_t bit; \ - uint32_t val; \ - uint32_t n; \ - \ - PIN_TMS_SET(); \ - JTAG_CYCLE_TCK(); /* Select-DR-Scan */ \ - PIN_TMS_CLR(); \ - JTAG_CYCLE_TCK(); /* Capture-DR */ \ - JTAG_CYCLE_TCK(); /* Shift-DR */ \ - \ - for (n = DAP_Data.jtag_dev.index; n; n--) { \ - JTAG_CYCLE_TCK(); /* Bypass before data */ \ - } \ - \ - JTAG_CYCLE_TDIO(request >> 1, bit); /* Set RnW, Get ACK.0 */ \ - ack = bit << 1; \ - JTAG_CYCLE_TDIO(request >> 2, bit); /* Set A2, Get ACK.1 */ \ - ack |= bit << 0; \ - JTAG_CYCLE_TDIO(request >> 3, bit); /* Set A3, Get ACK.2 */ \ - ack |= bit << 2; \ - \ - if (ack != DAP_TRANSFER_OK) { \ - /* Exit on error */ \ - PIN_TMS_SET(); \ - JTAG_CYCLE_TCK(); /* Exit1-DR */ \ - goto exit; \ - } \ - \ - if (request & DAP_TRANSFER_RnW) { \ - /* Read Transfer */ \ - val = 0U; \ - for (n = 31U; n; n--) { \ - JTAG_CYCLE_TDO(bit); /* Get D0..D30 */ \ - val |= bit << 31; \ - val >>= 1; \ - } \ - n = DAP_Data.jtag_dev.count - DAP_Data.jtag_dev.index - 1U; \ - if (n) { \ - JTAG_CYCLE_TDO(bit); /* Get D31 */ \ - for (--n; n; n--) { \ - JTAG_CYCLE_TCK(); /* Bypass after data */ \ - } \ - PIN_TMS_SET(); \ - JTAG_CYCLE_TCK(); /* Bypass & Exit1-DR */ \ - } else { \ - PIN_TMS_SET(); \ - JTAG_CYCLE_TDO(bit); /* Get D31 & Exit1-DR */ \ - } \ - val |= bit << 31; \ - if (data) { *data = val; } \ - } else { \ - /* Write Transfer */ \ - val = *data; \ - for (n = 31U; n; n--) { \ - JTAG_CYCLE_TDI(val); /* Set D0..D30 */ \ - val >>= 1; \ - } \ - n = DAP_Data.jtag_dev.count - DAP_Data.jtag_dev.index - 1U; \ - if (n) { \ - JTAG_CYCLE_TDI(val); /* Set D31 */ \ - for (--n; n; n--) { \ - JTAG_CYCLE_TCK(); /* Bypass after data */ \ - } \ - PIN_TMS_SET(); \ - JTAG_CYCLE_TCK(); /* Bypass & Exit1-DR */ \ - } else { \ - PIN_TMS_SET(); \ - JTAG_CYCLE_TDI(val); /* Set D31 & Exit1-DR */ \ - } \ - } \ - \ -exit: \ - JTAG_CYCLE_TCK(); /* Update-DR */ \ - PIN_TMS_CLR(); \ - JTAG_CYCLE_TCK(); /* Idle */ \ - PIN_TDI_OUT(1U); \ - \ - /* Capture Timestamp */ \ - if (request & DAP_TRANSFER_TIMESTAMP) { \ - DAP_Data.timestamp = TIMESTAMP_GET(); \ - } \ - \ - /* Idle cycles */ \ - n = DAP_Data.transfer.idle_cycles; \ - while (n--) { \ - JTAG_CYCLE_TCK(); /* Idle */ \ - } \ - \ - return ((uint8_t)ack); \ -} - - -#undef PIN_DELAY -#define PIN_DELAY() PIN_DELAY_FAST() -JTAG_IR_Function(Fast) -JTAG_TransferFunction(Fast) - -#undef PIN_DELAY -#define PIN_DELAY() PIN_DELAY_SLOW(DAP_Data.clock_delay) -JTAG_IR_Function(Slow) -JTAG_TransferFunction(Slow) - - -// JTAG Read IDCODE register -// return: value read -uint32_t JTAG_ReadIDCode (void) { - uint32_t bit; - uint32_t val; - uint32_t n; - - PIN_TMS_SET(); - JTAG_CYCLE_TCK(); /* Select-DR-Scan */ - PIN_TMS_CLR(); - JTAG_CYCLE_TCK(); /* Capture-DR */ - JTAG_CYCLE_TCK(); /* Shift-DR */ - - for (n = DAP_Data.jtag_dev.index; n; n--) { - JTAG_CYCLE_TCK(); /* Bypass before data */ - } - - val = 0U; - for (n = 31U; n; n--) { - JTAG_CYCLE_TDO(bit); /* Get D0..D30 */ - val |= bit << 31; - val >>= 1; - } - PIN_TMS_SET(); - JTAG_CYCLE_TDO(bit); /* Get D31 & Exit1-DR */ - val |= bit << 31; - - JTAG_CYCLE_TCK(); /* Update-DR */ - PIN_TMS_CLR(); - JTAG_CYCLE_TCK(); /* Idle */ - - return (val); -} - - -// JTAG Write ABORT register -// data: value to write -// return: none -void JTAG_WriteAbort (uint32_t data) { - uint32_t n; - - PIN_TMS_SET(); - JTAG_CYCLE_TCK(); /* Select-DR-Scan */ - PIN_TMS_CLR(); - JTAG_CYCLE_TCK(); /* Capture-DR */ - JTAG_CYCLE_TCK(); /* Shift-DR */ - - for (n = DAP_Data.jtag_dev.index; n; n--) { - JTAG_CYCLE_TCK(); /* Bypass before data */ - } - - PIN_TDI_OUT(0U); - JTAG_CYCLE_TCK(); /* Set RnW=0 (Write) */ - JTAG_CYCLE_TCK(); /* Set A2=0 */ - JTAG_CYCLE_TCK(); /* Set A3=0 */ - - for (n = 31U; n; n--) { - JTAG_CYCLE_TDI(data); /* Set D0..D30 */ - data >>= 1; - } - n = DAP_Data.jtag_dev.count - DAP_Data.jtag_dev.index - 1U; - if (n) { - JTAG_CYCLE_TDI(data); /* Set D31 */ - for (--n; n; n--) { - JTAG_CYCLE_TCK(); /* Bypass after data */ - } - PIN_TMS_SET(); - JTAG_CYCLE_TCK(); /* Bypass & Exit1-DR */ - } else { - PIN_TMS_SET(); - JTAG_CYCLE_TDI(data); /* Set D31 & Exit1-DR */ - } - - JTAG_CYCLE_TCK(); /* Update-DR */ - PIN_TMS_CLR(); - JTAG_CYCLE_TCK(); /* Idle */ - PIN_TDI_OUT(1U); -} - - -// JTAG Set IR -// ir: IR value -// return: none -void JTAG_IR (uint32_t ir) { - if (DAP_Data.fast_clock) { - JTAG_IR_Fast(ir); - } else { - JTAG_IR_Slow(ir); - } -} - - -// JTAG Transfer I/O -// request: A[3:2] RnW APnDP -// data: DATA[31:0] -// return: ACK[2:0] -uint8_t JTAG_Transfer(uint32_t request, uint32_t *data) { - if (DAP_Data.fast_clock) { - return JTAG_TransferFast(request, data); - } else { - return JTAG_TransferSlow(request, data); - } -} - - -#endif /* (DAP_JTAG != 0) */ diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Source/SWO.c b/external/CMSIS_5/CMSIS/DAP/Firmware/Source/SWO.c deleted file mode 100644 index 4a850cf..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Source/SWO.c +++ /dev/null @@ -1,798 +0,0 @@ -/* - * Copyright (c) 2013-2021 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ---------------------------------------------------------------------- - * - * $Date: 29. March 2021 - * $Revision: V2.0.1 - * - * Project: CMSIS-DAP Source - * Title: SWO.c CMSIS-DAP SWO I/O - * - *---------------------------------------------------------------------------*/ - -#include "DAP_config.h" -#include "DAP.h" -#if (SWO_UART != 0) -#include "Driver_USART.h" -#endif -#if (SWO_STREAM != 0) -#include "cmsis_os2.h" -#define osObjectsExternal -#include "osObjects.h" -#endif - -#if (SWO_STREAM != 0) -#ifdef DAP_FW_V1 -#error "SWO Streaming Trace not supported in DAP V1!" -#endif -#endif - -#if (SWO_UART != 0) - -// USART Driver -#define _USART_Driver_(n) Driver_USART##n -#define USART_Driver_(n) _USART_Driver_(n) -extern ARM_DRIVER_USART USART_Driver_(SWO_UART_DRIVER); -#define pUSART (&USART_Driver_(SWO_UART_DRIVER)) - -static uint8_t USART_Ready = 0U; - -#endif /* (SWO_UART != 0) */ - - -#if ((SWO_UART != 0) || (SWO_MANCHESTER != 0)) - - -#define SWO_STREAM_TIMEOUT 50U /* Stream timeout in ms */ - -#define USB_BLOCK_SIZE 512U /* USB Block Size */ -#define TRACE_BLOCK_SIZE 64U /* Trace Block Size (2^n: 32...512) */ - -// Trace State -static uint8_t TraceTransport = 0U; /* Trace Transport */ -static uint8_t TraceMode = 0U; /* Trace Mode */ -static uint8_t TraceStatus = 0U; /* Trace Status without Errors */ -static uint8_t TraceError[2] = {0U, 0U}; /* Trace Error flags (banked) */ -static uint8_t TraceError_n = 0U; /* Active Trace Error bank */ - -// Trace Buffer -static uint8_t TraceBuf[SWO_BUFFER_SIZE]; /* Trace Buffer (must be 2^n) */ -static volatile uint32_t TraceIndexI = 0U; /* Incoming Trace Index */ -static volatile uint32_t TraceIndexO = 0U; /* Outgoing Trace Index */ -static volatile uint8_t TraceUpdate; /* Trace Update Flag */ -static uint32_t TraceBlockSize; /* Current Trace Block Size */ - -#if (TIMESTAMP_CLOCK != 0U) -// Trace Timestamp -static volatile struct { - uint32_t index; - uint32_t tick; -} TraceTimestamp; -#endif - -// Trace Helper functions -static void ClearTrace (void); -static void ResumeTrace (void); -static uint32_t GetTraceCount (void); -static uint8_t GetTraceStatus (void); -static void SetTraceError (uint8_t flag); - -#if (SWO_STREAM != 0) -extern osThreadId_t SWO_ThreadId; -static volatile uint8_t TransferBusy = 0U; /* Transfer Busy Flag */ -static uint32_t TransferSize; /* Current Transfer Size */ -#endif - - -#if (SWO_UART != 0) - -// USART Driver Callback function -// event: event mask -static void USART_Callback (uint32_t event) { - uint32_t index_i; - uint32_t index_o; - uint32_t count; - uint32_t num; - - if (event & ARM_USART_EVENT_RECEIVE_COMPLETE) { -#if (TIMESTAMP_CLOCK != 0U) - TraceTimestamp.tick = TIMESTAMP_GET(); -#endif - index_o = TraceIndexO; - index_i = TraceIndexI; - index_i += TraceBlockSize; - TraceIndexI = index_i; -#if (TIMESTAMP_CLOCK != 0U) - TraceTimestamp.index = index_i; -#endif - num = TRACE_BLOCK_SIZE - (index_i & (TRACE_BLOCK_SIZE - 1U)); - count = index_i - index_o; - if (count <= (SWO_BUFFER_SIZE - num)) { - index_i &= SWO_BUFFER_SIZE - 1U; - TraceBlockSize = num; - pUSART->Receive(&TraceBuf[index_i], num); - } else { - TraceStatus = DAP_SWO_CAPTURE_ACTIVE | DAP_SWO_CAPTURE_PAUSED; - } - TraceUpdate = 1U; -#if (SWO_STREAM != 0) - if (TraceTransport == 2U) { - if (count >= (USB_BLOCK_SIZE - (index_o & (USB_BLOCK_SIZE - 1U)))) { - osThreadFlagsSet(SWO_ThreadId, 1U); - } - } -#endif - } - if (event & ARM_USART_EVENT_RX_OVERFLOW) { - SetTraceError(DAP_SWO_BUFFER_OVERRUN); - } - if (event & (ARM_USART_EVENT_RX_BREAK | - ARM_USART_EVENT_RX_FRAMING_ERROR | - ARM_USART_EVENT_RX_PARITY_ERROR)) { - SetTraceError(DAP_SWO_STREAM_ERROR); - } -} - -// Enable or disable SWO Mode (UART) -// enable: enable flag -// return: 1 - Success, 0 - Error -__WEAK uint32_t SWO_Mode_UART (uint32_t enable) { - int32_t status; - - USART_Ready = 0U; - - if (enable != 0U) { - status = pUSART->Initialize(USART_Callback); - if (status != ARM_DRIVER_OK) { - return (0U); - } - status = pUSART->PowerControl(ARM_POWER_FULL); - if (status != ARM_DRIVER_OK) { - pUSART->Uninitialize(); - return (0U); - } - } else { - pUSART->Control(ARM_USART_CONTROL_RX, 0U); - pUSART->Control(ARM_USART_ABORT_RECEIVE, 0U); - pUSART->PowerControl(ARM_POWER_OFF); - pUSART->Uninitialize(); - } - return (1U); -} - -// Configure SWO Baudrate (UART) -// baudrate: requested baudrate -// return: actual baudrate or 0 when not configured -__WEAK uint32_t SWO_Baudrate_UART (uint32_t baudrate) { - int32_t status; - uint32_t index; - uint32_t num; - - if (baudrate > SWO_UART_MAX_BAUDRATE) { - baudrate = SWO_UART_MAX_BAUDRATE; - } - - if (TraceStatus & DAP_SWO_CAPTURE_ACTIVE) { - pUSART->Control(ARM_USART_CONTROL_RX, 0U); - if (pUSART->GetStatus().rx_busy) { - TraceIndexI += pUSART->GetRxCount(); - pUSART->Control(ARM_USART_ABORT_RECEIVE, 0U); - } - } - - status = pUSART->Control(ARM_USART_MODE_ASYNCHRONOUS | - ARM_USART_DATA_BITS_8 | - ARM_USART_PARITY_NONE | - ARM_USART_STOP_BITS_1, - baudrate); - - if (status == ARM_DRIVER_OK) { - USART_Ready = 1U; - } else { - USART_Ready = 0U; - return (0U); - } - - if (TraceStatus & DAP_SWO_CAPTURE_ACTIVE) { - if ((TraceStatus & DAP_SWO_CAPTURE_PAUSED) == 0U) { - index = TraceIndexI & (SWO_BUFFER_SIZE - 1U); - num = TRACE_BLOCK_SIZE - (index & (TRACE_BLOCK_SIZE - 1U)); - TraceBlockSize = num; - pUSART->Receive(&TraceBuf[index], num); - } - pUSART->Control(ARM_USART_CONTROL_RX, 1U); - } - - return (baudrate); -} - -// Control SWO Capture (UART) -// active: active flag -// return: 1 - Success, 0 - Error -__WEAK uint32_t SWO_Control_UART (uint32_t active) { - int32_t status; - - if (active) { - if (!USART_Ready) { - return (0U); - } - TraceBlockSize = 1U; - status = pUSART->Receive(&TraceBuf[0], 1U); - if (status != ARM_DRIVER_OK) { - return (0U); - } - status = pUSART->Control(ARM_USART_CONTROL_RX, 1U); - if (status != ARM_DRIVER_OK) { - return (0U); - } - } else { - pUSART->Control(ARM_USART_CONTROL_RX, 0U); - if (pUSART->GetStatus().rx_busy) { - TraceIndexI += pUSART->GetRxCount(); - pUSART->Control(ARM_USART_ABORT_RECEIVE, 0U); - } - } - return (1U); -} - -// Start SWO Capture (UART) -// buf: pointer to buffer for capturing -// num: number of bytes to capture -__WEAK void SWO_Capture_UART (uint8_t *buf, uint32_t num) { - TraceBlockSize = num; - pUSART->Receive(buf, num); -} - -// Get SWO Pending Trace Count (UART) -// return: number of pending trace data bytes -__WEAK uint32_t SWO_GetCount_UART (void) { - uint32_t count; - - if (pUSART->GetStatus().rx_busy) { - count = pUSART->GetRxCount(); - } else { - count = 0U; - } - return (count); -} - -#endif /* (SWO_UART != 0) */ - - -#if (SWO_MANCHESTER != 0) - -// Enable or disable SWO Mode (Manchester) -// enable: enable flag -// return: 1 - Success, 0 - Error -__WEAK uint32_t SWO_Mode_Manchester (uint32_t enable) { - return (0U); -} - -// Configure SWO Baudrate (Manchester) -// baudrate: requested baudrate -// return: actual baudrate or 0 when not configured -__WEAK uint32_t SWO_Baudrate_Manchester (uint32_t baudrate) { - return (0U); -} - -// Control SWO Capture (Manchester) -// active: active flag -// return: 1 - Success, 0 - Error -__WEAK uint32_t SWO_Control_Manchester (uint32_t active) { - return (0U); -} - -// Start SWO Capture (Manchester) -// buf: pointer to buffer for capturing -// num: number of bytes to capture -__WEAK void SWO_Capture_Manchester (uint8_t *buf, uint32_t num) { -} - -// Get SWO Pending Trace Count (Manchester) -// return: number of pending trace data bytes -__WEAK uint32_t SWO_GetCount_Manchester (void) { -} - -#endif /* (SWO_MANCHESTER != 0) */ - - -// Clear Trace Errors and Data -static void ClearTrace (void) { - -#if (SWO_STREAM != 0) - if (TraceTransport == 2U) { - if (TransferBusy != 0U) { - SWO_AbortTransfer(); - TransferBusy = 0U; - } - } -#endif - - TraceError[0] = 0U; - TraceError[1] = 0U; - TraceError_n = 0U; - TraceIndexI = 0U; - TraceIndexO = 0U; - -#if (TIMESTAMP_CLOCK != 0U) - TraceTimestamp.index = 0U; - TraceTimestamp.tick = 0U; -#endif -} - -// Resume Trace Capture -static void ResumeTrace (void) { - uint32_t index_i; - uint32_t index_o; - - if (TraceStatus == (DAP_SWO_CAPTURE_ACTIVE | DAP_SWO_CAPTURE_PAUSED)) { - index_i = TraceIndexI; - index_o = TraceIndexO; - if ((index_i - index_o) < SWO_BUFFER_SIZE) { - index_i &= SWO_BUFFER_SIZE - 1U; - switch (TraceMode) { -#if (SWO_UART != 0) - case DAP_SWO_UART: - TraceStatus = DAP_SWO_CAPTURE_ACTIVE; - SWO_Capture_UART(&TraceBuf[index_i], 1U); - break; -#endif -#if (SWO_MANCHESTER != 0) - case DAP_SWO_MANCHESTER: - TraceStatus = DAP_SWO_CAPTURE_ACTIVE; - SWO_Capture_Manchester(&TraceBuf[index_i], 1U); - break; -#endif - default: - break; - } - } - } -} - -// Get Trace Count -// return: number of available data bytes in trace buffer -static uint32_t GetTraceCount (void) { - uint32_t count; - - if (TraceStatus == DAP_SWO_CAPTURE_ACTIVE) { - do { - TraceUpdate = 0U; - count = TraceIndexI - TraceIndexO; - switch (TraceMode) { -#if (SWO_UART != 0) - case DAP_SWO_UART: - count += SWO_GetCount_UART(); - break; -#endif -#if (SWO_MANCHESTER != 0) - case DAP_SWO_MANCHESTER: - count += SWO_GetCount_Manchester(); - break; -#endif - default: - break; - } - } while (TraceUpdate != 0U); - } else { - count = TraceIndexI - TraceIndexO; - } - - return (count); -} - -// Get Trace Status (clear Error flags) -// return: Trace Status (Active flag and Error flags) -static uint8_t GetTraceStatus (void) { - uint8_t status; - uint32_t n; - - n = TraceError_n; - TraceError_n ^= 1U; - status = TraceStatus | TraceError[n]; - TraceError[n] = 0U; - - return (status); -} - -// Set Trace Error flag(s) -// flag: error flag(s) to set -static void SetTraceError (uint8_t flag) { - TraceError[TraceError_n] |= flag; -} - - -// Process SWO Transport command and prepare response -// request: pointer to request data -// response: pointer to response data -// return: number of bytes in response (lower 16 bits) -// number of bytes in request (upper 16 bits) -uint32_t SWO_Transport (const uint8_t *request, uint8_t *response) { - uint8_t transport; - uint32_t result; - - if ((TraceStatus & DAP_SWO_CAPTURE_ACTIVE) == 0U) { - transport = *request; - switch (transport) { - case 0U: - case 1U: -#if (SWO_STREAM != 0) - case 2U: -#endif - TraceTransport = transport; - result = 1U; - break; - default: - result = 0U; - break; - } - } else { - result = 0U; - } - - if (result != 0U) { - *response = DAP_OK; - } else { - *response = DAP_ERROR; - } - - return ((1U << 16) | 1U); -} - - -// Process SWO Mode command and prepare response -// request: pointer to request data -// response: pointer to response data -// return: number of bytes in response (lower 16 bits) -// number of bytes in request (upper 16 bits) -uint32_t SWO_Mode (const uint8_t *request, uint8_t *response) { - uint8_t mode; - uint32_t result; - - mode = *request; - - switch (TraceMode) { -#if (SWO_UART != 0) - case DAP_SWO_UART: - SWO_Mode_UART(0U); - break; -#endif -#if (SWO_MANCHESTER != 0) - case DAP_SWO_MANCHESTER: - SWO_Mode_Manchester(0U); - break; -#endif - default: - break; - } - - switch (mode) { - case DAP_SWO_OFF: - result = 1U; - break; -#if (SWO_UART != 0) - case DAP_SWO_UART: - result = SWO_Mode_UART(1U); - break; -#endif -#if (SWO_MANCHESTER != 0) - case DAP_SWO_MANCHESTER: - result = SWO_Mode_Manchester(1U); - break; -#endif - default: - result = 0U; - break; - } - if (result != 0U) { - TraceMode = mode; - } else { - TraceMode = DAP_SWO_OFF; - } - - TraceStatus = 0U; - - if (result != 0U) { - *response = DAP_OK; - } else { - *response = DAP_ERROR; - } - - return ((1U << 16) | 1U); -} - - -// Process SWO Baudrate command and prepare response -// request: pointer to request data -// response: pointer to response data -// return: number of bytes in response (lower 16 bits) -// number of bytes in request (upper 16 bits) -uint32_t SWO_Baudrate (const uint8_t *request, uint8_t *response) { - uint32_t baudrate; - - baudrate = (uint32_t)(*(request+0) << 0) | - (uint32_t)(*(request+1) << 8) | - (uint32_t)(*(request+2) << 16) | - (uint32_t)(*(request+3) << 24); - - switch (TraceMode) { -#if (SWO_UART != 0) - case DAP_SWO_UART: - baudrate = SWO_Baudrate_UART(baudrate); - break; -#endif -#if (SWO_MANCHESTER != 0) - case DAP_SWO_MANCHESTER: - baudrate = SWO_Baudrate_Manchester(baudrate); - break; -#endif - default: - baudrate = 0U; - break; - } - - if (baudrate == 0U) { - TraceStatus = 0U; - } - - *response++ = (uint8_t)(baudrate >> 0); - *response++ = (uint8_t)(baudrate >> 8); - *response++ = (uint8_t)(baudrate >> 16); - *response = (uint8_t)(baudrate >> 24); - - return ((4U << 16) | 4U); -} - - -// Process SWO Control command and prepare response -// request: pointer to request data -// response: pointer to response data -// return: number of bytes in response (lower 16 bits) -// number of bytes in request (upper 16 bits) -uint32_t SWO_Control (const uint8_t *request, uint8_t *response) { - uint8_t active; - uint32_t result; - - active = *request & DAP_SWO_CAPTURE_ACTIVE; - - if (active != (TraceStatus & DAP_SWO_CAPTURE_ACTIVE)) { - if (active) { - ClearTrace(); - } - switch (TraceMode) { -#if (SWO_UART != 0) - case DAP_SWO_UART: - result = SWO_Control_UART(active); - break; -#endif -#if (SWO_MANCHESTER != 0) - case DAP_SWO_MANCHESTER: - result = SWO_Control_Manchester(active); - break; -#endif - default: - result = 0U; - break; - } - if (result != 0U) { - TraceStatus = active; -#if (SWO_STREAM != 0) - if (TraceTransport == 2U) { - osThreadFlagsSet(SWO_ThreadId, 1U); - } -#endif - } - } else { - result = 1U; - } - - if (result != 0U) { - *response = DAP_OK; - } else { - *response = DAP_ERROR; - } - - return ((1U << 16) | 1U); -} - - -// Process SWO Status command and prepare response -// response: pointer to response data -// return: number of bytes in response -uint32_t SWO_Status (uint8_t *response) { - uint8_t status; - uint32_t count; - - status = GetTraceStatus(); - count = GetTraceCount(); - - *response++ = status; - *response++ = (uint8_t)(count >> 0); - *response++ = (uint8_t)(count >> 8); - *response++ = (uint8_t)(count >> 16); - *response = (uint8_t)(count >> 24); - - return (5U); -} - - -// Process SWO Extended Status command and prepare response -// request: pointer to request data -// response: pointer to response data -// return: number of bytes in response (lower 16 bits) -// number of bytes in request (upper 16 bits) -uint32_t SWO_ExtendedStatus (const uint8_t *request, uint8_t *response) { - uint8_t cmd; - uint8_t status; - uint32_t count; -#if (TIMESTAMP_CLOCK != 0U) - uint32_t index; - uint32_t tick; -#endif - uint32_t num; - - num = 0U; - cmd = *request; - - if (cmd & 0x01U) { - status = GetTraceStatus(); - *response++ = status; - num += 1U; - } - - if (cmd & 0x02U) { - count = GetTraceCount(); - *response++ = (uint8_t)(count >> 0); - *response++ = (uint8_t)(count >> 8); - *response++ = (uint8_t)(count >> 16); - *response++ = (uint8_t)(count >> 24); - num += 4U; - } - -#if (TIMESTAMP_CLOCK != 0U) - if (cmd & 0x04U) { - do { - TraceUpdate = 0U; - index = TraceTimestamp.index; - tick = TraceTimestamp.tick; - } while (TraceUpdate != 0U); - *response++ = (uint8_t)(index >> 0); - *response++ = (uint8_t)(index >> 8); - *response++ = (uint8_t)(index >> 16); - *response++ = (uint8_t)(index >> 24); - *response++ = (uint8_t)(tick >> 0); - *response++ = (uint8_t)(tick >> 8); - *response++ = (uint8_t)(tick >> 16); - *response++ = (uint8_t)(tick >> 24); - num += 4U; - } -#endif - - return ((1U << 16) | num); -} - - -// Process SWO Data command and prepare response -// request: pointer to request data -// response: pointer to response data -// return: number of bytes in response (lower 16 bits) -// number of bytes in request (upper 16 bits) -uint32_t SWO_Data (const uint8_t *request, uint8_t *response) { - uint8_t status; - uint32_t count; - uint32_t index; - uint32_t n, i; - - status = GetTraceStatus(); - count = GetTraceCount(); - - if (TraceTransport == 1U) { - n = (uint32_t)(*(request+0) << 0) | - (uint32_t)(*(request+1) << 8); - if (n > (DAP_PACKET_SIZE - 4U)) { - n = DAP_PACKET_SIZE - 4U; - } - if (count > n) { - count = n; - } - } else { - count = 0U; - } - - *response++ = status; - *response++ = (uint8_t)(count >> 0); - *response++ = (uint8_t)(count >> 8); - - if (TraceTransport == 1U) { - index = TraceIndexO; - for (i = index, n = count; n; n--) { - i &= SWO_BUFFER_SIZE - 1U; - *response++ = TraceBuf[i++]; - } - TraceIndexO = index + count; - ResumeTrace(); - } - - return ((2U << 16) | (3U + count)); -} - - -#if (SWO_STREAM != 0) - -// SWO Data Transfer complete callback -void SWO_TransferComplete (void) { - TraceIndexO += TransferSize; - TransferBusy = 0U; - ResumeTrace(); - osThreadFlagsSet(SWO_ThreadId, 1U); -} - -// SWO Thread -__NO_RETURN void SWO_Thread (void *argument) { - uint32_t timeout; - uint32_t flags; - uint32_t count; - uint32_t index; - uint32_t i, n; - (void) argument; - - timeout = osWaitForever; - - for (;;) { - flags = osThreadFlagsWait(1U, osFlagsWaitAny, timeout); - if (TraceStatus & DAP_SWO_CAPTURE_ACTIVE) { - timeout = SWO_STREAM_TIMEOUT; - } else { - timeout = osWaitForever; - flags = osFlagsErrorTimeout; - } - if (TransferBusy == 0U) { - count = GetTraceCount(); - if (count != 0U) { - index = TraceIndexO & (SWO_BUFFER_SIZE - 1U); - n = SWO_BUFFER_SIZE - index; - if (count > n) { - count = n; - } - if (flags != osFlagsErrorTimeout) { - i = index & (USB_BLOCK_SIZE - 1U); - if (i == 0U) { - count &= ~(USB_BLOCK_SIZE - 1U); - } else { - n = USB_BLOCK_SIZE - i; - if (count >= n) { - count = n; - } else { - count = 0U; - } - } - } - if (count != 0U) { - TransferSize = count; - TransferBusy = 1U; - SWO_QueueTransfer(&TraceBuf[index], count); - } - } - } - } -} - -#endif /* (SWO_STREAM != 0) */ - - -#endif /* ((SWO_UART != 0) || (SWO_MANCHESTER != 0)) */ diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Source/SW_DP.c b/external/CMSIS_5/CMSIS/DAP/Firmware/Source/SW_DP.c deleted file mode 100644 index 803cf42..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Source/SW_DP.c +++ /dev/null @@ -1,286 +0,0 @@ -/* - * Copyright (c) 2013-2017 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ---------------------------------------------------------------------- - * - * $Date: 1. December 2017 - * $Revision: V2.0.0 - * - * Project: CMSIS-DAP Source - * Title: SW_DP.c CMSIS-DAP SW DP I/O - * - *---------------------------------------------------------------------------*/ - -#include "DAP_config.h" -#include "DAP.h" - - -// SW Macros - -#define PIN_SWCLK_SET PIN_SWCLK_TCK_SET -#define PIN_SWCLK_CLR PIN_SWCLK_TCK_CLR - -#define SW_CLOCK_CYCLE() \ - PIN_SWCLK_CLR(); \ - PIN_DELAY(); \ - PIN_SWCLK_SET(); \ - PIN_DELAY() - -#define SW_WRITE_BIT(bit) \ - PIN_SWDIO_OUT(bit); \ - PIN_SWCLK_CLR(); \ - PIN_DELAY(); \ - PIN_SWCLK_SET(); \ - PIN_DELAY() - -#define SW_READ_BIT(bit) \ - PIN_SWCLK_CLR(); \ - PIN_DELAY(); \ - bit = PIN_SWDIO_IN(); \ - PIN_SWCLK_SET(); \ - PIN_DELAY() - -#define PIN_DELAY() PIN_DELAY_SLOW(DAP_Data.clock_delay) - - -// Generate SWJ Sequence -// count: sequence bit count -// data: pointer to sequence bit data -// return: none -#if ((DAP_SWD != 0) || (DAP_JTAG != 0)) -void SWJ_Sequence (uint32_t count, const uint8_t *data) { - uint32_t val; - uint32_t n; - - val = 0U; - n = 0U; - while (count--) { - if (n == 0U) { - val = *data++; - n = 8U; - } - if (val & 1U) { - PIN_SWDIO_TMS_SET(); - } else { - PIN_SWDIO_TMS_CLR(); - } - SW_CLOCK_CYCLE(); - val >>= 1; - n--; - } -} -#endif - - -// Generate SWD Sequence -// info: sequence information -// swdo: pointer to SWDIO generated data -// swdi: pointer to SWDIO captured data -// return: none -#if (DAP_SWD != 0) -void SWD_Sequence (uint32_t info, const uint8_t *swdo, uint8_t *swdi) { - uint32_t val; - uint32_t bit; - uint32_t n, k; - - n = info & SWD_SEQUENCE_CLK; - if (n == 0U) { - n = 64U; - } - - if (info & SWD_SEQUENCE_DIN) { - while (n) { - val = 0U; - for (k = 8U; k && n; k--, n--) { - SW_READ_BIT(bit); - val >>= 1; - val |= bit << 7; - } - val >>= k; - *swdi++ = (uint8_t)val; - } - } else { - while (n) { - val = *swdo++; - for (k = 8U; k && n; k--, n--) { - SW_WRITE_BIT(val); - val >>= 1; - } - } - } -} -#endif - - -#if (DAP_SWD != 0) - - -// SWD Transfer I/O -// request: A[3:2] RnW APnDP -// data: DATA[31:0] -// return: ACK[2:0] -#define SWD_TransferFunction(speed) /**/ \ -static uint8_t SWD_Transfer##speed (uint32_t request, uint32_t *data) { \ - uint32_t ack; \ - uint32_t bit; \ - uint32_t val; \ - uint32_t parity; \ - \ - uint32_t n; \ - \ - /* Packet Request */ \ - parity = 0U; \ - SW_WRITE_BIT(1U); /* Start Bit */ \ - bit = request >> 0; \ - SW_WRITE_BIT(bit); /* APnDP Bit */ \ - parity += bit; \ - bit = request >> 1; \ - SW_WRITE_BIT(bit); /* RnW Bit */ \ - parity += bit; \ - bit = request >> 2; \ - SW_WRITE_BIT(bit); /* A2 Bit */ \ - parity += bit; \ - bit = request >> 3; \ - SW_WRITE_BIT(bit); /* A3 Bit */ \ - parity += bit; \ - SW_WRITE_BIT(parity); /* Parity Bit */ \ - SW_WRITE_BIT(0U); /* Stop Bit */ \ - SW_WRITE_BIT(1U); /* Park Bit */ \ - \ - /* Turnaround */ \ - PIN_SWDIO_OUT_DISABLE(); \ - for (n = DAP_Data.swd_conf.turnaround; n; n--) { \ - SW_CLOCK_CYCLE(); \ - } \ - \ - /* Acknowledge response */ \ - SW_READ_BIT(bit); \ - ack = bit << 0; \ - SW_READ_BIT(bit); \ - ack |= bit << 1; \ - SW_READ_BIT(bit); \ - ack |= bit << 2; \ - \ - if (ack == DAP_TRANSFER_OK) { /* OK response */ \ - /* Data transfer */ \ - if (request & DAP_TRANSFER_RnW) { \ - /* Read data */ \ - val = 0U; \ - parity = 0U; \ - for (n = 32U; n; n--) { \ - SW_READ_BIT(bit); /* Read RDATA[0:31] */ \ - parity += bit; \ - val >>= 1; \ - val |= bit << 31; \ - } \ - SW_READ_BIT(bit); /* Read Parity */ \ - if ((parity ^ bit) & 1U) { \ - ack = DAP_TRANSFER_ERROR; \ - } \ - if (data) { *data = val; } \ - /* Turnaround */ \ - for (n = DAP_Data.swd_conf.turnaround; n; n--) { \ - SW_CLOCK_CYCLE(); \ - } \ - PIN_SWDIO_OUT_ENABLE(); \ - } else { \ - /* Turnaround */ \ - for (n = DAP_Data.swd_conf.turnaround; n; n--) { \ - SW_CLOCK_CYCLE(); \ - } \ - PIN_SWDIO_OUT_ENABLE(); \ - /* Write data */ \ - val = *data; \ - parity = 0U; \ - for (n = 32U; n; n--) { \ - SW_WRITE_BIT(val); /* Write WDATA[0:31] */ \ - parity += val; \ - val >>= 1; \ - } \ - SW_WRITE_BIT(parity); /* Write Parity Bit */ \ - } \ - /* Capture Timestamp */ \ - if (request & DAP_TRANSFER_TIMESTAMP) { \ - DAP_Data.timestamp = TIMESTAMP_GET(); \ - } \ - /* Idle cycles */ \ - n = DAP_Data.transfer.idle_cycles; \ - if (n) { \ - PIN_SWDIO_OUT(0U); \ - for (; n; n--) { \ - SW_CLOCK_CYCLE(); \ - } \ - } \ - PIN_SWDIO_OUT(1U); \ - return ((uint8_t)ack); \ - } \ - \ - if ((ack == DAP_TRANSFER_WAIT) || (ack == DAP_TRANSFER_FAULT)) { \ - /* WAIT or FAULT response */ \ - if (DAP_Data.swd_conf.data_phase && ((request & DAP_TRANSFER_RnW) != 0U)) { \ - for (n = 32U+1U; n; n--) { \ - SW_CLOCK_CYCLE(); /* Dummy Read RDATA[0:31] + Parity */ \ - } \ - } \ - /* Turnaround */ \ - for (n = DAP_Data.swd_conf.turnaround; n; n--) { \ - SW_CLOCK_CYCLE(); \ - } \ - PIN_SWDIO_OUT_ENABLE(); \ - if (DAP_Data.swd_conf.data_phase && ((request & DAP_TRANSFER_RnW) == 0U)) { \ - PIN_SWDIO_OUT(0U); \ - for (n = 32U+1U; n; n--) { \ - SW_CLOCK_CYCLE(); /* Dummy Write WDATA[0:31] + Parity */ \ - } \ - } \ - PIN_SWDIO_OUT(1U); \ - return ((uint8_t)ack); \ - } \ - \ - /* Protocol error */ \ - for (n = DAP_Data.swd_conf.turnaround + 32U + 1U; n; n--) { \ - SW_CLOCK_CYCLE(); /* Back off data phase */ \ - } \ - PIN_SWDIO_OUT_ENABLE(); \ - PIN_SWDIO_OUT(1U); \ - return ((uint8_t)ack); \ -} - - -#undef PIN_DELAY -#define PIN_DELAY() PIN_DELAY_FAST() -SWD_TransferFunction(Fast) - -#undef PIN_DELAY -#define PIN_DELAY() PIN_DELAY_SLOW(DAP_Data.clock_delay) -SWD_TransferFunction(Slow) - - -// SWD Transfer I/O -// request: A[3:2] RnW APnDP -// data: DATA[31:0] -// return: ACK[2:0] -uint8_t SWD_Transfer(uint32_t request, uint32_t *data) { - if (DAP_Data.fast_clock) { - return SWD_TransferFast(request, data); - } else { - return SWD_TransferSlow(request, data); - } -} - - -#endif /* (DAP_SWD != 0) */ diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Source/UART.c b/external/CMSIS_5/CMSIS/DAP/Firmware/Source/UART.c deleted file mode 100644 index 8e9eae5..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Source/UART.c +++ /dev/null @@ -1,652 +0,0 @@ -/* - * Copyright (c) 2021 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ---------------------------------------------------------------------- - * - * $Date: 1. March 2021 - * $Revision: V1.0.0 - * - * Project: CMSIS-DAP Source - * Title: UART.c CMSIS-DAP UART - * - *---------------------------------------------------------------------------*/ - -#include "DAP_config.h" -#include "DAP.h" - -#if (DAP_UART != 0) - -#ifdef DAP_FW_V1 -#error "UART Communication Port not supported in DAP V1!" -#endif - -#include "Driver_USART.h" - -#include "cmsis_os2.h" -#include - -#define UART_RX_BLOCK_SIZE 32U /* Uart Rx Block Size (must be 2^n) */ - -// USART Driver -#define _USART_Driver_(n) Driver_USART##n -#define USART_Driver_(n) _USART_Driver_(n) -extern ARM_DRIVER_USART USART_Driver_(DAP_UART_DRIVER); -#define pUSART (&USART_Driver_(DAP_UART_DRIVER)) - -// UART Configuration -#if (DAP_UART_USB_COM_PORT != 0) -static uint8_t UartTransport = DAP_UART_TRANSPORT_USB_COM_PORT; -#else -static uint8_t UartTransport = DAP_UART_TRANSPORT_NONE; -#endif - -// UART Flags -static uint8_t UartConfigured = 0U; -static uint8_t UartReceiveEnabled = 0U; -static uint8_t UartTransmitEnabled = 0U; -static uint8_t UartTransmitActive = 0U; - -// UART TX Buffer -static uint8_t UartTxBuf[DAP_UART_TX_BUFFER_SIZE]; -static volatile uint32_t UartTxIndexI = 0U; -static volatile uint32_t UartTxIndexO = 0U; - -// UART RX Buffer -static uint8_t UartRxBuf[DAP_UART_RX_BUFFER_SIZE]; -static volatile uint32_t UartRxIndexI = 0U; -static volatile uint32_t UartRxIndexO = 0U; - -// Uart Errors -static volatile uint8_t UartErrorRxDataLost = 0U; -static volatile uint8_t UartErrorFraming = 0U; -static volatile uint8_t UartErrorParity = 0U; - -// UART Transmit -static uint32_t UartTxNum = 0U; - -// Function prototypes -static uint8_t UART_Init (void); -static void UART_Uninit (void); -static uint8_t UART_Get_Status (void); -static uint8_t UART_Receive_Enable (void); -static uint8_t UART_Transmit_Enable (void); -static void UART_Receive_Disable (void); -static void UART_Transmit_Disable (void); -static void UART_Receive_Flush (void); -static void UART_Transmit_Flush (void); -static void UART_Receive (void); -static void UART_Transmit (void); - - -// USART Driver Callback function -// event: event mask -static void USART_Callback (uint32_t event) { - if (event & ARM_USART_EVENT_SEND_COMPLETE) { - UartTxIndexO += UartTxNum; - UartTransmitActive = 0U; - UART_Transmit(); - } - if (event & ARM_USART_EVENT_RECEIVE_COMPLETE) { - UartRxIndexI += UART_RX_BLOCK_SIZE; - UART_Receive(); - } - if (event & ARM_USART_EVENT_RX_OVERFLOW) { - UartErrorRxDataLost = 1U; - } - if (event & ARM_USART_EVENT_RX_FRAMING_ERROR) { - UartErrorFraming = 1U; - } - if (event & ARM_USART_EVENT_RX_PARITY_ERROR) { - UartErrorParity = 1U; - } -} - -// Init UART -// return: DAP_OK or DAP_ERROR -static uint8_t UART_Init (void) { - int32_t status; - uint8_t ret = DAP_ERROR; - - UartConfigured = 0U; - UartReceiveEnabled = 0U; - UartTransmitEnabled = 0U; - UartTransmitActive = 0U; - UartErrorRxDataLost = 0U; - UartErrorFraming = 0U; - UartErrorParity = 0U; - UartTxIndexI = 0U; - UartTxIndexO = 0U; - UartRxIndexI = 0U; - UartRxIndexO = 0U; - UartTxNum = 0U; - - status = pUSART->Initialize(USART_Callback); - if (status == ARM_DRIVER_OK) { - status = pUSART->PowerControl(ARM_POWER_FULL); - } - if (status == ARM_DRIVER_OK) { - ret = DAP_OK; - } - - return (ret); -} - -// Un-Init UART -static void UART_Uninit (void) { - UartConfigured = 0U; - - pUSART->PowerControl(ARM_POWER_OFF); - pUSART->Uninitialize(); -} - -// Get UART Status -// return: status -static uint8_t UART_Get_Status (void) { - uint8_t status = 0U; - - if (UartReceiveEnabled != 0U) { - status |= DAP_UART_STATUS_RX_ENABLED; - } - if (UartErrorRxDataLost != 0U) { - UartErrorRxDataLost = 0U; - status |= DAP_UART_STATUS_RX_DATA_LOST; - } - if (UartErrorFraming != 0U) { - UartErrorFraming = 0U; - status |= DAP_UART_STATUS_FRAMING_ERROR; - } - if (UartErrorParity != 0U) { - UartErrorParity = 0U; - status |= DAP_UART_STATUS_PARITY_ERROR; - } - if (UartTransmitEnabled != 0U) { - status |= DAP_UART_STATUS_TX_ENABLED; - } - - return (status); -} - -// Enable UART Receive -// return: DAP_OK or DAP_ERROR -static uint8_t UART_Receive_Enable (void) { - int32_t status; - uint8_t ret = DAP_ERROR; - - if (UartReceiveEnabled == 0U) { - // Flush Buffers - UartRxIndexI = 0U; - UartRxIndexO = 0U; - - UART_Receive(); - status = pUSART->Control(ARM_USART_CONTROL_RX, 1U); - if (status == ARM_DRIVER_OK) { - UartReceiveEnabled = 1U; - ret = DAP_OK; - } - } else { - ret = DAP_OK; - } - - return (ret); -} - -// Enable UART Transmit -// return: DAP_OK or DAP_ERROR -static uint8_t UART_Transmit_Enable (void) { - int32_t status; - uint8_t ret = DAP_ERROR; - - if (UartTransmitEnabled == 0U) { - // Flush Buffers - UartTransmitActive = 0U; - UartTxIndexI = 0U; - UartTxIndexO = 0U; - UartTxNum = 0U; - - status = pUSART->Control(ARM_USART_CONTROL_TX, 1U); - if (status == ARM_DRIVER_OK) { - UartTransmitEnabled = 1U; - ret = DAP_OK; - } - } else { - ret = DAP_OK; - } - - return (ret); -} - -// Disable UART Receive -static void UART_Receive_Disable (void) { - if (UartReceiveEnabled != 0U) { - pUSART->Control(ARM_USART_CONTROL_RX, 0U); - pUSART->Control(ARM_USART_ABORT_RECEIVE, 0U); - UartReceiveEnabled = 0U; - } -} - -// Disable UART Transmit -static void UART_Transmit_Disable (void) { - if (UartTransmitEnabled != 0U) { - pUSART->Control(ARM_USART_ABORT_SEND, 0U); - pUSART->Control(ARM_USART_CONTROL_TX, 0U); - UartTransmitActive = 0U; - UartTransmitEnabled = 0U; - } -} - -// Flush UART Receive buffer -static void UART_Receive_Flush (void) { - pUSART->Control(ARM_USART_ABORT_RECEIVE, 0U); - UartRxIndexI = 0U; - UartRxIndexO = 0U; - if (UartReceiveEnabled != 0U) { - UART_Receive(); - } -} - -// Flush UART Transmit buffer -static void UART_Transmit_Flush (void) { - pUSART->Control(ARM_USART_ABORT_SEND, 0U); - UartTransmitActive = 0U; - UartTxIndexI = 0U; - UartTxIndexO = 0U; - UartTxNum = 0U; -} - -// Receive data from target via UART -static void UART_Receive (void) { - uint32_t index; - - index = UartRxIndexI & (DAP_UART_RX_BUFFER_SIZE - 1U); - pUSART->Receive(&UartRxBuf[index], UART_RX_BLOCK_SIZE); -} - -// Transmit available data to target via UART -static void UART_Transmit (void) { - uint32_t count; - uint32_t index; - - count = UartTxIndexI - UartTxIndexO; - index = UartTxIndexO & (DAP_UART_TX_BUFFER_SIZE - 1U); - - if (count != 0U) { - if ((index + count) <= DAP_UART_TX_BUFFER_SIZE) { - UartTxNum = count; - } else { - UartTxNum = DAP_UART_TX_BUFFER_SIZE - index; - } - UartTransmitActive = 1U; - pUSART->Send(&UartTxBuf[index], UartTxNum); - } -} - -// Process UART Transport command and prepare response -// request: pointer to request data -// response: pointer to response data -// return: number of bytes in response (lower 16 bits) -// number of bytes in request (upper 16 bits) -uint32_t UART_Transport (const uint8_t *request, uint8_t *response) { - uint8_t transport; - uint8_t ret = DAP_ERROR; - - transport = *request; - switch (transport) { - case DAP_UART_TRANSPORT_NONE: - switch (UartTransport) { - case DAP_UART_TRANSPORT_NONE: - ret = DAP_OK; - break; - case DAP_UART_TRANSPORT_USB_COM_PORT: -#if (DAP_UART_USB_COM_PORT != 0) - USB_COM_PORT_Activate(0U); - UartTransport = DAP_UART_TRANSPORT_NONE; - ret = DAP_OK; -#endif - break; - case DAP_UART_TRANSPORT_DAP_COMMAND: - UART_Receive_Disable(); - UART_Transmit_Disable(); - UART_Uninit(); - UartTransport = DAP_UART_TRANSPORT_NONE; - ret= DAP_OK; - break; - } - break; - case DAP_UART_TRANSPORT_USB_COM_PORT: - switch (UartTransport) { - case DAP_UART_TRANSPORT_NONE: -#if (DAP_UART_USB_COM_PORT != 0) - if (USB_COM_PORT_Activate(1U) == 0U) { - UartTransport = DAP_UART_TRANSPORT_USB_COM_PORT; - ret = DAP_OK; - } -#endif - break; - case DAP_UART_TRANSPORT_USB_COM_PORT: - ret = DAP_OK; - break; - case DAP_UART_TRANSPORT_DAP_COMMAND: - UART_Receive_Disable(); - UART_Transmit_Disable(); - UART_Uninit(); - UartTransport = DAP_UART_TRANSPORT_NONE; -#if (DAP_UART_USB_COM_PORT != 0) - if (USB_COM_PORT_Activate(1U) == 0U) { - UartTransport = DAP_UART_TRANSPORT_USB_COM_PORT; - ret = DAP_OK; - } -#endif - break; - } - break; - case DAP_UART_TRANSPORT_DAP_COMMAND: - switch (UartTransport) { - case DAP_UART_TRANSPORT_NONE: - ret = UART_Init(); - if (ret == DAP_OK) { - UartTransport = DAP_UART_TRANSPORT_DAP_COMMAND; - } - break; - case DAP_UART_TRANSPORT_USB_COM_PORT: -#if (DAP_UART_USB_COM_PORT != 0) - USB_COM_PORT_Activate(0U); - UartTransport = DAP_UART_TRANSPORT_NONE; -#endif - ret = UART_Init(); - if (ret == DAP_OK) { - UartTransport = DAP_UART_TRANSPORT_DAP_COMMAND; - } - break; - case DAP_UART_TRANSPORT_DAP_COMMAND: - ret = DAP_OK; - break; - } - break; - default: - break; - } - - *response = ret; - - return ((1U << 16) | 1U); -} - -// Process UART Configure command and prepare response -// request: pointer to request data -// response: pointer to response data -// return: number of bytes in response (lower 16 bits) -// number of bytes in request (upper 16 bits) -uint32_t UART_Configure (const uint8_t *request, uint8_t *response) { - uint8_t control, status; - uint32_t baudrate; - int32_t result; - - if (UartTransport != DAP_UART_TRANSPORT_DAP_COMMAND) { - status = DAP_UART_CFG_ERROR_DATA_BITS | - DAP_UART_CFG_ERROR_PARITY | - DAP_UART_CFG_ERROR_STOP_BITS; - baudrate = 0U; // baudrate error - } else { - - status = 0U; - control = *request; - baudrate = (uint32_t)(*(request+1) << 0) | - (uint32_t)(*(request+2) << 8) | - (uint32_t)(*(request+3) << 16) | - (uint32_t)(*(request+4) << 24); - - result = pUSART->Control(control | - ARM_USART_MODE_ASYNCHRONOUS | - ARM_USART_FLOW_CONTROL_NONE, - baudrate); - if (result == ARM_DRIVER_OK) { - UartConfigured = 1U; - } else { - UartConfigured = 0U; - switch (result) { - case ARM_USART_ERROR_BAUDRATE: - status = 0U; - baudrate = 0U; - break; - case ARM_USART_ERROR_DATA_BITS: - status = DAP_UART_CFG_ERROR_DATA_BITS; - break; - case ARM_USART_ERROR_PARITY: - status = DAP_UART_CFG_ERROR_PARITY; - break; - case ARM_USART_ERROR_STOP_BITS: - status = DAP_UART_CFG_ERROR_STOP_BITS; - break; - default: - status = DAP_UART_CFG_ERROR_DATA_BITS | - DAP_UART_CFG_ERROR_PARITY | - DAP_UART_CFG_ERROR_STOP_BITS; - baudrate = 0U; - break; - } - } - } - - *response++ = status; - *response++ = (uint8_t)(baudrate >> 0); - *response++ = (uint8_t)(baudrate >> 8); - *response++ = (uint8_t)(baudrate >> 16); - *response = (uint8_t)(baudrate >> 24); - - return ((5U << 16) | 5U); -} - -// Process UART Control command and prepare response -// request: pointer to request data -// response: pointer to response data -// return: number of bytes in response (lower 16 bits) -// number of bytes in request (upper 16 bits) -uint32_t UART_Control (const uint8_t *request, uint8_t *response) { - uint8_t control; - uint8_t result; - uint8_t ret = DAP_OK; - - if (UartTransport != DAP_UART_TRANSPORT_DAP_COMMAND) { - ret = DAP_ERROR; - } else { - - control = *request; - - if ((control & DAP_UART_CONTROL_RX_DISABLE) != 0U) { - // Receive disable - UART_Receive_Disable(); - } else if ((control & DAP_UART_CONTROL_RX_ENABLE) != 0U) { - // Receive enable - if (UartConfigured != 0U) { - result = UART_Receive_Enable(); - if (result != DAP_OK) { - ret = DAP_ERROR; - } - } else { - ret = DAP_ERROR; - } - } - if ((control & DAP_UART_CONTROL_RX_BUF_FLUSH) != 0U) { - UART_Receive_Flush(); - } - - if ((control & DAP_UART_CONTROL_TX_DISABLE) != 0U) { - // Transmit disable - UART_Transmit_Disable(); - } else if ((control & DAP_UART_CONTROL_TX_ENABLE) != 0U) { - // Transmit enable - if (UartConfigured != 0U) { - result = UART_Transmit_Enable(); - if (result != DAP_OK) { - ret = DAP_ERROR; - } - } else { - ret = DAP_ERROR; - } - } - if ((control & DAP_UART_CONTROL_TX_BUF_FLUSH) != 0U) { - UART_Transmit_Flush(); - } - } - - *response = ret; - - return ((1U << 16) | 1U); -} - -// Process UART Status command and prepare response -// response: pointer to response data -// return: number of bytes in response (lower 16 bits) -// number of bytes in request (upper 16 bits) -uint32_t UART_Status (uint8_t *response) { - uint32_t rx_cnt, tx_cnt; - uint32_t cnt; - uint8_t status; - - if ((UartTransport != DAP_UART_TRANSPORT_DAP_COMMAND) || - (UartConfigured == 0U)) { - rx_cnt = 0U; - tx_cnt = 0U; - status = 0U; - } else { - - rx_cnt = UartRxIndexI - UartRxIndexO; - rx_cnt += pUSART->GetRxCount(); - if (rx_cnt > (DAP_UART_RX_BUFFER_SIZE - (UART_RX_BLOCK_SIZE*2))) { - // Overflow - UartErrorRxDataLost = 1U; - rx_cnt = (DAP_UART_RX_BUFFER_SIZE - (UART_RX_BLOCK_SIZE*2)); - UartRxIndexO = UartRxIndexI - rx_cnt; - } - - tx_cnt = UartTxIndexI - UartTxIndexO; - cnt = pUSART->GetTxCount(); - if (UartTransmitActive != 0U) { - tx_cnt -= cnt; - } - - status = UART_Get_Status(); - } - - *response++ = status; - *response++ = (uint8_t)(rx_cnt >> 0); - *response++ = (uint8_t)(rx_cnt >> 8); - *response++ = (uint8_t)(rx_cnt >> 16); - *response++ = (uint8_t)(rx_cnt >> 24); - *response++ = (uint8_t)(tx_cnt >> 0); - *response++ = (uint8_t)(tx_cnt >> 8); - *response++ = (uint8_t)(tx_cnt >> 16); - *response = (uint8_t)(tx_cnt >> 24); - - return ((0U << 16) | 9U); -} - -// Process UART Transfer command and prepare response -// request: pointer to request data -// response: pointer to response data -// return: number of bytes in response (lower 16 bits) -// number of bytes in request (upper 16 bits) -uint32_t UART_Transfer (const uint8_t *request, uint8_t *response) { - uint32_t rx_cnt, tx_cnt; - uint32_t rx_num, tx_num; - uint8_t *rx_data; - const - uint8_t *tx_data; - uint32_t num; - uint32_t index; - uint8_t status; - - if (UartTransport != DAP_UART_TRANSPORT_DAP_COMMAND) { - status = 0U; - rx_cnt = 0U; - tx_cnt = 0U; - } else { - - // RX Data - rx_cnt = ((uint32_t)(*(request+0) << 0) | - (uint32_t)(*(request+1) << 8)); - - if (rx_cnt > (DAP_PACKET_SIZE - 6U)) { - rx_cnt = (DAP_PACKET_SIZE - 6U); - } - rx_num = UartRxIndexI - UartRxIndexO; - rx_num += pUSART->GetRxCount(); - if (rx_num > (DAP_UART_RX_BUFFER_SIZE - (UART_RX_BLOCK_SIZE*2))) { - // Overflow - UartErrorRxDataLost = 1U; - rx_num = (DAP_UART_RX_BUFFER_SIZE - (UART_RX_BLOCK_SIZE*2)); - UartRxIndexO = UartRxIndexI - rx_num; - } - if (rx_cnt > rx_num) { - rx_cnt = rx_num; - } - - rx_data = (response+5); - index = UartRxIndexO & (DAP_UART_RX_BUFFER_SIZE - 1U); - if ((index + rx_cnt) <= DAP_UART_RX_BUFFER_SIZE) { - memcpy( rx_data, &UartRxBuf[index], rx_cnt); - } else { - num = DAP_UART_RX_BUFFER_SIZE - index; - memcpy( rx_data, &UartRxBuf[index], num); - memcpy(&rx_data[num], &UartRxBuf[0], rx_cnt - num); - } - UartRxIndexO += rx_cnt; - - // TX Data - tx_cnt = ((uint32_t)(*(request+2) << 0) | - (uint32_t)(*(request+3) << 8)); - tx_data = (request+4); - - if (tx_cnt > (DAP_PACKET_SIZE - 5U)) { - tx_cnt = (DAP_PACKET_SIZE - 5U); - } - tx_num = UartTxIndexI - UartTxIndexO; - num = pUSART->GetTxCount(); - if (UartTransmitActive != 0U) { - tx_num -= num; - } - if (tx_cnt > (DAP_UART_TX_BUFFER_SIZE - tx_num)) { - tx_cnt = (DAP_UART_TX_BUFFER_SIZE - tx_num); - } - - index = UartTxIndexI & (DAP_UART_TX_BUFFER_SIZE - 1U); - if ((index + tx_cnt) <= DAP_UART_TX_BUFFER_SIZE) { - memcpy(&UartTxBuf[index], tx_data, tx_cnt); - } else { - num = DAP_UART_TX_BUFFER_SIZE - index; - memcpy(&UartTxBuf[index], tx_data, num); - memcpy(&UartTxBuf[0], &tx_data[num], tx_cnt - num); - } - UartTxIndexI += tx_cnt; - - if (UartTransmitActive == 0U) { - UART_Transmit(); - } - - status = UART_Get_Status(); - } - - *response++ = status; - *response++ = (uint8_t)(tx_cnt >> 0); - *response++ = (uint8_t)(tx_cnt >> 8); - *response++ = (uint8_t)(rx_cnt >> 0); - *response = (uint8_t)(rx_cnt >> 8); - - return (((4U + tx_cnt) << 16) | (5U + rx_cnt)); -} - -#endif /* DAP_UART */ diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Template/CMSIS_DAP_v2.inf b/external/CMSIS_5/CMSIS/DAP/Firmware/Template/CMSIS_DAP_v2.inf deleted file mode 100644 index 287f04a..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Template/CMSIS_DAP_v2.inf +++ /dev/null @@ -1,54 +0,0 @@ -[Version] -Signature = "$Windows NT$" -Class = USBDevice -ClassGUID = {88BAE032-5A81-49f0-BC3D-A4FF138216D6} -Provider = %ManufacturerName% -DriverVer = 04/13/2016, 1.0.0.0 -CatalogFile.nt = CMSIS_DAP_v2_x86.cat -CatalogFile.ntx86 = CMSIS_DAP_v2_x86.cat -CatalogFile.ntamd64 = CMSIS_DAP_v2_amd64.cat - -; ========== Manufacturer/Models sections =========== - -[Manufacturer] -%ManufacturerName% = Devices, NTx86, NTamd64 - -[Devices.NTx86] -%DeviceName% = USB_Install, USB\VID_c251&PID_f000 - -[Devices.NTamd64] -%DeviceName% = USB_Install, USB\VID_c251&PID_f000 - -; ========== Class definition =========== - -[ClassInstall32] -AddReg = ClassInstall_AddReg - -[ClassInstall_AddReg] -HKR,,,,%ClassName% -HKR,,NoInstallClass,,1 -HKR,,IconPath,0x10000,"%%SystemRoot%%\System32\setupapi.dll,-20" -HKR,,LowerLogoVersion,,5.2 - -; =================== Installation =================== - -[USB_Install] -Include = winusb.inf -Needs = WINUSB.NT - -[USB_Install.Services] -Include = winusb.inf -Needs = WINUSB.NT.Services - -[USB_Install.HW] -AddReg = Dev_AddReg - -[Dev_AddReg] -HKR,,DeviceInterfaceGUIDs,0x10000,"{CDB3B5AD-293B-4663-AA36-1AAE46463776}" - -; =================== Strings =================== - -[Strings] -ClassName = "Universal Serial Bus devices" -ManufacturerName = "KEIL - Tools By ARM" -DeviceName = "CMSIS-DAP v2" diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Template/MDK5/USBD_User_CDC_ACM_UART_0.c b/external/CMSIS_5/CMSIS/DAP/Firmware/Template/MDK5/USBD_User_CDC_ACM_UART_0.c deleted file mode 100644 index 7f12203..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Template/MDK5/USBD_User_CDC_ACM_UART_0.c +++ /dev/null @@ -1,381 +0,0 @@ -/*------------------------------------------------------------------------------ - * MDK Middleware - Component ::USB:Device:CDC - * Copyright (c) 2004-2021 Arm Limited (or its affiliates). All rights reserved. - *------------------------------------------------------------------------------ - * Name: USBD_User_CDC_ACM_UART_0.c - * Purpose: USB Device Communication Device Class (CDC) - * Abstract Control Model (ACM) USB <-> UART Bridge User module - * Rev.: V1.0.8 - *----------------------------------------------------------------------------*/ -/** - * \addtogroup usbd_cdcFunctions - * - * USBD_User_CDC_ACM_UART_0.c implements the application specific - * functionality of the CDC ACM class and is used to demonstrate a USB <-> UART - * bridge. All data received on USB is transmitted on UART and all data - * received on UART is transmitted on USB. - * - * Details of operation: - * UART -> USB: - * Initial reception on UART is started after the USB Host sets line coding - * with SetLineCoding command. Having received a full UART buffer, any - * new reception is restarted on the same buffer. Any data received on - * the UART is sent over USB using the CDC0_ACM_UART_to_USB_Thread thread. - * USB -> UART: - * While the UART transmit is not busy, data transmission on the UART is - * started in the USBD_CDC0_ACM_DataReceived callback as soon as data is - * received on the USB. Further data received on USB is transmitted on - * UART in the UART callback routine until there is no more data available. - * In this case, the next UART transmit is restarted from the - * USBD_CDC0_ACM_DataReceived callback as soon as new data is received - * on the USB. - * - * The following constants in this module affect the module functionality: - * - * - UART_PORT: specifies UART Port - * default value: 0 (=UART0) - * - UART_BUFFER_SIZE: specifies UART data Buffer Size - * default value: 512 - * - * Notes: - * If the USB is slower than the UART, data can get lost. This may happen - * when USB is pausing during data reception because of the USB Host being - * too loaded with other tasks and not polling the Bulk IN Endpoint often - * enough (up to 2 seconds of gap in polling Bulk IN Endpoint may occur). - * This problem can be solved by using a large enough UART buffer to - * compensate up to a few seconds of received UART data or by using UART - * flow control. - * If the device that receives the UART data (usually a PC) is too loaded - * with other tasks it can also loose UART data. This problem can only be - * solved by using UART flow control. - * - * This file has to be adapted in case of UART flow control usage. - */ - - -//! [code_USBD_User_CDC_ACM] -#include -#include - -#include "rl_usb.h" - -#include "Driver_USART.h" - -#include "DAP_config.h" -#include "DAP.h" - -// UART Configuration ---------------------------------------------------------- - -#define UART_BUFFER_SIZE (512) // UART Buffer Size - -//------------------------------------------------------------------------------ - -#define _UART_Driver_(n) Driver_USART##n -#define UART_Driver_(n) _UART_Driver_(n) -extern ARM_DRIVER_USART UART_Driver_(DAP_UART_DRIVER); -#define ptrUART (&UART_Driver_(DAP_UART_DRIVER)) - -// Local Variables -static uint8_t uart_rx_buf[UART_BUFFER_SIZE]; -static uint8_t uart_tx_buf[UART_BUFFER_SIZE]; - -static volatile int32_t uart_rx_cnt = 0; -static volatile int32_t usb_tx_cnt = 0; - -static void *cdc_acm_bridge_tid = 0U; -static CDC_LINE_CODING cdc_acm_line_coding = { 0U, 0U, 0U, 0U }; - -static uint8_t cdc_acm_active = 1U; -static osMutexId_t cdc_acm_mutex_id = NULL; - -// Acquire mutex -__STATIC_INLINE void CDC_ACM_Lock (void) { - if (cdc_acm_mutex_id == NULL) { - cdc_acm_mutex_id = osMutexNew(NULL); - } - osMutexAcquire(cdc_acm_mutex_id, osWaitForever); -} - -// Release mutex -__STATIC_INLINE void CDC_ACM_Unlock (void) { - osMutexRelease(cdc_acm_mutex_id); -} - -// Change communication settings. -// \param[in] line_coding pointer to CDC_LINE_CODING structure. -// \return true set line coding request processed. -// \return false set line coding request not supported or not processed. -static bool CDC_ACM_SetLineCoding (const CDC_LINE_CODING *line_coding) { - uint32_t data_bits = 0U, parity = 0U, stop_bits = 0U; - int32_t status; - - (void)ptrUART->Control (ARM_USART_ABORT_SEND, 0U); - (void)ptrUART->Control (ARM_USART_ABORT_RECEIVE, 0U); - (void)ptrUART->Control (ARM_USART_CONTROL_TX, 0U); - (void)ptrUART->Control (ARM_USART_CONTROL_RX, 0U); - - switch (line_coding->bCharFormat) { - case 0: // 1 Stop bit - stop_bits = ARM_USART_STOP_BITS_1; - break; - case 1: // 1.5 Stop bits - stop_bits = ARM_USART_STOP_BITS_1_5; - break; - case 2: // 2 Stop bits - stop_bits = ARM_USART_STOP_BITS_2; - break; - default: - return false; - } - - switch (line_coding->bParityType) { - case 0: // None - parity = ARM_USART_PARITY_NONE; - break; - case 1: // Odd - parity = ARM_USART_PARITY_ODD; - break; - case 2: // Even - parity = ARM_USART_PARITY_EVEN; - break; - default: - return false; - } - - switch (line_coding->bDataBits) { - case 5: - data_bits = ARM_USART_DATA_BITS_5; - break; - case 6: - data_bits = ARM_USART_DATA_BITS_6; - break; - case 7: - data_bits = ARM_USART_DATA_BITS_7; - break; - case 8: - data_bits = ARM_USART_DATA_BITS_8; - break; - default: - return false; - } - - status = ptrUART->Control(ARM_USART_MODE_ASYNCHRONOUS | - data_bits | - parity | - stop_bits , - line_coding->dwDTERate ); - - if (status != ARM_DRIVER_OK) { - return false; - } - - // Store requested settings to local variable - memcpy(&cdc_acm_line_coding, line_coding, sizeof(cdc_acm_line_coding)); - - uart_rx_cnt = 0; - usb_tx_cnt = 0; - - (void)ptrUART->Control (ARM_USART_CONTROL_TX, 1U); - (void)ptrUART->Control (ARM_USART_CONTROL_RX, 1U); - - (void)ptrUART->Receive (uart_rx_buf, UART_BUFFER_SIZE); - - return true; -} - -// Activate or Deactivate USBD COM PORT -// \param[in] cmd 0=deactivate, 1=activate -// \return 0=Ok, 0xFF=Error -uint8_t USB_COM_PORT_Activate (uint32_t cmd) { - switch (cmd) { - case 0U: - cdc_acm_active = 0U; - USBD_CDC0_ACM_Uninitialize(); - break; - case 1U: - USBD_CDC0_ACM_Initialize(); - CDC_ACM_Lock(); - CDC_ACM_SetLineCoding(&cdc_acm_line_coding); - cdc_acm_active = 1U; - CDC_ACM_Unlock(); - break; - } - - return 0U; -} - -// Called when UART has transmitted or received requested number of bytes. -// \param[in] event UART event -// - ARM_USART_EVENT_SEND_COMPLETE: all requested data was sent -// - ARM_USART_EVENT_RECEIVE_COMPLETE: all requested data was received -static void UART_Callback (uint32_t event) { - int32_t cnt; - - if (cdc_acm_active == 0U) { - return; - } - - if (event & ARM_USART_EVENT_SEND_COMPLETE) { - // USB -> UART - cnt = USBD_CDC_ACM_ReadData(0U, uart_tx_buf, UART_BUFFER_SIZE); - if (cnt > 0) { - (void)ptrUART->Send(uart_tx_buf, (uint32_t)(cnt)); - } - } - - if (event & ARM_USART_EVENT_RECEIVE_COMPLETE) { - // UART data received, restart new reception - uart_rx_cnt += UART_BUFFER_SIZE; - (void)ptrUART->Receive(uart_rx_buf, UART_BUFFER_SIZE); - } -} - -// Thread: Sends data received on UART to USB -// \param[in] arg not used. -__NO_RETURN static void CDC0_ACM_UART_to_USB_Thread (void *arg) { - int32_t cnt, cnt_to_wrap; - - (void)(arg); - - for (;;) { - // UART - > USB - if (ptrUART->GetStatus().rx_busy != 0U) { - cnt = uart_rx_cnt; - cnt += (int32_t)ptrUART->GetRxCount(); - cnt -= usb_tx_cnt; - if (cnt >= (UART_BUFFER_SIZE - 32)) { - // Dump old data in UART receive buffer if USB is not consuming fast enough - cnt = (UART_BUFFER_SIZE - 32); - usb_tx_cnt = uart_rx_cnt - (UART_BUFFER_SIZE - 32); - } - if (cnt > 0) { - cnt_to_wrap = (int32_t)(UART_BUFFER_SIZE - ((uint32_t)usb_tx_cnt & (UART_BUFFER_SIZE - 1))); - if (cnt > cnt_to_wrap) { - cnt = cnt_to_wrap; - } - cnt = USBD_CDC_ACM_WriteData(0U, (uart_rx_buf + ((uint32_t)usb_tx_cnt & (UART_BUFFER_SIZE - 1))), cnt); - if (cnt > 0) { - usb_tx_cnt += cnt; - } - } - } - (void)osDelay(10U); - } -} - -static osRtxThread_t cdc0_acm_uart_to_usb_thread_cb_mem __SECTION(.bss.os.thread.cb); -static uint64_t cdc0_acm_uart_to_usb_thread_stack_mem[512U / 8U] __SECTION(.bss.os.thread.cdc.stack); -static const osThreadAttr_t cdc0_acm_uart_to_usb_thread_attr = { - "CDC0_ACM_UART_to_USB_Thread", - 0U, - &cdc0_acm_uart_to_usb_thread_cb_mem, - sizeof(osRtxThread_t), - &cdc0_acm_uart_to_usb_thread_stack_mem[0], - sizeof(cdc0_acm_uart_to_usb_thread_stack_mem), - osPriorityNormal, - 0U, - 0U -}; - - -// CDC ACM Callbacks ----------------------------------------------------------- - -// Called when new data was received from the USB Host. -// \param[in] len number of bytes available to read. -void USBD_CDC0_ACM_DataReceived (uint32_t len) { - int32_t cnt; - - (void)(len); - - if (cdc_acm_active == 0U) { - return; - } - - if (ptrUART->GetStatus().tx_busy == 0U) { - // Start USB -> UART - cnt = USBD_CDC_ACM_ReadData(0U, uart_tx_buf, UART_BUFFER_SIZE); - if (cnt > 0) { - (void)ptrUART->Send(uart_tx_buf, (uint32_t)(cnt)); - } - } -} - -// Called during USBD_Initialize to initialize the USB CDC class instance (ACM). -void USBD_CDC0_ACM_Initialize (void) { - (void)ptrUART->Initialize (UART_Callback); - (void)ptrUART->PowerControl (ARM_POWER_FULL); - - cdc_acm_bridge_tid = osThreadNew (CDC0_ACM_UART_to_USB_Thread, NULL, &cdc0_acm_uart_to_usb_thread_attr); -} - - -// Called during USBD_Uninitialize to de-initialize the USB CDC class instance (ACM). -void USBD_CDC0_ACM_Uninitialize (void) { - if (osThreadTerminate (cdc_acm_bridge_tid) == osOK) { - cdc_acm_bridge_tid = NULL; - } - (void)ptrUART->Control (ARM_USART_ABORT_RECEIVE, 0U); - (void)ptrUART->PowerControl (ARM_POWER_OFF); - (void)ptrUART->Uninitialize (); -} - - -// Called upon USB Bus Reset Event. -void USBD_CDC0_ACM_Reset (void) { - if (cdc_acm_active == 0U ) { - return; - } - (void)ptrUART->Control (ARM_USART_ABORT_SEND, 0U); - (void)ptrUART->Control (ARM_USART_ABORT_RECEIVE, 0U); -} - - -// Called upon USB Host request to change communication settings. -// \param[in] line_coding pointer to CDC_LINE_CODING structure. -// \return true set line coding request processed. -// \return false set line coding request not supported or not processed. -bool USBD_CDC0_ACM_SetLineCoding (const CDC_LINE_CODING *line_coding) { - bool ret = false; - - CDC_ACM_Lock(); - if (cdc_acm_active == 0U) { - // Store requested settings to local variable - memcpy(&cdc_acm_line_coding, line_coding, sizeof(cdc_acm_line_coding)); - ret = true; - } else { - ret = CDC_ACM_SetLineCoding(line_coding); - } - CDC_ACM_Unlock(); - - return ret; -} - - -// Called upon USB Host request to retrieve communication settings. -// \param[out] line_coding pointer to CDC_LINE_CODING structure. -// \return true get line coding request processed. -// \return false get line coding request not supported or not processed. -bool USBD_CDC0_ACM_GetLineCoding (CDC_LINE_CODING *line_coding) { - - // Load settings from ones stored on USBD_CDC0_ACM_SetLineCoding callback - *line_coding = cdc_acm_line_coding; - - return true; -} - - -// Called upon USB Host request to set control line states. -// \param [in] state control line settings bitmap. -// - bit 0: DTR state -// - bit 1: RTS state -// \return true set control line state request processed. -// \return false set control line state request not supported or not processed. -bool USBD_CDC0_ACM_SetControlLineState (uint16_t state) { - // Add code for set control line state - - (void)(state); - - return true; -} - -//! [code_USBD_User_CDC_ACM] diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Template/MDK5/USBD_User_CustomClass_0.c b/external/CMSIS_5/CMSIS/DAP/Firmware/Template/MDK5/USBD_User_CustomClass_0.c deleted file mode 100644 index 186c7b9..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Template/MDK5/USBD_User_CustomClass_0.c +++ /dev/null @@ -1,358 +0,0 @@ -/*------------------------------------------------------------------------------ - * MDK Middleware - Component ::USB:Device - * Copyright (c) 2004-2016 ARM Germany GmbH. All rights reserved. - *------------------------------------------------------------------------------ - * Name: USBD_User_CustomClass_0.c - * Purpose: USB Device Custom Class User module - * Rev.: V6.7.3 - *----------------------------------------------------------------------------*/ -/* - * USBD_User_CustomClass_0.c is a code template for the Custom Class 0 - * class request handling. It allows user to handle all Custom Class class - * requests. - * - * Uncomment "Example code" lines to see example that receives data on - * Endpoint 1 OUT and echoes it back on Endpoint 1 IN. - * To try the example you also have to enable Bulk Endpoint 1 IN/OUT in Custom - * Class configuration in USBD_Config_CustomClass_0.h file. - */ - -/** - * \addtogroup usbd_custom_classFunctions - * - */ - - -//! [code_USBD_User_CustomClass] - -#include -#include -#include -#include "cmsis_os2.h" -#define osObjectsExternal -#include "osObjects.h" -#include "rl_usb.h" -#include "Driver_USBD.h" -#include "DAP_config.h" -#include "DAP.h" - -static volatile uint16_t USB_RequestIndexI; // Request Index In -static volatile uint16_t USB_RequestIndexO; // Request Index Out -static volatile uint16_t USB_RequestCountI; // Request Count In -static volatile uint16_t USB_RequestCountO; // Request Count Out -static volatile uint8_t USB_RequestIdle; // Request Idle Flag - -static volatile uint16_t USB_ResponseIndexI; // Response Index In -static volatile uint16_t USB_ResponseIndexO; // Response Index Out -static volatile uint16_t USB_ResponseCountI; // Response Count In -static volatile uint16_t USB_ResponseCountO; // Response Count Out -static volatile uint8_t USB_ResponseIdle; // Response Idle Flag - -static uint8_t USB_Request [DAP_PACKET_COUNT][DAP_PACKET_SIZE] __attribute__((section(".bss.USB_IO"))); // Request Buffer -static uint8_t USB_Response[DAP_PACKET_COUNT][DAP_PACKET_SIZE] __attribute__((section(".bss.USB_IO"))); // Response Buffer -static uint16_t USB_RespSize[DAP_PACKET_COUNT]; // Response Size - -// \brief Callback function called during USBD_Initialize to initialize the USB Custom class instance -void USBD_CustomClass0_Initialize (void) { - // Handle Custom Class Initialization - - // Initialize variables - USB_RequestIndexI = 0U; - USB_RequestIndexO = 0U; - USB_RequestCountI = 0U; - USB_RequestCountO = 0U; - USB_RequestIdle = 1U; - USB_ResponseIndexI = 0U; - USB_ResponseIndexO = 0U; - USB_ResponseCountI = 0U; - USB_ResponseCountO = 0U; - USB_ResponseIdle = 1U; -} - -// \brief Callback function called during USBD_Uninitialize to de-initialize the USB Custom class instance -void USBD_CustomClass0_Uninitialize (void) { - // Handle Custom Class De-initialization -} - -// \brief Callback function called upon USB Bus Reset signaling -void USBD_CustomClass0_Reset (void) { - // Handle USB Bus Reset Event -} - -// \brief Callback function called when Endpoint Start was requested (by activating interface or configuration) -// \param[in] ep_addr endpoint address. -void USBD_CustomClass0_EndpointStart (uint8_t ep_addr) { - // Start communication on Endpoint - if (ep_addr == USB_ENDPOINT_OUT(1U)) { - USB_RequestIdle = 0U; - USBD_EndpointRead(0U, USB_ENDPOINT_OUT(1U), USB_Request[0], DAP_PACKET_SIZE); - } -} - -// \brief Callback function called when Endpoint Stop was requested (by de-activating interface or activating configuration 0) -// \param[in] ep_addr endpoint address. -void USBD_CustomClass0_EndpointStop (uint8_t ep_addr) { - // Handle Endpoint communication stopped - (void)ep_addr; -} - -// \brief Callback function called when Custom Class 0 received SETUP PACKET on Control Endpoint 0 -// (this callback will be called only for Class Requests (USB_REQUEST_CLASS) if it was not processed -// previously by Device callback) -// \param[in] setup_packet pointer to received setup packet. -// \param[out] buf pointer to data buffer used for data stage requested by setup packet. -// \param[out] len pointer to number of data bytes in data stage requested by setup packet. -// \return usbdRequestStatus enumerator value indicating the function execution status -// \return usbdRequestNotProcessed:request was not processed; processing will be done by USB library -// \return usbdRequestOK: request was processed successfully (send Zero-Length Packet if no data stage) -// \return usbdRequestStall: request was processed but is not supported (stall Endpoint 0) -usbdRequestStatus USBD_CustomClass0_Endpoint0_SetupPacketReceived (const USB_SETUP_PACKET *setup_packet, uint8_t **buf, uint32_t *len) { - (void)setup_packet; - (void)buf; - (void)len; - - switch (setup_packet->bmRequestType.Recipient) { - case USB_REQUEST_TO_DEVICE: - break; - case USB_REQUEST_TO_INTERFACE: - break; - case USB_REQUEST_TO_ENDPOINT: - break; - default: - break; - } - - return usbdRequestNotProcessed; -} - -// \brief Callback function called when SETUP PACKET was processed by USB library -// (this callback will be called only for Class Requests (USB_REQUEST_CLASS) if it was not processed -// previously by Device callback nor by Custom Class callback) -// \param[in] setup_packet pointer to processed setup packet. -void USBD_CustomClass0_Endpoint0_SetupPacketProcessed (const USB_SETUP_PACKET *setup_packet) { - (void)setup_packet; - - switch (setup_packet->bmRequestType.Recipient) { - case USB_REQUEST_TO_DEVICE: - break; - case USB_REQUEST_TO_INTERFACE: - break; - case USB_REQUEST_TO_ENDPOINT: - break; - default: - break; - } -} - -// \brief Callback function called when Custom Class 0 received OUT DATA on Control Endpoint 0 -// (this callback will be called only for Class Requests (USB_REQUEST_CLASS) if it was not processed -// previously by Device callback) -// \param[in] len number of received data bytes. -// \return usbdRequestStatus enumerator value indicating the function execution status -// \return usbdRequestNotProcessed:request was not processed; processing will be done by USB library -// \return usbdRequestOK: request was processed successfully (send Zero-Length Packet) -// \return usbdRequestStall: request was processed but is not supported (stall Endpoint 0) -// \return usbdRequestNAK: request was processed but the device is busy (return NAK) -usbdRequestStatus USBD_CustomClass0_Endpoint0_OutDataReceived (uint32_t len) { - (void)len; - return usbdRequestNotProcessed; -} - -// \brief Callback function called when Custom Class 0 sent IN DATA on Control Endpoint 0 -// (this callback will be called only for Class Requests (USB_REQUEST_CLASS) if it was not processed -// previously by Device callback) -// \param[in] len number of sent data bytes. -// \return usbdRequestStatus enumerator value indicating the function execution status -// \return usbdRequestNotProcessed:request was not processed; processing will be done by USB library -// \return usbdRequestOK: request was processed successfully (return ACK) -// \return usbdRequestStall: request was processed but is not supported (stall Endpoint 0) -// \return usbdRequestNAK: request was processed but the device is busy (return NAK) -usbdRequestStatus USBD_CustomClass0_Endpoint0_InDataSent (uint32_t len) { - (void)len; - return usbdRequestNotProcessed; -} - -// \brief Callback function called when DATA was sent or received on Endpoint n -// \param[in] event event on Endpoint: -// - ARM_USBD_EVENT_OUT = data OUT received -// - ARM_USBD_EVENT_IN = data IN sent -void USBD_CustomClass0_Endpoint1_Event (uint32_t event) { - // Handle Endpoint 1 events - uint32_t n; - - if (event & ARM_USBD_EVENT_OUT) { - n = USBD_EndpointReadGetResult(0U, USB_ENDPOINT_OUT(1U)); - if (n != 0U) { - if (USB_Request[USB_RequestIndexI][0] == ID_DAP_TransferAbort) { - DAP_TransferAbort = 1U; - } else { - USB_RequestIndexI++; - if (USB_RequestIndexI == DAP_PACKET_COUNT) { - USB_RequestIndexI = 0U; - } - USB_RequestCountI++; - osThreadFlagsSet(DAP_ThreadId, 0x01); - } - } - // Start reception of next request packet - if ((uint16_t)(USB_RequestCountI - USB_RequestCountO) != DAP_PACKET_COUNT) { - USBD_EndpointRead(0U, USB_ENDPOINT_OUT(1U), USB_Request[USB_RequestIndexI], DAP_PACKET_SIZE); - } else { - USB_RequestIdle = 1U; - } - } - if (event & ARM_USBD_EVENT_IN) { - if (USB_ResponseCountI != USB_ResponseCountO) { - // Load data from response buffer to be sent back - USBD_EndpointWrite(0U, USB_ENDPOINT_IN(1U), USB_Response[USB_ResponseIndexO], USB_RespSize[USB_ResponseIndexO]); - USB_ResponseIndexO++; - if (USB_ResponseIndexO == DAP_PACKET_COUNT) { - USB_ResponseIndexO = 0U; - } - USB_ResponseCountO++; - } else { - USB_ResponseIdle = 1U; - } - } -} -void USBD_CustomClass0_Endpoint2_Event (uint32_t event) { - // Handle Endpoint 2 events - if (event & ARM_USBD_EVENT_IN) { - SWO_TransferComplete(); - } -} -void USBD_CustomClass0_Endpoint3_Event (uint32_t event) { - // Handle Endpoint 3 events - (void)event; -} -void USBD_CustomClass0_Endpoint4_Event (uint32_t event) { - // Handle Endpoint 4 events - (void)event; -} -void USBD_CustomClass0_Endpoint5_Event (uint32_t event) { - // Handle Endpoint 5 events - (void)event; -} -void USBD_CustomClass0_Endpoint6_Event (uint32_t event) { - // Handle Endpoint 6 events - (void)event; -} -void USBD_CustomClass0_Endpoint7_Event (uint32_t event) { - // Handle Endpoint 7 events - (void)event; -} -void USBD_CustomClass0_Endpoint8_Event (uint32_t event) { - // Handle Endpoint 8 events - (void)event; -} -void USBD_CustomClass0_Endpoint9_Event (uint32_t event) { - // Handle Endpoint 9 events - (void)event; -} -void USBD_CustomClass0_Endpoint10_Event (uint32_t event) { - // Handle Endpoint 10 events - (void)event; -} -void USBD_CustomClass0_Endpoint11_Event (uint32_t event) { - // Handle Endpoint 11 events - (void)event; -} -void USBD_CustomClass0_Endpoint12_Event (uint32_t event) { - // Handle Endpoint 12 events - (void)event; -} -void USBD_CustomClass0_Endpoint13_Event (uint32_t event) { - // Handle Endpoint 13 events - (void)event; -} -void USBD_CustomClass0_Endpoint14_Event (uint32_t event) { - // Handle Endpoint 14 events - (void)event; -} -void USBD_CustomClass0_Endpoint15_Event (uint32_t event) { - // Handle Endpoint 15 events - (void)event; -} - -// DAP Thread. -__NO_RETURN void DAP_Thread (void *argument) { - uint32_t flags; - uint32_t n; - (void) argument; - - for (;;) { - osThreadFlagsWait(0x81U, osFlagsWaitAny, osWaitForever); - - // Process pending requests - while (USB_RequestCountI != USB_RequestCountO) { - - // Handle Queue Commands - n = USB_RequestIndexO; - while (USB_Request[n][0] == ID_DAP_QueueCommands) { - USB_Request[n][0] = ID_DAP_ExecuteCommands; - n++; - if (n == DAP_PACKET_COUNT) { - n = 0U; - } - if (n == USB_RequestIndexI) { - flags = osThreadFlagsWait(0x81U, osFlagsWaitAny, osWaitForever); - if (flags & 0x80U) { - break; - } - } - } - - // Execute DAP Command (process request and prepare response) - USB_RespSize[USB_ResponseIndexI] = - (uint16_t)DAP_ExecuteCommand(USB_Request[USB_RequestIndexO], USB_Response[USB_ResponseIndexI]); - - // Update Request Index and Count - USB_RequestIndexO++; - if (USB_RequestIndexO == DAP_PACKET_COUNT) { - USB_RequestIndexO = 0U; - } - USB_RequestCountO++; - - if (USB_RequestIdle) { - if ((uint16_t)(USB_RequestCountI - USB_RequestCountO) != DAP_PACKET_COUNT) { - USB_RequestIdle = 0U; - USBD_EndpointRead(0U, USB_ENDPOINT_OUT(1U), USB_Request[USB_RequestIndexI], DAP_PACKET_SIZE); - } - } - - // Update Response Index and Count - USB_ResponseIndexI++; - if (USB_ResponseIndexI == DAP_PACKET_COUNT) { - USB_ResponseIndexI = 0U; - } - USB_ResponseCountI++; - - if (USB_ResponseIdle) { - if (USB_ResponseCountI != USB_ResponseCountO) { - // Load data from response buffer to be sent back - n = USB_ResponseIndexO++; - if (USB_ResponseIndexO == DAP_PACKET_COUNT) { - USB_ResponseIndexO = 0U; - } - USB_ResponseCountO++; - USB_ResponseIdle = 0U; - USBD_EndpointWrite(0U, USB_ENDPOINT_IN(1U), USB_Response[n], USB_RespSize[n]); - } - } - } - } -} - -// SWO Data Queue Transfer -// buf: pointer to buffer with data -// num: number of bytes to transfer -void SWO_QueueTransfer (uint8_t *buf, uint32_t num) { - USBD_EndpointWrite(0U, USB_ENDPOINT_IN(2U), buf, num); -} - -// SWO Data Abort Transfer -void SWO_AbortTransfer (void) { - USBD_EndpointAbort(0U, USB_ENDPOINT_IN(2U)); -} - -//! [code_USBD_User_CustomClass] diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Template/MDK5/USBD_User_HID_0.c b/external/CMSIS_5/CMSIS/DAP/Firmware/Template/MDK5/USBD_User_HID_0.c deleted file mode 100644 index 206537b..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Template/MDK5/USBD_User_HID_0.c +++ /dev/null @@ -1,246 +0,0 @@ -/*------------------------------------------------------------------------------ - * MDK Middleware - Component ::USB:Device - * Copyright (c) 2004-2017 ARM Germany GmbH. All rights reserved. - *------------------------------------------------------------------------------ - * Name: USBD_User_HID_0.c - * Purpose: USB Device Human Interface Device class (HID) User module - * Rev.: V6.2.3 - *----------------------------------------------------------------------------*/ -/** - * \addtogroup usbd_hidFunctions - * - * USBD_User_HID_0.c implements the application specific functionality of the - * HID class and is used to receive and send data reports to the USB Host. - * - * The implementation must match the configuration file USBD_Config_HID_0.h. - * The following values in USBD_Config_HID_0.h affect the user code: - * - * - 'Endpoint polling Interval' specifies the frequency of requests - * initiated by USB Host for \ref USBD_HIDn_GetReport. - * - * - 'Number of Output Reports' configures the values for \em rid of - * \ref USBD_HIDn_SetReport. - * - * - 'Number of Input Reports' configures the values for \em rid of - * \ref USBD_HIDn_GetReport and \ref USBD_HID_GetReportTrigger. - * - * - 'Maximum Input Report Size' specifies the maximum value for: - * - return of \ref USBD_HIDn_GetReport - * - len of \ref USBD_HID_GetReportTrigger. - * - * - 'Maximum Output Report Size' specifies the maximum value for \em len - * in \ref USBD_HIDn_SetReport for rtype=HID_REPORT_OUTPUT - * - * - 'Maximum Feature Report Size' specifies the maximum value for \em len - * in \ref USBD_HIDn_SetReport for rtype=HID_REPORT_FEATURE - * - */ - - -//! [code_USBD_User_HID] - -#include -#include -#include "cmsis_os2.h" -#define osObjectsExternal -#include "osObjects.h" -#include "rl_usb.h" -#include "RTE\USB\USBD_Config_HID_0.h" -#include "DAP_config.h" -#include "DAP.h" - - -#if (USBD_HID0_OUT_REPORT_MAX_SZ != DAP_PACKET_SIZE) -#error "USB HID0 Output Report Size must match DAP Packet Size" -#endif -#if (USBD_HID0_IN_REPORT_MAX_SZ != DAP_PACKET_SIZE) -#error "USB HID Input Report Size must match DAP Packet Size" -#endif - -static volatile uint16_t USB_RequestIndexI; // Request Index In -static volatile uint16_t USB_RequestIndexO; // Request Index Out -static volatile uint16_t USB_RequestCountI; // Request Count In -static volatile uint16_t USB_RequestCountO; // Request Count Out - -static volatile uint16_t USB_ResponseIndexI; // Response Index In -static volatile uint16_t USB_ResponseIndexO; // Response Index Out -static volatile uint16_t USB_ResponseCountI; // Response Count In -static volatile uint16_t USB_ResponseCountO; // Response Count Out -static volatile uint8_t USB_ResponseIdle; // Response Idle Flag - -static uint8_t USB_Request [DAP_PACKET_COUNT][DAP_PACKET_SIZE]; // Request Buffer -static uint8_t USB_Response[DAP_PACKET_COUNT][DAP_PACKET_SIZE]; // Response Buffer - - -// Called during USBD_Initialize to initialize the USB HID class instance. -void USBD_HID0_Initialize (void) { - // Initialize variables - USB_RequestIndexI = 0U; - USB_RequestIndexO = 0U; - USB_RequestCountI = 0U; - USB_RequestCountO = 0U; - USB_ResponseIndexI = 0U; - USB_ResponseIndexO = 0U; - USB_ResponseCountI = 0U; - USB_ResponseCountO = 0U; - USB_ResponseIdle = 1U; -} - - -// Called during USBD_Uninitialize to de-initialize the USB HID class instance. -void USBD_HID0_Uninitialize (void) { -} - - -// \brief Prepare HID Report data to send. -// \param[in] rtype report type: -// - HID_REPORT_INPUT = input report requested -// - HID_REPORT_FEATURE = feature report requested -// \param[in] req request type: -// - USBD_HID_REQ_EP_CTRL = control endpoint request -// - USBD_HID_REQ_PERIOD_UPDATE = idle period expiration request -// - USBD_HID_REQ_EP_INT = previously sent report on interrupt endpoint request -// \param[in] rid report ID (0 if only one report exists). -// \param[out] buf buffer containing report data to send. -// \return number of report data bytes prepared to send or invalid report requested. -// - value >= 0: number of report data bytes prepared to send -// - value = -1: invalid report requested -int32_t USBD_HID0_GetReport (uint8_t rtype, uint8_t req, uint8_t rid, uint8_t *buf) { - (void)rid; - - switch (rtype) { - case HID_REPORT_INPUT: - switch (req) { - case USBD_HID_REQ_EP_CTRL: // Explicit USB Host request via Control OUT Endpoint - case USBD_HID_REQ_PERIOD_UPDATE: // Periodic USB Host request via Interrupt OUT Endpoint - break; - case USBD_HID_REQ_EP_INT: // Called after USBD_HID_GetReportTrigger to signal data obtained. - if (USB_ResponseCountI != USB_ResponseCountO) { - // Load data from response buffer to be sent back - memcpy(buf, USB_Response[USB_ResponseIndexO], DAP_PACKET_SIZE); - USB_ResponseIndexO++; - if (USB_ResponseIndexO == DAP_PACKET_COUNT) { - USB_ResponseIndexO = 0U; - } - USB_ResponseCountO++; - return ((int32_t)DAP_PACKET_SIZE); - } else { - USB_ResponseIdle = 1U; - } - break; - } - break; - case HID_REPORT_FEATURE: - break; - } - return (0); -} - - -// \brief Process received HID Report data. -// \param[in] rtype report type: -// - HID_REPORT_OUTPUT = output report received -// - HID_REPORT_FEATURE = feature report received -// \param[in] req request type: -// - USBD_HID_REQ_EP_CTRL = report received on control endpoint -// - USBD_HID_REQ_EP_INT = report received on interrupt endpoint -// \param[in] rid report ID (0 if only one report exists). -// \param[in] buf buffer that receives report data. -// \param[in] len length of received report data. -// \return true received report data processed. -// \return false received report data not processed or request not supported. -bool USBD_HID0_SetReport (uint8_t rtype, uint8_t req, uint8_t rid, const uint8_t *buf, int32_t len) { - (void)req; - (void)rid; - - switch (rtype) { - case HID_REPORT_OUTPUT: - if (len == 0) { - break; - } - if (buf[0] == ID_DAP_TransferAbort) { - DAP_TransferAbort = 1U; - break; - } - if ((uint16_t)(USB_RequestCountI - USB_RequestCountO) == DAP_PACKET_COUNT) { - osThreadFlagsSet(DAP_ThreadId, 0x80U); - break; // Discard packet when buffer is full - } - // Store received data into request buffer - memcpy(USB_Request[USB_RequestIndexI], buf, (uint32_t)len); - USB_RequestIndexI++; - if (USB_RequestIndexI == DAP_PACKET_COUNT) { - USB_RequestIndexI = 0U; - } - USB_RequestCountI++; - osThreadFlagsSet(DAP_ThreadId, 0x01U); - break; - case HID_REPORT_FEATURE: - break; - } - return true; -} - - -// DAP Thread. -__NO_RETURN void DAP_Thread (void *argument) { - uint32_t flags; - uint32_t n; - (void) argument; - - for (;;) { - osThreadFlagsWait(0x81U, osFlagsWaitAny, osWaitForever); - - // Process pending requests - while (USB_RequestCountI != USB_RequestCountO) { - - // Handle Queue Commands - n = USB_RequestIndexO; - while (USB_Request[n][0] == ID_DAP_QueueCommands) { - USB_Request[n][0] = ID_DAP_ExecuteCommands; - n++; - if (n == DAP_PACKET_COUNT) { - n = 0U; - } - if (n == USB_RequestIndexI) { - flags = osThreadFlagsWait(0x81U, osFlagsWaitAny, osWaitForever); - if (flags & 0x80U) { - break; - } - } - } - - // Execute DAP Command (process request and prepare response) - DAP_ExecuteCommand(USB_Request[USB_RequestIndexO], USB_Response[USB_ResponseIndexI]); - - // Update Request Index and Count - USB_RequestIndexO++; - if (USB_RequestIndexO == DAP_PACKET_COUNT) { - USB_RequestIndexO = 0U; - } - USB_RequestCountO++; - - // Update Response Index and Count - USB_ResponseIndexI++; - if (USB_ResponseIndexI == DAP_PACKET_COUNT) { - USB_ResponseIndexI = 0U; - } - USB_ResponseCountI++; - - if (USB_ResponseIdle) { - if (USB_ResponseCountI != USB_ResponseCountO) { - // Load data from response buffer to be sent back - n = USB_ResponseIndexO++; - if (USB_ResponseIndexO == DAP_PACKET_COUNT) { - USB_ResponseIndexO = 0U; - } - USB_ResponseCountO++; - USB_ResponseIdle = 0U; - USBD_HID_GetReportTrigger(0U, 0U, USB_Response[n], DAP_PACKET_SIZE); - } - } - } - } -} - -//! [code_USBD_User_HID] diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Template/MDK5/main.c b/external/CMSIS_5/CMSIS/DAP/Firmware/Template/MDK5/main.c deleted file mode 100644 index 8c354a8..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Template/MDK5/main.c +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright (c) 2013-2021 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ---------------------------------------------------------------------- - * - * $Date: 21. May 2021 - * $Revision: V2.0.0 - * - * Project: CMSIS-DAP Template MDK5 - * Title: main.c CMSIS-DAP Main module - * - *---------------------------------------------------------------------------*/ - -#include "cmsis_os2.h" -#include "osObjects.h" -#include "rl_usb.h" -#include "DAP_config.h" -#include "DAP.h" - -// Application Main program -__NO_RETURN void app_main (void *argument) { - (void)argument; - - DAP_Setup(); // DAP Setup - - USBD_Initialize(0U); // USB Device Initialization - USBD_Connect(0U); // USB Device Connect - - while (!USBD_Configured(0U)); // Wait for USB Device to configure - - LED_CONNECTED_OUT(1U); // Turn on Debugger Connected LED - LED_RUNNING_OUT(1U); // Turn on Target Running LED - Delayms(500U); // Wait for 500ms - LED_RUNNING_OUT(0U); // Turn off Target Running LED - LED_CONNECTED_OUT(0U); // Turn off Debugger Connected LED - - // Create DAP Thread - DAP_ThreadId = osThreadNew(DAP_Thread, NULL, &DAP_ThreadAttr); - - // Create SWO Thread - SWO_ThreadId = osThreadNew(SWO_Thread, NULL, &SWO_ThreadAttr); - - osDelay(osWaitForever); - for (;;) {} -} - -int main (void) { - - SystemCoreClockUpdate(); - osKernelInitialize(); // Initialize CMSIS-RTOS - osThreadNew(app_main, NULL, NULL); // Create application main thread - if (osKernelGetState() == osKernelReady) { - osKernelStart(); // Start thread execution - } - - for (;;) {} -} diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Template/MDK5/osObjects.h b/external/CMSIS_5/CMSIS/DAP/Firmware/Template/MDK5/osObjects.h deleted file mode 100644 index 4662c22..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Template/MDK5/osObjects.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (c) 2013-2017 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ---------------------------------------------------------------------- - * - * $Date: 11. June 2021 - * $Revision: V2.0.0 - * - * Project: CMSIS-DAP Template MDK5 - * Title: osObjects.h CMSIS-DAP RTOS2 Objects - * - *---------------------------------------------------------------------------*/ - -#ifndef __osObjects_h__ -#define __osObjects_h__ - -#include "cmsis_os2.h" - -#ifdef osObjectsExternal -extern osThreadId_t DAP_ThreadId; -extern osThreadId_t SWO_ThreadId; -#else -static const osThreadAttr_t DAP_ThreadAttr = { - .priority = osPriorityNormal -}; -static const osThreadAttr_t SWO_ThreadAttr = { - .priority = osPriorityAboveNormal -}; -extern osThreadId_t DAP_ThreadId; - osThreadId_t DAP_ThreadId; -extern osThreadId_t SWO_ThreadId; - osThreadId_t SWO_ThreadId; -#endif - -extern void DAP_Thread (void *argument); -extern void SWO_Thread (void *argument); - -extern void app_main (void *argument); - -#endif /* __osObjects_h__ */ diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/README.md b/external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/README.md deleted file mode 100644 index 8467e3a..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/README.md +++ /dev/null @@ -1,37 +0,0 @@ -CMSIS-DAP debug unit validation -------------------------------- - -The following debug functionality is tested: - -- Execution breakpoint with hit count -- Breakpoint on read -- Breakpoint on write -- Memory read -- Memory write -- Register read -- Register write -- Single stepping -- Run/stop debugging - -The test is self-contained and can be executed on the hardware target. - -To configure the test for a specific hardware target: - -1. Open the µVision project and select device mounted on hardware target - (automatically selects flash algorithm for download). -2. Select CMSIS-DAP as the debugger (if not already selected). -3. Build the project. - -To run the test on the hardware target: - -1. Connect the CMSIS-DAP debug unit via JTAG/SWD to the hardware target. -2. Connect the CMSIS-DAP debug unit under test to a PC via USB. -3. Open the µVision project and start a debug session. -4. Test results are printed into a `test.log` file. - -To run the test on the target in batch mode, open a Command window and execute: -``` -C:\> .\test.bat -``` - -Test results are printed into a `test_results.txt` file. diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/RTE/Device/ARMCM3/startup_ARMCM3.s b/external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/RTE/Device/ARMCM3/startup_ARMCM3.s deleted file mode 100644 index 16e56b0..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/RTE/Device/ARMCM3/startup_ARMCM3.s +++ /dev/null @@ -1,262 +0,0 @@ -;/**************************************************************************//** -; * @file startup_ARMCM3.s -; * @brief CMSIS Core Device Startup File for -; * ARMCM3 Device Series -; * @version V5.00 -; * @date 02. March 2016 -; ******************************************************************************/ -;/* -; * Copyright (c) 2009-2016 ARM Limited. All rights reserved. -; * -; * SPDX-License-Identifier: Apache-2.0 -; * -; * Licensed under the Apache License, Version 2.0 (the License); you may -; * not use this file except in compliance with the License. -; * You may obtain a copy of the License at -; * -; * www.apache.org/licenses/LICENSE-2.0 -; * -; * Unless required by applicable law or agreed to in writing, software -; * distributed under the License is distributed on an AS IS BASIS, WITHOUT -; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; * See the License for the specific language governing permissions and -; * limitations under the License. -; */ - -;/* -;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ -;*/ - - -; Stack Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Stack_Size EQU 0x00000400 - - AREA STACK, NOINIT, READWRITE, ALIGN=3 -Stack_Mem SPACE Stack_Size -__initial_sp - - -; Heap Configuration -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Heap_Size EQU 0x00000C00 - - AREA HEAP, NOINIT, READWRITE, ALIGN=3 -__heap_base -Heap_Mem SPACE Heap_Size -__heap_limit - - - PRESERVE8 - THUMB - - -; Vector Table Mapped to Address 0 at Reset - - AREA RESET, DATA, READONLY - EXPORT __Vectors - EXPORT __Vectors_End - EXPORT __Vectors_Size - -__Vectors DCD __initial_sp ; Top of Stack - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; NMI Handler - DCD HardFault_Handler ; Hard Fault Handler - DCD MemManage_Handler ; MPU Fault Handler - DCD BusFault_Handler ; Bus Fault Handler - DCD UsageFault_Handler ; Usage Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; SVCall Handler - DCD DebugMon_Handler ; Debug Monitor Handler - DCD 0 ; Reserved - DCD PendSV_Handler ; PendSV Handler - DCD SysTick_Handler ; SysTick Handler - - ; External Interrupts - DCD WDT_IRQHandler ; 0: Watchdog Timer - DCD RTC_IRQHandler ; 1: Real Time Clock - DCD TIM0_IRQHandler ; 2: Timer0 / Timer1 - DCD TIM2_IRQHandler ; 3: Timer2 / Timer3 - DCD MCIA_IRQHandler ; 4: MCIa - DCD MCIB_IRQHandler ; 5: MCIb - DCD UART0_IRQHandler ; 6: UART0 - DUT FPGA - DCD UART1_IRQHandler ; 7: UART1 - DUT FPGA - DCD UART2_IRQHandler ; 8: UART2 - DUT FPGA - DCD UART4_IRQHandler ; 9: UART4 - not connected - DCD AACI_IRQHandler ; 10: AACI / AC97 - DCD CLCD_IRQHandler ; 11: CLCD Combined Interrupt - DCD ENET_IRQHandler ; 12: Ethernet - DCD USBDC_IRQHandler ; 13: USB Device - DCD USBHC_IRQHandler ; 14: USB Host Controller - DCD CHLCD_IRQHandler ; 15: Character LCD - DCD FLEXRAY_IRQHandler ; 16: Flexray - DCD CAN_IRQHandler ; 17: CAN - DCD LIN_IRQHandler ; 18: LIN - DCD I2C_IRQHandler ; 19: I2C ADC/DAC - DCD 0 ; 20: Reserved - DCD 0 ; 21: Reserved - DCD 0 ; 22: Reserved - DCD 0 ; 23: Reserved - DCD 0 ; 24: Reserved - DCD 0 ; 25: Reserved - DCD 0 ; 26: Reserved - DCD 0 ; 27: Reserved - DCD CPU_CLCD_IRQHandler ; 28: Reserved - CPU FPGA CLCD - DCD 0 ; 29: Reserved - CPU FPGA - DCD UART3_IRQHandler ; 30: UART3 - CPU FPGA - DCD SPI_IRQHandler ; 31: SPI Touchscreen - CPU FPGA -__Vectors_End - -__Vectors_Size EQU __Vectors_End - __Vectors - - AREA |.text|, CODE, READONLY - - -; Reset Handler - -Reset_Handler PROC - EXPORT Reset_Handler [WEAK] - IMPORT SystemInit - IMPORT __main - LDR R0, =SystemInit - BLX R0 - LDR R0, =__main - BX R0 - ENDP - - -; Dummy Exception Handlers (infinite loops which can be modified) - -NMI_Handler PROC - EXPORT NMI_Handler [WEAK] - B . - ENDP -HardFault_Handler\ - PROC - EXPORT HardFault_Handler [WEAK] - B . - ENDP -MemManage_Handler\ - PROC - EXPORT MemManage_Handler [WEAK] - B . - ENDP -BusFault_Handler\ - PROC - EXPORT BusFault_Handler [WEAK] - B . - ENDP -UsageFault_Handler\ - PROC - EXPORT UsageFault_Handler [WEAK] - B . - ENDP -SVC_Handler PROC - EXPORT SVC_Handler [WEAK] - B . - ENDP -DebugMon_Handler\ - PROC - EXPORT DebugMon_Handler [WEAK] - B . - ENDP -PendSV_Handler PROC - EXPORT PendSV_Handler [WEAK] - B . - ENDP -SysTick_Handler PROC - EXPORT SysTick_Handler [WEAK] - B . - ENDP - -Default_Handler PROC - - EXPORT WDT_IRQHandler [WEAK] - EXPORT RTC_IRQHandler [WEAK] - EXPORT TIM0_IRQHandler [WEAK] - EXPORT TIM2_IRQHandler [WEAK] - EXPORT MCIA_IRQHandler [WEAK] - EXPORT MCIB_IRQHandler [WEAK] - EXPORT UART0_IRQHandler [WEAK] - EXPORT UART1_IRQHandler [WEAK] - EXPORT UART2_IRQHandler [WEAK] - EXPORT UART3_IRQHandler [WEAK] - EXPORT UART4_IRQHandler [WEAK] - EXPORT AACI_IRQHandler [WEAK] - EXPORT CLCD_IRQHandler [WEAK] - EXPORT ENET_IRQHandler [WEAK] - EXPORT USBDC_IRQHandler [WEAK] - EXPORT USBHC_IRQHandler [WEAK] - EXPORT CHLCD_IRQHandler [WEAK] - EXPORT FLEXRAY_IRQHandler [WEAK] - EXPORT CAN_IRQHandler [WEAK] - EXPORT LIN_IRQHandler [WEAK] - EXPORT I2C_IRQHandler [WEAK] - EXPORT CPU_CLCD_IRQHandler [WEAK] - EXPORT SPI_IRQHandler [WEAK] - -WDT_IRQHandler -RTC_IRQHandler -TIM0_IRQHandler -TIM2_IRQHandler -MCIA_IRQHandler -MCIB_IRQHandler -UART0_IRQHandler -UART1_IRQHandler -UART2_IRQHandler -UART3_IRQHandler -UART4_IRQHandler -AACI_IRQHandler -CLCD_IRQHandler -ENET_IRQHandler -USBDC_IRQHandler -USBHC_IRQHandler -CHLCD_IRQHandler -FLEXRAY_IRQHandler -CAN_IRQHandler -LIN_IRQHandler -I2C_IRQHandler -CPU_CLCD_IRQHandler -SPI_IRQHandler - B . - - ENDP - - - ALIGN - - -; User Initial Stack & Heap - - IF :DEF:__MICROLIB - - EXPORT __initial_sp - EXPORT __heap_base - EXPORT __heap_limit - - ELSE - - IMPORT __use_two_region_memory - EXPORT __user_initial_stackheap - -__user_initial_stackheap PROC - LDR R0, = Heap_Mem - LDR R1, =(Stack_Mem + Stack_Size) - LDR R2, = (Heap_Mem + Heap_Size) - LDR R3, = Stack_Mem - BX LR - ENDP - - ALIGN - - ENDIF - - - END diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/RTE/Device/ARMCM3/system_ARMCM3.c b/external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/RTE/Device/ARMCM3/system_ARMCM3.c deleted file mode 100644 index 658d154..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/RTE/Device/ARMCM3/system_ARMCM3.c +++ /dev/null @@ -1,68 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM3.c - * @brief CMSIS Device System Source File for - * ARMCM3 Device Series - * @version V5.00 - * @date 07. September 2016 - ******************************************************************************/ -/* - * Copyright (c) 2009-2016 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "ARMCM3.h" - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL ( 5000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (5U * XTAL) - - -/*---------------------------------------------------------------------------- - Externals - *----------------------------------------------------------------------------*/ -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - extern uint32_t __Vectors; -#endif - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t) &__Vectors; -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/RTE/_CMSIS_DAP/RTE_Components.h b/external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/RTE/_CMSIS_DAP/RTE_Components.h deleted file mode 100644 index 1963e3e..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/RTE/_CMSIS_DAP/RTE_Components.h +++ /dev/null @@ -1,21 +0,0 @@ - -/* - * Auto generated Run-Time-Environment Configuration File - * *** Do not modify ! *** - * - * Project: 'Validation' - * Target: 'CMSIS_DAP' - */ - -#ifndef RTE_COMPONENTS_H -#define RTE_COMPONENTS_H - - -/* - * Define the Device Header File: - */ -#define CMSIS_device_header "ARMCM3.h" - - - -#endif /* RTE_COMPONENTS_H */ diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/Validation.CMSIS_DAP.cprj b/external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/Validation.CMSIS_DAP.cprj deleted file mode 100644 index 7d9dada..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/Validation.CMSIS_DAP.cprj +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - Validation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/Validation.uvguix b/external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/Validation.uvguix deleted file mode 100644 index b437522..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/Validation.uvguix +++ /dev/null @@ -1,1878 +0,0 @@ - - - - -6.1 - -
### uVision Project, (C) Keil Software
- - - C:\02_Git\CMSIS_5\CMSIS\DAP\Firmware\Validation\MDK5 - - - - - - - 38003 - Registers - 188 42 - - - 346 - Code Coverage - 1010 160 - - - 204 - Performance Analyzer - 1170 - - - - - - 35141 - Event Statistics - - 200 50 700 - - - 1506 - Symbols - - 106 106 106 - - - 1936 - Watch 1 - - 200 133 133 - - - 1937 - Watch 2 - - 200 133 133 - - - 1935 - Call Stack + Locals - - 200 133 133 - - - 2506 - Trace Data - - 75 135 130 95 70 230 200 150 - - - 466 - Source Browser - 500 - 300 - - - - - - - - 1 - 1 - 0 - 0 - -1 - - - - - - - 44 - 0 - 1 - - -1 - -1 - - - -1 - -1 - - - 0 - 633 - 2085 - 1057 - - - - 0 - - 261 - 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000100000000000000010000003E433A5C30325F4769745C434D5349535F355C434D5349535C4441505C4669726D776172655C56616C69646174696F6E5C4D444B355C524541444D452E6D640000000009524541444D452E6D6400000000C5D4F200FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000750300006E0000001D08000006040000 - - - - 0 - Build - - -1 - -1 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - F40000004F00000090050000DF000000 - - - 16 - 750300006E00000011080000FE000000 - - - - 1005 - 1005 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000066000000ED000000CE030000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 109 - 109 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000066000000ED000000CE030000 - - - 16 - 02010000180100001E0200005A030000 - - - - 1465 - 1465 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000320200008D050000A6020000 - - - 16 - 0201000018010000CA030000A8010000 - - - - 1466 - 1466 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000320200008D050000A6020000 - - - 16 - 0201000018010000CA030000A8010000 - - - - 1467 - 1467 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000320200008D050000A6020000 - - - 16 - 0201000018010000CA030000A8010000 - - - - 1468 - 1468 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000320200008D050000A6020000 - - - 16 - 0201000018010000CA030000A8010000 - - - - 1506 - 1506 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 1913 - 1913 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - F7000000660000008D050000C6000000 - - - 16 - 0201000018010000CA030000A8010000 - - - - 1935 - 1935 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 03000000320200008D050000A6020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 1936 - 1936 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000320200008D050000A6020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 1937 - 1937 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000320200008D050000A6020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 1939 - 1939 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000320200008D050000A6020000 - - - 16 - 0201000018010000CA030000A8010000 - - - - 1940 - 1940 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000320200008D050000A6020000 - - - 16 - 0201000018010000CA030000A8010000 - - - - 1941 - 1941 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000320200008D050000A6020000 - - - 16 - 0201000018010000CA030000A8010000 - - - - 1942 - 1942 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000320200008D050000A6020000 - - - 16 - 0201000018010000CA030000A8010000 - - - - 195 - 195 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000066000000ED000000CE030000 - - - 16 - 02010000180100001E0200005A030000 - - - - 196 - 196 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000066000000ED000000CE030000 - - - 16 - 02010000180100001E0200005A030000 - - - - 197 - 197 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 030000006E0300007D070000CE030000 - - - 16 - 0201000018010000CA030000A8010000 - - - - 198 - 198 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 000000001B02000090050000BF020000 - - - 16 - 0201000018010000CA030000A8010000 - - - - 199 - 199 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000006E0300007D070000CE030000 - - - 16 - 0201000018010000CA030000A8010000 - - - - 203 - 203 - 0 - 0 - 0 - 0 - 32767 - 0 - 8192 - 0 - - 16 - F7000000660000008D050000C6000000 - - - 16 - 0201000018010000CA030000A8010000 - - - - 204 - 204 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - F7000000660000008D050000C6000000 - - - 16 - 0201000018010000CA030000A8010000 - - - - 221 - 221 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 00000000000000000000000000000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 2506 - 2506 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 2507 - 2507 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000320200008D050000A6020000 - - - 16 - 0201000018010000CA030000A8010000 - - - - 343 - 343 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - F7000000660000008D050000C6000000 - - - 16 - 0201000018010000CA030000A8010000 - - - - 346 - 346 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - F7000000660000008D050000C6000000 - - - 16 - 0201000018010000CA030000A8010000 - - - - 35141 - 35141 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 44010000630000007007000016010000 - - - 16 - 8A000000A1000000CA010000B6010000 - - - - 35824 - 35824 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - F7000000660000008D050000C6000000 - - - 16 - 0201000018010000CA030000A8010000 - - - - 35885 - 35885 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 35886 - 35886 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 35887 - 35887 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 35888 - 35888 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 35889 - 35889 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 35890 - 35890 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 35891 - 35891 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 35892 - 35892 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 35893 - 35893 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 35894 - 35894 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 35895 - 35895 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 35896 - 35896 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 35897 - 35897 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 35898 - 35898 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 35899 - 35899 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 35900 - 35900 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 35901 - 35901 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 35902 - 35902 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 35903 - 35903 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 35904 - 35904 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 35905 - 35905 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 38003 - 38003 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000066000000ED000000CE030000 - - - 16 - 02010000180100001E0200005A030000 - - - - 38007 - 38007 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000006E0300007D070000CE030000 - - - 16 - 0201000018010000CA030000A8010000 - - - - 436 - 436 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000006E0300007D070000CE030000 - - - 16 - 02010000180100001E0200005A030000 - - - - 437 - 437 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000320200008D050000A6020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 440 - 440 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000320200008D050000A6020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 463 - 463 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000006E0300007D070000CE030000 - - - 16 - 02010000180100001E0200005A030000 - - - - 466 - 466 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000006E0300007D070000CE030000 - - - 16 - 02010000180100001E0200005A030000 - - - - 470 - 470 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000320200008D050000A6020000 - - - 16 - 0201000018010000CA030000A8010000 - - - - 50000 - 50000 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 50001 - 50001 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 50002 - 50002 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 50003 - 50003 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 50004 - 50004 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 50005 - 50005 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 50006 - 50006 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 50007 - 50007 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 50008 - 50008 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 50009 - 50009 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 50010 - 50010 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 50011 - 50011 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 50012 - 50012 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 50013 - 50013 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 50014 - 50014 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 50015 - 50015 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 50016 - 50016 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 50017 - 50017 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 50018 - 50018 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 50019 - 50019 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000012020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 59392 - 59392 - 1 - 0 - 0 - 0 - 940 - 0 - 8192 - 0 - - 16 - 0000000000000000C40300001C000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59393 - 0 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 00000000E70300009C050000FA030000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59399 - 59399 - 1 - 0 - 0 - 0 - 476 - 0 - 8192 - 1 - - 16 - 000000001C000000E701000038000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59400 - 59400 - 0 - 0 - 0 - 0 - 612 - 0 - 8192 - 2 - - 16 - 00000000380000006F02000054000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 824 - 824 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000320200008D050000A6020000 - - - 16 - 0201000018010000F2010000E3010000 - - - - 3487 - 000000000D000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DF00000090050000E3000000000000000100000004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E650020000000000000750300006E00000011080000FE000000F40000004F00000090050000DF0000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A00400002B020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000210700006E000000110800004A020000A00400004F000000900500002B02000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F4000000E7030000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000810200006E0000007103000006040000000000004F000000F0000000E70300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000017020000900500001B02000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF100000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000D601000001800080000000000000810200003A02000011080000DE020000000000001B02000090050000BF0200000000000040410046100000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC80200001B020000CC020000BF02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF00000000530300008007000057030000000000000100000004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000000000008102000076030000010A000006040000000000005703000080070000E70300000000000040820046060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF1346696E6420416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000020000000000000FFFFFFFFFFFFFFFF4401000016010000700700001A010000000000000100001004000000010000000000000000000000FFFFFFFF0100000045890000018000200000000000000201000018010000CA030000A8010000440100004F0000007007000016010000000000004028004601000000104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFF4589000001000000FFFFFFFF45890000000000000000000000000000 - - - 59392 - File - - 2653 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000000000000000000000000000000000000000000010000000100000096000000020020500000000006746573742E639600000000000000090006746573742E630C4E6F6E436163686561626C650E53797374656D496E6974486F6F6B04353030290356494F065F5F7765616B0D4472697665725F464C41534830056D61696E30025047000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000 - - - 1423 - 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 1423 - 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 - - - - 59399 - Build - - 978 - 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000009434D5349535F4441509600000000000000010009434D5349535F444150000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 - - - 583 - 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 583 - 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 - - - - 59400 - Debug - - 2373 - 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 - - - 898 - 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 898 - 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 - - - - 0 - 2560 - 1440 - - - - - - 1 - 0 - - 100 - 0 - - .\README.md - 2 - 1 - 8 - 1 - - 0 - - - - -
diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/Validation.uvoptx b/external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/Validation.uvoptx deleted file mode 100644 index 84ce206..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/Validation.uvoptx +++ /dev/null @@ -1,248 +0,0 @@ - - - - 1.0 - -
### uVision Project, (C) Keil Software
- - - *.c - *.s*; *.src; *.a* - *.obj; *.o - *.lib - *.txt; *.h; *.inc; *.md - *.plm - *.cpp - 0 - - - - 0 - 0 - - - - CMSIS_DAP - 0x4 - ARM-ADS - - 12000000 - - 1 - 1 - 0 - 1 - 0 - - - 1 - 65535 - 0 - 0 - 0 - - - 79 - 66 - 8 - .\Listings\ - - - 1 - 1 - 1 - 0 - 1 - 1 - 0 - 1 - 0 - 0 - 0 - 0 - - - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 0 - - - 1 - 0 - 1 - - 7 - - 0 - 1 - 1 - 0 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 1 - 1 - 1 - 0 - 1 - 1 - 1 - 1 - 0 - 0 - 1 - 0 - 0 - 3 - - - - - .\test.ini - - - - - .\test.ini - BIN\CMSIS_AGDI.dll - - - - 0 - ARMRTXEVENTFLAGS - -L70 -Z18 -C0 -M0 -T1 - - - 0 - DLGDARM - (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0) - - - 0 - ARMDBGFLAGS - -T0 - - - 0 - CMSIS_AGDI - -X"" -O206 -S8 -C0 -P00 -TO18 -TC10000000 -TP20 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC1000 -FN0 - - - 0 - UL2CM3 - UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000) - - - - - 0 - - - 0 - 1 - 1 - 0 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - 0 - 0 - 0 - - - - - - - - - - - - - Source Code - 1 - 0 - 0 - 0 - - 1 - 1 - 1 - 0 - 0 - 0 - .\test.c - test.c - 0 - 0 - - - - - Documentation - 1 - 0 - 0 - 0 - - 2 - 2 - 5 - 0 - 0 - 0 - .\README.md - README.md - 0 - 0 - - - - - ::CMSIS - 0 - 0 - 0 - 1 - - - - ::Device - 1 - 0 - 0 - 1 - - -
diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/Validation.uvprojx b/external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/Validation.uvprojx deleted file mode 100644 index 42c772c..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/Validation.uvprojx +++ /dev/null @@ -1,449 +0,0 @@ - - - - 2.1 - -
### uVision Project, (C) Keil Software
- - - - CMSIS_DAP - 0x4 - ARM-ADS - 5060750::V5.06 update 6 (build 750)::ARMCC - 0 - - - ARMCM3 - ARM - ARM.CMSIS.5.7.0 - http://www.keil.com/pack/ - IRAM(0x20000000,0x00020000) IROM(0x00000000,0x00040000) CPUTYPE("Cortex-M3") CLOCK(12000000) ESEL ELITTLE - - - UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000) - 0 - $$Device:ARMCM3$Device\ARM\ARMCM3\Include\ARMCM3.h - - - - - - - - - - $$Device:ARMCM3$Device\ARM\SVD\ARMCM3.svd - 0 - 0 - - - - - - - 0 - 0 - 0 - 0 - 1 - - .\Objects\ - Validation - 1 - 0 - 0 - 1 - 1 - .\Listings\ - 1 - 0 - 0 - - 0 - 0 - - - 0 - 0 - 0 - 0 - - - 0 - 0 - - - 0 - 0 - 0 - 0 - - - 0 - 0 - - - 0 - 0 - 0 - 0 - - 0 - - - - 0 - 0 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 0 - 3 - - - 1 - - - SARMCM3.DLL - -MPU - DCM.DLL - -pCM3 - SARMCM3.DLL - -MPU - TCM.DLL - -pCM3 - - - - 1 - 0 - 0 - 0 - 16 - - - - - 1 - 0 - 0 - 0 - 1 - 4096 - - 1 - BIN\UL2CM3.DLL - "" () - - - - - 0 - - - - 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 1 - 1 - 0 - 1 - 1 - 0 - 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 0 - "Cortex-M3" - - 0 - 0 - 0 - 1 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 8 - 0 - 1 - 0 - 0 - 3 - 3 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 0 - 1 - 0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x20000000 - 0x20000 - - - 1 - 0x0 - 0x40000 - - - 0 - 0x0 - 0x0 - - - 1 - 0x0 - 0x0 - - - 1 - 0x0 - 0x0 - - - 1 - 0x0 - 0x0 - - - 1 - 0x0 - 0x40000 - - - 1 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x20000000 - 0x20000 - - - 0 - 0x0 - 0x0 - - - - - - 1 - 1 - 0 - 0 - 1 - 0 - 0 - 0 - 0 - 0 - 2 - 0 - 0 - 1 - 0 - 0 - 1 - 1 - 1 - 1 - 0 - 0 - 0 - - - - - - - - - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 4 - - - - - - - - - 1 - 0 - 0 - 0 - 1 - 0 - 0x00000000 - 0x20000000 - - - - - - - - - - - - - Source Code - - - test.c - 1 - .\test.c - - - - - Documentation - - - README.md - 5 - .\README.md - - - - - ::CMSIS - - - ::Device - - - - - - - - - - - - - - - - - - - - - - - - RTE\Device\ARMCM3\startup_ARMCM3.s - - - - - - - - RTE\Device\ARMCM3\system_ARMCM3.c - - - - - - - - - -
diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/test.bat b/external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/test.bat deleted file mode 100644 index 5ecb345..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/test.bat +++ /dev/null @@ -1,50 +0,0 @@ -@ECHO off - -REM Usage: test.bat [PATH TO UV4.exe] - -IF "%1"=="" ( - SET UV4_EXE=C:\Keil_v5\UV4\UV4.exe -) ELSE ( - SET UV4_EXE=%1 -) -ECHO Using %UV4_EXE% - -ECHO. -ECHO Building application... -IF EXIST .\Objects\Validation.axf del .\Objects\Validation.axf - -%UV4_EXE% -b Validation.uvprojx - -IF EXIST .\Objects\Validation.axf ( - ECHO Build succeded -) ELSE ( - ECHO Build failed - GOTO :done -) - -ECHO. -ECHO Loading application to hardware target... -%UV4_EXE% -f Validation.uvprojx -t"CMSIS_DAP" - -IF ERRORLEVEL 1 ( - ECHO Flash download failed - GOTO :done -) - -ECHO. -ECHO Debugging hardware target... -IF EXIST .\test_results.txt del .\test_results.txt - -%UV4_EXE% -d Validation.uvprojx -t"CMSIS_DAP" - -IF EXIST .\test_results.txt ( - TYPE .\test_results.txt -) ELSE ( - ECHO Test ended abnormally - file test_results.txt was not produced - GOTO :done -) - -ECHO. -ECHO All tests completed - -:done diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/test.c b/external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/test.c deleted file mode 100644 index 7d976a1..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/test.c +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Copyright (c) 2013-2017 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ---------------------------------------------------------------------- - * - * $Date: 1. December 2017 - * $Revision: V2.0.0 - * - * Project: CMSIS-DAP Validation - * Title: test.c CMSIS-DAP debug unit test module - * - *---------------------------------------------------------------------------*/ - -// Debug Variables -volatile int test_state = 0; -volatile int test_success = 0; -volatile int bpTestCounter = 0; -volatile char mem_rw_success = 0; - int test_array1[256] = {0}; - int test_array2[256] = {0}; - -// Breakpoint Test function -static void BP_Test (void) { - int i; - - for (i = 0; i < 10; i++) { - // increment counter so we know on which iteration breakpoint is hit - bpTestCounter++; - test_state++; - } -} - -// Test function -static void Test(void) { - int i; - - test_state++; // 'test_state' = 11 - i = test_success; // 'test_success' read access - - test_state++; // 'test_state' = 12 - test_success = i; // 'test_success' write access - - test_state++; // 'test_state' = 13 - - // test_array1 should have already been written by debugger - // copy test_array1 into test_array2 for future comparison - mem_rw_success = 1; // assume all values were written correctly - for (i = 0; i < 256; i++) { - if (test_array1[i] != (0x1000+i)) { - mem_rw_success = 0; - } - test_array2[i] = test_array1[i]; - } - - test_state++; // 'test_state' = 14 - test_state++; // 'test_state' = 15 - test_state++; // 'test_state' = 16 - // execute 'test_state -= 16' from debugger - test_state++; // 'test_state' = 1 - - if (test_state == 1) { - test_success = 1; - } else { - test_success = 0; - } -} - -// 'main' function -int main (void) { - - BP_Test(); - Test(); - - for (;;) {}; -} diff --git a/external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/test.ini b/external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/test.ini deleted file mode 100644 index 9872059..0000000 --- a/external/CMSIS_5/CMSIS/DAP/Firmware/Validation/MDK5/test.ini +++ /dev/null @@ -1,430 +0,0 @@ -/******************************************************************************/ -/* test.ini: Initialization file to test the debug functionality */ -/******************************************************************************/ -/* This file is part of the uVision/ARM development tools. */ -/* Copyright (c) 2012-2017 Keil Software. All rights reserved. */ -/* This software may only be used under the terms of a valid, current, */ -/* end user license from KEIL for a compatible version of KEIL software */ -/* development tools. Nothing else gives you the right to use this software. */ -/******************************************************************************/ - -// ensure logging into file is turned off -LOG OFF - -// overall test success flag -define int testSuccess; -testSuccess = 0; - -// flags to show which particular tests succeeded -define char bpExecSuccess; -bpExecSuccess = 0; -define char bpReadSuccess; -bpReadSuccess = 0; -define char bpWriteSuccess; -bpWriteSuccess = 0; -define char memReadSuccess; -memReadSuccess = 0; -define char memWriteSuccess; -memWriteSuccess = 0; -define char regReadSuccess; -regReadSuccess = 0; -define char regWriteSuccess; -regWriteSuccess = 0; - - -// function to read and write registers -FUNC void RegReadWrite(void) { - unsigned long VR0, VR1, VR2, VR3, VR4, VR5, VR6, VR7, VR8, VR9; - unsigned long VR10, VR11, VR12, VR13, VR14, VR15, VxPSR; - unsigned long VR_0, VR_1, VR_2, VR_3, VR_4, VR_5, VR_6, VR_7, VR_8, VR_9; - unsigned long VR_10, VR_11, VR_12, VR_13, VR_14, VR_15, V_xPSR; - unsigned long bogus; - - bogus = 0x0badF00D; - - printf("Register read started\n"); - - // initialize temporary variables with bogus value - VR0 = bogus; - VR1 = bogus; - VR2 = bogus; - VR3 = bogus; - VR4 = bogus; - VR5 = bogus; - VR6 = bogus; - VR7 = bogus; - VR8 = bogus; - VR9 = bogus; - VR10 = bogus; - VR11 = bogus; - VR12 = bogus; - VR13 = bogus; - VR14 = bogus; - VR15 = bogus; - VxPSR = bogus; - - // read and save current register values - VR0 = R0; - VR1 = R1; - VR2 = R2; - VR3 = R3; - VR4 = R4; - VR5 = R5; - VR6 = R6; - VR7 = R7; - VR8 = R8; - VR9 = R9; - VR10 = R10; - VR11 = R11; - VR12 = R12; - VR13 = R13; - VR14 = R14; - VR15 = R15; - VxPSR = xPSR; - - // print read register values - printf("R0 = 0x%x\n", VR0); - printf("R1 = 0x%x\n", VR1); - printf("R2 = 0x%x\n", VR2); - printf("R3 = 0x%x\n", VR3); - printf("R4 = 0x%x\n", VR4); - printf("R5 = 0x%x\n", VR5); - printf("R6 = 0x%x\n", VR6); - printf("R7 = 0x%x\n", VR7); - printf("R8 = 0x%x\n", VR8); - printf("R9 = 0x%x\n", VR9); - printf("R10 = 0x%x\n", VR10); - printf("R11 = 0x%x\n", VR11); - printf("R12 = 0x%x\n", VR12); - printf("R13 = 0x%x\n", VR13); - printf("R14 = 0x%x\n", VR14); - printf("R15 = 0x%x\n", VR15); - printf("xPSR = 0x%x\n", VxPSR); - - // check if all values differ from bogus value - regReadSuccess = - (VR0 != bogus) && - (VR1 != bogus) && - (VR2 != bogus) && - (VR3 != bogus) && - (VR4 != bogus) && - (VR5 != bogus) && - (VR6 != bogus) && - (VR7 != bogus) && - (VR8 != bogus) && - (VR9 != bogus) && - (VR10 != bogus) && - (VR11 != bogus) && - (VR12 != bogus) && - (VR13 != bogus) && - (VR14 != bogus) && - (VR15 != bogus) && - (VxPSR != bogus); - - if (regReadSuccess != 0) { - printf("Register read passed\n"); - } else { - printf("Register read failed\n"); - // there is no reason to test write if read fails - return; - } - - printf("Register write started\n"); - - // fill all registers with bogus value - R0 = bogus; - R1 = bogus; - R2 = bogus; - R3 = bogus; - R4 = bogus; - R5 = bogus; - R6 = bogus; - R7 = bogus; - R8 = bogus; - R9 = bogus; - R10 = bogus; - R11 = bogus; - R12 = bogus; - // register R13-R15 and xPSR on hardware do not accept 0x0badf00d, use 0x0 instead - R13 = 0x0; - R14 = 0x0; - R15 = 0x0; - xPSR = 0x0; - - // read back into another array - VR_0 = R0; - VR_1 = R1; - VR_2 = R2; - VR_3 = R3; - VR_4 = R4; - VR_5 = R5; - VR_6 = R6; - VR_7 = R7; - VR_8 = R8; - VR_9 = R9; - VR_10 = R10; - VR_11 = R11; - VR_12 = R12; - VR_13 = R13; - VR_14 = R14; - VR_15 = R15; - V_xPSR = xPSR; - - // print the values again - printf("R0 = 0x%x\n", VR_0); - printf("R1 = 0x%x\n", VR_1); - printf("R2 = 0x%x\n", VR_2); - printf("R3 = 0x%x\n", VR_3); - printf("R4 = 0x%x\n", VR_4); - printf("R5 = 0x%x\n", VR_5); - printf("R6 = 0x%x\n", VR_6); - printf("R7 = 0x%x\n", VR_7); - printf("R8 = 0x%x\n", VR_8); - printf("R9 = 0x%x\n", VR_9); - printf("R10 = 0x%x\n", VR_10); - printf("R11 = 0x%x\n", VR_11); - printf("R12 = 0x%x\n", VR_12); - printf("R13 = 0x%x\n", VR_13); - printf("R14 = 0x%x\n", VR_14); - printf("R15 = 0x%x\n", VR_15); - printf("xPSR = 0x%x\n", V_xPSR); - - // check if new values are bogus - regWriteSuccess = - (VR_0 == bogus) && - (VR_1 == bogus) && - (VR_2 == bogus) && - (VR_3 == bogus) && - (VR_4 == bogus) && - (VR_5 == bogus) && - (VR_6 == bogus) && - (VR_7 == bogus) && - (VR_8 == bogus) && - (VR_9 == bogus) && - (VR_10 == bogus) && - (VR_11 == bogus) && - (VR_12 == bogus) && - (VR_13 == 0x0) && - (VR_14 == 0x0) && - (VR_15 == 0x0) && - (V_xPSR == 0x0); - - if (regWriteSuccess != 0) { - printf("Register write passed\n"); - } else { - printf("Register write failed\n"); - } - - // write saved values back into registers - // values are required to be written correctly for the rest of the test - R0 = VR0; - R1 = VR1; - R2 = VR2; - R3 = VR3; - R4 = VR4; - R5 = VR5; - R6 = VR6; - R7 = VR7; - R8 = VR8; - R9 = VR9; - R10 = VR10; - R11 = VR11; - R12 = VR12; - R13 = VR13; - R14 = VR14; - R15 = VR15; - xPSR = VxPSR; -} - - -// function to write predefined numbers into test_array1 -FUNC void MemWrite(unsigned long address) { - unsigned int i; - unsigned int val; - - printf("Memory write started\n"); - val = 0x1000; - for (i = 0; i < 256; i++) { - _WWORD(address, val); - val++; - address += 4; - } - printf("Memory write completed\n"); -} - -// function to read from test_array2 and check if write and read was successful -FUNC void MemRead(unsigned long address) { - unsigned int i; - unsigned int val, v; - - printf("Memory read started\n"); - val = 0x1000; - memReadSuccess = 1; // assume it is true - for (i = 0; i < 256; i++) { - v = _RWORD(address); - if (v != val) { - memReadSuccess = 0; - } - val++; - address += 4; - } - if (memReadSuccess != 0) { - printf("Memory read passed\n"); - } else { - printf("Memory read failed\n"); - } -} - - -// check execution breakpoint -FUNC void CheckBpExec(unsigned long address) { - // PC should be at address and value of bpTestCounter variable should be 9 - - if ((R15 == address) && (`bpTestCounter == 9)) { - bpExecSuccess = 1; - } - printf("Execution breakpoint (%d): %d\n", `bpTestCounter, bpExecSuccess); -} - -// check breakpoint on read -FUNC void CheckBpRead(int test_state) { - // PC should be at address - - if (`test_state == test_state) { - bpReadSuccess = 1; - } - printf("Breakpoint on read: %d\n",bpReadSuccess); -} - - -// check breakpoint on write -FUNC void CheckBpWrite(int test_state) { - // PC should be at address - - if (`test_state == test_state) { - bpWriteSuccess = 1; - } - printf("Breakpoint on write: %d\n", bpWriteSuccess); -} - - -// evaluate test -FUNC void EvalSuccess(void) { - char success; - - success = testSuccess && - bpExecSuccess && bpReadSuccess && bpWriteSuccess && - regReadSuccess && regWriteSuccess && - memReadSuccess && memWriteSuccess; - - exec("LOG >.\\test_results.txt"); - - // print test results to log file - if (success) { - printf("Test passed!\n"); - } else { - printf("Test failed!\n"); - } - - printf("\nIndividual test results:\n"); - - printf("Execution breakpoint: "); - if (bpExecSuccess) { - printf("passed\n"); - } else { - printf("failed\n"); - } - - printf("Breakpoint on read: "); - if (bpReadSuccess) { - printf("passed\n"); - } else { - printf("failed\n"); - } - - printf("Breakpoint on write: "); - if (bpWriteSuccess) { - printf("passed\n"); - } else { - printf("failed\n"); - } - - printf("Register read: "); - if (regReadSuccess) { - printf("passed\n"); - } else { - printf("failed\n"); - } - - printf("Register write: "); - if (regWriteSuccess) { - printf("passed\n"); - } else { - printf("failed\n"); - } - - printf("Memory read: "); - if (memReadSuccess) { - printf("passed\n"); - } else { - printf("failed\n"); - } - - printf("Memory write: "); - if (memWriteSuccess) { - printf("passed\n"); - } else { - printf("failed\n"); - } - - printf("Control flow: "); - if (testSuccess) { - printf("passed\n"); - } else { - printf("failed\n"); - } - - exec("LOG OFF"); -} - - -LOG >.\\test.log // start logging - -RegReadWrite(); // check register read/write - -BK * // remove all existing breakpoints -BS \test.c\43, 9 // set execution breakpoint (hit count=9) -G // run to break point -CheckBpExec(\test.c\43); // check execution breakpoint - -BK * // remove all existing breakpoints -BS READ test_success // set a read access breakpoint -G // run to break point -CheckBpRead(11); // check breakpoint on read - -BK * // remove all existing breakpoints -BS WRITE test_success // set a write access breakpoint -G // run to break point -CheckBpWrite(12); // check breakpoint on write - -BK * // remove all existing breakpoints -G,\test.c\61 // run until line 61 -MemWrite(&test_array1[0]); // test memory write - -G,\test.c\69 // run until line 69 -memWriteSuccess = `mem_rw_success; // application memory test result -MemRead(&test_array2[0]); // test memory read - -T 3 // step 3 times - -`test_state -= 16; // modify 'test_state' application variable - -G,\test.c\88 // run until line 88 - -testSuccess = `test_success; // read 'test_success' application variable - -LOG OFF // stop logging - -EvalSuccess(); // evaluate test results - -EXIT // exit debug mode diff --git a/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_CAN.c b/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_CAN.c deleted file mode 100644 index 5007fea..0000000 --- a/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_CAN.c +++ /dev/null @@ -1,317 +0,0 @@ -/* - * Copyright (c) 2015-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "Driver_CAN.h" - -#define ARM_CAN_DRV_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(1,0) // CAN driver version - -// Driver Version -static const ARM_DRIVER_VERSION can_driver_version = { ARM_CAN_API_VERSION, ARM_CAN_DRV_VERSION }; - -// Driver Capabilities -static const ARM_CAN_CAPABILITIES can_driver_capabilities = { - 32U, // Number of CAN Objects available - 0U, // Does not support reentrant calls to ARM_CAN_MessageSend, ARM_CAN_MessageRead, ARM_CAN_ObjectConfigure and abort message sending used by ARM_CAN_Control. - 0U, // Does not support CAN with Flexible Data-rate mode (CAN_FD) - 0U, // Does not support restricted operation mode - 0U, // Does not support bus monitoring mode - 0U, // Does not support internal loopback mode - 0U, // Does not support external loopback mode - 0U // Reserved (must be zero) -}; - -// Object Capabilities -static const ARM_CAN_OBJ_CAPABILITIES can_object_capabilities = { - 1U, // Object supports transmission - 1U, // Object supports reception - 0U, // Object does not support RTR reception and automatic Data transmission - 0U, // Object does not support RTR transmission and automatic Data reception - 0U, // Object does not allow assignment of multiple filters to it - 0U, // Object does not support exact identifier filtering - 0U, // Object does not support range identifier filtering - 0U, // Object does not support mask identifier filtering - 0U, // Object can not buffer messages - 0U // Reserved (must be zero) -}; - -static uint8_t can_driver_powered = 0U; -static uint8_t can_driver_initialized = 0U; -static ARM_CAN_SignalUnitEvent_t CAN_SignalUnitEvent = NULL; -static ARM_CAN_SignalObjectEvent_t CAN_SignalObjectEvent = NULL; - -// -// Functions -// - -static ARM_DRIVER_VERSION ARM_CAN_GetVersion (void) { - // Return driver version - return can_driver_version; -} - -static ARM_CAN_CAPABILITIES ARM_CAN_GetCapabilities (void) { - // Return driver capabilities - return can_driver_capabilities; -} - -static int32_t ARM_CAN_Initialize (ARM_CAN_SignalUnitEvent_t cb_unit_event, - ARM_CAN_SignalObjectEvent_t cb_object_event) { - - if (can_driver_initialized != 0U) { return ARM_DRIVER_OK; } - - CAN_SignalUnitEvent = cb_unit_event; - CAN_SignalObjectEvent = cb_object_event; - - // Add code for pin, memory, RTX objects initialization - // .. - - can_driver_initialized = 1U; - - return ARM_DRIVER_OK; -} - -static int32_t ARM_CAN_Uninitialize (void) { - - // Add code for pin, memory, RTX objects de-initialization - // .. - - can_driver_initialized = 0U; - - return ARM_DRIVER_OK; -} - -static int32_t ARM_CAN_PowerControl (ARM_POWER_STATE state) { - switch (state) { - case ARM_POWER_OFF: - can_driver_powered = 0U; - // Add code to disable interrupts and put peripheral into reset mode, - // and if possible disable clock - // .. - - break; - - case ARM_POWER_FULL: - if (can_driver_initialized == 0U) { return ARM_DRIVER_ERROR; } - if (can_driver_powered != 0U) { return ARM_DRIVER_OK; } - - // Add code to enable clocks, reset variables enable interrupts - // and put peripheral into operational - // .. - - can_driver_powered = 1U; - break; - - case ARM_POWER_LOW: - return ARM_DRIVER_ERROR_UNSUPPORTED; - } - - return ARM_DRIVER_OK; -} - -static uint32_t ARM_CAN_GetClock (void) { - - // Add code to return peripheral clock frequency - // .. -} - -static int32_t ARM_CAN_SetBitrate (ARM_CAN_BITRATE_SELECT select, uint32_t bitrate, uint32_t bit_segments) { - - if (can_driver_powered == 0U) { return ARM_DRIVER_ERROR; } - - // Add code to setup peripheral parameters to generate specified bitrate - // with specified bit segments - // .. - - return ARM_DRIVER_OK; -} - -static int32_t ARM_CAN_SetMode (ARM_CAN_MODE mode) { - - if (can_driver_powered == 0U) { return ARM_DRIVER_ERROR; } - - switch (mode) { - case ARM_CAN_MODE_INITIALIZATION: - // Add code to put peripheral into initialization mode - // .. - break; - case ARM_CAN_MODE_NORMAL: - // Add code to put peripheral into normal operation mode - // .. - break; - case ARM_CAN_MODE_RESTRICTED: - // Add code to put peripheral into restricted operation mode - // .. - break; - case ARM_CAN_MODE_MONITOR: - // Add code to put peripheral into bus monitoring mode - // .. - break; - case ARM_CAN_MODE_LOOPBACK_INTERNAL: - // Add code to put peripheral into internal loopback mode - // .. - break; - case ARM_CAN_MODE_LOOPBACK_EXTERNAL: - // Add code to put peripheral into external loopback mode - // .. - break; - } - - return ARM_DRIVER_OK; -} - -static ARM_CAN_OBJ_CAPABILITIES ARM_CAN_ObjectGetCapabilities (uint32_t obj_idx) { - // Return object capabilities - return can_object_capabilities; -} - -static int32_t ARM_CAN_ObjectSetFilter (uint32_t obj_idx, ARM_CAN_FILTER_OPERATION operation, uint32_t id, uint32_t arg) { - - if (can_driver_powered == 0U) { return ARM_DRIVER_ERROR; } - - switch (operation) { - case ARM_CAN_FILTER_ID_EXACT_ADD: - // Add code to setup peripheral to receive messages with specified exact ID - break; - case ARM_CAN_FILTER_ID_MASKABLE_ADD: - // Add code to setup peripheral to receive messages with specified maskable ID - break; - case ARM_CAN_FILTER_ID_RANGE_ADD: - // Add code to setup peripheral to receive messages within specified range of IDs - break; - case ARM_CAN_FILTER_ID_EXACT_REMOVE: - // Add code to remove specified exact ID from being received by peripheral - break; - case ARM_CAN_FILTER_ID_MASKABLE_REMOVE: - // Add code to remove specified maskable ID from being received by peripheral - break; - case ARM_CAN_FILTER_ID_RANGE_REMOVE: - // Add code to remove specified range of IDs from being received by peripheral - break; - } - - return ARM_DRIVER_OK; -} - -static int32_t ARM_CAN_ObjectConfigure (uint32_t obj_idx, ARM_CAN_OBJ_CONFIG obj_cfg) { - - if (can_driver_powered == 0U) { return ARM_DRIVER_ERROR; } - - switch (obj_cfg) { - case ARM_CAN_OBJ_INACTIVE: - // Deactivate object - // .. - break; - case ARM_CAN_OBJ_RX_RTR_TX_DATA: - // Setup object to automatically return data when RTR with it's ID is received - // .. - break; - case ARM_CAN_OBJ_TX_RTR_RX_DATA: - // Setup object to send RTR and receive data response - // .. - break; - case ARM_CAN_OBJ_TX: - // Setup object to be used for sending messages - // .. - break; - case ARM_CAN_OBJ_RX: - // Setup object to be used for receiving messages - // .. - break; - } - - return ARM_DRIVER_OK; -} - -static int32_t ARM_CAN_MessageSend (uint32_t obj_idx, ARM_CAN_MSG_INFO *msg_info, const uint8_t *data, uint8_t size) { - - if (can_driver_powered == 0U) { return ARM_DRIVER_ERROR; } - - // Add code to send requested message - // .. - - return ((int32_t)size); -} - -static int32_t ARM_CAN_MessageRead (uint32_t obj_idx, ARM_CAN_MSG_INFO *msg_info, uint8_t *data, uint8_t size) { - - if (can_driver_powered == 0U) { return ARM_DRIVER_ERROR; } - - // Add code to read previously received message - // (reception was started when object was configured for reception) - // .. - - return ((int32_t)size); -} - -static int32_t ARM_CAN_Control (uint32_t control, uint32_t arg) { - - if (can_driver_powered == 0U) { return ARM_DRIVER_ERROR; } - - switch (control & ARM_CAN_CONTROL_Msk) { - case ARM_CAN_ABORT_MESSAGE_SEND: - // Add code to abort message pending to be sent - // .. - break; - case ARM_CAN_SET_FD_MODE: - // Add code to enable Flexible Data-rate mode - // .. - break; - case ARM_CAN_SET_TRANSCEIVER_DELAY: - // Add code to set transceiver delay - // .. - break; - default: - // Handle unknown control code - return ARM_DRIVER_ERROR_UNSUPPORTED; - } - - return ARM_DRIVER_OK; -} - -static ARM_CAN_STATUS ARM_CAN_GetStatus (void) { - - // Add code to return device bus and error status - // .. -} - - -// IRQ handlers -// Add interrupt routines to handle transmission, reception, error and status interrupts -// .. - -// CAN driver functions structure - -extern \ -ARM_DRIVER_CAN Driver_CAN0; -ARM_DRIVER_CAN Driver_CAN0 = { - ARM_CAN_GetVersion, - ARM_CAN_GetCapabilities, - ARM_CAN_Initialize, - ARM_CAN_Uninitialize, - ARM_CAN_PowerControl, - ARM_CAN_GetClock, - ARM_CAN_SetBitrate, - ARM_CAN_SetMode, - ARM_CAN_ObjectGetCapabilities, - ARM_CAN_ObjectSetFilter, - ARM_CAN_ObjectConfigure, - ARM_CAN_MessageSend, - ARM_CAN_MessageRead, - ARM_CAN_Control, - ARM_CAN_GetStatus -}; - diff --git a/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_ETH_MAC.c b/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_ETH_MAC.c deleted file mode 100644 index 2817b8c..0000000 --- a/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_ETH_MAC.c +++ /dev/null @@ -1,231 +0,0 @@ -/* - * Copyright (c) 2013-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "Driver_ETH_MAC.h" - -#define ARM_ETH_MAC_DRV_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(1, 0) /* driver version */ - -/* Driver Version */ -static const ARM_DRIVER_VERSION DriverVersion = { - ARM_ETH_MAC_API_VERSION, - ARM_ETH_MAC_DRV_VERSION -}; - -/* Driver Capabilities */ -static const ARM_ETH_MAC_CAPABILITIES DriverCapabilities = { - 0, /* 1 = IPv4 header checksum verified on receive */ - 0, /* 1 = IPv6 checksum verification supported on receive */ - 0, /* 1 = UDP payload checksum verified on receive */ - 0, /* 1 = TCP payload checksum verified on receive */ - 0, /* 1 = ICMP payload checksum verified on receive */ - 0, /* 1 = IPv4 header checksum generated on transmit */ - 0, /* 1 = IPv6 checksum generation supported on transmit */ - 0, /* 1 = UDP payload checksum generated on transmit */ - 0, /* 1 = TCP payload checksum generated on transmit */ - 0, /* 1 = ICMP payload checksum generated on transmit */ - 0, /* Ethernet Media Interface type */ - 0, /* 1 = driver provides initial valid MAC address */ - 0, /* 1 = callback event \ref ARM_ETH_MAC_EVENT_RX_FRAME generated */ - 0, /* 1 = callback event \ref ARM_ETH_MAC_EVENT_TX_FRAME generated */ - 0, /* 1 = wakeup event \ref ARM_ETH_MAC_EVENT_WAKEUP generated */ - 0, /* 1 = Precision Timer supported */ - 0 /* Reserved (must be zero) */ -}; - -// -// Functions -// - -static ARM_DRIVER_VERSION ARM_ETH_MAC_GetVersion(void) -{ - return DriverVersion; -} - -static ARM_ETH_MAC_CAPABILITIES ARM_ETH_MAC_GetCapabilities(void) -{ - return DriverCapabilities; -} - -static int32_t ARM_ETH_MAC_Initialize(ARM_ETH_MAC_SignalEvent_t cb_event) -{ -} - -static int32_t ARM_ETH_MAC_Uninitialize(void) -{ -} - -static int32_t ARM_ETH_MAC_PowerControl(ARM_POWER_STATE state) -{ - switch (state) - { - case ARM_POWER_OFF: - break; - - case ARM_POWER_LOW: - break; - - case ARM_POWER_FULL: - break; - } - return ARM_DRIVER_OK; -} - -static int32_t ARM_ETH_MAC_GetMacAddress(ARM_ETH_MAC_ADDR *ptr_addr) -{ -} - -static int32_t ARM_ETH_MAC_SetMacAddress(const ARM_ETH_MAC_ADDR *ptr_addr) -{ -} - -static int32_t ARM_ETH_MAC_SetAddressFilter(const ARM_ETH_MAC_ADDR *ptr_addr, uint32_t num_addr) -{ -} - -static int32_t ARM_ETH_MAC_SendFrame(const uint8_t *frame, uint32_t len, uint32_t flags) -{ -} - -static int32_t ARM_ETH_MAC_ReadFrame(uint8_t *frame, uint32_t len) -{ -} - -static uint32_t ARM_ETH_MAC_GetRxFrameSize(void) -{ -} - -static int32_t ARM_ETH_MAC_GetRxFrameTime(ARM_ETH_MAC_TIME *time) -{ -} - -static int32_t ARM_ETH_MAC_GetTxFrameTime(ARM_ETH_MAC_TIME *time) -{ -} - -static int32_t ARM_ETH_MAC_Control(uint32_t control, uint32_t arg) -{ - switch (control) - { - case ARM_ETH_MAC_CONFIGURE: - - switch (arg & ARM_ETH_MAC_SPEED_Msk) - { - case ARM_ETH_MAC_SPEED_10M: - break; - case ARM_ETH_SPEED_100M: - break; - default: - return ARM_DRIVER_ERROR_UNSUPPORTED; - } - - switch (arg & ARM_ETH_MAC_DUPLEX_Msk) - { - case ARM_ETH_MAC_DUPLEX_FULL: - break; - } - - if (arg & ARM_ETH_MAC_LOOPBACK) - { - } - - if ((arg & ARM_ETH_MAC_CHECKSUM_OFFLOAD_RX) || - (arg & ARM_ETH_MAC_CHECKSUM_OFFLOAD_TX)) - { - return ARM_DRIVER_ERROR_UNSUPPORTED; - } - - if (!(arg & ARM_ETH_MAC_ADDRESS_BROADCAST)) - { - } - - if (arg & ARM_ETH_MAC_ADDRESS_MULTICAST) - { - } - - if (arg & ARM_ETH_MAC_ADDRESS_ALL) - { - } - - break; - - case ARM_ETH_MAC_CONTROL_TX: - break; - - case ARM_ETH_MAC_CONTROL_RX: - break; - - case ARM_ETH_MAC_FLUSH: - if (arg & ARM_ETH_MAC_FLUSH_RX) - { - } - if (arg & ARM_ETH_MAC_FLUSH_TX) - { - } - break; - - case ARM_ETH_MAC_SLEEP: - break; - - case ARM_ETH_MAC_VLAN_FILTER: - break; - - default: - return ARM_DRIVER_ERROR_UNSUPPORTED; - } -} - -static int32_t ARM_ETH_MAC_ControlTimer(uint32_t control, ARM_ETH_MAC_TIME *time) -{ -} - -static int32_t ARM_ETH_MAC_PHY_Read(uint8_t phy_addr, uint8_t reg_addr, uint16_t *data) -{ -} - -static int32_t ARM_ETH_MAC_PHY_Write(uint8_t phy_addr, uint8_t reg_addr, uint16_t data) -{ -} - -static void ARM_ETH_MAC_SignalEvent(uint32_t event) -{ -} - -// End ETH MAC Interface - -extern \ -ARM_DRIVER_ETH_MAC Driver_ETH_MAC0; -ARM_DRIVER_ETH_MAC Driver_ETH_MAC0 = -{ - ARM_ETH_MAC_GetVersion, - ARM_ETH_MAC_GetCapabilities, - ARM_ETH_MAC_Initialize, - ARM_ETH_MAC_Uninitialize, - ARM_ETH_MAC_PowerControl, - ARM_ETH_MAC_GetMacAddress, - ARM_ETH_MAC_SetMacAddress, - ARM_ETH_MAC_SetAddressFilter, - ARM_ETH_MAC_SendFrame, - ARM_ETH_MAC_ReadFrame, - ARM_ETH_MAC_GetRxFrameSize, - ARM_ETH_MAC_GetRxFrameTime, - ARM_ETH_MAC_GetTxFrameTime, - ARM_ETH_MAC_ControlTimer, - ARM_ETH_MAC_Control, - ARM_ETH_MAC_PHY_Read, - ARM_ETH_MAC_PHY_Write -}; diff --git a/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_ETH_PHY.c b/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_ETH_PHY.c deleted file mode 100644 index e496a28..0000000 --- a/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_ETH_PHY.c +++ /dev/null @@ -1,128 +0,0 @@ -/* - * Copyright (c) 2013-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "Driver_ETH_PHY.h" - -#define ARM_ETH_PHY_DRV_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(1, 0) /* driver version */ - -/* Driver Version */ -static const ARM_DRIVER_VERSION DriverVersion = { - ARM_ETH_PHY_API_VERSION, - ARM_ETH_PHY_DRV_VERSION -}; - -// -// Functions -// - -static ARM_DRIVER_VERSION ARM_ETH_PHY_GetVersion(void) -{ - return DriverVersion; -} - -static int32_t ARM_ETH_PHY_Initialize(ARM_ETH_PHY_Read_t fn_read, ARM_ETH_PHY_Write_t fn_write) -{ -} - -static int32_t ARM_ETH_PHY_Uninitialize(void) -{ -} - -static int32_t ARM_ETH_PHY_PowerControl(ARM_POWER_STATE state) -{ - switch (state) - { - case ARM_POWER_OFF: - break; - - case ARM_POWER_LOW: - break; - - case ARM_POWER_FULL: - break; - } - return ARM_DRIVER_OK; -} - -static int32_t ARM_ETH_PHY_SetInterface(uint32_t interface) -{ - switch (interface) - { - case ARM_ETH_INTERFACE_MII: - break; - case ARM_ETH_INTERFACE_RMII: - break; - default: - return ARM_DRIVER_ERROR_UNSUPPORTED; - } -} - -static int32_t ARM_ETH_PHY_SetMode(uint32_t mode) -{ - switch (mode & ARM_ETH_PHY_SPEED_Msk) - { - case ARM_ETH_PHY_SPEED_10M: - break; - case ARM_ETH_PHY_SPEED_100M: - break; - default: - return ARM_DRIVER_ERROR_UNSUPPORTED; - } - - switch (mode & ARM_ETH_PHY_DUPLEX_Msk) - { - case ARM_ETH_PHY_DUPLEX_HALF: - break; - case ARM_ETH_PHY_DUPLEX_FULL: - break; - } - - if (mode & ARM_ETH_PHY_AUTO_NEGOTIATE) - { - } - - if (mode & ARM_ETH_PHY_LOOPBACK) - { - } - - if (mode & ARM_ETH_PHY_ISOLATE) - { - } -} - -static ARM_ETH_LINK_STATE ARM_ETH_PHY_GetLinkState(void) -{ -} - -static ARM_ETH_LINK_INFO ARM_ETH_PHY_GetLinkInfo(void) -{ -} - -extern \ -ARM_DRIVER_ETH_PHY Driver_ETH_PHY0; -ARM_DRIVER_ETH_PHY Driver_ETH_PHY0 = -{ - ARM_ETH_PHY_GetVersion, - ARM_ETH_PHY_Initialize, - ARM_ETH_PHY_Uninitialize, - ARM_ETH_PHY_PowerControl, - ARM_ETH_PHY_SetInterface, - ARM_ETH_PHY_SetMode, - ARM_ETH_PHY_GetLinkState, - ARM_ETH_PHY_GetLinkInfo, -}; diff --git a/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_Flash.c b/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_Flash.c deleted file mode 100644 index cdccd2a..0000000 --- a/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_Flash.c +++ /dev/null @@ -1,144 +0,0 @@ -/* - * Copyright (c) 2013-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "Driver_Flash.h" - -#define ARM_FLASH_DRV_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(1, 0) /* driver version */ - -/* Sector Information */ -#ifdef FLASH_SECTORS -static ARM_FLASH_SECTOR FLASH_SECTOR_INFO[FLASH_SECTOR_COUNT] = { - FLASH_SECTORS -}; -#else -#define FLASH_SECTOR_INFO NULL -#endif - -/* Flash Information */ -static ARM_FLASH_INFO FlashInfo = { - 0, /* FLASH_SECTOR_INFO */ - 0, /* FLASH_SECTOR_COUNT */ - 0, /* FLASH_SECTOR_SIZE */ - 0, /* FLASH_PAGE_SIZE */ - 0, /* FLASH_PROGRAM_UNIT */ - 0, /* FLASH_ERASED_VALUE */ - { 0, 0, 0 } /* Reserved (must be zero) */ -}; - -/* Flash Status */ -static ARM_FLASH_STATUS FlashStatus; - -/* Driver Version */ -static const ARM_DRIVER_VERSION DriverVersion = { - ARM_FLASH_API_VERSION, - ARM_FLASH_DRV_VERSION -}; - -/* Driver Capabilities */ -static const ARM_FLASH_CAPABILITIES DriverCapabilities = { - 0, /* event_ready */ - 0, /* data_width = 0:8-bit, 1:16-bit, 2:32-bit */ - 0, /* erase_chip */ - 0 /* reserved (must be zero) */ -}; - -// -// Functions -// - -static ARM_DRIVER_VERSION ARM_Flash_GetVersion(void) -{ - return DriverVersion; -} - -static ARM_FLASH_CAPABILITIES ARM_Flash_GetCapabilities(void) -{ - return DriverCapabilities; -} - -static int32_t ARM_Flash_Initialize(ARM_Flash_SignalEvent_t cb_event) -{ -} - -static int32_t ARM_Flash_Uninitialize(void) -{ -} - -static int32_t ARM_Flash_PowerControl(ARM_POWER_STATE state) -{ - switch (state) - { - case ARM_POWER_OFF: - break; - - case ARM_POWER_LOW: - break; - - case ARM_POWER_FULL: - break; - } - return ARM_DRIVER_OK; -} - -static int32_t ARM_Flash_ReadData(uint32_t addr, void *data, uint32_t cnt) -{ -} - -static int32_t ARM_Flash_ProgramData(uint32_t addr, const void *data, uint32_t cnt) -{ -} - -static int32_t ARM_Flash_EraseSector(uint32_t addr) -{ -} - -static int32_t ARM_Flash_EraseChip(void) -{ -} - -static ARM_FLASH_STATUS ARM_Flash_GetStatus(void) -{ - return FlashStatus; -} - -static ARM_FLASH_INFO * ARM_Flash_GetInfo(void) -{ - return &FlashInfo; -} - -static void ARM_Flash_SignalEvent(uint32_t event) -{ -} - -// End Flash Interface - -extern \ -ARM_DRIVER_FLASH Driver_Flash0; -ARM_DRIVER_FLASH Driver_Flash0 = { - ARM_Flash_GetVersion, - ARM_Flash_GetCapabilities, - ARM_Flash_Initialize, - ARM_Flash_Uninitialize, - ARM_Flash_PowerControl, - ARM_Flash_ReadData, - ARM_Flash_ProgramData, - ARM_Flash_EraseSector, - ARM_Flash_EraseChip, - ARM_Flash_GetStatus, - ARM_Flash_GetInfo -}; diff --git a/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_I2C.c b/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_I2C.c deleted file mode 100644 index f9a4740..0000000 --- a/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_I2C.c +++ /dev/null @@ -1,150 +0,0 @@ -/* - * Copyright (c) 2013-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "Driver_I2C.h" - -#define ARM_I2C_DRV_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(1, 0) /* driver version */ - -/* Driver Version */ -static const ARM_DRIVER_VERSION DriverVersion = { - ARM_I2C_API_VERSION, - ARM_I2C_DRV_VERSION -}; - -/* Driver Capabilities */ -static const ARM_I2C_CAPABILITIES DriverCapabilities = { - 0 /* supports 10-bit addressing */ -}; - -// -// Functions -// - -static ARM_DRIVER_VERSION ARM_I2C_GetVersion(void) -{ - return DriverVersion; -} - -static ARM_I2C_CAPABILITIES ARM_I2C_GetCapabilities(void) -{ - return DriverCapabilities; -} - -static int32_t ARM_I2C_Initialize(ARM_I2C_SignalEvent_t cb_event) -{ -} - -static int32_t ARM_I2C_Uninitialize(void) -{ -} - -static int32_t ARM_I2C_PowerControl(ARM_POWER_STATE state) -{ - switch (state) - { - case ARM_POWER_OFF: - break; - - case ARM_POWER_LOW: - break; - - case ARM_POWER_FULL: - break; - } - return ARM_DRIVER_OK; -} - -static int32_t ARM_I2C_MasterTransmit(uint32_t addr, const uint8_t *data, uint32_t num, bool xfer_pending) -{ -} - -static int32_t ARM_I2C_MasterReceive(uint32_t addr, uint8_t *data, uint32_t num, bool xfer_pending) -{ -} - -static int32_t ARM_I2C_SlaveTransmit(const uint8_t *data, uint32_t num) -{ -} - -static int32_t ARM_I2C_SlaveReceive(uint8_t *data, uint32_t num) -{ -} - -static int32_t ARM_I2C_GetDataCount(void) -{ -} - -static int32_t ARM_I2C_Control(uint32_t control, uint32_t arg) -{ - switch (control) - { - case ARM_I2C_OWN_ADDRESS: - break; - - case ARM_I2C_BUS_SPEED: - switch (arg) - { - case ARM_I2C_BUS_SPEED_STANDARD: - break; - case ARM_I2C_BUS_SPEED_FAST: - break; - case ARM_I2C_BUS_SPEED_FAST_PLUS: - break; - default: - return ARM_DRIVER_ERROR_UNSUPPORTED; - } - break; - - case ARM_I2C_BUS_CLEAR: - break; - - case ARM_I2C_ABORT_TRANSFER: - break; - - default: - return ARM_DRIVER_ERROR_UNSUPPORTED; - } -} - -static ARM_I2C_STATUS ARM_I2C_GetStatus(void) -{ -} - -static void ARM_I2C_SignalEvent(uint32_t event) -{ - // function body -} - -// End I2C Interface - -extern \ -ARM_DRIVER_I2C Driver_I2C0; -ARM_DRIVER_I2C Driver_I2C0 = { - ARM_I2C_GetVersion, - ARM_I2C_GetCapabilities, - ARM_I2C_Initialize, - ARM_I2C_Uninitialize, - ARM_I2C_PowerControl, - ARM_I2C_MasterTransmit, - ARM_I2C_MasterReceive, - ARM_I2C_SlaveTransmit, - ARM_I2C_SlaveReceive, - ARM_I2C_GetDataCount, - ARM_I2C_Control, - ARM_I2C_GetStatus -}; diff --git a/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_MCI.c b/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_MCI.c deleted file mode 100644 index dd73c04..0000000 --- a/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_MCI.c +++ /dev/null @@ -1,225 +0,0 @@ -/* - * Copyright (c) 2013-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "Driver_MCI.h" - -#define ARM_MCI_DRV_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(1, 0) /* driver version */ - -/* Driver Version */ -static const ARM_DRIVER_VERSION DriverVersion = { - ARM_MCI_API_VERSION, - ARM_MCI_DRV_VERSION -}; - -/* Driver Capabilities */ -static const ARM_MCI_CAPABILITIES DriverCapabilities = { - 0, /* cd_state */ - 0, /* cd_event */ - 0, /* wp_state */ - 0, /* vdd */ - 0, /* vdd_1v8 */ - 0, /* vccq */ - 0, /* vccq_1v8 */ - 0, /* vccq_1v2 */ - 0, /* data_width_4 */ - 0, /* data_width_8 */ - 0, /* data_width_4_ddr */ - 0, /* data_width_8_ddr */ - 0, /* high_speed */ - 0, /* uhs_signaling */ - 0, /* uhs_tuning */ - 0, /* uhs_sdr50 */ - 0, /* uhs_sdr104 */ - 0, /* uhs_ddr50 */ - 0, /* uhs_driver_type_a */ - 0, /* uhs_driver_type_c */ - 0, /* uhs_driver_type_d */ - 0, /* sdio_interrupt */ - 0, /* read_wait */ - 0, /* suspend_resume */ - 0, /* mmc_interrupt */ - 0, /* mmc_boot */ - 0, /* rst_n */ - 0, /* ccs */ - 0, /* ccs_timeout */ - 0 /* Reserved */ -}; - -// -// Functions -// - -static ARM_DRIVER_VERSION ARM_MCI_GetVersion(void) -{ - return DriverVersion; -} - -static ARM_MCI_CAPABILITIES ARM_MCI_GetCapabilities(void) -{ - return DriverCapabilities; -} - -static int32_t ARM_MCI_Initialize(ARM_MCI_SignalEvent_t cb_event) -{ -} - -static int32_t ARM_MCI_Uninitialize(void) -{ -} - -static int32_t ARM_MCI_PowerControl(ARM_POWER_STATE state) -{ - switch (state) - { - case ARM_POWER_OFF: - break; - - case ARM_POWER_LOW: - break; - - case ARM_POWER_FULL: - break; - } - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_MCI_CardPower(uint32_t voltage) -{ - switch (voltage & ARM_MCI_POWER_VDD_Msk) - { - case ARM_MCI_POWER_VDD_OFF: - return ARM_DRIVER_OK; - - case ARM_MCI_POWER_VDD_3V3: - return ARM_DRIVER_OK; - - default: - break; - } - return ARM_DRIVER_ERROR; -} - -static int32_t ARM_MCI_ReadCD(void) -{ -} - -static int32_t ARM_MCI_ReadWP(void) -{ -} - -static int32_t ARM_MCI_SendCommand(uint32_t cmd, uint32_t arg, uint32_t flags, uint32_t *response) -{ -} - -static int32_t ARM_MCI_SetupTransfer(uint8_t *data, uint32_t block_count, uint32_t block_size, uint32_t mode) -{ -} - -static int32_t ARM_MCI_AbortTransfer(void) -{ -} - -static int32_t ARM_MCI_Control(uint32_t control, uint32_t arg) -{ - switch (control) - { - case ARM_MCI_BUS_SPEED: - break; - - case ARM_MCI_BUS_SPEED_MODE: - break; - - case ARM_MCI_BUS_CMD_MODE: - /* Implement external pull-up control to support MMC cards in open-drain mode */ - /* Default mode is push-pull and is configured in Driver_MCI0.Initialize() */ - if (arg == ARM_MCI_BUS_CMD_PUSH_PULL) - { - /* Configure external circuit to work in push-pull mode */ - } - else if (arg == ARM_MCI_BUS_CMD_OPEN_DRAIN) - { - /* Configure external circuit to work in open-drain mode */ - } - else - { - return ARM_DRIVER_ERROR_UNSUPPORTED; - } - break; - - case ARM_MCI_BUS_DATA_WIDTH: - switch (arg) - { - case ARM_MCI_BUS_DATA_WIDTH_1: - break; - case ARM_MCI_BUS_DATA_WIDTH_4: - break; - case ARM_MCI_BUS_DATA_WIDTH_8: - break; - default: - return ARM_DRIVER_ERROR_UNSUPPORTED; - } - break; - - case ARM_MCI_CONTROL_RESET: - break; - - case ARM_MCI_CONTROL_CLOCK_IDLE: - break; - - case ARM_MCI_DATA_TIMEOUT: - break; - - case ARM_MCI_MONITOR_SDIO_INTERRUPT: - break; - - case ARM_MCI_CONTROL_READ_WAIT: - break; - - case ARM_MCI_DRIVER_STRENGTH: - default: return ARM_DRIVER_ERROR_UNSUPPORTED; - } -} - -static ARM_MCI_STATUS ARM_MCI_GetStatus(void) -{ -} - -static void ARM_MCI_SignalEvent(uint32_t event) -{ - // function body -} - -// End MCI Interface - -extern \ -ARM_DRIVER_MCI Driver_MCI0; -ARM_DRIVER_MCI Driver_MCI0 = { - ARM_MCI_GetVersion, - ARM_MCI_GetCapabilities, - ARM_MCI_Initialize, - ARM_MCI_Uninitialize, - ARM_MCI_PowerControl, - ARM_MCI_CardPower, - ARM_MCI_ReadCD, - ARM_MCI_ReadWP, - ARM_MCI_SendCommand, - ARM_MCI_SetupTransfer, - ARM_MCI_AbortTransfer, - ARM_MCI_Control, - ARM_MCI_GetStatus -}; diff --git a/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_NAND.c b/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_NAND.c deleted file mode 100644 index dbb6725..0000000 --- a/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_NAND.c +++ /dev/null @@ -1,190 +0,0 @@ -/* - * Copyright (c) 2013-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "Driver_NAND.h" - -#define ARM_NAND_DRV_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(1, 0) /* driver version */ - -/* Driver Version */ -static const ARM_DRIVER_VERSION DriverVersion = { - ARM_NAND_API_VERSION, - ARM_NAND_DRV_VERSION -}; - -/* Driver Capabilities */ -static const ARM_NAND_CAPABILITIES DriverCapabilities = { - 0, /* Signal Device Ready event (R/Bn rising edge) */ - 0, /* Supports re-entrant operation (SendCommand/Address, Read/WriteData) */ - 0, /* Supports Sequence operation (ExecuteSequence, AbortSequence) */ - 0, /* Supports VCC Power Supply Control */ - 0, /* Supports 1.8 VCC Power Supply */ - 0, /* Supports VCCQ I/O Power Supply Control */ - 0, /* Supports 1.8 VCCQ I/O Power Supply */ - 0, /* Supports VPP High Voltage Power Supply Control */ - 0, /* Supports WPn (Write Protect) Control */ - 0, /* Number of CEn (Chip Enable) lines: ce_lines + 1 */ - 0, /* Supports manual CEn (Chip Enable) Control */ - 0, /* Supports R/Bn (Ready/Busy) Monitoring */ - 0, /* Supports 16-bit data */ - 0, /* Supports NV-DDR Data Interface (ONFI) */ - 0, /* Supports NV-DDR2 Data Interface (ONFI) */ - 0, /* Fastest (highest) SDR Timing Mode supported (ONFI) */ - 0, /* Fastest (highest) NV_DDR Timing Mode supported (ONFI) */ - 0, /* Fastest (highest) NV_DDR2 Timing Mode supported (ONFI) */ - 0, /* Supports Driver Strength 2.0x = 18 Ohms */ - 0, /* Supports Driver Strength 1.4x = 25 Ohms */ - 0, /* Supports Driver Strength 0.7x = 50 Ohms */ -#if (ARM_NAND_API_VERSION > 0x201U) - 0 /* Reserved (must be zero) */ -#endif -}; - -/* Exported functions */ - -static ARM_DRIVER_VERSION ARM_NAND_GetVersion (void) { - return DriverVersion; -} - -static ARM_NAND_CAPABILITIES ARM_NAND_GetCapabilities (void) { - return DriverCapabilities; -} - -static int32_t ARM_NAND_Initialize (ARM_NAND_SignalEvent_t cb_event) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_NAND_Uninitialize (void) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_NAND_PowerControl (ARM_POWER_STATE state) { - - switch ((int32_t)state) { - case ARM_POWER_OFF: - return ARM_DRIVER_ERROR_UNSUPPORTED; - - case ARM_POWER_LOW: - return ARM_DRIVER_ERROR_UNSUPPORTED; - - case ARM_POWER_FULL: - return ARM_DRIVER_ERROR_UNSUPPORTED; - - default: - return ARM_DRIVER_ERROR_UNSUPPORTED; - } - return ARM_DRIVER_OK; -} - -static int32_t ARM_NAND_DevicePower (uint32_t voltage) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_NAND_WriteProtect (uint32_t dev_num, bool enable) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_NAND_ChipEnable (uint32_t dev_num, bool enable) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_NAND_GetDeviceBusy (uint32_t dev_num) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_NAND_SendCommand (uint32_t dev_num, uint8_t cmd) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_NAND_SendAddress (uint32_t dev_num, uint8_t addr) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_NAND_ReadData (uint32_t dev_num, void *data, uint32_t cnt, uint32_t mode) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_NAND_WriteData (uint32_t dev_num, const void *data, uint32_t cnt, uint32_t mode) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_NAND_ExecuteSequence (uint32_t dev_num, uint32_t code, uint32_t cmd, - uint32_t addr_col, uint32_t addr_row, - void *data, uint32_t data_cnt, - uint8_t *status, uint32_t *count) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_NAND_AbortSequence (uint32_t dev_num) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_NAND_Control (uint32_t dev_num, uint32_t control, uint32_t arg) { - - switch (control) { - case ARM_NAND_BUS_MODE: - return ARM_DRIVER_ERROR_UNSUPPORTED; - - case ARM_NAND_BUS_DATA_WIDTH: - return ARM_DRIVER_ERROR_UNSUPPORTED; - - case ARM_NAND_DEVICE_READY_EVENT: - return ARM_DRIVER_ERROR_UNSUPPORTED; - - default: - return ARM_DRIVER_ERROR_UNSUPPORTED; - } - - return ARM_DRIVER_ERROR; -} - -static ARM_NAND_STATUS ARM_NAND_GetStatus (uint32_t dev_num) { - ARM_NAND_STATUS stat; - - stat.busy = 0U; - stat.ecc_error = 0U; - - return stat; -} - -static int32_t ARM_NAND_InquireECC (int32_t index, ARM_NAND_ECC_INFO *info) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -/* NAND Driver Control Block */ -extern \ -ARM_DRIVER_NAND Driver_NAND0; -ARM_DRIVER_NAND Driver_NAND0 = { - ARM_NAND_GetVersion, - ARM_NAND_GetCapabilities, - ARM_NAND_Initialize, - ARM_NAND_Uninitialize, - ARM_NAND_PowerControl, - ARM_NAND_DevicePower, - ARM_NAND_WriteProtect, - ARM_NAND_ChipEnable, - ARM_NAND_GetDeviceBusy, - ARM_NAND_SendCommand, - ARM_NAND_SendAddress, - ARM_NAND_ReadData, - ARM_NAND_WriteData, - ARM_NAND_ExecuteSequence, - ARM_NAND_AbortSequence, - ARM_NAND_Control, - ARM_NAND_GetStatus, - ARM_NAND_InquireECC -}; diff --git a/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_SAI.c b/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_SAI.c deleted file mode 100644 index eb445e4..0000000 --- a/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_SAI.c +++ /dev/null @@ -1,128 +0,0 @@ -/* - * Copyright (c) 2013-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "Driver_SAI.h" - -#define ARM_SAI_DRV_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(1, 0) /* driver version */ - -/* Driver Version */ -static const ARM_DRIVER_VERSION DriverVersion = { - ARM_SAI_API_VERSION, - ARM_SAI_DRV_VERSION -}; - -/* Driver Capabilities */ -static const ARM_SAI_CAPABILITIES DriverCapabilities = { - 1, /* supports asynchronous Transmit/Receive */ - 0, /* supports synchronous Transmit/Receive */ - 0, /* supports user defined Protocol */ - 1, /* supports I2S Protocol */ - 0, /* supports MSB/LSB justified Protocol */ - 0, /* supports PCM short/long frame Protocol */ - 0, /* supports AC'97 Protocol */ - 0, /* supports Mono mode */ - 0, /* supports Companding */ - 0, /* supports MCLK (Master Clock) pin */ - 0, /* supports Frame error event: \ref ARM_SAI_EVENT_FRAME_ERROR */ - 0 /* reserved (must be zero) */ -}; - -// -// Functions -// - -static ARM_DRIVER_VERSION ARM_SAI_GetVersion (void) -{ - return DriverVersion; -} - -static ARM_SAI_CAPABILITIES ARM_SAI_GetCapabilities (void) -{ - return DriverCapabilities; -} - -static int32_t ARM_SAI_Initialize (ARM_SAI_SignalEvent_t cb_event) -{ -} - -static int32_t ARM_SAI_Uninitialize (void) -{ -} - -static int32_t ARM_SAI_PowerControl (ARM_POWER_STATE state) -{ - switch (state) - { - case ARM_POWER_OFF: - break; - - case ARM_POWER_LOW: - break; - - case ARM_POWER_FULL: - break; - } - return ARM_DRIVER_OK; -} - -static int32_t ARM_SAI_Send (const void *data, uint32_t num) -{ -} - -static int32_t ARM_SAI_Receive (void *data, uint32_t num) -{ -} - -static uint32_t ARM_SAI_GetTxCount (void) -{ -} - -static uint32_t ARM_SAI_GetRxCount (void) -{ -} - -static int32_t ARM_SAI_Control (uint32_t control, uint32_t arg1, uint32_t arg2) -{ -} - -static ARM_SAI_STATUS ARM_SAI_GetStatus (void) -{ -} - -static void ARM_SAI_SignalEvent(uint32_t event) -{ - // function body -} - -// End SAI Interface - -extern \ -ARM_DRIVER_SAI Driver_SAI0; -ARM_DRIVER_SAI Driver_SAI0 = { - ARM_SAI_GetVersion, - ARM_SAI_GetCapabilities, - ARM_SAI_Initialize, - ARM_SAI_Uninitialize, - ARM_SAI_PowerControl, - ARM_SAI_Send, - ARM_SAI_Receive, - ARM_SAI_GetTxCount, - ARM_SAI_GetRxCount, - ARM_SAI_Control, - ARM_SAI_GetStatus -}; diff --git a/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_SPI.c b/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_SPI.c deleted file mode 100644 index 1112940..0000000 --- a/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_SPI.c +++ /dev/null @@ -1,150 +0,0 @@ -/* - * Copyright (c) 2013-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "Driver_SPI.h" - -#define ARM_SPI_DRV_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(1, 0) /* driver version */ - -/* Driver Version */ -static const ARM_DRIVER_VERSION DriverVersion = { - ARM_SPI_API_VERSION, - ARM_SPI_DRV_VERSION -}; - -/* Driver Capabilities */ -static const ARM_SPI_CAPABILITIES DriverCapabilities = { - 0, /* Reserved (must be zero) */ - 0, /* TI Synchronous Serial Interface */ - 0, /* Microwire Interface */ - 0, /* Signal Mode Fault event: \ref ARM_SPI_EVENT_MODE_FAULT */ - 0 /* Reserved (must be zero) */ -}; - -// -// Functions -// - -static ARM_DRIVER_VERSION ARM_SPI_GetVersion(void) -{ - return DriverVersion; -} - -static ARM_SPI_CAPABILITIES ARM_SPI_GetCapabilities(void) -{ - return DriverCapabilities; -} - -static int32_t ARM_SPI_Initialize(ARM_SPI_SignalEvent_t cb_event) -{ -} - -static int32_t ARM_SPI_Uninitialize(void) -{ -} - -static int32_t ARM_SPI_PowerControl(ARM_POWER_STATE state) -{ - switch (state) - { - case ARM_POWER_OFF: - break; - - case ARM_POWER_LOW: - break; - - case ARM_POWER_FULL: - break; - } - return ARM_DRIVER_OK; -} - -static int32_t ARM_SPI_Send(const void *data, uint32_t num) -{ -} - -static int32_t ARM_SPI_Receive(void *data, uint32_t num) -{ -} - -static int32_t ARM_SPI_Transfer(const void *data_out, void *data_in, uint32_t num) -{ -} - -static uint32_t ARM_SPI_GetDataCount(void) -{ -} - -static int32_t ARM_SPI_Control(uint32_t control, uint32_t arg) -{ - switch (control & ARM_SPI_CONTROL_Msk) - { - default: - return ARM_DRIVER_ERROR_UNSUPPORTED; - - case ARM_SPI_MODE_INACTIVE: // SPI Inactive - return ARM_DRIVER_OK; - - case ARM_SPI_MODE_MASTER: // SPI Master (Output on MOSI, Input on MISO); arg = Bus Speed in bps - break; - - case ARM_SPI_MODE_SLAVE: // SPI Slave (Output on MISO, Input on MOSI) - break; - - case ARM_SPI_SET_BUS_SPEED: // Set Bus Speed in bps; arg = value - break; - - case ARM_SPI_GET_BUS_SPEED: // Get Bus Speed in bps - break; - - case ARM_SPI_SET_DEFAULT_TX_VALUE: // Set default Transmit value; arg = value - break; - - case ARM_SPI_CONTROL_SS: // Control Slave Select; arg = 0:inactive, 1:active - break; - - case ARM_SPI_ABORT_TRANSFER: // Abort current data transfer - break; - } -} - -static ARM_SPI_STATUS ARM_SPI_GetStatus(void) -{ -} - -static void ARM_SPI_SignalEvent(uint32_t event) -{ - // function body -} - -// End SPI Interface - -extern \ -ARM_DRIVER_SPI Driver_SPI0; -ARM_DRIVER_SPI Driver_SPI0 = { - ARM_SPI_GetVersion, - ARM_SPI_GetCapabilities, - ARM_SPI_Initialize, - ARM_SPI_Uninitialize, - ARM_SPI_PowerControl, - ARM_SPI_Send, - ARM_SPI_Receive, - ARM_SPI_Transfer, - ARM_SPI_GetDataCount, - ARM_SPI_Control, - ARM_SPI_GetStatus -}; diff --git a/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_Storage.c b/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_Storage.c deleted file mode 100644 index e71ed2d..0000000 --- a/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_Storage.c +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright (c) 2013-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - -#include "Driver_Storage.h" - -#define ARM_STORAGE_DRV_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(1, 0) /* driver version */ - -/* Driver Version */ -static const ARM_DRIVER_VERSION DriverVersion = { - ARM_STORAGE_API_VERSION, - ARM_STORAGE_DRV_VERSION -}; - -/* Driver Capabilities */ -static const ARM_STORAGE_CAPABILITIES DriverCapabilities = { - 0, /* Asynchronous Mode */ - 0, /* Supports EraseAll operation */ - 0 /* Reserved */ -}; - - -// -// Functions -// - -static ARM_DRIVER_VERSION ARM_Storage_GetVersion (void) { - return DriverVersion; -} - -static ARM_STORAGE_CAPABILITIES ARM_Storage_GetCapabilities (void) { - return DriverCapabilities; -} - -static int32_t ARM_Storage_Initialize (ARM_Storage_Callback_t callback) { -} - -static int32_t ARM_Storage_Uninitialize (void) { -} - -static int32_t ARM_Storage_PowerControl (ARM_POWER_STATE state) -{ - switch (state) - { - case ARM_POWER_OFF: - break; - - case ARM_POWER_LOW: - break; - - case ARM_POWER_FULL: - break; - } - return ARM_DRIVER_OK; -} - -static int32_t ARM_Storage_ReadData (uint64_t addr, void *data, uint32_t size) { -} - -static int32_t ARM_Storage_ProgramData (uint64_t addr, const void *data, uint32_t size) { -} - -static int32_t ARM_Storage_Erase (uint64_t addr, uint32_t size) { -} - -static int32_t ARM_Storage_EraseAll (void) { -} - -static ARM_STORAGE_STATUS ARM_Storage_GetStatus (void) { -} - -static int32_t ARM_Storage_GetInfo (ARM_STORAGE_INFO *info) { -} - -static uint32_t ARM_Storage_ResolveAddress(uint64_t addr) { -} - -static int32_t ARM_Storage_GetNextBlock(const ARM_STORAGE_BLOCK* prev_block, ARM_STORAGE_BLOCK *next_block) { -} - -static int32_t ARM_Storage_GetBlock(uint64_t addr, ARM_STORAGE_BLOCK *block) { -} - -// End Storage Interface - -extern \ -ARM_DRIVER_STORAGE Driver_Storage0; -ARM_DRIVER_STORAGE Driver_Storage0 = { - ARM_Storage_GetVersion, - ARM_Storage_GetCapabilities, - ARM_Storage_Initialize, - ARM_Storage_Uninitialize, - ARM_Storage_PowerControl, - ARM_Storage_ReadData, - ARM_Storage_ProgramData, - ARM_Storage_Erase, - ARM_Storage_EraseAll, - ARM_Storage_GetStatus, - ARM_Storage_GetInfo, - ARM_Storage_ResolveAddress, - ARM_Storage_GetNextBlock, - ARM_Storage_GetBlock -}; diff --git a/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_USART.c b/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_USART.c deleted file mode 100644 index 8977ad0..0000000 --- a/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_USART.c +++ /dev/null @@ -1,153 +0,0 @@ -/* - * Copyright (c) 2013-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "Driver_USART.h" - -#define ARM_USART_DRV_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(1, 0) /* driver version */ - -/* Driver Version */ -static const ARM_DRIVER_VERSION DriverVersion = { - ARM_USART_API_VERSION, - ARM_USART_DRV_VERSION -}; - -/* Driver Capabilities */ -static const ARM_USART_CAPABILITIES DriverCapabilities = { - 1, /* supports UART (Asynchronous) mode */ - 0, /* supports Synchronous Master mode */ - 0, /* supports Synchronous Slave mode */ - 0, /* supports UART Single-wire mode */ - 0, /* supports UART IrDA mode */ - 0, /* supports UART Smart Card mode */ - 0, /* Smart Card Clock generator available */ - 0, /* RTS Flow Control available */ - 0, /* CTS Flow Control available */ - 0, /* Transmit completed event: \ref ARM_USART_EVENT_TX_COMPLETE */ - 0, /* Signal receive character timeout event: \ref ARM_USART_EVENT_RX_TIMEOUT */ - 0, /* RTS Line: 0=not available, 1=available */ - 0, /* CTS Line: 0=not available, 1=available */ - 0, /* DTR Line: 0=not available, 1=available */ - 0, /* DSR Line: 0=not available, 1=available */ - 0, /* DCD Line: 0=not available, 1=available */ - 0, /* RI Line: 0=not available, 1=available */ - 0, /* Signal CTS change event: \ref ARM_USART_EVENT_CTS */ - 0, /* Signal DSR change event: \ref ARM_USART_EVENT_DSR */ - 0, /* Signal DCD change event: \ref ARM_USART_EVENT_DCD */ - 0, /* Signal RI change event: \ref ARM_USART_EVENT_RI */ - 0 /* Reserved (must be zero) */ -}; - -// -// Functions -// - -static ARM_DRIVER_VERSION ARM_USART_GetVersion(void) -{ - return DriverVersion; -} - -static ARM_USART_CAPABILITIES ARM_USART_GetCapabilities(void) -{ - return DriverCapabilities; -} - -static int32_t ARM_USART_Initialize(ARM_USART_SignalEvent_t cb_event) -{ -} - -static int32_t ARM_USART_Uninitialize(void) -{ -} - -static int32_t ARM_USART_PowerControl(ARM_POWER_STATE state) -{ - switch (state) - { - case ARM_POWER_OFF: - break; - - case ARM_POWER_LOW: - break; - - case ARM_POWER_FULL: - break; - } - return ARM_DRIVER_OK; -} - -static int32_t ARM_USART_Send(const void *data, uint32_t num) -{ -} - -static int32_t ARM_USART_Receive(void *data, uint32_t num) -{ -} - -static int32_t ARM_USART_Transfer(const void *data_out, void *data_in, uint32_t num) -{ -} - -static uint32_t ARM_USART_GetTxCount(void) -{ -} - -static uint32_t ARM_USART_GetRxCount(void) -{ -} - -static int32_t ARM_USART_Control(uint32_t control, uint32_t arg) -{ -} - -static ARM_USART_STATUS ARM_USART_GetStatus(void) -{ -} - -static int32_t ARM_USART_SetModemControl(ARM_USART_MODEM_CONTROL control) -{ -} - -static ARM_USART_MODEM_STATUS ARM_USART_GetModemStatus(void) -{ -} - -static void ARM_USART_SignalEvent(uint32_t event) -{ - // function body -} - -// End USART Interface - -extern \ -ARM_DRIVER_USART Driver_USART0; -ARM_DRIVER_USART Driver_USART0 = { - ARM_USART_GetVersion, - ARM_USART_GetCapabilities, - ARM_USART_Initialize, - ARM_USART_Uninitialize, - ARM_USART_PowerControl, - ARM_USART_Send, - ARM_USART_Receive, - ARM_USART_Transfer, - ARM_USART_GetTxCount, - ARM_USART_GetRxCount, - ARM_USART_Control, - ARM_USART_GetStatus, - ARM_USART_SetModemControl, - ARM_USART_GetModemStatus -}; diff --git a/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_USBD.c b/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_USBD.c deleted file mode 100644 index 06554d1..0000000 --- a/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_USBD.c +++ /dev/null @@ -1,164 +0,0 @@ -/* - * Copyright (c) 2013-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "Driver_USBD.h" - -#define ARM_USBD_DRV_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(1, 0) /* driver version */ - -/* Driver Version */ -static const ARM_DRIVER_VERSION usbd_driver_version = { - ARM_USBD_API_VERSION, - ARM_USBD_DRV_VERSION -}; - -/* Driver Capabilities */ -static const ARM_USBD_CAPABILITIES usbd_driver_capabilities = { - 0, /* vbus_detection */ - 0, /* event_vbus_on */ - 0, /* event_vbus_off */ - 0 /* reserved */ -}; - -// -// Functions -// - -static ARM_DRIVER_VERSION ARM_USBD_GetVersion(void) -{ - return usbd_driver_version; -} - -static ARM_USBD_CAPABILITIES ARM_USBD_GetCapabilities(void) -{ - return usbd_driver_capabilities; -} - -static int32_t ARM_USBD_Initialize(ARM_USBD_SignalDeviceEvent_t cb_device_event, - ARM_USBD_SignalEndpointEvent_t cb_endpoint_event) -{ -} - -static int32_t ARM_USBD_Uninitialize(void) -{ -} - -static int32_t ARM_USBD_PowerControl(ARM_POWER_STATE state) -{ - switch (state) - { - case ARM_POWER_OFF: - break; - - case ARM_POWER_LOW: - break; - - case ARM_POWER_FULL: - break; - } - return ARM_DRIVER_OK; -} - -static int32_t ARM_USBD_DeviceConnect(void) -{ -} - -static int32_t ARM_USBD_DeviceDisconnect(void) -{ -} - -static ARM_USBD_STATE ARM_USBD_DeviceGetState(void) -{ -} - -static int32_t ARM_USBD_DeviceRemoteWakeup(void) -{ -} - -static int32_t ARM_USBD_DeviceSetAddress(uint8_t dev_addr) -{ -} - -static int32_t ARM_USBD_ReadSetupPacket(uint8_t *setup) -{ -} - -static int32_t ARM_USBD_EndpointConfigure(uint8_t ep_addr, - uint8_t ep_type, - uint16_t ep_max_packet_size) -{ -} - -static int32_t ARM_USBD_EndpointUnconfigure(uint8_t ep_addr) -{ -} - -static int32_t ARM_USBD_EndpointStall(uint8_t ep_addr, bool stall) -{ -} - -static int32_t ARM_USBD_EndpointTransfer(uint8_t ep_addr, uint8_t *data, uint32_t num) -{ -} - -static uint32_t ARM_USBD_EndpointTransferGetResult(uint8_t ep_addr) -{ -} - -static int32_t ARM_USBD_EndpointTransferAbort(uint8_t ep_addr) -{ -} - -static uint16_t ARM_USBD_GetFrameNumber(void) -{ -} - -static void ARM_USBD_SignalDeviceEvent(uint32_t event) -{ - // function body -} - -static void ARM_USBD_SignalEndpointEvent(uint8_t ep_addr, uint32_t ep_event) -{ - // function body -} - -// End USBD Interface - -extern \ -ARM_DRIVER_USBD Driver_USBD0; -ARM_DRIVER_USBD Driver_USBD0 = -{ - ARM_USBD_GetVersion, - ARM_USBD_GetCapabilities, - ARM_USBD_Initialize, - ARM_USBD_Uninitialize, - ARM_USBD_PowerControl, - ARM_USBD_DeviceConnect, - ARM_USBD_DeviceDisconnect, - ARM_USBD_DeviceGetState, - ARM_USBD_DeviceRemoteWakeup, - ARM_USBD_DeviceSetAddress, - ARM_USBD_ReadSetupPacket, - ARM_USBD_EndpointConfigure, - ARM_USBD_EndpointUnconfigure, - ARM_USBD_EndpointStall, - ARM_USBD_EndpointTransfer, - ARM_USBD_EndpointTransferGetResult, - ARM_USBD_EndpointTransferAbort, - ARM_USBD_GetFrameNumber -}; diff --git a/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_USBH.c b/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_USBH.c deleted file mode 100644 index 3d06689..0000000 --- a/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_USBH.c +++ /dev/null @@ -1,181 +0,0 @@ -/* - * Copyright (c) 2013-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "Driver_USBH.h" - -/* USB Host Driver */ - -#define ARM_USBH_DRV_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(1, 0) /* driver version */ - -/* Driver Version */ -static const ARM_DRIVER_VERSION usbh_driver_version = { - ARM_USBH_API_VERSION, - ARM_USBH_DRV_VERSION -}; - -/* Driver Capabilities */ -static const ARM_USBH_CAPABILITIES usbd_driver_capabilities = { - 0x0001, /* Root HUB available Ports Mask */ - 0, /* Automatic SPLIT packet handling */ - 0, /* Signal Connect event */ - 0, /* Signal Disconnect event */ - 0, /* Signal Overcurrent event */ - 0 /* Reserved (must be zero) */ -}; - -// -// Functions -// - -static ARM_DRIVER_VERSION ARM_USBH_GetVersion(void) -{ - return usbh_driver_version; -} - -static ARM_USBH_CAPABILITIES ARM_USBH_GetCapabilities(void) -{ - return usbd_driver_capabilities; -} - -static int32_t ARM_USBH_Initialize(ARM_USBH_SignalPortEvent_t cb_port_event, - ARM_USBH_SignalPipeEvent_t cb_pipe_event) -{ -} - -static int32_t ARM_USBH_Uninitialize(void) -{ -} - -static int32_t ARM_USBH_PowerControl(ARM_POWER_STATE state) -{ - switch (state) - { - case ARM_POWER_OFF: - break; - - case ARM_POWER_LOW: - break; - - case ARM_POWER_FULL: - break; - } - return ARM_DRIVER_OK; -} - -static int32_t ARM_USBH_PortVbusOnOff(uint8_t port, bool vbus) -{ -} - -static int32_t ARM_USBH_PortReset(uint8_t port) -{ -} - -static int32_t ARM_USBH_PortSuspend(uint8_t port) -{ -} - -static int32_t ARM_USBH_PortResume(uint8_t port) -{ -} - -static ARM_USBH_PORT_STATE ARM_USBH_PortGetState(uint8_t port) -{ -} - -static ARM_USBH_PIPE_HANDLE ARM_USBH_PipeCreate(uint8_t dev_addr, - uint8_t dev_speed, - uint8_t hub_addr, - uint8_t hub_port, - uint8_t ep_addr, - uint8_t ep_type, - uint16_t ep_max_packet_size, - uint8_t ep_interval) -{ -} - -static int32_t ARM_USBH_PipeModify(ARM_USBH_PIPE_HANDLE pipe_hndl, - uint8_t dev_addr, - uint8_t dev_speed, - uint8_t hub_addr, - uint8_t hub_port, - uint16_t ep_max_packet_size) -{ -} - -static int32_t ARM_USBH_PipeDelete(ARM_USBH_PIPE_HANDLE pipe_hndl) -{ -} - -static int32_t ARM_USBH_PipeReset(ARM_USBH_PIPE_HANDLE pipe_hndl) -{ -} - -static int32_t ARM_USBH_PipeTransfer(ARM_USBH_PIPE_HANDLE pipe_hndl, - uint32_t packet, - uint8_t *data, - uint32_t num) -{ -} - -static uint32_t ARM_USBH_PipeTransferGetResult(ARM_USBH_PIPE_HANDLE pipe_hndl) -{ -} - -static int32_t ARM_USBH_PipeTransferAbort(ARM_USBH_PIPE_HANDLE pipe_hndl) -{ -} - -static uint16_t ARM_USBH_GetFrameNumber(void) -{ -} - -static void ARM_USBH_SignalPortEvent(uint8_t port, uint32_t event) -{ - // function body -} - -static void ARM_USBH_SignalPipeEvent(ARM_USBH_PIPE_HANDLE pipe_hndl, uint32_t event) -{ - // function body -} - -// End USBH Interface - -extern \ -ARM_DRIVER_USBH Driver_USBH0; -ARM_DRIVER_USBH Driver_USBH0 = { - ARM_USBH_GetVersion, - ARM_USBH_GetCapabilities, - ARM_USBH_Initialize, - ARM_USBH_Uninitialize, - ARM_USBH_PowerControl, - ARM_USBH_PortVbusOnOff, - ARM_USBH_PortReset, - ARM_USBH_PortSuspend, - ARM_USBH_PortResume, - ARM_USBH_PortGetState, - ARM_USBH_PipeCreate, - ARM_USBH_PipeModify, - ARM_USBH_PipeDelete, - ARM_USBH_PipeReset, - ARM_USBH_PipeTransfer, - ARM_USBH_PipeTransferGetResult, - ARM_USBH_PipeTransferAbort, - ARM_USBH_GetFrameNumber -}; - diff --git a/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_WiFi.c b/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_WiFi.c deleted file mode 100644 index 03797ca..0000000 --- a/external/CMSIS_5/CMSIS/Driver/DriverTemplates/Driver_WiFi.c +++ /dev/null @@ -1,213 +0,0 @@ -/* - * Copyright (c) 2013-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "Driver_WiFi.h" - -#define ARM_WIFI_DRV_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(1, 0) // Driver version - -// Driver Version -static const ARM_DRIVER_VERSION driver_version = { - ARM_WIFI_API_VERSION, - ARM_WIFI_DRV_VERSION -}; - -// Driver Capabilities -static const ARM_WIFI_CAPABILITIES driver_capabilities = { - 0U, // Station supported - 0U, // Access Point supported - 0U, // Concurrent Station and Access Point not supported - 0U, // WiFi Protected Setup (WPS) for Station supported - 0U, // WiFi Protected Setup (WPS) for Access Point not supported - 0U, // Access Point: event generated on Station connect - 0U, // Access Point: event not generated on Station disconnect - 0U, // Event not generated on Ethernet frame reception in bypass mode - 0U, // Bypass or pass-through mode (Ethernet interface) not supported - 0U, // IP (UDP/TCP) (Socket interface) supported - 0U, // IPv6 (Socket interface) not supported - 0U, // Ping (ICMP) supported - 0U // Reserved (must be zero) -}; -static ARM_DRIVER_VERSION ARM_WiFi_GetVersion (void) { - return driver_version; -} - -static ARM_WIFI_CAPABILITIES ARM_WiFi_GetCapabilities (void) { - return driver_capabilities; -} - -static int32_t ARM_WiFi_Initialize (ARM_WIFI_SignalEvent_t cb_event) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_WiFi_Uninitialize (void) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_WiFi_PowerControl (ARM_POWER_STATE state) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_WiFi_GetModuleInfo (char *module_info, uint32_t max_len) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_WiFi_SetOption (uint32_t interface, uint32_t option, const void *data, uint32_t len) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_WiFi_GetOption (uint32_t interface, uint32_t option, void *data, uint32_t *len) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} -static int32_t ARM_WiFi_Scan (ARM_WIFI_SCAN_INFO_t scan_info[], uint32_t max_num) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_WiFi_Activate (uint32_t interface, const ARM_WIFI_CONFIG_t *config) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_WiFi_Deactivate (uint32_t interface) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static uint32_t ARM_WiFi_IsConnected (void) { - return 0U; -} - -static int32_t ARM_WiFi_GetNetInfo (ARM_WIFI_NET_INFO_t *net_info) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_WiFi_BypassControl (uint32_t interface, uint32_t mode) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_WiFi_EthSendFrame (uint32_t interface, const uint8_t *frame, uint32_t len){ - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_WiFi_EthReadFrame (uint32_t interface, uint8_t *frame, uint32_t len){ - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static uint32_t ARM_WiFi_EthGetRxFrameSize (uint32_t interface){ - return 0U; -} - -static int32_t ARM_WiFi_SocketCreate (int32_t af, int32_t type, int32_t protocol) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_WiFi_SocketBind (int32_t socket, const uint8_t *ip, uint32_t ip_len, uint16_t port) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_WiFi_SocketListen (int32_t socket, int32_t backlog) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_WiFi_SocketAccept (int32_t socket, uint8_t *ip, uint32_t *ip_len, uint16_t *port) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_WiFi_SocketConnect (int32_t socket, const uint8_t *ip, uint32_t ip_len, uint16_t port) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_WiFi_SocketRecv (int32_t socket, void *buf, uint32_t len) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_WiFi_SocketRecvFrom (int32_t socket, void *buf, uint32_t len, uint8_t *ip, uint32_t *ip_len, uint16_t *port) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_WiFi_SocketSend (int32_t socket, const void *buf, uint32_t len) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_WiFi_SocketSendTo (int32_t socket, const void *buf, uint32_t len, const uint8_t *ip, uint32_t ip_len, uint16_t port) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_WiFi_SocketGetSockName (int32_t socket, uint8_t *ip, uint32_t *ip_len, uint16_t *port) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_WiFi_SocketGetPeerName (int32_t socket, uint8_t *ip, uint32_t *ip_len, uint16_t *port) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_WiFi_SocketGetOpt (int32_t socket, int32_t opt_id, void *opt_val, uint32_t *opt_len) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_WiFi_SocketSetOpt (int32_t socket, int32_t opt_id, const void *opt_val, uint32_t opt_len) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_WiFi_SocketClose (int32_t socket) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_WiFi_SocketGetHostByName (const char *name, int32_t af, uint8_t *ip, uint32_t *ip_len) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -static int32_t ARM_WiFi_Ping (const uint8_t *ip, uint32_t ip_len) { - return ARM_DRIVER_ERROR_UNSUPPORTED; -} - -/* WiFi Driver Control Block */ -extern \ -ARM_DRIVER_WIFI Driver_WiFi0; -ARM_DRIVER_WIFI Driver_WiFi0 = { - ARM_WiFi_GetVersion, - ARM_WiFi_GetCapabilities, - ARM_WiFi_Initialize, - ARM_WiFi_Uninitialize, - ARM_WiFi_PowerControl, - ARM_WiFi_GetModuleInfo, - ARM_WiFi_SetOption, - ARM_WiFi_GetOption, - ARM_WiFi_Scan, - ARM_WiFi_Activate, - ARM_WiFi_Deactivate, - ARM_WiFi_IsConnected, - ARM_WiFi_GetNetInfo, - ARM_WiFi_BypassControl, - ARM_WiFi_EthSendFrame, - ARM_WiFi_EthReadFrame, - ARM_WiFi_EthGetRxFrameSize, - ARM_WiFi_SocketCreate, - ARM_WiFi_SocketBind, - ARM_WiFi_SocketListen, - ARM_WiFi_SocketAccept, - ARM_WiFi_SocketConnect, - ARM_WiFi_SocketRecv, - ARM_WiFi_SocketRecvFrom, - ARM_WiFi_SocketSend, - ARM_WiFi_SocketSendTo, - ARM_WiFi_SocketGetSockName, - ARM_WiFi_SocketGetPeerName, - ARM_WiFi_SocketGetOpt, - ARM_WiFi_SocketSetOpt, - ARM_WiFi_SocketClose, - ARM_WiFi_SocketGetHostByName, - ARM_WiFi_Ping -}; diff --git a/external/CMSIS_5/CMSIS/Driver/Include/Driver_CAN.h b/external/CMSIS_5/CMSIS/Driver/Include/Driver_CAN.h deleted file mode 100644 index ea51851..0000000 --- a/external/CMSIS_5/CMSIS/Driver/Include/Driver_CAN.h +++ /dev/null @@ -1,388 +0,0 @@ -/* - * Copyright (c) 2015-2020 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * $Date: 31. March 2020 - * $Revision: V1.3 - * - * Project: CAN (Controller Area Network) Driver definitions - */ - -/* History: - * Version 1.3 - * Removed volatile from ARM_CAN_STATUS - * Version 1.2 - * Added ARM_CAN_UNIT_STATE_BUS_OFF unit state and - * ARM_CAN_EVENT_UNIT_INACTIVE unit event - * Version 1.1 - * ARM_CAN_STATUS made volatile - * Version 1.0 - * Initial release - */ - -#ifndef DRIVER_CAN_H_ -#define DRIVER_CAN_H_ - -#ifdef __cplusplus -extern "C" -{ -#endif - -#include "Driver_Common.h" - -#define ARM_CAN_API_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(1,3) /* API version */ - - -#define _ARM_Driver_CAN_(n) Driver_CAN##n -#define ARM_Driver_CAN_(n) _ARM_Driver_CAN_(n) - - -/****** CAN Bitrate selection codes *****/ -typedef enum _ARM_CAN_BITRATE_SELECT { - ARM_CAN_BITRATE_NOMINAL, ///< Select nominal (flexible data-rate arbitration) bitrate - ARM_CAN_BITRATE_FD_DATA ///< Select flexible data-rate data bitrate -} ARM_CAN_BITRATE_SELECT; - -/****** CAN Bit Propagation Segment codes (PROP_SEG) *****/ -#define ARM_CAN_BIT_PROP_SEG_Pos 0UL ///< bits 7..0 -#define ARM_CAN_BIT_PROP_SEG_Msk (0xFFUL << ARM_CAN_BIT_PROP_SEG_Pos) -#define ARM_CAN_BIT_PROP_SEG(x) (((x) << ARM_CAN_BIT_PROP_SEG_Pos) & ARM_CAN_BIT_PROP_SEG_Msk) - -/****** CAN Bit Phase Buffer Segment 1 (PHASE_SEG1) codes *****/ -#define ARM_CAN_BIT_PHASE_SEG1_Pos 8UL ///< bits 15..8 -#define ARM_CAN_BIT_PHASE_SEG1_Msk (0xFFUL << ARM_CAN_BIT_PHASE_SEG1_Pos) -#define ARM_CAN_BIT_PHASE_SEG1(x) (((x) << ARM_CAN_BIT_PHASE_SEG1_Pos) & ARM_CAN_BIT_PHASE_SEG1_Msk) - -/****** CAN Bit Phase Buffer Segment 2 (PHASE_SEG2) codes *****/ -#define ARM_CAN_BIT_PHASE_SEG2_Pos 16UL ///< bits 23..16 -#define ARM_CAN_BIT_PHASE_SEG2_Msk (0xFFUL << ARM_CAN_BIT_PHASE_SEG2_Pos) -#define ARM_CAN_BIT_PHASE_SEG2(x) (((x) << ARM_CAN_BIT_PHASE_SEG2_Pos) & ARM_CAN_BIT_PHASE_SEG2_Msk) - -/****** CAN Bit (Re)Synchronization Jump Width Segment (SJW) *****/ -#define ARM_CAN_BIT_SJW_Pos 24UL ///< bits 28..24 -#define ARM_CAN_BIT_SJW_Msk (0x1FUL << ARM_CAN_BIT_SJW_Pos) -#define ARM_CAN_BIT_SJW(x) (((x) << ARM_CAN_BIT_SJW_Pos) & ARM_CAN_BIT_SJW_Msk) - -/****** CAN Mode codes *****/ -typedef enum _ARM_CAN_MODE { - ARM_CAN_MODE_INITIALIZATION, ///< Initialization mode - ARM_CAN_MODE_NORMAL, ///< Normal operation mode - ARM_CAN_MODE_RESTRICTED, ///< Restricted operation mode - ARM_CAN_MODE_MONITOR, ///< Bus monitoring mode - ARM_CAN_MODE_LOOPBACK_INTERNAL, ///< Loopback internal mode - ARM_CAN_MODE_LOOPBACK_EXTERNAL ///< Loopback external mode -} ARM_CAN_MODE; - -/****** CAN Filter Operation codes *****/ -typedef enum _ARM_CAN_FILTER_OPERATION { - ARM_CAN_FILTER_ID_EXACT_ADD, ///< Add exact id filter - ARM_CAN_FILTER_ID_EXACT_REMOVE, ///< Remove exact id filter - ARM_CAN_FILTER_ID_RANGE_ADD, ///< Add range id filter - ARM_CAN_FILTER_ID_RANGE_REMOVE, ///< Remove range id filter - ARM_CAN_FILTER_ID_MASKABLE_ADD, ///< Add maskable id filter - ARM_CAN_FILTER_ID_MASKABLE_REMOVE ///< Remove maskable id filter -} ARM_CAN_FILTER_OPERATION; - -/****** CAN Object Configuration codes *****/ -typedef enum _ARM_CAN_OBJ_CONFIG { - ARM_CAN_OBJ_INACTIVE, ///< CAN object inactive - ARM_CAN_OBJ_TX, ///< CAN transmit object - ARM_CAN_OBJ_RX, ///< CAN receive object - ARM_CAN_OBJ_RX_RTR_TX_DATA, ///< CAN object that on RTR reception automatically transmits Data Frame - ARM_CAN_OBJ_TX_RTR_RX_DATA ///< CAN object that transmits RTR and automatically receives Data Frame -} ARM_CAN_OBJ_CONFIG; - -/** -\brief CAN Object Capabilities -*/ -typedef struct _ARM_CAN_OBJ_CAPABILITIES { - uint32_t tx : 1; ///< Object supports transmission - uint32_t rx : 1; ///< Object supports reception - uint32_t rx_rtr_tx_data : 1; ///< Object supports RTR reception and automatic Data Frame transmission - uint32_t tx_rtr_rx_data : 1; ///< Object supports RTR transmission and automatic Data Frame reception - uint32_t multiple_filters : 1; ///< Object allows assignment of multiple filters to it - uint32_t exact_filtering : 1; ///< Object supports exact identifier filtering - uint32_t range_filtering : 1; ///< Object supports range identifier filtering - uint32_t mask_filtering : 1; ///< Object supports mask identifier filtering - uint32_t message_depth : 8; ///< Number of messages buffers (FIFO) for that object - uint32_t reserved : 16; ///< Reserved (must be zero) -} ARM_CAN_OBJ_CAPABILITIES; - -/****** CAN Control Function Operation codes *****/ -#define ARM_CAN_CONTROL_Pos 0UL -#define ARM_CAN_CONTROL_Msk (0xFFUL << ARM_CAN_CONTROL_Pos) -#define ARM_CAN_SET_FD_MODE (1UL << ARM_CAN_CONTROL_Pos) ///< Set FD operation mode; arg: 0 = disable, 1 = enable -#define ARM_CAN_ABORT_MESSAGE_SEND (2UL << ARM_CAN_CONTROL_Pos) ///< Abort sending of CAN message; arg = object -#define ARM_CAN_CONTROL_RETRANSMISSION (3UL << ARM_CAN_CONTROL_Pos) ///< Enable/disable automatic retransmission; arg: 0 = disable, 1 = enable (default state) -#define ARM_CAN_SET_TRANSCEIVER_DELAY (4UL << ARM_CAN_CONTROL_Pos) ///< Set transceiver delay; arg = delay in time quanta - -/****** CAN ID Frame Format codes *****/ -#define ARM_CAN_ID_IDE_Pos 31UL -#define ARM_CAN_ID_IDE_Msk (1UL << ARM_CAN_ID_IDE_Pos) - -/****** CAN Identifier encoding *****/ -#define ARM_CAN_STANDARD_ID(id) (id & 0x000007FFUL) ///< CAN identifier in standard format (11-bits) -#define ARM_CAN_EXTENDED_ID(id) ((id & 0x1FFFFFFFUL) | ARM_CAN_ID_IDE_Msk)///< CAN identifier in extended format (29-bits) - -/** -\brief CAN Message Information -*/ -typedef struct _ARM_CAN_MSG_INFO { - uint32_t id; ///< CAN identifier with frame format specifier (bit 31) - uint32_t rtr : 1; ///< Remote transmission request frame - uint32_t edl : 1; ///< Flexible data-rate format extended data length - uint32_t brs : 1; ///< Flexible data-rate format with bitrate switch - uint32_t esi : 1; ///< Flexible data-rate format error state indicator - uint32_t dlc : 4; ///< Data length code - uint32_t reserved : 24; -} ARM_CAN_MSG_INFO; - -/****** CAN specific error code *****/ -#define ARM_CAN_INVALID_BITRATE_SELECT (ARM_DRIVER_ERROR_SPECIFIC - 1) ///< Bitrate selection not supported -#define ARM_CAN_INVALID_BITRATE (ARM_DRIVER_ERROR_SPECIFIC - 2) ///< Requested bitrate not supported -#define ARM_CAN_INVALID_BIT_PROP_SEG (ARM_DRIVER_ERROR_SPECIFIC - 3) ///< Propagation segment value not supported -#define ARM_CAN_INVALID_BIT_PHASE_SEG1 (ARM_DRIVER_ERROR_SPECIFIC - 4) ///< Phase segment 1 value not supported -#define ARM_CAN_INVALID_BIT_PHASE_SEG2 (ARM_DRIVER_ERROR_SPECIFIC - 5) ///< Phase segment 2 value not supported -#define ARM_CAN_INVALID_BIT_SJW (ARM_DRIVER_ERROR_SPECIFIC - 6) ///< SJW value not supported -#define ARM_CAN_NO_MESSAGE_AVAILABLE (ARM_DRIVER_ERROR_SPECIFIC - 7) ///< Message is not available - -/****** CAN Status codes *****/ -#define ARM_CAN_UNIT_STATE_INACTIVE (0U) ///< Unit state: Not active on bus (initialization) -#define ARM_CAN_UNIT_STATE_ACTIVE (1U) ///< Unit state: Active on bus (can generate active error frame) -#define ARM_CAN_UNIT_STATE_PASSIVE (2U) ///< Unit state: Error passive (can not generate active error frame) -#define ARM_CAN_UNIT_STATE_BUS_OFF (3U) ///< Unit state: Bus-off (can recover to active state) -#define ARM_CAN_LEC_NO_ERROR (0U) ///< Last error code: No error -#define ARM_CAN_LEC_BIT_ERROR (1U) ///< Last error code: Bit error -#define ARM_CAN_LEC_STUFF_ERROR (2U) ///< Last error code: Bit stuffing error -#define ARM_CAN_LEC_CRC_ERROR (3U) ///< Last error code: CRC error -#define ARM_CAN_LEC_FORM_ERROR (4U) ///< Last error code: Illegal fixed-form bit -#define ARM_CAN_LEC_ACK_ERROR (5U) ///< Last error code: Acknowledgment error - -/** -\brief CAN Status -*/ -typedef struct _ARM_CAN_STATUS { - uint32_t unit_state : 4; ///< Unit bus state - uint32_t last_error_code : 4; ///< Last error code - uint32_t tx_error_count : 8; ///< Transmitter error count - uint32_t rx_error_count : 8; ///< Receiver error count - uint32_t reserved : 8; -} ARM_CAN_STATUS; - - -/****** CAN Unit Event *****/ -#define ARM_CAN_EVENT_UNIT_INACTIVE (0U) ///< Unit entered Inactive state -#define ARM_CAN_EVENT_UNIT_ACTIVE (1U) ///< Unit entered Error Active state -#define ARM_CAN_EVENT_UNIT_WARNING (2U) ///< Unit entered Error Warning state (one or both error counters >= 96) -#define ARM_CAN_EVENT_UNIT_PASSIVE (3U) ///< Unit entered Error Passive state -#define ARM_CAN_EVENT_UNIT_BUS_OFF (4U) ///< Unit entered Bus-off state - -/****** CAN Send/Receive Event *****/ -#define ARM_CAN_EVENT_SEND_COMPLETE (1UL << 0) ///< Send complete -#define ARM_CAN_EVENT_RECEIVE (1UL << 1) ///< Message received -#define ARM_CAN_EVENT_RECEIVE_OVERRUN (1UL << 2) ///< Received message overrun - - -// Function documentation -/** - \fn ARM_DRIVER_VERSION ARM_CAN_GetVersion (void) - \brief Get driver version. - \return \ref ARM_DRIVER_VERSION - - \fn ARM_CAN_CAPABILITIES ARM_CAN_GetCapabilities (void) - \brief Get driver capabilities. - \return \ref ARM_CAN_CAPABILITIES - - \fn int32_t ARM_CAN_Initialize (ARM_CAN_SignalUnitEvent_t cb_unit_event, - ARM_CAN_SignalObjectEvent_t cb_object_event) - \brief Initialize CAN interface and register signal (callback) functions. - \param[in] cb_unit_event Pointer to \ref ARM_CAN_SignalUnitEvent callback function - \param[in] cb_object_event Pointer to \ref ARM_CAN_SignalObjectEvent callback function - \return \ref execution_status - - \fn int32_t ARM_CAN_Uninitialize (void) - \brief De-initialize CAN interface. - \return \ref execution_status - - \fn int32_t ARM_CAN_PowerControl (ARM_POWER_STATE state) - \brief Control CAN interface power. - \param[in] state Power state - - \ref ARM_POWER_OFF : power off: no operation possible - - \ref ARM_POWER_LOW : low power mode: retain state, detect and signal wake-up events - - \ref ARM_POWER_FULL : power on: full operation at maximum performance - \return \ref execution_status - - \fn uint32_t ARM_CAN_GetClock (void) - \brief Retrieve CAN base clock frequency. - \return base clock frequency - - \fn int32_t ARM_CAN_SetBitrate (ARM_CAN_BITRATE_SELECT select, uint32_t bitrate, uint32_t bit_segments) - \brief Set bitrate for CAN interface. - \param[in] select Bitrate selection - - \ref ARM_CAN_BITRATE_NOMINAL : nominal (flexible data-rate arbitration) bitrate - - \ref ARM_CAN_BITRATE_FD_DATA : flexible data-rate data bitrate - \param[in] bitrate Bitrate - \param[in] bit_segments Bit segments settings - - \ref ARM_CAN_BIT_PROP_SEG(x) : number of time quanta for propagation time segment - - \ref ARM_CAN_BIT_PHASE_SEG1(x) : number of time quanta for phase buffer segment 1 - - \ref ARM_CAN_BIT_PHASE_SEG2(x) : number of time quanta for phase buffer Segment 2 - - \ref ARM_CAN_BIT_SJW(x) : number of time quanta for (re-)synchronization jump width - \return \ref execution_status - - \fn int32_t ARM_CAN_SetMode (ARM_CAN_MODE mode) - \brief Set operating mode for CAN interface. - \param[in] mode Operating mode - - \ref ARM_CAN_MODE_INITIALIZATION : initialization mode - - \ref ARM_CAN_MODE_NORMAL : normal operation mode - - \ref ARM_CAN_MODE_RESTRICTED : restricted operation mode - - \ref ARM_CAN_MODE_MONITOR : bus monitoring mode - - \ref ARM_CAN_MODE_LOOPBACK_INTERNAL : loopback internal mode - - \ref ARM_CAN_MODE_LOOPBACK_EXTERNAL : loopback external mode - \return \ref execution_status - - \fn ARM_CAN_OBJ_CAPABILITIES ARM_CAN_ObjectGetCapabilities (uint32_t obj_idx) - \brief Retrieve capabilities of an object. - \param[in] obj_idx Object index - \return \ref ARM_CAN_OBJ_CAPABILITIES - - \fn int32_t ARM_CAN_ObjectSetFilter (uint32_t obj_idx, ARM_CAN_FILTER_OPERATION operation, uint32_t id, uint32_t arg) - \brief Add or remove filter for message reception. - \param[in] obj_idx Object index of object that filter should be or is assigned to - \param[in] operation Operation on filter - - \ref ARM_CAN_FILTER_ID_EXACT_ADD : add exact id filter - - \ref ARM_CAN_FILTER_ID_EXACT_REMOVE : remove exact id filter - - \ref ARM_CAN_FILTER_ID_RANGE_ADD : add range id filter - - \ref ARM_CAN_FILTER_ID_RANGE_REMOVE : remove range id filter - - \ref ARM_CAN_FILTER_ID_MASKABLE_ADD : add maskable id filter - - \ref ARM_CAN_FILTER_ID_MASKABLE_REMOVE : remove maskable id filter - \param[in] id ID or start of ID range (depending on filter type) - \param[in] arg Mask or end of ID range (depending on filter type) - \return \ref execution_status - - \fn int32_t ARM_CAN_ObjectConfigure (uint32_t obj_idx, ARM_CAN_OBJ_CONFIG obj_cfg) - \brief Configure object. - \param[in] obj_idx Object index - \param[in] obj_cfg Object configuration state - - \ref ARM_CAN_OBJ_INACTIVE : deactivate object - - \ref ARM_CAN_OBJ_RX : configure object for reception - - \ref ARM_CAN_OBJ_TX : configure object for transmission - - \ref ARM_CAN_OBJ_RX_RTR_TX_DATA : configure object that on RTR reception automatically transmits Data Frame - - \ref ARM_CAN_OBJ_TX_RTR_RX_DATA : configure object that transmits RTR and automatically receives Data Frame - \return \ref execution_status - - \fn int32_t ARM_CAN_MessageSend (uint32_t obj_idx, ARM_CAN_MSG_INFO *msg_info, const uint8_t *data, uint8_t size) - \brief Send message on CAN bus. - \param[in] obj_idx Object index - \param[in] msg_info Pointer to CAN message information - \param[in] data Pointer to data buffer - \param[in] size Number of data bytes to send - \return value >= 0 number of data bytes accepted to send - \return value < 0 \ref execution_status - - \fn int32_t ARM_CAN_MessageRead (uint32_t obj_idx, ARM_CAN_MSG_INFO *msg_info, uint8_t *data, uint8_t size) - \brief Read message received on CAN bus. - \param[in] obj_idx Object index - \param[out] msg_info Pointer to read CAN message information - \param[out] data Pointer to data buffer for read data - \param[in] size Maximum number of data bytes to read - \return value >= 0 number of data bytes read - \return value < 0 \ref execution_status - - \fn int32_t ARM_CAN_Control (uint32_t control, uint32_t arg) - \brief Control CAN interface. - \param[in] control Operation - - \ref ARM_CAN_SET_FD_MODE : set FD operation mode - - \ref ARM_CAN_ABORT_MESSAGE_SEND : abort sending of CAN message - - \ref ARM_CAN_CONTROL_RETRANSMISSION : enable/disable automatic retransmission - - \ref ARM_CAN_SET_TRANSCEIVER_DELAY : set transceiver delay - \param[in] arg Argument of operation - \return \ref execution_status - - \fn ARM_CAN_STATUS ARM_CAN_GetStatus (void) - \brief Get CAN status. - \return CAN status \ref ARM_CAN_STATUS - - \fn void ARM_CAN_SignalUnitEvent (uint32_t event) - \brief Signal CAN unit event. - \param[in] event \ref CAN_unit_events - \return none - - \fn void ARM_CAN_SignalObjectEvent (uint32_t obj_idx, uint32_t event) - \brief Signal CAN object event. - \param[in] obj_idx Object index - \param[in] event \ref CAN_events - \return none -*/ - -typedef void (*ARM_CAN_SignalUnitEvent_t) (uint32_t event); ///< Pointer to \ref ARM_CAN_SignalUnitEvent : Signal CAN Unit Event. -typedef void (*ARM_CAN_SignalObjectEvent_t) (uint32_t obj_idx, uint32_t event); ///< Pointer to \ref ARM_CAN_SignalObjectEvent : Signal CAN Object Event. - - -/** -\brief CAN Device Driver Capabilities. -*/ -typedef struct _ARM_CAN_CAPABILITIES { - uint32_t num_objects : 8; ///< Number of \ref can_objects available - uint32_t reentrant_operation : 1; ///< Support for reentrant calls to \ref ARM_CAN_MessageSend, \ref ARM_CAN_MessageRead, \ref ARM_CAN_ObjectConfigure and abort message sending used by \ref ARM_CAN_Control - uint32_t fd_mode : 1; ///< Support for CAN with flexible data-rate mode (CAN_FD) (set by \ref ARM_CAN_Control) - uint32_t restricted_mode : 1; ///< Support for restricted operation mode (set by \ref ARM_CAN_SetMode) - uint32_t monitor_mode : 1; ///< Support for bus monitoring mode (set by \ref ARM_CAN_SetMode) - uint32_t internal_loopback : 1; ///< Support for internal loopback mode (set by \ref ARM_CAN_SetMode) - uint32_t external_loopback : 1; ///< Support for external loopback mode (set by \ref ARM_CAN_SetMode) - uint32_t reserved : 18; ///< Reserved (must be zero) -} ARM_CAN_CAPABILITIES; - - -/** -\brief Access structure of the CAN Driver. -*/ -typedef struct _ARM_DRIVER_CAN { - ARM_DRIVER_VERSION (*GetVersion) (void); ///< Pointer to \ref ARM_CAN_GetVersion : Get driver version. - ARM_CAN_CAPABILITIES (*GetCapabilities) (void); ///< Pointer to \ref ARM_CAN_GetCapabilities : Get driver capabilities. - int32_t (*Initialize) (ARM_CAN_SignalUnitEvent_t cb_unit_event, - ARM_CAN_SignalObjectEvent_t cb_object_event); ///< Pointer to \ref ARM_CAN_Initialize : Initialize CAN interface. - int32_t (*Uninitialize) (void); ///< Pointer to \ref ARM_CAN_Uninitialize : De-initialize CAN interface. - int32_t (*PowerControl) (ARM_POWER_STATE state); ///< Pointer to \ref ARM_CAN_PowerControl : Control CAN interface power. - uint32_t (*GetClock) (void); ///< Pointer to \ref ARM_CAN_GetClock : Retrieve CAN base clock frequency. - int32_t (*SetBitrate) (ARM_CAN_BITRATE_SELECT select, - uint32_t bitrate, - uint32_t bit_segments); ///< Pointer to \ref ARM_CAN_SetBitrate : Set bitrate for CAN interface. - int32_t (*SetMode) (ARM_CAN_MODE mode); ///< Pointer to \ref ARM_CAN_SetMode : Set operating mode for CAN interface. - ARM_CAN_OBJ_CAPABILITIES (*ObjectGetCapabilities) (uint32_t obj_idx); ///< Pointer to \ref ARM_CAN_ObjectGetCapabilities : Retrieve capabilities of an object. - int32_t (*ObjectSetFilter) (uint32_t obj_idx, - ARM_CAN_FILTER_OPERATION operation, - uint32_t id, - uint32_t arg); ///< Pointer to \ref ARM_CAN_ObjectSetFilter : Add or remove filter for message reception. - int32_t (*ObjectConfigure) (uint32_t obj_idx, - ARM_CAN_OBJ_CONFIG obj_cfg); ///< Pointer to \ref ARM_CAN_ObjectConfigure : Configure object. - int32_t (*MessageSend) (uint32_t obj_idx, - ARM_CAN_MSG_INFO *msg_info, - const uint8_t *data, - uint8_t size); ///< Pointer to \ref ARM_CAN_MessageSend : Send message on CAN bus. - int32_t (*MessageRead) (uint32_t obj_idx, - ARM_CAN_MSG_INFO *msg_info, - uint8_t *data, - uint8_t size); ///< Pointer to \ref ARM_CAN_MessageRead : Read message received on CAN bus. - int32_t (*Control) (uint32_t control, - uint32_t arg); ///< Pointer to \ref ARM_CAN_Control : Control CAN interface. - ARM_CAN_STATUS (*GetStatus) (void); ///< Pointer to \ref ARM_CAN_GetStatus : Get CAN status. -} const ARM_DRIVER_CAN; - -#ifdef __cplusplus -} -#endif - -#endif /* DRIVER_CAN_H_ */ diff --git a/external/CMSIS_5/CMSIS/Driver/Include/Driver_Common.h b/external/CMSIS_5/CMSIS/Driver/Include/Driver_Common.h deleted file mode 100644 index 59d5b75..0000000 --- a/external/CMSIS_5/CMSIS/Driver/Include/Driver_Common.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright (c) 2013-2017 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * $Date: 2. Feb 2017 - * $Revision: V2.0 - * - * Project: Common Driver definitions - */ - -/* History: - * Version 2.0 - * Changed prefix ARM_DRV -> ARM_DRIVER - * Added General return codes definitions - * Version 1.10 - * Namespace prefix ARM_ added - * Version 1.00 - * Initial release - */ - -#ifndef DRIVER_COMMON_H_ -#define DRIVER_COMMON_H_ - -#include -#include -#include - -#define ARM_DRIVER_VERSION_MAJOR_MINOR(major,minor) (((major) << 8) | (minor)) - -/** -\brief Driver Version -*/ -typedef struct _ARM_DRIVER_VERSION { - uint16_t api; ///< API version - uint16_t drv; ///< Driver version -} ARM_DRIVER_VERSION; - -/* General return codes */ -#define ARM_DRIVER_OK 0 ///< Operation succeeded -#define ARM_DRIVER_ERROR -1 ///< Unspecified error -#define ARM_DRIVER_ERROR_BUSY -2 ///< Driver is busy -#define ARM_DRIVER_ERROR_TIMEOUT -3 ///< Timeout occurred -#define ARM_DRIVER_ERROR_UNSUPPORTED -4 ///< Operation not supported -#define ARM_DRIVER_ERROR_PARAMETER -5 ///< Parameter error -#define ARM_DRIVER_ERROR_SPECIFIC -6 ///< Start of driver specific errors - -/** -\brief General power states -*/ -typedef enum _ARM_POWER_STATE { - ARM_POWER_OFF, ///< Power off: no operation possible - ARM_POWER_LOW, ///< Low Power mode: retain state, detect and signal wake-up events - ARM_POWER_FULL ///< Power on: full operation at maximum performance -} ARM_POWER_STATE; - -#endif /* DRIVER_COMMON_H_ */ diff --git a/external/CMSIS_5/CMSIS/Driver/Include/Driver_ETH.h b/external/CMSIS_5/CMSIS/Driver/Include/Driver_ETH.h deleted file mode 100644 index d7bfaf4..0000000 --- a/external/CMSIS_5/CMSIS/Driver/Include/Driver_ETH.h +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright (c) 2013-2020 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * $Date: 24. January 2020 - * $Revision: V2.2 - * - * Project: Ethernet PHY and MAC Driver common definitions - */ - -/* History: - * Version 2.2 - * Removed volatile from ARM_ETH_LINK_INFO - * Version 2.1 - * ARM_ETH_LINK_INFO made volatile - * Version 2.0 - * Removed ARM_ETH_STATUS enumerator - * Removed ARM_ETH_MODE enumerator - * Version 1.10 - * Namespace prefix ARM_ added - * Version 1.00 - * Initial release - */ - -#ifndef DRIVER_ETH_H_ -#define DRIVER_ETH_H_ - -#include "Driver_Common.h" - -/** -\brief Ethernet Media Interface type -*/ -#define ARM_ETH_INTERFACE_MII (0U) ///< Media Independent Interface (MII) -#define ARM_ETH_INTERFACE_RMII (1U) ///< Reduced Media Independent Interface (RMII) -#define ARM_ETH_INTERFACE_SMII (2U) ///< Serial Media Independent Interface (SMII) - -/** -\brief Ethernet link speed -*/ -#define ARM_ETH_SPEED_10M (0U) ///< 10 Mbps link speed -#define ARM_ETH_SPEED_100M (1U) ///< 100 Mbps link speed -#define ARM_ETH_SPEED_1G (2U) ///< 1 Gpbs link speed - -/** -\brief Ethernet duplex mode -*/ -#define ARM_ETH_DUPLEX_HALF (0U) ///< Half duplex link -#define ARM_ETH_DUPLEX_FULL (1U) ///< Full duplex link - -/** -\brief Ethernet link state -*/ -typedef enum _ARM_ETH_LINK_STATE { - ARM_ETH_LINK_DOWN, ///< Link is down - ARM_ETH_LINK_UP ///< Link is up -} ARM_ETH_LINK_STATE; - -/** -\brief Ethernet link information -*/ -typedef struct _ARM_ETH_LINK_INFO { - uint32_t speed : 2; ///< Link speed: 0= 10 MBit, 1= 100 MBit, 2= 1 GBit - uint32_t duplex : 1; ///< Duplex mode: 0= Half, 1= Full - uint32_t reserved : 29; -} ARM_ETH_LINK_INFO; - -/** -\brief Ethernet MAC Address -*/ -typedef struct _ARM_ETH_MAC_ADDR { - uint8_t b[6]; ///< MAC Address (6 bytes), MSB first -} ARM_ETH_MAC_ADDR; - -#endif /* DRIVER_ETH_H_ */ diff --git a/external/CMSIS_5/CMSIS/Driver/Include/Driver_ETH_MAC.h b/external/CMSIS_5/CMSIS/Driver/Include/Driver_ETH_MAC.h deleted file mode 100644 index 1dcc94c..0000000 --- a/external/CMSIS_5/CMSIS/Driver/Include/Driver_ETH_MAC.h +++ /dev/null @@ -1,310 +0,0 @@ -/* - * Copyright (c) 2013-2020 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * $Date: 24. January 2020 - * $Revision: V2.2 - * - * Project: Ethernet MAC (Media Access Control) Driver definitions - */ - -/* History: - * Version 2.2 - * Removed volatile from ARM_ETH_LINK_INFO - * Version 2.1 - * Added ARM_ETH_MAC_SLEEP Control - * Version 2.0 - * Changed MAC Address handling: - * moved from ARM_ETH_MAC_Initialize - * to new functions ARM_ETH_MAC_GetMacAddress and ARM_ETH_MAC_SetMacAddress - * Replaced ARM_ETH_MAC_SetMulticastAddr function with ARM_ETH_MAC_SetAddressFilter - * Extended ARM_ETH_MAC_SendFrame function with flags - * Added ARM_ETH_MAC_Control function: - * more control options (Broadcast, Multicast, Checksum offload, VLAN, ...) - * replaces ARM_ETH_MAC_SetMode - * replaces ARM_ETH_MAC_EnableTx, ARM_ETH_MAC_EnableRx - * Added optional event on transmitted frame - * Added support for PTP (Precision Time Protocol) through new functions: - * ARM_ETH_MAC_ControlTimer - * ARM_ETH_MAC_GetRxFrameTime - * ARM_ETH_MAC_GetTxFrameTime - * Changed prefix ARM_DRV -> ARM_DRIVER - * Changed return values of some functions to int32_t - * Version 1.10 - * Name space prefix ARM_ added - * Version 1.01 - * Renamed capabilities items for checksum offload - * Version 1.00 - * Initial release - */ - -#ifndef DRIVER_ETH_MAC_H_ -#define DRIVER_ETH_MAC_H_ - -#ifdef __cplusplus -extern "C" -{ -#endif - -#include "Driver_ETH.h" - -#define ARM_ETH_MAC_API_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(2,2) /* API version */ - - -#define _ARM_Driver_ETH_MAC_(n) Driver_ETH_MAC##n -#define ARM_Driver_ETH_MAC_(n) _ARM_Driver_ETH_MAC_(n) - - -/****** Ethernet MAC Control Codes *****/ - -#define ARM_ETH_MAC_CONFIGURE (0x01UL) ///< Configure MAC; arg = configuration -#define ARM_ETH_MAC_CONTROL_TX (0x02UL) ///< Transmitter; arg: 0=disabled (default), 1=enabled -#define ARM_ETH_MAC_CONTROL_RX (0x03UL) ///< Receiver; arg: 0=disabled (default), 1=enabled -#define ARM_ETH_MAC_FLUSH (0x04UL) ///< Flush buffer; arg = ARM_ETH_MAC_FLUSH_... -#define ARM_ETH_MAC_SLEEP (0x05UL) ///< Sleep mode; arg: 1=enter and wait for Magic packet, 0=exit -#define ARM_ETH_MAC_VLAN_FILTER (0x06UL) ///< VLAN Filter for received frames; arg15..0: VLAN Tag; arg16: optional ARM_ETH_MAC_VLAN_FILTER_ID_ONLY; 0=disabled (default) - -/*----- Ethernet MAC Configuration -----*/ -#define ARM_ETH_MAC_SPEED_Pos 0 -#define ARM_ETH_MAC_SPEED_Msk (3UL << ARM_ETH_MAC_SPEED_Pos) -#define ARM_ETH_MAC_SPEED_10M (ARM_ETH_SPEED_10M << ARM_ETH_MAC_SPEED_Pos) ///< 10 Mbps link speed -#define ARM_ETH_MAC_SPEED_100M (ARM_ETH_SPEED_100M << ARM_ETH_MAC_SPEED_Pos) ///< 100 Mbps link speed -#define ARM_ETH_MAC_SPEED_1G (ARM_ETH_SPEED_1G << ARM_ETH_MAC_SPEED_Pos) ///< 1 Gpbs link speed -#define ARM_ETH_MAC_DUPLEX_Pos 2 -#define ARM_ETH_MAC_DUPLEX_Msk (1UL << ARM_ETH_MAC_DUPLEX_Pos) -#define ARM_ETH_MAC_DUPLEX_HALF (ARM_ETH_DUPLEX_HALF << ARM_ETH_MAC_DUPLEX_Pos) ///< Half duplex link -#define ARM_ETH_MAC_DUPLEX_FULL (ARM_ETH_DUPLEX_FULL << ARM_ETH_MAC_DUPLEX_Pos) ///< Full duplex link -#define ARM_ETH_MAC_LOOPBACK (1UL << 4) ///< Loop-back test mode -#define ARM_ETH_MAC_CHECKSUM_OFFLOAD_RX (1UL << 5) ///< Receiver Checksum offload -#define ARM_ETH_MAC_CHECKSUM_OFFLOAD_TX (1UL << 6) ///< Transmitter Checksum offload -#define ARM_ETH_MAC_ADDRESS_BROADCAST (1UL << 7) ///< Accept frames with Broadcast address -#define ARM_ETH_MAC_ADDRESS_MULTICAST (1UL << 8) ///< Accept frames with any Multicast address -#define ARM_ETH_MAC_ADDRESS_ALL (1UL << 9) ///< Accept frames with any address (Promiscuous Mode) - -/*----- Ethernet MAC Flush Flags -----*/ -#define ARM_ETH_MAC_FLUSH_RX (1UL << 0) ///< Flush Receive buffer -#define ARM_ETH_MAC_FLUSH_TX (1UL << 1) ///< Flush Transmit buffer - -/*----- Ethernet MAC VLAN Filter Flag -----*/ -#define ARM_ETH_MAC_VLAN_FILTER_ID_ONLY (1UL << 16) ///< Compare only the VLAN Identifier (12-bit) - - -/****** Ethernet MAC Frame Transmit Flags *****/ -#define ARM_ETH_MAC_TX_FRAME_FRAGMENT (1UL << 0) ///< Indicate frame fragment -#define ARM_ETH_MAC_TX_FRAME_EVENT (1UL << 1) ///< Generate event when frame is transmitted -#define ARM_ETH_MAC_TX_FRAME_TIMESTAMP (1UL << 2) ///< Capture frame time stamp - - -/****** Ethernet MAC Timer Control Codes *****/ -#define ARM_ETH_MAC_TIMER_GET_TIME (0x01UL) ///< Get current time -#define ARM_ETH_MAC_TIMER_SET_TIME (0x02UL) ///< Set new time -#define ARM_ETH_MAC_TIMER_INC_TIME (0x03UL) ///< Increment current time -#define ARM_ETH_MAC_TIMER_DEC_TIME (0x04UL) ///< Decrement current time -#define ARM_ETH_MAC_TIMER_SET_ALARM (0x05UL) ///< Set alarm time -#define ARM_ETH_MAC_TIMER_ADJUST_CLOCK (0x06UL) ///< Adjust clock frequency; time->ns: correction factor * 2^31 - - -/** -\brief Ethernet MAC Time -*/ -typedef struct _ARM_ETH_MAC_TIME { - uint32_t ns; ///< Nano seconds - uint32_t sec; ///< Seconds -} ARM_ETH_MAC_TIME; - - -/****** Ethernet MAC Event *****/ -#define ARM_ETH_MAC_EVENT_RX_FRAME (1UL << 0) ///< Frame Received -#define ARM_ETH_MAC_EVENT_TX_FRAME (1UL << 1) ///< Frame Transmitted -#define ARM_ETH_MAC_EVENT_WAKEUP (1UL << 2) ///< Wake-up (on Magic Packet) -#define ARM_ETH_MAC_EVENT_TIMER_ALARM (1UL << 3) ///< Timer Alarm - - -// Function documentation -/** - \fn ARM_DRIVER_VERSION ARM_ETH_MAC_GetVersion (void) - \brief Get driver version. - \return \ref ARM_DRIVER_VERSION -*/ -/** - \fn ARM_ETH_MAC_CAPABILITIES ARM_ETH_MAC_GetCapabilities (void) - \brief Get driver capabilities. - \return \ref ARM_ETH_MAC_CAPABILITIES -*/ -/** - \fn int32_t ARM_ETH_MAC_Initialize (ARM_ETH_MAC_SignalEvent_t cb_event) - \brief Initialize Ethernet MAC Device. - \param[in] cb_event Pointer to \ref ARM_ETH_MAC_SignalEvent - \return \ref execution_status -*/ -/** - \fn int32_t ARM_ETH_MAC_Uninitialize (void) - \brief De-initialize Ethernet MAC Device. - \return \ref execution_status -*/ -/** - \fn int32_t ARM_ETH_MAC_PowerControl (ARM_POWER_STATE state) - \brief Control Ethernet MAC Device Power. - \param[in] state Power state - \return \ref execution_status -*/ -/** - \fn int32_t ARM_ETH_MAC_GetMacAddress (ARM_ETH_MAC_ADDR *ptr_addr) - \brief Get Ethernet MAC Address. - \param[in] ptr_addr Pointer to address - \return \ref execution_status -*/ -/** - \fn int32_t ARM_ETH_MAC_SetMacAddress (const ARM_ETH_MAC_ADDR *ptr_addr) - \brief Set Ethernet MAC Address. - \param[in] ptr_addr Pointer to address - \return \ref execution_status -*/ -/** - \fn int32_t ARM_ETH_MAC_SetAddressFilter (const ARM_ETH_MAC_ADDR *ptr_addr, - uint32_t num_addr) - \brief Configure Address Filter. - \param[in] ptr_addr Pointer to addresses - \param[in] num_addr Number of addresses to configure - \return \ref execution_status -*/ -/** - \fn int32_t ARM_ETH_MAC_SendFrame (const uint8_t *frame, uint32_t len, uint32_t flags) - \brief Send Ethernet frame. - \param[in] frame Pointer to frame buffer with data to send - \param[in] len Frame buffer length in bytes - \param[in] flags Frame transmit flags (see ARM_ETH_MAC_TX_FRAME_...) - \return \ref execution_status -*/ -/** - \fn int32_t ARM_ETH_MAC_ReadFrame (uint8_t *frame, uint32_t len) - \brief Read data of received Ethernet frame. - \param[in] frame Pointer to frame buffer for data to read into - \param[in] len Frame buffer length in bytes - \return number of data bytes read or execution status - - value >= 0: number of data bytes read - - value < 0: error occurred, value is execution status as defined with \ref execution_status -*/ -/** - \fn uint32_t ARM_ETH_MAC_GetRxFrameSize (void) - \brief Get size of received Ethernet frame. - \return number of bytes in received frame -*/ -/** - \fn int32_t ARM_ETH_MAC_GetRxFrameTime (ARM_ETH_MAC_TIME *time) - \brief Get time of received Ethernet frame. - \param[in] time Pointer to time structure for data to read into - \return \ref execution_status -*/ -/** - \fn int32_t ARM_ETH_MAC_GetTxFrameTime (ARM_ETH_MAC_TIME *time) - \brief Get time of transmitted Ethernet frame. - \param[in] time Pointer to time structure for data to read into - \return \ref execution_status -*/ -/** - \fn int32_t ARM_ETH_MAC_Control (uint32_t control, uint32_t arg) - \brief Control Ethernet Interface. - \param[in] control Operation - \param[in] arg Argument of operation (optional) - \return \ref execution_status -*/ -/** - \fn int32_t ARM_ETH_MAC_ControlTimer (uint32_t control, ARM_ETH_MAC_TIME *time) - \brief Control Precision Timer. - \param[in] control Operation - \param[in] time Pointer to time structure - \return \ref execution_status -*/ -/** - \fn int32_t ARM_ETH_MAC_PHY_Read (uint8_t phy_addr, uint8_t reg_addr, uint16_t *data) - \brief Read Ethernet PHY Register through Management Interface. - \param[in] phy_addr 5-bit device address - \param[in] reg_addr 5-bit register address - \param[out] data Pointer where the result is written to - \return \ref execution_status -*/ -/** - \fn int32_t ARM_ETH_MAC_PHY_Write (uint8_t phy_addr, uint8_t reg_addr, uint16_t data) - \brief Write Ethernet PHY Register through Management Interface. - \param[in] phy_addr 5-bit device address - \param[in] reg_addr 5-bit register address - \param[in] data 16-bit data to write - \return \ref execution_status -*/ - -/** - \fn void ARM_ETH_MAC_SignalEvent (uint32_t event) - \brief Callback function that signals a Ethernet Event. - \param[in] event event notification mask - \return none -*/ - -typedef void (*ARM_ETH_MAC_SignalEvent_t) (uint32_t event); ///< Pointer to \ref ARM_ETH_MAC_SignalEvent : Signal Ethernet Event. - - -/** -\brief Ethernet MAC Capabilities -*/ -typedef struct _ARM_ETH_MAC_CAPABILITIES { - uint32_t checksum_offload_rx_ip4 : 1; ///< 1 = IPv4 header checksum verified on receive - uint32_t checksum_offload_rx_ip6 : 1; ///< 1 = IPv6 checksum verification supported on receive - uint32_t checksum_offload_rx_udp : 1; ///< 1 = UDP payload checksum verified on receive - uint32_t checksum_offload_rx_tcp : 1; ///< 1 = TCP payload checksum verified on receive - uint32_t checksum_offload_rx_icmp : 1; ///< 1 = ICMP payload checksum verified on receive - uint32_t checksum_offload_tx_ip4 : 1; ///< 1 = IPv4 header checksum generated on transmit - uint32_t checksum_offload_tx_ip6 : 1; ///< 1 = IPv6 checksum generation supported on transmit - uint32_t checksum_offload_tx_udp : 1; ///< 1 = UDP payload checksum generated on transmit - uint32_t checksum_offload_tx_tcp : 1; ///< 1 = TCP payload checksum generated on transmit - uint32_t checksum_offload_tx_icmp : 1; ///< 1 = ICMP payload checksum generated on transmit - uint32_t media_interface : 2; ///< Ethernet Media Interface type - uint32_t mac_address : 1; ///< 1 = driver provides initial valid MAC address - uint32_t event_rx_frame : 1; ///< 1 = callback event \ref ARM_ETH_MAC_EVENT_RX_FRAME generated - uint32_t event_tx_frame : 1; ///< 1 = callback event \ref ARM_ETH_MAC_EVENT_TX_FRAME generated - uint32_t event_wakeup : 1; ///< 1 = wakeup event \ref ARM_ETH_MAC_EVENT_WAKEUP generated - uint32_t precision_timer : 1; ///< 1 = Precision Timer supported - uint32_t reserved : 15; ///< Reserved (must be zero) -} ARM_ETH_MAC_CAPABILITIES; - - -/** -\brief Access structure of the Ethernet MAC Driver -*/ -typedef struct _ARM_DRIVER_ETH_MAC { - ARM_DRIVER_VERSION (*GetVersion) (void); ///< Pointer to \ref ARM_ETH_MAC_GetVersion : Get driver version. - ARM_ETH_MAC_CAPABILITIES (*GetCapabilities) (void); ///< Pointer to \ref ARM_ETH_MAC_GetCapabilities : Get driver capabilities. - int32_t (*Initialize) (ARM_ETH_MAC_SignalEvent_t cb_event); ///< Pointer to \ref ARM_ETH_MAC_Initialize : Initialize Ethernet MAC Device. - int32_t (*Uninitialize) (void); ///< Pointer to \ref ARM_ETH_MAC_Uninitialize : De-initialize Ethernet MAC Device. - int32_t (*PowerControl) (ARM_POWER_STATE state); ///< Pointer to \ref ARM_ETH_MAC_PowerControl : Control Ethernet MAC Device Power. - int32_t (*GetMacAddress) ( ARM_ETH_MAC_ADDR *ptr_addr); ///< Pointer to \ref ARM_ETH_MAC_GetMacAddress : Get Ethernet MAC Address. - int32_t (*SetMacAddress) (const ARM_ETH_MAC_ADDR *ptr_addr); ///< Pointer to \ref ARM_ETH_MAC_SetMacAddress : Set Ethernet MAC Address. - int32_t (*SetAddressFilter)(const ARM_ETH_MAC_ADDR *ptr_addr, uint32_t num_addr); ///< Pointer to \ref ARM_ETH_MAC_SetAddressFilter : Configure Address Filter. - int32_t (*SendFrame) (const uint8_t *frame, uint32_t len, uint32_t flags); ///< Pointer to \ref ARM_ETH_MAC_SendFrame : Send Ethernet frame. - int32_t (*ReadFrame) ( uint8_t *frame, uint32_t len); ///< Pointer to \ref ARM_ETH_MAC_ReadFrame : Read data of received Ethernet frame. - uint32_t (*GetRxFrameSize) (void); ///< Pointer to \ref ARM_ETH_MAC_GetRxFrameSize : Get size of received Ethernet frame. - int32_t (*GetRxFrameTime) (ARM_ETH_MAC_TIME *time); ///< Pointer to \ref ARM_ETH_MAC_GetRxFrameTime : Get time of received Ethernet frame. - int32_t (*GetTxFrameTime) (ARM_ETH_MAC_TIME *time); ///< Pointer to \ref ARM_ETH_MAC_GetTxFrameTime : Get time of transmitted Ethernet frame. - int32_t (*ControlTimer) (uint32_t control, ARM_ETH_MAC_TIME *time); ///< Pointer to \ref ARM_ETH_MAC_ControlTimer : Control Precision Timer. - int32_t (*Control) (uint32_t control, uint32_t arg); ///< Pointer to \ref ARM_ETH_MAC_Control : Control Ethernet Interface. - int32_t (*PHY_Read) (uint8_t phy_addr, uint8_t reg_addr, uint16_t *data); ///< Pointer to \ref ARM_ETH_MAC_PHY_Read : Read Ethernet PHY Register through Management Interface. - int32_t (*PHY_Write) (uint8_t phy_addr, uint8_t reg_addr, uint16_t data); ///< Pointer to \ref ARM_ETH_MAC_PHY_Write : Write Ethernet PHY Register through Management Interface. -} const ARM_DRIVER_ETH_MAC; - -#ifdef __cplusplus -} -#endif - -#endif /* DRIVER_ETH_MAC_H_ */ diff --git a/external/CMSIS_5/CMSIS/Driver/Include/Driver_ETH_PHY.h b/external/CMSIS_5/CMSIS/Driver/Include/Driver_ETH_PHY.h deleted file mode 100644 index cb7c0f5..0000000 --- a/external/CMSIS_5/CMSIS/Driver/Include/Driver_ETH_PHY.h +++ /dev/null @@ -1,143 +0,0 @@ -/* - * Copyright (c) 2013-2020 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * $Date: 24. January 2020 - * $Revision: V2.2 - * - * Project: Ethernet PHY (Physical Transceiver) Driver definitions - */ - -/* History: - * Version 2.2 - * Removed volatile from ARM_ETH_LINK_INFO - * Version 2.1 - * ARM_ETH_LINK_INFO made volatile - * Version 2.0 - * changed parameter "mode" in function ARM_ETH_PHY_SetMode - * Changed prefix ARM_DRV -> ARM_DRIVER - * Changed return values of some functions to int32_t - * Version 1.10 - * Namespace prefix ARM_ added - * Version 1.00 - * Initial release - */ - -#ifndef DRIVER_ETH_PHY_H_ -#define DRIVER_ETH_PHY_H_ - -#ifdef __cplusplus -extern "C" -{ -#endif - -#include "Driver_ETH.h" - -#define ARM_ETH_PHY_API_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(2,2) /* API version */ - - -#define _ARM_Driver_ETH_PHY_(n) Driver_ETH_PHY##n -#define ARM_Driver_ETH_PHY_(n) _ARM_Driver_ETH_PHY_(n) - - -/****** Ethernet PHY Mode *****/ -#define ARM_ETH_PHY_SPEED_Pos 0 -#define ARM_ETH_PHY_SPEED_Msk (3UL << ARM_ETH_PHY_SPEED_Pos) -#define ARM_ETH_PHY_SPEED_10M (ARM_ETH_SPEED_10M << ARM_ETH_PHY_SPEED_Pos) ///< 10 Mbps link speed -#define ARM_ETH_PHY_SPEED_100M (ARM_ETH_SPEED_100M << ARM_ETH_PHY_SPEED_Pos) ///< 100 Mbps link speed -#define ARM_ETH_PHY_SPEED_1G (ARM_ETH_SPEED_1G << ARM_ETH_PHY_SPEED_Pos) ///< 1 Gpbs link speed -#define ARM_ETH_PHY_DUPLEX_Pos 2 -#define ARM_ETH_PHY_DUPLEX_Msk (1UL << ARM_ETH_PHY_DUPLEX_Pos) -#define ARM_ETH_PHY_DUPLEX_HALF (ARM_ETH_DUPLEX_HALF << ARM_ETH_PHY_DUPLEX_Pos) ///< Half duplex link -#define ARM_ETH_PHY_DUPLEX_FULL (ARM_ETH_DUPLEX_FULL << ARM_ETH_PHY_DUPLEX_Pos) ///< Full duplex link -#define ARM_ETH_PHY_AUTO_NEGOTIATE (1UL << 3) ///< Auto Negotiation mode -#define ARM_ETH_PHY_LOOPBACK (1UL << 4) ///< Loop-back test mode -#define ARM_ETH_PHY_ISOLATE (1UL << 5) ///< Isolate PHY from MII/RMII interface - - -// Function documentation -/** - \fn ARM_DRIVER_VERSION ARM_ETH_PHY_GetVersion (void) - \brief Get driver version. - \return \ref ARM_DRIVER_VERSION -*/ -/** - \fn int32_t ARM_ETH_PHY_Initialize (ARM_ETH_PHY_Read_t fn_read, - ARM_ETH_PHY_Write_t fn_write) - \brief Initialize Ethernet PHY Device. - \param[in] fn_read Pointer to \ref ARM_ETH_MAC_PHY_Read - \param[in] fn_write Pointer to \ref ARM_ETH_MAC_PHY_Write - \return \ref execution_status -*/ -/** - \fn int32_t ARM_ETH_PHY_Uninitialize (void) - \brief De-initialize Ethernet PHY Device. - \return \ref execution_status -*/ -/** - \fn int32_t ARM_ETH_PHY_PowerControl (ARM_POWER_STATE state) - \brief Control Ethernet PHY Device Power. - \param[in] state Power state - \return \ref execution_status -*/ -/** - \fn int32_t ARM_ETH_PHY_SetInterface (uint32_t interface) - \brief Set Ethernet Media Interface. - \param[in] interface Media Interface type - \return \ref execution_status -*/ -/** - \fn int32_t ARM_ETH_PHY_SetMode (uint32_t mode) - \brief Set Ethernet PHY Device Operation mode. - \param[in] mode Operation Mode - \return \ref execution_status -*/ -/** - \fn ARM_ETH_LINK_STATE ARM_ETH_PHY_GetLinkState (void) - \brief Get Ethernet PHY Device Link state. - \return current link status \ref ARM_ETH_LINK_STATE -*/ -/** - \fn ARM_ETH_LINK_INFO ARM_ETH_PHY_GetLinkInfo (void) - \brief Get Ethernet PHY Device Link information. - \return current link parameters \ref ARM_ETH_LINK_INFO -*/ - - -typedef int32_t (*ARM_ETH_PHY_Read_t) (uint8_t phy_addr, uint8_t reg_addr, uint16_t *data); ///< Pointer to \ref ARM_ETH_MAC_PHY_Read : Read Ethernet PHY Register. -typedef int32_t (*ARM_ETH_PHY_Write_t) (uint8_t phy_addr, uint8_t reg_addr, uint16_t data); ///< Pointer to \ref ARM_ETH_MAC_PHY_Write : Write Ethernet PHY Register. - - -/** -\brief Access structure of the Ethernet PHY Driver -*/ -typedef struct _ARM_DRIVER_ETH_PHY { - ARM_DRIVER_VERSION (*GetVersion) (void); ///< Pointer to \ref ARM_ETH_PHY_GetVersion : Get driver version. - int32_t (*Initialize) (ARM_ETH_PHY_Read_t fn_read, - ARM_ETH_PHY_Write_t fn_write); ///< Pointer to \ref ARM_ETH_PHY_Initialize : Initialize PHY Device. - int32_t (*Uninitialize) (void); ///< Pointer to \ref ARM_ETH_PHY_Uninitialize : De-initialize PHY Device. - int32_t (*PowerControl) (ARM_POWER_STATE state); ///< Pointer to \ref ARM_ETH_PHY_PowerControl : Control PHY Device Power. - int32_t (*SetInterface) (uint32_t interface); ///< Pointer to \ref ARM_ETH_PHY_SetInterface : Set Ethernet Media Interface. - int32_t (*SetMode) (uint32_t mode); ///< Pointer to \ref ARM_ETH_PHY_SetMode : Set Ethernet PHY Device Operation mode. - ARM_ETH_LINK_STATE (*GetLinkState) (void); ///< Pointer to \ref ARM_ETH_PHY_GetLinkState : Get Ethernet PHY Device Link state. - ARM_ETH_LINK_INFO (*GetLinkInfo) (void); ///< Pointer to \ref ARM_ETH_PHY_GetLinkInfo : Get Ethernet PHY Device Link information. -} const ARM_DRIVER_ETH_PHY; - -#ifdef __cplusplus -} -#endif - -#endif /* DRIVER_ETH_PHY_H_ */ diff --git a/external/CMSIS_5/CMSIS/Driver/Include/Driver_Flash.h b/external/CMSIS_5/CMSIS/Driver/Include/Driver_Flash.h deleted file mode 100644 index 91c8114..0000000 --- a/external/CMSIS_5/CMSIS/Driver/Include/Driver_Flash.h +++ /dev/null @@ -1,209 +0,0 @@ -/* - * Copyright (c) 2013-2020 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * $Date: 24. January 2020 - * $Revision: V2.3 - * - * Project: Flash Driver definitions - */ - -/* History: - * Version 2.3 - * Removed volatile from ARM_FLASH_STATUS - * Version 2.2 - * Padding bytes added to ARM_FLASH_INFO - * Version 2.1 - * ARM_FLASH_STATUS made volatile - * Version 2.0 - * Renamed driver NOR -> Flash (more generic) - * Non-blocking operation - * Added Events, Status and Capabilities - * Linked Flash information (GetInfo) - * Version 1.11 - * Changed prefix ARM_DRV -> ARM_DRIVER - * Version 1.10 - * Namespace prefix ARM_ added - * Version 1.00 - * Initial release - */ - -#ifndef DRIVER_FLASH_H_ -#define DRIVER_FLASH_H_ - -#ifdef __cplusplus -extern "C" -{ -#endif - -#include "Driver_Common.h" - -#define ARM_FLASH_API_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(2,3) /* API version */ - - -#define _ARM_Driver_Flash_(n) Driver_Flash##n -#define ARM_Driver_Flash_(n) _ARM_Driver_Flash_(n) - - -#define ARM_FLASH_SECTOR_INFO(addr,size) { (addr), (addr)+(size)-1 } - -/** -\brief Flash Sector information -*/ -typedef struct _ARM_FLASH_SECTOR { - uint32_t start; ///< Sector Start address - uint32_t end; ///< Sector End address (start+size-1) -} const ARM_FLASH_SECTOR; - -/** -\brief Flash information -*/ -typedef struct _ARM_FLASH_INFO { - ARM_FLASH_SECTOR *sector_info; ///< Sector layout information (NULL=Uniform sectors) - uint32_t sector_count; ///< Number of sectors - uint32_t sector_size; ///< Uniform sector size in bytes (0=sector_info used) - uint32_t page_size; ///< Optimal programming page size in bytes - uint32_t program_unit; ///< Smallest programmable unit in bytes - uint8_t erased_value; ///< Contents of erased memory (usually 0xFF) - uint8_t reserved[3]; ///< Reserved (must be zero) -} const ARM_FLASH_INFO; - - -/** -\brief Flash Status -*/ -typedef struct _ARM_FLASH_STATUS { - uint32_t busy : 1; ///< Flash busy flag - uint32_t error : 1; ///< Read/Program/Erase error flag (cleared on start of next operation) - uint32_t reserved : 30; -} ARM_FLASH_STATUS; - - -/****** Flash Event *****/ -#define ARM_FLASH_EVENT_READY (1UL << 0) ///< Flash Ready -#define ARM_FLASH_EVENT_ERROR (1UL << 1) ///< Read/Program/Erase Error - - -// Function documentation -/** - \fn ARM_DRIVER_VERSION ARM_Flash_GetVersion (void) - \brief Get driver version. - \return \ref ARM_DRIVER_VERSION -*/ -/** - \fn ARM_FLASH_CAPABILITIES ARM_Flash_GetCapabilities (void) - \brief Get driver capabilities. - \return \ref ARM_FLASH_CAPABILITIES -*/ -/** - \fn int32_t ARM_Flash_Initialize (ARM_Flash_SignalEvent_t cb_event) - \brief Initialize the Flash Interface. - \param[in] cb_event Pointer to \ref ARM_Flash_SignalEvent - \return \ref execution_status -*/ -/** - \fn int32_t ARM_Flash_Uninitialize (void) - \brief De-initialize the Flash Interface. - \return \ref execution_status -*/ -/** - \fn int32_t ARM_Flash_PowerControl (ARM_POWER_STATE state) - \brief Control the Flash interface power. - \param[in] state Power state - \return \ref execution_status -*/ -/** - \fn int32_t ARM_Flash_ReadData (uint32_t addr, void *data, uint32_t cnt) - \brief Read data from Flash. - \param[in] addr Data address. - \param[out] data Pointer to a buffer storing the data read from Flash. - \param[in] cnt Number of data items to read. - \return number of data items read or \ref execution_status -*/ -/** - \fn int32_t ARM_Flash_ProgramData (uint32_t addr, const void *data, uint32_t cnt) - \brief Program data to Flash. - \param[in] addr Data address. - \param[in] data Pointer to a buffer containing the data to be programmed to Flash. - \param[in] cnt Number of data items to program. - \return number of data items programmed or \ref execution_status -*/ -/** - \fn int32_t ARM_Flash_EraseSector (uint32_t addr) - \brief Erase Flash Sector. - \param[in] addr Sector address - \return \ref execution_status -*/ -/** - \fn int32_t ARM_Flash_EraseChip (void) - \brief Erase complete Flash. - Optional function for faster full chip erase. - \return \ref execution_status -*/ -/** - \fn ARM_FLASH_STATUS ARM_Flash_GetStatus (void) - \brief Get Flash status. - \return Flash status \ref ARM_FLASH_STATUS -*/ -/** - \fn ARM_FLASH_INFO * ARM_Flash_GetInfo (void) - \brief Get Flash information. - \return Pointer to Flash information \ref ARM_FLASH_INFO -*/ - -/** - \fn void ARM_Flash_SignalEvent (uint32_t event) - \brief Signal Flash event. - \param[in] event Event notification mask - \return none -*/ - -typedef void (*ARM_Flash_SignalEvent_t) (uint32_t event); ///< Pointer to \ref ARM_Flash_SignalEvent : Signal Flash Event. - - -/** -\brief Flash Driver Capabilities. -*/ -typedef struct _ARM_FLASH_CAPABILITIES { - uint32_t event_ready : 1; ///< Signal Flash Ready event - uint32_t data_width : 2; ///< Data width: 0=8-bit, 1=16-bit, 2=32-bit - uint32_t erase_chip : 1; ///< Supports EraseChip operation - uint32_t reserved : 28; ///< Reserved (must be zero) -} ARM_FLASH_CAPABILITIES; - - -/** -\brief Access structure of the Flash Driver -*/ -typedef struct _ARM_DRIVER_FLASH { - ARM_DRIVER_VERSION (*GetVersion) (void); ///< Pointer to \ref ARM_Flash_GetVersion : Get driver version. - ARM_FLASH_CAPABILITIES (*GetCapabilities)(void); ///< Pointer to \ref ARM_Flash_GetCapabilities : Get driver capabilities. - int32_t (*Initialize) (ARM_Flash_SignalEvent_t cb_event); ///< Pointer to \ref ARM_Flash_Initialize : Initialize Flash Interface. - int32_t (*Uninitialize) (void); ///< Pointer to \ref ARM_Flash_Uninitialize : De-initialize Flash Interface. - int32_t (*PowerControl) (ARM_POWER_STATE state); ///< Pointer to \ref ARM_Flash_PowerControl : Control Flash Interface Power. - int32_t (*ReadData) (uint32_t addr, void *data, uint32_t cnt); ///< Pointer to \ref ARM_Flash_ReadData : Read data from Flash. - int32_t (*ProgramData) (uint32_t addr, const void *data, uint32_t cnt); ///< Pointer to \ref ARM_Flash_ProgramData : Program data to Flash. - int32_t (*EraseSector) (uint32_t addr); ///< Pointer to \ref ARM_Flash_EraseSector : Erase Flash Sector. - int32_t (*EraseChip) (void); ///< Pointer to \ref ARM_Flash_EraseChip : Erase complete Flash. - ARM_FLASH_STATUS (*GetStatus) (void); ///< Pointer to \ref ARM_Flash_GetStatus : Get Flash status. - ARM_FLASH_INFO * (*GetInfo) (void); ///< Pointer to \ref ARM_Flash_GetInfo : Get Flash information. -} const ARM_DRIVER_FLASH; - -#ifdef __cplusplus -} -#endif - -#endif /* DRIVER_FLASH_H_ */ diff --git a/external/CMSIS_5/CMSIS/Driver/Include/Driver_I2C.h b/external/CMSIS_5/CMSIS/Driver/Include/Driver_I2C.h deleted file mode 100644 index 8ed095a..0000000 --- a/external/CMSIS_5/CMSIS/Driver/Include/Driver_I2C.h +++ /dev/null @@ -1,223 +0,0 @@ -/* - * Copyright (c) 2013-2020 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * $Date: 31. March 2020 - * $Revision: V2.4 - * - * Project: I2C (Inter-Integrated Circuit) Driver definitions - */ - -/* History: - * Version 2.4 - * Removed volatile from ARM_I2C_STATUS - * Version 2.3 - * ARM_I2C_STATUS made volatile - * Version 2.2 - * Removed function ARM_I2C_MasterTransfer in order to simplify drivers - * and added back parameter "xfer_pending" to functions - * ARM_I2C_MasterTransmit and ARM_I2C_MasterReceive - * Version 2.1 - * Added function ARM_I2C_MasterTransfer and removed parameter "xfer_pending" - * from functions ARM_I2C_MasterTransmit and ARM_I2C_MasterReceive - * Added function ARM_I2C_GetDataCount - * Removed flag "address_nack" from ARM_I2C_STATUS - * Replaced events ARM_I2C_EVENT_MASTER_DONE and ARM_I2C_EVENT_SLAVE_DONE - * with event ARM_I2C_EVENT_TRANSFER_DONE - * Added event ARM_I2C_EVENT_TRANSFER_INCOMPLETE - * Removed parameter "arg" from function ARM_I2C_SignalEvent - * Version 2.0 - * New simplified driver: - * complexity moved to upper layer (especially data handling) - * more unified API for different communication interfaces - * Added: - * Slave Mode - * Changed prefix ARM_DRV -> ARM_DRIVER - * Version 1.10 - * Namespace prefix ARM_ added - * Version 1.00 - * Initial release - */ - -#ifndef DRIVER_I2C_H_ -#define DRIVER_I2C_H_ - -#ifdef __cplusplus -extern "C" -{ -#endif - -#include "Driver_Common.h" - -#define ARM_I2C_API_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(2,4) /* API version */ - - -#define _ARM_Driver_I2C_(n) Driver_I2C##n -#define ARM_Driver_I2C_(n) _ARM_Driver_I2C_(n) - - -/****** I2C Control Codes *****/ - -#define ARM_I2C_OWN_ADDRESS (0x01UL) ///< Set Own Slave Address; arg = address -#define ARM_I2C_BUS_SPEED (0x02UL) ///< Set Bus Speed; arg = speed -#define ARM_I2C_BUS_CLEAR (0x03UL) ///< Execute Bus clear: send nine clock pulses -#define ARM_I2C_ABORT_TRANSFER (0x04UL) ///< Abort Master/Slave Transmit/Receive - -/*----- I2C Bus Speed -----*/ -#define ARM_I2C_BUS_SPEED_STANDARD (0x01UL) ///< Standard Speed (100kHz) -#define ARM_I2C_BUS_SPEED_FAST (0x02UL) ///< Fast Speed (400kHz) -#define ARM_I2C_BUS_SPEED_FAST_PLUS (0x03UL) ///< Fast+ Speed ( 1MHz) -#define ARM_I2C_BUS_SPEED_HIGH (0x04UL) ///< High Speed (3.4MHz) - - -/****** I2C Address Flags *****/ - -#define ARM_I2C_ADDRESS_10BIT (0x0400UL) ///< 10-bit address flag -#define ARM_I2C_ADDRESS_GC (0x8000UL) ///< General Call flag - - -/** -\brief I2C Status -*/ -typedef struct _ARM_I2C_STATUS { - uint32_t busy : 1; ///< Busy flag - uint32_t mode : 1; ///< Mode: 0=Slave, 1=Master - uint32_t direction : 1; ///< Direction: 0=Transmitter, 1=Receiver - uint32_t general_call : 1; ///< General Call indication (cleared on start of next Slave operation) - uint32_t arbitration_lost : 1; ///< Master lost arbitration (cleared on start of next Master operation) - uint32_t bus_error : 1; ///< Bus error detected (cleared on start of next Master/Slave operation) - uint32_t reserved : 26; -} ARM_I2C_STATUS; - - -/****** I2C Event *****/ -#define ARM_I2C_EVENT_TRANSFER_DONE (1UL << 0) ///< Master/Slave Transmit/Receive finished -#define ARM_I2C_EVENT_TRANSFER_INCOMPLETE (1UL << 1) ///< Master/Slave Transmit/Receive incomplete transfer -#define ARM_I2C_EVENT_SLAVE_TRANSMIT (1UL << 2) ///< Addressed as Slave Transmitter but transmit operation is not set. -#define ARM_I2C_EVENT_SLAVE_RECEIVE (1UL << 3) ///< Addressed as Slave Receiver but receive operation is not set. -#define ARM_I2C_EVENT_ADDRESS_NACK (1UL << 4) ///< Address not acknowledged from Slave -#define ARM_I2C_EVENT_GENERAL_CALL (1UL << 5) ///< Slave addressed with general call address -#define ARM_I2C_EVENT_ARBITRATION_LOST (1UL << 6) ///< Master lost arbitration -#define ARM_I2C_EVENT_BUS_ERROR (1UL << 7) ///< Bus error detected (START/STOP at illegal position) -#define ARM_I2C_EVENT_BUS_CLEAR (1UL << 8) ///< Bus clear finished - - -// Function documentation -/** - \fn ARM_DRIVER_VERSION ARM_I2C_GetVersion (void) - \brief Get driver version. - \return \ref ARM_DRIVER_VERSION - - \fn ARM_I2C_CAPABILITIES ARM_I2C_GetCapabilities (void) - \brief Get driver capabilities. - \return \ref ARM_I2C_CAPABILITIES - - \fn int32_t ARM_I2C_Initialize (ARM_I2C_SignalEvent_t cb_event) - \brief Initialize I2C Interface. - \param[in] cb_event Pointer to \ref ARM_I2C_SignalEvent - \return \ref execution_status - - \fn int32_t ARM_I2C_Uninitialize (void) - \brief De-initialize I2C Interface. - \return \ref execution_status - - \fn int32_t ARM_I2C_PowerControl (ARM_POWER_STATE state) - \brief Control I2C Interface Power. - \param[in] state Power state - \return \ref execution_status - - \fn int32_t ARM_I2C_MasterTransmit (uint32_t addr, const uint8_t *data, uint32_t num, bool xfer_pending) - \brief Start transmitting data as I2C Master. - \param[in] addr Slave address (7-bit or 10-bit) - \param[in] data Pointer to buffer with data to transmit to I2C Slave - \param[in] num Number of data bytes to transmit - \param[in] xfer_pending Transfer operation is pending - Stop condition will not be generated - \return \ref execution_status - - \fn int32_t ARM_I2C_MasterReceive (uint32_t addr, uint8_t *data, uint32_t num, bool xfer_pending) - \brief Start receiving data as I2C Master. - \param[in] addr Slave address (7-bit or 10-bit) - \param[out] data Pointer to buffer for data to receive from I2C Slave - \param[in] num Number of data bytes to receive - \param[in] xfer_pending Transfer operation is pending - Stop condition will not be generated - \return \ref execution_status - - \fn int32_t ARM_I2C_SlaveTransmit (const uint8_t *data, uint32_t num) - \brief Start transmitting data as I2C Slave. - \param[in] data Pointer to buffer with data to transmit to I2C Master - \param[in] num Number of data bytes to transmit - \return \ref execution_status - - \fn int32_t ARM_I2C_SlaveReceive (uint8_t *data, uint32_t num) - \brief Start receiving data as I2C Slave. - \param[out] data Pointer to buffer for data to receive from I2C Master - \param[in] num Number of data bytes to receive - \return \ref execution_status - - \fn int32_t ARM_I2C_GetDataCount (void) - \brief Get transferred data count. - \return number of data bytes transferred; -1 when Slave is not addressed by Master - - \fn int32_t ARM_I2C_Control (uint32_t control, uint32_t arg) - \brief Control I2C Interface. - \param[in] control Operation - \param[in] arg Argument of operation (optional) - \return \ref execution_status - - \fn ARM_I2C_STATUS ARM_I2C_GetStatus (void) - \brief Get I2C status. - \return I2C status \ref ARM_I2C_STATUS - - \fn void ARM_I2C_SignalEvent (uint32_t event) - \brief Signal I2C Events. - \param[in] event \ref I2C_events notification mask -*/ - -typedef void (*ARM_I2C_SignalEvent_t) (uint32_t event); ///< Pointer to \ref ARM_I2C_SignalEvent : Signal I2C Event. - - -/** -\brief I2C Driver Capabilities. -*/ -typedef struct _ARM_I2C_CAPABILITIES { - uint32_t address_10_bit : 1; ///< supports 10-bit addressing - uint32_t reserved : 31; ///< Reserved (must be zero) -} ARM_I2C_CAPABILITIES; - - -/** -\brief Access structure of the I2C Driver. -*/ -typedef struct _ARM_DRIVER_I2C { - ARM_DRIVER_VERSION (*GetVersion) (void); ///< Pointer to \ref ARM_I2C_GetVersion : Get driver version. - ARM_I2C_CAPABILITIES (*GetCapabilities)(void); ///< Pointer to \ref ARM_I2C_GetCapabilities : Get driver capabilities. - int32_t (*Initialize) (ARM_I2C_SignalEvent_t cb_event); ///< Pointer to \ref ARM_I2C_Initialize : Initialize I2C Interface. - int32_t (*Uninitialize) (void); ///< Pointer to \ref ARM_I2C_Uninitialize : De-initialize I2C Interface. - int32_t (*PowerControl) (ARM_POWER_STATE state); ///< Pointer to \ref ARM_I2C_PowerControl : Control I2C Interface Power. - int32_t (*MasterTransmit) (uint32_t addr, const uint8_t *data, uint32_t num, bool xfer_pending); ///< Pointer to \ref ARM_I2C_MasterTransmit : Start transmitting data as I2C Master. - int32_t (*MasterReceive) (uint32_t addr, uint8_t *data, uint32_t num, bool xfer_pending); ///< Pointer to \ref ARM_I2C_MasterReceive : Start receiving data as I2C Master. - int32_t (*SlaveTransmit) ( const uint8_t *data, uint32_t num); ///< Pointer to \ref ARM_I2C_SlaveTransmit : Start transmitting data as I2C Slave. - int32_t (*SlaveReceive) ( uint8_t *data, uint32_t num); ///< Pointer to \ref ARM_I2C_SlaveReceive : Start receiving data as I2C Slave. - int32_t (*GetDataCount) (void); ///< Pointer to \ref ARM_I2C_GetDataCount : Get transferred data count. - int32_t (*Control) (uint32_t control, uint32_t arg); ///< Pointer to \ref ARM_I2C_Control : Control I2C Interface. - ARM_I2C_STATUS (*GetStatus) (void); ///< Pointer to \ref ARM_I2C_GetStatus : Get I2C status. -} const ARM_DRIVER_I2C; - -#ifdef __cplusplus -} -#endif - -#endif /* DRIVER_I2C_H_ */ diff --git a/external/CMSIS_5/CMSIS/Driver/Include/Driver_MCI.h b/external/CMSIS_5/CMSIS/Driver/Include/Driver_MCI.h deleted file mode 100644 index eef69f6..0000000 --- a/external/CMSIS_5/CMSIS/Driver/Include/Driver_MCI.h +++ /dev/null @@ -1,366 +0,0 @@ -/* - * Copyright (c) 2013-2020 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * $Date: 31. March 2020 - * $Revision: V2.4 - * - * Project: MCI (Memory Card Interface) Driver definitions - */ - -/* History: - * Version 2.4 - * Removed volatile from ARM_MCI_STATUS - * Version 2.3 - * ARM_MCI_STATUS made volatile - * Version 2.2 - * Added timeout and error flags to ARM_MCI_STATUS - * Added support for controlling optional RST_n pin (eMMC) - * Removed explicit Clock Control (ARM_MCI_CONTROL_CLOCK) - * Removed event ARM_MCI_EVENT_BOOT_ACK_TIMEOUT - * Version 2.1 - * Decoupled SPI mode from MCI driver - * Replaced function ARM_MCI_CardSwitchRead with ARM_MCI_ReadCD and ARM_MCI_ReadWP - * Version 2.0 - * Added support for: - * SD UHS-I (Ultra High Speed) - * SD I/O Interrupt - * Read Wait (SD I/O) - * Suspend/Resume (SD I/O) - * MMC Interrupt - * MMC Boot - * Stream Data transfer (MMC) - * VCCQ Power Supply Control (eMMC) - * Command Completion Signal (CCS) for CE-ATA - * Added ARM_MCI_Control function - * Added ARM_MCI_GetStatus function - * Removed ARM_MCI_BusMode, ARM_MCI_BusDataWidth, ARM_MCI_BusSingaling functions - * (replaced by ARM_MCI_Control) - * Changed ARM_MCI_CardPower function (voltage parameter) - * Changed ARM_MCI_SendCommnad function (flags parameter) - * Changed ARM_MCI_SetupTransfer function (mode parameter) - * Removed ARM_MCI_ReadTransfer and ARM_MCI_WriteTransfer functions - * Changed prefix ARM_DRV -> ARM_DRIVER - * Changed return values of some functions to int32_t - * Version 1.10 - * Namespace prefix ARM_ added - * Version 1.00 - * Initial release - */ - -#ifndef DRIVER_MCI_H_ -#define DRIVER_MCI_H_ - -#ifdef __cplusplus -extern "C" -{ -#endif - -#include "Driver_Common.h" - -#define ARM_MCI_API_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(2,4) /* API version */ - - -#define _ARM_Driver_MCI_(n) Driver_MCI##n -#define ARM_Driver_MCI_(n) _ARM_Driver_MCI_(n) - - -/****** MCI Send Command Flags *****/ -#define ARM_MCI_RESPONSE_Pos 0 -#define ARM_MCI_RESPONSE_Msk (3UL << ARM_MCI_RESPONSE_Pos) -#define ARM_MCI_RESPONSE_NONE (0UL << ARM_MCI_RESPONSE_Pos) ///< No response expected (default) -#define ARM_MCI_RESPONSE_SHORT (1UL << ARM_MCI_RESPONSE_Pos) ///< Short response (48-bit) -#define ARM_MCI_RESPONSE_SHORT_BUSY (2UL << ARM_MCI_RESPONSE_Pos) ///< Short response with busy signal (48-bit) -#define ARM_MCI_RESPONSE_LONG (3UL << ARM_MCI_RESPONSE_Pos) ///< Long response (136-bit) - -#define ARM_MCI_RESPONSE_INDEX (1UL << 2) ///< Check command index in response -#define ARM_MCI_RESPONSE_CRC (1UL << 3) ///< Check CRC in response - -#define ARM_MCI_WAIT_BUSY (1UL << 4) ///< Wait until busy before sending the command - -#define ARM_MCI_TRANSFER_DATA (1UL << 5) ///< Activate Data transfer - -#define ARM_MCI_CARD_INITIALIZE (1UL << 6) ///< Execute Memory Card initialization sequence - -#define ARM_MCI_INTERRUPT_COMMAND (1UL << 7) ///< Send Interrupt command (CMD40 - MMC only) -#define ARM_MCI_INTERRUPT_RESPONSE (1UL << 8) ///< Send Interrupt response (CMD40 - MMC only) - -#define ARM_MCI_BOOT_OPERATION (1UL << 9) ///< Execute Boot operation (MMC only) -#define ARM_MCI_BOOT_ALTERNATIVE (1UL << 10) ///< Execute Alternative Boot operation (MMC only) -#define ARM_MCI_BOOT_ACK (1UL << 11) ///< Expect Boot Acknowledge (MMC only) - -#define ARM_MCI_CCSD (1UL << 12) ///< Send Command Completion Signal Disable (CCSD) for CE-ATA device -#define ARM_MCI_CCS (1UL << 13) ///< Expect Command Completion Signal (CCS) for CE-ATA device - - -/****** MCI Setup Transfer Mode *****/ -#define ARM_MCI_TRANSFER_READ (0UL << 0) ///< Data Read Transfer (from MCI) -#define ARM_MCI_TRANSFER_WRITE (1UL << 0) ///< Data Write Transfer (to MCI) -#define ARM_MCI_TRANSFER_BLOCK (0UL << 1) ///< Block Data transfer (default) -#define ARM_MCI_TRANSFER_STREAM (1UL << 1) ///< Stream Data transfer (MMC only) - - -/****** MCI Control Codes *****/ -#define ARM_MCI_BUS_SPEED (0x01UL) ///< Set Bus Speed; arg = requested speed in bits/s; returns configured speed in bits/s -#define ARM_MCI_BUS_SPEED_MODE (0x02UL) ///< Set Bus Speed Mode as specified with arg -#define ARM_MCI_BUS_CMD_MODE (0x03UL) ///< Set CMD Line Mode as specified with arg -#define ARM_MCI_BUS_DATA_WIDTH (0x04UL) ///< Set Bus Data Width as specified with arg -#define ARM_MCI_DRIVER_STRENGTH (0x05UL) ///< Set SD UHS-I Driver Strength as specified with arg -#define ARM_MCI_CONTROL_RESET (0x06UL) ///< Control optional RST_n Pin (eMMC); arg: 0=inactive, 1=active -#define ARM_MCI_CONTROL_CLOCK_IDLE (0x07UL) ///< Control Clock generation on CLK Pin when idle; arg: 0=disabled, 1=enabled -#define ARM_MCI_UHS_TUNING_OPERATION (0x08UL) ///< Sampling clock Tuning operation (SD UHS-I); arg: 0=reset, 1=execute -#define ARM_MCI_UHS_TUNING_RESULT (0x09UL) ///< Sampling clock Tuning result (SD UHS-I); returns: 0=done, 1=in progress, -1=error -#define ARM_MCI_DATA_TIMEOUT (0x0AUL) ///< Set Data timeout; arg = timeout in bus cycles -#define ARM_MCI_CSS_TIMEOUT (0x0BUL) ///< Set Command Completion Signal (CCS) timeout; arg = timeout in bus cycles -#define ARM_MCI_MONITOR_SDIO_INTERRUPT (0x0CUL) ///< Monitor SD I/O interrupt: arg: 0=disabled, 1=enabled -#define ARM_MCI_CONTROL_READ_WAIT (0x0DUL) ///< Control Read/Wait for SD I/O; arg: 0=disabled, 1=enabled -#define ARM_MCI_SUSPEND_TRANSFER (0x0EUL) ///< Suspend Data transfer (SD I/O); returns number of remaining bytes to transfer -#define ARM_MCI_RESUME_TRANSFER (0x0FUL) ///< Resume Data transfer (SD I/O) - -/*----- MCI Bus Speed Mode -----*/ -#define ARM_MCI_BUS_DEFAULT_SPEED (0x00UL) ///< SD/MMC: Default Speed mode up to 25/26MHz -#define ARM_MCI_BUS_HIGH_SPEED (0x01UL) ///< SD/MMC: High Speed mode up to 50/52MHz -#define ARM_MCI_BUS_UHS_SDR12 (0x02UL) ///< SD: SDR12 (Single Data Rate) up to 25MHz, 12.5MB/s: UHS-I (Ultra High Speed) 1.8V signaling -#define ARM_MCI_BUS_UHS_SDR25 (0x03UL) ///< SD: SDR25 (Single Data Rate) up to 50MHz, 25 MB/s: UHS-I (Ultra High Speed) 1.8V signaling -#define ARM_MCI_BUS_UHS_SDR50 (0x04UL) ///< SD: SDR50 (Single Data Rate) up to 100MHz, 50 MB/s: UHS-I (Ultra High Speed) 1.8V signaling -#define ARM_MCI_BUS_UHS_SDR104 (0x05UL) ///< SD: SDR104 (Single Data Rate) up to 208MHz, 104 MB/s: UHS-I (Ultra High Speed) 1.8V signaling -#define ARM_MCI_BUS_UHS_DDR50 (0x06UL) ///< SD: DDR50 (Dual Data Rate) up to 50MHz, 50 MB/s: UHS-I (Ultra High Speed) 1.8V signaling - -/*----- MCI CMD Line Mode -----*/ -#define ARM_MCI_BUS_CMD_PUSH_PULL (0x00UL) ///< Push-Pull CMD line (default) -#define ARM_MCI_BUS_CMD_OPEN_DRAIN (0x01UL) ///< Open Drain CMD line (MMC only) - -/*----- MCI Bus Data Width -----*/ -#define ARM_MCI_BUS_DATA_WIDTH_1 (0x00UL) ///< Bus data width: 1 bit (default) -#define ARM_MCI_BUS_DATA_WIDTH_4 (0x01UL) ///< Bus data width: 4 bits -#define ARM_MCI_BUS_DATA_WIDTH_8 (0x02UL) ///< Bus data width: 8 bits -#define ARM_MCI_BUS_DATA_WIDTH_4_DDR (0x03UL) ///< Bus data width: 4 bits, DDR (Dual Data Rate) - MMC only -#define ARM_MCI_BUS_DATA_WIDTH_8_DDR (0x04UL) ///< Bus data width: 8 bits, DDR (Dual Data Rate) - MMC only - -/*----- MCI Driver Strength -----*/ -#define ARM_MCI_DRIVER_TYPE_A (0x01UL) ///< SD UHS-I Driver Type A -#define ARM_MCI_DRIVER_TYPE_B (0x00UL) ///< SD UHS-I Driver Type B (default) -#define ARM_MCI_DRIVER_TYPE_C (0x02UL) ///< SD UHS-I Driver Type C -#define ARM_MCI_DRIVER_TYPE_D (0x03UL) ///< SD UHS-I Driver Type D - - -/****** MCI Card Power *****/ -#define ARM_MCI_POWER_VDD_Pos 0 -#define ARM_MCI_POWER_VDD_Msk (0x0FUL << ARM_MCI_POWER_VDD_Pos) -#define ARM_MCI_POWER_VDD_OFF (0x01UL << ARM_MCI_POWER_VDD_Pos) ///< VDD (VCC) turned off -#define ARM_MCI_POWER_VDD_3V3 (0x02UL << ARM_MCI_POWER_VDD_Pos) ///< VDD (VCC) = 3.3V -#define ARM_MCI_POWER_VDD_1V8 (0x03UL << ARM_MCI_POWER_VDD_Pos) ///< VDD (VCC) = 1.8V -#define ARM_MCI_POWER_VCCQ_Pos 4 -#define ARM_MCI_POWER_VCCQ_Msk (0x0FUL << ARM_MCI_POWER_VCCQ_Pos) -#define ARM_MCI_POWER_VCCQ_OFF (0x01UL << ARM_MCI_POWER_VCCQ_Pos) ///< eMMC VCCQ turned off -#define ARM_MCI_POWER_VCCQ_3V3 (0x02UL << ARM_MCI_POWER_VCCQ_Pos) ///< eMMC VCCQ = 3.3V -#define ARM_MCI_POWER_VCCQ_1V8 (0x03UL << ARM_MCI_POWER_VCCQ_Pos) ///< eMMC VCCQ = 1.8V -#define ARM_MCI_POWER_VCCQ_1V2 (0x04UL << ARM_MCI_POWER_VCCQ_Pos) ///< eMMC VCCQ = 1.2V - - -/** -\brief MCI Status -*/ -typedef struct _ARM_MCI_STATUS { - uint32_t command_active : 1; ///< Command active flag - uint32_t command_timeout : 1; ///< Command timeout flag (cleared on start of next command) - uint32_t command_error : 1; ///< Command error flag (cleared on start of next command) - uint32_t transfer_active : 1; ///< Transfer active flag - uint32_t transfer_timeout : 1; ///< Transfer timeout flag (cleared on start of next command) - uint32_t transfer_error : 1; ///< Transfer error flag (cleared on start of next command) - uint32_t sdio_interrupt : 1; ///< SD I/O Interrupt flag (cleared on start of monitoring) - uint32_t ccs : 1; ///< CCS flag (cleared on start of next command) - uint32_t reserved : 24; -} ARM_MCI_STATUS; - - -/****** MCI Card Event *****/ -#define ARM_MCI_EVENT_CARD_INSERTED (1UL << 0) ///< Memory Card inserted -#define ARM_MCI_EVENT_CARD_REMOVED (1UL << 1) ///< Memory Card removed -#define ARM_MCI_EVENT_COMMAND_COMPLETE (1UL << 2) ///< Command completed -#define ARM_MCI_EVENT_COMMAND_TIMEOUT (1UL << 3) ///< Command timeout -#define ARM_MCI_EVENT_COMMAND_ERROR (1UL << 4) ///< Command response error (CRC error or invalid response) -#define ARM_MCI_EVENT_TRANSFER_COMPLETE (1UL << 5) ///< Data transfer completed -#define ARM_MCI_EVENT_TRANSFER_TIMEOUT (1UL << 6) ///< Data transfer timeout -#define ARM_MCI_EVENT_TRANSFER_ERROR (1UL << 7) ///< Data transfer CRC failed -#define ARM_MCI_EVENT_SDIO_INTERRUPT (1UL << 8) ///< SD I/O Interrupt -#define ARM_MCI_EVENT_CCS (1UL << 9) ///< Command Completion Signal (CCS) -#define ARM_MCI_EVENT_CCS_TIMEOUT (1UL << 10) ///< Command Completion Signal (CCS) Timeout - - -// Function documentation -/** - \fn ARM_DRIVER_VERSION ARM_MCI_GetVersion (void) - \brief Get driver version. - \return \ref ARM_DRIVER_VERSION -*/ -/** - \fn ARM_MCI_CAPABILITIES ARM_MCI_GetCapabilities (void) - \brief Get driver capabilities. - \return \ref ARM_MCI_CAPABILITIES -*/ -/** - \fn int32_t ARM_MCI_Initialize (ARM_MCI_SignalEvent_t cb_event) - \brief Initialize the Memory Card Interface - \param[in] cb_event Pointer to \ref ARM_MCI_SignalEvent - \return \ref execution_status -*/ -/** - \fn int32_t ARM_MCI_Uninitialize (void) - \brief De-initialize Memory Card Interface. - \return \ref execution_status -*/ -/** - \fn int32_t ARM_MCI_PowerControl (ARM_POWER_STATE state) - \brief Control Memory Card Interface Power. - \param[in] state Power state \ref ARM_POWER_STATE - \return \ref execution_status -*/ -/** - \fn int32_t ARM_MCI_CardPower (uint32_t voltage) - \brief Set Memory Card Power supply voltage. - \param[in] voltage Memory Card Power supply voltage - \return \ref execution_status -*/ -/** - \fn int32_t ARM_MCI_ReadCD (void) - \brief Read Card Detect (CD) state. - \return 1:card detected, 0:card not detected, or error -*/ -/** - \fn int32_t ARM_MCI_ReadWP (void) - \brief Read Write Protect (WP) state. - \return 1:write protected, 0:not write protected, or error -*/ -/** - \fn int32_t ARM_MCI_SendCommand (uint32_t cmd, - uint32_t arg, - uint32_t flags, - uint32_t *response) - \brief Send Command to card and get the response. - \param[in] cmd Memory Card command - \param[in] arg Command argument - \param[in] flags Command flags - \param[out] response Pointer to buffer for response - \return \ref execution_status -*/ -/** - \fn int32_t ARM_MCI_SetupTransfer (uint8_t *data, - uint32_t block_count, - uint32_t block_size, - uint32_t mode) - \brief Setup read or write transfer operation. - \param[in,out] data Pointer to data block(s) to be written or read - \param[in] block_count Number of blocks - \param[in] block_size Size of a block in bytes - \param[in] mode Transfer mode - \return \ref execution_status -*/ -/** - \fn int32_t ARM_MCI_AbortTransfer (void) - \brief Abort current read/write data transfer. - \return \ref execution_status -*/ -/** - \fn int32_t ARM_MCI_Control (uint32_t control, uint32_t arg) - \brief Control MCI Interface. - \param[in] control Operation - \param[in] arg Argument of operation (optional) - \return \ref execution_status -*/ -/** - \fn ARM_MCI_STATUS ARM_MCI_GetStatus (void) - \brief Get MCI status. - \return MCI status \ref ARM_MCI_STATUS -*/ - -/** - \fn void ARM_MCI_SignalEvent (uint32_t event) - \brief Callback function that signals a MCI Card Event. - \param[in] event \ref mci_event_gr - \return none -*/ - -typedef void (*ARM_MCI_SignalEvent_t) (uint32_t event); ///< Pointer to \ref ARM_MCI_SignalEvent : Signal MCI Card Event. - - -/** -\brief MCI Driver Capabilities. -*/ -typedef struct _ARM_MCI_CAPABILITIES { - uint32_t cd_state : 1; ///< Card Detect State available - uint32_t cd_event : 1; ///< Signal Card Detect change event - uint32_t wp_state : 1; ///< Write Protect State available - uint32_t vdd : 1; ///< Supports VDD Card Power Supply Control - uint32_t vdd_1v8 : 1; ///< Supports 1.8 VDD Card Power Supply - uint32_t vccq : 1; ///< Supports VCCQ Card Power Supply Control (eMMC) - uint32_t vccq_1v8 : 1; ///< Supports 1.8 VCCQ Card Power Supply (eMMC) - uint32_t vccq_1v2 : 1; ///< Supports 1.2 VCCQ Card Power Supply (eMMC) - uint32_t data_width_4 : 1; ///< Supports 4-bit data - uint32_t data_width_8 : 1; ///< Supports 8-bit data - uint32_t data_width_4_ddr : 1; ///< Supports 4-bit data, DDR (Dual Data Rate) - MMC only - uint32_t data_width_8_ddr : 1; ///< Supports 8-bit data, DDR (Dual Data Rate) - MMC only - uint32_t high_speed : 1; ///< Supports SD/MMC High Speed Mode - uint32_t uhs_signaling : 1; ///< Supports SD UHS-I (Ultra High Speed) 1.8V signaling - uint32_t uhs_tuning : 1; ///< Supports SD UHS-I tuning - uint32_t uhs_sdr50 : 1; ///< Supports SD UHS-I SDR50 (Single Data Rate) up to 50MB/s - uint32_t uhs_sdr104 : 1; ///< Supports SD UHS-I SDR104 (Single Data Rate) up to 104MB/s - uint32_t uhs_ddr50 : 1; ///< Supports SD UHS-I DDR50 (Dual Data Rate) up to 50MB/s - uint32_t uhs_driver_type_a : 1; ///< Supports SD UHS-I Driver Type A - uint32_t uhs_driver_type_c : 1; ///< Supports SD UHS-I Driver Type C - uint32_t uhs_driver_type_d : 1; ///< Supports SD UHS-I Driver Type D - uint32_t sdio_interrupt : 1; ///< Supports SD I/O Interrupt - uint32_t read_wait : 1; ///< Supports Read Wait (SD I/O) - uint32_t suspend_resume : 1; ///< Supports Suspend/Resume (SD I/O) - uint32_t mmc_interrupt : 1; ///< Supports MMC Interrupt - uint32_t mmc_boot : 1; ///< Supports MMC Boot - uint32_t rst_n : 1; ///< Supports RST_n Pin Control (eMMC) - uint32_t ccs : 1; ///< Supports Command Completion Signal (CCS) for CE-ATA - uint32_t ccs_timeout : 1; ///< Supports Command Completion Signal (CCS) timeout for CE-ATA - uint32_t reserved : 3; ///< Reserved (must be zero) -} ARM_MCI_CAPABILITIES; - - -/** -\brief Access structure of the MCI Driver. -*/ -typedef struct _ARM_DRIVER_MCI { - ARM_DRIVER_VERSION (*GetVersion) (void); ///< Pointer to \ref ARM_MCI_GetVersion : Get driver version. - ARM_MCI_CAPABILITIES (*GetCapabilities)(void); ///< Pointer to \ref ARM_MCI_GetCapabilities : Get driver capabilities. - int32_t (*Initialize) (ARM_MCI_SignalEvent_t cb_event); ///< Pointer to \ref ARM_MCI_Initialize : Initialize MCI Interface. - int32_t (*Uninitialize) (void); ///< Pointer to \ref ARM_MCI_Uninitialize : De-initialize MCI Interface. - int32_t (*PowerControl) (ARM_POWER_STATE state); ///< Pointer to \ref ARM_MCI_PowerControl : Control MCI Interface Power. - int32_t (*CardPower) (uint32_t voltage); ///< Pointer to \ref ARM_MCI_CardPower : Set card power supply voltage. - int32_t (*ReadCD) (void); ///< Pointer to \ref ARM_MCI_ReadCD : Read Card Detect (CD) state. - int32_t (*ReadWP) (void); ///< Pointer to \ref ARM_MCI_ReadWP : Read Write Protect (WP) state. - int32_t (*SendCommand) (uint32_t cmd, - uint32_t arg, - uint32_t flags, - uint32_t *response); ///< Pointer to \ref ARM_MCI_SendCommand : Send Command to card and get the response. - int32_t (*SetupTransfer) (uint8_t *data, - uint32_t block_count, - uint32_t block_size, - uint32_t mode); ///< Pointer to \ref ARM_MCI_SetupTransfer : Setup data transfer operation. - int32_t (*AbortTransfer) (void); ///< Pointer to \ref ARM_MCI_AbortTransfer : Abort current data transfer. - int32_t (*Control) (uint32_t control, uint32_t arg); ///< Pointer to \ref ARM_MCI_Control : Control MCI Interface. - ARM_MCI_STATUS (*GetStatus) (void); ///< Pointer to \ref ARM_MCI_GetStatus : Get MCI status. -} const ARM_DRIVER_MCI; - -#ifdef __cplusplus -} -#endif - -#endif /* DRIVER_MCI_H_ */ diff --git a/external/CMSIS_5/CMSIS/Driver/Include/Driver_NAND.h b/external/CMSIS_5/CMSIS/Driver/Include/Driver_NAND.h deleted file mode 100644 index 9f5c2c3..0000000 --- a/external/CMSIS_5/CMSIS/Driver/Include/Driver_NAND.h +++ /dev/null @@ -1,426 +0,0 @@ -/* - * Copyright (c) 2013-2020 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * $Date: 31. March 2020 - * $Revision: V2.4 - * - * Project: NAND Flash Driver definitions - */ - -/* History: - * Version 2.4 - * Removed volatile from ARM_NAND_STATUS - * Version 2.3 - * Extended ARM_NAND_ECC_INFO structure - * Version 2.2 - * ARM_NAND_STATUS made volatile - * Version 2.1 - * Updated ARM_NAND_ECC_INFO structure and ARM_NAND_ECC_xxx definitions - * Version 2.0 - * New simplified driver: - * complexity moved to upper layer (command agnostic) - * Added support for: - * NV-DDR & NV-DDR2 Interface (ONFI specification) - * VCC, VCCQ and VPP Power Supply Control - * WP (Write Protect) Control - * Version 1.11 - * Changed prefix ARM_DRV -> ARM_DRIVER - * Version 1.10 - * Namespace prefix ARM_ added - * Version 1.00 - * Initial release - */ - -#ifndef DRIVER_NAND_H_ -#define DRIVER_NAND_H_ - -#ifdef __cplusplus -extern "C" -{ -#endif - -#include "Driver_Common.h" - -#define ARM_NAND_API_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(2,4) /* API version */ - - -#define _ARM_Driver_NAND_(n) Driver_NAND##n -#define ARM_Driver_NAND_(n) _ARM_Driver_NAND_(n) - - -/****** NAND Device Power *****/ -#define ARM_NAND_POWER_VCC_Pos 0 -#define ARM_NAND_POWER_VCC_Msk (0x07UL << ARM_NAND_POWER_VCC_Pos) -#define ARM_NAND_POWER_VCC_OFF (0x01UL << ARM_NAND_POWER_VCC_Pos) ///< VCC Power off -#define ARM_NAND_POWER_VCC_3V3 (0x02UL << ARM_NAND_POWER_VCC_Pos) ///< VCC = 3.3V -#define ARM_NAND_POWER_VCC_1V8 (0x03UL << ARM_NAND_POWER_VCC_Pos) ///< VCC = 1.8V -#define ARM_NAND_POWER_VCCQ_Pos 3 -#define ARM_NAND_POWER_VCCQ_Msk (0x07UL << ARM_NAND_POWER_VCCQ_Pos) -#define ARM_NAND_POWER_VCCQ_OFF (0x01UL << ARM_NAND_POWER_VCCQ_Pos) ///< VCCQ I/O Power off -#define ARM_NAND_POWER_VCCQ_3V3 (0x02UL << ARM_NAND_POWER_VCCQ_Pos) ///< VCCQ = 3.3V -#define ARM_NAND_POWER_VCCQ_1V8 (0x03UL << ARM_NAND_POWER_VCCQ_Pos) ///< VCCQ = 1.8V -#define ARM_NAND_POWER_VPP_OFF (1UL << 6) ///< VPP off -#define ARM_NAND_POWER_VPP_ON (1UL << 7) ///< VPP on - - -/****** NAND Control Codes *****/ -#define ARM_NAND_BUS_MODE (0x01UL) ///< Set Bus Mode as specified with arg -#define ARM_NAND_BUS_DATA_WIDTH (0x02UL) ///< Set Bus Data Width as specified with arg -#define ARM_NAND_DRIVER_STRENGTH (0x03UL) ///< Set Driver Strength as specified with arg -#define ARM_NAND_DEVICE_READY_EVENT (0x04UL) ///< Generate \ref ARM_NAND_EVENT_DEVICE_READY; arg: 0=disabled (default), 1=enabled -#define ARM_NAND_DRIVER_READY_EVENT (0x05UL) ///< Generate \ref ARM_NAND_EVENT_DRIVER_READY; arg: 0=disabled (default), 1=enabled - -/*----- NAND Bus Mode (ONFI - Open NAND Flash Interface) -----*/ -#define ARM_NAND_BUS_INTERFACE_Pos 4 -#define ARM_NAND_BUS_INTERFACE_Msk (0x03UL << ARM_NAND_BUS_INTERFACE_Pos) -#define ARM_NAND_BUS_SDR (0x00UL << ARM_NAND_BUS_INTERFACE_Pos) ///< Data Interface: SDR (Single Data Rate) - Traditional interface (default) -#define ARM_NAND_BUS_DDR (0x01UL << ARM_NAND_BUS_INTERFACE_Pos) ///< Data Interface: NV-DDR (Double Data Rate) -#define ARM_NAND_BUS_DDR2 (0x02UL << ARM_NAND_BUS_INTERFACE_Pos) ///< Data Interface: NV-DDR2 (Double Data Rate) -#define ARM_NAND_BUS_TIMING_MODE_Pos 0 -#define ARM_NAND_BUS_TIMING_MODE_Msk (0x0FUL << ARM_NAND_BUS_TIMING_MODE_Pos) -#define ARM_NAND_BUS_TIMING_MODE_0 (0x00UL << ARM_NAND_BUS_TIMING_MODE_Pos) ///< Timing Mode 0 (default) -#define ARM_NAND_BUS_TIMING_MODE_1 (0x01UL << ARM_NAND_BUS_TIMING_MODE_Pos) ///< Timing Mode 1 -#define ARM_NAND_BUS_TIMING_MODE_2 (0x02UL << ARM_NAND_BUS_TIMING_MODE_Pos) ///< Timing Mode 2 -#define ARM_NAND_BUS_TIMING_MODE_3 (0x03UL << ARM_NAND_BUS_TIMING_MODE_Pos) ///< Timing Mode 3 -#define ARM_NAND_BUS_TIMING_MODE_4 (0x04UL << ARM_NAND_BUS_TIMING_MODE_Pos) ///< Timing Mode 4 (SDR EDO capable) -#define ARM_NAND_BUS_TIMING_MODE_5 (0x05UL << ARM_NAND_BUS_TIMING_MODE_Pos) ///< Timing Mode 5 (SDR EDO capable) -#define ARM_NAND_BUS_TIMING_MODE_6 (0x06UL << ARM_NAND_BUS_TIMING_MODE_Pos) ///< Timing Mode 6 (NV-DDR2 only) -#define ARM_NAND_BUS_TIMING_MODE_7 (0x07UL << ARM_NAND_BUS_TIMING_MODE_Pos) ///< Timing Mode 7 (NV-DDR2 only) -#define ARM_NAND_BUS_DDR2_DO_WCYC_Pos 8 -#define ARM_NAND_BUS_DDR2_DO_WCYC_Msk (0x0FUL << ARM_NAND_BUS_DDR2_DO_WCYC_Pos) -#define ARM_NAND_BUS_DDR2_DO_WCYC_0 (0x00UL << ARM_NAND_BUS_DDR2_DO_WCYC_Pos) ///< DDR2 Data Output Warm-up cycles: 0 (default) -#define ARM_NAND_BUS_DDR2_DO_WCYC_1 (0x01UL << ARM_NAND_BUS_DDR2_DO_WCYC_Pos) ///< DDR2 Data Output Warm-up cycles: 1 -#define ARM_NAND_BUS_DDR2_DO_WCYC_2 (0x02UL << ARM_NAND_BUS_DDR2_DO_WCYC_Pos) ///< DDR2 Data Output Warm-up cycles: 2 -#define ARM_NAND_BUS_DDR2_DO_WCYC_4 (0x03UL << ARM_NAND_BUS_DDR2_DO_WCYC_Pos) ///< DDR2 Data Output Warm-up cycles: 4 -#define ARM_NAND_BUS_DDR2_DI_WCYC_Pos 12 -#define ARM_NAND_BUS_DDR2_DI_WCYC_Msk (0x0FUL << ARM_NAND_BUS_DDR2_DI_WCYC_Pos) -#define ARM_NAND_BUS_DDR2_DI_WCYC_0 (0x00UL << ARM_NAND_BUS_DDR2_DI_WCYC_Pos) ///< DDR2 Data Input Warm-up cycles: 0 (default) -#define ARM_NAND_BUS_DDR2_DI_WCYC_1 (0x01UL << ARM_NAND_BUS_DDR2_DI_WCYC_Pos) ///< DDR2 Data Input Warm-up cycles: 1 -#define ARM_NAND_BUS_DDR2_DI_WCYC_2 (0x02UL << ARM_NAND_BUS_DDR2_DI_WCYC_Pos) ///< DDR2 Data Input Warm-up cycles: 2 -#define ARM_NAND_BUS_DDR2_DI_WCYC_4 (0x03UL << ARM_NAND_BUS_DDR2_DI_WCYC_Pos) ///< DDR2 Data Input Warm-up cycles: 4 -#define ARM_NAND_BUS_DDR2_VEN (1UL << 16) ///< DDR2 Enable external VREFQ as reference -#define ARM_NAND_BUS_DDR2_CMPD (1UL << 17) ///< DDR2 Enable complementary DQS (DQS_c) signal -#define ARM_NAND_BUS_DDR2_CMPR (1UL << 18) ///< DDR2 Enable complementary RE_n (RE_c) signal - -/*----- NAND Data Bus Width -----*/ -#define ARM_NAND_BUS_DATA_WIDTH_8 (0x00UL) ///< Bus Data Width: 8 bit (default) -#define ARM_NAND_BUS_DATA_WIDTH_16 (0x01UL) ///< Bus Data Width: 16 bit - -/*----- NAND Driver Strength (ONFI - Open NAND Flash Interface) -----*/ -#define ARM_NAND_DRIVER_STRENGTH_18 (0x00UL) ///< Driver Strength 2.0x = 18 Ohms -#define ARM_NAND_DRIVER_STRENGTH_25 (0x01UL) ///< Driver Strength 1.4x = 25 Ohms -#define ARM_NAND_DRIVER_STRENGTH_35 (0x02UL) ///< Driver Strength 1.0x = 35 Ohms (default) -#define ARM_NAND_DRIVER_STRENGTH_50 (0x03UL) ///< Driver Strength 0.7x = 50 Ohms - - -/****** NAND ECC for Read/Write Data Mode and Sequence Execution Code *****/ -#define ARM_NAND_ECC_INDEX_Pos 0 -#define ARM_NAND_ECC_INDEX_Msk (0xFFUL << ARM_NAND_ECC_INDEX_Pos) -#define ARM_NAND_ECC(n) ((n) & ARM_NAND_ECC_INDEX_Msk) ///< Select ECC -#define ARM_NAND_ECC0 (1UL << 8) ///< Use ECC0 of selected ECC -#define ARM_NAND_ECC1 (1UL << 9) ///< Use ECC1 of selected ECC - -/****** NAND Flag for Read/Write Data Mode and Sequence Execution Code *****/ -#define ARM_NAND_DRIVER_DONE_EVENT (1UL << 16) ///< Generate \ref ARM_NAND_EVENT_DRIVER_DONE - -/****** NAND Sequence Execution Code *****/ -#define ARM_NAND_CODE_SEND_CMD1 (1UL << 17) ///< Send Command 1 -#define ARM_NAND_CODE_SEND_ADDR_COL1 (1UL << 18) ///< Send Column Address 1 -#define ARM_NAND_CODE_SEND_ADDR_COL2 (1UL << 19) ///< Send Column Address 2 -#define ARM_NAND_CODE_SEND_ADDR_ROW1 (1UL << 20) ///< Send Row Address 1 -#define ARM_NAND_CODE_SEND_ADDR_ROW2 (1UL << 21) ///< Send Row Address 2 -#define ARM_NAND_CODE_SEND_ADDR_ROW3 (1UL << 22) ///< Send Row Address 3 -#define ARM_NAND_CODE_INC_ADDR_ROW (1UL << 23) ///< Auto-increment Row Address -#define ARM_NAND_CODE_WRITE_DATA (1UL << 24) ///< Write Data -#define ARM_NAND_CODE_SEND_CMD2 (1UL << 25) ///< Send Command 2 -#define ARM_NAND_CODE_WAIT_BUSY (1UL << 26) ///< Wait while R/Bn busy -#define ARM_NAND_CODE_READ_DATA (1UL << 27) ///< Read Data -#define ARM_NAND_CODE_SEND_CMD3 (1UL << 28) ///< Send Command 3 -#define ARM_NAND_CODE_READ_STATUS (1UL << 29) ///< Read Status byte and check FAIL bit (bit 0) - -/*----- NAND Sequence Execution Code: Command -----*/ -#define ARM_NAND_CODE_CMD1_Pos 0 -#define ARM_NAND_CODE_CMD1_Msk (0xFFUL << ARM_NAND_CODE_CMD1_Pos) -#define ARM_NAND_CODE_CMD2_Pos 8 -#define ARM_NAND_CODE_CMD2_Msk (0xFFUL << ARM_NAND_CODE_CMD2_Pos) -#define ARM_NAND_CODE_CMD3_Pos 16 -#define ARM_NAND_CODE_CMD3_Msk (0xFFUL << ARM_NAND_CODE_CMD3_Pos) - -/*----- NAND Sequence Execution Code: Column Address -----*/ -#define ARM_NAND_CODE_ADDR_COL1_Pos 0 -#define ARM_NAND_CODE_ADDR_COL1_Msk (0xFFUL << ARM_NAND_CODE_ADDR_COL1_Pos) -#define ARM_NAND_CODE_ADDR_COL2_Pos 8 -#define ARM_NAND_CODE_ADDR_COL2_Msk (0xFFUL << ARM_NAND_CODE_ADDR_COL2_Pos) - -/*----- NAND Sequence Execution Code: Row Address -----*/ -#define ARM_NAND_CODE_ADDR_ROW1_Pos 0 -#define ARM_NAND_CODE_ADDR_ROW1_Msk (0xFFUL << ARM_NAND_CODE_ADDR_ROW1_Pos) -#define ARM_NAND_CODE_ADDR_ROW2_Pos 8 -#define ARM_NAND_CODE_ADDR_ROW2_Msk (0xFFUL << ARM_NAND_CODE_ADDR_ROW2_Pos) -#define ARM_NAND_CODE_ADDR_ROW3_Pos 16 -#define ARM_NAND_CODE_ADDR_ROW3_Msk (0xFFUL << ARM_NAND_CODE_ADDR_ROW3_Pos) - - -/****** NAND specific error codes *****/ -#define ARM_NAND_ERROR_ECC (ARM_DRIVER_ERROR_SPECIFIC - 1) ///< ECC generation/correction failed - - -/** -\brief NAND ECC (Error Correction Code) Information -*/ -typedef struct _ARM_NAND_ECC_INFO { - uint32_t type : 2; ///< Type: 1=ECC0 over Main, 2=ECC0 over Main+Spare, 3=ECC0 over Main and ECC1 over Spare - uint32_t page_layout : 1; ///< Page layout: 0=|Main0|Spare0|...|MainN-1|SpareN-1|, 1=|Main0|...|MainN-1|Spare0|...|SpareN-1| - uint32_t page_count : 3; ///< Number of virtual pages: N = 2 ^ page_count - uint32_t page_size : 4; ///< Virtual Page size (Main+Spare): 0=512+16, 1=1k+32, 2=2k+64, 3=4k+128, 4=8k+256, 8=512+28, 9=1k+56, 10=2k+112, 11=4k+224, 12=8k+448, 15=Not used (extended description) - uint32_t reserved : 14; ///< Reserved (must be zero) - uint32_t correctable_bits : 8; ///< Number of correctable bits (based on 512 byte codeword size) - uint16_t codeword_size [2]; ///< Number of bytes over which ECC is calculated - uint16_t ecc_size [2]; ///< ECC size in bytes (rounded up) - uint16_t ecc_offset [2]; ///< ECC offset in bytes (where ECC starts in Spare) - /* Extended description */ - uint16_t virtual_page_size [2]; ///< Virtual Page size in bytes (Main/Spare) - uint16_t codeword_offset [2]; ///< Codeword offset in bytes (where ECC protected data starts in Main/Spare) - uint16_t codeword_gap [2]; ///< Codeword gap in bytes till next protected data - uint16_t ecc_gap [2]; ///< ECC gap in bytes till next generated ECC -} ARM_NAND_ECC_INFO; - - -/** -\brief NAND Status -*/ -typedef struct _ARM_NAND_STATUS { - uint32_t busy : 1; ///< Driver busy flag - uint32_t ecc_error : 1; ///< ECC error detected (cleared on next Read/WriteData or ExecuteSequence) - uint32_t reserved : 30; -} ARM_NAND_STATUS; - - -/****** NAND Event *****/ -#define ARM_NAND_EVENT_DEVICE_READY (1UL << 0) ///< Device Ready: R/Bn rising edge -#define ARM_NAND_EVENT_DRIVER_READY (1UL << 1) ///< Driver Ready -#define ARM_NAND_EVENT_DRIVER_DONE (1UL << 2) ///< Driver operation done -#define ARM_NAND_EVENT_ECC_ERROR (1UL << 3) ///< ECC could not correct data - - -// Function documentation -/** - \fn ARM_DRIVER_VERSION ARM_NAND_GetVersion (void) - \brief Get driver version. - \return \ref ARM_DRIVER_VERSION -*/ -/** - \fn ARM_NAND_CAPABILITIES ARM_NAND_GetCapabilities (void) - \brief Get driver capabilities. - \return \ref ARM_NAND_CAPABILITIES -*/ -/** - \fn int32_t ARM_NAND_Initialize (ARM_NAND_SignalEvent_t cb_event) - \brief Initialize the NAND Interface. - \param[in] cb_event Pointer to \ref ARM_NAND_SignalEvent - \return \ref execution_status -*/ -/** - \fn int32_t ARM_NAND_Uninitialize (void) - \brief De-initialize the NAND Interface. - \return \ref execution_status -*/ -/** - \fn int32_t ARM_NAND_PowerControl (ARM_POWER_STATE state) - \brief Control the NAND interface power. - \param[in] state Power state - \return \ref execution_status -*/ -/** - \fn int32_t ARM_NAND_DevicePower (uint32_t voltage) - \brief Set device power supply voltage. - \param[in] voltage NAND Device supply voltage - \return \ref execution_status -*/ -/** - \fn int32_t ARM_NAND_WriteProtect (uint32_t dev_num, bool enable) - \brief Control WPn (Write Protect). - \param[in] dev_num Device number - \param[in] enable - - \b false Write Protect off - - \b true Write Protect on - \return \ref execution_status -*/ -/** - \fn int32_t ARM_NAND_ChipEnable (uint32_t dev_num, bool enable) - \brief Control CEn (Chip Enable). - \param[in] dev_num Device number - \param[in] enable - - \b false Chip Enable off - - \b true Chip Enable on - \return \ref execution_status -*/ -/** - \fn int32_t ARM_NAND_GetDeviceBusy (uint32_t dev_num) - \brief Get Device Busy pin state. - \param[in] dev_num Device number - \return 1=busy, 0=not busy, or error -*/ -/** - \fn int32_t ARM_NAND_SendCommand (uint32_t dev_num, uint8_t cmd) - \brief Send command to NAND device. - \param[in] dev_num Device number - \param[in] cmd Command - \return \ref execution_status -*/ -/** - \fn int32_t ARM_NAND_SendAddress (uint32_t dev_num, uint8_t addr) - \brief Send address to NAND device. - \param[in] dev_num Device number - \param[in] addr Address - \return \ref execution_status -*/ -/** - \fn int32_t ARM_NAND_ReadData (uint32_t dev_num, void *data, uint32_t cnt, uint32_t mode) - \brief Read data from NAND device. - \param[in] dev_num Device number - \param[out] data Pointer to buffer for data to read from NAND device - \param[in] cnt Number of data items to read - \param[in] mode Operation mode - \return number of data items read or \ref execution_status -*/ -/** - \fn int32_t ARM_NAND_WriteData (uint32_t dev_num, const void *data, uint32_t cnt, uint32_t mode) - \brief Write data to NAND device. - \param[in] dev_num Device number - \param[out] data Pointer to buffer with data to write to NAND device - \param[in] cnt Number of data items to write - \param[in] mode Operation mode - \return number of data items written or \ref execution_status -*/ -/** - \fn int32_t ARM_NAND_ExecuteSequence (uint32_t dev_num, uint32_t code, uint32_t cmd, - uint32_t addr_col, uint32_t addr_row, - void *data, uint32_t data_cnt, - uint8_t *status, uint32_t *count) - \brief Execute sequence of operations. - \param[in] dev_num Device number - \param[in] code Sequence code - \param[in] cmd Command(s) - \param[in] addr_col Column address - \param[in] addr_row Row address - \param[in,out] data Pointer to data to be written or read - \param[in] data_cnt Number of data items in one iteration - \param[out] status Pointer to status read - \param[in,out] count Number of iterations - \return \ref execution_status -*/ -/** - \fn int32_t ARM_NAND_AbortSequence (uint32_t dev_num) - \brief Abort sequence execution. - \param[in] dev_num Device number - \return \ref execution_status -*/ -/** - \fn int32_t ARM_NAND_Control (uint32_t dev_num, uint32_t control, uint32_t arg) - \brief Control NAND Interface. - \param[in] dev_num Device number - \param[in] control Operation - \param[in] arg Argument of operation - \return \ref execution_status -*/ -/** - \fn ARM_NAND_STATUS ARM_NAND_GetStatus (uint32_t dev_num) - \brief Get NAND status. - \param[in] dev_num Device number - \return NAND status \ref ARM_NAND_STATUS -*/ -/** - \fn int32_t ARM_NAND_InquireECC (int32_t index, ARM_NAND_ECC_INFO *info) - \brief Inquire about available ECC. - \param[in] index Inquire ECC index - \param[out] info Pointer to ECC information \ref ARM_NAND_ECC_INFO retrieved - \return \ref execution_status -*/ - -/** - \fn void ARM_NAND_SignalEvent (uint32_t dev_num, uint32_t event) - \brief Signal NAND event. - \param[in] dev_num Device number - \param[in] event Event notification mask - \return none -*/ - -typedef void (*ARM_NAND_SignalEvent_t) (uint32_t dev_num, uint32_t event); ///< Pointer to \ref ARM_NAND_SignalEvent : Signal NAND Event. - - -/** -\brief NAND Driver Capabilities. -*/ -typedef struct _ARM_NAND_CAPABILITIES { - uint32_t event_device_ready : 1; ///< Signal Device Ready event (R/Bn rising edge) - uint32_t reentrant_operation : 1; ///< Supports re-entrant operation (SendCommand/Address, Read/WriteData) - uint32_t sequence_operation : 1; ///< Supports Sequence operation (ExecuteSequence, AbortSequence) - uint32_t vcc : 1; ///< Supports VCC Power Supply Control - uint32_t vcc_1v8 : 1; ///< Supports 1.8 VCC Power Supply - uint32_t vccq : 1; ///< Supports VCCQ I/O Power Supply Control - uint32_t vccq_1v8 : 1; ///< Supports 1.8 VCCQ I/O Power Supply - uint32_t vpp : 1; ///< Supports VPP High Voltage Power Supply Control - uint32_t wp : 1; ///< Supports WPn (Write Protect) Control - uint32_t ce_lines : 4; ///< Number of CEn (Chip Enable) lines: ce_lines + 1 - uint32_t ce_manual : 1; ///< Supports manual CEn (Chip Enable) Control - uint32_t rb_monitor : 1; ///< Supports R/Bn (Ready/Busy) Monitoring - uint32_t data_width_16 : 1; ///< Supports 16-bit data - uint32_t ddr : 1; ///< Supports NV-DDR Data Interface (ONFI) - uint32_t ddr2 : 1; ///< Supports NV-DDR2 Data Interface (ONFI) - uint32_t sdr_timing_mode : 3; ///< Fastest (highest) SDR Timing Mode supported (ONFI) - uint32_t ddr_timing_mode : 3; ///< Fastest (highest) NV_DDR Timing Mode supported (ONFI) - uint32_t ddr2_timing_mode : 3; ///< Fastest (highest) NV_DDR2 Timing Mode supported (ONFI) - uint32_t driver_strength_18 : 1; ///< Supports Driver Strength 2.0x = 18 Ohms - uint32_t driver_strength_25 : 1; ///< Supports Driver Strength 1.4x = 25 Ohms - uint32_t driver_strength_50 : 1; ///< Supports Driver Strength 0.7x = 50 Ohms - uint32_t reserved : 2; ///< Reserved (must be zero) -} ARM_NAND_CAPABILITIES; - - -/** -\brief Access structure of the NAND Driver. -*/ -typedef struct _ARM_DRIVER_NAND { - ARM_DRIVER_VERSION (*GetVersion) (void); ///< Pointer to \ref ARM_NAND_GetVersion : Get driver version. - ARM_NAND_CAPABILITIES (*GetCapabilities)(void); ///< Pointer to \ref ARM_NAND_GetCapabilities : Get driver capabilities. - int32_t (*Initialize) (ARM_NAND_SignalEvent_t cb_event); ///< Pointer to \ref ARM_NAND_Initialize : Initialize NAND Interface. - int32_t (*Uninitialize) (void); ///< Pointer to \ref ARM_NAND_Uninitialize : De-initialize NAND Interface. - int32_t (*PowerControl) (ARM_POWER_STATE state); ///< Pointer to \ref ARM_NAND_PowerControl : Control NAND Interface Power. - int32_t (*DevicePower) (uint32_t voltage); ///< Pointer to \ref ARM_NAND_DevicePower : Set device power supply voltage. - int32_t (*WriteProtect) (uint32_t dev_num, bool enable); ///< Pointer to \ref ARM_NAND_WriteProtect : Control WPn (Write Protect). - int32_t (*ChipEnable) (uint32_t dev_num, bool enable); ///< Pointer to \ref ARM_NAND_ChipEnable : Control CEn (Chip Enable). - int32_t (*GetDeviceBusy) (uint32_t dev_num); ///< Pointer to \ref ARM_NAND_GetDeviceBusy : Get Device Busy pin state. - int32_t (*SendCommand) (uint32_t dev_num, uint8_t cmd); ///< Pointer to \ref ARM_NAND_SendCommand : Send command to NAND device. - int32_t (*SendAddress) (uint32_t dev_num, uint8_t addr); ///< Pointer to \ref ARM_NAND_SendAddress : Send address to NAND device. - int32_t (*ReadData) (uint32_t dev_num, void *data, uint32_t cnt, uint32_t mode); ///< Pointer to \ref ARM_NAND_ReadData : Read data from NAND device. - int32_t (*WriteData) (uint32_t dev_num, const void *data, uint32_t cnt, uint32_t mode); ///< Pointer to \ref ARM_NAND_WriteData : Write data to NAND device. - int32_t (*ExecuteSequence)(uint32_t dev_num, uint32_t code, uint32_t cmd, - uint32_t addr_col, uint32_t addr_row, - void *data, uint32_t data_cnt, - uint8_t *status, uint32_t *count); ///< Pointer to \ref ARM_NAND_ExecuteSequence : Execute sequence of operations. - int32_t (*AbortSequence) (uint32_t dev_num); ///< Pointer to \ref ARM_NAND_AbortSequence : Abort sequence execution. - int32_t (*Control) (uint32_t dev_num, uint32_t control, uint32_t arg); ///< Pointer to \ref ARM_NAND_Control : Control NAND Interface. - ARM_NAND_STATUS (*GetStatus) (uint32_t dev_num); ///< Pointer to \ref ARM_NAND_GetStatus : Get NAND status. - int32_t (*InquireECC) ( int32_t index, ARM_NAND_ECC_INFO *info); ///< Pointer to \ref ARM_NAND_InquireECC : Inquire about available ECC. -} const ARM_DRIVER_NAND; - -#ifdef __cplusplus -} -#endif - -#endif /* DRIVER_NAND_H_ */ diff --git a/external/CMSIS_5/CMSIS/Driver/Include/Driver_SAI.h b/external/CMSIS_5/CMSIS/Driver/Include/Driver_SAI.h deleted file mode 100644 index 6aff8c2..0000000 --- a/external/CMSIS_5/CMSIS/Driver/Include/Driver_SAI.h +++ /dev/null @@ -1,315 +0,0 @@ -/* - * Copyright (c) 2013-2020 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * $Date: 31. March 2020 - * $Revision: V1.2 - * - * Project: SAI (Serial Audio Interface) Driver definitions - */ - -/* History: - * Version 1.2 - * Removed volatile from ARM_SAI_STATUS - * Version 1.1 - * ARM_SAI_STATUS made volatile - * Version 1.0 - * Initial release - */ - -#ifndef DRIVER_SAI_H_ -#define DRIVER_SAI_H_ - -#ifdef __cplusplus -extern "C" -{ -#endif - -#include "Driver_Common.h" - -#define ARM_SAI_API_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(1,2) /* API version */ - - -#define _ARM_Driver_SAI_(n) Driver_SAI##n -#define ARM_Driver_SAI_(n) _ARM_Driver_SAI_(n) - - -/****** SAI Control Codes *****/ - -#define ARM_SAI_CONTROL_Msk (0xFFUL) -#define ARM_SAI_CONFIGURE_TX (0x01UL) ///< Configure Transmitter; arg1 and arg2 provide additional configuration -#define ARM_SAI_CONFIGURE_RX (0x02UL) ///< Configure Receiver; arg1 and arg2 provide additional configuration -#define ARM_SAI_CONTROL_TX (0x03UL) ///< Control Transmitter; arg1.0: 0=disable (default), 1=enable; arg1.1: mute -#define ARM_SAI_CONTROL_RX (0x04UL) ///< Control Receiver; arg1.0: 0=disable (default), 1=enable -#define ARM_SAI_MASK_SLOTS_TX (0x05UL) ///< Mask Transmitter slots; arg1 = mask (bit: 0=active, 1=inactive); all configured slots are active by default -#define ARM_SAI_MASK_SLOTS_RX (0x06UL) ///< Mask Receiver slots; arg1 = mask (bit: 0=active, 1=inactive); all configured slots are active by default -#define ARM_SAI_ABORT_SEND (0x07UL) ///< Abort \ref ARM_SAI_Send -#define ARM_SAI_ABORT_RECEIVE (0x08UL) ///< Abort \ref ARM_SAI_Receive - -/*----- SAI Control Codes: Configuration Parameters: Mode -----*/ -#define ARM_SAI_MODE_Pos 8 -#define ARM_SAI_MODE_Msk (1UL << ARM_SAI_MODE_Pos) -#define ARM_SAI_MODE_MASTER (1UL << ARM_SAI_MODE_Pos) ///< Master Mode -#define ARM_SAI_MODE_SLAVE (0UL << ARM_SAI_MODE_Pos) ///< Slave Mode (default) - -/*----- SAI Control Codes: Configuration Parameters: Synchronization -----*/ -#define ARM_SAI_SYNCHRONIZATION_Pos 9 -#define ARM_SAI_SYNCHRONIZATION_Msk (1UL << ARM_SAI_SYNCHRONIZATION_Pos) -#define ARM_SAI_ASYNCHRONOUS (0UL << ARM_SAI_SYNCHRONIZATION_Pos) ///< Asynchronous (default) -#define ARM_SAI_SYNCHRONOUS (1UL << ARM_SAI_SYNCHRONIZATION_Pos) ///< Synchronous - -/*----- SAI Control Codes: Configuration Parameters: Protocol -----*/ -#define ARM_SAI_PROTOCOL_Pos 10 -#define ARM_SAI_PROTOCOL_Msk (7UL << ARM_SAI_PROTOCOL_Pos) -#define ARM_SAI_PROTOCOL_USER (0UL << ARM_SAI_PROTOCOL_Pos) ///< User defined (default) -#define ARM_SAI_PROTOCOL_I2S (1UL << ARM_SAI_PROTOCOL_Pos) ///< I2S -#define ARM_SAI_PROTOCOL_MSB_JUSTIFIED (2UL << ARM_SAI_PROTOCOL_Pos) ///< MSB (left) justified -#define ARM_SAI_PROTOCOL_LSB_JUSTIFIED (3UL << ARM_SAI_PROTOCOL_Pos) ///< LSB (right) justified -#define ARM_SAI_PROTOCOL_PCM_SHORT (4UL << ARM_SAI_PROTOCOL_Pos) ///< PCM with short frame -#define ARM_SAI_PROTOCOL_PCM_LONG (5UL << ARM_SAI_PROTOCOL_Pos) ///< PCM with long frame -#define ARM_SAI_PROTOCOL_AC97 (6UL << ARM_SAI_PROTOCOL_Pos) ///< AC'97 - -/*----- SAI Control Codes: Configuration Parameters: Data Size -----*/ -#define ARM_SAI_DATA_SIZE_Pos 13 -#define ARM_SAI_DATA_SIZE_Msk (0x1FUL << ARM_SAI_DATA_SIZE_Pos) -#define ARM_SAI_DATA_SIZE(n) ((((n)-1UL)&0x1FUL) << ARM_SAI_DATA_SIZE_Pos) ///< Data size in bits (8..32) - -/*----- SAI Control Codes: Configuration Parameters: Bit Order -----*/ -#define ARM_SAI_BIT_ORDER_Pos 18 -#define ARM_SAI_BIT_ORDER_Msk (1UL << ARM_SAI_BIT_ORDER_Pos) -#define ARM_SAI_MSB_FIRST (0UL << ARM_SAI_BIT_ORDER_Pos) ///< Data is transferred with MSB first (default) -#define ARM_SAI_LSB_FIRST (1UL << ARM_SAI_BIT_ORDER_Pos) ///< Data is transferred with LSB first; User Protocol only (ignored otherwise) - -/*----- SAI Control Codes: Configuration Parameters: Mono Mode -----*/ -#define ARM_SAI_MONO_MODE (1UL << 19) ///< Mono Mode (only for I2S, MSB/LSB justified) - -/*----- SAI Control Codes:Configuration Parameters: Companding -----*/ -#define ARM_SAI_COMPANDING_Pos 20 -#define ARM_SAI_COMPANDING_Msk (3UL << ARM_SAI_COMPANDING_Pos) -#define ARM_SAI_COMPANDING_NONE (0UL << ARM_SAI_COMPANDING_Pos) ///< No companding (default) -#define ARM_SAI_COMPANDING_A_LAW (2UL << ARM_SAI_COMPANDING_Pos) ///< A-Law companding -#define ARM_SAI_COMPANDING_U_LAW (3UL << ARM_SAI_COMPANDING_Pos) ///< u-Law companding - -/*----- SAI Control Codes: Configuration Parameters: Clock Polarity -----*/ -#define ARM_SAI_CLOCK_POLARITY_Pos 23 -#define ARM_SAI_CLOCK_POLARITY_Msk (1UL << ARM_SAI_CLOCK_POLARITY_Pos) -#define ARM_SAI_CLOCK_POLARITY_0 (0UL << ARM_SAI_CLOCK_POLARITY_Pos) ///< Drive on falling edge, Capture on rising edge (default) -#define ARM_SAI_CLOCK_POLARITY_1 (1UL << ARM_SAI_CLOCK_POLARITY_Pos) ///< Drive on rising edge, Capture on falling edge - -/*----- SAI Control Codes: Configuration Parameters: Master Clock Pin -----*/ -#define ARM_SAI_MCLK_PIN_Pos 24 -#define ARM_SAI_MCLK_PIN_Msk (3UL << ARM_SAI_MCLK_PIN_Pos) -#define ARM_SAI_MCLK_PIN_INACTIVE (0UL << ARM_SAI_MCLK_PIN_Pos) ///< MCLK not used (default) -#define ARM_SAI_MCLK_PIN_OUTPUT (1UL << ARM_SAI_MCLK_PIN_Pos) ///< MCLK is output (Master only) -#define ARM_SAI_MCLK_PIN_INPUT (2UL << ARM_SAI_MCLK_PIN_Pos) ///< MCLK is input (Master only) - - -/****** SAI Configuration (arg1) *****/ - -/*----- SAI Configuration (arg1): Frame Length -----*/ -#define ARM_SAI_FRAME_LENGTH_Pos 0 -#define ARM_SAI_FRAME_LENGTH_Msk (0x3FFUL << ARM_SAI_FRAME_LENGTH_Pos) -#define ARM_SAI_FRAME_LENGTH(n) ((((n)-1UL)&0x3FFUL) << ARM_SAI_FRAME_LENGTH_Pos) ///< Frame length in bits (8..1024); default depends on protocol and data - -/*----- SAI Configuration (arg1): Frame Sync Width -----*/ -#define ARM_SAI_FRAME_SYNC_WIDTH_Pos 10 -#define ARM_SAI_FRAME_SYNC_WIDTH_Msk (0xFFUL << ARM_SAI_FRAME_SYNC_WIDTH_Pos) -#define ARM_SAI_FRAME_SYNC_WIDTH(n) ((((n)-1UL)&0xFFUL) << ARM_SAI_FRAME_SYNC_WIDTH_Pos) ///< Frame Sync width in bits (1..256); default=1; User Protocol only (ignored otherwise) - -/*----- SAI Configuration (arg1): Frame Sync Polarity -----*/ -#define ARM_SAI_FRAME_SYNC_POLARITY_Pos 18 -#define ARM_SAI_FRAME_SYNC_POLARITY_Msk (1UL << ARM_SAI_FRAME_SYNC_POLARITY_Pos) -#define ARM_SAI_FRAME_SYNC_POLARITY_HIGH (0UL << ARM_SAI_FRAME_SYNC_POLARITY_Pos) ///< Frame Sync is active high (default); User Protocol only (ignored otherwise) -#define ARM_SAI_FRAME_SYNC_POLARITY_LOW (1UL << ARM_SAI_FRAME_SYNC_POLARITY_Pos) ///< Frame Sync is active low; User Protocol only (ignored otherwise) - -/*----- SAI Configuration (arg1): Frame Sync Early -----*/ -#define ARM_SAI_FRAME_SYNC_EARLY (1UL << 19) ///< Frame Sync one bit before the first bit of the frame; User Protocol only (ignored otherwise) - -/*----- SAI Configuration (arg1): Slot Count -----*/ -#define ARM_SAI_SLOT_COUNT_Pos 20 -#define ARM_SAI_SLOT_COUNT_Msk (0x1FUL << ARM_SAI_SLOT_COUNT_Pos) -#define ARM_SAI_SLOT_COUNT(n) ((((n)-1UL)&0x1FUL) << ARM_SAI_SLOT_COUNT_Pos) ///< Number of slots in frame (1..32); default=1; User Protocol only (ignored otherwise) - -/*----- SAI Configuration (arg1): Slot Size -----*/ -#define ARM_SAI_SLOT_SIZE_Pos 25 -#define ARM_SAI_SLOT_SIZE_Msk (3UL << ARM_SAI_SLOT_SIZE_Pos) -#define ARM_SAI_SLOT_SIZE_DEFAULT (0UL << ARM_SAI_SLOT_SIZE_Pos) ///< Slot size is equal to data size (default) -#define ARM_SAI_SLOT_SIZE_16 (1UL << ARM_SAI_SLOT_SIZE_Pos) ///< Slot size = 16 bits; User Protocol only (ignored otherwise) -#define ARM_SAI_SLOT_SIZE_32 (3UL << ARM_SAI_SLOT_SIZE_Pos) ///< Slot size = 32 bits; User Protocol only (ignored otherwise) - -/*----- SAI Configuration (arg1): Slot Offset -----*/ -#define ARM_SAI_SLOT_OFFSET_Pos 27 -#define ARM_SAI_SLOT_OFFSET_Msk (0x1FUL << ARM_SAI_SLOT_OFFSET_Pos) -#define ARM_SAI_SLOT_OFFSET(n) (((n)&0x1FUL) << ARM_SAI_SLOT_OFFSET_Pos) ///< Offset of first data bit in slot (0..31); default=0; User Protocol only (ignored otherwise) - -/****** SAI Configuration (arg2) *****/ - -/*----- SAI Control Codes: Configuration Parameters: Audio Frequency (Master only) -----*/ -#define ARM_SAI_AUDIO_FREQ_Msk (0x0FFFFFUL) ///< Audio frequency mask - -/*----- SAI Control Codes: Configuration Parameters: Master Clock Prescaler (Master only and MCLK Pin) -----*/ -#define ARM_SAI_MCLK_PRESCALER_Pos 20 -#define ARM_SAI_MCLK_PRESCALER_Msk (0xFFFUL << ARM_SAI_MCLK_PRESCALER_Pos) -#define ARM_SAI_MCLK_PRESCALER(n) ((((n)-1UL)&0xFFFUL) << ARM_SAI_MCLK_PRESCALER_Pos) ///< MCLK prescaler; Audio_frequency = MCLK/n; n = 1..4096 (default=1) - - -/****** SAI specific error codes *****/ -#define ARM_SAI_ERROR_SYNCHRONIZATION (ARM_DRIVER_ERROR_SPECIFIC - 1) ///< Specified Synchronization not supported -#define ARM_SAI_ERROR_PROTOCOL (ARM_DRIVER_ERROR_SPECIFIC - 2) ///< Specified Protocol not supported -#define ARM_SAI_ERROR_DATA_SIZE (ARM_DRIVER_ERROR_SPECIFIC - 3) ///< Specified Data size not supported -#define ARM_SAI_ERROR_BIT_ORDER (ARM_DRIVER_ERROR_SPECIFIC - 4) ///< Specified Bit order not supported -#define ARM_SAI_ERROR_MONO_MODE (ARM_DRIVER_ERROR_SPECIFIC - 5) ///< Specified Mono mode not supported -#define ARM_SAI_ERROR_COMPANDING (ARM_DRIVER_ERROR_SPECIFIC - 6) ///< Specified Companding not supported -#define ARM_SAI_ERROR_CLOCK_POLARITY (ARM_DRIVER_ERROR_SPECIFIC - 7) ///< Specified Clock polarity not supported -#define ARM_SAI_ERROR_AUDIO_FREQ (ARM_DRIVER_ERROR_SPECIFIC - 8) ///< Specified Audio frequency not supported -#define ARM_SAI_ERROR_MCLK_PIN (ARM_DRIVER_ERROR_SPECIFIC - 9) ///< Specified MCLK Pin setting not supported -#define ARM_SAI_ERROR_MCLK_PRESCALER (ARM_DRIVER_ERROR_SPECIFIC - 10) ///< Specified MCLK Prescaler not supported -#define ARM_SAI_ERROR_FRAME_LENGTH (ARM_DRIVER_ERROR_SPECIFIC - 11) ///< Specified Frame length not supported -#define ARM_SAI_ERROR_FRAME_LENGHT (ARM_DRIVER_ERROR_SPECIFIC - 11) ///< Specified Frame length not supported @deprecated use \ref ARM_SAI_ERROR_FRAME_LENGTH instead -#define ARM_SAI_ERROR_FRAME_SYNC_WIDTH (ARM_DRIVER_ERROR_SPECIFIC - 12) ///< Specified Frame Sync width not supported -#define ARM_SAI_ERROR_FRAME_SYNC_POLARITY (ARM_DRIVER_ERROR_SPECIFIC - 13) ///< Specified Frame Sync polarity not supported -#define ARM_SAI_ERROR_FRAME_SYNC_EARLY (ARM_DRIVER_ERROR_SPECIFIC - 14) ///< Specified Frame Sync early not supported -#define ARM_SAI_ERROR_SLOT_COUNT (ARM_DRIVER_ERROR_SPECIFIC - 15) ///< Specified Slot count not supported -#define ARM_SAI_ERROR_SLOT_SIZE (ARM_DRIVER_ERROR_SPECIFIC - 16) ///< Specified Slot size not supported -#define ARM_SAI_ERROR_SLOT_OFFESET (ARM_DRIVER_ERROR_SPECIFIC - 17) ///< Specified Slot offset not supported - - -/** -\brief SAI Status -*/ -typedef struct _ARM_SAI_STATUS { - uint32_t tx_busy : 1; ///< Transmitter busy flag - uint32_t rx_busy : 1; ///< Receiver busy flag - uint32_t tx_underflow : 1; ///< Transmit data underflow detected (cleared on start of next send operation) - uint32_t rx_overflow : 1; ///< Receive data overflow detected (cleared on start of next receive operation) - uint32_t frame_error : 1; ///< Sync Frame error detected (cleared on start of next send/receive operation) - uint32_t reserved : 27; -} ARM_SAI_STATUS; - - -/****** SAI Event *****/ -#define ARM_SAI_EVENT_SEND_COMPLETE (1UL << 0) ///< Send completed -#define ARM_SAI_EVENT_RECEIVE_COMPLETE (1UL << 1) ///< Receive completed -#define ARM_SAI_EVENT_TX_UNDERFLOW (1UL << 2) ///< Transmit data not available -#define ARM_SAI_EVENT_RX_OVERFLOW (1UL << 3) ///< Receive data overflow -#define ARM_SAI_EVENT_FRAME_ERROR (1UL << 4) ///< Sync Frame error in Slave mode (optional) - - -// Function documentation -/** - \fn ARM_DRIVER_VERSION ARM_SAI_GetVersion (void) - \brief Get driver version. - \return \ref ARM_DRIVER_VERSION - - \fn ARM_SAI_CAPABILITIES ARM_SAI_GetCapabilities (void) - \brief Get driver capabilities. - \return \ref ARM_SAI_CAPABILITIES - - \fn int32_t ARM_SAI_Initialize (ARM_SAI_SignalEvent_t cb_event) - \brief Initialize SAI Interface. - \param[in] cb_event Pointer to \ref ARM_SAI_SignalEvent - \return \ref execution_status - - \fn int32_t ARM_SAI_Uninitialize (void) - \brief De-initialize SAI Interface. - \return \ref execution_status - - \fn int32_t ARM_SAI_PowerControl (ARM_POWER_STATE state) - \brief Control SAI Interface Power. - \param[in] state Power state - \return \ref execution_status - - \fn int32_t ARM_SAI_Send (const void *data, uint32_t num) - \brief Start sending data to SAI transmitter. - \param[in] data Pointer to buffer with data to send to SAI transmitter - \param[in] num Number of data items to send - \return \ref execution_status - - \fn int32_t ARM_SAI_Receive (void *data, uint32_t num) - \brief Start receiving data from SAI receiver. - \param[out] data Pointer to buffer for data to receive from SAI receiver - \param[in] num Number of data items to receive - \return \ref execution_status - - \fn uint32_t ARM_SAI_GetTxCount (void) - \brief Get transmitted data count. - \return number of data items transmitted - - \fn uint32_t ARM_SAI_GetRxCount (void) - \brief Get received data count. - \return number of data items received - - \fn int32_t ARM_SAI_Control (uint32_t control, uint32_t arg1, uint32_t arg2) - \brief Control SAI Interface. - \param[in] control Operation - \param[in] arg1 Argument 1 of operation (optional) - \param[in] arg2 Argument 2 of operation (optional) - \return common \ref execution_status and driver specific \ref sai_execution_status - - \fn ARM_SAI_STATUS ARM_SAI_GetStatus (void) - \brief Get SAI status. - \return SAI status \ref ARM_SAI_STATUS - - \fn void ARM_SAI_SignalEvent (uint32_t event) - \brief Signal SAI Events. - \param[in] event \ref SAI_events notification mask - \return none -*/ - -typedef void (*ARM_SAI_SignalEvent_t) (uint32_t event); ///< Pointer to \ref ARM_SAI_SignalEvent : Signal SAI Event. - - -/** -\brief SAI Driver Capabilities. -*/ -typedef struct _ARM_SAI_CAPABILITIES { - uint32_t asynchronous : 1; ///< supports asynchronous Transmit/Receive - uint32_t synchronous : 1; ///< supports synchronous Transmit/Receive - uint32_t protocol_user : 1; ///< supports user defined Protocol - uint32_t protocol_i2s : 1; ///< supports I2S Protocol - uint32_t protocol_justified : 1; ///< supports MSB/LSB justified Protocol - uint32_t protocol_pcm : 1; ///< supports PCM short/long frame Protocol - uint32_t protocol_ac97 : 1; ///< supports AC'97 Protocol - uint32_t mono_mode : 1; ///< supports Mono mode - uint32_t companding : 1; ///< supports Companding - uint32_t mclk_pin : 1; ///< supports MCLK (Master Clock) pin - uint32_t event_frame_error : 1; ///< supports Frame error event: \ref ARM_SAI_EVENT_FRAME_ERROR - uint32_t reserved : 21; ///< Reserved (must be zero) -} ARM_SAI_CAPABILITIES; - - -/** -\brief Access structure of the SAI Driver. -*/ -typedef struct _ARM_DRIVER_SAI { - ARM_DRIVER_VERSION (*GetVersion) (void); ///< Pointer to \ref ARM_SAI_GetVersion : Get driver version. - ARM_SAI_CAPABILITIES (*GetCapabilities) (void); ///< Pointer to \ref ARM_SAI_GetCapabilities : Get driver capabilities. - int32_t (*Initialize) (ARM_SAI_SignalEvent_t cb_event); ///< Pointer to \ref ARM_SAI_Initialize : Initialize SAI Interface. - int32_t (*Uninitialize) (void); ///< Pointer to \ref ARM_SAI_Uninitialize : De-initialize SAI Interface. - int32_t (*PowerControl) (ARM_POWER_STATE state); ///< Pointer to \ref ARM_SAI_PowerControl : Control SAI Interface Power. - int32_t (*Send) (const void *data, uint32_t num); ///< Pointer to \ref ARM_SAI_Send : Start sending data to SAI Interface. - int32_t (*Receive) ( void *data, uint32_t num); ///< Pointer to \ref ARM_SAI_Receive : Start receiving data from SAI Interface. - uint32_t (*GetTxCount) (void); ///< Pointer to \ref ARM_SAI_GetTxCount : Get transmitted data count. - uint32_t (*GetRxCount) (void); ///< Pointer to \ref ARM_SAI_GetRxCount : Get received data count. - int32_t (*Control) (uint32_t control, uint32_t arg1, uint32_t arg2); ///< Pointer to \ref ARM_SAI_Control : Control SAI Interface. - ARM_SAI_STATUS (*GetStatus) (void); ///< Pointer to \ref ARM_SAI_GetStatus : Get SAI status. -} const ARM_DRIVER_SAI; - -#ifdef __cplusplus -} -#endif - -#endif /* DRIVER_SAI_H_ */ diff --git a/external/CMSIS_5/CMSIS/Driver/Include/Driver_SPI.h b/external/CMSIS_5/CMSIS/Driver/Include/Driver_SPI.h deleted file mode 100644 index 1c8517e..0000000 --- a/external/CMSIS_5/CMSIS/Driver/Include/Driver_SPI.h +++ /dev/null @@ -1,254 +0,0 @@ -/* - * Copyright (c) 2013-2020 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * $Date: 31. March 2020 - * $Revision: V2.3 - * - * Project: SPI (Serial Peripheral Interface) Driver definitions - */ - -/* History: - * Version 2.3 - * Removed Simplex Mode (deprecated) - * Removed volatile from ARM_SPI_STATUS - * Version 2.2 - * ARM_SPI_STATUS made volatile - * Version 2.1 - * Renamed status flag "tx_rx_busy" to "busy" - * Version 2.0 - * New simplified driver: - * complexity moved to upper layer (especially data handling) - * more unified API for different communication interfaces - * Added: - * Slave Mode - * Half-duplex Modes - * Configurable number of data bits - * Support for TI Mode and Microwire - * Changed prefix ARM_DRV -> ARM_DRIVER - * Version 1.10 - * Namespace prefix ARM_ added - * Version 1.01 - * Added "send_done_event" to Capabilities - * Version 1.00 - * Initial release - */ - -#ifndef DRIVER_SPI_H_ -#define DRIVER_SPI_H_ - -#ifdef __cplusplus -extern "C" -{ -#endif - -#include "Driver_Common.h" - -#define ARM_SPI_API_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(2,3) /* API version */ - - -#define _ARM_Driver_SPI_(n) Driver_SPI##n -#define ARM_Driver_SPI_(n) _ARM_Driver_SPI_(n) - - -/****** SPI Control Codes *****/ - -#define ARM_SPI_CONTROL_Pos 0 -#define ARM_SPI_CONTROL_Msk (0xFFUL << ARM_SPI_CONTROL_Pos) - -/*----- SPI Control Codes: Mode -----*/ -#define ARM_SPI_MODE_INACTIVE (0x00UL << ARM_SPI_CONTROL_Pos) ///< SPI Inactive -#define ARM_SPI_MODE_MASTER (0x01UL << ARM_SPI_CONTROL_Pos) ///< SPI Master (Output on MOSI, Input on MISO); arg = Bus Speed in bps -#define ARM_SPI_MODE_SLAVE (0x02UL << ARM_SPI_CONTROL_Pos) ///< SPI Slave (Output on MISO, Input on MOSI) -#define ARM_SPI_MODE_MASTER_SIMPLEX (0x03UL << ARM_SPI_CONTROL_Pos) ///< SPI Master (Output/Input on MOSI); arg = Bus Speed in bps @deprecated Simplex Mode has been removed -#define ARM_SPI_MODE_SLAVE_SIMPLEX (0x04UL << ARM_SPI_CONTROL_Pos) ///< SPI Slave (Output/Input on MISO) @deprecated Simplex Mode has been removed - -/*----- SPI Control Codes: Mode Parameters: Frame Format -----*/ -#define ARM_SPI_FRAME_FORMAT_Pos 8 -#define ARM_SPI_FRAME_FORMAT_Msk (7UL << ARM_SPI_FRAME_FORMAT_Pos) -#define ARM_SPI_CPOL0_CPHA0 (0UL << ARM_SPI_FRAME_FORMAT_Pos) ///< Clock Polarity 0, Clock Phase 0 (default) -#define ARM_SPI_CPOL0_CPHA1 (1UL << ARM_SPI_FRAME_FORMAT_Pos) ///< Clock Polarity 0, Clock Phase 1 -#define ARM_SPI_CPOL1_CPHA0 (2UL << ARM_SPI_FRAME_FORMAT_Pos) ///< Clock Polarity 1, Clock Phase 0 -#define ARM_SPI_CPOL1_CPHA1 (3UL << ARM_SPI_FRAME_FORMAT_Pos) ///< Clock Polarity 1, Clock Phase 1 -#define ARM_SPI_TI_SSI (4UL << ARM_SPI_FRAME_FORMAT_Pos) ///< Texas Instruments Frame Format -#define ARM_SPI_MICROWIRE (5UL << ARM_SPI_FRAME_FORMAT_Pos) ///< National Semiconductor Microwire Frame Format - -/*----- SPI Control Codes: Mode Parameters: Data Bits -----*/ -#define ARM_SPI_DATA_BITS_Pos 12 -#define ARM_SPI_DATA_BITS_Msk (0x3FUL << ARM_SPI_DATA_BITS_Pos) -#define ARM_SPI_DATA_BITS(n) (((n) & 0x3FUL) << ARM_SPI_DATA_BITS_Pos) ///< Number of Data bits - -/*----- SPI Control Codes: Mode Parameters: Bit Order -----*/ -#define ARM_SPI_BIT_ORDER_Pos 18 -#define ARM_SPI_BIT_ORDER_Msk (1UL << ARM_SPI_BIT_ORDER_Pos) -#define ARM_SPI_MSB_LSB (0UL << ARM_SPI_BIT_ORDER_Pos) ///< SPI Bit order from MSB to LSB (default) -#define ARM_SPI_LSB_MSB (1UL << ARM_SPI_BIT_ORDER_Pos) ///< SPI Bit order from LSB to MSB - -/*----- SPI Control Codes: Mode Parameters: Slave Select Mode -----*/ -#define ARM_SPI_SS_MASTER_MODE_Pos 19 -#define ARM_SPI_SS_MASTER_MODE_Msk (3UL << ARM_SPI_SS_MASTER_MODE_Pos) -#define ARM_SPI_SS_MASTER_UNUSED (0UL << ARM_SPI_SS_MASTER_MODE_Pos) ///< SPI Slave Select when Master: Not used (default) -#define ARM_SPI_SS_MASTER_SW (1UL << ARM_SPI_SS_MASTER_MODE_Pos) ///< SPI Slave Select when Master: Software controlled -#define ARM_SPI_SS_MASTER_HW_OUTPUT (2UL << ARM_SPI_SS_MASTER_MODE_Pos) ///< SPI Slave Select when Master: Hardware controlled Output -#define ARM_SPI_SS_MASTER_HW_INPUT (3UL << ARM_SPI_SS_MASTER_MODE_Pos) ///< SPI Slave Select when Master: Hardware monitored Input -#define ARM_SPI_SS_SLAVE_MODE_Pos 21 -#define ARM_SPI_SS_SLAVE_MODE_Msk (1UL << ARM_SPI_SS_SLAVE_MODE_Pos) -#define ARM_SPI_SS_SLAVE_HW (0UL << ARM_SPI_SS_SLAVE_MODE_Pos) ///< SPI Slave Select when Slave: Hardware monitored (default) -#define ARM_SPI_SS_SLAVE_SW (1UL << ARM_SPI_SS_SLAVE_MODE_Pos) ///< SPI Slave Select when Slave: Software controlled - - -/*----- SPI Control Codes: Miscellaneous Controls -----*/ -#define ARM_SPI_SET_BUS_SPEED (0x10UL << ARM_SPI_CONTROL_Pos) ///< Set Bus Speed in bps; arg = value -#define ARM_SPI_GET_BUS_SPEED (0x11UL << ARM_SPI_CONTROL_Pos) ///< Get Bus Speed in bps -#define ARM_SPI_SET_DEFAULT_TX_VALUE (0x12UL << ARM_SPI_CONTROL_Pos) ///< Set default Transmit value; arg = value -#define ARM_SPI_CONTROL_SS (0x13UL << ARM_SPI_CONTROL_Pos) ///< Control Slave Select; arg: 0=inactive, 1=active -#define ARM_SPI_ABORT_TRANSFER (0x14UL << ARM_SPI_CONTROL_Pos) ///< Abort current data transfer - - -/****** SPI Slave Select Signal definitions *****/ -#define ARM_SPI_SS_INACTIVE 0UL ///< SPI Slave Select Signal Inactive -#define ARM_SPI_SS_ACTIVE 1UL ///< SPI Slave Select Signal Active - - -/****** SPI specific error codes *****/ -#define ARM_SPI_ERROR_MODE (ARM_DRIVER_ERROR_SPECIFIC - 1) ///< Specified Mode not supported -#define ARM_SPI_ERROR_FRAME_FORMAT (ARM_DRIVER_ERROR_SPECIFIC - 2) ///< Specified Frame Format not supported -#define ARM_SPI_ERROR_DATA_BITS (ARM_DRIVER_ERROR_SPECIFIC - 3) ///< Specified number of Data bits not supported -#define ARM_SPI_ERROR_BIT_ORDER (ARM_DRIVER_ERROR_SPECIFIC - 4) ///< Specified Bit order not supported -#define ARM_SPI_ERROR_SS_MODE (ARM_DRIVER_ERROR_SPECIFIC - 5) ///< Specified Slave Select Mode not supported - - -/** -\brief SPI Status -*/ -typedef struct _ARM_SPI_STATUS { - uint32_t busy : 1; ///< Transmitter/Receiver busy flag - uint32_t data_lost : 1; ///< Data lost: Receive overflow / Transmit underflow (cleared on start of transfer operation) - uint32_t mode_fault : 1; ///< Mode fault detected; optional (cleared on start of transfer operation) - uint32_t reserved : 29; -} ARM_SPI_STATUS; - - -/****** SPI Event *****/ -#define ARM_SPI_EVENT_TRANSFER_COMPLETE (1UL << 0) ///< Data Transfer completed -#define ARM_SPI_EVENT_DATA_LOST (1UL << 1) ///< Data lost: Receive overflow / Transmit underflow -#define ARM_SPI_EVENT_MODE_FAULT (1UL << 2) ///< Master Mode Fault (SS deactivated when Master) - - -// Function documentation -/** - \fn ARM_DRIVER_VERSION ARM_SPI_GetVersion (void) - \brief Get driver version. - \return \ref ARM_DRIVER_VERSION - - \fn ARM_SPI_CAPABILITIES ARM_SPI_GetCapabilities (void) - \brief Get driver capabilities. - \return \ref ARM_SPI_CAPABILITIES - - \fn int32_t ARM_SPI_Initialize (ARM_SPI_SignalEvent_t cb_event) - \brief Initialize SPI Interface. - \param[in] cb_event Pointer to \ref ARM_SPI_SignalEvent - \return \ref execution_status - - \fn int32_t ARM_SPI_Uninitialize (void) - \brief De-initialize SPI Interface. - \return \ref execution_status - - \fn int32_t ARM_SPI_PowerControl (ARM_POWER_STATE state) - \brief Control SPI Interface Power. - \param[in] state Power state - \return \ref execution_status - - \fn int32_t ARM_SPI_Send (const void *data, uint32_t num) - \brief Start sending data to SPI transmitter. - \param[in] data Pointer to buffer with data to send to SPI transmitter - \param[in] num Number of data items to send - \return \ref execution_status - - \fn int32_t ARM_SPI_Receive (void *data, uint32_t num) - \brief Start receiving data from SPI receiver. - \param[out] data Pointer to buffer for data to receive from SPI receiver - \param[in] num Number of data items to receive - \return \ref execution_status - - \fn int32_t ARM_SPI_Transfer (const void *data_out, - void *data_in, - uint32_t num) - \brief Start sending/receiving data to/from SPI transmitter/receiver. - \param[in] data_out Pointer to buffer with data to send to SPI transmitter - \param[out] data_in Pointer to buffer for data to receive from SPI receiver - \param[in] num Number of data items to transfer - \return \ref execution_status - - \fn uint32_t ARM_SPI_GetDataCount (void) - \brief Get transferred data count. - \return number of data items transferred - - \fn int32_t ARM_SPI_Control (uint32_t control, uint32_t arg) - \brief Control SPI Interface. - \param[in] control Operation - \param[in] arg Argument of operation (optional) - \return common \ref execution_status and driver specific \ref spi_execution_status - - \fn ARM_SPI_STATUS ARM_SPI_GetStatus (void) - \brief Get SPI status. - \return SPI status \ref ARM_SPI_STATUS - - \fn void ARM_SPI_SignalEvent (uint32_t event) - \brief Signal SPI Events. - \param[in] event \ref SPI_events notification mask - \return none -*/ - -typedef void (*ARM_SPI_SignalEvent_t) (uint32_t event); ///< Pointer to \ref ARM_SPI_SignalEvent : Signal SPI Event. - - -/** -\brief SPI Driver Capabilities. -*/ -typedef struct _ARM_SPI_CAPABILITIES { - uint32_t simplex : 1; ///< supports Simplex Mode (Master and Slave) @deprecated Reserved (must be zero) - uint32_t ti_ssi : 1; ///< supports TI Synchronous Serial Interface - uint32_t microwire : 1; ///< supports Microwire Interface - uint32_t event_mode_fault : 1; ///< Signal Mode Fault event: \ref ARM_SPI_EVENT_MODE_FAULT - uint32_t reserved : 28; ///< Reserved (must be zero) -} ARM_SPI_CAPABILITIES; - - -/** -\brief Access structure of the SPI Driver. -*/ -typedef struct _ARM_DRIVER_SPI { - ARM_DRIVER_VERSION (*GetVersion) (void); ///< Pointer to \ref ARM_SPI_GetVersion : Get driver version. - ARM_SPI_CAPABILITIES (*GetCapabilities) (void); ///< Pointer to \ref ARM_SPI_GetCapabilities : Get driver capabilities. - int32_t (*Initialize) (ARM_SPI_SignalEvent_t cb_event); ///< Pointer to \ref ARM_SPI_Initialize : Initialize SPI Interface. - int32_t (*Uninitialize) (void); ///< Pointer to \ref ARM_SPI_Uninitialize : De-initialize SPI Interface. - int32_t (*PowerControl) (ARM_POWER_STATE state); ///< Pointer to \ref ARM_SPI_PowerControl : Control SPI Interface Power. - int32_t (*Send) (const void *data, uint32_t num); ///< Pointer to \ref ARM_SPI_Send : Start sending data to SPI Interface. - int32_t (*Receive) ( void *data, uint32_t num); ///< Pointer to \ref ARM_SPI_Receive : Start receiving data from SPI Interface. - int32_t (*Transfer) (const void *data_out, - void *data_in, - uint32_t num); ///< Pointer to \ref ARM_SPI_Transfer : Start sending/receiving data to/from SPI. - uint32_t (*GetDataCount) (void); ///< Pointer to \ref ARM_SPI_GetDataCount : Get transferred data count. - int32_t (*Control) (uint32_t control, uint32_t arg); ///< Pointer to \ref ARM_SPI_Control : Control SPI Interface. - ARM_SPI_STATUS (*GetStatus) (void); ///< Pointer to \ref ARM_SPI_GetStatus : Get SPI status. -} const ARM_DRIVER_SPI; - -#ifdef __cplusplus -} -#endif - -#endif /* DRIVER_SPI_H_ */ diff --git a/external/CMSIS_5/CMSIS/Driver/Include/Driver_Storage.h b/external/CMSIS_5/CMSIS/Driver/Include/Driver_Storage.h deleted file mode 100644 index 21356a2..0000000 --- a/external/CMSIS_5/CMSIS/Driver/Include/Driver_Storage.h +++ /dev/null @@ -1,434 +0,0 @@ -/* - * Copyright (c) 2013-2020 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * $Date: 24. January 2020 - * $Revision: V1.2 - * - * Project: Storage Driver definitions - */ - -/* History: - * Version 1.2 - * Removed volatile from ARM_STORAGE_STATUS - * Version 1.1 - * ARM_STORAGE_STATUS made volatile - * Version 1.00 - * Initial release - */ - -#ifndef DRIVER_STORAGE_H_ -#define DRIVER_STORAGE_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include "Driver_Common.h" - -#define ARM_STORAGE_API_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(1,2) /* API version */ - - -#define _ARM_Driver_Storage_(n) Driver_Storage##n -#define ARM_Driver_Storage_(n) _ARM_Driver_Storage_(n) - -#define ARM_STORAGE_INVALID_OFFSET (0xFFFFFFFFFFFFFFFFULL) ///< Invalid address (relative to a storage controller's - /// address space). A storage block may never start at this address. - -#define ARM_STORAGE_INVALID_ADDRESS (0xFFFFFFFFUL) ///< Invalid address within the processor's memory address space. - /// Refer to memory-mapped storage, i.e. \ref ARM_DRIVER_STORAGE::ResolveAddress(). - -/****** Storage specific error codes *****/ -#define ARM_STORAGE_ERROR_NOT_ERASABLE (ARM_DRIVER_ERROR_SPECIFIC - 1) ///< Part (or all) of the range provided to Erase() isn't erasable. -#define ARM_STORAGE_ERROR_NOT_PROGRAMMABLE (ARM_DRIVER_ERROR_SPECIFIC - 2) ///< Part (or all) of the range provided to ProgramData() isn't programmable. -#define ARM_STORAGE_ERROR_PROTECTED (ARM_DRIVER_ERROR_SPECIFIC - 3) ///< Part (or all) of the range to Erase() or ProgramData() is protected. - -/** - * \brief Attributes of the storage range within a storage block. - */ -typedef struct _ARM_STORAGE_BLOCK_ATTRIBUTES { - uint32_t erasable : 1; ///< Erasing blocks is permitted with a minimum granularity of 'erase_unit'. - /// @note if 'erasable' is 0 (i.e. the 'erase' operation isn't available) then - /// 'erase_unit' (see below) is immaterial and should be 0. - uint32_t programmable : 1; ///< Writing to ranges is permitted with a minimum granularity of 'program_unit'. - /// Writes are typically achieved through the ProgramData operation (following an erase); - /// if storage isn't erasable (see 'erasable' above) but is memory-mapped - /// (i.e. 'memory_mapped'), it can be written directly using memory-store operations. - uint32_t executable : 1; ///< This storage block can hold program data; the processor can fetch and execute code - /// sourced from it. Often this is accompanied with the device being 'memory_mapped' (see \ref ARM_STORAGE_INFO). - uint32_t protectable : 1; ///< The entire block can be protected from program and erase operations. Once protection - /// is enabled for a block, its 'erasable' and 'programmable' bits are turned off. - uint32_t reserved : 28; - uint32_t erase_unit; ///< Minimum erase size in bytes. - /// The offset of the start of the erase-range should also be aligned with this value. - /// Applicable if the 'erasable' attribute is set for the block. - /// @note if 'erasable' (see above) is 0 (i.e. the 'erase' operation isn't available) then - /// 'erase_unit' is immaterial and should be 0. - uint32_t protection_unit; ///< Minimum protectable size in bytes. Applicable if the 'protectable' - /// attribute is set for the block. This should be a divisor of the block's size. A - /// block can be considered to be made up of consecutive, individually-protectable fragments. -} ARM_STORAGE_BLOCK_ATTRIBUTES; - -/** - * \brief A storage block is a range of memory with uniform attributes. - */ -typedef struct _ARM_STORAGE_BLOCK { - uint64_t addr; ///< This is the start address of the storage block. It is - /// expressed as an offset from the start of the storage map - /// maintained by the owning storage controller. - uint64_t size; ///< This is the size of the storage block, in units of bytes. - /// Together with addr, it describes a range [addr, addr+size). - ARM_STORAGE_BLOCK_ATTRIBUTES attributes; ///< Attributes for this block. -} ARM_STORAGE_BLOCK; - -/** - * The check for a valid ARM_STORAGE_BLOCK. - */ -#define ARM_STORAGE_VALID_BLOCK(BLK) (((BLK)->addr != ARM_STORAGE_INVALID_OFFSET) && ((BLK)->size != 0)) - -/** - * \brief Values for encoding storage memory-types with respect to programmability. - * - * Please ensure that the maximum of the following memory types doesn't exceed 16; we - * encode this in a 4-bit field within ARM_STORAGE_INFO::programmability. - */ -#define ARM_STORAGE_PROGRAMMABILITY_RAM (0U) -#define ARM_STORAGE_PROGRAMMABILITY_ROM (1U) ///< Read-only memory. -#define ARM_STORAGE_PROGRAMMABILITY_WORM (2U) ///< write-once-read-only-memory (WORM). -#define ARM_STORAGE_PROGRAMMABILITY_ERASABLE (3U) ///< re-programmable based on erase. Supports multiple writes. - -/** - * Values for encoding data-retention levels for storage blocks. - * - * Please ensure that the maximum of the following retention types doesn't exceed 16; we - * encode this in a 4-bit field within ARM_STORAGE_INFO::retention_level. - */ -#define ARM_RETENTION_WHILE_DEVICE_ACTIVE (0U) ///< Data is retained only during device activity. -#define ARM_RETENTION_ACROSS_SLEEP (1U) ///< Data is retained across processor sleep. -#define ARM_RETENTION_ACROSS_DEEP_SLEEP (2U) ///< Data is retained across processor deep-sleep. -#define ARM_RETENTION_BATTERY_BACKED (3U) ///< Data is battery-backed. Device can be powered off. -#define ARM_RETENTION_NVM (4U) ///< Data is retained in non-volatile memory. - -/** - * Device Data Security Protection Features. Applicable mostly to EXTERNAL_NVM. - */ -typedef struct _ARM_STORAGE_SECURITY_FEATURES { - uint32_t acls : 1; ///< Protection against internal software attacks using ACLs. - uint32_t rollback_protection : 1; ///< Roll-back protection. Set to true if the creator of the storage - /// can ensure that an external attacker can't force an - /// older firmware to run or to revert back to a previous state. - uint32_t tamper_proof : 1; ///< Tamper-proof memory (will be deleted on tamper-attempts using board level or chip level sensors). - uint32_t internal_flash : 1; ///< Internal flash. - uint32_t reserved1 : 12; - - /** - * Encode support for hardening against various classes of attacks. - */ - uint32_t software_attacks : 1; ///< device software (malware running on the device). - uint32_t board_level_attacks : 1; ///< board level attacks (debug probes, copy protection fuses.) - uint32_t chip_level_attacks : 1; ///< chip level attacks (tamper-protection). - uint32_t side_channel_attacks : 1; ///< side channel attacks. - uint32_t reserved2 : 12; -} ARM_STORAGE_SECURITY_FEATURES; - -#define ARM_STORAGE_PROGRAM_CYCLES_INFINITE (0UL) /**< Infinite or unknown endurance for reprogramming. */ - -/** - * Device level metadata regarding the Storage implementation. - */ -typedef struct _ARM_STORAGE_INFO { - uint64_t total_storage; ///< Total available storage, in bytes. - uint32_t program_unit; ///< Minimum programming size in bytes. - /// The offset of the start of the program-range should also be aligned with this value. - /// Applicable only if the 'programmable' attribute is set for a block. - /// @note setting program_unit to 0 has the effect of disabling the size and alignment - /// restrictions (setting it to 1 also has the same effect). - uint32_t optimal_program_unit; ///< Optimal programming page-size in bytes. Some storage controllers - /// have internal buffers into which to receive data. Writing in chunks of - /// 'optimal_program_unit' would achieve maximum programming speed. - /// Applicable only if the 'programmable' attribute is set for the underlying block(s). - uint32_t program_cycles; ///< A measure of endurance for reprogramming. - /// Use ARM_STORAGE_PROGRAM_CYCLES_INFINITE for infinite or unknown endurance. - uint32_t erased_value : 1; ///< Contents of erased memory (usually 1 to indicate erased bytes with state 0xFF). - uint32_t memory_mapped : 1; ///< This storage device has a mapping onto the processor's memory address space. - /// @note For a memory-mapped block which isn't erasable but is programmable (i.e. if - /// 'erasable' is set to 0, but 'programmable' is 1), writes should be possible directly to - /// the memory-mapped storage without going through the ProgramData operation. - uint32_t programmability : 4; ///< A value to indicate storage programmability. - uint32_t retention_level : 4; - uint32_t reserved : 22; - ARM_STORAGE_SECURITY_FEATURES security; ///< \ref ARM_STORAGE_SECURITY_FEATURES -} ARM_STORAGE_INFO; - -/** -\brief Operating status of the storage controller. -*/ -typedef struct _ARM_STORAGE_STATUS { - uint32_t busy : 1; ///< Controller busy flag - uint32_t error : 1; ///< Read/Program/Erase error flag (cleared on start of next operation) - uint32_t reserved : 30; -} ARM_STORAGE_STATUS; - -/** - * \brief Storage Driver API Capabilities. - */ -typedef struct _ARM_STORAGE_CAPABILITIES { - uint32_t asynchronous_ops : 1; ///< Used to indicate if APIs like initialize, - /// read, erase, program, etc. can operate in asynchronous mode. - /// Setting this bit to 1 means that the driver is capable - /// of launching asynchronous operations; command completion is - /// signaled by the invocation of a completion callback. If - /// set to 1, drivers may still complete asynchronous - /// operations synchronously as necessary (in which case they - /// return a positive error code to indicate synchronous completion). - uint32_t erase_all : 1; ///< Supports EraseAll operation. - uint32_t reserved : 30; ///< Reserved (must be zero) -} ARM_STORAGE_CAPABILITIES; - -/** - * Command opcodes for Storage. - */ -typedef enum _ARM_STORAGE_OPERATION { - ARM_STORAGE_OPERATION_GET_VERSION, - ARM_STORAGE_OPERATION_GET_CAPABILITIES, - ARM_STORAGE_OPERATION_INITIALIZE, - ARM_STORAGE_OPERATION_UNINITIALIZE, - ARM_STORAGE_OPERATION_POWER_CONTROL, - ARM_STORAGE_OPERATION_READ_DATA, - ARM_STORAGE_OPERATION_PROGRAM_DATA, - ARM_STORAGE_OPERATION_ERASE, - ARM_STORAGE_OPERATION_ERASE_ALL, - ARM_STORAGE_OPERATION_GET_STATUS, - ARM_STORAGE_OPERATION_GET_INFO, - ARM_STORAGE_OPERATION_RESOLVE_ADDRESS, - ARM_STORAGE_OPERATION_GET_NEXT_BLOCK, - ARM_STORAGE_OPERATION_GET_BLOCK -} ARM_STORAGE_OPERATION; - -// Function documentation -/** - \fn ARM_DRIVER_VERSION ARM_Storage_GetVersion (void) - \brief Get driver version. - \return \ref ARM_DRIVER_VERSION -*/ -/** - \fn ARM_STORAGE_CAPABILITIES ARM_Storage_GetCapabilities (void) - \brief Get driver capabilities. - \return \ref ARM_STORAGE_CAPABILITIES -*/ -/** - \fn int32_t ARM_Storage_Initialize (ARM_Storage_Callback_t callback) - \brief Initialize the Storage interface. - \param [in] callback Pointer to \ref ARM_Storage_Callback_t. - Caller-defined callback to be invoked upon command completion - for asynchronous APIs (including the completion of - initialization). Use a NULL pointer when no callback - signals are required. - \return If asynchronous activity is launched, invocation - ARM_DRIVER_OK, and the caller can expect to receive a callback in the - future with a status value of ARM_DRIVER_OK or an error-code. In the - case of synchronous execution, control returns after completion with a - value of 1. Return values less than ARM_DRIVER_OK (0) signify errors. -*/ -/** - \fn int32_t ARM_Storage_Uninitialize (void) - \brief De-initialize the Storage Interface. - \return If asynchronous activity is launched, an invocation returns - ARM_DRIVER_OK, and the caller can expect to receive a callback in the - future with a status value of ARM_DRIVER_OK or an error-code. In the - case of synchronous execution, control returns after completion with a - value of 1. Return values less than ARM_DRIVER_OK (0) signify errors. -*/ -/** - \fn int32_t ARM_Storage_PowerControl (ARM_POWER_STATE state) - \brief Control the Storage interface power. - \param[in] state Power state - \return If asynchronous activity is launched, an invocation returns - ARM_DRIVER_OK, and the caller can expect to receive a callback in the - future with a status value of ARM_DRIVER_OK or an error-code. In the - case of synchronous execution, control returns after completion with a - value of 1. Return values less than ARM_DRIVER_OK (0) signify errors. -*/ -/** - \fn int32_t ARM_Storage_ReadData (uint64_t addr, void *data, uint32_t size) - \brief Read data from Storage. - \param[in] addr Data address. - \param[out] data Pointer to a buffer storing the data read from Storage. - \param[in] size Number of bytes to read. The data buffer - should be at least as large as this size. - \return If asynchronous activity is launched, an invocation returns - ARM_DRIVER_OK, and the caller can expect to receive a callback in the - future with the number of successfully transferred bytes passed in as - the 'status' parameter. In the case of synchronous execution, control - returns after completion with a positive transfer-count. Return values - less than ARM_DRIVER_OK (0) signify errors. -*/ -/** - \fn int32_t ARM_Storage_ProgramData (uint64_t addr, const void *data, uint32_t size) - \brief Program data to Storage. - \param [in] addr This is the start address of the range to be written into. It - needs to be aligned to the device's \em program_unit - specified in \ref ARM_STORAGE_INFO. - \param [in] data The source of the write operation. The buffer is owned by the - caller and should remain accessible for the lifetime of this - command. - \param [in] size The number of bytes requested to be written. The buffer - should be at least as large as this size. \note 'size' should - be a multiple of the device's 'program_unit' (see \ref - ARM_STORAGE_INFO). - \return If asynchronous activity is launched, an invocation returns - ARM_DRIVER_OK, and the caller can expect to receive a callback in the - future with the number of successfully transferred bytes passed in as - the 'status' parameter. In the case of synchronous execution, control - returns after completion with a positive transfer-count. Return values - less than ARM_DRIVER_OK (0) signify errors. -*/ -/** - \fn int32_t ARM_Storage_Erase (uint64_t addr, uint32_t size) - \brief Erase Storage range. - \param [in] addr This is the start-address of the range to be erased. It must - start at an 'erase_unit' boundary of the underlying block. - \param [in] size Size (in bytes) of the range to be erased. 'addr + size' - must be aligned with the 'erase_unit' of the underlying - block. - \return If the range to be erased doesn't align with the erase_units of the - respective start and end blocks, ARM_DRIVER_ERROR_PARAMETER is - returned. If any part of the range is protected, - ARM_STORAGE_ERROR_PROTECTED is returned. If any part of the range - is not erasable, ARM_STORAGE_ERROR_NOT_ERASABLE is returned. All - such sanity-check failures result in the error code being - returned synchronously and the storage bytes within the range - remain unaffected. Otherwise the function executes in the - following ways: If asynchronous activity is launched, an - invocation returns ARM_DRIVER_OK, and the caller can expect to - receive a callback in the future with the number of successfully - erased bytes passed in as the 'status' parameter. In the case of - synchronous execution, control returns after completion with a - positive erase-count. Return values less than ARM_DRIVER_OK (0) - signify errors. -*/ -/** - \fn int32_t ARM_Storage_EraseAll (void) - \brief Erase complete Storage. - \return If any part of the storage range is protected, - ARM_STORAGE_ERROR_PROTECTED is returned. If any part of the - storage range is not erasable, ARM_STORAGE_ERROR_NOT_ERASABLE is - returned. All such sanity-check failures result in the error code - being returned synchronously and the storage bytes within the - range remain unaffected. Otherwise the function executes in the - following ways: If asynchronous activity is launched, an - invocation returns ARM_DRIVER_OK, and the caller can expect to - receive a callback in the future with ARM_DRIVER_OK passed in as - the 'status' parameter. In the case of synchronous execution, - control returns after completion with a value of 1. Return values - less than ARM_DRIVER_OK (0) signify errors. -*/ -/** - \fn ARM_STORAGE_STATUS ARM_Storage_GetStatus (void) - \brief Get Storage status. - \return Storage status \ref ARM_STORAGE_STATUS -*/ -/** - \fn int32_t ARM_Storage_GetInfo (ARM_STORAGE_INFO *info) - \brief Get Storage information. - \param[out] info A caller-supplied buffer capable of being filled in with an \ref ARM_STORAGE_INFO. - \return ARM_DRIVER_OK if a ARM_STORAGE_INFO structure containing top level - metadata about the storage controller is filled into the supplied - buffer, else an appropriate error value. -*/ -/** - \fn uint32_t ARM_Storage_ResolveAddress(uint64_t addr) - \brief Resolve an address relative to the storage controller into a memory address. - \param[in] addr The address for which we want a resolution to the processor's physical address space. It is an offset from the - start of the storage map maintained by the owning storage - controller. - \return The resolved address in the processor's address space, else ARM_STORAGE_INVALID_ADDRESS. -*/ -/** - \fn int32_t ARM_Storage_GetNextBlock(const ARM_STORAGE_BLOCK* prev_block, ARM_STORAGE_BLOCK *next_block); - \brief Advance to the successor of the current block (iterator). - \param[in] prev_block An existing block (iterator) within the same storage - controller. The memory buffer holding this block is owned - by the caller. This pointer may be NULL; if so, the - invocation fills in the first block into the out parameter: - 'next_block'. - \param[out] next_block A caller-owned buffer large enough to be filled in with - the following ARM_STORAGE_BLOCK. It is legal to provide the - same buffer using 'next_block' as was passed in with 'prev_block'. It - is also legal to pass a NULL into this parameter if the - caller isn't interested in populating a buffer with the next - block, i.e. if the caller only wishes to establish the - presence of a next block. - \return ARM_DRIVER_OK if a valid next block is found (or first block, if - prev_block is passed as NULL); upon successful operation, the contents - of the next (or first) block are filled into the buffer pointed to by - the parameter 'next_block' and ARM_STORAGE_VALID_BLOCK(next_block) is - guaranteed to be true. Upon reaching the end of the sequence of blocks - (iterators), or in case the driver is unable to fetch information about - the next (or first) block, an error (negative) value is returned and an - invalid StorageBlock is populated into the supplied buffer. If - prev_block is NULL, the first block is returned. -*/ -/** - \fn int32_t ARM_Storage_GetBlock(uint64_t addr, ARM_STORAGE_BLOCK *block); - \brief Find the storage block (iterator) encompassing a given storage address. - \param[in] addr Storage address in bytes. - \param[out] block A caller-owned buffer large enough to be filled in with the - ARM_STORAGE_BLOCK encapsulating the given address. This value - can also be passed in as NULL if the caller isn't interested - in populating a buffer with the block, if the caller only - wishes to establish the presence of a containing storage - block. - \return ARM_DRIVER_OK if a containing storage-block is found. In this case, - if block is non-NULL, the buffer pointed to by it is populated with - the contents of the storage block, i.e. if block is valid and a block is - found, ARM_STORAGE_VALID_BLOCK(block) would return true following this - call. If there is no storage block containing the given offset, or in - case the driver is unable to resolve an address to a storage-block, an - error (negative) value is returned and an invalid StorageBlock is - populated into the supplied buffer. -*/ - -/** - * Provides the typedef for the callback function \ref ARM_Storage_Callback_t. - */ -typedef void (*ARM_Storage_Callback_t)(int32_t status, ARM_STORAGE_OPERATION operation); - -/** - * The set of operations constituting the Storage driver. - */ -typedef struct _ARM_DRIVER_STORAGE { - ARM_DRIVER_VERSION (*GetVersion) (void); ///< Pointer to \ref ARM_Storage_GetVersion : Get driver version. - ARM_STORAGE_CAPABILITIES (*GetCapabilities)(void); ///< Pointer to \ref ARM_Storage_GetCapabilities : Get driver capabilities. - int32_t (*Initialize) (ARM_Storage_Callback_t callback); ///< Pointer to \ref ARM_Storage_Initialize : Initialize the Storage Interface. - int32_t (*Uninitialize) (void); ///< Pointer to \ref ARM_Storage_Uninitialize : De-initialize the Storage Interface. - int32_t (*PowerControl) (ARM_POWER_STATE state); ///< Pointer to \ref ARM_Storage_PowerControl : Control the Storage interface power. - int32_t (*ReadData) (uint64_t addr, void *data, uint32_t size); ///< Pointer to \ref ARM_Storage_ReadData : Read data from Storage. - int32_t (*ProgramData) (uint64_t addr, const void *data, uint32_t size); ///< Pointer to \ref ARM_Storage_ProgramData : Program data to Storage. - int32_t (*Erase) (uint64_t addr, uint32_t size); ///< Pointer to \ref ARM_Storage_Erase : Erase Storage range. - int32_t (*EraseAll) (void); ///< Pointer to \ref ARM_Storage_EraseAll : Erase complete Storage. - ARM_STORAGE_STATUS (*GetStatus) (void); ///< Pointer to \ref ARM_Storage_GetStatus : Get Storage status. - int32_t (*GetInfo) (ARM_STORAGE_INFO *info); ///< Pointer to \ref ARM_Storage_GetInfo : Get Storage information. - uint32_t (*ResolveAddress) (uint64_t addr); ///< Pointer to \ref ARM_Storage_ResolveAddress : Resolve a storage address. - int32_t (*GetNextBlock) (const ARM_STORAGE_BLOCK* prev, ARM_STORAGE_BLOCK *next); ///< Pointer to \ref ARM_Storage_GetNextBlock : fetch successor for current block. - int32_t (*GetBlock) (uint64_t addr, ARM_STORAGE_BLOCK *block); ///< Pointer to \ref ARM_Storage_GetBlock : -} const ARM_DRIVER_STORAGE; - -#ifdef __cplusplus -} -#endif - -#endif /* DRIVER_STORAGE_H_ */ diff --git a/external/CMSIS_5/CMSIS/Driver/Include/Driver_USART.h b/external/CMSIS_5/CMSIS/Driver/Include/Driver_USART.h deleted file mode 100644 index 7947b33..0000000 --- a/external/CMSIS_5/CMSIS/Driver/Include/Driver_USART.h +++ /dev/null @@ -1,347 +0,0 @@ -/* - * Copyright (c) 2013-2020 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * $Date: 31. March 2020 - * $Revision: V2.4 - * - * Project: USART (Universal Synchronous Asynchronous Receiver Transmitter) - * Driver definitions - */ - -/* History: - * Version 2.4 - * Removed volatile from ARM_USART_STATUS and ARM_USART_MODEM_STATUS - * Version 2.3 - * ARM_USART_STATUS and ARM_USART_MODEM_STATUS made volatile - * Version 2.2 - * Corrected ARM_USART_CPOL_Pos and ARM_USART_CPHA_Pos definitions - * Version 2.1 - * Removed optional argument parameter from Signal Event - * Version 2.0 - * New simplified driver: - * complexity moved to upper layer (especially data handling) - * more unified API for different communication interfaces - * renamed driver UART -> USART (Asynchronous & Synchronous) - * Added modes: - * Synchronous - * Single-wire - * IrDA - * Smart Card - * Changed prefix ARM_DRV -> ARM_DRIVER - * Version 1.10 - * Namespace prefix ARM_ added - * Version 1.01 - * Added events: - * ARM_UART_EVENT_TX_EMPTY, ARM_UART_EVENT_RX_TIMEOUT - * ARM_UART_EVENT_TX_THRESHOLD, ARM_UART_EVENT_RX_THRESHOLD - * Added functions: SetTxThreshold, SetRxThreshold - * Added "rx_timeout_event" to capabilities - * Version 1.00 - * Initial release - */ - -#ifndef DRIVER_USART_H_ -#define DRIVER_USART_H_ - -#ifdef __cplusplus -extern "C" -{ -#endif - -#include "Driver_Common.h" - -#define ARM_USART_API_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(2,4) /* API version */ - - -#define _ARM_Driver_USART_(n) Driver_USART##n -#define ARM_Driver_USART_(n) _ARM_Driver_USART_(n) - - -/****** USART Control Codes *****/ - -#define ARM_USART_CONTROL_Pos 0 -#define ARM_USART_CONTROL_Msk (0xFFUL << ARM_USART_CONTROL_Pos) - -/*----- USART Control Codes: Mode -----*/ -#define ARM_USART_MODE_ASYNCHRONOUS (0x01UL << ARM_USART_CONTROL_Pos) ///< UART (Asynchronous); arg = Baudrate -#define ARM_USART_MODE_SYNCHRONOUS_MASTER (0x02UL << ARM_USART_CONTROL_Pos) ///< Synchronous Master (generates clock signal); arg = Baudrate -#define ARM_USART_MODE_SYNCHRONOUS_SLAVE (0x03UL << ARM_USART_CONTROL_Pos) ///< Synchronous Slave (external clock signal) -#define ARM_USART_MODE_SINGLE_WIRE (0x04UL << ARM_USART_CONTROL_Pos) ///< UART Single-wire (half-duplex); arg = Baudrate -#define ARM_USART_MODE_IRDA (0x05UL << ARM_USART_CONTROL_Pos) ///< UART IrDA; arg = Baudrate -#define ARM_USART_MODE_SMART_CARD (0x06UL << ARM_USART_CONTROL_Pos) ///< UART Smart Card; arg = Baudrate - -/*----- USART Control Codes: Mode Parameters: Data Bits -----*/ -#define ARM_USART_DATA_BITS_Pos 8 -#define ARM_USART_DATA_BITS_Msk (7UL << ARM_USART_DATA_BITS_Pos) -#define ARM_USART_DATA_BITS_5 (5UL << ARM_USART_DATA_BITS_Pos) ///< 5 Data bits -#define ARM_USART_DATA_BITS_6 (6UL << ARM_USART_DATA_BITS_Pos) ///< 6 Data bit -#define ARM_USART_DATA_BITS_7 (7UL << ARM_USART_DATA_BITS_Pos) ///< 7 Data bits -#define ARM_USART_DATA_BITS_8 (0UL << ARM_USART_DATA_BITS_Pos) ///< 8 Data bits (default) -#define ARM_USART_DATA_BITS_9 (1UL << ARM_USART_DATA_BITS_Pos) ///< 9 Data bits - -/*----- USART Control Codes: Mode Parameters: Parity -----*/ -#define ARM_USART_PARITY_Pos 12 -#define ARM_USART_PARITY_Msk (3UL << ARM_USART_PARITY_Pos) -#define ARM_USART_PARITY_NONE (0UL << ARM_USART_PARITY_Pos) ///< No Parity (default) -#define ARM_USART_PARITY_EVEN (1UL << ARM_USART_PARITY_Pos) ///< Even Parity -#define ARM_USART_PARITY_ODD (2UL << ARM_USART_PARITY_Pos) ///< Odd Parity - -/*----- USART Control Codes: Mode Parameters: Stop Bits -----*/ -#define ARM_USART_STOP_BITS_Pos 14 -#define ARM_USART_STOP_BITS_Msk (3UL << ARM_USART_STOP_BITS_Pos) -#define ARM_USART_STOP_BITS_1 (0UL << ARM_USART_STOP_BITS_Pos) ///< 1 Stop bit (default) -#define ARM_USART_STOP_BITS_2 (1UL << ARM_USART_STOP_BITS_Pos) ///< 2 Stop bits -#define ARM_USART_STOP_BITS_1_5 (2UL << ARM_USART_STOP_BITS_Pos) ///< 1.5 Stop bits -#define ARM_USART_STOP_BITS_0_5 (3UL << ARM_USART_STOP_BITS_Pos) ///< 0.5 Stop bits - -/*----- USART Control Codes: Mode Parameters: Flow Control -----*/ -#define ARM_USART_FLOW_CONTROL_Pos 16 -#define ARM_USART_FLOW_CONTROL_Msk (3UL << ARM_USART_FLOW_CONTROL_Pos) -#define ARM_USART_FLOW_CONTROL_NONE (0UL << ARM_USART_FLOW_CONTROL_Pos) ///< No Flow Control (default) -#define ARM_USART_FLOW_CONTROL_RTS (1UL << ARM_USART_FLOW_CONTROL_Pos) ///< RTS Flow Control -#define ARM_USART_FLOW_CONTROL_CTS (2UL << ARM_USART_FLOW_CONTROL_Pos) ///< CTS Flow Control -#define ARM_USART_FLOW_CONTROL_RTS_CTS (3UL << ARM_USART_FLOW_CONTROL_Pos) ///< RTS/CTS Flow Control - -/*----- USART Control Codes: Mode Parameters: Clock Polarity (Synchronous mode) -----*/ -#define ARM_USART_CPOL_Pos 18 -#define ARM_USART_CPOL_Msk (1UL << ARM_USART_CPOL_Pos) -#define ARM_USART_CPOL0 (0UL << ARM_USART_CPOL_Pos) ///< CPOL = 0 (default) -#define ARM_USART_CPOL1 (1UL << ARM_USART_CPOL_Pos) ///< CPOL = 1 - -/*----- USART Control Codes: Mode Parameters: Clock Phase (Synchronous mode) -----*/ -#define ARM_USART_CPHA_Pos 19 -#define ARM_USART_CPHA_Msk (1UL << ARM_USART_CPHA_Pos) -#define ARM_USART_CPHA0 (0UL << ARM_USART_CPHA_Pos) ///< CPHA = 0 (default) -#define ARM_USART_CPHA1 (1UL << ARM_USART_CPHA_Pos) ///< CPHA = 1 - - -/*----- USART Control Codes: Miscellaneous Controls -----*/ -#define ARM_USART_SET_DEFAULT_TX_VALUE (0x10UL << ARM_USART_CONTROL_Pos) ///< Set default Transmit value (Synchronous Receive only); arg = value -#define ARM_USART_SET_IRDA_PULSE (0x11UL << ARM_USART_CONTROL_Pos) ///< Set IrDA Pulse in ns; arg: 0=3/16 of bit period -#define ARM_USART_SET_SMART_CARD_GUARD_TIME (0x12UL << ARM_USART_CONTROL_Pos) ///< Set Smart Card Guard Time; arg = number of bit periods -#define ARM_USART_SET_SMART_CARD_CLOCK (0x13UL << ARM_USART_CONTROL_Pos) ///< Set Smart Card Clock in Hz; arg: 0=Clock not generated -#define ARM_USART_CONTROL_SMART_CARD_NACK (0x14UL << ARM_USART_CONTROL_Pos) ///< Smart Card NACK generation; arg: 0=disabled, 1=enabled -#define ARM_USART_CONTROL_TX (0x15UL << ARM_USART_CONTROL_Pos) ///< Transmitter; arg: 0=disabled, 1=enabled -#define ARM_USART_CONTROL_RX (0x16UL << ARM_USART_CONTROL_Pos) ///< Receiver; arg: 0=disabled, 1=enabled -#define ARM_USART_CONTROL_BREAK (0x17UL << ARM_USART_CONTROL_Pos) ///< Continuous Break transmission; arg: 0=disabled, 1=enabled -#define ARM_USART_ABORT_SEND (0x18UL << ARM_USART_CONTROL_Pos) ///< Abort \ref ARM_USART_Send -#define ARM_USART_ABORT_RECEIVE (0x19UL << ARM_USART_CONTROL_Pos) ///< Abort \ref ARM_USART_Receive -#define ARM_USART_ABORT_TRANSFER (0x1AUL << ARM_USART_CONTROL_Pos) ///< Abort \ref ARM_USART_Transfer - - - -/****** USART specific error codes *****/ -#define ARM_USART_ERROR_MODE (ARM_DRIVER_ERROR_SPECIFIC - 1) ///< Specified Mode not supported -#define ARM_USART_ERROR_BAUDRATE (ARM_DRIVER_ERROR_SPECIFIC - 2) ///< Specified baudrate not supported -#define ARM_USART_ERROR_DATA_BITS (ARM_DRIVER_ERROR_SPECIFIC - 3) ///< Specified number of Data bits not supported -#define ARM_USART_ERROR_PARITY (ARM_DRIVER_ERROR_SPECIFIC - 4) ///< Specified Parity not supported -#define ARM_USART_ERROR_STOP_BITS (ARM_DRIVER_ERROR_SPECIFIC - 5) ///< Specified number of Stop bits not supported -#define ARM_USART_ERROR_FLOW_CONTROL (ARM_DRIVER_ERROR_SPECIFIC - 6) ///< Specified Flow Control not supported -#define ARM_USART_ERROR_CPOL (ARM_DRIVER_ERROR_SPECIFIC - 7) ///< Specified Clock Polarity not supported -#define ARM_USART_ERROR_CPHA (ARM_DRIVER_ERROR_SPECIFIC - 8) ///< Specified Clock Phase not supported - - -/** -\brief USART Status -*/ -typedef struct _ARM_USART_STATUS { - uint32_t tx_busy : 1; ///< Transmitter busy flag - uint32_t rx_busy : 1; ///< Receiver busy flag - uint32_t tx_underflow : 1; ///< Transmit data underflow detected (cleared on start of next send operation) - uint32_t rx_overflow : 1; ///< Receive data overflow detected (cleared on start of next receive operation) - uint32_t rx_break : 1; ///< Break detected on receive (cleared on start of next receive operation) - uint32_t rx_framing_error : 1; ///< Framing error detected on receive (cleared on start of next receive operation) - uint32_t rx_parity_error : 1; ///< Parity error detected on receive (cleared on start of next receive operation) - uint32_t reserved : 25; -} ARM_USART_STATUS; - -/** -\brief USART Modem Control -*/ -typedef enum _ARM_USART_MODEM_CONTROL { - ARM_USART_RTS_CLEAR, ///< Deactivate RTS - ARM_USART_RTS_SET, ///< Activate RTS - ARM_USART_DTR_CLEAR, ///< Deactivate DTR - ARM_USART_DTR_SET ///< Activate DTR -} ARM_USART_MODEM_CONTROL; - -/** -\brief USART Modem Status -*/ -typedef struct _ARM_USART_MODEM_STATUS { - uint32_t cts : 1; ///< CTS state: 1=Active, 0=Inactive - uint32_t dsr : 1; ///< DSR state: 1=Active, 0=Inactive - uint32_t dcd : 1; ///< DCD state: 1=Active, 0=Inactive - uint32_t ri : 1; ///< RI state: 1=Active, 0=Inactive - uint32_t reserved : 28; -} ARM_USART_MODEM_STATUS; - - -/****** USART Event *****/ -#define ARM_USART_EVENT_SEND_COMPLETE (1UL << 0) ///< Send completed; however USART may still transmit data -#define ARM_USART_EVENT_RECEIVE_COMPLETE (1UL << 1) ///< Receive completed -#define ARM_USART_EVENT_TRANSFER_COMPLETE (1UL << 2) ///< Transfer completed -#define ARM_USART_EVENT_TX_COMPLETE (1UL << 3) ///< Transmit completed (optional) -#define ARM_USART_EVENT_TX_UNDERFLOW (1UL << 4) ///< Transmit data not available (Synchronous Slave) -#define ARM_USART_EVENT_RX_OVERFLOW (1UL << 5) ///< Receive data overflow -#define ARM_USART_EVENT_RX_TIMEOUT (1UL << 6) ///< Receive character timeout (optional) -#define ARM_USART_EVENT_RX_BREAK (1UL << 7) ///< Break detected on receive -#define ARM_USART_EVENT_RX_FRAMING_ERROR (1UL << 8) ///< Framing error detected on receive -#define ARM_USART_EVENT_RX_PARITY_ERROR (1UL << 9) ///< Parity error detected on receive -#define ARM_USART_EVENT_CTS (1UL << 10) ///< CTS state changed (optional) -#define ARM_USART_EVENT_DSR (1UL << 11) ///< DSR state changed (optional) -#define ARM_USART_EVENT_DCD (1UL << 12) ///< DCD state changed (optional) -#define ARM_USART_EVENT_RI (1UL << 13) ///< RI state changed (optional) - - -// Function documentation -/** - \fn ARM_DRIVER_VERSION ARM_USART_GetVersion (void) - \brief Get driver version. - \return \ref ARM_DRIVER_VERSION - - \fn ARM_USART_CAPABILITIES ARM_USART_GetCapabilities (void) - \brief Get driver capabilities - \return \ref ARM_USART_CAPABILITIES - - \fn int32_t ARM_USART_Initialize (ARM_USART_SignalEvent_t cb_event) - \brief Initialize USART Interface. - \param[in] cb_event Pointer to \ref ARM_USART_SignalEvent - \return \ref execution_status - - \fn int32_t ARM_USART_Uninitialize (void) - \brief De-initialize USART Interface. - \return \ref execution_status - - \fn int32_t ARM_USART_PowerControl (ARM_POWER_STATE state) - \brief Control USART Interface Power. - \param[in] state Power state - \return \ref execution_status - - \fn int32_t ARM_USART_Send (const void *data, uint32_t num) - \brief Start sending data to USART transmitter. - \param[in] data Pointer to buffer with data to send to USART transmitter - \param[in] num Number of data items to send - \return \ref execution_status - - \fn int32_t ARM_USART_Receive (void *data, uint32_t num) - \brief Start receiving data from USART receiver. - \param[out] data Pointer to buffer for data to receive from USART receiver - \param[in] num Number of data items to receive - \return \ref execution_status - - \fn int32_t ARM_USART_Transfer (const void *data_out, - void *data_in, - uint32_t num) - \brief Start sending/receiving data to/from USART transmitter/receiver. - \param[in] data_out Pointer to buffer with data to send to USART transmitter - \param[out] data_in Pointer to buffer for data to receive from USART receiver - \param[in] num Number of data items to transfer - \return \ref execution_status - - \fn uint32_t ARM_USART_GetTxCount (void) - \brief Get transmitted data count. - \return number of data items transmitted - - \fn uint32_t ARM_USART_GetRxCount (void) - \brief Get received data count. - \return number of data items received - - \fn int32_t ARM_USART_Control (uint32_t control, uint32_t arg) - \brief Control USART Interface. - \param[in] control Operation - \param[in] arg Argument of operation (optional) - \return common \ref execution_status and driver specific \ref usart_execution_status - - \fn ARM_USART_STATUS ARM_USART_GetStatus (void) - \brief Get USART status. - \return USART status \ref ARM_USART_STATUS - - \fn int32_t ARM_USART_SetModemControl (ARM_USART_MODEM_CONTROL control) - \brief Set USART Modem Control line state. - \param[in] control \ref ARM_USART_MODEM_CONTROL - \return \ref execution_status - - \fn ARM_USART_MODEM_STATUS ARM_USART_GetModemStatus (void) - \brief Get USART Modem Status lines state. - \return modem status \ref ARM_USART_MODEM_STATUS - - \fn void ARM_USART_SignalEvent (uint32_t event) - \brief Signal USART Events. - \param[in] event \ref USART_events notification mask - \return none -*/ - -typedef void (*ARM_USART_SignalEvent_t) (uint32_t event); ///< Pointer to \ref ARM_USART_SignalEvent : Signal USART Event. - - -/** -\brief USART Device Driver Capabilities. -*/ -typedef struct _ARM_USART_CAPABILITIES { - uint32_t asynchronous : 1; ///< supports UART (Asynchronous) mode - uint32_t synchronous_master : 1; ///< supports Synchronous Master mode - uint32_t synchronous_slave : 1; ///< supports Synchronous Slave mode - uint32_t single_wire : 1; ///< supports UART Single-wire mode - uint32_t irda : 1; ///< supports UART IrDA mode - uint32_t smart_card : 1; ///< supports UART Smart Card mode - uint32_t smart_card_clock : 1; ///< Smart Card Clock generator available - uint32_t flow_control_rts : 1; ///< RTS Flow Control available - uint32_t flow_control_cts : 1; ///< CTS Flow Control available - uint32_t event_tx_complete : 1; ///< Transmit completed event: \ref ARM_USART_EVENT_TX_COMPLETE - uint32_t event_rx_timeout : 1; ///< Signal receive character timeout event: \ref ARM_USART_EVENT_RX_TIMEOUT - uint32_t rts : 1; ///< RTS Line: 0=not available, 1=available - uint32_t cts : 1; ///< CTS Line: 0=not available, 1=available - uint32_t dtr : 1; ///< DTR Line: 0=not available, 1=available - uint32_t dsr : 1; ///< DSR Line: 0=not available, 1=available - uint32_t dcd : 1; ///< DCD Line: 0=not available, 1=available - uint32_t ri : 1; ///< RI Line: 0=not available, 1=available - uint32_t event_cts : 1; ///< Signal CTS change event: \ref ARM_USART_EVENT_CTS - uint32_t event_dsr : 1; ///< Signal DSR change event: \ref ARM_USART_EVENT_DSR - uint32_t event_dcd : 1; ///< Signal DCD change event: \ref ARM_USART_EVENT_DCD - uint32_t event_ri : 1; ///< Signal RI change event: \ref ARM_USART_EVENT_RI - uint32_t reserved : 11; ///< Reserved (must be zero) -} ARM_USART_CAPABILITIES; - - -/** -\brief Access structure of the USART Driver. -*/ -typedef struct _ARM_DRIVER_USART { - ARM_DRIVER_VERSION (*GetVersion) (void); ///< Pointer to \ref ARM_USART_GetVersion : Get driver version. - ARM_USART_CAPABILITIES (*GetCapabilities) (void); ///< Pointer to \ref ARM_USART_GetCapabilities : Get driver capabilities. - int32_t (*Initialize) (ARM_USART_SignalEvent_t cb_event); ///< Pointer to \ref ARM_USART_Initialize : Initialize USART Interface. - int32_t (*Uninitialize) (void); ///< Pointer to \ref ARM_USART_Uninitialize : De-initialize USART Interface. - int32_t (*PowerControl) (ARM_POWER_STATE state); ///< Pointer to \ref ARM_USART_PowerControl : Control USART Interface Power. - int32_t (*Send) (const void *data, uint32_t num); ///< Pointer to \ref ARM_USART_Send : Start sending data to USART transmitter. - int32_t (*Receive) ( void *data, uint32_t num); ///< Pointer to \ref ARM_USART_Receive : Start receiving data from USART receiver. - int32_t (*Transfer) (const void *data_out, - void *data_in, - uint32_t num); ///< Pointer to \ref ARM_USART_Transfer : Start sending/receiving data to/from USART. - uint32_t (*GetTxCount) (void); ///< Pointer to \ref ARM_USART_GetTxCount : Get transmitted data count. - uint32_t (*GetRxCount) (void); ///< Pointer to \ref ARM_USART_GetRxCount : Get received data count. - int32_t (*Control) (uint32_t control, uint32_t arg); ///< Pointer to \ref ARM_USART_Control : Control USART Interface. - ARM_USART_STATUS (*GetStatus) (void); ///< Pointer to \ref ARM_USART_GetStatus : Get USART status. - int32_t (*SetModemControl) (ARM_USART_MODEM_CONTROL control); ///< Pointer to \ref ARM_USART_SetModemControl : Set USART Modem Control line state. - ARM_USART_MODEM_STATUS (*GetModemStatus) (void); ///< Pointer to \ref ARM_USART_GetModemStatus : Get USART Modem Status lines state. -} const ARM_DRIVER_USART; - -#ifdef __cplusplus -} -#endif - -#endif /* DRIVER_USART_H_ */ diff --git a/external/CMSIS_5/CMSIS/Driver/Include/Driver_USB.h b/external/CMSIS_5/CMSIS/Driver/Include/Driver_USB.h deleted file mode 100644 index 472050e..0000000 --- a/external/CMSIS_5/CMSIS/Driver/Include/Driver_USB.h +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Copyright (c) 2013-2020 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * $Date: 24. January 2020 - * $Revision: V2.0 - * - * Project: USB Driver common definitions - */ - -/* History: - * Version 2.0 - * Version 1.10 - * Namespace prefix ARM_ added - * Version 1.01 - * Added PID Types - * Version 1.00 - * Initial release - */ - -#ifndef DRIVER_USB_H_ -#define DRIVER_USB_H_ - -#include "Driver_Common.h" - -/* USB Role */ -#define ARM_USB_ROLE_NONE (0U) -#define ARM_USB_ROLE_HOST (1U) -#define ARM_USB_ROLE_DEVICE (2U) - -/* USB Pins */ -#define ARM_USB_PIN_DP (1U << 0) ///< USB D+ pin -#define ARM_USB_PIN_DM (1U << 1) ///< USB D- pin -#define ARM_USB_PIN_VBUS (1U << 2) ///< USB VBUS pin -#define ARM_USB_PIN_OC (1U << 3) ///< USB OverCurrent pin -#define ARM_USB_PIN_ID (1U << 4) ///< USB ID pin - -/* USB Speed */ -#define ARM_USB_SPEED_LOW (0U) ///< Low-speed USB -#define ARM_USB_SPEED_FULL (1U) ///< Full-speed USB -#define ARM_USB_SPEED_HIGH (2U) ///< High-speed USB - -/* USB PID Types */ -#define ARM_USB_PID_OUT (1U) -#define ARM_USB_PID_IN (9U) -#define ARM_USB_PID_SOF (5U) -#define ARM_USB_PID_SETUP (13U) -#define ARM_USB_PID_DATA0 (3U) -#define ARM_USB_PID_DATA1 (11U) -#define ARM_USB_PID_DATA2 (7U) -#define ARM_USB_PID_MDATA (15U) -#define ARM_USB_PID_ACK (2U) -#define ARM_USB_PID_NAK (10U) -#define ARM_USB_PID_STALL (14U) -#define ARM_USB_PID_NYET (6U) -#define ARM_USB_PID_PRE (12U) -#define ARM_USB_PID_ERR (12U) -#define ARM_USB_PID_SPLIT (8U) -#define ARM_USB_PID_PING (4U) -#define ARM_USB_PID_RESERVED (0U) - -/* USB Endpoint Address (bEndpointAddress) */ -#define ARM_USB_ENDPOINT_NUMBER_MASK (0x0FU) -#define ARM_USB_ENDPOINT_DIRECTION_MASK (0x80U) - -/* USB Endpoint Type */ -#define ARM_USB_ENDPOINT_CONTROL (0U) ///< Control Endpoint -#define ARM_USB_ENDPOINT_ISOCHRONOUS (1U) ///< Isochronous Endpoint -#define ARM_USB_ENDPOINT_BULK (2U) ///< Bulk Endpoint -#define ARM_USB_ENDPOINT_INTERRUPT (3U) ///< Interrupt Endpoint - -/* USB Endpoint Maximum Packet Size (wMaxPacketSize) */ -#define ARM_USB_ENDPOINT_MAX_PACKET_SIZE_MASK (0x07FFU) -#define ARM_USB_ENDPOINT_MICROFRAME_TRANSACTIONS_MASK (0x1800U) -#define ARM_USB_ENDPOINT_MICROFRAME_TRANSACTIONS_1 (0x0000U) -#define ARM_USB_ENDPOINT_MICROFRAME_TRANSACTIONS_2 (0x0800U) -#define ARM_USB_ENDPOINT_MICROFRAME_TRANSACTIONS_3 (0x1000U) - -#endif /* DRIVER_USB_H_ */ diff --git a/external/CMSIS_5/CMSIS/Driver/Include/Driver_USBD.h b/external/CMSIS_5/CMSIS/Driver/Include/Driver_USBD.h deleted file mode 100644 index b4152bd..0000000 --- a/external/CMSIS_5/CMSIS/Driver/Include/Driver_USBD.h +++ /dev/null @@ -1,279 +0,0 @@ -/* - * Copyright (c) 2013-2020 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * $Date: 31. March 2020 - * $Revision: V2.3 - * - * Project: USB Device Driver definitions - */ - -/* History: - * Version 2.3 - * Removed volatile from ARM_USBD_STATE - * Version 2.2 - * ARM_USBD_STATE made volatile - * Version 2.1 - * Added ARM_USBD_ReadSetupPacket function - * Version 2.0 - * Removed ARM_USBD_DeviceConfigure function - * Removed ARM_USBD_SET_ADDRESS_STAGE parameter from ARM_USBD_DeviceSetAddress function - * Removed ARM_USBD_EndpointReadStart function - * Replaced ARM_USBD_EndpointRead and ARM_USBD_EndpointWrite functions with ARM_USBD_EndpointTransfer - * Added ARM_USBD_EndpointTransferGetResult function - * Renamed ARM_USBD_EndpointAbort function to ARM_USBD_EndpointTransferAbort - * Changed prefix ARM_DRV -> ARM_DRIVER - * Changed return values of some functions to int32_t - * Version 1.10 - * Namespace prefix ARM_ added - * Version 1.00 - * Initial release - */ - -#ifndef DRIVER_USBD_H_ -#define DRIVER_USBD_H_ - -#ifdef __cplusplus -extern "C" -{ -#endif - -#include "Driver_USB.h" - -#define ARM_USBD_API_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(2,3) /* API version */ - - -#define _ARM_Driver_USBD_(n) Driver_USBD##n -#define ARM_Driver_USBD_(n) _ARM_Driver_USBD_(n) - - -/** -\brief USB Device State -*/ -typedef struct _ARM_USBD_STATE { - uint32_t vbus : 1; ///< USB Device VBUS flag - uint32_t speed : 2; ///< USB Device speed setting (ARM_USB_SPEED_xxx) - uint32_t active : 1; ///< USB Device active flag - uint32_t reserved : 28; -} ARM_USBD_STATE; - - -/****** USB Device Event *****/ -#define ARM_USBD_EVENT_VBUS_ON (1UL << 0) ///< USB Device VBUS On -#define ARM_USBD_EVENT_VBUS_OFF (1UL << 1) ///< USB Device VBUS Off -#define ARM_USBD_EVENT_RESET (1UL << 2) ///< USB Reset occurred -#define ARM_USBD_EVENT_HIGH_SPEED (1UL << 3) ///< USB switch to High Speed occurred -#define ARM_USBD_EVENT_SUSPEND (1UL << 4) ///< USB Suspend occurred -#define ARM_USBD_EVENT_RESUME (1UL << 5) ///< USB Resume occurred - -/****** USB Endpoint Event *****/ -#define ARM_USBD_EVENT_SETUP (1UL << 0) ///< SETUP Packet -#define ARM_USBD_EVENT_OUT (1UL << 1) ///< OUT Packet(s) -#define ARM_USBD_EVENT_IN (1UL << 2) ///< IN Packet(s) - - -#ifndef __DOXYGEN_MW__ // exclude from middleware documentation - -// Function documentation -/** - \fn ARM_DRIVER_VERSION ARM_USBD_GetVersion (void) - \brief Get driver version. - \return \ref ARM_DRIVER_VERSION -*/ -/** - \fn ARM_USBD_CAPABILITIES ARM_USBD_GetCapabilities (void) - \brief Get driver capabilities. - \return \ref ARM_USBD_CAPABILITIES -*/ -/** - \fn int32_t ARM_USBD_Initialize (ARM_USBD_SignalDeviceEvent_t cb_device_event, - ARM_USBD_SignalEndpointEvent_t cb_endpoint_event) - \brief Initialize USB Device Interface. - \param[in] cb_device_event Pointer to \ref ARM_USBD_SignalDeviceEvent - \param[in] cb_endpoint_event Pointer to \ref ARM_USBD_SignalEndpointEvent - \return \ref execution_status -*/ -/** - \fn int32_t ARM_USBD_Uninitialize (void) - \brief De-initialize USB Device Interface. - \return \ref execution_status -*/ -/** - \fn int32_t ARM_USBD_PowerControl (ARM_POWER_STATE state) - \brief Control USB Device Interface Power. - \param[in] state Power state - \return \ref execution_status -*/ -/** - \fn int32_t ARM_USBD_DeviceConnect (void) - \brief Connect USB Device. - \return \ref execution_status -*/ -/** - \fn int32_t ARM_USBD_DeviceDisconnect (void) - \brief Disconnect USB Device. - \return \ref execution_status -*/ -/** - \fn ARM_USBD_STATE ARM_USBD_DeviceGetState (void) - \brief Get current USB Device State. - \return Device State \ref ARM_USBD_STATE -*/ -/** - \fn int32_t ARM_USBD_DeviceRemoteWakeup (void) - \brief Trigger USB Remote Wakeup. - \return \ref execution_status -*/ -/** - \fn int32_t ARM_USBD_DeviceSetAddress (uint8_t dev_addr) - \brief Set USB Device Address. - \param[in] dev_addr Device Address - \return \ref execution_status -*/ -/** - \fn int32_t ARM_USBD_ReadSetupPacket (uint8_t *setup) - \brief Read setup packet received over Control Endpoint. - \param[out] setup Pointer to buffer for setup packet - \return \ref execution_status -*/ -/** - \fn int32_t ARM_USBD_EndpointConfigure (uint8_t ep_addr, - uint8_t ep_type, - uint16_t ep_max_packet_size) - \brief Configure USB Endpoint. - \param[in] ep_addr Endpoint Address - - ep_addr.0..3: Address - - ep_addr.7: Direction - \param[in] ep_type Endpoint Type (ARM_USB_ENDPOINT_xxx) - \param[in] ep_max_packet_size Endpoint Maximum Packet Size - \return \ref execution_status -*/ -/** - \fn int32_t ARM_USBD_EndpointUnconfigure (uint8_t ep_addr) - \brief Unconfigure USB Endpoint. - \param[in] ep_addr Endpoint Address - - ep_addr.0..3: Address - - ep_addr.7: Direction - \return \ref execution_status -*/ -/** - \fn int32_t ARM_USBD_EndpointStall (uint8_t ep_addr, bool stall) - \brief Set/Clear Stall for USB Endpoint. - \param[in] ep_addr Endpoint Address - - ep_addr.0..3: Address - - ep_addr.7: Direction - \param[in] stall Operation - - \b false Clear - - \b true Set - \return \ref execution_status -*/ -/** - \fn int32_t ARM_USBD_EndpointTransfer (uint8_t ep_addr, uint8_t *data, uint32_t num) - \brief Read data from or Write data to USB Endpoint. - \param[in] ep_addr Endpoint Address - - ep_addr.0..3: Address - - ep_addr.7: Direction - \param[out] data Pointer to buffer for data to read or with data to write - \param[in] num Number of data bytes to transfer - \return \ref execution_status -*/ -/** - \fn uint32_t ARM_USBD_EndpointTransferGetResult (uint8_t ep_addr) - \brief Get result of USB Endpoint transfer. - \param[in] ep_addr Endpoint Address - - ep_addr.0..3: Address - - ep_addr.7: Direction - \return number of successfully transferred data bytes -*/ -/** - \fn int32_t ARM_USBD_EndpointTransferAbort (uint8_t ep_addr) - \brief Abort current USB Endpoint transfer. - \param[in] ep_addr Endpoint Address - - ep_addr.0..3: Address - - ep_addr.7: Direction - \return \ref execution_status -*/ -/** - \fn uint16_t ARM_USBD_GetFrameNumber (void) - \brief Get current USB Frame Number. - \return Frame Number -*/ - -/** - \fn void ARM_USBD_SignalDeviceEvent (uint32_t event) - \brief Signal USB Device Event. - \param[in] event \ref USBD_dev_events - \return none -*/ -/** - \fn void ARM_USBD_SignalEndpointEvent (uint8_t ep_addr, uint32_t event) - \brief Signal USB Endpoint Event. - \param[in] ep_addr Endpoint Address - - ep_addr.0..3: Address - - ep_addr.7: Direction - \param[in] event \ref USBD_ep_events - \return none -*/ - -typedef void (*ARM_USBD_SignalDeviceEvent_t) (uint32_t event); ///< Pointer to \ref ARM_USBD_SignalDeviceEvent : Signal USB Device Event. -typedef void (*ARM_USBD_SignalEndpointEvent_t) (uint8_t ep_addr, uint32_t event); ///< Pointer to \ref ARM_USBD_SignalEndpointEvent : Signal USB Endpoint Event. - - -/** -\brief USB Device Driver Capabilities. -*/ -typedef struct _ARM_USBD_CAPABILITIES { - uint32_t vbus_detection : 1; ///< VBUS detection - uint32_t event_vbus_on : 1; ///< Signal VBUS On event - uint32_t event_vbus_off : 1; ///< Signal VBUS Off event - uint32_t reserved : 29; ///< Reserved (must be zero) -} ARM_USBD_CAPABILITIES; - - -/** -\brief Access structure of the USB Device Driver. -*/ -typedef struct _ARM_DRIVER_USBD { - ARM_DRIVER_VERSION (*GetVersion) (void); ///< Pointer to \ref ARM_USBD_GetVersion : Get driver version. - ARM_USBD_CAPABILITIES (*GetCapabilities) (void); ///< Pointer to \ref ARM_USBD_GetCapabilities : Get driver capabilities. - int32_t (*Initialize) (ARM_USBD_SignalDeviceEvent_t cb_device_event, - ARM_USBD_SignalEndpointEvent_t cb_endpoint_event); ///< Pointer to \ref ARM_USBD_Initialize : Initialize USB Device Interface. - int32_t (*Uninitialize) (void); ///< Pointer to \ref ARM_USBD_Uninitialize : De-initialize USB Device Interface. - int32_t (*PowerControl) (ARM_POWER_STATE state); ///< Pointer to \ref ARM_USBD_PowerControl : Control USB Device Interface Power. - int32_t (*DeviceConnect) (void); ///< Pointer to \ref ARM_USBD_DeviceConnect : Connect USB Device. - int32_t (*DeviceDisconnect) (void); ///< Pointer to \ref ARM_USBD_DeviceDisconnect : Disconnect USB Device. - ARM_USBD_STATE (*DeviceGetState) (void); ///< Pointer to \ref ARM_USBD_DeviceGetState : Get current USB Device State. - int32_t (*DeviceRemoteWakeup) (void); ///< Pointer to \ref ARM_USBD_DeviceRemoteWakeup : Trigger USB Remote Wakeup. - int32_t (*DeviceSetAddress) (uint8_t dev_addr); ///< Pointer to \ref ARM_USBD_DeviceSetAddress : Set USB Device Address. - int32_t (*ReadSetupPacket) (uint8_t *setup); ///< Pointer to \ref ARM_USBD_ReadSetupPacket : Read setup packet received over Control Endpoint. - int32_t (*EndpointConfigure) (uint8_t ep_addr, - uint8_t ep_type, - uint16_t ep_max_packet_size); ///< Pointer to \ref ARM_USBD_EndpointConfigure : Configure USB Endpoint. - int32_t (*EndpointUnconfigure) (uint8_t ep_addr); ///< Pointer to \ref ARM_USBD_EndpointUnconfigure : Unconfigure USB Endpoint. - int32_t (*EndpointStall) (uint8_t ep_addr, bool stall); ///< Pointer to \ref ARM_USBD_EndpointStall : Set/Clear Stall for USB Endpoint. - int32_t (*EndpointTransfer) (uint8_t ep_addr, uint8_t *data, uint32_t num); ///< Pointer to \ref ARM_USBD_EndpointTransfer : Read data from or Write data to USB Endpoint. - uint32_t (*EndpointTransferGetResult) (uint8_t ep_addr); ///< Pointer to \ref ARM_USBD_EndpointTransferGetResult : Get result of USB Endpoint transfer. - int32_t (*EndpointTransferAbort) (uint8_t ep_addr); ///< Pointer to \ref ARM_USBD_EndpointTransferAbort : Abort current USB Endpoint transfer. - uint16_t (*GetFrameNumber) (void); ///< Pointer to \ref ARM_USBD_GetFrameNumber : Get current USB Frame Number. -} const ARM_DRIVER_USBD; - -#endif /* __DOXYGEN_MW__ */ - -#ifdef __cplusplus -} -#endif - -#endif /* DRIVER_USBD_H_ */ diff --git a/external/CMSIS_5/CMSIS/Driver/Include/Driver_USBH.h b/external/CMSIS_5/CMSIS/Driver/Include/Driver_USBH.h deleted file mode 100644 index b92ee85..0000000 --- a/external/CMSIS_5/CMSIS/Driver/Include/Driver_USBH.h +++ /dev/null @@ -1,423 +0,0 @@ -/* - * Copyright (c) 2013-2020 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * $Date: 31. March 2020 - * $Revision: V2.3 - * - * Project: USB Host Driver definitions -*/ - -/* History: - * Version 2.3 - * Removed volatile from ARM_USBH_PORT_STATE - * Version 2.2 - * ARM_USBH_PORT_STATE made volatile - * Version 2.1 - * Renamed structure ARM_USBH_EP_HANDLE to ARM_USBH_PIPE_HANDLE - * Renamed functions ARM_USBH_Endpoint... to ARM_USBH_Pipe... - * Renamed function ARM_USBH_SignalEndpointEvent to ARM_USBH_SignalPipeEvent - * Version 2.0 - * Replaced function ARM_USBH_PortPowerOnOff with ARM_USBH_PortVbusOnOff - * Changed function ARM_USBH_EndpointCreate parameters - * Replaced function ARM_USBH_EndpointConfigure with ARM_USBH_EndpointModify - * Replaced function ARM_USBH_EndpointClearHalt with ARM_USBH_EndpointReset - * Replaced function ARM_USBH_URB_Submit with ARM_USBH_EndpointTransfer - * Replaced function ARM_USBH_URB_Abort with ARM_USBH_EndpointTransferAbort - * Added function ARM_USBH_EndpointTransferGetResult - * Added function ARM_USBH_GetFrameNumber - * Changed prefix ARM_DRV -> ARM_DRIVER - * Version 1.20 - * Added API for OHCI/EHCI Host Controller Interface (HCI) - * Version 1.10 - * Namespace prefix ARM_ added - * Version 1.00 - * Initial release - */ - -#ifndef DRIVER_USBH_H_ -#define DRIVER_USBH_H_ - -#ifdef __cplusplus -extern "C" -{ -#endif - -#include "Driver_USB.h" - -#define ARM_USBH_API_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(2,3) /* API version */ - - -#define _ARM_Driver_USBH_(n) Driver_USBH##n -#define ARM_Driver_USBH_(n) _ARM_Driver_USBH_(n) - - -/** -\brief USB Host Port State -*/ -typedef struct _ARM_USBH_PORT_STATE { - uint32_t connected : 1; ///< USB Host Port connected flag - uint32_t overcurrent : 1; ///< USB Host Port overcurrent flag - uint32_t speed : 2; ///< USB Host Port speed setting (ARM_USB_SPEED_xxx) - uint32_t reserved : 28; -} ARM_USBH_PORT_STATE; - -/** -\brief USB Host Pipe Handle -*/ -typedef uint32_t ARM_USBH_PIPE_HANDLE; -#define ARM_USBH_EP_HANDLE ARM_USBH_PIPE_HANDLE /* Legacy name */ - - -/****** USB Host Packet Information *****/ -#define ARM_USBH_PACKET_TOKEN_Pos 0 -#define ARM_USBH_PACKET_TOKEN_Msk (0x0FUL << ARM_USBH_PACKET_TOKEN_Pos) -#define ARM_USBH_PACKET_SETUP (0x01UL << ARM_USBH_PACKET_TOKEN_Pos) ///< SETUP Packet -#define ARM_USBH_PACKET_OUT (0x02UL << ARM_USBH_PACKET_TOKEN_Pos) ///< OUT Packet -#define ARM_USBH_PACKET_IN (0x03UL << ARM_USBH_PACKET_TOKEN_Pos) ///< IN Packet -#define ARM_USBH_PACKET_PING (0x04UL << ARM_USBH_PACKET_TOKEN_Pos) ///< PING Packet - -#define ARM_USBH_PACKET_DATA_Pos 4 -#define ARM_USBH_PACKET_DATA_Msk (0x0FUL << ARM_USBH_PACKET_DATA_Pos) -#define ARM_USBH_PACKET_DATA0 (0x01UL << ARM_USBH_PACKET_DATA_Pos) ///< DATA0 PID -#define ARM_USBH_PACKET_DATA1 (0x02UL << ARM_USBH_PACKET_DATA_Pos) ///< DATA1 PID - -#define ARM_USBH_PACKET_SPLIT_Pos 8 -#define ARM_USBH_PACKET_SPLIT_Msk (0x0FUL << ARM_USBH_PACKET_SPLIT_Pos) -#define ARM_USBH_PACKET_SSPLIT (0x08UL << ARM_USBH_PACKET_SPLIT_Pos) ///< SSPLIT Packet -#define ARM_USBH_PACKET_SSPLIT_S (0x09UL << ARM_USBH_PACKET_SPLIT_Pos) ///< SSPLIT Packet: Data Start -#define ARM_USBH_PACKET_SSPLIT_E (0x0AUL << ARM_USBH_PACKET_SPLIT_Pos) ///< SSPLIT Packet: Data End -#define ARM_USBH_PACKET_SSPLIT_S_E (0x0BUL << ARM_USBH_PACKET_SPLIT_Pos) ///< SSPLIT Packet: Data All -#define ARM_USBH_PACKET_CSPLIT (0x0CUL << ARM_USBH_PACKET_SPLIT_Pos) ///< CSPLIT Packet - -#define ARM_USBH_PACKET_PRE (1UL << 12) ///< PRE Token - - -/****** USB Host Port Event *****/ -#define ARM_USBH_EVENT_CONNECT (1UL << 0) ///< USB Device Connected to Port -#define ARM_USBH_EVENT_DISCONNECT (1UL << 1) ///< USB Device Disconnected from Port -#define ARM_USBH_EVENT_OVERCURRENT (1UL << 2) ///< USB Device caused Overcurrent -#define ARM_USBH_EVENT_RESET (1UL << 3) ///< USB Reset completed -#define ARM_USBH_EVENT_SUSPEND (1UL << 4) ///< USB Suspend occurred -#define ARM_USBH_EVENT_RESUME (1UL << 5) ///< USB Resume occurred -#define ARM_USBH_EVENT_REMOTE_WAKEUP (1UL << 6) ///< USB Device activated Remote Wakeup - -/****** USB Host Pipe Event *****/ -#define ARM_USBH_EVENT_TRANSFER_COMPLETE (1UL << 0) ///< Transfer completed -#define ARM_USBH_EVENT_HANDSHAKE_NAK (1UL << 1) ///< NAK Handshake received -#define ARM_USBH_EVENT_HANDSHAKE_NYET (1UL << 2) ///< NYET Handshake received -#define ARM_USBH_EVENT_HANDSHAKE_MDATA (1UL << 3) ///< MDATA Handshake received -#define ARM_USBH_EVENT_HANDSHAKE_STALL (1UL << 4) ///< STALL Handshake received -#define ARM_USBH_EVENT_HANDSHAKE_ERR (1UL << 5) ///< ERR Handshake received -#define ARM_USBH_EVENT_BUS_ERROR (1UL << 6) ///< Bus Error detected - - -#ifndef __DOXYGEN_MW__ // exclude from middleware documentation - -// Function documentation -/** - \fn ARM_DRIVER_VERSION ARM_USBH_GetVersion (void) - \brief Get driver version. - \return \ref ARM_DRIVER_VERSION -*/ -/** - \fn ARM_USBH_CAPABILITIES ARM_USBH_GetCapabilities (void) - \brief Get driver capabilities. - \return \ref ARM_USBH_CAPABILITIES -*/ -/** - \fn int32_t ARM_USBH_Initialize (ARM_USBH_SignalPortEvent_t cb_port_event, - ARM_USBH_SignalPipeEvent_t cb_pipe_event) - \brief Initialize USB Host Interface. - \param[in] cb_port_event Pointer to \ref ARM_USBH_SignalPortEvent - \param[in] cb_pipe_event Pointer to \ref ARM_USBH_SignalPipeEvent - \return \ref execution_status -*/ -/** - \fn int32_t ARM_USBH_Uninitialize (void) - \brief De-initialize USB Host Interface. - \return \ref execution_status -*/ -/** - \fn int32_t ARM_USBH_PowerControl (ARM_POWER_STATE state) - \brief Control USB Host Interface Power. - \param[in] state Power state - \return \ref execution_status -*/ -/** - \fn int32_t ARM_USBH_PortVbusOnOff (uint8_t port, bool vbus) - \brief Root HUB Port VBUS on/off. - \param[in] port Root HUB Port Number - \param[in] vbus - - \b false VBUS off - - \b true VBUS on - \return \ref execution_status -*/ -/** - \fn int32_t ARM_USBH_PortReset (uint8_t port) - \brief Do Root HUB Port Reset. - \param[in] port Root HUB Port Number - \return \ref execution_status -*/ -/** - \fn int32_t ARM_USBH_PortSuspend (uint8_t port) - \brief Suspend Root HUB Port (stop generating SOFs). - \param[in] port Root HUB Port Number - \return \ref execution_status -*/ -/** - \fn int32_t ARM_USBH_PortResume (uint8_t port) - \brief Resume Root HUB Port (start generating SOFs). - \param[in] port Root HUB Port Number - \return \ref execution_status -*/ -/** - \fn ARM_USBH_PORT_STATE ARM_USBH_PortGetState (uint8_t port) - \brief Get current Root HUB Port State. - \param[in] port Root HUB Port Number - \return Port State \ref ARM_USBH_PORT_STATE -*/ -/** - \fn ARM_USBH_PIPE_HANDLE ARM_USBH_PipeCreate (uint8_t dev_addr, - uint8_t dev_speed, - uint8_t hub_addr, - uint8_t hub_port, - uint8_t ep_addr, - uint8_t ep_type, - uint16_t ep_max_packet_size, - uint8_t ep_interval) - \brief Create Pipe in System. - \param[in] dev_addr Device Address - \param[in] dev_speed Device Speed - \param[in] hub_addr Hub Address - \param[in] hub_port Hub Port - \param[in] ep_addr Endpoint Address - - ep_addr.0..3: Address - - ep_addr.7: Direction - \param[in] ep_type Endpoint Type (ARM_USB_ENDPOINT_xxx) - \param[in] ep_max_packet_size Endpoint Maximum Packet Size - \param[in] ep_interval Endpoint Polling Interval - \return Pipe Handle \ref ARM_USBH_PIPE_HANDLE -*/ -/** - \fn int32_t ARM_USBH_PipeModify (ARM_USBH_PIPE_HANDLE pipe_hndl, - uint8_t dev_addr, - uint8_t dev_speed, - uint8_t hub_addr, - uint8_t hub_port, - uint16_t ep_max_packet_size) - \brief Modify Pipe in System. - \param[in] pipe_hndl Pipe Handle - \param[in] dev_addr Device Address - \param[in] dev_speed Device Speed - \param[in] hub_addr Hub Address - \param[in] hub_port Hub Port - \param[in] ep_max_packet_size Endpoint Maximum Packet Size - \return \ref execution_status -*/ -/** - \fn int32_t ARM_USBH_PipeDelete (ARM_USBH_PIPE_HANDLE pipe_hndl) - \brief Delete Pipe from System. - \param[in] pipe_hndl Pipe Handle - \return \ref execution_status -*/ -/** - \fn int32_t ARM_USBH_PipeReset (ARM_USBH_PIPE_HANDLE pipe_hndl) - \brief Reset Pipe. - \param[in] pipe_hndl Pipe Handle - \return \ref execution_status -*/ -/** - \fn int32_t ARM_USBH_PipeTransfer (ARM_USBH_PIPE_HANDLE pipe_hndl, - uint32_t packet, - uint8_t *data, - uint32_t num) - \brief Transfer packets through USB Pipe. - \param[in] pipe_hndl Pipe Handle - \param[in] packet Packet information - \param[in] data Pointer to buffer with data to send or for data to receive - \param[in] num Number of data bytes to transfer - \return \ref execution_status -*/ -/** - \fn uint32_t ARM_USBH_PipeTransferGetResult (ARM_USBH_PIPE_HANDLE pipe_hndl) - \brief Get result of USB Pipe transfer. - \param[in] pipe_hndl Pipe Handle - \return number of successfully transferred data bytes -*/ -/** - \fn int32_t ARM_USBH_PipeTransferAbort (ARM_USBH_PIPE_HANDLE pipe_hndl) - \brief Abort current USB Pipe transfer. - \param[in] pipe_hndl Pipe Handle - \return \ref execution_status -*/ -/** - \fn uint16_t ARM_USBH_GetFrameNumber (void) - \brief Get current USB Frame Number. - \return Frame Number -*/ - -/** - \fn void ARM_USBH_SignalPortEvent (uint8_t port, uint32_t event) - \brief Signal Root HUB Port Event. - \param[in] port Root HUB Port Number - \param[in] event \ref USBH_port_events - \return none -*/ -/** - \fn void ARM_USBH_SignalPipeEvent (ARM_USBH_PIPE_HANDLE pipe_hndl, uint32_t event) - \brief Signal Pipe Event. - \param[in] pipe_hndl Pipe Handle - \param[in] event \ref USBH_pipe_events - \return none -*/ - -typedef void (*ARM_USBH_SignalPortEvent_t) (uint8_t port, uint32_t event); ///< Pointer to \ref ARM_USBH_SignalPortEvent : Signal Root HUB Port Event. -typedef void (*ARM_USBH_SignalPipeEvent_t) (ARM_USBH_PIPE_HANDLE pipe_hndl, uint32_t event); ///< Pointer to \ref ARM_USBH_SignalPipeEvent : Signal Pipe Event. -#define ARM_USBH_SignalEndpointEvent_t ARM_USBH_SignalPipeEvent_t /* Legacy name */ - - -/** -\brief USB Host Driver Capabilities. -*/ -typedef struct _ARM_USBH_CAPABILITIES { - uint32_t port_mask : 15; ///< Root HUB available Ports Mask - uint32_t auto_split : 1; ///< Automatic SPLIT packet handling - uint32_t event_connect : 1; ///< Signal Connect event - uint32_t event_disconnect : 1; ///< Signal Disconnect event - uint32_t event_overcurrent : 1; ///< Signal Overcurrent event - uint32_t reserved : 13; ///< Reserved (must be zero) -} ARM_USBH_CAPABILITIES; - - -/** -\brief Access structure of USB Host Driver. -*/ -typedef struct _ARM_DRIVER_USBH { - ARM_DRIVER_VERSION (*GetVersion) (void); ///< Pointer to \ref ARM_USBH_GetVersion : Get driver version. - ARM_USBH_CAPABILITIES (*GetCapabilities) (void); ///< Pointer to \ref ARM_USBH_GetCapabilities : Get driver capabilities. - int32_t (*Initialize) (ARM_USBH_SignalPortEvent_t cb_port_event, - ARM_USBH_SignalPipeEvent_t cb_pipe_event); ///< Pointer to \ref ARM_USBH_Initialize : Initialize USB Host Interface. - int32_t (*Uninitialize) (void); ///< Pointer to \ref ARM_USBH_Uninitialize : De-initialize USB Host Interface. - int32_t (*PowerControl) (ARM_POWER_STATE state); ///< Pointer to \ref ARM_USBH_PowerControl : Control USB Host Interface Power. - int32_t (*PortVbusOnOff) (uint8_t port, bool vbus); ///< Pointer to \ref ARM_USBH_PortVbusOnOff : Root HUB Port VBUS on/off. - int32_t (*PortReset) (uint8_t port); ///< Pointer to \ref ARM_USBH_PortReset : Do Root HUB Port Reset. - int32_t (*PortSuspend) (uint8_t port); ///< Pointer to \ref ARM_USBH_PortSuspend : Suspend Root HUB Port (stop generating SOFs). - int32_t (*PortResume) (uint8_t port); ///< Pointer to \ref ARM_USBH_PortResume : Resume Root HUB Port (start generating SOFs). - ARM_USBH_PORT_STATE (*PortGetState) (uint8_t port); ///< Pointer to \ref ARM_USBH_PortGetState : Get current Root HUB Port State. - ARM_USBH_PIPE_HANDLE (*PipeCreate) (uint8_t dev_addr, - uint8_t dev_speed, - uint8_t hub_addr, - uint8_t hub_port, - uint8_t ep_addr, - uint8_t ep_type, - uint16_t ep_max_packet_size, - uint8_t ep_interval); ///< Pointer to \ref ARM_USBH_PipeCreate : Create Pipe in System. - int32_t (*PipeModify) (ARM_USBH_PIPE_HANDLE pipe_hndl, - uint8_t dev_addr, - uint8_t dev_speed, - uint8_t hub_addr, - uint8_t hub_port, - uint16_t ep_max_packet_size); ///< Pointer to \ref ARM_USBH_PipeModify : Modify Pipe in System. - int32_t (*PipeDelete) (ARM_USBH_PIPE_HANDLE pipe_hndl); ///< Pointer to \ref ARM_USBH_PipeDelete : Delete Pipe from System. - int32_t (*PipeReset) (ARM_USBH_PIPE_HANDLE pipe_hndl); ///< Pointer to \ref ARM_USBH_PipeReset : Reset Pipe. - int32_t (*PipeTransfer) (ARM_USBH_PIPE_HANDLE pipe_hndl, - uint32_t packet, - uint8_t *data, - uint32_t num); ///< Pointer to \ref ARM_USBH_PipeTransfer : Transfer packets through USB Pipe. - uint32_t (*PipeTransferGetResult) (ARM_USBH_PIPE_HANDLE pipe_hndl); ///< Pointer to \ref ARM_USBH_PipeTransferGetResult : Get result of USB Pipe transfer. - int32_t (*PipeTransferAbort) (ARM_USBH_PIPE_HANDLE pipe_hndl); ///< Pointer to \ref ARM_USBH_PipeTransferAbort : Abort current USB Pipe transfer. - uint16_t (*GetFrameNumber) (void); ///< Pointer to \ref ARM_USBH_GetFrameNumber : Get current USB Frame Number. -} const ARM_DRIVER_USBH; - - -// HCI (OHCI/EHCI) - -// Function documentation -/** - \fn ARM_DRIVER_VERSION ARM_USBH_HCI_GetVersion (void) - \brief Get USB Host HCI (OHCI/EHCI) driver version. - \return \ref ARM_DRIVER_VERSION -*/ -/** - \fn ARM_USBH_HCI_CAPABILITIES ARM_USBH_HCI_GetCapabilities (void) - \brief Get driver capabilities. - \return \ref ARM_USBH_HCI_CAPABILITIES -*/ -/** - \fn int32_t ARM_USBH_HCI_Initialize (ARM_USBH_HCI_Interrupt_t *cb_interrupt) - \brief Initialize USB Host HCI (OHCI/EHCI) Interface. - \param[in] cb_interrupt Pointer to Interrupt Handler Routine - \return \ref execution_status -*/ -/** - \fn int32_t ARM_USBH_HCI_Uninitialize (void) - \brief De-initialize USB Host HCI (OHCI/EHCI) Interface. - \return \ref execution_status -*/ -/** - \fn int32_t ARM_USBH_HCI_PowerControl (ARM_POWER_STATE state) - \brief Control USB Host HCI (OHCI/EHCI) Interface Power. - \param[in] state Power state - \return \ref execution_status -*/ -/** - \fn int32_t ARM_USBH_HCI_PortVbusOnOff (uint8_t port, bool vbus) - \brief USB Host HCI (OHCI/EHCI) Root HUB Port VBUS on/off. - \param[in] port Root HUB Port Number - \param[in] vbus - - \b false VBUS off - - \b true VBUS on - \return \ref execution_status -*/ - -/** - \fn void ARM_USBH_HCI_Interrupt (void) - \brief USB Host HCI Interrupt Handler. - \return none -*/ - -typedef void (*ARM_USBH_HCI_Interrupt_t) (void); ///< Pointer to Interrupt Handler Routine. - - -/** -\brief USB Host HCI (OHCI/EHCI) Driver Capabilities. -*/ -typedef struct _ARM_USBH_HCI_CAPABILITIES { - uint32_t port_mask : 15; ///< Root HUB available Ports Mask - uint32_t reserved : 17; ///< Reserved (must be zero) -} ARM_USBH_HCI_CAPABILITIES; - - -/** - \brief Access structure of USB Host HCI (OHCI/EHCI) Driver. -*/ -typedef struct _ARM_DRIVER_USBH_HCI { - ARM_DRIVER_VERSION (*GetVersion) (void); ///< Pointer to \ref ARM_USBH_HCI_GetVersion : Get USB Host HCI (OHCI/EHCI) driver version. - ARM_USBH_HCI_CAPABILITIES (*GetCapabilities) (void); ///< Pointer to \ref ARM_USBH_HCI_GetCapabilities : Get driver capabilities. - int32_t (*Initialize) (ARM_USBH_HCI_Interrupt_t cb_interrupt); ///< Pointer to \ref ARM_USBH_HCI_Initialize : Initialize USB Host HCI (OHCI/EHCI) Interface. - int32_t (*Uninitialize) (void); ///< Pointer to \ref ARM_USBH_HCI_Uninitialize : De-initialize USB Host HCI (OHCI/EHCI) Interface. - int32_t (*PowerControl) (ARM_POWER_STATE state); ///< Pointer to \ref ARM_USBH_HCI_PowerControl : Control USB Host HCI (OHCI/EHCI) Interface Power. - int32_t (*PortVbusOnOff) (uint8_t port, bool vbus); ///< Pointer to \ref ARM_USBH_HCI_PortVbusOnOff : USB Host HCI (OHCI/EHCI) Root HUB Port VBUS on/off. -} const ARM_DRIVER_USBH_HCI; - -#endif /* __DOXYGEN_MW__ */ - -#ifdef __cplusplus -} -#endif - -#endif /* DRIVER_USBH_H_ */ diff --git a/external/CMSIS_5/CMSIS/Driver/Include/Driver_WiFi.h b/external/CMSIS_5/CMSIS/Driver/Include/Driver_WiFi.h deleted file mode 100644 index eb8979f..0000000 --- a/external/CMSIS_5/CMSIS/Driver/Include/Driver_WiFi.h +++ /dev/null @@ -1,666 +0,0 @@ -/* - * Copyright (c) 2019-2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * $Date: 30. March 2022 - * $Revision: V1.1 - * - * Project: WiFi (Wireless Fidelity Interface) Driver definitions - */ - -/* History: - * Version 1.1 - * Extended Socket Receive/RecvFrom/Send/SendTo (support for polling) - * Version 1.0 - * Initial release - */ - -#ifndef DRIVER_WIFI_H_ -#define DRIVER_WIFI_H_ - -#ifdef __cplusplus -extern "C" -{ -#endif - -#include "Driver_Common.h" - -#define ARM_WIFI_API_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(1,1) /* API version */ - - -#define _ARM_Driver_WiFi_(n) Driver_WiFi##n -#define ARM_Driver_WiFi_(n) _ARM_Driver_WiFi_(n) - - -/****** WiFi SetOption/GetOption Function Option Codes *****/ -#define ARM_WIFI_BSSID 1U ///< Station/AP Set/Get BSSID of AP to connect or of AP; data = &bssid, len = 6, uint8_t[6] -#define ARM_WIFI_TX_POWER 2U ///< Station/AP Set/Get transmit power; data = &power, len = 4, uint32_t: 0 .. 20 [dBm] -#define ARM_WIFI_LP_TIMER 3U ///< Station Set/Get low-power deep-sleep time; data = &time, len = 4, uint32_t [seconds]: 0 = disable (default) -#define ARM_WIFI_DTIM 4U ///< Station/AP Set/Get DTIM interval; data = &dtim, len = 4, uint32_t [beacons] -#define ARM_WIFI_BEACON 5U ///< AP Set/Get beacon interval; data = &interval, len = 4, uint32_t [ms] -#define ARM_WIFI_MAC 6U ///< Station/AP Set/Get MAC; data = &mac, len = 6, uint8_t[6] -#define ARM_WIFI_IP 7U ///< Station/AP Set/Get IPv4 static/assigned address; data = &ip, len = 4, uint8_t[4] -#define ARM_WIFI_IP_SUBNET_MASK 8U ///< Station/AP Set/Get IPv4 subnet mask; data = &mask, len = 4, uint8_t[4] -#define ARM_WIFI_IP_GATEWAY 9U ///< Station/AP Set/Get IPv4 gateway address; data = &ip, len = 4, uint8_t[4] -#define ARM_WIFI_IP_DNS1 10U ///< Station/AP Set/Get IPv4 primary DNS address; data = &ip, len = 4, uint8_t[4] -#define ARM_WIFI_IP_DNS2 11U ///< Station/AP Set/Get IPv4 secondary DNS address; data = &ip, len = 4, uint8_t[4] -#define ARM_WIFI_IP_DHCP 12U ///< Station/AP Set/Get IPv4 DHCP client/server enable/disable; data = &dhcp, len = 4, uint32_t: 0 = disable, non-zero = enable (default) -#define ARM_WIFI_IP_DHCP_POOL_BEGIN 13U ///< AP Set/Get IPv4 DHCP pool begin address; data = &ip, len = 4, uint8_t[4] -#define ARM_WIFI_IP_DHCP_POOL_END 14U ///< AP Set/Get IPv4 DHCP pool end address; data = &ip, len = 4, uint8_t[4] -#define ARM_WIFI_IP_DHCP_LEASE_TIME 15U ///< AP Set/Get IPv4 DHCP lease time; data = &time, len = 4, uint32_t [seconds] -#define ARM_WIFI_IP6_GLOBAL 16U ///< Station/AP Set/Get IPv6 global address; data = &ip6, len = 16, uint8_t[16] -#define ARM_WIFI_IP6_LINK_LOCAL 17U ///< Station/AP Set/Get IPv6 link local address; data = &ip6, len = 16, uint8_t[16] -#define ARM_WIFI_IP6_SUBNET_PREFIX_LEN 18U ///< Station/AP Set/Get IPv6 subnet prefix length; data = &len, len = 4, uint32_t: 1 .. 127 -#define ARM_WIFI_IP6_GATEWAY 19U ///< Station/AP Set/Get IPv6 gateway address; data = &ip6, len = 16, uint8_t[16] -#define ARM_WIFI_IP6_DNS1 20U ///< Station/AP Set/Get IPv6 primary DNS address; data = &ip6, len = 16, uint8_t[16] -#define ARM_WIFI_IP6_DNS2 21U ///< Station/AP Set/Get IPv6 secondary DNS address; data = &ip6, len = 16, uint8_t[16] -#define ARM_WIFI_IP6_DHCP_MODE 22U ///< Station/AP Set/Get IPv6 DHCPv6 client mode; data = &mode, len = 4, uint32_t: ARM_WIFI_IP6_DHCP_xxx (default Off) - -/****** WiFi Security Type *****/ -#define ARM_WIFI_SECURITY_OPEN 0U ///< Open -#define ARM_WIFI_SECURITY_WEP 1U ///< Wired Equivalent Privacy (WEP) with Pre-Sheared Key (PSK) -#define ARM_WIFI_SECURITY_WPA 2U ///< WiFi Protected Access (WPA) with PSK -#define ARM_WIFI_SECURITY_WPA2 3U ///< WiFi Protected Access II (WPA2) with PSK -#define ARM_WIFI_SECURITY_UNKNOWN 255U ///< Unknown - -/****** WiFi Protected Setup (WPS) Method *****/ -#define ARM_WIFI_WPS_METHOD_NONE 0U ///< Not used -#define ARM_WIFI_WPS_METHOD_PBC 1U ///< Push Button Configuration -#define ARM_WIFI_WPS_METHOD_PIN 2U ///< PIN - -/****** WiFi IPv6 Dynamic Host Configuration Protocol (DHCP) Mode *****/ -#define ARM_WIFI_IP6_DHCP_OFF 0U ///< Static Host Configuration (default) -#define ARM_WIFI_IP6_DHCP_STATELESS 1U ///< Dynamic Host Configuration stateless DHCPv6 -#define ARM_WIFI_IP6_DHCP_STATEFULL 2U ///< Dynamic Host Configuration statefull DHCPv6 - -/****** WiFi Event *****/ -#define ARM_WIFI_EVENT_AP_CONNECT (1UL << 0) ///< Access Point: Station has connected; arg = &mac, mac (uint8_t[6]) -#define ARM_WIFI_EVENT_AP_DISCONNECT (1UL << 1) ///< Access Point: Station has disconnected; arg = &mac, mac (uint8_t[6]) -#define ARM_WIFI_EVENT_ETH_RX_FRAME (1UL << 4) ///< Ethernet Frame Received (in bypass mode only); arg = interface (0 = Station, 1 = Access Point) - - -/** -\brief WiFi Configuration -*/ -typedef struct ARM_WIFI_CONFIG_s { - const char *ssid; ///< Pointer to Service Set Identifier (SSID) null-terminated string - const char *pass; ///< Pointer to Password null-terminated string - uint8_t security; ///< Security type (ARM_WIFI_SECURITY_xxx) - uint8_t ch; ///< WiFi Channel (0 = auto, otherwise = exact channel) - uint8_t reserved; ///< Reserved - uint8_t wps_method; ///< WiFi Protected Setup (WPS) method (ARM_WIFI_WPS_METHOD_xxx) - const char *wps_pin; ///< Pointer to WiFi Protected Setup (WPS) PIN null-terminated string -} ARM_WIFI_CONFIG_t; - -/** -\brief WiFi Scan Information -*/ -typedef struct ARM_WIFI_SCAN_INFO_s { - char ssid[32+1]; ///< Service Set Identifier (SSID) null-terminated string - uint8_t bssid[6]; ///< Basic Service Set Identifier (BSSID) - uint8_t security; ///< Security type (ARM_WIFI_SECURITY_xxx) - uint8_t ch; ///< WiFi Channel - uint8_t rssi; ///< Received Signal Strength Indicator -} ARM_WIFI_SCAN_INFO_t; - -/** -\brief WiFi Network Information -*/ -typedef struct ARM_WIFI_NET_INFO_s { - char ssid[32+1]; ///< Service Set Identifier (SSID) null-terminated string - char pass[64+1]; ///< Password null-terminated string - uint8_t security; ///< Security type (ARM_WIFI_SECURITY_xxx) - uint8_t ch; ///< WiFi Channel - uint8_t rssi; ///< Received Signal Strength Indicator -} ARM_WIFI_NET_INFO_t; - -/****** Socket Address Family definitions *****/ -#define ARM_SOCKET_AF_INET 1 ///< IPv4 -#define ARM_SOCKET_AF_INET6 2 ///< IPv6 - -/****** Socket Type definitions *****/ -#define ARM_SOCKET_SOCK_STREAM 1 ///< Stream socket -#define ARM_SOCKET_SOCK_DGRAM 2 ///< Datagram socket - -/****** Socket Protocol definitions *****/ -#define ARM_SOCKET_IPPROTO_TCP 1 ///< TCP -#define ARM_SOCKET_IPPROTO_UDP 2 ///< UDP - -/****** Socket Option definitions *****/ -#define ARM_SOCKET_IO_FIONBIO 1 ///< Non-blocking I/O (Set only, default = 0); opt_val = &nbio, opt_len = sizeof(nbio), nbio (integer): 0=blocking, non-blocking otherwise -#define ARM_SOCKET_SO_RCVTIMEO 2 ///< Receive timeout in ms (default = 0); opt_val = &timeout, opt_len = sizeof(timeout) -#define ARM_SOCKET_SO_SNDTIMEO 3 ///< Send timeout in ms (default = 0); opt_val = &timeout, opt_len = sizeof(timeout) -#define ARM_SOCKET_SO_KEEPALIVE 4 ///< Keep-alive messages (default = 0); opt_val = &keepalive, opt_len = sizeof(keepalive), keepalive (integer): 0=disabled, enabled otherwise -#define ARM_SOCKET_SO_TYPE 5 ///< Socket Type (Get only); opt_val = &socket_type, opt_len = sizeof(socket_type), socket_type (integer): ARM_SOCKET_SOCK_xxx - -/****** Socket Function return codes *****/ -#define ARM_SOCKET_ERROR (-1) ///< Unspecified error -#define ARM_SOCKET_ESOCK (-2) ///< Invalid socket -#define ARM_SOCKET_EINVAL (-3) ///< Invalid argument -#define ARM_SOCKET_ENOTSUP (-4) ///< Operation not supported -#define ARM_SOCKET_ENOMEM (-5) ///< Not enough memory -#define ARM_SOCKET_EAGAIN (-6) ///< Operation would block or timed out -#define ARM_SOCKET_EINPROGRESS (-7) ///< Operation in progress -#define ARM_SOCKET_ETIMEDOUT (-8) ///< Operation timed out -#define ARM_SOCKET_EISCONN (-9) ///< Socket is connected -#define ARM_SOCKET_ENOTCONN (-10) ///< Socket is not connected -#define ARM_SOCKET_ECONNREFUSED (-11) ///< Connection rejected by the peer -#define ARM_SOCKET_ECONNRESET (-12) ///< Connection reset by the peer -#define ARM_SOCKET_ECONNABORTED (-13) ///< Connection aborted locally -#define ARM_SOCKET_EALREADY (-14) ///< Connection already in progress -#define ARM_SOCKET_EADDRINUSE (-15) ///< Address in use -#define ARM_SOCKET_EHOSTNOTFOUND (-16) ///< Host not found - - -// Function documentation -/** - \fn ARM_DRIVER_VERSION ARM_WIFI_GetVersion (void) - \brief Get driver version. - \return \ref ARM_DRIVER_VERSION -*/ -/** - \fn ARM_WIFI_CAPABILITIES ARM_WIFI_GetCapabilities (void) - \brief Get driver capabilities. - \return \ref ARM_WIFI_CAPABILITIES -*/ -/** - \fn int32_t ARM_WIFI_Initialize (ARM_WIFI_SignalEvent_t cb_event) - \brief Initialize WiFi Module. - \param[in] cb_event Pointer to \ref ARM_WIFI_SignalEvent_t - \return execution status - - \ref ARM_DRIVER_OK : Operation successful - - \ref ARM_DRIVER_ERROR : Operation failed -*/ -/** - \fn int32_t ARM_WIFI_Uninitialize (void) - \brief De-initialize WiFi Module. - \return execution status - - \ref ARM_DRIVER_OK : Operation successful - - \ref ARM_DRIVER_ERROR : Operation failed -*/ -/** - \fn int32_t ARM_WIFI_PowerControl (ARM_POWER_STATE state) - \brief Control WiFi Module Power. - \param[in] state Power state - - \ref ARM_POWER_OFF : Power off: no operation possible - - \ref ARM_POWER_LOW : Low-power mode: sleep or deep-sleep depending on \ref ARM_WIFI_LP_TIMER option set - - \ref ARM_POWER_FULL : Power on: full operation at maximum performance - \return execution status - - \ref ARM_DRIVER_OK : Operation successful - - \ref ARM_DRIVER_ERROR : Operation failed - - \ref ARM_DRIVER_ERROR_UNSUPPORTED : Operation not supported - - \ref ARM_DRIVER_ERROR_PARAMETER : Parameter error (invalid state) -*/ -/** - \fn int32_t ARM_WIFI_GetModuleInfo (char *module_info, uint32_t max_len) - \brief Get Module information. - \param[out] module_info Pointer to character buffer were info string will be returned - \param[in] max_len Maximum length of string to return (including null terminator) - \return execution status - - \ref ARM_DRIVER_OK : Operation successful - - \ref ARM_DRIVER_ERROR : Operation failed - - \ref ARM_DRIVER_ERROR_UNSUPPORTED : Operation not supported - - \ref ARM_DRIVER_ERROR_PARAMETER : Parameter error (NULL module_info pointer or max_len equals to 0) -*/ -/** - \fn int32_t ARM_WIFI_SetOption (uint32_t interface, uint32_t option, const void *data, uint32_t len) - \brief Set WiFi Module Options. - \param[in] interface Interface (0 = Station, 1 = Access Point) - \param[in] option Option to set - \param[in] data Pointer to data relevant to selected option - \param[in] len Length of data (in bytes) - \return execution status - - \ref ARM_DRIVER_OK : Operation successful - - \ref ARM_DRIVER_ERROR : Operation failed - - \ref ARM_DRIVER_ERROR_UNSUPPORTED : Operation not supported - - \ref ARM_DRIVER_ERROR_PARAMETER : Parameter error (invalid interface, NULL data pointer or len less than option specifies) -*/ -/** - \fn int32_t ARM_WIFI_GetOption (uint32_t interface, uint32_t option, void *data, uint32_t *len) - \brief Get WiFi Module Options. - \param[in] interface Interface (0 = Station, 1 = Access Point) - \param[in] option Option to get - \param[out] data Pointer to memory where data for selected option will be returned - \param[in,out] len Pointer to length of data (input/output) - - input: maximum length of data that can be returned (in bytes) - - output: length of returned data (in bytes) - \return execution status - - \ref ARM_DRIVER_OK : Operation successful - - \ref ARM_DRIVER_ERROR : Operation failed - - \ref ARM_DRIVER_ERROR_UNSUPPORTED : Operation not supported - - \ref ARM_DRIVER_ERROR_PARAMETER : Parameter error (invalid interface, NULL data or len pointer, or *len less than option specifies) -*/ -/** - \fn int32_t ARM_WIFI_Scan (ARM_WIFI_SCAN_INFO_t scan_info[], uint32_t max_num) - \brief Scan for available networks in range. - \param[out] scan_info Pointer to array of ARM_WIFI_SCAN_INFO_t structures where available Scan Information will be returned - \param[in] max_num Maximum number of Network Information structures to return - \return number of ARM_WIFI_SCAN_INFO_t structures returned or error code - - value >= 0 : Number of ARM_WIFI_SCAN_INFO_t structures returned - - \ref ARM_DRIVER_ERROR : Operation failed - - \ref ARM_DRIVER_ERROR_PARAMETER : Parameter error (NULL scan_info pointer or max_num equal to 0) -*/ -/** - \fn int32_t ARM_WIFI_Activate (uint32_t interface, const ARM_WIFI_CONFIG_t *config) - \brief Activate interface (Connect to a wireless network or activate an access point). - \param[in] interface Interface (0 = Station, 1 = Access Point) - \param[in] config Pointer to ARM_WIFI_CONFIG_t structure where Configuration parameters are located - \return execution status - - \ref ARM_DRIVER_OK : Operation successful - - \ref ARM_DRIVER_ERROR : Operation failed - - \ref ARM_DRIVER_ERROR_TIMEOUT : Timeout occurred - - \ref ARM_DRIVER_ERROR_UNSUPPORTED : Operation not supported (security type, channel autodetect or WPS not supported) - - \ref ARM_DRIVER_ERROR_PARAMETER : Parameter error (invalid interface, NULL config pointer or invalid configuration) -*/ -/** - \fn int32_t ARM_WIFI_Deactivate (uint32_t interface) - \brief Deactivate interface (Disconnect from a wireless network or deactivate an access point). - \param[in] interface Interface (0 = Station, 1 = Access Point) - \return execution status - - \ref ARM_DRIVER_OK : Operation successful - - \ref ARM_DRIVER_ERROR : Operation failed - - \ref ARM_DRIVER_ERROR_PARAMETER : Parameter error (invalid interface) -*/ -/** - \fn uint32_t ARM_WIFI_IsConnected (void) - \brief Get station connection status. - \return station connection status - - value != 0: Station connected - - value = 0: Station not connected -*/ -/** - \fn int32_t ARM_WIFI_GetNetInfo (ARM_WIFI_NET_INFO_t *net_info) - \brief Get station Network Information. - \param[out] net_info Pointer to ARM_WIFI_NET_INFO_t structure where station Network Information will be returned - \return execution status - - \ref ARM_DRIVER_OK : Operation successful - - \ref ARM_DRIVER_ERROR : Operation failed (station not connected) - - \ref ARM_DRIVER_ERROR_UNSUPPORTED : Operation not supported - - \ref ARM_DRIVER_ERROR_PARAMETER : Parameter error (invalid interface or NULL net_info pointer) -*/ -/** - \fn int32_t ARM_WIFI_BypassControl (uint32_t interface, uint32_t mode) - \brief Enable or disable bypass (pass-through) mode. Transmit and receive Ethernet frames (IP layer bypassed and WiFi/Ethernet translation). - \param[in] interface Interface (0 = Station, 1 = Access Point) - \param[in] mode - - value = 1: all packets bypass internal IP stack - - value = 0: all packets processed by internal IP stack - \return execution status - - \ref ARM_DRIVER_OK : Operation successful - - \ref ARM_DRIVER_ERROR : Operation failed - - \ref ARM_DRIVER_ERROR_UNSUPPORTED : Operation not supported - - \ref ARM_DRIVER_ERROR_PARAMETER : Parameter error (invalid interface or mode) -*/ -/** - \fn int32_t ARM_WIFI_EthSendFrame (uint32_t interface, const uint8_t *frame, uint32_t len) - \brief Send Ethernet frame (in bypass mode only). - \param[in] interface Interface (0 = Station, 1 = Access Point) - \param[in] frame Pointer to frame buffer with data to send - \param[in] len Frame buffer length in bytes - \return execution status - - \ref ARM_DRIVER_OK : Operation successful - - \ref ARM_DRIVER_ERROR : Operation failed - - \ref ARM_DRIVER_ERROR_BUSY : Driver is busy - - \ref ARM_DRIVER_ERROR_UNSUPPORTED : Operation not supported - - \ref ARM_DRIVER_ERROR_PARAMETER : Parameter error (invalid interface or NULL frame pointer) -*/ -/** - \fn int32_t ARM_WIFI_EthReadFrame (uint32_t interface, uint8_t *frame, uint32_t len) - \brief Read data of received Ethernet frame (in bypass mode only). - \param[in] interface Interface (0 = Station, 1 = Access Point) - \param[in] frame Pointer to frame buffer for data to read into - \param[in] len Frame buffer length in bytes - \return number of data bytes read or error code - - value >= 0 : Number of data bytes read - - \ref ARM_DRIVER_ERROR : Operation failed - - \ref ARM_DRIVER_ERROR_UNSUPPORTED : Operation not supported - - \ref ARM_DRIVER_ERROR_PARAMETER : Parameter error (invalid interface or NULL frame pointer) -*/ -/** - \fn uint32_t ARM_WIFI_EthGetRxFrameSize (uint32_t interface) - \brief Get size of received Ethernet frame (in bypass mode only). - \param[in] interface Interface (0 = Station, 1 = Access Point) - \return number of bytes in received frame -*/ -/** - \fn int32_t ARM_WIFI_SocketCreate (int32_t af, int32_t type, int32_t protocol) - \brief Create a communication socket. - \param[in] af Address family - \param[in] type Socket type - \param[in] protocol Socket protocol - \return status information - - Socket identification number (>=0) - - \ref ARM_SOCKET_EINVAL : Invalid argument - - \ref ARM_SOCKET_ENOTSUP : Operation not supported - - \ref ARM_SOCKET_ENOMEM : Not enough memory - - \ref ARM_SOCKET_ERROR : Unspecified error -*/ -/** - \fn int32_t ARM_WIFI_SocketBind (int32_t socket, const uint8_t *ip, uint32_t ip_len, uint16_t port) - \brief Assign a local address to a socket. - \param[in] socket Socket identification number - \param[in] ip Pointer to local IP address - \param[in] ip_len Length of 'ip' address in bytes - \param[in] port Local port number - \return status information - - 0 : Operation successful - - \ref ARM_SOCKET_ESOCK : Invalid socket - - \ref ARM_SOCKET_EINVAL : Invalid argument (address or socket already bound) - - \ref ARM_SOCKET_EADDRINUSE : Address already in use - - \ref ARM_SOCKET_ERROR : Unspecified error -*/ -/** - \fn int32_t ARM_WIFI_SocketListen (int32_t socket, int32_t backlog) - \brief Listen for socket connections. - \param[in] socket Socket identification number - \param[in] backlog Number of connection requests that can be queued - \return status information - - 0 : Operation successful - - \ref ARM_SOCKET_ESOCK : Invalid socket - - \ref ARM_SOCKET_EINVAL : Invalid argument (socket not bound) - - \ref ARM_SOCKET_ENOTSUP : Operation not supported - - \ref ARM_SOCKET_EISCONN : Socket is already connected - - \ref ARM_SOCKET_ERROR : Unspecified error -*/ -/** - \fn int32_t ARM_WIFI_SocketAccept (int32_t socket, uint8_t *ip, uint32_t *ip_len, uint16_t *port) - \brief Accept a new connection on a socket. - \param[in] socket Socket identification number - \param[out] ip Pointer to buffer where address of connecting socket shall be returned (NULL for none) - \param[in,out] ip_len Pointer to length of 'ip' (or NULL if 'ip' is NULL) - - length of supplied 'ip' on input - - length of stored 'ip' on output - \param[out] port Pointer to buffer where port of connecting socket shall be returned (NULL for none) - \return status information - - socket identification number of accepted socket (>=0) - - \ref ARM_SOCKET_ESOCK : Invalid socket - - \ref ARM_SOCKET_EINVAL : Invalid argument (socket not in listen mode) - - \ref ARM_SOCKET_ENOTSUP : Operation not supported (socket type does not support accepting connections) - - \ref ARM_SOCKET_ECONNRESET : Connection reset by the peer - - \ref ARM_SOCKET_ECONNABORTED : Connection aborted locally - - \ref ARM_SOCKET_EAGAIN : Operation would block or timed out (may be called again) - - \ref ARM_SOCKET_ERROR : Unspecified error -*/ -/** - \fn int32_t ARM_WIFI_SocketConnect (int32_t socket, const uint8_t *ip, uint32_t ip_len, uint16_t port) - \brief Connect a socket to a remote host. - \param[in] socket Socket identification number - \param[in] ip Pointer to remote IP address - \param[in] ip_len Length of 'ip' address in bytes - \param[in] port Remote port number - \return status information - - 0 : Operation successful - - \ref ARM_SOCKET_ESOCK : Invalid socket - - \ref ARM_SOCKET_EINVAL : Invalid argument - - \ref ARM_SOCKET_EALREADY : Connection already in progress - - \ref ARM_SOCKET_EINPROGRESS : Operation in progress - - \ref ARM_SOCKET_EISCONN : Socket is connected - - \ref ARM_SOCKET_ECONNREFUSED : Connection rejected by the peer - - \ref ARM_SOCKET_ECONNABORTED : Connection aborted locally - - \ref ARM_SOCKET_EADDRINUSE : Address already in use - - \ref ARM_SOCKET_ETIMEDOUT : Operation timed out - - \ref ARM_SOCKET_ERROR : Unspecified error -*/ -/** - \fn int32_t ARM_WIFI_SocketRecv (int32_t socket, void *buf, uint32_t len) - \brief Receive data or check if data is available on a connected socket. - \param[in] socket Socket identification number - \param[out] buf Pointer to buffer where data should be stored - \param[in] len Length of buffer (in bytes), set len = 0 to check if data is available - \return status information - - number of bytes received (>=0), if len != 0 - - 0 : Data is available (len = 0) - - \ref ARM_SOCKET_ESOCK : Invalid socket - - \ref ARM_SOCKET_EINVAL : Invalid argument (pointer to buffer or length) - - \ref ARM_SOCKET_ENOTCONN : Socket is not connected - - \ref ARM_SOCKET_ECONNRESET : Connection reset by the peer - - \ref ARM_SOCKET_ECONNABORTED : Connection aborted locally - - \ref ARM_SOCKET_EAGAIN : Operation would block or timed out (may be called again) - - \ref ARM_SOCKET_ERROR : Unspecified error -*/ -/** - \fn int32_t ARM_WIFI_SocketRecvFrom (int32_t socket, void *buf, uint32_t len, uint8_t *ip, uint32_t *ip_len, uint16_t *port) - \brief Receive data or check if data is available on a socket. - \param[in] socket Socket identification number - \param[out] buf Pointer to buffer where data should be stored - \param[in] len Length of buffer (in bytes), set len = 0 to check if data is available - \param[out] ip Pointer to buffer where remote source address shall be returned (NULL for none) - \param[in,out] ip_len Pointer to length of 'ip' (or NULL if 'ip' is NULL) - - length of supplied 'ip' on input - - length of stored 'ip' on output - \param[out] port Pointer to buffer where remote source port shall be returned (NULL for none) - \return status information - - number of bytes received (>=0), if len != 0 - - 0 : Data is available (len = 0) - - \ref ARM_SOCKET_ESOCK : Invalid socket - - \ref ARM_SOCKET_EINVAL : Invalid argument (pointer to buffer or length) - - \ref ARM_SOCKET_ENOTCONN : Socket is not connected - - \ref ARM_SOCKET_ECONNRESET : Connection reset by the peer - - \ref ARM_SOCKET_ECONNABORTED : Connection aborted locally - - \ref ARM_SOCKET_EAGAIN : Operation would block or timed out (may be called again) - - \ref ARM_SOCKET_ERROR : Unspecified error -*/ -/** - \fn int32_t ARM_WIFI_SocketSend (int32_t socket, const void *buf, uint32_t len) - \brief Send data or check if data can be sent on a connected socket. - \param[in] socket Socket identification number - \param[in] buf Pointer to buffer containing data to send - \param[in] len Length of data (in bytes), set len = 0 to check if data can be sent - \return status information - - number of bytes sent (>=0), if len != 0 - - 0 : Data can be sent (len = 0) - - \ref ARM_SOCKET_ESOCK : Invalid socket - - \ref ARM_SOCKET_EINVAL : Invalid argument (pointer to buffer or length) - - \ref ARM_SOCKET_ENOTCONN : Socket is not connected - - \ref ARM_SOCKET_ECONNRESET : Connection reset by the peer - - \ref ARM_SOCKET_ECONNABORTED : Connection aborted locally - - \ref ARM_SOCKET_EAGAIN : Operation would block or timed out (may be called again) - - \ref ARM_SOCKET_ERROR : Unspecified error -*/ -/** - \fn int32_t ARM_WIFI_SocketSendTo (int32_t socket, const void *buf, uint32_t len, const uint8_t *ip, uint32_t ip_len, uint16_t port) - \brief Send data or check if data can be sent on a socket. - \param[in] socket Socket identification number - \param[in] buf Pointer to buffer containing data to send - \param[in] len Length of data (in bytes), set len = 0 to check if data can be sent - \param[in] ip Pointer to remote destination IP address - \param[in] ip_len Length of 'ip' address in bytes - \param[in] port Remote destination port number - \return status information - - number of bytes sent (>=0), if len != 0 - - 0 : Data can be sent (len = 0) - - \ref ARM_SOCKET_ESOCK : Invalid socket - - \ref ARM_SOCKET_EINVAL : Invalid argument (pointer to buffer or length) - - \ref ARM_SOCKET_ENOTCONN : Socket is not connected - - \ref ARM_SOCKET_ECONNRESET : Connection reset by the peer - - \ref ARM_SOCKET_ECONNABORTED : Connection aborted locally - - \ref ARM_SOCKET_EAGAIN : Operation would block or timed out (may be called again) - - \ref ARM_SOCKET_ERROR : Unspecified error -*/ -/** - \fn int32_t ARM_WIFI_SocketGetSockName (int32_t socket, uint8_t *ip, uint32_t *ip_len, uint16_t *port) - \brief Retrieve local IP address and port of a socket. - \param[in] socket Socket identification number - \param[out] ip Pointer to buffer where local address shall be returned (NULL for none) - \param[in,out] ip_len Pointer to length of 'ip' (or NULL if 'ip' is NULL) - - length of supplied 'ip' on input - - length of stored 'ip' on output - \param[out] port Pointer to buffer where local port shall be returned (NULL for none) - \return status information - - 0 : Operation successful - - \ref ARM_SOCKET_ESOCK : Invalid socket - - \ref ARM_SOCKET_EINVAL : Invalid argument (pointer to buffer or length) - - \ref ARM_SOCKET_ERROR : Unspecified error -*/ -/** - \fn int32_t ARM_WIFI_SocketGetPeerName (int32_t socket, uint8_t *ip, uint32_t *ip_len, uint16_t *port) - \brief Retrieve remote IP address and port of a socket. - \param[in] socket Socket identification number - \param[out] ip Pointer to buffer where remote address shall be returned (NULL for none) - \param[in,out] ip_len Pointer to length of 'ip' (or NULL if 'ip' is NULL) - - length of supplied 'ip' on input - - length of stored 'ip' on output - \param[out] port Pointer to buffer where remote port shall be returned (NULL for none) - \return status information - - 0 : Operation successful - - \ref ARM_SOCKET_ESOCK : Invalid socket - - \ref ARM_SOCKET_EINVAL : Invalid argument (pointer to buffer or length) - - \ref ARM_SOCKET_ENOTCONN : Socket is not connected - - \ref ARM_SOCKET_ERROR : Unspecified error -*/ -/** - \fn int32_t ARM_WIFI_SocketGetOpt (int32_t socket, int32_t opt_id, void *opt_val, uint32_t *opt_len) - \brief Get socket option. - \param[in] socket Socket identification number - \param[in] opt_id Option identifier - \param[out] opt_val Pointer to the buffer that will receive the option value - \param[in,out] opt_len Pointer to length of the option value - - length of buffer on input - - length of data on output - \return status information - - 0 : Operation successful - - \ref ARM_SOCKET_ESOCK : Invalid socket - - \ref ARM_SOCKET_EINVAL : Invalid argument - - \ref ARM_SOCKET_ENOTSUP : Operation not supported - - \ref ARM_SOCKET_ERROR : Unspecified error -*/ -/** - \fn int32_t ARM_WIFI_SocketSetOpt (int32_t socket, int32_t opt_id, const void *opt_val, uint32_t opt_len) - \brief Set socket option. - \param[in] socket Socket identification number - \param[in] opt_id Option identifier - \param[in] opt_val Pointer to the option value - \param[in] opt_len Length of the option value in bytes - \return status information - - 0 : Operation successful - - \ref ARM_SOCKET_ESOCK : Invalid socket - - \ref ARM_SOCKET_EINVAL : Invalid argument - - \ref ARM_SOCKET_ENOTSUP : Operation not supported - - \ref ARM_SOCKET_ERROR : Unspecified error -*/ -/** - \fn int32_t ARM_WIFI_SocketClose (int32_t socket) - \brief Close and release a socket. - \param[in] socket Socket identification number - \return status information - - 0 : Operation successful - - \ref ARM_SOCKET_ESOCK : Invalid socket - - \ref ARM_SOCKET_EAGAIN : Operation would block (may be called again) - - \ref ARM_SOCKET_ERROR : Unspecified error -*/ -/** - \fn int32_t ARM_WIFI_SocketGetHostByName (const char *name, int32_t af, uint8_t *ip, uint32_t *ip_len) - \brief Retrieve host IP address from host name. - \param[in] name Host name - \param[in] af Address family - \param[out] ip Pointer to buffer where resolved IP address shall be returned - \param[in,out] ip_len Pointer to length of 'ip' - - length of supplied 'ip' on input - - length of stored 'ip' on output - \return status information - - 0 : Operation successful - - \ref ARM_SOCKET_EINVAL : Invalid argument - - \ref ARM_SOCKET_ENOTSUP : Operation not supported - - \ref ARM_SOCKET_ETIMEDOUT : Operation timed out - - \ref ARM_SOCKET_EHOSTNOTFOUND : Host not found - - \ref ARM_SOCKET_ERROR : Unspecified error -*/ -/** - \fn int32_t ARM_WIFI_Ping (const uint8_t *ip, uint32_t ip_len) - \brief Probe remote host with Ping command. - \param[in] ip Pointer to remote host IP address - \param[in] ip_len Length of 'ip' address in bytes - \return execution status - - \ref ARM_DRIVER_OK : Operation successful - - \ref ARM_DRIVER_ERROR : Operation failed - - \ref ARM_DRIVER_ERROR_TIMEOUT : Timeout occurred - - \ref ARM_DRIVER_ERROR_UNSUPPORTED : Operation not supported - - \ref ARM_DRIVER_ERROR_PARAMETER : Parameter error (NULL ip pointer or ip_len different than 4 or 16) -*/ -/** - \fn void ARM_WIFI_SignalEvent (uint32_t event, void *arg) - \brief Signal WiFi Events. - \param[in] event \ref wifi_event notification mask - \param[in] arg Pointer to argument of signaled event - \return none -*/ - -typedef void (*ARM_WIFI_SignalEvent_t) (uint32_t event, void *arg); ///< Pointer to \ref ARM_WIFI_SignalEvent : Signal WiFi Event. - - -/** -\brief WiFi Driver Capabilities. -*/ -typedef struct _ARM_WIFI_CAPABILITIES { - uint32_t station : 1; ///< Station - uint32_t ap : 1; ///< Access Point - uint32_t station_ap : 1; ///< Concurrent Station and Access Point - uint32_t wps_station : 1; ///< WiFi Protected Setup (WPS) for Station - uint32_t wps_ap : 1; ///< WiFi Protected Setup (WPS) for Access Point - uint32_t event_ap_connect : 1; ///< Access Point: event generated on Station connect - uint32_t event_ap_disconnect : 1; ///< Access Point: event generated on Station disconnect - uint32_t event_eth_rx_frame : 1; ///< Event generated on Ethernet frame reception in bypass mode - uint32_t bypass_mode : 1; ///< Bypass or pass-through mode (Ethernet interface) - uint32_t ip : 1; ///< IP (UDP/TCP) (Socket interface) - uint32_t ip6 : 1; ///< IPv6 (Socket interface) - uint32_t ping : 1; ///< Ping (ICMP) - uint32_t reserved : 20; ///< Reserved (must be zero) -} ARM_WIFI_CAPABILITIES; - -/** -\brief Access structure of the WiFi Driver. -*/ -typedef struct _ARM_DRIVER_WIFI { - ARM_DRIVER_VERSION (*GetVersion) (void); - ARM_WIFI_CAPABILITIES (*GetCapabilities) (void); - int32_t (*Initialize) (ARM_WIFI_SignalEvent_t cb_event); - int32_t (*Uninitialize) (void); - int32_t (*PowerControl) (ARM_POWER_STATE state); - int32_t (*GetModuleInfo) (char *module_info, uint32_t max_len); - int32_t (*SetOption) (uint32_t interface, uint32_t option, const void *data, uint32_t len); - int32_t (*GetOption) (uint32_t interface, uint32_t option, void *data, uint32_t *len); - int32_t (*Scan) (ARM_WIFI_SCAN_INFO_t scan_info[], uint32_t max_num); - int32_t (*Activate) (uint32_t interface, const ARM_WIFI_CONFIG_t *config); - int32_t (*Deactivate) (uint32_t interface); - uint32_t (*IsConnected) (void); - int32_t (*GetNetInfo) (ARM_WIFI_NET_INFO_t *net_info); - int32_t (*BypassControl) (uint32_t interface, uint32_t mode); - int32_t (*EthSendFrame) (uint32_t interface, const uint8_t *frame, uint32_t len); - int32_t (*EthReadFrame) (uint32_t interface, uint8_t *frame, uint32_t len); - uint32_t (*EthGetRxFrameSize) (uint32_t interface); - int32_t (*SocketCreate) (int32_t af, int32_t type, int32_t protocol); - int32_t (*SocketBind) (int32_t socket, const uint8_t *ip, uint32_t ip_len, uint16_t port); - int32_t (*SocketListen) (int32_t socket, int32_t backlog); - int32_t (*SocketAccept) (int32_t socket, uint8_t *ip, uint32_t *ip_len, uint16_t *port); - int32_t (*SocketConnect) (int32_t socket, const uint8_t *ip, uint32_t ip_len, uint16_t port); - int32_t (*SocketRecv) (int32_t socket, void *buf, uint32_t len); - int32_t (*SocketRecvFrom) (int32_t socket, void *buf, uint32_t len, uint8_t *ip, uint32_t *ip_len, uint16_t *port); - int32_t (*SocketSend) (int32_t socket, const void *buf, uint32_t len); - int32_t (*SocketSendTo) (int32_t socket, const void *buf, uint32_t len, const uint8_t *ip, uint32_t ip_len, uint16_t port); - int32_t (*SocketGetSockName) (int32_t socket, uint8_t *ip, uint32_t *ip_len, uint16_t *port); - int32_t (*SocketGetPeerName) (int32_t socket, uint8_t *ip, uint32_t *ip_len, uint16_t *port); - int32_t (*SocketGetOpt) (int32_t socket, int32_t opt_id, void *opt_val, uint32_t *opt_len); - int32_t (*SocketSetOpt) (int32_t socket, int32_t opt_id, const void *opt_val, uint32_t opt_len); - int32_t (*SocketClose) (int32_t socket); - int32_t (*SocketGetHostByName) (const char *name, int32_t af, uint8_t *ip, uint32_t *ip_len); - int32_t (*Ping) (const uint8_t *ip, uint32_t ip_len); -} const ARM_DRIVER_WIFI; - -#ifdef __cplusplus -} -#endif - -#endif /* DRIVER_WIFI_H_ */ diff --git a/external/CMSIS_5/CMSIS/Driver/VIO/Include/cmsis_vio.h b/external/CMSIS_5/CMSIS/Driver/VIO/Include/cmsis_vio.h deleted file mode 100644 index 8339cc1..0000000 --- a/external/CMSIS_5/CMSIS/Driver/VIO/Include/cmsis_vio.h +++ /dev/null @@ -1,175 +0,0 @@ -/****************************************************************************** - * @file cmsis_vio.h - * @brief CMSIS Virtual I/O header file - * @version V0.1.0 - * @date 23. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2019-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __CMSIS_VIO_H -#define __CMSIS_VIO_H - -#include - -/******************************************************************************* - * Generic I/O mapping recommended for CMSIS-VIO - * Note: not every I/O must be physically available - */ - -// vioSetSignal: mask values -#define vioLED0 (1U << 0) ///< \ref vioSetSignal \a mask parameter: LED 0 (for 3-color: red) -#define vioLED1 (1U << 1) ///< \ref vioSetSignal \a mask parameter: LED 1 (for 3-color: green) -#define vioLED2 (1U << 2) ///< \ref vioSetSignal \a mask parameter: LED 2 (for 3-color: blue) -#define vioLED3 (1U << 3) ///< \ref vioSetSignal \a mask parameter: LED 3 -#define vioLED4 (1U << 4) ///< \ref vioSetSignal \a mask parameter: LED 4 -#define vioLED5 (1U << 5) ///< \ref vioSetSignal \a mask parameter: LED 5 -#define vioLED6 (1U << 6) ///< \ref vioSetSignal \a mask parameter: LED 6 -#define vioLED7 (1U << 7) ///< \ref vioSetSignal \a mask parameter: LED 7 - -// vioSetSignal: signal values -#define vioLEDon (0xFFU) ///< \ref vioSetSignal \a signal parameter: pattern to turn any LED on -#define vioLEDoff (0x00U) ///< \ref vioSetSignal \a signal parameter: pattern to turn any LED off - -// vioGetSignal: mask values and return values -#define vioBUTTON0 (1U << 0) ///< \ref vioGetSignal \a mask parameter: Push button 0 -#define vioBUTTON1 (1U << 1) ///< \ref vioGetSignal \a mask parameter: Push button 1 -#define vioBUTTON2 (1U << 2) ///< \ref vioGetSignal \a mask parameter: Push button 2 -#define vioBUTTON3 (1U << 3) ///< \ref vioGetSignal \a mask parameter: Push button 3 -#define vioJOYup (1U << 4) ///< \ref vioGetSignal \a mask parameter: Joystick button: up -#define vioJOYdown (1U << 5) ///< \ref vioGetSignal \a mask parameter: Joystick button: down -#define vioJOYleft (1U << 6) ///< \ref vioGetSignal \a mask parameter: Joystick button: left -#define vioJOYright (1U << 7) ///< \ref vioGetSignal \a mask parameter: Joystick button: right -#define vioJOYselect (1U << 8) ///< \ref vioGetSignal \a mask parameter: Joystick button: select -#define vioJOYall (vioJOYup | \ - vioJOYdown | \ - vioJOYleft | \ - vioJOYright | \ - vioJOYselect) ///< \ref vioGetSignal \a mask Joystick button: all - -// vioSetValue / vioGetValue: id values -#define vioAIN0 (0U) ///< \ref vioSetValue / \ref vioGetValue \a id parameter: Analog input value 0 -#define vioAIN1 (1U) ///< \ref vioSetValue / \ref vioGetValue \a id parameter: Analog input value 1 -#define vioAIN2 (2U) ///< \ref vioSetValue / \ref vioGetValue \a id parameter: Analog input value 2 -#define vioAIN3 (3U) ///< \ref vioSetValue / \ref vioGetValue \a id parameter: Analog input value 3 -#define vioAOUT0 (3U) ///< \ref vioSetValue / \ref vioGetValue \a id parameter: Analog output value 0 - -// vioSetXYZ / vioGetXZY: id values -#define vioMotionGyro (0U) ///< \ref vioSetXYZ / \ref vioGetXYZ \a id parameter: for Gyroscope -#define vioMotionAccelero (1U) ///< \ref vioSetXYZ / \ref vioGetXYZ \a id parameter: for Accelerometer -#define vioMotionMagneto (2U) ///< \ref vioSetXYZ / \ref vioGetXYZ \a id parameter: for Magnetometer - -// vioPrint: levels -#define vioLevelNone (0U) ///< \ref vioPrint \a level parameter: None -#define vioLevelHeading (1U) ///< \ref vioPrint \a level parameter: Heading -#define vioLevelMessage (2U) ///< \ref vioPrint \a level parameter: Message -#define vioLevelError (3U) ///< \ref vioPrint \a level parameter: Error - -/// 3-D vector value -typedef struct { - int32_t X; ///< X coordinate - int32_t Y; ///< Y coordinate - int32_t Z; ///< Z coordinate -} vioValueXYZ_t; - -/// IPv4 Internet Address -typedef struct { - uint8_t addr[4]; ///< IPv4 address value used in \ref vioSetIPv4 / \ref vioGetIPv4 -} vioAddrIPv4_t; - -/// IPv6 Internet Address -typedef struct { - uint8_t addr[16]; ///< IPv6 address value used in \ref vioSetIPv6 / \ref vioGetIPv6 -} vioAddrIPv6_t; - -#ifdef __cplusplus -extern "C" -{ -#endif - -/// Initialize test input, output. -/// \return none. -void vioInit (void); - -/// Print formated string to test terminal. -/// \param[in] level level (vioLevel...). -/// \param[in] format formated string to print. -/// \param[in] ... optional arguments (depending on format string). -/// \return number of characters written or -1 in case of error. -int32_t vioPrint (uint32_t level, const char *format, ...); - -/// Set signal output. -/// \param[in] mask bit mask of signals to set. -/// \param[in] signal signal value to set. -/// \return none. -void vioSetSignal (uint32_t mask, uint32_t signal); - -/// Get signal input. -/// \param[in] mask bit mask of signals to read. -/// \return signal value. -uint32_t vioGetSignal (uint32_t mask); - -/// Set value output. -/// \param[in] id output identifier. -/// \param[in] value value to set. -/// \return none. -void vioSetValue (uint32_t id, int32_t value); - -/// Get value input. -/// \param[in] id input identifier. -/// \return value retrieved from input. -int32_t vioGetValue (uint32_t id); - -/// Set XYZ value output. -/// \param[in] id output identifier. -/// \param[in] valueXYZ XYZ data to set. -/// \return none. -void vioSetXYZ (uint32_t id, vioValueXYZ_t valueXYZ); - -/// Get XYZ value input. -/// \param[in] id input identifier. -/// \return XYZ data retrieved from XYZ peripheral. -vioValueXYZ_t vioGetXYZ (uint32_t id); - -/// Set IPv4 address output. -/// \param[in] id output identifier. -/// \param[in] addrIPv4 pointer to IPv4 address. -/// \return none. -void vioSetIPv4 (uint32_t id, vioAddrIPv4_t addrIPv4); - -/// Get IPv4 address input. -/// \param[in] id input identifier. -/// \return IPv4 address retrieved from peripheral. -vioAddrIPv4_t vioGetIPv4 (uint32_t id); - -/// Set IPv6 address output. -/// \param[in] id output identifier. -/// \param[in] addrIPv6 pointer to IPv6 address. -/// \return none. -void vioSetIPv6 (uint32_t id, vioAddrIPv6_t addrIPv6); - -/// Get IPv6 address from peripheral. -/// \param[in] id input identifier. -/// \return IPv6 address retrieved from peripheral. -vioAddrIPv6_t vioGetIPv6 (uint32_t id); - -#ifdef __cplusplus -} -#endif - -#endif /* __CMSIS_VIO_H */ diff --git a/external/CMSIS_5/CMSIS/Driver/VIO/Source/vio.c b/external/CMSIS_5/CMSIS/Driver/VIO/Source/vio.c deleted file mode 100644 index 108efdc..0000000 --- a/external/CMSIS_5/CMSIS/Driver/VIO/Source/vio.c +++ /dev/null @@ -1,337 +0,0 @@ -/****************************************************************************** - * @file vio.c - * @brief Virtual I/O implementation template - * @version V1.0.0 - * @date 23. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2019-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include -#include "cmsis_vio.h" - -#include "RTE_Components.h" // Component selection -#include CMSIS_device_header - -#if !defined CMSIS_VOUT || !defined CMSIS_VIN -// Add user includes here: - -#endif - -// VIO input, output definitions -#define VIO_PRINT_MAX_SIZE 64U // maximum size of print memory -#define VIO_PRINTMEM_NUM 4U // number of print memories -#define VIO_VALUE_NUM 3U // number of values -#define VIO_VALUEXYZ_NUM 3U // number of XYZ values -#define VIO_IPV4_ADDRESS_NUM 2U // number of IPv4 addresses -#define VIO_IPV6_ADDRESS_NUM 2U // number of IPv6 addresses - -// VIO input, output variables -__USED uint32_t vioSignalIn; // Memory for incoming signal -__USED uint32_t vioSignalOut; // Memory for outgoing signal -__USED char vioPrintMem[VIO_PRINTMEM_NUM][VIO_PRINT_MAX_SIZE]; // Memory for the last value for each level -__USED int32_t vioValue [VIO_VALUE_NUM]; // Memory for value used in vioGetValue/vioSetValue -__USED vioValueXYZ_t vioValueXYZ[VIO_VALUEXYZ_NUM]; // Memory for XYZ value for 3-D vector -__USED vioAddrIPv4_t vioAddrIPv4[VIO_IPV4_ADDRESS_NUM]; // Memory for IPv4 address value used in vioSetIPv4/vioGetIPv4 -__USED vioAddrIPv6_t vioAddrIPv6[VIO_IPV6_ADDRESS_NUM]; // Memory for IPv6 address value used in vioSetIPv6/vioGetIPv6 - -#if !defined CMSIS_VOUT -// Add global user types, variables, functions here: - -#endif - -#if !defined CMSIS_VIN -// Add global user types, variables, functions here: - -#endif - -// Initialize test input, output. -void vioInit (void) { -#if !defined CMSIS_VOUT -// Add user variables here: - -#endif -#if !defined CMSIS_VIN -// Add user variables here: - -#endif - - vioSignalIn = 0U; - vioSignalOut = 0U; - - memset (vioPrintMem, 0, sizeof(vioPrintMem)); - memset (vioValue, 0, sizeof(vioValue)); - memset (vioValueXYZ, 0, sizeof(vioValueXYZ)); - memset (vioAddrIPv4, 0, sizeof(vioAddrIPv4)); - memset (vioAddrIPv6, 0, sizeof(vioAddrIPv6)); - -#if !defined CMSIS_VOUT -// Add user code here: - -#endif - -#if !defined CMSIS_VIN -// Add user code here: - -#endif -} - -// Print formated string to test terminal. -int32_t vioPrint (uint32_t level, const char *format, ...) { - va_list args; - int32_t ret; -#if !defined CMSIS_VOUT -// Add user variables here: - -#endif - - if (level > vioLevelError) { - return (-1); - } - - if (level > VIO_PRINTMEM_NUM) { - return (-1); - } - - va_start(args, format); - - ret = vsnprintf((char *)vioPrintMem[level], sizeof(vioPrintMem[level]), format, args); - - va_end(args); - -#if !defined CMSIS_VOUT -// Add user code here: - -#endif - - return (ret); -} - -// Set signal output. -void vioSetSignal (uint32_t mask, uint32_t signal) { -#if !defined CMSIS_VOUT -// Add user variables here: - -#endif - - vioSignalOut &= ~mask; - vioSignalOut |= mask & signal; - -#if !defined CMSIS_VOUT -// Add user code here: - -#endif -} - -// Get signal input. -uint32_t vioGetSignal (uint32_t mask) { - uint32_t signal; -#if !defined CMSIS_VIN -// Add user variables here: - -#endif - -#if !defined CMSIS_VIN -// Add user code here: - -// vioSignalIn = ...; -#endif - - signal = vioSignalIn; - - return (signal & mask); -} - -// Set value output. -void vioSetValue (uint32_t id, int32_t value) { - uint32_t index = id; -#if !defined CMSIS_VOUT -// Add user variables here: - -#endif - - if (index >= VIO_VALUE_NUM) { - return; /* return in case of out-of-range index */ - } - - vioValue[index] = value; - -#if !defined CMSIS_VOUT -// Add user code here: - -#endif -} - -// Get value input. -int32_t vioGetValue (uint32_t id) { - uint32_t index = id; - int32_t value = 0; -#if !defined CMSIS_VIN -// Add user variables here: - -#endif - - if (index >= VIO_VALUE_NUM) { - return value; /* return default in case of out-of-range index */ - } - -#if !defined CMSIS_VIN -// Add user code here: - -// vioValue[index] = ...; -#endif - - value = vioValue[index]; - - return value; -} - -// Set XYZ value output. -void vioSetXYZ (uint32_t id, vioValueXYZ_t valueXYZ) { - uint32_t index = id; -#if !defined CMSIS_VOUT -// Add user variables here: - -#endif - - if (index >= VIO_VALUEXYZ_NUM) { - return; /* return in case of out-of-range index */ - } - - vioValueXYZ[index] = valueXYZ; - -#if !defined CMSIS_VOUT -// Add user code here: - -#endif -} - -// Get XYZ value input. -vioValueXYZ_t vioGetXYZ (uint32_t id) { - uint32_t index = id; - vioValueXYZ_t valueXYZ = {0, 0, 0}; -#if !defined CMSIS_VIN -// Add user variables here: - -#endif - - if (index >= VIO_VALUEXYZ_NUM) { - return valueXYZ; /* return default in case of out-of-range index */ - } - -#if !defined CMSIS_VIN -// Add user code here: - -// vioValueXYZ[index] = ...; -#endif - - valueXYZ = vioValueXYZ[index]; - - return valueXYZ; -} - -// Set IPv4 address output. -void vioSetIPv4 (uint32_t id, vioAddrIPv4_t addrIPv4) { - uint32_t index = id; -#if !defined CMSIS_VOUT -// Add user variables here: - -#endif - - if (index >= VIO_IPV4_ADDRESS_NUM) { - return; /* return in case of out-of-range index */ - } - - vioAddrIPv4[index] = addrIPv4; - -#if !defined CMSIS_VOUT -// Add user code here: - -#endif -} - -// Get IPv4 address input. -vioAddrIPv4_t vioGetIPv4 (uint32_t id) { - uint32_t index = id; - vioAddrIPv4_t addrIPv4 = {0U, 0U, 0U, 0U}; -#if !defined CMSIS_VIN -// Add user variables here: - -#endif - - if (index >= VIO_IPV4_ADDRESS_NUM) { - return addrIPv4; /* return default in case of out-of-range index */ - } - -#if !defined CMSIS_VIN -// Add user code here: - -// vioAddrIPv4[index] = ...; -#endif - - addrIPv4 = vioAddrIPv4[index]; - - return addrIPv4; -} - -// Set IPv6 address output. -void vioSetIPv6 (uint32_t id, vioAddrIPv6_t addrIPv6) { - uint32_t index = id; -#if !defined CMSIS_VOUT -// Add user variables here: - -#endif - - if (index >= VIO_IPV6_ADDRESS_NUM) { - return; /* return in case of out-of-range index */ - } - - vioAddrIPv6[index] = addrIPv6; - -#if !defined CMSIS_VOUT -// Add user code here: - -#endif -} - -// Get IPv6 address input. -vioAddrIPv6_t vioGetIPv6 (uint32_t id) { - uint32_t index = id; - vioAddrIPv6_t addrIPv6 = {0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, - 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U}; -#if !defined CMSIS_VIN -// Add user variables here: - -#endif - - if (index >= VIO_IPV6_ADDRESS_NUM) { - return addrIPv6; /* return default in case of out-of-range index */ - } - -#if !defined CMSIS_VIN -// Add user code here: - -// vioAddrIPv6[index] = ...; -#endif - - addrIPv6 = vioAddrIPv6[index]; - - return addrIPv6; -} diff --git a/external/CMSIS_5/CMSIS/Driver/VIO/Source/vio_memory.c b/external/CMSIS_5/CMSIS/Driver/VIO/Source/vio_memory.c deleted file mode 100644 index 6c432c2..0000000 --- a/external/CMSIS_5/CMSIS/Driver/VIO/Source/vio_memory.c +++ /dev/null @@ -1,208 +0,0 @@ -/****************************************************************************** - * @file vio_memory.c - * @brief Virtual I/O implementation using memory only - * @version V1.0.0 - * @date 23. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2019-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include -#include "cmsis_vio.h" - -#include "RTE_Components.h" // Component selection -#include CMSIS_device_header - -// VIO input, output definitions -#define VIO_PRINT_MAX_SIZE 64U // maximum size of print memory -#define VIO_PRINTMEM_NUM 4U // number of print memories -#ifndef VIO_VALUE_NUM -#define VIO_VALUE_NUM 3U // number of values -#endif -#ifndef VIO_VALUEXYZ_NUM -#define VIO_VALUEXYZ_NUM 3U // number of XYZ values -#endif -#ifndef VIO_IPV4_ADDRESS_NUM -#define VIO_IPV4_ADDRESS_NUM 2U // number of IPv4 addresses -#endif -#ifndef VIO_IPV6_ADDRESS_NUM -#define VIO_IPV6_ADDRESS_NUM 2U // number of IPv6 addresses -#endif - -// VIO input, output variables -__USED uint32_t vioSignalIn; -__USED uint32_t vioSignalOut; -__USED char vioPrintMem[VIO_PRINTMEM_NUM][VIO_PRINT_MAX_SIZE]; -__USED int32_t vioValue [VIO_VALUE_NUM]; -__USED vioValueXYZ_t vioValueXYZ[VIO_VALUEXYZ_NUM]; -__USED vioAddrIPv4_t vioAddrIPv4[VIO_IPV4_ADDRESS_NUM]; -__USED vioAddrIPv6_t vioAddrIPv6[VIO_IPV6_ADDRESS_NUM]; - -// Initialize test input, output. -void vioInit (void) { - - vioSignalIn = 0U; - vioSignalOut = 0U; - - memset (vioPrintMem, 0, sizeof(vioPrintMem)); - memset (vioValue, 0, sizeof(vioValue)); - memset (vioValueXYZ, 0, sizeof(vioValueXYZ)); - memset (vioAddrIPv4, 0, sizeof(vioAddrIPv4)); - memset (vioAddrIPv6, 0, sizeof(vioAddrIPv6)); -} - -// Print formated string to test terminal. -int32_t vioPrint (uint32_t level, const char *format, ...) { - va_list args; - int32_t ret; - - if (level > vioLevelError) { - return (-1); - } - - if (level > VIO_PRINTMEM_NUM) { - return (-1); - } - - va_start(args, format); - - ret = vsnprintf((char *)vioPrintMem[level], sizeof(vioPrintMem[level]), format, args); - - va_end(args); - - return (ret); -} - -// Set signal output. -void vioSetSignal (uint32_t mask, uint32_t signal) { - - vioSignalOut &= ~mask; - vioSignalOut |= mask & signal; -} - -// Get signal input. -uint32_t vioGetSignal (uint32_t mask) { - uint32_t signal; - - signal = vioSignalIn; - - return (signal & mask); -} - -// Set value output. -void vioSetValue (uint32_t id, int32_t value) { - uint32_t index = id; - - if (index >= VIO_VALUE_NUM) { - return; /* return in case of out-of-range index */ - } - - vioValue[index] = value; -} - -// Get value input. -int32_t vioGetValue (uint32_t id) { - uint32_t index = id; - int32_t value = 0; - - if (index >= VIO_VALUE_NUM) { - return value; /* return default in case of out-of-range index */ - } - - value = vioValue[index]; - - return value; -} - -// Set XYZ value output. -void vioSetXYZ (uint32_t id, vioValueXYZ_t valueXYZ) { - uint32_t index = id; - - if (index >= VIO_VALUEXYZ_NUM) { - return; /* return in case of out-of-range index */ - } - - vioValueXYZ[index] = valueXYZ; -} - -// Get XYZ value input. -vioValueXYZ_t vioGetXYZ (uint32_t id) { - uint32_t index = id; - vioValueXYZ_t valueXYZ = {0, 0, 0}; - - if (index >= VIO_VALUEXYZ_NUM) { - return valueXYZ; /* return default in case of out-of-range index */ - } - - valueXYZ = vioValueXYZ[index]; - - return valueXYZ; -} - -// Set IPv4 address output. -void vioSetIPv4 (uint32_t id, vioAddrIPv4_t addrIPv4) { - uint32_t index = id; - - if (index >= VIO_IPV4_ADDRESS_NUM) { - return; /* return in case of out-of-range index */ - } - - vioAddrIPv4[index] = addrIPv4; -} - -// Get IPv4 address input. -vioAddrIPv4_t vioGetIPv4 (uint32_t id) { - uint32_t index = id; - vioAddrIPv4_t addrIPv4 = {0U, 0U, 0U, 0U}; - - if (index >= VIO_IPV4_ADDRESS_NUM) { - return addrIPv4; /* return default in case of out-of-range index */ - } - - addrIPv4 = vioAddrIPv4[index]; - - return addrIPv4; -} - -// Set IPv6 address output. -void vioSetIPv6 (uint32_t id, vioAddrIPv6_t addrIPv6) { - uint32_t index = id; - - if (index >= VIO_IPV6_ADDRESS_NUM) { - return; /* return in case of out-of-range index */ - } - - vioAddrIPv6[index] = addrIPv6; -} - -// Get IPv6 address input. -vioAddrIPv6_t vioGetIPv6 (uint32_t id) { - uint32_t index = id; - vioAddrIPv6_t addrIPv6 = {0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, - 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U}; - - if (index >= VIO_IPV6_ADDRESS_NUM) { - return addrIPv6; /* return default in case of out-of-range index */ - } - - addrIPv6 = vioAddrIPv6[index]; - - return addrIPv6; -} diff --git a/external/CMSIS_5/CMSIS/Driver/VIO/cmsis_vio.scvd b/external/CMSIS_5/CMSIS/Driver/VIO/cmsis_vio.scvd deleted file mode 100644 index a25739c..0000000 --- a/external/CMSIS_5/CMSIS/Driver/VIO/cmsis_vio.scvd +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/external/CMSIS_5/Device/ARM/ARMCA5/Config/mem_ARMCA5.h b/external/CMSIS_5/Device/ARM/ARMCA5/Config/mem_ARMCA5.h deleted file mode 100644 index 9fe85c0..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA5/Config/mem_ARMCA5.h +++ /dev/null @@ -1,100 +0,0 @@ -/**************************************************************************//** - * @file mem_ARMCA5.h - * @brief Memory base and size definitions (used in scatter file) - * @version V1.1.0 - * @date 15. May 2019 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __MEM_ARMCA5_H -#define __MEM_ARMCA5_H - -/*---------------------------------------------------------------------------- - User Stack & Heap size definition - *----------------------------------------------------------------------------*/ -/* -//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ -*/ - -/*--------------------- ROM Configuration ------------------------------------ -// -// ROM Configuration -// For compatibility with MMU config the sections must be multiple of 1MB -// ROM Base Address <0x0-0xFFFFFFFF:0x100000> -// ROM Size (in Bytes) <0x0-0xFFFFFFFF:0x100000> -// - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x80000000 -#define __ROM_SIZE 0x00200000 - -/*--------------------- RAM Configuration ----------------------------------- -// RAM Configuration -// For compatibility with MMU config the sections must be multiple of 1MB -// RAM Base Address <0x0-0xFFFFFFFF:0x100000> -// RAM Total Size (in Bytes) <0x0-0xFFFFFFFF:0x100000> -// Data Sections -// RW_DATA Size (in Bytes) <0x0-0xFFFFFFFF:8> -// ZI_DATA Size (in Bytes) <0x0-0xFFFFFFFF:8> -// -// Stack / Heap Configuration -// Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -// Exceptional Modes -// UND Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// ABT Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// SVC Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// IRQ Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// FIQ Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// -// -// - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x80200000 -#define __RAM_SIZE 0x00200000 - -#define __RW_DATA_SIZE 0x00100000 -#define __ZI_DATA_SIZE 0x000F0000 - -#define __STACK_SIZE 0x00001000 -#define __HEAP_SIZE 0x00008000 - -#define __UND_STACK_SIZE 0x00000100 -#define __ABT_STACK_SIZE 0x00000100 -#define __SVC_STACK_SIZE 0x00000100 -#define __IRQ_STACK_SIZE 0x00000100 -#define __FIQ_STACK_SIZE 0x00000100 - -/*----------------------------------------------------------------------------*/ - -/*--------------------- TTB Configuration ------------------------------------ -// -// TTB Configuration -// The TLB L1 contains 4096 32-bit entries and must be 16kB aligned -// The TLB L2 entries are placed after the L1 in the MMU config -// TTB Base Address <0x0-0xFFFFFFFF:0x4000> -// TTB Size (in Bytes) <0x0-0xFFFFFFFF:8> -// - *----------------------------------------------------------------------------*/ -#define __TTB_BASE 0x80500000 -#define __TTB_SIZE 0x00005000 - -#endif /* __MEM_ARMCA5_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCA5/Config/system_ARMCA5.h b/external/CMSIS_5/Device/ARM/ARMCA5/Config/system_ARMCA5.h deleted file mode 100644 index 6a2a6da..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA5/Config/system_ARMCA5.h +++ /dev/null @@ -1,65 +0,0 @@ -/****************************************************************************** - * @file system_ARMCA5.h - * @brief CMSIS Device System Header File for Arm Cortex-A5 Device Series - * @version V1.00 - * @date 10. January 2018 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __SYSTEM_ARMCA5_H -#define __SYSTEM_ARMCA5_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */ - -/** - \brief Setup the microcontroller system. - - Initialize the System and update the SystemCoreClock variable. - */ -extern void SystemInit (void); - - -/** - \brief Update SystemCoreClock variable. - - Updates the SystemCoreClock with current core Clock retrieved from cpu registers. - */ -extern void SystemCoreClockUpdate (void); - -/** - \brief Create Translation Table. - - Creates Memory Management Unit Translation Table. - */ -extern void MMU_CreateTranslationTable(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __SYSTEM_ARMCA5_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCA5/Include/ARMCA5.h b/external/CMSIS_5/Device/ARM/ARMCA5/Include/ARMCA5.h deleted file mode 100644 index 0e56100..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA5/Include/ARMCA5.h +++ /dev/null @@ -1,138 +0,0 @@ -/****************************************************************************** - * @file ARMCA5.h - * @brief CMSIS Cortex-A5 Core Peripheral Access Layer Header File - * @version V1.1.0 - * @date 15. May 2019 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __ARMCA5_H__ -#define __ARMCA5_H__ - -#ifdef __cplusplus -extern "C" { -#endif - - -/* ------------------------- Interrupt Number Definition ------------------------ */ - -typedef enum IRQn -{ -/****** SGI Interrupts Numbers ****************************************/ - SGI0_IRQn = 0, /*!< Software Generated Interrupt 0 */ - SGI1_IRQn = 1, /*!< Software Generated Interrupt 1 */ - SGI2_IRQn = 2, /*!< Software Generated Interrupt 2 */ - SGI3_IRQn = 3, /*!< Software Generated Interrupt 3 */ - SGI4_IRQn = 4, /*!< Software Generated Interrupt 4 */ - SGI5_IRQn = 5, /*!< Software Generated Interrupt 5 */ - SGI6_IRQn = 6, /*!< Software Generated Interrupt 6 */ - SGI7_IRQn = 7, /*!< Software Generated Interrupt 7 */ - SGI8_IRQn = 8, /*!< Software Generated Interrupt 8 */ - SGI9_IRQn = 9, /*!< Software Generated Interrupt 9 */ - SGI10_IRQn = 10, /*!< Software Generated Interrupt 10 */ - SGI11_IRQn = 11, /*!< Software Generated Interrupt 11 */ - SGI12_IRQn = 12, /*!< Software Generated Interrupt 12 */ - SGI13_IRQn = 13, /*!< Software Generated Interrupt 13 */ - SGI14_IRQn = 14, /*!< Software Generated Interrupt 14 */ - SGI15_IRQn = 15, /*!< Software Generated Interrupt 15 */ - -/****** Cortex-A5 Processor Exceptions Numbers ****************************************/ - GlobalTimer_IRQn = 27, /*!< Global Timer Interrupt */ - PrivTimer_IRQn = 29, /*!< Private Timer Interrupt */ - PrivWatchdog_IRQn = 30, /*!< Private Watchdog Interrupt */ - -/****** Platform Exceptions Numbers ***************************************************/ - Watchdog_IRQn = 32, /*!< SP805 Interrupt */ - Timer0_IRQn = 34, /*!< SP804 Interrupt */ - Timer1_IRQn = 35, /*!< SP804 Interrupt */ - RTClock_IRQn = 36, /*!< PL031 Interrupt */ - UART0_IRQn = 37, /*!< PL011 Interrupt */ - UART1_IRQn = 38, /*!< PL011 Interrupt */ - UART2_IRQn = 39, /*!< PL011 Interrupt */ - UART3_IRQn = 40, /*!< PL011 Interrupt */ - MCI0_IRQn = 41, /*!< PL180 Interrupt (1st) */ - MCI1_IRQn = 42, /*!< PL180 Interrupt (2nd) */ - AACI_IRQn = 43, /*!< PL041 Interrupt */ - Keyboard_IRQn = 44, /*!< PL050 Interrupt */ - Mouse_IRQn = 45, /*!< PL050 Interrupt */ - CLCD_IRQn = 46, /*!< PL111 Interrupt */ - Ethernet_IRQn = 47, /*!< SMSC_91C111 Interrupt */ - VFS2_IRQn = 73, /*!< VFS2 Interrupt */ -} IRQn_Type; - -/******************************************************************************/ -/* Peripheral memory map */ -/******************************************************************************/ - -/* Peripheral and RAM base address */ -#define VE_A5_MP_FLASH_BASE0 (0x00000000UL) /*!< (FLASH0 ) Base Address */ -#define VE_A5_MP_FLASH_BASE1 (0x0C000000UL) /*!< (FLASH1 ) Base Address */ -#define VE_A5_MP_SRAM_BASE (0x14000000UL) /*!< (SRAM ) Base Address */ -#define VE_A5_MP_PERIPH_BASE_CS2 (0x18000000UL) /*!< (Peripheral ) Base Address */ -#define VE_A5_MP_VRAM_BASE (0x00000000UL + VE_A5_MP_PERIPH_BASE_CS2) /*!< (VRAM ) Base Address */ -#define VE_A5_MP_ETHERNET_BASE (0x02000000UL + VE_A5_MP_PERIPH_BASE_CS2) /*!< (ETHERNET ) Base Address */ -#define VE_A5_MP_USB_BASE (0x03000000UL + VE_A5_MP_PERIPH_BASE_CS2) /*!< (USB ) Base Address */ -#define VE_A5_MP_PERIPH_BASE_CS3 (0x1C000000UL) /*!< (Peripheral ) Base Address */ -#define VE_A5_MP_DAP_BASE (0x00000000UL + VE_A5_MP_PERIPH_BASE_CS3) /*!< (LOCAL DAP ) Base Address */ -#define VE_A5_MP_SYSTEM_REG_BASE (0x00010000UL + VE_A5_MP_PERIPH_BASE_CS3) /*!< (SYSTEM REG ) Base Address */ -#define VE_A5_MP_SERIAL_BASE (0x00030000UL + VE_A5_MP_PERIPH_BASE_CS3) /*!< (SERIAL ) Base Address */ -#define VE_A5_MP_AACI_BASE (0x00040000UL + VE_A5_MP_PERIPH_BASE_CS3) /*!< (AACI ) Base Address */ -#define VE_A5_MP_MMCI_BASE (0x00050000UL + VE_A5_MP_PERIPH_BASE_CS3) /*!< (MMCI ) Base Address */ -#define VE_A5_MP_KMI0_BASE (0x00060000UL + VE_A5_MP_PERIPH_BASE_CS3) /*!< (KMI0 ) Base Address */ -#define VE_A5_MP_UART_BASE (0x00090000UL + VE_A5_MP_PERIPH_BASE_CS3) /*!< (UART ) Base Address */ -#define VE_A5_MP_WDT_BASE (0x000F0000UL + VE_A5_MP_PERIPH_BASE_CS3) /*!< (WDT ) Base Address */ -#define VE_A5_MP_TIMER_BASE (0x00110000UL + VE_A5_MP_PERIPH_BASE_CS3) /*!< (TIMER ) Base Address */ -#define VE_A5_MP_DVI_BASE (0x00160000UL + VE_A5_MP_PERIPH_BASE_CS3) /*!< (DVI ) Base Address */ -#define VE_A5_MP_RTC_BASE (0x00170000UL + VE_A5_MP_PERIPH_BASE_CS3) /*!< (RTC ) Base Address */ -#define VE_A5_MP_UART4_BASE (0x001B0000UL + VE_A5_MP_PERIPH_BASE_CS3) /*!< (UART4 ) Base Address */ -#define VE_A5_MP_CLCD_BASE (0x001F0000UL + VE_A5_MP_PERIPH_BASE_CS3) /*!< (CLCD ) Base Address */ -#define VE_A5_MP_PRIVATE_PERIPH_BASE (0x2C000000UL) /*!< (Peripheral ) Base Address */ -#define VE_A5_MP_GIC_DISTRIBUTOR_BASE (0x00001000UL + VE_A5_MP_PRIVATE_PERIPH_BASE) /*!< (GIC DIST ) Base Address */ -#define VE_A5_MP_GIC_INTERFACE_BASE (0x00000100UL + VE_A5_MP_PRIVATE_PERIPH_BASE) /*!< (GIC CPU IF ) Base Address */ -#define VE_A5_MP_PRIVATE_TIMER (0x00000600UL + VE_A5_MP_PRIVATE_PERIPH_BASE) /*!< (PTIM ) Base Address */ -#define VE_A5_MP_PL310_BASE (0x000F0000UL + VE_A5_MP_PRIVATE_PERIPH_BASE) /*!< (L2C-310 ) Base Address */ -#define VE_A5_MP_SSRAM_BASE (0x2E000000UL) /*!< (System SRAM) Base Address */ -#define VE_A5_MP_DRAM_BASE (0x80000000UL) /*!< (DRAM ) Base Address */ -#define GIC_DISTRIBUTOR_BASE VE_A5_MP_GIC_DISTRIBUTOR_BASE -#define GIC_INTERFACE_BASE VE_A5_MP_GIC_INTERFACE_BASE -#define TIMER_BASE VE_A5_MP_PRIVATE_TIMER - -//The VE-A5 model implements L1 cache as architecturally defined, but does not implement L2 cache. -//Do not enable the L2 cache if you are running RTX on a VE-A5 model as it may cause a data abort. -#define L2C_310_BASE VE_A5_MP_PL310_BASE - -/* -------- Configuration of the Cortex-A5 Processor and Core Peripherals ------- */ -#define __CA_REV 0x0000U /* Core revision r0p0 */ -#define __CORTEX_A 5U /* Cortex-A5 Core */ -#define __FPU_PRESENT 1U /* FPU present */ -#define __GIC_PRESENT 1U /* GIC present */ -#define __TIM_PRESENT 1U /* TIM present */ -#define __L2C_PRESENT 0U /* L2C present */ - -#include "core_ca.h" -#include - -#ifdef __cplusplus -} -#endif - -#endif // __ARMCA5_H__ diff --git a/external/CMSIS_5/Device/ARM/ARMCA5/Source/AC5/ARMCA5.sct b/external/CMSIS_5/Device/ARM/ARMCA5/Source/AC5/ARMCA5.sct deleted file mode 100644 index 7eba725..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA5/Source/AC5/ARMCA5.sct +++ /dev/null @@ -1,77 +0,0 @@ -#! armcc -E -;************************************************** -; Copyright (c) 2017 ARM Ltd. All rights reserved. -;************************************************** - -; Scatter-file for RTX Example on Versatile Express - -; This scatter-file places application code, data, stack and heap at suitable addresses in the memory map. - -; This platform has 2GB SDRAM starting at 0x80000000. - -#include "mem_ARMCA5.h" - -SDRAM __ROM_BASE __ROM_SIZE ; load region size_region -{ - VECTORS __ROM_BASE __ROM_SIZE ; load address = execution address - { - * (RESET, +FIRST) ; Vector table and other startup code - * (InRoot$$Sections) ; All (library) code that must be in a root region - * (+RO-CODE) ; Application RO code (.text) - * (+RO-DATA) ; Application RO data (.constdata) - } - - RW_DATA __RAM_BASE __RW_DATA_SIZE - { * (+RW) } ; Application RW data (.data) - - ZI_DATA (__RAM_BASE+ - __RW_DATA_SIZE) __ZI_DATA_SIZE - { * (+ZI) } ; Application ZI data (.bss) - - ARM_LIB_HEAP (__RAM_BASE - +__RW_DATA_SIZE - +__ZI_DATA_SIZE) EMPTY __HEAP_SIZE ; Heap region growing up - { } - - ARM_LIB_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE - -__SVC_STACK_SIZE - -__ABT_STACK_SIZE - -__UND_STACK_SIZE) EMPTY -__STACK_SIZE ; Stack region growing down - { } - - UND_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE - -__SVC_STACK_SIZE - -__ABT_STACK_SIZE) EMPTY -__UND_STACK_SIZE ; UND mode stack - { } - - ABT_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE - -__SVC_STACK_SIZE) EMPTY -__ABT_STACK_SIZE ; ABT mode stack - { } - - SVC_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE) EMPTY -__SVC_STACK_SIZE ; SVC mode stack - { } - - IRQ_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE) EMPTY -__IRQ_STACK_SIZE ; IRQ mode stack - { } - - FIQ_STACK (__RAM_BASE - +__RAM_SIZE) EMPTY -__FIQ_STACK_SIZE ; FIQ mode stack - { } - - TTB __TTB_BASE EMPTY __TTB_SIZE ; Level-1 Translation Table for MMU - { } -} diff --git a/external/CMSIS_5/Device/ARM/ARMCA5/Source/AC5/startup_ARMCA5.c b/external/CMSIS_5/Device/ARM/ARMCA5/Source/AC5/startup_ARMCA5.c deleted file mode 100644 index 6dce5be..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA5/Source/AC5/startup_ARMCA5.c +++ /dev/null @@ -1,151 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCA5.c - * @brief CMSIS Device System Source File for Arm Cortex-A5 Device Series - * @version V1.00 - * @date 10. January 2018 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include - -/*---------------------------------------------------------------------------- - Definitions - *----------------------------------------------------------------------------*/ -#define USR_MODE 0x10 // User mode -#define FIQ_MODE 0x11 // Fast Interrupt Request mode -#define IRQ_MODE 0x12 // Interrupt Request mode -#define SVC_MODE 0x13 // Supervisor mode -#define ABT_MODE 0x17 // Abort mode -#define UND_MODE 0x1B // Undefined Instruction mode -#define SYS_MODE 0x1F // System mode - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -void Vectors (void) __attribute__ ((section("RESET"))); -void Reset_Handler (void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -void Undef_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PAbt_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DAbt_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void IRQ_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void FIQ_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector Table - *----------------------------------------------------------------------------*/ -__ASM void Vectors(void) { - PRESERVE8 - - IMPORT Undef_Handler - IMPORT SVC_Handler - IMPORT PAbt_Handler - IMPORT DAbt_Handler - IMPORT IRQ_Handler - IMPORT FIQ_Handler - LDR PC, =Reset_Handler - LDR PC, =Undef_Handler - LDR PC, =SVC_Handler - LDR PC, =PAbt_Handler - LDR PC, =DAbt_Handler - NOP - LDR PC, =IRQ_Handler - LDR PC, =FIQ_Handler -} - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__ASM void Reset_Handler(void) { - PRESERVE8 - - // Mask interrupts - CPSID if - - // Put any cores other than 0 to sleep - MRC p15, 0, R0, c0, c0, 5 // Read MPIDR - ANDS R0, R0, #3 -goToSleep - WFINE - BNE goToSleep - - // Reset SCTLR Settings - MRC p15, 0, R0, c1, c0, 0 // Read CP15 System Control register - BIC R0, R0, #(0x1 << 12) // Clear I bit 12 to disable I Cache - BIC R0, R0, #(0x1 << 2) // Clear C bit 2 to disable D Cache - BIC R0, R0, #0x1 // Clear M bit 0 to disable MMU - BIC R0, R0, #(0x1 << 11) // Clear Z bit 11 to disable branch prediction - BIC R0, R0, #(0x1 << 13) // Clear V bit 13 to disable hivecs - MCR p15, 0, R0, c1, c0, 0 // Write value back to CP15 System Control register - ISB - - // Configure ACTLR - MRC p15, 0, r0, c1, c0, 1 // Read CP15 Auxiliary Control Register - ORR r0, r0, #(1 << 1) // Enable L2 prefetch hint (UNK/WI since r4p1) - MCR p15, 0, r0, c1, c0, 1 // Write CP15 Auxiliary Control Register - - // Set Vector Base Address Register (VBAR) to point to this application's vector table - LDR R0, =Vectors - MCR p15, 0, R0, c12, c0, 0 - - // Setup Stack for each exceptional mode - IMPORT |Image$$FIQ_STACK$$ZI$$Limit| - IMPORT |Image$$IRQ_STACK$$ZI$$Limit| - IMPORT |Image$$SVC_STACK$$ZI$$Limit| - IMPORT |Image$$ABT_STACK$$ZI$$Limit| - IMPORT |Image$$UND_STACK$$ZI$$Limit| - IMPORT |Image$$ARM_LIB_STACK$$ZI$$Limit| - CPS #0x11 - LDR SP, =|Image$$FIQ_STACK$$ZI$$Limit| - CPS #0x12 - LDR SP, =|Image$$IRQ_STACK$$ZI$$Limit| - CPS #0x13 - LDR SP, =|Image$$SVC_STACK$$ZI$$Limit| - CPS #0x17 - LDR SP, =|Image$$ABT_STACK$$ZI$$Limit| - CPS #0x1B - LDR SP, =|Image$$UND_STACK$$ZI$$Limit| - CPS #0x1F - LDR SP, =|Image$$ARM_LIB_STACK$$ZI$$Limit| - - // Call SystemInit - IMPORT SystemInit - BL SystemInit - - // Unmask interrupts - CPSIE if - - // Call __main - IMPORT __main - BL __main -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) { - while(1); -} diff --git a/external/CMSIS_5/Device/ARM/ARMCA5/Source/AC6/ARMCA5.sct b/external/CMSIS_5/Device/ARM/ARMCA5/Source/AC6/ARMCA5.sct deleted file mode 100644 index 41e562c..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA5/Source/AC6/ARMCA5.sct +++ /dev/null @@ -1,77 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-a5 -xc -;************************************************** -; Copyright (c) 2017 ARM Ltd. All rights reserved. -;************************************************** - -; Scatter-file for RTX Example on Versatile Express - -; This scatter-file places application code, data, stack and heap at suitable addresses in the memory map. - -; This platform has 2GB SDRAM starting at 0x80000000. - -#include "mem_ARMCA5.h" - -SDRAM __ROM_BASE __ROM_SIZE ; load region size_region -{ - VECTORS __ROM_BASE __ROM_SIZE ; load address = execution address - { - * (RESET, +FIRST) ; Vector table and other startup code - * (InRoot$$Sections) ; All (library) code that must be in a root region - * (+RO-CODE) ; Application RO code (.text) - * (+RO-DATA) ; Application RO data (.constdata) - } - - RW_DATA __RAM_BASE __RW_DATA_SIZE - { * (+RW) } ; Application RW data (.data) - - ZI_DATA (__RAM_BASE+ - __RW_DATA_SIZE) __ZI_DATA_SIZE - { * (+ZI) } ; Application ZI data (.bss) - - ARM_LIB_HEAP (__RAM_BASE - +__RW_DATA_SIZE - +__ZI_DATA_SIZE) EMPTY __HEAP_SIZE ; Heap region growing up - { } - - ARM_LIB_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE - -__SVC_STACK_SIZE - -__ABT_STACK_SIZE - -__UND_STACK_SIZE) EMPTY -__STACK_SIZE ; Stack region growing down - { } - - UND_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE - -__SVC_STACK_SIZE - -__ABT_STACK_SIZE) EMPTY -__UND_STACK_SIZE ; UND mode stack - { } - - ABT_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE - -__SVC_STACK_SIZE) EMPTY -__ABT_STACK_SIZE ; ABT mode stack - { } - - SVC_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE) EMPTY -__SVC_STACK_SIZE ; SVC mode stack - { } - - IRQ_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE) EMPTY -__IRQ_STACK_SIZE ; IRQ mode stack - { } - - FIQ_STACK (__RAM_BASE - +__RAM_SIZE) EMPTY -__FIQ_STACK_SIZE ; FIQ mode stack - { } - - TTB __TTB_BASE EMPTY __TTB_SIZE ; Level-1 Translation Table for MMU - { } -} diff --git a/external/CMSIS_5/Device/ARM/ARMCA5/Source/AC6/startup_ARMCA5.c b/external/CMSIS_5/Device/ARM/ARMCA5/Source/AC6/startup_ARMCA5.c deleted file mode 100644 index 1bdd541..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA5/Source/AC6/startup_ARMCA5.c +++ /dev/null @@ -1,136 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCA5.c - * @brief CMSIS Device System Source File for Arm Cortex-A5 Device Series - * @version V1.0.1 - * @date 10. January 2021 - ******************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include - -/*---------------------------------------------------------------------------- - Definitions - *----------------------------------------------------------------------------*/ -#define USR_MODE 0x10 // User mode -#define FIQ_MODE 0x11 // Fast Interrupt Request mode -#define IRQ_MODE 0x12 // Interrupt Request mode -#define SVC_MODE 0x13 // Supervisor mode -#define ABT_MODE 0x17 // Abort mode -#define UND_MODE 0x1B // Undefined Instruction mode -#define SYS_MODE 0x1F // System mode - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -void Vectors (void) __attribute__ ((naked, section("RESET"))); -void Reset_Handler (void) __attribute__ ((naked)); -void Default_Handler(void) __attribute__ ((noreturn)); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -void Undef_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PAbt_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DAbt_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void IRQ_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void FIQ_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector Table - *----------------------------------------------------------------------------*/ -void Vectors(void) { - __ASM volatile( - "LDR PC, =Reset_Handler \n" - "LDR PC, =Undef_Handler \n" - "LDR PC, =SVC_Handler \n" - "LDR PC, =PAbt_Handler \n" - "LDR PC, =DAbt_Handler \n" - "NOP \n" - "LDR PC, =IRQ_Handler \n" - "LDR PC, =FIQ_Handler \n" - ); -} - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -void Reset_Handler(void) { - __ASM volatile( - - // Mask interrupts - "CPSID if \n" - - // Put any cores other than 0 to sleep - "MRC p15, 0, R0, c0, c0, 5 \n" // Read MPIDR - "ANDS R0, R0, #3 \n" - "goToSleep: \n" - "WFINE \n" - "BNE goToSleep \n" - - // Reset SCTLR Settings - "MRC p15, 0, R0, c1, c0, 0 \n" // Read CP15 System Control register - "BIC R0, R0, #(0x1 << 12) \n" // Clear I bit 12 to disable I Cache - "BIC R0, R0, #(0x1 << 2) \n" // Clear C bit 2 to disable D Cache - "BIC R0, R0, #0x1 \n" // Clear M bit 0 to disable MMU - "BIC R0, R0, #(0x1 << 11) \n" // Clear Z bit 11 to disable branch prediction - "BIC R0, R0, #(0x1 << 13) \n" // Clear V bit 13 to disable hivecs - "MCR p15, 0, R0, c1, c0, 0 \n" // Write value back to CP15 System Control register - "ISB \n" - - // Configure ACTLR - "MRC p15, 0, r0, c1, c0, 1 \n" // Read CP15 Auxiliary Control Register - "ORR r0, r0, #(1 << 1) \n" // Enable L2 prefetch hint (UNK/WI since r4p1) - "MCR p15, 0, r0, c1, c0, 1 \n" // Write CP15 Auxiliary Control Register - - // Set Vector Base Address Register (VBAR) to point to this application's vector table - "LDR R0, =Vectors \n" - "MCR p15, 0, R0, c12, c0, 0 \n" - - // Setup Stack for each exceptional mode - "CPS #0x11 \n" - "LDR SP, =Image$$FIQ_STACK$$ZI$$Limit \n" - "CPS #0x12 \n" - "LDR SP, =Image$$IRQ_STACK$$ZI$$Limit \n" - "CPS #0x13 \n" - "LDR SP, =Image$$SVC_STACK$$ZI$$Limit \n" - "CPS #0x17 \n" - "LDR SP, =Image$$ABT_STACK$$ZI$$Limit \n" - "CPS #0x1B \n" - "LDR SP, =Image$$UND_STACK$$ZI$$Limit \n" - "CPS #0x1F \n" - "LDR SP, =Image$$ARM_LIB_STACK$$ZI$$Limit \n" - - // Call SystemInit - "BL SystemInit \n" - - // Unmask interrupts - "CPSIE if \n" - - // Call __main - "BL __main \n" - ); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) { - while(1); -} diff --git a/external/CMSIS_5/Device/ARM/ARMCA5/Source/GCC/ARMCA5.ld b/external/CMSIS_5/Device/ARM/ARMCA5/Source/GCC/ARMCA5.ld deleted file mode 100644 index ff1f39e..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA5/Source/GCC/ARMCA5.ld +++ /dev/null @@ -1,181 +0,0 @@ -#include "mem_ARMCA5.h" - -MEMORY -{ - ROM (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - L_TTB (rw) : ORIGIN = __TTB_BASE, LENGTH = __TTB_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - - Image$$VECTORS$$Base = .; - * (RESET) - KEEP(*(.isr_vector)) - Image$$VECTORS$$Limit = .; - - *(SVC_TABLE) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - Image$$RO_DATA$$Base = .; - *(.rodata*) - Image$$RO_DATA$$Limit = .; - - KEEP(*(.eh_frame*)) - } > ROM - - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > ROM - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > ROM - __exidx_end = .; - - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - LONG (__etext) - LONG (__data_start__) - LONG (__data_end__ - __data_start__) - __copy_table_end__ = .; - } > ROM - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - LONG (__bss_start__) - LONG (__bss_end__ - __bss_start__) - __zero_table_end__ = .; - } > ROM - - __etext = .; - - .ttb : - { - Image$$TTB$$ZI$$Base = .; - . += __TTB_SIZE; - Image$$TTB$$ZI$$Limit = .; - } > L_TTB - - .data : AT (__etext) - { - Image$$RW_DATA$$Base = .; - __data_start__ = .; - *(vtable) - *(.data*) - Image$$RW_DATA$$Limit = .; - - . = ALIGN(4); - /* preinit data */ - PROVIDE (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE (__init_array_end = .); - - - . = ALIGN(4); - /* finit data */ - PROVIDE (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE (__fini_array_end = .); - - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - - .bss ALIGN(0x400): - { - Image$$ZI_DATA$$Base = .; - __bss_start__ = .; - *(.bss*) - *(COMMON) - __bss_end__ = .; - Image$$ZI_DATA$$Limit = .; - __end__ = .; - end = __end__; - } > RAM - -#if defined(__HEAP_SIZE) && (__HEAP_SIZE > 0) - .heap (NOLOAD): - { - . = ALIGN(8); - Image$$HEAP$$ZI$$Base = .; - . += __HEAP_SIZE; - Image$$HEAP$$ZI$$Limit = .; - __HeapLimit = .; - } > RAM -#endif - - .stack (NOLOAD): - { - . = ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE - __FIQ_STACK_SIZE - __IRQ_STACK_SIZE - __SVC_STACK_SIZE - __ABT_STACK_SIZE - __UND_STACK_SIZE; - . = ALIGN(8); - - __StackTop = .; - Image$$SYS_STACK$$ZI$$Base = .; - . += __STACK_SIZE; - Image$$SYS_STACK$$ZI$$Limit = .; - __stack = .; - - Image$$FIQ_STACK$$ZI$$Base = .; - . += __FIQ_STACK_SIZE; - Image$$FIQ_STACK$$ZI$$Limit = .; - - Image$$IRQ_STACK$$ZI$$Base = .; - . += __IRQ_STACK_SIZE; - Image$$IRQ_STACK$$ZI$$Limit = .; - - Image$$SVC_STACK$$ZI$$Base = .; - . += __SVC_STACK_SIZE; - Image$$SVC_STACK$$ZI$$Limit = .; - - Image$$ABT_STACK$$ZI$$Base = .; - . += __ABT_STACK_SIZE; - Image$$ABT_STACK$$ZI$$Limit = .; - - Image$$UND_STACK$$ZI$$Base = .; - . += __UND_STACK_SIZE; - Image$$UND_STACK$$ZI$$Limit = .; - - } > RAM -} diff --git a/external/CMSIS_5/Device/ARM/ARMCA5/Source/GCC/ARMCA5.sct b/external/CMSIS_5/Device/ARM/ARMCA5/Source/GCC/ARMCA5.sct deleted file mode 100644 index 41e562c..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA5/Source/GCC/ARMCA5.sct +++ /dev/null @@ -1,77 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-a5 -xc -;************************************************** -; Copyright (c) 2017 ARM Ltd. All rights reserved. -;************************************************** - -; Scatter-file for RTX Example on Versatile Express - -; This scatter-file places application code, data, stack and heap at suitable addresses in the memory map. - -; This platform has 2GB SDRAM starting at 0x80000000. - -#include "mem_ARMCA5.h" - -SDRAM __ROM_BASE __ROM_SIZE ; load region size_region -{ - VECTORS __ROM_BASE __ROM_SIZE ; load address = execution address - { - * (RESET, +FIRST) ; Vector table and other startup code - * (InRoot$$Sections) ; All (library) code that must be in a root region - * (+RO-CODE) ; Application RO code (.text) - * (+RO-DATA) ; Application RO data (.constdata) - } - - RW_DATA __RAM_BASE __RW_DATA_SIZE - { * (+RW) } ; Application RW data (.data) - - ZI_DATA (__RAM_BASE+ - __RW_DATA_SIZE) __ZI_DATA_SIZE - { * (+ZI) } ; Application ZI data (.bss) - - ARM_LIB_HEAP (__RAM_BASE - +__RW_DATA_SIZE - +__ZI_DATA_SIZE) EMPTY __HEAP_SIZE ; Heap region growing up - { } - - ARM_LIB_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE - -__SVC_STACK_SIZE - -__ABT_STACK_SIZE - -__UND_STACK_SIZE) EMPTY -__STACK_SIZE ; Stack region growing down - { } - - UND_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE - -__SVC_STACK_SIZE - -__ABT_STACK_SIZE) EMPTY -__UND_STACK_SIZE ; UND mode stack - { } - - ABT_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE - -__SVC_STACK_SIZE) EMPTY -__ABT_STACK_SIZE ; ABT mode stack - { } - - SVC_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE) EMPTY -__SVC_STACK_SIZE ; SVC mode stack - { } - - IRQ_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE) EMPTY -__IRQ_STACK_SIZE ; IRQ mode stack - { } - - FIQ_STACK (__RAM_BASE - +__RAM_SIZE) EMPTY -__FIQ_STACK_SIZE ; FIQ mode stack - { } - - TTB __TTB_BASE EMPTY __TTB_SIZE ; Level-1 Translation Table for MMU - { } -} diff --git a/external/CMSIS_5/Device/ARM/ARMCA5/Source/GCC/startup_ARMCA5.c b/external/CMSIS_5/Device/ARM/ARMCA5/Source/GCC/startup_ARMCA5.c deleted file mode 100644 index 809a949..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA5/Source/GCC/startup_ARMCA5.c +++ /dev/null @@ -1,136 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCA5.c - * @brief CMSIS Device System Source File for Arm Cortex-A5 Device Series - * @version V1.0.1 - * @date 10. January 2021 - ******************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include - -/*---------------------------------------------------------------------------- - Definitions - *----------------------------------------------------------------------------*/ -#define USR_MODE 0x10 // User mode -#define FIQ_MODE 0x11 // Fast Interrupt Request mode -#define IRQ_MODE 0x12 // Interrupt Request mode -#define SVC_MODE 0x13 // Supervisor mode -#define ABT_MODE 0x17 // Abort mode -#define UND_MODE 0x1B // Undefined Instruction mode -#define SYS_MODE 0x1F // System mode - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -void Vectors (void) __attribute__ ((naked, section("RESET"))); -void Reset_Handler (void) __attribute__ ((naked)); -void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -void Undef_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PAbt_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DAbt_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void IRQ_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void FIQ_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector Table - *----------------------------------------------------------------------------*/ -void Vectors(void) { - __ASM volatile( - "LDR PC, =Reset_Handler \n" - "LDR PC, =Undef_Handler \n" - "LDR PC, =SVC_Handler \n" - "LDR PC, =PAbt_Handler \n" - "LDR PC, =DAbt_Handler \n" - "NOP \n" - "LDR PC, =IRQ_Handler \n" - "LDR PC, =FIQ_Handler \n" - ); -} - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -void Reset_Handler(void) { - __ASM volatile( - - // Mask interrupts - "CPSID if \n" - - // Put any cores other than 0 to sleep - "MRC p15, 0, R0, c0, c0, 5 \n" // Read MPIDR - "ANDS R0, R0, #3 \n" - "goToSleep: \n" - "WFINE \n" - "BNE goToSleep \n" - - // Reset SCTLR Settings - "MRC p15, 0, R0, c1, c0, 0 \n" // Read CP15 System Control register - "BIC R0, R0, #(0x1 << 12) \n" // Clear I bit 12 to disable I Cache - "BIC R0, R0, #(0x1 << 2) \n" // Clear C bit 2 to disable D Cache - "BIC R0, R0, #0x1 \n" // Clear M bit 0 to disable MMU - "BIC R0, R0, #(0x1 << 11) \n" // Clear Z bit 11 to disable branch prediction - "BIC R0, R0, #(0x1 << 13) \n" // Clear V bit 13 to disable hivecs - "MCR p15, 0, R0, c1, c0, 0 \n" // Write value back to CP15 System Control register - "ISB \n" - - // Configure ACTLR - "MRC p15, 0, r0, c1, c0, 1 \n" // Read CP15 Auxiliary Control Register - "ORR r0, r0, #(1 << 1) \n" // Enable L2 prefetch hint (UNK/WI since r4p1) - "MCR p15, 0, r0, c1, c0, 1 \n" // Write CP15 Auxiliary Control Register - - // Set Vector Base Address Register (VBAR) to point to this application's vector table - "LDR R0, =Vectors \n" - "MCR p15, 0, R0, c12, c0, 0 \n" - - // Setup Stack for each exceptional mode - "CPS #0x11 \n" - "LDR SP, =Image$$FIQ_STACK$$ZI$$Limit \n" - "CPS #0x12 \n" - "LDR SP, =Image$$IRQ_STACK$$ZI$$Limit \n" - "CPS #0x13 \n" - "LDR SP, =Image$$SVC_STACK$$ZI$$Limit \n" - "CPS #0x17 \n" - "LDR SP, =Image$$ABT_STACK$$ZI$$Limit \n" - "CPS #0x1B \n" - "LDR SP, =Image$$UND_STACK$$ZI$$Limit \n" - "CPS #0x1F \n" - "LDR SP, =Image$$SYS_STACK$$ZI$$Limit \n" - - // Call SystemInit - "BL SystemInit \n" - - // Unmask interrupts - "CPSIE if \n" - - // Call __main - "BL _start \n" - ); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) { - while(1); -} diff --git a/external/CMSIS_5/Device/ARM/ARMCA5/Source/IAR/ARMCA5.icf b/external/CMSIS_5/Device/ARM/ARMCA5/Source/IAR/ARMCA5.icf deleted file mode 100644 index ce564bb..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA5/Source/IAR/ARMCA5.icf +++ /dev/null @@ -1,67 +0,0 @@ - -/*-Memory Regions-*/ -define symbol __ICFEDIT_region_IROM1_start__ = 0x80000000; -define symbol __ICFEDIT_region_IROM1_end__ = 0x801FFFFF; -define symbol __ICFEDIT_region_IROM2_start__ = 0x0; -define symbol __ICFEDIT_region_IROM2_end__ = 0x0; -define symbol __ICFEDIT_region_EROM1_start__ = 0x0; -define symbol __ICFEDIT_region_EROM1_end__ = 0x0; -define symbol __ICFEDIT_region_EROM2_start__ = 0x0; -define symbol __ICFEDIT_region_EROM2_end__ = 0x0; -define symbol __ICFEDIT_region_EROM3_start__ = 0x0; -define symbol __ICFEDIT_region_EROM3_end__ = 0x0; -define symbol __ICFEDIT_region_IRAM1_start__ = 0x80200000; -define symbol __ICFEDIT_region_IRAM1_end__ = 0x803FFFFF; -define symbol __ICFEDIT_region_IRAM2_start__ = 0x0; -define symbol __ICFEDIT_region_IRAM2_end__ = 0x0; -define symbol __ICFEDIT_region_ERAM1_start__ = 0x0; -define symbol __ICFEDIT_region_ERAM1_end__ = 0x0; -define symbol __ICFEDIT_region_ERAM2_start__ = 0x0; -define symbol __ICFEDIT_region_ERAM2_end__ = 0x0; -define symbol __ICFEDIT_region_ERAM3_start__ = 0x0; -define symbol __ICFEDIT_region_ERAM3_end__ = 0x0; -define symbol __ICFEDIT_region_TTB_start__ = 0x80500000; -define symbol __ICFEDIT_region_TTB_end__ = 0x805FFFFF; - -/*-Sizes-*/ -define symbol __ICFEDIT_size_cstack__ = 0x1000; -define symbol __ICFEDIT_size_irqstack__ = 0x100; -define symbol __ICFEDIT_size_fiqstack__ = 0x100; -define symbol __ICFEDIT_size_svcstack__ = 0x100; -define symbol __ICFEDIT_size_abtstack__ = 0x100; -define symbol __ICFEDIT_size_undstack__ = 0x100; -define symbol __ICFEDIT_size_heap__ = 0x8000; -define symbol __ICFEDIT_size_ttb__ = 0x4000; - -define memory mem with size = 4G; -define region IROM_region = mem:[from __ICFEDIT_region_IROM1_start__ to __ICFEDIT_region_IROM1_end__] - | mem:[from __ICFEDIT_region_IROM2_start__ to __ICFEDIT_region_IROM2_end__]; -define region IRAM_region = mem:[from __ICFEDIT_region_IRAM1_start__ to __ICFEDIT_region_IRAM1_end__] - | mem:[from __ICFEDIT_region_IRAM2_start__ to __ICFEDIT_region_IRAM2_end__]; -define region ERAM_region = mem:[from __ICFEDIT_region_ERAM1_start__ to __ICFEDIT_region_ERAM1_end__] - | mem:[from __ICFEDIT_region_ERAM2_start__ to __ICFEDIT_region_ERAM2_end__] - | mem:[from __ICFEDIT_region_ERAM3_start__ to __ICFEDIT_region_ERAM3_end__]; -define region TTB_region = mem:[from __ICFEDIT_region_TTB_start__ to __ICFEDIT_region_TTB_end__ ]; - -define block USR_STACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; -define block IRQ_STACK with alignment = 8, size = __ICFEDIT_size_irqstack__ { }; -define block FIQ_STACK with alignment = 8, size = __ICFEDIT_size_fiqstack__ { }; -define block SVC_STACK with alignment = 8, size = __ICFEDIT_size_svcstack__ { }; -define block ABT_STACK with alignment = 8, size = __ICFEDIT_size_abtstack__ { }; -define block UND_STACK with alignment = 8, size = __ICFEDIT_size_undstack__ { }; -define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; -define block TTB with alignment = 8, size = __ICFEDIT_size_ttb__ { section TTB }; - -do not initialize { section .noinit }; - -initialize by copy { readwrite }; -if (isdefinedsymbol(__USE_DLIB_PERTHREAD)) -{ - // Required in a multi-threaded application - initialize by copy with packing = none { section __DLIB_PERTHREAD }; -} - -place at address mem:__ICFEDIT_region_IROM1_start__ { readonly section RESET }; -place in IROM_region { readonly }; -place in IRAM_region { readwrite, block HEAP, block USR_STACK, block IRQ_STACK, block FIQ_STACK, block SVC_STACK, block ABT_STACK, block UND_STACK }; -place in TTB_region { block TTB }; \ No newline at end of file diff --git a/external/CMSIS_5/Device/ARM/ARMCA5/Source/IAR/startup_ARMCA5.s b/external/CMSIS_5/Device/ARM/ARMCA5/Source/IAR/startup_ARMCA5.s deleted file mode 100644 index 85babb9..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA5/Source/IAR/startup_ARMCA5.s +++ /dev/null @@ -1,140 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCA9.s - * @brief CMSIS Device System Source File for ARM Cortex-A5 Device Series - * @version V1.00 - * @date 01 Nov 2017 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2017 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - MODULE ?startup_ARMCA5 - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ - PUBLIC Reset_Handler - PUBWEAK Undef_Handler - PUBWEAK SVC_Handler - PUBWEAK PAbt_Handler - PUBWEAK DAbt_Handler - PUBWEAK IRQ_Handler - PUBWEAK FIQ_Handler - - SECTION SVC_STACK:DATA:NOROOT(3) - SECTION IRQ_STACK:DATA:NOROOT(3) - SECTION FIQ_STACK:DATA:NOROOT(3) - SECTION ABT_STACK:DATA:NOROOT(3) - SECTION UND_STACK:DATA:NOROOT(3) - SECTION USR_STACK:DATA:NOROOT(3) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector Table - *----------------------------------------------------------------------------*/ - - section RESET:CODE:NOROOT(2) - PUBLIC Vectors - -Vectors: - LDR PC, =Reset_Handler - LDR PC, =Undef_Handler - LDR PC, =SVC_Handler - LDR PC, =PAbt_Handler - LDR PC, =DAbt_Handler - NOP - LDR PC, =IRQ_Handler - LDR PC, =FIQ_Handler - - - section .text:CODE:NOROOT(4) - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ - EXTERN SystemInit - EXTERN __iar_program_start - -Reset_Handler: - - // Mask interrupts - CPSID if - - // Put any cores other than 0 to sleep - MRC p15, 0, R0, c0, c0, 5 - ANDS R0, R0, #3 -goToSleep: - WFINE - BNE goToSleep - - // Reset SCTLR Settings - MRC p15, 0, R0, c1, c0, 0 // Read CP15 System Control register - BIC R0, R0, #(0x1 << 12) // Clear I bit 12 to disable I Cache - BIC R0, R0, #(0x1 << 2) // Clear C bit 2 to disable D Cache - BIC R0, R0, #0x1 // Clear M bit 0 to disable MMU - BIC R0, R0, #(0x1 << 11) // Clear Z bit 11 to disable branch prediction - BIC R0, R0, #(0x1 << 13) // Clear V bit 13 to disable hivecs - MCR p15, 0, R0, c1, c0, 0 // Write value back to CP15 System Control register - ISB - - // Configure ACTLR - MRC p15, 0, r0, c1, c0, 1 // Read CP15 Auxiliary Control Register - ORR r0, r0, #(1 << 1) // Enable L2 prefetch hint (UNK/WI since r4p1) - MCR p15, 0, r0, c1, c0, 1 // Write CP15 Auxiliary Control Register - - // Set Vector Base Address Register (VBAR) to point to this application's vector table - LDR R0, =Vectors - MCR p15, 0, R0, c12, c0, 0 - - // Setup Stack for each exception mode - CPS #0x11 - LDR SP, =SFE(FIQ_STACK) - CPS #0x12 - LDR SP, =SFE(IRQ_STACK) - CPS #0x13 - LDR SP, =SFE(SVC_STACK) - CPS #0x17 - LDR SP, =SFE(ABT_STACK) - CPS #0x1B - LDR SP, =SFE(UND_STACK) - CPS #0x1F - LDR SP, =SFE(USR_STACK) - - // Call SystemInit - BL SystemInit - - // Unmask interrupts - CPSIE if - - // Call __iar_program_start - BL __iar_program_start - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -Undef_Handler: -SVC_Handler: -PAbt_Handler: -DAbt_Handler: -IRQ_Handler: -FIQ_Handler: -Default_Handler: - B . - - END diff --git a/external/CMSIS_5/Device/ARM/ARMCA5/Source/mmu_ARMCA5.c b/external/CMSIS_5/Device/ARM/ARMCA5/Source/mmu_ARMCA5.c deleted file mode 100644 index 58a9480..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA5/Source/mmu_ARMCA5.c +++ /dev/null @@ -1,232 +0,0 @@ -/**************************************************************************//** - * @file mmu_ARMCA5.c - * @brief MMU Configuration for ARM Cortex-A5 Device Series - * @version V1.2.0 - * @date 15. May 2019 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* Memory map description from: DUI0447G_v2m_p1_trm.pdf 4.2.2 Arm Cortex-A Series memory map - - Memory Type -0xffffffff |--------------------------| ------------ - | FLAG SYNC | Device Memory -0xfffff000 |--------------------------| ------------ - | Fault | Fault -0xfff00000 |--------------------------| ------------ - | | Normal - | | - | Daughterboard | - | memory | - | | -0x80505000 |--------------------------| ------------ - |TTB (L2 Sync Flags ) 4k | Normal -0x80504C00 |--------------------------| ------------ - |TTB (L2 Peripherals-B) 16k| Normal -0x80504800 |--------------------------| ------------ - |TTB (L2 Peripherals-A) 16k| Normal -0x80504400 |--------------------------| ------------ - |TTB (L2 Priv Periphs) 4k | Normal -0x80504000 |--------------------------| ------------ - | TTB (L1 Descriptors) | Normal -0x80500000 |--------------------------| ------------ - | Stack | Normal - |--------------------------| ------------ - | Heap | Normal -0x80400000 |--------------------------| ------------ - | ZI Data | Normal -0x80300000 |--------------------------| ------------ - | RW Data | Normal -0x80200000 |--------------------------| ------------ - | RO Data | Normal - |--------------------------| ------------ - | RO Code | USH Normal -0x80000000 |--------------------------| ------------ - | Daughterboard | Fault - | HSB AXI buses | -0x40000000 |--------------------------| ------------ - | Daughterboard | Fault - | test chips peripherals | -0x2c002000 |--------------------------| ------------ - | Private Address | Device Memory -0x2c000000 |--------------------------| ------------ - | Daughterboard | Fault - | test chips peripherals | -0x20000000 |--------------------------| ------------ - | Peripherals | Device Memory RW/RO - | | & Fault -0x00000000 |--------------------------| -*/ - -// L1 Cache info and restrictions about architecture of the caches (CCSIR register): -// Write-Through support *not* available -// Write-Back support available. -// Read allocation support available. -// Write allocation support available. - -//Note: You should use the Shareable attribute carefully. -//For cores without coherency logic (such as SCU) marking a region as shareable forces the processor to not cache that region regardless of the inner cache settings. -//Cortex-A versions of RTX use LDREX/STREX instructions relying on Local monitors. Local monitors will be used only when the region gets cached, regions that are not cached will use the Global Monitor. -//Some Cortex-A implementations do not include Global Monitors, so wrongly setting the attribute Shareable may cause STREX to fail. - -//Recall: When the Shareable attribute is applied to a memory region that is not Write-Back, Normal memory, data held in this region is treated as Non-cacheable. -//When SMP bit = 0, Inner WB/WA Cacheable Shareable attributes are treated as Non-cacheable. -//When SMP bit = 1, Inner WB/WA Cacheable Shareable attributes are treated as Cacheable. - - -//Following MMU configuration is expected -//SCTLR.AFE == 1 (Simplified access permissions model - AP[2:1] define access permissions, AP[0] is an access flag) -//SCTLR.TRE == 0 (TEX remap disabled, so memory type and attributes are described directly by bits in the descriptor) -//Domain 0 is always the Client domain -//Descriptors should place all memory in domain 0 - -#include "ARMCA5.h" -#include "mem_ARMCA5.h" - -// TTB base address -#define TTB_BASE ((uint32_t*)__TTB_BASE) - -// L2 table pointers -//---------------------------------------- -#define TTB_L1_SIZE (0x00004000) // The L1 translation table divides the full 4GB address space of a 32-bit core - // into 4096 equally sized sections, each of which describes 1MB of virtual memory space. - // The L1 translation table therefore contains 4096 32-bit (word-sized) entries. - -#define PRIVATE_TABLE_L2_BASE_4k (__TTB_BASE + TTB_L1_SIZE) // Map 4k Private Address space -#define PERIPHERAL_A_TABLE_L2_BASE_64k (__TTB_BASE + TTB_L1_SIZE + 0x400) // Map 64k Peripheral #1 0x1C000000 - 0x1C00FFFFF -#define PERIPHERAL_B_TABLE_L2_BASE_64k (__TTB_BASE + TTB_L1_SIZE + 0x800) // Map 64k Peripheral #2 0x1C100000 - 0x1C1FFFFFF -#define SYNC_FLAGS_TABLE_L2_BASE_4k (__TTB_BASE + TTB_L1_SIZE + 0xC00) // Map 4k Flag synchronization - -//--------------------- PERIPHERALS ------------------- -#define PERIPHERAL_A_FAULT (0x00000000 + 0x1c000000) //0x1C000000-0x1C00FFFF (1M) -#define PERIPHERAL_B_FAULT (0x00100000 + 0x1c000000) //0x1C100000-0x1C10FFFF (1M) - -//--------------------- SYNC FLAGS -------------------- -#define FLAG_SYNC 0xFFFFF000 -#define F_SYNC_BASE 0xFFF00000 //1M aligned - -static uint32_t Sect_Normal; //outer & inner wb/wa, non-shareable, executable, rw, domain 0, base addr 0 -static uint32_t Sect_Normal_Cod; //outer & inner wb/wa, non-shareable, executable, ro, domain 0, base addr 0 -static uint32_t Sect_Normal_RO; //as Sect_Normal_Cod, but not executable -static uint32_t Sect_Normal_RW; //as Sect_Normal_Cod, but writeable and not executable -static uint32_t Sect_Device_RO; //device, non-shareable, non-executable, ro, domain 0, base addr 0 -static uint32_t Sect_Device_RW; //as Sect_Device_RO, but writeable - -/* Define global descriptors */ -static uint32_t Page_L1_4k = 0x0; //generic -static uint32_t Page_L1_64k = 0x0; //generic -static uint32_t Page_4k_Device_RW; //Shared device, not executable, rw, domain 0 -static uint32_t Page_64k_Device_RW; //Shared device, not executable, rw, domain 0 - -void MMU_CreateTranslationTable(void) -{ - mmu_region_attributes_Type region; - - //Create 4GB of faulting entries - MMU_TTSection (TTB_BASE, 0, 4096, DESCRIPTOR_FAULT); - - /* - * Generate descriptors. Refer to core_ca.h to get information about attributes - * - */ - //Create descriptors for Vectors, RO, RW, ZI sections - section_normal(Sect_Normal, region); - section_normal_cod(Sect_Normal_Cod, region); - section_normal_ro(Sect_Normal_RO, region); - section_normal_rw(Sect_Normal_RW, region); - //Create descriptors for peripherals - section_device_ro(Sect_Device_RO, region); - section_device_rw(Sect_Device_RW, region); - //Create descriptors for 64k pages - page64k_device_rw(Page_L1_64k, Page_64k_Device_RW, region); - //Create descriptors for 4k pages - page4k_device_rw(Page_L1_4k, Page_4k_Device_RW, region); - - - /* - * Define MMU flat-map regions and attributes - * - */ - - //Define Image - MMU_TTSection (TTB_BASE, __ROM_BASE, __ROM_SIZE/0x100000, Sect_Normal_Cod); // multiple of 1MB sections - MMU_TTSection (TTB_BASE, __RAM_BASE, __RAM_SIZE/0x100000, Sect_Normal_RW); // multiple of 1MB sections - - //--------------------- PERIPHERALS ------------------- - MMU_TTSection (TTB_BASE, VE_A5_MP_FLASH_BASE0 , 64, Sect_Device_RO); // 64MB NOR - MMU_TTSection (TTB_BASE, VE_A5_MP_FLASH_BASE1 , 64, Sect_Device_RO); // 64MB NOR - MMU_TTSection (TTB_BASE, VE_A5_MP_SRAM_BASE , 32, Sect_Device_RW); // 32MB RAM - MMU_TTSection (TTB_BASE, VE_A5_MP_VRAM_BASE , 32, Sect_Device_RW); // 32MB RAM - MMU_TTSection (TTB_BASE, VE_A5_MP_ETHERNET_BASE , 16, Sect_Device_RW); - MMU_TTSection (TTB_BASE, VE_A5_MP_USB_BASE , 16, Sect_Device_RW); - - // Create (16 * 64k)=1MB faulting entries to cover peripheral range 0x1C000000-0x1C00FFFF - MMU_TTPage64k(TTB_BASE, PERIPHERAL_A_FAULT , 16, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, DESCRIPTOR_FAULT); - // Define peripheral range 0x1C000000-0x1C00FFFF - MMU_TTPage64k(TTB_BASE, VE_A5_MP_DAP_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A5_MP_SYSTEM_REG_BASE, 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A5_MP_SERIAL_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A5_MP_AACI_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A5_MP_MMCI_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A5_MP_KMI0_BASE , 2, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A5_MP_UART_BASE , 4, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A5_MP_WDT_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - - // Create (16 * 64k)=1MB faulting entries to cover peripheral range 0x1C100000-0x1C10FFFF - MMU_TTPage64k(TTB_BASE, PERIPHERAL_B_FAULT , 16, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, DESCRIPTOR_FAULT); - // Define peripheral range 0x1C100000-0x1C10FFFF - MMU_TTPage64k(TTB_BASE, VE_A5_MP_TIMER_BASE , 2, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A5_MP_DVI_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A5_MP_RTC_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A5_MP_UART4_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A5_MP_CLCD_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); - - // Create (256 * 4k)=1MB faulting entries to cover private address space. Needs to be marked as Device memory - MMU_TTPage4k (TTB_BASE, __get_CBAR() ,256, Page_L1_4k, (uint32_t *)PRIVATE_TABLE_L2_BASE_4k, DESCRIPTOR_FAULT); - // Define private address space entry. - MMU_TTPage4k (TTB_BASE, __get_CBAR() , 3, Page_L1_4k, (uint32_t *)PRIVATE_TABLE_L2_BASE_4k, Page_4k_Device_RW); - // Define L2CC entry. Uncomment if PL310 is present - // MMU_TTPage4k (TTB_BASE, VE_A5_MP_PL310_BASE , 1, Page_L1_4k, (uint32_t *)PRIVATE_TABLE_L2_BASE_4k, Page_4k_Device_RW); - - // Create (256 * 4k)=1MB faulting entries to synchronization space (Useful if some non-cacheable DMA agent is present in the SoC) - MMU_TTPage4k (TTB_BASE, F_SYNC_BASE , 256, Page_L1_4k, (uint32_t *)SYNC_FLAGS_TABLE_L2_BASE_4k, DESCRIPTOR_FAULT); - // Define synchronization space entry. - MMU_TTPage4k (TTB_BASE, FLAG_SYNC , 1, Page_L1_4k, (uint32_t *)SYNC_FLAGS_TABLE_L2_BASE_4k, Page_4k_Device_RW); - - /* Set location of level 1 page table - ; 31:14 - Translation table base addr (31:14-TTBCR.N, TTBCR.N is 0 out of reset) - ; 13:7 - 0x0 - ; 6 - IRGN[0] 0x1 (Inner WB WA) - ; 5 - NOS 0x0 (Non-shared) - ; 4:3 - RGN 0x01 (Outer WB WA) - ; 2 - IMP 0x0 (Implementation Defined) - ; 1 - S 0x0 (Non-shared) - ; 0 - IRGN[1] 0x0 (Inner WB WA) */ - __set_TTBR0(__TTB_BASE | 0x48); - __ISB(); - - /* Set up domain access control register - ; We set domain 0 to Client and all other domains to No Access. - ; All translation table entries specify domain 0 */ - __set_DACR(1); - __ISB(); -} diff --git a/external/CMSIS_5/Device/ARM/ARMCA5/Source/system_ARMCA5.c b/external/CMSIS_5/Device/ARM/ARMCA5/Source/system_ARMCA5.c deleted file mode 100644 index 5f599f6..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA5/Source/system_ARMCA5.c +++ /dev/null @@ -1,93 +0,0 @@ -/****************************************************************************** - * @file system_ARMCA5.c - * @brief CMSIS Device System Source File for Arm Cortex-A5 Device Series - * @version V1.0.1 - * @date 13. February 2019 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "RTE_Components.h" -#include CMSIS_device_header -#include "irq_ctrl.h" - -#define SYSTEM_CLOCK 12000000U - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System Initialization - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ -/* do not use global variables because this function is called before - reaching pre-main. RW section may be overwritten afterwards. */ - - // Invalidate entire Unified TLB - __set_TLBIALL(0); - - // Invalidate entire branch predictor array - __set_BPIALL(0); - __DSB(); - __ISB(); - - // Invalidate instruction cache and flush branch target cache - __set_ICIALLU(0); - __DSB(); - __ISB(); - - // Invalidate data cache - L1C_InvalidateDCacheAll(); - -#if ((__FPU_PRESENT == 1) && (__FPU_USED == 1)) - // Enable FPU - __FPU_Enable(); -#endif - - // Create Translation Table - MMU_CreateTranslationTable(); - - // Enable MMU - MMU_Enable(); - - // Enable Caches - L1C_EnableCaches(); - L1C_EnableBTAC(); - -#if (__L2C_PRESENT == 1) - // Enable GIC - L2C_Enable(); -#endif - - // IRQ Initialize - IRQ_Initialize(); -} diff --git a/external/CMSIS_5/Device/ARM/ARMCA7/Config/mem_ARMCA7.h b/external/CMSIS_5/Device/ARM/ARMCA7/Config/mem_ARMCA7.h deleted file mode 100644 index 9590595..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA7/Config/mem_ARMCA7.h +++ /dev/null @@ -1,100 +0,0 @@ -/**************************************************************************//** - * @file mem_ARMCA7.h - * @brief Memory base and size definitions (used in scatter file) - * @version V1.1.0 - * @date 15. May 2019 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __MEM_ARMCA7_H -#define __MEM_ARMCA7_H - -/*---------------------------------------------------------------------------- - User Stack & Heap size definition - *----------------------------------------------------------------------------*/ -/* -//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ -*/ - -/*--------------------- ROM Configuration ------------------------------------ -// -// ROM Configuration -// For compatibility with MMU config the sections must be multiple of 1MB -// ROM Base Address <0x0-0xFFFFFFFF:0x100000> -// ROM Size (in Bytes) <0x0-0xFFFFFFFF:0x100000> -// - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x80000000 -#define __ROM_SIZE 0x00200000 - -/*--------------------- RAM Configuration ----------------------------------- -// RAM Configuration -// For compatibility with MMU config the sections must be multiple of 1MB -// RAM Base Address <0x0-0xFFFFFFFF:0x100000> -// RAM Total Size (in Bytes) <0x0-0xFFFFFFFF:0x100000> -// Data Sections -// RW_DATA Size (in Bytes) <0x0-0xFFFFFFFF:8> -// ZI_DATA Size (in Bytes) <0x0-0xFFFFFFFF:8> -// -// Stack / Heap Configuration -// Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -// Exceptional Modes -// UND Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// ABT Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// SVC Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// IRQ Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// FIQ Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// -// -// - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x80200000 -#define __RAM_SIZE 0x00200000 - -#define __RW_DATA_SIZE 0x00100000 -#define __ZI_DATA_SIZE 0x000F0000 - -#define __STACK_SIZE 0x00001000 -#define __HEAP_SIZE 0x00008000 - -#define __UND_STACK_SIZE 0x00000100 -#define __ABT_STACK_SIZE 0x00000100 -#define __SVC_STACK_SIZE 0x00000100 -#define __IRQ_STACK_SIZE 0x00000100 -#define __FIQ_STACK_SIZE 0x00000100 - -/*----------------------------------------------------------------------------*/ - -/*--------------------- TTB Configuration ------------------------------------ -// -// TTB Configuration -// The TLB L1 contains 4096 32-bit entries and must be 16kB aligned -// The TLB L2 entries are placed after the L1 in the MMU config -// TTB Base Address <0x0-0xFFFFFFFF:0x4000> -// TTB Size (in Bytes) <0x0-0xFFFFFFFF:8> -// - *----------------------------------------------------------------------------*/ -#define __TTB_BASE 0x80500000 -#define __TTB_SIZE 0x00005000 - -#endif /* __MEM_ARMCA7_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCA7/Config/system_ARMCA7.h b/external/CMSIS_5/Device/ARM/ARMCA7/Config/system_ARMCA7.h deleted file mode 100644 index 0405aa3..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA7/Config/system_ARMCA7.h +++ /dev/null @@ -1,65 +0,0 @@ -/****************************************************************************** - * @file system_ARMCA7.h - * @brief CMSIS Device System Header File for Arm Cortex-A7 Device Series - * @version V1.00 - * @date 10. January 2018 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __SYSTEM_ARMCA7_H -#define __SYSTEM_ARMCA7_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */ - -/** - \brief Setup the microcontroller system. - - Initialize the System and update the SystemCoreClock variable. - */ -extern void SystemInit (void); - - -/** - \brief Update SystemCoreClock variable. - - Updates the SystemCoreClock with current core Clock retrieved from cpu registers. - */ -extern void SystemCoreClockUpdate (void); - -/** - \brief Create Translation Table. - - Creates Memory Management Unit Translation Table. - */ -extern void MMU_CreateTranslationTable(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __SYSTEM_ARMCA7_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCA7/Include/ARMCA7.h b/external/CMSIS_5/Device/ARM/ARMCA7/Include/ARMCA7.h deleted file mode 100644 index b465a9e..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA7/Include/ARMCA7.h +++ /dev/null @@ -1,135 +0,0 @@ -/****************************************************************************** - * @file ARMCA7.h - * @brief CMSIS Cortex-A7 Core Peripheral Access Layer Header File - * @version V1.1.0 - * @date 15. May 2019 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __ARMCA7_H__ -#define __ARMCA7_H__ - -#ifdef __cplusplus -extern "C" { -#endif - - -/* ------------------------- Interrupt Number Definition ------------------------ */ - -/** Device specific Interrupt IDs */ -typedef enum IRQn -{ -/****** SGI Interrupts Numbers ****************************************/ - SGI0_IRQn = 0, /*!< Software Generated Interrupt 0 */ - SGI1_IRQn = 1, /*!< Software Generated Interrupt 1 */ - SGI2_IRQn = 2, /*!< Software Generated Interrupt 2 */ - SGI3_IRQn = 3, /*!< Software Generated Interrupt 3 */ - SGI4_IRQn = 4, /*!< Software Generated Interrupt 4 */ - SGI5_IRQn = 5, /*!< Software Generated Interrupt 5 */ - SGI6_IRQn = 6, /*!< Software Generated Interrupt 6 */ - SGI7_IRQn = 7, /*!< Software Generated Interrupt 7 */ - SGI8_IRQn = 8, /*!< Software Generated Interrupt 8 */ - SGI9_IRQn = 9, /*!< Software Generated Interrupt 9 */ - SGI10_IRQn = 10, /*!< Software Generated Interrupt 10 */ - SGI11_IRQn = 11, /*!< Software Generated Interrupt 11 */ - SGI12_IRQn = 12, /*!< Software Generated Interrupt 12 */ - SGI13_IRQn = 13, /*!< Software Generated Interrupt 13 */ - SGI14_IRQn = 14, /*!< Software Generated Interrupt 14 */ - SGI15_IRQn = 15, /*!< Software Generated Interrupt 15 */ - -/****** Cortex-A7 Processor Exceptions Numbers ****************************************/ - SecurePhyTimer_IRQn = 29, /*!< Physical Timer Interrupt */ - -/****** Platform Exceptions Numbers ***************************************************/ - Watchdog_IRQn = 32, /*!< SP805 Interrupt */ - Timer0_IRQn = 34, /*!< SP804 Interrupt */ - Timer1_IRQn = 35, /*!< SP804 Interrupt */ - RTClock_IRQn = 36, /*!< PL031 Interrupt */ - UART0_IRQn = 37, /*!< PL011 Interrupt */ - UART1_IRQn = 38, /*!< PL011 Interrupt */ - UART2_IRQn = 39, /*!< PL011 Interrupt */ - UART3_IRQn = 40, /*!< PL011 Interrupt */ - MCI0_IRQn = 41, /*!< PL180 Interrupt (1st) */ - MCI1_IRQn = 42, /*!< PL180 Interrupt (2nd) */ - AACI_IRQn = 43, /*!< PL041 Interrupt */ - Keyboard_IRQn = 44, /*!< PL050 Interrupt */ - Mouse_IRQn = 45, /*!< PL050 Interrupt */ - CLCD_IRQn = 46, /*!< PL111 Interrupt */ - Ethernet_IRQn = 47, /*!< SMSC_91C111 Interrupt */ - VFS2_IRQn = 73, /*!< VFS2 Interrupt */ -} IRQn_Type; - -/******************************************************************************/ -/* Peripheral memory map */ -/******************************************************************************/ - -/* Peripheral and RAM base address */ -#define VE_A7_MP_FLASH_BASE0 (0x00000000UL) /*!< (FLASH0 ) Base Address */ -#define VE_A7_MP_FLASH_BASE1 (0x0C000000UL) /*!< (FLASH1 ) Base Address */ -#define VE_A7_MP_SRAM_BASE (0x14000000UL) /*!< (SRAM ) Base Address */ -#define VE_A7_MP_PERIPH_BASE_CS2 (0x18000000UL) /*!< (Peripheral ) Base Address */ -#define VE_A7_MP_VRAM_BASE (0x00000000UL + VE_A7_MP_PERIPH_BASE_CS2) /*!< (VRAM ) Base Address */ -#define VE_A7_MP_ETHERNET_BASE (0x02000000UL + VE_A7_MP_PERIPH_BASE_CS2) /*!< (ETHERNET ) Base Address */ -#define VE_A7_MP_USB_BASE (0x03000000UL + VE_A7_MP_PERIPH_BASE_CS2) /*!< (USB ) Base Address */ -#define VE_A7_MP_PERIPH_BASE_CS3 (0x1C000000UL) /*!< (Peripheral ) Base Address */ -#define VE_A7_MP_DAP_BASE (0x00000000UL + VE_A7_MP_PERIPH_BASE_CS3) /*!< (LOCAL DAP ) Base Address */ -#define VE_A7_MP_SYSTEM_REG_BASE (0x00010000UL + VE_A7_MP_PERIPH_BASE_CS3) /*!< (SYSTEM REG ) Base Address */ -#define VE_A7_MP_SERIAL_BASE (0x00030000UL + VE_A7_MP_PERIPH_BASE_CS3) /*!< (SERIAL ) Base Address */ -#define VE_A7_MP_AACI_BASE (0x00040000UL + VE_A7_MP_PERIPH_BASE_CS3) /*!< (AACI ) Base Address */ -#define VE_A7_MP_MMCI_BASE (0x00050000UL + VE_A7_MP_PERIPH_BASE_CS3) /*!< (MMCI ) Base Address */ -#define VE_A7_MP_KMI0_BASE (0x00060000UL + VE_A7_MP_PERIPH_BASE_CS3) /*!< (KMI0 ) Base Address */ -#define VE_A7_MP_UART_BASE (0x00090000UL + VE_A7_MP_PERIPH_BASE_CS3) /*!< (UART ) Base Address */ -#define VE_A7_MP_WDT_BASE (0x000F0000UL + VE_A7_MP_PERIPH_BASE_CS3) /*!< (WDT ) Base Address */ -#define VE_A7_MP_TIMER_BASE (0x00110000UL + VE_A7_MP_PERIPH_BASE_CS3) /*!< (TIMER ) Base Address */ -#define VE_A7_MP_DVI_BASE (0x00160000UL + VE_A7_MP_PERIPH_BASE_CS3) /*!< (DVI ) Base Address */ -#define VE_A7_MP_RTC_BASE (0x00170000UL + VE_A7_MP_PERIPH_BASE_CS3) /*!< (RTC ) Base Address */ -#define VE_A7_MP_UART4_BASE (0x001B0000UL + VE_A7_MP_PERIPH_BASE_CS3) /*!< (UART4 ) Base Address */ -#define VE_A7_MP_CLCD_BASE (0x001F0000UL + VE_A7_MP_PERIPH_BASE_CS3) /*!< (CLCD ) Base Address */ -#define VE_A7_MP_PRIVATE_PERIPH_BASE (0x2C000000UL) /*!< (Peripheral ) Base Address */ -#define VE_A7_MP_GIC_DISTRIBUTOR_BASE (0x00001000UL + VE_A7_MP_PRIVATE_PERIPH_BASE) /*!< (GIC DIST ) Base Address */ -#define VE_A7_MP_GIC_INTERFACE_BASE (0x00002000UL + VE_A7_MP_PRIVATE_PERIPH_BASE) /*!< (GIC CPU IF ) Base Address */ -#define VE_A7_MP_PL310_BASE (0x000F0000UL + VE_A7_MP_PRIVATE_PERIPH_BASE) /*!< (L2C-310 ) Base Address */ -#define VE_A7_MP_SSRAM_BASE (0x2E000000UL) /*!< (System SRAM) Base Address */ -#define VE_A7_MP_DRAM_BASE (0x80000000UL) /*!< (DRAM ) Base Address */ -#define GIC_DISTRIBUTOR_BASE VE_A7_MP_GIC_DISTRIBUTOR_BASE -#define GIC_INTERFACE_BASE VE_A7_MP_GIC_INTERFACE_BASE - -//The VE-A7 model implements L1 cache as architecturally defined, but does not implement L2 cache. -//Do not enable the L2 cache if you are running RTX on a VE-A7 model as it may cause a data abort. -#define L2C_310_BASE VE_A7_MP_PL310_BASE - -/* -------- Configuration of the Cortex-A7 Processor and Core Peripherals ------- */ -#define __CA_REV 0x0000U /* Core revision r0p0 */ -#define __CORTEX_A 7U /* Cortex-A7 Core */ -#define __FPU_PRESENT 1U /* FPU present */ -#define __GIC_PRESENT 1U /* GIC present */ -#define __TIM_PRESENT 1U /* TIM present */ -#define __L2C_PRESENT 0U /* L2C present */ - -#include "core_ca.h" -#include - -#ifdef __cplusplus -} -#endif - -#endif // __ARMCA7_H__ diff --git a/external/CMSIS_5/Device/ARM/ARMCA7/Source/AC5/ARMCA7.sct b/external/CMSIS_5/Device/ARM/ARMCA7/Source/AC5/ARMCA7.sct deleted file mode 100644 index b5677de..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA7/Source/AC5/ARMCA7.sct +++ /dev/null @@ -1,77 +0,0 @@ -#! armcc -E -;************************************************** -; Copyright (c) 2017 ARM Ltd. All rights reserved. -;************************************************** - -; Scatter-file for RTX Example on Versatile Express - -; This scatter-file places application code, data, stack and heap at suitable addresses in the memory map. - -; This platform has 2GB SDRAM starting at 0x80000000. - -#include "mem_ARMCA7.h" - -SDRAM __ROM_BASE __ROM_SIZE ; load region size_region -{ - VECTORS __ROM_BASE __ROM_SIZE ; load address = execution address - { - * (RESET, +FIRST) ; Vector table and other startup code - * (InRoot$$Sections) ; All (library) code that must be in a root region - * (+RO-CODE) ; Application RO code (.text) - * (+RO-DATA) ; Application RO data (.constdata) - } - - RW_DATA __RAM_BASE __RW_DATA_SIZE - { * (+RW) } ; Application RW data (.data) - - ZI_DATA (__RAM_BASE+ - __RW_DATA_SIZE) __ZI_DATA_SIZE - { * (+ZI) } ; Application ZI data (.bss) - - ARM_LIB_HEAP (__RAM_BASE - +__RW_DATA_SIZE - +__ZI_DATA_SIZE) EMPTY __HEAP_SIZE ; Heap region growing up - { } - - ARM_LIB_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE - -__SVC_STACK_SIZE - -__ABT_STACK_SIZE - -__UND_STACK_SIZE) EMPTY -__STACK_SIZE ; Stack region growing down - { } - - UND_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE - -__SVC_STACK_SIZE - -__ABT_STACK_SIZE) EMPTY -__UND_STACK_SIZE ; UND mode stack - { } - - ABT_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE - -__SVC_STACK_SIZE) EMPTY -__ABT_STACK_SIZE ; ABT mode stack - { } - - SVC_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE) EMPTY -__SVC_STACK_SIZE ; SVC mode stack - { } - - IRQ_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE) EMPTY -__IRQ_STACK_SIZE ; IRQ mode stack - { } - - FIQ_STACK (__RAM_BASE - +__RAM_SIZE) EMPTY -__FIQ_STACK_SIZE ; FIQ mode stack - { } - - TTB __TTB_BASE EMPTY __TTB_SIZE ; Level-1 Translation Table for MMU - { } -} diff --git a/external/CMSIS_5/Device/ARM/ARMCA7/Source/AC5/startup_ARMCA7.c b/external/CMSIS_5/Device/ARM/ARMCA7/Source/AC5/startup_ARMCA7.c deleted file mode 100644 index a5047f5..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA7/Source/AC5/startup_ARMCA7.c +++ /dev/null @@ -1,151 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCA7.c - * @brief CMSIS Device System Source File for Arm Cortex-A7 Device Series - * @version V1.00 - * @date 10. January 2018 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include - -/*---------------------------------------------------------------------------- - Definitions - *----------------------------------------------------------------------------*/ -#define USR_MODE 0x10 // User mode -#define FIQ_MODE 0x11 // Fast Interrupt Request mode -#define IRQ_MODE 0x12 // Interrupt Request mode -#define SVC_MODE 0x13 // Supervisor mode -#define ABT_MODE 0x17 // Abort mode -#define UND_MODE 0x1B // Undefined Instruction mode -#define SYS_MODE 0x1F // System mode - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -void Vectors (void) __attribute__ ((section("RESET"))); -void Reset_Handler (void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -void Undef_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PAbt_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DAbt_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void IRQ_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void FIQ_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector Table - *----------------------------------------------------------------------------*/ -__ASM void Vectors(void) { - PRESERVE8 - - IMPORT Undef_Handler - IMPORT SVC_Handler - IMPORT PAbt_Handler - IMPORT DAbt_Handler - IMPORT IRQ_Handler - IMPORT FIQ_Handler - LDR PC, =Reset_Handler - LDR PC, =Undef_Handler - LDR PC, =SVC_Handler - LDR PC, =PAbt_Handler - LDR PC, =DAbt_Handler - NOP - LDR PC, =IRQ_Handler - LDR PC, =FIQ_Handler -} - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__ASM void Reset_Handler(void) { - PRESERVE8 - - // Mask interrupts - CPSID if - - // Put any cores other than 0 to sleep - MRC p15, 0, R0, c0, c0, 5 // Read MPIDR - ANDS R0, R0, #3 -goToSleep - WFINE - BNE goToSleep - - // Reset SCTLR Settings - MRC p15, 0, R0, c1, c0, 0 // Read CP15 System Control register - BIC R0, R0, #(0x1 << 12) // Clear I bit 12 to disable I Cache - BIC R0, R0, #(0x1 << 2) // Clear C bit 2 to disable D Cache - BIC R0, R0, #0x1 // Clear M bit 0 to disable MMU - BIC R0, R0, #(0x1 << 11) // Clear Z bit 11 to disable branch prediction - BIC R0, R0, #(0x1 << 13) // Clear V bit 13 to disable hivecs - MCR p15, 0, R0, c1, c0, 0 // Write value back to CP15 System Control register - ISB - - // Configure ACTLR - MRC p15, 0, r0, c1, c0, 1 // Read CP15 Auxiliary Control Register - ORR r0, r0, #(1 << 1) // Enable L2 prefetch hint (UNK/WI since r4p1) - MCR p15, 0, r0, c1, c0, 1 // Write CP15 Auxiliary Control Register - - // Set Vector Base Address Register (VBAR) to point to this application's vector table - LDR R0, =Vectors - MCR p15, 0, R0, c12, c0, 0 - - // Setup Stack for each exceptional mode - IMPORT |Image$$FIQ_STACK$$ZI$$Limit| - IMPORT |Image$$IRQ_STACK$$ZI$$Limit| - IMPORT |Image$$SVC_STACK$$ZI$$Limit| - IMPORT |Image$$ABT_STACK$$ZI$$Limit| - IMPORT |Image$$UND_STACK$$ZI$$Limit| - IMPORT |Image$$ARM_LIB_STACK$$ZI$$Limit| - CPS #0x11 - LDR SP, =|Image$$FIQ_STACK$$ZI$$Limit| - CPS #0x12 - LDR SP, =|Image$$IRQ_STACK$$ZI$$Limit| - CPS #0x13 - LDR SP, =|Image$$SVC_STACK$$ZI$$Limit| - CPS #0x17 - LDR SP, =|Image$$ABT_STACK$$ZI$$Limit| - CPS #0x1B - LDR SP, =|Image$$UND_STACK$$ZI$$Limit| - CPS #0x1F - LDR SP, =|Image$$ARM_LIB_STACK$$ZI$$Limit| - - // Call SystemInit - IMPORT SystemInit - BL SystemInit - - // Unmask interrupts - CPSIE if - - // Call __main - IMPORT __main - BL __main -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) { - while(1); -} diff --git a/external/CMSIS_5/Device/ARM/ARMCA7/Source/AC6/ARMCA7.sct b/external/CMSIS_5/Device/ARM/ARMCA7/Source/AC6/ARMCA7.sct deleted file mode 100644 index d8f3716..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA7/Source/AC6/ARMCA7.sct +++ /dev/null @@ -1,77 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-a7 -xc -;************************************************** -; Copyright (c) 2017 ARM Ltd. All rights reserved. -;************************************************** - -; Scatter-file for RTX Example on Versatile Express - -; This scatter-file places application code, data, stack and heap at suitable addresses in the memory map. - -; This platform has 2GB SDRAM starting at 0x80000000. - -#include "mem_ARMCA7.h" - -SDRAM __ROM_BASE __ROM_SIZE ; load region size_region -{ - VECTORS __ROM_BASE __ROM_SIZE ; load address = execution address - { - * (RESET, +FIRST) ; Vector table and other startup code - * (InRoot$$Sections) ; All (library) code that must be in a root region - * (+RO-CODE) ; Application RO code (.text) - * (+RO-DATA) ; Application RO data (.constdata) - } - - RW_DATA __RAM_BASE __RW_DATA_SIZE - { * (+RW) } ; Application RW data (.data) - - ZI_DATA (__RAM_BASE+ - __RW_DATA_SIZE) __ZI_DATA_SIZE - { * (+ZI) } ; Application ZI data (.bss) - - ARM_LIB_HEAP (__RAM_BASE - +__RW_DATA_SIZE - +__ZI_DATA_SIZE) EMPTY __HEAP_SIZE ; Heap region growing up - { } - - ARM_LIB_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE - -__SVC_STACK_SIZE - -__ABT_STACK_SIZE - -__UND_STACK_SIZE) EMPTY -__STACK_SIZE ; Stack region growing down - { } - - UND_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE - -__SVC_STACK_SIZE - -__ABT_STACK_SIZE) EMPTY -__UND_STACK_SIZE ; UND mode stack - { } - - ABT_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE - -__SVC_STACK_SIZE) EMPTY -__ABT_STACK_SIZE ; ABT mode stack - { } - - SVC_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE) EMPTY -__SVC_STACK_SIZE ; SVC mode stack - { } - - IRQ_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE) EMPTY -__IRQ_STACK_SIZE ; IRQ mode stack - { } - - FIQ_STACK (__RAM_BASE - +__RAM_SIZE) EMPTY -__FIQ_STACK_SIZE ; FIQ mode stack - { } - - TTB __TTB_BASE EMPTY __TTB_SIZE ; Level-1 Translation Table for MMU - { } -} diff --git a/external/CMSIS_5/Device/ARM/ARMCA7/Source/AC6/startup_ARMCA7.c b/external/CMSIS_5/Device/ARM/ARMCA7/Source/AC6/startup_ARMCA7.c deleted file mode 100644 index da8ae87..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA7/Source/AC6/startup_ARMCA7.c +++ /dev/null @@ -1,136 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCA7.c - * @brief CMSIS Device System Source File for Arm Cortex-A7 Device Series - * @version V1.0.1 - * @date 10. January 2021 - ******************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include - -/*---------------------------------------------------------------------------- - Definitions - *----------------------------------------------------------------------------*/ -#define USR_MODE 0x10 // User mode -#define FIQ_MODE 0x11 // Fast Interrupt Request mode -#define IRQ_MODE 0x12 // Interrupt Request mode -#define SVC_MODE 0x13 // Supervisor mode -#define ABT_MODE 0x17 // Abort mode -#define UND_MODE 0x1B // Undefined Instruction mode -#define SYS_MODE 0x1F // System mode - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -void Vectors (void) __attribute__ ((naked, section("RESET"))); -void Reset_Handler (void) __attribute__ ((naked)); -void Default_Handler(void) __attribute__ ((noreturn)); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -void Undef_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PAbt_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DAbt_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void IRQ_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void FIQ_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector Table - *----------------------------------------------------------------------------*/ -void Vectors(void) { - __ASM volatile( - "LDR PC, =Reset_Handler \n" - "LDR PC, =Undef_Handler \n" - "LDR PC, =SVC_Handler \n" - "LDR PC, =PAbt_Handler \n" - "LDR PC, =DAbt_Handler \n" - "NOP \n" - "LDR PC, =IRQ_Handler \n" - "LDR PC, =FIQ_Handler \n" - ); -} - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -void Reset_Handler(void) { - __ASM volatile( - - // Mask interrupts - "CPSID if \n" - - // Put any cores other than 0 to sleep - "MRC p15, 0, R0, c0, c0, 5 \n" // Read MPIDR - "ANDS R0, R0, #3 \n" - "goToSleep: \n" - "WFINE \n" - "BNE goToSleep \n" - - // Reset SCTLR Settings - "MRC p15, 0, R0, c1, c0, 0 \n" // Read CP15 System Control register - "BIC R0, R0, #(0x1 << 12) \n" // Clear I bit 12 to disable I Cache - "BIC R0, R0, #(0x1 << 2) \n" // Clear C bit 2 to disable D Cache - "BIC R0, R0, #0x1 \n" // Clear M bit 0 to disable MMU - "BIC R0, R0, #(0x1 << 11) \n" // Clear Z bit 11 to disable branch prediction - "BIC R0, R0, #(0x1 << 13) \n" // Clear V bit 13 to disable hivecs - "MCR p15, 0, R0, c1, c0, 0 \n" // Write value back to CP15 System Control register - "ISB \n" - - // Configure ACTLR - "MRC p15, 0, r0, c1, c0, 1 \n" // Read CP15 Auxiliary Control Register - "ORR r0, r0, #(1 << 1) \n" // Enable L2 prefetch hint (UNK/WI since r4p1) - "MCR p15, 0, r0, c1, c0, 1 \n" // Write CP15 Auxiliary Control Register - - // Set Vector Base Address Register (VBAR) to point to this application's vector table - "LDR R0, =Vectors \n" - "MCR p15, 0, R0, c12, c0, 0 \n" - - // Setup Stack for each exceptional mode - "CPS #0x11 \n" - "LDR SP, =Image$$FIQ_STACK$$ZI$$Limit \n" - "CPS #0x12 \n" - "LDR SP, =Image$$IRQ_STACK$$ZI$$Limit \n" - "CPS #0x13 \n" - "LDR SP, =Image$$SVC_STACK$$ZI$$Limit \n" - "CPS #0x17 \n" - "LDR SP, =Image$$ABT_STACK$$ZI$$Limit \n" - "CPS #0x1B \n" - "LDR SP, =Image$$UND_STACK$$ZI$$Limit \n" - "CPS #0x1F \n" - "LDR SP, =Image$$ARM_LIB_STACK$$ZI$$Limit \n" - - // Call SystemInit - "BL SystemInit \n" - - // Unmask interrupts - "CPSIE if \n" - - // Call __main - "BL __main \n" - ); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) { - while(1); -} diff --git a/external/CMSIS_5/Device/ARM/ARMCA7/Source/GCC/ARMCA7.ld b/external/CMSIS_5/Device/ARM/ARMCA7/Source/GCC/ARMCA7.ld deleted file mode 100644 index 62c4ba1..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA7/Source/GCC/ARMCA7.ld +++ /dev/null @@ -1,181 +0,0 @@ -#include "mem_ARMCA7.h" - -MEMORY -{ - ROM (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - L_TTB (rw) : ORIGIN = __TTB_BASE, LENGTH = __TTB_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - - Image$$VECTORS$$Base = .; - * (RESET) - KEEP(*(.isr_vector)) - Image$$VECTORS$$Limit = .; - - *(SVC_TABLE) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - Image$$RO_DATA$$Base = .; - *(.rodata*) - Image$$RO_DATA$$Limit = .; - - KEEP(*(.eh_frame*)) - } > ROM - - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > ROM - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > ROM - __exidx_end = .; - - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - LONG (__etext) - LONG (__data_start__) - LONG (__data_end__ - __data_start__) - __copy_table_end__ = .; - } > ROM - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - LONG (__bss_start__) - LONG (__bss_end__ - __bss_start__) - __zero_table_end__ = .; - } > ROM - - __etext = .; - - .ttb : - { - Image$$TTB$$ZI$$Base = .; - . += __TTB_SIZE; - Image$$TTB$$ZI$$Limit = .; - } > L_TTB - - .data : AT (__etext) - { - Image$$RW_DATA$$Base = .; - __data_start__ = .; - *(vtable) - *(.data*) - Image$$RW_DATA$$Limit = .; - - . = ALIGN(4); - /* preinit data */ - PROVIDE (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE (__init_array_end = .); - - - . = ALIGN(4); - /* finit data */ - PROVIDE (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE (__fini_array_end = .); - - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - - .bss ALIGN(0x400): - { - Image$$ZI_DATA$$Base = .; - __bss_start__ = .; - *(.bss*) - *(COMMON) - __bss_end__ = .; - Image$$ZI_DATA$$Limit = .; - __end__ = .; - end = __end__; - } > RAM - -#if defined(__HEAP_SIZE) && (__HEAP_SIZE > 0) - .heap (NOLOAD): - { - . = ALIGN(8); - Image$$HEAP$$ZI$$Base = .; - . += __HEAP_SIZE; - Image$$HEAP$$ZI$$Limit = .; - __HeapLimit = .; - } > RAM -#endif - - .stack (NOLOAD): - { - . = ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE - __FIQ_STACK_SIZE - __IRQ_STACK_SIZE - __SVC_STACK_SIZE - __ABT_STACK_SIZE - __UND_STACK_SIZE; - . = ALIGN(8); - - __StackTop = .; - Image$$SYS_STACK$$ZI$$Base = .; - . += __STACK_SIZE; - Image$$SYS_STACK$$ZI$$Limit = .; - __stack = .; - - Image$$FIQ_STACK$$ZI$$Base = .; - . += __FIQ_STACK_SIZE; - Image$$FIQ_STACK$$ZI$$Limit = .; - - Image$$IRQ_STACK$$ZI$$Base = .; - . += __IRQ_STACK_SIZE; - Image$$IRQ_STACK$$ZI$$Limit = .; - - Image$$SVC_STACK$$ZI$$Base = .; - . += __SVC_STACK_SIZE; - Image$$SVC_STACK$$ZI$$Limit = .; - - Image$$ABT_STACK$$ZI$$Base = .; - . += __ABT_STACK_SIZE; - Image$$ABT_STACK$$ZI$$Limit = .; - - Image$$UND_STACK$$ZI$$Base = .; - . += __UND_STACK_SIZE; - Image$$UND_STACK$$ZI$$Limit = .; - - } > RAM -} diff --git a/external/CMSIS_5/Device/ARM/ARMCA7/Source/GCC/startup_ARMCA7.c b/external/CMSIS_5/Device/ARM/ARMCA7/Source/GCC/startup_ARMCA7.c deleted file mode 100644 index 43facd8..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA7/Source/GCC/startup_ARMCA7.c +++ /dev/null @@ -1,136 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCA7.c - * @brief CMSIS Device System Source File for Arm Cortex-A7 Device Series - * @version V1.0.1 - * @date 10. January 2021 - ******************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include - -/*---------------------------------------------------------------------------- - Definitions - *----------------------------------------------------------------------------*/ -#define USR_MODE 0x10 // User mode -#define FIQ_MODE 0x11 // Fast Interrupt Request mode -#define IRQ_MODE 0x12 // Interrupt Request mode -#define SVC_MODE 0x13 // Supervisor mode -#define ABT_MODE 0x17 // Abort mode -#define UND_MODE 0x1B // Undefined Instruction mode -#define SYS_MODE 0x1F // System mode - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -void Vectors (void) __attribute__ ((naked, section("RESET"))); -void Reset_Handler (void) __attribute__ ((naked)); -void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -void Undef_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PAbt_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DAbt_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void IRQ_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void FIQ_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector Table - *----------------------------------------------------------------------------*/ -void Vectors(void) { - __ASM volatile( - "LDR PC, =Reset_Handler \n" - "LDR PC, =Undef_Handler \n" - "LDR PC, =SVC_Handler \n" - "LDR PC, =PAbt_Handler \n" - "LDR PC, =DAbt_Handler \n" - "NOP \n" - "LDR PC, =IRQ_Handler \n" - "LDR PC, =FIQ_Handler \n" - ); -} - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -void Reset_Handler(void) { - __ASM volatile( - - // Mask interrupts - "CPSID if \n" - - // Put any cores other than 0 to sleep - "MRC p15, 0, R0, c0, c0, 5 \n" // Read MPIDR - "ANDS R0, R0, #3 \n" - "goToSleep: \n" - "WFINE \n" - "BNE goToSleep \n" - - // Reset SCTLR Settings - "MRC p15, 0, R0, c1, c0, 0 \n" // Read CP15 System Control register - "BIC R0, R0, #(0x1 << 12) \n" // Clear I bit 12 to disable I Cache - "BIC R0, R0, #(0x1 << 2) \n" // Clear C bit 2 to disable D Cache - "BIC R0, R0, #0x1 \n" // Clear M bit 0 to disable MMU - "BIC R0, R0, #(0x1 << 11) \n" // Clear Z bit 11 to disable branch prediction - "BIC R0, R0, #(0x1 << 13) \n" // Clear V bit 13 to disable hivecs - "MCR p15, 0, R0, c1, c0, 0 \n" // Write value back to CP15 System Control register - "ISB \n" - - // Configure ACTLR - "MRC p15, 0, r0, c1, c0, 1 \n" // Read CP15 Auxiliary Control Register - "ORR r0, r0, #(1 << 1) \n" // Enable L2 prefetch hint (UNK/WI since r4p1) - "MCR p15, 0, r0, c1, c0, 1 \n" // Write CP15 Auxiliary Control Register - - // Set Vector Base Address Register (VBAR) to point to this application's vector table - "LDR R0, =Vectors \n" - "MCR p15, 0, R0, c12, c0, 0 \n" - - // Setup Stack for each exceptional mode - "CPS #0x11 \n" - "LDR SP, =Image$$FIQ_STACK$$ZI$$Limit \n" - "CPS #0x12 \n" - "LDR SP, =Image$$IRQ_STACK$$ZI$$Limit \n" - "CPS #0x13 \n" - "LDR SP, =Image$$SVC_STACK$$ZI$$Limit \n" - "CPS #0x17 \n" - "LDR SP, =Image$$ABT_STACK$$ZI$$Limit \n" - "CPS #0x1B \n" - "LDR SP, =Image$$UND_STACK$$ZI$$Limit \n" - "CPS #0x1F \n" - "LDR SP, =Image$$SYS_STACK$$ZI$$Limit \n" - - // Call SystemInit - "BL SystemInit \n" - - // Unmask interrupts - "CPSIE if \n" - - // Call __main - "BL _start \n" - ); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) { - while(1); -} diff --git a/external/CMSIS_5/Device/ARM/ARMCA7/Source/IAR/ARMCA7.icf b/external/CMSIS_5/Device/ARM/ARMCA7/Source/IAR/ARMCA7.icf deleted file mode 100644 index ce564bb..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA7/Source/IAR/ARMCA7.icf +++ /dev/null @@ -1,67 +0,0 @@ - -/*-Memory Regions-*/ -define symbol __ICFEDIT_region_IROM1_start__ = 0x80000000; -define symbol __ICFEDIT_region_IROM1_end__ = 0x801FFFFF; -define symbol __ICFEDIT_region_IROM2_start__ = 0x0; -define symbol __ICFEDIT_region_IROM2_end__ = 0x0; -define symbol __ICFEDIT_region_EROM1_start__ = 0x0; -define symbol __ICFEDIT_region_EROM1_end__ = 0x0; -define symbol __ICFEDIT_region_EROM2_start__ = 0x0; -define symbol __ICFEDIT_region_EROM2_end__ = 0x0; -define symbol __ICFEDIT_region_EROM3_start__ = 0x0; -define symbol __ICFEDIT_region_EROM3_end__ = 0x0; -define symbol __ICFEDIT_region_IRAM1_start__ = 0x80200000; -define symbol __ICFEDIT_region_IRAM1_end__ = 0x803FFFFF; -define symbol __ICFEDIT_region_IRAM2_start__ = 0x0; -define symbol __ICFEDIT_region_IRAM2_end__ = 0x0; -define symbol __ICFEDIT_region_ERAM1_start__ = 0x0; -define symbol __ICFEDIT_region_ERAM1_end__ = 0x0; -define symbol __ICFEDIT_region_ERAM2_start__ = 0x0; -define symbol __ICFEDIT_region_ERAM2_end__ = 0x0; -define symbol __ICFEDIT_region_ERAM3_start__ = 0x0; -define symbol __ICFEDIT_region_ERAM3_end__ = 0x0; -define symbol __ICFEDIT_region_TTB_start__ = 0x80500000; -define symbol __ICFEDIT_region_TTB_end__ = 0x805FFFFF; - -/*-Sizes-*/ -define symbol __ICFEDIT_size_cstack__ = 0x1000; -define symbol __ICFEDIT_size_irqstack__ = 0x100; -define symbol __ICFEDIT_size_fiqstack__ = 0x100; -define symbol __ICFEDIT_size_svcstack__ = 0x100; -define symbol __ICFEDIT_size_abtstack__ = 0x100; -define symbol __ICFEDIT_size_undstack__ = 0x100; -define symbol __ICFEDIT_size_heap__ = 0x8000; -define symbol __ICFEDIT_size_ttb__ = 0x4000; - -define memory mem with size = 4G; -define region IROM_region = mem:[from __ICFEDIT_region_IROM1_start__ to __ICFEDIT_region_IROM1_end__] - | mem:[from __ICFEDIT_region_IROM2_start__ to __ICFEDIT_region_IROM2_end__]; -define region IRAM_region = mem:[from __ICFEDIT_region_IRAM1_start__ to __ICFEDIT_region_IRAM1_end__] - | mem:[from __ICFEDIT_region_IRAM2_start__ to __ICFEDIT_region_IRAM2_end__]; -define region ERAM_region = mem:[from __ICFEDIT_region_ERAM1_start__ to __ICFEDIT_region_ERAM1_end__] - | mem:[from __ICFEDIT_region_ERAM2_start__ to __ICFEDIT_region_ERAM2_end__] - | mem:[from __ICFEDIT_region_ERAM3_start__ to __ICFEDIT_region_ERAM3_end__]; -define region TTB_region = mem:[from __ICFEDIT_region_TTB_start__ to __ICFEDIT_region_TTB_end__ ]; - -define block USR_STACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; -define block IRQ_STACK with alignment = 8, size = __ICFEDIT_size_irqstack__ { }; -define block FIQ_STACK with alignment = 8, size = __ICFEDIT_size_fiqstack__ { }; -define block SVC_STACK with alignment = 8, size = __ICFEDIT_size_svcstack__ { }; -define block ABT_STACK with alignment = 8, size = __ICFEDIT_size_abtstack__ { }; -define block UND_STACK with alignment = 8, size = __ICFEDIT_size_undstack__ { }; -define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; -define block TTB with alignment = 8, size = __ICFEDIT_size_ttb__ { section TTB }; - -do not initialize { section .noinit }; - -initialize by copy { readwrite }; -if (isdefinedsymbol(__USE_DLIB_PERTHREAD)) -{ - // Required in a multi-threaded application - initialize by copy with packing = none { section __DLIB_PERTHREAD }; -} - -place at address mem:__ICFEDIT_region_IROM1_start__ { readonly section RESET }; -place in IROM_region { readonly }; -place in IRAM_region { readwrite, block HEAP, block USR_STACK, block IRQ_STACK, block FIQ_STACK, block SVC_STACK, block ABT_STACK, block UND_STACK }; -place in TTB_region { block TTB }; \ No newline at end of file diff --git a/external/CMSIS_5/Device/ARM/ARMCA7/Source/IAR/startup_ARMCA7.s b/external/CMSIS_5/Device/ARM/ARMCA7/Source/IAR/startup_ARMCA7.s deleted file mode 100644 index 6872e9e..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA7/Source/IAR/startup_ARMCA7.s +++ /dev/null @@ -1,140 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCA7.s - * @brief CMSIS Device System Source File for ARM Cortex-A9 Device Series - * @version V1.00 - * @date 01 Nov 2017 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2017 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - MODULE ?startup_ARMCA7 - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ - PUBLIC Reset_Handler - PUBWEAK Undef_Handler - PUBWEAK SVC_Handler - PUBWEAK PAbt_Handler - PUBWEAK DAbt_Handler - PUBWEAK IRQ_Handler - PUBWEAK FIQ_Handler - - SECTION SVC_STACK:DATA:NOROOT(3) - SECTION IRQ_STACK:DATA:NOROOT(3) - SECTION FIQ_STACK:DATA:NOROOT(3) - SECTION ABT_STACK:DATA:NOROOT(3) - SECTION UND_STACK:DATA:NOROOT(3) - SECTION USR_STACK:DATA:NOROOT(3) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector Table - *----------------------------------------------------------------------------*/ - - section RESET:CODE:NOROOT(2) - PUBLIC Vectors - -Vectors: - LDR PC, =Reset_Handler - LDR PC, =Undef_Handler - LDR PC, =SVC_Handler - LDR PC, =PAbt_Handler - LDR PC, =DAbt_Handler - NOP - LDR PC, =IRQ_Handler - LDR PC, =FIQ_Handler - - - section .text:CODE:NOROOT(4) - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ - EXTERN SystemInit - EXTERN __iar_program_start - -Reset_Handler: - - // Mask interrupts - CPSID if - - // Put any cores other than 0 to sleep - MRC p15, 0, R0, c0, c0, 5 - ANDS R0, R0, #3 -goToSleep: - WFINE - BNE goToSleep - - // Reset SCTLR Settings - MRC p15, 0, R0, c1, c0, 0 // Read CP15 System Control register - BIC R0, R0, #(0x1 << 12) // Clear I bit 12 to disable I Cache - BIC R0, R0, #(0x1 << 2) // Clear C bit 2 to disable D Cache - BIC R0, R0, #0x1 // Clear M bit 0 to disable MMU - BIC R0, R0, #(0x1 << 11) // Clear Z bit 11 to disable branch prediction - BIC R0, R0, #(0x1 << 13) // Clear V bit 13 to disable hivecs - MCR p15, 0, R0, c1, c0, 0 // Write value back to CP15 System Control register - ISB - - // Configure ACTLR - MRC p15, 0, r0, c1, c0, 1 // Read CP15 Auxiliary Control Register - ORR r0, r0, #(1 << 1) // Enable L2 prefetch hint (UNK/WI since r4p1) - MCR p15, 0, r0, c1, c0, 1 // Write CP15 Auxiliary Control Register - - // Set Vector Base Address Register (VBAR) to point to this application's vector table - LDR R0, =Vectors - MCR p15, 0, R0, c12, c0, 0 - - // Setup Stack for each exception mode - CPS #0x11 - LDR SP, =SFE(FIQ_STACK) - CPS #0x12 - LDR SP, =SFE(IRQ_STACK) - CPS #0x13 - LDR SP, =SFE(SVC_STACK) - CPS #0x17 - LDR SP, =SFE(ABT_STACK) - CPS #0x1B - LDR SP, =SFE(UND_STACK) - CPS #0x1F - LDR SP, =SFE(USR_STACK) - - // Call SystemInit - BL SystemInit - - // Unmask interrupts - CPSIE if - - // Call __iar_program_start - BL __iar_program_start - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -Undef_Handler: -SVC_Handler: -PAbt_Handler: -DAbt_Handler: -IRQ_Handler: -FIQ_Handler: -Default_Handler: - B . - - END diff --git a/external/CMSIS_5/Device/ARM/ARMCA7/Source/mmu_ARMCA7.c b/external/CMSIS_5/Device/ARM/ARMCA7/Source/mmu_ARMCA7.c deleted file mode 100644 index 26431f3..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA7/Source/mmu_ARMCA7.c +++ /dev/null @@ -1,232 +0,0 @@ -/**************************************************************************//** - * @file mmu_ARMCA7.c - * @brief MMU Configuration for Arm Cortex-A7 Device Series - * @version V1.2.0 - * @date 15. May 2019 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* Memory map description from: DUI0447G_v2m_p1_trm.pdf 4.2.2 Arm Cortex-A Series memory map - - Memory Type -0xffffffff |--------------------------| ------------ - | FLAG SYNC | Device Memory -0xfffff000 |--------------------------| ------------ - | Fault | Fault -0xfff00000 |--------------------------| ------------ - | | Normal - | | - | Daughterboard | - | memory | - | | -0x80505000 |--------------------------| ------------ - |TTB (L2 Sync Flags ) 4k | Normal -0x80504C00 |--------------------------| ------------ - |TTB (L2 Peripherals-B) 16k| Normal -0x80504800 |--------------------------| ------------ - |TTB (L2 Peripherals-A) 16k| Normal -0x80504400 |--------------------------| ------------ - |TTB (L2 Priv Periphs) 4k | Normal -0x80504000 |--------------------------| ------------ - | TTB (L1 Descriptors) | Normal -0x80500000 |--------------------------| ------------ - | Stack | Normal - |--------------------------| ------------ - | Heap | Normal -0x80400000 |--------------------------| ------------ - | ZI Data | Normal -0x80300000 |--------------------------| ------------ - | RW Data | Normal -0x80200000 |--------------------------| ------------ - | RO Data | Normal - |--------------------------| ------------ - | RO Code | USH Normal -0x80000000 |--------------------------| ------------ - | Daughterboard | Fault - | HSB AXI buses | -0x40000000 |--------------------------| ------------ - | Daughterboard | Fault - | test chips peripherals | -0x2c002000 |--------------------------| ------------ - | Private Address | Device Memory -0x2c000000 |--------------------------| ------------ - | Daughterboard | Fault - | test chips peripherals | -0x20000000 |--------------------------| ------------ - | Peripherals | Device Memory RW/RO - | | & Fault -0x00000000 |--------------------------| -*/ - -// L1 Cache info and restrictions about architecture of the caches (CCSIR register): -// Write-Through support *not* available -// Write-Back support available. -// Read allocation support available. -// Write allocation support available. - -//Note: You should use the Shareable attribute carefully. -//For cores without coherency logic (such as SCU) marking a region as shareable forces the processor to not cache that region regardless of the inner cache settings. -//Cortex-A versions of RTX use LDREX/STREX instructions relying on Local monitors. Local monitors will be used only when the region gets cached, regions that are not cached will use the Global Monitor. -//Some Cortex-A implementations do not include Global Monitors, so wrongly setting the attribute Shareable may cause STREX to fail. - -//Recall: When the Shareable attribute is applied to a memory region that is not Write-Back, Normal memory, data held in this region is treated as Non-cacheable. -//When SMP bit = 0, Inner WB/WA Cacheable Shareable attributes are treated as Non-cacheable. -//When SMP bit = 1, Inner WB/WA Cacheable Shareable attributes are treated as Cacheable. - - -//Following MMU configuration is expected -//SCTLR.AFE == 1 (Simplified access permissions model - AP[2:1] define access permissions, AP[0] is an access flag) -//SCTLR.TRE == 0 (TEX remap disabled, so memory type and attributes are described directly by bits in the descriptor) -//Domain 0 is always the Client domain -//Descriptors should place all memory in domain 0 - -#include "ARMCA7.h" -#include "mem_ARMCA7.h" - -// TTB base address -#define TTB_BASE ((uint32_t*)__TTB_BASE) - -// L2 table pointers -//---------------------------------------- -#define TTB_L1_SIZE (0x00004000) // The L1 translation table divides the full 4GB address space of a 32-bit core - // into 4096 equally sized sections, each of which describes 1MB of virtual memory space. - // The L1 translation table therefore contains 4096 32-bit (word-sized) entries. - -#define PRIVATE_TABLE_L2_BASE_4k (__TTB_BASE + TTB_L1_SIZE) // Map 4k Private Address space -#define PERIPHERAL_A_TABLE_L2_BASE_64k (__TTB_BASE + TTB_L1_SIZE + 0x400) // Map 64k Peripheral #1 0x1C000000 - 0x1C00FFFFF -#define PERIPHERAL_B_TABLE_L2_BASE_64k (__TTB_BASE + TTB_L1_SIZE + 0x800) // Map 64k Peripheral #2 0x1C100000 - 0x1C1FFFFFF -#define SYNC_FLAGS_TABLE_L2_BASE_4k (__TTB_BASE + TTB_L1_SIZE + 0xC00) // Map 4k Flag synchronization - -//--------------------- PERIPHERALS ------------------- -#define PERIPHERAL_A_FAULT (0x00000000 + 0x1c000000) //0x1C000000-0x1C00FFFF (1M) -#define PERIPHERAL_B_FAULT (0x00100000 + 0x1c000000) //0x1C100000-0x1C10FFFF (1M) - -//--------------------- SYNC FLAGS -------------------- -#define FLAG_SYNC 0xFFFFF000 -#define F_SYNC_BASE 0xFFF00000 //1M aligned - -static uint32_t Sect_Normal; //outer & inner wb/wa, non-shareable, executable, rw, domain 0, base addr 0 -static uint32_t Sect_Normal_Cod; //outer & inner wb/wa, non-shareable, executable, ro, domain 0, base addr 0 -static uint32_t Sect_Normal_RO; //as Sect_Normal_Cod, but not executable -static uint32_t Sect_Normal_RW; //as Sect_Normal_Cod, but writeable and not executable -static uint32_t Sect_Device_RO; //device, non-shareable, non-executable, ro, domain 0, base addr 0 -static uint32_t Sect_Device_RW; //as Sect_Device_RO, but writeable - -/* Define global descriptors */ -static uint32_t Page_L1_4k = 0x0; //generic -static uint32_t Page_L1_64k = 0x0; //generic -static uint32_t Page_4k_Device_RW; //Shared device, not executable, rw, domain 0 -static uint32_t Page_64k_Device_RW; //Shared device, not executable, rw, domain 0 - -void MMU_CreateTranslationTable(void) -{ - mmu_region_attributes_Type region; - - //Create 4GB of faulting entries - MMU_TTSection (TTB_BASE, 0, 4096, DESCRIPTOR_FAULT); - - /* - * Generate descriptors. Refer to core_ca.h to get information about attributes - * - */ - //Create descriptors for Vectors, RO, RW, ZI sections - section_normal(Sect_Normal, region); - section_normal_cod(Sect_Normal_Cod, region); - section_normal_ro(Sect_Normal_RO, region); - section_normal_rw(Sect_Normal_RW, region); - //Create descriptors for peripherals - section_device_ro(Sect_Device_RO, region); - section_device_rw(Sect_Device_RW, region); - //Create descriptors for 64k pages - page64k_device_rw(Page_L1_64k, Page_64k_Device_RW, region); - //Create descriptors for 4k pages - page4k_device_rw(Page_L1_4k, Page_4k_Device_RW, region); - - - /* - * Define MMU flat-map regions and attributes - * - */ - - //Define Image - MMU_TTSection (TTB_BASE, __ROM_BASE, __ROM_SIZE/0x100000, Sect_Normal_Cod); // multiple of 1MB sections - MMU_TTSection (TTB_BASE, __RAM_BASE, __RAM_SIZE/0x100000, Sect_Normal_RW); // multiple of 1MB sections - - //--------------------- PERIPHERALS ------------------- - MMU_TTSection (TTB_BASE, VE_A7_MP_FLASH_BASE0 , 64, Sect_Device_RO); // 64MB NOR - MMU_TTSection (TTB_BASE, VE_A7_MP_FLASH_BASE1 , 64, Sect_Device_RO); // 64MB NOR - MMU_TTSection (TTB_BASE, VE_A7_MP_SRAM_BASE , 32, Sect_Device_RW); // 32MB RAM - MMU_TTSection (TTB_BASE, VE_A7_MP_VRAM_BASE , 32, Sect_Device_RW); // 32MB RAM - MMU_TTSection (TTB_BASE, VE_A7_MP_ETHERNET_BASE , 16, Sect_Device_RW); - MMU_TTSection (TTB_BASE, VE_A7_MP_USB_BASE , 16, Sect_Device_RW); - - // Create (16 * 64k)=1MB faulting entries to cover peripheral range 0x1C000000-0x1C00FFFF - MMU_TTPage64k(TTB_BASE, PERIPHERAL_A_FAULT , 16, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, DESCRIPTOR_FAULT); - // Define peripheral range 0x1C000000-0x1C00FFFF - MMU_TTPage64k(TTB_BASE, VE_A7_MP_DAP_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A7_MP_SYSTEM_REG_BASE, 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A7_MP_SERIAL_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A7_MP_AACI_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A7_MP_MMCI_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A7_MP_KMI0_BASE , 2, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A7_MP_UART_BASE , 4, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A7_MP_WDT_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - - // Create (16 * 64k)=1MB faulting entries to cover peripheral range 0x1C100000-0x1C10FFFF - MMU_TTPage64k(TTB_BASE, PERIPHERAL_B_FAULT , 16, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, DESCRIPTOR_FAULT); - // Define peripheral range 0x1C100000-0x1C10FFFF - MMU_TTPage64k(TTB_BASE, VE_A7_MP_TIMER_BASE , 2, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A7_MP_DVI_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A7_MP_RTC_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A7_MP_UART4_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A7_MP_CLCD_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); - - // Create (256 * 4k)=1MB faulting entries to cover private address space. Needs to be marked as Device memory - MMU_TTPage4k (TTB_BASE, __get_CBAR() ,256, Page_L1_4k, (uint32_t *)PRIVATE_TABLE_L2_BASE_4k, DESCRIPTOR_FAULT); - // Define private address space entry. - MMU_TTPage4k (TTB_BASE, __get_CBAR() , 3, Page_L1_4k, (uint32_t *)PRIVATE_TABLE_L2_BASE_4k, Page_4k_Device_RW); - // Define L2CC entry. Uncomment if PL310 is present - // MMU_TTPage4k (TTB_BASE, VE_A5_MP_PL310_BASE , 1, Page_L1_4k, (uint32_t *)PRIVATE_TABLE_L2_BASE_4k, Page_4k_Device_RW); - - // Create (256 * 4k)=1MB faulting entries to synchronization space (Useful if some non-cacheable DMA agent is present in the SoC) - MMU_TTPage4k (TTB_BASE, F_SYNC_BASE , 256, Page_L1_4k, (uint32_t *)SYNC_FLAGS_TABLE_L2_BASE_4k, DESCRIPTOR_FAULT); - // Define synchronization space entry. - MMU_TTPage4k (TTB_BASE, FLAG_SYNC , 1, Page_L1_4k, (uint32_t *)SYNC_FLAGS_TABLE_L2_BASE_4k, Page_4k_Device_RW); - - /* Set location of level 1 page table - ; 31:14 - Translation table base addr (31:14-TTBCR.N, TTBCR.N is 0 out of reset) - ; 13:7 - 0x0 - ; 6 - IRGN[0] 0x1 (Inner WB WA) - ; 5 - NOS 0x0 (Non-shared) - ; 4:3 - RGN 0x01 (Outer WB WA) - ; 2 - IMP 0x0 (Implementation Defined) - ; 1 - S 0x0 (Non-shared) - ; 0 - IRGN[1] 0x0 (Inner WB WA) */ - __set_TTBR0(__TTB_BASE | 0x48); - __ISB(); - - /* Set up domain access control register - ; We set domain 0 to Client and all other domains to No Access. - ; All translation table entries specify domain 0 */ - __set_DACR(1); - __ISB(); -} diff --git a/external/CMSIS_5/Device/ARM/ARMCA7/Source/system_ARMCA7.c b/external/CMSIS_5/Device/ARM/ARMCA7/Source/system_ARMCA7.c deleted file mode 100644 index 803ec49..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA7/Source/system_ARMCA7.c +++ /dev/null @@ -1,93 +0,0 @@ -/****************************************************************************** - * @file system_ARMCA7.c - * @brief CMSIS Device System Source File for Arm Cortex-A7 Device Series - * @version V1.0.1 - * @date 13. February 2019 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "RTE_Components.h" -#include CMSIS_device_header -#include "irq_ctrl.h" - -#define SYSTEM_CLOCK 12000000U - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System Initialization - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ -/* do not use global variables because this function is called before - reaching pre-main. RW section may be overwritten afterwards. */ - - // Invalidate entire Unified TLB - __set_TLBIALL(0); - - // Invalidate entire branch predictor array - __set_BPIALL(0); - __DSB(); - __ISB(); - - // Invalidate instruction cache and flush branch target cache - __set_ICIALLU(0); - __DSB(); - __ISB(); - - // Invalidate data cache - L1C_InvalidateDCacheAll(); - -#if ((__FPU_PRESENT == 1) && (__FPU_USED == 1)) - // Enable FPU - __FPU_Enable(); -#endif - - // Create Translation Table - MMU_CreateTranslationTable(); - - // Enable MMU - MMU_Enable(); - - // Enable Caches - L1C_EnableCaches(); - L1C_EnableBTAC(); - -#if (__L2C_PRESENT == 1) - // Enable GIC - L2C_Enable(); -#endif - - // IRQ Initialize - IRQ_Initialize(); -} diff --git a/external/CMSIS_5/Device/ARM/ARMCA9/Config/mem_ARMCA9.h b/external/CMSIS_5/Device/ARM/ARMCA9/Config/mem_ARMCA9.h deleted file mode 100644 index 3609d7f..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA9/Config/mem_ARMCA9.h +++ /dev/null @@ -1,100 +0,0 @@ -/**************************************************************************//** - * @file mem_ARMCA9.h - * @brief Memory base and size definitions (used in scatter file) - * @version V1.1.0 - * @date 15. May 2019 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __MEM_ARMCA9_H -#define __MEM_ARMCA9_H - -/*---------------------------------------------------------------------------- - User Stack & Heap size definition - *----------------------------------------------------------------------------*/ -/* -//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ -*/ - -/*--------------------- ROM Configuration ------------------------------------ -// -// ROM Configuration -// For compatibility with MMU config the sections must be multiple of 1MB -// ROM Base Address <0x0-0xFFFFFFFF:0x100000> -// ROM Size (in Bytes) <0x0-0xFFFFFFFF:0x100000> -// - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x80000000 -#define __ROM_SIZE 0x00200000 - -/*--------------------- RAM Configuration ----------------------------------- -// RAM Configuration -// For compatibility with MMU config the sections must be multiple of 1MB -// RAM Base Address <0x0-0xFFFFFFFF:0x100000> -// RAM Total Size (in Bytes) <0x0-0xFFFFFFFF:0x100000> -// Data Sections -// RW_DATA Size (in Bytes) <0x0-0xFFFFFFFF:8> -// ZI_DATA Size (in Bytes) <0x0-0xFFFFFFFF:8> -// -// Stack / Heap Configuration -// Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -// Exceptional Modes -// UND Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// ABT Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// SVC Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// IRQ Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// FIQ Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// -// -// - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x80200000 -#define __RAM_SIZE 0x00200000 - -#define __RW_DATA_SIZE 0x00100000 -#define __ZI_DATA_SIZE 0x000F0000 - -#define __STACK_SIZE 0x00001000 -#define __HEAP_SIZE 0x00008000 - -#define __UND_STACK_SIZE 0x00000100 -#define __ABT_STACK_SIZE 0x00000100 -#define __SVC_STACK_SIZE 0x00000100 -#define __IRQ_STACK_SIZE 0x00000100 -#define __FIQ_STACK_SIZE 0x00000100 - -/*----------------------------------------------------------------------------*/ - -/*--------------------- TTB Configuration ------------------------------------ -// -// TTB Configuration -// The TLB L1 contains 4096 32-bit entries and must be 16kB aligned -// The TLB L2 entries are placed after the L1 in the MMU config -// TTB Base Address <0x0-0xFFFFFFFF:0x4000> -// TTB Size (in Bytes) <0x0-0xFFFFFFFF:8> -// - *----------------------------------------------------------------------------*/ -#define __TTB_BASE 0x80500000 -#define __TTB_SIZE 0x00005000 - -#endif /* __MEM_ARMCA9_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCA9/Config/system_ARMCA9.h b/external/CMSIS_5/Device/ARM/ARMCA9/Config/system_ARMCA9.h deleted file mode 100644 index b60ce5a..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA9/Config/system_ARMCA9.h +++ /dev/null @@ -1,65 +0,0 @@ -/****************************************************************************** - * @file system_ARMCA9.h - * @brief CMSIS Device System Header File for Arm Cortex-A9 Device Series - * @version V1.00 - * @date 10. January 2018 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __SYSTEM_ARMCA9_H -#define __SYSTEM_ARMCA9_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */ - -/** - \brief Setup the microcontroller system. - - Initialize the System and update the SystemCoreClock variable. - */ -extern void SystemInit (void); - - -/** - \brief Update SystemCoreClock variable. - - Updates the SystemCoreClock with current core Clock retrieved from cpu registers. - */ -extern void SystemCoreClockUpdate (void); - -/** - \brief Create Translation Table. - - Creates Memory Management Unit Translation Table. - */ -extern void MMU_CreateTranslationTable(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __SYSTEM_ARMCA9_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCA9/Include/ARMCA9.h b/external/CMSIS_5/Device/ARM/ARMCA9/Include/ARMCA9.h deleted file mode 100644 index 1511245..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA9/Include/ARMCA9.h +++ /dev/null @@ -1,139 +0,0 @@ -/****************************************************************************** - * @file ARMCA9.h - * @brief CMSIS Cortex-A9 Core Peripheral Access Layer Header File - * @version V1.1.0 - * @date 15. May 2019 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __ARMCA9_H__ -#define __ARMCA9_H__ - -#ifdef __cplusplus -extern "C" { -#endif - - -/* ------------------------- Interrupt Number Definition ------------------------ */ - -/** Device specific Interrupt IDs */ -typedef enum IRQn -{ -/****** SGI Interrupts Numbers ****************************************/ - SGI0_IRQn = 0, /*!< Software Generated Interrupt 0 */ - SGI1_IRQn = 1, /*!< Software Generated Interrupt 1 */ - SGI2_IRQn = 2, /*!< Software Generated Interrupt 2 */ - SGI3_IRQn = 3, /*!< Software Generated Interrupt 3 */ - SGI4_IRQn = 4, /*!< Software Generated Interrupt 4 */ - SGI5_IRQn = 5, /*!< Software Generated Interrupt 5 */ - SGI6_IRQn = 6, /*!< Software Generated Interrupt 6 */ - SGI7_IRQn = 7, /*!< Software Generated Interrupt 7 */ - SGI8_IRQn = 8, /*!< Software Generated Interrupt 8 */ - SGI9_IRQn = 9, /*!< Software Generated Interrupt 9 */ - SGI10_IRQn = 10, /*!< Software Generated Interrupt 10 */ - SGI11_IRQn = 11, /*!< Software Generated Interrupt 11 */ - SGI12_IRQn = 12, /*!< Software Generated Interrupt 12 */ - SGI13_IRQn = 13, /*!< Software Generated Interrupt 13 */ - SGI14_IRQn = 14, /*!< Software Generated Interrupt 14 */ - SGI15_IRQn = 15, /*!< Software Generated Interrupt 15 */ - -/****** Cortex-A9 Processor Exceptions Numbers ****************************************/ - GlobalTimer_IRQn = 27, /*!< Global Timer Interrupt */ - PrivTimer_IRQn = 29, /*!< Private Timer Interrupt */ - PrivWatchdog_IRQn = 30, /*!< Private Watchdog Interrupt */ - -/****** Platform Exceptions Numbers ***************************************************/ - Watchdog_IRQn = 32, /*!< SP805 Interrupt */ - Timer0_IRQn = 34, /*!< SP804 Interrupt */ - Timer1_IRQn = 35, /*!< SP804 Interrupt */ - RTClock_IRQn = 36, /*!< PL031 Interrupt */ - UART0_IRQn = 37, /*!< PL011 Interrupt */ - UART1_IRQn = 38, /*!< PL011 Interrupt */ - UART2_IRQn = 39, /*!< PL011 Interrupt */ - UART3_IRQn = 40, /*!< PL011 Interrupt */ - MCI0_IRQn = 41, /*!< PL180 Interrupt (1st) */ - MCI1_IRQn = 42, /*!< PL180 Interrupt (2nd) */ - AACI_IRQn = 43, /*!< PL041 Interrupt */ - Keyboard_IRQn = 44, /*!< PL050 Interrupt */ - Mouse_IRQn = 45, /*!< PL050 Interrupt */ - CLCD_IRQn = 46, /*!< PL111 Interrupt */ - Ethernet_IRQn = 47, /*!< SMSC_91C111 Interrupt */ - VFS2_IRQn = 73, /*!< VFS2 Interrupt */ -} IRQn_Type; - -/******************************************************************************/ -/* Peripheral memory map */ -/******************************************************************************/ - -/* Peripheral and RAM base address */ -#define VE_A9_MP_FLASH_BASE0 (0x00000000UL) /*!< (FLASH0 ) Base Address */ -#define VE_A9_MP_FLASH_BASE1 (0x0C000000UL) /*!< (FLASH1 ) Base Address */ -#define VE_A9_MP_SRAM_BASE (0x14000000UL) /*!< (SRAM ) Base Address */ -#define VE_A9_MP_PERIPH_BASE_CS2 (0x18000000UL) /*!< (Peripheral ) Base Address */ -#define VE_A9_MP_VRAM_BASE (0x00000000UL + VE_A9_MP_PERIPH_BASE_CS2) /*!< (VRAM ) Base Address */ -#define VE_A9_MP_ETHERNET_BASE (0x02000000UL + VE_A9_MP_PERIPH_BASE_CS2) /*!< (ETHERNET ) Base Address */ -#define VE_A9_MP_USB_BASE (0x03000000UL + VE_A9_MP_PERIPH_BASE_CS2) /*!< (USB ) Base Address */ -#define VE_A9_MP_PERIPH_BASE_CS3 (0x1C000000UL) /*!< (Peripheral ) Base Address */ -#define VE_A9_MP_DAP_BASE (0x00000000UL + VE_A9_MP_PERIPH_BASE_CS3) /*!< (LOCAL DAP ) Base Address */ -#define VE_A9_MP_SYSTEM_REG_BASE (0x00010000UL + VE_A9_MP_PERIPH_BASE_CS3) /*!< (SYSTEM REG ) Base Address */ -#define VE_A9_MP_SERIAL_BASE (0x00030000UL + VE_A9_MP_PERIPH_BASE_CS3) /*!< (SERIAL ) Base Address */ -#define VE_A9_MP_AACI_BASE (0x00040000UL + VE_A9_MP_PERIPH_BASE_CS3) /*!< (AACI ) Base Address */ -#define VE_A9_MP_MMCI_BASE (0x00050000UL + VE_A9_MP_PERIPH_BASE_CS3) /*!< (MMCI ) Base Address */ -#define VE_A9_MP_KMI0_BASE (0x00060000UL + VE_A9_MP_PERIPH_BASE_CS3) /*!< (KMI0 ) Base Address */ -#define VE_A9_MP_UART_BASE (0x00090000UL + VE_A9_MP_PERIPH_BASE_CS3) /*!< (UART ) Base Address */ -#define VE_A9_MP_WDT_BASE (0x000F0000UL + VE_A9_MP_PERIPH_BASE_CS3) /*!< (WDT ) Base Address */ -#define VE_A9_MP_TIMER_BASE (0x00110000UL + VE_A9_MP_PERIPH_BASE_CS3) /*!< (TIMER ) Base Address */ -#define VE_A9_MP_DVI_BASE (0x00160000UL + VE_A9_MP_PERIPH_BASE_CS3) /*!< (DVI ) Base Address */ -#define VE_A9_MP_RTC_BASE (0x00170000UL + VE_A9_MP_PERIPH_BASE_CS3) /*!< (RTC ) Base Address */ -#define VE_A9_MP_UART4_BASE (0x001B0000UL + VE_A9_MP_PERIPH_BASE_CS3) /*!< (UART4 ) Base Address */ -#define VE_A9_MP_CLCD_BASE (0x001F0000UL + VE_A9_MP_PERIPH_BASE_CS3) /*!< (CLCD ) Base Address */ -#define VE_A9_MP_PL310_BASE (0x1E00A000UL) /*!< (L2C-310 ) Base Address */ -#define VE_A9_MP_PRIVATE_PERIPH_BASE (0x2C000000UL) /*!< (Peripheral ) Base Address */ -#define VE_A9_MP_GIC_DISTRIBUTOR_BASE (0x00001000UL + VE_A9_MP_PRIVATE_PERIPH_BASE) /*!< (GIC DIST ) Base Address */ -#define VE_A9_MP_GIC_INTERFACE_BASE (0x00000100UL + VE_A9_MP_PRIVATE_PERIPH_BASE) /*!< (GIC CPU IF ) Base Address */ -#define VE_A9_MP_PRIVATE_TIMER (0x00000600UL + VE_A9_MP_PRIVATE_PERIPH_BASE) /*!< (PTIM ) Base Address */ -#define VE_A9_MP_SSRAM_BASE (0x2E000000UL) /*!< (System SRAM) Base Address */ -#define VE_A9_MP_DRAM_BASE (0x80000000UL) /*!< (DRAM ) Base Address */ -#define GIC_DISTRIBUTOR_BASE VE_A9_MP_GIC_DISTRIBUTOR_BASE -#define GIC_INTERFACE_BASE VE_A9_MP_GIC_INTERFACE_BASE -#define TIMER_BASE VE_A9_MP_PRIVATE_TIMER - -//The VE-A9 model implements L1 cache as architecturally defined, but does not implement L2 cache. -//Do not enable the L2 cache if you are running RTX on a VE-A9 model as it may cause a data abort. -#define L2C_310_BASE VE_A9_MP_PL310_BASE - -/* -------- Configuration of the Cortex-A9 Processor and Core Peripherals ------- */ -#define __CA_REV 0x0000U /*!< Core revision r0p0 */ -#define __CORTEX_A 9U /*!< Cortex-A9 Core */ -#define __FPU_PRESENT 1U /* FPU present */ -#define __GIC_PRESENT 1U /* GIC present */ -#define __TIM_PRESENT 1U /* TIM present */ -#define __L2C_PRESENT 0U /* L2C present */ - -#include "core_ca.h" -#include - -#ifdef __cplusplus -} -#endif - -#endif // __ARMCA9_H__ diff --git a/external/CMSIS_5/Device/ARM/ARMCA9/Source/AC5/ARMCA9.sct b/external/CMSIS_5/Device/ARM/ARMCA9/Source/AC5/ARMCA9.sct deleted file mode 100644 index 4bf3816..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA9/Source/AC5/ARMCA9.sct +++ /dev/null @@ -1,77 +0,0 @@ -#! armcc -E -;************************************************** -; Copyright (c) 2017 ARM Ltd. All rights reserved. -;************************************************** - -; Scatter-file for RTX Example on Versatile Express - -; This scatter-file places application code, data, stack and heap at suitable addresses in the memory map. - -; This platform has 2GB SDRAM starting at 0x80000000. - -#include "mem_ARMCA9.h" - -SDRAM __ROM_BASE __ROM_SIZE ; load region size_region -{ - VECTORS __ROM_BASE __ROM_SIZE ; load address = execution address - { - * (RESET, +FIRST) ; Vector table and other startup code - * (InRoot$$Sections) ; All (library) code that must be in a root region - * (+RO-CODE) ; Application RO code (.text) - * (+RO-DATA) ; Application RO data (.constdata) - } - - RW_DATA __RAM_BASE __RW_DATA_SIZE - { * (+RW) } ; Application RW data (.data) - - ZI_DATA (__RAM_BASE+ - __RW_DATA_SIZE) __ZI_DATA_SIZE - { * (+ZI) } ; Application ZI data (.bss) - - ARM_LIB_HEAP (__RAM_BASE - +__RW_DATA_SIZE - +__ZI_DATA_SIZE) EMPTY __HEAP_SIZE ; Heap region growing up - { } - - ARM_LIB_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE - -__SVC_STACK_SIZE - -__ABT_STACK_SIZE - -__UND_STACK_SIZE) EMPTY -__STACK_SIZE ; Stack region growing down - { } - - UND_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE - -__SVC_STACK_SIZE - -__ABT_STACK_SIZE) EMPTY -__UND_STACK_SIZE ; UND mode stack - { } - - ABT_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE - -__SVC_STACK_SIZE) EMPTY -__ABT_STACK_SIZE ; ABT mode stack - { } - - SVC_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE) EMPTY -__SVC_STACK_SIZE ; SVC mode stack - { } - - IRQ_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE) EMPTY -__IRQ_STACK_SIZE ; IRQ mode stack - { } - - FIQ_STACK (__RAM_BASE - +__RAM_SIZE) EMPTY -__FIQ_STACK_SIZE ; FIQ mode stack - { } - - TTB __TTB_BASE EMPTY __TTB_SIZE ; Level-1 Translation Table for MMU - { } -} diff --git a/external/CMSIS_5/Device/ARM/ARMCA9/Source/AC5/startup_ARMCA9.c b/external/CMSIS_5/Device/ARM/ARMCA9/Source/AC5/startup_ARMCA9.c deleted file mode 100644 index 8d3161e..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA9/Source/AC5/startup_ARMCA9.c +++ /dev/null @@ -1,151 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCA9.c - * @brief CMSIS Device System Source File for Arm Cortex-A9 Device Series - * @version V1.00 - * @date 10. January 2018 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include - -/*---------------------------------------------------------------------------- - Definitions - *----------------------------------------------------------------------------*/ -#define USR_MODE 0x10 // User mode -#define FIQ_MODE 0x11 // Fast Interrupt Request mode -#define IRQ_MODE 0x12 // Interrupt Request mode -#define SVC_MODE 0x13 // Supervisor mode -#define ABT_MODE 0x17 // Abort mode -#define UND_MODE 0x1B // Undefined Instruction mode -#define SYS_MODE 0x1F // System mode - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -void Vectors (void) __attribute__ ((section("RESET"))); -void Reset_Handler (void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -void Undef_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PAbt_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DAbt_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void IRQ_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void FIQ_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector Table - *----------------------------------------------------------------------------*/ -__ASM void Vectors(void) { - PRESERVE8 - - IMPORT Undef_Handler - IMPORT SVC_Handler - IMPORT PAbt_Handler - IMPORT DAbt_Handler - IMPORT IRQ_Handler - IMPORT FIQ_Handler - LDR PC, =Reset_Handler - LDR PC, =Undef_Handler - LDR PC, =SVC_Handler - LDR PC, =PAbt_Handler - LDR PC, =DAbt_Handler - NOP - LDR PC, =IRQ_Handler - LDR PC, =FIQ_Handler -} - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__ASM void Reset_Handler(void) { - PRESERVE8 - - // Mask interrupts - CPSID if - - // Put any cores other than 0 to sleep - MRC p15, 0, R0, c0, c0, 5 // Read MPIDR - ANDS R0, R0, #3 -goToSleep - WFINE - BNE goToSleep - - // Reset SCTLR Settings - MRC p15, 0, R0, c1, c0, 0 // Read CP15 System Control register - BIC R0, R0, #(0x1 << 12) // Clear I bit 12 to disable I Cache - BIC R0, R0, #(0x1 << 2) // Clear C bit 2 to disable D Cache - BIC R0, R0, #0x1 // Clear M bit 0 to disable MMU - BIC R0, R0, #(0x1 << 11) // Clear Z bit 11 to disable branch prediction - BIC R0, R0, #(0x1 << 13) // Clear V bit 13 to disable hivecs - MCR p15, 0, R0, c1, c0, 0 // Write value back to CP15 System Control register - ISB - - // Configure ACTLR - MRC p15, 0, r0, c1, c0, 1 // Read CP15 Auxiliary Control Register - ORR r0, r0, #(1 << 1) // Enable L2 prefetch hint (UNK/WI since r4p1) - MCR p15, 0, r0, c1, c0, 1 // Write CP15 Auxiliary Control Register - - // Set Vector Base Address Register (VBAR) to point to this application's vector table - LDR R0, =Vectors - MCR p15, 0, R0, c12, c0, 0 - - // Setup Stack for each exceptional mode - IMPORT |Image$$FIQ_STACK$$ZI$$Limit| - IMPORT |Image$$IRQ_STACK$$ZI$$Limit| - IMPORT |Image$$SVC_STACK$$ZI$$Limit| - IMPORT |Image$$ABT_STACK$$ZI$$Limit| - IMPORT |Image$$UND_STACK$$ZI$$Limit| - IMPORT |Image$$ARM_LIB_STACK$$ZI$$Limit| - CPS #0x11 - LDR SP, =|Image$$FIQ_STACK$$ZI$$Limit| - CPS #0x12 - LDR SP, =|Image$$IRQ_STACK$$ZI$$Limit| - CPS #0x13 - LDR SP, =|Image$$SVC_STACK$$ZI$$Limit| - CPS #0x17 - LDR SP, =|Image$$ABT_STACK$$ZI$$Limit| - CPS #0x1B - LDR SP, =|Image$$UND_STACK$$ZI$$Limit| - CPS #0x1F - LDR SP, =|Image$$ARM_LIB_STACK$$ZI$$Limit| - - // Call SystemInit - IMPORT SystemInit - BL SystemInit - - // Unmask interrupts - CPSIE if - - // Call __main - IMPORT __main - BL __main -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) { - while(1); -} diff --git a/external/CMSIS_5/Device/ARM/ARMCA9/Source/AC6/ARMCA9.sct b/external/CMSIS_5/Device/ARM/ARMCA9/Source/AC6/ARMCA9.sct deleted file mode 100644 index 3316f93..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA9/Source/AC6/ARMCA9.sct +++ /dev/null @@ -1,77 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-a9 -xc -;************************************************** -; Copyright (c) 2017 ARM Ltd. All rights reserved. -;************************************************** - -; Scatter-file for RTX Example on Versatile Express - -; This scatter-file places application code, data, stack and heap at suitable addresses in the memory map. - -; This platform has 2GB SDRAM starting at 0x80000000. - -#include "mem_ARMCA9.h" - -SDRAM __ROM_BASE __ROM_SIZE ; load region size_region -{ - VECTORS __ROM_BASE __ROM_SIZE ; load address = execution address - { - * (RESET, +FIRST) ; Vector table and other startup code - * (InRoot$$Sections) ; All (library) code that must be in a root region - * (+RO-CODE) ; Application RO code (.text) - * (+RO-DATA) ; Application RO data (.constdata) - } - - RW_DATA __RAM_BASE __RW_DATA_SIZE - { * (+RW) } ; Application RW data (.data) - - ZI_DATA (__RAM_BASE+ - __RW_DATA_SIZE) __ZI_DATA_SIZE - { * (+ZI) } ; Application ZI data (.bss) - - ARM_LIB_HEAP (__RAM_BASE - +__RW_DATA_SIZE - +__ZI_DATA_SIZE) EMPTY __HEAP_SIZE ; Heap region growing up - { } - - ARM_LIB_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE - -__SVC_STACK_SIZE - -__ABT_STACK_SIZE - -__UND_STACK_SIZE) EMPTY -__STACK_SIZE ; Stack region growing down - { } - - UND_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE - -__SVC_STACK_SIZE - -__ABT_STACK_SIZE) EMPTY -__UND_STACK_SIZE ; UND mode stack - { } - - ABT_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE - -__SVC_STACK_SIZE) EMPTY -__ABT_STACK_SIZE ; ABT mode stack - { } - - SVC_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE) EMPTY -__SVC_STACK_SIZE ; SVC mode stack - { } - - IRQ_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE) EMPTY -__IRQ_STACK_SIZE ; IRQ mode stack - { } - - FIQ_STACK (__RAM_BASE - +__RAM_SIZE) EMPTY -__FIQ_STACK_SIZE ; FIQ mode stack - { } - - TTB __TTB_BASE EMPTY __TTB_SIZE ; Level-1 Translation Table for MMU - { } -} diff --git a/external/CMSIS_5/Device/ARM/ARMCA9/Source/AC6/startup_ARMCA9.c b/external/CMSIS_5/Device/ARM/ARMCA9/Source/AC6/startup_ARMCA9.c deleted file mode 100644 index 88173fc..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA9/Source/AC6/startup_ARMCA9.c +++ /dev/null @@ -1,136 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCA9.c - * @brief CMSIS Device System Source File for Arm Cortex-A9 Device Series - * @version V1.0.1 - * @date 10. January 2021 - ******************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include - -/*---------------------------------------------------------------------------- - Definitions - *----------------------------------------------------------------------------*/ -#define USR_MODE 0x10 // User mode -#define FIQ_MODE 0x11 // Fast Interrupt Request mode -#define IRQ_MODE 0x12 // Interrupt Request mode -#define SVC_MODE 0x13 // Supervisor mode -#define ABT_MODE 0x17 // Abort mode -#define UND_MODE 0x1B // Undefined Instruction mode -#define SYS_MODE 0x1F // System mode - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -void Vectors (void) __attribute__ ((naked, section("RESET"))); -void Reset_Handler (void) __attribute__ ((naked)); -void Default_Handler(void) __attribute__ ((noreturn)); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -void Undef_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PAbt_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DAbt_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void IRQ_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void FIQ_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector Table - *----------------------------------------------------------------------------*/ -void Vectors(void) { - __ASM volatile( - "LDR PC, =Reset_Handler \n" - "LDR PC, =Undef_Handler \n" - "LDR PC, =SVC_Handler \n" - "LDR PC, =PAbt_Handler \n" - "LDR PC, =DAbt_Handler \n" - "NOP \n" - "LDR PC, =IRQ_Handler \n" - "LDR PC, =FIQ_Handler \n" - ); -} - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -void Reset_Handler(void) { - __ASM volatile( - - // Mask interrupts - "CPSID if \n" - - // Put any cores other than 0 to sleep - "MRC p15, 0, R0, c0, c0, 5 \n" // Read MPIDR - "ANDS R0, R0, #3 \n" - "goToSleep: \n" - "WFINE \n" - "BNE goToSleep \n" - - // Reset SCTLR Settings - "MRC p15, 0, R0, c1, c0, 0 \n" // Read CP15 System Control register - "BIC R0, R0, #(0x1 << 12) \n" // Clear I bit 12 to disable I Cache - "BIC R0, R0, #(0x1 << 2) \n" // Clear C bit 2 to disable D Cache - "BIC R0, R0, #0x1 \n" // Clear M bit 0 to disable MMU - "BIC R0, R0, #(0x1 << 11) \n" // Clear Z bit 11 to disable branch prediction - "BIC R0, R0, #(0x1 << 13) \n" // Clear V bit 13 to disable hivecs - "MCR p15, 0, R0, c1, c0, 0 \n" // Write value back to CP15 System Control register - "ISB \n" - - // Configure ACTLR - "MRC p15, 0, r0, c1, c0, 1 \n" // Read CP15 Auxiliary Control Register - "ORR r0, r0, #(1 << 1) \n" // Enable L2 prefetch hint (UNK/WI since r4p1) - "MCR p15, 0, r0, c1, c0, 1 \n" // Write CP15 Auxiliary Control Register - - // Set Vector Base Address Register (VBAR) to point to this application's vector table - "LDR R0, =Vectors \n" - "MCR p15, 0, R0, c12, c0, 0 \n" - - // Setup Stack for each exceptional mode - "CPS #0x11 \n" - "LDR SP, =Image$$FIQ_STACK$$ZI$$Limit \n" - "CPS #0x12 \n" - "LDR SP, =Image$$IRQ_STACK$$ZI$$Limit \n" - "CPS #0x13 \n" - "LDR SP, =Image$$SVC_STACK$$ZI$$Limit \n" - "CPS #0x17 \n" - "LDR SP, =Image$$ABT_STACK$$ZI$$Limit \n" - "CPS #0x1B \n" - "LDR SP, =Image$$UND_STACK$$ZI$$Limit \n" - "CPS #0x1F \n" - "LDR SP, =Image$$ARM_LIB_STACK$$ZI$$Limit \n" - - // Call SystemInit - "BL SystemInit \n" - - // Unmask interrupts - "CPSIE if \n" - - // Call __main - "BL __main \n" - ); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) { - while(1); -} diff --git a/external/CMSIS_5/Device/ARM/ARMCA9/Source/GCC/ARMCA9.ld b/external/CMSIS_5/Device/ARM/ARMCA9/Source/GCC/ARMCA9.ld deleted file mode 100644 index ee3d836..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA9/Source/GCC/ARMCA9.ld +++ /dev/null @@ -1,181 +0,0 @@ -#include "mem_ARMCA9.h" - -MEMORY -{ - ROM (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - L_TTB (rw) : ORIGIN = __TTB_BASE, LENGTH = __TTB_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - - Image$$VECTORS$$Base = .; - * (RESET) - KEEP(*(.isr_vector)) - Image$$VECTORS$$Limit = .; - - *(SVC_TABLE) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - Image$$RO_DATA$$Base = .; - *(.rodata*) - Image$$RO_DATA$$Limit = .; - - KEEP(*(.eh_frame*)) - } > ROM - - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > ROM - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > ROM - __exidx_end = .; - - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - LONG (__etext) - LONG (__data_start__) - LONG (__data_end__ - __data_start__) - __copy_table_end__ = .; - } > ROM - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - LONG (__bss_start__) - LONG (__bss_end__ - __bss_start__) - __zero_table_end__ = .; - } > ROM - - __etext = .; - - .ttb : - { - Image$$TTB$$ZI$$Base = .; - . += __TTB_SIZE; - Image$$TTB$$ZI$$Limit = .; - } > L_TTB - - .data : AT (__etext) - { - Image$$RW_DATA$$Base = .; - __data_start__ = .; - *(vtable) - *(.data*) - Image$$RW_DATA$$Limit = .; - - . = ALIGN(4); - /* preinit data */ - PROVIDE (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE (__init_array_end = .); - - - . = ALIGN(4); - /* finit data */ - PROVIDE (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE (__fini_array_end = .); - - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - - .bss ALIGN(0x400): - { - Image$$ZI_DATA$$Base = .; - __bss_start__ = .; - *(.bss*) - *(COMMON) - __bss_end__ = .; - Image$$ZI_DATA$$Limit = .; - __end__ = .; - end = __end__; - } > RAM - -#if defined(__HEAP_SIZE) && (__HEAP_SIZE > 0) - .heap (NOLOAD): - { - . = ALIGN(8); - Image$$HEAP$$ZI$$Base = .; - . += __HEAP_SIZE; - Image$$HEAP$$ZI$$Limit = .; - __HeapLimit = .; - } > RAM -#endif - - .stack (NOLOAD): - { - . = ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE - __FIQ_STACK_SIZE - __IRQ_STACK_SIZE - __SVC_STACK_SIZE - __ABT_STACK_SIZE - __UND_STACK_SIZE; - . = ALIGN(8); - - __StackTop = .; - Image$$SYS_STACK$$ZI$$Base = .; - . += __STACK_SIZE; - Image$$SYS_STACK$$ZI$$Limit = .; - __stack = .; - - Image$$FIQ_STACK$$ZI$$Base = .; - . += __FIQ_STACK_SIZE; - Image$$FIQ_STACK$$ZI$$Limit = .; - - Image$$IRQ_STACK$$ZI$$Base = .; - . += __IRQ_STACK_SIZE; - Image$$IRQ_STACK$$ZI$$Limit = .; - - Image$$SVC_STACK$$ZI$$Base = .; - . += __SVC_STACK_SIZE; - Image$$SVC_STACK$$ZI$$Limit = .; - - Image$$ABT_STACK$$ZI$$Base = .; - . += __ABT_STACK_SIZE; - Image$$ABT_STACK$$ZI$$Limit = .; - - Image$$UND_STACK$$ZI$$Base = .; - . += __UND_STACK_SIZE; - Image$$UND_STACK$$ZI$$Limit = .; - - } > RAM -} diff --git a/external/CMSIS_5/Device/ARM/ARMCA9/Source/GCC/startup_ARMCA9.c b/external/CMSIS_5/Device/ARM/ARMCA9/Source/GCC/startup_ARMCA9.c deleted file mode 100644 index 5aac600..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA9/Source/GCC/startup_ARMCA9.c +++ /dev/null @@ -1,136 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCA9.c - * @brief CMSIS Device System Source File for Arm Cortex-A9 Device Series - * @version V1.0.1 - * @date 10. January 2021 - ******************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include - -/*---------------------------------------------------------------------------- - Definitions - *----------------------------------------------------------------------------*/ -#define USR_MODE 0x10 // User mode -#define FIQ_MODE 0x11 // Fast Interrupt Request mode -#define IRQ_MODE 0x12 // Interrupt Request mode -#define SVC_MODE 0x13 // Supervisor mode -#define ABT_MODE 0x17 // Abort mode -#define UND_MODE 0x1B // Undefined Instruction mode -#define SYS_MODE 0x1F // System mode - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -void Vectors (void) __attribute__ ((naked, section("RESET"))); -void Reset_Handler (void) __attribute__ ((naked)); -void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -void Undef_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PAbt_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DAbt_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void IRQ_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void FIQ_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector Table - *----------------------------------------------------------------------------*/ -void Vectors(void) { - __ASM volatile( - "LDR PC, =Reset_Handler \n" - "LDR PC, =Undef_Handler \n" - "LDR PC, =SVC_Handler \n" - "LDR PC, =PAbt_Handler \n" - "LDR PC, =DAbt_Handler \n" - "NOP \n" - "LDR PC, =IRQ_Handler \n" - "LDR PC, =FIQ_Handler \n" - ); -} - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -void Reset_Handler(void) { - __ASM volatile( - - // Mask interrupts - "CPSID if \n" - - // Put any cores other than 0 to sleep - "MRC p15, 0, R0, c0, c0, 5 \n" // Read MPIDR - "ANDS R0, R0, #3 \n" - "goToSleep: \n" - "WFINE \n" - "BNE goToSleep \n" - - // Reset SCTLR Settings - "MRC p15, 0, R0, c1, c0, 0 \n" // Read CP15 System Control register - "BIC R0, R0, #(0x1 << 12) \n" // Clear I bit 12 to disable I Cache - "BIC R0, R0, #(0x1 << 2) \n" // Clear C bit 2 to disable D Cache - "BIC R0, R0, #0x1 \n" // Clear M bit 0 to disable MMU - "BIC R0, R0, #(0x1 << 11) \n" // Clear Z bit 11 to disable branch prediction - "BIC R0, R0, #(0x1 << 13) \n" // Clear V bit 13 to disable hivecs - "MCR p15, 0, R0, c1, c0, 0 \n" // Write value back to CP15 System Control register - "ISB \n" - - // Configure ACTLR - "MRC p15, 0, r0, c1, c0, 1 \n" // Read CP15 Auxiliary Control Register - "ORR r0, r0, #(1 << 1) \n" // Enable L2 prefetch hint (UNK/WI since r4p1) - "MCR p15, 0, r0, c1, c0, 1 \n" // Write CP15 Auxiliary Control Register - - // Set Vector Base Address Register (VBAR) to point to this application's vector table - "LDR R0, =Vectors \n" - "MCR p15, 0, R0, c12, c0, 0 \n" - - // Setup Stack for each exceptional mode - "CPS #0x11 \n" - "LDR SP, =Image$$FIQ_STACK$$ZI$$Limit \n" - "CPS #0x12 \n" - "LDR SP, =Image$$IRQ_STACK$$ZI$$Limit \n" - "CPS #0x13 \n" - "LDR SP, =Image$$SVC_STACK$$ZI$$Limit \n" - "CPS #0x17 \n" - "LDR SP, =Image$$ABT_STACK$$ZI$$Limit \n" - "CPS #0x1B \n" - "LDR SP, =Image$$UND_STACK$$ZI$$Limit \n" - "CPS #0x1F \n" - "LDR SP, =Image$$SYS_STACK$$ZI$$Limit \n" - - // Call SystemInit - "BL SystemInit \n" - - // Unmask interrupts - "CPSIE if \n" - - // Call __main - "BL _start \n" - ); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) { - while(1); -} diff --git a/external/CMSIS_5/Device/ARM/ARMCA9/Source/IAR/ARMCA9.icf b/external/CMSIS_5/Device/ARM/ARMCA9/Source/IAR/ARMCA9.icf deleted file mode 100644 index ce564bb..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA9/Source/IAR/ARMCA9.icf +++ /dev/null @@ -1,67 +0,0 @@ - -/*-Memory Regions-*/ -define symbol __ICFEDIT_region_IROM1_start__ = 0x80000000; -define symbol __ICFEDIT_region_IROM1_end__ = 0x801FFFFF; -define symbol __ICFEDIT_region_IROM2_start__ = 0x0; -define symbol __ICFEDIT_region_IROM2_end__ = 0x0; -define symbol __ICFEDIT_region_EROM1_start__ = 0x0; -define symbol __ICFEDIT_region_EROM1_end__ = 0x0; -define symbol __ICFEDIT_region_EROM2_start__ = 0x0; -define symbol __ICFEDIT_region_EROM2_end__ = 0x0; -define symbol __ICFEDIT_region_EROM3_start__ = 0x0; -define symbol __ICFEDIT_region_EROM3_end__ = 0x0; -define symbol __ICFEDIT_region_IRAM1_start__ = 0x80200000; -define symbol __ICFEDIT_region_IRAM1_end__ = 0x803FFFFF; -define symbol __ICFEDIT_region_IRAM2_start__ = 0x0; -define symbol __ICFEDIT_region_IRAM2_end__ = 0x0; -define symbol __ICFEDIT_region_ERAM1_start__ = 0x0; -define symbol __ICFEDIT_region_ERAM1_end__ = 0x0; -define symbol __ICFEDIT_region_ERAM2_start__ = 0x0; -define symbol __ICFEDIT_region_ERAM2_end__ = 0x0; -define symbol __ICFEDIT_region_ERAM3_start__ = 0x0; -define symbol __ICFEDIT_region_ERAM3_end__ = 0x0; -define symbol __ICFEDIT_region_TTB_start__ = 0x80500000; -define symbol __ICFEDIT_region_TTB_end__ = 0x805FFFFF; - -/*-Sizes-*/ -define symbol __ICFEDIT_size_cstack__ = 0x1000; -define symbol __ICFEDIT_size_irqstack__ = 0x100; -define symbol __ICFEDIT_size_fiqstack__ = 0x100; -define symbol __ICFEDIT_size_svcstack__ = 0x100; -define symbol __ICFEDIT_size_abtstack__ = 0x100; -define symbol __ICFEDIT_size_undstack__ = 0x100; -define symbol __ICFEDIT_size_heap__ = 0x8000; -define symbol __ICFEDIT_size_ttb__ = 0x4000; - -define memory mem with size = 4G; -define region IROM_region = mem:[from __ICFEDIT_region_IROM1_start__ to __ICFEDIT_region_IROM1_end__] - | mem:[from __ICFEDIT_region_IROM2_start__ to __ICFEDIT_region_IROM2_end__]; -define region IRAM_region = mem:[from __ICFEDIT_region_IRAM1_start__ to __ICFEDIT_region_IRAM1_end__] - | mem:[from __ICFEDIT_region_IRAM2_start__ to __ICFEDIT_region_IRAM2_end__]; -define region ERAM_region = mem:[from __ICFEDIT_region_ERAM1_start__ to __ICFEDIT_region_ERAM1_end__] - | mem:[from __ICFEDIT_region_ERAM2_start__ to __ICFEDIT_region_ERAM2_end__] - | mem:[from __ICFEDIT_region_ERAM3_start__ to __ICFEDIT_region_ERAM3_end__]; -define region TTB_region = mem:[from __ICFEDIT_region_TTB_start__ to __ICFEDIT_region_TTB_end__ ]; - -define block USR_STACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; -define block IRQ_STACK with alignment = 8, size = __ICFEDIT_size_irqstack__ { }; -define block FIQ_STACK with alignment = 8, size = __ICFEDIT_size_fiqstack__ { }; -define block SVC_STACK with alignment = 8, size = __ICFEDIT_size_svcstack__ { }; -define block ABT_STACK with alignment = 8, size = __ICFEDIT_size_abtstack__ { }; -define block UND_STACK with alignment = 8, size = __ICFEDIT_size_undstack__ { }; -define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; -define block TTB with alignment = 8, size = __ICFEDIT_size_ttb__ { section TTB }; - -do not initialize { section .noinit }; - -initialize by copy { readwrite }; -if (isdefinedsymbol(__USE_DLIB_PERTHREAD)) -{ - // Required in a multi-threaded application - initialize by copy with packing = none { section __DLIB_PERTHREAD }; -} - -place at address mem:__ICFEDIT_region_IROM1_start__ { readonly section RESET }; -place in IROM_region { readonly }; -place in IRAM_region { readwrite, block HEAP, block USR_STACK, block IRQ_STACK, block FIQ_STACK, block SVC_STACK, block ABT_STACK, block UND_STACK }; -place in TTB_region { block TTB }; \ No newline at end of file diff --git a/external/CMSIS_5/Device/ARM/ARMCA9/Source/IAR/startup_ARMCA9.s b/external/CMSIS_5/Device/ARM/ARMCA9/Source/IAR/startup_ARMCA9.s deleted file mode 100644 index 5db9773..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA9/Source/IAR/startup_ARMCA9.s +++ /dev/null @@ -1,140 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCA9.s - * @brief CMSIS Device System Source File for ARM Cortex-A9 Device Series - * @version V1.00 - * @date 01 Nov 2017 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2017 ARM Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - MODULE ?startup_ARMCA9 - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ - PUBLIC Reset_Handler - PUBWEAK Undef_Handler - PUBWEAK SVC_Handler - PUBWEAK PAbt_Handler - PUBWEAK DAbt_Handler - PUBWEAK IRQ_Handler - PUBWEAK FIQ_Handler - - SECTION SVC_STACK:DATA:NOROOT(3) - SECTION IRQ_STACK:DATA:NOROOT(3) - SECTION FIQ_STACK:DATA:NOROOT(3) - SECTION ABT_STACK:DATA:NOROOT(3) - SECTION UND_STACK:DATA:NOROOT(3) - SECTION USR_STACK:DATA:NOROOT(3) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector Table - *----------------------------------------------------------------------------*/ - - section RESET:CODE:NOROOT(2) - PUBLIC Vectors - -Vectors: - LDR PC, =Reset_Handler - LDR PC, =Undef_Handler - LDR PC, =SVC_Handler - LDR PC, =PAbt_Handler - LDR PC, =DAbt_Handler - NOP - LDR PC, =IRQ_Handler - LDR PC, =FIQ_Handler - - - section .text:CODE:NOROOT(2) - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ - EXTERN SystemInit - EXTERN __iar_program_start - -Reset_Handler: - - // Mask interrupts - CPSID if - - // Put any cores other than 0 to sleep - MRC p15, 0, R0, c0, c0, 5 - ANDS R0, R0, #3 -goToSleep: - WFINE - BNE goToSleep - - // Reset SCTLR Settings - MRC p15, 0, R0, c1, c0, 0 // Read CP15 System Control register - BIC R0, R0, #(0x1 << 12) // Clear I bit 12 to disable I Cache - BIC R0, R0, #(0x1 << 2) // Clear C bit 2 to disable D Cache - BIC R0, R0, #0x1 // Clear M bit 0 to disable MMU - BIC R0, R0, #(0x1 << 11) // Clear Z bit 11 to disable branch prediction - BIC R0, R0, #(0x1 << 13) // Clear V bit 13 to disable hivecs - MCR p15, 0, R0, c1, c0, 0 // Write value back to CP15 System Control register - ISB - - // Configure ACTLR - MRC p15, 0, r0, c1, c0, 1 // Read CP15 Auxiliary Control Register - ORR r0, r0, #(1 << 1) // Enable L2 prefetch hint (UNK/WI since r4p1) - MCR p15, 0, r0, c1, c0, 1 // Write CP15 Auxiliary Control Register - - // Set Vector Base Address Register (VBAR) to point to this application's vector table - LDR R0, =Vectors - MCR p15, 0, R0, c12, c0, 0 - - // Setup Stack for each exception mode - CPS #0x11 - LDR SP, =SFE(FIQ_STACK) - CPS #0x12 - LDR SP, =SFE(IRQ_STACK) - CPS #0x13 - LDR SP, =SFE(SVC_STACK) - CPS #0x17 - LDR SP, =SFE(ABT_STACK) - CPS #0x1B - LDR SP, =SFE(UND_STACK) - CPS #0x1F - LDR SP, =SFE(USR_STACK) - - // Call SystemInit - BL SystemInit - - // Unmask interrupts - CPSIE if - - // Call __iar_program_start - BL __iar_program_start - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -Undef_Handler: -SVC_Handler: -PAbt_Handler: -DAbt_Handler: -IRQ_Handler: -FIQ_Handler: -Default_Handler: - B . - - END diff --git a/external/CMSIS_5/Device/ARM/ARMCA9/Source/mmu_ARMCA9.c b/external/CMSIS_5/Device/ARM/ARMCA9/Source/mmu_ARMCA9.c deleted file mode 100644 index 1435eb9..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA9/Source/mmu_ARMCA9.c +++ /dev/null @@ -1,232 +0,0 @@ -/**************************************************************************//** - * @file mmu_ARMCA9.c - * @brief MMU Configuration for Arm Cortex-A9 Device Series - * @version V1.2.0 - * @date 15. May 2019 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* Memory map description from: DUI0447G_v2m_p1_trm.pdf 4.2.2 Arm Cortex-A Series memory map - - Memory Type -0xffffffff |--------------------------| ------------ - | FLAG SYNC | Device Memory -0xfffff000 |--------------------------| ------------ - | Fault | Fault -0xfff00000 |--------------------------| ------------ - | | Normal - | | - | Daughterboard | - | memory | - | | -0x80505000 |--------------------------| ------------ - |TTB (L2 Sync Flags ) 4k | Normal -0x80504C00 |--------------------------| ------------ - |TTB (L2 Peripherals-B) 16k| Normal -0x80504800 |--------------------------| ------------ - |TTB (L2 Peripherals-A) 16k| Normal -0x80504400 |--------------------------| ------------ - |TTB (L2 Priv Periphs) 4k | Normal -0x80504000 |--------------------------| ------------ - | TTB (L1 Descriptors) | Normal -0x80500000 |--------------------------| ------------ - | Stack | Normal - |--------------------------| ------------ - | Heap | Normal -0x80400000 |--------------------------| ------------ - | ZI Data | Normal -0x80300000 |--------------------------| ------------ - | RW Data | Normal -0x80200000 |--------------------------| ------------ - | RO Data | Normal - |--------------------------| ------------ - | RO Code | USH Normal -0x80000000 |--------------------------| ------------ - | Daughterboard | Fault - | HSB AXI buses | -0x40000000 |--------------------------| ------------ - | Daughterboard | Fault - | test chips peripherals | -0x2c002000 |--------------------------| ------------ - | Private Address | Device Memory -0x2c000000 |--------------------------| ------------ - | Daughterboard | Fault - | test chips peripherals | -0x20000000 |--------------------------| ------------ - | Peripherals | Device Memory RW/RO - | | & Fault -0x00000000 |--------------------------| -*/ - -// L1 Cache info and restrictions about architecture of the caches (CCSIR register): -// Write-Through support *not* available -// Write-Back support available. -// Read allocation support available. -// Write allocation support available. - -//Note: You should use the Shareable attribute carefully. -//For cores without coherency logic (such as SCU) marking a region as shareable forces the processor to not cache that region regardless of the inner cache settings. -//Cortex-A versions of RTX use LDREX/STREX instructions relying on Local monitors. Local monitors will be used only when the region gets cached, regions that are not cached will use the Global Monitor. -//Some Cortex-A implementations do not include Global Monitors, so wrongly setting the attribute Shareable may cause STREX to fail. - -//Recall: When the Shareable attribute is applied to a memory region that is not Write-Back, Normal memory, data held in this region is treated as Non-cacheable. -//When SMP bit = 0, Inner WB/WA Cacheable Shareable attributes are treated as Non-cacheable. -//When SMP bit = 1, Inner WB/WA Cacheable Shareable attributes are treated as Cacheable. - - -//Following MMU configuration is expected -//SCTLR.AFE == 1 (Simplified access permissions model - AP[2:1] define access permissions, AP[0] is an access flag) -//SCTLR.TRE == 0 (TEX remap disabled, so memory type and attributes are described directly by bits in the descriptor) -//Domain 0 is always the Client domain -//Descriptors should place all memory in domain 0 - -#include "ARMCA9.h" -#include "mem_ARMCA9.h" - -// TTB base address -#define TTB_BASE ((uint32_t*)__TTB_BASE) - -// L2 table pointers -//---------------------------------------- -#define TTB_L1_SIZE (0x00004000) // The L1 translation table divides the full 4GB address space of a 32-bit core - // into 4096 equally sized sections, each of which describes 1MB of virtual memory space. - // The L1 translation table therefore contains 4096 32-bit (word-sized) entries. - -#define PRIVATE_TABLE_L2_BASE_4k (__TTB_BASE + TTB_L1_SIZE) // Map 4k Private Address space -#define PERIPHERAL_A_TABLE_L2_BASE_64k (__TTB_BASE + TTB_L1_SIZE + 0x400) // Map 64k Peripheral #1 0x1C000000 - 0x1C00FFFFF -#define PERIPHERAL_B_TABLE_L2_BASE_64k (__TTB_BASE + TTB_L1_SIZE + 0x800) // Map 64k Peripheral #2 0x1C100000 - 0x1C1FFFFFF -#define SYNC_FLAGS_TABLE_L2_BASE_4k (__TTB_BASE + TTB_L1_SIZE + 0xC00) // Map 4k Flag synchronization - -//--------------------- PERIPHERALS ------------------- -#define PERIPHERAL_A_FAULT (0x00000000 + 0x1c000000) //0x1C000000-0x1C00FFFF (1M) -#define PERIPHERAL_B_FAULT (0x00100000 + 0x1c000000) //0x1C100000-0x1C10FFFF (1M) - -//--------------------- SYNC FLAGS -------------------- -#define FLAG_SYNC 0xFFFFF000 -#define F_SYNC_BASE 0xFFF00000 //1M aligned - -static uint32_t Sect_Normal; //outer & inner wb/wa, non-shareable, executable, rw, domain 0, base addr 0 -static uint32_t Sect_Normal_Cod; //outer & inner wb/wa, non-shareable, executable, ro, domain 0, base addr 0 -static uint32_t Sect_Normal_RO; //as Sect_Normal_Cod, but not executable -static uint32_t Sect_Normal_RW; //as Sect_Normal_Cod, but writeable and not executable -static uint32_t Sect_Device_RO; //device, non-shareable, non-executable, ro, domain 0, base addr 0 -static uint32_t Sect_Device_RW; //as Sect_Device_RO, but writeable - -/* Define global descriptors */ -static uint32_t Page_L1_4k = 0x0; //generic -static uint32_t Page_L1_64k = 0x0; //generic -static uint32_t Page_4k_Device_RW; //Shared device, not executable, rw, domain 0 -static uint32_t Page_64k_Device_RW; //Shared device, not executable, rw, domain 0 - -void MMU_CreateTranslationTable(void) -{ - mmu_region_attributes_Type region; - - //Create 4GB of faulting entries - MMU_TTSection (TTB_BASE, 0, 4096, DESCRIPTOR_FAULT); - - /* - * Generate descriptors. Refer to core_ca.h to get information about attributes - * - */ - //Create descriptors for Vectors, RO, RW, ZI sections - section_normal(Sect_Normal, region); - section_normal_cod(Sect_Normal_Cod, region); - section_normal_ro(Sect_Normal_RO, region); - section_normal_rw(Sect_Normal_RW, region); - //Create descriptors for peripherals - section_device_ro(Sect_Device_RO, region); - section_device_rw(Sect_Device_RW, region); - //Create descriptors for 64k pages - page64k_device_rw(Page_L1_64k, Page_64k_Device_RW, region); - //Create descriptors for 4k pages - page4k_device_rw(Page_L1_4k, Page_4k_Device_RW, region); - - - /* - * Define MMU flat-map regions and attributes - * - */ - - //Define Image - MMU_TTSection (TTB_BASE, __ROM_BASE, __ROM_SIZE/0x100000, Sect_Normal_Cod); // multiple of 1MB sections - MMU_TTSection (TTB_BASE, __RAM_BASE, __RAM_SIZE/0x100000, Sect_Normal_RW); // multiple of 1MB sections - - //--------------------- PERIPHERALS ------------------- - MMU_TTSection (TTB_BASE, VE_A9_MP_FLASH_BASE0 , 64, Sect_Device_RO); // 64MB NOR - MMU_TTSection (TTB_BASE, VE_A9_MP_FLASH_BASE1 , 64, Sect_Device_RO); // 64MB NOR - MMU_TTSection (TTB_BASE, VE_A9_MP_SRAM_BASE , 32, Sect_Device_RW); // 32MB RAM - MMU_TTSection (TTB_BASE, VE_A9_MP_VRAM_BASE , 32, Sect_Device_RW); // 32MB RAM - MMU_TTSection (TTB_BASE, VE_A9_MP_ETHERNET_BASE , 16, Sect_Device_RW); - MMU_TTSection (TTB_BASE, VE_A9_MP_USB_BASE , 16, Sect_Device_RW); - - // Create (16 * 64k)=1MB faulting entries to cover peripheral range 0x1C000000-0x1C00FFFF - MMU_TTPage64k(TTB_BASE, PERIPHERAL_A_FAULT , 16, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, DESCRIPTOR_FAULT); - // Define peripheral range 0x1C000000-0x1C00FFFF - MMU_TTPage64k(TTB_BASE, VE_A9_MP_DAP_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A9_MP_SYSTEM_REG_BASE, 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A9_MP_SERIAL_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A9_MP_AACI_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A9_MP_MMCI_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A9_MP_KMI0_BASE , 2, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A9_MP_UART_BASE , 4, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A9_MP_WDT_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - - // Create (16 * 64k)=1MB faulting entries to cover peripheral range 0x1C100000-0x1C10FFFF - MMU_TTPage64k(TTB_BASE, PERIPHERAL_B_FAULT , 16, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, DESCRIPTOR_FAULT); - // Define peripheral range 0x1C100000-0x1C10FFFF - MMU_TTPage64k(TTB_BASE, VE_A9_MP_TIMER_BASE , 2, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A9_MP_DVI_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A9_MP_RTC_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A9_MP_UART4_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(TTB_BASE, VE_A9_MP_CLCD_BASE , 1, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); - - // Create (256 * 4k)=1MB faulting entries to cover private address space. Needs to be marked as Device memory - MMU_TTPage4k (TTB_BASE, __get_CBAR() ,256, Page_L1_4k, (uint32_t *)PRIVATE_TABLE_L2_BASE_4k, DESCRIPTOR_FAULT); - // Define private address space entry. - MMU_TTPage4k (TTB_BASE, __get_CBAR() , 2, Page_L1_4k, (uint32_t *)PRIVATE_TABLE_L2_BASE_4k, Page_4k_Device_RW); - // Define L2CC entry. Uncomment if PL310 is present - // MMU_TTPage4k (TTB_BASE, VE_A5_MP_PL310_BASE , 1, Page_L1_4k, (uint32_t *)PRIVATE_TABLE_L2_BASE_4k, Page_4k_Device_RW); - - // Create (256 * 4k)=1MB faulting entries to synchronization space (Useful if some non-cacheable DMA agent is present in the SoC) - MMU_TTPage4k (TTB_BASE, F_SYNC_BASE , 256, Page_L1_4k, (uint32_t *)SYNC_FLAGS_TABLE_L2_BASE_4k, DESCRIPTOR_FAULT); - // Define synchronization space entry. - MMU_TTPage4k (TTB_BASE, FLAG_SYNC , 1, Page_L1_4k, (uint32_t *)SYNC_FLAGS_TABLE_L2_BASE_4k, Page_4k_Device_RW); - - /* Set location of level 1 page table - ; 31:14 - Translation table base addr (31:14-TTBCR.N, TTBCR.N is 0 out of reset) - ; 13:7 - 0x0 - ; 6 - IRGN[0] 0x1 (Inner WB WA) - ; 5 - NOS 0x0 (Non-shared) - ; 4:3 - RGN 0x01 (Outer WB WA) - ; 2 - IMP 0x0 (Implementation Defined) - ; 1 - S 0x0 (Non-shared) - ; 0 - IRGN[1] 0x0 (Inner WB WA) */ - __set_TTBR0(__TTB_BASE | 0x48); - __ISB(); - - /* Set up domain access control register - ; We set domain 0 to Client and all other domains to No Access. - ; All translation table entries specify domain 0 */ - __set_DACR(1); - __ISB(); -} diff --git a/external/CMSIS_5/Device/ARM/ARMCA9/Source/system_ARMCA9.c b/external/CMSIS_5/Device/ARM/ARMCA9/Source/system_ARMCA9.c deleted file mode 100644 index cdf9213..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCA9/Source/system_ARMCA9.c +++ /dev/null @@ -1,93 +0,0 @@ -/****************************************************************************** - * @file system_ARMCA9.c - * @brief CMSIS Device System Source File for Arm Cortex-A9 Device Series - * @version V1.0.1 - * @date 13. February 2019 - * - * @note - * - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "RTE_Components.h" -#include CMSIS_device_header -#include "irq_ctrl.h" - -#define SYSTEM_CLOCK 12000000U - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System Initialization - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ -/* do not use global variables because this function is called before - reaching pre-main. RW section may be overwritten afterwards. */ - - // Invalidate entire Unified TLB - __set_TLBIALL(0); - - // Invalidate entire branch predictor array - __set_BPIALL(0); - __DSB(); - __ISB(); - - // Invalidate instruction cache and flush branch target cache - __set_ICIALLU(0); - __DSB(); - __ISB(); - - // Invalidate data cache - L1C_InvalidateDCacheAll(); - -#if ((__FPU_PRESENT == 1) && (__FPU_USED == 1)) - // Enable FPU - __FPU_Enable(); -#endif - - // Create Translation Table - MMU_CreateTranslationTable(); - - // Enable MMU - MMU_Enable(); - - // Enable Caches - L1C_EnableCaches(); - L1C_EnableBTAC(); - -#if (__L2C_PRESENT == 1) - // Enable GIC - L2C_Enable(); -#endif - - // IRQ Initialize - IRQ_Initialize(); -} diff --git a/external/CMSIS_5/Device/ARM/ARMCM0/Source/IAR/startup_ARMCM0.s b/external/CMSIS_5/Device/ARM/ARMCM0/Source/IAR/startup_ARMCM0.s deleted file mode 100644 index 3220f32..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM0/Source/IAR/startup_ARMCM0.s +++ /dev/null @@ -1,147 +0,0 @@ -;/**************************************************************************//** -; * @file startup_ARMCM0.s -; * @brief CMSIS Core Device Startup File for -; * ARMCM0 Device -; * @version V1.0.0 -; * @date 09. July 2018 -; ******************************************************************************/ -;/* -; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. -; * -; * SPDX-License-Identifier: Apache-2.0 -; * -; * Licensed under the Apache License, Version 2.0 (the License); you may -; * not use this file except in compliance with the License. -; * You may obtain a copy of the License at -; * -; * www.apache.org/licenses/LICENSE-2.0 -; * -; * Unless required by applicable law or agreed to in writing, software -; * distributed under the License is distributed on an AS IS BASIS, WITHOUT -; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; * See the License for the specific language governing permissions and -; * limitations under the License. -; */ - -; -; The modules in this file are included in the libraries, and may be replaced -; by any user-defined modules that define the PUBLIC symbol _program_start or -; a user defined start symbol. -; To override the cstartup defined in the library, simply add your modified -; version to the workbench project. -; -; The vector table is normally located at address 0. -; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. -; The name "__vector_table" has special meaning for C-SPY: -; it is where the SP start value is found, and the NVIC vector -; table register (VTOR) is initialized to this address if != 0. -; -; Cortex-M version -; - - MODULE ?cstartup - - ;; Forward declaration of sections. - SECTION CSTACK:DATA:NOROOT(3) - - SECTION .intvec:CODE:NOROOT(2) - - EXTERN __iar_program_start - EXTERN SystemInit - PUBLIC __vector_table - PUBLIC __vector_table_0x1c - PUBLIC __Vectors - PUBLIC __Vectors_End - PUBLIC __Vectors_Size - - DATA - -__vector_table - DCD sfe(CSTACK) ; Top of Stack - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; -14 NMI Handler - DCD HardFault_Handler ; -13 Hard Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved -__vector_table_0x1c - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; -5 SVCall Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD PendSV_Handler ; -2 PendSV Handler - DCD SysTick_Handler ; -1 SysTick Handler - - ; Interrupts - DCD Interrupt0_Handler ; 0 Interrupt 0 - DCD Interrupt1_Handler ; 1 Interrupt 1 - DCD Interrupt2_Handler ; 2 Interrupt 2 - DCD Interrupt3_Handler ; 3 Interrupt 3 - DCD Interrupt4_Handler ; 4 Interrupt 4 - DCD Interrupt5_Handler ; 5 Interrupt 5 - DCD Interrupt6_Handler ; 6 Interrupt 6 - DCD Interrupt7_Handler ; 7 Interrupt 7 - DCD Interrupt8_Handler ; 8 Interrupt 8 - DCD Interrupt9_Handler ; 9 Interrupt 9 - - DS32 ( 22) ; Interrupts 10 .. 31 are left out -__Vectors_End - -__Vectors EQU __vector_table -__Vectors_Size EQU __Vectors_End - __Vectors - - - THUMB - -; Reset Handler - - PUBWEAK Reset_Handler - SECTION .text:CODE:REORDER:NOROOT(2) -Reset_Handler - LDR R0, =SystemInit - BLX R0 - LDR R0, =__iar_program_start - BX R0 - - - PUBWEAK NMI_Handler - PUBWEAK HardFault_Handler - PUBWEAK SVC_Handler - PUBWEAK PendSV_Handler - PUBWEAK SysTick_Handler - - PUBWEAK Interrupt0_Handler - PUBWEAK Interrupt1_Handler - PUBWEAK Interrupt2_Handler - PUBWEAK Interrupt3_Handler - PUBWEAK Interrupt4_Handler - PUBWEAK Interrupt5_Handler - PUBWEAK Interrupt6_Handler - PUBWEAK Interrupt7_Handler - PUBWEAK Interrupt8_Handler - PUBWEAK Interrupt9_Handler - SECTION .text:CODE:REORDER:NOROOT(1) -NMI_Handler -HardFault_Handler -SVC_Handler -PendSV_Handler -SysTick_Handler - -Interrupt0_Handler -Interrupt1_Handler -Interrupt2_Handler -Interrupt3_Handler -Interrupt4_Handler -Interrupt5_Handler -Interrupt6_Handler -Interrupt7_Handler -Interrupt8_Handler -Interrupt9_Handler -Default_Handler - B . - - - END diff --git a/external/CMSIS_5/Device/ARM/ARMCM0plus/Include/ARMCM0plus.h b/external/CMSIS_5/Device/ARM/ARMCM0plus/Include/ARMCM0plus.h deleted file mode 100644 index ceda93c..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM0plus/Include/ARMCM0plus.h +++ /dev/null @@ -1,127 +0,0 @@ -/**************************************************************************//** - * @file ARMCM0plus.h - * @brief CMSIS Core Peripheral Access Layer Header File for - * ARMCM0plus Device - * @version V5.3.2 - * @date 01. May 2023 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ARMCM0plus_H -#define ARMCM0plus_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* ------------------------- Interrupt Number Definition ------------------------ */ - -typedef enum IRQn -{ -/* ------------------- Processor Exceptions Numbers ----------------------------- */ - NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /* 3 HardFault Interrupt */ - - - - SVCall_IRQn = -5, /* 11 SV Call Interrupt */ - - PendSV_IRQn = -2, /* 14 Pend SV Interrupt */ - SysTick_IRQn = -1, /* 15 System Tick Interrupt */ - -/* ------------------- Processor Interrupt Numbers ------------------------------ */ - Interrupt0_IRQn = 0, - Interrupt1_IRQn = 1, - Interrupt2_IRQn = 2, - Interrupt3_IRQn = 3, - Interrupt4_IRQn = 4, - Interrupt5_IRQn = 5, - Interrupt6_IRQn = 6, - Interrupt7_IRQn = 7, - Interrupt8_IRQn = 8, - Interrupt9_IRQn = 9, - /* Interrupts 10 .. 30 are left out */ - Interrupt31_IRQn = 31 -} IRQn_Type; - - -/* ================================================================================ */ -/* ================ Processor and Core Peripheral Section ================ */ -/* ================================================================================ */ - -/* ------- Start of section using anonymous unions and disabling warnings ------- */ -#if defined (__CC_ARM) - #pragma push - #pragma anon_unions -#elif defined (__ICCARM__) - #pragma language=extended -#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wc11-extensions" - #pragma clang diagnostic ignored "-Wreserved-id-macro" -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning 586 -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -/* -------- Configuration of Core Peripherals ----------------------------------- */ -#define __CM0PLUS_REV 0x0001U /* Core revision r0p1 */ -#define __MPU_PRESENT 0U /* no MPU present */ -#define __VTOR_PRESENT 0U /* no VTOR present */ -#define __NVIC_PRIO_BITS 2U /* Number of Bits used for Priority Levels */ -#define __Vendor_SysTickConfig 0U /* Set to 1 if different SysTick Config is used */ - -#include "core_cm0plus.h" /* Processor and core peripherals */ -#include "system_ARMCM0plus.h" /* System Header */ - - -/* -------- End of section using anonymous unions and disabling warnings -------- */ -#if defined (__CC_ARM) - #pragma pop -#elif defined (__ICCARM__) - /* leave anonymous unions enabled */ -#elif (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) - #pragma clang diagnostic pop -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning restore -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* ARMCM0plus_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCM0plus/Include/ARMCM0plus_MPU.h b/external/CMSIS_5/Device/ARM/ARMCM0plus/Include/ARMCM0plus_MPU.h deleted file mode 100644 index 7d9f226..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM0plus/Include/ARMCM0plus_MPU.h +++ /dev/null @@ -1,127 +0,0 @@ -/**************************************************************************//** - * @file ARMCM0plus_MPU.h - * @brief CMSIS Core Peripheral Access Layer Header File for - * ARMCM0plus Device (configured for CM0+ with MPU) - * @version V5.3.2 - * @date 01. May 2023 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ARMCM0plus_MPU_H -#define ARMCM0plus_MPU_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* ------------------------- Interrupt Number Definition ------------------------ */ - -typedef enum IRQn -{ -/* ------------------- Processor Exceptions Numbers ----------------------------- */ - NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /* 3 HardFault Interrupt */ - - - - SVCall_IRQn = -5, /* 11 SV Call Interrupt */ - - PendSV_IRQn = -2, /* 14 Pend SV Interrupt */ - SysTick_IRQn = -1, /* 15 System Tick Interrupt */ - -/* ------------------- Processor Interrupt Numbers ------------------------------ */ - Interrupt0_IRQn = 0, - Interrupt1_IRQn = 1, - Interrupt2_IRQn = 2, - Interrupt3_IRQn = 3, - Interrupt4_IRQn = 4, - Interrupt5_IRQn = 5, - Interrupt6_IRQn = 6, - Interrupt7_IRQn = 7, - Interrupt8_IRQn = 8, - Interrupt9_IRQn = 9, - /* Interrupts 10 .. 30 are left out */ - Interrupt31_IRQn = 31 -} IRQn_Type; - - -/* ================================================================================ */ -/* ================ Processor and Core Peripheral Section ================ */ -/* ================================================================================ */ - -/* ------- Start of section using anonymous unions and disabling warnings ------- */ -#if defined (__CC_ARM) - #pragma push - #pragma anon_unions -#elif defined (__ICCARM__) - #pragma language=extended -#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wc11-extensions" - #pragma clang diagnostic ignored "-Wreserved-id-macro" -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning 586 -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -/* -------- Configuration of Core Peripherals ----------------------------------- */ -#define __CM0PLUS_REV 0x0001U /* Core revision r0p1 */ -#define __MPU_PRESENT 1U /* MPU present */ -#define __VTOR_PRESENT 0U /* no VTOR present */ -#define __NVIC_PRIO_BITS 2U /* Number of Bits used for Priority Levels */ -#define __Vendor_SysTickConfig 0U /* Set to 1 if different SysTick Config is used */ - -#include "core_cm0plus.h" /* Processor and core peripherals */ -#include "system_ARMCM0plus.h" /* System Header */ - - -/* -------- End of section using anonymous unions and disabling warnings -------- */ -#if defined (__CC_ARM) - #pragma pop -#elif defined (__ICCARM__) - /* leave anonymous unions enabled */ -#elif (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) - #pragma clang diagnostic pop -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning restore -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* ARMCM0plus_MPU_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCM0plus/Include/system_ARMCM0plus.h b/external/CMSIS_5/Device/ARM/ARMCM0plus/Include/system_ARMCM0plus.h deleted file mode 100644 index 880f420..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM0plus/Include/system_ARMCM0plus.h +++ /dev/null @@ -1,64 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM0plus.h - * @brief CMSIS Device System Header File for - * ARMCM0 Device - * @version V5.3.3 - * @date 11. July 2022 - ******************************************************************************/ -/* - * Copyright (c) 2009-2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef SYSTEM_ARMCM0plus_H -#define SYSTEM_ARMCM0plus_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -/** - \brief Exception / Interrupt Handler Function Prototype -*/ -typedef void(*VECTOR_TABLE_Type)(void); - -/** - \brief System Clock Frequency (Core Clock) -*/ -extern uint32_t SystemCoreClock; - -/** - \brief Setup the microcontroller system. - - Initialize the System and update the SystemCoreClock variable. - */ -extern void SystemInit (void); - - -/** - \brief Update SystemCoreClock variable. - - Updates the SystemCoreClock with current core Clock retrieved from cpu registers. - */ -extern void SystemCoreClockUpdate (void); - -#ifdef __cplusplus -} -#endif - -#endif /* SYSTEM_ARMCM0plus_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCM0plus/Source/ARM/ARMCM0plus_ac5.sct b/external/CMSIS_5/Device/ARM/ARMCM0plus/Source/ARM/ARMCM0plus_ac5.sct deleted file mode 100644 index e3b09b5..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM0plus/Source/ARM/ARMCM0plus_ac5.sct +++ /dev/null @@ -1,80 +0,0 @@ -#! armcc -E -; command above MUST be in first line (no comment above!) - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE) /* starts at end of RAM */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - - -/*---------------------------------------------------------------------------- - Scatter File Definitions definition - *----------------------------------------------------------------------------*/ -#define __RO_BASE __ROM_BASE -#define __RO_SIZE __ROM_SIZE - -#define __RW_BASE __RAM_BASE -#define __RW_SIZE (__RAM_SIZE - __STACK_SIZE - __HEAP_SIZE) - - -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } -} diff --git a/external/CMSIS_5/Device/ARM/ARMCM0plus/Source/ARM/ARMCM0plus_ac6.sct b/external/CMSIS_5/Device/ARM/ARMCM0plus/Source/ARM/ARMCM0plus_ac6.sct deleted file mode 100644 index 0f499b2..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM0plus/Source/ARM/ARMCM0plus_ac6.sct +++ /dev/null @@ -1,80 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m0+ -xc -; command above MUST be in first line (no comment above!) - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE) /* starts at end of RAM */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - - -/*---------------------------------------------------------------------------- - Scatter File Definitions definition - *----------------------------------------------------------------------------*/ -#define __RO_BASE __ROM_BASE -#define __RO_SIZE __ROM_SIZE - -#define __RW_BASE __RAM_BASE -#define __RW_SIZE (__RAM_SIZE - __STACK_SIZE - __HEAP_SIZE) - - -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } -} diff --git a/external/CMSIS_5/Device/ARM/ARMCM0plus/Source/ARM/startup_ARMCM0plus.s b/external/CMSIS_5/Device/ARM/ARMCM0plus/Source/ARM/startup_ARMCM0plus.s deleted file mode 100644 index cb71012..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM0plus/Source/ARM/startup_ARMCM0plus.s +++ /dev/null @@ -1,168 +0,0 @@ -;/**************************************************************************//** -; * @file startup_ARMCM0plus.s -; * @brief CMSIS Core Device Startup File for -; * ARMCM0plus Device -; * @version V1.0.1 -; * @date 23. July 2019 -; ******************************************************************************/ -;/* -; * Copyright (c) 2009-2019 Arm Limited. All rights reserved. -; * -; * SPDX-License-Identifier: Apache-2.0 -; * -; * Licensed under the Apache License, Version 2.0 (the License); you may -; * not use this file except in compliance with the License. -; * You may obtain a copy of the License at -; * -; * www.apache.org/licenses/LICENSE-2.0 -; * -; * Unless required by applicable law or agreed to in writing, software -; * distributed under the License is distributed on an AS IS BASIS, WITHOUT -; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; * See the License for the specific language governing permissions and -; * limitations under the License. -; */ - -;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ - - -; Stack Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Stack_Size EQU 0x00000400 - - AREA STACK, NOINIT, READWRITE, ALIGN=3 -__stack_limit -Stack_Mem SPACE Stack_Size -__initial_sp - - -; Heap Configuration -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Heap_Size EQU 0x00000C00 - - IF Heap_Size != 0 ; Heap is provided - AREA HEAP, NOINIT, READWRITE, ALIGN=3 -__heap_base -Heap_Mem SPACE Heap_Size -__heap_limit - ENDIF - - - PRESERVE8 - THUMB - - -; Vector Table Mapped to Address 0 at Reset - - AREA RESET, DATA, READONLY - EXPORT __Vectors - EXPORT __Vectors_End - EXPORT __Vectors_Size - -__Vectors DCD __initial_sp ; Top of Stack - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; -14 NMI Handler - DCD HardFault_Handler ; -13 Hard Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; -5 SVCall Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD PendSV_Handler ; -2 PendSV Handler - DCD SysTick_Handler ; -1 SysTick Handler - - ; Interrupts - DCD Interrupt0_Handler ; 0 Interrupt 0 - DCD Interrupt1_Handler ; 1 Interrupt 1 - DCD Interrupt2_Handler ; 2 Interrupt 2 - DCD Interrupt3_Handler ; 3 Interrupt 3 - DCD Interrupt4_Handler ; 4 Interrupt 4 - DCD Interrupt5_Handler ; 5 Interrupt 5 - DCD Interrupt6_Handler ; 6 Interrupt 6 - DCD Interrupt7_Handler ; 7 Interrupt 7 - DCD Interrupt8_Handler ; 8 Interrupt 8 - DCD Interrupt9_Handler ; 9 Interrupt 9 - - SPACE ( 22 * 4) ; Interrupts 10 .. 31 are left out -__Vectors_End -__Vectors_Size EQU __Vectors_End - __Vectors - - - AREA |.text|, CODE, READONLY - -; Reset Handler - -Reset_Handler PROC - EXPORT Reset_Handler [WEAK] - IMPORT SystemInit - IMPORT __main - - LDR R0, =SystemInit - BLX R0 - LDR R0, =__main - BX R0 - ENDP - -; The default macro is not used for HardFault_Handler -; because this results in a poor debug illusion. -HardFault_Handler PROC - EXPORT HardFault_Handler [WEAK] - B . - ENDP - -; Macro to define default exception/interrupt handlers. -; Default handler are weak symbols with an endless loop. -; They can be overwritten by real handlers. - MACRO - Set_Default_Handler $Handler_Name -$Handler_Name PROC - EXPORT $Handler_Name [WEAK] - B . - ENDP - MEND - - -; Default exception/interrupt handler - - Set_Default_Handler NMI_Handler - Set_Default_Handler SVC_Handler - Set_Default_Handler PendSV_Handler - Set_Default_Handler SysTick_Handler - - Set_Default_Handler Interrupt0_Handler - Set_Default_Handler Interrupt1_Handler - Set_Default_Handler Interrupt2_Handler - Set_Default_Handler Interrupt3_Handler - Set_Default_Handler Interrupt4_Handler - Set_Default_Handler Interrupt5_Handler - Set_Default_Handler Interrupt6_Handler - Set_Default_Handler Interrupt7_Handler - Set_Default_Handler Interrupt8_Handler - Set_Default_Handler Interrupt9_Handler - - ALIGN - - -; User setup Stack & Heap - - IF :LNOT::DEF:__MICROLIB - IMPORT __use_two_region_memory - ENDIF - - EXPORT __stack_limit - EXPORT __initial_sp - IF Heap_Size != 0 ; Heap is provided - EXPORT __heap_base - EXPORT __heap_limit - ENDIF - - END diff --git a/external/CMSIS_5/Device/ARM/ARMCM0plus/Source/GCC/gcc_arm.ld b/external/CMSIS_5/Device/ARM/ARMCM0plus/Source/GCC/gcc_arm.ld deleted file mode 100644 index 7498908..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM0plus/Source/GCC/gcc_arm.ld +++ /dev/null @@ -1,296 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.1.0 - * @date 04. August 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00040000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00020000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ -/* - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH -*/ - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/Device/ARM/ARMCM0plus/Source/GCC/startup_ARMCM0plus.S b/external/CMSIS_5/Device/ARM/ARMCM0plus/Source/GCC/startup_ARMCM0plus.S deleted file mode 100644 index a7ce111..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM0plus/Source/GCC/startup_ARMCM0plus.S +++ /dev/null @@ -1,181 +0,0 @@ -/**************************************************************************//** - * @file startup_ARMCM0plus.S - * @brief CMSIS-Core(M) Device Startup File for Cortex-M0plus Device - * @version V2.2.0 - * @date 26. May 2021 - ******************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - .syntax unified - .arch armv6-m - - .section .vectors - .align 2 - .globl __Vectors - .globl __Vectors_End - .globl __Vectors_Size -__Vectors: - .long __StackTop /* Top of Stack */ - .long Reset_Handler /* Reset Handler */ - .long NMI_Handler /* -14 NMI Handler */ - .long HardFault_Handler /* -13 Hard Fault Handler */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long SVC_Handler /* -5 SVCall Handler */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long PendSV_Handler /* -2 PendSV Handler */ - .long SysTick_Handler /* -1 SysTick Handler */ - - /* Interrupts */ - .long Interrupt0_Handler /* 0 Interrupt 0 */ - .long Interrupt1_Handler /* 1 Interrupt 1 */ - .long Interrupt2_Handler /* 2 Interrupt 2 */ - .long Interrupt3_Handler /* 3 Interrupt 3 */ - .long Interrupt4_Handler /* 4 Interrupt 4 */ - .long Interrupt5_Handler /* 5 Interrupt 5 */ - .long Interrupt6_Handler /* 6 Interrupt 6 */ - .long Interrupt7_Handler /* 7 Interrupt 7 */ - .long Interrupt8_Handler /* 8 Interrupt 8 */ - .long Interrupt9_Handler /* 9 Interrupt 9 */ - - .space ( 22 * 4) /* Interrupts 10 .. 31 are left out */ -__Vectors_End: - .equ __Vectors_Size, __Vectors_End - __Vectors - .size __Vectors, . - __Vectors - - - .thumb - .section .text - .align 2 - - .thumb_func - .type Reset_Handler, %function - .globl Reset_Handler - .fnstart -Reset_Handler: - bl SystemInit - - ldr r4, =__copy_table_start__ - ldr r5, =__copy_table_end__ - -.L_loop0: - cmp r4, r5 - bge .L_loop0_done - ldr r1, [r4] /* source address */ - ldr r2, [r4, #4] /* destination address */ - ldr r3, [r4, #8] /* word count */ - lsls r3, r3, #2 /* byte count */ - -.L_loop0_0: - subs r3, #4 /* decrement byte count */ - blt .L_loop0_0_done - ldr r0, [r1, r3] - str r0, [r2, r3] - b .L_loop0_0 - -.L_loop0_0_done: - adds r4, #12 - b .L_loop0 - -.L_loop0_done: - - ldr r3, =__zero_table_start__ - ldr r4, =__zero_table_end__ - -.L_loop2: - cmp r3, r4 - bge .L_loop2_done - ldr r1, [r3] /* destination address */ - ldr r2, [r3, #4] /* word count */ - lsls r2, r2, #2 /* byte count */ - movs r0, 0 - -.L_loop2_0: - subs r2, #4 /* decrement byte count */ - blt .L_loop2_0_done - str r0, [r1, r2] - b .L_loop2_0 -.L_loop2_0_done: - - adds r3, #8 - b .L_loop2 -.L_loop2_done: - - bl _start - - .fnend - .size Reset_Handler, . - Reset_Handler - -/* The default macro is not used for HardFault_Handler - * because this results in a poor debug illusion. - */ - .thumb_func - .type HardFault_Handler, %function - .weak HardFault_Handler - .fnstart -HardFault_Handler: - b . - .fnend - .size HardFault_Handler, . - HardFault_Handler - - .thumb_func - .type Default_Handler, %function - .weak Default_Handler - .fnstart -Default_Handler: - b . - .fnend - .size Default_Handler, . - Default_Handler - -/* Macro to define default exception/interrupt handlers. - * Default handler are weak symbols with an endless loop. - * They can be overwritten by real handlers. - */ - .macro Set_Default_Handler Handler_Name - .weak \Handler_Name - .set \Handler_Name, Default_Handler - .endm - - -/* Default exception/interrupt handler */ - - Set_Default_Handler NMI_Handler - Set_Default_Handler SVC_Handler - Set_Default_Handler PendSV_Handler - Set_Default_Handler SysTick_Handler - - Set_Default_Handler Interrupt0_Handler - Set_Default_Handler Interrupt1_Handler - Set_Default_Handler Interrupt2_Handler - Set_Default_Handler Interrupt3_Handler - Set_Default_Handler Interrupt4_Handler - Set_Default_Handler Interrupt5_Handler - Set_Default_Handler Interrupt6_Handler - Set_Default_Handler Interrupt7_Handler - Set_Default_Handler Interrupt8_Handler - Set_Default_Handler Interrupt9_Handler - - - .end diff --git a/external/CMSIS_5/Device/ARM/ARMCM0plus/Source/IAR/startup_ARMCM0plus.s b/external/CMSIS_5/Device/ARM/ARMCM0plus/Source/IAR/startup_ARMCM0plus.s deleted file mode 100644 index ebbe883..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM0plus/Source/IAR/startup_ARMCM0plus.s +++ /dev/null @@ -1,147 +0,0 @@ -;/**************************************************************************//** -; * @file startup_ARMCM0plus.s -; * @brief CMSIS Core Device Startup File for -; * ARMCM0plus Device -; * @version V1.0.0 -; * @date 09. July 2018 -; ******************************************************************************/ -;/* -; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. -; * -; * SPDX-License-Identifier: Apache-2.0 -; * -; * Licensed under the Apache License, Version 2.0 (the License); you may -; * not use this file except in compliance with the License. -; * You may obtain a copy of the License at -; * -; * www.apache.org/licenses/LICENSE-2.0 -; * -; * Unless required by applicable law or agreed to in writing, software -; * distributed under the License is distributed on an AS IS BASIS, WITHOUT -; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; * See the License for the specific language governing permissions and -; * limitations under the License. -; */ - -; -; The modules in this file are included in the libraries, and may be replaced -; by any user-defined modules that define the PUBLIC symbol _program_start or -; a user defined start symbol. -; To override the cstartup defined in the library, simply add your modified -; version to the workbench project. -; -; The vector table is normally located at address 0. -; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. -; The name "__vector_table" has special meaning for C-SPY: -; it is where the SP start value is found, and the NVIC vector -; table register (VTOR) is initialized to this address if != 0. -; -; Cortex-M version -; - - MODULE ?cstartup - - ;; Forward declaration of sections. - SECTION CSTACK:DATA:NOROOT(3) - - SECTION .intvec:CODE:NOROOT(2) - - EXTERN __iar_program_start - EXTERN SystemInit - PUBLIC __vector_table - PUBLIC __vector_table_0x1c - PUBLIC __Vectors - PUBLIC __Vectors_End - PUBLIC __Vectors_Size - - DATA - -__vector_table - DCD sfe(CSTACK) ; Top of Stack - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; -14 NMI Handler - DCD HardFault_Handler ; -13 Hard Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved -__vector_table_0x1c - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; -5 SVCall Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD PendSV_Handler ; -2 PendSV Handler - DCD SysTick_Handler ; -1 SysTick Handler - - ; Interrupts - DCD Interrupt0_Handler ; 0 Interrupt 0 - DCD Interrupt1_Handler ; 1 Interrupt 1 - DCD Interrupt2_Handler ; 2 Interrupt 2 - DCD Interrupt3_Handler ; 3 Interrupt 3 - DCD Interrupt4_Handler ; 4 Interrupt 4 - DCD Interrupt5_Handler ; 5 Interrupt 5 - DCD Interrupt6_Handler ; 6 Interrupt 6 - DCD Interrupt7_Handler ; 7 Interrupt 7 - DCD Interrupt8_Handler ; 8 Interrupt 8 - DCD Interrupt9_Handler ; 9 Interrupt 9 - - DS32 ( 22) ; Interrupts 10 .. 31 are left out -__Vectors_End - -__Vectors EQU __vector_table -__Vectors_Size EQU __Vectors_End - __Vectors - - - THUMB - -; Reset Handler - - PUBWEAK Reset_Handler - SECTION .text:CODE:REORDER:NOROOT(2) -Reset_Handler - LDR R0, =SystemInit - BLX R0 - LDR R0, =__iar_program_start - BX R0 - - - PUBWEAK NMI_Handler - PUBWEAK HardFault_Handler - PUBWEAK SVC_Handler - PUBWEAK PendSV_Handler - PUBWEAK SysTick_Handler - - PUBWEAK Interrupt0_Handler - PUBWEAK Interrupt1_Handler - PUBWEAK Interrupt2_Handler - PUBWEAK Interrupt3_Handler - PUBWEAK Interrupt4_Handler - PUBWEAK Interrupt5_Handler - PUBWEAK Interrupt6_Handler - PUBWEAK Interrupt7_Handler - PUBWEAK Interrupt8_Handler - PUBWEAK Interrupt9_Handler - SECTION .text:CODE:REORDER:NOROOT(1) -NMI_Handler -HardFault_Handler -SVC_Handler -PendSV_Handler -SysTick_Handler - -Interrupt0_Handler -Interrupt1_Handler -Interrupt2_Handler -Interrupt3_Handler -Interrupt4_Handler -Interrupt5_Handler -Interrupt6_Handler -Interrupt7_Handler -Interrupt8_Handler -Interrupt9_Handler -Default_Handler - B . - - - END diff --git a/external/CMSIS_5/Device/ARM/ARMCM0plus/Source/startup_ARMCM0plus.c b/external/CMSIS_5/Device/ARM/ARMCM0plus/Source/startup_ARMCM0plus.c deleted file mode 100644 index 76d1fa8..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM0plus/Source/startup_ARMCM0plus.c +++ /dev/null @@ -1,148 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM0plus.c - * @brief CMSIS-Core(M) Device Startup File for a Cortex-M0+ Device - * @version V2.0.3 - * @date 31. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM0P) - #include "ARMCM0plus.h" -#elif defined (ARMCM0P_MPU) - #include "ARMCM0plus_MPU.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[48]; - const VECTOR_TABLE_Type __VECTOR_TABLE[48] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVCall Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10..31 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/Device/ARM/ARMCM0plus/Source/system_ARMCM0plus.c b/external/CMSIS_5/Device/ARM/ARMCM0plus/Source/system_ARMCM0plus.c deleted file mode 100644 index f3bf3aa..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM0plus/Source/system_ARMCM0plus.c +++ /dev/null @@ -1,65 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM0plus.c - * @brief CMSIS Device System Source File for - * ARMCM0plus Device - * @version V1.0.1 - * @date 01. June 2022 - ******************************************************************************/ -/* - * Copyright (c) 2009-2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "ARMCM0plus.h" - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[48]; - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t) &(__VECTOR_TABLE[0]); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/Device/ARM/ARMCM1/Include/ARMCM1.h b/external/CMSIS_5/Device/ARM/ARMCM1/Include/ARMCM1.h deleted file mode 100644 index e9b54d8..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM1/Include/ARMCM1.h +++ /dev/null @@ -1,128 +0,0 @@ -/**************************************************************************//** - * @file ARMCM1.h - * @brief CMSIS Core Peripheral Access Layer Header File for - * ARMCM1 Device - * @version V5.3.2 - * @date 01. May 2023 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ARMCM1_H -#define ARMCM1_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* ------------------------- Interrupt Number Definition ------------------------ */ - -typedef enum IRQn -{ -/* ------------------- Processor Exceptions Numbers ----------------------------- */ - NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /* 3 HardFault Interrupt */ - - - - SVCall_IRQn = -5, /* 11 SV Call Interrupt */ - - PendSV_IRQn = -2, /* 14 Pend SV Interrupt */ - SysTick_IRQn = -1, /* 15 System Tick Interrupt */ - -/* ------------------- Processor Interrupt Numbers ------------------------------ */ - Interrupt0_IRQn = 0, - Interrupt1_IRQn = 1, - Interrupt2_IRQn = 2, - Interrupt3_IRQn = 3, - Interrupt4_IRQn = 4, - Interrupt5_IRQn = 5, - Interrupt6_IRQn = 6, - Interrupt7_IRQn = 7, - Interrupt8_IRQn = 8, - Interrupt9_IRQn = 9, - /* Interrupts 10 .. 30 are left out */ - Interrupt31_IRQn = 31 -} IRQn_Type; - - - -/* ================================================================================ */ -/* ================ Processor and Core Peripheral Section ================ */ -/* ================================================================================ */ - -/* ------- Start of section using anonymous unions and disabling warnings ------- */ -#if defined (__CC_ARM) - #pragma push - #pragma anon_unions -#elif defined (__ICCARM__) - #pragma language=extended -#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wc11-extensions" - #pragma clang diagnostic ignored "-Wreserved-id-macro" -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning 586 -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -/* -------- Configuration of Core Peripherals ----------------------------------- */ -#define __CM1_REV 0x0100U /* Core revision r1p0 */ -#define __MPU_PRESENT 0U /* no MPU present */ -#define __VTOR_PRESENT 0U /* no VTOR present */ -#define __NVIC_PRIO_BITS 2U /* Number of Bits used for Priority Levels */ -#define __Vendor_SysTickConfig 0U /* Set to 1 if different SysTick Config is used */ - -#include "core_cm1.h" /* Processor and core peripherals */ -#include "system_ARMCM1.h" /* System Header */ - - -/* -------- End of section using anonymous unions and disabling warnings -------- */ -#if defined (__CC_ARM) - #pragma pop -#elif defined (__ICCARM__) - /* leave anonymous unions enabled */ -#elif (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) - #pragma clang diagnostic pop -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning restore -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* ARMCM1_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCM1/Include/system_ARMCM1.h b/external/CMSIS_5/Device/ARM/ARMCM1/Include/system_ARMCM1.h deleted file mode 100644 index f7b75f9..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM1/Include/system_ARMCM1.h +++ /dev/null @@ -1,64 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM1.h - * @brief CMSIS Device System Header File for - * ARMCM1 Device - * @version V5.3.3 - * @date 11. July 2022 - ******************************************************************************/ -/* - * Copyright (c) 2009-2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef SYSTEM_ARMCM1_H -#define SYSTEM_ARMCM1_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -/** - \brief Exception / Interrupt Handler Function Prototype -*/ -typedef void(*VECTOR_TABLE_Type)(void); - -/** - \brief System Clock Frequency (Core Clock) -*/ -extern uint32_t SystemCoreClock; - -/** - \brief Setup the microcontroller system. - - Initialize the System and update the SystemCoreClock variable. - */ -extern void SystemInit (void); - - -/** - \brief Update SystemCoreClock variable. - - Updates the SystemCoreClock with current core Clock retrieved from cpu registers. - */ -extern void SystemCoreClockUpdate (void); - -#ifdef __cplusplus -} -#endif - -#endif /* SYSTEM_ARMCM1_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCM1/Source/ARM/ARMCM1_ac5.sct b/external/CMSIS_5/Device/ARM/ARMCM1/Source/ARM/ARMCM1_ac5.sct deleted file mode 100644 index e3b09b5..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM1/Source/ARM/ARMCM1_ac5.sct +++ /dev/null @@ -1,80 +0,0 @@ -#! armcc -E -; command above MUST be in first line (no comment above!) - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE) /* starts at end of RAM */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - - -/*---------------------------------------------------------------------------- - Scatter File Definitions definition - *----------------------------------------------------------------------------*/ -#define __RO_BASE __ROM_BASE -#define __RO_SIZE __ROM_SIZE - -#define __RW_BASE __RAM_BASE -#define __RW_SIZE (__RAM_SIZE - __STACK_SIZE - __HEAP_SIZE) - - -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } -} diff --git a/external/CMSIS_5/Device/ARM/ARMCM1/Source/ARM/ARMCM1_ac6.sct b/external/CMSIS_5/Device/ARM/ARMCM1/Source/ARM/ARMCM1_ac6.sct deleted file mode 100644 index 82aacdd..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM1/Source/ARM/ARMCM1_ac6.sct +++ /dev/null @@ -1,80 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m1 -xc -; command above MUST be in first line (no comment above!) - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE) /* starts at end of RAM */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - - -/*---------------------------------------------------------------------------- - Scatter File Definitions definition - *----------------------------------------------------------------------------*/ -#define __RO_BASE __ROM_BASE -#define __RO_SIZE __ROM_SIZE - -#define __RW_BASE __RAM_BASE -#define __RW_SIZE (__RAM_SIZE - __STACK_SIZE - __HEAP_SIZE) - - -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } -} diff --git a/external/CMSIS_5/Device/ARM/ARMCM1/Source/ARM/startup_ARMCM1.s b/external/CMSIS_5/Device/ARM/ARMCM1/Source/ARM/startup_ARMCM1.s deleted file mode 100644 index 0ce627b..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM1/Source/ARM/startup_ARMCM1.s +++ /dev/null @@ -1,168 +0,0 @@ -;/**************************************************************************//** -; * @file startup_ARMCM1.s -; * @brief CMSIS Core Device Startup File for -; * ARMCM1 Device -; * @version V1.0.1 -; * @date 23. July 2019 -; ******************************************************************************/ -;/* -; * Copyright (c) 2009-2019 Arm Limited. All rights reserved. -; * -; * SPDX-License-Identifier: Apache-2.0 -; * -; * Licensed under the Apache License, Version 2.0 (the License); you may -; * not use this file except in compliance with the License. -; * You may obtain a copy of the License at -; * -; * www.apache.org/licenses/LICENSE-2.0 -; * -; * Unless required by applicable law or agreed to in writing, software -; * distributed under the License is distributed on an AS IS BASIS, WITHOUT -; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; * See the License for the specific language governing permissions and -; * limitations under the License. -; */ - -;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ - - -; Stack Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Stack_Size EQU 0x00000400 - - AREA STACK, NOINIT, READWRITE, ALIGN=3 -__stack_limit -Stack_Mem SPACE Stack_Size -__initial_sp - - -; Heap Configuration -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Heap_Size EQU 0x00000C00 - - IF Heap_Size != 0 ; Heap is provided - AREA HEAP, NOINIT, READWRITE, ALIGN=3 -__heap_base -Heap_Mem SPACE Heap_Size -__heap_limit - ENDIF - - - PRESERVE8 - THUMB - - -; Vector Table Mapped to Address 0 at Reset - - AREA RESET, DATA, READONLY - EXPORT __Vectors - EXPORT __Vectors_End - EXPORT __Vectors_Size - -__Vectors DCD __initial_sp ; Top of Stack - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; -14 NMI Handler - DCD HardFault_Handler ; -13 Hard Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; -5 SVCall Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD PendSV_Handler ; -2 PendSV Handler - DCD SysTick_Handler ; -1 SysTick Handler - - ; Interrupts - DCD Interrupt0_Handler ; 0 Interrupt 0 - DCD Interrupt1_Handler ; 1 Interrupt 1 - DCD Interrupt2_Handler ; 2 Interrupt 2 - DCD Interrupt3_Handler ; 3 Interrupt 3 - DCD Interrupt4_Handler ; 4 Interrupt 4 - DCD Interrupt5_Handler ; 5 Interrupt 5 - DCD Interrupt6_Handler ; 6 Interrupt 6 - DCD Interrupt7_Handler ; 7 Interrupt 7 - DCD Interrupt8_Handler ; 8 Interrupt 8 - DCD Interrupt9_Handler ; 9 Interrupt 9 - - SPACE ( 22 * 4) ; Interrupts 10 .. 31 are left out -__Vectors_End -__Vectors_Size EQU __Vectors_End - __Vectors - - - AREA |.text|, CODE, READONLY - -; Reset Handler - -Reset_Handler PROC - EXPORT Reset_Handler [WEAK] - IMPORT SystemInit - IMPORT __main - - LDR R0, =SystemInit - BLX R0 - LDR R0, =__main - BX R0 - ENDP - -; The default macro is not used for HardFault_Handler -; because this results in a poor debug illusion. -HardFault_Handler PROC - EXPORT HardFault_Handler [WEAK] - B . - ENDP - -; Macro to define default exception/interrupt handlers. -; Default handler are weak symbols with an endless loop. -; They can be overwritten by real handlers. - MACRO - Set_Default_Handler $Handler_Name -$Handler_Name PROC - EXPORT $Handler_Name [WEAK] - B . - ENDP - MEND - - -; Default exception/interrupt handler - - Set_Default_Handler NMI_Handler - Set_Default_Handler SVC_Handler - Set_Default_Handler PendSV_Handler - Set_Default_Handler SysTick_Handler - - Set_Default_Handler Interrupt0_Handler - Set_Default_Handler Interrupt1_Handler - Set_Default_Handler Interrupt2_Handler - Set_Default_Handler Interrupt3_Handler - Set_Default_Handler Interrupt4_Handler - Set_Default_Handler Interrupt5_Handler - Set_Default_Handler Interrupt6_Handler - Set_Default_Handler Interrupt7_Handler - Set_Default_Handler Interrupt8_Handler - Set_Default_Handler Interrupt9_Handler - - ALIGN - - -; User setup Stack & Heap - - IF :LNOT::DEF:__MICROLIB - IMPORT __use_two_region_memory - ENDIF - - EXPORT __stack_limit - EXPORT __initial_sp - IF Heap_Size != 0 ; Heap is provided - EXPORT __heap_base - EXPORT __heap_limit - ENDIF - - END diff --git a/external/CMSIS_5/Device/ARM/ARMCM1/Source/GCC/gcc_arm.ld b/external/CMSIS_5/Device/ARM/ARMCM1/Source/GCC/gcc_arm.ld deleted file mode 100644 index 7498908..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM1/Source/GCC/gcc_arm.ld +++ /dev/null @@ -1,296 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.1.0 - * @date 04. August 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00040000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00020000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ -/* - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH -*/ - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/Device/ARM/ARMCM1/Source/GCC/startup_ARMCM1.S b/external/CMSIS_5/Device/ARM/ARMCM1/Source/GCC/startup_ARMCM1.S deleted file mode 100644 index 74348d0..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM1/Source/GCC/startup_ARMCM1.S +++ /dev/null @@ -1,181 +0,0 @@ -/**************************************************************************//** - * @file startup_ARMCM1.S - * @brief CMSIS-Core(M) Device Startup File for Cortex-M1 Device - * @version V2.2.0 - * @date 26. May 2021 - ******************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - .syntax unified - .arch armv6-m - - .section .vectors - .align 2 - .globl __Vectors - .globl __Vectors_End - .globl __Vectors_Size -__Vectors: - .long __StackTop /* Top of Stack */ - .long Reset_Handler /* Reset Handler */ - .long NMI_Handler /* -14 NMI Handler */ - .long HardFault_Handler /* -13 Hard Fault Handler */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long SVC_Handler /* -5 SVCall Handler */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long PendSV_Handler /* -2 PendSV Handler */ - .long SysTick_Handler /* -1 SysTick Handler */ - - /* Interrupts */ - .long Interrupt0_Handler /* 0 Interrupt 0 */ - .long Interrupt1_Handler /* 1 Interrupt 1 */ - .long Interrupt2_Handler /* 2 Interrupt 2 */ - .long Interrupt3_Handler /* 3 Interrupt 3 */ - .long Interrupt4_Handler /* 4 Interrupt 4 */ - .long Interrupt5_Handler /* 5 Interrupt 5 */ - .long Interrupt6_Handler /* 6 Interrupt 6 */ - .long Interrupt7_Handler /* 7 Interrupt 7 */ - .long Interrupt8_Handler /* 8 Interrupt 8 */ - .long Interrupt9_Handler /* 9 Interrupt 9 */ - - .space ( 22 * 4) /* Interrupts 10 .. 31 are left out */ -__Vectors_End: - .equ __Vectors_Size, __Vectors_End - __Vectors - .size __Vectors, . - __Vectors - - - .thumb - .section .text - .align 2 - - .thumb_func - .type Reset_Handler, %function - .globl Reset_Handler - .fnstart -Reset_Handler: - bl SystemInit - - ldr r4, =__copy_table_start__ - ldr r5, =__copy_table_end__ - -.L_loop0: - cmp r4, r5 - bge .L_loop0_done - ldr r1, [r4] /* source address */ - ldr r2, [r4, #4] /* destination address */ - ldr r3, [r4, #8] /* word count */ - lsls r3, r3, #2 /* byte count */ - -.L_loop0_0: - subs r3, #4 /* decrement byte count */ - blt .L_loop0_0_done - ldr r0, [r1, r3] - str r0, [r2, r3] - b .L_loop0_0 - -.L_loop0_0_done: - adds r4, #12 - b .L_loop0 - -.L_loop0_done: - - ldr r3, =__zero_table_start__ - ldr r4, =__zero_table_end__ - -.L_loop2: - cmp r3, r4 - bge .L_loop2_done - ldr r1, [r3] /* destination address */ - ldr r2, [r3, #4] /* word count */ - lsls r2, r2, #2 /* byte count */ - movs r0, 0 - -.L_loop2_0: - subs r2, #4 /* decrement byte count */ - blt .L_loop2_0_done - str r0, [r1, r2] - b .L_loop2_0 -.L_loop2_0_done: - - adds r3, #8 - b .L_loop2 -.L_loop2_done: - - bl _start - - .fnend - .size Reset_Handler, . - Reset_Handler - -/* The default macro is not used for HardFault_Handler - * because this results in a poor debug illusion. - */ - .thumb_func - .type HardFault_Handler, %function - .weak HardFault_Handler - .fnstart -HardFault_Handler: - b . - .fnend - .size HardFault_Handler, . - HardFault_Handler - - .thumb_func - .type Default_Handler, %function - .weak Default_Handler - .fnstart -Default_Handler: - b . - .fnend - .size Default_Handler, . - Default_Handler - -/* Macro to define default exception/interrupt handlers. - * Default handler are weak symbols with an endless loop. - * They can be overwritten by real handlers. - */ - .macro Set_Default_Handler Handler_Name - .weak \Handler_Name - .set \Handler_Name, Default_Handler - .endm - - -/* Default exception/interrupt handler */ - - Set_Default_Handler NMI_Handler - Set_Default_Handler SVC_Handler - Set_Default_Handler PendSV_Handler - Set_Default_Handler SysTick_Handler - - Set_Default_Handler Interrupt0_Handler - Set_Default_Handler Interrupt1_Handler - Set_Default_Handler Interrupt2_Handler - Set_Default_Handler Interrupt3_Handler - Set_Default_Handler Interrupt4_Handler - Set_Default_Handler Interrupt5_Handler - Set_Default_Handler Interrupt6_Handler - Set_Default_Handler Interrupt7_Handler - Set_Default_Handler Interrupt8_Handler - Set_Default_Handler Interrupt9_Handler - - - .end diff --git a/external/CMSIS_5/Device/ARM/ARMCM1/Source/IAR/startup_ARMCM1.s b/external/CMSIS_5/Device/ARM/ARMCM1/Source/IAR/startup_ARMCM1.s deleted file mode 100644 index 9691d81..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM1/Source/IAR/startup_ARMCM1.s +++ /dev/null @@ -1,147 +0,0 @@ -;/**************************************************************************//** -; * @file startup_ARMCM1.s -; * @brief CMSIS Core Device Startup File for -; * ARMCM1 Device -; * @version V1.0.0 -; * @date 20. July 2018 -; ******************************************************************************/ -;/* -; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. -; * -; * SPDX-License-Identifier: Apache-2.0 -; * -; * Licensed under the Apache License, Version 2.0 (the License); you may -; * not use this file except in compliance with the License. -; * You may obtain a copy of the License at -; * -; * www.apache.org/licenses/LICENSE-2.0 -; * -; * Unless required by applicable law or agreed to in writing, software -; * distributed under the License is distributed on an AS IS BASIS, WITHOUT -; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; * See the License for the specific language governing permissions and -; * limitations under the License. -; */ - -; -; The modules in this file are included in the libraries, and may be replaced -; by any user-defined modules that define the PUBLIC symbol _program_start or -; a user defined start symbol. -; To override the cstartup defined in the library, simply add your modified -; version to the workbench project. -; -; The vector table is normally located at address 0. -; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. -; The name "__vector_table" has special meaning for C-SPY: -; it is where the SP start value is found, and the NVIC vector -; table register (VTOR) is initialized to this address if != 0. -; -; Cortex-M version -; - - MODULE ?cstartup - - ;; Forward declaration of sections. - SECTION CSTACK:DATA:NOROOT(3) - - SECTION .intvec:CODE:NOROOT(2) - - EXTERN __iar_program_start - EXTERN SystemInit - PUBLIC __vector_table - PUBLIC __vector_table_0x1c - PUBLIC __Vectors - PUBLIC __Vectors_End - PUBLIC __Vectors_Size - - DATA - -__vector_table - DCD sfe(CSTACK) ; Top of Stack - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; -14 NMI Handler - DCD HardFault_Handler ; -13 Hard Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved -__vector_table_0x1c - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; -5 SVCall Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD PendSV_Handler ; -2 PendSV Handler - DCD SysTick_Handler ; -1 SysTick Handler - - ; Interrupts - DCD Interrupt0_Handler ; 0 Interrupt 0 - DCD Interrupt1_Handler ; 1 Interrupt 1 - DCD Interrupt2_Handler ; 2 Interrupt 2 - DCD Interrupt3_Handler ; 3 Interrupt 3 - DCD Interrupt4_Handler ; 4 Interrupt 4 - DCD Interrupt5_Handler ; 5 Interrupt 5 - DCD Interrupt6_Handler ; 6 Interrupt 6 - DCD Interrupt7_Handler ; 7 Interrupt 7 - DCD Interrupt8_Handler ; 8 Interrupt 8 - DCD Interrupt9_Handler ; 9 Interrupt 9 - - DS32 ( 22) ; Interrupts 10 .. 31 are left out -__Vectors_End - -__Vectors EQU __vector_table -__Vectors_Size EQU __Vectors_End - __Vectors - - - THUMB - -; Reset Handler - - PUBWEAK Reset_Handler - SECTION .text:CODE:REORDER:NOROOT(2) -Reset_Handler - LDR R0, =SystemInit - BLX R0 - LDR R0, =__iar_program_start - BX R0 - - - PUBWEAK NMI_Handler - PUBWEAK HardFault_Handler - PUBWEAK SVC_Handler - PUBWEAK PendSV_Handler - PUBWEAK SysTick_Handler - - PUBWEAK Interrupt0_Handler - PUBWEAK Interrupt1_Handler - PUBWEAK Interrupt2_Handler - PUBWEAK Interrupt3_Handler - PUBWEAK Interrupt4_Handler - PUBWEAK Interrupt5_Handler - PUBWEAK Interrupt6_Handler - PUBWEAK Interrupt7_Handler - PUBWEAK Interrupt8_Handler - PUBWEAK Interrupt9_Handler - SECTION .text:CODE:REORDER:NOROOT(1) -NMI_Handler -HardFault_Handler -SVC_Handler -PendSV_Handler -SysTick_Handler - -Interrupt0_Handler -Interrupt1_Handler -Interrupt2_Handler -Interrupt3_Handler -Interrupt4_Handler -Interrupt5_Handler -Interrupt6_Handler -Interrupt7_Handler -Interrupt8_Handler -Interrupt9_Handler -Default_Handler - B . - - - END diff --git a/external/CMSIS_5/Device/ARM/ARMCM1/Source/startup_ARMCM1.c b/external/CMSIS_5/Device/ARM/ARMCM1/Source/startup_ARMCM1.c deleted file mode 100644 index 408ed21..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM1/Source/startup_ARMCM1.c +++ /dev/null @@ -1,146 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM1.c - * @brief CMSIS-Core(M) Device Startup File for a Cortex-M1 Device - * @version V2.0.3 - * @date 31. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM1) - #include "ARMCM1.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[48]; - const VECTOR_TABLE_Type __VECTOR_TABLE[48] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVCall Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10..31 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/Device/ARM/ARMCM1/Source/system_ARMCM1.c b/external/CMSIS_5/Device/ARM/ARMCM1/Source/system_ARMCM1.c deleted file mode 100644 index 75ad737..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM1/Source/system_ARMCM1.c +++ /dev/null @@ -1,56 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM1.c - * @brief CMSIS Device System Source File for - * ARMCM1 Device - * @version V1.0.0 - * @date 20. July 2018 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "ARMCM1.h" - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/Device/ARM/ARMCM23/Debug/ARMv8MBL.dbgconf b/external/CMSIS_5/Device/ARM/ARMCM23/Debug/ARMv8MBL.dbgconf deleted file mode 100644 index d79f207..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM23/Debug/ARMv8MBL.dbgconf +++ /dev/null @@ -1,13 +0,0 @@ -// <<< Use Configuration Wizard in Context Menu >>> - -// Fixed Debug Authentication -// Use a fixed value for Debug Authentication. Only secure debug authentication configurable. -DAuthFixed = 0x1; - -// Secure Invasive Debug -// Secure Non-Invasive Debug -DAuthConfig = 0xF; - -// - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/external/CMSIS_5/Device/ARM/ARMCM23/Include/ARMCM23.h b/external/CMSIS_5/Device/ARM/ARMCM23/Include/ARMCM23.h deleted file mode 100644 index f75490f..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM23/Include/ARMCM23.h +++ /dev/null @@ -1,128 +0,0 @@ -/**************************************************************************//** - * @file ARMCM23.h - * @brief CMSIS Core Peripheral Access Layer Header File for - * ARMCM23 Device - * @version V5.3.2 - * @date 01. May 2023 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ARMCM23_H -#define ARMCM23_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* ------------------------- Interrupt Number Definition ------------------------ */ - -typedef enum IRQn -{ -/* ------------------- Processor Exceptions Numbers ----------------------------- */ - NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /* 3 HardFault Interrupt */ - - - - SVCall_IRQn = -5, /* 11 SV Call Interrupt */ - - PendSV_IRQn = -2, /* 14 Pend SV Interrupt */ - SysTick_IRQn = -1, /* 15 System Tick Interrupt */ - -/* ------------------- Processor Interrupt Numbers ------------------------------ */ - Interrupt0_IRQn = 0, - Interrupt1_IRQn = 1, - Interrupt2_IRQn = 2, - Interrupt3_IRQn = 3, - Interrupt4_IRQn = 4, - Interrupt5_IRQn = 5, - Interrupt6_IRQn = 6, - Interrupt7_IRQn = 7, - Interrupt8_IRQn = 8, - Interrupt9_IRQn = 9, - /* Interrupts 10 .. 223 are left out */ - Interrupt224_IRQn = 224 -} IRQn_Type; - - -/* ================================================================================ */ -/* ================ Processor and Core Peripheral Section ================ */ -/* ================================================================================ */ - -/* ------- Start of section using anonymous unions and disabling warnings ------- */ -#if defined (__CC_ARM) - #pragma push - #pragma anon_unions -#elif defined (__ICCARM__) - #pragma language=extended -#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wc11-extensions" - #pragma clang diagnostic ignored "-Wreserved-id-macro" -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning 586 -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -/* -------- Configuration of Core Peripherals ----------------------------------- */ -#define __CM23_REV 0x0100U /* Core revision r1p0 */ -#define __SAUREGION_PRESENT 0U /* SAU regions are not present */ -#define __MPU_PRESENT 1U /* MPU is present */ -#define __VTOR_PRESENT 1U /* VTOR is present */ -#define __NVIC_PRIO_BITS 2U /* Number of Bits used for Priority Levels */ -#define __Vendor_SysTickConfig 0U /* Set to 1 if different SysTick Config is used */ - -#include "core_cm23.h" /* Processor and core peripherals */ -#include "system_ARMCM23.h" /* System Header */ - - -/* -------- End of section using anonymous unions and disabling warnings -------- */ -#if defined (__CC_ARM) - #pragma pop -#elif defined (__ICCARM__) - /* leave anonymous unions enabled */ -#elif (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) - #pragma clang diagnostic pop -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning restore -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* ARMCM23_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCM23/Include/ARMCM23_TZ.h b/external/CMSIS_5/Device/ARM/ARMCM23/Include/ARMCM23_TZ.h deleted file mode 100644 index 7863caf..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM23/Include/ARMCM23_TZ.h +++ /dev/null @@ -1,128 +0,0 @@ -/**************************************************************************//** - * @file ARMCM23_TZ.h - * @brief CMSIS Core Peripheral Access Layer Header File for - * ARMCM23 Device (configured for TrustZone) - * @version V5.3.2 - * @date 01. May 2023 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ARMCM23_TZ_H -#define ARMCM23_TZ_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* ------------------------- Interrupt Number Definition ------------------------ */ - -typedef enum IRQn -{ -/* ------------------- Processor Exceptions Numbers ----------------------------- */ - NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /* 3 HardFault Interrupt */ - - - - SVCall_IRQn = -5, /* 11 SV Call Interrupt */ - - PendSV_IRQn = -2, /* 14 Pend SV Interrupt */ - SysTick_IRQn = -1, /* 15 System Tick Interrupt */ - -/* ------------------- Processor Interrupt Numbers ------------------------------ */ - Interrupt0_IRQn = 0, - Interrupt1_IRQn = 1, - Interrupt2_IRQn = 2, - Interrupt3_IRQn = 3, - Interrupt4_IRQn = 4, - Interrupt5_IRQn = 5, - Interrupt6_IRQn = 6, - Interrupt7_IRQn = 7, - Interrupt8_IRQn = 8, - Interrupt9_IRQn = 9, - /* Interrupts 10 .. 223 are left out */ - Interrupt224_IRQn = 224 -} IRQn_Type; - - -/* ================================================================================ */ -/* ================ Processor and Core Peripheral Section ================ */ -/* ================================================================================ */ - -/* ------- Start of section using anonymous unions and disabling warnings ------- */ -#if defined (__CC_ARM) - #pragma push - #pragma anon_unions -#elif defined (__ICCARM__) - #pragma language=extended -#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wc11-extensions" - #pragma clang diagnostic ignored "-Wreserved-id-macro" -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning 586 -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -/* -------- Configuration of Core Peripherals ----------------------------------- */ -#define __CM23_REV 0x0100U /* Core revision r1p0 */ -#define __SAUREGION_PRESENT 1U /* SAU regions are present */ -#define __MPU_PRESENT 1U /* MPU is present */ -#define __VTOR_PRESENT 1U /* VTOR is present */ -#define __NVIC_PRIO_BITS 2U /* Number of Bits used for Priority Levels */ -#define __Vendor_SysTickConfig 0U /* Set to 1 if different SysTick Config is used */ - -#include "core_cm23.h" /* Processor and core peripherals */ -#include "system_ARMCM23.h" /* System Header */ - - -/* -------- End of section using anonymous unions and disabling warnings -------- */ -#if defined (__CC_ARM) - #pragma pop -#elif defined (__ICCARM__) - /* leave anonymous unions enabled */ -#elif (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) - #pragma clang diagnostic pop -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning restore -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* ARMCM23_TZ_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCM23/Include/Template/partition_ARMCM23.h b/external/CMSIS_5/Device/ARM/ARMCM23/Include/Template/partition_ARMCM23.h deleted file mode 100644 index 7738365..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM23/Include/Template/partition_ARMCM23.h +++ /dev/null @@ -1,832 +0,0 @@ -/**************************************************************************//** - * @file partition_ARMCM23.h - * @brief CMSIS-CORE Initial Setup for Secure / Non-Secure Zones for ARMCM23 - * @version V1.0.0 - * @date 09. July 2018 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef PARTITION_ARMCM23_H -#define PARTITION_ARMCM23_H - -/* -//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- -*/ - -/* -// Initialize Security Attribution Unit (SAU) CTRL register -*/ -#define SAU_INIT_CTRL 1 - -/* -// Enable SAU -// Value for SAU->CTRL register bit ENABLE -*/ -#define SAU_INIT_CTRL_ENABLE 1 - -/* -// When SAU is disabled -// <0=> All Memory is Secure -// <1=> All Memory is Non-Secure -// Value for SAU->CTRL register bit ALLNS -// When all Memory is Non-Secure (ALLNS is 1), IDAU can override memory map configuration. -*/ -#define SAU_INIT_CTRL_ALLNS 0 - -/* -// -*/ - -/* -// Initialize Security Attribution Unit (SAU) Address Regions -// SAU configuration specifies regions to be one of: -// - Secure and Non-Secure Callable -// - Non-Secure -// Note: All memory regions not configured by SAU are Secure -*/ -#define SAU_REGIONS_MAX 8 /* Max. number of SAU regions */ - -/* -// Initialize SAU Region 0 -// Setup SAU Region 0 memory attributes -*/ -#define SAU_INIT_REGION0 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START0 0x00000000 /* start address of SAU region 0 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END0 0x001FFFFF /* end address of SAU region 0 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC0 1 -/* -// -*/ - -/* -// Initialize SAU Region 1 -// Setup SAU Region 1 memory attributes -*/ -#define SAU_INIT_REGION1 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START1 0x00200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END1 0x003FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC1 0 -/* -// -*/ - -/* -// Initialize SAU Region 2 -// Setup SAU Region 2 memory attributes -*/ -#define SAU_INIT_REGION2 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START2 0x20200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END2 0x203FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC2 0 -/* -// -*/ - -/* -// Initialize SAU Region 3 -// Setup SAU Region 3 memory attributes -*/ -#define SAU_INIT_REGION3 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START3 0x40000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END3 0x40040000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC3 0 -/* -// -*/ - -/* -// Initialize SAU Region 4 -// Setup SAU Region 4 memory attributes -*/ -#define SAU_INIT_REGION4 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START4 0x00000000 /* start address of SAU region 4 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END4 0x00000000 /* end address of SAU region 4 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC4 0 -/* -// -*/ - -/* -// Initialize SAU Region 5 -// Setup SAU Region 5 memory attributes -*/ -#define SAU_INIT_REGION5 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START5 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END5 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC5 0 -/* -// -*/ - -/* -// Initialize SAU Region 6 -// Setup SAU Region 6 memory attributes -*/ -#define SAU_INIT_REGION6 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START6 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END6 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC6 0 -/* -// -*/ - -/* -// Initialize SAU Region 7 -// Setup SAU Region 7 memory attributes -*/ -#define SAU_INIT_REGION7 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START7 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END7 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC7 0 -/* -// -*/ - -/* -// -*/ - -/* -// Setup behaviour of Sleep and Exception Handling -*/ -#define SCB_CSR_AIRCR_INIT 1 - -/* -// Deep Sleep can be enabled by -// <0=>Secure and Non-Secure state -// <1=>Secure state only -// Value for SCB->CSR register bit DEEPSLEEPS -*/ -#define SCB_CSR_DEEPSLEEPS_VAL 1 - -/* -// System reset request accessible from -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for SCB->AIRCR register bit SYSRESETREQS -*/ -#define SCB_AIRCR_SYSRESETREQS_VAL 1 - -/* -// Priority of Non-Secure exceptions is -// <0=> Not altered -// <1=> Lowered to 0x80-0xFF -// Value for SCB->AIRCR register bit PRIS -*/ -#define SCB_AIRCR_PRIS_VAL 1 - -/* -// BusFault, HardFault, and NMI target -// <0=> Secure state -// <1=> Non-Secure state -// Value for SCB->AIRCR register bit BFHFNMINS -*/ -#define SCB_AIRCR_BFHFNMINS_VAL 0 - -/* -// -*/ - - -/* -// Setup behaviour of single SysTick -*/ -#define SCB_ICSR_INIT 0 - -/* -// in a single SysTick implementation, SysTick is -// <0=>Secure -// <1=>Non-Secure -// Value for SCB->ICSR register bit STTNS -// only for single SysTick implementation -*/ -#define SCB_ICSR_STTNS_VAL 0 - -/* -// -*/ - - -/* -// Setup Interrupt Target -*/ - -/* -// Initialize ITNS 0 (Interrupts 0..31) -*/ -#define NVIC_INIT_ITNS0 1 - -/* -// Interrupts 0..31 -// Interrupt 0 <0=> Secure state <1=> Non-Secure state -// Interrupt 1 <0=> Secure state <1=> Non-Secure state -// Interrupt 2 <0=> Secure state <1=> Non-Secure state -// Interrupt 3 <0=> Secure state <1=> Non-Secure state -// Interrupt 4 <0=> Secure state <1=> Non-Secure state -// Interrupt 5 <0=> Secure state <1=> Non-Secure state -// Interrupt 6 <0=> Secure state <1=> Non-Secure state -// Interrupt 7 <0=> Secure state <1=> Non-Secure state -// Interrupt 8 <0=> Secure state <1=> Non-Secure state -// Interrupt 9 <0=> Secure state <1=> Non-Secure state -// Interrupt 10 <0=> Secure state <1=> Non-Secure state -// Interrupt 11 <0=> Secure state <1=> Non-Secure state -// Interrupt 12 <0=> Secure state <1=> Non-Secure state -// Interrupt 13 <0=> Secure state <1=> Non-Secure state -// Interrupt 14 <0=> Secure state <1=> Non-Secure state -// Interrupt 15 <0=> Secure state <1=> Non-Secure state -// Interrupt 16 <0=> Secure state <1=> Non-Secure state -// Interrupt 17 <0=> Secure state <1=> Non-Secure state -// Interrupt 18 <0=> Secure state <1=> Non-Secure state -// Interrupt 19 <0=> Secure state <1=> Non-Secure state -// Interrupt 20 <0=> Secure state <1=> Non-Secure state -// Interrupt 21 <0=> Secure state <1=> Non-Secure state -// Interrupt 22 <0=> Secure state <1=> Non-Secure state -// Interrupt 23 <0=> Secure state <1=> Non-Secure state -// Interrupt 24 <0=> Secure state <1=> Non-Secure state -// Interrupt 25 <0=> Secure state <1=> Non-Secure state -// Interrupt 26 <0=> Secure state <1=> Non-Secure state -// Interrupt 27 <0=> Secure state <1=> Non-Secure state -// Interrupt 28 <0=> Secure state <1=> Non-Secure state -// Interrupt 29 <0=> Secure state <1=> Non-Secure state -// Interrupt 30 <0=> Secure state <1=> Non-Secure state -// Interrupt 31 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS0_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 1 (Interrupts 32..63) -*/ -#define NVIC_INIT_ITNS1 1 - -/* -// Interrupts 32..63 -// Interrupt 32 <0=> Secure state <1=> Non-Secure state -// Interrupt 33 <0=> Secure state <1=> Non-Secure state -// Interrupt 34 <0=> Secure state <1=> Non-Secure state -// Interrupt 35 <0=> Secure state <1=> Non-Secure state -// Interrupt 36 <0=> Secure state <1=> Non-Secure state -// Interrupt 37 <0=> Secure state <1=> Non-Secure state -// Interrupt 38 <0=> Secure state <1=> Non-Secure state -// Interrupt 39 <0=> Secure state <1=> Non-Secure state -// Interrupt 40 <0=> Secure state <1=> Non-Secure state -// Interrupt 41 <0=> Secure state <1=> Non-Secure state -// Interrupt 42 <0=> Secure state <1=> Non-Secure state -// Interrupt 43 <0=> Secure state <1=> Non-Secure state -// Interrupt 44 <0=> Secure state <1=> Non-Secure state -// Interrupt 45 <0=> Secure state <1=> Non-Secure state -// Interrupt 46 <0=> Secure state <1=> Non-Secure state -// Interrupt 47 <0=> Secure state <1=> Non-Secure state -// Interrupt 48 <0=> Secure state <1=> Non-Secure state -// Interrupt 49 <0=> Secure state <1=> Non-Secure state -// Interrupt 50 <0=> Secure state <1=> Non-Secure state -// Interrupt 51 <0=> Secure state <1=> Non-Secure state -// Interrupt 52 <0=> Secure state <1=> Non-Secure state -// Interrupt 53 <0=> Secure state <1=> Non-Secure state -// Interrupt 54 <0=> Secure state <1=> Non-Secure state -// Interrupt 55 <0=> Secure state <1=> Non-Secure state -// Interrupt 56 <0=> Secure state <1=> Non-Secure state -// Interrupt 57 <0=> Secure state <1=> Non-Secure state -// Interrupt 58 <0=> Secure state <1=> Non-Secure state -// Interrupt 59 <0=> Secure state <1=> Non-Secure state -// Interrupt 60 <0=> Secure state <1=> Non-Secure state -// Interrupt 61 <0=> Secure state <1=> Non-Secure state -// Interrupt 62 <0=> Secure state <1=> Non-Secure state -// Interrupt 63 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS1_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 2 (Interrupts 64..95) -*/ -#define NVIC_INIT_ITNS2 0 - -/* -// Interrupts 64..95 -// Interrupt 64 <0=> Secure state <1=> Non-Secure state -// Interrupt 65 <0=> Secure state <1=> Non-Secure state -// Interrupt 66 <0=> Secure state <1=> Non-Secure state -// Interrupt 67 <0=> Secure state <1=> Non-Secure state -// Interrupt 68 <0=> Secure state <1=> Non-Secure state -// Interrupt 69 <0=> Secure state <1=> Non-Secure state -// Interrupt 70 <0=> Secure state <1=> Non-Secure state -// Interrupt 71 <0=> Secure state <1=> Non-Secure state -// Interrupt 72 <0=> Secure state <1=> Non-Secure state -// Interrupt 73 <0=> Secure state <1=> Non-Secure state -// Interrupt 74 <0=> Secure state <1=> Non-Secure state -// Interrupt 75 <0=> Secure state <1=> Non-Secure state -// Interrupt 76 <0=> Secure state <1=> Non-Secure state -// Interrupt 77 <0=> Secure state <1=> Non-Secure state -// Interrupt 78 <0=> Secure state <1=> Non-Secure state -// Interrupt 79 <0=> Secure state <1=> Non-Secure state -// Interrupt 80 <0=> Secure state <1=> Non-Secure state -// Interrupt 81 <0=> Secure state <1=> Non-Secure state -// Interrupt 82 <0=> Secure state <1=> Non-Secure state -// Interrupt 83 <0=> Secure state <1=> Non-Secure state -// Interrupt 84 <0=> Secure state <1=> Non-Secure state -// Interrupt 85 <0=> Secure state <1=> Non-Secure state -// Interrupt 86 <0=> Secure state <1=> Non-Secure state -// Interrupt 87 <0=> Secure state <1=> Non-Secure state -// Interrupt 88 <0=> Secure state <1=> Non-Secure state -// Interrupt 89 <0=> Secure state <1=> Non-Secure state -// Interrupt 90 <0=> Secure state <1=> Non-Secure state -// Interrupt 91 <0=> Secure state <1=> Non-Secure state -// Interrupt 92 <0=> Secure state <1=> Non-Secure state -// Interrupt 93 <0=> Secure state <1=> Non-Secure state -// Interrupt 94 <0=> Secure state <1=> Non-Secure state -// Interrupt 95 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS2_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 3 (Interrupts 96..127) -*/ -#define NVIC_INIT_ITNS3 0 - -/* -// Interrupts 96..127 -// Interrupt 96 <0=> Secure state <1=> Non-Secure state -// Interrupt 97 <0=> Secure state <1=> Non-Secure state -// Interrupt 98 <0=> Secure state <1=> Non-Secure state -// Interrupt 99 <0=> Secure state <1=> Non-Secure state -// Interrupt 100 <0=> Secure state <1=> Non-Secure state -// Interrupt 101 <0=> Secure state <1=> Non-Secure state -// Interrupt 102 <0=> Secure state <1=> Non-Secure state -// Interrupt 103 <0=> Secure state <1=> Non-Secure state -// Interrupt 104 <0=> Secure state <1=> Non-Secure state -// Interrupt 105 <0=> Secure state <1=> Non-Secure state -// Interrupt 106 <0=> Secure state <1=> Non-Secure state -// Interrupt 107 <0=> Secure state <1=> Non-Secure state -// Interrupt 108 <0=> Secure state <1=> Non-Secure state -// Interrupt 109 <0=> Secure state <1=> Non-Secure state -// Interrupt 110 <0=> Secure state <1=> Non-Secure state -// Interrupt 111 <0=> Secure state <1=> Non-Secure state -// Interrupt 112 <0=> Secure state <1=> Non-Secure state -// Interrupt 113 <0=> Secure state <1=> Non-Secure state -// Interrupt 114 <0=> Secure state <1=> Non-Secure state -// Interrupt 115 <0=> Secure state <1=> Non-Secure state -// Interrupt 116 <0=> Secure state <1=> Non-Secure state -// Interrupt 117 <0=> Secure state <1=> Non-Secure state -// Interrupt 118 <0=> Secure state <1=> Non-Secure state -// Interrupt 119 <0=> Secure state <1=> Non-Secure state -// Interrupt 120 <0=> Secure state <1=> Non-Secure state -// Interrupt 121 <0=> Secure state <1=> Non-Secure state -// Interrupt 122 <0=> Secure state <1=> Non-Secure state -// Interrupt 123 <0=> Secure state <1=> Non-Secure state -// Interrupt 124 <0=> Secure state <1=> Non-Secure state -// Interrupt 125 <0=> Secure state <1=> Non-Secure state -// Interrupt 126 <0=> Secure state <1=> Non-Secure state -// Interrupt 127 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS3_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 4 (Interrupts 128..159) -*/ -#define NVIC_INIT_ITNS4 0 - -/* -// Interrupts 128..159 -// Interrupt 128 <0=> Secure state <1=> Non-Secure state -// Interrupt 129 <0=> Secure state <1=> Non-Secure state -// Interrupt 130 <0=> Secure state <1=> Non-Secure state -// Interrupt 131 <0=> Secure state <1=> Non-Secure state -// Interrupt 132 <0=> Secure state <1=> Non-Secure state -// Interrupt 133 <0=> Secure state <1=> Non-Secure state -// Interrupt 134 <0=> Secure state <1=> Non-Secure state -// Interrupt 135 <0=> Secure state <1=> Non-Secure state -// Interrupt 136 <0=> Secure state <1=> Non-Secure state -// Interrupt 137 <0=> Secure state <1=> Non-Secure state -// Interrupt 138 <0=> Secure state <1=> Non-Secure state -// Interrupt 139 <0=> Secure state <1=> Non-Secure state -// Interrupt 140 <0=> Secure state <1=> Non-Secure state -// Interrupt 141 <0=> Secure state <1=> Non-Secure state -// Interrupt 142 <0=> Secure state <1=> Non-Secure state -// Interrupt 143 <0=> Secure state <1=> Non-Secure state -// Interrupt 144 <0=> Secure state <1=> Non-Secure state -// Interrupt 145 <0=> Secure state <1=> Non-Secure state -// Interrupt 146 <0=> Secure state <1=> Non-Secure state -// Interrupt 147 <0=> Secure state <1=> Non-Secure state -// Interrupt 148 <0=> Secure state <1=> Non-Secure state -// Interrupt 149 <0=> Secure state <1=> Non-Secure state -// Interrupt 150 <0=> Secure state <1=> Non-Secure state -// Interrupt 151 <0=> Secure state <1=> Non-Secure state -// Interrupt 152 <0=> Secure state <1=> Non-Secure state -// Interrupt 153 <0=> Secure state <1=> Non-Secure state -// Interrupt 154 <0=> Secure state <1=> Non-Secure state -// Interrupt 155 <0=> Secure state <1=> Non-Secure state -// Interrupt 156 <0=> Secure state <1=> Non-Secure state -// Interrupt 157 <0=> Secure state <1=> Non-Secure state -// Interrupt 158 <0=> Secure state <1=> Non-Secure state -// Interrupt 159 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS4_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 5 (Interrupts 160..191) -*/ -#define NVIC_INIT_ITNS5 0 - -/* -// Interrupts 160..191 -// Interrupt 160 <0=> Secure state <1=> Non-Secure state -// Interrupt 161 <0=> Secure state <1=> Non-Secure state -// Interrupt 162 <0=> Secure state <1=> Non-Secure state -// Interrupt 163 <0=> Secure state <1=> Non-Secure state -// Interrupt 164 <0=> Secure state <1=> Non-Secure state -// Interrupt 165 <0=> Secure state <1=> Non-Secure state -// Interrupt 166 <0=> Secure state <1=> Non-Secure state -// Interrupt 167 <0=> Secure state <1=> Non-Secure state -// Interrupt 168 <0=> Secure state <1=> Non-Secure state -// Interrupt 169 <0=> Secure state <1=> Non-Secure state -// Interrupt 170 <0=> Secure state <1=> Non-Secure state -// Interrupt 171 <0=> Secure state <1=> Non-Secure state -// Interrupt 172 <0=> Secure state <1=> Non-Secure state -// Interrupt 173 <0=> Secure state <1=> Non-Secure state -// Interrupt 174 <0=> Secure state <1=> Non-Secure state -// Interrupt 175 <0=> Secure state <1=> Non-Secure state -// Interrupt 176 <0=> Secure state <1=> Non-Secure state -// Interrupt 177 <0=> Secure state <1=> Non-Secure state -// Interrupt 178 <0=> Secure state <1=> Non-Secure state -// Interrupt 179 <0=> Secure state <1=> Non-Secure state -// Interrupt 180 <0=> Secure state <1=> Non-Secure state -// Interrupt 181 <0=> Secure state <1=> Non-Secure state -// Interrupt 182 <0=> Secure state <1=> Non-Secure state -// Interrupt 183 <0=> Secure state <1=> Non-Secure state -// Interrupt 184 <0=> Secure state <1=> Non-Secure state -// Interrupt 185 <0=> Secure state <1=> Non-Secure state -// Interrupt 186 <0=> Secure state <1=> Non-Secure state -// Interrupt 187 <0=> Secure state <1=> Non-Secure state -// Interrupt 188 <0=> Secure state <1=> Non-Secure state -// Interrupt 189 <0=> Secure state <1=> Non-Secure state -// Interrupt 190 <0=> Secure state <1=> Non-Secure state -// Interrupt 191 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS5_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 6 (Interrupts 192..223) -*/ -#define NVIC_INIT_ITNS6 0 - -/* -// Interrupts 192..223 -// Interrupt 192 <0=> Secure state <1=> Non-Secure state -// Interrupt 193 <0=> Secure state <1=> Non-Secure state -// Interrupt 194 <0=> Secure state <1=> Non-Secure state -// Interrupt 195 <0=> Secure state <1=> Non-Secure state -// Interrupt 196 <0=> Secure state <1=> Non-Secure state -// Interrupt 197 <0=> Secure state <1=> Non-Secure state -// Interrupt 198 <0=> Secure state <1=> Non-Secure state -// Interrupt 199 <0=> Secure state <1=> Non-Secure state -// Interrupt 200 <0=> Secure state <1=> Non-Secure state -// Interrupt 201 <0=> Secure state <1=> Non-Secure state -// Interrupt 202 <0=> Secure state <1=> Non-Secure state -// Interrupt 203 <0=> Secure state <1=> Non-Secure state -// Interrupt 204 <0=> Secure state <1=> Non-Secure state -// Interrupt 205 <0=> Secure state <1=> Non-Secure state -// Interrupt 206 <0=> Secure state <1=> Non-Secure state -// Interrupt 207 <0=> Secure state <1=> Non-Secure state -// Interrupt 208 <0=> Secure state <1=> Non-Secure state -// Interrupt 209 <0=> Secure state <1=> Non-Secure state -// Interrupt 210 <0=> Secure state <1=> Non-Secure state -// Interrupt 211 <0=> Secure state <1=> Non-Secure state -// Interrupt 212 <0=> Secure state <1=> Non-Secure state -// Interrupt 213 <0=> Secure state <1=> Non-Secure state -// Interrupt 214 <0=> Secure state <1=> Non-Secure state -// Interrupt 215 <0=> Secure state <1=> Non-Secure state -// Interrupt 216 <0=> Secure state <1=> Non-Secure state -// Interrupt 217 <0=> Secure state <1=> Non-Secure state -// Interrupt 218 <0=> Secure state <1=> Non-Secure state -// Interrupt 219 <0=> Secure state <1=> Non-Secure state -// Interrupt 220 <0=> Secure state <1=> Non-Secure state -// Interrupt 221 <0=> Secure state <1=> Non-Secure state -// Interrupt 222 <0=> Secure state <1=> Non-Secure state -// Interrupt 223 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS6_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 7 (Interrupts 224..255) -*/ -#define NVIC_INIT_ITNS7 0 - -/* -// Interrupts 224..255 -// Interrupt 224 <0=> Secure state <1=> Non-Secure state -// Interrupt 225 <0=> Secure state <1=> Non-Secure state -// Interrupt 226 <0=> Secure state <1=> Non-Secure state -// Interrupt 227 <0=> Secure state <1=> Non-Secure state -// Interrupt 228 <0=> Secure state <1=> Non-Secure state -// Interrupt 229 <0=> Secure state <1=> Non-Secure state -// Interrupt 230 <0=> Secure state <1=> Non-Secure state -// Interrupt 231 <0=> Secure state <1=> Non-Secure state -// Interrupt 232 <0=> Secure state <1=> Non-Secure state -// Interrupt 233 <0=> Secure state <1=> Non-Secure state -// Interrupt 234 <0=> Secure state <1=> Non-Secure state -// Interrupt 235 <0=> Secure state <1=> Non-Secure state -// Interrupt 236 <0=> Secure state <1=> Non-Secure state -// Interrupt 237 <0=> Secure state <1=> Non-Secure state -// Interrupt 238 <0=> Secure state <1=> Non-Secure state -// Interrupt 239 <0=> Secure state <1=> Non-Secure state -// Interrupt 240 <0=> Secure state <1=> Non-Secure state -// Interrupt 241 <0=> Secure state <1=> Non-Secure state -// Interrupt 242 <0=> Secure state <1=> Non-Secure state -// Interrupt 243 <0=> Secure state <1=> Non-Secure state -// Interrupt 244 <0=> Secure state <1=> Non-Secure state -// Interrupt 245 <0=> Secure state <1=> Non-Secure state -// Interrupt 246 <0=> Secure state <1=> Non-Secure state -// Interrupt 247 <0=> Secure state <1=> Non-Secure state -// Interrupt 248 <0=> Secure state <1=> Non-Secure state -// Interrupt 249 <0=> Secure state <1=> Non-Secure state -// Interrupt 250 <0=> Secure state <1=> Non-Secure state -// Interrupt 251 <0=> Secure state <1=> Non-Secure state -// Interrupt 252 <0=> Secure state <1=> Non-Secure state -// Interrupt 253 <0=> Secure state <1=> Non-Secure state -// Interrupt 254 <0=> Secure state <1=> Non-Secure state -// Interrupt 255 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS7_VAL 0x00000000 - -/* -// -*/ - -/* -// -*/ - - - -/* - max 128 SAU regions. - SAU regions are defined in partition.h - */ - -#define SAU_INIT_REGION(n) \ - SAU->RNR = (n & SAU_RNR_REGION_Msk); \ - SAU->RBAR = (SAU_INIT_START##n & SAU_RBAR_BADDR_Msk); \ - SAU->RLAR = (SAU_INIT_END##n & SAU_RLAR_LADDR_Msk) | \ - ((SAU_INIT_NSC##n << SAU_RLAR_NSC_Pos) & SAU_RLAR_NSC_Msk) | 1U - -/** - \brief Setup a SAU Region - \details Writes the region information contained in SAU_Region to the - registers SAU_RNR, SAU_RBAR, and SAU_RLAR - */ -__STATIC_INLINE void TZ_SAU_Setup (void) -{ - -#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) - - #if defined (SAU_INIT_REGION0) && (SAU_INIT_REGION0 == 1U) - SAU_INIT_REGION(0); - #endif - - #if defined (SAU_INIT_REGION1) && (SAU_INIT_REGION1 == 1U) - SAU_INIT_REGION(1); - #endif - - #if defined (SAU_INIT_REGION2) && (SAU_INIT_REGION2 == 1U) - SAU_INIT_REGION(2); - #endif - - #if defined (SAU_INIT_REGION3) && (SAU_INIT_REGION3 == 1U) - SAU_INIT_REGION(3); - #endif - - #if defined (SAU_INIT_REGION4) && (SAU_INIT_REGION4 == 1U) - SAU_INIT_REGION(4); - #endif - - #if defined (SAU_INIT_REGION5) && (SAU_INIT_REGION5 == 1U) - SAU_INIT_REGION(5); - #endif - - #if defined (SAU_INIT_REGION6) && (SAU_INIT_REGION6 == 1U) - SAU_INIT_REGION(6); - #endif - - #if defined (SAU_INIT_REGION7) && (SAU_INIT_REGION7 == 1U) - SAU_INIT_REGION(7); - #endif - - /* repeat this for all possible SAU regions */ - -#endif /* defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) */ - - - #if defined (SAU_INIT_CTRL) && (SAU_INIT_CTRL == 1U) - SAU->CTRL = ((SAU_INIT_CTRL_ENABLE << SAU_CTRL_ENABLE_Pos) & SAU_CTRL_ENABLE_Msk) | - ((SAU_INIT_CTRL_ALLNS << SAU_CTRL_ALLNS_Pos) & SAU_CTRL_ALLNS_Msk) ; - #endif - - #if defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) - SCB->SCR = (SCB->SCR & ~(SCB_SCR_SLEEPDEEPS_Msk )) | - ((SCB_CSR_DEEPSLEEPS_VAL << SCB_SCR_SLEEPDEEPS_Pos) & SCB_SCR_SLEEPDEEPS_Msk); - - SCB->AIRCR = (SCB->AIRCR & ~(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_SYSRESETREQS_Msk | - SCB_AIRCR_BFHFNMINS_Msk | SCB_AIRCR_PRIS_Msk) ) | - ((0x05FAU << SCB_AIRCR_VECTKEY_Pos) & SCB_AIRCR_VECTKEY_Msk) | - ((SCB_AIRCR_SYSRESETREQS_VAL << SCB_AIRCR_SYSRESETREQS_Pos) & SCB_AIRCR_SYSRESETREQS_Msk) | - ((SCB_AIRCR_PRIS_VAL << SCB_AIRCR_PRIS_Pos) & SCB_AIRCR_PRIS_Msk) | - ((SCB_AIRCR_BFHFNMINS_VAL << SCB_AIRCR_BFHFNMINS_Pos) & SCB_AIRCR_BFHFNMINS_Msk); - #endif /* defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) */ - - #if defined (SCB_ICSR_INIT) && (SCB_ICSR_INIT == 1U) - SCB->ICSR = (SCB->ICSR & ~(SCB_ICSR_STTNS_Msk )) | - ((SCB_ICSR_STTNS_VAL << SCB_ICSR_STTNS_Pos) & SCB_ICSR_STTNS_Msk); - #endif /* defined (SCB_ICSR_INIT) && (SCB_ICSR_INIT == 1U) */ - - #if defined (NVIC_INIT_ITNS0) && (NVIC_INIT_ITNS0 == 1U) - NVIC->ITNS[0] = NVIC_INIT_ITNS0_VAL; - #endif - - #if defined (NVIC_INIT_ITNS1) && (NVIC_INIT_ITNS1 == 1U) - NVIC->ITNS[1] = NVIC_INIT_ITNS1_VAL; - #endif - - #if defined (NVIC_INIT_ITNS2) && (NVIC_INIT_ITNS2 == 1U) - NVIC->ITNS[2] = NVIC_INIT_ITNS2_VAL; - #endif - - #if defined (NVIC_INIT_ITNS3) && (NVIC_INIT_ITNS3 == 1U) - NVIC->ITNS[3] = NVIC_INIT_ITNS3_VAL; - #endif - - #if defined (NVIC_INIT_ITNS4) && (NVIC_INIT_ITNS4 == 1U) - NVIC->ITNS[4] = NVIC_INIT_ITNS4_VAL; - #endif - - #if defined (NVIC_INIT_ITNS5) && (NVIC_INIT_ITNS5 == 1U) - NVIC->ITNS[5] = NVIC_INIT_ITNS5_VAL; - #endif - - #if defined (NVIC_INIT_ITNS6) && (NVIC_INIT_ITNS6 == 1U) - NVIC->ITNS[6] = NVIC_INIT_ITNS6_VAL; - #endif - - #if defined (NVIC_INIT_ITNS7) && (NVIC_INIT_ITNS7 == 1U) - NVIC->ITNS[7] = NVIC_INIT_ITNS7_VAL; - #endif - - /* repeat this for all possible ITNS elements */ - -} - -#endif /* PARTITION_ARMCM23_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCM23/Include/system_ARMCM23.h b/external/CMSIS_5/Device/ARM/ARMCM23/Include/system_ARMCM23.h deleted file mode 100644 index 141692a..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM23/Include/system_ARMCM23.h +++ /dev/null @@ -1,64 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM23.h - * @brief CMSIS Device System Header File for - * ARMCM23 Device - * @version V5.3.3 - * @date 11. July 2022 - ******************************************************************************/ -/* - * Copyright (c) 2009-2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef SYSTEM_ARMCM23_H -#define SYSTEM_ARMCM23_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -/** - \brief Exception / Interrupt Handler Function Prototype -*/ -typedef void(*VECTOR_TABLE_Type)(void); - -/** - \brief System Clock Frequency (Core Clock) -*/ -extern uint32_t SystemCoreClock; - -/** - \brief Setup the microcontroller system. - - Initialize the System and update the SystemCoreClock variable. - */ -extern void SystemInit (void); - - -/** - \brief Update SystemCoreClock variable. - - Updates the SystemCoreClock with current core Clock retrieved from cpu registers. - */ -extern void SystemCoreClockUpdate (void); - -#ifdef __cplusplus -} -#endif - -#endif /* SYSTEM_ARMCM23_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCM23/Source/ARM/ARMCM23_ac6.sct b/external/CMSIS_5/Device/ARM/ARMCM23/Source/ARM/ARMCM23_ac6.sct deleted file mode 100644 index a0317e6..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM23/Source/ARM/ARMCM23_ac6.sct +++ /dev/null @@ -1,123 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m23 -xc -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m23 -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_SIZE 0x200 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE (__RAM_SIZE - __STACK_SIZE - __HEAP_SIZE - __STACKSEAL_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/Device/ARM/ARMCM23/Source/ARM/ARMCM23_ac6_s.sct b/external/CMSIS_5/Device/ARM/ARMCM23/Source/ARM/ARMCM23_ac6_s.sct deleted file mode 100644 index 63b51fb..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM23/Source/ARM/ARMCM23_ac6_s.sct +++ /dev/null @@ -1,123 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m23 -xc -mcmse -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m23 -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_SIZE 0x200 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE ( __RAM_SIZE - __STACK_SIZE - __HEAP_SIZE - __STACKSEAL_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/Device/ARM/ARMCM23/Source/ARM/startup_ARMCM23.S b/external/CMSIS_5/Device/ARM/ARMCM23/Source/ARM/startup_ARMCM23.S deleted file mode 100644 index e1c110f..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM23/Source/ARM/startup_ARMCM23.S +++ /dev/null @@ -1,155 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM23.S - * @brief CMSIS-Core Device Startup File for Cortex-M23 Device - * @version V2.0.0 - * @date 26. May 2021 - ******************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - .syntax unified - .arch armv8-m.base - - #define __INITIAL_SP Image$$ARM_LIB_STACK$$ZI$$Limit - #define __STACK_LIMIT Image$$ARM_LIB_STACK$$ZI$$Base - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #define __STACK_SEAL Image$$STACKSEAL$$ZI$$Base - #endif - - .section RESET - .align 2 - .globl __Vectors - .globl __Vectors_End - .globl __Vectors_Size -__Vectors: - .long __INITIAL_SP /* Initial Stack Pointer */ - .long Reset_Handler /* Reset Handler */ - .long NMI_Handler /* -14 NMI Handler */ - .long HardFault_Handler /* -13 Hard Fault Handler */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long SVC_Handler /* -5 SVCall Handler */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long PendSV_Handler /* -2 PendSV Handler */ - .long SysTick_Handler /* -1 SysTick Handler */ - - /* Interrupts */ - .long Interrupt0_Handler /* 0 Interrupt 0 */ - .long Interrupt1_Handler /* 1 Interrupt 1 */ - .long Interrupt2_Handler /* 2 Interrupt 2 */ - .long Interrupt3_Handler /* 3 Interrupt 3 */ - .long Interrupt4_Handler /* 4 Interrupt 4 */ - .long Interrupt5_Handler /* 5 Interrupt 5 */ - .long Interrupt6_Handler /* 6 Interrupt 6 */ - .long Interrupt7_Handler /* 7 Interrupt 7 */ - .long Interrupt8_Handler /* 8 Interrupt 8 */ - .long Interrupt9_Handler /* 9 Interrupt 9 */ - - .space (214 * 4) /* Interrupts 10 .. 224 are left out */ -__Vectors_End: - .equ __Vectors_Size, __Vectors_End - __Vectors - .size __Vectors, . - __Vectors - - - .thumb - .section .text - .align 2 - - .thumb_func - .type Reset_Handler, %function - .globl Reset_Handler - .fnstart -Reset_Handler: - ldr r0, =__INITIAL_SP - msr psp, r0 - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - ldr r0, =__STACK_LIMIT - msr msplim, r0 - msr psplim, r0 - - ldr r0, =__STACK_SEAL - ldr r1, =0xFEF5EDA5U - str r1,[r0,#0] - str r1,[r0,#4] - #endif - - bl SystemInit - - bl __main - - .fnend - .size Reset_Handler, . - Reset_Handler - - -/* The default macro is not used for HardFault_Handler - * because this results in a poor debug illusion. - */ - .thumb_func - .type HardFault_Handler, %function - .weak HardFault_Handler - .fnstart -HardFault_Handler: - b . - .fnend - .size HardFault_Handler, . - HardFault_Handler - - .thumb_func - .type Default_Handler, %function - .weak Default_Handler - .fnstart -Default_Handler: - b . - .fnend - .size Default_Handler, . - Default_Handler - -/* Macro to define default exception/interrupt handlers. - * Default handler are weak symbols with an endless loop. - * They can be overwritten by real handlers. - */ - .macro Set_Default_Handler Handler_Name - .weak \Handler_Name - .set \Handler_Name, Default_Handler - .endm - - -/* Default exception/interrupt handler */ - - Set_Default_Handler NMI_Handler - Set_Default_Handler SVC_Handler - Set_Default_Handler PendSV_Handler - Set_Default_Handler SysTick_Handler - - Set_Default_Handler Interrupt0_Handler - Set_Default_Handler Interrupt1_Handler - Set_Default_Handler Interrupt2_Handler - Set_Default_Handler Interrupt3_Handler - Set_Default_Handler Interrupt4_Handler - Set_Default_Handler Interrupt5_Handler - Set_Default_Handler Interrupt6_Handler - Set_Default_Handler Interrupt7_Handler - Set_Default_Handler Interrupt8_Handler - Set_Default_Handler Interrupt9_Handler - - .end diff --git a/external/CMSIS_5/Device/ARM/ARMCM23/Source/GCC/gcc_arm.ld b/external/CMSIS_5/Device/ARM/ARMCM23/Source/GCC/gcc_arm.ld deleted file mode 100644 index c8f0efe..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM23/Source/GCC/gcc_arm.ld +++ /dev/null @@ -1,316 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.2.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00040000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00020000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -/* ARMv8-M stack sealing: - to use ARMv8-M stack sealing set __STACKSEAL_SIZE to 8 otherwise keep 0 - */ -__STACKSEAL_SIZE = 0; - - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - * __StackSeal (only if ARMv8-M stack sealing is used) - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ -/* - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH -*/ - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* ARMv8-M stack sealing: - to use ARMv8-M stack sealing uncomment '.stackseal' section - */ -/* - .stackseal (ORIGIN(RAM) + LENGTH(RAM) - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackSeal = .; - . = . + 8; - . = ALIGN(8); - } > RAM -*/ - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/Device/ARM/ARMCM23/Source/GCC/startup_ARMCM23.S b/external/CMSIS_5/Device/ARM/ARMCM23/Source/GCC/startup_ARMCM23.S deleted file mode 100644 index 4373dda..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM23/Source/GCC/startup_ARMCM23.S +++ /dev/null @@ -1,200 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM23.S - * @brief CMSIS-Core Device Startup File for Cortex-M23 Device - * @version V2.2.0 - * @date 26. May 2021 - ******************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - .syntax unified - .arch armv8-m.base - - #define __INITIAL_SP __StackTop - #define __STACK_LIMIT __StackLimit - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #define __STACK_SEAL __StackSeal - #endif - - .section .vectors - .align 2 - .globl __Vectors - .globl __Vectors_End - .globl __Vectors_Size -__Vectors: - .long __INITIAL_SP /* Initial Stack Pointer */ - .long Reset_Handler /* Reset Handler */ - .long NMI_Handler /* -14 NMI Handler */ - .long HardFault_Handler /* -13 Hard Fault Handler */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long SVC_Handler /* -5 SVCall Handler */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long PendSV_Handler /* -2 PendSV Handler */ - .long SysTick_Handler /* -1 SysTick Handler */ - - /* Interrupts */ - .long Interrupt0_Handler /* 0 Interrupt 0 */ - .long Interrupt1_Handler /* 1 Interrupt 1 */ - .long Interrupt2_Handler /* 2 Interrupt 2 */ - .long Interrupt3_Handler /* 3 Interrupt 3 */ - .long Interrupt4_Handler /* 4 Interrupt 4 */ - .long Interrupt5_Handler /* 5 Interrupt 5 */ - .long Interrupt6_Handler /* 6 Interrupt 6 */ - .long Interrupt7_Handler /* 7 Interrupt 7 */ - .long Interrupt8_Handler /* 8 Interrupt 8 */ - .long Interrupt9_Handler /* 9 Interrupt 9 */ - - .space (214 * 4) /* Interrupts 10 .. 224 are left out */ -__Vectors_End: - .equ __Vectors_Size, __Vectors_End - __Vectors - .size __Vectors, . - __Vectors - - - .thumb - .section .text - .align 2 - - .thumb_func - .type Reset_Handler, %function - .globl Reset_Handler - .fnstart -Reset_Handler: - ldr r0, =__INITIAL_SP - msr psp, r0 - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - ldr r0, =__STACK_LIMIT - msr msplim, r0 - msr psplim, r0 - - ldr r0, =__STACK_SEAL - ldr r1, =0xFEF5EDA5U - str r1,[r0,#0] - str r1,[r0,#4] - #endif - - bl SystemInit - - ldr r4, =__copy_table_start__ - ldr r5, =__copy_table_end__ - -.L_loop0: - cmp r4, r5 - bge .L_loop0_done - ldr r1, [r4] /* source address */ - ldr r2, [r4, #4] /* destination address */ - ldr r3, [r4, #8] /* word count */ - lsls r3, r3, #2 /* byte count */ - -.L_loop0_0: - subs r3, #4 /* decrement byte count */ - blt .L_loop0_0_done - ldr r0, [r1, r3] - str r0, [r2, r3] - b .L_loop0_0 - -.L_loop0_0_done: - adds r4, #12 - b .L_loop0 -.L_loop0_done: - - ldr r3, =__zero_table_start__ - ldr r4, =__zero_table_end__ - -.L_loop2: - cmp r3, r4 - bge .L_loop2_done - ldr r1, [r3] /* destination address */ - ldr r2, [r3, #4] /* word count */ - lsls r2, r2, #2 /* byte count */ - movs r0, 0 - -.L_loop2_0: - subs r2, #4 /* decrement byte count */ - blt .L_loop2_0_done - str r0, [r1, r2] - b .L_loop2_0 -.L_loop2_0_done: - - adds r3, #8 - b .L_loop2 -.L_loop2_done: - - bl _start - - .fnend - .size Reset_Handler, . - Reset_Handler - - -/* The default macro is not used for HardFault_Handler - * because this results in a poor debug illusion. - */ - .thumb_func - .type HardFault_Handler, %function - .weak HardFault_Handler - .fnstart -HardFault_Handler: - b . - .fnend - .size HardFault_Handler, . - HardFault_Handler - - .thumb_func - .type Default_Handler, %function - .weak Default_Handler - .fnstart -Default_Handler: - b . - .fnend - .size Default_Handler, . - Default_Handler - -/* Macro to define default exception/interrupt handlers. - * Default handler are weak symbols with an endless loop. - * They can be overwritten by real handlers. - */ - .macro Set_Default_Handler Handler_Name - .weak \Handler_Name - .set \Handler_Name, Default_Handler - .endm - - -/* Default exception/interrupt handler */ - - Set_Default_Handler NMI_Handler - Set_Default_Handler SVC_Handler - Set_Default_Handler PendSV_Handler - Set_Default_Handler SysTick_Handler - - Set_Default_Handler Interrupt0_Handler - Set_Default_Handler Interrupt1_Handler - Set_Default_Handler Interrupt2_Handler - Set_Default_Handler Interrupt3_Handler - Set_Default_Handler Interrupt4_Handler - Set_Default_Handler Interrupt5_Handler - Set_Default_Handler Interrupt6_Handler - Set_Default_Handler Interrupt7_Handler - Set_Default_Handler Interrupt8_Handler - Set_Default_Handler Interrupt9_Handler - - .end diff --git a/external/CMSIS_5/Device/ARM/ARMCM23/Source/IAR/startup_ARMCM23.s b/external/CMSIS_5/Device/ARM/ARMCM23/Source/IAR/startup_ARMCM23.s deleted file mode 100644 index 994bd53..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM23/Source/IAR/startup_ARMCM23.s +++ /dev/null @@ -1,168 +0,0 @@ -;/**************************************************************************//** -; * @file startup_ARMCM23.s -; * @brief CMSIS Core Device Startup File for -; * ARMCM23 Device -; * @version V1.1.0 -; * @date 08. April 2021 -; ******************************************************************************/ -;/* -; * Copyright (c) 2009-2021 Arm Limited. All rights reserved. -; * -; * SPDX-License-Identifier: Apache-2.0 -; * -; * Licensed under the Apache License, Version 2.0 (the License); you may -; * not use this file except in compliance with the License. -; * You may obtain a copy of the License at -; * -; * www.apache.org/licenses/LICENSE-2.0 -; * -; * Unless required by applicable law or agreed to in writing, software -; * distributed under the License is distributed on an AS IS BASIS, WITHOUT -; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; * See the License for the specific language governing permissions and -; * limitations under the License. -; */ - -; -; The modules in this file are included in the libraries, and may be replaced -; by any user-defined modules that define the PUBLIC symbol _program_start or -; a user defined start symbol. -; To override the cstartup defined in the library, simply add your modified -; version to the workbench project. -; -; The vector table is normally located at address 0. -; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. -; The name "__vector_table" has special meaning for C-SPY: -; it is where the SP start value is found, and the NVIC vector -; table register (VTOR) is initialized to this address if != 0. -; -; Cortex-M version -; - - MODULE ?cstartup - - ;; Forward declaration of sections. - SECTION CSTACK:DATA:NOROOT(3) - - SECTION .intvec:CODE:NOROOT(2) - - EXTERN __iar_program_start - EXTERN SystemInit - PUBLIC __vector_table - PUBLIC __vector_table_0x1c - PUBLIC __Vectors - PUBLIC __Vectors_End - PUBLIC __Vectors_Size - - #define __INITIAL_SP sfe(CSTACK) - #define __STACK_LIMIT sfb(CSTACK) - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - SECTION STACKSEAL:DATA:NOROOT(3) - #define __STACK_SEAL sfb(STACKSEAL) - #endif - - DATA - -__vector_table - DCD __INITIAL_SP ; Top of Stack - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; -14 NMI Handler - DCD HardFault_Handler ; -13 Hard Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved -__vector_table_0x1c - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; -5 SVCall Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD PendSV_Handler ; -2 PendSV Handler - DCD SysTick_Handler ; -1 SysTick Handler - - ; Interrupts - DCD Interrupt0_Handler ; 0 Interrupt 0 - DCD Interrupt1_Handler ; 1 Interrupt 1 - DCD Interrupt2_Handler ; 2 Interrupt 2 - DCD Interrupt3_Handler ; 3 Interrupt 3 - DCD Interrupt4_Handler ; 4 Interrupt 4 - DCD Interrupt5_Handler ; 5 Interrupt 5 - DCD Interrupt6_Handler ; 6 Interrupt 6 - DCD Interrupt7_Handler ; 7 Interrupt 7 - DCD Interrupt8_Handler ; 8 Interrupt 8 - DCD Interrupt9_Handler ; 9 Interrupt 9 - - DS32 (214) ; Interrupts 10 .. 224 are left out -__Vectors_End - -__Vectors EQU __vector_table -__Vectors_Size EQU __Vectors_End - __Vectors - - - THUMB - -; Reset Handler - - PUBWEAK Reset_Handler - SECTION .text:CODE:REORDER:NOROOT(2) -Reset_Handler - ldr r0, =__INITIAL_SP - msr psp, r0 - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - ldr r0, =__STACK_LIMIT - msr msplim, r0 - msr psplim, r0 - - ldr r0, =__STACK_SEAL - ldr r1, =0xFEF5EDA5U - str r1,[r0,#0] - str r1,[r0,#4] - #endif - - LDR R0, =SystemInit - BLX R0 - LDR R0, =__iar_program_start - BX R0 - - - PUBWEAK NMI_Handler - PUBWEAK HardFault_Handler - PUBWEAK SVC_Handler - PUBWEAK PendSV_Handler - PUBWEAK SysTick_Handler - - PUBWEAK Interrupt0_Handler - PUBWEAK Interrupt1_Handler - PUBWEAK Interrupt2_Handler - PUBWEAK Interrupt3_Handler - PUBWEAK Interrupt4_Handler - PUBWEAK Interrupt5_Handler - PUBWEAK Interrupt6_Handler - PUBWEAK Interrupt7_Handler - PUBWEAK Interrupt8_Handler - PUBWEAK Interrupt9_Handler - SECTION .text:CODE:REORDER:NOROOT(1) -NMI_Handler -HardFault_Handler -SVC_Handler -PendSV_Handler -SysTick_Handler - -Interrupt0_Handler -Interrupt1_Handler -Interrupt2_Handler -Interrupt3_Handler -Interrupt4_Handler -Interrupt5_Handler -Interrupt6_Handler -Interrupt7_Handler -Interrupt8_Handler -Interrupt9_Handler -Default_Handler - B . - - - END diff --git a/external/CMSIS_5/Device/ARM/ARMCM23/Source/startup_ARMCM23.c b/external/CMSIS_5/Device/ARM/ARMCM23/Source/startup_ARMCM23.c deleted file mode 100644 index 080c7a8..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM23/Source/startup_ARMCM23.c +++ /dev/null @@ -1,161 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM23.c - * @brief CMSIS-Core Device Startup File for a Cortex-M23 Device - * @version V2.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM23) - #include "ARMCM23.h" -#elif defined (ARMCM23_TZ) - #include "ARMCM23_TZ.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVCall Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 223 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/Device/ARM/ARMCM23/Source/system_ARMCM23.c b/external/CMSIS_5/Device/ARM/ARMCM23/Source/system_ARMCM23.c deleted file mode 100644 index 3381c1f..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM23/Source/system_ARMCM23.c +++ /dev/null @@ -1,80 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM23.c - * @brief CMSIS Device System Source File for - * ARMCM23 Device - * @version V1.0.1 - * @date 15. November 2019 - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM23) - #include "ARMCM23.h" -#elif defined (ARMCM23_TZ) - #include "ARMCM23_TZ.h" - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM23.h" - #endif -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t) &(__VECTOR_TABLE[0]); -#endif - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - TZ_SAU_Setup(); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/Device/ARM/ARMCM3/Include/ARMCM3.h b/external/CMSIS_5/Device/ARM/ARMCM3/Include/ARMCM3.h deleted file mode 100644 index b7232a8..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM3/Include/ARMCM3.h +++ /dev/null @@ -1,127 +0,0 @@ -/**************************************************************************//** - * @file ARMCM3.h - * @brief CMSIS Core Peripheral Access Layer Header File for - * ARMCM3 Device - * @version V5.3.2 - * @date 01. May 2023 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ARMCM3_H -#define ARMCM3_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* ------------------------- Interrupt Number Definition ------------------------ */ - -typedef enum IRQn -{ -/* ------------------- Processor Exceptions Numbers ----------------------------- */ - NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /* 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /* 4 Memory Management Interrupt */ - BusFault_IRQn = -11, /* 5 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /* 6 Usage Fault Interrupt */ - SVCall_IRQn = -5, /* 11 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /* 12 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /* 14 Pend SV Interrupt */ - SysTick_IRQn = -1, /* 15 System Tick Interrupt */ - -/* ------------------- Processor Interrupt Numbers ------------------------------ */ - Interrupt0_IRQn = 0, - Interrupt1_IRQn = 1, - Interrupt2_IRQn = 2, - Interrupt3_IRQn = 3, - Interrupt4_IRQn = 4, - Interrupt5_IRQn = 5, - Interrupt6_IRQn = 6, - Interrupt7_IRQn = 7, - Interrupt8_IRQn = 8, - Interrupt9_IRQn = 9, - /* Interrupts 10 .. 223 are left out */ - Interrupt224_IRQn = 224 -} IRQn_Type; - - -/* ================================================================================ */ -/* ================ Processor and Core Peripheral Section ================ */ -/* ================================================================================ */ - -/* ------- Start of section using anonymous unions and disabling warnings ------- */ -#if defined (__CC_ARM) - #pragma push - #pragma anon_unions -#elif defined (__ICCARM__) - #pragma language=extended -#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wc11-extensions" - #pragma clang diagnostic ignored "-Wreserved-id-macro" -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning 586 -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -/* -------- Configuration of Core Peripherals ----------------------------------- */ -#define __CM3_REV 0x0201U /* Core revision r2p1 */ -#define __MPU_PRESENT 1U /* MPU present */ -#define __VTOR_PRESENT 1U /* VTOR present */ -#define __NVIC_PRIO_BITS 3U /* Number of Bits used for Priority Levels */ -#define __Vendor_SysTickConfig 0U /* Set to 1 if different SysTick Config is used */ - -#include "core_cm3.h" /* Processor and core peripherals */ -#include "system_ARMCM3.h" /* System Header */ - - -/* -------- End of section using anonymous unions and disabling warnings -------- */ -#if defined (__CC_ARM) - #pragma pop -#elif defined (__ICCARM__) - /* leave anonymous unions enabled */ -#elif (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) - #pragma clang diagnostic pop -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning restore -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* ARMCM3_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCM3/Include/system_ARMCM3.h b/external/CMSIS_5/Device/ARM/ARMCM3/Include/system_ARMCM3.h deleted file mode 100644 index 43fd906..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM3/Include/system_ARMCM3.h +++ /dev/null @@ -1,64 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM3.h - * @brief CMSIS Device System Header File for - * ARMCM3 Device - * @version V5.3.3 - * @date 11. July 2022 - ******************************************************************************/ -/* - * Copyright (c) 2009-2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef SYSTEM_ARMCM3_H -#define SYSTEM_ARMCM3_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -/** - \brief Exception / Interrupt Handler Function Prototype -*/ -typedef void(*VECTOR_TABLE_Type)(void); - -/** - \brief System Clock Frequency (Core Clock) -*/ -extern uint32_t SystemCoreClock; - -/** - \brief Setup the microcontroller system. - - Initialize the System and update the SystemCoreClock variable. - */ -extern void SystemInit (void); - - -/** - \brief Update SystemCoreClock variable. - - Updates the SystemCoreClock with current core Clock retrieved from cpu registers. - */ -extern void SystemCoreClockUpdate (void); - -#ifdef __cplusplus -} -#endif - -#endif /* SYSTEM_ARMCM3_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCM3/Source/ARM/ARMCM3_ac5.sct b/external/CMSIS_5/Device/ARM/ARMCM3/Source/ARM/ARMCM3_ac5.sct deleted file mode 100644 index e3b09b5..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM3/Source/ARM/ARMCM3_ac5.sct +++ /dev/null @@ -1,80 +0,0 @@ -#! armcc -E -; command above MUST be in first line (no comment above!) - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE) /* starts at end of RAM */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - - -/*---------------------------------------------------------------------------- - Scatter File Definitions definition - *----------------------------------------------------------------------------*/ -#define __RO_BASE __ROM_BASE -#define __RO_SIZE __ROM_SIZE - -#define __RW_BASE __RAM_BASE -#define __RW_SIZE (__RAM_SIZE - __STACK_SIZE - __HEAP_SIZE) - - -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } -} diff --git a/external/CMSIS_5/Device/ARM/ARMCM3/Source/ARM/ARMCM3_ac6.sct b/external/CMSIS_5/Device/ARM/ARMCM3/Source/ARM/ARMCM3_ac6.sct deleted file mode 100644 index 4309a0b..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM3/Source/ARM/ARMCM3_ac6.sct +++ /dev/null @@ -1,80 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m3 -xc -; command above MUST be in first line (no comment above!) - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE) /* starts at end of RAM */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - - -/*---------------------------------------------------------------------------- - Scatter File Definitions definition - *----------------------------------------------------------------------------*/ -#define __RO_BASE __ROM_BASE -#define __RO_SIZE __ROM_SIZE - -#define __RW_BASE __RAM_BASE -#define __RW_SIZE (__RAM_SIZE - __STACK_SIZE - __HEAP_SIZE) - - -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } -} diff --git a/external/CMSIS_5/Device/ARM/ARMCM3/Source/ARM/startup_ARMCM3.s b/external/CMSIS_5/Device/ARM/ARMCM3/Source/ARM/startup_ARMCM3.s deleted file mode 100644 index 7cba048..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM3/Source/ARM/startup_ARMCM3.s +++ /dev/null @@ -1,172 +0,0 @@ -;/**************************************************************************//** -; * @file startup_ARMCM3.s -; * @brief CMSIS Core Device Startup File for -; * ARMCM3 Device -; * @version V1.0.1 -; * @date 23. July 2019 -; ******************************************************************************/ -;/* -; * Copyright (c) 2009-2019 Arm Limited. All rights reserved. -; * -; * SPDX-License-Identifier: Apache-2.0 -; * -; * Licensed under the Apache License, Version 2.0 (the License); you may -; * not use this file except in compliance with the License. -; * You may obtain a copy of the License at -; * -; * www.apache.org/licenses/LICENSE-2.0 -; * -; * Unless required by applicable law or agreed to in writing, software -; * distributed under the License is distributed on an AS IS BASIS, WITHOUT -; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; * See the License for the specific language governing permissions and -; * limitations under the License. -; */ - -;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ - - -; Stack Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Stack_Size EQU 0x00000400 - - AREA STACK, NOINIT, READWRITE, ALIGN=3 -__stack_limit -Stack_Mem SPACE Stack_Size -__initial_sp - - -; Heap Configuration -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Heap_Size EQU 0x00000C00 - - IF Heap_Size != 0 ; Heap is provided - AREA HEAP, NOINIT, READWRITE, ALIGN=3 -__heap_base -Heap_Mem SPACE Heap_Size -__heap_limit - ENDIF - - - PRESERVE8 - THUMB - - -; Vector Table Mapped to Address 0 at Reset - - AREA RESET, DATA, READONLY - EXPORT __Vectors - EXPORT __Vectors_End - EXPORT __Vectors_Size - -__Vectors DCD __initial_sp ; Top of Stack - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; -14 NMI Handler - DCD HardFault_Handler ; -13 Hard Fault Handler - DCD MemManage_Handler ; -12 MPU Fault Handler - DCD BusFault_Handler ; -11 Bus Fault Handler - DCD UsageFault_Handler ; -10 Usage Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; -5 SVC Handler - DCD DebugMon_Handler ; -4 Debug Monitor Handler - DCD 0 ; Reserved - DCD PendSV_Handler ; -2 PendSV Handler - DCD SysTick_Handler ; -1 SysTick Handler - - ; Interrupts - DCD Interrupt0_Handler ; 0 Interrupt 0 - DCD Interrupt1_Handler ; 1 Interrupt 1 - DCD Interrupt2_Handler ; 2 Interrupt 2 - DCD Interrupt3_Handler ; 3 Interrupt 3 - DCD Interrupt4_Handler ; 4 Interrupt 4 - DCD Interrupt5_Handler ; 5 Interrupt 5 - DCD Interrupt6_Handler ; 6 Interrupt 6 - DCD Interrupt7_Handler ; 7 Interrupt 7 - DCD Interrupt8_Handler ; 8 Interrupt 8 - DCD Interrupt9_Handler ; 9 Interrupt 9 - - SPACE (214 * 4) ; Interrupts 10 .. 224 are left out -__Vectors_End -__Vectors_Size EQU __Vectors_End - __Vectors - - - AREA |.text|, CODE, READONLY - -; Reset Handler - -Reset_Handler PROC - EXPORT Reset_Handler [WEAK] - IMPORT SystemInit - IMPORT __main - - LDR R0, =SystemInit - BLX R0 - LDR R0, =__main - BX R0 - ENDP - -; The default macro is not used for HardFault_Handler -; because this results in a poor debug illusion. -HardFault_Handler PROC - EXPORT HardFault_Handler [WEAK] - B . - ENDP - -; Macro to define default exception/interrupt handlers. -; Default handler are weak symbols with an endless loop. -; They can be overwritten by real handlers. - MACRO - Set_Default_Handler $Handler_Name -$Handler_Name PROC - EXPORT $Handler_Name [WEAK] - B . - ENDP - MEND - - -; Default exception/interrupt handler - - Set_Default_Handler NMI_Handler - Set_Default_Handler MemManage_Handler - Set_Default_Handler BusFault_Handler - Set_Default_Handler UsageFault_Handler - Set_Default_Handler SVC_Handler - Set_Default_Handler DebugMon_Handler - Set_Default_Handler PendSV_Handler - Set_Default_Handler SysTick_Handler - - Set_Default_Handler Interrupt0_Handler - Set_Default_Handler Interrupt1_Handler - Set_Default_Handler Interrupt2_Handler - Set_Default_Handler Interrupt3_Handler - Set_Default_Handler Interrupt4_Handler - Set_Default_Handler Interrupt5_Handler - Set_Default_Handler Interrupt6_Handler - Set_Default_Handler Interrupt7_Handler - Set_Default_Handler Interrupt8_Handler - Set_Default_Handler Interrupt9_Handler - - ALIGN - - -; User setup Stack & Heap - - IF :LNOT::DEF:__MICROLIB - IMPORT __use_two_region_memory - ENDIF - - EXPORT __stack_limit - EXPORT __initial_sp - IF Heap_Size != 0 ; Heap is provided - EXPORT __heap_base - EXPORT __heap_limit - ENDIF - - END diff --git a/external/CMSIS_5/Device/ARM/ARMCM3/Source/GCC/gcc_arm.ld b/external/CMSIS_5/Device/ARM/ARMCM3/Source/GCC/gcc_arm.ld deleted file mode 100644 index 7498908..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM3/Source/GCC/gcc_arm.ld +++ /dev/null @@ -1,296 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.1.0 - * @date 04. August 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00040000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00020000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ -/* - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH -*/ - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/Device/ARM/ARMCM3/Source/GCC/startup_ARMCM3.S b/external/CMSIS_5/Device/ARM/ARMCM3/Source/GCC/startup_ARMCM3.S deleted file mode 100644 index da11f51..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM3/Source/GCC/startup_ARMCM3.S +++ /dev/null @@ -1,182 +0,0 @@ -/**************************************************************************//** - * @file startup_ARMCM3.S - * @brief CMSIS-Core(M) Device Startup File for Cortex-M3 Device - * @version V2.2.0 - * @date 26. May 2021 - ******************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - .syntax unified - .arch armv7-m - - .section .vectors - .align 2 - .globl __Vectors - .globl __Vectors_End - .globl __Vectors_Size -__Vectors: - .long __StackTop /* Top of Stack */ - .long Reset_Handler /* Reset Handler */ - .long NMI_Handler /* -14 NMI Handler */ - .long HardFault_Handler /* -13 Hard Fault Handler */ - .long MemManage_Handler /* -12 MPU Fault Handler */ - .long BusFault_Handler /* -11 Bus Fault Handler */ - .long UsageFault_Handler /* -10 Usage Fault Handler */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long SVC_Handler /* -5 SVC Handler */ - .long DebugMon_Handler /* -4 Debug Monitor Handler */ - .long 0 /* Reserved */ - .long PendSV_Handler /* -2 PendSV Handler */ - .long SysTick_Handler /* -1 SysTick Handler */ - - /* Interrupts */ - .long Interrupt0_Handler /* 0 Interrupt 0 */ - .long Interrupt1_Handler /* 1 Interrupt 1 */ - .long Interrupt2_Handler /* 2 Interrupt 2 */ - .long Interrupt3_Handler /* 3 Interrupt 3 */ - .long Interrupt4_Handler /* 4 Interrupt 4 */ - .long Interrupt5_Handler /* 5 Interrupt 5 */ - .long Interrupt6_Handler /* 6 Interrupt 6 */ - .long Interrupt7_Handler /* 7 Interrupt 7 */ - .long Interrupt8_Handler /* 8 Interrupt 8 */ - .long Interrupt9_Handler /* 9 Interrupt 9 */ - - .space (214 * 4) /* Interrupts 10 .. 224 are left out */ -__Vectors_End: - .equ __Vectors_Size, __Vectors_End - __Vectors - .size __Vectors, . - __Vectors - - - .thumb - .section .text - .align 2 - - .thumb_func - .type Reset_Handler, %function - .globl Reset_Handler - .fnstart -Reset_Handler: - bl SystemInit - - ldr r4, =__copy_table_start__ - ldr r5, =__copy_table_end__ - -.L_loop0: - cmp r4, r5 - bge .L_loop0_done - ldr r1, [r4] /* source address */ - ldr r2, [r4, #4] /* destination address */ - ldr r3, [r4, #8] /* word count */ - lsls r3, r3, #2 /* byte count */ - -.L_loop0_0: - subs r3, #4 /* decrement byte count */ - ittt ge - ldrge r0, [r1, r3] - strge r0, [r2, r3] - bge .L_loop0_0 - - adds r4, #12 - b .L_loop0 -.L_loop0_done: - - ldr r3, =__zero_table_start__ - ldr r4, =__zero_table_end__ - -.L_loop2: - cmp r3, r4 - bge .L_loop2_done - ldr r1, [r3] /* destination address */ - ldr r2, [r3, #4] /* word count */ - lsls r2, r2, #2 /* byte count */ - movs r0, 0 - -.L_loop2_0: - subs r2, #4 /* decrement byte count */ - itt ge - strge r0, [r1, r2] - bge .L_loop2_0 - - adds r3, #8 - b .L_loop2 -.L_loop2_done: - - bl _start - - .fnend - .size Reset_Handler, . - Reset_Handler - -/* The default macro is not used for HardFault_Handler - * because this results in a poor debug illusion. - */ - .thumb_func - .type HardFault_Handler, %function - .weak HardFault_Handler - .fnstart -HardFault_Handler: - b . - .fnend - .size HardFault_Handler, . - HardFault_Handler - - .thumb_func - .type Default_Handler, %function - .weak Default_Handler - .fnstart -Default_Handler: - b . - .fnend - .size Default_Handler, . - Default_Handler - -/* Macro to define default exception/interrupt handlers. - * Default handler are weak symbols with an endless loop. - * They can be overwritten by real handlers. - */ - .macro Set_Default_Handler Handler_Name - .weak \Handler_Name - .set \Handler_Name, Default_Handler - .endm - - -/* Default exception/interrupt handler */ - - Set_Default_Handler NMI_Handler - Set_Default_Handler MemManage_Handler - Set_Default_Handler BusFault_Handler - Set_Default_Handler UsageFault_Handler - Set_Default_Handler SVC_Handler - Set_Default_Handler DebugMon_Handler - Set_Default_Handler PendSV_Handler - Set_Default_Handler SysTick_Handler - - Set_Default_Handler Interrupt0_Handler - Set_Default_Handler Interrupt1_Handler - Set_Default_Handler Interrupt2_Handler - Set_Default_Handler Interrupt3_Handler - Set_Default_Handler Interrupt4_Handler - Set_Default_Handler Interrupt5_Handler - Set_Default_Handler Interrupt6_Handler - Set_Default_Handler Interrupt7_Handler - Set_Default_Handler Interrupt8_Handler - Set_Default_Handler Interrupt9_Handler - - - .end diff --git a/external/CMSIS_5/Device/ARM/ARMCM3/Source/IAR/startup_ARMCM3.s b/external/CMSIS_5/Device/ARM/ARMCM3/Source/IAR/startup_ARMCM3.s deleted file mode 100644 index 90202f5..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM3/Source/IAR/startup_ARMCM3.s +++ /dev/null @@ -1,155 +0,0 @@ -;/**************************************************************************//** -; * @file startup_ARMCM3.s -; * @brief CMSIS Core Device Startup File for -; * ARMCM3 Device -; * @version V1.0.0 -; * @date 09. July 2018 -; ******************************************************************************/ -;/* -; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. -; * -; * SPDX-License-Identifier: Apache-2.0 -; * -; * Licensed under the Apache License, Version 2.0 (the License); you may -; * not use this file except in compliance with the License. -; * You may obtain a copy of the License at -; * -; * www.apache.org/licenses/LICENSE-2.0 -; * -; * Unless required by applicable law or agreed to in writing, software -; * distributed under the License is distributed on an AS IS BASIS, WITHOUT -; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; * See the License for the specific language governing permissions and -; * limitations under the License. -; */ - -; -; The modules in this file are included in the libraries, and may be replaced -; by any user-defined modules that define the PUBLIC symbol _program_start or -; a user defined start symbol. -; To override the cstartup defined in the library, simply add your modified -; version to the workbench project. -; -; The vector table is normally located at address 0. -; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. -; The name "__vector_table" has special meaning for C-SPY: -; it is where the SP start value is found, and the NVIC vector -; table register (VTOR) is initialized to this address if != 0. -; -; Cortex-M version -; - - MODULE ?cstartup - - ;; Forward declaration of sections. - SECTION CSTACK:DATA:NOROOT(3) - - SECTION .intvec:CODE:NOROOT(2) - - EXTERN __iar_program_start - EXTERN SystemInit - PUBLIC __vector_table - PUBLIC __vector_table_0x1c - PUBLIC __Vectors - PUBLIC __Vectors_End - PUBLIC __Vectors_Size - - DATA - -__vector_table - DCD sfe(CSTACK) ; Top of Stack - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; -14 NMI Handler - DCD HardFault_Handler ; -13 Hard Fault Handler - DCD MemManage_Handler ; -12 MPU Fault Handler - DCD BusFault_Handler ; -11 Bus Fault Handler - DCD UsageFault_Handler ; -10 Usage Fault Handler -__vector_table_0x1c - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; -5 SVC Handler - DCD DebugMon_Handler ; -4 Debug Monitor Handler - DCD 0 ; Reserved - DCD PendSV_Handler ; -2 PendSV Handler - DCD SysTick_Handler ; -1 SysTick Handler - - ; Interrupts - DCD Interrupt0_Handler ; 0 Interrupt 0 - DCD Interrupt1_Handler ; 1 Interrupt 1 - DCD Interrupt2_Handler ; 2 Interrupt 2 - DCD Interrupt3_Handler ; 3 Interrupt 3 - DCD Interrupt4_Handler ; 4 Interrupt 4 - DCD Interrupt5_Handler ; 5 Interrupt 5 - DCD Interrupt6_Handler ; 6 Interrupt 6 - DCD Interrupt7_Handler ; 7 Interrupt 7 - DCD Interrupt8_Handler ; 8 Interrupt 8 - DCD Interrupt9_Handler ; 9 Interrupt 9 - - DS32 (214) ; Interrupts 10 .. 224 are left out -__Vectors_End - -__Vectors EQU __vector_table -__Vectors_Size EQU __Vectors_End - __Vectors - - - THUMB - -; Reset Handler - - PUBWEAK Reset_Handler - SECTION .text:CODE:REORDER:NOROOT(2) -Reset_Handler - LDR R0, =SystemInit - BLX R0 - LDR R0, =__iar_program_start - BX R0 - - - PUBWEAK NMI_Handler - PUBWEAK HardFault_Handler - PUBWEAK MemManage_Handler - PUBWEAK BusFault_Handler - PUBWEAK UsageFault_Handler - PUBWEAK SVC_Handler - PUBWEAK DebugMon_Handler - PUBWEAK PendSV_Handler - PUBWEAK SysTick_Handler - - PUBWEAK Interrupt0_Handler - PUBWEAK Interrupt1_Handler - PUBWEAK Interrupt2_Handler - PUBWEAK Interrupt3_Handler - PUBWEAK Interrupt4_Handler - PUBWEAK Interrupt5_Handler - PUBWEAK Interrupt6_Handler - PUBWEAK Interrupt7_Handler - PUBWEAK Interrupt8_Handler - PUBWEAK Interrupt9_Handler - SECTION .text:CODE:REORDER:NOROOT(1) -NMI_Handler -HardFault_Handler -MemManage_Handler -BusFault_Handler -UsageFault_Handler -SVC_Handler -DebugMon_Handler -PendSV_Handler -SysTick_Handler - -Interrupt0_Handler -Interrupt1_Handler -Interrupt2_Handler -Interrupt3_Handler -Interrupt4_Handler -Interrupt5_Handler -Interrupt6_Handler -Interrupt7_Handler -Interrupt8_Handler -Interrupt9_Handler -Default_Handler - B . - - - END diff --git a/external/CMSIS_5/Device/ARM/ARMCM3/Source/startup_ARMCM3.c b/external/CMSIS_5/Device/ARM/ARMCM3/Source/startup_ARMCM3.c deleted file mode 100644 index b541573..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM3/Source/startup_ARMCM3.c +++ /dev/null @@ -1,150 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM3.c - * @brief CMSIS-Core(M) Device Startup File for a Cortex-M3 Device - * @version V2.0.3 - * @date 31. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM3) - #include "ARMCM3.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 223 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/Device/ARM/ARMCM3/Source/system_ARMCM3.c b/external/CMSIS_5/Device/ARM/ARMCM3/Source/system_ARMCM3.c deleted file mode 100644 index 3c5eda7..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM3/Source/system_ARMCM3.c +++ /dev/null @@ -1,65 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM3.c - * @brief CMSIS Device System Source File for - * ARMCM3 Device - * @version V1.0.1 - * @date 15. November 2019 - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "ARMCM3.h" - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t) &(__VECTOR_TABLE[0]); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/Device/ARM/ARMCM33/Include/ARMCM33.h b/external/CMSIS_5/Device/ARM/ARMCM33/Include/ARMCM33.h deleted file mode 100644 index 4530765..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM33/Include/ARMCM33.h +++ /dev/null @@ -1,131 +0,0 @@ -/**************************************************************************//** - * @file ARMCM33.h - * @brief CMSIS Core Peripheral Access Layer Header File for - * ARMCM33 Device (configured for ARMCM33 without FPU, without DSP extension, without TrustZone) - * @version V5.3.2 - * @date 01. May 2023 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ARMCM33_H -#define ARMCM33_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* ------------------------- Interrupt Number Definition ------------------------ */ - -typedef enum IRQn -{ -/* ------------------- Processor Exceptions Numbers ----------------------------- */ - NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /* 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /* 4 Memory Management Interrupt */ - BusFault_IRQn = -11, /* 5 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /* 6 Usage Fault Interrupt */ - SecureFault_IRQn = -9, /* 7 Secure Fault Interrupt */ - SVCall_IRQn = -5, /* 11 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /* 12 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /* 14 Pend SV Interrupt */ - SysTick_IRQn = -1, /* 15 System Tick Interrupt */ - -/* ------------------- Processor Interrupt Numbers ------------------------------ */ - Interrupt0_IRQn = 0, - Interrupt1_IRQn = 1, - Interrupt2_IRQn = 2, - Interrupt3_IRQn = 3, - Interrupt4_IRQn = 4, - Interrupt5_IRQn = 5, - Interrupt6_IRQn = 6, - Interrupt7_IRQn = 7, - Interrupt8_IRQn = 8, - Interrupt9_IRQn = 9, - /* Interrupts 10 .. 479 are left out */ - Interrupt480_IRQn = 480 -} IRQn_Type; - - -/* ================================================================================ */ -/* ================ Processor and Core Peripheral Section ================ */ -/* ================================================================================ */ - -/* ------- Start of section using anonymous unions and disabling warnings ------- */ -#if defined (__CC_ARM) - #pragma push - #pragma anon_unions -#elif defined (__ICCARM__) - #pragma language=extended -#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wc11-extensions" - #pragma clang diagnostic ignored "-Wreserved-id-macro" -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning 586 -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -/* -------- Configuration of Core Peripherals ----------------------------------- */ -#define __CM33_REV 0x0000U /* Core revision r0p1 */ -#define __SAUREGION_PRESENT 0U /* SAU regions present */ -#define __MPU_PRESENT 1U /* MPU present */ -#define __VTOR_PRESENT 1U /* VTOR present */ -#define __NVIC_PRIO_BITS 3U /* Number of Bits used for Priority Levels */ -#define __Vendor_SysTickConfig 0U /* Set to 1 if different SysTick Config is used */ -#define __FPU_PRESENT 0U /* no FPU present */ -#define __DSP_PRESENT 0U /* no DSP extension present */ - -#include "core_cm33.h" /* Processor and core peripherals */ -#include "system_ARMCM33.h" /* System Header */ - - -/* -------- End of section using anonymous unions and disabling warnings -------- */ -#if defined (__CC_ARM) - #pragma pop -#elif defined (__ICCARM__) - /* leave anonymous unions enabled */ -#elif (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) - #pragma clang diagnostic pop -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning restore -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* ARMCM33_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCM33/Include/ARMCM33_DSP_FP.h b/external/CMSIS_5/Device/ARM/ARMCM33/Include/ARMCM33_DSP_FP.h deleted file mode 100644 index fe486e4..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM33/Include/ARMCM33_DSP_FP.h +++ /dev/null @@ -1,131 +0,0 @@ -/**************************************************************************//** - * @file ARMCM33_DSP_FP.h - * @brief CMSIS Core Peripheral Access Layer Header File for - * ARMCM33 Device (configured for ARMCM33 with FPU, with DSP extension) - * @version V5.3.2 - * @date 01. May 2023 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ARMCM33_DSP_FP_H -#define ARMCM33_DSP_FP_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* ------------------------- Interrupt Number Definition ------------------------ */ - -typedef enum IRQn -{ -/* ------------------- Processor Exceptions Numbers ----------------------------- */ - NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /* 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /* 4 Memory Management Interrupt */ - BusFault_IRQn = -11, /* 5 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /* 6 Usage Fault Interrupt */ - SecureFault_IRQn = -9, /* 7 Secure Fault Interrupt */ - SVCall_IRQn = -5, /* 11 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /* 12 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /* 14 Pend SV Interrupt */ - SysTick_IRQn = -1, /* 15 System Tick Interrupt */ - -/* ------------------- Processor Interrupt Numbers ------------------------------ */ - Interrupt0_IRQn = 0, - Interrupt1_IRQn = 1, - Interrupt2_IRQn = 2, - Interrupt3_IRQn = 3, - Interrupt4_IRQn = 4, - Interrupt5_IRQn = 5, - Interrupt6_IRQn = 6, - Interrupt7_IRQn = 7, - Interrupt8_IRQn = 8, - Interrupt9_IRQn = 9, - /* Interrupts 10 .. 479 are left out */ - Interrupt480_IRQn = 480 -} IRQn_Type; - - -/* ================================================================================ */ -/* ================ Processor and Core Peripheral Section ================ */ -/* ================================================================================ */ - -/* ------- Start of section using anonymous unions and disabling warnings ------- */ -#if defined (__CC_ARM) - #pragma push - #pragma anon_unions -#elif defined (__ICCARM__) - #pragma language=extended -#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wc11-extensions" - #pragma clang diagnostic ignored "-Wreserved-id-macro" -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning 586 -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -/* -------- Configuration of Core Peripherals ----------------------------------- */ -#define __CM33_REV 0x0000U /* Core revision r0p1 */ -#define __SAUREGION_PRESENT 0U /* SAU regions present */ -#define __MPU_PRESENT 1U /* MPU present */ -#define __VTOR_PRESENT 1U /* VTOR present */ -#define __NVIC_PRIO_BITS 3U /* Number of Bits used for Priority Levels */ -#define __Vendor_SysTickConfig 0U /* Set to 1 if different SysTick Config is used */ -#define __FPU_PRESENT 1U /* FPU present */ -#define __DSP_PRESENT 1U /* DSP extension present */ - -#include "core_cm33.h" /* Processor and core peripherals */ -#include "system_ARMCM33.h" /* System Header */ - - -/* -------- End of section using anonymous unions and disabling warnings -------- */ -#if defined (__CC_ARM) - #pragma pop -#elif defined (__ICCARM__) - /* leave anonymous unions enabled */ -#elif (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) - #pragma clang diagnostic pop -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning restore -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* ARMCM33_DSP_FP_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCM33/Include/ARMCM33_DSP_FP_TZ.h b/external/CMSIS_5/Device/ARM/ARMCM33/Include/ARMCM33_DSP_FP_TZ.h deleted file mode 100644 index 57e2e7b..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM33/Include/ARMCM33_DSP_FP_TZ.h +++ /dev/null @@ -1,131 +0,0 @@ -/**************************************************************************//** - * @file ARMCM33_DSP_FP_TZ.h - * @brief CMSIS Core Peripheral Access Layer Header File for - * ARMCM33 Device (configured for ARMCM33 with FPU, with DSP extension, with TrustZone) - * @version V5.3.2 - * @date 01. May 2023 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ARMCM33_DSP_FP_TZ_H -#define ARMCM33_DSP_FP_TZ_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* ------------------------- Interrupt Number Definition ------------------------ */ - -typedef enum IRQn -{ -/* ------------------- Processor Exceptions Numbers ----------------------------- */ - NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /* 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /* 4 Memory Management Interrupt */ - BusFault_IRQn = -11, /* 5 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /* 6 Usage Fault Interrupt */ - SecureFault_IRQn = -9, /* 7 Secure Fault Interrupt */ - SVCall_IRQn = -5, /* 11 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /* 12 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /* 14 Pend SV Interrupt */ - SysTick_IRQn = -1, /* 15 System Tick Interrupt */ - -/* ------------------- Processor Interrupt Numbers ------------------------------ */ - Interrupt0_IRQn = 0, - Interrupt1_IRQn = 1, - Interrupt2_IRQn = 2, - Interrupt3_IRQn = 3, - Interrupt4_IRQn = 4, - Interrupt5_IRQn = 5, - Interrupt6_IRQn = 6, - Interrupt7_IRQn = 7, - Interrupt8_IRQn = 8, - Interrupt9_IRQn = 9, - /* Interrupts 10 .. 479 are left out */ - Interrupt480_IRQn = 480 -} IRQn_Type; - - -/* ================================================================================ */ -/* ================ Processor and Core Peripheral Section ================ */ -/* ================================================================================ */ - -/* ------- Start of section using anonymous unions and disabling warnings ------- */ -#if defined (__CC_ARM) - #pragma push - #pragma anon_unions -#elif defined (__ICCARM__) - #pragma language=extended -#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wc11-extensions" - #pragma clang diagnostic ignored "-Wreserved-id-macro" -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning 586 -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -/* -------- Configuration of Core Peripherals ----------------------------------- */ -#define __CM33_REV 0x0000U /* Core revision r0p1 */ -#define __SAUREGION_PRESENT 1U /* SAU regions present */ -#define __MPU_PRESENT 1U /* MPU present */ -#define __VTOR_PRESENT 1U /* VTOR present */ -#define __NVIC_PRIO_BITS 3U /* Number of Bits used for Priority Levels */ -#define __Vendor_SysTickConfig 0U /* Set to 1 if different SysTick Config is used */ -#define __FPU_PRESENT 1U /* FPU present */ -#define __DSP_PRESENT 1U /* DSP extension present */ - -#include "core_cm33.h" /* Processor and core peripherals */ -#include "system_ARMCM33.h" /* System Header */ - - -/* -------- End of section using anonymous unions and disabling warnings -------- */ -#if defined (__CC_ARM) - #pragma pop -#elif defined (__ICCARM__) - /* leave anonymous unions enabled */ -#elif (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) - #pragma clang diagnostic pop -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning restore -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* ARMCM33_DSP_FP_TZ_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCM33/Include/ARMCM33_TZ.h b/external/CMSIS_5/Device/ARM/ARMCM33/Include/ARMCM33_TZ.h deleted file mode 100644 index 15d31ee..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM33/Include/ARMCM33_TZ.h +++ /dev/null @@ -1,131 +0,0 @@ -/**************************************************************************//** - * @file ARMCM33_TZ.h - * @brief CMSIS Core Peripheral Access Layer Header File for - * ARMCM33 Device (configured for ARMCM33 without FPU, without DSP extension, with TrustZone) - * @version V5.3.2 - * @date 01. May 2023 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ARMCM33_TZ_H -#define ARMCM33_TZ_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* ------------------------- Interrupt Number Definition ------------------------ */ - -typedef enum IRQn -{ -/* ------------------- Processor Exceptions Numbers ----------------------------- */ - NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /* 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /* 4 Memory Management Interrupt */ - BusFault_IRQn = -11, /* 5 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /* 6 Usage Fault Interrupt */ - SecureFault_IRQn = -9, /* 7 Secure Fault Interrupt */ - SVCall_IRQn = -5, /* 11 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /* 12 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /* 14 Pend SV Interrupt */ - SysTick_IRQn = -1, /* 15 System Tick Interrupt */ - -/* ------------------- Processor Interrupt Numbers ------------------------------ */ - Interrupt0_IRQn = 0, - Interrupt1_IRQn = 1, - Interrupt2_IRQn = 2, - Interrupt3_IRQn = 3, - Interrupt4_IRQn = 4, - Interrupt5_IRQn = 5, - Interrupt6_IRQn = 6, - Interrupt7_IRQn = 7, - Interrupt8_IRQn = 8, - Interrupt9_IRQn = 9, - /* Interrupts 10 .. 479 are left out */ - Interrupt480_IRQn = 480 -} IRQn_Type; - - -/* ================================================================================ */ -/* ================ Processor and Core Peripheral Section ================ */ -/* ================================================================================ */ - -/* ------- Start of section using anonymous unions and disabling warnings ------- */ -#if defined (__CC_ARM) - #pragma push - #pragma anon_unions -#elif defined (__ICCARM__) - #pragma language=extended -#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wc11-extensions" - #pragma clang diagnostic ignored "-Wreserved-id-macro" -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning 586 -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -/* -------- Configuration of Core Peripherals ----------------------------------- */ -#define __CM33_REV 0x0000U /* Core revision r0p1 */ -#define __SAUREGION_PRESENT 1U /* SAU regions present */ -#define __MPU_PRESENT 1U /* MPU present */ -#define __VTOR_PRESENT 1U /* VTOR present */ -#define __NVIC_PRIO_BITS 3U /* Number of Bits used for Priority Levels */ -#define __Vendor_SysTickConfig 0U /* Set to 1 if different SysTick Config is used */ -#define __FPU_PRESENT 0U /* no FPU present */ -#define __DSP_PRESENT 0U /* no DSP extension present */ - -#include "core_cm33.h" /* Processor and core peripherals */ -#include "system_ARMCM33.h" /* System Header */ - - -/* -------- End of section using anonymous unions and disabling warnings -------- */ -#if defined (__CC_ARM) - #pragma pop -#elif defined (__ICCARM__) - /* leave anonymous unions enabled */ -#elif (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) - #pragma clang diagnostic pop -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning restore -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* ARMCM33_TZ_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCM33/Include/Template/partition_ARMCM33.h b/external/CMSIS_5/Device/ARM/ARMCM33/Include/Template/partition_ARMCM33.h deleted file mode 100644 index a7cb0d7..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM33/Include/Template/partition_ARMCM33.h +++ /dev/null @@ -1,1260 +0,0 @@ -/**************************************************************************//** - * @file partition_ARMCM33.h - * @brief CMSIS-CORE Initial Setup for Secure / Non-Secure Zones for ARMCM33 - * @version V1.1.1 - * @date 12. March 2019 - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef PARTITION_ARMCM33_H -#define PARTITION_ARMCM33_H - -/* -//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- -*/ - -/* -// Initialize Security Attribution Unit (SAU) CTRL register -*/ -#define SAU_INIT_CTRL 1 - -/* -// Enable SAU -// Value for SAU->CTRL register bit ENABLE -*/ -#define SAU_INIT_CTRL_ENABLE 1 - -/* -// When SAU is disabled -// <0=> All Memory is Secure -// <1=> All Memory is Non-Secure -// Value for SAU->CTRL register bit ALLNS -// When all Memory is Non-Secure (ALLNS is 1), IDAU can override memory map configuration. -*/ -#define SAU_INIT_CTRL_ALLNS 0 - -/* -// -*/ - -/* -// Initialize Security Attribution Unit (SAU) Address Regions -// SAU configuration specifies regions to be one of: -// - Secure and Non-Secure Callable -// - Non-Secure -// Note: All memory regions not configured by SAU are Secure -*/ -#define SAU_REGIONS_MAX 8 /* Max. number of SAU regions */ - -/* -// Initialize SAU Region 0 -// Setup SAU Region 0 memory attributes -*/ -#define SAU_INIT_REGION0 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START0 0x00000000 /* start address of SAU region 0 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END0 0x001FFFFF /* end address of SAU region 0 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC0 1 -/* -// -*/ - -/* -// Initialize SAU Region 1 -// Setup SAU Region 1 memory attributes -*/ -#define SAU_INIT_REGION1 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START1 0x00200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END1 0x003FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC1 0 -/* -// -*/ - -/* -// Initialize SAU Region 2 -// Setup SAU Region 2 memory attributes -*/ -#define SAU_INIT_REGION2 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START2 0x20200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END2 0x203FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC2 0 -/* -// -*/ - -/* -// Initialize SAU Region 3 -// Setup SAU Region 3 memory attributes -*/ -#define SAU_INIT_REGION3 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START3 0x40000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END3 0x40040000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC3 0 -/* -// -*/ - -/* -// Initialize SAU Region 4 -// Setup SAU Region 4 memory attributes -*/ -#define SAU_INIT_REGION4 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START4 0x00000000 /* start address of SAU region 4 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END4 0x00000000 /* end address of SAU region 4 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC4 0 -/* -// -*/ - -/* -// Initialize SAU Region 5 -// Setup SAU Region 5 memory attributes -*/ -#define SAU_INIT_REGION5 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START5 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END5 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC5 0 -/* -// -*/ - -/* -// Initialize SAU Region 6 -// Setup SAU Region 6 memory attributes -*/ -#define SAU_INIT_REGION6 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START6 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END6 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC6 0 -/* -// -*/ - -/* -// Initialize SAU Region 7 -// Setup SAU Region 7 memory attributes -*/ -#define SAU_INIT_REGION7 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START7 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END7 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC7 0 -/* -// -*/ - -/* -// -*/ - -/* -// Setup behaviour of Sleep and Exception Handling -*/ -#define SCB_CSR_AIRCR_INIT 1 - -/* -// Deep Sleep can be enabled by -// <0=>Secure and Non-Secure state -// <1=>Secure state only -// Value for SCB->CSR register bit DEEPSLEEPS -*/ -#define SCB_CSR_DEEPSLEEPS_VAL 1 - -/* -// System reset request accessible from -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for SCB->AIRCR register bit SYSRESETREQS -*/ -#define SCB_AIRCR_SYSRESETREQS_VAL 1 - -/* -// Priority of Non-Secure exceptions is -// <0=> Not altered -// <1=> Lowered to 0x80-0xFF -// Value for SCB->AIRCR register bit PRIS -*/ -#define SCB_AIRCR_PRIS_VAL 1 - -/* -// BusFault, HardFault, and NMI target -// <0=> Secure state -// <1=> Non-Secure state -// Value for SCB->AIRCR register bit BFHFNMINS -*/ -#define SCB_AIRCR_BFHFNMINS_VAL 0 - -/* -// -*/ - -/* -// Setup behaviour of Floating Point Unit -*/ -#define TZ_FPU_NS_USAGE 1 - -/* -// Floating Point Unit usage -// <0=> Secure state only -// <3=> Secure and Non-Secure state -// Value for SCB->NSACR register bits CP10, CP11 -*/ -#define SCB_NSACR_CP10_11_VAL 3 - -/* -// Treat floating-point registers as Secure -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit TS -*/ -#define FPU_FPCCR_TS_VAL 0 - -/* -// Clear on return (CLRONRET) accessibility -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for FPU->FPCCR register bit CLRONRETS -*/ -#define FPU_FPCCR_CLRONRETS_VAL 0 - -/* -// Clear floating-point caller saved registers on exception return -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit CLRONRET -*/ -#define FPU_FPCCR_CLRONRET_VAL 1 - -/* -// -*/ - -/* -// Setup Interrupt Target -*/ - -/* -// Initialize ITNS 0 (Interrupts 0..31) -*/ -#define NVIC_INIT_ITNS0 1 - -/* -// Interrupts 0..31 -// Interrupt 0 <0=> Secure state <1=> Non-Secure state -// Interrupt 1 <0=> Secure state <1=> Non-Secure state -// Interrupt 2 <0=> Secure state <1=> Non-Secure state -// Interrupt 3 <0=> Secure state <1=> Non-Secure state -// Interrupt 4 <0=> Secure state <1=> Non-Secure state -// Interrupt 5 <0=> Secure state <1=> Non-Secure state -// Interrupt 6 <0=> Secure state <1=> Non-Secure state -// Interrupt 7 <0=> Secure state <1=> Non-Secure state -// Interrupt 8 <0=> Secure state <1=> Non-Secure state -// Interrupt 9 <0=> Secure state <1=> Non-Secure state -// Interrupt 10 <0=> Secure state <1=> Non-Secure state -// Interrupt 11 <0=> Secure state <1=> Non-Secure state -// Interrupt 12 <0=> Secure state <1=> Non-Secure state -// Interrupt 13 <0=> Secure state <1=> Non-Secure state -// Interrupt 14 <0=> Secure state <1=> Non-Secure state -// Interrupt 15 <0=> Secure state <1=> Non-Secure state -// Interrupt 16 <0=> Secure state <1=> Non-Secure state -// Interrupt 17 <0=> Secure state <1=> Non-Secure state -// Interrupt 18 <0=> Secure state <1=> Non-Secure state -// Interrupt 19 <0=> Secure state <1=> Non-Secure state -// Interrupt 20 <0=> Secure state <1=> Non-Secure state -// Interrupt 21 <0=> Secure state <1=> Non-Secure state -// Interrupt 22 <0=> Secure state <1=> Non-Secure state -// Interrupt 23 <0=> Secure state <1=> Non-Secure state -// Interrupt 24 <0=> Secure state <1=> Non-Secure state -// Interrupt 25 <0=> Secure state <1=> Non-Secure state -// Interrupt 26 <0=> Secure state <1=> Non-Secure state -// Interrupt 27 <0=> Secure state <1=> Non-Secure state -// Interrupt 28 <0=> Secure state <1=> Non-Secure state -// Interrupt 29 <0=> Secure state <1=> Non-Secure state -// Interrupt 30 <0=> Secure state <1=> Non-Secure state -// Interrupt 31 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS0_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 1 (Interrupts 32..63) -*/ -#define NVIC_INIT_ITNS1 1 - -/* -// Interrupts 32..63 -// Interrupt 32 <0=> Secure state <1=> Non-Secure state -// Interrupt 33 <0=> Secure state <1=> Non-Secure state -// Interrupt 34 <0=> Secure state <1=> Non-Secure state -// Interrupt 35 <0=> Secure state <1=> Non-Secure state -// Interrupt 36 <0=> Secure state <1=> Non-Secure state -// Interrupt 37 <0=> Secure state <1=> Non-Secure state -// Interrupt 38 <0=> Secure state <1=> Non-Secure state -// Interrupt 39 <0=> Secure state <1=> Non-Secure state -// Interrupt 40 <0=> Secure state <1=> Non-Secure state -// Interrupt 41 <0=> Secure state <1=> Non-Secure state -// Interrupt 42 <0=> Secure state <1=> Non-Secure state -// Interrupt 43 <0=> Secure state <1=> Non-Secure state -// Interrupt 44 <0=> Secure state <1=> Non-Secure state -// Interrupt 45 <0=> Secure state <1=> Non-Secure state -// Interrupt 46 <0=> Secure state <1=> Non-Secure state -// Interrupt 47 <0=> Secure state <1=> Non-Secure state -// Interrupt 48 <0=> Secure state <1=> Non-Secure state -// Interrupt 49 <0=> Secure state <1=> Non-Secure state -// Interrupt 50 <0=> Secure state <1=> Non-Secure state -// Interrupt 51 <0=> Secure state <1=> Non-Secure state -// Interrupt 52 <0=> Secure state <1=> Non-Secure state -// Interrupt 53 <0=> Secure state <1=> Non-Secure state -// Interrupt 54 <0=> Secure state <1=> Non-Secure state -// Interrupt 55 <0=> Secure state <1=> Non-Secure state -// Interrupt 56 <0=> Secure state <1=> Non-Secure state -// Interrupt 57 <0=> Secure state <1=> Non-Secure state -// Interrupt 58 <0=> Secure state <1=> Non-Secure state -// Interrupt 59 <0=> Secure state <1=> Non-Secure state -// Interrupt 60 <0=> Secure state <1=> Non-Secure state -// Interrupt 61 <0=> Secure state <1=> Non-Secure state -// Interrupt 62 <0=> Secure state <1=> Non-Secure state -// Interrupt 63 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS1_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 2 (Interrupts 64..95) -*/ -#define NVIC_INIT_ITNS2 0 - -/* -// Interrupts 64..95 -// Interrupt 64 <0=> Secure state <1=> Non-Secure state -// Interrupt 65 <0=> Secure state <1=> Non-Secure state -// Interrupt 66 <0=> Secure state <1=> Non-Secure state -// Interrupt 67 <0=> Secure state <1=> Non-Secure state -// Interrupt 68 <0=> Secure state <1=> Non-Secure state -// Interrupt 69 <0=> Secure state <1=> Non-Secure state -// Interrupt 70 <0=> Secure state <1=> Non-Secure state -// Interrupt 71 <0=> Secure state <1=> Non-Secure state -// Interrupt 72 <0=> Secure state <1=> Non-Secure state -// Interrupt 73 <0=> Secure state <1=> Non-Secure state -// Interrupt 74 <0=> Secure state <1=> Non-Secure state -// Interrupt 75 <0=> Secure state <1=> Non-Secure state -// Interrupt 76 <0=> Secure state <1=> Non-Secure state -// Interrupt 77 <0=> Secure state <1=> Non-Secure state -// Interrupt 78 <0=> Secure state <1=> Non-Secure state -// Interrupt 79 <0=> Secure state <1=> Non-Secure state -// Interrupt 80 <0=> Secure state <1=> Non-Secure state -// Interrupt 81 <0=> Secure state <1=> Non-Secure state -// Interrupt 82 <0=> Secure state <1=> Non-Secure state -// Interrupt 83 <0=> Secure state <1=> Non-Secure state -// Interrupt 84 <0=> Secure state <1=> Non-Secure state -// Interrupt 85 <0=> Secure state <1=> Non-Secure state -// Interrupt 86 <0=> Secure state <1=> Non-Secure state -// Interrupt 87 <0=> Secure state <1=> Non-Secure state -// Interrupt 88 <0=> Secure state <1=> Non-Secure state -// Interrupt 89 <0=> Secure state <1=> Non-Secure state -// Interrupt 90 <0=> Secure state <1=> Non-Secure state -// Interrupt 91 <0=> Secure state <1=> Non-Secure state -// Interrupt 92 <0=> Secure state <1=> Non-Secure state -// Interrupt 93 <0=> Secure state <1=> Non-Secure state -// Interrupt 94 <0=> Secure state <1=> Non-Secure state -// Interrupt 95 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS2_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 3 (Interrupts 96..127) -*/ -#define NVIC_INIT_ITNS3 0 - -/* -// Interrupts 96..127 -// Interrupt 96 <0=> Secure state <1=> Non-Secure state -// Interrupt 97 <0=> Secure state <1=> Non-Secure state -// Interrupt 98 <0=> Secure state <1=> Non-Secure state -// Interrupt 99 <0=> Secure state <1=> Non-Secure state -// Interrupt 100 <0=> Secure state <1=> Non-Secure state -// Interrupt 101 <0=> Secure state <1=> Non-Secure state -// Interrupt 102 <0=> Secure state <1=> Non-Secure state -// Interrupt 103 <0=> Secure state <1=> Non-Secure state -// Interrupt 104 <0=> Secure state <1=> Non-Secure state -// Interrupt 105 <0=> Secure state <1=> Non-Secure state -// Interrupt 106 <0=> Secure state <1=> Non-Secure state -// Interrupt 107 <0=> Secure state <1=> Non-Secure state -// Interrupt 108 <0=> Secure state <1=> Non-Secure state -// Interrupt 109 <0=> Secure state <1=> Non-Secure state -// Interrupt 110 <0=> Secure state <1=> Non-Secure state -// Interrupt 111 <0=> Secure state <1=> Non-Secure state -// Interrupt 112 <0=> Secure state <1=> Non-Secure state -// Interrupt 113 <0=> Secure state <1=> Non-Secure state -// Interrupt 114 <0=> Secure state <1=> Non-Secure state -// Interrupt 115 <0=> Secure state <1=> Non-Secure state -// Interrupt 116 <0=> Secure state <1=> Non-Secure state -// Interrupt 117 <0=> Secure state <1=> Non-Secure state -// Interrupt 118 <0=> Secure state <1=> Non-Secure state -// Interrupt 119 <0=> Secure state <1=> Non-Secure state -// Interrupt 120 <0=> Secure state <1=> Non-Secure state -// Interrupt 121 <0=> Secure state <1=> Non-Secure state -// Interrupt 122 <0=> Secure state <1=> Non-Secure state -// Interrupt 123 <0=> Secure state <1=> Non-Secure state -// Interrupt 124 <0=> Secure state <1=> Non-Secure state -// Interrupt 125 <0=> Secure state <1=> Non-Secure state -// Interrupt 126 <0=> Secure state <1=> Non-Secure state -// Interrupt 127 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS3_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 4 (Interrupts 128..159) -*/ -#define NVIC_INIT_ITNS4 0 - -/* -// Interrupts 128..159 -// Interrupt 128 <0=> Secure state <1=> Non-Secure state -// Interrupt 129 <0=> Secure state <1=> Non-Secure state -// Interrupt 130 <0=> Secure state <1=> Non-Secure state -// Interrupt 131 <0=> Secure state <1=> Non-Secure state -// Interrupt 132 <0=> Secure state <1=> Non-Secure state -// Interrupt 133 <0=> Secure state <1=> Non-Secure state -// Interrupt 134 <0=> Secure state <1=> Non-Secure state -// Interrupt 135 <0=> Secure state <1=> Non-Secure state -// Interrupt 136 <0=> Secure state <1=> Non-Secure state -// Interrupt 137 <0=> Secure state <1=> Non-Secure state -// Interrupt 138 <0=> Secure state <1=> Non-Secure state -// Interrupt 139 <0=> Secure state <1=> Non-Secure state -// Interrupt 140 <0=> Secure state <1=> Non-Secure state -// Interrupt 141 <0=> Secure state <1=> Non-Secure state -// Interrupt 142 <0=> Secure state <1=> Non-Secure state -// Interrupt 143 <0=> Secure state <1=> Non-Secure state -// Interrupt 144 <0=> Secure state <1=> Non-Secure state -// Interrupt 145 <0=> Secure state <1=> Non-Secure state -// Interrupt 146 <0=> Secure state <1=> Non-Secure state -// Interrupt 147 <0=> Secure state <1=> Non-Secure state -// Interrupt 148 <0=> Secure state <1=> Non-Secure state -// Interrupt 149 <0=> Secure state <1=> Non-Secure state -// Interrupt 150 <0=> Secure state <1=> Non-Secure state -// Interrupt 151 <0=> Secure state <1=> Non-Secure state -// Interrupt 152 <0=> Secure state <1=> Non-Secure state -// Interrupt 153 <0=> Secure state <1=> Non-Secure state -// Interrupt 154 <0=> Secure state <1=> Non-Secure state -// Interrupt 155 <0=> Secure state <1=> Non-Secure state -// Interrupt 156 <0=> Secure state <1=> Non-Secure state -// Interrupt 157 <0=> Secure state <1=> Non-Secure state -// Interrupt 158 <0=> Secure state <1=> Non-Secure state -// Interrupt 159 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS4_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 5 (Interrupts 160..191) -*/ -#define NVIC_INIT_ITNS5 0 - -/* -// Interrupts 160..191 -// Interrupt 160 <0=> Secure state <1=> Non-Secure state -// Interrupt 161 <0=> Secure state <1=> Non-Secure state -// Interrupt 162 <0=> Secure state <1=> Non-Secure state -// Interrupt 163 <0=> Secure state <1=> Non-Secure state -// Interrupt 164 <0=> Secure state <1=> Non-Secure state -// Interrupt 165 <0=> Secure state <1=> Non-Secure state -// Interrupt 166 <0=> Secure state <1=> Non-Secure state -// Interrupt 167 <0=> Secure state <1=> Non-Secure state -// Interrupt 168 <0=> Secure state <1=> Non-Secure state -// Interrupt 169 <0=> Secure state <1=> Non-Secure state -// Interrupt 170 <0=> Secure state <1=> Non-Secure state -// Interrupt 171 <0=> Secure state <1=> Non-Secure state -// Interrupt 172 <0=> Secure state <1=> Non-Secure state -// Interrupt 173 <0=> Secure state <1=> Non-Secure state -// Interrupt 174 <0=> Secure state <1=> Non-Secure state -// Interrupt 175 <0=> Secure state <1=> Non-Secure state -// Interrupt 176 <0=> Secure state <1=> Non-Secure state -// Interrupt 177 <0=> Secure state <1=> Non-Secure state -// Interrupt 178 <0=> Secure state <1=> Non-Secure state -// Interrupt 179 <0=> Secure state <1=> Non-Secure state -// Interrupt 180 <0=> Secure state <1=> Non-Secure state -// Interrupt 181 <0=> Secure state <1=> Non-Secure state -// Interrupt 182 <0=> Secure state <1=> Non-Secure state -// Interrupt 183 <0=> Secure state <1=> Non-Secure state -// Interrupt 184 <0=> Secure state <1=> Non-Secure state -// Interrupt 185 <0=> Secure state <1=> Non-Secure state -// Interrupt 186 <0=> Secure state <1=> Non-Secure state -// Interrupt 187 <0=> Secure state <1=> Non-Secure state -// Interrupt 188 <0=> Secure state <1=> Non-Secure state -// Interrupt 189 <0=> Secure state <1=> Non-Secure state -// Interrupt 190 <0=> Secure state <1=> Non-Secure state -// Interrupt 191 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS5_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 6 (Interrupts 192..223) -*/ -#define NVIC_INIT_ITNS6 0 - -/* -// Interrupts 192..223 -// Interrupt 192 <0=> Secure state <1=> Non-Secure state -// Interrupt 193 <0=> Secure state <1=> Non-Secure state -// Interrupt 194 <0=> Secure state <1=> Non-Secure state -// Interrupt 195 <0=> Secure state <1=> Non-Secure state -// Interrupt 196 <0=> Secure state <1=> Non-Secure state -// Interrupt 197 <0=> Secure state <1=> Non-Secure state -// Interrupt 198 <0=> Secure state <1=> Non-Secure state -// Interrupt 199 <0=> Secure state <1=> Non-Secure state -// Interrupt 200 <0=> Secure state <1=> Non-Secure state -// Interrupt 201 <0=> Secure state <1=> Non-Secure state -// Interrupt 202 <0=> Secure state <1=> Non-Secure state -// Interrupt 203 <0=> Secure state <1=> Non-Secure state -// Interrupt 204 <0=> Secure state <1=> Non-Secure state -// Interrupt 205 <0=> Secure state <1=> Non-Secure state -// Interrupt 206 <0=> Secure state <1=> Non-Secure state -// Interrupt 207 <0=> Secure state <1=> Non-Secure state -// Interrupt 208 <0=> Secure state <1=> Non-Secure state -// Interrupt 209 <0=> Secure state <1=> Non-Secure state -// Interrupt 210 <0=> Secure state <1=> Non-Secure state -// Interrupt 211 <0=> Secure state <1=> Non-Secure state -// Interrupt 212 <0=> Secure state <1=> Non-Secure state -// Interrupt 213 <0=> Secure state <1=> Non-Secure state -// Interrupt 214 <0=> Secure state <1=> Non-Secure state -// Interrupt 215 <0=> Secure state <1=> Non-Secure state -// Interrupt 216 <0=> Secure state <1=> Non-Secure state -// Interrupt 217 <0=> Secure state <1=> Non-Secure state -// Interrupt 218 <0=> Secure state <1=> Non-Secure state -// Interrupt 219 <0=> Secure state <1=> Non-Secure state -// Interrupt 220 <0=> Secure state <1=> Non-Secure state -// Interrupt 221 <0=> Secure state <1=> Non-Secure state -// Interrupt 222 <0=> Secure state <1=> Non-Secure state -// Interrupt 223 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS6_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 7 (Interrupts 224..255) -*/ -#define NVIC_INIT_ITNS7 0 - -/* -// Interrupts 224..255 -// Interrupt 224 <0=> Secure state <1=> Non-Secure state -// Interrupt 225 <0=> Secure state <1=> Non-Secure state -// Interrupt 226 <0=> Secure state <1=> Non-Secure state -// Interrupt 227 <0=> Secure state <1=> Non-Secure state -// Interrupt 228 <0=> Secure state <1=> Non-Secure state -// Interrupt 229 <0=> Secure state <1=> Non-Secure state -// Interrupt 230 <0=> Secure state <1=> Non-Secure state -// Interrupt 231 <0=> Secure state <1=> Non-Secure state -// Interrupt 232 <0=> Secure state <1=> Non-Secure state -// Interrupt 233 <0=> Secure state <1=> Non-Secure state -// Interrupt 234 <0=> Secure state <1=> Non-Secure state -// Interrupt 235 <0=> Secure state <1=> Non-Secure state -// Interrupt 236 <0=> Secure state <1=> Non-Secure state -// Interrupt 237 <0=> Secure state <1=> Non-Secure state -// Interrupt 238 <0=> Secure state <1=> Non-Secure state -// Interrupt 239 <0=> Secure state <1=> Non-Secure state -// Interrupt 240 <0=> Secure state <1=> Non-Secure state -// Interrupt 241 <0=> Secure state <1=> Non-Secure state -// Interrupt 242 <0=> Secure state <1=> Non-Secure state -// Interrupt 243 <0=> Secure state <1=> Non-Secure state -// Interrupt 244 <0=> Secure state <1=> Non-Secure state -// Interrupt 245 <0=> Secure state <1=> Non-Secure state -// Interrupt 246 <0=> Secure state <1=> Non-Secure state -// Interrupt 247 <0=> Secure state <1=> Non-Secure state -// Interrupt 248 <0=> Secure state <1=> Non-Secure state -// Interrupt 249 <0=> Secure state <1=> Non-Secure state -// Interrupt 250 <0=> Secure state <1=> Non-Secure state -// Interrupt 251 <0=> Secure state <1=> Non-Secure state -// Interrupt 252 <0=> Secure state <1=> Non-Secure state -// Interrupt 253 <0=> Secure state <1=> Non-Secure state -// Interrupt 254 <0=> Secure state <1=> Non-Secure state -// Interrupt 255 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS7_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 8 (Interrupts 256..287) -*/ -#define NVIC_INIT_ITNS8 0 - -/* -// Interrupts 256..287 -// Interrupt 256 <0=> Secure state <1=> Non-Secure state -// Interrupt 257 <0=> Secure state <1=> Non-Secure state -// Interrupt 258 <0=> Secure state <1=> Non-Secure state -// Interrupt 259 <0=> Secure state <1=> Non-Secure state -// Interrupt 260 <0=> Secure state <1=> Non-Secure state -// Interrupt 261 <0=> Secure state <1=> Non-Secure state -// Interrupt 262 <0=> Secure state <1=> Non-Secure state -// Interrupt 263 <0=> Secure state <1=> Non-Secure state -// Interrupt 264 <0=> Secure state <1=> Non-Secure state -// Interrupt 265 <0=> Secure state <1=> Non-Secure state -// Interrupt 266 <0=> Secure state <1=> Non-Secure state -// Interrupt 267 <0=> Secure state <1=> Non-Secure state -// Interrupt 268 <0=> Secure state <1=> Non-Secure state -// Interrupt 269 <0=> Secure state <1=> Non-Secure state -// Interrupt 270 <0=> Secure state <1=> Non-Secure state -// Interrupt 271 <0=> Secure state <1=> Non-Secure state -// Interrupt 272 <0=> Secure state <1=> Non-Secure state -// Interrupt 273 <0=> Secure state <1=> Non-Secure state -// Interrupt 274 <0=> Secure state <1=> Non-Secure state -// Interrupt 275 <0=> Secure state <1=> Non-Secure state -// Interrupt 276 <0=> Secure state <1=> Non-Secure state -// Interrupt 277 <0=> Secure state <1=> Non-Secure state -// Interrupt 278 <0=> Secure state <1=> Non-Secure state -// Interrupt 279 <0=> Secure state <1=> Non-Secure state -// Interrupt 280 <0=> Secure state <1=> Non-Secure state -// Interrupt 281 <0=> Secure state <1=> Non-Secure state -// Interrupt 282 <0=> Secure state <1=> Non-Secure state -// Interrupt 283 <0=> Secure state <1=> Non-Secure state -// Interrupt 284 <0=> Secure state <1=> Non-Secure state -// Interrupt 285 <0=> Secure state <1=> Non-Secure state -// Interrupt 286 <0=> Secure state <1=> Non-Secure state -// Interrupt 287 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS8_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 9 (Interrupts 288..319) -*/ -#define NVIC_INIT_ITNS9 0 - -/* -// Interrupts 288..319 -// Interrupt 288 <0=> Secure state <1=> Non-Secure state -// Interrupt 289 <0=> Secure state <1=> Non-Secure state -// Interrupt 290 <0=> Secure state <1=> Non-Secure state -// Interrupt 291 <0=> Secure state <1=> Non-Secure state -// Interrupt 292 <0=> Secure state <1=> Non-Secure state -// Interrupt 293 <0=> Secure state <1=> Non-Secure state -// Interrupt 294 <0=> Secure state <1=> Non-Secure state -// Interrupt 295 <0=> Secure state <1=> Non-Secure state -// Interrupt 296 <0=> Secure state <1=> Non-Secure state -// Interrupt 297 <0=> Secure state <1=> Non-Secure state -// Interrupt 298 <0=> Secure state <1=> Non-Secure state -// Interrupt 299 <0=> Secure state <1=> Non-Secure state -// Interrupt 300 <0=> Secure state <1=> Non-Secure state -// Interrupt 301 <0=> Secure state <1=> Non-Secure state -// Interrupt 302 <0=> Secure state <1=> Non-Secure state -// Interrupt 303 <0=> Secure state <1=> Non-Secure state -// Interrupt 304 <0=> Secure state <1=> Non-Secure state -// Interrupt 305 <0=> Secure state <1=> Non-Secure state -// Interrupt 306 <0=> Secure state <1=> Non-Secure state -// Interrupt 307 <0=> Secure state <1=> Non-Secure state -// Interrupt 308 <0=> Secure state <1=> Non-Secure state -// Interrupt 309 <0=> Secure state <1=> Non-Secure state -// Interrupt 310 <0=> Secure state <1=> Non-Secure state -// Interrupt 311 <0=> Secure state <1=> Non-Secure state -// Interrupt 312 <0=> Secure state <1=> Non-Secure state -// Interrupt 313 <0=> Secure state <1=> Non-Secure state -// Interrupt 314 <0=> Secure state <1=> Non-Secure state -// Interrupt 315 <0=> Secure state <1=> Non-Secure state -// Interrupt 316 <0=> Secure state <1=> Non-Secure state -// Interrupt 317 <0=> Secure state <1=> Non-Secure state -// Interrupt 318 <0=> Secure state <1=> Non-Secure state -// Interrupt 319 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS9_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 10 (Interrupts 320..351) -*/ -#define NVIC_INIT_ITNS10 0 - -/* -// Interrupts 320..351 -// Interrupt 320 <0=> Secure state <1=> Non-Secure state -// Interrupt 321 <0=> Secure state <1=> Non-Secure state -// Interrupt 322 <0=> Secure state <1=> Non-Secure state -// Interrupt 323 <0=> Secure state <1=> Non-Secure state -// Interrupt 324 <0=> Secure state <1=> Non-Secure state -// Interrupt 325 <0=> Secure state <1=> Non-Secure state -// Interrupt 326 <0=> Secure state <1=> Non-Secure state -// Interrupt 327 <0=> Secure state <1=> Non-Secure state -// Interrupt 328 <0=> Secure state <1=> Non-Secure state -// Interrupt 329 <0=> Secure state <1=> Non-Secure state -// Interrupt 330 <0=> Secure state <1=> Non-Secure state -// Interrupt 331 <0=> Secure state <1=> Non-Secure state -// Interrupt 332 <0=> Secure state <1=> Non-Secure state -// Interrupt 333 <0=> Secure state <1=> Non-Secure state -// Interrupt 334 <0=> Secure state <1=> Non-Secure state -// Interrupt 335 <0=> Secure state <1=> Non-Secure state -// Interrupt 336 <0=> Secure state <1=> Non-Secure state -// Interrupt 337 <0=> Secure state <1=> Non-Secure state -// Interrupt 338 <0=> Secure state <1=> Non-Secure state -// Interrupt 339 <0=> Secure state <1=> Non-Secure state -// Interrupt 340 <0=> Secure state <1=> Non-Secure state -// Interrupt 341 <0=> Secure state <1=> Non-Secure state -// Interrupt 342 <0=> Secure state <1=> Non-Secure state -// Interrupt 343 <0=> Secure state <1=> Non-Secure state -// Interrupt 344 <0=> Secure state <1=> Non-Secure state -// Interrupt 345 <0=> Secure state <1=> Non-Secure state -// Interrupt 346 <0=> Secure state <1=> Non-Secure state -// Interrupt 347 <0=> Secure state <1=> Non-Secure state -// Interrupt 348 <0=> Secure state <1=> Non-Secure state -// Interrupt 349 <0=> Secure state <1=> Non-Secure state -// Interrupt 350 <0=> Secure state <1=> Non-Secure state -// Interrupt 351 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS10_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 11 (Interrupts 352..383) -*/ -#define NVIC_INIT_ITNS11 0 - -/* -// Interrupts 352..383 -// Interrupt 352 <0=> Secure state <1=> Non-Secure state -// Interrupt 353 <0=> Secure state <1=> Non-Secure state -// Interrupt 354 <0=> Secure state <1=> Non-Secure state -// Interrupt 355 <0=> Secure state <1=> Non-Secure state -// Interrupt 356 <0=> Secure state <1=> Non-Secure state -// Interrupt 357 <0=> Secure state <1=> Non-Secure state -// Interrupt 358 <0=> Secure state <1=> Non-Secure state -// Interrupt 359 <0=> Secure state <1=> Non-Secure state -// Interrupt 360 <0=> Secure state <1=> Non-Secure state -// Interrupt 361 <0=> Secure state <1=> Non-Secure state -// Interrupt 362 <0=> Secure state <1=> Non-Secure state -// Interrupt 363 <0=> Secure state <1=> Non-Secure state -// Interrupt 364 <0=> Secure state <1=> Non-Secure state -// Interrupt 365 <0=> Secure state <1=> Non-Secure state -// Interrupt 366 <0=> Secure state <1=> Non-Secure state -// Interrupt 367 <0=> Secure state <1=> Non-Secure state -// Interrupt 368 <0=> Secure state <1=> Non-Secure state -// Interrupt 369 <0=> Secure state <1=> Non-Secure state -// Interrupt 370 <0=> Secure state <1=> Non-Secure state -// Interrupt 371 <0=> Secure state <1=> Non-Secure state -// Interrupt 372 <0=> Secure state <1=> Non-Secure state -// Interrupt 373 <0=> Secure state <1=> Non-Secure state -// Interrupt 374 <0=> Secure state <1=> Non-Secure state -// Interrupt 375 <0=> Secure state <1=> Non-Secure state -// Interrupt 376 <0=> Secure state <1=> Non-Secure state -// Interrupt 377 <0=> Secure state <1=> Non-Secure state -// Interrupt 378 <0=> Secure state <1=> Non-Secure state -// Interrupt 379 <0=> Secure state <1=> Non-Secure state -// Interrupt 380 <0=> Secure state <1=> Non-Secure state -// Interrupt 381 <0=> Secure state <1=> Non-Secure state -// Interrupt 382 <0=> Secure state <1=> Non-Secure state -// Interrupt 383 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS11_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 12 (Interrupts 384..415) -*/ -#define NVIC_INIT_ITNS12 0 - -/* -// Interrupts 384..415 -// Interrupt 384 <0=> Secure state <1=> Non-Secure state -// Interrupt 385 <0=> Secure state <1=> Non-Secure state -// Interrupt 386 <0=> Secure state <1=> Non-Secure state -// Interrupt 387 <0=> Secure state <1=> Non-Secure state -// Interrupt 388 <0=> Secure state <1=> Non-Secure state -// Interrupt 389 <0=> Secure state <1=> Non-Secure state -// Interrupt 390 <0=> Secure state <1=> Non-Secure state -// Interrupt 391 <0=> Secure state <1=> Non-Secure state -// Interrupt 392 <0=> Secure state <1=> Non-Secure state -// Interrupt 393 <0=> Secure state <1=> Non-Secure state -// Interrupt 394 <0=> Secure state <1=> Non-Secure state -// Interrupt 395 <0=> Secure state <1=> Non-Secure state -// Interrupt 396 <0=> Secure state <1=> Non-Secure state -// Interrupt 397 <0=> Secure state <1=> Non-Secure state -// Interrupt 398 <0=> Secure state <1=> Non-Secure state -// Interrupt 399 <0=> Secure state <1=> Non-Secure state -// Interrupt 400 <0=> Secure state <1=> Non-Secure state -// Interrupt 401 <0=> Secure state <1=> Non-Secure state -// Interrupt 402 <0=> Secure state <1=> Non-Secure state -// Interrupt 403 <0=> Secure state <1=> Non-Secure state -// Interrupt 404 <0=> Secure state <1=> Non-Secure state -// Interrupt 405 <0=> Secure state <1=> Non-Secure state -// Interrupt 406 <0=> Secure state <1=> Non-Secure state -// Interrupt 407 <0=> Secure state <1=> Non-Secure state -// Interrupt 408 <0=> Secure state <1=> Non-Secure state -// Interrupt 409 <0=> Secure state <1=> Non-Secure state -// Interrupt 410 <0=> Secure state <1=> Non-Secure state -// Interrupt 411 <0=> Secure state <1=> Non-Secure state -// Interrupt 412 <0=> Secure state <1=> Non-Secure state -// Interrupt 413 <0=> Secure state <1=> Non-Secure state -// Interrupt 414 <0=> Secure state <1=> Non-Secure state -// Interrupt 415 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS12_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 13 (Interrupts 416..447) -*/ -#define NVIC_INIT_ITNS13 0 - -/* -// Interrupts 416..447 -// Interrupt 416 <0=> Secure state <1=> Non-Secure state -// Interrupt 417 <0=> Secure state <1=> Non-Secure state -// Interrupt 418 <0=> Secure state <1=> Non-Secure state -// Interrupt 419 <0=> Secure state <1=> Non-Secure state -// Interrupt 420 <0=> Secure state <1=> Non-Secure state -// Interrupt 421 <0=> Secure state <1=> Non-Secure state -// Interrupt 422 <0=> Secure state <1=> Non-Secure state -// Interrupt 423 <0=> Secure state <1=> Non-Secure state -// Interrupt 424 <0=> Secure state <1=> Non-Secure state -// Interrupt 425 <0=> Secure state <1=> Non-Secure state -// Interrupt 426 <0=> Secure state <1=> Non-Secure state -// Interrupt 427 <0=> Secure state <1=> Non-Secure state -// Interrupt 428 <0=> Secure state <1=> Non-Secure state -// Interrupt 429 <0=> Secure state <1=> Non-Secure state -// Interrupt 430 <0=> Secure state <1=> Non-Secure state -// Interrupt 431 <0=> Secure state <1=> Non-Secure state -// Interrupt 432 <0=> Secure state <1=> Non-Secure state -// Interrupt 433 <0=> Secure state <1=> Non-Secure state -// Interrupt 434 <0=> Secure state <1=> Non-Secure state -// Interrupt 435 <0=> Secure state <1=> Non-Secure state -// Interrupt 436 <0=> Secure state <1=> Non-Secure state -// Interrupt 437 <0=> Secure state <1=> Non-Secure state -// Interrupt 438 <0=> Secure state <1=> Non-Secure state -// Interrupt 439 <0=> Secure state <1=> Non-Secure state -// Interrupt 440 <0=> Secure state <1=> Non-Secure state -// Interrupt 441 <0=> Secure state <1=> Non-Secure state -// Interrupt 442 <0=> Secure state <1=> Non-Secure state -// Interrupt 443 <0=> Secure state <1=> Non-Secure state -// Interrupt 444 <0=> Secure state <1=> Non-Secure state -// Interrupt 445 <0=> Secure state <1=> Non-Secure state -// Interrupt 446 <0=> Secure state <1=> Non-Secure state -// Interrupt 447 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS13_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 14 (Interrupts 448..479) -*/ -#define NVIC_INIT_ITNS14 0 - -/* -// Interrupts 448..479 -// Interrupt 448 <0=> Secure state <1=> Non-Secure state -// Interrupt 449 <0=> Secure state <1=> Non-Secure state -// Interrupt 450 <0=> Secure state <1=> Non-Secure state -// Interrupt 451 <0=> Secure state <1=> Non-Secure state -// Interrupt 452 <0=> Secure state <1=> Non-Secure state -// Interrupt 453 <0=> Secure state <1=> Non-Secure state -// Interrupt 454 <0=> Secure state <1=> Non-Secure state -// Interrupt 455 <0=> Secure state <1=> Non-Secure state -// Interrupt 456 <0=> Secure state <1=> Non-Secure state -// Interrupt 457 <0=> Secure state <1=> Non-Secure state -// Interrupt 458 <0=> Secure state <1=> Non-Secure state -// Interrupt 459 <0=> Secure state <1=> Non-Secure state -// Interrupt 460 <0=> Secure state <1=> Non-Secure state -// Interrupt 461 <0=> Secure state <1=> Non-Secure state -// Interrupt 462 <0=> Secure state <1=> Non-Secure state -// Interrupt 463 <0=> Secure state <1=> Non-Secure state -// Interrupt 464 <0=> Secure state <1=> Non-Secure state -// Interrupt 465 <0=> Secure state <1=> Non-Secure state -// Interrupt 466 <0=> Secure state <1=> Non-Secure state -// Interrupt 467 <0=> Secure state <1=> Non-Secure state -// Interrupt 468 <0=> Secure state <1=> Non-Secure state -// Interrupt 469 <0=> Secure state <1=> Non-Secure state -// Interrupt 470 <0=> Secure state <1=> Non-Secure state -// Interrupt 471 <0=> Secure state <1=> Non-Secure state -// Interrupt 472 <0=> Secure state <1=> Non-Secure state -// Interrupt 473 <0=> Secure state <1=> Non-Secure state -// Interrupt 474 <0=> Secure state <1=> Non-Secure state -// Interrupt 475 <0=> Secure state <1=> Non-Secure state -// Interrupt 476 <0=> Secure state <1=> Non-Secure state -// Interrupt 477 <0=> Secure state <1=> Non-Secure state -// Interrupt 478 <0=> Secure state <1=> Non-Secure state -// Interrupt 479 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS14_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 15 (Interrupts 480..511) -*/ -#define NVIC_INIT_ITNS15 0 - -/* -// Interrupts 480..511 -// Interrupt 480 <0=> Secure state <1=> Non-Secure state -// Interrupt 481 <0=> Secure state <1=> Non-Secure state -// Interrupt 482 <0=> Secure state <1=> Non-Secure state -// Interrupt 483 <0=> Secure state <1=> Non-Secure state -// Interrupt 484 <0=> Secure state <1=> Non-Secure state -// Interrupt 485 <0=> Secure state <1=> Non-Secure state -// Interrupt 486 <0=> Secure state <1=> Non-Secure state -// Interrupt 487 <0=> Secure state <1=> Non-Secure state -// Interrupt 488 <0=> Secure state <1=> Non-Secure state -// Interrupt 489 <0=> Secure state <1=> Non-Secure state -// Interrupt 490 <0=> Secure state <1=> Non-Secure state -// Interrupt 491 <0=> Secure state <1=> Non-Secure state -// Interrupt 492 <0=> Secure state <1=> Non-Secure state -// Interrupt 493 <0=> Secure state <1=> Non-Secure state -// Interrupt 494 <0=> Secure state <1=> Non-Secure state -// Interrupt 495 <0=> Secure state <1=> Non-Secure state -// Interrupt 496 <0=> Secure state <1=> Non-Secure state -// Interrupt 497 <0=> Secure state <1=> Non-Secure state -// Interrupt 498 <0=> Secure state <1=> Non-Secure state -// Interrupt 499 <0=> Secure state <1=> Non-Secure state -// Interrupt 500 <0=> Secure state <1=> Non-Secure state -// Interrupt 501 <0=> Secure state <1=> Non-Secure state -// Interrupt 502 <0=> Secure state <1=> Non-Secure state -// Interrupt 503 <0=> Secure state <1=> Non-Secure state -// Interrupt 504 <0=> Secure state <1=> Non-Secure state -// Interrupt 505 <0=> Secure state <1=> Non-Secure state -// Interrupt 506 <0=> Secure state <1=> Non-Secure state -// Interrupt 507 <0=> Secure state <1=> Non-Secure state -// Interrupt 508 <0=> Secure state <1=> Non-Secure state -// Interrupt 509 <0=> Secure state <1=> Non-Secure state -// Interrupt 510 <0=> Secure state <1=> Non-Secure state -// Interrupt 511 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS15_VAL 0x00000000 - -/* -// -*/ - -/* -// -*/ - - - -/* - max 128 SAU regions. - SAU regions are defined in partition.h - */ - -#define SAU_INIT_REGION(n) \ - SAU->RNR = (n & SAU_RNR_REGION_Msk); \ - SAU->RBAR = (SAU_INIT_START##n & SAU_RBAR_BADDR_Msk); \ - SAU->RLAR = (SAU_INIT_END##n & SAU_RLAR_LADDR_Msk) | \ - ((SAU_INIT_NSC##n << SAU_RLAR_NSC_Pos) & SAU_RLAR_NSC_Msk) | 1U - -/** - \brief Setup a SAU Region - \details Writes the region information contained in SAU_Region to the - registers SAU_RNR, SAU_RBAR, and SAU_RLAR - */ -__STATIC_INLINE void TZ_SAU_Setup (void) -{ - -#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) - - #if defined (SAU_INIT_REGION0) && (SAU_INIT_REGION0 == 1U) - SAU_INIT_REGION(0); - #endif - - #if defined (SAU_INIT_REGION1) && (SAU_INIT_REGION1 == 1U) - SAU_INIT_REGION(1); - #endif - - #if defined (SAU_INIT_REGION2) && (SAU_INIT_REGION2 == 1U) - SAU_INIT_REGION(2); - #endif - - #if defined (SAU_INIT_REGION3) && (SAU_INIT_REGION3 == 1U) - SAU_INIT_REGION(3); - #endif - - #if defined (SAU_INIT_REGION4) && (SAU_INIT_REGION4 == 1U) - SAU_INIT_REGION(4); - #endif - - #if defined (SAU_INIT_REGION5) && (SAU_INIT_REGION5 == 1U) - SAU_INIT_REGION(5); - #endif - - #if defined (SAU_INIT_REGION6) && (SAU_INIT_REGION6 == 1U) - SAU_INIT_REGION(6); - #endif - - #if defined (SAU_INIT_REGION7) && (SAU_INIT_REGION7 == 1U) - SAU_INIT_REGION(7); - #endif - - /* repeat this for all possible SAU regions */ - -#endif /* defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) */ - - - #if defined (SAU_INIT_CTRL) && (SAU_INIT_CTRL == 1U) - SAU->CTRL = ((SAU_INIT_CTRL_ENABLE << SAU_CTRL_ENABLE_Pos) & SAU_CTRL_ENABLE_Msk) | - ((SAU_INIT_CTRL_ALLNS << SAU_CTRL_ALLNS_Pos) & SAU_CTRL_ALLNS_Msk) ; - #endif - - #if defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) - SCB->SCR = (SCB->SCR & ~(SCB_SCR_SLEEPDEEPS_Msk )) | - ((SCB_CSR_DEEPSLEEPS_VAL << SCB_SCR_SLEEPDEEPS_Pos) & SCB_SCR_SLEEPDEEPS_Msk); - - SCB->AIRCR = (SCB->AIRCR & ~(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_SYSRESETREQS_Msk | - SCB_AIRCR_BFHFNMINS_Msk | SCB_AIRCR_PRIS_Msk )) | - ((0x05FAU << SCB_AIRCR_VECTKEY_Pos) & SCB_AIRCR_VECTKEY_Msk) | - ((SCB_AIRCR_SYSRESETREQS_VAL << SCB_AIRCR_SYSRESETREQS_Pos) & SCB_AIRCR_SYSRESETREQS_Msk) | - ((SCB_AIRCR_PRIS_VAL << SCB_AIRCR_PRIS_Pos) & SCB_AIRCR_PRIS_Msk) | - ((SCB_AIRCR_BFHFNMINS_VAL << SCB_AIRCR_BFHFNMINS_Pos) & SCB_AIRCR_BFHFNMINS_Msk); - #endif /* defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) */ - - #if defined (__FPU_USED) && (__FPU_USED == 1U) && \ - defined (TZ_FPU_NS_USAGE) && (TZ_FPU_NS_USAGE == 1U) - - SCB->NSACR = (SCB->NSACR & ~(SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)) | - ((SCB_NSACR_CP10_11_VAL << SCB_NSACR_CP10_Pos) & (SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)); - - FPU->FPCCR = (FPU->FPCCR & ~(FPU_FPCCR_TS_Msk | FPU_FPCCR_CLRONRETS_Msk | FPU_FPCCR_CLRONRET_Msk)) | - ((FPU_FPCCR_TS_VAL << FPU_FPCCR_TS_Pos ) & FPU_FPCCR_TS_Msk ) | - ((FPU_FPCCR_CLRONRETS_VAL << FPU_FPCCR_CLRONRETS_Pos) & FPU_FPCCR_CLRONRETS_Msk) | - ((FPU_FPCCR_CLRONRET_VAL << FPU_FPCCR_CLRONRET_Pos ) & FPU_FPCCR_CLRONRET_Msk ); - #endif - - #if defined (NVIC_INIT_ITNS0) && (NVIC_INIT_ITNS0 == 1U) - NVIC->ITNS[0] = NVIC_INIT_ITNS0_VAL; - #endif - - #if defined (NVIC_INIT_ITNS1) && (NVIC_INIT_ITNS1 == 1U) - NVIC->ITNS[1] = NVIC_INIT_ITNS1_VAL; - #endif - - #if defined (NVIC_INIT_ITNS2) && (NVIC_INIT_ITNS2 == 1U) - NVIC->ITNS[2] = NVIC_INIT_ITNS2_VAL; - #endif - - #if defined (NVIC_INIT_ITNS3) && (NVIC_INIT_ITNS3 == 1U) - NVIC->ITNS[3] = NVIC_INIT_ITNS3_VAL; - #endif - - #if defined (NVIC_INIT_ITNS4) && (NVIC_INIT_ITNS4 == 1U) - NVIC->ITNS[4] = NVIC_INIT_ITNS4_VAL; - #endif - - #if defined (NVIC_INIT_ITNS5) && (NVIC_INIT_ITNS5 == 1U) - NVIC->ITNS[5] = NVIC_INIT_ITNS5_VAL; - #endif - - #if defined (NVIC_INIT_ITNS6) && (NVIC_INIT_ITNS6 == 1U) - NVIC->ITNS[6] = NVIC_INIT_ITNS6_VAL; - #endif - - #if defined (NVIC_INIT_ITNS7) && (NVIC_INIT_ITNS7 == 1U) - NVIC->ITNS[7] = NVIC_INIT_ITNS7_VAL; - #endif - - #if defined (NVIC_INIT_ITNS8) && (NVIC_INIT_ITNS8 == 1U) - NVIC->ITNS[8] = NVIC_INIT_ITNS8_VAL; - #endif - - #if defined (NVIC_INIT_ITNS9) && (NVIC_INIT_ITNS9 == 1U) - NVIC->ITNS[9] = NVIC_INIT_ITNS9_VAL; - #endif - - #if defined (NVIC_INIT_ITNS10) && (NVIC_INIT_ITNS10 == 1U) - NVIC->ITNS[10] = NVIC_INIT_ITNS10_VAL; - #endif - - #if defined (NVIC_INIT_ITNS11) && (NVIC_INIT_ITNS11 == 1U) - NVIC->ITNS[11] = NVIC_INIT_ITNS11_VAL; - #endif - - #if defined (NVIC_INIT_ITNS12) && (NVIC_INIT_ITNS12 == 1U) - NVIC->ITNS[12] = NVIC_INIT_ITNS12_VAL; - #endif - - #if defined (NVIC_INIT_ITNS13) && (NVIC_INIT_ITNS13 == 1U) - NVIC->ITNS[13] = NVIC_INIT_ITNS13_VAL; - #endif - - #if defined (NVIC_INIT_ITNS14) && (NVIC_INIT_ITNS14 == 1U) - NVIC->ITNS[14] = NVIC_INIT_ITNS14_VAL; - #endif - - #if defined (NVIC_INIT_ITNS15) && (NVIC_INIT_ITNS15 == 1U) - NVIC->ITNS[15] = NVIC_INIT_ITNS15_VAL; - #endif - - /* repeat this for all possible ITNS elements */ - -} - -#endif /* PARTITION_ARMCM33_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCM33/Include/system_ARMCM33.h b/external/CMSIS_5/Device/ARM/ARMCM33/Include/system_ARMCM33.h deleted file mode 100644 index 9d3145e..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM33/Include/system_ARMCM33.h +++ /dev/null @@ -1,64 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM33.h - * @brief CMSIS Device System Header File for - * ARMCM33 Device - * @version V5.3.3 - * @date 11. July 2022 - ******************************************************************************/ -/* - * Copyright (c) 2009-2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef SYSTEM_ARMCM33_H -#define SYSTEM_ARMCM33_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -/** - \brief Exception / Interrupt Handler Function Prototype -*/ -typedef void(*VECTOR_TABLE_Type)(void); - -/** - \brief System Clock Frequency (Core Clock) -*/ -extern uint32_t SystemCoreClock; - -/** - \brief Setup the microcontroller system. - - Initialize the System and update the SystemCoreClock variable. - */ -extern void SystemInit (void); - - -/** - \brief Update SystemCoreClock variable. - - Updates the SystemCoreClock with current core Clock retrieved from cpu registers. - */ -extern void SystemCoreClockUpdate (void); - -#ifdef __cplusplus -} -#endif - -#endif /* SYSTEM_ARMCM33_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCM33/Source/ARM/ARMCM33_ac6.sct b/external/CMSIS_5/Device/ARM/ARMCM33/Source/ARM/ARMCM33_ac6.sct deleted file mode 100644 index e0f60de..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM33/Source/ARM/ARMCM33_ac6.sct +++ /dev/null @@ -1,123 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m33 -xc -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m33 -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_SIZE 0x200 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE (__RAM_SIZE - __STACK_SIZE - __HEAP_SIZE - __STACKSEAL_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/Device/ARM/ARMCM33/Source/ARM/ARMCM33_ac6_s.sct b/external/CMSIS_5/Device/ARM/ARMCM33/Source/ARM/ARMCM33_ac6_s.sct deleted file mode 100644 index 2856686..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM33/Source/ARM/ARMCM33_ac6_s.sct +++ /dev/null @@ -1,123 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m33 -xc -mcmse -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m33 -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_SIZE 0x200 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE (__RAM_SIZE - __STACK_SIZE - __HEAP_SIZE - __STACKSEAL_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/Device/ARM/ARMCM33/Source/ARM/startup_ARMCM33.S b/external/CMSIS_5/Device/ARM/ARMCM33/Source/ARM/startup_ARMCM33.S deleted file mode 100644 index 6189924..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM33/Source/ARM/startup_ARMCM33.S +++ /dev/null @@ -1,159 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM33.S - * @brief CMSIS-Core Device Startup File for Cortex-M33 Device - * @version V2.0.0 - * @date 26. May 2021 - ******************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - .syntax unified - .arch armv8-m.main - - #define __INITIAL_SP Image$$ARM_LIB_STACK$$ZI$$Limit - #define __STACK_LIMIT Image$$ARM_LIB_STACK$$ZI$$Base - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #define __STACK_SEAL Image$$STACKSEAL$$ZI$$Base - #endif - - .section RESET - .align 2 - .globl __Vectors - .globl __Vectors_End - .globl __Vectors_Size -__Vectors: - .long __INITIAL_SP /* Initial Stack Pointer */ - .long Reset_Handler /* Reset Handler */ - .long NMI_Handler /* -14 NMI Handler */ - .long HardFault_Handler /* -13 Hard Fault Handler */ - .long MemManage_Handler /* -12 MPU Fault Handler */ - .long BusFault_Handler /* -11 Bus Fault Handler */ - .long UsageFault_Handler /* -10 Usage Fault Handler */ - .long SecureFault_Handler /* -9 Secure Fault Handler */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long SVC_Handler /* -5 SVCall Handler */ - .long DebugMon_Handler /* -4 Debug Monitor Handler */ - .long 0 /* Reserved */ - .long PendSV_Handler /* -2 PendSV Handler */ - .long SysTick_Handler /* -1 SysTick Handler */ - - /* Interrupts */ - .long Interrupt0_Handler /* 0 Interrupt 0 */ - .long Interrupt1_Handler /* 1 Interrupt 1 */ - .long Interrupt2_Handler /* 2 Interrupt 2 */ - .long Interrupt3_Handler /* 3 Interrupt 3 */ - .long Interrupt4_Handler /* 4 Interrupt 4 */ - .long Interrupt5_Handler /* 5 Interrupt 5 */ - .long Interrupt6_Handler /* 6 Interrupt 6 */ - .long Interrupt7_Handler /* 7 Interrupt 7 */ - .long Interrupt8_Handler /* 8 Interrupt 8 */ - .long Interrupt9_Handler /* 9 Interrupt 9 */ - - .space (470 * 4) /* Interrupts 10 .. 480 are left out */ -__Vectors_End: - .equ __Vectors_Size, __Vectors_End - __Vectors - .size __Vectors, . - __Vectors - - - .thumb - .section .text - .align 2 - - .thumb_func - .type Reset_Handler, %function - .globl Reset_Handler - .fnstart -Reset_Handler: - ldr r0, =__INITIAL_SP - msr psp, r0 - - ldr r0, =__STACK_LIMIT - msr msplim, r0 - msr psplim, r0 - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - ldr r0, =__STACK_SEAL - ldr r1, =0xFEF5EDA5U - strd r1,r1,[r0,#0] - #endif - - bl SystemInit - - bl __main - - .fnend - .size Reset_Handler, . - Reset_Handler - - -/* The default macro is not used for HardFault_Handler - * because this results in a poor debug illusion. - */ - .thumb_func - .type HardFault_Handler, %function - .weak HardFault_Handler - .fnstart -HardFault_Handler: - b . - .fnend - .size HardFault_Handler, . - HardFault_Handler - - .thumb_func - .type Default_Handler, %function - .weak Default_Handler - .fnstart -Default_Handler: - b . - .fnend - .size Default_Handler, . - Default_Handler - -/* Macro to define default exception/interrupt handlers. - * Default handler are weak symbols with an endless loop. - * They can be overwritten by real handlers. - */ - .macro Set_Default_Handler Handler_Name - .weak \Handler_Name - .set \Handler_Name, Default_Handler - .endm - - -/* Default exception/interrupt handler */ - - Set_Default_Handler NMI_Handler - Set_Default_Handler MemManage_Handler - Set_Default_Handler BusFault_Handler - Set_Default_Handler UsageFault_Handler - Set_Default_Handler SecureFault_Handler - Set_Default_Handler SVC_Handler - Set_Default_Handler DebugMon_Handler - Set_Default_Handler PendSV_Handler - Set_Default_Handler SysTick_Handler - - Set_Default_Handler Interrupt0_Handler - Set_Default_Handler Interrupt1_Handler - Set_Default_Handler Interrupt2_Handler - Set_Default_Handler Interrupt3_Handler - Set_Default_Handler Interrupt4_Handler - Set_Default_Handler Interrupt5_Handler - Set_Default_Handler Interrupt6_Handler - Set_Default_Handler Interrupt7_Handler - Set_Default_Handler Interrupt8_Handler - Set_Default_Handler Interrupt9_Handler - - .end diff --git a/external/CMSIS_5/Device/ARM/ARMCM33/Source/GCC/gcc_arm.ld b/external/CMSIS_5/Device/ARM/ARMCM33/Source/GCC/gcc_arm.ld deleted file mode 100644 index c8f0efe..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM33/Source/GCC/gcc_arm.ld +++ /dev/null @@ -1,316 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.2.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00040000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00020000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -/* ARMv8-M stack sealing: - to use ARMv8-M stack sealing set __STACKSEAL_SIZE to 8 otherwise keep 0 - */ -__STACKSEAL_SIZE = 0; - - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - * __StackSeal (only if ARMv8-M stack sealing is used) - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ -/* - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH -*/ - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* ARMv8-M stack sealing: - to use ARMv8-M stack sealing uncomment '.stackseal' section - */ -/* - .stackseal (ORIGIN(RAM) + LENGTH(RAM) - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackSeal = .; - . = . + 8; - . = ALIGN(8); - } > RAM -*/ - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/Device/ARM/ARMCM33/Source/GCC/startup_ARMCM33.S b/external/CMSIS_5/Device/ARM/ARMCM33/Source/GCC/startup_ARMCM33.S deleted file mode 100644 index 2c42855..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM33/Source/GCC/startup_ARMCM33.S +++ /dev/null @@ -1,202 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM33.S - * @brief CMSIS-Core Device Startup File for Cortex-M33 Device - * @version V2.3.0 - * @date 26. May 2021 - ******************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - .syntax unified - .arch armv8-m.main - - #define __INITIAL_SP __StackTop - #define __STACK_LIMIT __StackLimit - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #define __STACK_SEAL __StackSeal - #endif - - .section .vectors - .align 2 - .globl __Vectors - .globl __Vectors_End - .globl __Vectors_Size -__Vectors: - .long __INITIAL_SP /* Initial Stack Pointer */ - .long Reset_Handler /* Reset Handler */ - .long NMI_Handler /* -14 NMI Handler */ - .long HardFault_Handler /* -13 Hard Fault Handler */ - .long MemManage_Handler /* -12 MPU Fault Handler */ - .long BusFault_Handler /* -11 Bus Fault Handler */ - .long UsageFault_Handler /* -10 Usage Fault Handler */ - .long SecureFault_Handler /* -9 Secure Fault Handler */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long SVC_Handler /* -5 SVCall Handler */ - .long DebugMon_Handler /* -4 Debug Monitor Handler */ - .long 0 /* Reserved */ - .long PendSV_Handler /* -2 PendSV Handler */ - .long SysTick_Handler /* -1 SysTick Handler */ - - /* Interrupts */ - .long Interrupt0_Handler /* 0 Interrupt 0 */ - .long Interrupt1_Handler /* 1 Interrupt 1 */ - .long Interrupt2_Handler /* 2 Interrupt 2 */ - .long Interrupt3_Handler /* 3 Interrupt 3 */ - .long Interrupt4_Handler /* 4 Interrupt 4 */ - .long Interrupt5_Handler /* 5 Interrupt 5 */ - .long Interrupt6_Handler /* 6 Interrupt 6 */ - .long Interrupt7_Handler /* 7 Interrupt 7 */ - .long Interrupt8_Handler /* 8 Interrupt 8 */ - .long Interrupt9_Handler /* 9 Interrupt 9 */ - - .space (470 * 4) /* Interrupts 10 .. 480 are left out */ -__Vectors_End: - .equ __Vectors_Size, __Vectors_End - __Vectors - .size __Vectors, . - __Vectors - - - .thumb - .section .text - .align 2 - - .thumb_func - .type Reset_Handler, %function - .globl Reset_Handler - .fnstart -Reset_Handler: - ldr r0, =__INITIAL_SP - msr psp, r0 - - ldr r0, =__STACK_LIMIT - msr msplim, r0 - msr psplim, r0 - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - ldr r0, =__STACK_SEAL - ldr r1, =0xFEF5EDA5U - strd r1,r1,[r0,#0] - #endif - - bl SystemInit - - ldr r4, =__copy_table_start__ - ldr r5, =__copy_table_end__ - -.L_loop0: - cmp r4, r5 - bge .L_loop0_done - ldr r1, [r4] /* source address */ - ldr r2, [r4, #4] /* destination address */ - ldr r3, [r4, #8] /* word count */ - lsls r3, r3, #2 /* byte count */ - -.L_loop0_0: - subs r3, #4 /* decrement byte count */ - ittt ge - ldrge r0, [r1, r3] - strge r0, [r2, r3] - bge .L_loop0_0 - - adds r4, #12 - b .L_loop0 -.L_loop0_done: - - ldr r3, =__zero_table_start__ - ldr r4, =__zero_table_end__ - -.L_loop2: - cmp r3, r4 - bge .L_loop2_done - ldr r1, [r3] /* destination address */ - ldr r2, [r3, #4] /* word count */ - lsls r2, r2, #2 /* byte count */ - movs r0, 0 - -.L_loop2_0: - subs r2, #4 /* decrement byte count */ - itt ge - strge r0, [r1, r2] - bge .L_loop2_0 - - adds r3, #8 - b .L_loop2 -.L_loop2_done: - - bl _start - - .fnend - .size Reset_Handler, . - Reset_Handler - - -/* The default macro is not used for HardFault_Handler - * because this results in a poor debug illusion. - */ - .thumb_func - .type HardFault_Handler, %function - .weak HardFault_Handler - .fnstart -HardFault_Handler: - b . - .fnend - .size HardFault_Handler, . - HardFault_Handler - - .thumb_func - .type Default_Handler, %function - .weak Default_Handler - .fnstart -Default_Handler: - b . - .fnend - .size Default_Handler, . - Default_Handler - -/* Macro to define default exception/interrupt handlers. - * Default handler are weak symbols with an endless loop. - * They can be overwritten by real handlers. - */ - .macro Set_Default_Handler Handler_Name - .weak \Handler_Name - .set \Handler_Name, Default_Handler - .endm - - -/* Default exception/interrupt handler */ - - Set_Default_Handler NMI_Handler - Set_Default_Handler MemManage_Handler - Set_Default_Handler BusFault_Handler - Set_Default_Handler UsageFault_Handler - Set_Default_Handler SecureFault_Handler - Set_Default_Handler SVC_Handler - Set_Default_Handler DebugMon_Handler - Set_Default_Handler PendSV_Handler - Set_Default_Handler SysTick_Handler - - Set_Default_Handler Interrupt0_Handler - Set_Default_Handler Interrupt1_Handler - Set_Default_Handler Interrupt2_Handler - Set_Default_Handler Interrupt3_Handler - Set_Default_Handler Interrupt4_Handler - Set_Default_Handler Interrupt5_Handler - Set_Default_Handler Interrupt6_Handler - Set_Default_Handler Interrupt7_Handler - Set_Default_Handler Interrupt8_Handler - Set_Default_Handler Interrupt9_Handler - - .end diff --git a/external/CMSIS_5/Device/ARM/ARMCM33/Source/IAR/startup_ARMCM33.s b/external/CMSIS_5/Device/ARM/ARMCM33/Source/IAR/startup_ARMCM33.s deleted file mode 100644 index 2a0eb7c..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM33/Source/IAR/startup_ARMCM33.s +++ /dev/null @@ -1,177 +0,0 @@ -;/**************************************************************************//** -; * @file startup_ARMCM33.s -; * @brief CMSIS Core Device Startup File for -; * ARMCM33 Device -; * @version V1.1.0 -; * @date 08. April 2021 -; ******************************************************************************/ -;/* -; * Copyright (c) 2009-2021 Arm Limited. All rights reserved. -; * -; * SPDX-License-Identifier: Apache-2.0 -; * -; * Licensed under the Apache License, Version 2.0 (the License); you may -; * not use this file except in compliance with the License. -; * You may obtain a copy of the License at -; * -; * www.apache.org/licenses/LICENSE-2.0 -; * -; * Unless required by applicable law or agreed to in writing, software -; * distributed under the License is distributed on an AS IS BASIS, WITHOUT -; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; * See the License for the specific language governing permissions and -; * limitations under the License. -; */ - -; -; The modules in this file are included in the libraries, and may be replaced -; by any user-defined modules that define the PUBLIC symbol _program_start or -; a user defined start symbol. -; To override the cstartup defined in the library, simply add your modified -; version to the workbench project. -; -; The vector table is normally located at address 0. -; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. -; The name "__vector_table" has special meaning for C-SPY: -; it is where the SP start value is found, and the NVIC vector -; table register (VTOR) is initialized to this address if != 0. -; -; Cortex-M version -; - - MODULE ?cstartup - - ;; Forward declaration of sections. - SECTION CSTACK:DATA:NOROOT(3) - - SECTION .intvec:CODE:NOROOT(2) - - EXTERN __iar_program_start - EXTERN SystemInit - PUBLIC __vector_table - PUBLIC __vector_table_0x1c - PUBLIC __Vectors - PUBLIC __Vectors_End - PUBLIC __Vectors_Size - - #define __INITIAL_SP sfe(CSTACK) - #define __STACK_LIMIT sfb(CSTACK) - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - SECTION STACKSEAL:DATA:NOROOT(3) - #define __STACK_SEAL sfb(STACKSEAL) - #endif - - DATA - -__vector_table - DCD __INITIAL_SP ; Top of Stack - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; -14 NMI Handler - DCD HardFault_Handler ; -13 Hard Fault Handler - DCD MemManage_Handler ; -12 MPU Fault Handler - DCD BusFault_Handler ; -11 Bus Fault Handler - DCD UsageFault_Handler ; -10 Usage Fault Handler -__vector_table_0x1c - DCD SecureFault_Handler ; -9 Security Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; -5 SVCall Handler - DCD DebugMon_Handler ; -4 Debug Monitor Handler - DCD 0 ; Reserved - DCD PendSV_Handler ; -2 PendSV Handler - DCD SysTick_Handler ; -1 SysTick Handler - - ; Interrupts - DCD Interrupt0_Handler ; 0 Interrupt 0 - DCD Interrupt1_Handler ; 1 Interrupt 1 - DCD Interrupt2_Handler ; 2 Interrupt 2 - DCD Interrupt3_Handler ; 3 Interrupt 3 - DCD Interrupt4_Handler ; 4 Interrupt 4 - DCD Interrupt5_Handler ; 5 Interrupt 5 - DCD Interrupt6_Handler ; 6 Interrupt 6 - DCD Interrupt7_Handler ; 7 Interrupt 7 - DCD Interrupt8_Handler ; 8 Interrupt 8 - DCD Interrupt9_Handler ; 9 Interrupt 9 - - DS32 (470) ; Interrupts 10 .. 480 are left out -__Vectors_End - -__Vectors EQU __vector_table -__Vectors_Size EQU __Vectors_End - __Vectors - - - THUMB - -; Reset Handler - - PUBWEAK Reset_Handler - SECTION .text:CODE:REORDER:NOROOT(2) -Reset_Handler - ldr r0, =__INITIAL_SP - msr psp, r0 - - ldr r0, =__STACK_LIMIT - msr msplim, r0 - msr psplim, r0 - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - ldr r0, =__STACK_SEAL - ldr r1, =0xFEF5EDA5U - strd r1,r1,[r0,#0] - #endif - - LDR R0, =SystemInit - BLX R0 - LDR R0, =__iar_program_start - BX R0 - - - PUBWEAK NMI_Handler - PUBWEAK HardFault_Handler - PUBWEAK MemManage_Handler - PUBWEAK BusFault_Handler - PUBWEAK UsageFault_Handler - PUBWEAK SecureFault_Handler - PUBWEAK SVC_Handler - PUBWEAK DebugMon_Handler - PUBWEAK PendSV_Handler - PUBWEAK SysTick_Handler - - PUBWEAK Interrupt0_Handler - PUBWEAK Interrupt1_Handler - PUBWEAK Interrupt2_Handler - PUBWEAK Interrupt3_Handler - PUBWEAK Interrupt4_Handler - PUBWEAK Interrupt5_Handler - PUBWEAK Interrupt6_Handler - PUBWEAK Interrupt7_Handler - PUBWEAK Interrupt8_Handler - PUBWEAK Interrupt9_Handler - SECTION .text:CODE:REORDER:NOROOT(1) -NMI_Handler -HardFault_Handler -MemManage_Handler -BusFault_Handler -UsageFault_Handler -SecureFault_Handler -SVC_Handler -DebugMon_Handler -PendSV_Handler -SysTick_Handler - -Interrupt0_Handler -Interrupt1_Handler -Interrupt2_Handler -Interrupt3_Handler -Interrupt4_Handler -Interrupt5_Handler -Interrupt6_Handler -Interrupt7_Handler -Interrupt8_Handler -Interrupt9_Handler -Default_Handler - B . - - - END diff --git a/external/CMSIS_5/Device/ARM/ARMCM33/Source/startup_ARMCM33.c b/external/CMSIS_5/Device/ARM/ARMCM33/Source/startup_ARMCM33.c deleted file mode 100644 index 044feb7..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM33/Source/startup_ARMCM33.c +++ /dev/null @@ -1,170 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM33.c - * @brief CMSIS-Core Device Startup File for Cortex-M33 Device - * @version V2.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM33) - #include "ARMCM33.h" -#elif defined (ARMCM33_TZ) - #include "ARMCM33_TZ.h" -#elif defined (ARMCM33_DSP_FP) - #include "ARMCM33_DSP_FP.h" -#elif defined (ARMCM33_DSP_FP_TZ) - #include "ARMCM33_DSP_FP_TZ.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SecureFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - SecureFault_Handler, /* -9 Secure Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVCall Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 480 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/Device/ARM/ARMCM33/Source/system_ARMCM33.c b/external/CMSIS_5/Device/ARM/ARMCM33/Source/system_ARMCM33.c deleted file mode 100644 index 919b8bd..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM33/Source/system_ARMCM33.c +++ /dev/null @@ -1,97 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM33.c - * @brief CMSIS Device System Source File for - * ARMCM33 Device - * @version V1.0.1 - * @date 15. November 2019 - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM33) - #include "ARMCM33.h" -#elif defined (ARMCM33_TZ) - #include "ARMCM33_TZ.h" - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM33.h" - #endif -#elif defined (ARMCM33_DSP_FP) - #include "ARMCM33_DSP_FP.h" -#elif defined (ARMCM33_DSP_FP_TZ) - #include "ARMCM33_DSP_FP_TZ.h" - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM33.h" - #endif -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t) &(__VECTOR_TABLE[0]); -#endif - -#if defined (__FPU_USED) && (__FPU_USED == 1U) - SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ - (3U << 11U*2U) ); /* enable CP11 Full Access */ -#endif - -#ifdef UNALIGNED_SUPPORT_DISABLE - SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; -#endif - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - TZ_SAU_Setup(); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/Device/ARM/ARMCM35P/Include/ARMCM35P.h b/external/CMSIS_5/Device/ARM/ARMCM35P/Include/ARMCM35P.h deleted file mode 100644 index c9e5cb9..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM35P/Include/ARMCM35P.h +++ /dev/null @@ -1,131 +0,0 @@ -/**************************************************************************//** - * @file ARMCM35P.h - * @brief CMSIS Core Peripheral Access Layer Header File for - * ARMCM35P Device (configured for ARMCM35P without FPU, without DSP extension, without TrustZone) - * @version V1.0.1 - * @date 01. May 2023 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ARMCM35P_H -#define ARMCM35P_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* ------------------------- Interrupt Number Definition ------------------------ */ - -typedef enum IRQn -{ -/* ------------------- Processor Exceptions Numbers ----------------------------- */ - NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /* 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /* 4 Memory Management Interrupt */ - BusFault_IRQn = -11, /* 5 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /* 6 Usage Fault Interrupt */ - SecureFault_IRQn = -9, /* 7 Secure Fault Interrupt */ - SVCall_IRQn = -5, /* 11 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /* 12 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /* 14 Pend SV Interrupt */ - SysTick_IRQn = -1, /* 15 System Tick Interrupt */ - -/* ------------------- Processor Interrupt Numbers ------------------------------ */ - Interrupt0_IRQn = 0, - Interrupt1_IRQn = 1, - Interrupt2_IRQn = 2, - Interrupt3_IRQn = 3, - Interrupt4_IRQn = 4, - Interrupt5_IRQn = 5, - Interrupt6_IRQn = 6, - Interrupt7_IRQn = 7, - Interrupt8_IRQn = 8, - Interrupt9_IRQn = 9, - /* Interrupts 10 .. 479 are left out */ - Interrupt480_IRQn = 480 -} IRQn_Type; - - -/* ================================================================================ */ -/* ================ Processor and Core Peripheral Section ================ */ -/* ================================================================================ */ - -/* ------- Start of section using anonymous unions and disabling warnings ------- */ -#if defined (__CC_ARM) - #pragma push - #pragma anon_unions -#elif defined (__ICCARM__) - #pragma language=extended -#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wc11-extensions" - #pragma clang diagnostic ignored "-Wreserved-id-macro" -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning 586 -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -/* -------- Configuration of Core Peripherals ----------------------------------- */ -#define __CM35P_REV 0x0000U /* Core revision r0p0 */ -#define __SAUREGION_PRESENT 0U /* SAU regions present */ -#define __MPU_PRESENT 1U /* MPU present */ -#define __VTOR_PRESENT 1U /* VTOR present */ -#define __NVIC_PRIO_BITS 3U /* Number of Bits used for Priority Levels */ -#define __Vendor_SysTickConfig 0U /* Set to 1 if different SysTick Config is used */ -#define __FPU_PRESENT 0U /* no FPU present */ -#define __DSP_PRESENT 0U /* no DSP extension present */ - -#include "core_cm35p.h" /* Processor and core peripherals */ -#include "system_ARMCM35P.h" /* System Header */ - - -/* -------- End of section using anonymous unions and disabling warnings -------- */ -#if defined (__CC_ARM) - #pragma pop -#elif defined (__ICCARM__) - /* leave anonymous unions enabled */ -#elif (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) - #pragma clang diagnostic pop -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning restore -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* ARMCM35P_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCM35P/Include/ARMCM35P_DSP_FP.h b/external/CMSIS_5/Device/ARM/ARMCM35P/Include/ARMCM35P_DSP_FP.h deleted file mode 100644 index 7e0f1d6..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM35P/Include/ARMCM35P_DSP_FP.h +++ /dev/null @@ -1,131 +0,0 @@ -/**************************************************************************//** - * @file ARMCM35P_DSP_FP.h - * @brief CMSIS Core Peripheral Access Layer Header File for - * ARMCM35P Device (configured for ARMCM35P with FPU, with DSP extension) - * @version V1.0.1 - * @date 01. May 2023 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ARMCM35P_DSP_FP_H -#define ARMCM35P_DSP_FP_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* ------------------------- Interrupt Number Definition ------------------------ */ - -typedef enum IRQn -{ -/* ------------------- Processor Exceptions Numbers ----------------------------- */ - NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /* 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /* 4 Memory Management Interrupt */ - BusFault_IRQn = -11, /* 5 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /* 6 Usage Fault Interrupt */ - SecureFault_IRQn = -9, /* 7 Secure Fault Interrupt */ - SVCall_IRQn = -5, /* 11 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /* 12 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /* 14 Pend SV Interrupt */ - SysTick_IRQn = -1, /* 15 System Tick Interrupt */ - -/* ------------------- Processor Interrupt Numbers ------------------------------ */ - Interrupt0_IRQn = 0, - Interrupt1_IRQn = 1, - Interrupt2_IRQn = 2, - Interrupt3_IRQn = 3, - Interrupt4_IRQn = 4, - Interrupt5_IRQn = 5, - Interrupt6_IRQn = 6, - Interrupt7_IRQn = 7, - Interrupt8_IRQn = 8, - Interrupt9_IRQn = 9, - /* Interrupts 10 .. 479 are left out */ - Interrupt480_IRQn = 480 -} IRQn_Type; - - -/* ================================================================================ */ -/* ================ Processor and Core Peripheral Section ================ */ -/* ================================================================================ */ - -/* ------- Start of section using anonymous unions and disabling warnings ------- */ -#if defined (__CC_ARM) - #pragma push - #pragma anon_unions -#elif defined (__ICCARM__) - #pragma language=extended -#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wc11-extensions" - #pragma clang diagnostic ignored "-Wreserved-id-macro" -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning 586 -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -/* -------- Configuration of Core Peripherals ----------------------------------- */ -#define __CM35P_REV 0x0000U /* Core revision r0p0 */ -#define __SAUREGION_PRESENT 0U /* SAU regions present */ -#define __MPU_PRESENT 1U /* MPU present */ -#define __VTOR_PRESENT 1U /* VTOR present */ -#define __NVIC_PRIO_BITS 3U /* Number of Bits used for Priority Levels */ -#define __Vendor_SysTickConfig 0U /* Set to 1 if different SysTick Config is used */ -#define __FPU_PRESENT 1U /* FPU present */ -#define __DSP_PRESENT 1U /* DSP extension present */ - -#include "core_cm35p.h" /* Processor and core peripherals */ -#include "system_ARMCM35P.h" /* System Header */ - - -/* -------- End of section using anonymous unions and disabling warnings -------- */ -#if defined (__CC_ARM) - #pragma pop -#elif defined (__ICCARM__) - /* leave anonymous unions enabled */ -#elif (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) - #pragma clang diagnostic pop -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning restore -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* ARMCM35P_DSP_FP_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCM35P/Include/ARMCM35P_DSP_FP_TZ.h b/external/CMSIS_5/Device/ARM/ARMCM35P/Include/ARMCM35P_DSP_FP_TZ.h deleted file mode 100644 index 2864ba3..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM35P/Include/ARMCM35P_DSP_FP_TZ.h +++ /dev/null @@ -1,131 +0,0 @@ -/**************************************************************************//** - * @file ARMCM35P_DSP_FP_TZ.h - * @brief CMSIS Core Peripheral Access Layer Header File for - * ARMCM35P Device (configured for ARMCM35P with FPU, with DSP extension, with TrustZone) - * @version V1.0.1 - * @date 01. May 2023 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ARMCM35P_DSP_FP_TZ_H -#define ARMCM35P_DSP_FP_TZ_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* ------------------------- Interrupt Number Definition ------------------------ */ - -typedef enum IRQn -{ -/* ------------------- Processor Exceptions Numbers ----------------------------- */ - NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /* 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /* 4 Memory Management Interrupt */ - BusFault_IRQn = -11, /* 5 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /* 6 Usage Fault Interrupt */ - SecureFault_IRQn = -9, /* 7 Secure Fault Interrupt */ - SVCall_IRQn = -5, /* 11 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /* 12 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /* 14 Pend SV Interrupt */ - SysTick_IRQn = -1, /* 15 System Tick Interrupt */ - -/* ------------------- Processor Interrupt Numbers ------------------------------ */ - Interrupt0_IRQn = 0, - Interrupt1_IRQn = 1, - Interrupt2_IRQn = 2, - Interrupt3_IRQn = 3, - Interrupt4_IRQn = 4, - Interrupt5_IRQn = 5, - Interrupt6_IRQn = 6, - Interrupt7_IRQn = 7, - Interrupt8_IRQn = 8, - Interrupt9_IRQn = 9, - /* Interrupts 10 .. 479 are left out */ - Interrupt480_IRQn = 480 -} IRQn_Type; - - -/* ================================================================================ */ -/* ================ Processor and Core Peripheral Section ================ */ -/* ================================================================================ */ - -/* ------- Start of section using anonymous unions and disabling warnings ------- */ -#if defined (__CC_ARM) - #pragma push - #pragma anon_unions -#elif defined (__ICCARM__) - #pragma language=extended -#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wc11-extensions" - #pragma clang diagnostic ignored "-Wreserved-id-macro" -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning 586 -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -/* -------- Configuration of Core Peripherals ----------------------------------- */ -#define __CM35P_REV 0x0000U /* Core revision r0p0 */ -#define __SAUREGION_PRESENT 1U /* SAU regions present */ -#define __MPU_PRESENT 1U /* MPU present */ -#define __VTOR_PRESENT 1U /* VTOR present */ -#define __NVIC_PRIO_BITS 3U /* Number of Bits used for Priority Levels */ -#define __Vendor_SysTickConfig 0U /* Set to 1 if different SysTick Config is used */ -#define __FPU_PRESENT 1U /* FPU present */ -#define __DSP_PRESENT 1U /* DSP extension present */ - -#include "core_cm35p.h" /* Processor and core peripherals */ -#include "system_ARMCM35P.h" /* System Header */ - - -/* -------- End of section using anonymous unions and disabling warnings -------- */ -#if defined (__CC_ARM) - #pragma pop -#elif defined (__ICCARM__) - /* leave anonymous unions enabled */ -#elif (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) - #pragma clang diagnostic pop -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning restore -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* ARMCM35P_DSP_FP_TZ_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCM35P/Include/ARMCM35P_TZ.h b/external/CMSIS_5/Device/ARM/ARMCM35P/Include/ARMCM35P_TZ.h deleted file mode 100644 index ffb47ac..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM35P/Include/ARMCM35P_TZ.h +++ /dev/null @@ -1,131 +0,0 @@ -/**************************************************************************//** - * @file ARMCM35P_TZ.h - * @brief CMSIS Core Peripheral Access Layer Header File for - * ARMCM35P Device (configured for ARMCM35P without FPU, without DSP extension, with TrustZone) - * @version V1.0.1 - * @date 01. May 2023 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ARMCM35P_TZ_H -#define ARMCM35P_TZ_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* ------------------------- Interrupt Number Definition ------------------------ */ - -typedef enum IRQn -{ -/* ------------------- Processor Exceptions Numbers ----------------------------- */ - NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /* 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /* 4 Memory Management Interrupt */ - BusFault_IRQn = -11, /* 5 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /* 6 Usage Fault Interrupt */ - SecureFault_IRQn = -9, /* 7 Secure Fault Interrupt */ - SVCall_IRQn = -5, /* 11 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /* 12 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /* 14 Pend SV Interrupt */ - SysTick_IRQn = -1, /* 15 System Tick Interrupt */ - -/* ------------------- Processor Interrupt Numbers ------------------------------ */ - Interrupt0_IRQn = 0, - Interrupt1_IRQn = 1, - Interrupt2_IRQn = 2, - Interrupt3_IRQn = 3, - Interrupt4_IRQn = 4, - Interrupt5_IRQn = 5, - Interrupt6_IRQn = 6, - Interrupt7_IRQn = 7, - Interrupt8_IRQn = 8, - Interrupt9_IRQn = 9, - /* Interrupts 10 .. 479 are left out */ - Interrupt480_IRQn = 480 -} IRQn_Type; - - -/* ================================================================================ */ -/* ================ Processor and Core Peripheral Section ================ */ -/* ================================================================================ */ - -/* ------- Start of section using anonymous unions and disabling warnings ------- */ -#if defined (__CC_ARM) - #pragma push - #pragma anon_unions -#elif defined (__ICCARM__) - #pragma language=extended -#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wc11-extensions" - #pragma clang diagnostic ignored "-Wreserved-id-macro" -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning 586 -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -/* -------- Configuration of Core Peripherals ----------------------------------- */ -#define __CM35P_REV 0x0000U /* Core revision r0p0 */ -#define __SAUREGION_PRESENT 1U /* SAU regions present */ -#define __MPU_PRESENT 1U /* MPU present */ -#define __VTOR_PRESENT 1U /* VTOR present */ -#define __NVIC_PRIO_BITS 3U /* Number of Bits used for Priority Levels */ -#define __Vendor_SysTickConfig 0U /* Set to 1 if different SysTick Config is used */ -#define __FPU_PRESENT 0U /* no FPU present */ -#define __DSP_PRESENT 0U /* no DSP extension present */ - -#include "core_cm35p.h" /* Processor and core peripherals */ -#include "system_ARMCM35P.h" /* System Header */ - - -/* -------- End of section using anonymous unions and disabling warnings -------- */ -#if defined (__CC_ARM) - #pragma pop -#elif defined (__ICCARM__) - /* leave anonymous unions enabled */ -#elif (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) - #pragma clang diagnostic pop -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning restore -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* ARMCM35P_TZ_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCM35P/Include/Template/partition_ARMCM35P.h b/external/CMSIS_5/Device/ARM/ARMCM35P/Include/Template/partition_ARMCM35P.h deleted file mode 100644 index 299dd18..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM35P/Include/Template/partition_ARMCM35P.h +++ /dev/null @@ -1,1260 +0,0 @@ -/**************************************************************************//** - * @file partition_ARMCM35P.h - * @brief CMSIS-CORE Initial Setup for Secure / Non-Secure Zones for ARMCM35P - * @version V1.0.0 - * @date 03. September 2018 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef PARTITION_ARMCM35P_H -#define PARTITION_ARMCM35P_H - -/* -//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- -*/ - -/* -// Initialize Security Attribution Unit (SAU) CTRL register -*/ -#define SAU_INIT_CTRL 1 - -/* -// Enable SAU -// Value for SAU->CTRL register bit ENABLE -*/ -#define SAU_INIT_CTRL_ENABLE 1 - -/* -// When SAU is disabled -// <0=> All Memory is Secure -// <1=> All Memory is Non-Secure -// Value for SAU->CTRL register bit ALLNS -// When all Memory is Non-Secure (ALLNS is 1), IDAU can override memory map configuration. -*/ -#define SAU_INIT_CTRL_ALLNS 0 - -/* -// -*/ - -/* -// Initialize Security Attribution Unit (SAU) Address Regions -// SAU configuration specifies regions to be one of: -// - Secure and Non-Secure Callable -// - Non-Secure -// Note: All memory regions not configured by SAU are Secure -*/ -#define SAU_REGIONS_MAX 8 /* Max. number of SAU regions */ - -/* -// Initialize SAU Region 0 -// Setup SAU Region 0 memory attributes -*/ -#define SAU_INIT_REGION0 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START0 0x00000000 /* start address of SAU region 0 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END0 0x001FFFFF /* end address of SAU region 0 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC0 1 -/* -// -*/ - -/* -// Initialize SAU Region 1 -// Setup SAU Region 1 memory attributes -*/ -#define SAU_INIT_REGION1 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START1 0x00200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END1 0x003FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC1 0 -/* -// -*/ - -/* -// Initialize SAU Region 2 -// Setup SAU Region 2 memory attributes -*/ -#define SAU_INIT_REGION2 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START2 0x20200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END2 0x203FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC2 0 -/* -// -*/ - -/* -// Initialize SAU Region 3 -// Setup SAU Region 3 memory attributes -*/ -#define SAU_INIT_REGION3 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START3 0x40000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END3 0x40040000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC3 0 -/* -// -*/ - -/* -// Initialize SAU Region 4 -// Setup SAU Region 4 memory attributes -*/ -#define SAU_INIT_REGION4 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START4 0x00000000 /* start address of SAU region 4 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END4 0x00000000 /* end address of SAU region 4 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC4 0 -/* -// -*/ - -/* -// Initialize SAU Region 5 -// Setup SAU Region 5 memory attributes -*/ -#define SAU_INIT_REGION5 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START5 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END5 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC5 0 -/* -// -*/ - -/* -// Initialize SAU Region 6 -// Setup SAU Region 6 memory attributes -*/ -#define SAU_INIT_REGION6 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START6 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END6 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC6 0 -/* -// -*/ - -/* -// Initialize SAU Region 7 -// Setup SAU Region 7 memory attributes -*/ -#define SAU_INIT_REGION7 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START7 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END7 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC7 0 -/* -// -*/ - -/* -// -*/ - -/* -// Setup behaviour of Sleep and Exception Handling -*/ -#define SCB_CSR_AIRCR_INIT 1 - -/* -// Deep Sleep can be enabled by -// <0=>Secure and Non-Secure state -// <1=>Secure state only -// Value for SCB->CSR register bit DEEPSLEEPS -*/ -#define SCB_CSR_DEEPSLEEPS_VAL 1 - -/* -// System reset request accessible from -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for SCB->AIRCR register bit SYSRESETREQS -*/ -#define SCB_AIRCR_SYSRESETREQS_VAL 1 - -/* -// Priority of Non-Secure exceptions is -// <0=> Not altered -// <1=> Lowered to 0x80-0xFF -// Value for SCB->AIRCR register bit PRIS -*/ -#define SCB_AIRCR_PRIS_VAL 1 - -/* -// BusFault, HardFault, and NMI target -// <0=> Secure state -// <1=> Non-Secure state -// Value for SCB->AIRCR register bit BFHFNMINS -*/ -#define SCB_AIRCR_BFHFNMINS_VAL 0 - -/* -// -*/ - -/* -// Setup behaviour of Floating Point Unit -*/ -#define TZ_FPU_NS_USAGE 1 - -/* -// Floating Point Unit usage -// <0=> Secure state only -// <3=> Secure and Non-Secure state -// Value for SCB->NSACR register bits CP10, CP11 -*/ -#define SCB_NSACR_CP10_11_VAL 3 - -/* -// Treat floating-point registers as Secure -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit TS -*/ -#define FPU_FPCCR_TS_VAL 0 - -/* -// Clear on return (CLRONRET) accessibility -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for FPU->FPCCR register bit CLRONRETS -*/ -#define FPU_FPCCR_CLRONRETS_VAL 0 - -/* -// Clear floating-point caller saved registers on exception return -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit CLRONRET -*/ -#define FPU_FPCCR_CLRONRET_VAL 1 - -/* -// -*/ - -/* -// Setup Interrupt Target -*/ - -/* -// Initialize ITNS 0 (Interrupts 0..31) -*/ -#define NVIC_INIT_ITNS0 1 - -/* -// Interrupts 0..31 -// Interrupt 0 <0=> Secure state <1=> Non-Secure state -// Interrupt 1 <0=> Secure state <1=> Non-Secure state -// Interrupt 2 <0=> Secure state <1=> Non-Secure state -// Interrupt 3 <0=> Secure state <1=> Non-Secure state -// Interrupt 4 <0=> Secure state <1=> Non-Secure state -// Interrupt 5 <0=> Secure state <1=> Non-Secure state -// Interrupt 6 <0=> Secure state <1=> Non-Secure state -// Interrupt 7 <0=> Secure state <1=> Non-Secure state -// Interrupt 8 <0=> Secure state <1=> Non-Secure state -// Interrupt 9 <0=> Secure state <1=> Non-Secure state -// Interrupt 10 <0=> Secure state <1=> Non-Secure state -// Interrupt 11 <0=> Secure state <1=> Non-Secure state -// Interrupt 12 <0=> Secure state <1=> Non-Secure state -// Interrupt 13 <0=> Secure state <1=> Non-Secure state -// Interrupt 14 <0=> Secure state <1=> Non-Secure state -// Interrupt 15 <0=> Secure state <1=> Non-Secure state -// Interrupt 16 <0=> Secure state <1=> Non-Secure state -// Interrupt 17 <0=> Secure state <1=> Non-Secure state -// Interrupt 18 <0=> Secure state <1=> Non-Secure state -// Interrupt 19 <0=> Secure state <1=> Non-Secure state -// Interrupt 20 <0=> Secure state <1=> Non-Secure state -// Interrupt 21 <0=> Secure state <1=> Non-Secure state -// Interrupt 22 <0=> Secure state <1=> Non-Secure state -// Interrupt 23 <0=> Secure state <1=> Non-Secure state -// Interrupt 24 <0=> Secure state <1=> Non-Secure state -// Interrupt 25 <0=> Secure state <1=> Non-Secure state -// Interrupt 26 <0=> Secure state <1=> Non-Secure state -// Interrupt 27 <0=> Secure state <1=> Non-Secure state -// Interrupt 28 <0=> Secure state <1=> Non-Secure state -// Interrupt 29 <0=> Secure state <1=> Non-Secure state -// Interrupt 30 <0=> Secure state <1=> Non-Secure state -// Interrupt 31 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS0_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 1 (Interrupts 32..63) -*/ -#define NVIC_INIT_ITNS1 1 - -/* -// Interrupts 32..63 -// Interrupt 32 <0=> Secure state <1=> Non-Secure state -// Interrupt 33 <0=> Secure state <1=> Non-Secure state -// Interrupt 34 <0=> Secure state <1=> Non-Secure state -// Interrupt 35 <0=> Secure state <1=> Non-Secure state -// Interrupt 36 <0=> Secure state <1=> Non-Secure state -// Interrupt 37 <0=> Secure state <1=> Non-Secure state -// Interrupt 38 <0=> Secure state <1=> Non-Secure state -// Interrupt 39 <0=> Secure state <1=> Non-Secure state -// Interrupt 40 <0=> Secure state <1=> Non-Secure state -// Interrupt 41 <0=> Secure state <1=> Non-Secure state -// Interrupt 42 <0=> Secure state <1=> Non-Secure state -// Interrupt 43 <0=> Secure state <1=> Non-Secure state -// Interrupt 44 <0=> Secure state <1=> Non-Secure state -// Interrupt 45 <0=> Secure state <1=> Non-Secure state -// Interrupt 46 <0=> Secure state <1=> Non-Secure state -// Interrupt 47 <0=> Secure state <1=> Non-Secure state -// Interrupt 48 <0=> Secure state <1=> Non-Secure state -// Interrupt 49 <0=> Secure state <1=> Non-Secure state -// Interrupt 50 <0=> Secure state <1=> Non-Secure state -// Interrupt 51 <0=> Secure state <1=> Non-Secure state -// Interrupt 52 <0=> Secure state <1=> Non-Secure state -// Interrupt 53 <0=> Secure state <1=> Non-Secure state -// Interrupt 54 <0=> Secure state <1=> Non-Secure state -// Interrupt 55 <0=> Secure state <1=> Non-Secure state -// Interrupt 56 <0=> Secure state <1=> Non-Secure state -// Interrupt 57 <0=> Secure state <1=> Non-Secure state -// Interrupt 58 <0=> Secure state <1=> Non-Secure state -// Interrupt 59 <0=> Secure state <1=> Non-Secure state -// Interrupt 60 <0=> Secure state <1=> Non-Secure state -// Interrupt 61 <0=> Secure state <1=> Non-Secure state -// Interrupt 62 <0=> Secure state <1=> Non-Secure state -// Interrupt 63 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS1_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 2 (Interrupts 64..95) -*/ -#define NVIC_INIT_ITNS2 0 - -/* -// Interrupts 64..95 -// Interrupt 64 <0=> Secure state <1=> Non-Secure state -// Interrupt 65 <0=> Secure state <1=> Non-Secure state -// Interrupt 66 <0=> Secure state <1=> Non-Secure state -// Interrupt 67 <0=> Secure state <1=> Non-Secure state -// Interrupt 68 <0=> Secure state <1=> Non-Secure state -// Interrupt 69 <0=> Secure state <1=> Non-Secure state -// Interrupt 70 <0=> Secure state <1=> Non-Secure state -// Interrupt 71 <0=> Secure state <1=> Non-Secure state -// Interrupt 72 <0=> Secure state <1=> Non-Secure state -// Interrupt 73 <0=> Secure state <1=> Non-Secure state -// Interrupt 74 <0=> Secure state <1=> Non-Secure state -// Interrupt 75 <0=> Secure state <1=> Non-Secure state -// Interrupt 76 <0=> Secure state <1=> Non-Secure state -// Interrupt 77 <0=> Secure state <1=> Non-Secure state -// Interrupt 78 <0=> Secure state <1=> Non-Secure state -// Interrupt 79 <0=> Secure state <1=> Non-Secure state -// Interrupt 80 <0=> Secure state <1=> Non-Secure state -// Interrupt 81 <0=> Secure state <1=> Non-Secure state -// Interrupt 82 <0=> Secure state <1=> Non-Secure state -// Interrupt 83 <0=> Secure state <1=> Non-Secure state -// Interrupt 84 <0=> Secure state <1=> Non-Secure state -// Interrupt 85 <0=> Secure state <1=> Non-Secure state -// Interrupt 86 <0=> Secure state <1=> Non-Secure state -// Interrupt 87 <0=> Secure state <1=> Non-Secure state -// Interrupt 88 <0=> Secure state <1=> Non-Secure state -// Interrupt 89 <0=> Secure state <1=> Non-Secure state -// Interrupt 90 <0=> Secure state <1=> Non-Secure state -// Interrupt 91 <0=> Secure state <1=> Non-Secure state -// Interrupt 92 <0=> Secure state <1=> Non-Secure state -// Interrupt 93 <0=> Secure state <1=> Non-Secure state -// Interrupt 94 <0=> Secure state <1=> Non-Secure state -// Interrupt 95 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS2_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 3 (Interrupts 96..127) -*/ -#define NVIC_INIT_ITNS3 0 - -/* -// Interrupts 96..127 -// Interrupt 96 <0=> Secure state <1=> Non-Secure state -// Interrupt 97 <0=> Secure state <1=> Non-Secure state -// Interrupt 98 <0=> Secure state <1=> Non-Secure state -// Interrupt 99 <0=> Secure state <1=> Non-Secure state -// Interrupt 100 <0=> Secure state <1=> Non-Secure state -// Interrupt 101 <0=> Secure state <1=> Non-Secure state -// Interrupt 102 <0=> Secure state <1=> Non-Secure state -// Interrupt 103 <0=> Secure state <1=> Non-Secure state -// Interrupt 104 <0=> Secure state <1=> Non-Secure state -// Interrupt 105 <0=> Secure state <1=> Non-Secure state -// Interrupt 106 <0=> Secure state <1=> Non-Secure state -// Interrupt 107 <0=> Secure state <1=> Non-Secure state -// Interrupt 108 <0=> Secure state <1=> Non-Secure state -// Interrupt 109 <0=> Secure state <1=> Non-Secure state -// Interrupt 110 <0=> Secure state <1=> Non-Secure state -// Interrupt 111 <0=> Secure state <1=> Non-Secure state -// Interrupt 112 <0=> Secure state <1=> Non-Secure state -// Interrupt 113 <0=> Secure state <1=> Non-Secure state -// Interrupt 114 <0=> Secure state <1=> Non-Secure state -// Interrupt 115 <0=> Secure state <1=> Non-Secure state -// Interrupt 116 <0=> Secure state <1=> Non-Secure state -// Interrupt 117 <0=> Secure state <1=> Non-Secure state -// Interrupt 118 <0=> Secure state <1=> Non-Secure state -// Interrupt 119 <0=> Secure state <1=> Non-Secure state -// Interrupt 120 <0=> Secure state <1=> Non-Secure state -// Interrupt 121 <0=> Secure state <1=> Non-Secure state -// Interrupt 122 <0=> Secure state <1=> Non-Secure state -// Interrupt 123 <0=> Secure state <1=> Non-Secure state -// Interrupt 124 <0=> Secure state <1=> Non-Secure state -// Interrupt 125 <0=> Secure state <1=> Non-Secure state -// Interrupt 126 <0=> Secure state <1=> Non-Secure state -// Interrupt 127 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS3_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 4 (Interrupts 128..159) -*/ -#define NVIC_INIT_ITNS4 0 - -/* -// Interrupts 128..159 -// Interrupt 128 <0=> Secure state <1=> Non-Secure state -// Interrupt 129 <0=> Secure state <1=> Non-Secure state -// Interrupt 130 <0=> Secure state <1=> Non-Secure state -// Interrupt 131 <0=> Secure state <1=> Non-Secure state -// Interrupt 132 <0=> Secure state <1=> Non-Secure state -// Interrupt 133 <0=> Secure state <1=> Non-Secure state -// Interrupt 134 <0=> Secure state <1=> Non-Secure state -// Interrupt 135 <0=> Secure state <1=> Non-Secure state -// Interrupt 136 <0=> Secure state <1=> Non-Secure state -// Interrupt 137 <0=> Secure state <1=> Non-Secure state -// Interrupt 138 <0=> Secure state <1=> Non-Secure state -// Interrupt 139 <0=> Secure state <1=> Non-Secure state -// Interrupt 140 <0=> Secure state <1=> Non-Secure state -// Interrupt 141 <0=> Secure state <1=> Non-Secure state -// Interrupt 142 <0=> Secure state <1=> Non-Secure state -// Interrupt 143 <0=> Secure state <1=> Non-Secure state -// Interrupt 144 <0=> Secure state <1=> Non-Secure state -// Interrupt 145 <0=> Secure state <1=> Non-Secure state -// Interrupt 146 <0=> Secure state <1=> Non-Secure state -// Interrupt 147 <0=> Secure state <1=> Non-Secure state -// Interrupt 148 <0=> Secure state <1=> Non-Secure state -// Interrupt 149 <0=> Secure state <1=> Non-Secure state -// Interrupt 150 <0=> Secure state <1=> Non-Secure state -// Interrupt 151 <0=> Secure state <1=> Non-Secure state -// Interrupt 152 <0=> Secure state <1=> Non-Secure state -// Interrupt 153 <0=> Secure state <1=> Non-Secure state -// Interrupt 154 <0=> Secure state <1=> Non-Secure state -// Interrupt 155 <0=> Secure state <1=> Non-Secure state -// Interrupt 156 <0=> Secure state <1=> Non-Secure state -// Interrupt 157 <0=> Secure state <1=> Non-Secure state -// Interrupt 158 <0=> Secure state <1=> Non-Secure state -// Interrupt 159 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS4_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 5 (Interrupts 160..191) -*/ -#define NVIC_INIT_ITNS5 0 - -/* -// Interrupts 160..191 -// Interrupt 160 <0=> Secure state <1=> Non-Secure state -// Interrupt 161 <0=> Secure state <1=> Non-Secure state -// Interrupt 162 <0=> Secure state <1=> Non-Secure state -// Interrupt 163 <0=> Secure state <1=> Non-Secure state -// Interrupt 164 <0=> Secure state <1=> Non-Secure state -// Interrupt 165 <0=> Secure state <1=> Non-Secure state -// Interrupt 166 <0=> Secure state <1=> Non-Secure state -// Interrupt 167 <0=> Secure state <1=> Non-Secure state -// Interrupt 168 <0=> Secure state <1=> Non-Secure state -// Interrupt 169 <0=> Secure state <1=> Non-Secure state -// Interrupt 170 <0=> Secure state <1=> Non-Secure state -// Interrupt 171 <0=> Secure state <1=> Non-Secure state -// Interrupt 172 <0=> Secure state <1=> Non-Secure state -// Interrupt 173 <0=> Secure state <1=> Non-Secure state -// Interrupt 174 <0=> Secure state <1=> Non-Secure state -// Interrupt 175 <0=> Secure state <1=> Non-Secure state -// Interrupt 176 <0=> Secure state <1=> Non-Secure state -// Interrupt 177 <0=> Secure state <1=> Non-Secure state -// Interrupt 178 <0=> Secure state <1=> Non-Secure state -// Interrupt 179 <0=> Secure state <1=> Non-Secure state -// Interrupt 180 <0=> Secure state <1=> Non-Secure state -// Interrupt 181 <0=> Secure state <1=> Non-Secure state -// Interrupt 182 <0=> Secure state <1=> Non-Secure state -// Interrupt 183 <0=> Secure state <1=> Non-Secure state -// Interrupt 184 <0=> Secure state <1=> Non-Secure state -// Interrupt 185 <0=> Secure state <1=> Non-Secure state -// Interrupt 186 <0=> Secure state <1=> Non-Secure state -// Interrupt 187 <0=> Secure state <1=> Non-Secure state -// Interrupt 188 <0=> Secure state <1=> Non-Secure state -// Interrupt 189 <0=> Secure state <1=> Non-Secure state -// Interrupt 190 <0=> Secure state <1=> Non-Secure state -// Interrupt 191 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS5_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 6 (Interrupts 192..223) -*/ -#define NVIC_INIT_ITNS6 0 - -/* -// Interrupts 192..223 -// Interrupt 192 <0=> Secure state <1=> Non-Secure state -// Interrupt 193 <0=> Secure state <1=> Non-Secure state -// Interrupt 194 <0=> Secure state <1=> Non-Secure state -// Interrupt 195 <0=> Secure state <1=> Non-Secure state -// Interrupt 196 <0=> Secure state <1=> Non-Secure state -// Interrupt 197 <0=> Secure state <1=> Non-Secure state -// Interrupt 198 <0=> Secure state <1=> Non-Secure state -// Interrupt 199 <0=> Secure state <1=> Non-Secure state -// Interrupt 200 <0=> Secure state <1=> Non-Secure state -// Interrupt 201 <0=> Secure state <1=> Non-Secure state -// Interrupt 202 <0=> Secure state <1=> Non-Secure state -// Interrupt 203 <0=> Secure state <1=> Non-Secure state -// Interrupt 204 <0=> Secure state <1=> Non-Secure state -// Interrupt 205 <0=> Secure state <1=> Non-Secure state -// Interrupt 206 <0=> Secure state <1=> Non-Secure state -// Interrupt 207 <0=> Secure state <1=> Non-Secure state -// Interrupt 208 <0=> Secure state <1=> Non-Secure state -// Interrupt 209 <0=> Secure state <1=> Non-Secure state -// Interrupt 210 <0=> Secure state <1=> Non-Secure state -// Interrupt 211 <0=> Secure state <1=> Non-Secure state -// Interrupt 212 <0=> Secure state <1=> Non-Secure state -// Interrupt 213 <0=> Secure state <1=> Non-Secure state -// Interrupt 214 <0=> Secure state <1=> Non-Secure state -// Interrupt 215 <0=> Secure state <1=> Non-Secure state -// Interrupt 216 <0=> Secure state <1=> Non-Secure state -// Interrupt 217 <0=> Secure state <1=> Non-Secure state -// Interrupt 218 <0=> Secure state <1=> Non-Secure state -// Interrupt 219 <0=> Secure state <1=> Non-Secure state -// Interrupt 220 <0=> Secure state <1=> Non-Secure state -// Interrupt 221 <0=> Secure state <1=> Non-Secure state -// Interrupt 222 <0=> Secure state <1=> Non-Secure state -// Interrupt 223 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS6_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 7 (Interrupts 224..255) -*/ -#define NVIC_INIT_ITNS7 0 - -/* -// Interrupts 224..255 -// Interrupt 224 <0=> Secure state <1=> Non-Secure state -// Interrupt 225 <0=> Secure state <1=> Non-Secure state -// Interrupt 226 <0=> Secure state <1=> Non-Secure state -// Interrupt 227 <0=> Secure state <1=> Non-Secure state -// Interrupt 228 <0=> Secure state <1=> Non-Secure state -// Interrupt 229 <0=> Secure state <1=> Non-Secure state -// Interrupt 230 <0=> Secure state <1=> Non-Secure state -// Interrupt 231 <0=> Secure state <1=> Non-Secure state -// Interrupt 232 <0=> Secure state <1=> Non-Secure state -// Interrupt 233 <0=> Secure state <1=> Non-Secure state -// Interrupt 234 <0=> Secure state <1=> Non-Secure state -// Interrupt 235 <0=> Secure state <1=> Non-Secure state -// Interrupt 236 <0=> Secure state <1=> Non-Secure state -// Interrupt 237 <0=> Secure state <1=> Non-Secure state -// Interrupt 238 <0=> Secure state <1=> Non-Secure state -// Interrupt 239 <0=> Secure state <1=> Non-Secure state -// Interrupt 240 <0=> Secure state <1=> Non-Secure state -// Interrupt 241 <0=> Secure state <1=> Non-Secure state -// Interrupt 242 <0=> Secure state <1=> Non-Secure state -// Interrupt 243 <0=> Secure state <1=> Non-Secure state -// Interrupt 244 <0=> Secure state <1=> Non-Secure state -// Interrupt 245 <0=> Secure state <1=> Non-Secure state -// Interrupt 246 <0=> Secure state <1=> Non-Secure state -// Interrupt 247 <0=> Secure state <1=> Non-Secure state -// Interrupt 248 <0=> Secure state <1=> Non-Secure state -// Interrupt 249 <0=> Secure state <1=> Non-Secure state -// Interrupt 250 <0=> Secure state <1=> Non-Secure state -// Interrupt 251 <0=> Secure state <1=> Non-Secure state -// Interrupt 252 <0=> Secure state <1=> Non-Secure state -// Interrupt 253 <0=> Secure state <1=> Non-Secure state -// Interrupt 254 <0=> Secure state <1=> Non-Secure state -// Interrupt 255 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS7_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 8 (Interrupts 256..287) -*/ -#define NVIC_INIT_ITNS8 0 - -/* -// Interrupts 256..287 -// Interrupt 256 <0=> Secure state <1=> Non-Secure state -// Interrupt 257 <0=> Secure state <1=> Non-Secure state -// Interrupt 258 <0=> Secure state <1=> Non-Secure state -// Interrupt 259 <0=> Secure state <1=> Non-Secure state -// Interrupt 260 <0=> Secure state <1=> Non-Secure state -// Interrupt 261 <0=> Secure state <1=> Non-Secure state -// Interrupt 262 <0=> Secure state <1=> Non-Secure state -// Interrupt 263 <0=> Secure state <1=> Non-Secure state -// Interrupt 264 <0=> Secure state <1=> Non-Secure state -// Interrupt 265 <0=> Secure state <1=> Non-Secure state -// Interrupt 266 <0=> Secure state <1=> Non-Secure state -// Interrupt 267 <0=> Secure state <1=> Non-Secure state -// Interrupt 268 <0=> Secure state <1=> Non-Secure state -// Interrupt 269 <0=> Secure state <1=> Non-Secure state -// Interrupt 270 <0=> Secure state <1=> Non-Secure state -// Interrupt 271 <0=> Secure state <1=> Non-Secure state -// Interrupt 272 <0=> Secure state <1=> Non-Secure state -// Interrupt 273 <0=> Secure state <1=> Non-Secure state -// Interrupt 274 <0=> Secure state <1=> Non-Secure state -// Interrupt 275 <0=> Secure state <1=> Non-Secure state -// Interrupt 276 <0=> Secure state <1=> Non-Secure state -// Interrupt 277 <0=> Secure state <1=> Non-Secure state -// Interrupt 278 <0=> Secure state <1=> Non-Secure state -// Interrupt 279 <0=> Secure state <1=> Non-Secure state -// Interrupt 280 <0=> Secure state <1=> Non-Secure state -// Interrupt 281 <0=> Secure state <1=> Non-Secure state -// Interrupt 282 <0=> Secure state <1=> Non-Secure state -// Interrupt 283 <0=> Secure state <1=> Non-Secure state -// Interrupt 284 <0=> Secure state <1=> Non-Secure state -// Interrupt 285 <0=> Secure state <1=> Non-Secure state -// Interrupt 286 <0=> Secure state <1=> Non-Secure state -// Interrupt 287 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS8_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 9 (Interrupts 288..319) -*/ -#define NVIC_INIT_ITNS9 0 - -/* -// Interrupts 288..319 -// Interrupt 288 <0=> Secure state <1=> Non-Secure state -// Interrupt 289 <0=> Secure state <1=> Non-Secure state -// Interrupt 290 <0=> Secure state <1=> Non-Secure state -// Interrupt 291 <0=> Secure state <1=> Non-Secure state -// Interrupt 292 <0=> Secure state <1=> Non-Secure state -// Interrupt 293 <0=> Secure state <1=> Non-Secure state -// Interrupt 294 <0=> Secure state <1=> Non-Secure state -// Interrupt 295 <0=> Secure state <1=> Non-Secure state -// Interrupt 296 <0=> Secure state <1=> Non-Secure state -// Interrupt 297 <0=> Secure state <1=> Non-Secure state -// Interrupt 298 <0=> Secure state <1=> Non-Secure state -// Interrupt 299 <0=> Secure state <1=> Non-Secure state -// Interrupt 300 <0=> Secure state <1=> Non-Secure state -// Interrupt 301 <0=> Secure state <1=> Non-Secure state -// Interrupt 302 <0=> Secure state <1=> Non-Secure state -// Interrupt 303 <0=> Secure state <1=> Non-Secure state -// Interrupt 304 <0=> Secure state <1=> Non-Secure state -// Interrupt 305 <0=> Secure state <1=> Non-Secure state -// Interrupt 306 <0=> Secure state <1=> Non-Secure state -// Interrupt 307 <0=> Secure state <1=> Non-Secure state -// Interrupt 308 <0=> Secure state <1=> Non-Secure state -// Interrupt 309 <0=> Secure state <1=> Non-Secure state -// Interrupt 310 <0=> Secure state <1=> Non-Secure state -// Interrupt 311 <0=> Secure state <1=> Non-Secure state -// Interrupt 312 <0=> Secure state <1=> Non-Secure state -// Interrupt 313 <0=> Secure state <1=> Non-Secure state -// Interrupt 314 <0=> Secure state <1=> Non-Secure state -// Interrupt 315 <0=> Secure state <1=> Non-Secure state -// Interrupt 316 <0=> Secure state <1=> Non-Secure state -// Interrupt 317 <0=> Secure state <1=> Non-Secure state -// Interrupt 318 <0=> Secure state <1=> Non-Secure state -// Interrupt 319 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS9_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 10 (Interrupts 320..351) -*/ -#define NVIC_INIT_ITNS10 0 - -/* -// Interrupts 320..351 -// Interrupt 320 <0=> Secure state <1=> Non-Secure state -// Interrupt 321 <0=> Secure state <1=> Non-Secure state -// Interrupt 322 <0=> Secure state <1=> Non-Secure state -// Interrupt 323 <0=> Secure state <1=> Non-Secure state -// Interrupt 324 <0=> Secure state <1=> Non-Secure state -// Interrupt 325 <0=> Secure state <1=> Non-Secure state -// Interrupt 326 <0=> Secure state <1=> Non-Secure state -// Interrupt 327 <0=> Secure state <1=> Non-Secure state -// Interrupt 328 <0=> Secure state <1=> Non-Secure state -// Interrupt 329 <0=> Secure state <1=> Non-Secure state -// Interrupt 330 <0=> Secure state <1=> Non-Secure state -// Interrupt 331 <0=> Secure state <1=> Non-Secure state -// Interrupt 332 <0=> Secure state <1=> Non-Secure state -// Interrupt 333 <0=> Secure state <1=> Non-Secure state -// Interrupt 334 <0=> Secure state <1=> Non-Secure state -// Interrupt 335 <0=> Secure state <1=> Non-Secure state -// Interrupt 336 <0=> Secure state <1=> Non-Secure state -// Interrupt 337 <0=> Secure state <1=> Non-Secure state -// Interrupt 338 <0=> Secure state <1=> Non-Secure state -// Interrupt 339 <0=> Secure state <1=> Non-Secure state -// Interrupt 340 <0=> Secure state <1=> Non-Secure state -// Interrupt 341 <0=> Secure state <1=> Non-Secure state -// Interrupt 342 <0=> Secure state <1=> Non-Secure state -// Interrupt 343 <0=> Secure state <1=> Non-Secure state -// Interrupt 344 <0=> Secure state <1=> Non-Secure state -// Interrupt 345 <0=> Secure state <1=> Non-Secure state -// Interrupt 346 <0=> Secure state <1=> Non-Secure state -// Interrupt 347 <0=> Secure state <1=> Non-Secure state -// Interrupt 348 <0=> Secure state <1=> Non-Secure state -// Interrupt 349 <0=> Secure state <1=> Non-Secure state -// Interrupt 350 <0=> Secure state <1=> Non-Secure state -// Interrupt 351 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS10_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 11 (Interrupts 352..383) -*/ -#define NVIC_INIT_ITNS11 0 - -/* -// Interrupts 352..383 -// Interrupt 352 <0=> Secure state <1=> Non-Secure state -// Interrupt 353 <0=> Secure state <1=> Non-Secure state -// Interrupt 354 <0=> Secure state <1=> Non-Secure state -// Interrupt 355 <0=> Secure state <1=> Non-Secure state -// Interrupt 356 <0=> Secure state <1=> Non-Secure state -// Interrupt 357 <0=> Secure state <1=> Non-Secure state -// Interrupt 358 <0=> Secure state <1=> Non-Secure state -// Interrupt 359 <0=> Secure state <1=> Non-Secure state -// Interrupt 360 <0=> Secure state <1=> Non-Secure state -// Interrupt 361 <0=> Secure state <1=> Non-Secure state -// Interrupt 362 <0=> Secure state <1=> Non-Secure state -// Interrupt 363 <0=> Secure state <1=> Non-Secure state -// Interrupt 364 <0=> Secure state <1=> Non-Secure state -// Interrupt 365 <0=> Secure state <1=> Non-Secure state -// Interrupt 366 <0=> Secure state <1=> Non-Secure state -// Interrupt 367 <0=> Secure state <1=> Non-Secure state -// Interrupt 368 <0=> Secure state <1=> Non-Secure state -// Interrupt 369 <0=> Secure state <1=> Non-Secure state -// Interrupt 370 <0=> Secure state <1=> Non-Secure state -// Interrupt 371 <0=> Secure state <1=> Non-Secure state -// Interrupt 372 <0=> Secure state <1=> Non-Secure state -// Interrupt 373 <0=> Secure state <1=> Non-Secure state -// Interrupt 374 <0=> Secure state <1=> Non-Secure state -// Interrupt 375 <0=> Secure state <1=> Non-Secure state -// Interrupt 376 <0=> Secure state <1=> Non-Secure state -// Interrupt 377 <0=> Secure state <1=> Non-Secure state -// Interrupt 378 <0=> Secure state <1=> Non-Secure state -// Interrupt 379 <0=> Secure state <1=> Non-Secure state -// Interrupt 380 <0=> Secure state <1=> Non-Secure state -// Interrupt 381 <0=> Secure state <1=> Non-Secure state -// Interrupt 382 <0=> Secure state <1=> Non-Secure state -// Interrupt 383 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS11_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 12 (Interrupts 384..415) -*/ -#define NVIC_INIT_ITNS12 0 - -/* -// Interrupts 384..415 -// Interrupt 384 <0=> Secure state <1=> Non-Secure state -// Interrupt 385 <0=> Secure state <1=> Non-Secure state -// Interrupt 386 <0=> Secure state <1=> Non-Secure state -// Interrupt 387 <0=> Secure state <1=> Non-Secure state -// Interrupt 388 <0=> Secure state <1=> Non-Secure state -// Interrupt 389 <0=> Secure state <1=> Non-Secure state -// Interrupt 390 <0=> Secure state <1=> Non-Secure state -// Interrupt 391 <0=> Secure state <1=> Non-Secure state -// Interrupt 392 <0=> Secure state <1=> Non-Secure state -// Interrupt 393 <0=> Secure state <1=> Non-Secure state -// Interrupt 394 <0=> Secure state <1=> Non-Secure state -// Interrupt 395 <0=> Secure state <1=> Non-Secure state -// Interrupt 396 <0=> Secure state <1=> Non-Secure state -// Interrupt 397 <0=> Secure state <1=> Non-Secure state -// Interrupt 398 <0=> Secure state <1=> Non-Secure state -// Interrupt 399 <0=> Secure state <1=> Non-Secure state -// Interrupt 400 <0=> Secure state <1=> Non-Secure state -// Interrupt 401 <0=> Secure state <1=> Non-Secure state -// Interrupt 402 <0=> Secure state <1=> Non-Secure state -// Interrupt 403 <0=> Secure state <1=> Non-Secure state -// Interrupt 404 <0=> Secure state <1=> Non-Secure state -// Interrupt 405 <0=> Secure state <1=> Non-Secure state -// Interrupt 406 <0=> Secure state <1=> Non-Secure state -// Interrupt 407 <0=> Secure state <1=> Non-Secure state -// Interrupt 408 <0=> Secure state <1=> Non-Secure state -// Interrupt 409 <0=> Secure state <1=> Non-Secure state -// Interrupt 410 <0=> Secure state <1=> Non-Secure state -// Interrupt 411 <0=> Secure state <1=> Non-Secure state -// Interrupt 412 <0=> Secure state <1=> Non-Secure state -// Interrupt 413 <0=> Secure state <1=> Non-Secure state -// Interrupt 414 <0=> Secure state <1=> Non-Secure state -// Interrupt 415 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS12_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 13 (Interrupts 416..447) -*/ -#define NVIC_INIT_ITNS13 0 - -/* -// Interrupts 416..447 -// Interrupt 416 <0=> Secure state <1=> Non-Secure state -// Interrupt 417 <0=> Secure state <1=> Non-Secure state -// Interrupt 418 <0=> Secure state <1=> Non-Secure state -// Interrupt 419 <0=> Secure state <1=> Non-Secure state -// Interrupt 420 <0=> Secure state <1=> Non-Secure state -// Interrupt 421 <0=> Secure state <1=> Non-Secure state -// Interrupt 422 <0=> Secure state <1=> Non-Secure state -// Interrupt 423 <0=> Secure state <1=> Non-Secure state -// Interrupt 424 <0=> Secure state <1=> Non-Secure state -// Interrupt 425 <0=> Secure state <1=> Non-Secure state -// Interrupt 426 <0=> Secure state <1=> Non-Secure state -// Interrupt 427 <0=> Secure state <1=> Non-Secure state -// Interrupt 428 <0=> Secure state <1=> Non-Secure state -// Interrupt 429 <0=> Secure state <1=> Non-Secure state -// Interrupt 430 <0=> Secure state <1=> Non-Secure state -// Interrupt 431 <0=> Secure state <1=> Non-Secure state -// Interrupt 432 <0=> Secure state <1=> Non-Secure state -// Interrupt 433 <0=> Secure state <1=> Non-Secure state -// Interrupt 434 <0=> Secure state <1=> Non-Secure state -// Interrupt 435 <0=> Secure state <1=> Non-Secure state -// Interrupt 436 <0=> Secure state <1=> Non-Secure state -// Interrupt 437 <0=> Secure state <1=> Non-Secure state -// Interrupt 438 <0=> Secure state <1=> Non-Secure state -// Interrupt 439 <0=> Secure state <1=> Non-Secure state -// Interrupt 440 <0=> Secure state <1=> Non-Secure state -// Interrupt 441 <0=> Secure state <1=> Non-Secure state -// Interrupt 442 <0=> Secure state <1=> Non-Secure state -// Interrupt 443 <0=> Secure state <1=> Non-Secure state -// Interrupt 444 <0=> Secure state <1=> Non-Secure state -// Interrupt 445 <0=> Secure state <1=> Non-Secure state -// Interrupt 446 <0=> Secure state <1=> Non-Secure state -// Interrupt 447 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS13_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 14 (Interrupts 448..479) -*/ -#define NVIC_INIT_ITNS14 0 - -/* -// Interrupts 448..479 -// Interrupt 448 <0=> Secure state <1=> Non-Secure state -// Interrupt 449 <0=> Secure state <1=> Non-Secure state -// Interrupt 450 <0=> Secure state <1=> Non-Secure state -// Interrupt 451 <0=> Secure state <1=> Non-Secure state -// Interrupt 452 <0=> Secure state <1=> Non-Secure state -// Interrupt 453 <0=> Secure state <1=> Non-Secure state -// Interrupt 454 <0=> Secure state <1=> Non-Secure state -// Interrupt 455 <0=> Secure state <1=> Non-Secure state -// Interrupt 456 <0=> Secure state <1=> Non-Secure state -// Interrupt 457 <0=> Secure state <1=> Non-Secure state -// Interrupt 458 <0=> Secure state <1=> Non-Secure state -// Interrupt 459 <0=> Secure state <1=> Non-Secure state -// Interrupt 460 <0=> Secure state <1=> Non-Secure state -// Interrupt 461 <0=> Secure state <1=> Non-Secure state -// Interrupt 462 <0=> Secure state <1=> Non-Secure state -// Interrupt 463 <0=> Secure state <1=> Non-Secure state -// Interrupt 464 <0=> Secure state <1=> Non-Secure state -// Interrupt 465 <0=> Secure state <1=> Non-Secure state -// Interrupt 466 <0=> Secure state <1=> Non-Secure state -// Interrupt 467 <0=> Secure state <1=> Non-Secure state -// Interrupt 468 <0=> Secure state <1=> Non-Secure state -// Interrupt 469 <0=> Secure state <1=> Non-Secure state -// Interrupt 470 <0=> Secure state <1=> Non-Secure state -// Interrupt 471 <0=> Secure state <1=> Non-Secure state -// Interrupt 472 <0=> Secure state <1=> Non-Secure state -// Interrupt 473 <0=> Secure state <1=> Non-Secure state -// Interrupt 474 <0=> Secure state <1=> Non-Secure state -// Interrupt 475 <0=> Secure state <1=> Non-Secure state -// Interrupt 476 <0=> Secure state <1=> Non-Secure state -// Interrupt 477 <0=> Secure state <1=> Non-Secure state -// Interrupt 478 <0=> Secure state <1=> Non-Secure state -// Interrupt 479 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS14_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 15 (Interrupts 480..511) -*/ -#define NVIC_INIT_ITNS15 0 - -/* -// Interrupts 480..511 -// Interrupt 480 <0=> Secure state <1=> Non-Secure state -// Interrupt 481 <0=> Secure state <1=> Non-Secure state -// Interrupt 482 <0=> Secure state <1=> Non-Secure state -// Interrupt 483 <0=> Secure state <1=> Non-Secure state -// Interrupt 484 <0=> Secure state <1=> Non-Secure state -// Interrupt 485 <0=> Secure state <1=> Non-Secure state -// Interrupt 486 <0=> Secure state <1=> Non-Secure state -// Interrupt 487 <0=> Secure state <1=> Non-Secure state -// Interrupt 488 <0=> Secure state <1=> Non-Secure state -// Interrupt 489 <0=> Secure state <1=> Non-Secure state -// Interrupt 490 <0=> Secure state <1=> Non-Secure state -// Interrupt 491 <0=> Secure state <1=> Non-Secure state -// Interrupt 492 <0=> Secure state <1=> Non-Secure state -// Interrupt 493 <0=> Secure state <1=> Non-Secure state -// Interrupt 494 <0=> Secure state <1=> Non-Secure state -// Interrupt 495 <0=> Secure state <1=> Non-Secure state -// Interrupt 496 <0=> Secure state <1=> Non-Secure state -// Interrupt 497 <0=> Secure state <1=> Non-Secure state -// Interrupt 498 <0=> Secure state <1=> Non-Secure state -// Interrupt 499 <0=> Secure state <1=> Non-Secure state -// Interrupt 500 <0=> Secure state <1=> Non-Secure state -// Interrupt 501 <0=> Secure state <1=> Non-Secure state -// Interrupt 502 <0=> Secure state <1=> Non-Secure state -// Interrupt 503 <0=> Secure state <1=> Non-Secure state -// Interrupt 504 <0=> Secure state <1=> Non-Secure state -// Interrupt 505 <0=> Secure state <1=> Non-Secure state -// Interrupt 506 <0=> Secure state <1=> Non-Secure state -// Interrupt 507 <0=> Secure state <1=> Non-Secure state -// Interrupt 508 <0=> Secure state <1=> Non-Secure state -// Interrupt 509 <0=> Secure state <1=> Non-Secure state -// Interrupt 510 <0=> Secure state <1=> Non-Secure state -// Interrupt 511 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS15_VAL 0x00000000 - -/* -// -*/ - -/* -// -*/ - - - -/* - max 128 SAU regions. - SAU regions are defined in partition.h - */ - -#define SAU_INIT_REGION(n) \ - SAU->RNR = (n & SAU_RNR_REGION_Msk); \ - SAU->RBAR = (SAU_INIT_START##n & SAU_RBAR_BADDR_Msk); \ - SAU->RLAR = (SAU_INIT_END##n & SAU_RLAR_LADDR_Msk) | \ - ((SAU_INIT_NSC##n << SAU_RLAR_NSC_Pos) & SAU_RLAR_NSC_Msk) | 1U - -/** - \brief Setup a SAU Region - \details Writes the region information contained in SAU_Region to the - registers SAU_RNR, SAU_RBAR, and SAU_RLAR - */ -__STATIC_INLINE void TZ_SAU_Setup (void) -{ - -#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) - - #if defined (SAU_INIT_REGION0) && (SAU_INIT_REGION0 == 1U) - SAU_INIT_REGION(0); - #endif - - #if defined (SAU_INIT_REGION1) && (SAU_INIT_REGION1 == 1U) - SAU_INIT_REGION(1); - #endif - - #if defined (SAU_INIT_REGION2) && (SAU_INIT_REGION2 == 1U) - SAU_INIT_REGION(2); - #endif - - #if defined (SAU_INIT_REGION3) && (SAU_INIT_REGION3 == 1U) - SAU_INIT_REGION(3); - #endif - - #if defined (SAU_INIT_REGION4) && (SAU_INIT_REGION4 == 1U) - SAU_INIT_REGION(4); - #endif - - #if defined (SAU_INIT_REGION5) && (SAU_INIT_REGION5 == 1U) - SAU_INIT_REGION(5); - #endif - - #if defined (SAU_INIT_REGION6) && (SAU_INIT_REGION6 == 1U) - SAU_INIT_REGION(6); - #endif - - #if defined (SAU_INIT_REGION7) && (SAU_INIT_REGION7 == 1U) - SAU_INIT_REGION(7); - #endif - - /* repeat this for all possible SAU regions */ - -#endif /* defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) */ - - - #if defined (SAU_INIT_CTRL) && (SAU_INIT_CTRL == 1U) - SAU->CTRL = ((SAU_INIT_CTRL_ENABLE << SAU_CTRL_ENABLE_Pos) & SAU_CTRL_ENABLE_Msk) | - ((SAU_INIT_CTRL_ALLNS << SAU_CTRL_ALLNS_Pos) & SAU_CTRL_ALLNS_Msk) ; - #endif - - #if defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) - SCB->SCR = (SCB->SCR & ~(SCB_SCR_SLEEPDEEPS_Msk )) | - ((SCB_CSR_DEEPSLEEPS_VAL << SCB_SCR_SLEEPDEEPS_Pos) & SCB_SCR_SLEEPDEEPS_Msk); - - SCB->AIRCR = (SCB->AIRCR & ~(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_SYSRESETREQS_Msk | - SCB_AIRCR_BFHFNMINS_Msk | SCB_AIRCR_PRIS_Msk )) | - ((0x05FAU << SCB_AIRCR_VECTKEY_Pos) & SCB_AIRCR_VECTKEY_Msk) | - ((SCB_AIRCR_SYSRESETREQS_VAL << SCB_AIRCR_SYSRESETREQS_Pos) & SCB_AIRCR_SYSRESETREQS_Msk) | - ((SCB_AIRCR_PRIS_VAL << SCB_AIRCR_PRIS_Pos) & SCB_AIRCR_PRIS_Msk) | - ((SCB_AIRCR_BFHFNMINS_VAL << SCB_AIRCR_BFHFNMINS_Pos) & SCB_AIRCR_BFHFNMINS_Msk); - #endif /* defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) */ - - #if defined (__FPU_USED) && (__FPU_USED == 1U) && \ - defined (TZ_FPU_NS_USAGE) && (TZ_FPU_NS_USAGE == 1U) - - SCB->NSACR = (SCB->NSACR & ~(SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)) | - ((SCB_NSACR_CP10_11_VAL << SCB_NSACR_CP10_Pos) & (SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)); - - FPU->FPCCR = (FPU->FPCCR & ~(FPU_FPCCR_TS_Msk | FPU_FPCCR_CLRONRETS_Msk | FPU_FPCCR_CLRONRET_Msk)) | - ((FPU_FPCCR_TS_VAL << FPU_FPCCR_TS_Pos ) & FPU_FPCCR_TS_Msk ) | - ((FPU_FPCCR_CLRONRETS_VAL << FPU_FPCCR_CLRONRETS_Pos) & FPU_FPCCR_CLRONRETS_Msk) | - ((FPU_FPCCR_CLRONRET_VAL << FPU_FPCCR_CLRONRET_Pos ) & FPU_FPCCR_CLRONRET_Msk ); - #endif - - #if defined (NVIC_INIT_ITNS0) && (NVIC_INIT_ITNS0 == 1U) - NVIC->ITNS[0] = NVIC_INIT_ITNS0_VAL; - #endif - - #if defined (NVIC_INIT_ITNS1) && (NVIC_INIT_ITNS1 == 1U) - NVIC->ITNS[1] = NVIC_INIT_ITNS1_VAL; - #endif - - #if defined (NVIC_INIT_ITNS2) && (NVIC_INIT_ITNS2 == 1U) - NVIC->ITNS[2] = NVIC_INIT_ITNS2_VAL; - #endif - - #if defined (NVIC_INIT_ITNS3) && (NVIC_INIT_ITNS3 == 1U) - NVIC->ITNS[3] = NVIC_INIT_ITNS3_VAL; - #endif - - #if defined (NVIC_INIT_ITNS4) && (NVIC_INIT_ITNS4 == 1U) - NVIC->ITNS[4] = NVIC_INIT_ITNS4_VAL; - #endif - - #if defined (NVIC_INIT_ITNS5) && (NVIC_INIT_ITNS5 == 1U) - NVIC->ITNS[5] = NVIC_INIT_ITNS5_VAL; - #endif - - #if defined (NVIC_INIT_ITNS6) && (NVIC_INIT_ITNS6 == 1U) - NVIC->ITNS[6] = NVIC_INIT_ITNS6_VAL; - #endif - - #if defined (NVIC_INIT_ITNS7) && (NVIC_INIT_ITNS7 == 1U) - NVIC->ITNS[7] = NVIC_INIT_ITNS7_VAL; - #endif - - #if defined (NVIC_INIT_ITNS8) && (NVIC_INIT_ITNS8 == 1U) - NVIC->ITNS[8] = NVIC_INIT_ITNS8_VAL; - #endif - - #if defined (NVIC_INIT_ITNS9) && (NVIC_INIT_ITNS9 == 1U) - NVIC->ITNS[9] = NVIC_INIT_ITNS9_VAL; - #endif - - #if defined (NVIC_INIT_ITNS10) && (NVIC_INIT_ITNS10 == 1U) - NVIC->ITNS[10] = NVIC_INIT_ITNS10_VAL; - #endif - - #if defined (NVIC_INIT_ITNS11) && (NVIC_INIT_ITNS11 == 1U) - NVIC->ITNS[11] = NVIC_INIT_ITNS11_VAL; - #endif - - #if defined (NVIC_INIT_ITNS12) && (NVIC_INIT_ITNS12 == 1U) - NVIC->ITNS[12] = NVIC_INIT_ITNS12_VAL; - #endif - - #if defined (NVIC_INIT_ITNS13) && (NVIC_INIT_ITNS13 == 1U) - NVIC->ITNS[13] = NVIC_INIT_ITNS13_VAL; - #endif - - #if defined (NVIC_INIT_ITNS14) && (NVIC_INIT_ITNS14 == 1U) - NVIC->ITNS[14] = NVIC_INIT_ITNS14_VAL; - #endif - - #if defined (NVIC_INIT_ITNS15) && (NVIC_INIT_ITNS15 == 1U) - NVIC->ITNS[15] = NVIC_INIT_ITNS15_VAL; - #endif - - /* repeat this for all possible ITNS elements */ - -} - -#endif /* PARTITION_ARMCM35P_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCM35P/Include/system_ARMCM35P.h b/external/CMSIS_5/Device/ARM/ARMCM35P/Include/system_ARMCM35P.h deleted file mode 100644 index 5c44d2a..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM35P/Include/system_ARMCM35P.h +++ /dev/null @@ -1,64 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM35P.h - * @brief CMSIS Device System Header File for - * ARMCM35P Device - * @version V1.0.2 - * @date 11. July 2022 - ******************************************************************************/ -/* - * Copyright (c) 2009-2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef SYSTEM_ARMCM35P_H -#define SYSTEM_ARMCM35P_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -/** - \brief Exception / Interrupt Handler Function Prototype -*/ -typedef void(*VECTOR_TABLE_Type)(void); - -/** - \brief System Clock Frequency (Core Clock) -*/ -extern uint32_t SystemCoreClock; - -/** - \brief Setup the microcontroller system. - - Initialize the System and update the SystemCoreClock variable. - */ -extern void SystemInit (void); - - -/** - \brief Update SystemCoreClock variable. - - Updates the SystemCoreClock with current core Clock retrieved from cpu registers. - */ -extern void SystemCoreClockUpdate (void); - -#ifdef __cplusplus -} -#endif - -#endif /* SYSTEM_ARMCM35P_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCM35P/Source/ARM/ARMCM35P_ac6.sct b/external/CMSIS_5/Device/ARM/ARMCM35P/Source/ARM/ARMCM35P_ac6.sct deleted file mode 100644 index ab067ee..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM35P/Source/ARM/ARMCM35P_ac6.sct +++ /dev/null @@ -1,123 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m35p -xc -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m35p -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_SIZE 0x200 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE (__RAM_SIZE - __STACK_SIZE - __HEAP_SIZE - __STACKSEAL_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/Device/ARM/ARMCM35P/Source/ARM/ARMCM35P_ac6_s.sct b/external/CMSIS_5/Device/ARM/ARMCM35P/Source/ARM/ARMCM35P_ac6_s.sct deleted file mode 100644 index a8b35c6..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM35P/Source/ARM/ARMCM35P_ac6_s.sct +++ /dev/null @@ -1,123 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m35p -xc -mcmse -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m35p -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_SIZE 0x200 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE (__RAM_SIZE - __STACK_SIZE - __HEAP_SIZE - __STACKSEAL_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/Device/ARM/ARMCM35P/Source/ARM/startup_ARMCM35P.S b/external/CMSIS_5/Device/ARM/ARMCM35P/Source/ARM/startup_ARMCM35P.S deleted file mode 100644 index d3dd492..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM35P/Source/ARM/startup_ARMCM35P.S +++ /dev/null @@ -1,159 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM33.S - * @brief CMSIS Core Device Startup File for Cortex-M33 Device - * @version V2.0.0 - * @date 26. May 2021 - ******************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - .syntax unified - .arch armv8-m.main - - #define __INITIAL_SP Image$$ARM_LIB_STACK$$ZI$$Limit - #define __STACK_LIMIT Image$$ARM_LIB_STACK$$ZI$$Base - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #define __STACK_SEAL Image$$STACKSEAL$$ZI$$Base - #endif - - .section RESET - .align 2 - .globl __Vectors - .globl __Vectors_End - .globl __Vectors_Size -__Vectors: - .long __INITIAL_SP /* Initial Stack Pointer */ - .long Reset_Handler /* Reset Handler */ - .long NMI_Handler /* -14 NMI Handler */ - .long HardFault_Handler /* -13 Hard Fault Handler */ - .long MemManage_Handler /* -12 MPU Fault Handler */ - .long BusFault_Handler /* -11 Bus Fault Handler */ - .long UsageFault_Handler /* -10 Usage Fault Handler */ - .long SecureFault_Handler /* -9 Secure Fault Handler */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long SVC_Handler /* -5 SVCall Handler */ - .long DebugMon_Handler /* -4 Debug Monitor Handler */ - .long 0 /* Reserved */ - .long PendSV_Handler /* -2 PendSV Handler */ - .long SysTick_Handler /* -1 SysTick Handler */ - - /* Interrupts */ - .long Interrupt0_Handler /* 0 Interrupt 0 */ - .long Interrupt1_Handler /* 1 Interrupt 1 */ - .long Interrupt2_Handler /* 2 Interrupt 2 */ - .long Interrupt3_Handler /* 3 Interrupt 3 */ - .long Interrupt4_Handler /* 4 Interrupt 4 */ - .long Interrupt5_Handler /* 5 Interrupt 5 */ - .long Interrupt6_Handler /* 6 Interrupt 6 */ - .long Interrupt7_Handler /* 7 Interrupt 7 */ - .long Interrupt8_Handler /* 8 Interrupt 8 */ - .long Interrupt9_Handler /* 9 Interrupt 9 */ - - .space (470 * 4) /* Interrupts 10 .. 480 are left out */ -__Vectors_End: - .equ __Vectors_Size, __Vectors_End - __Vectors - .size __Vectors, . - __Vectors - - - .thumb - .section .text - .align 2 - - .thumb_func - .type Reset_Handler, %function - .globl Reset_Handler - .fnstart -Reset_Handler: - ldr r0, =__INITIAL_SP - msr psp, r0 - - ldr r0, =__STACK_LIMIT - msr msplim, r0 - msr psplim, r0 - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - ldr r0, =__STACK_SEAL - ldr r1, =0xFEF5EDA5U - strd r1,r1,[r0,#0] - #endif - - bl SystemInit - - bl __main - - .fnend - .size Reset_Handler, . - Reset_Handler - - -/* The default macro is not used for HardFault_Handler - * because this results in a poor debug illusion. - */ - .thumb_func - .type HardFault_Handler, %function - .weak HardFault_Handler - .fnstart -HardFault_Handler: - b . - .fnend - .size HardFault_Handler, . - HardFault_Handler - - .thumb_func - .type Default_Handler, %function - .weak Default_Handler - .fnstart -Default_Handler: - b . - .fnend - .size Default_Handler, . - Default_Handler - -/* Macro to define default exception/interrupt handlers. - * Default handler are weak symbols with an endless loop. - * They can be overwritten by real handlers. - */ - .macro Set_Default_Handler Handler_Name - .weak \Handler_Name - .set \Handler_Name, Default_Handler - .endm - - -/* Default exception/interrupt handler */ - - Set_Default_Handler NMI_Handler - Set_Default_Handler MemManage_Handler - Set_Default_Handler BusFault_Handler - Set_Default_Handler UsageFault_Handler - Set_Default_Handler SecureFault_Handler - Set_Default_Handler SVC_Handler - Set_Default_Handler DebugMon_Handler - Set_Default_Handler PendSV_Handler - Set_Default_Handler SysTick_Handler - - Set_Default_Handler Interrupt0_Handler - Set_Default_Handler Interrupt1_Handler - Set_Default_Handler Interrupt2_Handler - Set_Default_Handler Interrupt3_Handler - Set_Default_Handler Interrupt4_Handler - Set_Default_Handler Interrupt5_Handler - Set_Default_Handler Interrupt6_Handler - Set_Default_Handler Interrupt7_Handler - Set_Default_Handler Interrupt8_Handler - Set_Default_Handler Interrupt9_Handler - - .end diff --git a/external/CMSIS_5/Device/ARM/ARMCM35P/Source/GCC/gcc_arm.ld b/external/CMSIS_5/Device/ARM/ARMCM35P/Source/GCC/gcc_arm.ld deleted file mode 100644 index c8f0efe..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM35P/Source/GCC/gcc_arm.ld +++ /dev/null @@ -1,316 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.2.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00040000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00020000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -/* ARMv8-M stack sealing: - to use ARMv8-M stack sealing set __STACKSEAL_SIZE to 8 otherwise keep 0 - */ -__STACKSEAL_SIZE = 0; - - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - * __StackSeal (only if ARMv8-M stack sealing is used) - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ -/* - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH -*/ - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* ARMv8-M stack sealing: - to use ARMv8-M stack sealing uncomment '.stackseal' section - */ -/* - .stackseal (ORIGIN(RAM) + LENGTH(RAM) - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackSeal = .; - . = . + 8; - . = ALIGN(8); - } > RAM -*/ - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/Device/ARM/ARMCM35P/Source/GCC/startup_ARMCM35P.S b/external/CMSIS_5/Device/ARM/ARMCM35P/Source/GCC/startup_ARMCM35P.S deleted file mode 100644 index 14886ce..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM35P/Source/GCC/startup_ARMCM35P.S +++ /dev/null @@ -1,202 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM35P.S - * @brief CMSIS-Core Device Startup File for Cortex-M35P Device - * @version V1.3.0 - * @date 26. May 2021 - ******************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - .syntax unified - .arch armv8-m.main - - #define __INITIAL_SP __StackTop - #define __STACK_LIMIT __StackLimit - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #define __STACK_SEAL __StackSeal - #endif - - .section .vectors - .align 2 - .globl __Vectors - .globl __Vectors_End - .globl __Vectors_Size -__Vectors: - .long __INITIAL_SP /* Initial Stack Pointer */ - .long Reset_Handler /* Reset Handler */ - .long NMI_Handler /* -14 NMI Handler */ - .long HardFault_Handler /* -13 Hard Fault Handler */ - .long MemManage_Handler /* -12 MPU Fault Handler */ - .long BusFault_Handler /* -11 Bus Fault Handler */ - .long UsageFault_Handler /* -10 Usage Fault Handler */ - .long SecureFault_Handler /* -9 Secure Fault Handler */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long SVC_Handler /* -5 SVCall Handler */ - .long DebugMon_Handler /* -4 Debug Monitor Handler */ - .long 0 /* Reserved */ - .long PendSV_Handler /* -2 PendSV Handler */ - .long SysTick_Handler /* -1 SysTick Handler */ - - /* Interrupts */ - .long Interrupt0_Handler /* 0 Interrupt 0 */ - .long Interrupt1_Handler /* 1 Interrupt 1 */ - .long Interrupt2_Handler /* 2 Interrupt 2 */ - .long Interrupt3_Handler /* 3 Interrupt 3 */ - .long Interrupt4_Handler /* 4 Interrupt 4 */ - .long Interrupt5_Handler /* 5 Interrupt 5 */ - .long Interrupt6_Handler /* 6 Interrupt 6 */ - .long Interrupt7_Handler /* 7 Interrupt 7 */ - .long Interrupt8_Handler /* 8 Interrupt 8 */ - .long Interrupt9_Handler /* 9 Interrupt 9 */ - - .space (470 * 4) /* Interrupts 10 .. 480 are left out */ -__Vectors_End: - .equ __Vectors_Size, __Vectors_End - __Vectors - .size __Vectors, . - __Vectors - - - .thumb - .section .text - .align 2 - - .thumb_func - .type Reset_Handler, %function - .globl Reset_Handler - .fnstart -Reset_Handler: - ldr r0, =__INITIAL_SP - msr psp, r0 - - ldr r0, =__STACK_LIMIT - msr msplim, r0 - msr psplim, r0 - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - ldr r0, =__STACK_SEAL - ldr r1, =0xFEF5EDA5U - strd r1,r1,[r0,#0] - #endif - - bl SystemInit - - ldr r4, =__copy_table_start__ - ldr r5, =__copy_table_end__ - -.L_loop0: - cmp r4, r5 - bge .L_loop0_done - ldr r1, [r4] /* source address */ - ldr r2, [r4, #4] /* destination address */ - ldr r3, [r4, #8] /* word count */ - lsls r3, r3, #2 /* byte count */ - -.L_loop0_0: - subs r3, #4 /* decrement byte count */ - ittt ge - ldrge r0, [r1, r3] - strge r0, [r2, r3] - bge .L_loop0_0 - - adds r4, #12 - b .L_loop0 -.L_loop0_done: - - ldr r3, =__zero_table_start__ - ldr r4, =__zero_table_end__ - -.L_loop2: - cmp r3, r4 - bge .L_loop2_done - ldr r1, [r3] /* destination address */ - ldr r2, [r3, #4] /* word count */ - lsls r2, r2, #2 /* byte count */ - movs r0, 0 - -.L_loop2_0: - subs r2, #4 /* decrement byte count */ - itt ge - strge r0, [r1, r2] - bge .L_loop2_0 - - adds r3, #8 - b .L_loop2 -.L_loop2_done: - - bl _start - - .fnend - .size Reset_Handler, . - Reset_Handler - - -/* The default macro is not used for HardFault_Handler - * because this results in a poor debug illusion. - */ - .thumb_func - .type HardFault_Handler, %function - .weak HardFault_Handler - .fnstart -HardFault_Handler: - b . - .fnend - .size HardFault_Handler, . - HardFault_Handler - - .thumb_func - .type Default_Handler, %function - .weak Default_Handler - .fnstart -Default_Handler: - b . - .fnend - .size Default_Handler, . - Default_Handler - -/* Macro to define default exception/interrupt handlers. - * Default handler are weak symbols with an endless loop. - * They can be overwritten by real handlers. - */ - .macro Set_Default_Handler Handler_Name - .weak \Handler_Name - .set \Handler_Name, Default_Handler - .endm - - -/* Default exception/interrupt handler */ - - Set_Default_Handler NMI_Handler - Set_Default_Handler MemManage_Handler - Set_Default_Handler BusFault_Handler - Set_Default_Handler UsageFault_Handler - Set_Default_Handler SecureFault_Handler - Set_Default_Handler SVC_Handler - Set_Default_Handler DebugMon_Handler - Set_Default_Handler PendSV_Handler - Set_Default_Handler SysTick_Handler - - Set_Default_Handler Interrupt0_Handler - Set_Default_Handler Interrupt1_Handler - Set_Default_Handler Interrupt2_Handler - Set_Default_Handler Interrupt3_Handler - Set_Default_Handler Interrupt4_Handler - Set_Default_Handler Interrupt5_Handler - Set_Default_Handler Interrupt6_Handler - Set_Default_Handler Interrupt7_Handler - Set_Default_Handler Interrupt8_Handler - Set_Default_Handler Interrupt9_Handler - - .end diff --git a/external/CMSIS_5/Device/ARM/ARMCM35P/Source/IAR/startup_ARMCM35P.s b/external/CMSIS_5/Device/ARM/ARMCM35P/Source/IAR/startup_ARMCM35P.s deleted file mode 100644 index dba9d2c..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM35P/Source/IAR/startup_ARMCM35P.s +++ /dev/null @@ -1,177 +0,0 @@ -;/**************************************************************************//** -; * @file startup_ARMCM35P.s -; * @brief CMSIS Core Device Startup File for -; * ARMCM35P Device -; * @version V2.1.0 -; * @date 08. April 2021 -; ******************************************************************************/ -;/* -; * Copyright (c) 2009-2021 Arm Limited. All rights reserved. -; * -; * SPDX-License-Identifier: Apache-2.0 -; * -; * Licensed under the Apache License, Version 2.0 (the License); you may -; * not use this file except in compliance with the License. -; * You may obtain a copy of the License at -; * -; * www.apache.org/licenses/LICENSE-2.0 -; * -; * Unless required by applicable law or agreed to in writing, software -; * distributed under the License is distributed on an AS IS BASIS, WITHOUT -; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; * See the License for the specific language governing permissions and -; * limitations under the License. -; */ - -; -; The modules in this file are included in the libraries, and may be replaced -; by any user-defined modules that define the PUBLIC symbol _program_start or -; a user defined start symbol. -; To override the cstartup defined in the library, simply add your modified -; version to the workbench project. -; -; The vector table is normally located at address 0. -; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. -; The name "__vector_table" has special meaning for C-SPY: -; it is where the SP start value is found, and the NVIC vector -; table register (VTOR) is initialized to this address if != 0. -; -; Cortex-M version -; - - MODULE ?cstartup - - ;; Forward declaration of sections. - SECTION CSTACK:DATA:NOROOT(3) - - SECTION .intvec:CODE:NOROOT(2) - - EXTERN __iar_program_start - EXTERN SystemInit - PUBLIC __vector_table - PUBLIC __vector_table_0x1c - PUBLIC __Vectors - PUBLIC __Vectors_End - PUBLIC __Vectors_Size - - #define __INITIAL_SP sfe(CSTACK) - #define __STACK_LIMIT sfb(CSTACK) - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - SECTION STACKSEAL:DATA:NOROOT(3) - #define __STACK_SEAL sfb(STACKSEAL) - #endif - - DATA - -__vector_table - DCD __INITIAL_SP ; Top of Stack - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; -14 NMI Handler - DCD HardFault_Handler ; -13 Hard Fault Handler - DCD MemManage_Handler ; -12 MPU Fault Handler - DCD BusFault_Handler ; -11 Bus Fault Handler - DCD UsageFault_Handler ; -10 Usage Fault Handler -__vector_table_0x1c - DCD SecureFault_Handler ; -9 Security Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; -5 SVCall Handler - DCD DebugMon_Handler ; -4 Debug Monitor Handler - DCD 0 ; Reserved - DCD PendSV_Handler ; -2 PendSV Handler - DCD SysTick_Handler ; -1 SysTick Handler - - ; Interrupts - DCD Interrupt0_Handler ; 0 Interrupt 0 - DCD Interrupt1_Handler ; 1 Interrupt 1 - DCD Interrupt2_Handler ; 2 Interrupt 2 - DCD Interrupt3_Handler ; 3 Interrupt 3 - DCD Interrupt4_Handler ; 4 Interrupt 4 - DCD Interrupt5_Handler ; 5 Interrupt 5 - DCD Interrupt6_Handler ; 6 Interrupt 6 - DCD Interrupt7_Handler ; 7 Interrupt 7 - DCD Interrupt8_Handler ; 8 Interrupt 8 - DCD Interrupt9_Handler ; 9 Interrupt 9 - - DS32 (470) ; Interrupts 10 .. 480 are left out -__Vectors_End - -__Vectors EQU __vector_table -__Vectors_Size EQU __Vectors_End - __Vectors - - - THUMB - -; Reset Handler - - PUBWEAK Reset_Handler - SECTION .text:CODE:REORDER:NOROOT(2) -Reset_Handler - ldr r0, =__INITIAL_SP - msr psp, r0 - - ldr r0, =__STACK_LIMIT - msr msplim, r0 - msr psplim, r0 - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - ldr r0, =__STACK_SEAL - ldr r1, =0xFEF5EDA5U - strd r1,r1,[r0,#0] - #endif - - LDR R0, =SystemInit - BLX R0 - LDR R0, =__iar_program_start - BX R0 - - - PUBWEAK NMI_Handler - PUBWEAK HardFault_Handler - PUBWEAK MemManage_Handler - PUBWEAK BusFault_Handler - PUBWEAK UsageFault_Handler - PUBWEAK SecureFault_Handler - PUBWEAK SVC_Handler - PUBWEAK DebugMon_Handler - PUBWEAK PendSV_Handler - PUBWEAK SysTick_Handler - - PUBWEAK Interrupt0_Handler - PUBWEAK Interrupt1_Handler - PUBWEAK Interrupt2_Handler - PUBWEAK Interrupt3_Handler - PUBWEAK Interrupt4_Handler - PUBWEAK Interrupt5_Handler - PUBWEAK Interrupt6_Handler - PUBWEAK Interrupt7_Handler - PUBWEAK Interrupt8_Handler - PUBWEAK Interrupt9_Handler - SECTION .text:CODE:REORDER:NOROOT(1) -NMI_Handler -HardFault_Handler -MemManage_Handler -BusFault_Handler -UsageFault_Handler -SecureFault_Handler -SVC_Handler -DebugMon_Handler -PendSV_Handler -SysTick_Handler - -Interrupt0_Handler -Interrupt1_Handler -Interrupt2_Handler -Interrupt3_Handler -Interrupt4_Handler -Interrupt5_Handler -Interrupt6_Handler -Interrupt7_Handler -Interrupt8_Handler -Interrupt9_Handler -Default_Handler - B . - - - END diff --git a/external/CMSIS_5/Device/ARM/ARMCM35P/Source/startup_ARMCM35P.c b/external/CMSIS_5/Device/ARM/ARMCM35P/Source/startup_ARMCM35P.c deleted file mode 100644 index d2d21d8..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM35P/Source/startup_ARMCM35P.c +++ /dev/null @@ -1,170 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM35P.c - * @brief CMSIS-Core Device Startup File for Cortex-M35P Device - * @version V2.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM35P) - #include "ARMCM35P.h" -#elif defined (ARMCM35P_TZ) - #include "ARMCM35P_TZ.h" -#elif defined (ARMCM35P_DSP_FP) - #include "ARMCM35P_DSP_FP.h" -#elif defined (ARMCM35P_DSP_FP_TZ) - #include "ARMCM35P_DSP_FP_TZ.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SecureFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - SecureFault_Handler, /* -9 Secure Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 480 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/Device/ARM/ARMCM35P/Source/system_ARMCM35P.c b/external/CMSIS_5/Device/ARM/ARMCM35P/Source/system_ARMCM35P.c deleted file mode 100644 index 2ccc84b..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM35P/Source/system_ARMCM35P.c +++ /dev/null @@ -1,97 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM35P.c - * @brief CMSIS Device System Source File for - * ARMCM35P Device - * @version V1.0.1 - * @date 15. November 2019 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM35P) - #include "ARMCM35P.h" -#elif defined (ARMCM35P_TZ) - #include "ARMCM35P_TZ.h" - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM35P.h" - #endif -#elif defined (ARMCM35P_DSP_FP) - #include "ARMCM35P_DSP_FP.h" -#elif defined (ARMCM35P_DSP_FP_TZ) - #include "ARMCM35P_DSP_FP_TZ.h" - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM35P.h" - #endif -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t) &(__VECTOR_TABLE[0]); -#endif - -#if defined (__FPU_USED) && (__FPU_USED == 1U) - SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ - (3U << 11U*2U) ); /* enable CP11 Full Access */ -#endif - -#ifdef UNALIGNED_SUPPORT_DISABLE - SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; -#endif - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - TZ_SAU_Setup(); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/Device/ARM/ARMCM4/Include/ARMCM4.h b/external/CMSIS_5/Device/ARM/ARMCM4/Include/ARMCM4.h deleted file mode 100644 index a8c4253..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM4/Include/ARMCM4.h +++ /dev/null @@ -1,128 +0,0 @@ -/**************************************************************************//** - * @file ARMCM4.h - * @brief CMSIS Core Peripheral Access Layer Header File for - * ARMCM4 Device (configured for CM4 without FPU) - * @version V5.3.2 - * @date 01. May 2023 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ARMCM4_H -#define ARMCM4_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* ------------------------- Interrupt Number Definition ------------------------ */ - -typedef enum IRQn -{ -/* ------------------- Processor Exceptions Numbers ----------------------------- */ - NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /* 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /* 4 Memory Management Interrupt */ - BusFault_IRQn = -11, /* 5 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /* 6 Usage Fault Interrupt */ - SVCall_IRQn = -5, /* 11 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /* 12 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /* 14 Pend SV Interrupt */ - SysTick_IRQn = -1, /* 15 System Tick Interrupt */ - -/* ------------------- Processor Interrupt Numbers ------------------------------ */ - Interrupt0_IRQn = 0, - Interrupt1_IRQn = 1, - Interrupt2_IRQn = 2, - Interrupt3_IRQn = 3, - Interrupt4_IRQn = 4, - Interrupt5_IRQn = 5, - Interrupt6_IRQn = 6, - Interrupt7_IRQn = 7, - Interrupt8_IRQn = 8, - Interrupt9_IRQn = 9, - /* Interrupts 10 .. 223 are left out */ - Interrupt224_IRQn = 224 -} IRQn_Type; - - -/* ================================================================================ */ -/* ================ Processor and Core Peripheral Section ================ */ -/* ================================================================================ */ - -/* ------- Start of section using anonymous unions and disabling warnings ------- */ -#if defined (__CC_ARM) - #pragma push - #pragma anon_unions -#elif defined (__ICCARM__) - #pragma language=extended -#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wc11-extensions" - #pragma clang diagnostic ignored "-Wreserved-id-macro" -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning 586 -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -/* -------- Configuration of Core Peripherals ----------------------------------- */ -#define __CM4_REV 0x0001U /* Core revision r0p1 */ -#define __MPU_PRESENT 1U /* MPU present */ -#define __VTOR_PRESENT 1U /* VTOR present */ -#define __NVIC_PRIO_BITS 3U /* Number of Bits used for Priority Levels */ -#define __Vendor_SysTickConfig 0U /* Set to 1 if different SysTick Config is used */ -#define __FPU_PRESENT 0U /* no FPU present */ - -#include "core_cm4.h" /* Processor and core peripherals */ -#include "system_ARMCM4.h" /* System Header */ - - -/* -------- End of section using anonymous unions and disabling warnings -------- */ -#if defined (__CC_ARM) - #pragma pop -#elif defined (__ICCARM__) - /* leave anonymous unions enabled */ -#elif (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) - #pragma clang diagnostic pop -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning restore -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* ARMCM4_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCM4/Include/ARMCM4_FP.h b/external/CMSIS_5/Device/ARM/ARMCM4/Include/ARMCM4_FP.h deleted file mode 100644 index f5912f8..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM4/Include/ARMCM4_FP.h +++ /dev/null @@ -1,128 +0,0 @@ -/**************************************************************************//** - * @file ARMCM4_FP.h - * @brief CMSIS Core Peripheral Access Layer Header File for - * ARMCM4 Device (configured for CM4 with FPU) - * @version V5.3.2 - * @date 01. May 2023 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ARMCM4_FP_H -#define ARMCM4_FP_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* ------------------------- Interrupt Number Definition ------------------------ */ - -typedef enum IRQn -{ -/* ------------------- Processor Exceptions Numbers ----------------------------- */ - NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /* 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /* 4 Memory Management Interrupt */ - BusFault_IRQn = -11, /* 5 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /* 6 Usage Fault Interrupt */ - SVCall_IRQn = -5, /* 11 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /* 12 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /* 14 Pend SV Interrupt */ - SysTick_IRQn = -1, /* 15 System Tick Interrupt */ - -/* ------------------- Processor Interrupt Numbers ------------------------------ */ - Interrupt0_IRQn = 0, - Interrupt1_IRQn = 1, - Interrupt2_IRQn = 2, - Interrupt3_IRQn = 3, - Interrupt4_IRQn = 4, - Interrupt5_IRQn = 5, - Interrupt6_IRQn = 6, - Interrupt7_IRQn = 7, - Interrupt8_IRQn = 8, - Interrupt9_IRQn = 9, - /* Interrupts 10 .. 223 are left out */ - Interrupt224_IRQn = 224 -} IRQn_Type; - - -/* ================================================================================ */ -/* ================ Processor and Core Peripheral Section ================ */ -/* ================================================================================ */ - -/* ------- Start of section using anonymous unions and disabling warnings ------- */ -#if defined (__CC_ARM) - #pragma push - #pragma anon_unions -#elif defined (__ICCARM__) - #pragma language=extended -#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wc11-extensions" - #pragma clang diagnostic ignored "-Wreserved-id-macro" -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning 586 -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -/* -------- Configuration of Core Peripherals ----------------------------------- */ -#define __CM4_REV 0x0001U /* Core revision r0p1 */ -#define __MPU_PRESENT 1U /* MPU present */ -#define __VTOR_PRESENT 1U /* VTOR present */ -#define __NVIC_PRIO_BITS 3U /* Number of Bits used for Priority Levels */ -#define __Vendor_SysTickConfig 0U /* Set to 1 if different SysTick Config is used */ -#define __FPU_PRESENT 1U /* FPU present */ - -#include "core_cm4.h" /* Processor and core peripherals */ -#include "system_ARMCM4.h" /* System Header */ - - -/* -------- End of section using anonymous unions and disabling warnings -------- */ -#if defined (__CC_ARM) - #pragma pop -#elif defined (__ICCARM__) - /* leave anonymous unions enabled */ -#elif (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) - #pragma clang diagnostic pop -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning restore -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* ARMCM4_FP_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCM4/Include/system_ARMCM4.h b/external/CMSIS_5/Device/ARM/ARMCM4/Include/system_ARMCM4.h deleted file mode 100644 index 3297c18..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM4/Include/system_ARMCM4.h +++ /dev/null @@ -1,64 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM4.h - * @brief CMSIS Device System Header File for - * ARMCM4 Device - * @version V5.3.3 - * @date 11. July 2022 - ******************************************************************************/ -/* - * Copyright (c) 2009-2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef SYSTEM_ARMCM4_H -#define SYSTEM_ARMCM4_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -/** - \brief Exception / Interrupt Handler Function Prototype -*/ -typedef void(*VECTOR_TABLE_Type)(void); - -/** - \brief System Clock Frequency (Core Clock) -*/ -extern uint32_t SystemCoreClock; - -/** - \brief Setup the microcontroller system. - - Initialize the System and update the SystemCoreClock variable. - */ -extern void SystemInit (void); - - -/** - \brief Update SystemCoreClock variable. - - Updates the SystemCoreClock with current core Clock retrieved from cpu registers. - */ -extern void SystemCoreClockUpdate (void); - -#ifdef __cplusplus -} -#endif - -#endif /* SYSTEM_ARMCM4_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCM4/Source/ARM/ARMCM4_ac5.sct b/external/CMSIS_5/Device/ARM/ARMCM4/Source/ARM/ARMCM4_ac5.sct deleted file mode 100644 index e3b09b5..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM4/Source/ARM/ARMCM4_ac5.sct +++ /dev/null @@ -1,80 +0,0 @@ -#! armcc -E -; command above MUST be in first line (no comment above!) - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE) /* starts at end of RAM */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - - -/*---------------------------------------------------------------------------- - Scatter File Definitions definition - *----------------------------------------------------------------------------*/ -#define __RO_BASE __ROM_BASE -#define __RO_SIZE __ROM_SIZE - -#define __RW_BASE __RAM_BASE -#define __RW_SIZE (__RAM_SIZE - __STACK_SIZE - __HEAP_SIZE) - - -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } -} diff --git a/external/CMSIS_5/Device/ARM/ARMCM4/Source/ARM/ARMCM4_ac6.sct b/external/CMSIS_5/Device/ARM/ARMCM4/Source/ARM/ARMCM4_ac6.sct deleted file mode 100644 index eb67b5f..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM4/Source/ARM/ARMCM4_ac6.sct +++ /dev/null @@ -1,80 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m4 -xc -; command above MUST be in first line (no comment above!) - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE) /* starts at end of RAM */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - - -/*---------------------------------------------------------------------------- - Scatter File Definitions definition - *----------------------------------------------------------------------------*/ -#define __RO_BASE __ROM_BASE -#define __RO_SIZE __ROM_SIZE - -#define __RW_BASE __RAM_BASE -#define __RW_SIZE (__RAM_SIZE - __STACK_SIZE - __HEAP_SIZE) - - -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } -} diff --git a/external/CMSIS_5/Device/ARM/ARMCM4/Source/ARM/startup_ARMCM4.s b/external/CMSIS_5/Device/ARM/ARMCM4/Source/ARM/startup_ARMCM4.s deleted file mode 100644 index e898cb8..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM4/Source/ARM/startup_ARMCM4.s +++ /dev/null @@ -1,172 +0,0 @@ -;/**************************************************************************//** -; * @file startup_ARMCM4.s -; * @brief CMSIS Core Device Startup File for -; * ARMCM4 Device -; * @version V1.0.1 -; * @date 23. July 2019 -; ******************************************************************************/ -;/* -; * Copyright (c) 2009-2019 Arm Limited. All rights reserved. -; * -; * SPDX-License-Identifier: Apache-2.0 -; * -; * Licensed under the Apache License, Version 2.0 (the License); you may -; * not use this file except in compliance with the License. -; * You may obtain a copy of the License at -; * -; * www.apache.org/licenses/LICENSE-2.0 -; * -; * Unless required by applicable law or agreed to in writing, software -; * distributed under the License is distributed on an AS IS BASIS, WITHOUT -; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; * See the License for the specific language governing permissions and -; * limitations under the License. -; */ - -;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ - - -; Stack Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Stack_Size EQU 0x00000400 - - AREA STACK, NOINIT, READWRITE, ALIGN=3 -__stack_limit -Stack_Mem SPACE Stack_Size -__initial_sp - - -; Heap Configuration -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Heap_Size EQU 0x00000C00 - - IF Heap_Size != 0 ; Heap is provided - AREA HEAP, NOINIT, READWRITE, ALIGN=3 -__heap_base -Heap_Mem SPACE Heap_Size -__heap_limit - ENDIF - - - PRESERVE8 - THUMB - - -; Vector Table Mapped to Address 0 at Reset - - AREA RESET, DATA, READONLY - EXPORT __Vectors - EXPORT __Vectors_End - EXPORT __Vectors_Size - -__Vectors DCD __initial_sp ; Top of Stack - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; -14 NMI Handler - DCD HardFault_Handler ; -13 Hard Fault Handler - DCD MemManage_Handler ; -12 MPU Fault Handler - DCD BusFault_Handler ; -11 Bus Fault Handler - DCD UsageFault_Handler ; -10 Usage Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; -5 SVC Handler - DCD DebugMon_Handler ; -4 Debug Monitor Handler - DCD 0 ; Reserved - DCD PendSV_Handler ; -2 PendSV Handler - DCD SysTick_Handler ; -1 SysTick Handler - - ; Interrupts - DCD Interrupt0_Handler ; 0 Interrupt 0 - DCD Interrupt1_Handler ; 1 Interrupt 1 - DCD Interrupt2_Handler ; 2 Interrupt 2 - DCD Interrupt3_Handler ; 3 Interrupt 3 - DCD Interrupt4_Handler ; 4 Interrupt 4 - DCD Interrupt5_Handler ; 5 Interrupt 5 - DCD Interrupt6_Handler ; 6 Interrupt 6 - DCD Interrupt7_Handler ; 7 Interrupt 7 - DCD Interrupt8_Handler ; 8 Interrupt 8 - DCD Interrupt9_Handler ; 9 Interrupt 9 - - SPACE (214 * 4) ; Interrupts 10 .. 224 are left out -__Vectors_End -__Vectors_Size EQU __Vectors_End - __Vectors - - - AREA |.text|, CODE, READONLY - -; Reset Handler - -Reset_Handler PROC - EXPORT Reset_Handler [WEAK] - IMPORT SystemInit - IMPORT __main - - LDR R0, =SystemInit - BLX R0 - LDR R0, =__main - BX R0 - ENDP - -; The default macro is not used for HardFault_Handler -; because this results in a poor debug illusion. -HardFault_Handler PROC - EXPORT HardFault_Handler [WEAK] - B . - ENDP - -; Macro to define default exception/interrupt handlers. -; Default handler are weak symbols with an endless loop. -; They can be overwritten by real handlers. - MACRO - Set_Default_Handler $Handler_Name -$Handler_Name PROC - EXPORT $Handler_Name [WEAK] - B . - ENDP - MEND - - -; Default exception/interrupt handler - - Set_Default_Handler NMI_Handler - Set_Default_Handler MemManage_Handler - Set_Default_Handler BusFault_Handler - Set_Default_Handler UsageFault_Handler - Set_Default_Handler SVC_Handler - Set_Default_Handler DebugMon_Handler - Set_Default_Handler PendSV_Handler - Set_Default_Handler SysTick_Handler - - Set_Default_Handler Interrupt0_Handler - Set_Default_Handler Interrupt1_Handler - Set_Default_Handler Interrupt2_Handler - Set_Default_Handler Interrupt3_Handler - Set_Default_Handler Interrupt4_Handler - Set_Default_Handler Interrupt5_Handler - Set_Default_Handler Interrupt6_Handler - Set_Default_Handler Interrupt7_Handler - Set_Default_Handler Interrupt8_Handler - Set_Default_Handler Interrupt9_Handler - - ALIGN - - -; User setup Stack & Heap - - IF :LNOT::DEF:__MICROLIB - IMPORT __use_two_region_memory - ENDIF - - EXPORT __stack_limit - EXPORT __initial_sp - IF Heap_Size != 0 ; Heap is provided - EXPORT __heap_base - EXPORT __heap_limit - ENDIF - - END diff --git a/external/CMSIS_5/Device/ARM/ARMCM4/Source/GCC/gcc_arm.ld b/external/CMSIS_5/Device/ARM/ARMCM4/Source/GCC/gcc_arm.ld deleted file mode 100644 index 7498908..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM4/Source/GCC/gcc_arm.ld +++ /dev/null @@ -1,296 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.1.0 - * @date 04. August 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00040000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00020000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ -/* - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH -*/ - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/Device/ARM/ARMCM4/Source/GCC/startup_ARMCM4.S b/external/CMSIS_5/Device/ARM/ARMCM4/Source/GCC/startup_ARMCM4.S deleted file mode 100644 index 0db5b00..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM4/Source/GCC/startup_ARMCM4.S +++ /dev/null @@ -1,182 +0,0 @@ -/**************************************************************************//** - * @file startup_ARMCM4.S - * @brief CMSIS-Core(M) Device Startup File for Cortex-M4 Device - * @version V2.2.0 - * @date 26. May 2021 - ******************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - .syntax unified - .arch armv7e-m - - .section .vectors - .align 2 - .globl __Vectors - .globl __Vectors_End - .globl __Vectors_Size -__Vectors: - .long __StackTop /* Top of Stack */ - .long Reset_Handler /* Reset Handler */ - .long NMI_Handler /* -14 NMI Handler */ - .long HardFault_Handler /* -13 Hard Fault Handler */ - .long MemManage_Handler /* -12 MPU Fault Handler */ - .long BusFault_Handler /* -11 Bus Fault Handler */ - .long UsageFault_Handler /* -10 Usage Fault Handler */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long SVC_Handler /* -5 SVC Handler */ - .long DebugMon_Handler /* -4 Debug Monitor Handler */ - .long 0 /* Reserved */ - .long PendSV_Handler /* -2 PendSV Handler */ - .long SysTick_Handler /* -1 SysTick Handler */ - - /* Interrupts */ - .long Interrupt0_Handler /* 0 Interrupt 0 */ - .long Interrupt1_Handler /* 1 Interrupt 1 */ - .long Interrupt2_Handler /* 2 Interrupt 2 */ - .long Interrupt3_Handler /* 3 Interrupt 3 */ - .long Interrupt4_Handler /* 4 Interrupt 4 */ - .long Interrupt5_Handler /* 5 Interrupt 5 */ - .long Interrupt6_Handler /* 6 Interrupt 6 */ - .long Interrupt7_Handler /* 7 Interrupt 7 */ - .long Interrupt8_Handler /* 8 Interrupt 8 */ - .long Interrupt9_Handler /* 9 Interrupt 9 */ - - .space (214 * 4) /* Interrupts 10 .. 224 are left out */ -__Vectors_End: - .equ __Vectors_Size, __Vectors_End - __Vectors - .size __Vectors, . - __Vectors - - - .thumb - .section .text - .align 2 - - .thumb_func - .type Reset_Handler, %function - .globl Reset_Handler - .fnstart -Reset_Handler: - bl SystemInit - - ldr r4, =__copy_table_start__ - ldr r5, =__copy_table_end__ - -.L_loop0: - cmp r4, r5 - bge .L_loop0_done - ldr r1, [r4] /* source address */ - ldr r2, [r4, #4] /* destination address */ - ldr r3, [r4, #8] /* word count */ - lsls r3, r3, #2 /* byte count */ - -.L_loop0_0: - subs r3, #4 /* decrement byte count */ - ittt ge - ldrge r0, [r1, r3] - strge r0, [r2, r3] - bge .L_loop0_0 - - adds r4, #12 - b .L_loop0 -.L_loop0_done: - - ldr r3, =__zero_table_start__ - ldr r4, =__zero_table_end__ - -.L_loop2: - cmp r3, r4 - bge .L_loop2_done - ldr r1, [r3] /* destination address */ - ldr r2, [r3, #4] /* word count */ - lsls r2, r2, #2 /* byte count */ - movs r0, 0 - -.L_loop2_0: - subs r2, #4 /* decrement byte count */ - itt ge - strge r0, [r1, r2] - bge .L_loop2_0 - - adds r3, #8 - b .L_loop2 -.L_loop2_done: - - bl _start - - .fnend - .size Reset_Handler, . - Reset_Handler - -/* The default macro is not used for HardFault_Handler - * because this results in a poor debug illusion. - */ - .thumb_func - .type HardFault_Handler, %function - .weak HardFault_Handler - .fnstart -HardFault_Handler: - b . - .fnend - .size HardFault_Handler, . - HardFault_Handler - - .thumb_func - .type Default_Handler, %function - .weak Default_Handler - .fnstart -Default_Handler: - b . - .fnend - .size Default_Handler, . - Default_Handler - -/* Macro to define default exception/interrupt handlers. - * Default handler are weak symbols with an endless loop. - * They can be overwritten by real handlers. - */ - .macro Set_Default_Handler Handler_Name - .weak \Handler_Name - .set \Handler_Name, Default_Handler - .endm - - -/* Default exception/interrupt handler */ - - Set_Default_Handler NMI_Handler - Set_Default_Handler MemManage_Handler - Set_Default_Handler BusFault_Handler - Set_Default_Handler UsageFault_Handler - Set_Default_Handler SVC_Handler - Set_Default_Handler DebugMon_Handler - Set_Default_Handler PendSV_Handler - Set_Default_Handler SysTick_Handler - - Set_Default_Handler Interrupt0_Handler - Set_Default_Handler Interrupt1_Handler - Set_Default_Handler Interrupt2_Handler - Set_Default_Handler Interrupt3_Handler - Set_Default_Handler Interrupt4_Handler - Set_Default_Handler Interrupt5_Handler - Set_Default_Handler Interrupt6_Handler - Set_Default_Handler Interrupt7_Handler - Set_Default_Handler Interrupt8_Handler - Set_Default_Handler Interrupt9_Handler - - - .end diff --git a/external/CMSIS_5/Device/ARM/ARMCM4/Source/IAR/startup_ARMCM4.s b/external/CMSIS_5/Device/ARM/ARMCM4/Source/IAR/startup_ARMCM4.s deleted file mode 100644 index 5c1aa6b..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM4/Source/IAR/startup_ARMCM4.s +++ /dev/null @@ -1,155 +0,0 @@ -;/**************************************************************************//** -; * @file startup_ARMCM4.s -; * @brief CMSIS Core Device Startup File for -; * ARMCM4 Device -; * @version V1.0.0 -; * @date 09. July 2018 -; ******************************************************************************/ -;/* -; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. -; * -; * SPDX-License-Identifier: Apache-2.0 -; * -; * Licensed under the Apache License, Version 2.0 (the License); you may -; * not use this file except in compliance with the License. -; * You may obtain a copy of the License at -; * -; * www.apache.org/licenses/LICENSE-2.0 -; * -; * Unless required by applicable law or agreed to in writing, software -; * distributed under the License is distributed on an AS IS BASIS, WITHOUT -; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; * See the License for the specific language governing permissions and -; * limitations under the License. -; */ - -; -; The modules in this file are included in the libraries, and may be replaced -; by any user-defined modules that define the PUBLIC symbol _program_start or -; a user defined start symbol. -; To override the cstartup defined in the library, simply add your modified -; version to the workbench project. -; -; The vector table is normally located at address 0. -; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. -; The name "__vector_table" has special meaning for C-SPY: -; it is where the SP start value is found, and the NVIC vector -; table register (VTOR) is initialized to this address if != 0. -; -; Cortex-M version -; - - MODULE ?cstartup - - ;; Forward declaration of sections. - SECTION CSTACK:DATA:NOROOT(3) - - SECTION .intvec:CODE:NOROOT(2) - - EXTERN __iar_program_start - EXTERN SystemInit - PUBLIC __vector_table - PUBLIC __vector_table_0x1c - PUBLIC __Vectors - PUBLIC __Vectors_End - PUBLIC __Vectors_Size - - DATA - -__vector_table - DCD sfe(CSTACK) ; Top of Stack - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; -14 NMI Handler - DCD HardFault_Handler ; -13 Hard Fault Handler - DCD MemManage_Handler ; -12 MPU Fault Handler - DCD BusFault_Handler ; -11 Bus Fault Handler - DCD UsageFault_Handler ; -10 Usage Fault Handler -__vector_table_0x1c - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; -5 SVC Handler - DCD DebugMon_Handler ; -4 Debug Monitor Handler - DCD 0 ; Reserved - DCD PendSV_Handler ; -2 PendSV Handler - DCD SysTick_Handler ; -1 SysTick Handler - - ; Interrupts - DCD Interrupt0_Handler ; 0 Interrupt 0 - DCD Interrupt1_Handler ; 1 Interrupt 1 - DCD Interrupt2_Handler ; 2 Interrupt 2 - DCD Interrupt3_Handler ; 3 Interrupt 3 - DCD Interrupt4_Handler ; 4 Interrupt 4 - DCD Interrupt5_Handler ; 5 Interrupt 5 - DCD Interrupt6_Handler ; 6 Interrupt 6 - DCD Interrupt7_Handler ; 7 Interrupt 7 - DCD Interrupt8_Handler ; 8 Interrupt 8 - DCD Interrupt9_Handler ; 9 Interrupt 9 - - DS32 (214) ; Interrupts 10 .. 224 are left out -__Vectors_End - -__Vectors EQU __vector_table -__Vectors_Size EQU __Vectors_End - __Vectors - - - THUMB - -; Reset Handler - - PUBWEAK Reset_Handler - SECTION .text:CODE:REORDER:NOROOT(2) -Reset_Handler - LDR R0, =SystemInit - BLX R0 - LDR R0, =__iar_program_start - BX R0 - - - PUBWEAK NMI_Handler - PUBWEAK HardFault_Handler - PUBWEAK MemManage_Handler - PUBWEAK BusFault_Handler - PUBWEAK UsageFault_Handler - PUBWEAK SVC_Handler - PUBWEAK DebugMon_Handler - PUBWEAK PendSV_Handler - PUBWEAK SysTick_Handler - - PUBWEAK Interrupt0_Handler - PUBWEAK Interrupt1_Handler - PUBWEAK Interrupt2_Handler - PUBWEAK Interrupt3_Handler - PUBWEAK Interrupt4_Handler - PUBWEAK Interrupt5_Handler - PUBWEAK Interrupt6_Handler - PUBWEAK Interrupt7_Handler - PUBWEAK Interrupt8_Handler - PUBWEAK Interrupt9_Handler - SECTION .text:CODE:REORDER:NOROOT(1) -NMI_Handler -HardFault_Handler -MemManage_Handler -BusFault_Handler -UsageFault_Handler -SVC_Handler -DebugMon_Handler -PendSV_Handler -SysTick_Handler - -Interrupt0_Handler -Interrupt1_Handler -Interrupt2_Handler -Interrupt3_Handler -Interrupt4_Handler -Interrupt5_Handler -Interrupt6_Handler -Interrupt7_Handler -Interrupt8_Handler -Interrupt9_Handler -Default_Handler - B . - - - END diff --git a/external/CMSIS_5/Device/ARM/ARMCM4/Source/startup_ARMCM4.c b/external/CMSIS_5/Device/ARM/ARMCM4/Source/startup_ARMCM4.c deleted file mode 100644 index 2d7ca21..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM4/Source/startup_ARMCM4.c +++ /dev/null @@ -1,152 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM4.c - * @brief CMSIS-Core(M) Device Startup File for a Cortex-M4 Device - * @version V2.0.3 - * @date 31. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM4) - #include "ARMCM4.h" -#elif defined (ARMCM4_FP) - #include "ARMCM4_FP.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 223 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/Device/ARM/ARMCM4/Source/system_ARMCM4.c b/external/CMSIS_5/Device/ARM/ARMCM4/Source/system_ARMCM4.c deleted file mode 100644 index 9d983d2..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM4/Source/system_ARMCM4.c +++ /dev/null @@ -1,81 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM4.c - * @brief CMSIS Device System Source File for - * ARMCM4 Device - * @version V1.0.1 - * @date 15. November 2019 - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM4) - #include "ARMCM4.h" -#elif defined (ARMCM4_FP) - #include "ARMCM4_FP.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t) &(__VECTOR_TABLE[0]); -#endif - -#if defined (__FPU_USED) && (__FPU_USED == 1U) - SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ - (3U << 11U*2U) ); /* enable CP11 Full Access */ -#endif - -#ifdef UNALIGNED_SUPPORT_DISABLE - SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/Device/ARM/ARMCM55/Include/ARMCM55.h b/external/CMSIS_5/Device/ARM/ARMCM55/Include/ARMCM55.h deleted file mode 100644 index 17942a9..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM55/Include/ARMCM55.h +++ /dev/null @@ -1,137 +0,0 @@ -/**************************************************************************//** - * @file ARMCM55.h - * @brief CMSIS Core Peripheral Access Layer Header File for - * ARMCM55 Device Series (configured for ARMCM55 with double precision FPU, - * DSP extension, MVE, TrustZone) - * @version V1.0.1 - * @date 01. May 2023 - ******************************************************************************/ -/* - * Copyright (c) 2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ARMCM55_H -#define ARMCM55_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* ------------------------- Interrupt Number Definition ------------------------ */ - -typedef enum IRQn -{ -/* ------------------- Processor Exceptions Numbers ----------------------------- */ - NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /* 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /* 4 Memory Management Interrupt */ - BusFault_IRQn = -11, /* 5 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /* 6 Usage Fault Interrupt */ - SecureFault_IRQn = -9, /* 7 Secure Fault Interrupt */ - SVCall_IRQn = -5, /* 11 SVC Interrupt */ - DebugMonitor_IRQn = -4, /* 12 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /* 14 Pend SV Interrupt */ - SysTick_IRQn = -1, /* 15 System Tick Interrupt */ - -/* ------------------- Processor Interrupt Numbers ------------------------------ */ - Interrupt0_IRQn = 0, - Interrupt1_IRQn = 1, - Interrupt2_IRQn = 2, - Interrupt3_IRQn = 3, - Interrupt4_IRQn = 4, - Interrupt5_IRQn = 5, - Interrupt6_IRQn = 6, - Interrupt7_IRQn = 7, - Interrupt8_IRQn = 8, - Interrupt9_IRQn = 9, - /* Interrupts 10 .. 479 are left out */ - Interrupt480_IRQn = 480 -} IRQn_Type; - - -/* ================================================================================ */ -/* ================ Processor and Core Peripheral Section ================ */ -/* ================================================================================ */ - -/* ------- Start of section using anonymous unions and disabling warnings ------- */ -#if defined (__CC_ARM) - #pragma push - #pragma anon_unions -#elif defined (__ICCARM__) - #pragma language=extended -#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wc11-extensions" - #pragma clang diagnostic ignored "-Wreserved-id-macro" -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning 586 -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -/* -------- Configuration of Core Peripherals ----------------------------------- */ -#define __CM55_REV 0x0001U /* Core revision r0p1 */ -#define __NVIC_PRIO_BITS 3U /* Number of Bits used for Priority Levels */ -#define __Vendor_SysTickConfig 0U /* Set to 1 if different SysTick Config is used */ -#define __VTOR_PRESENT 1U /* VTOR present */ -#define __MPU_PRESENT 1U /* MPU present */ -#define __FPU_PRESENT 1U /* FPU present */ -#define __FPU_DP 1U /* double precision FPU */ -#define __DSP_PRESENT 1U /* DSP extension present */ -#define __SAUREGION_PRESENT 1U /* SAU regions present */ -#define __PMU_PRESENT 1U /* PMU present */ -#define __PMU_NUM_EVENTCNT 8U /* PMU Event Counters */ -#define __ICACHE_PRESENT 1U /* Instruction Cache present */ -#define __DCACHE_PRESENT 1U /* Data Cache present */ - -#include "core_cm55.h" /* Processor and core peripherals */ -#include "system_ARMCM55.h" /* System Header */ - - -/* -------- End of section using anonymous unions and disabling warnings -------- */ -#if defined (__CC_ARM) - #pragma pop -#elif defined (__ICCARM__) - /* leave anonymous unions enabled */ -#elif (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) - #pragma clang diagnostic pop -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning restore -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* ARMCM55_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCM55/Include/Template/partition_ARMCM55.h b/external/CMSIS_5/Device/ARM/ARMCM55/Include/Template/partition_ARMCM55.h deleted file mode 100644 index eabaf30..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM55/Include/Template/partition_ARMCM55.h +++ /dev/null @@ -1,1261 +0,0 @@ -/**************************************************************************//** - * @file partition_ARMCM55.h - * @brief CMSIS-CORE Initial Setup for Secure / Non-Secure Zones for Armv8.1-M Mainline - * @version V1.0.0 - * @date 20. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef PARTITION_ARMCM55_H -#define PARTITION_ARMCM55_H - -/* -//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- -*/ - -/* -// Initialize Security Attribution Unit (SAU) CTRL register -*/ -#define SAU_INIT_CTRL 1 - -/* -// Enable SAU -// Value for SAU->CTRL register bit ENABLE -*/ -#define SAU_INIT_CTRL_ENABLE 1 - -/* -// When SAU is disabled -// <0=> All Memory is Secure -// <1=> All Memory is Non-Secure -// Value for SAU->CTRL register bit ALLNS -// When all Memory is Non-Secure (ALLNS is 1), IDAU can override memory map configuration. -*/ -#define SAU_INIT_CTRL_ALLNS 0 - -/* -// -*/ - -/* -// Initialize Security Attribution Unit (SAU) Address Regions -// SAU configuration specifies regions to be one of: -// - Secure and Non-Secure Callable -// - Non-Secure -// Note: All memory regions not configured by SAU are Secure -*/ -#define SAU_REGIONS_MAX 8 /* Max. number of SAU regions */ - -/* -// Initialize SAU Region 0 -// Setup SAU Region 0 memory attributes -*/ -#define SAU_INIT_REGION0 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START0 0x00000000 /* start address of SAU region 0 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END0 0x001FFFFF /* end address of SAU region 0 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC0 1 -/* -// -*/ - -/* -// Initialize SAU Region 1 -// Setup SAU Region 1 memory attributes -*/ -#define SAU_INIT_REGION1 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START1 0x00200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END1 0x003FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC1 0 -/* -// -*/ - -/* -// Initialize SAU Region 2 -// Setup SAU Region 2 memory attributes -*/ -#define SAU_INIT_REGION2 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START2 0x20200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END2 0x203FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC2 0 -/* -// -*/ - -/* -// Initialize SAU Region 3 -// Setup SAU Region 3 memory attributes -*/ -#define SAU_INIT_REGION3 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START3 0x40000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END3 0x40040000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC3 0 -/* -// -*/ - -/* -// Initialize SAU Region 4 -// Setup SAU Region 4 memory attributes -*/ -#define SAU_INIT_REGION4 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START4 0x00000000 /* start address of SAU region 4 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END4 0x00000000 /* end address of SAU region 4 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC4 0 -/* -// -*/ - -/* -// Initialize SAU Region 5 -// Setup SAU Region 5 memory attributes -*/ -#define SAU_INIT_REGION5 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START5 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END5 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC5 0 -/* -// -*/ - -/* -// Initialize SAU Region 6 -// Setup SAU Region 6 memory attributes -*/ -#define SAU_INIT_REGION6 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START6 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END6 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC6 0 -/* -// -*/ - -/* -// Initialize SAU Region 7 -// Setup SAU Region 7 memory attributes -*/ -#define SAU_INIT_REGION7 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START7 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END7 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC7 0 -/* -// -*/ - -/* -// -*/ - -/* -// Setup behaviour of Sleep and Exception Handling -*/ -#define SCB_CSR_AIRCR_INIT 1 - -/* -// Deep Sleep can be enabled by -// <0=>Secure and Non-Secure state -// <1=>Secure state only -// Value for SCB->CSR register bit DEEPSLEEPS -*/ -#define SCB_CSR_DEEPSLEEPS_VAL 1 - -/* -// System reset request accessible from -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for SCB->AIRCR register bit SYSRESETREQS -*/ -#define SCB_AIRCR_SYSRESETREQS_VAL 1 - -/* -// Priority of Non-Secure exceptions is -// <0=> Not altered -// <1=> Lowered to 0x80-0xFF -// Value for SCB->AIRCR register bit PRIS -*/ -#define SCB_AIRCR_PRIS_VAL 1 - -/* -// BusFault, HardFault, and NMI target -// <0=> Secure state -// <1=> Non-Secure state -// Value for SCB->AIRCR register bit BFHFNMINS -*/ -#define SCB_AIRCR_BFHFNMINS_VAL 0 - -/* -// -*/ - -/* -// Setup behaviour of Floating Point and Vector Unit (FPU/MVE) -*/ -#define TZ_FPU_NS_USAGE 1 - -/* -// Floating Point and Vector Unit usage -// <0=> Secure state only -// <3=> Secure and Non-Secure state -// Value for SCB->NSACR register bits CP10, CP11 -*/ -#define SCB_NSACR_CP10_11_VAL 3 - -/* -// Treat floating-point registers as Secure -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit TS -*/ -#define FPU_FPCCR_TS_VAL 0 - -/* -// Clear on return (CLRONRET) accessibility -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for FPU->FPCCR register bit CLRONRETS -*/ -#define FPU_FPCCR_CLRONRETS_VAL 0 - -/* -// Clear floating-point caller saved registers on exception return -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit CLRONRET -*/ -#define FPU_FPCCR_CLRONRET_VAL 1 - -/* -// -*/ - -/* -// Setup Interrupt Target -*/ - -/* -// Initialize ITNS 0 (Interrupts 0..31) -*/ -#define NVIC_INIT_ITNS0 1 - -/* -// Interrupts 0..31 -// Interrupt 0 <0=> Secure state <1=> Non-Secure state -// Interrupt 1 <0=> Secure state <1=> Non-Secure state -// Interrupt 2 <0=> Secure state <1=> Non-Secure state -// Interrupt 3 <0=> Secure state <1=> Non-Secure state -// Interrupt 4 <0=> Secure state <1=> Non-Secure state -// Interrupt 5 <0=> Secure state <1=> Non-Secure state -// Interrupt 6 <0=> Secure state <1=> Non-Secure state -// Interrupt 7 <0=> Secure state <1=> Non-Secure state -// Interrupt 8 <0=> Secure state <1=> Non-Secure state -// Interrupt 9 <0=> Secure state <1=> Non-Secure state -// Interrupt 10 <0=> Secure state <1=> Non-Secure state -// Interrupt 11 <0=> Secure state <1=> Non-Secure state -// Interrupt 12 <0=> Secure state <1=> Non-Secure state -// Interrupt 13 <0=> Secure state <1=> Non-Secure state -// Interrupt 14 <0=> Secure state <1=> Non-Secure state -// Interrupt 15 <0=> Secure state <1=> Non-Secure state -// Interrupt 16 <0=> Secure state <1=> Non-Secure state -// Interrupt 17 <0=> Secure state <1=> Non-Secure state -// Interrupt 18 <0=> Secure state <1=> Non-Secure state -// Interrupt 19 <0=> Secure state <1=> Non-Secure state -// Interrupt 20 <0=> Secure state <1=> Non-Secure state -// Interrupt 21 <0=> Secure state <1=> Non-Secure state -// Interrupt 22 <0=> Secure state <1=> Non-Secure state -// Interrupt 23 <0=> Secure state <1=> Non-Secure state -// Interrupt 24 <0=> Secure state <1=> Non-Secure state -// Interrupt 25 <0=> Secure state <1=> Non-Secure state -// Interrupt 26 <0=> Secure state <1=> Non-Secure state -// Interrupt 27 <0=> Secure state <1=> Non-Secure state -// Interrupt 28 <0=> Secure state <1=> Non-Secure state -// Interrupt 29 <0=> Secure state <1=> Non-Secure state -// Interrupt 30 <0=> Secure state <1=> Non-Secure state -// Interrupt 31 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS0_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 1 (Interrupts 32..63) -*/ -#define NVIC_INIT_ITNS1 1 - -/* -// Interrupts 32..63 -// Interrupt 32 <0=> Secure state <1=> Non-Secure state -// Interrupt 33 <0=> Secure state <1=> Non-Secure state -// Interrupt 34 <0=> Secure state <1=> Non-Secure state -// Interrupt 35 <0=> Secure state <1=> Non-Secure state -// Interrupt 36 <0=> Secure state <1=> Non-Secure state -// Interrupt 37 <0=> Secure state <1=> Non-Secure state -// Interrupt 38 <0=> Secure state <1=> Non-Secure state -// Interrupt 39 <0=> Secure state <1=> Non-Secure state -// Interrupt 40 <0=> Secure state <1=> Non-Secure state -// Interrupt 41 <0=> Secure state <1=> Non-Secure state -// Interrupt 42 <0=> Secure state <1=> Non-Secure state -// Interrupt 43 <0=> Secure state <1=> Non-Secure state -// Interrupt 44 <0=> Secure state <1=> Non-Secure state -// Interrupt 45 <0=> Secure state <1=> Non-Secure state -// Interrupt 46 <0=> Secure state <1=> Non-Secure state -// Interrupt 47 <0=> Secure state <1=> Non-Secure state -// Interrupt 48 <0=> Secure state <1=> Non-Secure state -// Interrupt 49 <0=> Secure state <1=> Non-Secure state -// Interrupt 50 <0=> Secure state <1=> Non-Secure state -// Interrupt 51 <0=> Secure state <1=> Non-Secure state -// Interrupt 52 <0=> Secure state <1=> Non-Secure state -// Interrupt 53 <0=> Secure state <1=> Non-Secure state -// Interrupt 54 <0=> Secure state <1=> Non-Secure state -// Interrupt 55 <0=> Secure state <1=> Non-Secure state -// Interrupt 56 <0=> Secure state <1=> Non-Secure state -// Interrupt 57 <0=> Secure state <1=> Non-Secure state -// Interrupt 58 <0=> Secure state <1=> Non-Secure state -// Interrupt 59 <0=> Secure state <1=> Non-Secure state -// Interrupt 60 <0=> Secure state <1=> Non-Secure state -// Interrupt 61 <0=> Secure state <1=> Non-Secure state -// Interrupt 62 <0=> Secure state <1=> Non-Secure state -// Interrupt 63 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS1_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 2 (Interrupts 64..95) -*/ -#define NVIC_INIT_ITNS2 0 - -/* -// Interrupts 64..95 -// Interrupt 64 <0=> Secure state <1=> Non-Secure state -// Interrupt 65 <0=> Secure state <1=> Non-Secure state -// Interrupt 66 <0=> Secure state <1=> Non-Secure state -// Interrupt 67 <0=> Secure state <1=> Non-Secure state -// Interrupt 68 <0=> Secure state <1=> Non-Secure state -// Interrupt 69 <0=> Secure state <1=> Non-Secure state -// Interrupt 70 <0=> Secure state <1=> Non-Secure state -// Interrupt 71 <0=> Secure state <1=> Non-Secure state -// Interrupt 72 <0=> Secure state <1=> Non-Secure state -// Interrupt 73 <0=> Secure state <1=> Non-Secure state -// Interrupt 74 <0=> Secure state <1=> Non-Secure state -// Interrupt 75 <0=> Secure state <1=> Non-Secure state -// Interrupt 76 <0=> Secure state <1=> Non-Secure state -// Interrupt 77 <0=> Secure state <1=> Non-Secure state -// Interrupt 78 <0=> Secure state <1=> Non-Secure state -// Interrupt 79 <0=> Secure state <1=> Non-Secure state -// Interrupt 80 <0=> Secure state <1=> Non-Secure state -// Interrupt 81 <0=> Secure state <1=> Non-Secure state -// Interrupt 82 <0=> Secure state <1=> Non-Secure state -// Interrupt 83 <0=> Secure state <1=> Non-Secure state -// Interrupt 84 <0=> Secure state <1=> Non-Secure state -// Interrupt 85 <0=> Secure state <1=> Non-Secure state -// Interrupt 86 <0=> Secure state <1=> Non-Secure state -// Interrupt 87 <0=> Secure state <1=> Non-Secure state -// Interrupt 88 <0=> Secure state <1=> Non-Secure state -// Interrupt 89 <0=> Secure state <1=> Non-Secure state -// Interrupt 90 <0=> Secure state <1=> Non-Secure state -// Interrupt 91 <0=> Secure state <1=> Non-Secure state -// Interrupt 92 <0=> Secure state <1=> Non-Secure state -// Interrupt 93 <0=> Secure state <1=> Non-Secure state -// Interrupt 94 <0=> Secure state <1=> Non-Secure state -// Interrupt 95 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS2_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 3 (Interrupts 96..127) -*/ -#define NVIC_INIT_ITNS3 0 - -/* -// Interrupts 96..127 -// Interrupt 96 <0=> Secure state <1=> Non-Secure state -// Interrupt 97 <0=> Secure state <1=> Non-Secure state -// Interrupt 98 <0=> Secure state <1=> Non-Secure state -// Interrupt 99 <0=> Secure state <1=> Non-Secure state -// Interrupt 100 <0=> Secure state <1=> Non-Secure state -// Interrupt 101 <0=> Secure state <1=> Non-Secure state -// Interrupt 102 <0=> Secure state <1=> Non-Secure state -// Interrupt 103 <0=> Secure state <1=> Non-Secure state -// Interrupt 104 <0=> Secure state <1=> Non-Secure state -// Interrupt 105 <0=> Secure state <1=> Non-Secure state -// Interrupt 106 <0=> Secure state <1=> Non-Secure state -// Interrupt 107 <0=> Secure state <1=> Non-Secure state -// Interrupt 108 <0=> Secure state <1=> Non-Secure state -// Interrupt 109 <0=> Secure state <1=> Non-Secure state -// Interrupt 110 <0=> Secure state <1=> Non-Secure state -// Interrupt 111 <0=> Secure state <1=> Non-Secure state -// Interrupt 112 <0=> Secure state <1=> Non-Secure state -// Interrupt 113 <0=> Secure state <1=> Non-Secure state -// Interrupt 114 <0=> Secure state <1=> Non-Secure state -// Interrupt 115 <0=> Secure state <1=> Non-Secure state -// Interrupt 116 <0=> Secure state <1=> Non-Secure state -// Interrupt 117 <0=> Secure state <1=> Non-Secure state -// Interrupt 118 <0=> Secure state <1=> Non-Secure state -// Interrupt 119 <0=> Secure state <1=> Non-Secure state -// Interrupt 120 <0=> Secure state <1=> Non-Secure state -// Interrupt 121 <0=> Secure state <1=> Non-Secure state -// Interrupt 122 <0=> Secure state <1=> Non-Secure state -// Interrupt 123 <0=> Secure state <1=> Non-Secure state -// Interrupt 124 <0=> Secure state <1=> Non-Secure state -// Interrupt 125 <0=> Secure state <1=> Non-Secure state -// Interrupt 126 <0=> Secure state <1=> Non-Secure state -// Interrupt 127 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS3_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 4 (Interrupts 128..159) -*/ -#define NVIC_INIT_ITNS4 0 - -/* -// Interrupts 128..159 -// Interrupt 128 <0=> Secure state <1=> Non-Secure state -// Interrupt 129 <0=> Secure state <1=> Non-Secure state -// Interrupt 130 <0=> Secure state <1=> Non-Secure state -// Interrupt 131 <0=> Secure state <1=> Non-Secure state -// Interrupt 132 <0=> Secure state <1=> Non-Secure state -// Interrupt 133 <0=> Secure state <1=> Non-Secure state -// Interrupt 134 <0=> Secure state <1=> Non-Secure state -// Interrupt 135 <0=> Secure state <1=> Non-Secure state -// Interrupt 136 <0=> Secure state <1=> Non-Secure state -// Interrupt 137 <0=> Secure state <1=> Non-Secure state -// Interrupt 138 <0=> Secure state <1=> Non-Secure state -// Interrupt 139 <0=> Secure state <1=> Non-Secure state -// Interrupt 140 <0=> Secure state <1=> Non-Secure state -// Interrupt 141 <0=> Secure state <1=> Non-Secure state -// Interrupt 142 <0=> Secure state <1=> Non-Secure state -// Interrupt 143 <0=> Secure state <1=> Non-Secure state -// Interrupt 144 <0=> Secure state <1=> Non-Secure state -// Interrupt 145 <0=> Secure state <1=> Non-Secure state -// Interrupt 146 <0=> Secure state <1=> Non-Secure state -// Interrupt 147 <0=> Secure state <1=> Non-Secure state -// Interrupt 148 <0=> Secure state <1=> Non-Secure state -// Interrupt 149 <0=> Secure state <1=> Non-Secure state -// Interrupt 150 <0=> Secure state <1=> Non-Secure state -// Interrupt 151 <0=> Secure state <1=> Non-Secure state -// Interrupt 152 <0=> Secure state <1=> Non-Secure state -// Interrupt 153 <0=> Secure state <1=> Non-Secure state -// Interrupt 154 <0=> Secure state <1=> Non-Secure state -// Interrupt 155 <0=> Secure state <1=> Non-Secure state -// Interrupt 156 <0=> Secure state <1=> Non-Secure state -// Interrupt 157 <0=> Secure state <1=> Non-Secure state -// Interrupt 158 <0=> Secure state <1=> Non-Secure state -// Interrupt 159 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS4_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 5 (Interrupts 160..191) -*/ -#define NVIC_INIT_ITNS5 0 - -/* -// Interrupts 160..191 -// Interrupt 160 <0=> Secure state <1=> Non-Secure state -// Interrupt 161 <0=> Secure state <1=> Non-Secure state -// Interrupt 162 <0=> Secure state <1=> Non-Secure state -// Interrupt 163 <0=> Secure state <1=> Non-Secure state -// Interrupt 164 <0=> Secure state <1=> Non-Secure state -// Interrupt 165 <0=> Secure state <1=> Non-Secure state -// Interrupt 166 <0=> Secure state <1=> Non-Secure state -// Interrupt 167 <0=> Secure state <1=> Non-Secure state -// Interrupt 168 <0=> Secure state <1=> Non-Secure state -// Interrupt 169 <0=> Secure state <1=> Non-Secure state -// Interrupt 170 <0=> Secure state <1=> Non-Secure state -// Interrupt 171 <0=> Secure state <1=> Non-Secure state -// Interrupt 172 <0=> Secure state <1=> Non-Secure state -// Interrupt 173 <0=> Secure state <1=> Non-Secure state -// Interrupt 174 <0=> Secure state <1=> Non-Secure state -// Interrupt 175 <0=> Secure state <1=> Non-Secure state -// Interrupt 176 <0=> Secure state <1=> Non-Secure state -// Interrupt 177 <0=> Secure state <1=> Non-Secure state -// Interrupt 178 <0=> Secure state <1=> Non-Secure state -// Interrupt 179 <0=> Secure state <1=> Non-Secure state -// Interrupt 180 <0=> Secure state <1=> Non-Secure state -// Interrupt 181 <0=> Secure state <1=> Non-Secure state -// Interrupt 182 <0=> Secure state <1=> Non-Secure state -// Interrupt 183 <0=> Secure state <1=> Non-Secure state -// Interrupt 184 <0=> Secure state <1=> Non-Secure state -// Interrupt 185 <0=> Secure state <1=> Non-Secure state -// Interrupt 186 <0=> Secure state <1=> Non-Secure state -// Interrupt 187 <0=> Secure state <1=> Non-Secure state -// Interrupt 188 <0=> Secure state <1=> Non-Secure state -// Interrupt 189 <0=> Secure state <1=> Non-Secure state -// Interrupt 190 <0=> Secure state <1=> Non-Secure state -// Interrupt 191 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS5_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 6 (Interrupts 192..223) -*/ -#define NVIC_INIT_ITNS6 0 - -/* -// Interrupts 192..223 -// Interrupt 192 <0=> Secure state <1=> Non-Secure state -// Interrupt 193 <0=> Secure state <1=> Non-Secure state -// Interrupt 194 <0=> Secure state <1=> Non-Secure state -// Interrupt 195 <0=> Secure state <1=> Non-Secure state -// Interrupt 196 <0=> Secure state <1=> Non-Secure state -// Interrupt 197 <0=> Secure state <1=> Non-Secure state -// Interrupt 198 <0=> Secure state <1=> Non-Secure state -// Interrupt 199 <0=> Secure state <1=> Non-Secure state -// Interrupt 200 <0=> Secure state <1=> Non-Secure state -// Interrupt 201 <0=> Secure state <1=> Non-Secure state -// Interrupt 202 <0=> Secure state <1=> Non-Secure state -// Interrupt 203 <0=> Secure state <1=> Non-Secure state -// Interrupt 204 <0=> Secure state <1=> Non-Secure state -// Interrupt 205 <0=> Secure state <1=> Non-Secure state -// Interrupt 206 <0=> Secure state <1=> Non-Secure state -// Interrupt 207 <0=> Secure state <1=> Non-Secure state -// Interrupt 208 <0=> Secure state <1=> Non-Secure state -// Interrupt 209 <0=> Secure state <1=> Non-Secure state -// Interrupt 210 <0=> Secure state <1=> Non-Secure state -// Interrupt 211 <0=> Secure state <1=> Non-Secure state -// Interrupt 212 <0=> Secure state <1=> Non-Secure state -// Interrupt 213 <0=> Secure state <1=> Non-Secure state -// Interrupt 214 <0=> Secure state <1=> Non-Secure state -// Interrupt 215 <0=> Secure state <1=> Non-Secure state -// Interrupt 216 <0=> Secure state <1=> Non-Secure state -// Interrupt 217 <0=> Secure state <1=> Non-Secure state -// Interrupt 218 <0=> Secure state <1=> Non-Secure state -// Interrupt 219 <0=> Secure state <1=> Non-Secure state -// Interrupt 220 <0=> Secure state <1=> Non-Secure state -// Interrupt 221 <0=> Secure state <1=> Non-Secure state -// Interrupt 222 <0=> Secure state <1=> Non-Secure state -// Interrupt 223 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS6_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 7 (Interrupts 224..255) -*/ -#define NVIC_INIT_ITNS7 0 - -/* -// Interrupts 224..255 -// Interrupt 224 <0=> Secure state <1=> Non-Secure state -// Interrupt 225 <0=> Secure state <1=> Non-Secure state -// Interrupt 226 <0=> Secure state <1=> Non-Secure state -// Interrupt 227 <0=> Secure state <1=> Non-Secure state -// Interrupt 228 <0=> Secure state <1=> Non-Secure state -// Interrupt 229 <0=> Secure state <1=> Non-Secure state -// Interrupt 230 <0=> Secure state <1=> Non-Secure state -// Interrupt 231 <0=> Secure state <1=> Non-Secure state -// Interrupt 232 <0=> Secure state <1=> Non-Secure state -// Interrupt 233 <0=> Secure state <1=> Non-Secure state -// Interrupt 234 <0=> Secure state <1=> Non-Secure state -// Interrupt 235 <0=> Secure state <1=> Non-Secure state -// Interrupt 236 <0=> Secure state <1=> Non-Secure state -// Interrupt 237 <0=> Secure state <1=> Non-Secure state -// Interrupt 238 <0=> Secure state <1=> Non-Secure state -// Interrupt 239 <0=> Secure state <1=> Non-Secure state -// Interrupt 240 <0=> Secure state <1=> Non-Secure state -// Interrupt 241 <0=> Secure state <1=> Non-Secure state -// Interrupt 242 <0=> Secure state <1=> Non-Secure state -// Interrupt 243 <0=> Secure state <1=> Non-Secure state -// Interrupt 244 <0=> Secure state <1=> Non-Secure state -// Interrupt 245 <0=> Secure state <1=> Non-Secure state -// Interrupt 246 <0=> Secure state <1=> Non-Secure state -// Interrupt 247 <0=> Secure state <1=> Non-Secure state -// Interrupt 248 <0=> Secure state <1=> Non-Secure state -// Interrupt 249 <0=> Secure state <1=> Non-Secure state -// Interrupt 250 <0=> Secure state <1=> Non-Secure state -// Interrupt 251 <0=> Secure state <1=> Non-Secure state -// Interrupt 252 <0=> Secure state <1=> Non-Secure state -// Interrupt 253 <0=> Secure state <1=> Non-Secure state -// Interrupt 254 <0=> Secure state <1=> Non-Secure state -// Interrupt 255 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS7_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 8 (Interrupts 256..287) -*/ -#define NVIC_INIT_ITNS8 0 - -/* -// Interrupts 256..287 -// Interrupt 256 <0=> Secure state <1=> Non-Secure state -// Interrupt 257 <0=> Secure state <1=> Non-Secure state -// Interrupt 258 <0=> Secure state <1=> Non-Secure state -// Interrupt 259 <0=> Secure state <1=> Non-Secure state -// Interrupt 260 <0=> Secure state <1=> Non-Secure state -// Interrupt 261 <0=> Secure state <1=> Non-Secure state -// Interrupt 262 <0=> Secure state <1=> Non-Secure state -// Interrupt 263 <0=> Secure state <1=> Non-Secure state -// Interrupt 264 <0=> Secure state <1=> Non-Secure state -// Interrupt 265 <0=> Secure state <1=> Non-Secure state -// Interrupt 266 <0=> Secure state <1=> Non-Secure state -// Interrupt 267 <0=> Secure state <1=> Non-Secure state -// Interrupt 268 <0=> Secure state <1=> Non-Secure state -// Interrupt 269 <0=> Secure state <1=> Non-Secure state -// Interrupt 270 <0=> Secure state <1=> Non-Secure state -// Interrupt 271 <0=> Secure state <1=> Non-Secure state -// Interrupt 272 <0=> Secure state <1=> Non-Secure state -// Interrupt 273 <0=> Secure state <1=> Non-Secure state -// Interrupt 274 <0=> Secure state <1=> Non-Secure state -// Interrupt 275 <0=> Secure state <1=> Non-Secure state -// Interrupt 276 <0=> Secure state <1=> Non-Secure state -// Interrupt 277 <0=> Secure state <1=> Non-Secure state -// Interrupt 278 <0=> Secure state <1=> Non-Secure state -// Interrupt 279 <0=> Secure state <1=> Non-Secure state -// Interrupt 280 <0=> Secure state <1=> Non-Secure state -// Interrupt 281 <0=> Secure state <1=> Non-Secure state -// Interrupt 282 <0=> Secure state <1=> Non-Secure state -// Interrupt 283 <0=> Secure state <1=> Non-Secure state -// Interrupt 284 <0=> Secure state <1=> Non-Secure state -// Interrupt 285 <0=> Secure state <1=> Non-Secure state -// Interrupt 286 <0=> Secure state <1=> Non-Secure state -// Interrupt 287 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS8_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 9 (Interrupts 288..319) -*/ -#define NVIC_INIT_ITNS9 0 - -/* -// Interrupts 288..319 -// Interrupt 288 <0=> Secure state <1=> Non-Secure state -// Interrupt 289 <0=> Secure state <1=> Non-Secure state -// Interrupt 290 <0=> Secure state <1=> Non-Secure state -// Interrupt 291 <0=> Secure state <1=> Non-Secure state -// Interrupt 292 <0=> Secure state <1=> Non-Secure state -// Interrupt 293 <0=> Secure state <1=> Non-Secure state -// Interrupt 294 <0=> Secure state <1=> Non-Secure state -// Interrupt 295 <0=> Secure state <1=> Non-Secure state -// Interrupt 296 <0=> Secure state <1=> Non-Secure state -// Interrupt 297 <0=> Secure state <1=> Non-Secure state -// Interrupt 298 <0=> Secure state <1=> Non-Secure state -// Interrupt 299 <0=> Secure state <1=> Non-Secure state -// Interrupt 300 <0=> Secure state <1=> Non-Secure state -// Interrupt 301 <0=> Secure state <1=> Non-Secure state -// Interrupt 302 <0=> Secure state <1=> Non-Secure state -// Interrupt 303 <0=> Secure state <1=> Non-Secure state -// Interrupt 304 <0=> Secure state <1=> Non-Secure state -// Interrupt 305 <0=> Secure state <1=> Non-Secure state -// Interrupt 306 <0=> Secure state <1=> Non-Secure state -// Interrupt 307 <0=> Secure state <1=> Non-Secure state -// Interrupt 308 <0=> Secure state <1=> Non-Secure state -// Interrupt 309 <0=> Secure state <1=> Non-Secure state -// Interrupt 310 <0=> Secure state <1=> Non-Secure state -// Interrupt 311 <0=> Secure state <1=> Non-Secure state -// Interrupt 312 <0=> Secure state <1=> Non-Secure state -// Interrupt 313 <0=> Secure state <1=> Non-Secure state -// Interrupt 314 <0=> Secure state <1=> Non-Secure state -// Interrupt 315 <0=> Secure state <1=> Non-Secure state -// Interrupt 316 <0=> Secure state <1=> Non-Secure state -// Interrupt 317 <0=> Secure state <1=> Non-Secure state -// Interrupt 318 <0=> Secure state <1=> Non-Secure state -// Interrupt 319 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS9_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 10 (Interrupts 320..351) -*/ -#define NVIC_INIT_ITNS10 0 - -/* -// Interrupts 320..351 -// Interrupt 320 <0=> Secure state <1=> Non-Secure state -// Interrupt 321 <0=> Secure state <1=> Non-Secure state -// Interrupt 322 <0=> Secure state <1=> Non-Secure state -// Interrupt 323 <0=> Secure state <1=> Non-Secure state -// Interrupt 324 <0=> Secure state <1=> Non-Secure state -// Interrupt 325 <0=> Secure state <1=> Non-Secure state -// Interrupt 326 <0=> Secure state <1=> Non-Secure state -// Interrupt 327 <0=> Secure state <1=> Non-Secure state -// Interrupt 328 <0=> Secure state <1=> Non-Secure state -// Interrupt 329 <0=> Secure state <1=> Non-Secure state -// Interrupt 330 <0=> Secure state <1=> Non-Secure state -// Interrupt 331 <0=> Secure state <1=> Non-Secure state -// Interrupt 332 <0=> Secure state <1=> Non-Secure state -// Interrupt 333 <0=> Secure state <1=> Non-Secure state -// Interrupt 334 <0=> Secure state <1=> Non-Secure state -// Interrupt 335 <0=> Secure state <1=> Non-Secure state -// Interrupt 336 <0=> Secure state <1=> Non-Secure state -// Interrupt 337 <0=> Secure state <1=> Non-Secure state -// Interrupt 338 <0=> Secure state <1=> Non-Secure state -// Interrupt 339 <0=> Secure state <1=> Non-Secure state -// Interrupt 340 <0=> Secure state <1=> Non-Secure state -// Interrupt 341 <0=> Secure state <1=> Non-Secure state -// Interrupt 342 <0=> Secure state <1=> Non-Secure state -// Interrupt 343 <0=> Secure state <1=> Non-Secure state -// Interrupt 344 <0=> Secure state <1=> Non-Secure state -// Interrupt 345 <0=> Secure state <1=> Non-Secure state -// Interrupt 346 <0=> Secure state <1=> Non-Secure state -// Interrupt 347 <0=> Secure state <1=> Non-Secure state -// Interrupt 348 <0=> Secure state <1=> Non-Secure state -// Interrupt 349 <0=> Secure state <1=> Non-Secure state -// Interrupt 350 <0=> Secure state <1=> Non-Secure state -// Interrupt 351 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS10_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 11 (Interrupts 352..383) -*/ -#define NVIC_INIT_ITNS11 0 - -/* -// Interrupts 352..383 -// Interrupt 352 <0=> Secure state <1=> Non-Secure state -// Interrupt 353 <0=> Secure state <1=> Non-Secure state -// Interrupt 354 <0=> Secure state <1=> Non-Secure state -// Interrupt 355 <0=> Secure state <1=> Non-Secure state -// Interrupt 356 <0=> Secure state <1=> Non-Secure state -// Interrupt 357 <0=> Secure state <1=> Non-Secure state -// Interrupt 358 <0=> Secure state <1=> Non-Secure state -// Interrupt 359 <0=> Secure state <1=> Non-Secure state -// Interrupt 360 <0=> Secure state <1=> Non-Secure state -// Interrupt 361 <0=> Secure state <1=> Non-Secure state -// Interrupt 362 <0=> Secure state <1=> Non-Secure state -// Interrupt 363 <0=> Secure state <1=> Non-Secure state -// Interrupt 364 <0=> Secure state <1=> Non-Secure state -// Interrupt 365 <0=> Secure state <1=> Non-Secure state -// Interrupt 366 <0=> Secure state <1=> Non-Secure state -// Interrupt 367 <0=> Secure state <1=> Non-Secure state -// Interrupt 368 <0=> Secure state <1=> Non-Secure state -// Interrupt 369 <0=> Secure state <1=> Non-Secure state -// Interrupt 370 <0=> Secure state <1=> Non-Secure state -// Interrupt 371 <0=> Secure state <1=> Non-Secure state -// Interrupt 372 <0=> Secure state <1=> Non-Secure state -// Interrupt 373 <0=> Secure state <1=> Non-Secure state -// Interrupt 374 <0=> Secure state <1=> Non-Secure state -// Interrupt 375 <0=> Secure state <1=> Non-Secure state -// Interrupt 376 <0=> Secure state <1=> Non-Secure state -// Interrupt 377 <0=> Secure state <1=> Non-Secure state -// Interrupt 378 <0=> Secure state <1=> Non-Secure state -// Interrupt 379 <0=> Secure state <1=> Non-Secure state -// Interrupt 380 <0=> Secure state <1=> Non-Secure state -// Interrupt 381 <0=> Secure state <1=> Non-Secure state -// Interrupt 382 <0=> Secure state <1=> Non-Secure state -// Interrupt 383 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS11_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 12 (Interrupts 384..415) -*/ -#define NVIC_INIT_ITNS12 0 - -/* -// Interrupts 384..415 -// Interrupt 384 <0=> Secure state <1=> Non-Secure state -// Interrupt 385 <0=> Secure state <1=> Non-Secure state -// Interrupt 386 <0=> Secure state <1=> Non-Secure state -// Interrupt 387 <0=> Secure state <1=> Non-Secure state -// Interrupt 388 <0=> Secure state <1=> Non-Secure state -// Interrupt 389 <0=> Secure state <1=> Non-Secure state -// Interrupt 390 <0=> Secure state <1=> Non-Secure state -// Interrupt 391 <0=> Secure state <1=> Non-Secure state -// Interrupt 392 <0=> Secure state <1=> Non-Secure state -// Interrupt 393 <0=> Secure state <1=> Non-Secure state -// Interrupt 394 <0=> Secure state <1=> Non-Secure state -// Interrupt 395 <0=> Secure state <1=> Non-Secure state -// Interrupt 396 <0=> Secure state <1=> Non-Secure state -// Interrupt 397 <0=> Secure state <1=> Non-Secure state -// Interrupt 398 <0=> Secure state <1=> Non-Secure state -// Interrupt 399 <0=> Secure state <1=> Non-Secure state -// Interrupt 400 <0=> Secure state <1=> Non-Secure state -// Interrupt 401 <0=> Secure state <1=> Non-Secure state -// Interrupt 402 <0=> Secure state <1=> Non-Secure state -// Interrupt 403 <0=> Secure state <1=> Non-Secure state -// Interrupt 404 <0=> Secure state <1=> Non-Secure state -// Interrupt 405 <0=> Secure state <1=> Non-Secure state -// Interrupt 406 <0=> Secure state <1=> Non-Secure state -// Interrupt 407 <0=> Secure state <1=> Non-Secure state -// Interrupt 408 <0=> Secure state <1=> Non-Secure state -// Interrupt 409 <0=> Secure state <1=> Non-Secure state -// Interrupt 410 <0=> Secure state <1=> Non-Secure state -// Interrupt 411 <0=> Secure state <1=> Non-Secure state -// Interrupt 412 <0=> Secure state <1=> Non-Secure state -// Interrupt 413 <0=> Secure state <1=> Non-Secure state -// Interrupt 414 <0=> Secure state <1=> Non-Secure state -// Interrupt 415 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS12_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 13 (Interrupts 416..447) -*/ -#define NVIC_INIT_ITNS13 0 - -/* -// Interrupts 416..447 -// Interrupt 416 <0=> Secure state <1=> Non-Secure state -// Interrupt 417 <0=> Secure state <1=> Non-Secure state -// Interrupt 418 <0=> Secure state <1=> Non-Secure state -// Interrupt 419 <0=> Secure state <1=> Non-Secure state -// Interrupt 420 <0=> Secure state <1=> Non-Secure state -// Interrupt 421 <0=> Secure state <1=> Non-Secure state -// Interrupt 422 <0=> Secure state <1=> Non-Secure state -// Interrupt 423 <0=> Secure state <1=> Non-Secure state -// Interrupt 424 <0=> Secure state <1=> Non-Secure state -// Interrupt 425 <0=> Secure state <1=> Non-Secure state -// Interrupt 426 <0=> Secure state <1=> Non-Secure state -// Interrupt 427 <0=> Secure state <1=> Non-Secure state -// Interrupt 428 <0=> Secure state <1=> Non-Secure state -// Interrupt 429 <0=> Secure state <1=> Non-Secure state -// Interrupt 430 <0=> Secure state <1=> Non-Secure state -// Interrupt 431 <0=> Secure state <1=> Non-Secure state -// Interrupt 432 <0=> Secure state <1=> Non-Secure state -// Interrupt 433 <0=> Secure state <1=> Non-Secure state -// Interrupt 434 <0=> Secure state <1=> Non-Secure state -// Interrupt 435 <0=> Secure state <1=> Non-Secure state -// Interrupt 436 <0=> Secure state <1=> Non-Secure state -// Interrupt 437 <0=> Secure state <1=> Non-Secure state -// Interrupt 438 <0=> Secure state <1=> Non-Secure state -// Interrupt 439 <0=> Secure state <1=> Non-Secure state -// Interrupt 440 <0=> Secure state <1=> Non-Secure state -// Interrupt 441 <0=> Secure state <1=> Non-Secure state -// Interrupt 442 <0=> Secure state <1=> Non-Secure state -// Interrupt 443 <0=> Secure state <1=> Non-Secure state -// Interrupt 444 <0=> Secure state <1=> Non-Secure state -// Interrupt 445 <0=> Secure state <1=> Non-Secure state -// Interrupt 446 <0=> Secure state <1=> Non-Secure state -// Interrupt 447 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS13_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 14 (Interrupts 448..479) -*/ -#define NVIC_INIT_ITNS14 0 - -/* -// Interrupts 448..479 -// Interrupt 448 <0=> Secure state <1=> Non-Secure state -// Interrupt 449 <0=> Secure state <1=> Non-Secure state -// Interrupt 450 <0=> Secure state <1=> Non-Secure state -// Interrupt 451 <0=> Secure state <1=> Non-Secure state -// Interrupt 452 <0=> Secure state <1=> Non-Secure state -// Interrupt 453 <0=> Secure state <1=> Non-Secure state -// Interrupt 454 <0=> Secure state <1=> Non-Secure state -// Interrupt 455 <0=> Secure state <1=> Non-Secure state -// Interrupt 456 <0=> Secure state <1=> Non-Secure state -// Interrupt 457 <0=> Secure state <1=> Non-Secure state -// Interrupt 458 <0=> Secure state <1=> Non-Secure state -// Interrupt 459 <0=> Secure state <1=> Non-Secure state -// Interrupt 460 <0=> Secure state <1=> Non-Secure state -// Interrupt 461 <0=> Secure state <1=> Non-Secure state -// Interrupt 462 <0=> Secure state <1=> Non-Secure state -// Interrupt 463 <0=> Secure state <1=> Non-Secure state -// Interrupt 464 <0=> Secure state <1=> Non-Secure state -// Interrupt 465 <0=> Secure state <1=> Non-Secure state -// Interrupt 466 <0=> Secure state <1=> Non-Secure state -// Interrupt 467 <0=> Secure state <1=> Non-Secure state -// Interrupt 468 <0=> Secure state <1=> Non-Secure state -// Interrupt 469 <0=> Secure state <1=> Non-Secure state -// Interrupt 470 <0=> Secure state <1=> Non-Secure state -// Interrupt 471 <0=> Secure state <1=> Non-Secure state -// Interrupt 472 <0=> Secure state <1=> Non-Secure state -// Interrupt 473 <0=> Secure state <1=> Non-Secure state -// Interrupt 474 <0=> Secure state <1=> Non-Secure state -// Interrupt 475 <0=> Secure state <1=> Non-Secure state -// Interrupt 476 <0=> Secure state <1=> Non-Secure state -// Interrupt 477 <0=> Secure state <1=> Non-Secure state -// Interrupt 478 <0=> Secure state <1=> Non-Secure state -// Interrupt 479 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS14_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 15 (Interrupts 480..511) -*/ -#define NVIC_INIT_ITNS15 0 - -/* -// Interrupts 480..511 -// Interrupt 480 <0=> Secure state <1=> Non-Secure state -// Interrupt 481 <0=> Secure state <1=> Non-Secure state -// Interrupt 482 <0=> Secure state <1=> Non-Secure state -// Interrupt 483 <0=> Secure state <1=> Non-Secure state -// Interrupt 484 <0=> Secure state <1=> Non-Secure state -// Interrupt 485 <0=> Secure state <1=> Non-Secure state -// Interrupt 486 <0=> Secure state <1=> Non-Secure state -// Interrupt 487 <0=> Secure state <1=> Non-Secure state -// Interrupt 488 <0=> Secure state <1=> Non-Secure state -// Interrupt 489 <0=> Secure state <1=> Non-Secure state -// Interrupt 490 <0=> Secure state <1=> Non-Secure state -// Interrupt 491 <0=> Secure state <1=> Non-Secure state -// Interrupt 492 <0=> Secure state <1=> Non-Secure state -// Interrupt 493 <0=> Secure state <1=> Non-Secure state -// Interrupt 494 <0=> Secure state <1=> Non-Secure state -// Interrupt 495 <0=> Secure state <1=> Non-Secure state -// Interrupt 496 <0=> Secure state <1=> Non-Secure state -// Interrupt 497 <0=> Secure state <1=> Non-Secure state -// Interrupt 498 <0=> Secure state <1=> Non-Secure state -// Interrupt 499 <0=> Secure state <1=> Non-Secure state -// Interrupt 500 <0=> Secure state <1=> Non-Secure state -// Interrupt 501 <0=> Secure state <1=> Non-Secure state -// Interrupt 502 <0=> Secure state <1=> Non-Secure state -// Interrupt 503 <0=> Secure state <1=> Non-Secure state -// Interrupt 504 <0=> Secure state <1=> Non-Secure state -// Interrupt 505 <0=> Secure state <1=> Non-Secure state -// Interrupt 506 <0=> Secure state <1=> Non-Secure state -// Interrupt 507 <0=> Secure state <1=> Non-Secure state -// Interrupt 508 <0=> Secure state <1=> Non-Secure state -// Interrupt 509 <0=> Secure state <1=> Non-Secure state -// Interrupt 510 <0=> Secure state <1=> Non-Secure state -// Interrupt 511 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS15_VAL 0x00000000 - -/* -// -*/ - -/* -// -*/ - - - -/* - max 128 SAU regions. - SAU regions are defined in partition.h - */ - -#define SAU_INIT_REGION(n) \ - SAU->RNR = (n & SAU_RNR_REGION_Msk); \ - SAU->RBAR = (SAU_INIT_START##n & SAU_RBAR_BADDR_Msk); \ - SAU->RLAR = (SAU_INIT_END##n & SAU_RLAR_LADDR_Msk) | \ - ((SAU_INIT_NSC##n << SAU_RLAR_NSC_Pos) & SAU_RLAR_NSC_Msk) | 1U - -/** - \brief Setup a SAU Region - \details Writes the region information contained in SAU_Region to the - registers SAU_RNR, SAU_RBAR, and SAU_RLAR - */ -__STATIC_INLINE void TZ_SAU_Setup (void) -{ - -#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) - - #if defined (SAU_INIT_REGION0) && (SAU_INIT_REGION0 == 1U) - SAU_INIT_REGION(0); - #endif - - #if defined (SAU_INIT_REGION1) && (SAU_INIT_REGION1 == 1U) - SAU_INIT_REGION(1); - #endif - - #if defined (SAU_INIT_REGION2) && (SAU_INIT_REGION2 == 1U) - SAU_INIT_REGION(2); - #endif - - #if defined (SAU_INIT_REGION3) && (SAU_INIT_REGION3 == 1U) - SAU_INIT_REGION(3); - #endif - - #if defined (SAU_INIT_REGION4) && (SAU_INIT_REGION4 == 1U) - SAU_INIT_REGION(4); - #endif - - #if defined (SAU_INIT_REGION5) && (SAU_INIT_REGION5 == 1U) - SAU_INIT_REGION(5); - #endif - - #if defined (SAU_INIT_REGION6) && (SAU_INIT_REGION6 == 1U) - SAU_INIT_REGION(6); - #endif - - #if defined (SAU_INIT_REGION7) && (SAU_INIT_REGION7 == 1U) - SAU_INIT_REGION(7); - #endif - - /* repeat this for all possible SAU regions */ - -#endif /* defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) */ - - - #if defined (SAU_INIT_CTRL) && (SAU_INIT_CTRL == 1U) - SAU->CTRL = ((SAU_INIT_CTRL_ENABLE << SAU_CTRL_ENABLE_Pos) & SAU_CTRL_ENABLE_Msk) | - ((SAU_INIT_CTRL_ALLNS << SAU_CTRL_ALLNS_Pos) & SAU_CTRL_ALLNS_Msk) ; - #endif - - #if defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) - SCB->SCR = (SCB->SCR & ~(SCB_SCR_SLEEPDEEPS_Msk )) | - ((SCB_CSR_DEEPSLEEPS_VAL << SCB_SCR_SLEEPDEEPS_Pos) & SCB_SCR_SLEEPDEEPS_Msk); - - SCB->AIRCR = (SCB->AIRCR & ~(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_SYSRESETREQS_Msk | - SCB_AIRCR_BFHFNMINS_Msk | SCB_AIRCR_PRIS_Msk )) | - ((0x05FAU << SCB_AIRCR_VECTKEY_Pos) & SCB_AIRCR_VECTKEY_Msk) | - ((SCB_AIRCR_SYSRESETREQS_VAL << SCB_AIRCR_SYSRESETREQS_Pos) & SCB_AIRCR_SYSRESETREQS_Msk) | - ((SCB_AIRCR_PRIS_VAL << SCB_AIRCR_PRIS_Pos) & SCB_AIRCR_PRIS_Msk) | - ((SCB_AIRCR_BFHFNMINS_VAL << SCB_AIRCR_BFHFNMINS_Pos) & SCB_AIRCR_BFHFNMINS_Msk); - #endif /* defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) */ - - #if (((defined (__FPU_USED) && (__FPU_USED == 1U)) || \ - (defined (__ARM_FEATURE_MVE) && (__ARM_FEATURE_MVE > 0))) && \ - (defined (TZ_FPU_NS_USAGE) && (TZ_FPU_NS_USAGE == 1U))) - - SCB->NSACR = (SCB->NSACR & ~(SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)) | - ((SCB_NSACR_CP10_11_VAL << SCB_NSACR_CP10_Pos) & (SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)); - - FPU->FPCCR = (FPU->FPCCR & ~(FPU_FPCCR_TS_Msk | FPU_FPCCR_CLRONRETS_Msk | FPU_FPCCR_CLRONRET_Msk)) | - ((FPU_FPCCR_TS_VAL << FPU_FPCCR_TS_Pos ) & FPU_FPCCR_TS_Msk ) | - ((FPU_FPCCR_CLRONRETS_VAL << FPU_FPCCR_CLRONRETS_Pos) & FPU_FPCCR_CLRONRETS_Msk) | - ((FPU_FPCCR_CLRONRET_VAL << FPU_FPCCR_CLRONRET_Pos ) & FPU_FPCCR_CLRONRET_Msk ); - #endif - - #if defined (NVIC_INIT_ITNS0) && (NVIC_INIT_ITNS0 == 1U) - NVIC->ITNS[0] = NVIC_INIT_ITNS0_VAL; - #endif - - #if defined (NVIC_INIT_ITNS1) && (NVIC_INIT_ITNS1 == 1U) - NVIC->ITNS[1] = NVIC_INIT_ITNS1_VAL; - #endif - - #if defined (NVIC_INIT_ITNS2) && (NVIC_INIT_ITNS2 == 1U) - NVIC->ITNS[2] = NVIC_INIT_ITNS2_VAL; - #endif - - #if defined (NVIC_INIT_ITNS3) && (NVIC_INIT_ITNS3 == 1U) - NVIC->ITNS[3] = NVIC_INIT_ITNS3_VAL; - #endif - - #if defined (NVIC_INIT_ITNS4) && (NVIC_INIT_ITNS4 == 1U) - NVIC->ITNS[4] = NVIC_INIT_ITNS4_VAL; - #endif - - #if defined (NVIC_INIT_ITNS5) && (NVIC_INIT_ITNS5 == 1U) - NVIC->ITNS[5] = NVIC_INIT_ITNS5_VAL; - #endif - - #if defined (NVIC_INIT_ITNS6) && (NVIC_INIT_ITNS6 == 1U) - NVIC->ITNS[6] = NVIC_INIT_ITNS6_VAL; - #endif - - #if defined (NVIC_INIT_ITNS7) && (NVIC_INIT_ITNS7 == 1U) - NVIC->ITNS[7] = NVIC_INIT_ITNS7_VAL; - #endif - - #if defined (NVIC_INIT_ITNS8) && (NVIC_INIT_ITNS8 == 1U) - NVIC->ITNS[8] = NVIC_INIT_ITNS8_VAL; - #endif - - #if defined (NVIC_INIT_ITNS9) && (NVIC_INIT_ITNS9 == 1U) - NVIC->ITNS[9] = NVIC_INIT_ITNS9_VAL; - #endif - - #if defined (NVIC_INIT_ITNS10) && (NVIC_INIT_ITNS10 == 1U) - NVIC->ITNS[10] = NVIC_INIT_ITNS10_VAL; - #endif - - #if defined (NVIC_INIT_ITNS11) && (NVIC_INIT_ITNS11 == 1U) - NVIC->ITNS[11] = NVIC_INIT_ITNS11_VAL; - #endif - - #if defined (NVIC_INIT_ITNS12) && (NVIC_INIT_ITNS12 == 1U) - NVIC->ITNS[12] = NVIC_INIT_ITNS12_VAL; - #endif - - #if defined (NVIC_INIT_ITNS13) && (NVIC_INIT_ITNS13 == 1U) - NVIC->ITNS[13] = NVIC_INIT_ITNS13_VAL; - #endif - - #if defined (NVIC_INIT_ITNS14) && (NVIC_INIT_ITNS14 == 1U) - NVIC->ITNS[14] = NVIC_INIT_ITNS14_VAL; - #endif - - #if defined (NVIC_INIT_ITNS15) && (NVIC_INIT_ITNS15 == 1U) - NVIC->ITNS[15] = NVIC_INIT_ITNS15_VAL; - #endif - - /* repeat this for all possible ITNS elements */ - -} - -#endif /* PARTITION_ARMCM55_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCM55/Include/system_ARMCM55.h b/external/CMSIS_5/Device/ARM/ARMCM55/Include/system_ARMCM55.h deleted file mode 100644 index 1fa72f0..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM55/Include/system_ARMCM55.h +++ /dev/null @@ -1,64 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM55.h - * @brief CMSIS Device System Header File for - * ARMCM55 Device - * @version V1.0.1 - * @date 11. July 2022 - ******************************************************************************/ -/* - * Copyright (c) 2020-2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef SYSTEM_ARMCM55_H -#define SYSTEM_ARMCM55_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -/** - \brief Exception / Interrupt Handler Function Prototype -*/ -typedef void(*VECTOR_TABLE_Type)(void); - -/** - \brief System Clock Frequency (Core Clock) -*/ -extern uint32_t SystemCoreClock; - -/** - \brief Setup the microcontroller system. - - Initialize the System and update the SystemCoreClock variable. - */ -extern void SystemInit (void); - - -/** - \brief Update SystemCoreClock variable. - - Updates the SystemCoreClock with current core Clock retrieved from cpu registers. - */ -extern void SystemCoreClockUpdate (void); - -#ifdef __cplusplus -} -#endif - -#endif /* SYSTEM_ARMCM55_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCM55/Source/ARM/ARMCM55_ac6.sct b/external/CMSIS_5/Device/ARM/ARMCM55/Source/ARM/ARMCM55_ac6.sct deleted file mode 100644 index 6f84bd3..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM55/Source/ARM/ARMCM55_ac6.sct +++ /dev/null @@ -1,123 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m55 -xc -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m55 -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_SIZE 0x200 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE (__RAM_SIZE - __STACK_SIZE - __HEAP_SIZE - __STACKSEAL_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/Device/ARM/ARMCM55/Source/ARM/ARMCM55_ac6_s.sct b/external/CMSIS_5/Device/ARM/ARMCM55/Source/ARM/ARMCM55_ac6_s.sct deleted file mode 100644 index 2a3b3f5..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM55/Source/ARM/ARMCM55_ac6_s.sct +++ /dev/null @@ -1,123 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m55 -xc -mcmse -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m55 -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_SIZE 0x200 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE (__RAM_SIZE - __STACK_SIZE - __HEAP_SIZE - __STACKSEAL_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/Device/ARM/ARMCM55/Source/GCC/gcc_arm.ld b/external/CMSIS_5/Device/ARM/ARMCM55/Source/GCC/gcc_arm.ld deleted file mode 100644 index c8f0efe..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM55/Source/GCC/gcc_arm.ld +++ /dev/null @@ -1,316 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.2.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00040000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00020000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -/* ARMv8-M stack sealing: - to use ARMv8-M stack sealing set __STACKSEAL_SIZE to 8 otherwise keep 0 - */ -__STACKSEAL_SIZE = 0; - - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - * __StackSeal (only if ARMv8-M stack sealing is used) - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ -/* - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH -*/ - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* ARMv8-M stack sealing: - to use ARMv8-M stack sealing uncomment '.stackseal' section - */ -/* - .stackseal (ORIGIN(RAM) + LENGTH(RAM) - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackSeal = .; - . = . + 8; - . = ALIGN(8); - } > RAM -*/ - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/Device/ARM/ARMCM55/Source/startup_ARMCM55.c b/external/CMSIS_5/Device/ARM/ARMCM55/Source/startup_ARMCM55.c deleted file mode 100644 index 0557c5f..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM55/Source/startup_ARMCM55.c +++ /dev/null @@ -1,164 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM55.c - * @brief CMSIS-Core Device Startup File for Cortex-M55 Device - * @version V1.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM55) - #include "ARMCM55.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SecureFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - SecureFault_Handler, /* -9 Secure Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 480 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/Device/ARM/ARMCM55/Source/system_ARMCM55.c b/external/CMSIS_5/Device/ARM/ARMCM55/Source/system_ARMCM55.c deleted file mode 100644 index d66624d..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM55/Source/system_ARMCM55.c +++ /dev/null @@ -1,107 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM55.c - * @brief CMSIS Device System Source File for - * ARMCM55 Device - * @version V1.1.0 - * @date 28. March 2022 - ******************************************************************************/ -/* - * Copyright (c) 2009-2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM55) - #include "ARMCM55.h" -#else - #error device not specified! -#endif - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM55.h" - #endif - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL ( 5000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (5U * XTAL) - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t)(&__VECTOR_TABLE[0]); -#endif - -#if (defined (__FPU_USED) && (__FPU_USED == 1U)) || \ - (defined (__ARM_FEATURE_MVE) && (__ARM_FEATURE_MVE > 0U)) - SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ - (3U << 11U*2U) ); /* enable CP11 Full Access */ - - /* Set low-power state for PDEPU */ - /* 0b00 | ON, PDEPU is not in low-power state */ - /* 0b01 | ON, but the clock is off */ - /* 0b10 | RET(ention) */ - /* 0b11 | OFF */ - - /* Clear ELPSTATE, value is 0b11 on Cold reset */ - PWRMODCTL->CPDLPSTATE &= ~(PWRMODCTL_CPDLPSTATE_ELPSTATE_Msk); - - /* Favor best FP/MVE performance by default, avoid EPU switch-ON delays */ - /* PDEPU ON, Clock OFF */ - PWRMODCTL->CPDLPSTATE |= 0x1 << PWRMODCTL_CPDLPSTATE_ELPSTATE_Pos; -#endif - -#ifdef UNALIGNED_SUPPORT_DISABLE - SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; -#endif - - /* Enable Loop and branch info cache */ - SCB->CCR |= SCB_CCR_LOB_Msk; - __DSB(); - __ISB(); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - TZ_SAU_Setup(); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/Device/ARM/ARMCM7/Include/ARMCM7.h b/external/CMSIS_5/Device/ARM/ARMCM7/Include/ARMCM7.h deleted file mode 100644 index 5514ceb..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM7/Include/ARMCM7.h +++ /dev/null @@ -1,133 +0,0 @@ -/**************************************************************************//** - * @file ARMCM7.h - * @brief CMSIS Core Peripheral Access Layer Header File for - * ARMCM7 Device (configured for CM7 without FPU) - * @version V5.3.3 - * @date 01. May 2023 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ARMCM7_H -#define ARMCM7_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* ------------------------- Interrupt Number Definition ------------------------ */ - -typedef enum IRQn -{ -/* ------------------- Processor Exceptions Numbers ----------------------------- */ - NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /* 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /* 4 Memory Management Interrupt */ - BusFault_IRQn = -11, /* 5 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /* 6 Usage Fault Interrupt */ - SVCall_IRQn = -5, /* 11 SVC Interrupt */ - DebugMonitor_IRQn = -4, /* 12 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /* 14 Pend SV Interrupt */ - SysTick_IRQn = -1, /* 15 System Tick Interrupt */ - -/* ------------------- Processor Interrupt Numbers ------------------------------ */ - Interrupt0_IRQn = 0, - Interrupt1_IRQn = 1, - Interrupt2_IRQn = 2, - Interrupt3_IRQn = 3, - Interrupt4_IRQn = 4, - Interrupt5_IRQn = 5, - Interrupt6_IRQn = 6, - Interrupt7_IRQn = 7, - Interrupt8_IRQn = 8, - Interrupt9_IRQn = 9, - /* Interrupts 10 .. 223 are left out */ - Interrupt224_IRQn = 224 -} IRQn_Type; - - -/* ================================================================================ */ -/* ================ Processor and Core Peripheral Section ================ */ -/* ================================================================================ */ - -/* ------- Start of section using anonymous unions and disabling warnings ------- */ -#if defined (__CC_ARM) - #pragma push - #pragma anon_unions -#elif defined (__ICCARM__) - #pragma language=extended -#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wc11-extensions" - #pragma clang diagnostic ignored "-Wreserved-id-macro" -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning 586 -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -/* -------- Configuration of Core Peripherals ----------------------------------- */ -#define __CM7_REV 0x0000U /* Core revision r0p0 */ -#define __MPU_PRESENT 1U /* MPU present */ -#define __VTOR_PRESENT 1U /* VTOR present */ -#define __NVIC_PRIO_BITS 3U /* Number of Bits used for Priority Levels */ -#define __Vendor_SysTickConfig 0U /* Set to 1 if different SysTick Config is used */ -#define __FPU_PRESENT 0U /* no FPU present */ -#define __FPU_DP 0U /* unused */ -#define __ICACHE_PRESENT 1U /* Instruction Cache present */ -#define __DCACHE_PRESENT 1U /* Data Cache present */ -#define __DTCM_PRESENT 1U /* Data Tightly Coupled Memory present */ - -#include "core_cm7.h" /* Processor and core peripherals */ -#include "system_ARMCM7.h" /* System Header */ - - - -/* -------- End of section using anonymous unions and disabling warnings -------- */ -#if defined (__CC_ARM) - #pragma pop -#elif defined (__ICCARM__) - /* leave anonymous unions enabled */ -#elif (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) - #pragma clang diagnostic pop -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning restore -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* ARMCM7_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCM7/Include/ARMCM7_DP.h b/external/CMSIS_5/Device/ARM/ARMCM7/Include/ARMCM7_DP.h deleted file mode 100644 index a67f1d3..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM7/Include/ARMCM7_DP.h +++ /dev/null @@ -1,133 +0,0 @@ -/**************************************************************************//** - * @file ARMCM7_DP.h - * @brief CMSIS Core Peripheral Access Layer Header File for - * ARMCM7 Device (configured for CM7 with double precision FPU) - * @version V5.3.3 - * @date 01. May 2023 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ARMCM7_DP_H -#define ARMCM7_DP_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* ------------------------- Interrupt Number Definition ------------------------ */ - -typedef enum IRQn -{ -/* ------------------- Processor Exceptions Numbers ----------------------------- */ - NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /* 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /* 4 Memory Management Interrupt */ - BusFault_IRQn = -11, /* 5 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /* 6 Usage Fault Interrupt */ - SVCall_IRQn = -5, /* 11 SVC Interrupt */ - DebugMonitor_IRQn = -4, /* 12 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /* 14 Pend SV Interrupt */ - SysTick_IRQn = -1, /* 15 System Tick Interrupt */ - -/* ------------------- Processor Interrupt Numbers ------------------------------ */ - Interrupt0_IRQn = 0, - Interrupt1_IRQn = 1, - Interrupt2_IRQn = 2, - Interrupt3_IRQn = 3, - Interrupt4_IRQn = 4, - Interrupt5_IRQn = 5, - Interrupt6_IRQn = 6, - Interrupt7_IRQn = 7, - Interrupt8_IRQn = 8, - Interrupt9_IRQn = 9, - /* Interrupts 10 .. 223 are left out */ - Interrupt224_IRQn = 224 -} IRQn_Type; - - -/* ================================================================================ */ -/* ================ Processor and Core Peripheral Section ================ */ -/* ================================================================================ */ - -/* ------- Start of section using anonymous unions and disabling warnings ------- */ -#if defined (__CC_ARM) - #pragma push - #pragma anon_unions -#elif defined (__ICCARM__) - #pragma language=extended -#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wc11-extensions" - #pragma clang diagnostic ignored "-Wreserved-id-macro" -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning 586 -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -/* -------- Configuration of Core Peripherals ----------------------------------- */ -#define __CM7_REV 0x0000U /* Core revision r0p0 */ -#define __MPU_PRESENT 1U /* MPU present */ -#define __VTOR_PRESENT 1U /* VTOR present */ -#define __NVIC_PRIO_BITS 3U /* Number of Bits used for Priority Levels */ -#define __Vendor_SysTickConfig 0U /* Set to 1 if different SysTick Config is used */ -#define __FPU_PRESENT 1U /* FPU present */ -#define __FPU_DP 1U /* double precision FPU */ -#define __ICACHE_PRESENT 1U /* Instruction Cache present */ -#define __DCACHE_PRESENT 1U /* Data Cache present */ -#define __DTCM_PRESENT 1U /* Data Tightly Coupled Memory present */ - -#include "core_cm7.h" /* Processor and core peripherals */ -#include "system_ARMCM7.h" /* System Header */ - - - -/* -------- End of section using anonymous unions and disabling warnings -------- */ -#if defined (__CC_ARM) - #pragma pop -#elif defined (__ICCARM__) - /* leave anonymous unions enabled */ -#elif (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) - #pragma clang diagnostic pop -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning restore -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* ARMCM7_DP_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCM7/Include/ARMCM7_SP.h b/external/CMSIS_5/Device/ARM/ARMCM7/Include/ARMCM7_SP.h deleted file mode 100644 index 773b797..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM7/Include/ARMCM7_SP.h +++ /dev/null @@ -1,133 +0,0 @@ -/**************************************************************************//** - * @file ARMCM7_SP.h - * @brief CMSIS Core Peripheral Access Layer Header File for - * ARMCM7 Device (configured for CM7 with single precision FPU) - * @version V5.3.3 - * @date 01. May 2023 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ARMCM7_SP_H -#define ARMCM7_SP_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* ------------------------- Interrupt Number Definition ------------------------ */ - -typedef enum IRQn -{ -/* ------------------- Processor Exceptions Numbers ----------------------------- */ - NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /* 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /* 4 Memory Management Interrupt */ - BusFault_IRQn = -11, /* 5 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /* 6 Usage Fault Interrupt */ - SVCall_IRQn = -5, /* 11 SVC Interrupt */ - DebugMonitor_IRQn = -4, /* 12 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /* 14 Pend SV Interrupt */ - SysTick_IRQn = -1, /* 15 System Tick Interrupt */ - -/* ------------------- Processor Interrupt Numbers ------------------------------ */ - Interrupt0_IRQn = 0, - Interrupt1_IRQn = 1, - Interrupt2_IRQn = 2, - Interrupt3_IRQn = 3, - Interrupt4_IRQn = 4, - Interrupt5_IRQn = 5, - Interrupt6_IRQn = 6, - Interrupt7_IRQn = 7, - Interrupt8_IRQn = 8, - Interrupt9_IRQn = 9, - /* Interrupts 10 .. 223 are left out */ - Interrupt224_IRQn = 224 -} IRQn_Type; - - -/* ================================================================================ */ -/* ================ Processor and Core Peripheral Section ================ */ -/* ================================================================================ */ - -/* ------- Start of section using anonymous unions and disabling warnings ------- */ -#if defined (__CC_ARM) - #pragma push - #pragma anon_unions -#elif defined (__ICCARM__) - #pragma language=extended -#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wc11-extensions" - #pragma clang diagnostic ignored "-Wreserved-id-macro" -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning 586 -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -/* -------- Configuration of Core Peripherals ----------------------------------- */ -#define __CM7_REV 0x0000U /* Core revision r0p0 */ -#define __MPU_PRESENT 1U /* MPU present */ -#define __VTOR_PRESENT 1U /* VTOR present */ -#define __NVIC_PRIO_BITS 3U /* Number of Bits used for Priority Levels */ -#define __Vendor_SysTickConfig 0U /* Set to 1 if different SysTick Config is used */ -#define __FPU_PRESENT 1U /* FPU present */ -#define __FPU_DP 0U /* single precision FPU */ -#define __ICACHE_PRESENT 1U /* Instruction Cache present */ -#define __DCACHE_PRESENT 1U /* Data Cache present */ -#define __DTCM_PRESENT 1U /* Data Tightly Coupled Memory present */ - -#include "core_cm7.h" /* Processor and core peripherals */ -#include "system_ARMCM7.h" /* System Header */ - - - -/* -------- End of section using anonymous unions and disabling warnings -------- */ -#if defined (__CC_ARM) - #pragma pop -#elif defined (__ICCARM__) - /* leave anonymous unions enabled */ -#elif (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) - #pragma clang diagnostic pop -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning restore -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* ARMCM7_SP_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCM7/Include/system_ARMCM7.h b/external/CMSIS_5/Device/ARM/ARMCM7/Include/system_ARMCM7.h deleted file mode 100644 index 6a0098f..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM7/Include/system_ARMCM7.h +++ /dev/null @@ -1,64 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM7.h - * @brief CMSIS Device System Header File for - * ARMCM7 Device - * @version V5.3.3 - * @date 11. July 2022 - ******************************************************************************/ -/* - * Copyright (c) 2009-2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef SYSTEM_ARMCM7_H -#define SYSTEM_ARMCM7_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -/** - \brief Exception / Interrupt Handler Function Prototype -*/ -typedef void(*VECTOR_TABLE_Type)(void); - -/** - \brief System Clock Frequency (Core Clock) -*/ -extern uint32_t SystemCoreClock; - -/** - \brief Setup the microcontroller system. - - Initialize the System and update the SystemCoreClock variable. - */ -extern void SystemInit (void); - - -/** - \brief Update SystemCoreClock variable. - - Updates the SystemCoreClock with current core Clock retrieved from cpu registers. - */ -extern void SystemCoreClockUpdate (void); - -#ifdef __cplusplus -} -#endif - -#endif /* SYSTEM_ARMCM7_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCM7/Source/ARM/ARMCM7_ac5.sct b/external/CMSIS_5/Device/ARM/ARMCM7/Source/ARM/ARMCM7_ac5.sct deleted file mode 100644 index e3b09b5..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM7/Source/ARM/ARMCM7_ac5.sct +++ /dev/null @@ -1,80 +0,0 @@ -#! armcc -E -; command above MUST be in first line (no comment above!) - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE) /* starts at end of RAM */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - - -/*---------------------------------------------------------------------------- - Scatter File Definitions definition - *----------------------------------------------------------------------------*/ -#define __RO_BASE __ROM_BASE -#define __RO_SIZE __ROM_SIZE - -#define __RW_BASE __RAM_BASE -#define __RW_SIZE (__RAM_SIZE - __STACK_SIZE - __HEAP_SIZE) - - -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } -} diff --git a/external/CMSIS_5/Device/ARM/ARMCM7/Source/ARM/ARMCM7_ac6.sct b/external/CMSIS_5/Device/ARM/ARMCM7/Source/ARM/ARMCM7_ac6.sct deleted file mode 100644 index 3cba29e..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM7/Source/ARM/ARMCM7_ac6.sct +++ /dev/null @@ -1,80 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m7 -xc -; command above MUST be in first line (no comment above!) - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE) /* starts at end of RAM */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - - -/*---------------------------------------------------------------------------- - Scatter File Definitions definition - *----------------------------------------------------------------------------*/ -#define __RO_BASE __ROM_BASE -#define __RO_SIZE __ROM_SIZE - -#define __RW_BASE __RAM_BASE -#define __RW_SIZE (__RAM_SIZE - __STACK_SIZE - __HEAP_SIZE) - - -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } -} diff --git a/external/CMSIS_5/Device/ARM/ARMCM7/Source/ARM/startup_ARMCM7.s b/external/CMSIS_5/Device/ARM/ARMCM7/Source/ARM/startup_ARMCM7.s deleted file mode 100644 index 1eeea61..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM7/Source/ARM/startup_ARMCM7.s +++ /dev/null @@ -1,172 +0,0 @@ -;/**************************************************************************//** -; * @file startup_ARMCM7.s -; * @brief CMSIS Core Device Startup File for -; * ARMCM7 Device -; * @version V1.0.1 -; * @date 23. July 2019 -; ******************************************************************************/ -;/* -; * Copyright (c) 2009-2019 Arm Limited. All rights reserved. -; * -; * SPDX-License-Identifier: Apache-2.0 -; * -; * Licensed under the Apache License, Version 2.0 (the License); you may -; * not use this file except in compliance with the License. -; * You may obtain a copy of the License at -; * -; * www.apache.org/licenses/LICENSE-2.0 -; * -; * Unless required by applicable law or agreed to in writing, software -; * distributed under the License is distributed on an AS IS BASIS, WITHOUT -; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; * See the License for the specific language governing permissions and -; * limitations under the License. -; */ - -;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ - - -; Stack Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Stack_Size EQU 0x00000400 - - AREA STACK, NOINIT, READWRITE, ALIGN=3 -__stack_limit -Stack_Mem SPACE Stack_Size -__initial_sp - - -; Heap Configuration -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Heap_Size EQU 0x00000C00 - - IF Heap_Size != 0 ; Heap is provided - AREA HEAP, NOINIT, READWRITE, ALIGN=3 -__heap_base -Heap_Mem SPACE Heap_Size -__heap_limit - ENDIF - - - PRESERVE8 - THUMB - - -; Vector Table Mapped to Address 0 at Reset - - AREA RESET, DATA, READONLY - EXPORT __Vectors - EXPORT __Vectors_End - EXPORT __Vectors_Size - -__Vectors DCD __initial_sp ; Top of Stack - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; -14 NMI Handler - DCD HardFault_Handler ; -13 Hard Fault Handler - DCD MemManage_Handler ; -12 MPU Fault Handler - DCD BusFault_Handler ; -11 Bus Fault Handler - DCD UsageFault_Handler ; -10 Usage Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; -5 SVC Handler - DCD DebugMon_Handler ; -4 Debug Monitor Handler - DCD 0 ; Reserved - DCD PendSV_Handler ; -2 PendSV Handler - DCD SysTick_Handler ; -1 SysTick Handler - - ; Interrupts - DCD Interrupt0_Handler ; 0 Interrupt 0 - DCD Interrupt1_Handler ; 1 Interrupt 1 - DCD Interrupt2_Handler ; 2 Interrupt 2 - DCD Interrupt3_Handler ; 3 Interrupt 3 - DCD Interrupt4_Handler ; 4 Interrupt 4 - DCD Interrupt5_Handler ; 5 Interrupt 5 - DCD Interrupt6_Handler ; 6 Interrupt 6 - DCD Interrupt7_Handler ; 7 Interrupt 7 - DCD Interrupt8_Handler ; 8 Interrupt 8 - DCD Interrupt9_Handler ; 9 Interrupt 9 - - SPACE (214 * 4) ; Interrupts 10 .. 224 are left out -__Vectors_End -__Vectors_Size EQU __Vectors_End - __Vectors - - - AREA |.text|, CODE, READONLY - -; Reset Handler - -Reset_Handler PROC - EXPORT Reset_Handler [WEAK] - IMPORT SystemInit - IMPORT __main - - LDR R0, =SystemInit - BLX R0 - LDR R0, =__main - BX R0 - ENDP - -; The default macro is not used for HardFault_Handler -; because this results in a poor debug illusion. -HardFault_Handler PROC - EXPORT HardFault_Handler [WEAK] - B . - ENDP - -; Macro to define default exception/interrupt handlers. -; Default handler are weak symbols with an endless loop. -; They can be overwritten by real handlers. - MACRO - Set_Default_Handler $Handler_Name -$Handler_Name PROC - EXPORT $Handler_Name [WEAK] - B . - ENDP - MEND - - -; Default exception/interrupt handler - - Set_Default_Handler NMI_Handler - Set_Default_Handler MemManage_Handler - Set_Default_Handler BusFault_Handler - Set_Default_Handler UsageFault_Handler - Set_Default_Handler SVC_Handler - Set_Default_Handler DebugMon_Handler - Set_Default_Handler PendSV_Handler - Set_Default_Handler SysTick_Handler - - Set_Default_Handler Interrupt0_Handler - Set_Default_Handler Interrupt1_Handler - Set_Default_Handler Interrupt2_Handler - Set_Default_Handler Interrupt3_Handler - Set_Default_Handler Interrupt4_Handler - Set_Default_Handler Interrupt5_Handler - Set_Default_Handler Interrupt6_Handler - Set_Default_Handler Interrupt7_Handler - Set_Default_Handler Interrupt8_Handler - Set_Default_Handler Interrupt9_Handler - - ALIGN - - -; User setup Stack & Heap - - IF :LNOT::DEF:__MICROLIB - IMPORT __use_two_region_memory - ENDIF - - EXPORT __stack_limit - EXPORT __initial_sp - IF Heap_Size != 0 ; Heap is provided - EXPORT __heap_base - EXPORT __heap_limit - ENDIF - - END diff --git a/external/CMSIS_5/Device/ARM/ARMCM7/Source/GCC/gcc_arm.ld b/external/CMSIS_5/Device/ARM/ARMCM7/Source/GCC/gcc_arm.ld deleted file mode 100644 index 7498908..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM7/Source/GCC/gcc_arm.ld +++ /dev/null @@ -1,296 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.1.0 - * @date 04. August 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00040000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00020000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ -/* - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH -*/ - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/Device/ARM/ARMCM7/Source/GCC/startup_ARMCM7.S b/external/CMSIS_5/Device/ARM/ARMCM7/Source/GCC/startup_ARMCM7.S deleted file mode 100644 index 7af6a20..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM7/Source/GCC/startup_ARMCM7.S +++ /dev/null @@ -1,182 +0,0 @@ -/**************************************************************************//** - * @file startup_ARMCM7.S - * @brief CMSIS-Core(M) Device Startup File for Cortex-M7 Device - * @version V2.2.0 - * @date 26. May 2021 - ******************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - .syntax unified - .arch armv7e-m - - .section .vectors - .align 2 - .globl __Vectors - .globl __Vectors_End - .globl __Vectors_Size -__Vectors: - .long __StackTop /* Top of Stack */ - .long Reset_Handler /* Reset Handler */ - .long NMI_Handler /* -14 NMI Handler */ - .long HardFault_Handler /* -13 Hard Fault Handler */ - .long MemManage_Handler /* -12 MPU Fault Handler */ - .long BusFault_Handler /* -11 Bus Fault Handler */ - .long UsageFault_Handler /* -10 Usage Fault Handler */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long SVC_Handler /* -5 SVC Handler */ - .long DebugMon_Handler /* -4 Debug Monitor Handler */ - .long 0 /* Reserved */ - .long PendSV_Handler /* -2 PendSV Handler */ - .long SysTick_Handler /* -1 SysTick Handler */ - - /* Interrupts */ - .long Interrupt0_Handler /* 0 Interrupt 0 */ - .long Interrupt1_Handler /* 1 Interrupt 1 */ - .long Interrupt2_Handler /* 2 Interrupt 2 */ - .long Interrupt3_Handler /* 3 Interrupt 3 */ - .long Interrupt4_Handler /* 4 Interrupt 4 */ - .long Interrupt5_Handler /* 5 Interrupt 5 */ - .long Interrupt6_Handler /* 6 Interrupt 6 */ - .long Interrupt7_Handler /* 7 Interrupt 7 */ - .long Interrupt8_Handler /* 8 Interrupt 8 */ - .long Interrupt9_Handler /* 9 Interrupt 9 */ - - .space (214 * 4) /* Interrupts 10 .. 224 are left out */ -__Vectors_End: - .equ __Vectors_Size, __Vectors_End - __Vectors - .size __Vectors, . - __Vectors - - - .thumb - .section .text - .align 2 - - .thumb_func - .type Reset_Handler, %function - .globl Reset_Handler - .fnstart -Reset_Handler: - bl SystemInit - - ldr r4, =__copy_table_start__ - ldr r5, =__copy_table_end__ - -.L_loop0: - cmp r4, r5 - bge .L_loop0_done - ldr r1, [r4] /* source address */ - ldr r2, [r4, #4] /* destination address */ - ldr r3, [r4, #8] /* word count */ - lsls r3, r3, #2 /* byte count */ - -.L_loop0_0: - subs r3, #4 /* decrement byte count */ - ittt ge - ldrge r0, [r1, r3] - strge r0, [r2, r3] - bge .L_loop0_0 - - adds r4, #12 - b .L_loop0 -.L_loop0_done: - - ldr r3, =__zero_table_start__ - ldr r4, =__zero_table_end__ - -.L_loop2: - cmp r3, r4 - bge .L_loop2_done - ldr r1, [r3] /* destination address */ - ldr r2, [r3, #4] /* word count */ - lsls r2, r2, #2 /* byte count */ - movs r0, 0 - -.L_loop2_0: - subs r2, #4 /* decrement byte count */ - itt ge - strge r0, [r1, r2] - bge .L_loop2_0 - - adds r3, #8 - b .L_loop2 -.L_loop2_done: - - bl _start - - .fnend - .size Reset_Handler, . - Reset_Handler - -/* The default macro is not used for HardFault_Handler - * because this results in a poor debug illusion. - */ - .thumb_func - .type HardFault_Handler, %function - .weak HardFault_Handler - .fnstart -HardFault_Handler: - b . - .fnend - .size HardFault_Handler, . - HardFault_Handler - - .thumb_func - .type Default_Handler, %function - .weak Default_Handler - .fnstart -Default_Handler: - b . - .fnend - .size Default_Handler, . - Default_Handler - -/* Macro to define default exception/interrupt handlers. - * Default handler are weak symbols with an endless loop. - * They can be overwritten by real handlers. - */ - .macro Set_Default_Handler Handler_Name - .weak \Handler_Name - .set \Handler_Name, Default_Handler - .endm - - -/* Default exception/interrupt handler */ - - Set_Default_Handler NMI_Handler - Set_Default_Handler MemManage_Handler - Set_Default_Handler BusFault_Handler - Set_Default_Handler UsageFault_Handler - Set_Default_Handler SVC_Handler - Set_Default_Handler DebugMon_Handler - Set_Default_Handler PendSV_Handler - Set_Default_Handler SysTick_Handler - - Set_Default_Handler Interrupt0_Handler - Set_Default_Handler Interrupt1_Handler - Set_Default_Handler Interrupt2_Handler - Set_Default_Handler Interrupt3_Handler - Set_Default_Handler Interrupt4_Handler - Set_Default_Handler Interrupt5_Handler - Set_Default_Handler Interrupt6_Handler - Set_Default_Handler Interrupt7_Handler - Set_Default_Handler Interrupt8_Handler - Set_Default_Handler Interrupt9_Handler - - - .end diff --git a/external/CMSIS_5/Device/ARM/ARMCM7/Source/IAR/startup_ARMCM7.s b/external/CMSIS_5/Device/ARM/ARMCM7/Source/IAR/startup_ARMCM7.s deleted file mode 100644 index e254520..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM7/Source/IAR/startup_ARMCM7.s +++ /dev/null @@ -1,155 +0,0 @@ -;/**************************************************************************//** -; * @file startup_ARMCM7.s -; * @brief CMSIS Core Device Startup File for -; * ARMCM7 Device -; * @version V1.0.0 -; * @date 09. July 2018 -; ******************************************************************************/ -;/* -; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. -; * -; * SPDX-License-Identifier: Apache-2.0 -; * -; * Licensed under the Apache License, Version 2.0 (the License); you may -; * not use this file except in compliance with the License. -; * You may obtain a copy of the License at -; * -; * www.apache.org/licenses/LICENSE-2.0 -; * -; * Unless required by applicable law or agreed to in writing, software -; * distributed under the License is distributed on an AS IS BASIS, WITHOUT -; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; * See the License for the specific language governing permissions and -; * limitations under the License. -; */ - -; -; The modules in this file are included in the libraries, and may be replaced -; by any user-defined modules that define the PUBLIC symbol _program_start or -; a user defined start symbol. -; To override the cstartup defined in the library, simply add your modified -; version to the workbench project. -; -; The vector table is normally located at address 0. -; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. -; The name "__vector_table" has special meaning for C-SPY: -; it is where the SP start value is found, and the NVIC vector -; table register (VTOR) is initialized to this address if != 0. -; -; Cortex-M version -; - - MODULE ?cstartup - - ;; Forward declaration of sections. - SECTION CSTACK:DATA:NOROOT(3) - - SECTION .intvec:CODE:NOROOT(2) - - EXTERN __iar_program_start - EXTERN SystemInit - PUBLIC __vector_table - PUBLIC __vector_table_0x1c - PUBLIC __Vectors - PUBLIC __Vectors_End - PUBLIC __Vectors_Size - - DATA - -__vector_table - DCD sfe(CSTACK) ; Top of Stack - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; -14 NMI Handler - DCD HardFault_Handler ; -13 Hard Fault Handler - DCD MemManage_Handler ; -12 MPU Fault Handler - DCD BusFault_Handler ; -11 Bus Fault Handler - DCD UsageFault_Handler ; -10 Usage Fault Handler -__vector_table_0x1c - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; -5 SVC Handler - DCD DebugMon_Handler ; -4 Debug Monitor Handler - DCD 0 ; Reserved - DCD PendSV_Handler ; -2 PendSV Handler - DCD SysTick_Handler ; -1 SysTick Handler - - ; Interrupts - DCD Interrupt0_Handler ; 0 Interrupt 0 - DCD Interrupt1_Handler ; 1 Interrupt 1 - DCD Interrupt2_Handler ; 2 Interrupt 2 - DCD Interrupt3_Handler ; 3 Interrupt 3 - DCD Interrupt4_Handler ; 4 Interrupt 4 - DCD Interrupt5_Handler ; 5 Interrupt 5 - DCD Interrupt6_Handler ; 6 Interrupt 6 - DCD Interrupt7_Handler ; 7 Interrupt 7 - DCD Interrupt8_Handler ; 8 Interrupt 8 - DCD Interrupt9_Handler ; 9 Interrupt 9 - - DS32 (214) ; Interrupts 10 .. 224 are left out -__Vectors_End - -__Vectors EQU __vector_table -__Vectors_Size EQU __Vectors_End - __Vectors - - - THUMB - -; Reset Handler - - PUBWEAK Reset_Handler - SECTION .text:CODE:REORDER:NOROOT(2) -Reset_Handler - LDR R0, =SystemInit - BLX R0 - LDR R0, =__iar_program_start - BX R0 - - - PUBWEAK NMI_Handler - PUBWEAK HardFault_Handler - PUBWEAK MemManage_Handler - PUBWEAK BusFault_Handler - PUBWEAK UsageFault_Handler - PUBWEAK SVC_Handler - PUBWEAK DebugMon_Handler - PUBWEAK PendSV_Handler - PUBWEAK SysTick_Handler - - PUBWEAK Interrupt0_Handler - PUBWEAK Interrupt1_Handler - PUBWEAK Interrupt2_Handler - PUBWEAK Interrupt3_Handler - PUBWEAK Interrupt4_Handler - PUBWEAK Interrupt5_Handler - PUBWEAK Interrupt6_Handler - PUBWEAK Interrupt7_Handler - PUBWEAK Interrupt8_Handler - PUBWEAK Interrupt9_Handler - SECTION .text:CODE:REORDER:NOROOT(1) -NMI_Handler -HardFault_Handler -MemManage_Handler -BusFault_Handler -UsageFault_Handler -SVC_Handler -DebugMon_Handler -PendSV_Handler -SysTick_Handler - -Interrupt0_Handler -Interrupt1_Handler -Interrupt2_Handler -Interrupt3_Handler -Interrupt4_Handler -Interrupt5_Handler -Interrupt6_Handler -Interrupt7_Handler -Interrupt8_Handler -Interrupt9_Handler -Default_Handler - B . - - - END diff --git a/external/CMSIS_5/Device/ARM/ARMCM7/Source/startup_ARMCM7.c b/external/CMSIS_5/Device/ARM/ARMCM7/Source/startup_ARMCM7.c deleted file mode 100644 index 509cd33..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM7/Source/startup_ARMCM7.c +++ /dev/null @@ -1,154 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM7.c - * @brief CMSIS-Core(M) Device Startup File for a Cortex-M7 Device - * @version V2.0.3 - * @date 31. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM7) - #include "ARMCM7.h" -#elif defined (ARMCM7_SP) - #include "ARMCM7_SP.h" -#elif defined (ARMCM7_DP) - #include "ARMCM7_DP.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 223 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/Device/ARM/ARMCM7/Source/system_ARMCM7.c b/external/CMSIS_5/Device/ARM/ARMCM7/Source/system_ARMCM7.c deleted file mode 100644 index 75f9c18..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM7/Source/system_ARMCM7.c +++ /dev/null @@ -1,83 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM7.c - * @brief CMSIS Device System Source File for - * ARMCM7 Device - * @version V1.0.1 - * @date 15. November 2019 - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM7) - #include "ARMCM7.h" -#elif defined (ARMCM7_SP) - #include "ARMCM7_SP.h" -#elif defined (ARMCM7_DP) - #include "ARMCM7_DP.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t) &(__VECTOR_TABLE[0]); -#endif - -#if defined (__FPU_USED) && (__FPU_USED == 1U) - SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ - (3U << 11U*2U) ); /* enable CP11 Full Access */ -#endif - -#ifdef UNALIGNED_SUPPORT_DISABLE - SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/Device/ARM/ARMCM85/Include/ARMCM85.h b/external/CMSIS_5/Device/ARM/ARMCM85/Include/ARMCM85.h deleted file mode 100644 index 03b1c75..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM85/Include/ARMCM85.h +++ /dev/null @@ -1,135 +0,0 @@ -/**************************************************************************//** - * @file ARMCM85.h - * @brief CMSIS Device Header File for ARMCM85 Device - * (double precision FPU, DSP extension, MVE, TrustZone) - * @version V1.0.2 - * @date 01. May 2023 - ******************************************************************************/ -/* - * Copyright (c) 2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ARMCM85_H -#define ARMCM85_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* ------------------------- Interrupt Number Definition ------------------------ */ - -typedef enum IRQn -{ -/* ------------------- Processor Exceptions Numbers ----------------------------- */ - NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /* 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /* 4 Memory Management Interrupt */ - BusFault_IRQn = -11, /* 5 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /* 6 Usage Fault Interrupt */ - SecureFault_IRQn = -9, /* 7 Secure Fault Interrupt */ - SVCall_IRQn = -5, /* 11 SVC Interrupt */ - DebugMonitor_IRQn = -4, /* 12 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /* 14 Pend SV Interrupt */ - SysTick_IRQn = -1, /* 15 System Tick Interrupt */ - -/* ------------------- Processor Interrupt Numbers ------------------------------ */ - Interrupt0_IRQn = 0, - Interrupt1_IRQn = 1, - Interrupt2_IRQn = 2, - Interrupt3_IRQn = 3, - Interrupt4_IRQn = 4, - Interrupt5_IRQn = 5, - Interrupt6_IRQn = 6, - Interrupt7_IRQn = 7, - Interrupt8_IRQn = 8, - Interrupt9_IRQn = 9, - /* Interrupts 10 .. 479 are left out */ - Interrupt480_IRQn = 480 -} IRQn_Type; - - -/* ================================================================================ */ -/* ================ Processor and Core Peripheral Section ================ */ -/* ================================================================================ */ - -/* ------- Start of section using anonymous unions and disabling warnings ------- */ -#if defined (__CC_ARM) - #pragma push - #pragma anon_unions -#elif defined (__ICCARM__) - #pragma language=extended -#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wc11-extensions" - #pragma clang diagnostic ignored "-Wreserved-id-macro" -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning 586 -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -/* -------- Configuration of Core Peripherals ----------------------------------- */ -#define __CM85_REV 0x0001U /* Core revision r0p1 */ -#define __NVIC_PRIO_BITS 3U /* Number of Bits used for Priority Levels */ -#define __Vendor_SysTickConfig 0U /* Set to 1 if different SysTick Config is used */ -#define __VTOR_PRESENT 1U /* VTOR present */ -#define __MPU_PRESENT 1U /* MPU present */ -#define __FPU_PRESENT 1U /* FPU present */ -#define __FPU_DP 1U /* double precision FPU */ -#define __DSP_PRESENT 1U /* DSP extension present */ -#define __SAUREGION_PRESENT 1U /* SAU regions present */ -#define __PMU_PRESENT 1U /* PMU present */ -#define __PMU_NUM_EVENTCNT 8U /* PMU Event Counters */ -#define __ICACHE_PRESENT 1U /* Instruction Cache present */ -#define __DCACHE_PRESENT 1U /* Data Cache present */ - -#include "core_cm85.h" /* Processor and core peripherals */ -#include "system_ARMCM85.h" /* System Header */ - -/* -------- End of section using anonymous unions and disabling warnings -------- */ -#if defined (__CC_ARM) - #pragma pop -#elif defined (__ICCARM__) - /* leave anonymous unions enabled */ -#elif (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) - #pragma clang diagnostic pop -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning restore -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* ARMCM85_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCM85/Include/Template/partition_ARMCM85.h b/external/CMSIS_5/Device/ARM/ARMCM85/Include/Template/partition_ARMCM85.h deleted file mode 100644 index a3d881a..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM85/Include/Template/partition_ARMCM85.h +++ /dev/null @@ -1,1301 +0,0 @@ -/**************************************************************************//** - * @file partition_ARMCM85.h - * @brief CMSIS-CORE Initial Setup for Secure / Non-Secure Zones for Armv8.1-M Mainline - * @version V1.0.0 - * @date 07. March 2022 - ******************************************************************************/ -/* - * Copyright (c) 2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef PARTITION_ARMCM85_H -#define PARTITION_ARMCM85_H - -/* -//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- -*/ - -/* -// Initialize Security Attribution Unit (SAU) CTRL register -*/ -#define SAU_INIT_CTRL 1 - -/* -// Enable SAU -// Value for SAU->CTRL register bit ENABLE -*/ -#define SAU_INIT_CTRL_ENABLE 1 - -/* -// When SAU is disabled -// <0=> All Memory is Secure -// <1=> All Memory is Non-Secure -// Value for SAU->CTRL register bit ALLNS -// When all Memory is Non-Secure (ALLNS is 1), IDAU can override memory map configuration. -*/ -#define SAU_INIT_CTRL_ALLNS 0 - -/* -// -*/ - -/* -// Initialize Security Attribution Unit (SAU) Address Regions -// SAU configuration specifies regions to be one of: -// - Secure and Non-Secure Callable -// - Non-Secure -// Note: All memory regions not configured by SAU are Secure -*/ -#define SAU_REGIONS_MAX 8 /* Max. number of SAU regions */ - -/* -// Initialize SAU Region 0 -// Setup SAU Region 0 memory attributes -*/ -#define SAU_INIT_REGION0 1 - -/* -// Description -*/ -#define SAU_INIT_DSCR0 "NSC code" /* description SAU region 0 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START0 0x00000000 /* start address of SAU region 0 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END0 0x001FFFFF /* end address of SAU region 0 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC0 1 -/* -// -*/ - -/* -// Initialize SAU Region 1 -// Setup SAU Region 1 memory attributes -*/ -#define SAU_INIT_REGION1 1 - -/* -// Description -*/ -#define SAU_INIT_DSCR1 "NS code" /* description SAU region 1 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START1 0x00200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END1 0x003FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC1 0 -/* -// -*/ - -/* -// Initialize SAU Region 2 -// Setup SAU Region 2 memory attributes -*/ -#define SAU_INIT_REGION2 1 - -/* -// Description -*/ -#define SAU_INIT_DSCR2 "NS data" /* description SAU region 2 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START2 0x20200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END2 0x203FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC2 0 -/* -// -*/ - -/* -// Initialize SAU Region 3 -// Setup SAU Region 3 memory attributes -*/ -#define SAU_INIT_REGION3 1 - -/* -// Description -*/ -#define SAU_INIT_DSCR3 "NS peripherals" /* description SAU region 3 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START3 0x40000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END3 0x40040000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC3 0 -/* -// -*/ - -/* -// Initialize SAU Region 4 -// Setup SAU Region 4 memory attributes -*/ -#define SAU_INIT_REGION4 0 - -/* -// Description -*/ -#define SAU_INIT_DSCR4 "SAU region 4" /* description SAU region 4 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START4 0x00000000 /* start address of SAU region 4 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END4 0x00000000 /* end address of SAU region 4 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC4 0 -/* -// -*/ - -/* -// Initialize SAU Region 5 -// Setup SAU Region 5 memory attributes -*/ -#define SAU_INIT_REGION5 0 - -/* -// Description -*/ -#define SAU_INIT_DSCR5 "SAU region 5" /* description SAU region 5 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START5 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END5 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC5 0 -/* -// -*/ - -/* -// Initialize SAU Region 6 -// Setup SAU Region 6 memory attributes -*/ -#define SAU_INIT_REGION6 0 - -/* -// Description -*/ -#define SAU_INIT_DSCR6 "SAU region 6" /* description SAU region 6 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START6 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END6 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC6 0 -/* -// -*/ - -/* -// Initialize SAU Region 7 -// Setup SAU Region 7 memory attributes -*/ -#define SAU_INIT_REGION7 0 - -/* -// Description -*/ -#define SAU_INIT_DSCR7 "SAU region 7" /* description SAU region 7 */ - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START7 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END7 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC7 0 -/* -// -*/ - -/* -// -*/ - -/* -// Setup behaviour of Sleep and Exception Handling -*/ -#define SCB_CSR_AIRCR_INIT 1 - -/* -// Deep Sleep can be enabled by -// <0=>Secure and Non-Secure state -// <1=>Secure state only -// Value for SCB->CSR register bit DEEPSLEEPS -*/ -#define SCB_CSR_DEEPSLEEPS_VAL 1 - -/* -// System reset request accessible from -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for SCB->AIRCR register bit SYSRESETREQS -*/ -#define SCB_AIRCR_SYSRESETREQS_VAL 1 - -/* -// Priority of Non-Secure exceptions is -// <0=> Not altered -// <1=> Lowered to 0x80-0xFF -// Value for SCB->AIRCR register bit PRIS -*/ -#define SCB_AIRCR_PRIS_VAL 1 - -/* -// BusFault, HardFault, and NMI target -// <0=> Secure state -// <1=> Non-Secure state -// Value for SCB->AIRCR register bit BFHFNMINS -*/ -#define SCB_AIRCR_BFHFNMINS_VAL 0 - -/* -// -*/ - -/* -// Setup behaviour of Floating Point and Vector Unit (FPU/MVE) -*/ -#define TZ_FPU_NS_USAGE 1 - -/* -// Floating Point and Vector Unit usage -// <0=> Secure state only -// <3=> Secure and Non-Secure state -// Value for SCB->NSACR register bits CP10, CP11 -*/ -#define SCB_NSACR_CP10_11_VAL 3 - -/* -// Treat floating-point registers as Secure -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit TS -*/ -#define FPU_FPCCR_TS_VAL 0 - -/* -// Clear on return (CLRONRET) accessibility -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for FPU->FPCCR register bit CLRONRETS -*/ -#define FPU_FPCCR_CLRONRETS_VAL 0 - -/* -// Clear floating-point caller saved registers on exception return -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit CLRONRET -*/ -#define FPU_FPCCR_CLRONRET_VAL 1 - -/* -// -*/ - -/* -// Setup Interrupt Target -*/ - -/* -// Initialize ITNS 0 (Interrupts 0..31) -*/ -#define NVIC_INIT_ITNS0 1 - -/* -// Interrupts 0..31 -// Interrupt 0 <0=> Secure state <1=> Non-Secure state -// Interrupt 1 <0=> Secure state <1=> Non-Secure state -// Interrupt 2 <0=> Secure state <1=> Non-Secure state -// Interrupt 3 <0=> Secure state <1=> Non-Secure state -// Interrupt 4 <0=> Secure state <1=> Non-Secure state -// Interrupt 5 <0=> Secure state <1=> Non-Secure state -// Interrupt 6 <0=> Secure state <1=> Non-Secure state -// Interrupt 7 <0=> Secure state <1=> Non-Secure state -// Interrupt 8 <0=> Secure state <1=> Non-Secure state -// Interrupt 9 <0=> Secure state <1=> Non-Secure state -// Interrupt 10 <0=> Secure state <1=> Non-Secure state -// Interrupt 11 <0=> Secure state <1=> Non-Secure state -// Interrupt 12 <0=> Secure state <1=> Non-Secure state -// Interrupt 13 <0=> Secure state <1=> Non-Secure state -// Interrupt 14 <0=> Secure state <1=> Non-Secure state -// Interrupt 15 <0=> Secure state <1=> Non-Secure state -// Interrupt 16 <0=> Secure state <1=> Non-Secure state -// Interrupt 17 <0=> Secure state <1=> Non-Secure state -// Interrupt 18 <0=> Secure state <1=> Non-Secure state -// Interrupt 19 <0=> Secure state <1=> Non-Secure state -// Interrupt 20 <0=> Secure state <1=> Non-Secure state -// Interrupt 21 <0=> Secure state <1=> Non-Secure state -// Interrupt 22 <0=> Secure state <1=> Non-Secure state -// Interrupt 23 <0=> Secure state <1=> Non-Secure state -// Interrupt 24 <0=> Secure state <1=> Non-Secure state -// Interrupt 25 <0=> Secure state <1=> Non-Secure state -// Interrupt 26 <0=> Secure state <1=> Non-Secure state -// Interrupt 27 <0=> Secure state <1=> Non-Secure state -// Interrupt 28 <0=> Secure state <1=> Non-Secure state -// Interrupt 29 <0=> Secure state <1=> Non-Secure state -// Interrupt 30 <0=> Secure state <1=> Non-Secure state -// Interrupt 31 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS0_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 1 (Interrupts 32..63) -*/ -#define NVIC_INIT_ITNS1 1 - -/* -// Interrupts 32..63 -// Interrupt 32 <0=> Secure state <1=> Non-Secure state -// Interrupt 33 <0=> Secure state <1=> Non-Secure state -// Interrupt 34 <0=> Secure state <1=> Non-Secure state -// Interrupt 35 <0=> Secure state <1=> Non-Secure state -// Interrupt 36 <0=> Secure state <1=> Non-Secure state -// Interrupt 37 <0=> Secure state <1=> Non-Secure state -// Interrupt 38 <0=> Secure state <1=> Non-Secure state -// Interrupt 39 <0=> Secure state <1=> Non-Secure state -// Interrupt 40 <0=> Secure state <1=> Non-Secure state -// Interrupt 41 <0=> Secure state <1=> Non-Secure state -// Interrupt 42 <0=> Secure state <1=> Non-Secure state -// Interrupt 43 <0=> Secure state <1=> Non-Secure state -// Interrupt 44 <0=> Secure state <1=> Non-Secure state -// Interrupt 45 <0=> Secure state <1=> Non-Secure state -// Interrupt 46 <0=> Secure state <1=> Non-Secure state -// Interrupt 47 <0=> Secure state <1=> Non-Secure state -// Interrupt 48 <0=> Secure state <1=> Non-Secure state -// Interrupt 49 <0=> Secure state <1=> Non-Secure state -// Interrupt 50 <0=> Secure state <1=> Non-Secure state -// Interrupt 51 <0=> Secure state <1=> Non-Secure state -// Interrupt 52 <0=> Secure state <1=> Non-Secure state -// Interrupt 53 <0=> Secure state <1=> Non-Secure state -// Interrupt 54 <0=> Secure state <1=> Non-Secure state -// Interrupt 55 <0=> Secure state <1=> Non-Secure state -// Interrupt 56 <0=> Secure state <1=> Non-Secure state -// Interrupt 57 <0=> Secure state <1=> Non-Secure state -// Interrupt 58 <0=> Secure state <1=> Non-Secure state -// Interrupt 59 <0=> Secure state <1=> Non-Secure state -// Interrupt 60 <0=> Secure state <1=> Non-Secure state -// Interrupt 61 <0=> Secure state <1=> Non-Secure state -// Interrupt 62 <0=> Secure state <1=> Non-Secure state -// Interrupt 63 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS1_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 2 (Interrupts 64..95) -*/ -#define NVIC_INIT_ITNS2 0 - -/* -// Interrupts 64..95 -// Interrupt 64 <0=> Secure state <1=> Non-Secure state -// Interrupt 65 <0=> Secure state <1=> Non-Secure state -// Interrupt 66 <0=> Secure state <1=> Non-Secure state -// Interrupt 67 <0=> Secure state <1=> Non-Secure state -// Interrupt 68 <0=> Secure state <1=> Non-Secure state -// Interrupt 69 <0=> Secure state <1=> Non-Secure state -// Interrupt 70 <0=> Secure state <1=> Non-Secure state -// Interrupt 71 <0=> Secure state <1=> Non-Secure state -// Interrupt 72 <0=> Secure state <1=> Non-Secure state -// Interrupt 73 <0=> Secure state <1=> Non-Secure state -// Interrupt 74 <0=> Secure state <1=> Non-Secure state -// Interrupt 75 <0=> Secure state <1=> Non-Secure state -// Interrupt 76 <0=> Secure state <1=> Non-Secure state -// Interrupt 77 <0=> Secure state <1=> Non-Secure state -// Interrupt 78 <0=> Secure state <1=> Non-Secure state -// Interrupt 79 <0=> Secure state <1=> Non-Secure state -// Interrupt 80 <0=> Secure state <1=> Non-Secure state -// Interrupt 81 <0=> Secure state <1=> Non-Secure state -// Interrupt 82 <0=> Secure state <1=> Non-Secure state -// Interrupt 83 <0=> Secure state <1=> Non-Secure state -// Interrupt 84 <0=> Secure state <1=> Non-Secure state -// Interrupt 85 <0=> Secure state <1=> Non-Secure state -// Interrupt 86 <0=> Secure state <1=> Non-Secure state -// Interrupt 87 <0=> Secure state <1=> Non-Secure state -// Interrupt 88 <0=> Secure state <1=> Non-Secure state -// Interrupt 89 <0=> Secure state <1=> Non-Secure state -// Interrupt 90 <0=> Secure state <1=> Non-Secure state -// Interrupt 91 <0=> Secure state <1=> Non-Secure state -// Interrupt 92 <0=> Secure state <1=> Non-Secure state -// Interrupt 93 <0=> Secure state <1=> Non-Secure state -// Interrupt 94 <0=> Secure state <1=> Non-Secure state -// Interrupt 95 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS2_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 3 (Interrupts 96..127) -*/ -#define NVIC_INIT_ITNS3 0 - -/* -// Interrupts 96..127 -// Interrupt 96 <0=> Secure state <1=> Non-Secure state -// Interrupt 97 <0=> Secure state <1=> Non-Secure state -// Interrupt 98 <0=> Secure state <1=> Non-Secure state -// Interrupt 99 <0=> Secure state <1=> Non-Secure state -// Interrupt 100 <0=> Secure state <1=> Non-Secure state -// Interrupt 101 <0=> Secure state <1=> Non-Secure state -// Interrupt 102 <0=> Secure state <1=> Non-Secure state -// Interrupt 103 <0=> Secure state <1=> Non-Secure state -// Interrupt 104 <0=> Secure state <1=> Non-Secure state -// Interrupt 105 <0=> Secure state <1=> Non-Secure state -// Interrupt 106 <0=> Secure state <1=> Non-Secure state -// Interrupt 107 <0=> Secure state <1=> Non-Secure state -// Interrupt 108 <0=> Secure state <1=> Non-Secure state -// Interrupt 109 <0=> Secure state <1=> Non-Secure state -// Interrupt 110 <0=> Secure state <1=> Non-Secure state -// Interrupt 111 <0=> Secure state <1=> Non-Secure state -// Interrupt 112 <0=> Secure state <1=> Non-Secure state -// Interrupt 113 <0=> Secure state <1=> Non-Secure state -// Interrupt 114 <0=> Secure state <1=> Non-Secure state -// Interrupt 115 <0=> Secure state <1=> Non-Secure state -// Interrupt 116 <0=> Secure state <1=> Non-Secure state -// Interrupt 117 <0=> Secure state <1=> Non-Secure state -// Interrupt 118 <0=> Secure state <1=> Non-Secure state -// Interrupt 119 <0=> Secure state <1=> Non-Secure state -// Interrupt 120 <0=> Secure state <1=> Non-Secure state -// Interrupt 121 <0=> Secure state <1=> Non-Secure state -// Interrupt 122 <0=> Secure state <1=> Non-Secure state -// Interrupt 123 <0=> Secure state <1=> Non-Secure state -// Interrupt 124 <0=> Secure state <1=> Non-Secure state -// Interrupt 125 <0=> Secure state <1=> Non-Secure state -// Interrupt 126 <0=> Secure state <1=> Non-Secure state -// Interrupt 127 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS3_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 4 (Interrupts 128..159) -*/ -#define NVIC_INIT_ITNS4 0 - -/* -// Interrupts 128..159 -// Interrupt 128 <0=> Secure state <1=> Non-Secure state -// Interrupt 129 <0=> Secure state <1=> Non-Secure state -// Interrupt 130 <0=> Secure state <1=> Non-Secure state -// Interrupt 131 <0=> Secure state <1=> Non-Secure state -// Interrupt 132 <0=> Secure state <1=> Non-Secure state -// Interrupt 133 <0=> Secure state <1=> Non-Secure state -// Interrupt 134 <0=> Secure state <1=> Non-Secure state -// Interrupt 135 <0=> Secure state <1=> Non-Secure state -// Interrupt 136 <0=> Secure state <1=> Non-Secure state -// Interrupt 137 <0=> Secure state <1=> Non-Secure state -// Interrupt 138 <0=> Secure state <1=> Non-Secure state -// Interrupt 139 <0=> Secure state <1=> Non-Secure state -// Interrupt 140 <0=> Secure state <1=> Non-Secure state -// Interrupt 141 <0=> Secure state <1=> Non-Secure state -// Interrupt 142 <0=> Secure state <1=> Non-Secure state -// Interrupt 143 <0=> Secure state <1=> Non-Secure state -// Interrupt 144 <0=> Secure state <1=> Non-Secure state -// Interrupt 145 <0=> Secure state <1=> Non-Secure state -// Interrupt 146 <0=> Secure state <1=> Non-Secure state -// Interrupt 147 <0=> Secure state <1=> Non-Secure state -// Interrupt 148 <0=> Secure state <1=> Non-Secure state -// Interrupt 149 <0=> Secure state <1=> Non-Secure state -// Interrupt 150 <0=> Secure state <1=> Non-Secure state -// Interrupt 151 <0=> Secure state <1=> Non-Secure state -// Interrupt 152 <0=> Secure state <1=> Non-Secure state -// Interrupt 153 <0=> Secure state <1=> Non-Secure state -// Interrupt 154 <0=> Secure state <1=> Non-Secure state -// Interrupt 155 <0=> Secure state <1=> Non-Secure state -// Interrupt 156 <0=> Secure state <1=> Non-Secure state -// Interrupt 157 <0=> Secure state <1=> Non-Secure state -// Interrupt 158 <0=> Secure state <1=> Non-Secure state -// Interrupt 159 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS4_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 5 (Interrupts 160..191) -*/ -#define NVIC_INIT_ITNS5 0 - -/* -// Interrupts 160..191 -// Interrupt 160 <0=> Secure state <1=> Non-Secure state -// Interrupt 161 <0=> Secure state <1=> Non-Secure state -// Interrupt 162 <0=> Secure state <1=> Non-Secure state -// Interrupt 163 <0=> Secure state <1=> Non-Secure state -// Interrupt 164 <0=> Secure state <1=> Non-Secure state -// Interrupt 165 <0=> Secure state <1=> Non-Secure state -// Interrupt 166 <0=> Secure state <1=> Non-Secure state -// Interrupt 167 <0=> Secure state <1=> Non-Secure state -// Interrupt 168 <0=> Secure state <1=> Non-Secure state -// Interrupt 169 <0=> Secure state <1=> Non-Secure state -// Interrupt 170 <0=> Secure state <1=> Non-Secure state -// Interrupt 171 <0=> Secure state <1=> Non-Secure state -// Interrupt 172 <0=> Secure state <1=> Non-Secure state -// Interrupt 173 <0=> Secure state <1=> Non-Secure state -// Interrupt 174 <0=> Secure state <1=> Non-Secure state -// Interrupt 175 <0=> Secure state <1=> Non-Secure state -// Interrupt 176 <0=> Secure state <1=> Non-Secure state -// Interrupt 177 <0=> Secure state <1=> Non-Secure state -// Interrupt 178 <0=> Secure state <1=> Non-Secure state -// Interrupt 179 <0=> Secure state <1=> Non-Secure state -// Interrupt 180 <0=> Secure state <1=> Non-Secure state -// Interrupt 181 <0=> Secure state <1=> Non-Secure state -// Interrupt 182 <0=> Secure state <1=> Non-Secure state -// Interrupt 183 <0=> Secure state <1=> Non-Secure state -// Interrupt 184 <0=> Secure state <1=> Non-Secure state -// Interrupt 185 <0=> Secure state <1=> Non-Secure state -// Interrupt 186 <0=> Secure state <1=> Non-Secure state -// Interrupt 187 <0=> Secure state <1=> Non-Secure state -// Interrupt 188 <0=> Secure state <1=> Non-Secure state -// Interrupt 189 <0=> Secure state <1=> Non-Secure state -// Interrupt 190 <0=> Secure state <1=> Non-Secure state -// Interrupt 191 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS5_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 6 (Interrupts 192..223) -*/ -#define NVIC_INIT_ITNS6 0 - -/* -// Interrupts 192..223 -// Interrupt 192 <0=> Secure state <1=> Non-Secure state -// Interrupt 193 <0=> Secure state <1=> Non-Secure state -// Interrupt 194 <0=> Secure state <1=> Non-Secure state -// Interrupt 195 <0=> Secure state <1=> Non-Secure state -// Interrupt 196 <0=> Secure state <1=> Non-Secure state -// Interrupt 197 <0=> Secure state <1=> Non-Secure state -// Interrupt 198 <0=> Secure state <1=> Non-Secure state -// Interrupt 199 <0=> Secure state <1=> Non-Secure state -// Interrupt 200 <0=> Secure state <1=> Non-Secure state -// Interrupt 201 <0=> Secure state <1=> Non-Secure state -// Interrupt 202 <0=> Secure state <1=> Non-Secure state -// Interrupt 203 <0=> Secure state <1=> Non-Secure state -// Interrupt 204 <0=> Secure state <1=> Non-Secure state -// Interrupt 205 <0=> Secure state <1=> Non-Secure state -// Interrupt 206 <0=> Secure state <1=> Non-Secure state -// Interrupt 207 <0=> Secure state <1=> Non-Secure state -// Interrupt 208 <0=> Secure state <1=> Non-Secure state -// Interrupt 209 <0=> Secure state <1=> Non-Secure state -// Interrupt 210 <0=> Secure state <1=> Non-Secure state -// Interrupt 211 <0=> Secure state <1=> Non-Secure state -// Interrupt 212 <0=> Secure state <1=> Non-Secure state -// Interrupt 213 <0=> Secure state <1=> Non-Secure state -// Interrupt 214 <0=> Secure state <1=> Non-Secure state -// Interrupt 215 <0=> Secure state <1=> Non-Secure state -// Interrupt 216 <0=> Secure state <1=> Non-Secure state -// Interrupt 217 <0=> Secure state <1=> Non-Secure state -// Interrupt 218 <0=> Secure state <1=> Non-Secure state -// Interrupt 219 <0=> Secure state <1=> Non-Secure state -// Interrupt 220 <0=> Secure state <1=> Non-Secure state -// Interrupt 221 <0=> Secure state <1=> Non-Secure state -// Interrupt 222 <0=> Secure state <1=> Non-Secure state -// Interrupt 223 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS6_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 7 (Interrupts 224..255) -*/ -#define NVIC_INIT_ITNS7 0 - -/* -// Interrupts 224..255 -// Interrupt 224 <0=> Secure state <1=> Non-Secure state -// Interrupt 225 <0=> Secure state <1=> Non-Secure state -// Interrupt 226 <0=> Secure state <1=> Non-Secure state -// Interrupt 227 <0=> Secure state <1=> Non-Secure state -// Interrupt 228 <0=> Secure state <1=> Non-Secure state -// Interrupt 229 <0=> Secure state <1=> Non-Secure state -// Interrupt 230 <0=> Secure state <1=> Non-Secure state -// Interrupt 231 <0=> Secure state <1=> Non-Secure state -// Interrupt 232 <0=> Secure state <1=> Non-Secure state -// Interrupt 233 <0=> Secure state <1=> Non-Secure state -// Interrupt 234 <0=> Secure state <1=> Non-Secure state -// Interrupt 235 <0=> Secure state <1=> Non-Secure state -// Interrupt 236 <0=> Secure state <1=> Non-Secure state -// Interrupt 237 <0=> Secure state <1=> Non-Secure state -// Interrupt 238 <0=> Secure state <1=> Non-Secure state -// Interrupt 239 <0=> Secure state <1=> Non-Secure state -// Interrupt 240 <0=> Secure state <1=> Non-Secure state -// Interrupt 241 <0=> Secure state <1=> Non-Secure state -// Interrupt 242 <0=> Secure state <1=> Non-Secure state -// Interrupt 243 <0=> Secure state <1=> Non-Secure state -// Interrupt 244 <0=> Secure state <1=> Non-Secure state -// Interrupt 245 <0=> Secure state <1=> Non-Secure state -// Interrupt 246 <0=> Secure state <1=> Non-Secure state -// Interrupt 247 <0=> Secure state <1=> Non-Secure state -// Interrupt 248 <0=> Secure state <1=> Non-Secure state -// Interrupt 249 <0=> Secure state <1=> Non-Secure state -// Interrupt 250 <0=> Secure state <1=> Non-Secure state -// Interrupt 251 <0=> Secure state <1=> Non-Secure state -// Interrupt 252 <0=> Secure state <1=> Non-Secure state -// Interrupt 253 <0=> Secure state <1=> Non-Secure state -// Interrupt 254 <0=> Secure state <1=> Non-Secure state -// Interrupt 255 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS7_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 8 (Interrupts 256..287) -*/ -#define NVIC_INIT_ITNS8 0 - -/* -// Interrupts 256..287 -// Interrupt 256 <0=> Secure state <1=> Non-Secure state -// Interrupt 257 <0=> Secure state <1=> Non-Secure state -// Interrupt 258 <0=> Secure state <1=> Non-Secure state -// Interrupt 259 <0=> Secure state <1=> Non-Secure state -// Interrupt 260 <0=> Secure state <1=> Non-Secure state -// Interrupt 261 <0=> Secure state <1=> Non-Secure state -// Interrupt 262 <0=> Secure state <1=> Non-Secure state -// Interrupt 263 <0=> Secure state <1=> Non-Secure state -// Interrupt 264 <0=> Secure state <1=> Non-Secure state -// Interrupt 265 <0=> Secure state <1=> Non-Secure state -// Interrupt 266 <0=> Secure state <1=> Non-Secure state -// Interrupt 267 <0=> Secure state <1=> Non-Secure state -// Interrupt 268 <0=> Secure state <1=> Non-Secure state -// Interrupt 269 <0=> Secure state <1=> Non-Secure state -// Interrupt 270 <0=> Secure state <1=> Non-Secure state -// Interrupt 271 <0=> Secure state <1=> Non-Secure state -// Interrupt 272 <0=> Secure state <1=> Non-Secure state -// Interrupt 273 <0=> Secure state <1=> Non-Secure state -// Interrupt 274 <0=> Secure state <1=> Non-Secure state -// Interrupt 275 <0=> Secure state <1=> Non-Secure state -// Interrupt 276 <0=> Secure state <1=> Non-Secure state -// Interrupt 277 <0=> Secure state <1=> Non-Secure state -// Interrupt 278 <0=> Secure state <1=> Non-Secure state -// Interrupt 279 <0=> Secure state <1=> Non-Secure state -// Interrupt 280 <0=> Secure state <1=> Non-Secure state -// Interrupt 281 <0=> Secure state <1=> Non-Secure state -// Interrupt 282 <0=> Secure state <1=> Non-Secure state -// Interrupt 283 <0=> Secure state <1=> Non-Secure state -// Interrupt 284 <0=> Secure state <1=> Non-Secure state -// Interrupt 285 <0=> Secure state <1=> Non-Secure state -// Interrupt 286 <0=> Secure state <1=> Non-Secure state -// Interrupt 287 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS8_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 9 (Interrupts 288..319) -*/ -#define NVIC_INIT_ITNS9 0 - -/* -// Interrupts 288..319 -// Interrupt 288 <0=> Secure state <1=> Non-Secure state -// Interrupt 289 <0=> Secure state <1=> Non-Secure state -// Interrupt 290 <0=> Secure state <1=> Non-Secure state -// Interrupt 291 <0=> Secure state <1=> Non-Secure state -// Interrupt 292 <0=> Secure state <1=> Non-Secure state -// Interrupt 293 <0=> Secure state <1=> Non-Secure state -// Interrupt 294 <0=> Secure state <1=> Non-Secure state -// Interrupt 295 <0=> Secure state <1=> Non-Secure state -// Interrupt 296 <0=> Secure state <1=> Non-Secure state -// Interrupt 297 <0=> Secure state <1=> Non-Secure state -// Interrupt 298 <0=> Secure state <1=> Non-Secure state -// Interrupt 299 <0=> Secure state <1=> Non-Secure state -// Interrupt 300 <0=> Secure state <1=> Non-Secure state -// Interrupt 301 <0=> Secure state <1=> Non-Secure state -// Interrupt 302 <0=> Secure state <1=> Non-Secure state -// Interrupt 303 <0=> Secure state <1=> Non-Secure state -// Interrupt 304 <0=> Secure state <1=> Non-Secure state -// Interrupt 305 <0=> Secure state <1=> Non-Secure state -// Interrupt 306 <0=> Secure state <1=> Non-Secure state -// Interrupt 307 <0=> Secure state <1=> Non-Secure state -// Interrupt 308 <0=> Secure state <1=> Non-Secure state -// Interrupt 309 <0=> Secure state <1=> Non-Secure state -// Interrupt 310 <0=> Secure state <1=> Non-Secure state -// Interrupt 311 <0=> Secure state <1=> Non-Secure state -// Interrupt 312 <0=> Secure state <1=> Non-Secure state -// Interrupt 313 <0=> Secure state <1=> Non-Secure state -// Interrupt 314 <0=> Secure state <1=> Non-Secure state -// Interrupt 315 <0=> Secure state <1=> Non-Secure state -// Interrupt 316 <0=> Secure state <1=> Non-Secure state -// Interrupt 317 <0=> Secure state <1=> Non-Secure state -// Interrupt 318 <0=> Secure state <1=> Non-Secure state -// Interrupt 319 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS9_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 10 (Interrupts 320..351) -*/ -#define NVIC_INIT_ITNS10 0 - -/* -// Interrupts 320..351 -// Interrupt 320 <0=> Secure state <1=> Non-Secure state -// Interrupt 321 <0=> Secure state <1=> Non-Secure state -// Interrupt 322 <0=> Secure state <1=> Non-Secure state -// Interrupt 323 <0=> Secure state <1=> Non-Secure state -// Interrupt 324 <0=> Secure state <1=> Non-Secure state -// Interrupt 325 <0=> Secure state <1=> Non-Secure state -// Interrupt 326 <0=> Secure state <1=> Non-Secure state -// Interrupt 327 <0=> Secure state <1=> Non-Secure state -// Interrupt 328 <0=> Secure state <1=> Non-Secure state -// Interrupt 329 <0=> Secure state <1=> Non-Secure state -// Interrupt 330 <0=> Secure state <1=> Non-Secure state -// Interrupt 331 <0=> Secure state <1=> Non-Secure state -// Interrupt 332 <0=> Secure state <1=> Non-Secure state -// Interrupt 333 <0=> Secure state <1=> Non-Secure state -// Interrupt 334 <0=> Secure state <1=> Non-Secure state -// Interrupt 335 <0=> Secure state <1=> Non-Secure state -// Interrupt 336 <0=> Secure state <1=> Non-Secure state -// Interrupt 337 <0=> Secure state <1=> Non-Secure state -// Interrupt 338 <0=> Secure state <1=> Non-Secure state -// Interrupt 339 <0=> Secure state <1=> Non-Secure state -// Interrupt 340 <0=> Secure state <1=> Non-Secure state -// Interrupt 341 <0=> Secure state <1=> Non-Secure state -// Interrupt 342 <0=> Secure state <1=> Non-Secure state -// Interrupt 343 <0=> Secure state <1=> Non-Secure state -// Interrupt 344 <0=> Secure state <1=> Non-Secure state -// Interrupt 345 <0=> Secure state <1=> Non-Secure state -// Interrupt 346 <0=> Secure state <1=> Non-Secure state -// Interrupt 347 <0=> Secure state <1=> Non-Secure state -// Interrupt 348 <0=> Secure state <1=> Non-Secure state -// Interrupt 349 <0=> Secure state <1=> Non-Secure state -// Interrupt 350 <0=> Secure state <1=> Non-Secure state -// Interrupt 351 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS10_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 11 (Interrupts 352..383) -*/ -#define NVIC_INIT_ITNS11 0 - -/* -// Interrupts 352..383 -// Interrupt 352 <0=> Secure state <1=> Non-Secure state -// Interrupt 353 <0=> Secure state <1=> Non-Secure state -// Interrupt 354 <0=> Secure state <1=> Non-Secure state -// Interrupt 355 <0=> Secure state <1=> Non-Secure state -// Interrupt 356 <0=> Secure state <1=> Non-Secure state -// Interrupt 357 <0=> Secure state <1=> Non-Secure state -// Interrupt 358 <0=> Secure state <1=> Non-Secure state -// Interrupt 359 <0=> Secure state <1=> Non-Secure state -// Interrupt 360 <0=> Secure state <1=> Non-Secure state -// Interrupt 361 <0=> Secure state <1=> Non-Secure state -// Interrupt 362 <0=> Secure state <1=> Non-Secure state -// Interrupt 363 <0=> Secure state <1=> Non-Secure state -// Interrupt 364 <0=> Secure state <1=> Non-Secure state -// Interrupt 365 <0=> Secure state <1=> Non-Secure state -// Interrupt 366 <0=> Secure state <1=> Non-Secure state -// Interrupt 367 <0=> Secure state <1=> Non-Secure state -// Interrupt 368 <0=> Secure state <1=> Non-Secure state -// Interrupt 369 <0=> Secure state <1=> Non-Secure state -// Interrupt 370 <0=> Secure state <1=> Non-Secure state -// Interrupt 371 <0=> Secure state <1=> Non-Secure state -// Interrupt 372 <0=> Secure state <1=> Non-Secure state -// Interrupt 373 <0=> Secure state <1=> Non-Secure state -// Interrupt 374 <0=> Secure state <1=> Non-Secure state -// Interrupt 375 <0=> Secure state <1=> Non-Secure state -// Interrupt 376 <0=> Secure state <1=> Non-Secure state -// Interrupt 377 <0=> Secure state <1=> Non-Secure state -// Interrupt 378 <0=> Secure state <1=> Non-Secure state -// Interrupt 379 <0=> Secure state <1=> Non-Secure state -// Interrupt 380 <0=> Secure state <1=> Non-Secure state -// Interrupt 381 <0=> Secure state <1=> Non-Secure state -// Interrupt 382 <0=> Secure state <1=> Non-Secure state -// Interrupt 383 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS11_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 12 (Interrupts 384..415) -*/ -#define NVIC_INIT_ITNS12 0 - -/* -// Interrupts 384..415 -// Interrupt 384 <0=> Secure state <1=> Non-Secure state -// Interrupt 385 <0=> Secure state <1=> Non-Secure state -// Interrupt 386 <0=> Secure state <1=> Non-Secure state -// Interrupt 387 <0=> Secure state <1=> Non-Secure state -// Interrupt 388 <0=> Secure state <1=> Non-Secure state -// Interrupt 389 <0=> Secure state <1=> Non-Secure state -// Interrupt 390 <0=> Secure state <1=> Non-Secure state -// Interrupt 391 <0=> Secure state <1=> Non-Secure state -// Interrupt 392 <0=> Secure state <1=> Non-Secure state -// Interrupt 393 <0=> Secure state <1=> Non-Secure state -// Interrupt 394 <0=> Secure state <1=> Non-Secure state -// Interrupt 395 <0=> Secure state <1=> Non-Secure state -// Interrupt 396 <0=> Secure state <1=> Non-Secure state -// Interrupt 397 <0=> Secure state <1=> Non-Secure state -// Interrupt 398 <0=> Secure state <1=> Non-Secure state -// Interrupt 399 <0=> Secure state <1=> Non-Secure state -// Interrupt 400 <0=> Secure state <1=> Non-Secure state -// Interrupt 401 <0=> Secure state <1=> Non-Secure state -// Interrupt 402 <0=> Secure state <1=> Non-Secure state -// Interrupt 403 <0=> Secure state <1=> Non-Secure state -// Interrupt 404 <0=> Secure state <1=> Non-Secure state -// Interrupt 405 <0=> Secure state <1=> Non-Secure state -// Interrupt 406 <0=> Secure state <1=> Non-Secure state -// Interrupt 407 <0=> Secure state <1=> Non-Secure state -// Interrupt 408 <0=> Secure state <1=> Non-Secure state -// Interrupt 409 <0=> Secure state <1=> Non-Secure state -// Interrupt 410 <0=> Secure state <1=> Non-Secure state -// Interrupt 411 <0=> Secure state <1=> Non-Secure state -// Interrupt 412 <0=> Secure state <1=> Non-Secure state -// Interrupt 413 <0=> Secure state <1=> Non-Secure state -// Interrupt 414 <0=> Secure state <1=> Non-Secure state -// Interrupt 415 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS12_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 13 (Interrupts 416..447) -*/ -#define NVIC_INIT_ITNS13 0 - -/* -// Interrupts 416..447 -// Interrupt 416 <0=> Secure state <1=> Non-Secure state -// Interrupt 417 <0=> Secure state <1=> Non-Secure state -// Interrupt 418 <0=> Secure state <1=> Non-Secure state -// Interrupt 419 <0=> Secure state <1=> Non-Secure state -// Interrupt 420 <0=> Secure state <1=> Non-Secure state -// Interrupt 421 <0=> Secure state <1=> Non-Secure state -// Interrupt 422 <0=> Secure state <1=> Non-Secure state -// Interrupt 423 <0=> Secure state <1=> Non-Secure state -// Interrupt 424 <0=> Secure state <1=> Non-Secure state -// Interrupt 425 <0=> Secure state <1=> Non-Secure state -// Interrupt 426 <0=> Secure state <1=> Non-Secure state -// Interrupt 427 <0=> Secure state <1=> Non-Secure state -// Interrupt 428 <0=> Secure state <1=> Non-Secure state -// Interrupt 429 <0=> Secure state <1=> Non-Secure state -// Interrupt 430 <0=> Secure state <1=> Non-Secure state -// Interrupt 431 <0=> Secure state <1=> Non-Secure state -// Interrupt 432 <0=> Secure state <1=> Non-Secure state -// Interrupt 433 <0=> Secure state <1=> Non-Secure state -// Interrupt 434 <0=> Secure state <1=> Non-Secure state -// Interrupt 435 <0=> Secure state <1=> Non-Secure state -// Interrupt 436 <0=> Secure state <1=> Non-Secure state -// Interrupt 437 <0=> Secure state <1=> Non-Secure state -// Interrupt 438 <0=> Secure state <1=> Non-Secure state -// Interrupt 439 <0=> Secure state <1=> Non-Secure state -// Interrupt 440 <0=> Secure state <1=> Non-Secure state -// Interrupt 441 <0=> Secure state <1=> Non-Secure state -// Interrupt 442 <0=> Secure state <1=> Non-Secure state -// Interrupt 443 <0=> Secure state <1=> Non-Secure state -// Interrupt 444 <0=> Secure state <1=> Non-Secure state -// Interrupt 445 <0=> Secure state <1=> Non-Secure state -// Interrupt 446 <0=> Secure state <1=> Non-Secure state -// Interrupt 447 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS13_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 14 (Interrupts 448..479) -*/ -#define NVIC_INIT_ITNS14 0 - -/* -// Interrupts 448..479 -// Interrupt 448 <0=> Secure state <1=> Non-Secure state -// Interrupt 449 <0=> Secure state <1=> Non-Secure state -// Interrupt 450 <0=> Secure state <1=> Non-Secure state -// Interrupt 451 <0=> Secure state <1=> Non-Secure state -// Interrupt 452 <0=> Secure state <1=> Non-Secure state -// Interrupt 453 <0=> Secure state <1=> Non-Secure state -// Interrupt 454 <0=> Secure state <1=> Non-Secure state -// Interrupt 455 <0=> Secure state <1=> Non-Secure state -// Interrupt 456 <0=> Secure state <1=> Non-Secure state -// Interrupt 457 <0=> Secure state <1=> Non-Secure state -// Interrupt 458 <0=> Secure state <1=> Non-Secure state -// Interrupt 459 <0=> Secure state <1=> Non-Secure state -// Interrupt 460 <0=> Secure state <1=> Non-Secure state -// Interrupt 461 <0=> Secure state <1=> Non-Secure state -// Interrupt 462 <0=> Secure state <1=> Non-Secure state -// Interrupt 463 <0=> Secure state <1=> Non-Secure state -// Interrupt 464 <0=> Secure state <1=> Non-Secure state -// Interrupt 465 <0=> Secure state <1=> Non-Secure state -// Interrupt 466 <0=> Secure state <1=> Non-Secure state -// Interrupt 467 <0=> Secure state <1=> Non-Secure state -// Interrupt 468 <0=> Secure state <1=> Non-Secure state -// Interrupt 469 <0=> Secure state <1=> Non-Secure state -// Interrupt 470 <0=> Secure state <1=> Non-Secure state -// Interrupt 471 <0=> Secure state <1=> Non-Secure state -// Interrupt 472 <0=> Secure state <1=> Non-Secure state -// Interrupt 473 <0=> Secure state <1=> Non-Secure state -// Interrupt 474 <0=> Secure state <1=> Non-Secure state -// Interrupt 475 <0=> Secure state <1=> Non-Secure state -// Interrupt 476 <0=> Secure state <1=> Non-Secure state -// Interrupt 477 <0=> Secure state <1=> Non-Secure state -// Interrupt 478 <0=> Secure state <1=> Non-Secure state -// Interrupt 479 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS14_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 15 (Interrupts 480..511) -*/ -#define NVIC_INIT_ITNS15 0 - -/* -// Interrupts 480..511 -// Interrupt 480 <0=> Secure state <1=> Non-Secure state -// Interrupt 481 <0=> Secure state <1=> Non-Secure state -// Interrupt 482 <0=> Secure state <1=> Non-Secure state -// Interrupt 483 <0=> Secure state <1=> Non-Secure state -// Interrupt 484 <0=> Secure state <1=> Non-Secure state -// Interrupt 485 <0=> Secure state <1=> Non-Secure state -// Interrupt 486 <0=> Secure state <1=> Non-Secure state -// Interrupt 487 <0=> Secure state <1=> Non-Secure state -// Interrupt 488 <0=> Secure state <1=> Non-Secure state -// Interrupt 489 <0=> Secure state <1=> Non-Secure state -// Interrupt 490 <0=> Secure state <1=> Non-Secure state -// Interrupt 491 <0=> Secure state <1=> Non-Secure state -// Interrupt 492 <0=> Secure state <1=> Non-Secure state -// Interrupt 493 <0=> Secure state <1=> Non-Secure state -// Interrupt 494 <0=> Secure state <1=> Non-Secure state -// Interrupt 495 <0=> Secure state <1=> Non-Secure state -// Interrupt 496 <0=> Secure state <1=> Non-Secure state -// Interrupt 497 <0=> Secure state <1=> Non-Secure state -// Interrupt 498 <0=> Secure state <1=> Non-Secure state -// Interrupt 499 <0=> Secure state <1=> Non-Secure state -// Interrupt 500 <0=> Secure state <1=> Non-Secure state -// Interrupt 501 <0=> Secure state <1=> Non-Secure state -// Interrupt 502 <0=> Secure state <1=> Non-Secure state -// Interrupt 503 <0=> Secure state <1=> Non-Secure state -// Interrupt 504 <0=> Secure state <1=> Non-Secure state -// Interrupt 505 <0=> Secure state <1=> Non-Secure state -// Interrupt 506 <0=> Secure state <1=> Non-Secure state -// Interrupt 507 <0=> Secure state <1=> Non-Secure state -// Interrupt 508 <0=> Secure state <1=> Non-Secure state -// Interrupt 509 <0=> Secure state <1=> Non-Secure state -// Interrupt 510 <0=> Secure state <1=> Non-Secure state -// Interrupt 511 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS15_VAL 0x00000000 - -/* -// -*/ - -/* -// -*/ - - - -/* - max 128 SAU regions. - SAU regions are defined in partition.h - */ - -#define SAU_INIT_REGION(n) \ - SAU->RNR = (n & SAU_RNR_REGION_Msk); \ - SAU->RBAR = (SAU_INIT_START##n & SAU_RBAR_BADDR_Msk); \ - SAU->RLAR = (SAU_INIT_END##n & SAU_RLAR_LADDR_Msk) | \ - ((SAU_INIT_NSC##n << SAU_RLAR_NSC_Pos) & SAU_RLAR_NSC_Msk) | 1U - -/** - \brief Setup a SAU Region - \details Writes the region information contained in SAU_Region to the - registers SAU_RNR, SAU_RBAR, and SAU_RLAR - */ -__STATIC_INLINE void TZ_SAU_Setup (void) -{ - -#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) - - #if defined (SAU_INIT_REGION0) && (SAU_INIT_REGION0 == 1U) - SAU_INIT_REGION(0); - #endif - - #if defined (SAU_INIT_REGION1) && (SAU_INIT_REGION1 == 1U) - SAU_INIT_REGION(1); - #endif - - #if defined (SAU_INIT_REGION2) && (SAU_INIT_REGION2 == 1U) - SAU_INIT_REGION(2); - #endif - - #if defined (SAU_INIT_REGION3) && (SAU_INIT_REGION3 == 1U) - SAU_INIT_REGION(3); - #endif - - #if defined (SAU_INIT_REGION4) && (SAU_INIT_REGION4 == 1U) - SAU_INIT_REGION(4); - #endif - - #if defined (SAU_INIT_REGION5) && (SAU_INIT_REGION5 == 1U) - SAU_INIT_REGION(5); - #endif - - #if defined (SAU_INIT_REGION6) && (SAU_INIT_REGION6 == 1U) - SAU_INIT_REGION(6); - #endif - - #if defined (SAU_INIT_REGION7) && (SAU_INIT_REGION7 == 1U) - SAU_INIT_REGION(7); - #endif - - /* repeat this for all possible SAU regions */ - -#endif /* defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) */ - - - #if defined (SAU_INIT_CTRL) && (SAU_INIT_CTRL == 1U) - SAU->CTRL = ((SAU_INIT_CTRL_ENABLE << SAU_CTRL_ENABLE_Pos) & SAU_CTRL_ENABLE_Msk) | - ((SAU_INIT_CTRL_ALLNS << SAU_CTRL_ALLNS_Pos) & SAU_CTRL_ALLNS_Msk) ; - #endif - - #if defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) - SCB->SCR = (SCB->SCR & ~(SCB_SCR_SLEEPDEEPS_Msk )) | - ((SCB_CSR_DEEPSLEEPS_VAL << SCB_SCR_SLEEPDEEPS_Pos) & SCB_SCR_SLEEPDEEPS_Msk); - - SCB->AIRCR = (SCB->AIRCR & ~(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_SYSRESETREQS_Msk | - SCB_AIRCR_BFHFNMINS_Msk | SCB_AIRCR_PRIS_Msk )) | - ((0x05FAU << SCB_AIRCR_VECTKEY_Pos) & SCB_AIRCR_VECTKEY_Msk) | - ((SCB_AIRCR_SYSRESETREQS_VAL << SCB_AIRCR_SYSRESETREQS_Pos) & SCB_AIRCR_SYSRESETREQS_Msk) | - ((SCB_AIRCR_PRIS_VAL << SCB_AIRCR_PRIS_Pos) & SCB_AIRCR_PRIS_Msk) | - ((SCB_AIRCR_BFHFNMINS_VAL << SCB_AIRCR_BFHFNMINS_Pos) & SCB_AIRCR_BFHFNMINS_Msk); - #endif /* defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) */ - - #if (((defined (__FPU_USED) && (__FPU_USED == 1U)) || \ - (defined (__ARM_FEATURE_MVE) && (__ARM_FEATURE_MVE > 0))) && \ - (defined (TZ_FPU_NS_USAGE) && (TZ_FPU_NS_USAGE == 1U))) - - SCB->NSACR = (SCB->NSACR & ~(SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)) | - ((SCB_NSACR_CP10_11_VAL << SCB_NSACR_CP10_Pos) & (SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)); - - FPU->FPCCR = (FPU->FPCCR & ~(FPU_FPCCR_TS_Msk | FPU_FPCCR_CLRONRETS_Msk | FPU_FPCCR_CLRONRET_Msk)) | - ((FPU_FPCCR_TS_VAL << FPU_FPCCR_TS_Pos ) & FPU_FPCCR_TS_Msk ) | - ((FPU_FPCCR_CLRONRETS_VAL << FPU_FPCCR_CLRONRETS_Pos) & FPU_FPCCR_CLRONRETS_Msk) | - ((FPU_FPCCR_CLRONRET_VAL << FPU_FPCCR_CLRONRET_Pos ) & FPU_FPCCR_CLRONRET_Msk ); - #endif - - #if defined (NVIC_INIT_ITNS0) && (NVIC_INIT_ITNS0 == 1U) - NVIC->ITNS[0] = NVIC_INIT_ITNS0_VAL; - #endif - - #if defined (NVIC_INIT_ITNS1) && (NVIC_INIT_ITNS1 == 1U) - NVIC->ITNS[1] = NVIC_INIT_ITNS1_VAL; - #endif - - #if defined (NVIC_INIT_ITNS2) && (NVIC_INIT_ITNS2 == 1U) - NVIC->ITNS[2] = NVIC_INIT_ITNS2_VAL; - #endif - - #if defined (NVIC_INIT_ITNS3) && (NVIC_INIT_ITNS3 == 1U) - NVIC->ITNS[3] = NVIC_INIT_ITNS3_VAL; - #endif - - #if defined (NVIC_INIT_ITNS4) && (NVIC_INIT_ITNS4 == 1U) - NVIC->ITNS[4] = NVIC_INIT_ITNS4_VAL; - #endif - - #if defined (NVIC_INIT_ITNS5) && (NVIC_INIT_ITNS5 == 1U) - NVIC->ITNS[5] = NVIC_INIT_ITNS5_VAL; - #endif - - #if defined (NVIC_INIT_ITNS6) && (NVIC_INIT_ITNS6 == 1U) - NVIC->ITNS[6] = NVIC_INIT_ITNS6_VAL; - #endif - - #if defined (NVIC_INIT_ITNS7) && (NVIC_INIT_ITNS7 == 1U) - NVIC->ITNS[7] = NVIC_INIT_ITNS7_VAL; - #endif - - #if defined (NVIC_INIT_ITNS8) && (NVIC_INIT_ITNS8 == 1U) - NVIC->ITNS[8] = NVIC_INIT_ITNS8_VAL; - #endif - - #if defined (NVIC_INIT_ITNS9) && (NVIC_INIT_ITNS9 == 1U) - NVIC->ITNS[9] = NVIC_INIT_ITNS9_VAL; - #endif - - #if defined (NVIC_INIT_ITNS10) && (NVIC_INIT_ITNS10 == 1U) - NVIC->ITNS[10] = NVIC_INIT_ITNS10_VAL; - #endif - - #if defined (NVIC_INIT_ITNS11) && (NVIC_INIT_ITNS11 == 1U) - NVIC->ITNS[11] = NVIC_INIT_ITNS11_VAL; - #endif - - #if defined (NVIC_INIT_ITNS12) && (NVIC_INIT_ITNS12 == 1U) - NVIC->ITNS[12] = NVIC_INIT_ITNS12_VAL; - #endif - - #if defined (NVIC_INIT_ITNS13) && (NVIC_INIT_ITNS13 == 1U) - NVIC->ITNS[13] = NVIC_INIT_ITNS13_VAL; - #endif - - #if defined (NVIC_INIT_ITNS14) && (NVIC_INIT_ITNS14 == 1U) - NVIC->ITNS[14] = NVIC_INIT_ITNS14_VAL; - #endif - - #if defined (NVIC_INIT_ITNS15) && (NVIC_INIT_ITNS15 == 1U) - NVIC->ITNS[15] = NVIC_INIT_ITNS15_VAL; - #endif - - /* repeat this for all possible ITNS elements */ - -} - -#endif /* PARTITION_ARMCM85_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCM85/Include/system_ARMCM85.h b/external/CMSIS_5/Device/ARM/ARMCM85/Include/system_ARMCM85.h deleted file mode 100644 index 05c4312..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM85/Include/system_ARMCM85.h +++ /dev/null @@ -1,63 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM85.h - * @brief CMSIS Device System Header File for ARMCM85 Device - * @version V1.0.1 - * @date 11. July 2022 - ******************************************************************************/ -/* - * Copyright (c) 2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef SYSTEM_ARMCM85_H -#define SYSTEM_ARMCM85_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -/** - \brief Exception / Interrupt Handler Function Prototype -*/ -typedef void(*VECTOR_TABLE_Type)(void); - -/** - \brief System Clock Frequency (Core Clock) -*/ -extern uint32_t SystemCoreClock; - -/** - \brief Setup the microcontroller system. - - Initialize the System and update the SystemCoreClock variable. - */ -extern void SystemInit (void); - - -/** - \brief Update SystemCoreClock variable. - - Updates the SystemCoreClock with current core Clock retrieved from cpu registers. - */ -extern void SystemCoreClockUpdate (void); - -#ifdef __cplusplus -} -#endif - -#endif /* SYSTEM_ARMCM85_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMCM85/Source/ARM/ARMCM85_ac6.sct b/external/CMSIS_5/Device/ARM/ARMCM85/Source/ARM/ARMCM85_ac6.sct deleted file mode 100644 index 82b1e2b..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM85/Source/ARM/ARMCM85_ac6.sct +++ /dev/null @@ -1,130 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m85 -xc -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m85 -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000400 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE VeneerBase Address <0x0-0xFFFFFFFF:8> -; 0xFFFFFFFF: Place Veneers at the end of Flash (default) -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_BASE 0xFFFFFFFF -#define __CMSEVENEER_SIZE 0x00000400 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#if defined (__CMSEVENEER_BASE) && (__CMSEVENEER_BASE == 0xFFFFFFFF) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#else -#define __CV_BASE ( __CMSEVENEER_BASE ) -#endif -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE (__RAM_SIZE - __STACK_SIZE - __HEAP_SIZE - __STACKSEAL_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/Device/ARM/ARMCM85/Source/ARM/ARMCM85_ac6_s.sct b/external/CMSIS_5/Device/ARM/ARMCM85/Source/ARM/ARMCM85_ac6_s.sct deleted file mode 100644 index 9229164..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM85/Source/ARM/ARMCM85_ac6_s.sct +++ /dev/null @@ -1,130 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m85 -xc -mcmse -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m85 -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000400 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE VeneerBase Address <0x0-0xFFFFFFFF:8> -; 0xFFFFFFFF: Place Veneers at the end of Flash (default) -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_BASE 0xFFFFFFFF -#define __CMSEVENEER_SIZE 0x00000400 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#if defined (__CMSEVENEER_BASE) && (__CMSEVENEER_BASE == 0xFFFFFFFF) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#else -#define __CV_BASE ( __CMSEVENEER_BASE ) -#endif -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE (__RAM_SIZE - __STACK_SIZE - __HEAP_SIZE - __STACKSEAL_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_NOINIT __RW_BASE UNINIT __RW_SIZE { - *(.bss.noinit) - } - - RW_RAM AlignExpr(+0, 8) (__RW_SIZE - AlignExpr(ImageLength(RW_NOINIT), 8)) { - *(+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/Device/ARM/ARMCM85/Source/GCC/gcc_arm.ld b/external/CMSIS_5/Device/ARM/ARMCM85/Source/GCC/gcc_arm.ld deleted file mode 100644 index 028ca8e..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM85/Source/GCC/gcc_arm.ld +++ /dev/null @@ -1,314 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - ******************************************************************************/ -/* - * Copyright (c) 2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00040000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00020000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -/* ARMv8-M stack sealing: - to use ARMv8-M stack sealing set __STACKSEAL_SIZE to 8 otherwise keep 0 - */ -__STACKSEAL_SIZE = 0; - - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - * __StackSeal (only if ARMv8-M stack sealing is used) - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ -/* - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH -*/ - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* ARMv8-M stack sealing: - to use ARMv8-M stack sealing uncomment '.stackseal' section - */ -/* - .stackseal (ORIGIN(RAM) + LENGTH(RAM) - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackSeal = .; - . = . + 8; - . = ALIGN(8); - } > RAM -*/ - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/Device/ARM/ARMCM85/Source/startup_ARMCM85.c b/external/CMSIS_5/Device/ARM/ARMCM85/Source/startup_ARMCM85.c deleted file mode 100644 index 067871d..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM85/Source/startup_ARMCM85.c +++ /dev/null @@ -1,164 +0,0 @@ -/****************************************************************************** - * @file startup_ARMCM85.c - * @brief CMSIS Device Startup File for ARMCM85 Device - * @version V1.0.0 - * @date 07. February 2022 - ******************************************************************************/ -/* - * Copyright (c) 2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM85) - #include "ARMCM85.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SecureFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - SecureFault_Handler, /* -9 Secure Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 480 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/Device/ARM/ARMCM85/Source/system_ARMCM85.c b/external/CMSIS_5/Device/ARM/ARMCM85/Source/system_ARMCM85.c deleted file mode 100644 index 7a16501..0000000 --- a/external/CMSIS_5/Device/ARM/ARMCM85/Source/system_ARMCM85.c +++ /dev/null @@ -1,106 +0,0 @@ -/**************************************************************************//** - * @file system_ARMCM85.c - * @brief CMSIS Device System Source File for ARMCM85 Device - * @version V1.0.0 - * @date 30. March 2022 - ******************************************************************************/ -/* - * Copyright (c) 2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMCM85) - #include "ARMCM85.h" - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMCM85.h" - #endif -#else - #error device not specified! -#endif - - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t)(&__VECTOR_TABLE[0]); -#endif - - /* Set CPDLPSTATE.RLPSTATE to 0 - Set CPDLPSTATE.ELPSTATE to 0, to stop the processor from trying to switch the EPU into retention state. - Set CPDLPSTATE.CLPSTATE to 0, so PDCORE will not enter low-power state. */ - PWRMODCTL->CPDLPSTATE &= ~(PWRMODCTL_CPDLPSTATE_RLPSTATE_Msk | - PWRMODCTL_CPDLPSTATE_ELPSTATE_Msk | - PWRMODCTL_CPDLPSTATE_CLPSTATE_Msk ); - -#if (defined (__FPU_USED) && (__FPU_USED == 1U)) || \ - (defined (__ARM_FEATURE_MVE) && (__ARM_FEATURE_MVE > 0U)) - SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ - (3U << 11U*2U) ); /* enable CP11 Full Access */ - - /* Favor best FP/MVE performance by default, avoid EPU switch-ON delays */ - /* PDEPU ON, Clock OFF */ - PWRMODCTL->CPDLPSTATE |= 0x1 << PWRMODCTL_CPDLPSTATE_ELPSTATE_Pos; -#endif - -#ifdef UNALIGNED_SUPPORT_DISABLE - SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; -#endif - - /* Enable Loop and branch info cache */ - SCB->CCR |= SCB_CCR_LOB_Msk; - - /* Enable Branch Prediction */ - SCB->CCR |= SCB_CCR_BP_Msk; - - __DSB(); - __ISB(); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - TZ_SAU_Setup(); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/Device/ARM/ARMSC000/Include/ARMSC000.h b/external/CMSIS_5/Device/ARM/ARMSC000/Include/ARMSC000.h deleted file mode 100644 index f0b69c5..0000000 --- a/external/CMSIS_5/Device/ARM/ARMSC000/Include/ARMSC000.h +++ /dev/null @@ -1,126 +0,0 @@ -/**************************************************************************//** - * @file ARMSC000.h - * @brief CMSIS Core Peripheral Access Layer Header File for - * ARMSC000 Device - * @version V5.3.2 - * @date 10. Jan 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ARMSC000_H -#define ARMSC000_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* ------------------------- Interrupt Number Definition ------------------------ */ - -typedef enum IRQn -{ -/* ------------------- Processor Exceptions Numbers ----------------------------- */ - NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /* 3 HardFault Interrupt */ - - - - SVCall_IRQn = -5, /* 11 SVC Interrupt */ - - PendSV_IRQn = -2, /* 14 PendSV Interrupt */ - SysTick_IRQn = -1, /* 15 System Tick Interrupt */ - -/* ------------------- Processor Interrupt Numbers ------------------------------ */ - Interrupt0_IRQn = 0, - Interrupt1_IRQn = 1, - Interrupt2_IRQn = 2, - Interrupt3_IRQn = 3, - Interrupt4_IRQn = 4, - Interrupt5_IRQn = 5, - Interrupt6_IRQn = 6, - Interrupt7_IRQn = 7, - Interrupt8_IRQn = 8, - Interrupt9_IRQn = 9 - /* Interrupts 10 .. 31 are left out */ -} IRQn_Type; - - -/* ================================================================================ */ -/* ================ Processor and Core Peripheral Section ================ */ -/* ================================================================================ */ - -/* ------- Start of section using anonymous unions and disabling warnings ------- */ -#if defined (__CC_ARM) - #pragma push - #pragma anon_unions -#elif defined (__ICCARM__) - #pragma language=extended -#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wc11-extensions" - #pragma clang diagnostic ignored "-Wreserved-id-macro" -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning 586 -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -/* -------- Configuration of Core Peripherals ----------------------------------- */ -#define __SC000_REV 0x0000U /* Core revision r0p0 */ -#define __MPU_PRESENT 1U /* MPU present */ -#define __VTOR_PRESENT 0U /* no VTOR present*/ -#define __NVIC_PRIO_BITS 2U /* Number of Bits used for Priority Levels */ -#define __Vendor_SysTickConfig 0U /* Set to 1 if different SysTick Config is used */ - -#include "core_sc000.h" /* Processor and core peripherals */ -#include "system_ARMSC000.h" /* System Header */ - - -/* -------- End of section using anonymous unions and disabling warnings -------- */ -#if defined (__CC_ARM) - #pragma pop -#elif defined (__ICCARM__) - /* leave anonymous unions enabled */ -#elif (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) - #pragma clang diagnostic pop -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning restore -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* ARMSC000_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMSC000/Include/system_ARMSC000.h b/external/CMSIS_5/Device/ARM/ARMSC000/Include/system_ARMSC000.h deleted file mode 100644 index aeeb783..0000000 --- a/external/CMSIS_5/Device/ARM/ARMSC000/Include/system_ARMSC000.h +++ /dev/null @@ -1,64 +0,0 @@ -/**************************************************************************//** - * @file system_ARMSC000.h - * @brief CMSIS Device System Header File for - * ARMSC000 Device - * @version V5.3.3 - * @date 11. July 2022 - ******************************************************************************/ -/* - * Copyright (c) 2009-2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef SYSTEM_ARMSC000_H -#define SYSTEM_ARMSC000_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -/** - \brief Exception / Interrupt Handler Function Prototype -*/ -typedef void(*VECTOR_TABLE_Type)(void); - -/** - \brief System Clock Frequency (Core Clock) -*/ -extern uint32_t SystemCoreClock; - -/** - \brief Setup the microcontroller system. - - Initialize the System and update the SystemCoreClock variable. - */ -extern void SystemInit (void); - - -/** - \brief Update SystemCoreClock variable. - - Updates the SystemCoreClock with current core Clock retrieved from cpu registers. - */ -extern void SystemCoreClockUpdate (void); - -#ifdef __cplusplus -} -#endif - -#endif /* SYSTEM_ARMSC000_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMSC000/Source/ARM/ARMSC000_ac5.sct b/external/CMSIS_5/Device/ARM/ARMSC000/Source/ARM/ARMSC000_ac5.sct deleted file mode 100644 index 4c87ef8..0000000 --- a/external/CMSIS_5/Device/ARM/ARMSC000/Source/ARM/ARMSC000_ac5.sct +++ /dev/null @@ -1,76 +0,0 @@ -#! armcc -E -; command above MUST be in first line (no comment above!) - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE) /* starts at end of RAM */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - - -/*---------------------------------------------------------------------------- - Scatter File Definitions definition - *----------------------------------------------------------------------------*/ -#define __RO_BASE __ROM_BASE -#define __RO_SIZE __ROM_SIZE - -#define __RW_BASE __RAM_BASE -#define __RW_SIZE (__RAM_SIZE - __STACK_SIZE - __HEAP_SIZE) - - -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_RAM __RW_BASE __RW_SIZE { ; RW data - .ANY (+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } -} diff --git a/external/CMSIS_5/Device/ARM/ARMSC000/Source/ARM/ARMSC000_ac6.sct b/external/CMSIS_5/Device/ARM/ARMSC000/Source/ARM/ARMSC000_ac6.sct deleted file mode 100644 index a01fdb4..0000000 --- a/external/CMSIS_5/Device/ARM/ARMSC000/Source/ARM/ARMSC000_ac6.sct +++ /dev/null @@ -1,76 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=sc000 -xc -; command above MUST be in first line (no comment above!) - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE) /* starts at end of RAM */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - - -/*---------------------------------------------------------------------------- - Scatter File Definitions definition - *----------------------------------------------------------------------------*/ -#define __RO_BASE __ROM_BASE -#define __RO_SIZE __ROM_SIZE - -#define __RW_BASE __RAM_BASE -#define __RW_SIZE (__RAM_SIZE - __STACK_SIZE - __HEAP_SIZE) - - -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_RAM __RW_BASE __RW_SIZE { ; RW data - .ANY (+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } -} diff --git a/external/CMSIS_5/Device/ARM/ARMSC000/Source/ARM/startup_ARMSC000.s b/external/CMSIS_5/Device/ARM/ARMSC000/Source/ARM/startup_ARMSC000.s deleted file mode 100644 index 37df773..0000000 --- a/external/CMSIS_5/Device/ARM/ARMSC000/Source/ARM/startup_ARMSC000.s +++ /dev/null @@ -1,168 +0,0 @@ -;/**************************************************************************//** -; * @file startup_ARMSC000.s -; * @brief CMSIS Core Device Startup File for -; * ARMSC000 Device -; * @version V1.0.1 -; * @date 23. July 2019 -; ******************************************************************************/ -;/* -; * Copyright (c) 2009-2019 Arm Limited. All rights reserved. -; * -; * SPDX-License-Identifier: Apache-2.0 -; * -; * Licensed under the Apache License, Version 2.0 (the License); you may -; * not use this file except in compliance with the License. -; * You may obtain a copy of the License at -; * -; * www.apache.org/licenses/LICENSE-2.0 -; * -; * Unless required by applicable law or agreed to in writing, software -; * distributed under the License is distributed on an AS IS BASIS, WITHOUT -; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; * See the License for the specific language governing permissions and -; * limitations under the License. -; */ - -;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ - - -; Stack Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Stack_Size EQU 0x00000400 - - AREA STACK, NOINIT, READWRITE, ALIGN=3 -__stack_limit -Stack_Mem SPACE Stack_Size -__initial_sp - - -; Heap Configuration -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Heap_Size EQU 0x00000C00 - - IF Heap_Size != 0 ; Heap is provided - AREA HEAP, NOINIT, READWRITE, ALIGN=3 -__heap_base -Heap_Mem SPACE Heap_Size -__heap_limit - ENDIF - - - PRESERVE8 - THUMB - - -; Vector Table Mapped to Address 0 at Reset - - AREA RESET, DATA, READONLY - EXPORT __Vectors - EXPORT __Vectors_End - EXPORT __Vectors_Size - -__Vectors DCD __initial_sp ; Top of Stack - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; -14 NMI Handler - DCD HardFault_Handler ; -13 Hard Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; -5 SVC Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD PendSV_Handler ; -2 PendSV Handler - DCD SysTick_Handler ; -1 SysTick Handler - - ; Interrupts - DCD Interrupt0_Handler ; 0 Interrupt 0 - DCD Interrupt1_Handler ; 1 Interrupt 1 - DCD Interrupt2_Handler ; 2 Interrupt 2 - DCD Interrupt3_Handler ; 3 Interrupt 3 - DCD Interrupt4_Handler ; 4 Interrupt 4 - DCD Interrupt5_Handler ; 5 Interrupt 5 - DCD Interrupt6_Handler ; 6 Interrupt 6 - DCD Interrupt7_Handler ; 7 Interrupt 7 - DCD Interrupt8_Handler ; 8 Interrupt 8 - DCD Interrupt9_Handler ; 9 Interrupt 9 - - SPACE ( 22 * 4) ; Interrupts 10 .. 31 are left out -__Vectors_End -__Vectors_Size EQU __Vectors_End - __Vectors - - - AREA |.text|, CODE, READONLY - -; Reset Handler - -Reset_Handler PROC - EXPORT Reset_Handler [WEAK] - IMPORT SystemInit - IMPORT __main - - LDR R0, =SystemInit - BLX R0 - LDR R0, =__main - BX R0 - ENDP - -; The default macro is not used for HardFault_Handler -; because this results in a poor debug illusion. -HardFault_Handler PROC - EXPORT HardFault_Handler [WEAK] - B . - ENDP - -; Macro to define default exception/interrupt handlers. -; Default handler are weak symbols with an endless loop. -; They can be overwritten by real handlers. - MACRO - Set_Default_Handler $Handler_Name -$Handler_Name PROC - EXPORT $Handler_Name [WEAK] - B . - ENDP - MEND - - -; Default exception/interrupt handler - - Set_Default_Handler NMI_Handler - Set_Default_Handler SVC_Handler - Set_Default_Handler PendSV_Handler - Set_Default_Handler SysTick_Handler - - Set_Default_Handler Interrupt0_Handler - Set_Default_Handler Interrupt1_Handler - Set_Default_Handler Interrupt2_Handler - Set_Default_Handler Interrupt3_Handler - Set_Default_Handler Interrupt4_Handler - Set_Default_Handler Interrupt5_Handler - Set_Default_Handler Interrupt6_Handler - Set_Default_Handler Interrupt7_Handler - Set_Default_Handler Interrupt8_Handler - Set_Default_Handler Interrupt9_Handler - - ALIGN - - -; User setup Stack & Heap - - IF :LNOT::DEF:__MICROLIB - IMPORT __use_two_region_memory - ENDIF - - EXPORT __stack_limit - EXPORT __initial_sp - IF Heap_Size != 0 ; Heap is provided - EXPORT __heap_base - EXPORT __heap_limit - ENDIF - - END diff --git a/external/CMSIS_5/Device/ARM/ARMSC000/Source/GCC/gcc_arm.ld b/external/CMSIS_5/Device/ARM/ARMSC000/Source/GCC/gcc_arm.ld deleted file mode 100644 index 7498908..0000000 --- a/external/CMSIS_5/Device/ARM/ARMSC000/Source/GCC/gcc_arm.ld +++ /dev/null @@ -1,296 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.1.0 - * @date 04. August 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00040000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00020000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ -/* - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH -*/ - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/Device/ARM/ARMSC000/Source/GCC/startup_ARMSC000.S b/external/CMSIS_5/Device/ARM/ARMSC000/Source/GCC/startup_ARMSC000.S deleted file mode 100644 index 2b5fcbd..0000000 --- a/external/CMSIS_5/Device/ARM/ARMSC000/Source/GCC/startup_ARMSC000.S +++ /dev/null @@ -1,181 +0,0 @@ -/**************************************************************************//** - * @file startup_ARMSC000.S - * @brief CMSIS-Core(M) Device Startup File for SC000 Device - * @version V2.2.0 - * @date 26. May 2021 - ******************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - .syntax unified - .arch armv6-m - - .section .vectors - .align 2 - .globl __Vectors - .globl __Vectors_End - .globl __Vectors_Size -__Vectors: - .long __StackTop /* Top of Stack */ - .long Reset_Handler /* Reset Handler */ - .long NMI_Handler /* -14 NMI Handler */ - .long HardFault_Handler /* -13 Hard Fault Handler */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long SVC_Handler /* -5 SVC Handler */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long PendSV_Handler /* -2 PendSV Handler */ - .long SysTick_Handler /* -1 SysTick Handler */ - - /* Interrupts */ - .long Interrupt0_Handler /* 0 Interrupt 0 */ - .long Interrupt1_Handler /* 1 Interrupt 1 */ - .long Interrupt2_Handler /* 2 Interrupt 2 */ - .long Interrupt3_Handler /* 3 Interrupt 3 */ - .long Interrupt4_Handler /* 4 Interrupt 4 */ - .long Interrupt5_Handler /* 5 Interrupt 5 */ - .long Interrupt6_Handler /* 6 Interrupt 6 */ - .long Interrupt7_Handler /* 7 Interrupt 7 */ - .long Interrupt8_Handler /* 8 Interrupt 8 */ - .long Interrupt9_Handler /* 9 Interrupt 9 */ - - .space ( 22 * 4) /* Interrupts 10 .. 31 are left out */ -__Vectors_End: - .equ __Vectors_Size, __Vectors_End - __Vectors - .size __Vectors, . - __Vectors - - - .thumb - .section .text - .align 2 - - .thumb_func - .type Reset_Handler, %function - .globl Reset_Handler - .fnstart -Reset_Handler: - bl SystemInit - - ldr r4, =__copy_table_start__ - ldr r5, =__copy_table_end__ - -.L_loop0: - cmp r4, r5 - bge .L_loop0_done - ldr r1, [r4] /* source address */ - ldr r2, [r4, #4] /* destination address */ - ldr r3, [r4, #8] /* word count */ - lsls r3, r3, #2 /* byte count */ - -.L_loop0_0: - subs r3, #4 /* decrement byte count */ - blt .L_loop0_0_done - ldr r0, [r1, r3] - str r0, [r2, r3] - b .L_loop0_0 - -.L_loop0_0_done: - adds r4, #12 - b .L_loop0 - -.L_loop0_done: - - ldr r3, =__zero_table_start__ - ldr r4, =__zero_table_end__ - -.L_loop2: - cmp r3, r4 - bge .L_loop2_done - ldr r1, [r3] /* destination address */ - ldr r2, [r3, #4] /* word count */ - lsls r2, r2, #2 /* byte count */ - movs r0, 0 - -.L_loop2_0: - subs r2, #4 /* decrement byte count */ - blt .L_loop2_0_done - str r0, [r1, r2] - b .L_loop2_0 -.L_loop2_0_done: - - adds r3, #8 - b .L_loop2 -.L_loop2_done: - - bl _start - - .fnend - .size Reset_Handler, . - Reset_Handler - -/* The default macro is not used for HardFault_Handler - * because this results in a poor debug illusion. - */ - .thumb_func - .type HardFault_Handler, %function - .weak HardFault_Handler - .fnstart -HardFault_Handler: - b . - .fnend - .size HardFault_Handler, . - HardFault_Handler - - .thumb_func - .type Default_Handler, %function - .weak Default_Handler - .fnstart -Default_Handler: - b . - .fnend - .size Default_Handler, . - Default_Handler - -/* Macro to define default exception/interrupt handlers. - * Default handler are weak symbols with an endless loop. - * They can be overwritten by real handlers. - */ - .macro Set_Default_Handler Handler_Name - .weak \Handler_Name - .set \Handler_Name, Default_Handler - .endm - - -/* Default exception/interrupt handler */ - - Set_Default_Handler NMI_Handler - Set_Default_Handler SVC_Handler - Set_Default_Handler PendSV_Handler - Set_Default_Handler SysTick_Handler - - Set_Default_Handler Interrupt0_Handler - Set_Default_Handler Interrupt1_Handler - Set_Default_Handler Interrupt2_Handler - Set_Default_Handler Interrupt3_Handler - Set_Default_Handler Interrupt4_Handler - Set_Default_Handler Interrupt5_Handler - Set_Default_Handler Interrupt6_Handler - Set_Default_Handler Interrupt7_Handler - Set_Default_Handler Interrupt8_Handler - Set_Default_Handler Interrupt9_Handler - - - .end diff --git a/external/CMSIS_5/Device/ARM/ARMSC000/Source/IAR/startup_ARMSC000.s b/external/CMSIS_5/Device/ARM/ARMSC000/Source/IAR/startup_ARMSC000.s deleted file mode 100644 index 1f44905..0000000 --- a/external/CMSIS_5/Device/ARM/ARMSC000/Source/IAR/startup_ARMSC000.s +++ /dev/null @@ -1,147 +0,0 @@ -;/**************************************************************************//** -; * @file startup_ARMSC000.s -; * @brief CMSIS Core Device Startup File for -; * for ARMSC000 Device -; * @version V1.0.0 -; * @date 09. July 2018 -; ******************************************************************************/ -;/* -; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. -; * -; * SPDX-License-Identifier: Apache-2.0 -; * -; * Licensed under the Apache License, Version 2.0 (the License); you may -; * not use this file except in compliance with the License. -; * You may obtain a copy of the License at -; * -; * www.apache.org/licenses/LICENSE-2.0 -; * -; * Unless required by applicable law or agreed to in writing, software -; * distributed under the License is distributed on an AS IS BASIS, WITHOUT -; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; * See the License for the specific language governing permissions and -; * limitations under the License. -; */ - -; -; The modules in this file are included in the libraries, and may be replaced -; by any user-defined modules that define the PUBLIC symbol _program_start or -; a user defined start symbol. -; To override the cstartup defined in the library, simply add your modified -; version to the workbench project. -; -; The vector table is normally located at address 0. -; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. -; The name "__vector_table" has special meaning for C-SPY: -; it is where the SP start value is found, and the NVIC vector -; table register (VTOR) is initialized to this address if != 0. -; -; Cortex-M version -; - - MODULE ?cstartup - - ;; Forward declaration of sections. - SECTION CSTACK:DATA:NOROOT(3) - - SECTION .intvec:CODE:NOROOT(2) - - EXTERN __iar_program_start - EXTERN SystemInit - PUBLIC __vector_table - PUBLIC __vector_table_0x1c - PUBLIC __Vectors - PUBLIC __Vectors_End - PUBLIC __Vectors_Size - - DATA - -__vector_table - DCD sfe(CSTACK) ; Top of Stack - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; -14 NMI Handler - DCD HardFault_Handler ; -13 Hard Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved -__vector_table_0x1c - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; -5 SVC Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD PendSV_Handler ; -2 PendSV Handler - DCD SysTick_Handler ; -1 SysTick Handler - - ; Interrupts - DCD Interrupt0_Handler ; 0 Interrupt 0 - DCD Interrupt1_Handler ; 1 Interrupt 1 - DCD Interrupt2_Handler ; 2 Interrupt 2 - DCD Interrupt3_Handler ; 3 Interrupt 3 - DCD Interrupt4_Handler ; 4 Interrupt 4 - DCD Interrupt5_Handler ; 5 Interrupt 5 - DCD Interrupt6_Handler ; 6 Interrupt 6 - DCD Interrupt7_Handler ; 7 Interrupt 7 - DCD Interrupt8_Handler ; 8 Interrupt 8 - DCD Interrupt9_Handler ; 9 Interrupt 9 - - DS32 ( 22) ; Interrupts 10 .. 31 are left out -__Vectors_End - -__Vectors EQU __vector_table -__Vectors_Size EQU __Vectors_End - __Vectors - - - THUMB - -; Reset Handler - - PUBWEAK Reset_Handler - SECTION .text:CODE:REORDER:NOROOT(2) -Reset_Handler - LDR R0, =SystemInit - BLX R0 - LDR R0, =__iar_program_start - BX R0 - - - PUBWEAK NMI_Handler - PUBWEAK HardFault_Handler - PUBWEAK SVC_Handler - PUBWEAK PendSV_Handler - PUBWEAK SysTick_Handler - - PUBWEAK Interrupt0_Handler - PUBWEAK Interrupt1_Handler - PUBWEAK Interrupt2_Handler - PUBWEAK Interrupt3_Handler - PUBWEAK Interrupt4_Handler - PUBWEAK Interrupt5_Handler - PUBWEAK Interrupt6_Handler - PUBWEAK Interrupt7_Handler - PUBWEAK Interrupt8_Handler - PUBWEAK Interrupt9_Handler - SECTION .text:CODE:REORDER:NOROOT(1) -NMI_Handler -HardFault_Handler -SVC_Handler -PendSV_Handler -SysTick_Handler - -Interrupt0_Handler -Interrupt1_Handler -Interrupt2_Handler -Interrupt3_Handler -Interrupt4_Handler -Interrupt5_Handler -Interrupt6_Handler -Interrupt7_Handler -Interrupt8_Handler -Interrupt9_Handler -Default_Handler - B . - - - END diff --git a/external/CMSIS_5/Device/ARM/ARMSC000/Source/startup_ARMSC000.c b/external/CMSIS_5/Device/ARM/ARMSC000/Source/startup_ARMSC000.c deleted file mode 100644 index 1206133..0000000 --- a/external/CMSIS_5/Device/ARM/ARMSC000/Source/startup_ARMSC000.c +++ /dev/null @@ -1,146 +0,0 @@ -/****************************************************************************** - * @file startup_ARMSC000.c - * @brief CMSIS-Core(M) Device Startup File for a SC000 Device - * @version V2.0.3 - * @date 31. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMSC000) - #include "ARMSC000.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[48]; - const VECTOR_TABLE_Type __VECTOR_TABLE[48] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10..31 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/Device/ARM/ARMSC000/Source/system_ARMSC000.c b/external/CMSIS_5/Device/ARM/ARMSC000/Source/system_ARMSC000.c deleted file mode 100644 index 914bf11..0000000 --- a/external/CMSIS_5/Device/ARM/ARMSC000/Source/system_ARMSC000.c +++ /dev/null @@ -1,56 +0,0 @@ -/**************************************************************************//** - * @file system_ARMSC000.c - * @brief CMSIS Device System Source File for - * for ARMSC000 Device - * @version V1.0.0 - * @date 09. July 2018 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "ARMSC000.h" - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/Device/ARM/ARMSC300/Include/ARMSC300.h b/external/CMSIS_5/Device/ARM/ARMSC300/Include/ARMSC300.h deleted file mode 100644 index b835e28..0000000 --- a/external/CMSIS_5/Device/ARM/ARMSC300/Include/ARMSC300.h +++ /dev/null @@ -1,126 +0,0 @@ -/**************************************************************************//** - * @file ARMSC300.h - * @brief CMSIS Core Peripheral Access Layer Header File for - * ARMSC300 Device - * @version V5.3.2 - * @date 10. Jan 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ARMSC300_H -#define ARMSC300_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* ------------------------- Interrupt Number Definition ------------------------ */ - -typedef enum IRQn -{ -/* ------------------- Processor Exceptions Numbers ----------------------------- */ - NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /* 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /* 4 Memory Management Interrupt */ - BusFault_IRQn = -11, /* 5 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /* 6 Usage Fault Interrupt */ - SVCall_IRQn = -5, /* 11 SVC Interrupt */ - DebugMonitor_IRQn = -4, /* 12 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /* 14 PendSV Interrupt */ - SysTick_IRQn = -1, /* 15 System Tick Interrupt */ - -/* ------------------- Processor Interrupt Numbers ------------------------------ */ - Interrupt0_IRQn = 0, - Interrupt1_IRQn = 1, - Interrupt2_IRQn = 2, - Interrupt3_IRQn = 3, - Interrupt4_IRQn = 4, - Interrupt5_IRQn = 5, - Interrupt6_IRQn = 6, - Interrupt7_IRQn = 7, - Interrupt8_IRQn = 8, - Interrupt9_IRQn = 9 - /* Interrupts 10 .. 224 are left out */ -} IRQn_Type; - - -/* ================================================================================ */ -/* ================ Processor and Core Peripheral Section ================ */ -/* ================================================================================ */ - -/* ------- Start of section using anonymous unions and disabling warnings ------- */ -#if defined (__CC_ARM) - #pragma push - #pragma anon_unions -#elif defined (__ICCARM__) - #pragma language=extended -#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wc11-extensions" - #pragma clang diagnostic ignored "-Wreserved-id-macro" -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning 586 -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -/* -------- Configuration of Core Peripherals ----------------------------------- */ -#define __SC300_REV 0x0000U /* Core revision r0p0 */ -#define __MPU_PRESENT 1U /* MPU present */ -#define __VTOR_PRESENT 1U /* VTOR present */ -#define __NVIC_PRIO_BITS 3U /* Number of Bits used for Priority Levels */ -#define __Vendor_SysTickConfig 0U /* Set to 1 if different SysTick Config is used */ - -#include "core_sc300.h" /* Processor and core peripherals */ -#include "system_ARMSC300.h" /* System Header */ - - -/* -------- End of section using anonymous unions and disabling warnings -------- */ -#if defined (__CC_ARM) - #pragma pop -#elif defined (__ICCARM__) - /* leave anonymous unions enabled */ -#elif (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) - #pragma clang diagnostic pop -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning restore -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* ARMSC300_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMSC300/Include/system_ARMSC300.h b/external/CMSIS_5/Device/ARM/ARMSC300/Include/system_ARMSC300.h deleted file mode 100644 index 3f3617e..0000000 --- a/external/CMSIS_5/Device/ARM/ARMSC300/Include/system_ARMSC300.h +++ /dev/null @@ -1,65 +0,0 @@ -/**************************************************************************//** - * @file system_ARMSC300.h - * @brief CMSIS Device System Header File for - * ARMSC300 Device - * @version V5.3.3 - * @date 11. July 2022 - ******************************************************************************/ -/* - * Copyright (c) 2009-2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef SYSTEM_ARMSC300_H -#define SYSTEM_ARMSC300_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -/** - \brief Exception / Interrupt Handler Function Prototype -*/ -typedef void(*VECTOR_TABLE_Type)(void); - -/** - \brief System Clock Frequency (Core Clock) -*/ -extern uint32_t SystemCoreClock; - - -/** - \brief Setup the microcontroller system. - - Initialize the System and update the SystemCoreClock variable. - */ -extern void SystemInit (void); - - -/** - \brief Update SystemCoreClock variable. - - Updates the SystemCoreClock with current core Clock retrieved from cpu registers. - */ -extern void SystemCoreClockUpdate (void); - -#ifdef __cplusplus -} -#endif - -#endif /* SYSTEM_ARMSC300_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMSC300/Source/ARM/ARMSC300_ac5.sct b/external/CMSIS_5/Device/ARM/ARMSC300/Source/ARM/ARMSC300_ac5.sct deleted file mode 100644 index 4c87ef8..0000000 --- a/external/CMSIS_5/Device/ARM/ARMSC300/Source/ARM/ARMSC300_ac5.sct +++ /dev/null @@ -1,76 +0,0 @@ -#! armcc -E -; command above MUST be in first line (no comment above!) - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE) /* starts at end of RAM */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - - -/*---------------------------------------------------------------------------- - Scatter File Definitions definition - *----------------------------------------------------------------------------*/ -#define __RO_BASE __ROM_BASE -#define __RO_SIZE __ROM_SIZE - -#define __RW_BASE __RAM_BASE -#define __RW_SIZE (__RAM_SIZE - __STACK_SIZE - __HEAP_SIZE) - - -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_RAM __RW_BASE __RW_SIZE { ; RW data - .ANY (+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } -} diff --git a/external/CMSIS_5/Device/ARM/ARMSC300/Source/ARM/ARMSC300_ac6.sct b/external/CMSIS_5/Device/ARM/ARMSC300/Source/ARM/ARMSC300_ac6.sct deleted file mode 100644 index 475f1b7..0000000 --- a/external/CMSIS_5/Device/ARM/ARMSC300/Source/ARM/ARMSC300_ac6.sct +++ /dev/null @@ -1,76 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu=sc300 -xc -; command above MUST be in first line (no comment above!) - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE) /* starts at end of RAM */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - - -/*---------------------------------------------------------------------------- - Scatter File Definitions definition - *----------------------------------------------------------------------------*/ -#define __RO_BASE __ROM_BASE -#define __RO_SIZE __ROM_SIZE - -#define __RW_BASE __RAM_BASE -#define __RW_SIZE (__RAM_SIZE - __STACK_SIZE - __HEAP_SIZE) - - -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_RAM __RW_BASE __RW_SIZE { ; RW data - .ANY (+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } -} diff --git a/external/CMSIS_5/Device/ARM/ARMSC300/Source/ARM/startup_ARMSC300.s b/external/CMSIS_5/Device/ARM/ARMSC300/Source/ARM/startup_ARMSC300.s deleted file mode 100644 index 74640ea..0000000 --- a/external/CMSIS_5/Device/ARM/ARMSC300/Source/ARM/startup_ARMSC300.s +++ /dev/null @@ -1,172 +0,0 @@ -;/**************************************************************************//** -; * @file startup_ARMSC300.s -; * @brief CMSIS Core Device Startup File for -; * ARMSC300 Device -; * @version V1.0.1 -; * @date 23. July 2019 -; ******************************************************************************/ -;/* -; * Copyright (c) 2009-2019 Arm Limited. All rights reserved. -; * -; * SPDX-License-Identifier: Apache-2.0 -; * -; * Licensed under the Apache License, Version 2.0 (the License); you may -; * not use this file except in compliance with the License. -; * You may obtain a copy of the License at -; * -; * www.apache.org/licenses/LICENSE-2.0 -; * -; * Unless required by applicable law or agreed to in writing, software -; * distributed under the License is distributed on an AS IS BASIS, WITHOUT -; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; * See the License for the specific language governing permissions and -; * limitations under the License. -; */ - -;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ - - -; Stack Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Stack_Size EQU 0x00000400 - - AREA STACK, NOINIT, READWRITE, ALIGN=3 -__stack_limit -Stack_Mem SPACE Stack_Size -__initial_sp - - -; Heap Configuration -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Heap_Size EQU 0x00000C00 - - IF Heap_Size != 0 ; Heap is provided - AREA HEAP, NOINIT, READWRITE, ALIGN=3 -__heap_base -Heap_Mem SPACE Heap_Size -__heap_limit - ENDIF - - - PRESERVE8 - THUMB - - -; Vector Table Mapped to Address 0 at Reset - - AREA RESET, DATA, READONLY - EXPORT __Vectors - EXPORT __Vectors_End - EXPORT __Vectors_Size - -__Vectors DCD __initial_sp ; Top of Stack - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; -14 NMI Handler - DCD HardFault_Handler ; -13 Hard Fault Handler - DCD MemManage_Handler ; -12 MPU Fault Handler - DCD BusFault_Handler ; -11 Bus Fault Handler - DCD UsageFault_Handler ; -10 Usage Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; -5 SVC Handler - DCD DebugMon_Handler ; -4 Debug Monitor Handler - DCD 0 ; Reserved - DCD PendSV_Handler ; -2 PendSV Handler - DCD SysTick_Handler ; -1 SysTick Handler - - ; Interrupts - DCD Interrupt0_Handler ; 0 Interrupt 0 - DCD Interrupt1_Handler ; 1 Interrupt 1 - DCD Interrupt2_Handler ; 2 Interrupt 2 - DCD Interrupt3_Handler ; 3 Interrupt 3 - DCD Interrupt4_Handler ; 4 Interrupt 4 - DCD Interrupt5_Handler ; 5 Interrupt 5 - DCD Interrupt6_Handler ; 6 Interrupt 6 - DCD Interrupt7_Handler ; 7 Interrupt 7 - DCD Interrupt8_Handler ; 8 Interrupt 8 - DCD Interrupt9_Handler ; 9 Interrupt 9 - - SPACE (214 * 4) ; Interrupts 10 .. 224 are left out -__Vectors_End -__Vectors_Size EQU __Vectors_End - __Vectors - - - AREA |.text|, CODE, READONLY - -; Reset Handler - -Reset_Handler PROC - EXPORT Reset_Handler [WEAK] - IMPORT SystemInit - IMPORT __main - - LDR R0, =SystemInit - BLX R0 - LDR R0, =__main - BX R0 - ENDP - -; The default macro is not used for HardFault_Handler -; because this results in a poor debug illusion. -HardFault_Handler PROC - EXPORT HardFault_Handler [WEAK] - B . - ENDP - -; Macro to define default exception/interrupt handlers. -; Default handler are weak symbols with an endless loop. -; They can be overwritten by real handlers. - MACRO - Set_Default_Handler $Handler_Name -$Handler_Name PROC - EXPORT $Handler_Name [WEAK] - B . - ENDP - MEND - - -; Default exception/interrupt handler - - Set_Default_Handler NMI_Handler - Set_Default_Handler MemManage_Handler - Set_Default_Handler BusFault_Handler - Set_Default_Handler UsageFault_Handler - Set_Default_Handler SVC_Handler - Set_Default_Handler DebugMon_Handler - Set_Default_Handler PendSV_Handler - Set_Default_Handler SysTick_Handler - - Set_Default_Handler Interrupt0_Handler - Set_Default_Handler Interrupt1_Handler - Set_Default_Handler Interrupt2_Handler - Set_Default_Handler Interrupt3_Handler - Set_Default_Handler Interrupt4_Handler - Set_Default_Handler Interrupt5_Handler - Set_Default_Handler Interrupt6_Handler - Set_Default_Handler Interrupt7_Handler - Set_Default_Handler Interrupt8_Handler - Set_Default_Handler Interrupt9_Handler - - ALIGN - - -; User setup Stack & Heap - - IF :LNOT::DEF:__MICROLIB - IMPORT __use_two_region_memory - ENDIF - - EXPORT __stack_limit - EXPORT __initial_sp - IF Heap_Size != 0 ; Heap is provided - EXPORT __heap_base - EXPORT __heap_limit - ENDIF - - END diff --git a/external/CMSIS_5/Device/ARM/ARMSC300/Source/GCC/gcc_arm.ld b/external/CMSIS_5/Device/ARM/ARMSC300/Source/GCC/gcc_arm.ld deleted file mode 100644 index 7498908..0000000 --- a/external/CMSIS_5/Device/ARM/ARMSC300/Source/GCC/gcc_arm.ld +++ /dev/null @@ -1,296 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.1.0 - * @date 04. August 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00040000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00020000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ -/* - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH -*/ - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/Device/ARM/ARMSC300/Source/GCC/startup_ARMSC300.S b/external/CMSIS_5/Device/ARM/ARMSC300/Source/GCC/startup_ARMSC300.S deleted file mode 100644 index df1a54c..0000000 --- a/external/CMSIS_5/Device/ARM/ARMSC300/Source/GCC/startup_ARMSC300.S +++ /dev/null @@ -1,182 +0,0 @@ -/**************************************************************************//** - * @file startup_ARMSC300.S - * @brief CMSIS-Core(M) Device Startup File for SC300 Device - * @version V2.2.0 - * @date 26. May 2021 - ******************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - .syntax unified - .arch armv7-m - - .section .vectors - .align 2 - .globl __Vectors - .globl __Vectors_End - .globl __Vectors_Size -__Vectors: - .long __StackTop /* Top of Stack */ - .long Reset_Handler /* Reset Handler */ - .long NMI_Handler /* -14 NMI Handler */ - .long HardFault_Handler /* -13 Hard Fault Handler */ - .long MemManage_Handler /* -12 MPU Fault Handler */ - .long BusFault_Handler /* -11 Bus Fault Handler */ - .long UsageFault_Handler /* -10 Usage Fault Handler */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long SVC_Handler /* -5 SVC Handler */ - .long DebugMon_Handler /* -4 Debug Monitor Handler */ - .long 0 /* Reserved */ - .long PendSV_Handler /* -2 PendSV Handler */ - .long SysTick_Handler /* -1 SysTick Handler */ - - /* Interrupts */ - .long Interrupt0_Handler /* 0 Interrupt 0 */ - .long Interrupt1_Handler /* 1 Interrupt 1 */ - .long Interrupt2_Handler /* 2 Interrupt 2 */ - .long Interrupt3_Handler /* 3 Interrupt 3 */ - .long Interrupt4_Handler /* 4 Interrupt 4 */ - .long Interrupt5_Handler /* 5 Interrupt 5 */ - .long Interrupt6_Handler /* 6 Interrupt 6 */ - .long Interrupt7_Handler /* 7 Interrupt 7 */ - .long Interrupt8_Handler /* 8 Interrupt 8 */ - .long Interrupt9_Handler /* 9 Interrupt 9 */ - - .space (214 * 4) /* Interrupts 10 .. 224 are left out */ -__Vectors_End: - .equ __Vectors_Size, __Vectors_End - __Vectors - .size __Vectors, . - __Vectors - - - .thumb - .section .text - .align 2 - - .thumb_func - .type Reset_Handler, %function - .globl Reset_Handler - .fnstart -Reset_Handler: - bl SystemInit - - ldr r4, =__copy_table_start__ - ldr r5, =__copy_table_end__ - -.L_loop0: - cmp r4, r5 - bge .L_loop0_done - ldr r1, [r4] /* source address */ - ldr r2, [r4, #4] /* destination address */ - ldr r3, [r4, #8] /* word count */ - lsls r3, r3, #2 /* byte count */ - -.L_loop0_0: - subs r3, #4 /* decrement byte count */ - ittt ge - ldrge r0, [r1, r3] - strge r0, [r2, r3] - bge .L_loop0_0 - - adds r4, #12 - b .L_loop0 -.L_loop0_done: - - ldr r3, =__zero_table_start__ - ldr r4, =__zero_table_end__ - -.L_loop2: - cmp r3, r4 - bge .L_loop2_done - ldr r1, [r3] /* destination address */ - ldr r2, [r3, #4] /* word count */ - lsls r2, r2, #2 /* byte count */ - movs r0, 0 - -.L_loop2_0: - subs r2, #4 /* decrement byte count */ - itt ge - strge r0, [r1, r2] - bge .L_loop2_0 - - adds r3, #8 - b .L_loop2 -.L_loop2_done: - - bl _start - - .fnend - .size Reset_Handler, . - Reset_Handler - -/* The default macro is not used for HardFault_Handler - * because this results in a poor debug illusion. - */ - .thumb_func - .type HardFault_Handler, %function - .weak HardFault_Handler - .fnstart -HardFault_Handler: - b . - .fnend - .size HardFault_Handler, . - HardFault_Handler - - .thumb_func - .type Default_Handler, %function - .weak Default_Handler - .fnstart -Default_Handler: - b . - .fnend - .size Default_Handler, . - Default_Handler - -/* Macro to define default exception/interrupt handlers. - * Default handler are weak symbols with an endless loop. - * They can be overwritten by real handlers. - */ - .macro Set_Default_Handler Handler_Name - .weak \Handler_Name - .set \Handler_Name, Default_Handler - .endm - - -/* Default exception/interrupt handler */ - - Set_Default_Handler NMI_Handler - Set_Default_Handler MemManage_Handler - Set_Default_Handler BusFault_Handler - Set_Default_Handler UsageFault_Handler - Set_Default_Handler SVC_Handler - Set_Default_Handler DebugMon_Handler - Set_Default_Handler PendSV_Handler - Set_Default_Handler SysTick_Handler - - Set_Default_Handler Interrupt0_Handler - Set_Default_Handler Interrupt1_Handler - Set_Default_Handler Interrupt2_Handler - Set_Default_Handler Interrupt3_Handler - Set_Default_Handler Interrupt4_Handler - Set_Default_Handler Interrupt5_Handler - Set_Default_Handler Interrupt6_Handler - Set_Default_Handler Interrupt7_Handler - Set_Default_Handler Interrupt8_Handler - Set_Default_Handler Interrupt9_Handler - - - .end diff --git a/external/CMSIS_5/Device/ARM/ARMSC300/Source/IAR/startup_ARMSC300.s b/external/CMSIS_5/Device/ARM/ARMSC300/Source/IAR/startup_ARMSC300.s deleted file mode 100644 index 6387b71..0000000 --- a/external/CMSIS_5/Device/ARM/ARMSC300/Source/IAR/startup_ARMSC300.s +++ /dev/null @@ -1,155 +0,0 @@ -;/**************************************************************************//** -; * @file startup_ARMSC300.s -; * @brief CMSIS Core Device Startup File for -; * ARMSC300 Device -; * @version V1.0.0 -; * @date 09. July 2018 -; ******************************************************************************/ -;/* -; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. -; * -; * SPDX-License-Identifier: Apache-2.0 -; * -; * Licensed under the Apache License, Version 2.0 (the License); you may -; * not use this file except in compliance with the License. -; * You may obtain a copy of the License at -; * -; * www.apache.org/licenses/LICENSE-2.0 -; * -; * Unless required by applicable law or agreed to in writing, software -; * distributed under the License is distributed on an AS IS BASIS, WITHOUT -; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; * See the License for the specific language governing permissions and -; * limitations under the License. -; */ - -; -; The modules in this file are included in the libraries, and may be replaced -; by any user-defined modules that define the PUBLIC symbol _program_start or -; a user defined start symbol. -; To override the cstartup defined in the library, simply add your modified -; version to the workbench project. -; -; The vector table is normally located at address 0. -; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. -; The name "__vector_table" has special meaning for C-SPY: -; it is where the SP start value is found, and the NVIC vector -; table register (VTOR) is initialized to this address if != 0. -; -; Cortex-M version -; - - MODULE ?cstartup - - ;; Forward declaration of sections. - SECTION CSTACK:DATA:NOROOT(3) - - SECTION .intvec:CODE:NOROOT(2) - - EXTERN __iar_program_start - EXTERN SystemInit - PUBLIC __vector_table - PUBLIC __vector_table_0x1c - PUBLIC __Vectors - PUBLIC __Vectors_End - PUBLIC __Vectors_Size - - DATA - -__vector_table - DCD sfe(CSTACK) ; Top of Stack - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; -14 NMI Handler - DCD HardFault_Handler ; -13 Hard Fault Handler - DCD MemManage_Handler ; -12 MPU Fault Handler - DCD BusFault_Handler ; -11 Bus Fault Handler - DCD UsageFault_Handler ; -10 Usage Fault Handler -__vector_table_0x1c - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; -5 SVC Handler - DCD DebugMon_Handler ; -4 Debug Monitor Handler - DCD 0 ; Reserved - DCD PendSV_Handler ; -2 PendSV Handler - DCD SysTick_Handler ; -1 SysTick Handler - - ; Interrupts - DCD Interrupt0_Handler ; 0 Interrupt 0 - DCD Interrupt1_Handler ; 1 Interrupt 1 - DCD Interrupt2_Handler ; 2 Interrupt 2 - DCD Interrupt3_Handler ; 3 Interrupt 3 - DCD Interrupt4_Handler ; 4 Interrupt 4 - DCD Interrupt5_Handler ; 5 Interrupt 5 - DCD Interrupt6_Handler ; 6 Interrupt 6 - DCD Interrupt7_Handler ; 7 Interrupt 7 - DCD Interrupt8_Handler ; 8 Interrupt 8 - DCD Interrupt9_Handler ; 9 Interrupt 9 - - DS32 (214) ; Interrupts 10 .. 224 are left out -__Vectors_End - -__Vectors EQU __vector_table -__Vectors_Size EQU __Vectors_End - __Vectors - - - THUMB - -; Reset Handler - - PUBWEAK Reset_Handler - SECTION .text:CODE:REORDER:NOROOT(2) -Reset_Handler - LDR R0, =SystemInit - BLX R0 - LDR R0, =__iar_program_start - BX R0 - - - PUBWEAK NMI_Handler - PUBWEAK HardFault_Handler - PUBWEAK MemManage_Handler - PUBWEAK BusFault_Handler - PUBWEAK UsageFault_Handler - PUBWEAK SVC_Handler - PUBWEAK DebugMon_Handler - PUBWEAK PendSV_Handler - PUBWEAK SysTick_Handler - - PUBWEAK Interrupt0_Handler - PUBWEAK Interrupt1_Handler - PUBWEAK Interrupt2_Handler - PUBWEAK Interrupt3_Handler - PUBWEAK Interrupt4_Handler - PUBWEAK Interrupt5_Handler - PUBWEAK Interrupt6_Handler - PUBWEAK Interrupt7_Handler - PUBWEAK Interrupt8_Handler - PUBWEAK Interrupt9_Handler - SECTION .text:CODE:REORDER:NOROOT(1) -NMI_Handler -HardFault_Handler -MemManage_Handler -BusFault_Handler -UsageFault_Handler -SVC_Handler -DebugMon_Handler -PendSV_Handler -SysTick_Handler - -Interrupt0_Handler -Interrupt1_Handler -Interrupt2_Handler -Interrupt3_Handler -Interrupt4_Handler -Interrupt5_Handler -Interrupt6_Handler -Interrupt7_Handler -Interrupt8_Handler -Interrupt9_Handler -Default_Handler - B . - - - END diff --git a/external/CMSIS_5/Device/ARM/ARMSC300/Source/startup_ARMSC300.c b/external/CMSIS_5/Device/ARM/ARMSC300/Source/startup_ARMSC300.c deleted file mode 100644 index c138a71..0000000 --- a/external/CMSIS_5/Device/ARM/ARMSC300/Source/startup_ARMSC300.c +++ /dev/null @@ -1,150 +0,0 @@ -/****************************************************************************** - * @file startup_ARMSC300.c - * @brief CMSIS-Core(M) Device Startup File for a SC300 Device - * @version V2.0.3 - * @date 31. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMSC300) - #include "ARMSC300.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 223 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/Device/ARM/ARMSC300/Source/system_ARMSC300.c b/external/CMSIS_5/Device/ARM/ARMSC300/Source/system_ARMSC300.c deleted file mode 100644 index cbf95db..0000000 --- a/external/CMSIS_5/Device/ARM/ARMSC300/Source/system_ARMSC300.c +++ /dev/null @@ -1,70 +0,0 @@ -/**************************************************************************//** - * @file system_ARMSC300.c - * @brief CMSIS Device System Source File for - * ARMSC300 Device - * @version V1.0.1 - * @date 15. November 2019 - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "ARMSC300.h" - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t) &(__VECTOR_TABLE[0]); -#endif - -#ifdef UNALIGNED_SUPPORT_DISABLE - SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/Device/ARM/ARMv81MML/Include/ARMv81MML_DSP_DP_MVE_FP.h b/external/CMSIS_5/Device/ARM/ARMv81MML/Include/ARMv81MML_DSP_DP_MVE_FP.h deleted file mode 100644 index d0c95d6..0000000 --- a/external/CMSIS_5/Device/ARM/ARMv81MML/Include/ARMv81MML_DSP_DP_MVE_FP.h +++ /dev/null @@ -1,134 +0,0 @@ -/**************************************************************************//** - * @file ARMv81MML_DSP_DP_MVE_FP.h - * @brief CMSIS Core Peripheral Access Layer Header File for - * Armv8.1-M Mainline Device Series (configured for Armv8.1-M Mainline with double precision FPU, with DSP extension, with TrustZone) - * @version V1.1.0 - * @date 27. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ARMv81MML_DSP_DP_MVE_FP_H -#define ARMv81MML_DSP_DP_MVE_FP_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* ------------------------- Interrupt Number Definition ------------------------ */ - -typedef enum IRQn -{ -/* -------------------- Armv8.1-M Mainline Processor Exceptions Numbers --------- */ - NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /* 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /* 4 Memory Management Interrupt */ - BusFault_IRQn = -11, /* 5 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /* 6 Usage Fault Interrupt */ - SecureFault_IRQn = -9, /* 7 Secure Fault Interrupt */ - SVCall_IRQn = -5, /* 11 SVC Interrupt */ - DebugMonitor_IRQn = -4, /* 12 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /* 14 PendSV Interrupt */ - SysTick_IRQn = -1, /* 15 System Tick Interrupt */ - -/* ------------------- Processor Interrupt Numbers ------------------------------ */ - Interrupt0_IRQn = 0, - Interrupt1_IRQn = 1, - Interrupt2_IRQn = 2, - Interrupt3_IRQn = 3, - Interrupt4_IRQn = 4, - Interrupt5_IRQn = 5, - Interrupt6_IRQn = 6, - Interrupt7_IRQn = 7, - Interrupt8_IRQn = 8, - Interrupt9_IRQn = 9 - /* Interrupts 10 .. 480 are left out */ -} IRQn_Type; - - -/* ================================================================================ */ -/* ================ Processor and Core Peripheral Section ================ */ -/* ================================================================================ */ - -/* ------- Start of section using anonymous unions and disabling warnings ------- */ -#if defined (__CC_ARM) - #pragma push - #pragma anon_unions -#elif defined (__ICCARM__) - #pragma language=extended -#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wc11-extensions" - #pragma clang diagnostic ignored "-Wreserved-id-macro" -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning 586 -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - -/* --- Configuration of the Armv8.1-M Mainline Processor and Core Peripherals --- */ -#define __ARMv81MML_REV 0x0001U /* Core revision r0p1 */ -#define __SAUREGION_PRESENT 1U /* SAU regions present */ -#define __MPU_PRESENT 1U /* MPU present */ -#define __PMU_PRESENT 1U /* PMU present */ -#define __PMU_NUM_EVENTCNT 31U /* Number of PMU event counters */ -#define __VTOR_PRESENT 1U /* VTOR present */ -#define __NVIC_PRIO_BITS 3U /* Number of Bits used for Priority Levels */ -#define __Vendor_SysTickConfig 0U /* Set to 1 if different SysTick Config is used */ -#define __FPU_PRESENT 1U /* FPU present */ -#define __FPU_DP 1U /* double precision FPU */ -#define __DSP_PRESENT 1U /* DSP extension present */ -#define __ICACHE_PRESENT 1U /* Instruction Cache present */ -#define __DCACHE_PRESENT 1U /* Data Cache present */ - -#include "core_armv81mml.h" /* Processor and core peripherals */ -#include "system_ARMv81MML.h" /* System Header */ - - -/* -------- End of section using anonymous unions and disabling warnings -------- */ -#if defined (__CC_ARM) - #pragma pop -#elif defined (__ICCARM__) - /* leave anonymous unions enabled */ -#elif (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) - #pragma clang diagnostic pop -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning restore -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* ARMv81MML_DSP_DP_MVE_FP_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMv81MML/Include/Template/partition_ARMv81MML.h b/external/CMSIS_5/Device/ARM/ARMv81MML/Include/Template/partition_ARMv81MML.h deleted file mode 100644 index 499f9e2..0000000 --- a/external/CMSIS_5/Device/ARM/ARMv81MML/Include/Template/partition_ARMv81MML.h +++ /dev/null @@ -1,1261 +0,0 @@ -/**************************************************************************//** - * @file partition_ARMv81MML.h - * @brief CMSIS-CORE Initial Setup for Secure / Non-Secure Zones for Armv8.1-M Mainline - * @version V1.0.1 - * @date 26. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef PARTITION_ARMv81MML_H -#define PARTITION_ARMv81MML_H - -/* -//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- -*/ - -/* -// Initialize Security Attribution Unit (SAU) CTRL register -*/ -#define SAU_INIT_CTRL 1 - -/* -// Enable SAU -// Value for SAU->CTRL register bit ENABLE -*/ -#define SAU_INIT_CTRL_ENABLE 1 - -/* -// When SAU is disabled -// <0=> All Memory is Secure -// <1=> All Memory is Non-Secure -// Value for SAU->CTRL register bit ALLNS -// When all Memory is Non-Secure (ALLNS is 1), IDAU can override memory map configuration. -*/ -#define SAU_INIT_CTRL_ALLNS 0 - -/* -// -*/ - -/* -// Initialize Security Attribution Unit (SAU) Address Regions -// SAU configuration specifies regions to be one of: -// - Secure and Non-Secure Callable -// - Non-Secure -// Note: All memory regions not configured by SAU are Secure -*/ -#define SAU_REGIONS_MAX 8 /* Max. number of SAU regions */ - -/* -// Initialize SAU Region 0 -// Setup SAU Region 0 memory attributes -*/ -#define SAU_INIT_REGION0 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START0 0x00000000 /* start address of SAU region 0 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END0 0x001FFFFF /* end address of SAU region 0 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC0 1 -/* -// -*/ - -/* -// Initialize SAU Region 1 -// Setup SAU Region 1 memory attributes -*/ -#define SAU_INIT_REGION1 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START1 0x00200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END1 0x003FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC1 0 -/* -// -*/ - -/* -// Initialize SAU Region 2 -// Setup SAU Region 2 memory attributes -*/ -#define SAU_INIT_REGION2 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START2 0x20200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END2 0x203FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC2 0 -/* -// -*/ - -/* -// Initialize SAU Region 3 -// Setup SAU Region 3 memory attributes -*/ -#define SAU_INIT_REGION3 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START3 0x40000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END3 0x40040000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC3 0 -/* -// -*/ - -/* -// Initialize SAU Region 4 -// Setup SAU Region 4 memory attributes -*/ -#define SAU_INIT_REGION4 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START4 0x00000000 /* start address of SAU region 4 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END4 0x00000000 /* end address of SAU region 4 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC4 0 -/* -// -*/ - -/* -// Initialize SAU Region 5 -// Setup SAU Region 5 memory attributes -*/ -#define SAU_INIT_REGION5 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START5 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END5 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC5 0 -/* -// -*/ - -/* -// Initialize SAU Region 6 -// Setup SAU Region 6 memory attributes -*/ -#define SAU_INIT_REGION6 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START6 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END6 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC6 0 -/* -// -*/ - -/* -// Initialize SAU Region 7 -// Setup SAU Region 7 memory attributes -*/ -#define SAU_INIT_REGION7 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START7 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END7 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC7 0 -/* -// -*/ - -/* -// -*/ - -/* -// Setup behaviour of Sleep and Exception Handling -*/ -#define SCB_CSR_AIRCR_INIT 1 - -/* -// Deep Sleep can be enabled by -// <0=>Secure and Non-Secure state -// <1=>Secure state only -// Value for SCB->CSR register bit DEEPSLEEPS -*/ -#define SCB_CSR_DEEPSLEEPS_VAL 1 - -/* -// System reset request accessible from -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for SCB->AIRCR register bit SYSRESETREQS -*/ -#define SCB_AIRCR_SYSRESETREQS_VAL 1 - -/* -// Priority of Non-Secure exceptions is -// <0=> Not altered -// <1=> Lowered to 0x80-0xFF -// Value for SCB->AIRCR register bit PRIS -*/ -#define SCB_AIRCR_PRIS_VAL 1 - -/* -// BusFault, HardFault, and NMI target -// <0=> Secure state -// <1=> Non-Secure state -// Value for SCB->AIRCR register bit BFHFNMINS -*/ -#define SCB_AIRCR_BFHFNMINS_VAL 0 - -/* -// -*/ - -/* -// Setup behaviour of Floating Point and Vector Unit (FPU/MVE) -*/ -#define TZ_FPU_NS_USAGE 1 - -/* -// Floating Point and Vector Unit usage -// <0=> Secure state only -// <3=> Secure and Non-Secure state -// Value for SCB->NSACR register bits CP10, CP11 -*/ -#define SCB_NSACR_CP10_11_VAL 3 - -/* -// Treat floating-point registers as Secure -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit TS -*/ -#define FPU_FPCCR_TS_VAL 0 - -/* -// Clear on return (CLRONRET) accessibility -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for FPU->FPCCR register bit CLRONRETS -*/ -#define FPU_FPCCR_CLRONRETS_VAL 0 - -/* -// Clear floating-point caller saved registers on exception return -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit CLRONRET -*/ -#define FPU_FPCCR_CLRONRET_VAL 1 - -/* -// -*/ - -/* -// Setup Interrupt Target -*/ - -/* -// Initialize ITNS 0 (Interrupts 0..31) -*/ -#define NVIC_INIT_ITNS0 1 - -/* -// Interrupts 0..31 -// Interrupt 0 <0=> Secure state <1=> Non-Secure state -// Interrupt 1 <0=> Secure state <1=> Non-Secure state -// Interrupt 2 <0=> Secure state <1=> Non-Secure state -// Interrupt 3 <0=> Secure state <1=> Non-Secure state -// Interrupt 4 <0=> Secure state <1=> Non-Secure state -// Interrupt 5 <0=> Secure state <1=> Non-Secure state -// Interrupt 6 <0=> Secure state <1=> Non-Secure state -// Interrupt 7 <0=> Secure state <1=> Non-Secure state -// Interrupt 8 <0=> Secure state <1=> Non-Secure state -// Interrupt 9 <0=> Secure state <1=> Non-Secure state -// Interrupt 10 <0=> Secure state <1=> Non-Secure state -// Interrupt 11 <0=> Secure state <1=> Non-Secure state -// Interrupt 12 <0=> Secure state <1=> Non-Secure state -// Interrupt 13 <0=> Secure state <1=> Non-Secure state -// Interrupt 14 <0=> Secure state <1=> Non-Secure state -// Interrupt 15 <0=> Secure state <1=> Non-Secure state -// Interrupt 16 <0=> Secure state <1=> Non-Secure state -// Interrupt 17 <0=> Secure state <1=> Non-Secure state -// Interrupt 18 <0=> Secure state <1=> Non-Secure state -// Interrupt 19 <0=> Secure state <1=> Non-Secure state -// Interrupt 20 <0=> Secure state <1=> Non-Secure state -// Interrupt 21 <0=> Secure state <1=> Non-Secure state -// Interrupt 22 <0=> Secure state <1=> Non-Secure state -// Interrupt 23 <0=> Secure state <1=> Non-Secure state -// Interrupt 24 <0=> Secure state <1=> Non-Secure state -// Interrupt 25 <0=> Secure state <1=> Non-Secure state -// Interrupt 26 <0=> Secure state <1=> Non-Secure state -// Interrupt 27 <0=> Secure state <1=> Non-Secure state -// Interrupt 28 <0=> Secure state <1=> Non-Secure state -// Interrupt 29 <0=> Secure state <1=> Non-Secure state -// Interrupt 30 <0=> Secure state <1=> Non-Secure state -// Interrupt 31 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS0_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 1 (Interrupts 32..63) -*/ -#define NVIC_INIT_ITNS1 1 - -/* -// Interrupts 32..63 -// Interrupt 32 <0=> Secure state <1=> Non-Secure state -// Interrupt 33 <0=> Secure state <1=> Non-Secure state -// Interrupt 34 <0=> Secure state <1=> Non-Secure state -// Interrupt 35 <0=> Secure state <1=> Non-Secure state -// Interrupt 36 <0=> Secure state <1=> Non-Secure state -// Interrupt 37 <0=> Secure state <1=> Non-Secure state -// Interrupt 38 <0=> Secure state <1=> Non-Secure state -// Interrupt 39 <0=> Secure state <1=> Non-Secure state -// Interrupt 40 <0=> Secure state <1=> Non-Secure state -// Interrupt 41 <0=> Secure state <1=> Non-Secure state -// Interrupt 42 <0=> Secure state <1=> Non-Secure state -// Interrupt 43 <0=> Secure state <1=> Non-Secure state -// Interrupt 44 <0=> Secure state <1=> Non-Secure state -// Interrupt 45 <0=> Secure state <1=> Non-Secure state -// Interrupt 46 <0=> Secure state <1=> Non-Secure state -// Interrupt 47 <0=> Secure state <1=> Non-Secure state -// Interrupt 48 <0=> Secure state <1=> Non-Secure state -// Interrupt 49 <0=> Secure state <1=> Non-Secure state -// Interrupt 50 <0=> Secure state <1=> Non-Secure state -// Interrupt 51 <0=> Secure state <1=> Non-Secure state -// Interrupt 52 <0=> Secure state <1=> Non-Secure state -// Interrupt 53 <0=> Secure state <1=> Non-Secure state -// Interrupt 54 <0=> Secure state <1=> Non-Secure state -// Interrupt 55 <0=> Secure state <1=> Non-Secure state -// Interrupt 56 <0=> Secure state <1=> Non-Secure state -// Interrupt 57 <0=> Secure state <1=> Non-Secure state -// Interrupt 58 <0=> Secure state <1=> Non-Secure state -// Interrupt 59 <0=> Secure state <1=> Non-Secure state -// Interrupt 60 <0=> Secure state <1=> Non-Secure state -// Interrupt 61 <0=> Secure state <1=> Non-Secure state -// Interrupt 62 <0=> Secure state <1=> Non-Secure state -// Interrupt 63 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS1_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 2 (Interrupts 64..95) -*/ -#define NVIC_INIT_ITNS2 0 - -/* -// Interrupts 64..95 -// Interrupt 64 <0=> Secure state <1=> Non-Secure state -// Interrupt 65 <0=> Secure state <1=> Non-Secure state -// Interrupt 66 <0=> Secure state <1=> Non-Secure state -// Interrupt 67 <0=> Secure state <1=> Non-Secure state -// Interrupt 68 <0=> Secure state <1=> Non-Secure state -// Interrupt 69 <0=> Secure state <1=> Non-Secure state -// Interrupt 70 <0=> Secure state <1=> Non-Secure state -// Interrupt 71 <0=> Secure state <1=> Non-Secure state -// Interrupt 72 <0=> Secure state <1=> Non-Secure state -// Interrupt 73 <0=> Secure state <1=> Non-Secure state -// Interrupt 74 <0=> Secure state <1=> Non-Secure state -// Interrupt 75 <0=> Secure state <1=> Non-Secure state -// Interrupt 76 <0=> Secure state <1=> Non-Secure state -// Interrupt 77 <0=> Secure state <1=> Non-Secure state -// Interrupt 78 <0=> Secure state <1=> Non-Secure state -// Interrupt 79 <0=> Secure state <1=> Non-Secure state -// Interrupt 80 <0=> Secure state <1=> Non-Secure state -// Interrupt 81 <0=> Secure state <1=> Non-Secure state -// Interrupt 82 <0=> Secure state <1=> Non-Secure state -// Interrupt 83 <0=> Secure state <1=> Non-Secure state -// Interrupt 84 <0=> Secure state <1=> Non-Secure state -// Interrupt 85 <0=> Secure state <1=> Non-Secure state -// Interrupt 86 <0=> Secure state <1=> Non-Secure state -// Interrupt 87 <0=> Secure state <1=> Non-Secure state -// Interrupt 88 <0=> Secure state <1=> Non-Secure state -// Interrupt 89 <0=> Secure state <1=> Non-Secure state -// Interrupt 90 <0=> Secure state <1=> Non-Secure state -// Interrupt 91 <0=> Secure state <1=> Non-Secure state -// Interrupt 92 <0=> Secure state <1=> Non-Secure state -// Interrupt 93 <0=> Secure state <1=> Non-Secure state -// Interrupt 94 <0=> Secure state <1=> Non-Secure state -// Interrupt 95 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS2_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 3 (Interrupts 96..127) -*/ -#define NVIC_INIT_ITNS3 0 - -/* -// Interrupts 96..127 -// Interrupt 96 <0=> Secure state <1=> Non-Secure state -// Interrupt 97 <0=> Secure state <1=> Non-Secure state -// Interrupt 98 <0=> Secure state <1=> Non-Secure state -// Interrupt 99 <0=> Secure state <1=> Non-Secure state -// Interrupt 100 <0=> Secure state <1=> Non-Secure state -// Interrupt 101 <0=> Secure state <1=> Non-Secure state -// Interrupt 102 <0=> Secure state <1=> Non-Secure state -// Interrupt 103 <0=> Secure state <1=> Non-Secure state -// Interrupt 104 <0=> Secure state <1=> Non-Secure state -// Interrupt 105 <0=> Secure state <1=> Non-Secure state -// Interrupt 106 <0=> Secure state <1=> Non-Secure state -// Interrupt 107 <0=> Secure state <1=> Non-Secure state -// Interrupt 108 <0=> Secure state <1=> Non-Secure state -// Interrupt 109 <0=> Secure state <1=> Non-Secure state -// Interrupt 110 <0=> Secure state <1=> Non-Secure state -// Interrupt 111 <0=> Secure state <1=> Non-Secure state -// Interrupt 112 <0=> Secure state <1=> Non-Secure state -// Interrupt 113 <0=> Secure state <1=> Non-Secure state -// Interrupt 114 <0=> Secure state <1=> Non-Secure state -// Interrupt 115 <0=> Secure state <1=> Non-Secure state -// Interrupt 116 <0=> Secure state <1=> Non-Secure state -// Interrupt 117 <0=> Secure state <1=> Non-Secure state -// Interrupt 118 <0=> Secure state <1=> Non-Secure state -// Interrupt 119 <0=> Secure state <1=> Non-Secure state -// Interrupt 120 <0=> Secure state <1=> Non-Secure state -// Interrupt 121 <0=> Secure state <1=> Non-Secure state -// Interrupt 122 <0=> Secure state <1=> Non-Secure state -// Interrupt 123 <0=> Secure state <1=> Non-Secure state -// Interrupt 124 <0=> Secure state <1=> Non-Secure state -// Interrupt 125 <0=> Secure state <1=> Non-Secure state -// Interrupt 126 <0=> Secure state <1=> Non-Secure state -// Interrupt 127 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS3_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 4 (Interrupts 128..159) -*/ -#define NVIC_INIT_ITNS4 0 - -/* -// Interrupts 128..159 -// Interrupt 128 <0=> Secure state <1=> Non-Secure state -// Interrupt 129 <0=> Secure state <1=> Non-Secure state -// Interrupt 130 <0=> Secure state <1=> Non-Secure state -// Interrupt 131 <0=> Secure state <1=> Non-Secure state -// Interrupt 132 <0=> Secure state <1=> Non-Secure state -// Interrupt 133 <0=> Secure state <1=> Non-Secure state -// Interrupt 134 <0=> Secure state <1=> Non-Secure state -// Interrupt 135 <0=> Secure state <1=> Non-Secure state -// Interrupt 136 <0=> Secure state <1=> Non-Secure state -// Interrupt 137 <0=> Secure state <1=> Non-Secure state -// Interrupt 138 <0=> Secure state <1=> Non-Secure state -// Interrupt 139 <0=> Secure state <1=> Non-Secure state -// Interrupt 140 <0=> Secure state <1=> Non-Secure state -// Interrupt 141 <0=> Secure state <1=> Non-Secure state -// Interrupt 142 <0=> Secure state <1=> Non-Secure state -// Interrupt 143 <0=> Secure state <1=> Non-Secure state -// Interrupt 144 <0=> Secure state <1=> Non-Secure state -// Interrupt 145 <0=> Secure state <1=> Non-Secure state -// Interrupt 146 <0=> Secure state <1=> Non-Secure state -// Interrupt 147 <0=> Secure state <1=> Non-Secure state -// Interrupt 148 <0=> Secure state <1=> Non-Secure state -// Interrupt 149 <0=> Secure state <1=> Non-Secure state -// Interrupt 150 <0=> Secure state <1=> Non-Secure state -// Interrupt 151 <0=> Secure state <1=> Non-Secure state -// Interrupt 152 <0=> Secure state <1=> Non-Secure state -// Interrupt 153 <0=> Secure state <1=> Non-Secure state -// Interrupt 154 <0=> Secure state <1=> Non-Secure state -// Interrupt 155 <0=> Secure state <1=> Non-Secure state -// Interrupt 156 <0=> Secure state <1=> Non-Secure state -// Interrupt 157 <0=> Secure state <1=> Non-Secure state -// Interrupt 158 <0=> Secure state <1=> Non-Secure state -// Interrupt 159 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS4_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 5 (Interrupts 160..191) -*/ -#define NVIC_INIT_ITNS5 0 - -/* -// Interrupts 160..191 -// Interrupt 160 <0=> Secure state <1=> Non-Secure state -// Interrupt 161 <0=> Secure state <1=> Non-Secure state -// Interrupt 162 <0=> Secure state <1=> Non-Secure state -// Interrupt 163 <0=> Secure state <1=> Non-Secure state -// Interrupt 164 <0=> Secure state <1=> Non-Secure state -// Interrupt 165 <0=> Secure state <1=> Non-Secure state -// Interrupt 166 <0=> Secure state <1=> Non-Secure state -// Interrupt 167 <0=> Secure state <1=> Non-Secure state -// Interrupt 168 <0=> Secure state <1=> Non-Secure state -// Interrupt 169 <0=> Secure state <1=> Non-Secure state -// Interrupt 170 <0=> Secure state <1=> Non-Secure state -// Interrupt 171 <0=> Secure state <1=> Non-Secure state -// Interrupt 172 <0=> Secure state <1=> Non-Secure state -// Interrupt 173 <0=> Secure state <1=> Non-Secure state -// Interrupt 174 <0=> Secure state <1=> Non-Secure state -// Interrupt 175 <0=> Secure state <1=> Non-Secure state -// Interrupt 176 <0=> Secure state <1=> Non-Secure state -// Interrupt 177 <0=> Secure state <1=> Non-Secure state -// Interrupt 178 <0=> Secure state <1=> Non-Secure state -// Interrupt 179 <0=> Secure state <1=> Non-Secure state -// Interrupt 180 <0=> Secure state <1=> Non-Secure state -// Interrupt 181 <0=> Secure state <1=> Non-Secure state -// Interrupt 182 <0=> Secure state <1=> Non-Secure state -// Interrupt 183 <0=> Secure state <1=> Non-Secure state -// Interrupt 184 <0=> Secure state <1=> Non-Secure state -// Interrupt 185 <0=> Secure state <1=> Non-Secure state -// Interrupt 186 <0=> Secure state <1=> Non-Secure state -// Interrupt 187 <0=> Secure state <1=> Non-Secure state -// Interrupt 188 <0=> Secure state <1=> Non-Secure state -// Interrupt 189 <0=> Secure state <1=> Non-Secure state -// Interrupt 190 <0=> Secure state <1=> Non-Secure state -// Interrupt 191 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS5_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 6 (Interrupts 192..223) -*/ -#define NVIC_INIT_ITNS6 0 - -/* -// Interrupts 192..223 -// Interrupt 192 <0=> Secure state <1=> Non-Secure state -// Interrupt 193 <0=> Secure state <1=> Non-Secure state -// Interrupt 194 <0=> Secure state <1=> Non-Secure state -// Interrupt 195 <0=> Secure state <1=> Non-Secure state -// Interrupt 196 <0=> Secure state <1=> Non-Secure state -// Interrupt 197 <0=> Secure state <1=> Non-Secure state -// Interrupt 198 <0=> Secure state <1=> Non-Secure state -// Interrupt 199 <0=> Secure state <1=> Non-Secure state -// Interrupt 200 <0=> Secure state <1=> Non-Secure state -// Interrupt 201 <0=> Secure state <1=> Non-Secure state -// Interrupt 202 <0=> Secure state <1=> Non-Secure state -// Interrupt 203 <0=> Secure state <1=> Non-Secure state -// Interrupt 204 <0=> Secure state <1=> Non-Secure state -// Interrupt 205 <0=> Secure state <1=> Non-Secure state -// Interrupt 206 <0=> Secure state <1=> Non-Secure state -// Interrupt 207 <0=> Secure state <1=> Non-Secure state -// Interrupt 208 <0=> Secure state <1=> Non-Secure state -// Interrupt 209 <0=> Secure state <1=> Non-Secure state -// Interrupt 210 <0=> Secure state <1=> Non-Secure state -// Interrupt 211 <0=> Secure state <1=> Non-Secure state -// Interrupt 212 <0=> Secure state <1=> Non-Secure state -// Interrupt 213 <0=> Secure state <1=> Non-Secure state -// Interrupt 214 <0=> Secure state <1=> Non-Secure state -// Interrupt 215 <0=> Secure state <1=> Non-Secure state -// Interrupt 216 <0=> Secure state <1=> Non-Secure state -// Interrupt 217 <0=> Secure state <1=> Non-Secure state -// Interrupt 218 <0=> Secure state <1=> Non-Secure state -// Interrupt 219 <0=> Secure state <1=> Non-Secure state -// Interrupt 220 <0=> Secure state <1=> Non-Secure state -// Interrupt 221 <0=> Secure state <1=> Non-Secure state -// Interrupt 222 <0=> Secure state <1=> Non-Secure state -// Interrupt 223 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS6_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 7 (Interrupts 224..255) -*/ -#define NVIC_INIT_ITNS7 0 - -/* -// Interrupts 224..255 -// Interrupt 224 <0=> Secure state <1=> Non-Secure state -// Interrupt 225 <0=> Secure state <1=> Non-Secure state -// Interrupt 226 <0=> Secure state <1=> Non-Secure state -// Interrupt 227 <0=> Secure state <1=> Non-Secure state -// Interrupt 228 <0=> Secure state <1=> Non-Secure state -// Interrupt 229 <0=> Secure state <1=> Non-Secure state -// Interrupt 230 <0=> Secure state <1=> Non-Secure state -// Interrupt 231 <0=> Secure state <1=> Non-Secure state -// Interrupt 232 <0=> Secure state <1=> Non-Secure state -// Interrupt 233 <0=> Secure state <1=> Non-Secure state -// Interrupt 234 <0=> Secure state <1=> Non-Secure state -// Interrupt 235 <0=> Secure state <1=> Non-Secure state -// Interrupt 236 <0=> Secure state <1=> Non-Secure state -// Interrupt 237 <0=> Secure state <1=> Non-Secure state -// Interrupt 238 <0=> Secure state <1=> Non-Secure state -// Interrupt 239 <0=> Secure state <1=> Non-Secure state -// Interrupt 240 <0=> Secure state <1=> Non-Secure state -// Interrupt 241 <0=> Secure state <1=> Non-Secure state -// Interrupt 242 <0=> Secure state <1=> Non-Secure state -// Interrupt 243 <0=> Secure state <1=> Non-Secure state -// Interrupt 244 <0=> Secure state <1=> Non-Secure state -// Interrupt 245 <0=> Secure state <1=> Non-Secure state -// Interrupt 246 <0=> Secure state <1=> Non-Secure state -// Interrupt 247 <0=> Secure state <1=> Non-Secure state -// Interrupt 248 <0=> Secure state <1=> Non-Secure state -// Interrupt 249 <0=> Secure state <1=> Non-Secure state -// Interrupt 250 <0=> Secure state <1=> Non-Secure state -// Interrupt 251 <0=> Secure state <1=> Non-Secure state -// Interrupt 252 <0=> Secure state <1=> Non-Secure state -// Interrupt 253 <0=> Secure state <1=> Non-Secure state -// Interrupt 254 <0=> Secure state <1=> Non-Secure state -// Interrupt 255 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS7_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 8 (Interrupts 256..287) -*/ -#define NVIC_INIT_ITNS8 0 - -/* -// Interrupts 256..287 -// Interrupt 256 <0=> Secure state <1=> Non-Secure state -// Interrupt 257 <0=> Secure state <1=> Non-Secure state -// Interrupt 258 <0=> Secure state <1=> Non-Secure state -// Interrupt 259 <0=> Secure state <1=> Non-Secure state -// Interrupt 260 <0=> Secure state <1=> Non-Secure state -// Interrupt 261 <0=> Secure state <1=> Non-Secure state -// Interrupt 262 <0=> Secure state <1=> Non-Secure state -// Interrupt 263 <0=> Secure state <1=> Non-Secure state -// Interrupt 264 <0=> Secure state <1=> Non-Secure state -// Interrupt 265 <0=> Secure state <1=> Non-Secure state -// Interrupt 266 <0=> Secure state <1=> Non-Secure state -// Interrupt 267 <0=> Secure state <1=> Non-Secure state -// Interrupt 268 <0=> Secure state <1=> Non-Secure state -// Interrupt 269 <0=> Secure state <1=> Non-Secure state -// Interrupt 270 <0=> Secure state <1=> Non-Secure state -// Interrupt 271 <0=> Secure state <1=> Non-Secure state -// Interrupt 272 <0=> Secure state <1=> Non-Secure state -// Interrupt 273 <0=> Secure state <1=> Non-Secure state -// Interrupt 274 <0=> Secure state <1=> Non-Secure state -// Interrupt 275 <0=> Secure state <1=> Non-Secure state -// Interrupt 276 <0=> Secure state <1=> Non-Secure state -// Interrupt 277 <0=> Secure state <1=> Non-Secure state -// Interrupt 278 <0=> Secure state <1=> Non-Secure state -// Interrupt 279 <0=> Secure state <1=> Non-Secure state -// Interrupt 280 <0=> Secure state <1=> Non-Secure state -// Interrupt 281 <0=> Secure state <1=> Non-Secure state -// Interrupt 282 <0=> Secure state <1=> Non-Secure state -// Interrupt 283 <0=> Secure state <1=> Non-Secure state -// Interrupt 284 <0=> Secure state <1=> Non-Secure state -// Interrupt 285 <0=> Secure state <1=> Non-Secure state -// Interrupt 286 <0=> Secure state <1=> Non-Secure state -// Interrupt 287 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS8_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 9 (Interrupts 288..319) -*/ -#define NVIC_INIT_ITNS9 0 - -/* -// Interrupts 288..319 -// Interrupt 288 <0=> Secure state <1=> Non-Secure state -// Interrupt 289 <0=> Secure state <1=> Non-Secure state -// Interrupt 290 <0=> Secure state <1=> Non-Secure state -// Interrupt 291 <0=> Secure state <1=> Non-Secure state -// Interrupt 292 <0=> Secure state <1=> Non-Secure state -// Interrupt 293 <0=> Secure state <1=> Non-Secure state -// Interrupt 294 <0=> Secure state <1=> Non-Secure state -// Interrupt 295 <0=> Secure state <1=> Non-Secure state -// Interrupt 296 <0=> Secure state <1=> Non-Secure state -// Interrupt 297 <0=> Secure state <1=> Non-Secure state -// Interrupt 298 <0=> Secure state <1=> Non-Secure state -// Interrupt 299 <0=> Secure state <1=> Non-Secure state -// Interrupt 300 <0=> Secure state <1=> Non-Secure state -// Interrupt 301 <0=> Secure state <1=> Non-Secure state -// Interrupt 302 <0=> Secure state <1=> Non-Secure state -// Interrupt 303 <0=> Secure state <1=> Non-Secure state -// Interrupt 304 <0=> Secure state <1=> Non-Secure state -// Interrupt 305 <0=> Secure state <1=> Non-Secure state -// Interrupt 306 <0=> Secure state <1=> Non-Secure state -// Interrupt 307 <0=> Secure state <1=> Non-Secure state -// Interrupt 308 <0=> Secure state <1=> Non-Secure state -// Interrupt 309 <0=> Secure state <1=> Non-Secure state -// Interrupt 310 <0=> Secure state <1=> Non-Secure state -// Interrupt 311 <0=> Secure state <1=> Non-Secure state -// Interrupt 312 <0=> Secure state <1=> Non-Secure state -// Interrupt 313 <0=> Secure state <1=> Non-Secure state -// Interrupt 314 <0=> Secure state <1=> Non-Secure state -// Interrupt 315 <0=> Secure state <1=> Non-Secure state -// Interrupt 316 <0=> Secure state <1=> Non-Secure state -// Interrupt 317 <0=> Secure state <1=> Non-Secure state -// Interrupt 318 <0=> Secure state <1=> Non-Secure state -// Interrupt 319 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS9_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 10 (Interrupts 320..351) -*/ -#define NVIC_INIT_ITNS10 0 - -/* -// Interrupts 320..351 -// Interrupt 320 <0=> Secure state <1=> Non-Secure state -// Interrupt 321 <0=> Secure state <1=> Non-Secure state -// Interrupt 322 <0=> Secure state <1=> Non-Secure state -// Interrupt 323 <0=> Secure state <1=> Non-Secure state -// Interrupt 324 <0=> Secure state <1=> Non-Secure state -// Interrupt 325 <0=> Secure state <1=> Non-Secure state -// Interrupt 326 <0=> Secure state <1=> Non-Secure state -// Interrupt 327 <0=> Secure state <1=> Non-Secure state -// Interrupt 328 <0=> Secure state <1=> Non-Secure state -// Interrupt 329 <0=> Secure state <1=> Non-Secure state -// Interrupt 330 <0=> Secure state <1=> Non-Secure state -// Interrupt 331 <0=> Secure state <1=> Non-Secure state -// Interrupt 332 <0=> Secure state <1=> Non-Secure state -// Interrupt 333 <0=> Secure state <1=> Non-Secure state -// Interrupt 334 <0=> Secure state <1=> Non-Secure state -// Interrupt 335 <0=> Secure state <1=> Non-Secure state -// Interrupt 336 <0=> Secure state <1=> Non-Secure state -// Interrupt 337 <0=> Secure state <1=> Non-Secure state -// Interrupt 338 <0=> Secure state <1=> Non-Secure state -// Interrupt 339 <0=> Secure state <1=> Non-Secure state -// Interrupt 340 <0=> Secure state <1=> Non-Secure state -// Interrupt 341 <0=> Secure state <1=> Non-Secure state -// Interrupt 342 <0=> Secure state <1=> Non-Secure state -// Interrupt 343 <0=> Secure state <1=> Non-Secure state -// Interrupt 344 <0=> Secure state <1=> Non-Secure state -// Interrupt 345 <0=> Secure state <1=> Non-Secure state -// Interrupt 346 <0=> Secure state <1=> Non-Secure state -// Interrupt 347 <0=> Secure state <1=> Non-Secure state -// Interrupt 348 <0=> Secure state <1=> Non-Secure state -// Interrupt 349 <0=> Secure state <1=> Non-Secure state -// Interrupt 350 <0=> Secure state <1=> Non-Secure state -// Interrupt 351 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS10_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 11 (Interrupts 352..383) -*/ -#define NVIC_INIT_ITNS11 0 - -/* -// Interrupts 352..383 -// Interrupt 352 <0=> Secure state <1=> Non-Secure state -// Interrupt 353 <0=> Secure state <1=> Non-Secure state -// Interrupt 354 <0=> Secure state <1=> Non-Secure state -// Interrupt 355 <0=> Secure state <1=> Non-Secure state -// Interrupt 356 <0=> Secure state <1=> Non-Secure state -// Interrupt 357 <0=> Secure state <1=> Non-Secure state -// Interrupt 358 <0=> Secure state <1=> Non-Secure state -// Interrupt 359 <0=> Secure state <1=> Non-Secure state -// Interrupt 360 <0=> Secure state <1=> Non-Secure state -// Interrupt 361 <0=> Secure state <1=> Non-Secure state -// Interrupt 362 <0=> Secure state <1=> Non-Secure state -// Interrupt 363 <0=> Secure state <1=> Non-Secure state -// Interrupt 364 <0=> Secure state <1=> Non-Secure state -// Interrupt 365 <0=> Secure state <1=> Non-Secure state -// Interrupt 366 <0=> Secure state <1=> Non-Secure state -// Interrupt 367 <0=> Secure state <1=> Non-Secure state -// Interrupt 368 <0=> Secure state <1=> Non-Secure state -// Interrupt 369 <0=> Secure state <1=> Non-Secure state -// Interrupt 370 <0=> Secure state <1=> Non-Secure state -// Interrupt 371 <0=> Secure state <1=> Non-Secure state -// Interrupt 372 <0=> Secure state <1=> Non-Secure state -// Interrupt 373 <0=> Secure state <1=> Non-Secure state -// Interrupt 374 <0=> Secure state <1=> Non-Secure state -// Interrupt 375 <0=> Secure state <1=> Non-Secure state -// Interrupt 376 <0=> Secure state <1=> Non-Secure state -// Interrupt 377 <0=> Secure state <1=> Non-Secure state -// Interrupt 378 <0=> Secure state <1=> Non-Secure state -// Interrupt 379 <0=> Secure state <1=> Non-Secure state -// Interrupt 380 <0=> Secure state <1=> Non-Secure state -// Interrupt 381 <0=> Secure state <1=> Non-Secure state -// Interrupt 382 <0=> Secure state <1=> Non-Secure state -// Interrupt 383 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS11_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 12 (Interrupts 384..415) -*/ -#define NVIC_INIT_ITNS12 0 - -/* -// Interrupts 384..415 -// Interrupt 384 <0=> Secure state <1=> Non-Secure state -// Interrupt 385 <0=> Secure state <1=> Non-Secure state -// Interrupt 386 <0=> Secure state <1=> Non-Secure state -// Interrupt 387 <0=> Secure state <1=> Non-Secure state -// Interrupt 388 <0=> Secure state <1=> Non-Secure state -// Interrupt 389 <0=> Secure state <1=> Non-Secure state -// Interrupt 390 <0=> Secure state <1=> Non-Secure state -// Interrupt 391 <0=> Secure state <1=> Non-Secure state -// Interrupt 392 <0=> Secure state <1=> Non-Secure state -// Interrupt 393 <0=> Secure state <1=> Non-Secure state -// Interrupt 394 <0=> Secure state <1=> Non-Secure state -// Interrupt 395 <0=> Secure state <1=> Non-Secure state -// Interrupt 396 <0=> Secure state <1=> Non-Secure state -// Interrupt 397 <0=> Secure state <1=> Non-Secure state -// Interrupt 398 <0=> Secure state <1=> Non-Secure state -// Interrupt 399 <0=> Secure state <1=> Non-Secure state -// Interrupt 400 <0=> Secure state <1=> Non-Secure state -// Interrupt 401 <0=> Secure state <1=> Non-Secure state -// Interrupt 402 <0=> Secure state <1=> Non-Secure state -// Interrupt 403 <0=> Secure state <1=> Non-Secure state -// Interrupt 404 <0=> Secure state <1=> Non-Secure state -// Interrupt 405 <0=> Secure state <1=> Non-Secure state -// Interrupt 406 <0=> Secure state <1=> Non-Secure state -// Interrupt 407 <0=> Secure state <1=> Non-Secure state -// Interrupt 408 <0=> Secure state <1=> Non-Secure state -// Interrupt 409 <0=> Secure state <1=> Non-Secure state -// Interrupt 410 <0=> Secure state <1=> Non-Secure state -// Interrupt 411 <0=> Secure state <1=> Non-Secure state -// Interrupt 412 <0=> Secure state <1=> Non-Secure state -// Interrupt 413 <0=> Secure state <1=> Non-Secure state -// Interrupt 414 <0=> Secure state <1=> Non-Secure state -// Interrupt 415 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS12_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 13 (Interrupts 416..447) -*/ -#define NVIC_INIT_ITNS13 0 - -/* -// Interrupts 416..447 -// Interrupt 416 <0=> Secure state <1=> Non-Secure state -// Interrupt 417 <0=> Secure state <1=> Non-Secure state -// Interrupt 418 <0=> Secure state <1=> Non-Secure state -// Interrupt 419 <0=> Secure state <1=> Non-Secure state -// Interrupt 420 <0=> Secure state <1=> Non-Secure state -// Interrupt 421 <0=> Secure state <1=> Non-Secure state -// Interrupt 422 <0=> Secure state <1=> Non-Secure state -// Interrupt 423 <0=> Secure state <1=> Non-Secure state -// Interrupt 424 <0=> Secure state <1=> Non-Secure state -// Interrupt 425 <0=> Secure state <1=> Non-Secure state -// Interrupt 426 <0=> Secure state <1=> Non-Secure state -// Interrupt 427 <0=> Secure state <1=> Non-Secure state -// Interrupt 428 <0=> Secure state <1=> Non-Secure state -// Interrupt 429 <0=> Secure state <1=> Non-Secure state -// Interrupt 430 <0=> Secure state <1=> Non-Secure state -// Interrupt 431 <0=> Secure state <1=> Non-Secure state -// Interrupt 432 <0=> Secure state <1=> Non-Secure state -// Interrupt 433 <0=> Secure state <1=> Non-Secure state -// Interrupt 434 <0=> Secure state <1=> Non-Secure state -// Interrupt 435 <0=> Secure state <1=> Non-Secure state -// Interrupt 436 <0=> Secure state <1=> Non-Secure state -// Interrupt 437 <0=> Secure state <1=> Non-Secure state -// Interrupt 438 <0=> Secure state <1=> Non-Secure state -// Interrupt 439 <0=> Secure state <1=> Non-Secure state -// Interrupt 440 <0=> Secure state <1=> Non-Secure state -// Interrupt 441 <0=> Secure state <1=> Non-Secure state -// Interrupt 442 <0=> Secure state <1=> Non-Secure state -// Interrupt 443 <0=> Secure state <1=> Non-Secure state -// Interrupt 444 <0=> Secure state <1=> Non-Secure state -// Interrupt 445 <0=> Secure state <1=> Non-Secure state -// Interrupt 446 <0=> Secure state <1=> Non-Secure state -// Interrupt 447 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS13_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 14 (Interrupts 448..479) -*/ -#define NVIC_INIT_ITNS14 0 - -/* -// Interrupts 448..479 -// Interrupt 448 <0=> Secure state <1=> Non-Secure state -// Interrupt 449 <0=> Secure state <1=> Non-Secure state -// Interrupt 450 <0=> Secure state <1=> Non-Secure state -// Interrupt 451 <0=> Secure state <1=> Non-Secure state -// Interrupt 452 <0=> Secure state <1=> Non-Secure state -// Interrupt 453 <0=> Secure state <1=> Non-Secure state -// Interrupt 454 <0=> Secure state <1=> Non-Secure state -// Interrupt 455 <0=> Secure state <1=> Non-Secure state -// Interrupt 456 <0=> Secure state <1=> Non-Secure state -// Interrupt 457 <0=> Secure state <1=> Non-Secure state -// Interrupt 458 <0=> Secure state <1=> Non-Secure state -// Interrupt 459 <0=> Secure state <1=> Non-Secure state -// Interrupt 460 <0=> Secure state <1=> Non-Secure state -// Interrupt 461 <0=> Secure state <1=> Non-Secure state -// Interrupt 462 <0=> Secure state <1=> Non-Secure state -// Interrupt 463 <0=> Secure state <1=> Non-Secure state -// Interrupt 464 <0=> Secure state <1=> Non-Secure state -// Interrupt 465 <0=> Secure state <1=> Non-Secure state -// Interrupt 466 <0=> Secure state <1=> Non-Secure state -// Interrupt 467 <0=> Secure state <1=> Non-Secure state -// Interrupt 468 <0=> Secure state <1=> Non-Secure state -// Interrupt 469 <0=> Secure state <1=> Non-Secure state -// Interrupt 470 <0=> Secure state <1=> Non-Secure state -// Interrupt 471 <0=> Secure state <1=> Non-Secure state -// Interrupt 472 <0=> Secure state <1=> Non-Secure state -// Interrupt 473 <0=> Secure state <1=> Non-Secure state -// Interrupt 474 <0=> Secure state <1=> Non-Secure state -// Interrupt 475 <0=> Secure state <1=> Non-Secure state -// Interrupt 476 <0=> Secure state <1=> Non-Secure state -// Interrupt 477 <0=> Secure state <1=> Non-Secure state -// Interrupt 478 <0=> Secure state <1=> Non-Secure state -// Interrupt 479 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS14_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 15 (Interrupts 480..511) -*/ -#define NVIC_INIT_ITNS15 0 - -/* -// Interrupts 480..511 -// Interrupt 480 <0=> Secure state <1=> Non-Secure state -// Interrupt 481 <0=> Secure state <1=> Non-Secure state -// Interrupt 482 <0=> Secure state <1=> Non-Secure state -// Interrupt 483 <0=> Secure state <1=> Non-Secure state -// Interrupt 484 <0=> Secure state <1=> Non-Secure state -// Interrupt 485 <0=> Secure state <1=> Non-Secure state -// Interrupt 486 <0=> Secure state <1=> Non-Secure state -// Interrupt 487 <0=> Secure state <1=> Non-Secure state -// Interrupt 488 <0=> Secure state <1=> Non-Secure state -// Interrupt 489 <0=> Secure state <1=> Non-Secure state -// Interrupt 490 <0=> Secure state <1=> Non-Secure state -// Interrupt 491 <0=> Secure state <1=> Non-Secure state -// Interrupt 492 <0=> Secure state <1=> Non-Secure state -// Interrupt 493 <0=> Secure state <1=> Non-Secure state -// Interrupt 494 <0=> Secure state <1=> Non-Secure state -// Interrupt 495 <0=> Secure state <1=> Non-Secure state -// Interrupt 496 <0=> Secure state <1=> Non-Secure state -// Interrupt 497 <0=> Secure state <1=> Non-Secure state -// Interrupt 498 <0=> Secure state <1=> Non-Secure state -// Interrupt 499 <0=> Secure state <1=> Non-Secure state -// Interrupt 500 <0=> Secure state <1=> Non-Secure state -// Interrupt 501 <0=> Secure state <1=> Non-Secure state -// Interrupt 502 <0=> Secure state <1=> Non-Secure state -// Interrupt 503 <0=> Secure state <1=> Non-Secure state -// Interrupt 504 <0=> Secure state <1=> Non-Secure state -// Interrupt 505 <0=> Secure state <1=> Non-Secure state -// Interrupt 506 <0=> Secure state <1=> Non-Secure state -// Interrupt 507 <0=> Secure state <1=> Non-Secure state -// Interrupt 508 <0=> Secure state <1=> Non-Secure state -// Interrupt 509 <0=> Secure state <1=> Non-Secure state -// Interrupt 510 <0=> Secure state <1=> Non-Secure state -// Interrupt 511 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS15_VAL 0x00000000 - -/* -// -*/ - -/* -// -*/ - - - -/* - max 128 SAU regions. - SAU regions are defined in partition.h - */ - -#define SAU_INIT_REGION(n) \ - SAU->RNR = (n & SAU_RNR_REGION_Msk); \ - SAU->RBAR = (SAU_INIT_START##n & SAU_RBAR_BADDR_Msk); \ - SAU->RLAR = (SAU_INIT_END##n & SAU_RLAR_LADDR_Msk) | \ - ((SAU_INIT_NSC##n << SAU_RLAR_NSC_Pos) & SAU_RLAR_NSC_Msk) | 1U - -/** - \brief Setup a SAU Region - \details Writes the region information contained in SAU_Region to the - registers SAU_RNR, SAU_RBAR, and SAU_RLAR - */ -__STATIC_INLINE void TZ_SAU_Setup (void) -{ - -#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) - - #if defined (SAU_INIT_REGION0) && (SAU_INIT_REGION0 == 1U) - SAU_INIT_REGION(0); - #endif - - #if defined (SAU_INIT_REGION1) && (SAU_INIT_REGION1 == 1U) - SAU_INIT_REGION(1); - #endif - - #if defined (SAU_INIT_REGION2) && (SAU_INIT_REGION2 == 1U) - SAU_INIT_REGION(2); - #endif - - #if defined (SAU_INIT_REGION3) && (SAU_INIT_REGION3 == 1U) - SAU_INIT_REGION(3); - #endif - - #if defined (SAU_INIT_REGION4) && (SAU_INIT_REGION4 == 1U) - SAU_INIT_REGION(4); - #endif - - #if defined (SAU_INIT_REGION5) && (SAU_INIT_REGION5 == 1U) - SAU_INIT_REGION(5); - #endif - - #if defined (SAU_INIT_REGION6) && (SAU_INIT_REGION6 == 1U) - SAU_INIT_REGION(6); - #endif - - #if defined (SAU_INIT_REGION7) && (SAU_INIT_REGION7 == 1U) - SAU_INIT_REGION(7); - #endif - - /* repeat this for all possible SAU regions */ - -#endif /* defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) */ - - - #if defined (SAU_INIT_CTRL) && (SAU_INIT_CTRL == 1U) - SAU->CTRL = ((SAU_INIT_CTRL_ENABLE << SAU_CTRL_ENABLE_Pos) & SAU_CTRL_ENABLE_Msk) | - ((SAU_INIT_CTRL_ALLNS << SAU_CTRL_ALLNS_Pos) & SAU_CTRL_ALLNS_Msk) ; - #endif - - #if defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) - SCB->SCR = (SCB->SCR & ~(SCB_SCR_SLEEPDEEPS_Msk )) | - ((SCB_CSR_DEEPSLEEPS_VAL << SCB_SCR_SLEEPDEEPS_Pos) & SCB_SCR_SLEEPDEEPS_Msk); - - SCB->AIRCR = (SCB->AIRCR & ~(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_SYSRESETREQS_Msk | - SCB_AIRCR_BFHFNMINS_Msk | SCB_AIRCR_PRIS_Msk )) | - ((0x05FAU << SCB_AIRCR_VECTKEY_Pos) & SCB_AIRCR_VECTKEY_Msk) | - ((SCB_AIRCR_SYSRESETREQS_VAL << SCB_AIRCR_SYSRESETREQS_Pos) & SCB_AIRCR_SYSRESETREQS_Msk) | - ((SCB_AIRCR_PRIS_VAL << SCB_AIRCR_PRIS_Pos) & SCB_AIRCR_PRIS_Msk) | - ((SCB_AIRCR_BFHFNMINS_VAL << SCB_AIRCR_BFHFNMINS_Pos) & SCB_AIRCR_BFHFNMINS_Msk); - #endif /* defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) */ - - #if (((defined (__FPU_USED) && (__FPU_USED == 1U)) || \ - (defined (__ARM_FEATURE_MVE) && (__ARM_FEATURE_MVE > 0))) && \ - (defined (TZ_FPU_NS_USAGE) && (TZ_FPU_NS_USAGE == 1U))) - - SCB->NSACR = (SCB->NSACR & ~(SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)) | - ((SCB_NSACR_CP10_11_VAL << SCB_NSACR_CP10_Pos) & (SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)); - - FPU->FPCCR = (FPU->FPCCR & ~(FPU_FPCCR_TS_Msk | FPU_FPCCR_CLRONRETS_Msk | FPU_FPCCR_CLRONRET_Msk)) | - ((FPU_FPCCR_TS_VAL << FPU_FPCCR_TS_Pos ) & FPU_FPCCR_TS_Msk ) | - ((FPU_FPCCR_CLRONRETS_VAL << FPU_FPCCR_CLRONRETS_Pos) & FPU_FPCCR_CLRONRETS_Msk) | - ((FPU_FPCCR_CLRONRET_VAL << FPU_FPCCR_CLRONRET_Pos ) & FPU_FPCCR_CLRONRET_Msk ); - #endif - - #if defined (NVIC_INIT_ITNS0) && (NVIC_INIT_ITNS0 == 1U) - NVIC->ITNS[0] = NVIC_INIT_ITNS0_VAL; - #endif - - #if defined (NVIC_INIT_ITNS1) && (NVIC_INIT_ITNS1 == 1U) - NVIC->ITNS[1] = NVIC_INIT_ITNS1_VAL; - #endif - - #if defined (NVIC_INIT_ITNS2) && (NVIC_INIT_ITNS2 == 1U) - NVIC->ITNS[2] = NVIC_INIT_ITNS2_VAL; - #endif - - #if defined (NVIC_INIT_ITNS3) && (NVIC_INIT_ITNS3 == 1U) - NVIC->ITNS[3] = NVIC_INIT_ITNS3_VAL; - #endif - - #if defined (NVIC_INIT_ITNS4) && (NVIC_INIT_ITNS4 == 1U) - NVIC->ITNS[4] = NVIC_INIT_ITNS4_VAL; - #endif - - #if defined (NVIC_INIT_ITNS5) && (NVIC_INIT_ITNS5 == 1U) - NVIC->ITNS[5] = NVIC_INIT_ITNS5_VAL; - #endif - - #if defined (NVIC_INIT_ITNS6) && (NVIC_INIT_ITNS6 == 1U) - NVIC->ITNS[6] = NVIC_INIT_ITNS6_VAL; - #endif - - #if defined (NVIC_INIT_ITNS7) && (NVIC_INIT_ITNS7 == 1U) - NVIC->ITNS[7] = NVIC_INIT_ITNS7_VAL; - #endif - - #if defined (NVIC_INIT_ITNS8) && (NVIC_INIT_ITNS8 == 1U) - NVIC->ITNS[8] = NVIC_INIT_ITNS8_VAL; - #endif - - #if defined (NVIC_INIT_ITNS9) && (NVIC_INIT_ITNS9 == 1U) - NVIC->ITNS[9] = NVIC_INIT_ITNS9_VAL; - #endif - - #if defined (NVIC_INIT_ITNS10) && (NVIC_INIT_ITNS10 == 1U) - NVIC->ITNS[10] = NVIC_INIT_ITNS10_VAL; - #endif - - #if defined (NVIC_INIT_ITNS11) && (NVIC_INIT_ITNS11 == 1U) - NVIC->ITNS[11] = NVIC_INIT_ITNS11_VAL; - #endif - - #if defined (NVIC_INIT_ITNS12) && (NVIC_INIT_ITNS12 == 1U) - NVIC->ITNS[12] = NVIC_INIT_ITNS12_VAL; - #endif - - #if defined (NVIC_INIT_ITNS13) && (NVIC_INIT_ITNS13 == 1U) - NVIC->ITNS[13] = NVIC_INIT_ITNS13_VAL; - #endif - - #if defined (NVIC_INIT_ITNS14) && (NVIC_INIT_ITNS14 == 1U) - NVIC->ITNS[14] = NVIC_INIT_ITNS14_VAL; - #endif - - #if defined (NVIC_INIT_ITNS15) && (NVIC_INIT_ITNS15 == 1U) - NVIC->ITNS[15] = NVIC_INIT_ITNS15_VAL; - #endif - - /* repeat this for all possible ITNS elements */ - -} - -#endif /* PARTITION_ARMv81MML_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMv81MML/Include/system_ARMv81MML.h b/external/CMSIS_5/Device/ARM/ARMv81MML/Include/system_ARMv81MML.h deleted file mode 100644 index fe2a52a..0000000 --- a/external/CMSIS_5/Device/ARM/ARMv81MML/Include/system_ARMv81MML.h +++ /dev/null @@ -1,65 +0,0 @@ -/**************************************************************************//** - * @file system_ARMv81MML.h - * @brief CMSIS Device System Header File for - * Armv8.1-M Mainline Device Series - * @version V1.0.2 - * @date 11. July 2022 - ******************************************************************************/ -/* - * Copyright (c) 2009-2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef SYSTEM_ARMv81MML_H -#define SYSTEM_ARMv81MML_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -/** - \brief Exception / Interrupt Handler Function Prototype -*/ -typedef void(*VECTOR_TABLE_Type)(void); - -/** - \brief System Clock Frequency (Core Clock) -*/ -extern uint32_t SystemCoreClock; - - -/** - \brief Setup the microcontroller system. - - Initialize the System and update the SystemCoreClock variable. - */ -extern void SystemInit (void); - - -/** - \brief Update SystemCoreClock variable. - - Updates the SystemCoreClock with current core Clock retrieved from cpu registers. - */ -extern void SystemCoreClockUpdate (void); - -#ifdef __cplusplus -} -#endif - -#endif /* SYSTEM_ARMv81MML_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMv81MML/Source/ARM/ARMv81MML_ac6.sct b/external/CMSIS_5/Device/ARM/ARMv81MML/Source/ARM/ARMv81MML_ac6.sct deleted file mode 100644 index 985948f..0000000 --- a/external/CMSIS_5/Device/ARM/ARMv81MML/Source/ARM/ARMv81MML_ac6.sct +++ /dev/null @@ -1,119 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -march=armv8.1-m.main -xc -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -march=armv8.1-m.main -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_SIZE 0x200 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE ( __RAM_SIZE - __STACK_SIZE - __HEAP_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_RAM __RW_BASE __RW_SIZE { ; RW data - .ANY (+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/Device/ARM/ARMv81MML/Source/ARM/ARMv81MML_ac6_s.sct b/external/CMSIS_5/Device/ARM/ARMv81MML/Source/ARM/ARMv81MML_ac6_s.sct deleted file mode 100644 index 0b660f6..0000000 --- a/external/CMSIS_5/Device/ARM/ARMv81MML/Source/ARM/ARMv81MML_ac6_s.sct +++ /dev/null @@ -1,119 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -march=armv8.1-m.main -xc -mcmse -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -march=armv8.1-m.main -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_SIZE 0x200 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE ( __RAM_SIZE - __STACK_SIZE - __HEAP_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_RAM __RW_BASE __RW_SIZE { ; RW data - .ANY (+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/Device/ARM/ARMv81MML/Source/GCC/gcc_arm.ld b/external/CMSIS_5/Device/ARM/ARMv81MML/Source/GCC/gcc_arm.ld deleted file mode 100644 index c8f0efe..0000000 --- a/external/CMSIS_5/Device/ARM/ARMv81MML/Source/GCC/gcc_arm.ld +++ /dev/null @@ -1,316 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.2.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00040000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00020000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -/* ARMv8-M stack sealing: - to use ARMv8-M stack sealing set __STACKSEAL_SIZE to 8 otherwise keep 0 - */ -__STACKSEAL_SIZE = 0; - - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - * __StackSeal (only if ARMv8-M stack sealing is used) - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ -/* - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH -*/ - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* ARMv8-M stack sealing: - to use ARMv8-M stack sealing uncomment '.stackseal' section - */ -/* - .stackseal (ORIGIN(RAM) + LENGTH(RAM) - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackSeal = .; - . = . + 8; - . = ALIGN(8); - } > RAM -*/ - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/Device/ARM/ARMv81MML/Source/startup_ARMv81MML.c b/external/CMSIS_5/Device/ARM/ARMv81MML/Source/startup_ARMv81MML.c deleted file mode 100644 index 17167b9..0000000 --- a/external/CMSIS_5/Device/ARM/ARMv81MML/Source/startup_ARMv81MML.c +++ /dev/null @@ -1,164 +0,0 @@ -/****************************************************************************** - * @file startup_ARMv81MML.c - * @brief CMSIS-Core Device Startup File for ARMv81MML Device - * @version V2.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMv81MML_DSP_DP_MVE_FP) - #include "ARMv81MML_DSP_DP_MVE_FP.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SecureFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - SecureFault_Handler, /* -9 Secure Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 480 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/Device/ARM/ARMv81MML/Source/system_ARMv81MML.c b/external/CMSIS_5/Device/ARM/ARMv81MML/Source/system_ARMv81MML.c deleted file mode 100644 index 2a545b0..0000000 --- a/external/CMSIS_5/Device/ARM/ARMv81MML/Source/system_ARMv81MML.c +++ /dev/null @@ -1,93 +0,0 @@ -/**************************************************************************//** - * @file system_ARMv81MML.c - * @brief CMSIS Device System Source File for - * Armv8.1-M Mainline Device Series - * @version V1.2.1 - * @date 27. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMv81MML_DSP_DP_MVE_FP) - #include "ARMv81MML_DSP_DP_MVE_FP.h" -#else - #error device not specified! -#endif - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMv81MML.h" -#endif - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL ( 5000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (5U * XTAL) - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t)(&__VECTOR_TABLE[0]); -#endif - -#if (defined (__FPU_USED) && (__FPU_USED == 1U)) || \ - (defined (__ARM_FEATURE_MVE) && (__ARM_FEATURE_MVE > 0U)) - SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ - (3U << 11U*2U) ); /* enable CP11 Full Access */ -#endif - -#ifdef UNALIGNED_SUPPORT_DISABLE - SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; -#endif - -// Enable Loop and branch info cache -SCB->CCR |= SCB_CCR_LOB_Msk; -__ISB(); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - TZ_SAU_Setup(); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/Device/ARM/ARMv8MBL/Include/ARMv8MBL.h b/external/CMSIS_5/Device/ARM/ARMv8MBL/Include/ARMv8MBL.h deleted file mode 100644 index f5eedab..0000000 --- a/external/CMSIS_5/Device/ARM/ARMv8MBL/Include/ARMv8MBL.h +++ /dev/null @@ -1,127 +0,0 @@ -/**************************************************************************//** - * @file ARMv8MBL.h - * @brief CMSIS Core Peripheral Access Layer Header File for - * ARMv8MBL Device - * @version V5.3.1 - * @date 09. July 2018 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ARMv8MBL_H -#define ARMv8MBL_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* ------------------------- Interrupt Number Definition ------------------------ */ - -typedef enum IRQn -{ -/* ------------------- Processor Exceptions Numbers ----------------------------- */ - NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /* 3 HardFault Interrupt */ - - - - SVCall_IRQn = -5, /* 11 SVC Interrupt */ - - PendSV_IRQn = -2, /* 14 PendSV Interrupt */ - SysTick_IRQn = -1, /* 15 System Tick Interrupt */ - -/* ------------------- Processor Interrupt Numbers ------------------------------ */ - Interrupt0_IRQn = 0, - Interrupt1_IRQn = 1, - Interrupt2_IRQn = 2, - Interrupt3_IRQn = 3, - Interrupt4_IRQn = 4, - Interrupt5_IRQn = 5, - Interrupt6_IRQn = 6, - Interrupt7_IRQn = 7, - Interrupt8_IRQn = 8, - Interrupt9_IRQn = 9 - /* Interrupts 10 .. 480 are left out */ -} IRQn_Type; - - -/* ================================================================================ */ -/* ================ Processor and Core Peripheral Section ================ */ -/* ================================================================================ */ - -/* ------- Start of section using anonymous unions and disabling warnings ------- */ -#if defined (__CC_ARM) - #pragma push - #pragma anon_unions -#elif defined (__ICCARM__) - #pragma language=extended -#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wc11-extensions" - #pragma clang diagnostic ignored "-Wreserved-id-macro" -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning 586 -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -/* -------- Configuration of Core Peripherals ----------------------------------- */ -#define __ARMv8MBL_REV 0x0000U /* Core revision r0p0 */ -#define __SAUREGION_PRESENT 1U /* SAU regions are present */ -#define __MPU_PRESENT 0U /* no MPU present */ -#define __VTOR_PRESENT 0U /* no VTOR present */ -#define __NVIC_PRIO_BITS 2U /* Number of Bits used for Priority Levels */ -#define __Vendor_SysTickConfig 0U /* Set to 1 if different SysTick Config is used */ - -#include "core_armv8mbl.h" /* Processor and core peripherals */ -#include "system_ARMv8MBL.h" /* System Header */ - - -/* -------- End of section using anonymous unions and disabling warnings -------- */ -#if defined (__CC_ARM) - #pragma pop -#elif defined (__ICCARM__) - /* leave anonymous unions enabled */ -#elif (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) - #pragma clang diagnostic pop -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning restore -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* ARMv8MBL_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMv8MBL/Include/Template/partition_ARMv8MBL.h b/external/CMSIS_5/Device/ARM/ARMv8MBL/Include/Template/partition_ARMv8MBL.h deleted file mode 100644 index f87aa84..0000000 --- a/external/CMSIS_5/Device/ARM/ARMv8MBL/Include/Template/partition_ARMv8MBL.h +++ /dev/null @@ -1,1232 +0,0 @@ -/**************************************************************************//** - * @file partition_ARMv8MBL.h - * @brief CMSIS-CORE Initial Setup for Secure / Non-Secure Zones for ARMv8MBL - * @version V1.0.0 - * @date 09. July 2018 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef PARTITION_ARMv8MBL_H -#define PARTITION_ARMv8MBL_H - -/* -//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- -*/ - -/* -// Initialize Security Attribution Unit (SAU) CTRL register -*/ -#define SAU_INIT_CTRL 1 - -/* -// Enable SAU -// Value for SAU->CTRL register bit ENABLE -*/ -#define SAU_INIT_CTRL_ENABLE 1 - -/* -// When SAU is disabled -// <0=> All Memory is Secure -// <1=> All Memory is Non-Secure -// Value for SAU->CTRL register bit ALLNS -// When all Memory is Non-Secure (ALLNS is 1), IDAU can override memory map configuration. -*/ -#define SAU_INIT_CTRL_ALLNS 0 - -/* -// -*/ - -/* -// Initialize Security Attribution Unit (SAU) Address Regions -// SAU configuration specifies regions to be one of: -// - Secure and Non-Secure Callable -// - Non-Secure -// Note: All memory regions not configured by SAU are Secure -*/ -#define SAU_REGIONS_MAX 8 /* Max. number of SAU regions */ - -/* -// Initialize SAU Region 0 -// Setup SAU Region 0 memory attributes -*/ -#define SAU_INIT_REGION0 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START0 0x00000000 /* start address of SAU region 0 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END0 0x001FFFFF /* end address of SAU region 0 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC0 1 -/* -// -*/ - -/* -// Initialize SAU Region 1 -// Setup SAU Region 1 memory attributes -*/ -#define SAU_INIT_REGION1 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START1 0x00200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END1 0x003FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC1 0 -/* -// -*/ - -/* -// Initialize SAU Region 2 -// Setup SAU Region 2 memory attributes -*/ -#define SAU_INIT_REGION2 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START2 0x20200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END2 0x203FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC2 0 -/* -// -*/ - -/* -// Initialize SAU Region 3 -// Setup SAU Region 3 memory attributes -*/ -#define SAU_INIT_REGION3 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START3 0x40000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END3 0x40040000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC3 0 -/* -// -*/ - -/* -// Initialize SAU Region 4 -// Setup SAU Region 4 memory attributes -*/ -#define SAU_INIT_REGION4 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START4 0x00000000 /* start address of SAU region 4 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END4 0x00000000 /* end address of SAU region 4 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC4 0 -/* -// -*/ - -/* -// Initialize SAU Region 5 -// Setup SAU Region 5 memory attributes -*/ -#define SAU_INIT_REGION5 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START5 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END5 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC5 0 -/* -// -*/ - -/* -// Initialize SAU Region 6 -// Setup SAU Region 6 memory attributes -*/ -#define SAU_INIT_REGION6 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START6 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END6 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC6 0 -/* -// -*/ - -/* -// Initialize SAU Region 7 -// Setup SAU Region 7 memory attributes -*/ -#define SAU_INIT_REGION7 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START7 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END7 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC7 0 -/* -// -*/ - -/* -// -*/ - -/* -// Setup behaviour of Sleep and Exception Handling -*/ -#define SCB_CSR_AIRCR_INIT 1 - -/* -// Deep Sleep can be enabled by -// <0=>Secure and Non-Secure state -// <1=>Secure state only -// Value for SCB->CSR register bit DEEPSLEEPS -*/ -#define SCB_CSR_DEEPSLEEPS_VAL 1 - -/* -// System reset request accessible from -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for SCB->AIRCR register bit SYSRESETREQS -*/ -#define SCB_AIRCR_SYSRESETREQS_VAL 1 - -/* -// Priority of Non-Secure exceptions is -// <0=> Not altered -// <1=> Lowered to 0x80-0xFF -// Value for SCB->AIRCR register bit PRIS -*/ -#define SCB_AIRCR_PRIS_VAL 1 - -/* -// BusFault, HardFault, and NMI target -// <0=> Secure state -// <1=> Non-Secure state -// Value for SCB->AIRCR register bit BFHFNMINS -*/ -#define SCB_AIRCR_BFHFNMINS_VAL 0 - -/* -// -*/ - - -/* -// Setup behaviour of single SysTick -*/ -#define SCB_ICSR_INIT 0 - -/* -// in a single SysTick implementation, SysTick is -// <0=>Secure -// <1=>Non-Secure -// Value for SCB->ICSR register bit STTNS -// only for single SysTick implementation -*/ -#define SCB_ICSR_STTNS_VAL 0 - -/* -// -*/ - - -/* -// Setup Interrupt Target -*/ - -/* -// Initialize ITNS 0 (Interrupts 0..31) -*/ -#define NVIC_INIT_ITNS0 1 - -/* -// Interrupts 0..31 -// Interrupt 0 <0=> Secure state <1=> Non-Secure state -// Interrupt 1 <0=> Secure state <1=> Non-Secure state -// Interrupt 2 <0=> Secure state <1=> Non-Secure state -// Interrupt 3 <0=> Secure state <1=> Non-Secure state -// Interrupt 4 <0=> Secure state <1=> Non-Secure state -// Interrupt 5 <0=> Secure state <1=> Non-Secure state -// Interrupt 6 <0=> Secure state <1=> Non-Secure state -// Interrupt 7 <0=> Secure state <1=> Non-Secure state -// Interrupt 8 <0=> Secure state <1=> Non-Secure state -// Interrupt 9 <0=> Secure state <1=> Non-Secure state -// Interrupt 10 <0=> Secure state <1=> Non-Secure state -// Interrupt 11 <0=> Secure state <1=> Non-Secure state -// Interrupt 12 <0=> Secure state <1=> Non-Secure state -// Interrupt 13 <0=> Secure state <1=> Non-Secure state -// Interrupt 14 <0=> Secure state <1=> Non-Secure state -// Interrupt 15 <0=> Secure state <1=> Non-Secure state -// Interrupt 16 <0=> Secure state <1=> Non-Secure state -// Interrupt 17 <0=> Secure state <1=> Non-Secure state -// Interrupt 18 <0=> Secure state <1=> Non-Secure state -// Interrupt 19 <0=> Secure state <1=> Non-Secure state -// Interrupt 20 <0=> Secure state <1=> Non-Secure state -// Interrupt 21 <0=> Secure state <1=> Non-Secure state -// Interrupt 22 <0=> Secure state <1=> Non-Secure state -// Interrupt 23 <0=> Secure state <1=> Non-Secure state -// Interrupt 24 <0=> Secure state <1=> Non-Secure state -// Interrupt 25 <0=> Secure state <1=> Non-Secure state -// Interrupt 26 <0=> Secure state <1=> Non-Secure state -// Interrupt 27 <0=> Secure state <1=> Non-Secure state -// Interrupt 28 <0=> Secure state <1=> Non-Secure state -// Interrupt 29 <0=> Secure state <1=> Non-Secure state -// Interrupt 30 <0=> Secure state <1=> Non-Secure state -// Interrupt 31 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS0_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 1 (Interrupts 32..63) -*/ -#define NVIC_INIT_ITNS1 1 - -/* -// Interrupts 32..63 -// Interrupt 32 <0=> Secure state <1=> Non-Secure state -// Interrupt 33 <0=> Secure state <1=> Non-Secure state -// Interrupt 34 <0=> Secure state <1=> Non-Secure state -// Interrupt 35 <0=> Secure state <1=> Non-Secure state -// Interrupt 36 <0=> Secure state <1=> Non-Secure state -// Interrupt 37 <0=> Secure state <1=> Non-Secure state -// Interrupt 38 <0=> Secure state <1=> Non-Secure state -// Interrupt 39 <0=> Secure state <1=> Non-Secure state -// Interrupt 40 <0=> Secure state <1=> Non-Secure state -// Interrupt 41 <0=> Secure state <1=> Non-Secure state -// Interrupt 42 <0=> Secure state <1=> Non-Secure state -// Interrupt 43 <0=> Secure state <1=> Non-Secure state -// Interrupt 44 <0=> Secure state <1=> Non-Secure state -// Interrupt 45 <0=> Secure state <1=> Non-Secure state -// Interrupt 46 <0=> Secure state <1=> Non-Secure state -// Interrupt 47 <0=> Secure state <1=> Non-Secure state -// Interrupt 48 <0=> Secure state <1=> Non-Secure state -// Interrupt 49 <0=> Secure state <1=> Non-Secure state -// Interrupt 50 <0=> Secure state <1=> Non-Secure state -// Interrupt 51 <0=> Secure state <1=> Non-Secure state -// Interrupt 52 <0=> Secure state <1=> Non-Secure state -// Interrupt 53 <0=> Secure state <1=> Non-Secure state -// Interrupt 54 <0=> Secure state <1=> Non-Secure state -// Interrupt 55 <0=> Secure state <1=> Non-Secure state -// Interrupt 56 <0=> Secure state <1=> Non-Secure state -// Interrupt 57 <0=> Secure state <1=> Non-Secure state -// Interrupt 58 <0=> Secure state <1=> Non-Secure state -// Interrupt 59 <0=> Secure state <1=> Non-Secure state -// Interrupt 60 <0=> Secure state <1=> Non-Secure state -// Interrupt 61 <0=> Secure state <1=> Non-Secure state -// Interrupt 62 <0=> Secure state <1=> Non-Secure state -// Interrupt 63 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS1_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 2 (Interrupts 64..95) -*/ -#define NVIC_INIT_ITNS2 0 - -/* -// Interrupts 64..95 -// Interrupt 64 <0=> Secure state <1=> Non-Secure state -// Interrupt 65 <0=> Secure state <1=> Non-Secure state -// Interrupt 66 <0=> Secure state <1=> Non-Secure state -// Interrupt 67 <0=> Secure state <1=> Non-Secure state -// Interrupt 68 <0=> Secure state <1=> Non-Secure state -// Interrupt 69 <0=> Secure state <1=> Non-Secure state -// Interrupt 70 <0=> Secure state <1=> Non-Secure state -// Interrupt 71 <0=> Secure state <1=> Non-Secure state -// Interrupt 72 <0=> Secure state <1=> Non-Secure state -// Interrupt 73 <0=> Secure state <1=> Non-Secure state -// Interrupt 74 <0=> Secure state <1=> Non-Secure state -// Interrupt 75 <0=> Secure state <1=> Non-Secure state -// Interrupt 76 <0=> Secure state <1=> Non-Secure state -// Interrupt 77 <0=> Secure state <1=> Non-Secure state -// Interrupt 78 <0=> Secure state <1=> Non-Secure state -// Interrupt 79 <0=> Secure state <1=> Non-Secure state -// Interrupt 80 <0=> Secure state <1=> Non-Secure state -// Interrupt 81 <0=> Secure state <1=> Non-Secure state -// Interrupt 82 <0=> Secure state <1=> Non-Secure state -// Interrupt 83 <0=> Secure state <1=> Non-Secure state -// Interrupt 84 <0=> Secure state <1=> Non-Secure state -// Interrupt 85 <0=> Secure state <1=> Non-Secure state -// Interrupt 86 <0=> Secure state <1=> Non-Secure state -// Interrupt 87 <0=> Secure state <1=> Non-Secure state -// Interrupt 88 <0=> Secure state <1=> Non-Secure state -// Interrupt 89 <0=> Secure state <1=> Non-Secure state -// Interrupt 90 <0=> Secure state <1=> Non-Secure state -// Interrupt 91 <0=> Secure state <1=> Non-Secure state -// Interrupt 92 <0=> Secure state <1=> Non-Secure state -// Interrupt 93 <0=> Secure state <1=> Non-Secure state -// Interrupt 94 <0=> Secure state <1=> Non-Secure state -// Interrupt 95 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS2_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 3 (Interrupts 96..127) -*/ -#define NVIC_INIT_ITNS3 0 - -/* -// Interrupts 96..127 -// Interrupt 96 <0=> Secure state <1=> Non-Secure state -// Interrupt 97 <0=> Secure state <1=> Non-Secure state -// Interrupt 98 <0=> Secure state <1=> Non-Secure state -// Interrupt 99 <0=> Secure state <1=> Non-Secure state -// Interrupt 100 <0=> Secure state <1=> Non-Secure state -// Interrupt 101 <0=> Secure state <1=> Non-Secure state -// Interrupt 102 <0=> Secure state <1=> Non-Secure state -// Interrupt 103 <0=> Secure state <1=> Non-Secure state -// Interrupt 104 <0=> Secure state <1=> Non-Secure state -// Interrupt 105 <0=> Secure state <1=> Non-Secure state -// Interrupt 106 <0=> Secure state <1=> Non-Secure state -// Interrupt 107 <0=> Secure state <1=> Non-Secure state -// Interrupt 108 <0=> Secure state <1=> Non-Secure state -// Interrupt 109 <0=> Secure state <1=> Non-Secure state -// Interrupt 110 <0=> Secure state <1=> Non-Secure state -// Interrupt 111 <0=> Secure state <1=> Non-Secure state -// Interrupt 112 <0=> Secure state <1=> Non-Secure state -// Interrupt 113 <0=> Secure state <1=> Non-Secure state -// Interrupt 114 <0=> Secure state <1=> Non-Secure state -// Interrupt 115 <0=> Secure state <1=> Non-Secure state -// Interrupt 116 <0=> Secure state <1=> Non-Secure state -// Interrupt 117 <0=> Secure state <1=> Non-Secure state -// Interrupt 118 <0=> Secure state <1=> Non-Secure state -// Interrupt 119 <0=> Secure state <1=> Non-Secure state -// Interrupt 120 <0=> Secure state <1=> Non-Secure state -// Interrupt 121 <0=> Secure state <1=> Non-Secure state -// Interrupt 122 <0=> Secure state <1=> Non-Secure state -// Interrupt 123 <0=> Secure state <1=> Non-Secure state -// Interrupt 124 <0=> Secure state <1=> Non-Secure state -// Interrupt 125 <0=> Secure state <1=> Non-Secure state -// Interrupt 126 <0=> Secure state <1=> Non-Secure state -// Interrupt 127 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS3_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 4 (Interrupts 128..159) -*/ -#define NVIC_INIT_ITNS4 0 - -/* -// Interrupts 128..159 -// Interrupt 128 <0=> Secure state <1=> Non-Secure state -// Interrupt 129 <0=> Secure state <1=> Non-Secure state -// Interrupt 130 <0=> Secure state <1=> Non-Secure state -// Interrupt 131 <0=> Secure state <1=> Non-Secure state -// Interrupt 132 <0=> Secure state <1=> Non-Secure state -// Interrupt 133 <0=> Secure state <1=> Non-Secure state -// Interrupt 134 <0=> Secure state <1=> Non-Secure state -// Interrupt 135 <0=> Secure state <1=> Non-Secure state -// Interrupt 136 <0=> Secure state <1=> Non-Secure state -// Interrupt 137 <0=> Secure state <1=> Non-Secure state -// Interrupt 138 <0=> Secure state <1=> Non-Secure state -// Interrupt 139 <0=> Secure state <1=> Non-Secure state -// Interrupt 140 <0=> Secure state <1=> Non-Secure state -// Interrupt 141 <0=> Secure state <1=> Non-Secure state -// Interrupt 142 <0=> Secure state <1=> Non-Secure state -// Interrupt 143 <0=> Secure state <1=> Non-Secure state -// Interrupt 144 <0=> Secure state <1=> Non-Secure state -// Interrupt 145 <0=> Secure state <1=> Non-Secure state -// Interrupt 146 <0=> Secure state <1=> Non-Secure state -// Interrupt 147 <0=> Secure state <1=> Non-Secure state -// Interrupt 148 <0=> Secure state <1=> Non-Secure state -// Interrupt 149 <0=> Secure state <1=> Non-Secure state -// Interrupt 150 <0=> Secure state <1=> Non-Secure state -// Interrupt 151 <0=> Secure state <1=> Non-Secure state -// Interrupt 152 <0=> Secure state <1=> Non-Secure state -// Interrupt 153 <0=> Secure state <1=> Non-Secure state -// Interrupt 154 <0=> Secure state <1=> Non-Secure state -// Interrupt 155 <0=> Secure state <1=> Non-Secure state -// Interrupt 156 <0=> Secure state <1=> Non-Secure state -// Interrupt 157 <0=> Secure state <1=> Non-Secure state -// Interrupt 158 <0=> Secure state <1=> Non-Secure state -// Interrupt 159 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS4_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 5 (Interrupts 160..191) -*/ -#define NVIC_INIT_ITNS5 0 - -/* -// Interrupts 160..191 -// Interrupt 160 <0=> Secure state <1=> Non-Secure state -// Interrupt 161 <0=> Secure state <1=> Non-Secure state -// Interrupt 162 <0=> Secure state <1=> Non-Secure state -// Interrupt 163 <0=> Secure state <1=> Non-Secure state -// Interrupt 164 <0=> Secure state <1=> Non-Secure state -// Interrupt 165 <0=> Secure state <1=> Non-Secure state -// Interrupt 166 <0=> Secure state <1=> Non-Secure state -// Interrupt 167 <0=> Secure state <1=> Non-Secure state -// Interrupt 168 <0=> Secure state <1=> Non-Secure state -// Interrupt 169 <0=> Secure state <1=> Non-Secure state -// Interrupt 170 <0=> Secure state <1=> Non-Secure state -// Interrupt 171 <0=> Secure state <1=> Non-Secure state -// Interrupt 172 <0=> Secure state <1=> Non-Secure state -// Interrupt 173 <0=> Secure state <1=> Non-Secure state -// Interrupt 174 <0=> Secure state <1=> Non-Secure state -// Interrupt 175 <0=> Secure state <1=> Non-Secure state -// Interrupt 176 <0=> Secure state <1=> Non-Secure state -// Interrupt 177 <0=> Secure state <1=> Non-Secure state -// Interrupt 178 <0=> Secure state <1=> Non-Secure state -// Interrupt 179 <0=> Secure state <1=> Non-Secure state -// Interrupt 180 <0=> Secure state <1=> Non-Secure state -// Interrupt 181 <0=> Secure state <1=> Non-Secure state -// Interrupt 182 <0=> Secure state <1=> Non-Secure state -// Interrupt 183 <0=> Secure state <1=> Non-Secure state -// Interrupt 184 <0=> Secure state <1=> Non-Secure state -// Interrupt 185 <0=> Secure state <1=> Non-Secure state -// Interrupt 186 <0=> Secure state <1=> Non-Secure state -// Interrupt 187 <0=> Secure state <1=> Non-Secure state -// Interrupt 188 <0=> Secure state <1=> Non-Secure state -// Interrupt 189 <0=> Secure state <1=> Non-Secure state -// Interrupt 190 <0=> Secure state <1=> Non-Secure state -// Interrupt 191 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS5_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 6 (Interrupts 192..223) -*/ -#define NVIC_INIT_ITNS6 0 - -/* -// Interrupts 192..223 -// Interrupt 192 <0=> Secure state <1=> Non-Secure state -// Interrupt 193 <0=> Secure state <1=> Non-Secure state -// Interrupt 194 <0=> Secure state <1=> Non-Secure state -// Interrupt 195 <0=> Secure state <1=> Non-Secure state -// Interrupt 196 <0=> Secure state <1=> Non-Secure state -// Interrupt 197 <0=> Secure state <1=> Non-Secure state -// Interrupt 198 <0=> Secure state <1=> Non-Secure state -// Interrupt 199 <0=> Secure state <1=> Non-Secure state -// Interrupt 200 <0=> Secure state <1=> Non-Secure state -// Interrupt 201 <0=> Secure state <1=> Non-Secure state -// Interrupt 202 <0=> Secure state <1=> Non-Secure state -// Interrupt 203 <0=> Secure state <1=> Non-Secure state -// Interrupt 204 <0=> Secure state <1=> Non-Secure state -// Interrupt 205 <0=> Secure state <1=> Non-Secure state -// Interrupt 206 <0=> Secure state <1=> Non-Secure state -// Interrupt 207 <0=> Secure state <1=> Non-Secure state -// Interrupt 208 <0=> Secure state <1=> Non-Secure state -// Interrupt 209 <0=> Secure state <1=> Non-Secure state -// Interrupt 210 <0=> Secure state <1=> Non-Secure state -// Interrupt 211 <0=> Secure state <1=> Non-Secure state -// Interrupt 212 <0=> Secure state <1=> Non-Secure state -// Interrupt 213 <0=> Secure state <1=> Non-Secure state -// Interrupt 214 <0=> Secure state <1=> Non-Secure state -// Interrupt 215 <0=> Secure state <1=> Non-Secure state -// Interrupt 216 <0=> Secure state <1=> Non-Secure state -// Interrupt 217 <0=> Secure state <1=> Non-Secure state -// Interrupt 218 <0=> Secure state <1=> Non-Secure state -// Interrupt 219 <0=> Secure state <1=> Non-Secure state -// Interrupt 220 <0=> Secure state <1=> Non-Secure state -// Interrupt 221 <0=> Secure state <1=> Non-Secure state -// Interrupt 222 <0=> Secure state <1=> Non-Secure state -// Interrupt 223 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS6_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 7 (Interrupts 224..255) -*/ -#define NVIC_INIT_ITNS7 0 - -/* -// Interrupts 224..255 -// Interrupt 224 <0=> Secure state <1=> Non-Secure state -// Interrupt 225 <0=> Secure state <1=> Non-Secure state -// Interrupt 226 <0=> Secure state <1=> Non-Secure state -// Interrupt 227 <0=> Secure state <1=> Non-Secure state -// Interrupt 228 <0=> Secure state <1=> Non-Secure state -// Interrupt 229 <0=> Secure state <1=> Non-Secure state -// Interrupt 230 <0=> Secure state <1=> Non-Secure state -// Interrupt 231 <0=> Secure state <1=> Non-Secure state -// Interrupt 232 <0=> Secure state <1=> Non-Secure state -// Interrupt 233 <0=> Secure state <1=> Non-Secure state -// Interrupt 234 <0=> Secure state <1=> Non-Secure state -// Interrupt 235 <0=> Secure state <1=> Non-Secure state -// Interrupt 236 <0=> Secure state <1=> Non-Secure state -// Interrupt 237 <0=> Secure state <1=> Non-Secure state -// Interrupt 238 <0=> Secure state <1=> Non-Secure state -// Interrupt 239 <0=> Secure state <1=> Non-Secure state -// Interrupt 240 <0=> Secure state <1=> Non-Secure state -// Interrupt 241 <0=> Secure state <1=> Non-Secure state -// Interrupt 242 <0=> Secure state <1=> Non-Secure state -// Interrupt 243 <0=> Secure state <1=> Non-Secure state -// Interrupt 244 <0=> Secure state <1=> Non-Secure state -// Interrupt 245 <0=> Secure state <1=> Non-Secure state -// Interrupt 246 <0=> Secure state <1=> Non-Secure state -// Interrupt 247 <0=> Secure state <1=> Non-Secure state -// Interrupt 248 <0=> Secure state <1=> Non-Secure state -// Interrupt 249 <0=> Secure state <1=> Non-Secure state -// Interrupt 250 <0=> Secure state <1=> Non-Secure state -// Interrupt 251 <0=> Secure state <1=> Non-Secure state -// Interrupt 252 <0=> Secure state <1=> Non-Secure state -// Interrupt 253 <0=> Secure state <1=> Non-Secure state -// Interrupt 254 <0=> Secure state <1=> Non-Secure state -// Interrupt 255 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS7_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 8 (Interrupts 256..287) -*/ -#define NVIC_INIT_ITNS8 0 - -/* -// Interrupts 256..287 -// Interrupt 256 <0=> Secure state <1=> Non-Secure state -// Interrupt 257 <0=> Secure state <1=> Non-Secure state -// Interrupt 258 <0=> Secure state <1=> Non-Secure state -// Interrupt 259 <0=> Secure state <1=> Non-Secure state -// Interrupt 260 <0=> Secure state <1=> Non-Secure state -// Interrupt 261 <0=> Secure state <1=> Non-Secure state -// Interrupt 262 <0=> Secure state <1=> Non-Secure state -// Interrupt 263 <0=> Secure state <1=> Non-Secure state -// Interrupt 264 <0=> Secure state <1=> Non-Secure state -// Interrupt 265 <0=> Secure state <1=> Non-Secure state -// Interrupt 266 <0=> Secure state <1=> Non-Secure state -// Interrupt 267 <0=> Secure state <1=> Non-Secure state -// Interrupt 268 <0=> Secure state <1=> Non-Secure state -// Interrupt 269 <0=> Secure state <1=> Non-Secure state -// Interrupt 270 <0=> Secure state <1=> Non-Secure state -// Interrupt 271 <0=> Secure state <1=> Non-Secure state -// Interrupt 272 <0=> Secure state <1=> Non-Secure state -// Interrupt 273 <0=> Secure state <1=> Non-Secure state -// Interrupt 274 <0=> Secure state <1=> Non-Secure state -// Interrupt 275 <0=> Secure state <1=> Non-Secure state -// Interrupt 276 <0=> Secure state <1=> Non-Secure state -// Interrupt 277 <0=> Secure state <1=> Non-Secure state -// Interrupt 278 <0=> Secure state <1=> Non-Secure state -// Interrupt 279 <0=> Secure state <1=> Non-Secure state -// Interrupt 280 <0=> Secure state <1=> Non-Secure state -// Interrupt 281 <0=> Secure state <1=> Non-Secure state -// Interrupt 282 <0=> Secure state <1=> Non-Secure state -// Interrupt 283 <0=> Secure state <1=> Non-Secure state -// Interrupt 284 <0=> Secure state <1=> Non-Secure state -// Interrupt 285 <0=> Secure state <1=> Non-Secure state -// Interrupt 286 <0=> Secure state <1=> Non-Secure state -// Interrupt 287 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS8_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 9 (Interrupts 288..319) -*/ -#define NVIC_INIT_ITNS9 0 - -/* -// Interrupts 288..319 -// Interrupt 288 <0=> Secure state <1=> Non-Secure state -// Interrupt 289 <0=> Secure state <1=> Non-Secure state -// Interrupt 290 <0=> Secure state <1=> Non-Secure state -// Interrupt 291 <0=> Secure state <1=> Non-Secure state -// Interrupt 292 <0=> Secure state <1=> Non-Secure state -// Interrupt 293 <0=> Secure state <1=> Non-Secure state -// Interrupt 294 <0=> Secure state <1=> Non-Secure state -// Interrupt 295 <0=> Secure state <1=> Non-Secure state -// Interrupt 296 <0=> Secure state <1=> Non-Secure state -// Interrupt 297 <0=> Secure state <1=> Non-Secure state -// Interrupt 298 <0=> Secure state <1=> Non-Secure state -// Interrupt 299 <0=> Secure state <1=> Non-Secure state -// Interrupt 300 <0=> Secure state <1=> Non-Secure state -// Interrupt 301 <0=> Secure state <1=> Non-Secure state -// Interrupt 302 <0=> Secure state <1=> Non-Secure state -// Interrupt 303 <0=> Secure state <1=> Non-Secure state -// Interrupt 304 <0=> Secure state <1=> Non-Secure state -// Interrupt 305 <0=> Secure state <1=> Non-Secure state -// Interrupt 306 <0=> Secure state <1=> Non-Secure state -// Interrupt 307 <0=> Secure state <1=> Non-Secure state -// Interrupt 308 <0=> Secure state <1=> Non-Secure state -// Interrupt 309 <0=> Secure state <1=> Non-Secure state -// Interrupt 310 <0=> Secure state <1=> Non-Secure state -// Interrupt 311 <0=> Secure state <1=> Non-Secure state -// Interrupt 312 <0=> Secure state <1=> Non-Secure state -// Interrupt 313 <0=> Secure state <1=> Non-Secure state -// Interrupt 314 <0=> Secure state <1=> Non-Secure state -// Interrupt 315 <0=> Secure state <1=> Non-Secure state -// Interrupt 316 <0=> Secure state <1=> Non-Secure state -// Interrupt 317 <0=> Secure state <1=> Non-Secure state -// Interrupt 318 <0=> Secure state <1=> Non-Secure state -// Interrupt 319 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS9_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 10 (Interrupts 320..351) -*/ -#define NVIC_INIT_ITNS10 0 - -/* -// Interrupts 320..351 -// Interrupt 320 <0=> Secure state <1=> Non-Secure state -// Interrupt 321 <0=> Secure state <1=> Non-Secure state -// Interrupt 322 <0=> Secure state <1=> Non-Secure state -// Interrupt 323 <0=> Secure state <1=> Non-Secure state -// Interrupt 324 <0=> Secure state <1=> Non-Secure state -// Interrupt 325 <0=> Secure state <1=> Non-Secure state -// Interrupt 326 <0=> Secure state <1=> Non-Secure state -// Interrupt 327 <0=> Secure state <1=> Non-Secure state -// Interrupt 328 <0=> Secure state <1=> Non-Secure state -// Interrupt 329 <0=> Secure state <1=> Non-Secure state -// Interrupt 330 <0=> Secure state <1=> Non-Secure state -// Interrupt 331 <0=> Secure state <1=> Non-Secure state -// Interrupt 332 <0=> Secure state <1=> Non-Secure state -// Interrupt 333 <0=> Secure state <1=> Non-Secure state -// Interrupt 334 <0=> Secure state <1=> Non-Secure state -// Interrupt 335 <0=> Secure state <1=> Non-Secure state -// Interrupt 336 <0=> Secure state <1=> Non-Secure state -// Interrupt 337 <0=> Secure state <1=> Non-Secure state -// Interrupt 338 <0=> Secure state <1=> Non-Secure state -// Interrupt 339 <0=> Secure state <1=> Non-Secure state -// Interrupt 340 <0=> Secure state <1=> Non-Secure state -// Interrupt 341 <0=> Secure state <1=> Non-Secure state -// Interrupt 342 <0=> Secure state <1=> Non-Secure state -// Interrupt 343 <0=> Secure state <1=> Non-Secure state -// Interrupt 344 <0=> Secure state <1=> Non-Secure state -// Interrupt 345 <0=> Secure state <1=> Non-Secure state -// Interrupt 346 <0=> Secure state <1=> Non-Secure state -// Interrupt 347 <0=> Secure state <1=> Non-Secure state -// Interrupt 348 <0=> Secure state <1=> Non-Secure state -// Interrupt 349 <0=> Secure state <1=> Non-Secure state -// Interrupt 350 <0=> Secure state <1=> Non-Secure state -// Interrupt 351 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS10_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 11 (Interrupts 352..383) -*/ -#define NVIC_INIT_ITNS11 0 - -/* -// Interrupts 352..383 -// Interrupt 352 <0=> Secure state <1=> Non-Secure state -// Interrupt 353 <0=> Secure state <1=> Non-Secure state -// Interrupt 354 <0=> Secure state <1=> Non-Secure state -// Interrupt 355 <0=> Secure state <1=> Non-Secure state -// Interrupt 356 <0=> Secure state <1=> Non-Secure state -// Interrupt 357 <0=> Secure state <1=> Non-Secure state -// Interrupt 358 <0=> Secure state <1=> Non-Secure state -// Interrupt 359 <0=> Secure state <1=> Non-Secure state -// Interrupt 360 <0=> Secure state <1=> Non-Secure state -// Interrupt 361 <0=> Secure state <1=> Non-Secure state -// Interrupt 362 <0=> Secure state <1=> Non-Secure state -// Interrupt 363 <0=> Secure state <1=> Non-Secure state -// Interrupt 364 <0=> Secure state <1=> Non-Secure state -// Interrupt 365 <0=> Secure state <1=> Non-Secure state -// Interrupt 366 <0=> Secure state <1=> Non-Secure state -// Interrupt 367 <0=> Secure state <1=> Non-Secure state -// Interrupt 368 <0=> Secure state <1=> Non-Secure state -// Interrupt 369 <0=> Secure state <1=> Non-Secure state -// Interrupt 370 <0=> Secure state <1=> Non-Secure state -// Interrupt 371 <0=> Secure state <1=> Non-Secure state -// Interrupt 372 <0=> Secure state <1=> Non-Secure state -// Interrupt 373 <0=> Secure state <1=> Non-Secure state -// Interrupt 374 <0=> Secure state <1=> Non-Secure state -// Interrupt 375 <0=> Secure state <1=> Non-Secure state -// Interrupt 376 <0=> Secure state <1=> Non-Secure state -// Interrupt 377 <0=> Secure state <1=> Non-Secure state -// Interrupt 378 <0=> Secure state <1=> Non-Secure state -// Interrupt 379 <0=> Secure state <1=> Non-Secure state -// Interrupt 380 <0=> Secure state <1=> Non-Secure state -// Interrupt 381 <0=> Secure state <1=> Non-Secure state -// Interrupt 382 <0=> Secure state <1=> Non-Secure state -// Interrupt 383 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS11_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 12 (Interrupts 384..415) -*/ -#define NVIC_INIT_ITNS12 0 - -/* -// Interrupts 384..415 -// Interrupt 384 <0=> Secure state <1=> Non-Secure state -// Interrupt 385 <0=> Secure state <1=> Non-Secure state -// Interrupt 386 <0=> Secure state <1=> Non-Secure state -// Interrupt 387 <0=> Secure state <1=> Non-Secure state -// Interrupt 388 <0=> Secure state <1=> Non-Secure state -// Interrupt 389 <0=> Secure state <1=> Non-Secure state -// Interrupt 390 <0=> Secure state <1=> Non-Secure state -// Interrupt 391 <0=> Secure state <1=> Non-Secure state -// Interrupt 392 <0=> Secure state <1=> Non-Secure state -// Interrupt 393 <0=> Secure state <1=> Non-Secure state -// Interrupt 394 <0=> Secure state <1=> Non-Secure state -// Interrupt 395 <0=> Secure state <1=> Non-Secure state -// Interrupt 396 <0=> Secure state <1=> Non-Secure state -// Interrupt 397 <0=> Secure state <1=> Non-Secure state -// Interrupt 398 <0=> Secure state <1=> Non-Secure state -// Interrupt 399 <0=> Secure state <1=> Non-Secure state -// Interrupt 400 <0=> Secure state <1=> Non-Secure state -// Interrupt 401 <0=> Secure state <1=> Non-Secure state -// Interrupt 402 <0=> Secure state <1=> Non-Secure state -// Interrupt 403 <0=> Secure state <1=> Non-Secure state -// Interrupt 404 <0=> Secure state <1=> Non-Secure state -// Interrupt 405 <0=> Secure state <1=> Non-Secure state -// Interrupt 406 <0=> Secure state <1=> Non-Secure state -// Interrupt 407 <0=> Secure state <1=> Non-Secure state -// Interrupt 408 <0=> Secure state <1=> Non-Secure state -// Interrupt 409 <0=> Secure state <1=> Non-Secure state -// Interrupt 410 <0=> Secure state <1=> Non-Secure state -// Interrupt 411 <0=> Secure state <1=> Non-Secure state -// Interrupt 412 <0=> Secure state <1=> Non-Secure state -// Interrupt 413 <0=> Secure state <1=> Non-Secure state -// Interrupt 414 <0=> Secure state <1=> Non-Secure state -// Interrupt 415 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS12_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 13 (Interrupts 416..447) -*/ -#define NVIC_INIT_ITNS13 0 - -/* -// Interrupts 416..447 -// Interrupt 416 <0=> Secure state <1=> Non-Secure state -// Interrupt 417 <0=> Secure state <1=> Non-Secure state -// Interrupt 418 <0=> Secure state <1=> Non-Secure state -// Interrupt 419 <0=> Secure state <1=> Non-Secure state -// Interrupt 420 <0=> Secure state <1=> Non-Secure state -// Interrupt 421 <0=> Secure state <1=> Non-Secure state -// Interrupt 422 <0=> Secure state <1=> Non-Secure state -// Interrupt 423 <0=> Secure state <1=> Non-Secure state -// Interrupt 424 <0=> Secure state <1=> Non-Secure state -// Interrupt 425 <0=> Secure state <1=> Non-Secure state -// Interrupt 426 <0=> Secure state <1=> Non-Secure state -// Interrupt 427 <0=> Secure state <1=> Non-Secure state -// Interrupt 428 <0=> Secure state <1=> Non-Secure state -// Interrupt 429 <0=> Secure state <1=> Non-Secure state -// Interrupt 430 <0=> Secure state <1=> Non-Secure state -// Interrupt 431 <0=> Secure state <1=> Non-Secure state -// Interrupt 432 <0=> Secure state <1=> Non-Secure state -// Interrupt 433 <0=> Secure state <1=> Non-Secure state -// Interrupt 434 <0=> Secure state <1=> Non-Secure state -// Interrupt 435 <0=> Secure state <1=> Non-Secure state -// Interrupt 436 <0=> Secure state <1=> Non-Secure state -// Interrupt 437 <0=> Secure state <1=> Non-Secure state -// Interrupt 438 <0=> Secure state <1=> Non-Secure state -// Interrupt 439 <0=> Secure state <1=> Non-Secure state -// Interrupt 440 <0=> Secure state <1=> Non-Secure state -// Interrupt 441 <0=> Secure state <1=> Non-Secure state -// Interrupt 442 <0=> Secure state <1=> Non-Secure state -// Interrupt 443 <0=> Secure state <1=> Non-Secure state -// Interrupt 444 <0=> Secure state <1=> Non-Secure state -// Interrupt 445 <0=> Secure state <1=> Non-Secure state -// Interrupt 446 <0=> Secure state <1=> Non-Secure state -// Interrupt 447 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS13_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 14 (Interrupts 448..479) -*/ -#define NVIC_INIT_ITNS14 0 - -/* -// Interrupts 448..479 -// Interrupt 448 <0=> Secure state <1=> Non-Secure state -// Interrupt 449 <0=> Secure state <1=> Non-Secure state -// Interrupt 450 <0=> Secure state <1=> Non-Secure state -// Interrupt 451 <0=> Secure state <1=> Non-Secure state -// Interrupt 452 <0=> Secure state <1=> Non-Secure state -// Interrupt 453 <0=> Secure state <1=> Non-Secure state -// Interrupt 454 <0=> Secure state <1=> Non-Secure state -// Interrupt 455 <0=> Secure state <1=> Non-Secure state -// Interrupt 456 <0=> Secure state <1=> Non-Secure state -// Interrupt 457 <0=> Secure state <1=> Non-Secure state -// Interrupt 458 <0=> Secure state <1=> Non-Secure state -// Interrupt 459 <0=> Secure state <1=> Non-Secure state -// Interrupt 460 <0=> Secure state <1=> Non-Secure state -// Interrupt 461 <0=> Secure state <1=> Non-Secure state -// Interrupt 462 <0=> Secure state <1=> Non-Secure state -// Interrupt 463 <0=> Secure state <1=> Non-Secure state -// Interrupt 464 <0=> Secure state <1=> Non-Secure state -// Interrupt 465 <0=> Secure state <1=> Non-Secure state -// Interrupt 466 <0=> Secure state <1=> Non-Secure state -// Interrupt 467 <0=> Secure state <1=> Non-Secure state -// Interrupt 468 <0=> Secure state <1=> Non-Secure state -// Interrupt 469 <0=> Secure state <1=> Non-Secure state -// Interrupt 470 <0=> Secure state <1=> Non-Secure state -// Interrupt 471 <0=> Secure state <1=> Non-Secure state -// Interrupt 472 <0=> Secure state <1=> Non-Secure state -// Interrupt 473 <0=> Secure state <1=> Non-Secure state -// Interrupt 474 <0=> Secure state <1=> Non-Secure state -// Interrupt 475 <0=> Secure state <1=> Non-Secure state -// Interrupt 476 <0=> Secure state <1=> Non-Secure state -// Interrupt 477 <0=> Secure state <1=> Non-Secure state -// Interrupt 478 <0=> Secure state <1=> Non-Secure state -// Interrupt 479 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS14_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 15 (Interrupts 480..511) -*/ -#define NVIC_INIT_ITNS15 0 - -/* -// Interrupts 480..511 -// Interrupt 480 <0=> Secure state <1=> Non-Secure state -// Interrupt 481 <0=> Secure state <1=> Non-Secure state -// Interrupt 482 <0=> Secure state <1=> Non-Secure state -// Interrupt 483 <0=> Secure state <1=> Non-Secure state -// Interrupt 484 <0=> Secure state <1=> Non-Secure state -// Interrupt 485 <0=> Secure state <1=> Non-Secure state -// Interrupt 486 <0=> Secure state <1=> Non-Secure state -// Interrupt 487 <0=> Secure state <1=> Non-Secure state -// Interrupt 488 <0=> Secure state <1=> Non-Secure state -// Interrupt 489 <0=> Secure state <1=> Non-Secure state -// Interrupt 490 <0=> Secure state <1=> Non-Secure state -// Interrupt 491 <0=> Secure state <1=> Non-Secure state -// Interrupt 492 <0=> Secure state <1=> Non-Secure state -// Interrupt 493 <0=> Secure state <1=> Non-Secure state -// Interrupt 494 <0=> Secure state <1=> Non-Secure state -// Interrupt 495 <0=> Secure state <1=> Non-Secure state -// Interrupt 496 <0=> Secure state <1=> Non-Secure state -// Interrupt 497 <0=> Secure state <1=> Non-Secure state -// Interrupt 498 <0=> Secure state <1=> Non-Secure state -// Interrupt 499 <0=> Secure state <1=> Non-Secure state -// Interrupt 500 <0=> Secure state <1=> Non-Secure state -// Interrupt 501 <0=> Secure state <1=> Non-Secure state -// Interrupt 502 <0=> Secure state <1=> Non-Secure state -// Interrupt 503 <0=> Secure state <1=> Non-Secure state -// Interrupt 504 <0=> Secure state <1=> Non-Secure state -// Interrupt 505 <0=> Secure state <1=> Non-Secure state -// Interrupt 506 <0=> Secure state <1=> Non-Secure state -// Interrupt 507 <0=> Secure state <1=> Non-Secure state -// Interrupt 508 <0=> Secure state <1=> Non-Secure state -// Interrupt 509 <0=> Secure state <1=> Non-Secure state -// Interrupt 510 <0=> Secure state <1=> Non-Secure state -// Interrupt 511 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS15_VAL 0x00000000 - -/* -// -*/ - -/* -// -*/ - - - -/* - max 128 SAU regions. - SAU regions are defined in partition.h - */ - -#define SAU_INIT_REGION(n) \ - SAU->RNR = (n & SAU_RNR_REGION_Msk); \ - SAU->RBAR = (SAU_INIT_START##n & SAU_RBAR_BADDR_Msk); \ - SAU->RLAR = (SAU_INIT_END##n & SAU_RLAR_LADDR_Msk) | \ - ((SAU_INIT_NSC##n << SAU_RLAR_NSC_Pos) & SAU_RLAR_NSC_Msk) | 1U - -/** - \brief Setup a SAU Region - \details Writes the region information contained in SAU_Region to the - registers SAU_RNR, SAU_RBAR, and SAU_RLAR - */ -__STATIC_INLINE void TZ_SAU_Setup (void) -{ - -#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) - - #if defined (SAU_INIT_REGION0) && (SAU_INIT_REGION0 == 1U) - SAU_INIT_REGION(0); - #endif - - #if defined (SAU_INIT_REGION1) && (SAU_INIT_REGION1 == 1U) - SAU_INIT_REGION(1); - #endif - - #if defined (SAU_INIT_REGION2) && (SAU_INIT_REGION2 == 1U) - SAU_INIT_REGION(2); - #endif - - #if defined (SAU_INIT_REGION3) && (SAU_INIT_REGION3 == 1U) - SAU_INIT_REGION(3); - #endif - - #if defined (SAU_INIT_REGION4) && (SAU_INIT_REGION4 == 1U) - SAU_INIT_REGION(4); - #endif - - #if defined (SAU_INIT_REGION5) && (SAU_INIT_REGION5 == 1U) - SAU_INIT_REGION(5); - #endif - - #if defined (SAU_INIT_REGION6) && (SAU_INIT_REGION6 == 1U) - SAU_INIT_REGION(6); - #endif - - #if defined (SAU_INIT_REGION7) && (SAU_INIT_REGION7 == 1U) - SAU_INIT_REGION(7); - #endif - - /* repeat this for all possible SAU regions */ - -#endif /* defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) */ - - - #if defined (SAU_INIT_CTRL) && (SAU_INIT_CTRL == 1U) - SAU->CTRL = ((SAU_INIT_CTRL_ENABLE << SAU_CTRL_ENABLE_Pos) & SAU_CTRL_ENABLE_Msk) | - ((SAU_INIT_CTRL_ALLNS << SAU_CTRL_ALLNS_Pos) & SAU_CTRL_ALLNS_Msk) ; - #endif - - #if defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) - SCB->SCR = (SCB->SCR & ~(SCB_SCR_SLEEPDEEPS_Msk )) | - ((SCB_CSR_DEEPSLEEPS_VAL << SCB_SCR_SLEEPDEEPS_Pos) & SCB_SCR_SLEEPDEEPS_Msk); - - SCB->AIRCR = (SCB->AIRCR & ~(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_SYSRESETREQS_Msk | - SCB_AIRCR_BFHFNMINS_Msk | SCB_AIRCR_PRIS_Msk) ) | - ((0x05FAU << SCB_AIRCR_VECTKEY_Pos) & SCB_AIRCR_VECTKEY_Msk) | - ((SCB_AIRCR_SYSRESETREQS_VAL << SCB_AIRCR_SYSRESETREQS_Pos) & SCB_AIRCR_SYSRESETREQS_Msk) | - ((SCB_AIRCR_PRIS_VAL << SCB_AIRCR_PRIS_Pos) & SCB_AIRCR_PRIS_Msk) | - ((SCB_AIRCR_BFHFNMINS_VAL << SCB_AIRCR_BFHFNMINS_Pos) & SCB_AIRCR_BFHFNMINS_Msk); - #endif /* defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) */ - - #if defined (SCB_ICSR_INIT) && (SCB_ICSR_INIT == 1U) - SCB->ICSR = (SCB->ICSR & ~(SCB_ICSR_STTNS_Msk )) | - ((SCB_ICSR_STTNS_VAL << SCB_ICSR_STTNS_Pos) & SCB_ICSR_STTNS_Msk); - #endif /* defined (SCB_ICSR_INIT) && (SCB_ICSR_INIT == 1U) */ - - #if defined (NVIC_INIT_ITNS0) && (NVIC_INIT_ITNS0 == 1U) - NVIC->ITNS[0] = NVIC_INIT_ITNS0_VAL; - #endif - - #if defined (NVIC_INIT_ITNS1) && (NVIC_INIT_ITNS1 == 1U) - NVIC->ITNS[1] = NVIC_INIT_ITNS1_VAL; - #endif - - #if defined (NVIC_INIT_ITNS2) && (NVIC_INIT_ITNS2 == 1U) - NVIC->ITNS[2] = NVIC_INIT_ITNS2_VAL; - #endif - - #if defined (NVIC_INIT_ITNS3) && (NVIC_INIT_ITNS3 == 1U) - NVIC->ITNS[3] = NVIC_INIT_ITNS3_VAL; - #endif - - #if defined (NVIC_INIT_ITNS4) && (NVIC_INIT_ITNS4 == 1U) - NVIC->ITNS[4] = NVIC_INIT_ITNS4_VAL; - #endif - - #if defined (NVIC_INIT_ITNS5) && (NVIC_INIT_ITNS5 == 1U) - NVIC->ITNS[5] = NVIC_INIT_ITNS5_VAL; - #endif - - #if defined (NVIC_INIT_ITNS6) && (NVIC_INIT_ITNS6 == 1U) - NVIC->ITNS[6] = NVIC_INIT_ITNS6_VAL; - #endif - - #if defined (NVIC_INIT_ITNS7) && (NVIC_INIT_ITNS7 == 1U) - NVIC->ITNS[7] = NVIC_INIT_ITNS7_VAL; - #endif - - #if defined (NVIC_INIT_ITNS8) && (NVIC_INIT_ITNS8 == 1U) - NVIC->ITNS[8] = NVIC_INIT_ITNS8_VAL; - #endif - - #if defined (NVIC_INIT_ITNS9) && (NVIC_INIT_ITNS9 == 1U) - NVIC->ITNS[9] = NVIC_INIT_ITNS9_VAL; - #endif - - #if defined (NVIC_INIT_ITNS10) && (NVIC_INIT_ITNS10 == 1U) - NVIC->ITNS[10] = NVIC_INIT_ITNS10_VAL; - #endif - - #if defined (NVIC_INIT_ITNS11) && (NVIC_INIT_ITNS11 == 1U) - NVIC->ITNS[11] = NVIC_INIT_ITNS11_VAL; - #endif - - #if defined (NVIC_INIT_ITNS12) && (NVIC_INIT_ITNS12 == 1U) - NVIC->ITNS[12] = NVIC_INIT_ITNS12_VAL; - #endif - - #if defined (NVIC_INIT_ITNS13) && (NVIC_INIT_ITNS13 == 1U) - NVIC->ITNS[13] = NVIC_INIT_ITNS13_VAL; - #endif - - #if defined (NVIC_INIT_ITNS14) && (NVIC_INIT_ITNS14 == 1U) - NVIC->ITNS[14] = NVIC_INIT_ITNS14_VAL; - #endif - - #if defined (NVIC_INIT_ITNS15) && (NVIC_INIT_ITNS15 == 1U) - NVIC->ITNS[15] = NVIC_INIT_ITNS15_VAL; - #endif - - /* repeat this for all possible ITNS elements */ - -} - -#endif /* PARTITION_ARMv8MBL_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMv8MBL/Include/system_ARMv8MBL.h b/external/CMSIS_5/Device/ARM/ARMv8MBL/Include/system_ARMv8MBL.h deleted file mode 100644 index 4bd1807..0000000 --- a/external/CMSIS_5/Device/ARM/ARMv8MBL/Include/system_ARMv8MBL.h +++ /dev/null @@ -1,65 +0,0 @@ -/**************************************************************************//** - * @file system_ARMv8MBL.h - * @brief CMSIS Device System Header File for - * ARMv8MBL Device - * @version V5.3.3 - * @date 11. July 2022 - ******************************************************************************/ -/* - * Copyright (c) 2009-2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef SYSTEM_ARMv8MBL_H -#define SYSTEM_ARMv8MBL_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -/** - \brief Exception / Interrupt Handler Function Prototype -*/ -typedef void(*VECTOR_TABLE_Type)(void); - -/** - \brief System Clock Frequency (Core Clock) -*/ -extern uint32_t SystemCoreClock; - - -/** - \brief Setup the microcontroller system. - - Initialize the System and update the SystemCoreClock variable. - */ -extern void SystemInit (void); - - -/** - \brief Update SystemCoreClock variable. - - Updates the SystemCoreClock with current core Clock retrieved from cpu registers. - */ -extern void SystemCoreClockUpdate (void); - -#ifdef __cplusplus -} -#endif - -#endif /* SYSTEM_ARMv8MBL_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMv8MBL/Source/ARM/ARMv8MBL_ac6.sct b/external/CMSIS_5/Device/ARM/ARMv8MBL/Source/ARM/ARMv8MBL_ac6.sct deleted file mode 100644 index 4baac6e..0000000 --- a/external/CMSIS_5/Device/ARM/ARMv8MBL/Source/ARM/ARMv8MBL_ac6.sct +++ /dev/null @@ -1,119 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -march=armv8-m.base -xc -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -march=armv8-m.base -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_SIZE 0x200 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE ( __RAM_SIZE - __STACK_SIZE - __HEAP_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_RAM __RW_BASE __RW_SIZE { ; RW data - .ANY (+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/Device/ARM/ARMv8MBL/Source/ARM/ARMv8MBL_ac6_s.sct b/external/CMSIS_5/Device/ARM/ARMv8MBL/Source/ARM/ARMv8MBL_ac6_s.sct deleted file mode 100644 index 36a82da..0000000 --- a/external/CMSIS_5/Device/ARM/ARMv8MBL/Source/ARM/ARMv8MBL_ac6_s.sct +++ /dev/null @@ -1,119 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -march=armv8-m.base -xc -mcmse -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -march=armv8-m.base -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_SIZE 0x200 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE ( __RAM_SIZE - __STACK_SIZE - __HEAP_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_RAM __RW_BASE __RW_SIZE { ; RW data - .ANY (+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/Device/ARM/ARMv8MBL/Source/ARM/startup_ARMv8MBL.S b/external/CMSIS_5/Device/ARM/ARMv8MBL/Source/ARM/startup_ARMv8MBL.S deleted file mode 100644 index 309c1fb..0000000 --- a/external/CMSIS_5/Device/ARM/ARMv8MBL/Source/ARM/startup_ARMv8MBL.S +++ /dev/null @@ -1,155 +0,0 @@ -/****************************************************************************** - * @file startup_ARMv8MBL.S - * @brief CMSIS-Core Device Startup File for ARMv8MBL Device - * @version V2.0.0 - * @date 26. May 2021 - ******************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - .syntax unified - .arch armv8-m.base - - #define __INITIAL_SP Image$$ARM_LIB_STACK$$ZI$$Limit - #define __STACK_LIMIT Image$$ARM_LIB_STACK$$ZI$$Base - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #define __STACK_SEAL Image$$STACKSEAL$$ZI$$Base - #endif - - .section RESET - .align 2 - .globl __Vectors - .globl __Vectors_End - .globl __Vectors_Size -__Vectors: - .long __INITIAL_SP /* Initial Stack Pointer */ - .long Reset_Handler /* Reset Handler */ - .long NMI_Handler /* -14 NMI Handler */ - .long HardFault_Handler /* -13 Hard Fault Handler */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long SVC_Handler /* -5 SVC Handler */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long PendSV_Handler /* -2 PendSV Handler */ - .long SysTick_Handler /* -1 SysTick Handler */ - - /* Interrupts */ - .long Interrupt0_Handler /* 0 Interrupt 0 */ - .long Interrupt1_Handler /* 1 Interrupt 1 */ - .long Interrupt2_Handler /* 2 Interrupt 2 */ - .long Interrupt3_Handler /* 3 Interrupt 3 */ - .long Interrupt4_Handler /* 4 Interrupt 4 */ - .long Interrupt5_Handler /* 5 Interrupt 5 */ - .long Interrupt6_Handler /* 6 Interrupt 6 */ - .long Interrupt7_Handler /* 7 Interrupt 7 */ - .long Interrupt8_Handler /* 8 Interrupt 8 */ - .long Interrupt9_Handler /* 9 Interrupt 9 */ - - .space (214 * 4) /* Interrupts 10 .. 224 are left out */ -__Vectors_End: - .equ __Vectors_Size, __Vectors_End - __Vectors - .size __Vectors, . - __Vectors - - - .thumb - .section .text - .align 2 - - .thumb_func - .type Reset_Handler, %function - .globl Reset_Handler - .fnstart -Reset_Handler: - ldr r0, =__INITIAL_SP - msr psp, r0 - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - ldr r0, =__STACK_LIMIT - msr msplim, r0 - msr psplim, r0 - - ldr r0, =__STACK_SEAL - ldr r1, =0xFEF5EDA5U - str r1,[r0,#0] - str r1,[r0,#4] - #endif - - bl SystemInit - - bl __main - - .fnend - .size Reset_Handler, . - Reset_Handler - - -/* The default macro is not used for HardFault_Handler - * because this results in a poor debug illusion. - */ - .thumb_func - .type HardFault_Handler, %function - .weak HardFault_Handler - .fnstart -HardFault_Handler: - b . - .fnend - .size HardFault_Handler, . - HardFault_Handler - - .thumb_func - .type Default_Handler, %function - .weak Default_Handler - .fnstart -Default_Handler: - b . - .fnend - .size Default_Handler, . - Default_Handler - -/* Macro to define default exception/interrupt handlers. - * Default handler are weak symbols with an endless loop. - * They can be overwritten by real handlers. - */ - .macro Set_Default_Handler Handler_Name - .weak \Handler_Name - .set \Handler_Name, Default_Handler - .endm - - -/* Default exception/interrupt handler */ - - Set_Default_Handler NMI_Handler - Set_Default_Handler SVC_Handler - Set_Default_Handler PendSV_Handler - Set_Default_Handler SysTick_Handler - - Set_Default_Handler Interrupt0_Handler - Set_Default_Handler Interrupt1_Handler - Set_Default_Handler Interrupt2_Handler - Set_Default_Handler Interrupt3_Handler - Set_Default_Handler Interrupt4_Handler - Set_Default_Handler Interrupt5_Handler - Set_Default_Handler Interrupt6_Handler - Set_Default_Handler Interrupt7_Handler - Set_Default_Handler Interrupt8_Handler - Set_Default_Handler Interrupt9_Handler - - .end diff --git a/external/CMSIS_5/Device/ARM/ARMv8MBL/Source/GCC/gcc_arm.ld b/external/CMSIS_5/Device/ARM/ARMv8MBL/Source/GCC/gcc_arm.ld deleted file mode 100644 index c8f0efe..0000000 --- a/external/CMSIS_5/Device/ARM/ARMv8MBL/Source/GCC/gcc_arm.ld +++ /dev/null @@ -1,316 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.2.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00040000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00020000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -/* ARMv8-M stack sealing: - to use ARMv8-M stack sealing set __STACKSEAL_SIZE to 8 otherwise keep 0 - */ -__STACKSEAL_SIZE = 0; - - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - * __StackSeal (only if ARMv8-M stack sealing is used) - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ -/* - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH -*/ - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* ARMv8-M stack sealing: - to use ARMv8-M stack sealing uncomment '.stackseal' section - */ -/* - .stackseal (ORIGIN(RAM) + LENGTH(RAM) - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackSeal = .; - . = . + 8; - . = ALIGN(8); - } > RAM -*/ - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/Device/ARM/ARMv8MBL/Source/GCC/startup_ARMv8MBL.S b/external/CMSIS_5/Device/ARM/ARMv8MBL/Source/GCC/startup_ARMv8MBL.S deleted file mode 100644 index b8ce641..0000000 --- a/external/CMSIS_5/Device/ARM/ARMv8MBL/Source/GCC/startup_ARMv8MBL.S +++ /dev/null @@ -1,200 +0,0 @@ -/****************************************************************************** - * @file startup_ARMv8MBL.S - * @brief CMSIS-Core Device Startup File for ARMv8MBL Device - * @version V2.2.0 - * @date 26. May 2021 - ******************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - .syntax unified - .arch armv8-m.base - - #define __INITIAL_SP __StackTop - #define __STACK_LIMIT __StackLimit - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #define __STACK_SEAL __StackSeal - #endif - - .section .vectors - .align 2 - .globl __Vectors - .globl __Vectors_End - .globl __Vectors_Size -__Vectors: - .long __INITIAL_SP /* Initial Stack Pointer */ - .long Reset_Handler /* Reset Handler */ - .long NMI_Handler /* -14 NMI Handler */ - .long HardFault_Handler /* -13 Hard Fault Handler */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long SVC_Handler /* -5 SVC Handler */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long PendSV_Handler /* -2 PendSV Handler */ - .long SysTick_Handler /* -1 SysTick Handler */ - - /* Interrupts */ - .long Interrupt0_Handler /* 0 Interrupt 0 */ - .long Interrupt1_Handler /* 1 Interrupt 1 */ - .long Interrupt2_Handler /* 2 Interrupt 2 */ - .long Interrupt3_Handler /* 3 Interrupt 3 */ - .long Interrupt4_Handler /* 4 Interrupt 4 */ - .long Interrupt5_Handler /* 5 Interrupt 5 */ - .long Interrupt6_Handler /* 6 Interrupt 6 */ - .long Interrupt7_Handler /* 7 Interrupt 7 */ - .long Interrupt8_Handler /* 8 Interrupt 8 */ - .long Interrupt9_Handler /* 9 Interrupt 9 */ - - .space (214 * 4) /* Interrupts 10 .. 224 are left out */ -__Vectors_End: - .equ __Vectors_Size, __Vectors_End - __Vectors - .size __Vectors, . - __Vectors - - - .thumb - .section .text - .align 2 - - .thumb_func - .type Reset_Handler, %function - .globl Reset_Handler - .fnstart -Reset_Handler: - ldr r0, =__INITIAL_SP - msr psp, r0 - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - ldr r0, =__STACK_LIMIT - msr msplim, r0 - msr psplim, r0 - - ldr r0, =__STACK_SEAL - ldr r1, =0xFEF5EDA5U - str r1,[r0,#0] - str r1,[r0,#4] - #endif - - bl SystemInit - - ldr r4, =__copy_table_start__ - ldr r5, =__copy_table_end__ - -.L_loop0: - cmp r4, r5 - bge .L_loop0_done - ldr r1, [r4] /* source address */ - ldr r2, [r4, #4] /* destination address */ - ldr r3, [r4, #8] /* word count */ - lsls r3, r3, #2 /* byte count */ - -.L_loop0_0: - subs r3, #4 /* decrement byte count */ - blt .L_loop0_0_done - ldr r0, [r1, r3] - str r0, [r2, r3] - b .L_loop0_0 - -.L_loop0_0_done: - adds r4, #12 - b .L_loop0 -.L_loop0_done: - - ldr r3, =__zero_table_start__ - ldr r4, =__zero_table_end__ - -.L_loop2: - cmp r3, r4 - bge .L_loop2_done - ldr r1, [r3] /* destination address */ - ldr r2, [r3, #4] /* word count */ - lsls r2, r2, #2 /* byte count */ - movs r0, 0 - -.L_loop2_0: - subs r2, #4 /* decrement byte count */ - blt .L_loop2_0_done - str r0, [r1, r2] - b .L_loop2_0 -.L_loop2_0_done: - - adds r3, #8 - b .L_loop2 -.L_loop2_done: - - bl _start - - .fnend - .size Reset_Handler, . - Reset_Handler - - -/* The default macro is not used for HardFault_Handler - * because this results in a poor debug illusion. - */ - .thumb_func - .type HardFault_Handler, %function - .weak HardFault_Handler - .fnstart -HardFault_Handler: - b . - .fnend - .size HardFault_Handler, . - HardFault_Handler - - .thumb_func - .type Default_Handler, %function - .weak Default_Handler - .fnstart -Default_Handler: - b . - .fnend - .size Default_Handler, . - Default_Handler - -/* Macro to define default exception/interrupt handlers. - * Default handler are weak symbols with an endless loop. - * They can be overwritten by real handlers. - */ - .macro Set_Default_Handler Handler_Name - .weak \Handler_Name - .set \Handler_Name, Default_Handler - .endm - - -/* Default exception/interrupt handler */ - - Set_Default_Handler NMI_Handler - Set_Default_Handler SVC_Handler - Set_Default_Handler PendSV_Handler - Set_Default_Handler SysTick_Handler - - Set_Default_Handler Interrupt0_Handler - Set_Default_Handler Interrupt1_Handler - Set_Default_Handler Interrupt2_Handler - Set_Default_Handler Interrupt3_Handler - Set_Default_Handler Interrupt4_Handler - Set_Default_Handler Interrupt5_Handler - Set_Default_Handler Interrupt6_Handler - Set_Default_Handler Interrupt7_Handler - Set_Default_Handler Interrupt8_Handler - Set_Default_Handler Interrupt9_Handler - - .end diff --git a/external/CMSIS_5/Device/ARM/ARMv8MBL/Source/IAR/startup_ARMv8MBL.s b/external/CMSIS_5/Device/ARM/ARMv8MBL/Source/IAR/startup_ARMv8MBL.s deleted file mode 100644 index 981885f..0000000 --- a/external/CMSIS_5/Device/ARM/ARMv8MBL/Source/IAR/startup_ARMv8MBL.s +++ /dev/null @@ -1,147 +0,0 @@ -;/**************************************************************************//** -; * @file startup_ARMv8MBL.s -; * @brief CMSIS Core Device Startup File for -; * ARMv8MBL Device -; * @version V1.0.0 -; * @date 09. July 2018 -; ******************************************************************************/ -;/* -; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. -; * -; * SPDX-License-Identifier: Apache-2.0 -; * -; * Licensed under the Apache License, Version 2.0 (the License); you may -; * not use this file except in compliance with the License. -; * You may obtain a copy of the License at -; * -; * www.apache.org/licenses/LICENSE-2.0 -; * -; * Unless required by applicable law or agreed to in writing, software -; * distributed under the License is distributed on an AS IS BASIS, WITHOUT -; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; * See the License for the specific language governing permissions and -; * limitations under the License. -; */ - -; -; The modules in this file are included in the libraries, and may be replaced -; by any user-defined modules that define the PUBLIC symbol _program_start or -; a user defined start symbol. -; To override the cstartup defined in the library, simply add your modified -; version to the workbench project. -; -; The vector table is normally located at address 0. -; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. -; The name "__vector_table" has special meaning for C-SPY: -; it is where the SP start value is found, and the NVIC vector -; table register (VTOR) is initialized to this address if != 0. -; -; Cortex-M version -; - - MODULE ?cstartup - - ;; Forward declaration of sections. - SECTION CSTACK:DATA:NOROOT(3) - - SECTION .intvec:CODE:NOROOT(2) - - EXTERN __iar_program_start - EXTERN SystemInit - PUBLIC __vector_table - PUBLIC __vector_table_0x1c - PUBLIC __Vectors - PUBLIC __Vectors_End - PUBLIC __Vectors_Size - - DATA - -__vector_table - DCD sfe(CSTACK) ; Top of Stack - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; -14 NMI Handler - DCD HardFault_Handler ; -13 Hard Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved -__vector_table_0x1c - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; -5 SVC Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD PendSV_Handler ; -2 PendSV Handler - DCD SysTick_Handler ; -1 SysTick Handler - - ; Interrupts - DCD Interrupt0_Handler ; 0 Interrupt 0 - DCD Interrupt1_Handler ; 1 Interrupt 1 - DCD Interrupt2_Handler ; 2 Interrupt 2 - DCD Interrupt3_Handler ; 3 Interrupt 3 - DCD Interrupt4_Handler ; 4 Interrupt 4 - DCD Interrupt5_Handler ; 5 Interrupt 5 - DCD Interrupt6_Handler ; 6 Interrupt 6 - DCD Interrupt7_Handler ; 7 Interrupt 7 - DCD Interrupt8_Handler ; 8 Interrupt 8 - DCD Interrupt9_Handler ; 9 Interrupt 9 - - DS32 (470) ; Interrupts 10 .. 480 are left out -__Vectors_End - -__Vectors EQU __vector_table -__Vectors_Size EQU __Vectors_End - __Vectors - - - THUMB - -; Reset Handler - - PUBWEAK Reset_Handler - SECTION .text:CODE:REORDER:NOROOT(2) -Reset_Handler - LDR R0, =SystemInit - BLX R0 - LDR R0, =__iar_program_start - BX R0 - - - PUBWEAK NMI_Handler - PUBWEAK HardFault_Handler - PUBWEAK SVC_Handler - PUBWEAK PendSV_Handler - PUBWEAK SysTick_Handler - - PUBWEAK Interrupt0_Handler - PUBWEAK Interrupt1_Handler - PUBWEAK Interrupt2_Handler - PUBWEAK Interrupt3_Handler - PUBWEAK Interrupt4_Handler - PUBWEAK Interrupt5_Handler - PUBWEAK Interrupt6_Handler - PUBWEAK Interrupt7_Handler - PUBWEAK Interrupt8_Handler - PUBWEAK Interrupt9_Handler - SECTION .text:CODE:REORDER:NOROOT(1) -NMI_Handler -HardFault_Handler -SVC_Handler -PendSV_Handler -SysTick_Handler - -Interrupt0_Handler -Interrupt1_Handler -Interrupt2_Handler -Interrupt3_Handler -Interrupt4_Handler -Interrupt5_Handler -Interrupt6_Handler -Interrupt7_Handler -Interrupt8_Handler -Interrupt9_Handler -Default_Handler - B . - - - END diff --git a/external/CMSIS_5/Device/ARM/ARMv8MBL/Source/startup_ARMv8MBL.c b/external/CMSIS_5/Device/ARM/ARMv8MBL/Source/startup_ARMv8MBL.c deleted file mode 100644 index c8e9e6e..0000000 --- a/external/CMSIS_5/Device/ARM/ARMv8MBL/Source/startup_ARMv8MBL.c +++ /dev/null @@ -1,159 +0,0 @@ -/****************************************************************************** - * @file startup_ARMv8MBL.c - * @brief CMSIS-Core Device Startup File for a ARMv8MBL Device - * @version V2.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMv8MBL) - #include "ARMv8MBL.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 223 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/Device/ARM/ARMv8MBL/Source/system_ARMv8MBL.c b/external/CMSIS_5/Device/ARM/ARMv8MBL/Source/system_ARMv8MBL.c deleted file mode 100644 index 6bab139..0000000 --- a/external/CMSIS_5/Device/ARM/ARMv8MBL/Source/system_ARMv8MBL.c +++ /dev/null @@ -1,74 +0,0 @@ -/**************************************************************************//** - * @file system_ARMv8MBL.c - * @brief CMSIS Device System Source File for - * ARMv8MBL Device - * @version V1.0.1 - * @date 15. November 2019 - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "ARMv8MBL.h" - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMv8MBL.h" -#endif - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[240]; - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t) &(__Vectors[0]); -#endif - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - TZ_SAU_Setup(); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/Device/ARM/ARMv8MML/Include/ARMv8MML.h b/external/CMSIS_5/Device/ARM/ARMv8MML/Include/ARMv8MML.h deleted file mode 100644 index f9c60b4..0000000 --- a/external/CMSIS_5/Device/ARM/ARMv8MML/Include/ARMv8MML.h +++ /dev/null @@ -1,132 +0,0 @@ -/**************************************************************************//** - * @file ARMv8MML.h - * @brief CMSIS Core Peripheral Access Layer Header File for - * ARMv8MML Device (configured for ARMv8MML without FPU, without DSP extension, with TrustZone) - * @version V5.4.0 - * @date 03. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ARMv8MML_H -#define ARMv8MML_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* ------------------------- Interrupt Number Definition ------------------------ */ - -typedef enum IRQn -{ -/* ------------------- Processor Exceptions Numbers ----------------------------- */ - NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /* 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /* 4 Memory Management Interrupt */ - BusFault_IRQn = -11, /* 5 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /* 6 Usage Fault Interrupt */ - SecureFault_IRQn = -9, /* 7 Secure Fault Interrupt */ - SVCall_IRQn = -5, /* 11 SVC Interrupt */ - DebugMonitor_IRQn = -4, /* 12 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /* 14 PendSV Interrupt */ - SysTick_IRQn = -1, /* 15 System Tick Interrupt */ - -/* ------------------- Processor Interrupt Numbers ------------------------------ */ - Interrupt0_IRQn = 0, - Interrupt1_IRQn = 1, - Interrupt2_IRQn = 2, - Interrupt3_IRQn = 3, - Interrupt4_IRQn = 4, - Interrupt5_IRQn = 5, - Interrupt6_IRQn = 6, - Interrupt7_IRQn = 7, - Interrupt8_IRQn = 8, - Interrupt9_IRQn = 9 - /* Interrupts 10 .. 480 are left out */ -} IRQn_Type; - - -/* ================================================================================ */ -/* ================ Processor and Core Peripheral Section ================ */ -/* ================================================================================ */ - -/* ------- Start of section using anonymous unions and disabling warnings ------- */ -#if defined (__CC_ARM) - #pragma push - #pragma anon_unions -#elif defined (__ICCARM__) - #pragma language=extended -#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wc11-extensions" - #pragma clang diagnostic ignored "-Wreserved-id-macro" -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning 586 -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -/* -------- Configuration of Core Peripherals ----------------------------------- */ -#define __ARMv8MML_REV 0x0001U /* Core revision r0p1 */ -#define __SAUREGION_PRESENT 1U /* SAU regions present */ -#define __MPU_PRESENT 1U /* MPU present */ -#define __VTOR_PRESENT 1U /* VTOR present */ -#define __NVIC_PRIO_BITS 3U /* Number of Bits used for Priority Levels */ -#define __Vendor_SysTickConfig 0U /* Set to 1 if different SysTick Config is used */ -#define __FPU_PRESENT 0U /* no FPU present */ -#define __DSP_PRESENT 0U /* no DSP extension present */ -#define __ICACHE_PRESENT 1U -#define __DCACHE_PRESENT 1U - -#include "core_armv8mml.h" /* Processor and core peripherals */ -#include "system_ARMv8MML.h" /* System Header */ - - -/* -------- End of section using anonymous unions and disabling warnings -------- */ -#if defined (__CC_ARM) - #pragma pop -#elif defined (__ICCARM__) - /* leave anonymous unions enabled */ -#elif (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) - #pragma clang diagnostic pop -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning restore -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* ARMv8MML_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMv8MML/Include/ARMv8MML_DP.h b/external/CMSIS_5/Device/ARM/ARMv8MML/Include/ARMv8MML_DP.h deleted file mode 100644 index 3d29fa0..0000000 --- a/external/CMSIS_5/Device/ARM/ARMv8MML/Include/ARMv8MML_DP.h +++ /dev/null @@ -1,133 +0,0 @@ -/**************************************************************************//** - * @file ARMv8MML_DP.h - * @brief CMSIS Core Peripheral Access Layer Header File for - * ARMv8MML Device (configured for ARMv8MML with double precision FPU, without DSP extension, with TrustZone) - * @version V5.4.0 - * @date 03. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ARMv8MML_DP_H -#define ARMv8MML_DP_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* ------------------------- Interrupt Number Definition ------------------------ */ - -typedef enum IRQn -{ -/* ------------------- Processor Exceptions Numbers ----------------------------- */ - NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /* 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /* 4 Memory Management Interrupt */ - BusFault_IRQn = -11, /* 5 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /* 6 Usage Fault Interrupt */ - SecureFault_IRQn = -9, /* 7 Secure Fault Interrupt */ - SVCall_IRQn = -5, /* 11 SVC Interrupt */ - DebugMonitor_IRQn = -4, /* 12 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /* 14 PendSV Interrupt */ - SysTick_IRQn = -1, /* 15 System Tick Interrupt */ - -/* ------------------- Processor Interrupt Numbers ------------------------------ */ - Interrupt0_IRQn = 0, - Interrupt1_IRQn = 1, - Interrupt2_IRQn = 2, - Interrupt3_IRQn = 3, - Interrupt4_IRQn = 4, - Interrupt5_IRQn = 5, - Interrupt6_IRQn = 6, - Interrupt7_IRQn = 7, - Interrupt8_IRQn = 8, - Interrupt9_IRQn = 9 - /* Interrupts 10 .. 480 are left out */ -} IRQn_Type; - - -/* ================================================================================ */ -/* ================ Processor and Core Peripheral Section ================ */ -/* ================================================================================ */ - -/* ------- Start of section using anonymous unions and disabling warnings ------- */ -#if defined (__CC_ARM) - #pragma push - #pragma anon_unions -#elif defined (__ICCARM__) - #pragma language=extended -#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wc11-extensions" - #pragma clang diagnostic ignored "-Wreserved-id-macro" -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning 586 -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -/* -------- Configuration of Core Peripherals ----------------------------------- */ -#define __ARMv8MML_REV 0x0001U /* Core revision r0p1 */ -#define __SAUREGION_PRESENT 1U /* SAU regions present */ -#define __MPU_PRESENT 1U /* MPU present */ -#define __VTOR_PRESENT 1U /* VTOR present */ -#define __NVIC_PRIO_BITS 3U /* Number of Bits used for Priority Levels */ -#define __Vendor_SysTickConfig 0U /* Set to 1 if different SysTick Config is used */ -#define __FPU_PRESENT 1U /* FPU present */ -#define __FPU_DP 1U /* double precision FPU */ -#define __DSP_PRESENT 0U /* no DSP extension present */ -#define __ICACHE_PRESENT 1U -#define __DCACHE_PRESENT 1U - -#include "core_armv8mml.h" /* Processor and core peripherals */ -#include "system_ARMv8MML.h" /* System Header */ - - -/* -------- End of section using anonymous unions and disabling warnings -------- */ -#if defined (__CC_ARM) - #pragma pop -#elif defined (__ICCARM__) - /* leave anonymous unions enabled */ -#elif (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) - #pragma clang diagnostic pop -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning restore -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* ARMv8MML_DP_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMv8MML/Include/ARMv8MML_DSP.h b/external/CMSIS_5/Device/ARM/ARMv8MML/Include/ARMv8MML_DSP.h deleted file mode 100644 index 40d860d..0000000 --- a/external/CMSIS_5/Device/ARM/ARMv8MML/Include/ARMv8MML_DSP.h +++ /dev/null @@ -1,132 +0,0 @@ -/**************************************************************************//** - * @file ARMv8MML_DSP.h - * @brief CMSIS Core Peripheral Access Layer Header File for - * ARMv8MML Mainline Device (configured for ARMv8MML without FPU, with DSP extension, with TrustZone) - * @version V5.4.0 - * @date 03. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ARMv8MML_DSP_H -#define ARMv8MML_DSP_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* ------------------------- Interrupt Number Definition ------------------------ */ - -typedef enum IRQn -{ -/* ------------------- Processor Exceptions Numbers ----------------------------- */ - NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /* 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /* 4 Memory Management Interrupt */ - BusFault_IRQn = -11, /* 5 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /* 6 Usage Fault Interrupt */ - SecureFault_IRQn = -9, /* 7 Secure Fault Interrupt */ - SVCall_IRQn = -5, /* 11 SVC Interrupt */ - DebugMonitor_IRQn = -4, /* 12 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /* 14 PendSV Interrupt */ - SysTick_IRQn = -1, /* 15 System Tick Interrupt */ - -/* ------------------- Processor Interrupt Numbers ------------------------------ */ - Interrupt0_IRQn = 0, - Interrupt1_IRQn = 1, - Interrupt2_IRQn = 2, - Interrupt3_IRQn = 3, - Interrupt4_IRQn = 4, - Interrupt5_IRQn = 5, - Interrupt6_IRQn = 6, - Interrupt7_IRQn = 7, - Interrupt8_IRQn = 8, - Interrupt9_IRQn = 9 - /* Interrupts 10 .. 480 are left out */ -} IRQn_Type; - - -/* ================================================================================ */ -/* ================ Processor and Core Peripheral Section ================ */ -/* ================================================================================ */ - -/* ------- Start of section using anonymous unions and disabling warnings ------- */ -#if defined (__CC_ARM) - #pragma push - #pragma anon_unions -#elif defined (__ICCARM__) - #pragma language=extended -#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wc11-extensions" - #pragma clang diagnostic ignored "-Wreserved-id-macro" -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning 586 -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -/* -------- Configuration of Core Peripherals ----------------------------------- */ -#define __ARMv8MML_REV 0x0001U /* Core revision r0p1 */ -#define __SAUREGION_PRESENT 1U /* SAU regions present */ -#define __MPU_PRESENT 1U /* MPU present */ -#define __VTOR_PRESENT 1U /* VTOR present */ -#define __NVIC_PRIO_BITS 3U /* Number of Bits used for Priority Levels */ -#define __Vendor_SysTickConfig 0U /* Set to 1 if different SysTick Config is used */ -#define __FPU_PRESENT 0U /* no FPU present */ -#define __DSP_PRESENT 1U /* DSP extension present */ -#define __ICACHE_PRESENT 1U -#define __DCACHE_PRESENT 1U - -#include "core_armv8mml.h" /* Processor and core peripherals */ -#include "system_ARMv8MML.h" /* System Header */ - - -/* -------- End of section using anonymous unions and disabling warnings -------- */ -#if defined (__CC_ARM) - #pragma pop -#elif defined (__ICCARM__) - /* leave anonymous unions enabled */ -#elif (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) - #pragma clang diagnostic pop -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning restore -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* ARMv8MML_DSP_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMv8MML/Include/ARMv8MML_DSP_DP.h b/external/CMSIS_5/Device/ARM/ARMv8MML/Include/ARMv8MML_DSP_DP.h deleted file mode 100644 index 4924332..0000000 --- a/external/CMSIS_5/Device/ARM/ARMv8MML/Include/ARMv8MML_DSP_DP.h +++ /dev/null @@ -1,133 +0,0 @@ -/**************************************************************************//** - * @file ARMv8MML_DSP_DP.h - * @brief CMSIS Core Peripheral Access Layer Header File for - * ARMv8MML Mainline Device (configured for Armv8-M MainlineARMv8MML - * @version V5.4.0 - * @date 03. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ARMv8MML_DSP_DP_H -#define ARMv8MML_DSP_DP_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* ------------------------- Interrupt Number Definition ------------------------ */ - -typedef enum IRQn -{ -/* ------------------- Processor Exceptions Numbers ----------------------------- */ - NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /* 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /* 4 Memory Management Interrupt */ - BusFault_IRQn = -11, /* 5 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /* 6 Usage Fault Interrupt */ - SecureFault_IRQn = -9, /* 7 Secure Fault Interrupt */ - SVCall_IRQn = -5, /* 11 SVC Interrupt */ - DebugMonitor_IRQn = -4, /* 12 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /* 14 PendSV Interrupt */ - SysTick_IRQn = -1, /* 15 System Tick Interrupt */ - -/* ------------------- Processor Interrupt Numbers ------------------------------ */ - Interrupt0_IRQn = 0, - Interrupt1_IRQn = 1, - Interrupt2_IRQn = 2, - Interrupt3_IRQn = 3, - Interrupt4_IRQn = 4, - Interrupt5_IRQn = 5, - Interrupt6_IRQn = 6, - Interrupt7_IRQn = 7, - Interrupt8_IRQn = 8, - Interrupt9_IRQn = 9 - /* Interrupts 10 .. 480 are left out */ -} IRQn_Type; - - -/* ================================================================================ */ -/* ================ Processor and Core Peripheral Section ================ */ -/* ================================================================================ */ - -/* ------- Start of section using anonymous unions and disabling warnings ------- */ -#if defined (__CC_ARM) - #pragma push - #pragma anon_unions -#elif defined (__ICCARM__) - #pragma language=extended -#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wc11-extensions" - #pragma clang diagnostic ignored "-Wreserved-id-macro" -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning 586 -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -/* -------- Configuration of Core Peripherals ----------------------------------- */ -#define __ARMv8MML_REV 0x0001U /* Core revision r0p1 */ -#define __SAUREGION_PRESENT 1U /* SAU regions present */ -#define __MPU_PRESENT 1U /* MPU present */ -#define __VTOR_PRESENT 1U /* VTOR present */ -#define __NVIC_PRIO_BITS 3U /* Number of Bits used for Priority Levels */ -#define __Vendor_SysTickConfig 0U /* Set to 1 if different SysTick Config is used */ -#define __FPU_PRESENT 1U /* FPU present */ -#define __FPU_DP 1U /* double precision FPU */ -#define __DSP_PRESENT 1U /* DSP extension present */ -#define __ICACHE_PRESENT 1U -#define __DCACHE_PRESENT 1U - -#include "core_armv8mml.h" /* Processor and core peripherals */ -#include "system_ARMv8MML.h" /* System Header */ - - -/* -------- End of section using anonymous unions and disabling warnings -------- */ -#if defined (__CC_ARM) - #pragma pop -#elif defined (__ICCARM__) - /* leave anonymous unions enabled */ -#elif (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) - #pragma clang diagnostic pop -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning restore -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* ARMv8MML_DSP_DP_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMv8MML/Include/ARMv8MML_DSP_SP.h b/external/CMSIS_5/Device/ARM/ARMv8MML/Include/ARMv8MML_DSP_SP.h deleted file mode 100644 index ec69d17..0000000 --- a/external/CMSIS_5/Device/ARM/ARMv8MML/Include/ARMv8MML_DSP_SP.h +++ /dev/null @@ -1,133 +0,0 @@ -/**************************************************************************//** - * @file ARMv8MML_DSP_SP.h - * @brief CMSIS Core Peripheral Access Layer Header File for - * ARMv8MML Mainline Device (configured for ARMv8MML with single precision FPU, with DSP extension, with TrustZone) - * @version V5.4.0 - * @date 03. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ARMv8MML_DSP_SP_H -#define ARMv8MML_DSP_SP_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* ------------------------- Interrupt Number Definition ------------------------ */ - -typedef enum IRQn -{ -/* ------------------- Processor Exceptions Numbers ----------------------------- */ - NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /* 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /* 4 Memory Management Interrupt */ - BusFault_IRQn = -11, /* 5 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /* 6 Usage Fault Interrupt */ - SecureFault_IRQn = -9, /* 7 Secure Fault Interrupt */ - SVCall_IRQn = -5, /* 11 SVC Interrupt */ - DebugMonitor_IRQn = -4, /* 12 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /* 14 PendSV Interrupt */ - SysTick_IRQn = -1, /* 15 System Tick Interrupt */ - -/* ------------------- Processor Interrupt Numbers ------------------------------ */ - Interrupt0_IRQn = 0, - Interrupt1_IRQn = 1, - Interrupt2_IRQn = 2, - Interrupt3_IRQn = 3, - Interrupt4_IRQn = 4, - Interrupt5_IRQn = 5, - Interrupt6_IRQn = 6, - Interrupt7_IRQn = 7, - Interrupt8_IRQn = 8, - Interrupt9_IRQn = 9 - /* Interrupts 10 .. 480 are left out */ -} IRQn_Type; - - -/* ================================================================================ */ -/* ================ Processor and Core Peripheral Section ================ */ -/* ================================================================================ */ - -/* ------- Start of section using anonymous unions and disabling warnings ------- */ -#if defined (__CC_ARM) - #pragma push - #pragma anon_unions -#elif defined (__ICCARM__) - #pragma language=extended -#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wc11-extensions" - #pragma clang diagnostic ignored "-Wreserved-id-macro" -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning 586 -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -/* -------- Configuration of Core Peripherals ----------------------------------- */ -#define __ARMv8MML_REV 0x0001U /* Core revision r0p1 */ -#define __SAUREGION_PRESENT 1U /* SAU regions present */ -#define __MPU_PRESENT 1U /* MPU present */ -#define __VTOR_PRESENT 1U /* VTOR present */ -#define __NVIC_PRIO_BITS 3U /* Number of Bits used for Priority Levels */ -#define __Vendor_SysTickConfig 0U /* Set to 1 if different SysTick Config is used */ -#define __FPU_PRESENT 1U /* FPU present */ -#define __FPU_DP 0U /* single precision FPU */ -#define __DSP_PRESENT 1U /* DSP extension present */ -#define __ICACHE_PRESENT 1U -#define __DCACHE_PRESENT 1U - -#include "core_armv8mml.h" /* Processor and core peripherals */ -#include "system_ARMv8MML.h" /* System Header */ - - -/* -------- End of section using anonymous unions and disabling warnings -------- */ -#if defined (__CC_ARM) - #pragma pop -#elif defined (__ICCARM__) - /* leave anonymous unions enabled */ -#elif (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) - #pragma clang diagnostic pop -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning restore -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* ARMv8MML_DSP_SP_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMv8MML/Include/ARMv8MML_SP.h b/external/CMSIS_5/Device/ARM/ARMv8MML/Include/ARMv8MML_SP.h deleted file mode 100644 index 869ddd8..0000000 --- a/external/CMSIS_5/Device/ARM/ARMv8MML/Include/ARMv8MML_SP.h +++ /dev/null @@ -1,133 +0,0 @@ -/**************************************************************************//** - * @file ARMv8MML_SP.h - * @brief CMSIS Core Peripheral Access Layer Header File for - * ARMv8MML Device (configured for ARMv8MML with single precision FPU, without DSP extension, with TrustZone) - * @version V5.4.0 - * @date 03. March 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ARMv8MML_SP_H -#define ARMv8MML_SP_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* ------------------------- Interrupt Number Definition ------------------------ */ - -typedef enum IRQn -{ -/* ------------------- Processor Exceptions Numbers ----------------------------- */ - NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /* 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /* 4 Memory Management Interrupt */ - BusFault_IRQn = -11, /* 5 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /* 6 Usage Fault Interrupt */ - SecureFault_IRQn = -9, /* 7 Secure Fault Interrupt */ - SVCall_IRQn = -5, /* 11 SVC Interrupt */ - DebugMonitor_IRQn = -4, /* 12 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /* 14 PendSV Interrupt */ - SysTick_IRQn = -1, /* 15 System Tick Interrupt */ - -/* ------------------- Processor Interrupt Numbers ------------------------------ */ - Interrupt0_IRQn = 0, - Interrupt1_IRQn = 1, - Interrupt2_IRQn = 2, - Interrupt3_IRQn = 3, - Interrupt4_IRQn = 4, - Interrupt5_IRQn = 5, - Interrupt6_IRQn = 6, - Interrupt7_IRQn = 7, - Interrupt8_IRQn = 8, - Interrupt9_IRQn = 9 - /* Interrupts 10 .. 480 are left out */ -} IRQn_Type; - - -/* ================================================================================ */ -/* ================ Processor and Core Peripheral Section ================ */ -/* ================================================================================ */ - -/* ------- Start of section using anonymous unions and disabling warnings ------- */ -#if defined (__CC_ARM) - #pragma push - #pragma anon_unions -#elif defined (__ICCARM__) - #pragma language=extended -#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wc11-extensions" - #pragma clang diagnostic ignored "-Wreserved-id-macro" -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning 586 -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -/* -------- Configuration of Core Peripherals ----------------------------------- */ -#define __ARMv8MML_REV 0x0001U /* Core revision r0p1 */ -#define __SAUREGION_PRESENT 1U /* SAU regions present */ -#define __MPU_PRESENT 1U /* MPU present */ -#define __VTOR_PRESENT 1U /* VTOR present */ -#define __NVIC_PRIO_BITS 3U /* Number of Bits used for Priority Levels */ -#define __Vendor_SysTickConfig 0U /* Set to 1 if different SysTick Config is used */ -#define __FPU_PRESENT 1U /* FPU present */ -#define __FPU_DP 0U /* single precision FPU */ -#define __DSP_PRESENT 0U /* no DSP extension present */ -#define __ICACHE_PRESENT 1U -#define __DCACHE_PRESENT 1U - -#include "core_armv8mml.h" /* Processor and core peripherals */ -#include "system_ARMv8MML.h" /* System Header */ - - -/* -------- End of section using anonymous unions and disabling warnings -------- */ -#if defined (__CC_ARM) - #pragma pop -#elif defined (__ICCARM__) - /* leave anonymous unions enabled */ -#elif (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) - #pragma clang diagnostic pop -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning restore -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* ARMv8MML_SP_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMv8MML/Include/Template/partition_ARMv8MML.h b/external/CMSIS_5/Device/ARM/ARMv8MML/Include/Template/partition_ARMv8MML.h deleted file mode 100644 index f7995ef..0000000 --- a/external/CMSIS_5/Device/ARM/ARMv8MML/Include/Template/partition_ARMv8MML.h +++ /dev/null @@ -1,1260 +0,0 @@ -/**************************************************************************//** - * @file partition_ARMv8MML.h - * @brief CMSIS-CORE Initial Setup for Secure / Non-Secure Zones for Armv8-M Mainline - * @version V1.1.1 - * @date 18. March 2019 - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef PARTITION_ARMv8MML_H -#define PARTITION_ARMv8MML_H - -/* -//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- -*/ - -/* -// Initialize Security Attribution Unit (SAU) CTRL register -*/ -#define SAU_INIT_CTRL 1 - -/* -// Enable SAU -// Value for SAU->CTRL register bit ENABLE -*/ -#define SAU_INIT_CTRL_ENABLE 1 - -/* -// When SAU is disabled -// <0=> All Memory is Secure -// <1=> All Memory is Non-Secure -// Value for SAU->CTRL register bit ALLNS -// When all Memory is Non-Secure (ALLNS is 1), IDAU can override memory map configuration. -*/ -#define SAU_INIT_CTRL_ALLNS 0 - -/* -// -*/ - -/* -// Initialize Security Attribution Unit (SAU) Address Regions -// SAU configuration specifies regions to be one of: -// - Secure and Non-Secure Callable -// - Non-Secure -// Note: All memory regions not configured by SAU are Secure -*/ -#define SAU_REGIONS_MAX 8 /* Max. number of SAU regions */ - -/* -// Initialize SAU Region 0 -// Setup SAU Region 0 memory attributes -*/ -#define SAU_INIT_REGION0 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START0 0x00000000 /* start address of SAU region 0 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END0 0x001FFFFF /* end address of SAU region 0 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC0 1 -/* -// -*/ - -/* -// Initialize SAU Region 1 -// Setup SAU Region 1 memory attributes -*/ -#define SAU_INIT_REGION1 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START1 0x00200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END1 0x003FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC1 0 -/* -// -*/ - -/* -// Initialize SAU Region 2 -// Setup SAU Region 2 memory attributes -*/ -#define SAU_INIT_REGION2 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START2 0x20200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END2 0x203FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC2 0 -/* -// -*/ - -/* -// Initialize SAU Region 3 -// Setup SAU Region 3 memory attributes -*/ -#define SAU_INIT_REGION3 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START3 0x40000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END3 0x40040000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC3 0 -/* -// -*/ - -/* -// Initialize SAU Region 4 -// Setup SAU Region 4 memory attributes -*/ -#define SAU_INIT_REGION4 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START4 0x00000000 /* start address of SAU region 4 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END4 0x00000000 /* end address of SAU region 4 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC4 0 -/* -// -*/ - -/* -// Initialize SAU Region 5 -// Setup SAU Region 5 memory attributes -*/ -#define SAU_INIT_REGION5 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START5 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END5 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC5 0 -/* -// -*/ - -/* -// Initialize SAU Region 6 -// Setup SAU Region 6 memory attributes -*/ -#define SAU_INIT_REGION6 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START6 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END6 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC6 0 -/* -// -*/ - -/* -// Initialize SAU Region 7 -// Setup SAU Region 7 memory attributes -*/ -#define SAU_INIT_REGION7 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START7 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END7 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC7 0 -/* -// -*/ - -/* -// -*/ - -/* -// Setup behaviour of Sleep and Exception Handling -*/ -#define SCB_CSR_AIRCR_INIT 1 - -/* -// Deep Sleep can be enabled by -// <0=>Secure and Non-Secure state -// <1=>Secure state only -// Value for SCB->CSR register bit DEEPSLEEPS -*/ -#define SCB_CSR_DEEPSLEEPS_VAL 1 - -/* -// System reset request accessible from -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for SCB->AIRCR register bit SYSRESETREQS -*/ -#define SCB_AIRCR_SYSRESETREQS_VAL 1 - -/* -// Priority of Non-Secure exceptions is -// <0=> Not altered -// <1=> Lowered to 0x80-0xFF -// Value for SCB->AIRCR register bit PRIS -*/ -#define SCB_AIRCR_PRIS_VAL 1 - -/* -// BusFault, HardFault, and NMI target -// <0=> Secure state -// <1=> Non-Secure state -// Value for SCB->AIRCR register bit BFHFNMINS -*/ -#define SCB_AIRCR_BFHFNMINS_VAL 0 - -/* -// -*/ - -/* -// Setup behaviour of Floating Point Unit -*/ -#define TZ_FPU_NS_USAGE 1 - -/* -// Floating Point Unit usage -// <0=> Secure state only -// <3=> Secure and Non-Secure state -// Value for SCB->NSACR register bits CP10, CP11 -*/ -#define SCB_NSACR_CP10_11_VAL 3 - -/* -// Treat floating-point registers as Secure -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit TS -*/ -#define FPU_FPCCR_TS_VAL 0 - -/* -// Clear on return (CLRONRET) accessibility -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for FPU->FPCCR register bit CLRONRETS -*/ -#define FPU_FPCCR_CLRONRETS_VAL 0 - -/* -// Clear floating-point caller saved registers on exception return -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit CLRONRET -*/ -#define FPU_FPCCR_CLRONRET_VAL 1 - -/* -// -*/ - -/* -// Setup Interrupt Target -*/ - -/* -// Initialize ITNS 0 (Interrupts 0..31) -*/ -#define NVIC_INIT_ITNS0 1 - -/* -// Interrupts 0..31 -// Interrupt 0 <0=> Secure state <1=> Non-Secure state -// Interrupt 1 <0=> Secure state <1=> Non-Secure state -// Interrupt 2 <0=> Secure state <1=> Non-Secure state -// Interrupt 3 <0=> Secure state <1=> Non-Secure state -// Interrupt 4 <0=> Secure state <1=> Non-Secure state -// Interrupt 5 <0=> Secure state <1=> Non-Secure state -// Interrupt 6 <0=> Secure state <1=> Non-Secure state -// Interrupt 7 <0=> Secure state <1=> Non-Secure state -// Interrupt 8 <0=> Secure state <1=> Non-Secure state -// Interrupt 9 <0=> Secure state <1=> Non-Secure state -// Interrupt 10 <0=> Secure state <1=> Non-Secure state -// Interrupt 11 <0=> Secure state <1=> Non-Secure state -// Interrupt 12 <0=> Secure state <1=> Non-Secure state -// Interrupt 13 <0=> Secure state <1=> Non-Secure state -// Interrupt 14 <0=> Secure state <1=> Non-Secure state -// Interrupt 15 <0=> Secure state <1=> Non-Secure state -// Interrupt 16 <0=> Secure state <1=> Non-Secure state -// Interrupt 17 <0=> Secure state <1=> Non-Secure state -// Interrupt 18 <0=> Secure state <1=> Non-Secure state -// Interrupt 19 <0=> Secure state <1=> Non-Secure state -// Interrupt 20 <0=> Secure state <1=> Non-Secure state -// Interrupt 21 <0=> Secure state <1=> Non-Secure state -// Interrupt 22 <0=> Secure state <1=> Non-Secure state -// Interrupt 23 <0=> Secure state <1=> Non-Secure state -// Interrupt 24 <0=> Secure state <1=> Non-Secure state -// Interrupt 25 <0=> Secure state <1=> Non-Secure state -// Interrupt 26 <0=> Secure state <1=> Non-Secure state -// Interrupt 27 <0=> Secure state <1=> Non-Secure state -// Interrupt 28 <0=> Secure state <1=> Non-Secure state -// Interrupt 29 <0=> Secure state <1=> Non-Secure state -// Interrupt 30 <0=> Secure state <1=> Non-Secure state -// Interrupt 31 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS0_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 1 (Interrupts 32..63) -*/ -#define NVIC_INIT_ITNS1 1 - -/* -// Interrupts 32..63 -// Interrupt 32 <0=> Secure state <1=> Non-Secure state -// Interrupt 33 <0=> Secure state <1=> Non-Secure state -// Interrupt 34 <0=> Secure state <1=> Non-Secure state -// Interrupt 35 <0=> Secure state <1=> Non-Secure state -// Interrupt 36 <0=> Secure state <1=> Non-Secure state -// Interrupt 37 <0=> Secure state <1=> Non-Secure state -// Interrupt 38 <0=> Secure state <1=> Non-Secure state -// Interrupt 39 <0=> Secure state <1=> Non-Secure state -// Interrupt 40 <0=> Secure state <1=> Non-Secure state -// Interrupt 41 <0=> Secure state <1=> Non-Secure state -// Interrupt 42 <0=> Secure state <1=> Non-Secure state -// Interrupt 43 <0=> Secure state <1=> Non-Secure state -// Interrupt 44 <0=> Secure state <1=> Non-Secure state -// Interrupt 45 <0=> Secure state <1=> Non-Secure state -// Interrupt 46 <0=> Secure state <1=> Non-Secure state -// Interrupt 47 <0=> Secure state <1=> Non-Secure state -// Interrupt 48 <0=> Secure state <1=> Non-Secure state -// Interrupt 49 <0=> Secure state <1=> Non-Secure state -// Interrupt 50 <0=> Secure state <1=> Non-Secure state -// Interrupt 51 <0=> Secure state <1=> Non-Secure state -// Interrupt 52 <0=> Secure state <1=> Non-Secure state -// Interrupt 53 <0=> Secure state <1=> Non-Secure state -// Interrupt 54 <0=> Secure state <1=> Non-Secure state -// Interrupt 55 <0=> Secure state <1=> Non-Secure state -// Interrupt 56 <0=> Secure state <1=> Non-Secure state -// Interrupt 57 <0=> Secure state <1=> Non-Secure state -// Interrupt 58 <0=> Secure state <1=> Non-Secure state -// Interrupt 59 <0=> Secure state <1=> Non-Secure state -// Interrupt 60 <0=> Secure state <1=> Non-Secure state -// Interrupt 61 <0=> Secure state <1=> Non-Secure state -// Interrupt 62 <0=> Secure state <1=> Non-Secure state -// Interrupt 63 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS1_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 2 (Interrupts 64..95) -*/ -#define NVIC_INIT_ITNS2 0 - -/* -// Interrupts 64..95 -// Interrupt 64 <0=> Secure state <1=> Non-Secure state -// Interrupt 65 <0=> Secure state <1=> Non-Secure state -// Interrupt 66 <0=> Secure state <1=> Non-Secure state -// Interrupt 67 <0=> Secure state <1=> Non-Secure state -// Interrupt 68 <0=> Secure state <1=> Non-Secure state -// Interrupt 69 <0=> Secure state <1=> Non-Secure state -// Interrupt 70 <0=> Secure state <1=> Non-Secure state -// Interrupt 71 <0=> Secure state <1=> Non-Secure state -// Interrupt 72 <0=> Secure state <1=> Non-Secure state -// Interrupt 73 <0=> Secure state <1=> Non-Secure state -// Interrupt 74 <0=> Secure state <1=> Non-Secure state -// Interrupt 75 <0=> Secure state <1=> Non-Secure state -// Interrupt 76 <0=> Secure state <1=> Non-Secure state -// Interrupt 77 <0=> Secure state <1=> Non-Secure state -// Interrupt 78 <0=> Secure state <1=> Non-Secure state -// Interrupt 79 <0=> Secure state <1=> Non-Secure state -// Interrupt 80 <0=> Secure state <1=> Non-Secure state -// Interrupt 81 <0=> Secure state <1=> Non-Secure state -// Interrupt 82 <0=> Secure state <1=> Non-Secure state -// Interrupt 83 <0=> Secure state <1=> Non-Secure state -// Interrupt 84 <0=> Secure state <1=> Non-Secure state -// Interrupt 85 <0=> Secure state <1=> Non-Secure state -// Interrupt 86 <0=> Secure state <1=> Non-Secure state -// Interrupt 87 <0=> Secure state <1=> Non-Secure state -// Interrupt 88 <0=> Secure state <1=> Non-Secure state -// Interrupt 89 <0=> Secure state <1=> Non-Secure state -// Interrupt 90 <0=> Secure state <1=> Non-Secure state -// Interrupt 91 <0=> Secure state <1=> Non-Secure state -// Interrupt 92 <0=> Secure state <1=> Non-Secure state -// Interrupt 93 <0=> Secure state <1=> Non-Secure state -// Interrupt 94 <0=> Secure state <1=> Non-Secure state -// Interrupt 95 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS2_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 3 (Interrupts 96..127) -*/ -#define NVIC_INIT_ITNS3 0 - -/* -// Interrupts 96..127 -// Interrupt 96 <0=> Secure state <1=> Non-Secure state -// Interrupt 97 <0=> Secure state <1=> Non-Secure state -// Interrupt 98 <0=> Secure state <1=> Non-Secure state -// Interrupt 99 <0=> Secure state <1=> Non-Secure state -// Interrupt 100 <0=> Secure state <1=> Non-Secure state -// Interrupt 101 <0=> Secure state <1=> Non-Secure state -// Interrupt 102 <0=> Secure state <1=> Non-Secure state -// Interrupt 103 <0=> Secure state <1=> Non-Secure state -// Interrupt 104 <0=> Secure state <1=> Non-Secure state -// Interrupt 105 <0=> Secure state <1=> Non-Secure state -// Interrupt 106 <0=> Secure state <1=> Non-Secure state -// Interrupt 107 <0=> Secure state <1=> Non-Secure state -// Interrupt 108 <0=> Secure state <1=> Non-Secure state -// Interrupt 109 <0=> Secure state <1=> Non-Secure state -// Interrupt 110 <0=> Secure state <1=> Non-Secure state -// Interrupt 111 <0=> Secure state <1=> Non-Secure state -// Interrupt 112 <0=> Secure state <1=> Non-Secure state -// Interrupt 113 <0=> Secure state <1=> Non-Secure state -// Interrupt 114 <0=> Secure state <1=> Non-Secure state -// Interrupt 115 <0=> Secure state <1=> Non-Secure state -// Interrupt 116 <0=> Secure state <1=> Non-Secure state -// Interrupt 117 <0=> Secure state <1=> Non-Secure state -// Interrupt 118 <0=> Secure state <1=> Non-Secure state -// Interrupt 119 <0=> Secure state <1=> Non-Secure state -// Interrupt 120 <0=> Secure state <1=> Non-Secure state -// Interrupt 121 <0=> Secure state <1=> Non-Secure state -// Interrupt 122 <0=> Secure state <1=> Non-Secure state -// Interrupt 123 <0=> Secure state <1=> Non-Secure state -// Interrupt 124 <0=> Secure state <1=> Non-Secure state -// Interrupt 125 <0=> Secure state <1=> Non-Secure state -// Interrupt 126 <0=> Secure state <1=> Non-Secure state -// Interrupt 127 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS3_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 4 (Interrupts 128..159) -*/ -#define NVIC_INIT_ITNS4 0 - -/* -// Interrupts 128..159 -// Interrupt 128 <0=> Secure state <1=> Non-Secure state -// Interrupt 129 <0=> Secure state <1=> Non-Secure state -// Interrupt 130 <0=> Secure state <1=> Non-Secure state -// Interrupt 131 <0=> Secure state <1=> Non-Secure state -// Interrupt 132 <0=> Secure state <1=> Non-Secure state -// Interrupt 133 <0=> Secure state <1=> Non-Secure state -// Interrupt 134 <0=> Secure state <1=> Non-Secure state -// Interrupt 135 <0=> Secure state <1=> Non-Secure state -// Interrupt 136 <0=> Secure state <1=> Non-Secure state -// Interrupt 137 <0=> Secure state <1=> Non-Secure state -// Interrupt 138 <0=> Secure state <1=> Non-Secure state -// Interrupt 139 <0=> Secure state <1=> Non-Secure state -// Interrupt 140 <0=> Secure state <1=> Non-Secure state -// Interrupt 141 <0=> Secure state <1=> Non-Secure state -// Interrupt 142 <0=> Secure state <1=> Non-Secure state -// Interrupt 143 <0=> Secure state <1=> Non-Secure state -// Interrupt 144 <0=> Secure state <1=> Non-Secure state -// Interrupt 145 <0=> Secure state <1=> Non-Secure state -// Interrupt 146 <0=> Secure state <1=> Non-Secure state -// Interrupt 147 <0=> Secure state <1=> Non-Secure state -// Interrupt 148 <0=> Secure state <1=> Non-Secure state -// Interrupt 149 <0=> Secure state <1=> Non-Secure state -// Interrupt 150 <0=> Secure state <1=> Non-Secure state -// Interrupt 151 <0=> Secure state <1=> Non-Secure state -// Interrupt 152 <0=> Secure state <1=> Non-Secure state -// Interrupt 153 <0=> Secure state <1=> Non-Secure state -// Interrupt 154 <0=> Secure state <1=> Non-Secure state -// Interrupt 155 <0=> Secure state <1=> Non-Secure state -// Interrupt 156 <0=> Secure state <1=> Non-Secure state -// Interrupt 157 <0=> Secure state <1=> Non-Secure state -// Interrupt 158 <0=> Secure state <1=> Non-Secure state -// Interrupt 159 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS4_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 5 (Interrupts 160..191) -*/ -#define NVIC_INIT_ITNS5 0 - -/* -// Interrupts 160..191 -// Interrupt 160 <0=> Secure state <1=> Non-Secure state -// Interrupt 161 <0=> Secure state <1=> Non-Secure state -// Interrupt 162 <0=> Secure state <1=> Non-Secure state -// Interrupt 163 <0=> Secure state <1=> Non-Secure state -// Interrupt 164 <0=> Secure state <1=> Non-Secure state -// Interrupt 165 <0=> Secure state <1=> Non-Secure state -// Interrupt 166 <0=> Secure state <1=> Non-Secure state -// Interrupt 167 <0=> Secure state <1=> Non-Secure state -// Interrupt 168 <0=> Secure state <1=> Non-Secure state -// Interrupt 169 <0=> Secure state <1=> Non-Secure state -// Interrupt 170 <0=> Secure state <1=> Non-Secure state -// Interrupt 171 <0=> Secure state <1=> Non-Secure state -// Interrupt 172 <0=> Secure state <1=> Non-Secure state -// Interrupt 173 <0=> Secure state <1=> Non-Secure state -// Interrupt 174 <0=> Secure state <1=> Non-Secure state -// Interrupt 175 <0=> Secure state <1=> Non-Secure state -// Interrupt 176 <0=> Secure state <1=> Non-Secure state -// Interrupt 177 <0=> Secure state <1=> Non-Secure state -// Interrupt 178 <0=> Secure state <1=> Non-Secure state -// Interrupt 179 <0=> Secure state <1=> Non-Secure state -// Interrupt 180 <0=> Secure state <1=> Non-Secure state -// Interrupt 181 <0=> Secure state <1=> Non-Secure state -// Interrupt 182 <0=> Secure state <1=> Non-Secure state -// Interrupt 183 <0=> Secure state <1=> Non-Secure state -// Interrupt 184 <0=> Secure state <1=> Non-Secure state -// Interrupt 185 <0=> Secure state <1=> Non-Secure state -// Interrupt 186 <0=> Secure state <1=> Non-Secure state -// Interrupt 187 <0=> Secure state <1=> Non-Secure state -// Interrupt 188 <0=> Secure state <1=> Non-Secure state -// Interrupt 189 <0=> Secure state <1=> Non-Secure state -// Interrupt 190 <0=> Secure state <1=> Non-Secure state -// Interrupt 191 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS5_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 6 (Interrupts 192..223) -*/ -#define NVIC_INIT_ITNS6 0 - -/* -// Interrupts 192..223 -// Interrupt 192 <0=> Secure state <1=> Non-Secure state -// Interrupt 193 <0=> Secure state <1=> Non-Secure state -// Interrupt 194 <0=> Secure state <1=> Non-Secure state -// Interrupt 195 <0=> Secure state <1=> Non-Secure state -// Interrupt 196 <0=> Secure state <1=> Non-Secure state -// Interrupt 197 <0=> Secure state <1=> Non-Secure state -// Interrupt 198 <0=> Secure state <1=> Non-Secure state -// Interrupt 199 <0=> Secure state <1=> Non-Secure state -// Interrupt 200 <0=> Secure state <1=> Non-Secure state -// Interrupt 201 <0=> Secure state <1=> Non-Secure state -// Interrupt 202 <0=> Secure state <1=> Non-Secure state -// Interrupt 203 <0=> Secure state <1=> Non-Secure state -// Interrupt 204 <0=> Secure state <1=> Non-Secure state -// Interrupt 205 <0=> Secure state <1=> Non-Secure state -// Interrupt 206 <0=> Secure state <1=> Non-Secure state -// Interrupt 207 <0=> Secure state <1=> Non-Secure state -// Interrupt 208 <0=> Secure state <1=> Non-Secure state -// Interrupt 209 <0=> Secure state <1=> Non-Secure state -// Interrupt 210 <0=> Secure state <1=> Non-Secure state -// Interrupt 211 <0=> Secure state <1=> Non-Secure state -// Interrupt 212 <0=> Secure state <1=> Non-Secure state -// Interrupt 213 <0=> Secure state <1=> Non-Secure state -// Interrupt 214 <0=> Secure state <1=> Non-Secure state -// Interrupt 215 <0=> Secure state <1=> Non-Secure state -// Interrupt 216 <0=> Secure state <1=> Non-Secure state -// Interrupt 217 <0=> Secure state <1=> Non-Secure state -// Interrupt 218 <0=> Secure state <1=> Non-Secure state -// Interrupt 219 <0=> Secure state <1=> Non-Secure state -// Interrupt 220 <0=> Secure state <1=> Non-Secure state -// Interrupt 221 <0=> Secure state <1=> Non-Secure state -// Interrupt 222 <0=> Secure state <1=> Non-Secure state -// Interrupt 223 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS6_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 7 (Interrupts 224..255) -*/ -#define NVIC_INIT_ITNS7 0 - -/* -// Interrupts 224..255 -// Interrupt 224 <0=> Secure state <1=> Non-Secure state -// Interrupt 225 <0=> Secure state <1=> Non-Secure state -// Interrupt 226 <0=> Secure state <1=> Non-Secure state -// Interrupt 227 <0=> Secure state <1=> Non-Secure state -// Interrupt 228 <0=> Secure state <1=> Non-Secure state -// Interrupt 229 <0=> Secure state <1=> Non-Secure state -// Interrupt 230 <0=> Secure state <1=> Non-Secure state -// Interrupt 231 <0=> Secure state <1=> Non-Secure state -// Interrupt 232 <0=> Secure state <1=> Non-Secure state -// Interrupt 233 <0=> Secure state <1=> Non-Secure state -// Interrupt 234 <0=> Secure state <1=> Non-Secure state -// Interrupt 235 <0=> Secure state <1=> Non-Secure state -// Interrupt 236 <0=> Secure state <1=> Non-Secure state -// Interrupt 237 <0=> Secure state <1=> Non-Secure state -// Interrupt 238 <0=> Secure state <1=> Non-Secure state -// Interrupt 239 <0=> Secure state <1=> Non-Secure state -// Interrupt 240 <0=> Secure state <1=> Non-Secure state -// Interrupt 241 <0=> Secure state <1=> Non-Secure state -// Interrupt 242 <0=> Secure state <1=> Non-Secure state -// Interrupt 243 <0=> Secure state <1=> Non-Secure state -// Interrupt 244 <0=> Secure state <1=> Non-Secure state -// Interrupt 245 <0=> Secure state <1=> Non-Secure state -// Interrupt 246 <0=> Secure state <1=> Non-Secure state -// Interrupt 247 <0=> Secure state <1=> Non-Secure state -// Interrupt 248 <0=> Secure state <1=> Non-Secure state -// Interrupt 249 <0=> Secure state <1=> Non-Secure state -// Interrupt 250 <0=> Secure state <1=> Non-Secure state -// Interrupt 251 <0=> Secure state <1=> Non-Secure state -// Interrupt 252 <0=> Secure state <1=> Non-Secure state -// Interrupt 253 <0=> Secure state <1=> Non-Secure state -// Interrupt 254 <0=> Secure state <1=> Non-Secure state -// Interrupt 255 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS7_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 8 (Interrupts 256..287) -*/ -#define NVIC_INIT_ITNS8 0 - -/* -// Interrupts 256..287 -// Interrupt 256 <0=> Secure state <1=> Non-Secure state -// Interrupt 257 <0=> Secure state <1=> Non-Secure state -// Interrupt 258 <0=> Secure state <1=> Non-Secure state -// Interrupt 259 <0=> Secure state <1=> Non-Secure state -// Interrupt 260 <0=> Secure state <1=> Non-Secure state -// Interrupt 261 <0=> Secure state <1=> Non-Secure state -// Interrupt 262 <0=> Secure state <1=> Non-Secure state -// Interrupt 263 <0=> Secure state <1=> Non-Secure state -// Interrupt 264 <0=> Secure state <1=> Non-Secure state -// Interrupt 265 <0=> Secure state <1=> Non-Secure state -// Interrupt 266 <0=> Secure state <1=> Non-Secure state -// Interrupt 267 <0=> Secure state <1=> Non-Secure state -// Interrupt 268 <0=> Secure state <1=> Non-Secure state -// Interrupt 269 <0=> Secure state <1=> Non-Secure state -// Interrupt 270 <0=> Secure state <1=> Non-Secure state -// Interrupt 271 <0=> Secure state <1=> Non-Secure state -// Interrupt 272 <0=> Secure state <1=> Non-Secure state -// Interrupt 273 <0=> Secure state <1=> Non-Secure state -// Interrupt 274 <0=> Secure state <1=> Non-Secure state -// Interrupt 275 <0=> Secure state <1=> Non-Secure state -// Interrupt 276 <0=> Secure state <1=> Non-Secure state -// Interrupt 277 <0=> Secure state <1=> Non-Secure state -// Interrupt 278 <0=> Secure state <1=> Non-Secure state -// Interrupt 279 <0=> Secure state <1=> Non-Secure state -// Interrupt 280 <0=> Secure state <1=> Non-Secure state -// Interrupt 281 <0=> Secure state <1=> Non-Secure state -// Interrupt 282 <0=> Secure state <1=> Non-Secure state -// Interrupt 283 <0=> Secure state <1=> Non-Secure state -// Interrupt 284 <0=> Secure state <1=> Non-Secure state -// Interrupt 285 <0=> Secure state <1=> Non-Secure state -// Interrupt 286 <0=> Secure state <1=> Non-Secure state -// Interrupt 287 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS8_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 9 (Interrupts 288..319) -*/ -#define NVIC_INIT_ITNS9 0 - -/* -// Interrupts 288..319 -// Interrupt 288 <0=> Secure state <1=> Non-Secure state -// Interrupt 289 <0=> Secure state <1=> Non-Secure state -// Interrupt 290 <0=> Secure state <1=> Non-Secure state -// Interrupt 291 <0=> Secure state <1=> Non-Secure state -// Interrupt 292 <0=> Secure state <1=> Non-Secure state -// Interrupt 293 <0=> Secure state <1=> Non-Secure state -// Interrupt 294 <0=> Secure state <1=> Non-Secure state -// Interrupt 295 <0=> Secure state <1=> Non-Secure state -// Interrupt 296 <0=> Secure state <1=> Non-Secure state -// Interrupt 297 <0=> Secure state <1=> Non-Secure state -// Interrupt 298 <0=> Secure state <1=> Non-Secure state -// Interrupt 299 <0=> Secure state <1=> Non-Secure state -// Interrupt 300 <0=> Secure state <1=> Non-Secure state -// Interrupt 301 <0=> Secure state <1=> Non-Secure state -// Interrupt 302 <0=> Secure state <1=> Non-Secure state -// Interrupt 303 <0=> Secure state <1=> Non-Secure state -// Interrupt 304 <0=> Secure state <1=> Non-Secure state -// Interrupt 305 <0=> Secure state <1=> Non-Secure state -// Interrupt 306 <0=> Secure state <1=> Non-Secure state -// Interrupt 307 <0=> Secure state <1=> Non-Secure state -// Interrupt 308 <0=> Secure state <1=> Non-Secure state -// Interrupt 309 <0=> Secure state <1=> Non-Secure state -// Interrupt 310 <0=> Secure state <1=> Non-Secure state -// Interrupt 311 <0=> Secure state <1=> Non-Secure state -// Interrupt 312 <0=> Secure state <1=> Non-Secure state -// Interrupt 313 <0=> Secure state <1=> Non-Secure state -// Interrupt 314 <0=> Secure state <1=> Non-Secure state -// Interrupt 315 <0=> Secure state <1=> Non-Secure state -// Interrupt 316 <0=> Secure state <1=> Non-Secure state -// Interrupt 317 <0=> Secure state <1=> Non-Secure state -// Interrupt 318 <0=> Secure state <1=> Non-Secure state -// Interrupt 319 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS9_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 10 (Interrupts 320..351) -*/ -#define NVIC_INIT_ITNS10 0 - -/* -// Interrupts 320..351 -// Interrupt 320 <0=> Secure state <1=> Non-Secure state -// Interrupt 321 <0=> Secure state <1=> Non-Secure state -// Interrupt 322 <0=> Secure state <1=> Non-Secure state -// Interrupt 323 <0=> Secure state <1=> Non-Secure state -// Interrupt 324 <0=> Secure state <1=> Non-Secure state -// Interrupt 325 <0=> Secure state <1=> Non-Secure state -// Interrupt 326 <0=> Secure state <1=> Non-Secure state -// Interrupt 327 <0=> Secure state <1=> Non-Secure state -// Interrupt 328 <0=> Secure state <1=> Non-Secure state -// Interrupt 329 <0=> Secure state <1=> Non-Secure state -// Interrupt 330 <0=> Secure state <1=> Non-Secure state -// Interrupt 331 <0=> Secure state <1=> Non-Secure state -// Interrupt 332 <0=> Secure state <1=> Non-Secure state -// Interrupt 333 <0=> Secure state <1=> Non-Secure state -// Interrupt 334 <0=> Secure state <1=> Non-Secure state -// Interrupt 335 <0=> Secure state <1=> Non-Secure state -// Interrupt 336 <0=> Secure state <1=> Non-Secure state -// Interrupt 337 <0=> Secure state <1=> Non-Secure state -// Interrupt 338 <0=> Secure state <1=> Non-Secure state -// Interrupt 339 <0=> Secure state <1=> Non-Secure state -// Interrupt 340 <0=> Secure state <1=> Non-Secure state -// Interrupt 341 <0=> Secure state <1=> Non-Secure state -// Interrupt 342 <0=> Secure state <1=> Non-Secure state -// Interrupt 343 <0=> Secure state <1=> Non-Secure state -// Interrupt 344 <0=> Secure state <1=> Non-Secure state -// Interrupt 345 <0=> Secure state <1=> Non-Secure state -// Interrupt 346 <0=> Secure state <1=> Non-Secure state -// Interrupt 347 <0=> Secure state <1=> Non-Secure state -// Interrupt 348 <0=> Secure state <1=> Non-Secure state -// Interrupt 349 <0=> Secure state <1=> Non-Secure state -// Interrupt 350 <0=> Secure state <1=> Non-Secure state -// Interrupt 351 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS10_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 11 (Interrupts 352..383) -*/ -#define NVIC_INIT_ITNS11 0 - -/* -// Interrupts 352..383 -// Interrupt 352 <0=> Secure state <1=> Non-Secure state -// Interrupt 353 <0=> Secure state <1=> Non-Secure state -// Interrupt 354 <0=> Secure state <1=> Non-Secure state -// Interrupt 355 <0=> Secure state <1=> Non-Secure state -// Interrupt 356 <0=> Secure state <1=> Non-Secure state -// Interrupt 357 <0=> Secure state <1=> Non-Secure state -// Interrupt 358 <0=> Secure state <1=> Non-Secure state -// Interrupt 359 <0=> Secure state <1=> Non-Secure state -// Interrupt 360 <0=> Secure state <1=> Non-Secure state -// Interrupt 361 <0=> Secure state <1=> Non-Secure state -// Interrupt 362 <0=> Secure state <1=> Non-Secure state -// Interrupt 363 <0=> Secure state <1=> Non-Secure state -// Interrupt 364 <0=> Secure state <1=> Non-Secure state -// Interrupt 365 <0=> Secure state <1=> Non-Secure state -// Interrupt 366 <0=> Secure state <1=> Non-Secure state -// Interrupt 367 <0=> Secure state <1=> Non-Secure state -// Interrupt 368 <0=> Secure state <1=> Non-Secure state -// Interrupt 369 <0=> Secure state <1=> Non-Secure state -// Interrupt 370 <0=> Secure state <1=> Non-Secure state -// Interrupt 371 <0=> Secure state <1=> Non-Secure state -// Interrupt 372 <0=> Secure state <1=> Non-Secure state -// Interrupt 373 <0=> Secure state <1=> Non-Secure state -// Interrupt 374 <0=> Secure state <1=> Non-Secure state -// Interrupt 375 <0=> Secure state <1=> Non-Secure state -// Interrupt 376 <0=> Secure state <1=> Non-Secure state -// Interrupt 377 <0=> Secure state <1=> Non-Secure state -// Interrupt 378 <0=> Secure state <1=> Non-Secure state -// Interrupt 379 <0=> Secure state <1=> Non-Secure state -// Interrupt 380 <0=> Secure state <1=> Non-Secure state -// Interrupt 381 <0=> Secure state <1=> Non-Secure state -// Interrupt 382 <0=> Secure state <1=> Non-Secure state -// Interrupt 383 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS11_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 12 (Interrupts 384..415) -*/ -#define NVIC_INIT_ITNS12 0 - -/* -// Interrupts 384..415 -// Interrupt 384 <0=> Secure state <1=> Non-Secure state -// Interrupt 385 <0=> Secure state <1=> Non-Secure state -// Interrupt 386 <0=> Secure state <1=> Non-Secure state -// Interrupt 387 <0=> Secure state <1=> Non-Secure state -// Interrupt 388 <0=> Secure state <1=> Non-Secure state -// Interrupt 389 <0=> Secure state <1=> Non-Secure state -// Interrupt 390 <0=> Secure state <1=> Non-Secure state -// Interrupt 391 <0=> Secure state <1=> Non-Secure state -// Interrupt 392 <0=> Secure state <1=> Non-Secure state -// Interrupt 393 <0=> Secure state <1=> Non-Secure state -// Interrupt 394 <0=> Secure state <1=> Non-Secure state -// Interrupt 395 <0=> Secure state <1=> Non-Secure state -// Interrupt 396 <0=> Secure state <1=> Non-Secure state -// Interrupt 397 <0=> Secure state <1=> Non-Secure state -// Interrupt 398 <0=> Secure state <1=> Non-Secure state -// Interrupt 399 <0=> Secure state <1=> Non-Secure state -// Interrupt 400 <0=> Secure state <1=> Non-Secure state -// Interrupt 401 <0=> Secure state <1=> Non-Secure state -// Interrupt 402 <0=> Secure state <1=> Non-Secure state -// Interrupt 403 <0=> Secure state <1=> Non-Secure state -// Interrupt 404 <0=> Secure state <1=> Non-Secure state -// Interrupt 405 <0=> Secure state <1=> Non-Secure state -// Interrupt 406 <0=> Secure state <1=> Non-Secure state -// Interrupt 407 <0=> Secure state <1=> Non-Secure state -// Interrupt 408 <0=> Secure state <1=> Non-Secure state -// Interrupt 409 <0=> Secure state <1=> Non-Secure state -// Interrupt 410 <0=> Secure state <1=> Non-Secure state -// Interrupt 411 <0=> Secure state <1=> Non-Secure state -// Interrupt 412 <0=> Secure state <1=> Non-Secure state -// Interrupt 413 <0=> Secure state <1=> Non-Secure state -// Interrupt 414 <0=> Secure state <1=> Non-Secure state -// Interrupt 415 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS12_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 13 (Interrupts 416..447) -*/ -#define NVIC_INIT_ITNS13 0 - -/* -// Interrupts 416..447 -// Interrupt 416 <0=> Secure state <1=> Non-Secure state -// Interrupt 417 <0=> Secure state <1=> Non-Secure state -// Interrupt 418 <0=> Secure state <1=> Non-Secure state -// Interrupt 419 <0=> Secure state <1=> Non-Secure state -// Interrupt 420 <0=> Secure state <1=> Non-Secure state -// Interrupt 421 <0=> Secure state <1=> Non-Secure state -// Interrupt 422 <0=> Secure state <1=> Non-Secure state -// Interrupt 423 <0=> Secure state <1=> Non-Secure state -// Interrupt 424 <0=> Secure state <1=> Non-Secure state -// Interrupt 425 <0=> Secure state <1=> Non-Secure state -// Interrupt 426 <0=> Secure state <1=> Non-Secure state -// Interrupt 427 <0=> Secure state <1=> Non-Secure state -// Interrupt 428 <0=> Secure state <1=> Non-Secure state -// Interrupt 429 <0=> Secure state <1=> Non-Secure state -// Interrupt 430 <0=> Secure state <1=> Non-Secure state -// Interrupt 431 <0=> Secure state <1=> Non-Secure state -// Interrupt 432 <0=> Secure state <1=> Non-Secure state -// Interrupt 433 <0=> Secure state <1=> Non-Secure state -// Interrupt 434 <0=> Secure state <1=> Non-Secure state -// Interrupt 435 <0=> Secure state <1=> Non-Secure state -// Interrupt 436 <0=> Secure state <1=> Non-Secure state -// Interrupt 437 <0=> Secure state <1=> Non-Secure state -// Interrupt 438 <0=> Secure state <1=> Non-Secure state -// Interrupt 439 <0=> Secure state <1=> Non-Secure state -// Interrupt 440 <0=> Secure state <1=> Non-Secure state -// Interrupt 441 <0=> Secure state <1=> Non-Secure state -// Interrupt 442 <0=> Secure state <1=> Non-Secure state -// Interrupt 443 <0=> Secure state <1=> Non-Secure state -// Interrupt 444 <0=> Secure state <1=> Non-Secure state -// Interrupt 445 <0=> Secure state <1=> Non-Secure state -// Interrupt 446 <0=> Secure state <1=> Non-Secure state -// Interrupt 447 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS13_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 14 (Interrupts 448..479) -*/ -#define NVIC_INIT_ITNS14 0 - -/* -// Interrupts 448..479 -// Interrupt 448 <0=> Secure state <1=> Non-Secure state -// Interrupt 449 <0=> Secure state <1=> Non-Secure state -// Interrupt 450 <0=> Secure state <1=> Non-Secure state -// Interrupt 451 <0=> Secure state <1=> Non-Secure state -// Interrupt 452 <0=> Secure state <1=> Non-Secure state -// Interrupt 453 <0=> Secure state <1=> Non-Secure state -// Interrupt 454 <0=> Secure state <1=> Non-Secure state -// Interrupt 455 <0=> Secure state <1=> Non-Secure state -// Interrupt 456 <0=> Secure state <1=> Non-Secure state -// Interrupt 457 <0=> Secure state <1=> Non-Secure state -// Interrupt 458 <0=> Secure state <1=> Non-Secure state -// Interrupt 459 <0=> Secure state <1=> Non-Secure state -// Interrupt 460 <0=> Secure state <1=> Non-Secure state -// Interrupt 461 <0=> Secure state <1=> Non-Secure state -// Interrupt 462 <0=> Secure state <1=> Non-Secure state -// Interrupt 463 <0=> Secure state <1=> Non-Secure state -// Interrupt 464 <0=> Secure state <1=> Non-Secure state -// Interrupt 465 <0=> Secure state <1=> Non-Secure state -// Interrupt 466 <0=> Secure state <1=> Non-Secure state -// Interrupt 467 <0=> Secure state <1=> Non-Secure state -// Interrupt 468 <0=> Secure state <1=> Non-Secure state -// Interrupt 469 <0=> Secure state <1=> Non-Secure state -// Interrupt 470 <0=> Secure state <1=> Non-Secure state -// Interrupt 471 <0=> Secure state <1=> Non-Secure state -// Interrupt 472 <0=> Secure state <1=> Non-Secure state -// Interrupt 473 <0=> Secure state <1=> Non-Secure state -// Interrupt 474 <0=> Secure state <1=> Non-Secure state -// Interrupt 475 <0=> Secure state <1=> Non-Secure state -// Interrupt 476 <0=> Secure state <1=> Non-Secure state -// Interrupt 477 <0=> Secure state <1=> Non-Secure state -// Interrupt 478 <0=> Secure state <1=> Non-Secure state -// Interrupt 479 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS14_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 15 (Interrupts 480..511) -*/ -#define NVIC_INIT_ITNS15 0 - -/* -// Interrupts 480..511 -// Interrupt 480 <0=> Secure state <1=> Non-Secure state -// Interrupt 481 <0=> Secure state <1=> Non-Secure state -// Interrupt 482 <0=> Secure state <1=> Non-Secure state -// Interrupt 483 <0=> Secure state <1=> Non-Secure state -// Interrupt 484 <0=> Secure state <1=> Non-Secure state -// Interrupt 485 <0=> Secure state <1=> Non-Secure state -// Interrupt 486 <0=> Secure state <1=> Non-Secure state -// Interrupt 487 <0=> Secure state <1=> Non-Secure state -// Interrupt 488 <0=> Secure state <1=> Non-Secure state -// Interrupt 489 <0=> Secure state <1=> Non-Secure state -// Interrupt 490 <0=> Secure state <1=> Non-Secure state -// Interrupt 491 <0=> Secure state <1=> Non-Secure state -// Interrupt 492 <0=> Secure state <1=> Non-Secure state -// Interrupt 493 <0=> Secure state <1=> Non-Secure state -// Interrupt 494 <0=> Secure state <1=> Non-Secure state -// Interrupt 495 <0=> Secure state <1=> Non-Secure state -// Interrupt 496 <0=> Secure state <1=> Non-Secure state -// Interrupt 497 <0=> Secure state <1=> Non-Secure state -// Interrupt 498 <0=> Secure state <1=> Non-Secure state -// Interrupt 499 <0=> Secure state <1=> Non-Secure state -// Interrupt 500 <0=> Secure state <1=> Non-Secure state -// Interrupt 501 <0=> Secure state <1=> Non-Secure state -// Interrupt 502 <0=> Secure state <1=> Non-Secure state -// Interrupt 503 <0=> Secure state <1=> Non-Secure state -// Interrupt 504 <0=> Secure state <1=> Non-Secure state -// Interrupt 505 <0=> Secure state <1=> Non-Secure state -// Interrupt 506 <0=> Secure state <1=> Non-Secure state -// Interrupt 507 <0=> Secure state <1=> Non-Secure state -// Interrupt 508 <0=> Secure state <1=> Non-Secure state -// Interrupt 509 <0=> Secure state <1=> Non-Secure state -// Interrupt 510 <0=> Secure state <1=> Non-Secure state -// Interrupt 511 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS15_VAL 0x00000000 - -/* -// -*/ - -/* -// -*/ - - - -/* - max 128 SAU regions. - SAU regions are defined in partition.h - */ - -#define SAU_INIT_REGION(n) \ - SAU->RNR = (n & SAU_RNR_REGION_Msk); \ - SAU->RBAR = (SAU_INIT_START##n & SAU_RBAR_BADDR_Msk); \ - SAU->RLAR = (SAU_INIT_END##n & SAU_RLAR_LADDR_Msk) | \ - ((SAU_INIT_NSC##n << SAU_RLAR_NSC_Pos) & SAU_RLAR_NSC_Msk) | 1U - -/** - \brief Setup a SAU Region - \details Writes the region information contained in SAU_Region to the - registers SAU_RNR, SAU_RBAR, and SAU_RLAR - */ -__STATIC_INLINE void TZ_SAU_Setup (void) -{ - -#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) - - #if defined (SAU_INIT_REGION0) && (SAU_INIT_REGION0 == 1U) - SAU_INIT_REGION(0); - #endif - - #if defined (SAU_INIT_REGION1) && (SAU_INIT_REGION1 == 1U) - SAU_INIT_REGION(1); - #endif - - #if defined (SAU_INIT_REGION2) && (SAU_INIT_REGION2 == 1U) - SAU_INIT_REGION(2); - #endif - - #if defined (SAU_INIT_REGION3) && (SAU_INIT_REGION3 == 1U) - SAU_INIT_REGION(3); - #endif - - #if defined (SAU_INIT_REGION4) && (SAU_INIT_REGION4 == 1U) - SAU_INIT_REGION(4); - #endif - - #if defined (SAU_INIT_REGION5) && (SAU_INIT_REGION5 == 1U) - SAU_INIT_REGION(5); - #endif - - #if defined (SAU_INIT_REGION6) && (SAU_INIT_REGION6 == 1U) - SAU_INIT_REGION(6); - #endif - - #if defined (SAU_INIT_REGION7) && (SAU_INIT_REGION7 == 1U) - SAU_INIT_REGION(7); - #endif - - /* repeat this for all possible SAU regions */ - -#endif /* defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) */ - - - #if defined (SAU_INIT_CTRL) && (SAU_INIT_CTRL == 1U) - SAU->CTRL = ((SAU_INIT_CTRL_ENABLE << SAU_CTRL_ENABLE_Pos) & SAU_CTRL_ENABLE_Msk) | - ((SAU_INIT_CTRL_ALLNS << SAU_CTRL_ALLNS_Pos) & SAU_CTRL_ALLNS_Msk) ; - #endif - - #if defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) - SCB->SCR = (SCB->SCR & ~(SCB_SCR_SLEEPDEEPS_Msk )) | - ((SCB_CSR_DEEPSLEEPS_VAL << SCB_SCR_SLEEPDEEPS_Pos) & SCB_SCR_SLEEPDEEPS_Msk); - - SCB->AIRCR = (SCB->AIRCR & ~(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_SYSRESETREQS_Msk | - SCB_AIRCR_BFHFNMINS_Msk | SCB_AIRCR_PRIS_Msk )) | - ((0x05FAU << SCB_AIRCR_VECTKEY_Pos) & SCB_AIRCR_VECTKEY_Msk) | - ((SCB_AIRCR_SYSRESETREQS_VAL << SCB_AIRCR_SYSRESETREQS_Pos) & SCB_AIRCR_SYSRESETREQS_Msk) | - ((SCB_AIRCR_PRIS_VAL << SCB_AIRCR_PRIS_Pos) & SCB_AIRCR_PRIS_Msk) | - ((SCB_AIRCR_BFHFNMINS_VAL << SCB_AIRCR_BFHFNMINS_Pos) & SCB_AIRCR_BFHFNMINS_Msk); - #endif /* defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) */ - - #if defined (__FPU_USED) && (__FPU_USED == 1U) && \ - defined (TZ_FPU_NS_USAGE) && (TZ_FPU_NS_USAGE == 1U) - - SCB->NSACR = (SCB->NSACR & ~(SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)) | - ((SCB_NSACR_CP10_11_VAL << SCB_NSACR_CP10_Pos) & (SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)); - - FPU->FPCCR = (FPU->FPCCR & ~(FPU_FPCCR_TS_Msk | FPU_FPCCR_CLRONRETS_Msk | FPU_FPCCR_CLRONRET_Msk)) | - ((FPU_FPCCR_TS_VAL << FPU_FPCCR_TS_Pos ) & FPU_FPCCR_TS_Msk ) | - ((FPU_FPCCR_CLRONRETS_VAL << FPU_FPCCR_CLRONRETS_Pos) & FPU_FPCCR_CLRONRETS_Msk) | - ((FPU_FPCCR_CLRONRET_VAL << FPU_FPCCR_CLRONRET_Pos ) & FPU_FPCCR_CLRONRET_Msk ); - #endif - - #if defined (NVIC_INIT_ITNS0) && (NVIC_INIT_ITNS0 == 1U) - NVIC->ITNS[0] = NVIC_INIT_ITNS0_VAL; - #endif - - #if defined (NVIC_INIT_ITNS1) && (NVIC_INIT_ITNS1 == 1U) - NVIC->ITNS[1] = NVIC_INIT_ITNS1_VAL; - #endif - - #if defined (NVIC_INIT_ITNS2) && (NVIC_INIT_ITNS2 == 1U) - NVIC->ITNS[2] = NVIC_INIT_ITNS2_VAL; - #endif - - #if defined (NVIC_INIT_ITNS3) && (NVIC_INIT_ITNS3 == 1U) - NVIC->ITNS[3] = NVIC_INIT_ITNS3_VAL; - #endif - - #if defined (NVIC_INIT_ITNS4) && (NVIC_INIT_ITNS4 == 1U) - NVIC->ITNS[4] = NVIC_INIT_ITNS4_VAL; - #endif - - #if defined (NVIC_INIT_ITNS5) && (NVIC_INIT_ITNS5 == 1U) - NVIC->ITNS[5] = NVIC_INIT_ITNS5_VAL; - #endif - - #if defined (NVIC_INIT_ITNS6) && (NVIC_INIT_ITNS6 == 1U) - NVIC->ITNS[6] = NVIC_INIT_ITNS6_VAL; - #endif - - #if defined (NVIC_INIT_ITNS7) && (NVIC_INIT_ITNS7 == 1U) - NVIC->ITNS[7] = NVIC_INIT_ITNS7_VAL; - #endif - - #if defined (NVIC_INIT_ITNS8) && (NVIC_INIT_ITNS8 == 1U) - NVIC->ITNS[8] = NVIC_INIT_ITNS8_VAL; - #endif - - #if defined (NVIC_INIT_ITNS9) && (NVIC_INIT_ITNS9 == 1U) - NVIC->ITNS[9] = NVIC_INIT_ITNS9_VAL; - #endif - - #if defined (NVIC_INIT_ITNS10) && (NVIC_INIT_ITNS10 == 1U) - NVIC->ITNS[10] = NVIC_INIT_ITNS10_VAL; - #endif - - #if defined (NVIC_INIT_ITNS11) && (NVIC_INIT_ITNS11 == 1U) - NVIC->ITNS[11] = NVIC_INIT_ITNS11_VAL; - #endif - - #if defined (NVIC_INIT_ITNS12) && (NVIC_INIT_ITNS12 == 1U) - NVIC->ITNS[12] = NVIC_INIT_ITNS12_VAL; - #endif - - #if defined (NVIC_INIT_ITNS13) && (NVIC_INIT_ITNS13 == 1U) - NVIC->ITNS[13] = NVIC_INIT_ITNS13_VAL; - #endif - - #if defined (NVIC_INIT_ITNS14) && (NVIC_INIT_ITNS14 == 1U) - NVIC->ITNS[14] = NVIC_INIT_ITNS14_VAL; - #endif - - #if defined (NVIC_INIT_ITNS15) && (NVIC_INIT_ITNS15 == 1U) - NVIC->ITNS[15] = NVIC_INIT_ITNS15_VAL; - #endif - - /* repeat this for all possible ITNS elements */ - -} - -#endif /* PARTITION_ARMv8MML_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMv8MML/Include/system_ARMv8MML.h b/external/CMSIS_5/Device/ARM/ARMv8MML/Include/system_ARMv8MML.h deleted file mode 100644 index c8798b2..0000000 --- a/external/CMSIS_5/Device/ARM/ARMv8MML/Include/system_ARMv8MML.h +++ /dev/null @@ -1,65 +0,0 @@ -/**************************************************************************//** - * @file system_ARMv8MML.h - * @brief CMSIS Device System Header File for - * ARMv8MML Device - * @version V5.3.3 - * @date 11. July 2022 - ******************************************************************************/ -/* - * Copyright (c) 2009-2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef SYSTEM_ARMv8MML_H -#define SYSTEM_ARMv8MML_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -/** - \brief Exception / Interrupt Handler Function Prototype -*/ -typedef void(*VECTOR_TABLE_Type)(void); - -/** - \brief System Clock Frequency (Core Clock) -*/ -extern uint32_t SystemCoreClock; - - -/** - \brief Setup the microcontroller system. - - Initialize the System and update the SystemCoreClock variable. - */ -extern void SystemInit (void); - - -/** - \brief Update SystemCoreClock variable. - - Updates the SystemCoreClock with current core Clock retrieved from cpu registers. - */ -extern void SystemCoreClockUpdate (void); - -#ifdef __cplusplus -} -#endif - -#endif /* SYSTEM_ARMv8MML_H */ diff --git a/external/CMSIS_5/Device/ARM/ARMv8MML/Source/ARM/ARMv8MML_ac6.sct b/external/CMSIS_5/Device/ARM/ARMv8MML/Source/ARM/ARMv8MML_ac6.sct deleted file mode 100644 index 2c12080..0000000 --- a/external/CMSIS_5/Device/ARM/ARMv8MML/Source/ARM/ARMv8MML_ac6.sct +++ /dev/null @@ -1,119 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -march=armv8-m.main -xc -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -march=armv8-m.main -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_SIZE 0x200 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE ( __RAM_SIZE - __STACK_SIZE - __HEAP_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_RAM __RW_BASE __RW_SIZE { ; RW data - .ANY (+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/Device/ARM/ARMv8MML/Source/ARM/ARMv8MML_ac6_s.sct b/external/CMSIS_5/Device/ARM/ARMv8MML/Source/ARM/ARMv8MML_ac6_s.sct deleted file mode 100644 index d0b468f..0000000 --- a/external/CMSIS_5/Device/ARM/ARMv8MML/Source/ARM/ARMv8MML_ac6_s.sct +++ /dev/null @@ -1,119 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -march=armv8-m.main -xc -mcmse -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -march=armv8-m.main -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_SIZE 0x200 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE ( __RAM_SIZE - __STACK_SIZE - __HEAP_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_RAM __RW_BASE __RW_SIZE { ; RW data - .ANY (+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/Device/ARM/ARMv8MML/Source/ARM/startup_ARMv8MML.S b/external/CMSIS_5/Device/ARM/ARMv8MML/Source/ARM/startup_ARMv8MML.S deleted file mode 100644 index e280389..0000000 --- a/external/CMSIS_5/Device/ARM/ARMv8MML/Source/ARM/startup_ARMv8MML.S +++ /dev/null @@ -1,159 +0,0 @@ -/****************************************************************************** - * @file startup_ARMv8MML.S - * @brief CMSIS-Core Device Startup File for Cortex-ARMv8MML Device - * @version V2.0.0 - * @date 26. May 2021 - ******************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - .syntax unified - .arch armv8-m.main - - #define __INITIAL_SP Image$$ARM_LIB_STACK$$ZI$$Limit - #define __STACK_LIMIT Image$$ARM_LIB_STACK$$ZI$$Base - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #define __STACK_SEAL Image$$STACKSEAL$$ZI$$Base - #endif - - .section RESET - .align 2 - .globl __Vectors - .globl __Vectors_End - .globl __Vectors_Size -__Vectors: - .long __INITIAL_SP /* Initial Stack Pointer */ - .long Reset_Handler /* Reset Handler */ - .long NMI_Handler /* -14 NMI Handler */ - .long HardFault_Handler /* -13 Hard Fault Handler */ - .long MemManage_Handler /* -12 MPU Fault Handler */ - .long BusFault_Handler /* -11 Bus Fault Handler */ - .long UsageFault_Handler /* -10 Usage Fault Handler */ - .long SecureFault_Handler /* -9 Secure Fault Handler */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long SVC_Handler /* -5 SVC Handler */ - .long DebugMon_Handler /* -4 Debug Monitor Handler */ - .long 0 /* Reserved */ - .long PendSV_Handler /* -2 PendSV Handler */ - .long SysTick_Handler /* -1 SysTick Handler */ - - /* Interrupts */ - .long Interrupt0_Handler /* 0 Interrupt 0 */ - .long Interrupt1_Handler /* 1 Interrupt 1 */ - .long Interrupt2_Handler /* 2 Interrupt 2 */ - .long Interrupt3_Handler /* 3 Interrupt 3 */ - .long Interrupt4_Handler /* 4 Interrupt 4 */ - .long Interrupt5_Handler /* 5 Interrupt 5 */ - .long Interrupt6_Handler /* 6 Interrupt 6 */ - .long Interrupt7_Handler /* 7 Interrupt 7 */ - .long Interrupt8_Handler /* 8 Interrupt 8 */ - .long Interrupt9_Handler /* 9 Interrupt 9 */ - - .space (470 * 4) /* Interrupts 10 .. 480 are left out */ -__Vectors_End: - .equ __Vectors_Size, __Vectors_End - __Vectors - .size __Vectors, . - __Vectors - - - .thumb - .section .text - .align 2 - - .thumb_func - .type Reset_Handler, %function - .globl Reset_Handler - .fnstart -Reset_Handler: - ldr r0, =__INITIAL_SP - msr psp, r0 - - ldr r0, =__STACK_LIMIT - msr msplim, r0 - msr psplim, r0 - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - ldr r0, =__STACK_SEAL - ldr r1, =0xFEF5EDA5U - strd r1,r1,[r0,#0] - #endif - - bl SystemInit - - bl __main - - .fnend - .size Reset_Handler, . - Reset_Handler - - -/* The default macro is not used for HardFault_Handler - * because this results in a poor debug illusion. - */ - .thumb_func - .type HardFault_Handler, %function - .weak HardFault_Handler - .fnstart -HardFault_Handler: - b . - .fnend - .size HardFault_Handler, . - HardFault_Handler - - .thumb_func - .type Default_Handler, %function - .weak Default_Handler - .fnstart -Default_Handler: - b . - .fnend - .size Default_Handler, . - Default_Handler - -/* Macro to define default exception/interrupt handlers. - * Default handler are weak symbols with an endless loop. - * They can be overwritten by real handlers. - */ - .macro Set_Default_Handler Handler_Name - .weak \Handler_Name - .set \Handler_Name, Default_Handler - .endm - - -/* Default exception/interrupt handler */ - - Set_Default_Handler NMI_Handler - Set_Default_Handler MemManage_Handler - Set_Default_Handler BusFault_Handler - Set_Default_Handler UsageFault_Handler - Set_Default_Handler SecureFault_Handler - Set_Default_Handler SVC_Handler - Set_Default_Handler DebugMon_Handler - Set_Default_Handler PendSV_Handler - Set_Default_Handler SysTick_Handler - - Set_Default_Handler Interrupt0_Handler - Set_Default_Handler Interrupt1_Handler - Set_Default_Handler Interrupt2_Handler - Set_Default_Handler Interrupt3_Handler - Set_Default_Handler Interrupt4_Handler - Set_Default_Handler Interrupt5_Handler - Set_Default_Handler Interrupt6_Handler - Set_Default_Handler Interrupt7_Handler - Set_Default_Handler Interrupt8_Handler - Set_Default_Handler Interrupt9_Handler - - .end diff --git a/external/CMSIS_5/Device/ARM/ARMv8MML/Source/GCC/gcc_arm.ld b/external/CMSIS_5/Device/ARM/ARMv8MML/Source/GCC/gcc_arm.ld deleted file mode 100644 index c8f0efe..0000000 --- a/external/CMSIS_5/Device/ARM/ARMv8MML/Source/GCC/gcc_arm.ld +++ /dev/null @@ -1,316 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.2.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00040000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00020000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -/* ARMv8-M stack sealing: - to use ARMv8-M stack sealing set __STACKSEAL_SIZE to 8 otherwise keep 0 - */ -__STACKSEAL_SIZE = 0; - - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - * __StackSeal (only if ARMv8-M stack sealing is used) - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ -/* - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH -*/ - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* ARMv8-M stack sealing: - to use ARMv8-M stack sealing uncomment '.stackseal' section - */ -/* - .stackseal (ORIGIN(RAM) + LENGTH(RAM) - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackSeal = .; - . = . + 8; - . = ALIGN(8); - } > RAM -*/ - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/Device/ARM/ARMv8MML/Source/GCC/startup_ARMv8MML.S b/external/CMSIS_5/Device/ARM/ARMv8MML/Source/GCC/startup_ARMv8MML.S deleted file mode 100644 index 8bc767a..0000000 --- a/external/CMSIS_5/Device/ARM/ARMv8MML/Source/GCC/startup_ARMv8MML.S +++ /dev/null @@ -1,202 +0,0 @@ -/****************************************************************************** - * @file startup_ARMv8MML.S - * @brief CMSIS-Core Device Startup File for ARMv8MML evice - * @version V2.3.0 - * @date 26. May 2021 - ******************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - .syntax unified - .arch armv8-m.main - - #define __INITIAL_SP __StackTop - #define __STACK_LIMIT __StackLimit - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #define __STACK_SEAL __StackSeal - #endif - - .section .vectors - .align 2 - .globl __Vectors - .globl __Vectors_End - .globl __Vectors_Size -__Vectors: - .long __INITIAL_SP /* Initial Stack Pointer */ - .long Reset_Handler /* Reset Handler */ - .long NMI_Handler /* -14 NMI Handler */ - .long HardFault_Handler /* -13 Hard Fault Handler */ - .long MemManage_Handler /* -12 MPU Fault Handler */ - .long BusFault_Handler /* -11 Bus Fault Handler */ - .long UsageFault_Handler /* -10 Usage Fault Handler */ - .long SecureFault_Handler /* -9 Secure Fault Handler */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long SVC_Handler /* -5 SVC Handler */ - .long DebugMon_Handler /* -4 Debug Monitor Handler */ - .long 0 /* Reserved */ - .long PendSV_Handler /* -2 PendSV Handler */ - .long SysTick_Handler /* -1 SysTick Handler */ - - /* Interrupts */ - .long Interrupt0_Handler /* 0 Interrupt 0 */ - .long Interrupt1_Handler /* 1 Interrupt 1 */ - .long Interrupt2_Handler /* 2 Interrupt 2 */ - .long Interrupt3_Handler /* 3 Interrupt 3 */ - .long Interrupt4_Handler /* 4 Interrupt 4 */ - .long Interrupt5_Handler /* 5 Interrupt 5 */ - .long Interrupt6_Handler /* 6 Interrupt 6 */ - .long Interrupt7_Handler /* 7 Interrupt 7 */ - .long Interrupt8_Handler /* 8 Interrupt 8 */ - .long Interrupt9_Handler /* 9 Interrupt 9 */ - - .space (470 * 4) /* Interrupts 10 .. 480 are left out */ -__Vectors_End: - .equ __Vectors_Size, __Vectors_End - __Vectors - .size __Vectors, . - __Vectors - - - .thumb - .section .text - .align 2 - - .thumb_func - .type Reset_Handler, %function - .globl Reset_Handler - .fnstart -Reset_Handler: - ldr r0, =__INITIAL_SP - msr psp, r0 - - ldr r0, =__STACK_LIMIT - msr msplim, r0 - msr psplim, r0 - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - ldr r0, =__STACK_SEAL - ldr r1, =0xFEF5EDA5U - strd r1,r1,[r0,#0] - #endif - - bl SystemInit - - ldr r4, =__copy_table_start__ - ldr r5, =__copy_table_end__ - -.L_loop0: - cmp r4, r5 - bge .L_loop0_done - ldr r1, [r4] /* source address */ - ldr r2, [r4, #4] /* destination address */ - ldr r3, [r4, #8] /* word count */ - lsls r3, r3, #2 /* byte count */ - -.L_loop0_0: - subs r3, #4 /* decrement byte count */ - ittt ge - ldrge r0, [r1, r3] - strge r0, [r2, r3] - bge .L_loop0_0 - - adds r4, #12 - b .L_loop0 -.L_loop0_done: - - ldr r3, =__zero_table_start__ - ldr r4, =__zero_table_end__ - -.L_loop2: - cmp r3, r4 - bge .L_loop2_done - ldr r1, [r3] /* destination address */ - ldr r2, [r3, #4] /* word count */ - lsls r2, r2, #2 /* byte count */ - movs r0, 0 - -.L_loop2_0: - subs r2, #4 /* decrement byte count */ - itt ge - strge r0, [r1, r2] - bge .L_loop2_0 - - adds r3, #8 - b .L_loop2 -.L_loop2_done: - - bl _start - - .fnend - .size Reset_Handler, . - Reset_Handler - - -/* The default macro is not used for HardFault_Handler - * because this results in a poor debug illusion. - */ - .thumb_func - .type HardFault_Handler, %function - .weak HardFault_Handler - .fnstart -HardFault_Handler: - b . - .fnend - .size HardFault_Handler, . - HardFault_Handler - - .thumb_func - .type Default_Handler, %function - .weak Default_Handler - .fnstart -Default_Handler: - b . - .fnend - .size Default_Handler, . - Default_Handler - -/* Macro to define default exception/interrupt handlers. - * Default handler are weak symbols with an endless loop. - * They can be overwritten by real handlers. - */ - .macro Set_Default_Handler Handler_Name - .weak \Handler_Name - .set \Handler_Name, Default_Handler - .endm - - -/* Default exception/interrupt handler */ - - Set_Default_Handler NMI_Handler - Set_Default_Handler MemManage_Handler - Set_Default_Handler BusFault_Handler - Set_Default_Handler UsageFault_Handler - Set_Default_Handler SecureFault_Handler - Set_Default_Handler SVC_Handler - Set_Default_Handler DebugMon_Handler - Set_Default_Handler PendSV_Handler - Set_Default_Handler SysTick_Handler - - Set_Default_Handler Interrupt0_Handler - Set_Default_Handler Interrupt1_Handler - Set_Default_Handler Interrupt2_Handler - Set_Default_Handler Interrupt3_Handler - Set_Default_Handler Interrupt4_Handler - Set_Default_Handler Interrupt5_Handler - Set_Default_Handler Interrupt6_Handler - Set_Default_Handler Interrupt7_Handler - Set_Default_Handler Interrupt8_Handler - Set_Default_Handler Interrupt9_Handler - - .end diff --git a/external/CMSIS_5/Device/ARM/ARMv8MML/Source/IAR/startup_ARMv8MML.s b/external/CMSIS_5/Device/ARM/ARMv8MML/Source/IAR/startup_ARMv8MML.s deleted file mode 100644 index a6d7ed2..0000000 --- a/external/CMSIS_5/Device/ARM/ARMv8MML/Source/IAR/startup_ARMv8MML.s +++ /dev/null @@ -1,157 +0,0 @@ -;/**************************************************************************//** -; * @file startup_ARMv8MML.s -; * @brief CMSIS Core Device Startup File for -; * ARMv8MML Device -; * @version V1.0.0 -; * @date 09. July 2018 -; ******************************************************************************/ -;/* -; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. -; * -; * SPDX-License-Identifier: Apache-2.0 -; * -; * Licensed under the Apache License, Version 2.0 (the License); you may -; * not use this file except in compliance with the License. -; * You may obtain a copy of the License at -; * -; * www.apache.org/licenses/LICENSE-2.0 -; * -; * Unless required by applicable law or agreed to in writing, software -; * distributed under the License is distributed on an AS IS BASIS, WITHOUT -; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; * See the License for the specific language governing permissions and -; * limitations under the License. -; */ - -; -; The modules in this file are included in the libraries, and may be replaced -; by any user-defined modules that define the PUBLIC symbol _program_start or -; a user defined start symbol. -; To override the cstartup defined in the library, simply add your modified -; version to the workbench project. -; -; The vector table is normally located at address 0. -; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. -; The name "__vector_table" has special meaning for C-SPY: -; it is where the SP start value is found, and the NVIC vector -; table register (VTOR) is initialized to this address if != 0. -; -; Cortex-M version -; - - MODULE ?cstartup - - ;; Forward declaration of sections. - SECTION CSTACK:DATA:NOROOT(3) - - SECTION .intvec:CODE:NOROOT(2) - - EXTERN __iar_program_start - EXTERN SystemInit - PUBLIC __vector_table - PUBLIC __vector_table_0x1c - PUBLIC __Vectors - PUBLIC __Vectors_End - PUBLIC __Vectors_Size - - DATA - -__vector_table - DCD sfe(CSTACK) ; Top of Stack - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; -14 NMI Handler - DCD HardFault_Handler ; -13 Hard Fault Handler - DCD MemManage_Handler ; -12 MPU Fault Handler - DCD BusFault_Handler ; -11 Bus Fault Handler - DCD UsageFault_Handler ; -10 Usage Fault Handler -__vector_table_0x1c - DCD SecureFault_Handler ; -9 Security Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; -5 SVC Handler - DCD DebugMon_Handler ; -4 Debug Monitor Handler - DCD 0 ; Reserved - DCD PendSV_Handler ; -2 PendSV Handler - DCD SysTick_Handler ; -1 SysTick Handler - - ; Interrupts - DCD Interrupt0_Handler ; 0 Interrupt 0 - DCD Interrupt1_Handler ; 1 Interrupt 1 - DCD Interrupt2_Handler ; 2 Interrupt 2 - DCD Interrupt3_Handler ; 3 Interrupt 3 - DCD Interrupt4_Handler ; 4 Interrupt 4 - DCD Interrupt5_Handler ; 5 Interrupt 5 - DCD Interrupt6_Handler ; 6 Interrupt 6 - DCD Interrupt7_Handler ; 7 Interrupt 7 - DCD Interrupt8_Handler ; 8 Interrupt 8 - DCD Interrupt9_Handler ; 9 Interrupt 9 - - DS32 (470) ; Interrupts 10 .. 480 are left out -__Vectors_End - -__Vectors EQU __vector_table -__Vectors_Size EQU __Vectors_End - __Vectors - - - THUMB - -; Reset Handler - - PUBWEAK Reset_Handler - SECTION .text:CODE:REORDER:NOROOT(2) -Reset_Handler - LDR R0, =SystemInit - BLX R0 - LDR R0, =__iar_program_start - BX R0 - - - PUBWEAK NMI_Handler - PUBWEAK HardFault_Handler - PUBWEAK MemManage_Handler - PUBWEAK BusFault_Handler - PUBWEAK UsageFault_Handler - PUBWEAK SecureFault_Handler - PUBWEAK SVC_Handler - PUBWEAK DebugMon_Handler - PUBWEAK PendSV_Handler - PUBWEAK SysTick_Handler - - PUBWEAK Interrupt0_Handler - PUBWEAK Interrupt1_Handler - PUBWEAK Interrupt2_Handler - PUBWEAK Interrupt3_Handler - PUBWEAK Interrupt4_Handler - PUBWEAK Interrupt5_Handler - PUBWEAK Interrupt6_Handler - PUBWEAK Interrupt7_Handler - PUBWEAK Interrupt8_Handler - PUBWEAK Interrupt9_Handler - SECTION .text:CODE:REORDER:NOROOT(1) -NMI_Handler -HardFault_Handler -MemManage_Handler -BusFault_Handler -UsageFault_Handler -SecureFault_Handler -SVC_Handler -DebugMon_Handler -PendSV_Handler -SysTick_Handler - -Interrupt0_Handler -Interrupt1_Handler -Interrupt2_Handler -Interrupt3_Handler -Interrupt4_Handler -Interrupt5_Handler -Interrupt6_Handler -Interrupt7_Handler -Interrupt8_Handler -Interrupt9_Handler -Default_Handler - B . - - - END diff --git a/external/CMSIS_5/Device/ARM/ARMv8MML/Source/startup_ARMv8MML.c b/external/CMSIS_5/Device/ARM/ARMv8MML/Source/startup_ARMv8MML.c deleted file mode 100644 index a91eb71..0000000 --- a/external/CMSIS_5/Device/ARM/ARMv8MML/Source/startup_ARMv8MML.c +++ /dev/null @@ -1,174 +0,0 @@ -/****************************************************************************** - * @file startup_ARMv8MML.c - * @brief CMSIS-Core Device Startup File for ARMv8MML Device - * @version V2.1.0 - * @date 16. December 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMv8MML) - #include "ARMv8MML.h" -#elif defined (ARMv8MML_DSP) - #include "ARMv8MML_DSP.h" -#elif defined (ARMv8MML_SP) - #include "ARMv8MML_SP.h" -#elif defined (ARMv8MML_DSP_SP) - #include "ARMv8MML_DSP_SP.h" -#elif defined (ARMv8MML_DP) - #include "ARMv8MML_DP.h" -#elif defined (ARMv8MML_DSP_DP) - #include "ARMv8MML_DSP_DP.h" -#else - #error device not specified! -#endif - -/*---------------------------------------------------------------------------- - External References - *----------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); - void Default_Handler(void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SecureFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -void Interrupt0_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt1_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt2_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt3_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt4_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt5_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt6_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt7_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt8_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void Interrupt9_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - SecureFault_Handler, /* -9 Secure Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVC Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - - /* Interrupts */ - Interrupt0_Handler, /* 0 Interrupt 0 */ - Interrupt1_Handler, /* 1 Interrupt 1 */ - Interrupt2_Handler, /* 2 Interrupt 2 */ - Interrupt3_Handler, /* 3 Interrupt 3 */ - Interrupt4_Handler, /* 4 Interrupt 4 */ - Interrupt5_Handler, /* 5 Interrupt 5 */ - Interrupt6_Handler, /* 6 Interrupt 6 */ - Interrupt7_Handler, /* 7 Interrupt 7 */ - Interrupt8_Handler, /* 8 Interrupt 8 */ - Interrupt9_Handler /* 9 Interrupt 9 */ - /* Interrupts 10 .. 480 are left out */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*---------------------------------------------------------------------------- - Hard Fault Handler - *----------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif - diff --git a/external/CMSIS_5/Device/ARM/ARMv8MML/Source/system_ARMv8MML.c b/external/CMSIS_5/Device/ARM/ARMv8MML/Source/system_ARMv8MML.c deleted file mode 100644 index c623277..0000000 --- a/external/CMSIS_5/Device/ARM/ARMv8MML/Source/system_ARMv8MML.c +++ /dev/null @@ -1,98 +0,0 @@ -/**************************************************************************//** - * @file system_ARMv8MML.c - * @brief CMSIS Device System Source File for - * ARMv8MML Device - * @version V1.0.1 - * @date 15. November 2019 - ******************************************************************************/ -/* - * Copyright (c) 2009-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#if defined (ARMv8MML) - #include "ARMv8MML.h" -#elif defined (ARMv8MML_DSP) - #include "ARMv8MML_DSP.h" -#elif defined (ARMv8MML_SP) - #include "ARMv8MML_SP.h" -#elif defined (ARMv8MML_DSP_SP) - #include "ARMv8MML_DSP_SP.h" -#elif defined (ARMv8MML_DP) - #include "ARMv8MML_DP.h" -#elif defined (ARMv8MML_DSP_DP) - #include "ARMv8MML_DSP_DP.h" -#else - #error device not specified! -#endif - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_ARMv8MML.h" -#endif - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -#define XTAL (50000000UL) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (XTAL / 2U) - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Core Clock Frequency */ - - -/*---------------------------------------------------------------------------- - System Core Clock update function - *----------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ - SystemCoreClock = SYSTEM_CLOCK; -} - -/*---------------------------------------------------------------------------- - System initialization function - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ - -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t) &(__Vectors[0]); -#endif - -#if defined (__FPU_USED) && (__FPU_USED == 1U) - SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ - (3U << 11U*2U) ); /* enable CP11 Full Access */ -#endif - -#ifdef UNALIGNED_SUPPORT_DISABLE - SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; -#endif - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - TZ_SAU_Setup(); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/Device/ARM/SVD/ARMCM1.svd b/external/CMSIS_5/Device/ARM/SVD/ARMCM1.svd deleted file mode 100644 index b51ac3b..0000000 --- a/external/CMSIS_5/Device/ARM/SVD/ARMCM1.svd +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - ARM Ltd. - ARM - ARMCM1 - ARM Cortex M0+ - 1.0 - ARM 32-bit Cortex-M0+ based device. - - ARM Limited (ARM) is supplying this software for use with Cortex-M\n - processor based microcontroller, but can be equally used for other\n - suitable processor architectures. This file can be freely distributed.\n - Modifications to this file shall be clearly marked.\n - \n - THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED\n - OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF\n - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.\n - ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR\n - CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. - - - - CM1 - r0p0 - little - false - false - false - 2 - false - - - 8 - 32 - - 32 - read-write - 0x00000000 - 0xFFFFFFFF - - diff --git a/external/CMSIS_5/Device/ARM/SVD/ARMCM23.svd b/external/CMSIS_5/Device/ARM/SVD/ARMCM23.svd deleted file mode 100644 index 3e01f8b..0000000 --- a/external/CMSIS_5/Device/ARM/SVD/ARMCM23.svd +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - ARM Ltd. - ARM - ARMCM23 - ARMv8-M Baseline - 1.0 - ARM 32-bit Cortex-M23 based device. - - ARM Limited (ARM) is supplying this software for use with Cortex-M\n - processor based microcontroller, but can be equally used for other\n - suitable processor architectures. This file can be freely distributed.\n - Modifications to this file shall be clearly marked.\n - \n - THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED\n - OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF\n - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.\n - ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR\n - CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. - - - - CM23 - r0p0 - little - true - false - true - 3 - false - 4 - - - 0x00000000 - 0x001FFFE0 - - c - - - 0x00200000 - 0x003FFFE0 - - n - - - 0x20200000 - 0x203FFFE0 - - n - - - 0x40000000 - 0x40040000 - - n - - - - - 8 - 32 - - 32 - read-write - 0x00000000 - 0xFFFFFFFF - - diff --git a/external/CMSIS_5/Device/ARM/SVD/ARMCM3.svd b/external/CMSIS_5/Device/ARM/SVD/ARMCM3.svd deleted file mode 100644 index 26e6acd..0000000 --- a/external/CMSIS_5/Device/ARM/SVD/ARMCM3.svd +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - ARM Ltd. - ARM - ARMCM3 - ARM Cortex M3 - 1.0 - ARM 32-bit Cortex-M3 based device. - - ARM Limited (ARM) is supplying this software for use with Cortex-M\n - processor based microcontroller, but can be equally used for other\n - suitable processor architectures. This file can be freely distributed.\n - Modifications to this file shall be clearly marked.\n - \n - THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED\n - OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF\n - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.\n - ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR\n - CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. - - - - CM3 - r2p1 - little - true - false - true - 3 - false - - - 8 - 32 - - 32 - read-write - 0x00000000 - 0xFFFFFFFF - - diff --git a/external/CMSIS_5/Device/ARM/SVD/ARMCM33.svd b/external/CMSIS_5/Device/ARM/SVD/ARMCM33.svd deleted file mode 100644 index 0715db2..0000000 --- a/external/CMSIS_5/Device/ARM/SVD/ARMCM33.svd +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - ARM Ltd. - ARM - ARMCM33 - ARMv8-M Mainline - 1.0 - ARM 32-bit Cortex-M33 based device. - - ARM Limited (ARM) is supplying this software for use with Cortex-M\n - processor based microcontroller, but can be equally used for other\n - suitable processor architectures. This file can be freely distributed.\n - Modifications to this file shall be clearly marked.\n - \n - THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED\n - OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF\n - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.\n - ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR\n - CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. - - - - CM33 - r0p0 - little - true - false - true - 3 - false - 4 - - - 0x00000000 - 0x001FFFE0 - - c - - - 0x00200000 - 0x003FFFE0 - - n - - - 0x20200000 - 0x203FFFE0 - - n - - - 0x40000000 - 0x40040000 - - n - - - - - 8 - 32 - - 32 - read-write - 0x00000000 - 0xFFFFFFFF - - diff --git a/external/CMSIS_5/Device/ARM/SVD/ARMCM35P.svd b/external/CMSIS_5/Device/ARM/SVD/ARMCM35P.svd deleted file mode 100644 index 1f4fab5..0000000 --- a/external/CMSIS_5/Device/ARM/SVD/ARMCM35P.svd +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - ARM Ltd. - ARM - ARMCM35P - ARMv8-M Mainline - 1.0 - ARM 32-bit Cortex-M35P based device. - - ARM Limited (ARM) is supplying this software for use with Cortex-M\n - processor based microcontroller, but can be equally used for other\n - suitable processor architectures. This file can be freely distributed.\n - Modifications to this file shall be clearly marked.\n - \n - THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED\n - OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF\n - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.\n - ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR\n - CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. - - - - CM35P - r0p0 - little - true - false - true - 3 - false - 4 - - - 0x00000000 - 0x001FFFE0 - - c - - - 0x00200000 - 0x003FFFE0 - - n - - - 0x20200000 - 0x203FFFE0 - - n - - - 0x40000000 - 0x40040000 - - n - - - - - 8 - 32 - - 32 - read-write - 0x00000000 - 0xFFFFFFFF - - diff --git a/external/CMSIS_5/Device/ARM/SVD/ARMCM4.svd b/external/CMSIS_5/Device/ARM/SVD/ARMCM4.svd deleted file mode 100644 index a78bc8a..0000000 --- a/external/CMSIS_5/Device/ARM/SVD/ARMCM4.svd +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - ARM Ltd. - ARM - ARMCM4 - ARM Cortex M4 - 1.0 - ARM 32-bit Cortex-M4 based device. - - ARM Limited (ARM) is supplying this software for use with Cortex-M\n - processor based microcontroller, but can be equally used for other\n - suitable processor architectures. This file can be freely distributed.\n - Modifications to this file shall be clearly marked.\n - \n - THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED\n - OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF\n - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.\n - ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR\n - CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. - - - - CM4 - r0p1 - little - true - false - true - 3 - false - - - 8 - 32 - - 32 - read-write - 0x00000000 - 0xFFFFFFFF - - diff --git a/external/CMSIS_5/Device/ARM/SVD/ARMCM55.svd b/external/CMSIS_5/Device/ARM/SVD/ARMCM55.svd deleted file mode 100644 index b5be4ec..0000000 --- a/external/CMSIS_5/Device/ARM/SVD/ARMCM55.svd +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - - - ARM Ltd. - ARM - ARMCM55 - ARMv8.1-M Mainline - 1.0 - ARM 32-bit Cortex-M55 based device - - ARM Limited (ARM) is supplying this software for use with Cortex-M\n - processor based microcontroller, but can be equally used for other\n - suitable processor architectures. This file can be freely distributed.\n - Modifications to this file shall be clearly marked.\n - \n - THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED\n - OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF\n - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.\n - ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR\n - CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. - - - - CM55 - r0p0 - little - true - true - true - true - true - 3 - false - true - 12 - 4 - - - 0x00000000 - 0x001FFFE0 - - c - - - 0x00200000 - 0x003FFFE0 - - n - - - 0x20200000 - 0x203FFFE0 - - n - - - 0x40000000 - 0x40040000 - - n - - - - - 8 - 32 - - 32 - read-write - 0x00000000 - 0xFFFFFFFF - - diff --git a/external/CMSIS_5/Device/ARM/SVD/ARMCM7.svd b/external/CMSIS_5/Device/ARM/SVD/ARMCM7.svd deleted file mode 100644 index 7b69cb7..0000000 --- a/external/CMSIS_5/Device/ARM/SVD/ARMCM7.svd +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - ARM Ltd. - ARM - ARMCM7 - ARM Cortex M7 - 1.0 - ARM 32-bit Cortex-M7 based device. - - ARM Limited (ARM) is supplying this software for use with Cortex-M\n - processor based microcontroller, but can be equally used for other\n - suitable processor architectures. This file can be freely distributed.\n - Modifications to this file shall be clearly marked.\n - \n - THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED\n - OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF\n - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.\n - ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR\n - CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. - - - - CM7 - r1p1 - little - true - false - true - 3 - false - true - true - false - false - - - 8 - 32 - - 32 - read-write - 0x00000000 - 0xFFFFFFFF - - diff --git a/external/CMSIS_5/Device/ARM/SVD/ARMCM85.svd b/external/CMSIS_5/Device/ARM/SVD/ARMCM85.svd deleted file mode 100644 index 7187352..0000000 --- a/external/CMSIS_5/Device/ARM/SVD/ARMCM85.svd +++ /dev/null @@ -1,105 +0,0 @@ - - - - - ARM Ltd. - ARM - ARMCM85 - ARMv8.1-M Mainline - 1.0 - ARM 32-bit Cortex-M85 based device - - - ARM Limited (ARM) is supplying this software for use with Cortex-M\n - processor based microcontroller, but can be equally used for other\n - suitable processor architectures. This file can be freely distributed.\n - Modifications to this file shall be clearly marked.\n - \n - THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED\n - OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF\n - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.\n - ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR\n - CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. - - - - CM85 - r0p0 - little - true - true - true - true - true - 3 - false - true - 12 - 4 - - - 0x00000000 - 0x001FFFE0 - - c - - - 0x00200000 - 0x003FFFE0 - - n - - - 0x20200000 - 0x203FFFE0 - - n - - - 0x40000000 - 0x40040000 - - n - - - - - 8 - 32 - - 32 - read-write - 0x00000000 - 0xFFFFFFFF - - diff --git a/external/CMSIS_5/Device/ARM/SVD/ARMSC000.svd b/external/CMSIS_5/Device/ARM/SVD/ARMSC000.svd deleted file mode 100644 index 261edd1..0000000 --- a/external/CMSIS_5/Device/ARM/SVD/ARMSC000.svd +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - ARM Ltd. - ARM - ARMSC000 - ARM Cortex SC000 - 1.0 - ARM 32-bit Cortex-SC000 based device. - - ARM Limited (ARM) is supplying this software for use with Cortex-M\n - processor based microcontroller, but can be equally used for other\n - suitable processor architectures. This file can be freely distributed.\n - Modifications to this file shall be clearly marked.\n - \n - THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED\n - OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF\n - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.\n - ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR\n - CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. - - - - SC000 - r0p0 - little - true - false - false - 2 - false - - - 8 - 32 - - 32 - read-write - 0x00000000 - 0xFFFFFFFF - - diff --git a/external/CMSIS_5/Device/ARM/SVD/ARMSC300.svd b/external/CMSIS_5/Device/ARM/SVD/ARMSC300.svd deleted file mode 100644 index 8beb8cc..0000000 --- a/external/CMSIS_5/Device/ARM/SVD/ARMSC300.svd +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - ARM Ltd. - ARM - ARMSC300 - ARM Cortex SC300 - 1.0 - ARM 32-bit Cortex-SC300 based device. - - ARM Limited (ARM) is supplying this software for use with Cortex-M\n - processor based microcontroller, but can be equally used for other\n - suitable processor architectures. This file can be freely distributed.\n - Modifications to this file shall be clearly marked.\n - \n - THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED\n - OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF\n - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.\n - ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR\n - CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. - - - - SC300 - r0p0 - little - true - false - true - 3 - false - - - 8 - 32 - - 32 - read-write - 0x00000000 - 0xFFFFFFFF - - diff --git a/external/CMSIS_5/Device/ARM/SVD/ARMv8MBL.svd b/external/CMSIS_5/Device/ARM/SVD/ARMv8MBL.svd deleted file mode 100644 index 722ebe8..0000000 --- a/external/CMSIS_5/Device/ARM/SVD/ARMv8MBL.svd +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - ARM Ltd. - ARM - ARMv8MBL - ARMv8-M Baseline - 1.0 - ARM 32-bit v8-M Baseline based device. - - ARM Limited (ARM) is supplying this software for use with Cortex-M\n - processor based microcontroller, but can be equally used for other\n - suitable processor architectures. This file can be freely distributed.\n - Modifications to this file shall be clearly marked.\n - \n - THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED\n - OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF\n - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.\n - ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR\n - CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. - - - - ARMV8MBL - r0p0 - little - true - false - true - 3 - false - 4 - - - 0x00000000 - 0x001FFFE0 - - c - - - 0x00200000 - 0x003FFFE0 - - n - - - 0x20200000 - 0x203FFFE0 - - n - - - 0x40000000 - 0x40040000 - - n - - - - - 8 - 32 - - 32 - read-write - 0x00000000 - 0xFFFFFFFF - - diff --git a/external/CMSIS_5/Device/ARM/SVD/ARMv8MML.svd b/external/CMSIS_5/Device/ARM/SVD/ARMv8MML.svd deleted file mode 100644 index bb2c998..0000000 --- a/external/CMSIS_5/Device/ARM/SVD/ARMv8MML.svd +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - ARM Ltd. - ARM - ARMv8MML - ARMV8M - 1.0 - ARM 32-bit v8-M Baseline based device. - - ARM Limited (ARM) is supplying this software for use with Cortex-M\n - processor based microcontroller, but can be equally used for other\n - suitable processor architectures. This file can be freely distributed.\n - Modifications to this file shall be clearly marked.\n - \n - THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED\n - OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF\n - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.\n - ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR\n - CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. - - - - ARMV8MML - r0p0 - little - true - false - true - 3 - false - 4 - - - 0x00000000 - 0x001FFFE0 - - c - - - 0x00200000 - 0x003FFFE0 - - n - - - 0x20200000 - 0x203FFFE0 - - n - - - 0x40000000 - 0x40040000 - - n - - - - - 8 - 32 - - 32 - read-write - 0x00000000 - 0xFFFFFFFF - - diff --git a/external/CMSIS_5/Device/_Template_Flash/Abstract.txt b/external/CMSIS_5/Device/_Template_Flash/Abstract.txt deleted file mode 100644 index b0ebabe..0000000 --- a/external/CMSIS_5/Device/_Template_Flash/Abstract.txt +++ /dev/null @@ -1,32 +0,0 @@ -Creating a new Algorithm ------------------------- - -Flash programming algorithms are defined with functions to erase and program -the Flash device. Special compiler and linker settings are required. Follow -these steps to create and configure a new Flash programming algorithm: -- From the toolbar, use the drop-down Select Target to define the processor - architecture. Cortex-M fits for all Arm Cortex-M0/M0+/M3/M4/M7 devices. - The configuration assumes a little-endian microcontroller. In case of a - big-endian microcontroller, select the correct processor core with - Project - Options for Target - Device. -- Open the dialog Project - Options for Target - Output and change the content - of the field Name of Executable to represent the device, for example - MyDevice. -- Adapt the programming algorithms in the file FlashPrg.c -- Adapt the device parameters in the file FlashDev.c -- Use Project - Build Target to generate the new Flash programming algorithm. - The output file (for example MyDevice.FLM) has to be added to the DFP. - -Note ----- -- Creating a Flash programming algorithm with MDK-Lite is not supported. -- Flash programming algorithms use Read-Only Position Independent and - Read-Write Position Independent program code. These options are set in the - dialogs Project - Options for Target - C/C++ and - Project - Options for Target - Asm. -- The dialog Project - Options for Target - Linker defines the linker scatter - file Target.lin. The error L6305 is disabled with –diag_suppress L6305. - -For more information, refer to the documentation available at -http://arm-software.github.io/CMSIS_5/Pack/html/flashAlgorithm.html - diff --git a/external/CMSIS_5/Device/_Template_Flash/FlashDev.c b/external/CMSIS_5/Device/_Template_Flash/FlashDev.c deleted file mode 100644 index bcdfbbd..0000000 --- a/external/CMSIS_5/Device/_Template_Flash/FlashDev.c +++ /dev/null @@ -1,45 +0,0 @@ -/**************************************************************************//** - * @file FlashDev.c - * @brief Flash Device Description for New Device Flash - * @version V1.0.0 - * @date 10. January 2018 - ******************************************************************************/ -/* - * Copyright (c) 2010-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "FlashOS.h" // FlashOS Structures - - -struct FlashDevice const FlashDevice = { - FLASH_DRV_VERS, // Driver Version, do not modify! - "New Device 256kB Flash", // Device Name - ONCHIP, // Device Type - 0x00000000, // Device Start Address - 0x00040000, // Device Size in Bytes (256kB) - 1024, // Programming Page Size - 0, // Reserved, must be 0 - 0xFF, // Initial Content of Erased Memory - 100, // Program Page Timeout 100 mSec - 3000, // Erase Sector Timeout 3000 mSec - -// Specify Size and Address of Sectors - 0x002000, 0x000000, // Sector Size 8kB (8 Sectors) - 0x010000, 0x010000, // Sector Size 64kB (2 Sectors) - 0x002000, 0x030000, // Sector Size 8kB (8 Sectors) - SECTOR_END -}; diff --git a/external/CMSIS_5/Device/_Template_Flash/FlashOS.h b/external/CMSIS_5/Device/_Template_Flash/FlashOS.h deleted file mode 100644 index 350e309..0000000 --- a/external/CMSIS_5/Device/_Template_Flash/FlashOS.h +++ /dev/null @@ -1,77 +0,0 @@ -/**************************************************************************//** - * @file FlashOS.h - * @brief Data structures and entries Functions - * @version V1.0.0 - * @date 10. January 2018 - ******************************************************************************/ -/* - * Copyright (c) 2010-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#define VERS 1 // Interface Version 1.01 - -#define UNKNOWN 0 // Unknown -#define ONCHIP 1 // On-chip Flash Memory -#define EXT8BIT 2 // External Flash Device on 8-bit Bus -#define EXT16BIT 3 // External Flash Device on 16-bit Bus -#define EXT32BIT 4 // External Flash Device on 32-bit Bus -#define EXTSPI 5 // External Flash Device on SPI - -#define SECTOR_NUM 512 // Max Number of Sector Items -#define PAGE_MAX 65536 // Max Page Size for Programming - -struct FlashSectors { - unsigned long szSector; // Sector Size in Bytes - unsigned long AddrSector; // Address of Sector -}; - -#define SECTOR_END 0xFFFFFFFF, 0xFFFFFFFF - -struct FlashDevice { - unsigned short Vers; // Version Number and Architecture - char DevName[128]; // Device Name and Description - unsigned short DevType; // Device Type: ONCHIP, EXT8BIT, EXT16BIT, ... - unsigned long DevAdr; // Default Device Start Address - unsigned long szDev; // Total Size of Device - unsigned long szPage; // Programming Page Size - unsigned long Res; // Reserved for future Extension - unsigned char valEmpty; // Content of Erased Memory - - unsigned long toProg; // Time Out of Program Page Function - unsigned long toErase; // Time Out of Erase Sector Function - - struct FlashSectors sectors[SECTOR_NUM]; -}; - -#define FLASH_DRV_VERS (0x0100+VERS) // Driver Version, do not modify! - -// Flash Programming Functions (Called by FlashOS) -extern int Init (unsigned long adr, // Initialize Flash - unsigned long clk, - unsigned long fnc); -extern int UnInit (unsigned long fnc); // De-initialize Flash -extern int BlankCheck (unsigned long adr, // Blank Check - unsigned long sz, - unsigned char pat); -extern int EraseChip (void); // Erase complete Device -extern int EraseSector (unsigned long adr); // Erase Sector Function -extern int ProgramPage (unsigned long adr, // Program Page Function - unsigned long sz, - unsigned char *buf); -extern unsigned long Verify (unsigned long adr, // Verify Function - unsigned long sz, - unsigned char *buf); diff --git a/external/CMSIS_5/Device/_Template_Flash/FlashPrg.c b/external/CMSIS_5/Device/_Template_Flash/FlashPrg.c deleted file mode 100644 index c2d7412..0000000 --- a/external/CMSIS_5/Device/_Template_Flash/FlashPrg.c +++ /dev/null @@ -1,118 +0,0 @@ -/**************************************************************************//** - * @file FlashPrg.c - * @brief Flash Programming Functions adapted for New Device Flash - * @version V1.0.0 - * @date 10. January 2018 - ******************************************************************************/ -/* - * Copyright (c) 2010-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "FlashOS.h" // FlashOS Structures - -/* - Mandatory Flash Programming Functions (Called by FlashOS): - int Init (unsigned long adr, // Initialize Flash - unsigned long clk, - unsigned long fnc); - int UnInit (unsigned long fnc); // De-initialize Flash - int EraseSector (unsigned long adr); // Erase Sector Function - int ProgramPage (unsigned long adr, // Program Page Function - unsigned long sz, - unsigned char *buf); - - Optional Flash Programming Functions (Called by FlashOS): - int BlankCheck (unsigned long adr, // Blank Check - unsigned long sz, - unsigned char pat); - int EraseChip (void); // Erase complete Device - unsigned long Verify (unsigned long adr, // Verify Function - unsigned long sz, - unsigned char *buf); - - - BlanckCheck is necessary if Flash space is not mapped into CPU memory space - - Verify is necessary if Flash space is not mapped into CPU memory space - - if EraseChip is not provided than EraseSector for all sectors is called -*/ - - -/* - * Initialize Flash Programming Functions - * Parameter: adr: Device Base Address - * clk: Clock Frequency (Hz) - * fnc: Function Code (1 - Erase, 2 - Program, 3 - Verify) - * Return Value: 0 - OK, 1 - Failed - */ - -int Init (unsigned long adr, unsigned long clk, unsigned long fnc) { - - /* Add your Code */ - return (0); // Finished without Errors -} - - -/* - * De-Initialize Flash Programming Functions - * Parameter: fnc: Function Code (1 - Erase, 2 - Program, 3 - Verify) - * Return Value: 0 - OK, 1 - Failed - */ - -int UnInit (unsigned long fnc) { - - /* Add your Code */ - return (0); // Finished without Errors -} - - -/* - * Erase complete Flash Memory - * Return Value: 0 - OK, 1 - Failed - */ - -int EraseChip (void) { - - /* Add your Code */ - return (0); // Finished without Errors -} - - -/* - * Erase Sector in Flash Memory - * Parameter: adr: Sector Address - * Return Value: 0 - OK, 1 - Failed - */ - -int EraseSector (unsigned long adr) { - - /* Add your Code */ - return (0); // Finished without Errors -} - - -/* - * Program Page in Flash Memory - * Parameter: adr: Page Start Address - * sz: Page Size - * buf: Page Data - * Return Value: 0 - OK, 1 - Failed - */ - -int ProgramPage (unsigned long adr, unsigned long sz, unsigned char *buf) { - - /* Add your Code */ - return (0); // Finished without Errors -} diff --git a/external/CMSIS_5/Device/_Template_Flash/NewDevice.uvguix b/external/CMSIS_5/Device/_Template_Flash/NewDevice.uvguix deleted file mode 100644 index b36f973..0000000 --- a/external/CMSIS_5/Device/_Template_Flash/NewDevice.uvguix +++ /dev/null @@ -1,1848 +0,0 @@ - - - - -6.1 - -
### uVision Project, (C) Keil Software
- - - - - - 38003 - Registers - 140 90 - - - 346 - Code Coverage - 1010 160 - - - 204 - Performance Analyzer - 1170 - - - - - - 1506 - Symbols - - 80 80 80 - - - 1936 - Watch 1 - - 200 133 133 - - - 1937 - Watch 2 - - 200 133 133 - - - 1935 - Call Stack + Locals - - 200 133 133 - - - 2506 - Trace Data - - 75 135 130 95 70 230 200 150 - - - 466 - Source Browser - 500 - 300 - - - - - - - - 1 - 1 - 0 - 0 - -1 - - - - - - - 44 - 2 - 3 - - -1 - -1 - - - -1 - -1 - - - 16 - 1921 - 3839 - 1184 - - - - 0 - - 244 - 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000100000000000000010000002A433A5C30365F74656D705C5F54656D706C6174655F466C6173685F76355C41627374726163742E747874000000000C41627374726163742E74787400000000FFDC7800FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000007408000066000000000F0000F6030000 - - - - 0 - Build - - -1 - -1 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - F40000004F00000090050000F2000000 - - - 16 - 7408000066000000100D000009010000 - - - - 1005 - 1005 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000066000000ED000000C6030000 - - - 16 - F200000009010000E2010000EE010000 - - - - 109 - 109 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000066000000ED000000C6030000 - - - 16 - F2000000090100000E02000098030000 - - - - 1465 - 1465 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000007F0200008D05000006030000 - - - 16 - F200000009010000BA030000AC010000 - - - - 1466 - 1466 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000007F0200008D05000006030000 - - - 16 - F200000009010000BA030000AC010000 - - - - 1467 - 1467 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000007F0200008D05000006030000 - - - 16 - F200000009010000BA030000AC010000 - - - - 1468 - 1468 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000007F0200008D05000006030000 - - - 16 - F200000009010000BA030000AC010000 - - - - 1506 - 1506 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 1913 - 1913 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - F7000000660000008D050000D9000000 - - - 16 - F200000009010000BA030000AC010000 - - - - 1935 - 1935 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 030000007F0200008D05000006030000 - - - 16 - F200000009010000E2010000EE010000 - - - - 1936 - 1936 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000007F0200008D05000006030000 - - - 16 - F200000009010000E2010000EE010000 - - - - 1937 - 1937 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000007F0200008D05000006030000 - - - 16 - F200000009010000E2010000EE010000 - - - - 1939 - 1939 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000007F0200008D05000006030000 - - - 16 - F200000009010000BA030000AC010000 - - - - 1940 - 1940 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000007F0200008D05000006030000 - - - 16 - F200000009010000BA030000AC010000 - - - - 1941 - 1941 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000007F0200008D05000006030000 - - - 16 - F200000009010000BA030000AC010000 - - - - 1942 - 1942 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000007F0200008D05000006030000 - - - 16 - F200000009010000BA030000AC010000 - - - - 195 - 195 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000066000000ED000000C6030000 - - - 16 - F2000000090100000E02000098030000 - - - - 196 - 196 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000066000000ED000000C6030000 - - - 16 - F2000000090100000E02000098030000 - - - - 197 - 197 - 1 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 00000000F70300008007000086040000 - - - 16 - F200000009010000BA030000AC010000 - - - - 198 - 198 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 0000000068020000900500001F030000 - - - 16 - F200000009010000BA030000AC010000 - - - - 199 - 199 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000FA0300007D0700006D040000 - - - 16 - F200000009010000BA030000AC010000 - - - - 203 - 203 - 0 - 0 - 0 - 0 - 32767 - 0 - 8192 - 0 - - 16 - F7000000660000008D050000D9000000 - - - 16 - F200000009010000BA030000AC010000 - - - - 204 - 204 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - F7000000660000008D050000D9000000 - - - 16 - F200000009010000BA030000AC010000 - - - - 221 - 221 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 00000000000000000000000000000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 2506 - 2506 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 2507 - 2507 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000007F0200008D05000006030000 - - - 16 - F200000009010000BA030000AC010000 - - - - 343 - 343 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - F7000000660000008D050000D9000000 - - - 16 - F200000009010000BA030000AC010000 - - - - 346 - 346 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - F7000000660000008D050000D9000000 - - - 16 - F200000009010000BA030000AC010000 - - - - 35824 - 35824 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - F7000000660000008D050000D9000000 - - - 16 - F200000009010000BA030000AC010000 - - - - 35885 - 35885 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 35886 - 35886 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 35887 - 35887 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 35888 - 35888 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 35889 - 35889 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 35890 - 35890 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 35891 - 35891 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 35892 - 35892 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 35893 - 35893 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 35894 - 35894 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 35895 - 35895 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 35896 - 35896 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 35897 - 35897 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 35898 - 35898 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 35899 - 35899 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 35900 - 35900 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 35901 - 35901 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 35902 - 35902 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 35903 - 35903 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 35904 - 35904 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 35905 - 35905 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 38003 - 38003 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000066000000ED000000C6030000 - - - 16 - F2000000090100000E02000098030000 - - - - 38007 - 38007 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000FA0300007D0700006D040000 - - - 16 - F200000009010000BA030000AC010000 - - - - 436 - 436 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000FA0300007D0700006D040000 - - - 16 - F2000000090100000E02000098030000 - - - - 437 - 437 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000007F0200008D05000006030000 - - - 16 - F200000009010000E2010000EE010000 - - - - 440 - 440 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000007F0200008D05000006030000 - - - 16 - F200000009010000E2010000EE010000 - - - - 463 - 463 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000FA0300007D0700006D040000 - - - 16 - F2000000090100000E02000098030000 - - - - 466 - 466 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000FA0300007D0700006D040000 - - - 16 - F2000000090100000E02000098030000 - - - - 470 - 470 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000007F0200008D05000006030000 - - - 16 - F200000009010000BA030000AC010000 - - - - 50000 - 50000 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 50001 - 50001 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 50002 - 50002 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 50003 - 50003 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 50004 - 50004 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 50005 - 50005 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 50006 - 50006 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 50007 - 50007 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 50008 - 50008 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 50009 - 50009 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 50010 - 50010 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 50011 - 50011 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 50012 - 50012 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 50013 - 50013 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 50014 - 50014 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 50015 - 50015 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 50016 - 50016 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 50017 - 50017 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 50018 - 50018 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 50019 - 50019 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D0500005F020000 - - - 16 - F200000009010000E2010000EE010000 - - - - 59392 - 59392 - 1 - 0 - 0 - 0 - 940 - 0 - 8192 - 0 - - 16 - 0000000000000000B70300001C000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59393 - 0 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 00000000860400008007000099040000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59399 - 59399 - 1 - 0 - 0 - 0 - 476 - 0 - 8192 - 1 - - 16 - 000000001C000000E701000038000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59400 - 59400 - 0 - 0 - 0 - 0 - 612 - 0 - 8192 - 2 - - 16 - 00000000380000006F02000054000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 824 - 824 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000007F0200008D05000006030000 - - - 16 - F200000009010000E2010000EE010000 - - - - 3276 - 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000F200000090050000F6000000000000000100000004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E6500200000000000007408000066000000100D000009010000F40000004F00000090050000F20000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000078020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000200C000066000000100D00008F020000A00400004F000000900500007802000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F4000000DF030000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000800700006600000070080000F6030000000000004F000000F0000000DF0300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000064020000900500006802000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF100000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000D601000001800080000000000000800700007F020000100D0000360300000000000068020000900500001F0300000000000040410046100000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000068020000CC0200001F03000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000DF03000080070000E3030000010000000100001004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000080070000FA030000000F00009D04000000000000E303000080070000860400000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF1346696E6420416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 - - - 59392 - File - - 2191 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000B746573745375636365737396000000000000000D000B7465737453756363657373046253696D05554C494E4B0964656C61795F76616C067072696E74660870696E315F76616C0470696E310E4445465F49525148616E646C65720E6E6F6E7365637572655F63616C6C0466756E6304766F69640F496E636964656E744C6F67436F70790F53797374656D436F7265436C6F636B00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020000001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000 - - - 1423 - 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 1423 - 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 - - - - 59399 - Build - - 976 - 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000008436F727465782D4D9600000000000000010008436F727465782D4D000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 - - - 583 - 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 583 - 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 - - - - 59400 - Debug - - 2373 - 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 - - - 898 - 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 898 - 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 - - - - 0 - 1920 - 1200 - - - - - - 1 - 0 - - 100 - 0 - - .\Abstract.txt - 0 - 1 - 1 - 1 - - 0 - - - - -
diff --git a/external/CMSIS_5/Device/_Template_Flash/NewDevice.uvoptx b/external/CMSIS_5/Device/_Template_Flash/NewDevice.uvoptx deleted file mode 100644 index 33308e8..0000000 --- a/external/CMSIS_5/Device/_Template_Flash/NewDevice.uvoptx +++ /dev/null @@ -1,232 +0,0 @@ - - - - 1.0 - -
### uVision Project, (C) Keil Software
- - - *.c - *.s*; *.src; *.a* - *.obj; *.o - *.lib - *.txt; *.h; *.inc - *.plm - *.cpp - 0 - - - - 0 - 0 - - - - Cortex-M - 0x4 - ARM-ADS - - 12000000 - - 1 - 1 - 0 - 1 - 0 - - - 1 - 65535 - 0 - 0 - 0 - - - 79 - 66 - 8 - .\Listings\ - - - 1 - 1 - 1 - 0 - 1 - 1 - 0 - 1 - 0 - 0 - 0 - 0 - - - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 0 - - - 1 - 0 - 1 - - 7 - - 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 1 - 1 - 1 - 1 - 0 - 0 - 1 - 0 - 0 - 0 - - - - - - - - - - - BIN\UL2CM3.DLL - - - - 0 - UL2CM3 - UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000) - - - - - 0 - - - 0 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - 0 - 0 - 0 - - - - - - - - - - - - - Documentation - 1 - 0 - 0 - 0 - - 1 - 1 - 5 - 0 - 0 - 0 - .\Abstract.txt - Abstract.txt - 0 - 0 - - - - - Program Functions - 1 - 0 - 0 - 0 - - 2 - 2 - 1 - 0 - 0 - 0 - .\FlashPrg.c - FlashPrg.c - 0 - 0 - - - - - Device Description - 1 - 0 - 0 - 0 - - 3 - 3 - 1 - 0 - 0 - 0 - .\FlashDev.c - FlashDev.c - 0 - 0 - - - -
diff --git a/external/CMSIS_5/Device/_Template_Flash/NewDevice.uvprojx b/external/CMSIS_5/Device/_Template_Flash/NewDevice.uvprojx deleted file mode 100644 index dcdd6c4..0000000 --- a/external/CMSIS_5/Device/_Template_Flash/NewDevice.uvprojx +++ /dev/null @@ -1,420 +0,0 @@ - - - - 2.1 - -
### uVision Project, (C) Keil Software
- - - - Cortex-M - 0x4 - ARM-ADS - 5060750::V5.06 update 6 (build 750)::ARMCC - 0 - - - ARMCM0 - ARM - ARM.CMSIS.5.2.1-dev1 - http://www.keil.com/pack/ - IRAM(0x20000000,0x00020000) IROM(0x00000000,0x00040000) CPUTYPE("Cortex-M0") CLOCK(12000000) ESEL ELITTLE - - - UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000) - 0 - $$Device:ARMCM0$Device\ARM\ARMCM0\Include\ARMCM0.h - - - - - - - - - - $$Device:ARMCM0$Device\ARM\SVD\ARMCM0.svd - 0 - 0 - - - - - - - 0 - 0 - 0 - 0 - 1 - - .\Objects\ - NewDevice - 1 - 0 - 0 - 1 - 1 - .\Listings\ - 1 - 0 - 0 - - 0 - 0 - - - 0 - 0 - 0 - 0 - - - 0 - 0 - - - 0 - 0 - 0 - 0 - - - 1 - 0 - cmd.exe /C copy "Objects\%L" ".\@L.FLM" - - 0 - 0 - 0 - 0 - - 0 - - - - 0 - 0 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 0 - 3 - - - 1 - - - SARMCM3.DLL - - DARMCM1.DLL - -pCM0 - SARMCM3.DLL - - TARMCM1.DLL - -pCM0 - - - - 1 - 0 - 0 - 0 - 16 - - - - - 1 - 0 - 0 - 1 - 1 - 4096 - - 1 - BIN\UL2CM3.DLL - "" () - - - - - 0 - - - - 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 1 - 1 - 0 - 0 - 1 - 0 - 0 - 1 - 1 - 0 - 1 - 1 - 1 - 1 - 1 - 0 - 0 - 0 - "Cortex-M0" - - 0 - 0 - 0 - 1 - 1 - 0 - 0 - 0 - 0 - 0 - 8 - 0 - 1 - 0 - 0 - 3 - 3 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 0 - 1 - 0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x20000000 - 0x20000 - - - 1 - 0x0 - 0x40000 - - - 0 - 0x0 - 0x0 - - - 1 - 0x0 - 0x0 - - - 1 - 0x0 - 0x0 - - - 1 - 0x0 - 0x0 - - - 1 - 0x0 - 0x40000 - - - 1 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x20000000 - 0x20000 - - - 0 - 0x0 - 0x0 - - - - - - 1 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 1 - 1 - 2 - 0 - 0 - 1 - 0 - 3 - 3 - 1 - 1 - 0 - 0 - 0 - - - - - - - - - 1 - 1 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - - - - - 0 - 0 - 0 - 0 - 1 - 0 - - - - .\Target.lin - - - --diag_suppress L6305 - - - - - - - - Documentation - - - Abstract.txt - 5 - .\Abstract.txt - - - - - Program Functions - - - FlashPrg.c - 1 - .\FlashPrg.c - - - - - Device Description - - - FlashDev.c - 1 - .\FlashDev.c - - - - - - - - - - - - - -
diff --git a/external/CMSIS_5/Device/_Template_Flash/Target.lin b/external/CMSIS_5/Device/_Template_Flash/Target.lin deleted file mode 100644 index 3190469..0000000 --- a/external/CMSIS_5/Device/_Template_Flash/Target.lin +++ /dev/null @@ -1,22 +0,0 @@ -; Linker Control File (scatter-loading) -; - -PRG 0 PI ; Programming Functions -{ - PrgCode +0 ; Code - { - * (+RO) - } - PrgData +0 ; Data - { - * (+RW,+ZI) - } -} - -DSCR +0 ; Device Description -{ - DevDscr +0 - { - FlashDev.o - } -} diff --git a/external/CMSIS_5/Device/_Template_Vendor/ReadMe.txt b/external/CMSIS_5/Device/_Template_Vendor/ReadMe.txt deleted file mode 100644 index 50f03f4..0000000 --- a/external/CMSIS_5/Device/_Template_Vendor/ReadMe.txt +++ /dev/null @@ -1,71 +0,0 @@ -/***************************************************************************** - * @file ReadMe.txt - * @brief Explanation how to use the Device folder and template files - * @version V3.0.4 - * @date 20. January 2021 - *****************************************************************************/ - -Following directory structure and template files are given: - - - - | - +-- - | - +-- Include - | +-- Template only Armv8-M/v8.1-M TrustZone - | | +- partition_.h Secure/Non-Secure configuration - | +- .h header file - | +- system_.h system include file - +-- Source - | - +- startup_.c C startup file file - +- system_.c system source file - | - +-- ARM Arm ARMCLang toolchain - | +- startup_.s ASM startup file for ARMCC (deprecated) - | +- startup_.S ASM startup file for ARMCLang (deprecated) - | +- .sct Scatter file - | - +-- GCC Arm GNU toolchain - | +- startup_.S ASM startup file (deprecated) - | +- .ld Linker description file - | - +-- IAR IAR toolchain - +- startup_.s ASM startup file - - -Copy the complete folder including files and replace: - - folder name 'Vendor' with the abbreviation for the device vendor e.g.: NXP. - - folder name 'Device' with your specific device name e.g.: LPC17xx. - - in the filenames 'Device' with your specific device name e.g.: LPC17xx. - - -The template files contain comments starting with 'ToDo: ' -There it is described what you need to do. - - -The template files contain following placeholder: - - - should be replaced with your specific device name. - e.g.: LPC17xx - - - should be replaced with a specific device interrupt name. - e.g.: TIM1 for Timer#1 interrupt. - - - should be replaced with a dedicated device family - abbreviation (e.g.: LPC for LPC17xx device family) - - Cortex-M# - Cortex-M# can be replaced with the specific Cortex-M number - e.g.: Cortex-M3 - - - -Note: - Template files (i.e. startup_Device.s, system_Device.c) are application - specific and therefore expected to be copied into the application project - folder prior to use! - \ No newline at end of file diff --git a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Include/Device.h b/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Include/Device.h deleted file mode 100644 index 9188d13..0000000 --- a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Include/Device.h +++ /dev/null @@ -1,230 +0,0 @@ -/*************************************************************************//** - * @file .h - * @brief CMSIS-Core(M) Device Peripheral Access Layer Header File for - * Device - * @version V1.0.0 - * @date 20. January 2021 - *****************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef _H /* ToDo: Replace '' with your device name */ -#define _H - -#ifdef __cplusplus -extern "C" { -#endif - - -/* ========================================================================= */ -/* ============ Interrupt Number Definition ============ */ -/* ========================================================================= */ - -typedef enum IRQn -{ -/* ================ Cortex-M Core Exception Numbers ================ */ - -/* ToDo: Add Cortex exception numbers according the used Cortex-Core */ - Reset_IRQn = -15, /* 1 Reset Vector - invoked on Power up and warm reset */ - NonMaskableInt_IRQn = -14, /* 2 Non maskable Interrupt - cannot be stopped or preempted */ - HardFault_IRQn = -13, /* 3 Hard Fault - all classes of Fault */ - MemoryManagement_IRQn = -12, /* 4 Memory Management - MPU mismatch, including Access Violation and No Match */ - BusFault_IRQn = -11, /* 5 Bus Fault - Pre-Fetch-, Memory Access, other address/memory Fault */ - UsageFault_IRQn = -10, /* 6 Usage Fault - i.e. Undef Instruction, Illegal State Transition */ - SecureFault_IRQn = -9, /* 7 Secure Fault Interrupt */ - SVCall_IRQn = -5, /* 11 System Service Call via SVC instruction */ - DebugMonitor_IRQn = -4, /* 12 Debug Monitor */ - PendSV_IRQn = -2, /* 14 Pendable request for system service */ - SysTick_IRQn = -1, /* 15 System Tick Timer */ - -/* ================ Interrupt Numbers ================ */ -/* ToDo: Add here your device specific interrupt numbers - according the interrupt handlers defined in startup_Device.s - eg.: Interrupt for Timer#1 TIM1_IRQHandler -> TIM1_IRQn */ - _IRQn = 0, /* first Device Interrupt*/ - ... - _IRQn = n /* last Device Interrupt */ -} IRQn_Type; - - -/* ========================================================================= */ -/* ============ Processor and Core Peripheral Section ============ */ -/* ========================================================================= */ - -/* ================ Start of section using anonymous unions ================ */ -#if defined (__CC_ARM) - #pragma push - #pragma anon_unions -#elif defined (__ICCARM__) - #pragma language=extended -#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wc11-extensions" - #pragma clang diagnostic ignored "-Wreserved-id-macro" -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning 586 -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -/* ================ Configuration of Core Peripherals ================ */ -/* ToDo: Set the defines according your Device */ -/* ToDo: Define the correct core revision - valid CMSIS core revision macro names are: - __CM0_REV, __CM0PLUS_REV, __CM1_REV, __CM3_REV, __CM4_REV, __CM7_REV - __CM23_REV, __CM33_REV, __CM35P_REV, __CM55_REV - __SC000_REV, __SC300_REV */ -#define __CM#_REV 0x0201U /* Core Revision r2p1 */ -/* ToDo: define the correct core features for the */ -#define __Vendor_SysTickConfig 0U /* Set to 1 if different SysTick Config is used */ -#define __NVIC_PRIO_BITS 3U /* Number of Bits used for Priority Levels */ -#define __VTOR_PRESENT 1U /* Set to 1 if VTOR is present */ -#define __MPU_PRESENT 1U /* Set to 1 if MPU is present */ -#define __FPU_PRESENT 0U /* Set to 1 if FPU is present */ -#define __FPU_DP 0U /* Set to 1 if FPU is double precision FPU (default is single precision FPU) */ -#define __DSP_PRESENT 1U /* Set to 1 if DSP extension are present */ -#define __SAUREGION_PRESENT 1U /* Set to 1 if SAU regions are present */ -#define __PMU_PRESENT 1U /* Set to 1 if PMU is present */ -#define __PMU_NUM_EVENTCNT 8U /* Set number of PMU Event Counters */ -#define __ICACHE_PRESENT 0U /* Set to 1 if I-Cache is present */ -#define __DCACHE_PRESENT 0U /* Set to 1 if D-Cache is present */ -#define __DTCM_PRESENT 0U /* Set to 1 if DTCM is present */ - - -/* ToDo: Include the CMSIS core header file according your device. - valid CMSIS core header files are: - core_cm0.h, core_cm0plus.h, core_cm1.h, core_cm3.h, core_cm4.h, core_cm7.h - core_cm23.h, core_cm33.h, core_cm35p.h, core_cm55.h - core_sc000.h, core_sc300.h */ -#include /* Processor and core peripherals */ -/* ToDo: Include your system_.h file - replace '' with your device name */ -#include "system_.h" /* System Header */ - - - -/* ========================================================================= */ -/* ============ Device Specific Peripheral Section ============ */ -/* ========================================================================= */ - - -/* ToDo: Add here your device specific peripheral access structure typedefs - including bit definitions for Pos/Msk macros - following is an example for a timer */ - -/* ========================================================================= */ -/* ============ TMR ============ */ -/* ========================================================================= */ - -typedef struct -{ - __IOM uint32_t LOAD; /* Offset: 0x000 (R/W) Load Register */ - __IM uint32_t VALUE; /* Offset: 0x004 (R/ ) Value Register */ - __IOM uint32_t CONTROL; /* Offset: 0x008 (R/W) Control Register */ - __OM uint32_t INTCLR; /* Offset: 0x00C ( /W) Clear Interrupt Register */ - __IM uint32_t RIS; /* Offset: 0x010 (R/ ) Raw Interrupt Status Register */ - __IM uint32_t MIS; /* Offset: 0x014 (R/ ) Interrupt Status Register */ - __IOM uint32_t BGLOAD; /* Offset: 0x018 (R/W) Background Load Register */ -} _TMR_TypeDef; - -/* _TMR LOAD Register Definitions */ -#define _TMR_LOAD_Pos 0 -#define _TMR_LOAD_Msk (0xFFFFFFFFUL /*<< _TMR_LOAD_Pos*/) - -/* _TMR VALUE Register Definitions */ -#define _TMR_VALUE_Pos 0 -#define _TMR_VALUE_Msk (0xFFFFFFFFUL /*<< _TMR_VALUE_Pos*/) - -/* _TMR CONTROL Register Definitions */ -#define _TMR_CONTROL_SIZE_Pos 1 -#define _TMR_CONTROL_SIZE_Msk (1UL << _TMR_CONTROL_SIZE_Pos) - -#define _TMR_CONTROL_ONESHOT_Pos 0 -#define _TMR_CONTROL_ONESHOT_Msk (1UL /*<< _TMR_CONTROL_ONESHOT_Pos*/) - - - -/* ================ End of section using anonymous unions ================ */ -#if defined (__CC_ARM) - #pragma pop -#elif defined (__ICCARM__) - /* leave anonymous unions enabled */ -#elif (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) - #pragma clang diagnostic pop -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning restore -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -/* ========================================================================= */ -/* ============ Device Specific Peripheral Address Map ============ */ -/* ========================================================================= */ - - -/* ToDo: Add here your device peripherals base addresses - following is an example for timer */ - -/* Peripheral and SRAM base address */ -#define _FLASH_BASE (0x00000000UL) /* (FLASH ) Base Address */ -#define _SRAM_BASE (0x20000000UL) /* (SRAM ) Base Address */ -#define _PERIPH_BASE (0x40000000UL) /* (Peripheral) Base Address */ - -/* Peripheral memory map */ -#define TIM0_BASE (_PERIPH_BASE) /* (Timer0 ) Base Address */ -#define TIM1_BASE (_PERIPH_BASE + 0x0800) /* (Timer1 ) Base Address */ -#define TIM2_BASE (_PERIPH_BASE + 0x1000) /* (Timer2 ) Base Address */ - - -/* ========================================================================= */ -/* ============ Peripheral declaration ============ */ -/* ========================================================================= */ - - -/* ToDo: Add here your device peripherals pointer definitions - following is an example for timer */ - -#define _TIM0 ((_TMR_TypeDef *) TIM0_BASE) -#define _TIM1 ((_TMR_TypeDef *) TIM0_BASE) -#define _TIM2 ((_TMR_TypeDef *) TIM0_BASE) - -#ifdef __cplusplus -} -#endif - -#endif /* _H */ diff --git a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Include/Template/partition_Device.h b/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Include/Template/partition_Device.h deleted file mode 100644 index c020e05..0000000 --- a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Include/Template/partition_Device.h +++ /dev/null @@ -1,1262 +0,0 @@ -/*************************************************************************//** - * @file partition_.h - * @brief CMSIS-Core(M) Device Initial Setup for Secure/Non-Secure Zones for - * Device - * @version V1.0.0 - * @date 20. January 2021 - *****************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef PARTITION__H /* ToDo: Replace '' with your device name */ -#define PARTITION__H - -/* -//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- -*/ - -/* -// Initialize Security Attribution Unit (SAU) CTRL register -*/ -#define SAU_INIT_CTRL 1 - -/* -// Enable SAU -// Value for SAU->CTRL register bit ENABLE -*/ -#define SAU_INIT_CTRL_ENABLE 1 - -/* -// When SAU is disabled -// <0=> All Memory is Secure -// <1=> All Memory is Non-Secure -// Value for SAU->CTRL register bit ALLNS -// When all Memory is Non-Secure (ALLNS is 1), IDAU can override memory map configuration. -*/ -#define SAU_INIT_CTRL_ALLNS 0 - -/* -// -*/ - -/* -// Initialize Security Attribution Unit (SAU) Address Regions -// SAU configuration specifies regions to be one of: -// - Secure and Non-Secure Callable -// - Non-Secure -// Note: All memory regions not configured by SAU are Secure -*/ -#define SAU_REGIONS_MAX 8 /* Max. number of SAU regions */ - -/* -// Initialize SAU Region 0 -// Setup SAU Region 0 memory attributes -*/ -#define SAU_INIT_REGION0 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START0 0x00000000 /* start address of SAU region 0 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END0 0x001FFFFF /* end address of SAU region 0 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC0 1 -/* -// -*/ - -/* -// Initialize SAU Region 1 -// Setup SAU Region 1 memory attributes -*/ -#define SAU_INIT_REGION1 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START1 0x00200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END1 0x003FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC1 0 -/* -// -*/ - -/* -// Initialize SAU Region 2 -// Setup SAU Region 2 memory attributes -*/ -#define SAU_INIT_REGION2 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START2 0x20200000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END2 0x203FFFFF - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC2 0 -/* -// -*/ - -/* -// Initialize SAU Region 3 -// Setup SAU Region 3 memory attributes -*/ -#define SAU_INIT_REGION3 1 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START3 0x40000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END3 0x40040000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC3 0 -/* -// -*/ - -/* -// Initialize SAU Region 4 -// Setup SAU Region 4 memory attributes -*/ -#define SAU_INIT_REGION4 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START4 0x00000000 /* start address of SAU region 4 */ - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END4 0x00000000 /* end address of SAU region 4 */ - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC4 0 -/* -// -*/ - -/* -// Initialize SAU Region 5 -// Setup SAU Region 5 memory attributes -*/ -#define SAU_INIT_REGION5 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START5 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END5 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC5 0 -/* -// -*/ - -/* -// Initialize SAU Region 6 -// Setup SAU Region 6 memory attributes -*/ -#define SAU_INIT_REGION6 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START6 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END6 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC6 0 -/* -// -*/ - -/* -// Initialize SAU Region 7 -// Setup SAU Region 7 memory attributes -*/ -#define SAU_INIT_REGION7 0 - -/* -// Start Address <0-0xFFFFFFE0> -*/ -#define SAU_INIT_START7 0x00000000 - -/* -// End Address <0x1F-0xFFFFFFFF> -*/ -#define SAU_INIT_END7 0x00000000 - -/* -// Region is -// <0=>Non-Secure -// <1=>Secure, Non-Secure Callable -*/ -#define SAU_INIT_NSC7 0 -/* -// -*/ - -/* -// -*/ - -/* -// Setup behaviour of Sleep and Exception Handling -*/ -#define SCB_CSR_AIRCR_INIT 1 - -/* -// Deep Sleep can be enabled by -// <0=>Secure and Non-Secure state -// <1=>Secure state only -// Value for SCB->CSR register bit DEEPSLEEPS -*/ -#define SCB_CSR_DEEPSLEEPS_VAL 1 - -/* -// System reset request accessible from -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for SCB->AIRCR register bit SYSRESETREQS -*/ -#define SCB_AIRCR_SYSRESETREQS_VAL 1 - -/* -// Priority of Non-Secure exceptions is -// <0=> Not altered -// <1=> Lowered to 0x80-0xFF -// Value for SCB->AIRCR register bit PRIS -*/ -#define SCB_AIRCR_PRIS_VAL 1 - -/* -// BusFault, HardFault, and NMI target -// <0=> Secure state -// <1=> Non-Secure state -// Value for SCB->AIRCR register bit BFHFNMINS -*/ -#define SCB_AIRCR_BFHFNMINS_VAL 0 - -/* -// -*/ - -/* -// Setup behaviour of Floating Point and Vector Unit (FPU/MVE) -*/ -#define TZ_FPU_NS_USAGE 1 - -/* -// Floating Point and Vector Unit usage -// <0=> Secure state only -// <3=> Secure and Non-Secure state -// Value for SCB->NSACR register bits CP10, CP11 -*/ -#define SCB_NSACR_CP10_11_VAL 3 - -/* -// Treat floating-point registers as Secure -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit TS -*/ -#define FPU_FPCCR_TS_VAL 0 - -/* -// Clear on return (CLRONRET) accessibility -// <0=> Secure and Non-Secure state -// <1=> Secure state only -// Value for FPU->FPCCR register bit CLRONRETS -*/ -#define FPU_FPCCR_CLRONRETS_VAL 0 - -/* -// Clear floating-point caller saved registers on exception return -// <0=> Disabled -// <1=> Enabled -// Value for FPU->FPCCR register bit CLRONRET -*/ -#define FPU_FPCCR_CLRONRET_VAL 1 - -/* -// -*/ - -/* -// Setup Interrupt Target -*/ - -/* -// Initialize ITNS 0 (Interrupts 0..31) -*/ -#define NVIC_INIT_ITNS0 1 - -/* -// Interrupts 0..31 -// Interrupt 0 <0=> Secure state <1=> Non-Secure state -// Interrupt 1 <0=> Secure state <1=> Non-Secure state -// Interrupt 2 <0=> Secure state <1=> Non-Secure state -// Interrupt 3 <0=> Secure state <1=> Non-Secure state -// Interrupt 4 <0=> Secure state <1=> Non-Secure state -// Interrupt 5 <0=> Secure state <1=> Non-Secure state -// Interrupt 6 <0=> Secure state <1=> Non-Secure state -// Interrupt 7 <0=> Secure state <1=> Non-Secure state -// Interrupt 8 <0=> Secure state <1=> Non-Secure state -// Interrupt 9 <0=> Secure state <1=> Non-Secure state -// Interrupt 10 <0=> Secure state <1=> Non-Secure state -// Interrupt 11 <0=> Secure state <1=> Non-Secure state -// Interrupt 12 <0=> Secure state <1=> Non-Secure state -// Interrupt 13 <0=> Secure state <1=> Non-Secure state -// Interrupt 14 <0=> Secure state <1=> Non-Secure state -// Interrupt 15 <0=> Secure state <1=> Non-Secure state -// Interrupt 16 <0=> Secure state <1=> Non-Secure state -// Interrupt 17 <0=> Secure state <1=> Non-Secure state -// Interrupt 18 <0=> Secure state <1=> Non-Secure state -// Interrupt 19 <0=> Secure state <1=> Non-Secure state -// Interrupt 20 <0=> Secure state <1=> Non-Secure state -// Interrupt 21 <0=> Secure state <1=> Non-Secure state -// Interrupt 22 <0=> Secure state <1=> Non-Secure state -// Interrupt 23 <0=> Secure state <1=> Non-Secure state -// Interrupt 24 <0=> Secure state <1=> Non-Secure state -// Interrupt 25 <0=> Secure state <1=> Non-Secure state -// Interrupt 26 <0=> Secure state <1=> Non-Secure state -// Interrupt 27 <0=> Secure state <1=> Non-Secure state -// Interrupt 28 <0=> Secure state <1=> Non-Secure state -// Interrupt 29 <0=> Secure state <1=> Non-Secure state -// Interrupt 30 <0=> Secure state <1=> Non-Secure state -// Interrupt 31 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS0_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 1 (Interrupts 32..63) -*/ -#define NVIC_INIT_ITNS1 1 - -/* -// Interrupts 32..63 -// Interrupt 32 <0=> Secure state <1=> Non-Secure state -// Interrupt 33 <0=> Secure state <1=> Non-Secure state -// Interrupt 34 <0=> Secure state <1=> Non-Secure state -// Interrupt 35 <0=> Secure state <1=> Non-Secure state -// Interrupt 36 <0=> Secure state <1=> Non-Secure state -// Interrupt 37 <0=> Secure state <1=> Non-Secure state -// Interrupt 38 <0=> Secure state <1=> Non-Secure state -// Interrupt 39 <0=> Secure state <1=> Non-Secure state -// Interrupt 40 <0=> Secure state <1=> Non-Secure state -// Interrupt 41 <0=> Secure state <1=> Non-Secure state -// Interrupt 42 <0=> Secure state <1=> Non-Secure state -// Interrupt 43 <0=> Secure state <1=> Non-Secure state -// Interrupt 44 <0=> Secure state <1=> Non-Secure state -// Interrupt 45 <0=> Secure state <1=> Non-Secure state -// Interrupt 46 <0=> Secure state <1=> Non-Secure state -// Interrupt 47 <0=> Secure state <1=> Non-Secure state -// Interrupt 48 <0=> Secure state <1=> Non-Secure state -// Interrupt 49 <0=> Secure state <1=> Non-Secure state -// Interrupt 50 <0=> Secure state <1=> Non-Secure state -// Interrupt 51 <0=> Secure state <1=> Non-Secure state -// Interrupt 52 <0=> Secure state <1=> Non-Secure state -// Interrupt 53 <0=> Secure state <1=> Non-Secure state -// Interrupt 54 <0=> Secure state <1=> Non-Secure state -// Interrupt 55 <0=> Secure state <1=> Non-Secure state -// Interrupt 56 <0=> Secure state <1=> Non-Secure state -// Interrupt 57 <0=> Secure state <1=> Non-Secure state -// Interrupt 58 <0=> Secure state <1=> Non-Secure state -// Interrupt 59 <0=> Secure state <1=> Non-Secure state -// Interrupt 60 <0=> Secure state <1=> Non-Secure state -// Interrupt 61 <0=> Secure state <1=> Non-Secure state -// Interrupt 62 <0=> Secure state <1=> Non-Secure state -// Interrupt 63 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS1_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 2 (Interrupts 64..95) -*/ -#define NVIC_INIT_ITNS2 0 - -/* -// Interrupts 64..95 -// Interrupt 64 <0=> Secure state <1=> Non-Secure state -// Interrupt 65 <0=> Secure state <1=> Non-Secure state -// Interrupt 66 <0=> Secure state <1=> Non-Secure state -// Interrupt 67 <0=> Secure state <1=> Non-Secure state -// Interrupt 68 <0=> Secure state <1=> Non-Secure state -// Interrupt 69 <0=> Secure state <1=> Non-Secure state -// Interrupt 70 <0=> Secure state <1=> Non-Secure state -// Interrupt 71 <0=> Secure state <1=> Non-Secure state -// Interrupt 72 <0=> Secure state <1=> Non-Secure state -// Interrupt 73 <0=> Secure state <1=> Non-Secure state -// Interrupt 74 <0=> Secure state <1=> Non-Secure state -// Interrupt 75 <0=> Secure state <1=> Non-Secure state -// Interrupt 76 <0=> Secure state <1=> Non-Secure state -// Interrupt 77 <0=> Secure state <1=> Non-Secure state -// Interrupt 78 <0=> Secure state <1=> Non-Secure state -// Interrupt 79 <0=> Secure state <1=> Non-Secure state -// Interrupt 80 <0=> Secure state <1=> Non-Secure state -// Interrupt 81 <0=> Secure state <1=> Non-Secure state -// Interrupt 82 <0=> Secure state <1=> Non-Secure state -// Interrupt 83 <0=> Secure state <1=> Non-Secure state -// Interrupt 84 <0=> Secure state <1=> Non-Secure state -// Interrupt 85 <0=> Secure state <1=> Non-Secure state -// Interrupt 86 <0=> Secure state <1=> Non-Secure state -// Interrupt 87 <0=> Secure state <1=> Non-Secure state -// Interrupt 88 <0=> Secure state <1=> Non-Secure state -// Interrupt 89 <0=> Secure state <1=> Non-Secure state -// Interrupt 90 <0=> Secure state <1=> Non-Secure state -// Interrupt 91 <0=> Secure state <1=> Non-Secure state -// Interrupt 92 <0=> Secure state <1=> Non-Secure state -// Interrupt 93 <0=> Secure state <1=> Non-Secure state -// Interrupt 94 <0=> Secure state <1=> Non-Secure state -// Interrupt 95 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS2_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 3 (Interrupts 96..127) -*/ -#define NVIC_INIT_ITNS3 0 - -/* -// Interrupts 96..127 -// Interrupt 96 <0=> Secure state <1=> Non-Secure state -// Interrupt 97 <0=> Secure state <1=> Non-Secure state -// Interrupt 98 <0=> Secure state <1=> Non-Secure state -// Interrupt 99 <0=> Secure state <1=> Non-Secure state -// Interrupt 100 <0=> Secure state <1=> Non-Secure state -// Interrupt 101 <0=> Secure state <1=> Non-Secure state -// Interrupt 102 <0=> Secure state <1=> Non-Secure state -// Interrupt 103 <0=> Secure state <1=> Non-Secure state -// Interrupt 104 <0=> Secure state <1=> Non-Secure state -// Interrupt 105 <0=> Secure state <1=> Non-Secure state -// Interrupt 106 <0=> Secure state <1=> Non-Secure state -// Interrupt 107 <0=> Secure state <1=> Non-Secure state -// Interrupt 108 <0=> Secure state <1=> Non-Secure state -// Interrupt 109 <0=> Secure state <1=> Non-Secure state -// Interrupt 110 <0=> Secure state <1=> Non-Secure state -// Interrupt 111 <0=> Secure state <1=> Non-Secure state -// Interrupt 112 <0=> Secure state <1=> Non-Secure state -// Interrupt 113 <0=> Secure state <1=> Non-Secure state -// Interrupt 114 <0=> Secure state <1=> Non-Secure state -// Interrupt 115 <0=> Secure state <1=> Non-Secure state -// Interrupt 116 <0=> Secure state <1=> Non-Secure state -// Interrupt 117 <0=> Secure state <1=> Non-Secure state -// Interrupt 118 <0=> Secure state <1=> Non-Secure state -// Interrupt 119 <0=> Secure state <1=> Non-Secure state -// Interrupt 120 <0=> Secure state <1=> Non-Secure state -// Interrupt 121 <0=> Secure state <1=> Non-Secure state -// Interrupt 122 <0=> Secure state <1=> Non-Secure state -// Interrupt 123 <0=> Secure state <1=> Non-Secure state -// Interrupt 124 <0=> Secure state <1=> Non-Secure state -// Interrupt 125 <0=> Secure state <1=> Non-Secure state -// Interrupt 126 <0=> Secure state <1=> Non-Secure state -// Interrupt 127 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS3_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 4 (Interrupts 128..159) -*/ -#define NVIC_INIT_ITNS4 0 - -/* -// Interrupts 128..159 -// Interrupt 128 <0=> Secure state <1=> Non-Secure state -// Interrupt 129 <0=> Secure state <1=> Non-Secure state -// Interrupt 130 <0=> Secure state <1=> Non-Secure state -// Interrupt 131 <0=> Secure state <1=> Non-Secure state -// Interrupt 132 <0=> Secure state <1=> Non-Secure state -// Interrupt 133 <0=> Secure state <1=> Non-Secure state -// Interrupt 134 <0=> Secure state <1=> Non-Secure state -// Interrupt 135 <0=> Secure state <1=> Non-Secure state -// Interrupt 136 <0=> Secure state <1=> Non-Secure state -// Interrupt 137 <0=> Secure state <1=> Non-Secure state -// Interrupt 138 <0=> Secure state <1=> Non-Secure state -// Interrupt 139 <0=> Secure state <1=> Non-Secure state -// Interrupt 140 <0=> Secure state <1=> Non-Secure state -// Interrupt 141 <0=> Secure state <1=> Non-Secure state -// Interrupt 142 <0=> Secure state <1=> Non-Secure state -// Interrupt 143 <0=> Secure state <1=> Non-Secure state -// Interrupt 144 <0=> Secure state <1=> Non-Secure state -// Interrupt 145 <0=> Secure state <1=> Non-Secure state -// Interrupt 146 <0=> Secure state <1=> Non-Secure state -// Interrupt 147 <0=> Secure state <1=> Non-Secure state -// Interrupt 148 <0=> Secure state <1=> Non-Secure state -// Interrupt 149 <0=> Secure state <1=> Non-Secure state -// Interrupt 150 <0=> Secure state <1=> Non-Secure state -// Interrupt 151 <0=> Secure state <1=> Non-Secure state -// Interrupt 152 <0=> Secure state <1=> Non-Secure state -// Interrupt 153 <0=> Secure state <1=> Non-Secure state -// Interrupt 154 <0=> Secure state <1=> Non-Secure state -// Interrupt 155 <0=> Secure state <1=> Non-Secure state -// Interrupt 156 <0=> Secure state <1=> Non-Secure state -// Interrupt 157 <0=> Secure state <1=> Non-Secure state -// Interrupt 158 <0=> Secure state <1=> Non-Secure state -// Interrupt 159 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS4_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 5 (Interrupts 160..191) -*/ -#define NVIC_INIT_ITNS5 0 - -/* -// Interrupts 160..191 -// Interrupt 160 <0=> Secure state <1=> Non-Secure state -// Interrupt 161 <0=> Secure state <1=> Non-Secure state -// Interrupt 162 <0=> Secure state <1=> Non-Secure state -// Interrupt 163 <0=> Secure state <1=> Non-Secure state -// Interrupt 164 <0=> Secure state <1=> Non-Secure state -// Interrupt 165 <0=> Secure state <1=> Non-Secure state -// Interrupt 166 <0=> Secure state <1=> Non-Secure state -// Interrupt 167 <0=> Secure state <1=> Non-Secure state -// Interrupt 168 <0=> Secure state <1=> Non-Secure state -// Interrupt 169 <0=> Secure state <1=> Non-Secure state -// Interrupt 170 <0=> Secure state <1=> Non-Secure state -// Interrupt 171 <0=> Secure state <1=> Non-Secure state -// Interrupt 172 <0=> Secure state <1=> Non-Secure state -// Interrupt 173 <0=> Secure state <1=> Non-Secure state -// Interrupt 174 <0=> Secure state <1=> Non-Secure state -// Interrupt 175 <0=> Secure state <1=> Non-Secure state -// Interrupt 176 <0=> Secure state <1=> Non-Secure state -// Interrupt 177 <0=> Secure state <1=> Non-Secure state -// Interrupt 178 <0=> Secure state <1=> Non-Secure state -// Interrupt 179 <0=> Secure state <1=> Non-Secure state -// Interrupt 180 <0=> Secure state <1=> Non-Secure state -// Interrupt 181 <0=> Secure state <1=> Non-Secure state -// Interrupt 182 <0=> Secure state <1=> Non-Secure state -// Interrupt 183 <0=> Secure state <1=> Non-Secure state -// Interrupt 184 <0=> Secure state <1=> Non-Secure state -// Interrupt 185 <0=> Secure state <1=> Non-Secure state -// Interrupt 186 <0=> Secure state <1=> Non-Secure state -// Interrupt 187 <0=> Secure state <1=> Non-Secure state -// Interrupt 188 <0=> Secure state <1=> Non-Secure state -// Interrupt 189 <0=> Secure state <1=> Non-Secure state -// Interrupt 190 <0=> Secure state <1=> Non-Secure state -// Interrupt 191 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS5_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 6 (Interrupts 192..223) -*/ -#define NVIC_INIT_ITNS6 0 - -/* -// Interrupts 192..223 -// Interrupt 192 <0=> Secure state <1=> Non-Secure state -// Interrupt 193 <0=> Secure state <1=> Non-Secure state -// Interrupt 194 <0=> Secure state <1=> Non-Secure state -// Interrupt 195 <0=> Secure state <1=> Non-Secure state -// Interrupt 196 <0=> Secure state <1=> Non-Secure state -// Interrupt 197 <0=> Secure state <1=> Non-Secure state -// Interrupt 198 <0=> Secure state <1=> Non-Secure state -// Interrupt 199 <0=> Secure state <1=> Non-Secure state -// Interrupt 200 <0=> Secure state <1=> Non-Secure state -// Interrupt 201 <0=> Secure state <1=> Non-Secure state -// Interrupt 202 <0=> Secure state <1=> Non-Secure state -// Interrupt 203 <0=> Secure state <1=> Non-Secure state -// Interrupt 204 <0=> Secure state <1=> Non-Secure state -// Interrupt 205 <0=> Secure state <1=> Non-Secure state -// Interrupt 206 <0=> Secure state <1=> Non-Secure state -// Interrupt 207 <0=> Secure state <1=> Non-Secure state -// Interrupt 208 <0=> Secure state <1=> Non-Secure state -// Interrupt 209 <0=> Secure state <1=> Non-Secure state -// Interrupt 210 <0=> Secure state <1=> Non-Secure state -// Interrupt 211 <0=> Secure state <1=> Non-Secure state -// Interrupt 212 <0=> Secure state <1=> Non-Secure state -// Interrupt 213 <0=> Secure state <1=> Non-Secure state -// Interrupt 214 <0=> Secure state <1=> Non-Secure state -// Interrupt 215 <0=> Secure state <1=> Non-Secure state -// Interrupt 216 <0=> Secure state <1=> Non-Secure state -// Interrupt 217 <0=> Secure state <1=> Non-Secure state -// Interrupt 218 <0=> Secure state <1=> Non-Secure state -// Interrupt 219 <0=> Secure state <1=> Non-Secure state -// Interrupt 220 <0=> Secure state <1=> Non-Secure state -// Interrupt 221 <0=> Secure state <1=> Non-Secure state -// Interrupt 222 <0=> Secure state <1=> Non-Secure state -// Interrupt 223 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS6_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 7 (Interrupts 224..255) -*/ -#define NVIC_INIT_ITNS7 0 - -/* -// Interrupts 224..255 -// Interrupt 224 <0=> Secure state <1=> Non-Secure state -// Interrupt 225 <0=> Secure state <1=> Non-Secure state -// Interrupt 226 <0=> Secure state <1=> Non-Secure state -// Interrupt 227 <0=> Secure state <1=> Non-Secure state -// Interrupt 228 <0=> Secure state <1=> Non-Secure state -// Interrupt 229 <0=> Secure state <1=> Non-Secure state -// Interrupt 230 <0=> Secure state <1=> Non-Secure state -// Interrupt 231 <0=> Secure state <1=> Non-Secure state -// Interrupt 232 <0=> Secure state <1=> Non-Secure state -// Interrupt 233 <0=> Secure state <1=> Non-Secure state -// Interrupt 234 <0=> Secure state <1=> Non-Secure state -// Interrupt 235 <0=> Secure state <1=> Non-Secure state -// Interrupt 236 <0=> Secure state <1=> Non-Secure state -// Interrupt 237 <0=> Secure state <1=> Non-Secure state -// Interrupt 238 <0=> Secure state <1=> Non-Secure state -// Interrupt 239 <0=> Secure state <1=> Non-Secure state -// Interrupt 240 <0=> Secure state <1=> Non-Secure state -// Interrupt 241 <0=> Secure state <1=> Non-Secure state -// Interrupt 242 <0=> Secure state <1=> Non-Secure state -// Interrupt 243 <0=> Secure state <1=> Non-Secure state -// Interrupt 244 <0=> Secure state <1=> Non-Secure state -// Interrupt 245 <0=> Secure state <1=> Non-Secure state -// Interrupt 246 <0=> Secure state <1=> Non-Secure state -// Interrupt 247 <0=> Secure state <1=> Non-Secure state -// Interrupt 248 <0=> Secure state <1=> Non-Secure state -// Interrupt 249 <0=> Secure state <1=> Non-Secure state -// Interrupt 250 <0=> Secure state <1=> Non-Secure state -// Interrupt 251 <0=> Secure state <1=> Non-Secure state -// Interrupt 252 <0=> Secure state <1=> Non-Secure state -// Interrupt 253 <0=> Secure state <1=> Non-Secure state -// Interrupt 254 <0=> Secure state <1=> Non-Secure state -// Interrupt 255 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS7_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 8 (Interrupts 256..287) -*/ -#define NVIC_INIT_ITNS8 0 - -/* -// Interrupts 256..287 -// Interrupt 256 <0=> Secure state <1=> Non-Secure state -// Interrupt 257 <0=> Secure state <1=> Non-Secure state -// Interrupt 258 <0=> Secure state <1=> Non-Secure state -// Interrupt 259 <0=> Secure state <1=> Non-Secure state -// Interrupt 260 <0=> Secure state <1=> Non-Secure state -// Interrupt 261 <0=> Secure state <1=> Non-Secure state -// Interrupt 262 <0=> Secure state <1=> Non-Secure state -// Interrupt 263 <0=> Secure state <1=> Non-Secure state -// Interrupt 264 <0=> Secure state <1=> Non-Secure state -// Interrupt 265 <0=> Secure state <1=> Non-Secure state -// Interrupt 266 <0=> Secure state <1=> Non-Secure state -// Interrupt 267 <0=> Secure state <1=> Non-Secure state -// Interrupt 268 <0=> Secure state <1=> Non-Secure state -// Interrupt 269 <0=> Secure state <1=> Non-Secure state -// Interrupt 270 <0=> Secure state <1=> Non-Secure state -// Interrupt 271 <0=> Secure state <1=> Non-Secure state -// Interrupt 272 <0=> Secure state <1=> Non-Secure state -// Interrupt 273 <0=> Secure state <1=> Non-Secure state -// Interrupt 274 <0=> Secure state <1=> Non-Secure state -// Interrupt 275 <0=> Secure state <1=> Non-Secure state -// Interrupt 276 <0=> Secure state <1=> Non-Secure state -// Interrupt 277 <0=> Secure state <1=> Non-Secure state -// Interrupt 278 <0=> Secure state <1=> Non-Secure state -// Interrupt 279 <0=> Secure state <1=> Non-Secure state -// Interrupt 280 <0=> Secure state <1=> Non-Secure state -// Interrupt 281 <0=> Secure state <1=> Non-Secure state -// Interrupt 282 <0=> Secure state <1=> Non-Secure state -// Interrupt 283 <0=> Secure state <1=> Non-Secure state -// Interrupt 284 <0=> Secure state <1=> Non-Secure state -// Interrupt 285 <0=> Secure state <1=> Non-Secure state -// Interrupt 286 <0=> Secure state <1=> Non-Secure state -// Interrupt 287 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS8_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 9 (Interrupts 288..319) -*/ -#define NVIC_INIT_ITNS9 0 - -/* -// Interrupts 288..319 -// Interrupt 288 <0=> Secure state <1=> Non-Secure state -// Interrupt 289 <0=> Secure state <1=> Non-Secure state -// Interrupt 290 <0=> Secure state <1=> Non-Secure state -// Interrupt 291 <0=> Secure state <1=> Non-Secure state -// Interrupt 292 <0=> Secure state <1=> Non-Secure state -// Interrupt 293 <0=> Secure state <1=> Non-Secure state -// Interrupt 294 <0=> Secure state <1=> Non-Secure state -// Interrupt 295 <0=> Secure state <1=> Non-Secure state -// Interrupt 296 <0=> Secure state <1=> Non-Secure state -// Interrupt 297 <0=> Secure state <1=> Non-Secure state -// Interrupt 298 <0=> Secure state <1=> Non-Secure state -// Interrupt 299 <0=> Secure state <1=> Non-Secure state -// Interrupt 300 <0=> Secure state <1=> Non-Secure state -// Interrupt 301 <0=> Secure state <1=> Non-Secure state -// Interrupt 302 <0=> Secure state <1=> Non-Secure state -// Interrupt 303 <0=> Secure state <1=> Non-Secure state -// Interrupt 304 <0=> Secure state <1=> Non-Secure state -// Interrupt 305 <0=> Secure state <1=> Non-Secure state -// Interrupt 306 <0=> Secure state <1=> Non-Secure state -// Interrupt 307 <0=> Secure state <1=> Non-Secure state -// Interrupt 308 <0=> Secure state <1=> Non-Secure state -// Interrupt 309 <0=> Secure state <1=> Non-Secure state -// Interrupt 310 <0=> Secure state <1=> Non-Secure state -// Interrupt 311 <0=> Secure state <1=> Non-Secure state -// Interrupt 312 <0=> Secure state <1=> Non-Secure state -// Interrupt 313 <0=> Secure state <1=> Non-Secure state -// Interrupt 314 <0=> Secure state <1=> Non-Secure state -// Interrupt 315 <0=> Secure state <1=> Non-Secure state -// Interrupt 316 <0=> Secure state <1=> Non-Secure state -// Interrupt 317 <0=> Secure state <1=> Non-Secure state -// Interrupt 318 <0=> Secure state <1=> Non-Secure state -// Interrupt 319 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS9_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 10 (Interrupts 320..351) -*/ -#define NVIC_INIT_ITNS10 0 - -/* -// Interrupts 320..351 -// Interrupt 320 <0=> Secure state <1=> Non-Secure state -// Interrupt 321 <0=> Secure state <1=> Non-Secure state -// Interrupt 322 <0=> Secure state <1=> Non-Secure state -// Interrupt 323 <0=> Secure state <1=> Non-Secure state -// Interrupt 324 <0=> Secure state <1=> Non-Secure state -// Interrupt 325 <0=> Secure state <1=> Non-Secure state -// Interrupt 326 <0=> Secure state <1=> Non-Secure state -// Interrupt 327 <0=> Secure state <1=> Non-Secure state -// Interrupt 328 <0=> Secure state <1=> Non-Secure state -// Interrupt 329 <0=> Secure state <1=> Non-Secure state -// Interrupt 330 <0=> Secure state <1=> Non-Secure state -// Interrupt 331 <0=> Secure state <1=> Non-Secure state -// Interrupt 332 <0=> Secure state <1=> Non-Secure state -// Interrupt 333 <0=> Secure state <1=> Non-Secure state -// Interrupt 334 <0=> Secure state <1=> Non-Secure state -// Interrupt 335 <0=> Secure state <1=> Non-Secure state -// Interrupt 336 <0=> Secure state <1=> Non-Secure state -// Interrupt 337 <0=> Secure state <1=> Non-Secure state -// Interrupt 338 <0=> Secure state <1=> Non-Secure state -// Interrupt 339 <0=> Secure state <1=> Non-Secure state -// Interrupt 340 <0=> Secure state <1=> Non-Secure state -// Interrupt 341 <0=> Secure state <1=> Non-Secure state -// Interrupt 342 <0=> Secure state <1=> Non-Secure state -// Interrupt 343 <0=> Secure state <1=> Non-Secure state -// Interrupt 344 <0=> Secure state <1=> Non-Secure state -// Interrupt 345 <0=> Secure state <1=> Non-Secure state -// Interrupt 346 <0=> Secure state <1=> Non-Secure state -// Interrupt 347 <0=> Secure state <1=> Non-Secure state -// Interrupt 348 <0=> Secure state <1=> Non-Secure state -// Interrupt 349 <0=> Secure state <1=> Non-Secure state -// Interrupt 350 <0=> Secure state <1=> Non-Secure state -// Interrupt 351 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS10_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 11 (Interrupts 352..383) -*/ -#define NVIC_INIT_ITNS11 0 - -/* -// Interrupts 352..383 -// Interrupt 352 <0=> Secure state <1=> Non-Secure state -// Interrupt 353 <0=> Secure state <1=> Non-Secure state -// Interrupt 354 <0=> Secure state <1=> Non-Secure state -// Interrupt 355 <0=> Secure state <1=> Non-Secure state -// Interrupt 356 <0=> Secure state <1=> Non-Secure state -// Interrupt 357 <0=> Secure state <1=> Non-Secure state -// Interrupt 358 <0=> Secure state <1=> Non-Secure state -// Interrupt 359 <0=> Secure state <1=> Non-Secure state -// Interrupt 360 <0=> Secure state <1=> Non-Secure state -// Interrupt 361 <0=> Secure state <1=> Non-Secure state -// Interrupt 362 <0=> Secure state <1=> Non-Secure state -// Interrupt 363 <0=> Secure state <1=> Non-Secure state -// Interrupt 364 <0=> Secure state <1=> Non-Secure state -// Interrupt 365 <0=> Secure state <1=> Non-Secure state -// Interrupt 366 <0=> Secure state <1=> Non-Secure state -// Interrupt 367 <0=> Secure state <1=> Non-Secure state -// Interrupt 368 <0=> Secure state <1=> Non-Secure state -// Interrupt 369 <0=> Secure state <1=> Non-Secure state -// Interrupt 370 <0=> Secure state <1=> Non-Secure state -// Interrupt 371 <0=> Secure state <1=> Non-Secure state -// Interrupt 372 <0=> Secure state <1=> Non-Secure state -// Interrupt 373 <0=> Secure state <1=> Non-Secure state -// Interrupt 374 <0=> Secure state <1=> Non-Secure state -// Interrupt 375 <0=> Secure state <1=> Non-Secure state -// Interrupt 376 <0=> Secure state <1=> Non-Secure state -// Interrupt 377 <0=> Secure state <1=> Non-Secure state -// Interrupt 378 <0=> Secure state <1=> Non-Secure state -// Interrupt 379 <0=> Secure state <1=> Non-Secure state -// Interrupt 380 <0=> Secure state <1=> Non-Secure state -// Interrupt 381 <0=> Secure state <1=> Non-Secure state -// Interrupt 382 <0=> Secure state <1=> Non-Secure state -// Interrupt 383 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS11_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 12 (Interrupts 384..415) -*/ -#define NVIC_INIT_ITNS12 0 - -/* -// Interrupts 384..415 -// Interrupt 384 <0=> Secure state <1=> Non-Secure state -// Interrupt 385 <0=> Secure state <1=> Non-Secure state -// Interrupt 386 <0=> Secure state <1=> Non-Secure state -// Interrupt 387 <0=> Secure state <1=> Non-Secure state -// Interrupt 388 <0=> Secure state <1=> Non-Secure state -// Interrupt 389 <0=> Secure state <1=> Non-Secure state -// Interrupt 390 <0=> Secure state <1=> Non-Secure state -// Interrupt 391 <0=> Secure state <1=> Non-Secure state -// Interrupt 392 <0=> Secure state <1=> Non-Secure state -// Interrupt 393 <0=> Secure state <1=> Non-Secure state -// Interrupt 394 <0=> Secure state <1=> Non-Secure state -// Interrupt 395 <0=> Secure state <1=> Non-Secure state -// Interrupt 396 <0=> Secure state <1=> Non-Secure state -// Interrupt 397 <0=> Secure state <1=> Non-Secure state -// Interrupt 398 <0=> Secure state <1=> Non-Secure state -// Interrupt 399 <0=> Secure state <1=> Non-Secure state -// Interrupt 400 <0=> Secure state <1=> Non-Secure state -// Interrupt 401 <0=> Secure state <1=> Non-Secure state -// Interrupt 402 <0=> Secure state <1=> Non-Secure state -// Interrupt 403 <0=> Secure state <1=> Non-Secure state -// Interrupt 404 <0=> Secure state <1=> Non-Secure state -// Interrupt 405 <0=> Secure state <1=> Non-Secure state -// Interrupt 406 <0=> Secure state <1=> Non-Secure state -// Interrupt 407 <0=> Secure state <1=> Non-Secure state -// Interrupt 408 <0=> Secure state <1=> Non-Secure state -// Interrupt 409 <0=> Secure state <1=> Non-Secure state -// Interrupt 410 <0=> Secure state <1=> Non-Secure state -// Interrupt 411 <0=> Secure state <1=> Non-Secure state -// Interrupt 412 <0=> Secure state <1=> Non-Secure state -// Interrupt 413 <0=> Secure state <1=> Non-Secure state -// Interrupt 414 <0=> Secure state <1=> Non-Secure state -// Interrupt 415 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS12_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 13 (Interrupts 416..447) -*/ -#define NVIC_INIT_ITNS13 0 - -/* -// Interrupts 416..447 -// Interrupt 416 <0=> Secure state <1=> Non-Secure state -// Interrupt 417 <0=> Secure state <1=> Non-Secure state -// Interrupt 418 <0=> Secure state <1=> Non-Secure state -// Interrupt 419 <0=> Secure state <1=> Non-Secure state -// Interrupt 420 <0=> Secure state <1=> Non-Secure state -// Interrupt 421 <0=> Secure state <1=> Non-Secure state -// Interrupt 422 <0=> Secure state <1=> Non-Secure state -// Interrupt 423 <0=> Secure state <1=> Non-Secure state -// Interrupt 424 <0=> Secure state <1=> Non-Secure state -// Interrupt 425 <0=> Secure state <1=> Non-Secure state -// Interrupt 426 <0=> Secure state <1=> Non-Secure state -// Interrupt 427 <0=> Secure state <1=> Non-Secure state -// Interrupt 428 <0=> Secure state <1=> Non-Secure state -// Interrupt 429 <0=> Secure state <1=> Non-Secure state -// Interrupt 430 <0=> Secure state <1=> Non-Secure state -// Interrupt 431 <0=> Secure state <1=> Non-Secure state -// Interrupt 432 <0=> Secure state <1=> Non-Secure state -// Interrupt 433 <0=> Secure state <1=> Non-Secure state -// Interrupt 434 <0=> Secure state <1=> Non-Secure state -// Interrupt 435 <0=> Secure state <1=> Non-Secure state -// Interrupt 436 <0=> Secure state <1=> Non-Secure state -// Interrupt 437 <0=> Secure state <1=> Non-Secure state -// Interrupt 438 <0=> Secure state <1=> Non-Secure state -// Interrupt 439 <0=> Secure state <1=> Non-Secure state -// Interrupt 440 <0=> Secure state <1=> Non-Secure state -// Interrupt 441 <0=> Secure state <1=> Non-Secure state -// Interrupt 442 <0=> Secure state <1=> Non-Secure state -// Interrupt 443 <0=> Secure state <1=> Non-Secure state -// Interrupt 444 <0=> Secure state <1=> Non-Secure state -// Interrupt 445 <0=> Secure state <1=> Non-Secure state -// Interrupt 446 <0=> Secure state <1=> Non-Secure state -// Interrupt 447 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS13_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 14 (Interrupts 448..479) -*/ -#define NVIC_INIT_ITNS14 0 - -/* -// Interrupts 448..479 -// Interrupt 448 <0=> Secure state <1=> Non-Secure state -// Interrupt 449 <0=> Secure state <1=> Non-Secure state -// Interrupt 450 <0=> Secure state <1=> Non-Secure state -// Interrupt 451 <0=> Secure state <1=> Non-Secure state -// Interrupt 452 <0=> Secure state <1=> Non-Secure state -// Interrupt 453 <0=> Secure state <1=> Non-Secure state -// Interrupt 454 <0=> Secure state <1=> Non-Secure state -// Interrupt 455 <0=> Secure state <1=> Non-Secure state -// Interrupt 456 <0=> Secure state <1=> Non-Secure state -// Interrupt 457 <0=> Secure state <1=> Non-Secure state -// Interrupt 458 <0=> Secure state <1=> Non-Secure state -// Interrupt 459 <0=> Secure state <1=> Non-Secure state -// Interrupt 460 <0=> Secure state <1=> Non-Secure state -// Interrupt 461 <0=> Secure state <1=> Non-Secure state -// Interrupt 462 <0=> Secure state <1=> Non-Secure state -// Interrupt 463 <0=> Secure state <1=> Non-Secure state -// Interrupt 464 <0=> Secure state <1=> Non-Secure state -// Interrupt 465 <0=> Secure state <1=> Non-Secure state -// Interrupt 466 <0=> Secure state <1=> Non-Secure state -// Interrupt 467 <0=> Secure state <1=> Non-Secure state -// Interrupt 468 <0=> Secure state <1=> Non-Secure state -// Interrupt 469 <0=> Secure state <1=> Non-Secure state -// Interrupt 470 <0=> Secure state <1=> Non-Secure state -// Interrupt 471 <0=> Secure state <1=> Non-Secure state -// Interrupt 472 <0=> Secure state <1=> Non-Secure state -// Interrupt 473 <0=> Secure state <1=> Non-Secure state -// Interrupt 474 <0=> Secure state <1=> Non-Secure state -// Interrupt 475 <0=> Secure state <1=> Non-Secure state -// Interrupt 476 <0=> Secure state <1=> Non-Secure state -// Interrupt 477 <0=> Secure state <1=> Non-Secure state -// Interrupt 478 <0=> Secure state <1=> Non-Secure state -// Interrupt 479 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS14_VAL 0x00000000 - -/* -// -*/ - -/* -// Initialize ITNS 15 (Interrupts 480..511) -*/ -#define NVIC_INIT_ITNS15 0 - -/* -// Interrupts 480..511 -// Interrupt 480 <0=> Secure state <1=> Non-Secure state -// Interrupt 481 <0=> Secure state <1=> Non-Secure state -// Interrupt 482 <0=> Secure state <1=> Non-Secure state -// Interrupt 483 <0=> Secure state <1=> Non-Secure state -// Interrupt 484 <0=> Secure state <1=> Non-Secure state -// Interrupt 485 <0=> Secure state <1=> Non-Secure state -// Interrupt 486 <0=> Secure state <1=> Non-Secure state -// Interrupt 487 <0=> Secure state <1=> Non-Secure state -// Interrupt 488 <0=> Secure state <1=> Non-Secure state -// Interrupt 489 <0=> Secure state <1=> Non-Secure state -// Interrupt 490 <0=> Secure state <1=> Non-Secure state -// Interrupt 491 <0=> Secure state <1=> Non-Secure state -// Interrupt 492 <0=> Secure state <1=> Non-Secure state -// Interrupt 493 <0=> Secure state <1=> Non-Secure state -// Interrupt 494 <0=> Secure state <1=> Non-Secure state -// Interrupt 495 <0=> Secure state <1=> Non-Secure state -// Interrupt 496 <0=> Secure state <1=> Non-Secure state -// Interrupt 497 <0=> Secure state <1=> Non-Secure state -// Interrupt 498 <0=> Secure state <1=> Non-Secure state -// Interrupt 499 <0=> Secure state <1=> Non-Secure state -// Interrupt 500 <0=> Secure state <1=> Non-Secure state -// Interrupt 501 <0=> Secure state <1=> Non-Secure state -// Interrupt 502 <0=> Secure state <1=> Non-Secure state -// Interrupt 503 <0=> Secure state <1=> Non-Secure state -// Interrupt 504 <0=> Secure state <1=> Non-Secure state -// Interrupt 505 <0=> Secure state <1=> Non-Secure state -// Interrupt 506 <0=> Secure state <1=> Non-Secure state -// Interrupt 507 <0=> Secure state <1=> Non-Secure state -// Interrupt 508 <0=> Secure state <1=> Non-Secure state -// Interrupt 509 <0=> Secure state <1=> Non-Secure state -// Interrupt 510 <0=> Secure state <1=> Non-Secure state -// Interrupt 511 <0=> Secure state <1=> Non-Secure state -*/ -#define NVIC_INIT_ITNS15_VAL 0x00000000 - -/* -// -*/ - -/* -// -*/ - - - -/* - max 128 SAU regions. - SAU regions are defined in partition.h - */ - -#define SAU_INIT_REGION(n) \ - SAU->RNR = (n & SAU_RNR_REGION_Msk); \ - SAU->RBAR = (SAU_INIT_START##n & SAU_RBAR_BADDR_Msk); \ - SAU->RLAR = (SAU_INIT_END##n & SAU_RLAR_LADDR_Msk) | \ - ((SAU_INIT_NSC##n << SAU_RLAR_NSC_Pos) & SAU_RLAR_NSC_Msk) | 1U - -/** - \brief Setup a SAU Region - \details Writes the region information contained in SAU_Region to the - registers SAU_RNR, SAU_RBAR, and SAU_RLAR - */ -__STATIC_INLINE void TZ_SAU_Setup (void) -{ - -#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) - - #if defined (SAU_INIT_REGION0) && (SAU_INIT_REGION0 == 1U) - SAU_INIT_REGION(0); - #endif - - #if defined (SAU_INIT_REGION1) && (SAU_INIT_REGION1 == 1U) - SAU_INIT_REGION(1); - #endif - - #if defined (SAU_INIT_REGION2) && (SAU_INIT_REGION2 == 1U) - SAU_INIT_REGION(2); - #endif - - #if defined (SAU_INIT_REGION3) && (SAU_INIT_REGION3 == 1U) - SAU_INIT_REGION(3); - #endif - - #if defined (SAU_INIT_REGION4) && (SAU_INIT_REGION4 == 1U) - SAU_INIT_REGION(4); - #endif - - #if defined (SAU_INIT_REGION5) && (SAU_INIT_REGION5 == 1U) - SAU_INIT_REGION(5); - #endif - - #if defined (SAU_INIT_REGION6) && (SAU_INIT_REGION6 == 1U) - SAU_INIT_REGION(6); - #endif - - #if defined (SAU_INIT_REGION7) && (SAU_INIT_REGION7 == 1U) - SAU_INIT_REGION(7); - #endif - - /* repeat this for all possible SAU regions */ - -#endif /* defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) */ - - - #if defined (SAU_INIT_CTRL) && (SAU_INIT_CTRL == 1U) - SAU->CTRL = ((SAU_INIT_CTRL_ENABLE << SAU_CTRL_ENABLE_Pos) & SAU_CTRL_ENABLE_Msk) | - ((SAU_INIT_CTRL_ALLNS << SAU_CTRL_ALLNS_Pos) & SAU_CTRL_ALLNS_Msk) ; - #endif - - #if defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) - SCB->SCR = (SCB->SCR & ~(SCB_SCR_SLEEPDEEPS_Msk )) | - ((SCB_CSR_DEEPSLEEPS_VAL << SCB_SCR_SLEEPDEEPS_Pos) & SCB_SCR_SLEEPDEEPS_Msk); - - SCB->AIRCR = (SCB->AIRCR & ~(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_SYSRESETREQS_Msk | - SCB_AIRCR_BFHFNMINS_Msk | SCB_AIRCR_PRIS_Msk )) | - ((0x05FAU << SCB_AIRCR_VECTKEY_Pos) & SCB_AIRCR_VECTKEY_Msk) | - ((SCB_AIRCR_SYSRESETREQS_VAL << SCB_AIRCR_SYSRESETREQS_Pos) & SCB_AIRCR_SYSRESETREQS_Msk) | - ((SCB_AIRCR_PRIS_VAL << SCB_AIRCR_PRIS_Pos) & SCB_AIRCR_PRIS_Msk) | - ((SCB_AIRCR_BFHFNMINS_VAL << SCB_AIRCR_BFHFNMINS_Pos) & SCB_AIRCR_BFHFNMINS_Msk); - #endif /* defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) */ - - #if (((defined (__FPU_USED) && (__FPU_USED == 1U)) || \ - (defined (__ARM_FEATURE_MVE) && (__ARM_FEATURE_MVE > 0))) && \ - (defined (TZ_FPU_NS_USAGE) && (TZ_FPU_NS_USAGE == 1U))) - - SCB->NSACR = (SCB->NSACR & ~(SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)) | - ((SCB_NSACR_CP10_11_VAL << SCB_NSACR_CP10_Pos) & (SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)); - - FPU->FPCCR = (FPU->FPCCR & ~(FPU_FPCCR_TS_Msk | FPU_FPCCR_CLRONRETS_Msk | FPU_FPCCR_CLRONRET_Msk)) | - ((FPU_FPCCR_TS_VAL << FPU_FPCCR_TS_Pos ) & FPU_FPCCR_TS_Msk ) | - ((FPU_FPCCR_CLRONRETS_VAL << FPU_FPCCR_CLRONRETS_Pos) & FPU_FPCCR_CLRONRETS_Msk) | - ((FPU_FPCCR_CLRONRET_VAL << FPU_FPCCR_CLRONRET_Pos ) & FPU_FPCCR_CLRONRET_Msk ); - #endif - - #if defined (NVIC_INIT_ITNS0) && (NVIC_INIT_ITNS0 == 1U) - NVIC->ITNS[0] = NVIC_INIT_ITNS0_VAL; - #endif - - #if defined (NVIC_INIT_ITNS1) && (NVIC_INIT_ITNS1 == 1U) - NVIC->ITNS[1] = NVIC_INIT_ITNS1_VAL; - #endif - - #if defined (NVIC_INIT_ITNS2) && (NVIC_INIT_ITNS2 == 1U) - NVIC->ITNS[2] = NVIC_INIT_ITNS2_VAL; - #endif - - #if defined (NVIC_INIT_ITNS3) && (NVIC_INIT_ITNS3 == 1U) - NVIC->ITNS[3] = NVIC_INIT_ITNS3_VAL; - #endif - - #if defined (NVIC_INIT_ITNS4) && (NVIC_INIT_ITNS4 == 1U) - NVIC->ITNS[4] = NVIC_INIT_ITNS4_VAL; - #endif - - #if defined (NVIC_INIT_ITNS5) && (NVIC_INIT_ITNS5 == 1U) - NVIC->ITNS[5] = NVIC_INIT_ITNS5_VAL; - #endif - - #if defined (NVIC_INIT_ITNS6) && (NVIC_INIT_ITNS6 == 1U) - NVIC->ITNS[6] = NVIC_INIT_ITNS6_VAL; - #endif - - #if defined (NVIC_INIT_ITNS7) && (NVIC_INIT_ITNS7 == 1U) - NVIC->ITNS[7] = NVIC_INIT_ITNS7_VAL; - #endif - - #if defined (NVIC_INIT_ITNS8) && (NVIC_INIT_ITNS8 == 1U) - NVIC->ITNS[8] = NVIC_INIT_ITNS8_VAL; - #endif - - #if defined (NVIC_INIT_ITNS9) && (NVIC_INIT_ITNS9 == 1U) - NVIC->ITNS[9] = NVIC_INIT_ITNS9_VAL; - #endif - - #if defined (NVIC_INIT_ITNS10) && (NVIC_INIT_ITNS10 == 1U) - NVIC->ITNS[10] = NVIC_INIT_ITNS10_VAL; - #endif - - #if defined (NVIC_INIT_ITNS11) && (NVIC_INIT_ITNS11 == 1U) - NVIC->ITNS[11] = NVIC_INIT_ITNS11_VAL; - #endif - - #if defined (NVIC_INIT_ITNS12) && (NVIC_INIT_ITNS12 == 1U) - NVIC->ITNS[12] = NVIC_INIT_ITNS12_VAL; - #endif - - #if defined (NVIC_INIT_ITNS13) && (NVIC_INIT_ITNS13 == 1U) - NVIC->ITNS[13] = NVIC_INIT_ITNS13_VAL; - #endif - - #if defined (NVIC_INIT_ITNS14) && (NVIC_INIT_ITNS14 == 1U) - NVIC->ITNS[14] = NVIC_INIT_ITNS14_VAL; - #endif - - #if defined (NVIC_INIT_ITNS15) && (NVIC_INIT_ITNS15 == 1U) - NVIC->ITNS[15] = NVIC_INIT_ITNS15_VAL; - #endif - - /* repeat this for all possible ITNS elements */ - -} - -#endif /* PARTITION__H */ diff --git a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Include/system_Device.h b/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Include/system_Device.h deleted file mode 100644 index e28cc77..0000000 --- a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Include/system_Device.h +++ /dev/null @@ -1,64 +0,0 @@ -/*************************************************************************//** - * @file system_.h - * @brief CMSIS-Core(M) Device Peripheral Access Layer Header File for - * Device - * @version V1.0.1 - * @date 11. July 2022 - *****************************************************************************/ -/* - * Copyright (c) 2009-2022 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef SYSTEM__H /* ToDo: replace '' with your device name */ -#define SYSTEM__H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -/** - \brief Exception / Interrupt Handler Function Prototype -*/ -typedef void(*VECTOR_TABLE_Type)(void); - -/** - \brief System Clock Frequency (Core Clock) -*/ -extern uint32_t SystemCoreClock; - -/** - \brief Setup the microcontroller system. - - Initialize the System and update the SystemCoreClock variable. - */ -extern void SystemInit (void); - - -/** - \brief Update SystemCoreClock variable. - - Updates the SystemCoreClock with current core Clock retrieved from cpu registers. - */ -extern void SystemCoreClockUpdate (void); - -#ifdef __cplusplus -} -#endif - -#endif /* SYSTEM__H */ diff --git a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Source/ARM/Device_ac5.sct b/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Source/ARM/Device_ac5.sct deleted file mode 100644 index e3ea4fc..0000000 --- a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Source/ARM/Device_ac5.sct +++ /dev/null @@ -1,79 +0,0 @@ -#! armcc -E -; command above MUST be in first line (no comment above!) - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE) /* starts at end of RAM */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE ( __RAM_SIZE - __STACK_SIZE - __HEAP_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_RAM __RW_BASE __RW_SIZE { ; RW data - .ANY (+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } -} diff --git a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Source/ARM/Device_ac6.sct b/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Source/ARM/Device_ac6.sct deleted file mode 100644 index 0227d5b..0000000 --- a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Source/ARM/Device_ac6.sct +++ /dev/null @@ -1,119 +0,0 @@ -#! armclang -E --target=arm-arm-none-eabi -mcpu= -xc -; command above MUST be in first line (no comment above!) - -;Note: Add '-mcmse' to first line if your software model is "Secure Mode". -; #! armclang -E --target=arm-arm-none-eabi -mcpu= -xc -mcmse - - -/* -;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- -*/ - -/*--------------------- Flash Configuration ---------------------------------- -; Flash Configuration -; Flash Base Address <0x0-0xFFFFFFFF:8> -; Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x00000000 -#define __ROM_SIZE 0x00080000 - -/*--------------------- Embedded RAM Configuration --------------------------- -; RAM Configuration -; RAM Base Address <0x0-0xFFFFFFFF:8> -; RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x20000000 -#define __RAM_SIZE 0x00040000 - -/*--------------------- Stack / Heap Configuration --------------------------- -; Stack / Heap Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - *----------------------------------------------------------------------------*/ -#define __STACK_SIZE 0x00000200 -#define __HEAP_SIZE 0x00000C00 - -/*--------------------- CMSE Veneer Configuration --------------------------- -; CMSE Veneer Configuration -; CMSE Veneer Size (in Bytes) <0x0-0xFFFFFFFF:32> -; - *----------------------------------------------------------------------------*/ -#define __CMSEVENEER_SIZE 0x200 - -/* -;------------- <<< end of configuration section >>> --------------------------- -*/ - -/* ---------------------------------------------------------------------------- - Stack seal size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __STACKSEAL_SIZE ( 8 ) -#else -#define __STACKSEAL_SIZE ( 0 ) -#endif - - -/*---------------------------------------------------------------------------- - User Stack & Heap boundary definition - *----------------------------------------------------------------------------*/ -#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ -#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ - - -/*---------------------------------------------------------------------------- - Region base & size definition - *----------------------------------------------------------------------------*/ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) -#define __CV_SIZE ( __CMSEVENEER_SIZE ) -#else -#define __CV_SIZE ( 0 ) -#endif - -#define __RO_BASE ( __ROM_BASE ) -#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) - -#define __RW_BASE ( __RAM_BASE ) -#define __RW_SIZE ( __RAM_SIZE - __STACK_SIZE - __HEAP_SIZE ) - - -/*---------------------------------------------------------------------------- - Scatter Region definition - *----------------------------------------------------------------------------*/ -LR_ROM __RO_BASE __RO_SIZE { ; load region size_region - ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - .ANY (+XO) - } - - RW_RAM __RW_BASE __RW_SIZE { ; RW data - .ANY (+RW +ZI) - } - -#if __HEAP_SIZE > 0 - ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap - } -#endif - - ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack - } - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack - } -#endif -} - -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Veneers - ER_CMSE_VENEER __CV_BASE __CV_SIZE { - *(Veneer$$CMSE) - } -} -#endif diff --git a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Source/ARM/startup_Device_ac5.s b/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Source/ARM/startup_Device_ac5.s deleted file mode 100644 index 562d500..0000000 --- a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Source/ARM/startup_Device_ac5.s +++ /dev/null @@ -1,137 +0,0 @@ -;/*************************************************************************//** -; * @file startup_.s -; * @brief CMSIS-Core(M) Device Startup File for -; * Device (using Arm Compiler 5 with scatter file) -; * @version V1.0.0 -; * @date 20. January 2021 -; ****************************************************************************/ -;/* -; * Copyright (c) 2009-2021 Arm Limited. All rights reserved. -; * -; * SPDX-License-Identifier: Apache-2.0 -; * -; * Licensed under the Apache License, Version 2.0 (the License); you may -; * not use this file except in compliance with the License. -; * You may obtain a copy of the License at -; * -; * www.apache.org/licenses/LICENSE-2.0 -; * -; * Unless required by applicable law or agreed to in writing, software -; * distributed under the License is distributed on an AS IS BASIS, WITHOUT -; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; * See the License for the specific language governing permissions and -; * limitations under the License. -; */ - - - PRESERVE8 - THUMB - - -; Vector Table Mapped to Address 0 at Reset - - AREA RESET, DATA, READONLY - EXPORT __Vectors - EXPORT __Vectors_End - EXPORT __Vectors_Size - IMPORT |Image$$ARM_LIB_STACK$$ZI$$Limit| - -; ToDo: Add Cortex exception vectors according the used Cortex-Core -__Vectors DCD |Image$$ARM_LIB_STACK$$ZI$$Limit| ; Top of Stack - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; -14 NMI Handler - DCD HardFault_Handler ; -13 Hard Fault Handler - DCD MemManage_Handler ; -12 MPU Fault Handler - DCD BusFault_Handler ; -11 Bus Fault Handler - DCD UsageFault_Handler ; -10 Usage Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; -5 SVCall Handler - DCD DebugMon_Handler ; -4 Debug Monitor Handler - DCD 0 ; Reserved - DCD PendSV_Handler ; -2 PendSV Handler - DCD SysTick_Handler ; -1 SysTick Handler - -; ToDo: Add your device specific interrupt vectors - ; Interrupts - DCD _Handler ; first Device Interrupt - ... - DCD _Handler ; last Device Interrupt - -; ToDo: calculate the empty space according the used Cortex-Core - SPACE (x * 4) ; Interrupts x .. 224 are left out -__Vectors_End -__Vectors_Size EQU __Vectors_End - __Vectors - - - AREA |.text|, CODE, READONLY - -; Reset Handler - -Reset_Handler PROC - EXPORT Reset_Handler [WEAK] - IMPORT SystemInit - IMPORT __main - - LDR R0, =SystemInit - BLX R0 - LDR R0, =__main - BX R0 - ENDP - - -; The default macro is not used for HardFault_Handler -; because this results in a poor debug illusion. -HardFault_Handler PROC - EXPORT HardFault_Handler [WEAK] - B . - ENDP - -; Macro to define default exception/interrupt handlers. -; Default handler are weak symbols with an endless loop. -; They can be overwritten by real handlers. - MACRO - Set_Default_Handler $Handler_Name -$Handler_Name PROC - EXPORT $Handler_Name [WEAK] - B . - ENDP - MEND - - -; ToDo: Add Cortex exception handler according the used Cortex-Core -; Default exception/interrupt handler - Set_Default_Handler NMI_Handler -; Set_Default_Handler HardFault_Handler - Set_Default_Handler MemManage_Handler - Set_Default_Handler BusFault_Handler - Set_Default_Handler UsageFault_Handler - Set_Default_Handler SVC_Handler - Set_Default_Handler DebugMon_Handler - Set_Default_Handler PendSV_Handler - Set_Default_Handler SysTick_Handler - -; ToDo: Add your device specific interrupt handler - Set_Default_Handler _Handler - ... - Set_Default_Handler _Handler - - ALIGN - - -; User setup Stack & Heap - - IF :LNOT::DEF:__MICROLIB - IMPORT __use_two_region_memory - ENDIF - - EXPORT __stack_limit - EXPORT __initial_sp - IF Heap_Size != 0 ; Heap is provided - EXPORT __heap_base - EXPORT __heap_limit - ENDIF - - END diff --git a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Source/ARM/startup_Device_ac5_noSct.s b/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Source/ARM/startup_Device_ac5_noSct.s deleted file mode 100644 index 897562a..0000000 --- a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Source/ARM/startup_Device_ac5_noSct.s +++ /dev/null @@ -1,164 +0,0 @@ -;/*************************************************************************//** -; * @file startup_.s -; * @brief CMSIS-Core(M) Device Startup File for -; * Device (using Arm Compiler 5 without scatter file) -; * @version V1.0.0 -; * @date 20. January 2021 -; ****************************************************************************/ -;/* -; * Copyright (c) 2009-2021 Arm Limited. All rights reserved. -; * -; * SPDX-License-Identifier: Apache-2.0 -; * -; * Licensed under the Apache License, Version 2.0 (the License); you may -; * not use this file except in compliance with the License. -; * You may obtain a copy of the License at -; * -; * www.apache.org/licenses/LICENSE-2.0 -; * -; * Unless required by applicable law or agreed to in writing, software -; * distributed under the License is distributed on an AS IS BASIS, WITHOUT -; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; * See the License for the specific language governing permissions and -; * limitations under the License. -; */ - -;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ - - -; Stack Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Stack_Size EQU 0x00000400 - - AREA STACK, NOINIT, READWRITE, ALIGN=3 -__stack_limit -Stack_Mem SPACE Stack_Size -__initial_sp - - -; Heap Configuration -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Heap_Size EQU 0x00000C00 - - IF Heap_Size != 0 ; Heap is provided - AREA HEAP, NOINIT, READWRITE, ALIGN=3 -__heap_base -Heap_Mem SPACE Heap_Size -__heap_limit - ENDIF - - - PRESERVE8 - THUMB - - -; Vector Table Mapped to Address 0 at Reset - - AREA RESET, DATA, READONLY - EXPORT __Vectors - EXPORT __Vectors_End - EXPORT __Vectors_Size - -; ToDo: Add Cortex exception vectors according the used Cortex-Core -__Vectors DCD __initial_sp ; Top of Stack - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; -14 NMI Handler - DCD HardFault_Handler ; -13 Hard Fault Handler - DCD MemManage_Handler ; -12 MPU Fault Handler - DCD BusFault_Handler ; -11 Bus Fault Handler - DCD UsageFault_Handler ; -10 Usage Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; -5 SVCall Handler - DCD DebugMon_Handler ; -4 Debug Monitor Handler - DCD 0 ; Reserved - DCD PendSV_Handler ; -2 PendSV Handler - DCD SysTick_Handler ; -1 SysTick Handler - -; ToDo: Add your device specific interrupt vectors - ; Interrupts - DCD _Handler ; first Device Interrupt - ... - DCD _Handler ; last Device Interrupt - -; ToDo: calculate the empty space according the used Cortex-Core - SPACE (x * 4) ; Interrupts x .. 224 are left out -__Vectors_End -__Vectors_Size EQU __Vectors_End - __Vectors - - - AREA |.text|, CODE, READONLY - -; Reset Handler - -Reset_Handler PROC - EXPORT Reset_Handler [WEAK] - IMPORT SystemInit - IMPORT __main - - LDR R0, =SystemInit - BLX R0 - LDR R0, =__main - BX R0 - ENDP - - -; The default macro is not used for HardFault_Handler -; because this results in a poor debug illusion. -HardFault_Handler PROC - EXPORT HardFault_Handler [WEAK] - B . - ENDP - -; Macro to define default exception/interrupt handlers. -; Default handler are weak symbols with an endless loop. -; They can be overwritten by real handlers. - MACRO - Set_Default_Handler $Handler_Name -$Handler_Name PROC - EXPORT $Handler_Name [WEAK] - B . - ENDP - MEND - - -; ToDo: Add Cortex exception handler according the used Cortex-Core -; Default exception/interrupt handler - Set_Default_Handler NMI_Handler -; Set_Default_Handler HardFault_Handler - Set_Default_Handler MemManage_Handler - Set_Default_Handler BusFault_Handler - Set_Default_Handler UsageFault_Handler - Set_Default_Handler SVC_Handler - Set_Default_Handler DebugMon_Handler - Set_Default_Handler PendSV_Handler - Set_Default_Handler SysTick_Handler - -; ToDo: Add your device specific interrupt handler - Set_Default_Handler _Handler - ... - Set_Default_Handler _Handler - - ALIGN - - -; User setup Stack & Heap - - IF :LNOT::DEF:__MICROLIB - IMPORT __use_two_region_memory - ENDIF - - EXPORT __stack_limit - EXPORT __initial_sp - IF Heap_Size != 0 ; Heap is provided - EXPORT __heap_base - EXPORT __heap_limit - ENDIF - - END diff --git a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Source/ARM/startup_Device_ac6.S b/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Source/ARM/startup_Device_ac6.S deleted file mode 100644 index 160d1b3..0000000 --- a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Source/ARM/startup_Device_ac6.S +++ /dev/null @@ -1,151 +0,0 @@ -/**************************************************************************//** - * @file startup_.S - * @brief CMSIS-Core(M) Device Startup File for - * Device (using Arm Compiler 6 with scatter file) - * @version V1.0.0 - * @date 20. January 2021 - ******************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - .syntax unified -/* ToDo: Set .arch to the architecture according the used Cortex-Core */ - .arch armv8-m.main - - #define __INITIAL_SP Image$$ARM_LIB_STACK$$ZI$$Limit - #define __STACK_LIMIT Image$$ARM_LIB_STACK$$ZI$$Base - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #define __STACK_SEAL Image$$STACKSEAL$$ZI$$Base - #endif - - .section RESET - .align 2 - .globl __Vectors - .globl __Vectors_End - .globl __Vectors_Size -/* ToDo: Add Cortex exception vectors according the used Cortex-Core */ -__Vectors: - .long __INITIAL_SP /* Initial Stack Pointer */ - .long Reset_Handler /* Reset Handler */ - .long NMI_Handler /* -14 NMI Handler */ - .long HardFault_Handler /* -13 Hard Fault Handler */ - .long MemManage_Handler /* -12 MPU Fault Handler */ - .long BusFault_Handler /* -11 Bus Fault Handler */ - .long UsageFault_Handler /* -10 Usage Fault Handler */ - .long SecureFault_Handler /* -9 Secure Fault Handler */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long SVC_Handler /* -5 SVCall Handler */ - .long DebugMon_Handler /* -4 Debug Monitor Handler */ - .long 0 /* Reserved */ - .long PendSV_Handler /* -2 PendSV Handler */ - .long SysTick_Handler /* -1 SysTick Handler */ - -/* ToDo: Add your device specific interrupt vectors */ - /* Interrupts */ - .long _Handler /* first Device Interrupt */ - ... - .long _Handler /* last Device Interrupt */ - -/* ToDo: calculate the empty space according the used Cortex-Core */ - .space (x * 4) /* Interrupts x .. 480 are left out */ -__Vectors_End: - .equ __Vectors_Size, __Vectors_End - __Vectors - .size __Vectors, . - __Vectors - - - .thumb - .section .text - .align 2 - - .thumb_func - .type Reset_Handler, %function - .globl Reset_Handler - .fnstart -Reset_Handler: - ldr r0, =__INITIAL_SP - msr psp, r0 - - ldr r0, =__STACK_LIMIT - msr msplim, r0 - msr psplim, r0 - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - ldr r0, =__STACK_SEAL - ldr r1, =0xFEF5EDA5U - strd r1,r1,[r0,#0] - #endif - - bl SystemInit - - bl __main - - .fnend - .size Reset_Handler, . - Reset_Handler - - -/* The default macro is not used for HardFault_Handler - * because this results in a poor debug illusion. - */ - .thumb_func - .type HardFault_Handler, %function - .weak HardFault_Handler - .fnstart -HardFault_Handler: - b . - .fnend - .size HardFault_Handler, . - HardFault_Handler - - .thumb_func - .type Default_Handler, %function - .weak Default_Handler - .fnstart -Default_Handler: - b . - .fnend - .size Default_Handler, . - Default_Handler - -/* Macro to define default exception/interrupt handlers. - * Default handler are weak symbols with an endless loop. - * They can be overwritten by real handlers. - */ - .macro Set_Default_Handler Handler_Name - .weak \Handler_Name - .set \Handler_Name, Default_Handler - .endm - - -/* ToDo: Add Cortex exception handler according the used Cortex-Core */ -/* Default exception/interrupt handler */ - Set_Default_Handler NMI_Handler - Set_Default_Handler MemManage_Handler - Set_Default_Handler BusFault_Handler - Set_Default_Handler UsageFault_Handler - Set_Default_Handler SecureFault_Handler - Set_Default_Handler SVC_Handler - Set_Default_Handler DebugMon_Handler - Set_Default_Handler PendSV_Handler - Set_Default_Handler SysTick_Handler - -/* ToDo: Add your device specific interrupt handler */ - Set_Default_Handler _Handler - ... - Set_Default_Handler _Handler - - .end diff --git a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Source/GCC/gcc_arm.ld b/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Source/GCC/gcc_arm.ld deleted file mode 100644 index 4c5b690..0000000 --- a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Source/GCC/gcc_arm.ld +++ /dev/null @@ -1,316 +0,0 @@ -/****************************************************************************** - * @file gcc_arm.ld - * @brief GNU Linker Script for Cortex-M based device - * @version V2.2.0 - * @date 20. January 2021 - ******************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - *-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- - */ - -/*---------------------- Flash Configuration ---------------------------------- - Flash Configuration - Flash Base Address <0x0-0xFFFFFFFF:8> - Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__ROM_BASE = 0x00000000; -__ROM_SIZE = 0x00040000; - -/*--------------------- Embedded RAM Configuration ---------------------------- - RAM Configuration - RAM Base Address <0x0-0xFFFFFFFF:8> - RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__RAM_BASE = 0x20000000; -__RAM_SIZE = 0x00020000; - -/*--------------------- Stack / Heap Configuration ---------------------------- - Stack / Heap Configuration - Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - - -----------------------------------------------------------------------------*/ -__STACK_SIZE = 0x00000400; -__HEAP_SIZE = 0x00000C00; - -/* - *-------------------- <<< end of configuration section >>> ------------------- - */ - -/* ARMv8-M stack sealing: - to use ARMv8-M stack sealing set __STACKSEAL_SIZE to 8 otherwise keep 0 - */ -__STACKSEAL_SIZE = 0; - - -MEMORY -{ - FLASH (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE - RAM (rwx) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE -} - -/* Linker script to place sections and symbol values. Should be used together - * with other linker script that defines memory regions FLASH and RAM. - * It references following symbols, which must be defined in code: - * Reset_Handler : Entry of reset handler - * - * It defines following symbols, which code can use without definition: - * __exidx_start - * __exidx_end - * __copy_table_start__ - * __copy_table_end__ - * __zero_table_start__ - * __zero_table_end__ - * __etext - * __data_start__ - * __preinit_array_start - * __preinit_array_end - * __init_array_start - * __init_array_end - * __fini_array_start - * __fini_array_end - * __data_end__ - * __bss_start__ - * __bss_end__ - * __end__ - * end - * __HeapLimit - * __StackLimit - * __StackTop - * __stack - * __StackSeal (only if ARMv8-M stack sealing is used) - */ -ENTRY(Reset_Handler) - -SECTIONS -{ - .text : - { - KEEP(*(.vectors)) - *(.text*) - - KEEP(*(.init)) - KEEP(*(.fini)) - - /* .ctors */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - - /* .dtors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - *(.rodata*) - - KEEP(*(.eh_frame*)) - } > FLASH - - /* - * SG veneers: - * All SG veneers are placed in the special output section .gnu.sgstubs. Its start address - * must be set, either with the command line option ‘--section-start’ or in a linker script, - * to indicate where to place these veneers in memory. - */ -/* - .gnu.sgstubs : - { - . = ALIGN(32); - } > FLASH -*/ - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - .copy.table : - { - . = ALIGN(4); - __copy_table_start__ = .; - - LONG (__etext) - LONG (__data_start__) - LONG ((__data_end__ - __data_start__) / 4) - - /* Add each additional data section here */ -/* - LONG (__etext2) - LONG (__data2_start__) - LONG ((__data2_end__ - __data2_start__) / 4) -*/ - __copy_table_end__ = .; - } > FLASH - - .zero.table : - { - . = ALIGN(4); - __zero_table_start__ = .; - /* Add each additional bss section here */ -/* - LONG (__bss2_start__) - LONG ((__bss2_end__ - __bss2_start__) / 4) -*/ - __zero_table_end__ = .; - } > FLASH - - /** - * Location counter can end up 2byte aligned with narrow Thumb code but - * __etext is assumed by startup code to be the LMA of a section in RAM - * which must be 4byte aligned - */ - __etext = ALIGN (4); - - .data : AT (__etext) - { - __data_start__ = .; - *(vtable) - *(.data) - *(.data.*) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP(*(SORT(.fini_array.*))) - KEEP(*(.fini_array)) - PROVIDE_HIDDEN (__fini_array_end = .); - - KEEP(*(.jcr*)) - . = ALIGN(4); - /* All data end */ - __data_end__ = .; - - } > RAM - - /* - * Secondary data section, optional - * - * Remember to add each additional data section - * to the .copy.table above to asure proper - * initialization during startup. - */ -/* - __etext2 = ALIGN (4); - - .data2 : AT (__etext2) - { - . = ALIGN(4); - __data2_start__ = .; - *(.data2) - *(.data2.*) - . = ALIGN(4); - __data2_end__ = .; - - } > RAM2 -*/ - - .bss : - { - . = ALIGN(4); - __bss_start__ = .; - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - } > RAM AT > RAM - - /* - * Secondary bss section, optional - * - * Remember to add each additional bss section - * to the .zero.table above to asure proper - * initialization during startup. - */ -/* - .bss2 : - { - . = ALIGN(4); - __bss2_start__ = .; - *(.bss2) - *(.bss2.*) - . = ALIGN(4); - __bss2_end__ = .; - } > RAM2 AT > RAM2 -*/ - - .heap (COPY) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - . = . + __HEAP_SIZE; - . = ALIGN(8); - __HeapLimit = .; - } > RAM - - .stack (ORIGIN(RAM) + LENGTH(RAM) - __STACK_SIZE - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackLimit = .; - . = . + __STACK_SIZE; - . = ALIGN(8); - __StackTop = .; - } > RAM - PROVIDE(__stack = __StackTop); - - /* ARMv8-M stack sealing: - to use ARMv8-M stack sealing uncomment '.stackseal' section - */ -/* - .stackseal (ORIGIN(RAM) + LENGTH(RAM) - __STACKSEAL_SIZE) (COPY) : - { - . = ALIGN(8); - __StackSeal = .; - . = . + 8; - . = ALIGN(8); - } > RAM -*/ - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") -} diff --git a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Source/GCC/startup_Device.S b/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Source/GCC/startup_Device.S deleted file mode 100644 index f27699e..0000000 --- a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Source/GCC/startup_Device.S +++ /dev/null @@ -1,194 +0,0 @@ -/**************************************************************************//** - * @file startup_.S - * @brief CMSIS-Core(M) Device Startup File for - * Device - * @version V1.0.0 - * @date 20. January 2021 - ******************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - .syntax unified -/* ToDo: Set .arch to the architecture according the used Cortex-Core */ - .arch armv8-m.main - - #define __INITIAL_SP __StackTop - #define __STACK_LIMIT __StackLimit - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #define __STACK_SEAL __StackSeal - #endif - - .section .vectors - .align 2 - .globl __Vectors - .globl __Vectors_End - .globl __Vectors_Size -/* ToDo: Add Cortex exception vectors according the used Cortex-Core */ -__Vectors: - .long __INITIAL_SP /* Initial Stack Pointer */ - .long Reset_Handler /* Reset Handler */ - .long NMI_Handler /* -14 NMI Handler */ - .long HardFault_Handler /* -13 Hard Fault Handler */ - .long MemManage_Handler /* -12 MPU Fault Handler */ - .long BusFault_Handler /* -11 Bus Fault Handler */ - .long UsageFault_Handler /* -10 Usage Fault Handler */ - .long SecureFault_Handler /* -9 Secure Fault Handler */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long 0 /* Reserved */ - .long SVC_Handler /* -5 SVCall Handler */ - .long DebugMon_Handler /* -4 Debug Monitor Handler */ - .long 0 /* Reserved */ - .long PendSV_Handler /* -2 PendSV Handler */ - .long SysTick_Handler /* -1 SysTick Handler */ - -/* ToDo: Add your device specific interrupt vectors */ - /* Interrupts */ - .long _Handler /* first Device Interrupt */ - ... - .long _Handler /* last Device Interrupt */ - -/* ToDo: calculate the empty space according the used Cortex-Core */ - .space (x * 4) /* Interrupts x .. 480 are left out */ -__Vectors_End: - .equ __Vectors_Size, __Vectors_End - __Vectors - .size __Vectors, . - __Vectors - - - .thumb - .section .text - .align 2 - - .thumb_func - .type Reset_Handler, %function - .globl Reset_Handler - .fnstart -Reset_Handler: - ldr r0, =__INITIAL_SP - msr psp, r0 - - ldr r0, =__STACK_LIMIT - msr msplim, r0 - msr psplim, r0 - - #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - ldr r0, =__STACK_SEAL - ldr r1, =0xFEF5EDA5U - strd r1,r1,[r0,#0] - #endif - - bl SystemInit - - ldr r4, =__copy_table_start__ - ldr r5, =__copy_table_end__ - -.L_loop0: - cmp r4, r5 - bge .L_loop0_done - ldr r1, [r4] /* source address */ - ldr r2, [r4, #4] /* destination address */ - ldr r3, [r4, #8] /* word count */ - lsl r3, r3, #2 /* byte count */ - -.L_loop0_0: - subs r3, #4 /* decrement byte count */ - ittt ge - ldrge r0, [r1, r3] - strge r0, [r2, r3] - bge .L_loop0_0 - - adds r4, #12 - b .L_loop0 -.L_loop0_done: - - ldr r3, =__zero_table_start__ - ldr r4, =__zero_table_end__ - -.L_loop2: - cmp r3, r4 - bge .L_loop2_done - ldr r1, [r3] /* destination address */ - ldr r2, [r3, #4] /* word count */ - lsl r2, r2, #2 /* byte count */ - movs r0, 0 - -.L_loop2_0: - subs r2, #4 /* decrement byte count */ - itt ge - strge r0, [r1, r2] - bge .L_loop2_0 - - adds r3, #8 - b .L_loop2 -.L_loop2_done: - - bl _start - - .fnend - .size Reset_Handler, . - Reset_Handler - - -/* The default macro is not used for HardFault_Handler - * because this results in a poor debug illusion. - */ - .thumb_func - .type HardFault_Handler, %function - .weak HardFault_Handler - .fnstart -HardFault_Handler: - b . - .fnend - .size HardFault_Handler, . - HardFault_Handler - - .thumb_func - .type Default_Handler, %function - .weak Default_Handler - .fnstart -Default_Handler: - b . - .fnend - .size Default_Handler, . - Default_Handler - -/* Macro to define default exception/interrupt handlers. - * Default handler are weak symbols with an endless loop. - * They can be overwritten by real handlers. - */ - .macro Set_Default_Handler Handler_Name - .weak \Handler_Name - .set \Handler_Name, Default_Handler - .endm - - -/* ToDo: Add Cortex exception handler according the used Cortex-Core */ -/* Default exception/interrupt handler */ - Set_Default_Handler NMI_Handler - Set_Default_Handler MemManage_Handler - Set_Default_Handler BusFault_Handler - Set_Default_Handler UsageFault_Handler - Set_Default_Handler SecureFault_Handler - Set_Default_Handler SVC_Handler - Set_Default_Handler DebugMon_Handler - Set_Default_Handler PendSV_Handler - Set_Default_Handler SysTick_Handler - -/* ToDo: Add your device specific interrupt handler */ - Set_Default_Handler _Handler - ... - Set_Default_Handler _Handler - - .end diff --git a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Source/startup_Device.c b/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Source/startup_Device.c deleted file mode 100644 index 5fc04b6..0000000 --- a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Source/startup_Device.c +++ /dev/null @@ -1,151 +0,0 @@ -/****************************************************************************** - * @file startup_.c - * @brief CMSIS-Core(M) Device Startup File for - * Device - * @version V1.0.0 - * @date 20. January 2021 - ******************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include ".h" - -/*--------------------------------------------------------------------------- - External References - *---------------------------------------------------------------------------*/ -extern uint32_t __INITIAL_SP; -extern uint32_t __STACK_LIMIT; -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -extern uint32_t __STACK_SEAL; -#endif - -extern __NO_RETURN void __PROGRAM_START(void); - -/*--------------------------------------------------------------------------- - Internal References - *---------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler (void); -__NO_RETURN void Default_Handler(void); - -/* ToDo: Add Cortex exception handler according the used Cortex-Core */ -/*--------------------------------------------------------------------------- - Exception / Interrupt Handler - *---------------------------------------------------------------------------*/ -/* Exceptions */ -void NMI_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void HardFault_Handler (void) __attribute__ ((weak)); -void MemManage_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void BusFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void UsageFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SecureFault_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DebugMon_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PendSV_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SysTick_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -/* ToDo: Add your device specific interrupt handler */ -void _Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -... -void _Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector table - *----------------------------------------------------------------------------*/ - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - -/* ToDo: Add Cortex exception vectors according the used Cortex-Core */ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[]; - const VECTOR_TABLE_Type __VECTOR_TABLE[] __VECTOR_TABLE_ATTRIBUTE = { - (VECTOR_TABLE_Type)(&__INITIAL_SP), /* Initial Stack Pointer */ - Reset_Handler, /* Reset Handler */ - NMI_Handler, /* -14 NMI Handler */ - HardFault_Handler, /* -13 Hard Fault Handler */ - MemManage_Handler, /* -12 MPU Fault Handler */ - BusFault_Handler, /* -11 Bus Fault Handler */ - UsageFault_Handler, /* -10 Usage Fault Handler */ - SecureFault_Handler, /* -9 Secure Fault Handler */ - 0, /* Reserved */ - 0, /* Reserved */ - 0, /* Reserved */ - SVC_Handler, /* -5 SVCall Handler */ - DebugMon_Handler, /* -4 Debug Monitor Handler */ - 0, /* Reserved */ - PendSV_Handler, /* -2 PendSV Handler */ - SysTick_Handler, /* -1 SysTick Handler */ - -/* ToDo: Add your device specific interrupt vectors */ - /* Interrupts */ - _Handler, /* first Device Interrupt */ - ... - _Handler /* last Device Interrupt */ -}; - -#if defined ( __GNUC__ ) -#pragma GCC diagnostic pop -#endif - -/*--------------------------------------------------------------------------- - Reset Handler called on controller reset - *---------------------------------------------------------------------------*/ -__NO_RETURN void Reset_Handler(void) -{ - __set_PSP((uint32_t)(&__INITIAL_SP)); - -/* ToDo: Initialize stack limit register for Armv8-M Main Extension based processors*/ - __set_MSPLIM((uint32_t)(&__STACK_LIMIT)); - __set_PSPLIM((uint32_t)(&__STACK_LIMIT)); - -/* ToDo: Add stack sealing for Armv8-M based processors */ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - __TZ_set_STACKSEAL_S((uint32_t *)(&__STACK_SEAL)); -#endif - - SystemInit(); /* CMSIS System Initialization */ - __PROGRAM_START(); /* Enter PreMain (C library entry point) */ -} - - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wmissing-noreturn" -#endif - -/*--------------------------------------------------------------------------- - Hard Fault Handler - *---------------------------------------------------------------------------*/ -void HardFault_Handler(void) -{ - while(1); -} - -/*--------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *---------------------------------------------------------------------------*/ -void Default_Handler(void) -{ - while(1); -} - -#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#endif diff --git a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Source/system_Device.c b/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Source/system_Device.c deleted file mode 100644 index f8695e8..0000000 --- a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device/Source/system_Device.c +++ /dev/null @@ -1,100 +0,0 @@ -/*************************************************************************//** - * @file system_.c - * @brief CMSIS-Core(M) Device Peripheral Access Layer Source File for - * Device - * @version V1.0.0 - * @date 20. January 2021 - *****************************************************************************/ -/* - * Copyright (c) 2009-2021 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include ".h" - -/* ToDo: Include partition header file if TZ is used */ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - #include "partition_.h" -#endif - - -/*--------------------------------------------------------------------------- - Define clocks - *---------------------------------------------------------------------------*/ -/* ToDo: Add here your necessary defines for device initialization - following is an example for different system frequencies */ -#define XTAL (12000000U) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (5 * XTAL) - - -/*--------------------------------------------------------------------------- - Exception / Interrupt Vector table - *---------------------------------------------------------------------------*/ -extern const VECTOR_TABLE_Type __VECTOR_TABLE[496]; - - -/*--------------------------------------------------------------------------- - System Core Clock Variable - *---------------------------------------------------------------------------*/ -/* ToDo: Initialize SystemCoreClock with the system core clock frequency value - achieved after system intitialization. - This means system core clock frequency after call to SystemInit() */ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Clock Frequency (Core Clock)*/ - - -/*--------------------------------------------------------------------------- - System Core Clock function - *---------------------------------------------------------------------------*/ -void SystemCoreClockUpdate (void) -{ -/* ToDo: Add code to calculate the system frequency based upon the current - register settings. - This function can be used to retrieve the system core clock frequeny - after user changed register sittings. */ - SystemCoreClock = SYSTEM_CLOCK; -} - - -/*--------------------------------------------------------------------------- - System initialization function - *---------------------------------------------------------------------------*/ -void SystemInit (void) -{ -/* ToDo: Add code to initialize the system. - Do not use global variables because this function is called before - reaching pre-main. RW section maybe overwritten afterwards. */ - -/* ToDo: Initialize VTOR if available */ -#if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U) - SCB->VTOR = (uint32_t)(&__VECTOR_TABLE[0]); -#endif - -/* ToDo: Enable co-processor if it is used */ -#if (defined (__FPU_USED) && (__FPU_USED == 1U)) || \ - (defined (__ARM_FEATURE_MVE) && (__ARM_FEATURE_MVE > 0U)) - SCB->CPACR |= ((3U << 10U*2U) | /* enable CP10 Full Access */ - (3U << 11U*2U) ); /* enable CP11 Full Access */ -#endif - -/* ToDo: Initialize SAU if TZ is used */ -#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) - TZ_SAU_Setup(); -#endif - - SystemCoreClock = SYSTEM_CLOCK; -} diff --git a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device_A/Include/Device.h b/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device_A/Include/Device.h deleted file mode 100644 index b6a8dde..0000000 --- a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device_A/Include/Device.h +++ /dev/null @@ -1,248 +0,0 @@ -/**************************************************************************//** - * @file .h - * @brief CMSIS Cortex-A Core Peripheral Access Layer Header File - * @version V1.01 - * @date 23. June 2020 - ******************************************************************************/ -/* - * Copyright (c) 2009-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef _H /* ToDo: replace '' with your device name */ -#define _H - -#ifdef __cplusplus -extern "C" { -#endif - -/* ToDo: replace '' with vendor name; add your doxyGen comment */ -/** @addtogroup - * @{ - */ - - -/* ToDo: replace '' with device name; add your doxyGen comment */ -/** @addtogroup - * @{ - */ - - -/** @addtogroup Configuration_of_CMSIS - * @{ - */ - - -/* =========================================================================================================================== */ -/* ================ Interrupt Number Definition ================ */ -/* =========================================================================================================================== */ - -typedef enum IRQn -{ -/* ======================================= ARM Cortex-A Specific Interrupt Numbers ========================================= */ - - /* Software Generated Interrupts */ - SGI0_IRQn = 0, /*!< Software Generated Interrupt 0 */ - SGI1_IRQn = 1, /*!< Software Generated Interrupt 1 */ - SGI2_IRQn = 2, /*!< Software Generated Interrupt 2 */ - SGI3_IRQn = 3, /*!< Software Generated Interrupt 3 */ - SGI4_IRQn = 4, /*!< Software Generated Interrupt 4 */ - SGI5_IRQn = 5, /*!< Software Generated Interrupt 5 */ - SGI6_IRQn = 6, /*!< Software Generated Interrupt 6 */ - SGI7_IRQn = 7, /*!< Software Generated Interrupt 7 */ - SGI8_IRQn = 8, /*!< Software Generated Interrupt 8 */ - SGI9_IRQn = 9, /*!< Software Generated Interrupt 9 */ - SGI10_IRQn = 10, /*!< Software Generated Interrupt 10 */ - SGI11_IRQn = 11, /*!< Software Generated Interrupt 11 */ - SGI12_IRQn = 12, /*!< Software Generated Interrupt 12 */ - SGI13_IRQn = 13, /*!< Software Generated Interrupt 13 */ - SGI14_IRQn = 14, /*!< Software Generated Interrupt 14 */ - SGI15_IRQn = 15, /*!< Software Generated Interrupt 15 */ - - /* Private Peripheral Interrupts */ - VirtualMaintenanceInterrupt_IRQn = 25, /*!< Virtual Maintenance Interrupt */ - HypervisorTimer_IRQn = 26, /*!< Hypervisor Timer Interrupt */ - VirtualTimer_IRQn = 27, /*!< Virtual Timer Interrupt */ - Legacy_nFIQ_IRQn = 28, /*!< Legacy nFIQ Interrupt */ - SecurePhyTimer_IRQn = 29, /*!< Secure Physical Timer Interrupt */ - NonSecurePhyTimer_IRQn = 30, /*!< Non-Secure Physical Timer Interrupt */ - Legacy_nIRQ_IRQn = 31, /*!< Legacy nIRQ Interrupt */ - - /* Shared Peripheral Interrupts */ - /* ToDo: add here your device specific external interrupt numbers */ - _IRQn = 0, /*!< Device Interrupt */ - -} IRQn_Type; - - -/* =========================================================================================================================== */ -/* ================ Processor and Core Peripheral Section ================ */ -/* =========================================================================================================================== */ - -/* =========================== Configuration of the Arm Cortex-A Processor and Core Peripherals ============================ */ -/* ToDo: set the defines according your Device */ -/* ToDo: define the correct core revision - 5U if your device is a CORTEX-A5 device - 7U if your device is a CORTEX-A7 device - 9U if your device is a CORTEX-A9 device */ -#define __CORTEX_A #U /*!< Cortex-A# Core */ -#define __CA_REV 0x0000U /*!< Core revision r0p0 */ -/* ToDo: define the correct core features for the */ -#define __FPU_PRESENT 1U /*!< Set to 1 if FPU is present */ -#define __GIC_PRESENT 1U /*!< Set to 1 if GIC is present */ -#define __TIM_PRESENT 1U /*!< Set to 1 if TIM is present */ -#define __L2C_PRESENT 1U /*!< Set to 1 if L2C is present */ - -/** @} */ /* End of group Configuration_of_CMSIS */ - -/* ToDo: include the correct core_ca#.h file - core_ca5.h if your device is a CORTEX-A5 device - core_ca7.h if your device is a CORTEX-A7 device - core_ca9.h if your device is a CORTEX-A9 device */ -#include /*!< Arm Cortex-A# processor and core peripherals */ -/* ToDo: include your system_.h file - replace '' with your device name */ -#include "system_.h" /*!< System */ - - -/* ======================================== Start of section using anonymous unions ======================================== */ -#if defined (__CC_ARM) - #pragma push - #pragma anon_unions -#elif defined (__ICCARM__) - #pragma language=extended -#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wc11-extensions" - #pragma clang diagnostic ignored "-Wreserved-id-macro" -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning 586 -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -/* =========================================================================================================================== */ -/* ================ Device Specific Peripheral Section ================ */ -/* =========================================================================================================================== */ - - -/** @addtogroup Device_Peripheral_peripherals - * @{ - */ - -/* ToDo: add here your device specific peripheral access structure typedefs - following is an example for a timer */ - -/* =========================================================================================================================== */ -/* ================ TMR ================ */ -/* =========================================================================================================================== */ - - -/** - * @brief Timer (TMR) - */ - -typedef struct -{ /*!< (@ 0x40000000) TIM Structure */ - __IOM uint32_t TimerLoad; /*!< (@ 0x00000004) Timer Load */ - __IM uint32_t TimerValue; /*!< (@ 0x00000008) Timer Counter Current Value */ - __IOM uint32_t TimerControl; /*!< (@ 0x0000000C) Timer Control */ - __OM uint32_t TimerIntClr; /*!< (@ 0x00000010) Timer Interrupt Clear */ - __IM uint32_t TimerRIS; /*!< (@ 0x00000014) Timer Raw Interrupt Status */ - __IM uint32_t TimerMIS; /*!< (@ 0x00000018) Timer Masked Interrupt Status */ - __IM uint32_t RESERVED[1]; - __IOM uint32_t TimerBGLoad; /*!< (@ 0x00000020) Background Load Register */ -} _TMR_TypeDef; - -/*@}*/ /* end of group _Peripherals */ - - -/* ========================================= End of section using anonymous unions ========================================= */ -#if defined (__CC_ARM) - #pragma pop -#elif defined (__ICCARM__) - /* leave anonymous unions enabled */ -#elif (__ARMCC_VERSION >= 6010050) - #pragma clang diagnostic pop -#elif defined (__GNUC__) - /* anonymous unions are enabled by default */ -#elif defined (__TMS470__) - /* anonymous unions are enabled by default */ -#elif defined (__TASKING__) - #pragma warning restore -#elif defined (__CSMC__) - /* anonymous unions are enabled by default */ -#else - #warning Not supported compiler type -#endif - - -/* =========================================================================================================================== */ -/* ================ Device Specific Peripheral Address Map ================ */ -/* =========================================================================================================================== */ - - -/* ToDo: add here your device peripherals base addresses - following is an example for timer */ -/** @addtogroup Device_Peripheral_peripheralAddr - * @{ - */ - -/* Peripheral and SRAM base address */ -#define _FLASH_BASE (0x00000000UL) /*!< (FLASH ) Base Address */ -#define _SRAM_BASE (0x20000000UL) /*!< (SRAM ) Base Address */ -#define _PERIPH_BASE (0x40000000UL) /*!< (Peripheral) Base Address */ - -/* Peripheral memory map */ -#define TIM0_BASE (_PERIPH_BASE) /*!< (Timer0 ) Base Address */ -#define TIM1_BASE (_PERIPH_BASE + 0x0800) /*!< (Timer1 ) Base Address */ -#define TIM2_BASE (_PERIPH_BASE + 0x1000) /*!< (Timer2 ) Base Address */ - -/** @} */ /* End of group Device_Peripheral_peripheralAddr */ - - -/* =========================================================================================================================== */ -/* ================ Peripheral declaration ================ */ -/* =========================================================================================================================== */ - - -/* ToDo: add here your device peripherals pointer definitions - following is an example for timer */ -/** @addtogroup Device_Peripheral_declaration - * @{ - */ - -#define _TIM0 ((_TMR_TypeDef *) TIM0_BASE) -#define _TIM1 ((_TMR_TypeDef *) TIM0_BASE) -#define _TIM2 ((_TMR_TypeDef *) TIM0_BASE) - - -/** @} */ /* End of group */ - -/** @} */ /* End of group */ - -#ifdef __cplusplus -} -#endif - -#endif /* _H */ diff --git a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device_A/Include/mem_Device.h b/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device_A/Include/mem_Device.h deleted file mode 100644 index 4a116ab..0000000 --- a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device_A/Include/mem_Device.h +++ /dev/null @@ -1,91 +0,0 @@ -/**************************************************************************//** - * @file mem_.h - * @brief CMSIS Cortex-A Memory base and size definitions (used in scatter file) - * @version V1.00 - * @date 10. January 2018 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef MEM__H /* ToDo: replace '' with your device name */ -#define MEM__H - -/*---------------------------------------------------------------------------- - User Stack & Heap size definition - *----------------------------------------------------------------------------*/ -/* -//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ -*/ - -/*--------------------- ROM Configuration ------------------------------------ -// -// ROM Configuration -// ROM Base Address <0x0-0xFFFFFFFF:8> -// ROM Size (in Bytes) <0x0-0xFFFFFFFF:8> -// - *----------------------------------------------------------------------------*/ -#define __ROM_BASE 0x80000000 -#define __ROM_SIZE 0x00200000 - -/*--------------------- RAM Configuration ----------------------------------- -// RAM Configuration -// RAM Base Address <0x0-0xFFFFFFFF:8> -// RAM Total Size (in Bytes) <0x0-0xFFFFFFFF:8> -// RW_DATA Size (in Bytes) <0x0-0xFFFFFFFF:8> -// ZI_DATA Size (in Bytes) <0x0-0xFFFFFFFF:8> -// Stack / Heap Configuration -// Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -// Exceptional Modes -// UND Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// ABT Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// SVC Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// IRQ Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// FIQ Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -// -// -// - *----------------------------------------------------------------------------*/ -#define __RAM_BASE 0x80200000 -#define __RAM_SIZE 0x00200000 - -#define __RW_DATA_SIZE 0x00100000 -#define __ZI_DATA_SIZE 0x000F0000 - -#define __STACK_SIZE 0x00001000 -#define __HEAP_SIZE 0x00008000 - -#define __UND_STACK_SIZE 0x00000100 -#define __ABT_STACK_SIZE 0x00000100 -#define __SVC_STACK_SIZE 0x00000100 -#define __IRQ_STACK_SIZE 0x00000100 -#define __FIQ_STACK_SIZE 0x00000100 - -/*----------------------------------------------------------------------------*/ - -/*--------------------- TTB Configuration ------------------------------------ -// -// TTB Configuration -// TTB Base Address <0x0-0xFFFFFFFF:8> -// TTB Size (in Bytes) <0x0-0xFFFFFFFF:8> -// - *----------------------------------------------------------------------------*/ -#define __TTB_BASE 0x80500000 -#define __TTB_SIZE 0x00004000 - -#endif /* MEM__H */ diff --git a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device_A/Include/system_Device.h b/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device_A/Include/system_Device.h deleted file mode 100644 index fb19dcd..0000000 --- a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device_A/Include/system_Device.h +++ /dev/null @@ -1,61 +0,0 @@ -/**************************************************************************//** - * @file system_.h - * @brief CMSIS Cortex-A Device Peripheral Access Layer - * @version V5.00 - * @date 10. January 2018 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef SYSTEM__H /* ToDo: replace '' with your device name */ -#define SYSTEM__H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */ - -/** - \brief Setup the microcontroller system. - - Initialize the System and update the SystemCoreClock variable. - */ -extern void SystemInit (void); - -/** - \brief Update SystemCoreClock variable. - - Updates the SystemCoreClock with current core Clock retrieved from cpu registers. - */ -extern void SystemCoreClockUpdate (void); - -/** - \brief Create Translation Table. - - Creates Memory Management Unit Translation Table. - */ -extern void MMU_CreateTranslationTable(void); - -#ifdef __cplusplus -} -#endif - -#endif /* SYSTEM__H */ diff --git a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device_A/Source/ARM/Device.sct b/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device_A/Source/ARM/Device.sct deleted file mode 100644 index e19bf70..0000000 --- a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device_A/Source/ARM/Device.sct +++ /dev/null @@ -1,75 +0,0 @@ -#! armcc -E -;************************************************** -; Copyright (c) 2017 ARM Ltd. All rights reserved. -;************************************************** - -; Scatter-file for Cortex-A - -; This scatter-file places application code, data, stack and heap at suitable addresses in the memory map. - -#include "mem_.h" - -SDRAM __ROM_BASE __ROM_SIZE ; load region size_region -{ - VECTORS __ROM_BASE __ROM_SIZE ; load address = execution address - { - * (RESET, +FIRST) ; Vector table and other startup code - * (InRoot$$Sections) ; All (library) code that must be in a root region - * (+RO-CODE) ; Application RO code (.text) - * (+RO-DATA) ; Application RO data (.constdata) - } - - RW_DATA __RAM_BASE __RW_DATA_SIZE - { * (+RW) } ; Application RW data (.data) - - ZI_DATA (__RAM_BASE+ - __RW_DATA_SIZE) __ZI_DATA_SIZE - { * (+ZI) } ; Application ZI data (.bss) - - ARM_LIB_HEAP (__RAM_BASE - +__RW_DATA_SIZE - +__ZI_DATA_SIZE) EMPTY __HEAP_SIZE ; Heap region growing up - { } - - ARM_LIB_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE - -__SVC_STACK_SIZE - -__ABT_STACK_SIZE - -__UND_STACK_SIZE) EMPTY -__STACK_SIZE ; Stack region growing down - { } - - UND_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE - -__SVC_STACK_SIZE - -__ABT_STACK_SIZE) EMPTY -__UND_STACK_SIZE ; UND mode stack - { } - - ABT_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE - -__SVC_STACK_SIZE) EMPTY -__ABT_STACK_SIZE ; ABT mode stack - { } - - SVC_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE - -__IRQ_STACK_SIZE) EMPTY -__SVC_STACK_SIZE ; SVC mode stack - { } - - IRQ_STACK (__RAM_BASE - +__RAM_SIZE - -__FIQ_STACK_SIZE) EMPTY -__IRQ_STACK_SIZE ; IRQ mode stack - { } - - FIQ_STACK (__RAM_BASE - +__RAM_SIZE) EMPTY -__FIQ_STACK_SIZE ; FIQ mode stack - { } - - TTB __TTB_BASE EMPTY __TTB_SIZE ; Level-1 Translation Table for MMU - { } -} diff --git a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device_A/Source/ARM/startup_Device.c b/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device_A/Source/ARM/startup_Device.c deleted file mode 100644 index d0e8384..0000000 --- a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device_A/Source/ARM/startup_Device.c +++ /dev/null @@ -1,145 +0,0 @@ -/****************************************************************************** - * @file startup_.c - * @brief CMSIS Cortex-A Device Startup - * @version V1.00 - * @date 10. January 2018 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include ".h" /* ToDo: replace '' with your device name */ - -/*---------------------------------------------------------------------------- - Definitions - *----------------------------------------------------------------------------*/ -#define USR_MODE 0x10 // User mode -#define FIQ_MODE 0x11 // Fast Interrupt Request mode -#define IRQ_MODE 0x12 // Interrupt Request mode -#define SVC_MODE 0x13 // Supervisor mode -#define ABT_MODE 0x17 // Abort mode -#define UND_MODE 0x1B // Undefined Instruction mode -#define SYS_MODE 0x1F // System mode - -/*---------------------------------------------------------------------------- - Internal References - *----------------------------------------------------------------------------*/ -void Vectors (void) __attribute__ ((section("RESET"))); -void Reset_Handler (void); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Handler - *----------------------------------------------------------------------------*/ -void Undef_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void SVC_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void PAbt_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void DAbt_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void IRQ_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); -void FIQ_Handler (void) __attribute__ ((weak, alias("Default_Handler"))); - -/*---------------------------------------------------------------------------- - Exception / Interrupt Vector Table - *----------------------------------------------------------------------------*/ -__ASM void Vectors(void) { - IMPORT Undef_Handler - IMPORT SVC_Handler - IMPORT PAbt_Handler - IMPORT DAbt_Handler - IMPORT IRQ_Handler - IMPORT FIQ_Handler - LDR PC, =Reset_Handler - LDR PC, =Undef_Handler - LDR PC, =SVC_Handler - LDR PC, =PAbt_Handler - LDR PC, =DAbt_Handler - NOP - LDR PC, =IRQ_Handler - LDR PC, =FIQ_Handler -} - -/*---------------------------------------------------------------------------- - Reset Handler called on controller reset - *----------------------------------------------------------------------------*/ -__ASM void Reset_Handler(void) { - - // Mask interrupts - CPSID if - - // Put any cores other than 0 to sleep - MRC p15, 0, R0, c0, c0, 5 // Read MPIDR - ANDS R0, R0, #3 -goToSleep - WFINE - BNE goToSleep - - // Reset SCTLR Settings - MRC p15, 0, R0, c1, c0, 0 // Read CP15 System Control register - BIC R0, R0, #(0x1 << 12) // Clear I bit 12 to disable I Cache - BIC R0, R0, #(0x1 << 2) // Clear C bit 2 to disable D Cache - BIC R0, R0, #0x1 // Clear M bit 0 to disable MMU - BIC R0, R0, #(0x1 << 11) // Clear Z bit 11 to disable branch prediction - BIC R0, R0, #(0x1 << 13) // Clear V bit 13 to disable hivecs - MCR p15, 0, R0, c1, c0, 0 // Write value back to CP15 System Control register - ISB - - // Configure ACTLR - MRC p15, 0, r0, c1, c0, 1 // Read CP15 Auxiliary Control Register - ORR r0, r0, #(1 << 1) // Enable L2 prefetch hint (UNK/WI since r4p1) - MCR p15, 0, r0, c1, c0, 1 // Write CP15 Auxiliary Control Register - - // Set Vector Base Address Register (VBAR) to point to this application's vector table - LDR R0, =Vectors - MCR p15, 0, R0, c12, c0, 0 - - // Setup Stack for each exceptional mode - IMPORT |Image$$FIQ_STACK$$ZI$$Limit| - IMPORT |Image$$IRQ_STACK$$ZI$$Limit| - IMPORT |Image$$SVC_STACK$$ZI$$Limit| - IMPORT |Image$$ABT_STACK$$ZI$$Limit| - IMPORT |Image$$UND_STACK$$ZI$$Limit| - IMPORT |Image$$ARM_LIB_STACK$$ZI$$Limit| - CPS #0x11 - LDR SP, =|Image$$FIQ_STACK$$ZI$$Limit| - CPS #0x12 - LDR SP, =|Image$$IRQ_STACK$$ZI$$Limit| - CPS #0x13 - LDR SP, =|Image$$SVC_STACK$$ZI$$Limit| - CPS #0x17 - LDR SP, =|Image$$ABT_STACK$$ZI$$Limit| - CPS #0x1B - LDR SP, =|Image$$UND_STACK$$ZI$$Limit| - CPS #0x1F - LDR SP, =|Image$$ARM_LIB_STACK$$ZI$$Limit| - - // Call SystemInit - IMPORT SystemInit - BL SystemInit - - // Unmask interrupts - CPSIE if - - // Call __main - IMPORT __main - BL __main -} - -/*---------------------------------------------------------------------------- - Default Handler for Exceptions / Interrupts - *----------------------------------------------------------------------------*/ -void Default_Handler(void) { - while(1); -} diff --git a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device_A/Source/mmu_Device.c b/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device_A/Source/mmu_Device.c deleted file mode 100644 index 0987a12..0000000 --- a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device_A/Source/mmu_Device.c +++ /dev/null @@ -1,232 +0,0 @@ -/**************************************************************************//** - * @file system_Device.c - * @brief MMU Configuration - * Device - * @version V1.1.0 - * @date 23. November 2018 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* Memory map description - - ToDo: add in this file your device memory map description - following is an example of a Cortex-A9 Arm FVP device - - Memory Type -0xFFFFFFFF |--------------------------| ------------ - | FLAG SYNC | Device Memory -0xFFFFF000 |--------------------------| ------------ - | Fault | Fault -0xFFF00000 |--------------------------| ------------ - | | Normal - | | - | Daughterboard | - | memory | - | | -0x80505000 |--------------------------| ------------ - |TTB (L2 Sync Flags ) 4k | Normal -0x80504C00 |--------------------------| ------------ - |TTB (L2 Peripherals-B) 16k| Normal -0x80504800 |--------------------------| ------------ - |TTB (L2 Peripherals-A) 16k| Normal -0x80504400 |--------------------------| ------------ - |TTB (L2 Priv Periphs) 4k | Normal -0x80504000 |--------------------------| ------------ - | TTB (L1 Descriptors) | Normal -0x80500000 |--------------------------| ------------ - | Heap | Normal - |--------------------------| ------------ - | Stack | Normal -0x80400000 |--------------------------| ------------ - | ZI Data | Normal -0x80300000 |--------------------------| ------------ - | RW Data | Normal -0x80200000 |--------------------------| ------------ - | RO Data | Normal - |--------------------------| ------------ - | RO Code | USH Normal -0x80000000 |--------------------------| ------------ - | Daughterboard | Fault - | HSB AXI buses | -0x40000000 |--------------------------| ------------ - | Daughterboard | Fault - | test chips peripherals | -0x2C002000 |--------------------------| ------------ - | Private Address | Device Memory -0x2C000000 |--------------------------| ------------ - | Daughterboard | Fault - | test chips peripherals | -0x20000000 |--------------------------| ------------ - | Peripherals | Device Memory RW/RO - | | & Fault -0x00000000 |--------------------------| -*/ - -// L1 Cache info and restrictions about architecture of the caches (CCSIR register): -// Write-Through support *not* available -// Write-Back support available. -// Read allocation support available. -// Write allocation support available. - -// Note: You should use the Shareable attribute carefully. -// For cores without coherency logic (such as SCU) marking a region as shareable forces the processor to not cache that region regardless of the inner cache settings. -// Cortex-A versions of RTX use LDREX/STREX instructions relying on Local monitors. Local monitors will be used only when the region gets cached, regions that are not cached will use the Global Monitor. -// Some Cortex-A implementations do not include Global Monitors, so wrongly setting the attribute Shareable may cause STREX to fail. - -// Recall: When the Shareable attribute is applied to a memory region that is not Write-Back, Normal memory, data held in this region is treated as Non-cacheable. -// When SMP bit = 0, Inner WB/WA Cacheable Shareable attributes are treated as Non-cacheable. -// When SMP bit = 1, Inner WB/WA Cacheable Shareable attributes are treated as Cacheable. - -// Following MMU configuration is expected -// SCTLR.AFE == 1 (Simplified access permissions model - AP[2:1] define access permissions, AP[0] is an access flag) -// SCTLR.TRE == 0 (TEX remap disabled, so memory type and attributes are described directly by bits in the descriptor) -// Domain 0 is always the Client domain -// Descriptors should place all memory in domain 0 - -#include ".h" /* ToDo: replace '' with your device name */ - -// L2 table pointers -//----------------------------------------------------- -#define PRIVATE_TABLE_L2_BASE_4k (0x80504000) //Map 4k Private Address space -#define SYNC_FLAGS_TABLE_L2_BASE_4k (0x80504C00) //Map 4k Flag synchronization -#define PERIPHERAL_A_TABLE_L2_BASE_64k (0x80504400) //Map 64k Peripheral #1 -#define PERIPHERAL_B_TABLE_L2_BASE_64k (0x80504800) //Map 64k Peripheral #2 - -//--------------------- PERIPHERALS ------------------- -#define PERIPHERAL_A_FAULT (0x00000000 + 0x1C000000) -#define PERIPHERAL_B_FAULT (0x00100000 + 0x1C000000) - -//--------------------- SYNC FLAGS -------------------- -#define FLAG_SYNC 0xFFFFF000 -#define F_SYNC_BASE 0xFFF00000 //1M aligned - -//Import symbols from linker -extern uint32_t Image$$VECTORS$$Base; -extern uint32_t Image$$RW_DATA$$Base; -extern uint32_t Image$$ZI_DATA$$Base; -extern uint32_t Image$$TTB$$ZI$$Base; - -static uint32_t Sect_Normal; // outer & inner wb/wa, non-shareable, executable, rw, domain 0, base addr 0 -static uint32_t Sect_Normal_Cod; // outer & inner wb/wa, non-shareable, executable, ro, domain 0, base addr 0 -static uint32_t Sect_Normal_RO; // as Sect_Normal_Cod, but not executable -static uint32_t Sect_Normal_RW; // as Sect_Normal_Cod, but writeable and not executable -static uint32_t Sect_Device_RO; // device, non-shareable, non-executable, ro, domain 0, base addr 0 -static uint32_t Sect_Device_RW; // as Sect_Device_RO, but writeable - -/* Define global descriptors */ -static uint32_t Page_L1_4k = 0x0; // generic -static uint32_t Page_L1_64k = 0x0; // generic -static uint32_t Page_4k_Device_RW; // shared device, not executable, rw, domain 0 -static uint32_t Page_64k_Device_RW; // shared device, not executable, rw, domain 0 - -void MMU_CreateTranslationTable(void) -{ - mmu_region_attributes_Type region; - - // Create 4GB of faulting entries - MMU_TTSection (&Image$$TTB$$ZI$$Base, 0, 4096, DESCRIPTOR_FAULT); - - /* - * Generate descriptors. Refer to core_ca.h to get information about attributes - * - */ - // Create descriptors for Vectors, RO, RW, ZI sections - section_normal(Sect_Normal, region); - section_normal_cod(Sect_Normal_Cod, region); - section_normal_ro(Sect_Normal_RO, region); - section_normal_rw(Sect_Normal_RW, region); - // Create descriptors for peripherals - section_Device_ro(Sect_Device_RO, region); - section_Device_rw(Sect_Device_RW, region); - // Create descriptors for 64k pages - page64k_Device_rw(Page_L1_64k, Page_64k_Device_RW, region); - // Create descriptors for 4k pages - page4k_Device_rw(Page_L1_4k, Page_4k_Device_RW, region); - - /* - * Define MMU flat-map regions and attributes - * - */ - // Define Image - MMU_TTSection (&Image$$TTB$$ZI$$Base, (uint32_t)&Image$$VECTORS$$Base , 1U, Sect_Normal_Cod); - MMU_TTSection (&Image$$TTB$$ZI$$Base, (uint32_t)&Image$$RW_DATA$$Base , 1U, Sect_Normal_RW); - MMU_TTSection (&Image$$TTB$$ZI$$Base, (uint32_t)&Image$$ZI_DATA$$Base , 1U, Sect_Normal_RW); - - // All DRAM executable, RW, cacheable - applications may choose to divide memory into RO executable - MMU_TTSection (&Image$$TTB$$ZI$$Base, (uint32_t)&Image$$TTB$$ZI$$Base , 2043U, Sect_Normal); - - //--------------------- PERIPHERALS ------------------- - MMU_TTSection (&Image$$TTB$$ZI$$Base, _FLASH_BASE0 , 64U, Sect_Device_RO); - MMU_TTSection (&Image$$TTB$$ZI$$Base, _FLASH_BASE1 , 64U, Sect_Device_RO); - MMU_TTSection (&Image$$TTB$$ZI$$Base, _SRAM_BASE , 64U, Sect_Device_RW); - MMU_TTSection (&Image$$TTB$$ZI$$Base, _VRAM_BASE , 32U, Sect_Device_RW); - MMU_TTSection (&Image$$TTB$$ZI$$Base, _ETHERNET_BASE , 16U, Sect_Device_RW); - MMU_TTSection (&Image$$TTB$$ZI$$Base, _USB_BASE , 16U, Sect_Device_RW); - - // Create (16 * 64k)=1MB faulting entries to cover peripheral range - MMU_TTPage64k(&Image$$TTB$$ZI$$Base, PERIPHERAL_A_FAULT , 16U, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, DESCRIPTOR_FAULT); - // Define peripheral range - MMU_TTPage64k(&Image$$TTB$$ZI$$Base, _DAP_BASE , 1U, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(&Image$$TTB$$ZI$$Base, _SYSTEM_REG_BASE , 1U, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(&Image$$TTB$$ZI$$Base, _SERIAL_BASE , 1U, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(&Image$$TTB$$ZI$$Base, _AACI_BASE , 1U, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(&Image$$TTB$$ZI$$Base, _MMCI_BASE , 1U, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(&Image$$TTB$$ZI$$Base, _KMI0_BASE , 2U, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(&Image$$TTB$$ZI$$Base, _UART_BASE , 4U, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(&Image$$TTB$$ZI$$Base, _WDT_BASE , 1U, Page_L1_64k, (uint32_t *)PERIPHERAL_A_TABLE_L2_BASE_64k, Page_64k_Device_RW); - - // Create (16 * 64k)=1MB faulting entries to cover peripheral range - MMU_TTPage64k(&Image$$TTB$$ZI$$Base, PERIPHERAL_B_FAULT , 16U, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, DESCRIPTOR_FAULT); - // Define peripheral range - MMU_TTPage64k(&Image$$TTB$$ZI$$Base, _TIMER_BASE , 2U, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(&Image$$TTB$$ZI$$Base, _DVI_BASE , 1U, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(&Image$$TTB$$ZI$$Base, _RTC_BASE , 1U, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(&Image$$TTB$$ZI$$Base, _UART4_BASE , 1U, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); - MMU_TTPage64k(&Image$$TTB$$ZI$$Base, _CLCD_BASE , 1U, Page_L1_64k, (uint32_t *)PERIPHERAL_B_TABLE_L2_BASE_64k, Page_64k_Device_RW); - - // Create (256 * 4k)=1MB faulting entries to cover private address space. Needs to be marked as Device memory - MMU_TTPage4k (&Image$$TTB$$ZI$$Base, __get_CBAR() , 256U, Page_L1_4k, (uint32_t *)PRIVATE_TABLE_L2_BASE_4k, DESCRIPTOR_FAULT); - // Define private address space entry - MMU_TTPage4k (&Image$$TTB$$ZI$$Base, __get_CBAR() , 2U, Page_L1_4k, (uint32_t *)PRIVATE_TABLE_L2_BASE_4k, Page_4k_Device_RW); - // Define L2CC entry - MMU_TTPage4k (&Image$$TTB$$ZI$$Base, _L2C_BASE , 1U, Page_L1_4k, (uint32_t *)PRIVATE_TABLE_L2_BASE_4k, Page_4k_Device_RW); - - // Create (256 * 4k)=1MB faulting entries to synchronization space (Useful if some non-cacheable DMA agent is present in the SoC) - MMU_TTPage4k (&Image$$TTB$$ZI$$Base, F_SYNC_BASE , 256U, Page_L1_4k, (uint32_t *)SYNC_FLAGS_TABLE_L2_BASE_4k, DESCRIPTOR_FAULT); - // Define synchronization space entry. - MMU_TTPage4k (&Image$$TTB$$ZI$$Base, FLAG_SYNC , 1U, Page_L1_4k, (uint32_t *)SYNC_FLAGS_TABLE_L2_BASE_4k, Page_4k_Device_RW); - - /* Set location of level 1 page table - ; 31:14 - Translation table base addr (31:14-TTBCR.N, TTBCR.N is 0 out of reset) - ; 13:7 - 0x0 - ; 6 - IRGN[0] 0x1 (Inner WB WA) - ; 5 - NOS 0x0 (Non-shared) - ; 4:3 - RGN 0x01 (Outer WB WA) - ; 2 - IMP 0x0 (Implementation Defined) - ; 1 - S 0x0 (Non-shared) - ; 0 - IRGN[1] 0x0 (Inner WB WA) */ - __set_TTBR0(((uint32_t)&Image$$TTB$$ZI$$Base) | 0x48); - __ISB(); - - /* Set up domain access control register - ; We set domain 0 to Client and all other domains to No Access. - ; All translation table entries specify domain 0 */ - __set_DACR(1); - __ISB(); -} diff --git a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device_A/Source/system_Device.c b/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device_A/Source/system_Device.c deleted file mode 100644 index 98a424c..0000000 --- a/external/CMSIS_5/Device/_Template_Vendor/Vendor/Device_A/Source/system_Device.c +++ /dev/null @@ -1,111 +0,0 @@ -/****************************************************************************** - * @file system_.c - * @brief CMSIS Cortex-A Device Peripheral Access Layer - * @version V1.00 - * @date 10. January 2018 - ******************************************************************************/ -/* - * Copyright (c) 2009-2018 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include ".h" /* ToDo: replace '' with your device name */ -#include "irq_ctrl.h" - -/*---------------------------------------------------------------------------- - Define clocks - *----------------------------------------------------------------------------*/ -/* ToDo: add here your necessary defines for device initialization - following is an example for different system frequencies */ -#define XTAL (12000000U) /* Oscillator frequency */ - -#define SYSTEM_CLOCK (5 * XTAL) - - -/*---------------------------------------------------------------------------- - System Core Clock Variable - *----------------------------------------------------------------------------*/ -/* ToDo: initialize SystemCoreClock with the system core clock frequency value - achieved after system intitialization. - This means system core clock frequency after call to SystemInit() */ -uint32_t SystemCoreClock = SYSTEM_CLOCK; /* System Clock Frequency (Core Clock)*/ - - - -/*---------------------------------------------------------------------------- - Clock functions - *----------------------------------------------------------------------------*/ - -void SystemCoreClockUpdate (void) /* Get Core Clock Frequency */ -{ -/* ToDo: add code to calculate the system frequency based upon the current - register settings. - This function can be used to retrieve the system core clock frequeny - after user changed register sittings. */ - SystemCoreClock = SYSTEM_CLOCK; -} - - -/*---------------------------------------------------------------------------- - System Initialization - *----------------------------------------------------------------------------*/ -void SystemInit (void) -{ -/* ToDo: add code to initialize the system - Do not use global variables because this function is called before - reaching pre-main. RW section may be overwritten afterwards. */ - SystemCoreClock = SYSTEM_CLOCK; - - // Invalidate entire Unified TLB - __set_TLBIALL(0); - - // Invalidate entire branch predictor array - __set_BPIALL(0); - __DSB(); - __ISB(); - - // Invalidate instruction cache and flush branch target cache - __set_ICIALLU(0); - __DSB(); - __ISB(); - - // Invalidate data cache - L1C_InvalidateDCacheAll(); - - // Create Translation Table - MMU_CreateTranslationTable(); - - // Enable MMU - MMU_Enable(); - - // Enable Caches - L1C_EnableCaches(); - L1C_EnableBTAC(); - -#if (__L2C_PRESENT == 1) - // Enable GIC - L2C_Enable(); -#endif - -#if ((__FPU_PRESENT == 1) && (__FPU_USED == 1)) - // Enable FPU - __FPU_Enable(); -#endif - - // IRQ Initialize - IRQ_Initialize(); -} diff --git a/firmware.bin b/firmware.bin index 9901c1ddff3e040480cb841ae982b2f70296c227..0e741d97f3f92c32cd6a232d2fe7340d6bf0d5f1 100644 GIT binary patch delta 716 zcmY+BOGs2<6vxjucbu`(Qq+Z*@wL&7kas4uba81>Ayi;$iy}m<=m8DV%V{u7QX9?H zWiX*&%7ukJ`6RMM&_X0(f*yl{6+$JN4~kZWQNIhe2=4Em|2f||=R4=#_K()e2kX(5 zfSNO%f$COuz`VFLl&Kor6Wv7xJC{WQUq!MZUqrXQ6WMPDx*IJLe)iOA&3&~UlMtW9)lEFS@>L{SKuO*ee_R23I6PRkqPp0sLLTw^E^WzGi}LFK9%P- z4TkL+4(i|#cm?BZ_RS}{34exy2CvR9`Y8T!IAz8LBUV8SImu>i*!H04T^m@&tr;pk z+(pDI_-_xUI8FRB&AvdKNw2~+Vgul3s$Trt=s45&pdX;Kh>u{`VV`4Pnbc6&s(p#{ z+N>q)m8NL_8qzQYlbkPtH%6NCC-5DA3Y+Xw@&}#8H5*|wY;kLc^NJmm_doYwPm(zY z2R#jE+{?pxDryqLKQh!C6Mr1>6{d;T*NappMUIf$Q7ZZ-u~CydvZ8|(;qvB+re>3$ zE(_R&+_(u!z=rMMfH)2>@9j9=2Wo+H5OrIoONv)pl<9qu^V%-gq4H2z+gqzb+p5AL aGcvuL9sK9qo&T*?9oxOXFkxbgoxZ_f2MJ^%B6&N=ryyUXv)j`!x> zOCBSqFMFz6jYIm$`QZZNpxxM2>Z@H8@yv^Op+rQrz82Z92f7+e3Vx;b8k4%NXIFtS zs{8B))7z30X@hnL+vu-$&odyQcl5WrSM_2hVNj0^hE3lGI&&Ap-%C8gl^J_^e30G!9F@< z1?o6B01eShBg^>%_(}ejm`)mE@`^%Guo)~nnkn|zpq%fyhuB2rS2%(` z2`zSKrr1d6zRVA|@kV#wi@P>X;n&xTgwrC&sJ&P&>IUAZE*e=@`LW}nV7M}-OR^Q7 zfS}iSTfqk%;pLorN|?*r%q;{3|0W)b4n*3RJ3KWzbRqtIFD1Wo^?V c(~I8xf648+-^NN3vhOTBHvw8d^<+eqU~Ts5ZFi^>2c z;36~te_P{JB@8;3OF3W+`#BWi$xXXQ=_4FMwqsrowtUAtgt^P%PO^b!<|<^czi3Es zI<^^}2d=(bak`ZrI7~Z%0_?Nhr!xal5vSIR)$Ap}M%VyfyW&(OB-WQ}VS)_%WcK38 z8M;U5Z5%?ji?R=v_su+{&L`n+jc#VfQHQX<9;9#@8lImg<-S{Sy?P!P?l^%00~1;( zzLR0A6CFrgeY;2fC|7Pcl8Y@Pz;d-#NVMyYVA}-^Onj@8k*gB{$+M-a^92E(vzf7P z0vTkEVB0&lOnmR^){9i_CBV-90AC^vR0UA8A+-D;2i0daiVXG$vn16l1~CJ^TXC;> z9vIX+fdUf{S}3SCx?Ni<{)U62Zya+25$TXH%M%%2eY;M?C|6fIl8Zi*f!ih>&4Ma{ z|DZK%$@HEymR4^sq{sUYq$(2Id;?Wg)U(9f?hOZaj8$hfrNy(k>HPr*JFLa=2Dd7c zz3a+%W3O%U%$p@VaWr$PQ^|v`;;z*>5_9Y$-1%w`YV4x z!=veL!AN%D4SFLg#_vDmzk=~Se40$g2T2APGO^G~RkZfiS|Y9vZIP(XIAoQohVbZ6 zNitDI*6e?}YCiQ{_;6%p1R|RKo^e$l z4^jEuSy1xxu`yTEe;A~$x*ja++qSUjP+vPPG^4K&)C_m?FuQwtC}|wM4pCEtiq5?q4AL2!o8!W`JUZ;hG0s_f}@f7eVe<#(y z=^61dCZYx#N)zVhIQ8!4_A`6*7~cv>5E?&`u`F%!mB}Iphy0Q)OB7c1KmZwtfbwS|`bSopq&IR7u=EEOP)O?;~UJwW( zkPCqL-%O82Fu$BDJJ%+QW3UlT*^>_T!NC*^-Gab-mPa;gw$k|s z+&c!7D@{*B)|4{6wZ`W=3yL7F2Rb@GQIw=AK+^W}XH?yP7^Q=^S7fP`;o-~|CSO7( j^SIPMndq{bxH>v1S9sQviya~iz*4nT*p;GTVcQt6mqUw1 delta 1381 zcmV-r1)BPf-UE`}1F(b!0kN}%27ws|E%Jm?SL+J14Isl_0YJ0Sey0clW|Mh`8x?s1 zCE!Xk0DrOxR0aJymrKaH4EyJ^sfS+!0qBzni&Fvhvt5fv2muYVrITL+4Jx}xl*o)= z+Y}E>e4~>QmpcVe_MRtavr(6O1qmzko+q5YTX8M3)tom26|fIXd_1Psi$vlj;A`0c zUrrBH1s9Vcpc_%X%Hd9kgJ$NSYp|crNN_p^^qwcvzguy9lpZ+ZJAnep{aOfZ+q!)o z$o_^Ba!?%V?Ge_AF!T(OZhgD)#VA)Y*OIGK&%jcBS4gxAVPN|OvyGtR0s**_aicRa z{eukq=J(>sp1VisTrEPjptTQ{2g^L9e#_xb+izyZ^=h!6#-VT;)AgPwcD`G2-m}%C zZvz$Ihp@j9OmI3o^`0l1R9jK^n;sZ+lUb)HUCqzHQe9I>w8d^<+eqU~Tq&m3i_QQg z;65|}e_P{JB@8;3OF3W+`#BWi$x*vU=_edQwqsrowtUAtguTn*PPTz&<|<^czjR1& zI<^^}2co`Pak`ZrI50bb0`Rllr!xal6{psV)$Ap}M%VyfyW&(OIM$bIWr7U*X!hdC z9lA&9VH`rXm$DC*_su+{&L`n+jc#VfRfn*@9;9#@8lImg8NFL^p?V$|(l~(v2NPN- zqLX2(6CE^MeY;2fC|7bgl8Y@Pz;d-#NVM;cVA}x=Onk4Ck*gB{&9kMe^92E#vzf7P z0vTwIVB0&lOnmR^){9i_CBV-90AC&rR0UMCA+-D;2Zk~*+YP4p4TtX z{_!(w$@HEymR4^sq{sUYq$(BLeGgSt(6hwb?hOZVj8tnirNOhg>HPr*Jgmh12DdJg zz3a+$>d@q$?4QLmS-GJ z+Pmp<(N6}m3ur%PrQs(0pNa4!I{r-4VLAr`QR2Z}Tk?|CPh{N=aFK}a7-Y4I2= zTPOb5N;tZo#!4dCY8&MBpKVdI{>96&bu2)35tZj1(OGwrU7J5>Wmjf}lC*dth96yj z6dc#FBqNA#rw=aJ4uZyZ>~^Cb*+eVyrE~?ld%-S{OL^6lZ^HJ$5(1_Fr3aQ+Us=$& z=@iFP2E;oOZzZmPPsP80_cd#pOWkHvQyN_2*I!oB^Rss%z7hzuu9|g0v(TgVwNN<# zBQ&Lt6_*TBfC%4xTz+>4(t+^#s2?IO!-BpB17RFunA6iKvN7lHjHAk?2H#{Rq z$M7~K`)|o?4!t_F>O{4>*GRG;kvU4f?sYnw%4Fo zq&^na78_3#gVsuwkMjL}FuGdR7Ak9NQIY+6IM?R2S_0iDP3QZcZBU-`jDzz#dl6Gs n?1OQ`31C*X4xlN|R42ugiya~mz)}ZSNR(M)@Y;OhO?;uI<0z3L diff --git a/main.c b/main.c index 67713d2..d2ef779 100644 --- a/main.c +++ b/main.c @@ -188,6 +188,10 @@ void Main(void) #if defined(ENABLE_UART) UART_SendText(UART_Version_str); UART_SendText("\r\n"); + { + //const unsigned long *unique = (const unsigned long *)0x1FFFF7E8; // STM32 M0 + //UART_printf("serial num %08X %08X %08X\r\n", unique[0], unique[1], unique[2]); + } #endif BootMode = BOOT_GetMode();