diff options
author | Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com> | 2023-04-03 12:58:42 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-03 12:58:42 +0530 |
commit | aba448be9c9c93c2435203fc0a970bb062561451 (patch) | |
tree | 8bf39889a5ab711e98380eb8aa4259c35db80fd4 | |
parent | 4408d7430e814364fd9f89b318a623e4ecaf9f12 (diff) | |
download | freertos-git-aba448be9c9c93c2435203fc0a970bb062561451.tar.gz |
Add register tests to H743ZI2 demo project (#977)
Add register tests to H743ZI2 demo project.
Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
Co-authored-by: kar-rahul-aws <karahulx@amazon.com>
20 files changed, 8947 insertions, 1615 deletions
diff --git a/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/.gitignore b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/.gitignore index 09653aa29..4e9d49973 100644 --- a/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/.gitignore +++ b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/.gitignore @@ -11,8 +11,11 @@ EventRecorderStub.scvd # STM32CubeIDE autogenerated files. .settings/ +*.launch # Build Artifacts Debug/ Listings/ Objects/ +BrowseInfo/ +BuildLogs/ diff --git a/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Config/FreeRTOSConfig.h b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Config/FreeRTOSConfig.h index ab45ee9da..bbfb3caf6 100644 --- a/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Config/FreeRTOSConfig.h +++ b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Config/FreeRTOSConfig.h @@ -139,4 +139,6 @@ See http://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html. */ * used. TEX=0, S=0, C=1, B=1. */ #define configTEX_S_C_B_SRAM ( 0x03UL ) +/* Do not allow critical sections from unprivileged tasks. */ +#define configALLOW_UNPRIVILEGED_CRITICAL_SECTIONS 0 #endif /* FREERTOS_CONFIG_H */ diff --git a/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Demo/GCC/reg_tests_asm.c b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Demo/GCC/reg_tests_asm.c new file mode 100644 index 000000000..3c02e6921 --- /dev/null +++ b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Demo/GCC/reg_tests_asm.c @@ -0,0 +1,988 @@ +/* + * FreeRTOS V202212.00 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * https://www.FreeRTOS.org + * https://github.com/FreeRTOS + * + */ + +/* + * "Reg test" tasks - These fill the registers with known values, then check + * that each register maintains its expected value for the lifetime of the + * task. Each task uses a different set of values. The reg test tasks execute + * with a very low priority, so get preempted very frequently. A register + * containing an unexpected value is indicative of an error in the context + * switching mechanism. + */ +/*-----------------------------------------------------------*/ + +/* Functions that implement reg tests. */ +void vRegTest1Asm( void ) __attribute__( ( naked ) ); +void vRegTest2Asm( void ) __attribute__( ( naked ) ); +void vRegTest3Asm( void ) __attribute__( ( naked ) ); +void vRegTest4Asm( void ) __attribute__( ( naked ) ); +/*-----------------------------------------------------------*/ + +void vRegTest1Asm( void ) /* __attribute__( ( naked ) ) */ +{ + __asm volatile + ( + ".extern ulRegTest1LoopCounter \n" + ".syntax unified \n" + " \n" + " /* Fill the core registers with known values. */ \n" + " movs r0, #100 \n" + " movs r1, #101 \n" + " movs r2, #102 \n" + " movs r3, #103 \n" + " movs r4, #104 \n" + " movs r5, #105 \n" + " movs r6, #106 \n" + " movs r7, #107 \n" + " mov r8, #108 \n" + " mov r9, #109 \n" + " mov r10, #110 \n" + " mov r11, #111 \n" + " mov r12, #112 \n" + " \n" + " /* Fill the FPU registers with known values. */ \n" + " vmov.f32 s1, #1.5 \n" + " vmov.f32 s2, #2.5 \n" + " vmov.f32 s3, #3.5 \n" + " vmov.f32 s4, #4.5 \n" + " vmov.f32 s5, #5.5 \n" + " vmov.f32 s6, #6.5 \n" + " vmov.f32 s7, #7.5 \n" + " vmov.f32 s8, #8.5 \n" + " vmov.f32 s9, #9.5 \n" + " vmov.f32 s10, #10.5 \n" + " vmov.f32 s11, #11.5 \n" + " vmov.f32 s12, #12.5 \n" + " vmov.f32 s13, #13.5 \n" + " vmov.f32 s14, #14.5 \n" + " vmov.f32 s15, #1.0 \n" + " vmov.f32 s16, #2.0 \n" + " vmov.f32 s17, #3.0 \n" + " vmov.f32 s18, #4.0 \n" + " vmov.f32 s19, #5.0 \n" + " vmov.f32 s20, #6.0 \n" + " vmov.f32 s21, #7.0 \n" + " vmov.f32 s22, #8.0 \n" + " vmov.f32 s23, #9.0 \n" + " vmov.f32 s24, #10.0 \n" + " vmov.f32 s25, #11.0 \n" + " vmov.f32 s26, #12.0 \n" + " vmov.f32 s27, #13.0 \n" + " vmov.f32 s28, #14.0 \n" + " vmov.f32 s29, #1.5 \n" + " vmov.f32 s30, #2.5 \n" + " vmov.f32 s31, #3.5 \n" + " \n" + "reg1_loop: \n" + " \n" + " /* Verify that core registers contain correct values. */ \n" + " cmp r0, #100 \n" + " bne reg1_error_loop \n" + " cmp r1, #101 \n" + " bne reg1_error_loop \n" + " cmp r2, #102 \n" + " bne reg1_error_loop \n" + " cmp r3, #103 \n" + " bne reg1_error_loop \n" + " cmp r4, #104 \n" + " bne reg1_error_loop \n" + " cmp r5, #105 \n" + " bne reg1_error_loop \n" + " cmp r6, #106 \n" + " bne reg1_error_loop \n" + " cmp r7, #107 \n" + " bne reg1_error_loop \n" + " cmp r8, #108 \n" + " bne reg1_error_loop \n" + " cmp r9, #109 \n" + " bne reg1_error_loop \n" + " cmp r10, #110 \n" + " bne reg1_error_loop \n" + " cmp r11, #111 \n" + " bne reg1_error_loop \n" + " cmp r12, #112 \n" + " bne reg1_error_loop \n" + " \n" + " /* Verify that FPU registers contain correct values. */ \n" + " vmov.f32 s0, #1.5 \n" /* s0 = 1.5. */ + " vcmp.f32 s1, s0 \n" /* Compare s0 and s1. */ + " vmrs APSR_nzcv, FPSCR \n" /* Copy floating point flags (FPSCR flags) to ASPR flags - needed for next bne to work. */ + " bne reg1_error_loop \n" + " vmov.f32 s0, #2.5 \n" + " vcmp.f32 s2, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg1_error_loop \n" + " vmov.f32 s0, #3.5 \n" + " vcmp.f32 s3, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg1_error_loop \n" + " vmov.f32 s0, #4.5 \n" + " vcmp.f32 s4, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg1_error_loop \n" + " vmov.f32 s0, #5.5 \n" + " vcmp.f32 s5, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg1_error_loop \n" + " vmov.f32 s0, #6.5 \n" + " vcmp.f32 s6, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg1_error_loop \n" + " vmov.f32 s0, #7.5 \n" + " vcmp.f32 s7, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg1_error_loop \n" + " vmov.f32 s0, #8.5 \n" + " vcmp.f32 s8, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg1_error_loop \n" + " vmov.f32 s0, #9.5 \n" + " vcmp.f32 s9, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg1_error_loop \n" + " vmov.f32 s0, #10.5 \n" + " vcmp.f32 s10, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg1_error_loop \n" + " vmov.f32 s0, #11.5 \n" + " vcmp.f32 s11, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg1_error_loop \n" + " vmov.f32 s0, #12.5 \n" + " vcmp.f32 s12, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg1_error_loop \n" + " vmov.f32 s0, #13.5 \n" + " vcmp.f32 s13, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg1_error_loop \n" + " vmov.f32 s0, #14.5 \n" + " vcmp.f32 s14, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg1_error_loop \n" + " vmov.f32 s0, #1.0 \n" + " vcmp.f32 s15, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg1_error_loop \n" + " vmov.f32 s0, #2.0 \n" + " vcmp.f32 s16, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg1_error_loop \n" + " vmov.f32 s0, #3.0 \n" + " vcmp.f32 s17, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg1_error_loop \n" + " vmov.f32 s0, #4.0 \n" + " vcmp.f32 s18, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg1_error_loop \n" + " vmov.f32 s0, #5.0 \n" + " vcmp.f32 s19, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg1_error_loop \n" + " vmov.f32 s0, #6.0 \n" + " vcmp.f32 s20, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg1_error_loop \n" + " vmov.f32 s0, #7.0 \n" + " vcmp.f32 s21, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg1_error_loop \n" + " vmov.f32 s0, #8.0 \n" + " vcmp.f32 s22, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg1_error_loop \n" + " vmov.f32 s0, #9.0 \n" + " vcmp.f32 s23, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg1_error_loop \n" + " vmov.f32 s0, #10.0 \n" + " vcmp.f32 s24, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg1_error_loop \n" + " vmov.f32 s0, #11.0 \n" + " vcmp.f32 s25, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg1_error_loop \n" + " vmov.f32 s0, #12.0 \n" + " vcmp.f32 s26, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg1_error_loop \n" + " vmov.f32 s0, #13.0 \n" + " vcmp.f32 s27, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg1_error_loop \n" + " vmov.f32 s0, #14.0 \n" + " vcmp.f32 s28, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg1_error_loop \n" + " vmov.f32 s0, #1.5 \n" + " vcmp.f32 s29, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg1_error_loop \n" + " vmov.f32 s0, #2.5 \n" + " vcmp.f32 s30, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg1_error_loop \n" + " vmov.f32 s0, #3.5 \n" + " vcmp.f32 s31, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg1_error_loop \n" + " \n" + " /* Everything passed, inc the loop counter. */ \n" + " push { r0, r1 } \n" + " ldr r0, =ulRegTest1LoopCounter \n" + " ldr r1, [r0] \n" + " adds r1, r1, #1 \n" + " str r1, [r0] \n" + " \n" + " /* Yield to increase test coverage. */ \n" + " movs r0, #0x01 \n" + " ldr r1, =0xe000ed04 \n" /* NVIC_ICSR */ + " lsls r0, #28 \n" /* Shift to PendSV bit */ + " str r0, [r1] \n" + " dsb \n" + " pop { r0, r1 } \n" + " \n" + " /* Start again. */ \n" + " b reg1_loop \n" + " \n" + "reg1_error_loop: \n" + " /* If this line is hit then there was an error in \n" + " * a core register value. The loop ensures the \n" + " * loop counter stops incrementing. */ \n" + " b reg1_error_loop \n" + " nop \n" + ".ltorg \n" + ); +} +/*-----------------------------------------------------------*/ + +void vRegTest2Asm( void ) /* __attribute__( ( naked ) ) */ +{ + __asm volatile + ( + ".extern ulRegTest2LoopCounter \n" + ".syntax unified \n" + " \n" + " /* Fill the core registers with known values. */ \n" + " movs r0, #0 \n" + " movs r1, #1 \n" + " movs r2, #2 \n" + " movs r3, #3 \n" + " movs r4, #4 \n" + " movs r5, #5 \n" + " movs r6, #6 \n" + " movs r7, #7 \n" + " mov r8, #8 \n" + " mov r9, #9 \n" + " movs r10, #10 \n" + " movs r11, #11 \n" + " movs r12, #12 \n" + " \n" + " /* Fill the FPU registers with known values. */ \n" + " vmov.f32 s1, #1.0 \n" + " vmov.f32 s2, #2.0 \n" + " vmov.f32 s3, #3.0 \n" + " vmov.f32 s4, #4.0 \n" + " vmov.f32 s5, #5.0 \n" + " vmov.f32 s6, #6.0 \n" + " vmov.f32 s7, #7.0 \n" + " vmov.f32 s8, #8.0 \n" + " vmov.f32 s9, #9.0 \n" + " vmov.f32 s10, #10.0 \n" + " vmov.f32 s11, #11.0 \n" + " vmov.f32 s12, #12.0 \n" + " vmov.f32 s13, #13.0 \n" + " vmov.f32 s14, #14.0 \n" + " vmov.f32 s15, #1.5 \n" + " vmov.f32 s16, #2.5 \n" + " vmov.f32 s17, #3.5 \n" + " vmov.f32 s18, #4.5 \n" + " vmov.f32 s19, #5.5 \n" + " vmov.f32 s20, #6.5 \n" + " vmov.f32 s21, #7.5 \n" + " vmov.f32 s22, #8.5 \n" + " vmov.f32 s23, #9.5 \n" + " vmov.f32 s24, #10.5 \n" + " vmov.f32 s25, #11.5 \n" + " vmov.f32 s26, #12.5 \n" + " vmov.f32 s27, #13.5 \n" + " vmov.f32 s28, #14.5 \n" + " vmov.f32 s29, #1.0 \n" + " vmov.f32 s30, #2.0 \n" + " vmov.f32 s31, #3.0 \n" + " \n" + "reg2_loop: \n" + " \n" + " /* Verify that core registers contain correct values. */ \n" + " cmp r0, #0 \n" + " bne reg2_error_loop \n" + " cmp r1, #1 \n" + " bne reg2_error_loop \n" + " cmp r2, #2 \n" + " bne reg2_error_loop \n" + " cmp r3, #3 \n" + " bne reg2_error_loop \n" + " cmp r4, #4 \n" + " bne reg2_error_loop \n" + " cmp r5, #5 \n" + " bne reg2_error_loop \n" + " cmp r6, #6 \n" + " bne reg2_error_loop \n" + " cmp r7, #7 \n" + " bne reg2_error_loop \n" + " cmp r8, #8 \n" + " bne reg2_error_loop \n" + " cmp r9, #9 \n" + " bne reg2_error_loop \n" + " cmp r10, #10 \n" + " bne reg2_error_loop \n" + " cmp r11, #11 \n" + " bne reg2_error_loop \n" + " cmp r12, #12 \n" + " bne reg2_error_loop \n" + " \n" + " /* Verify that FPU registers contain correct values. */ \n" + " vmov.f32 s0, #1.0 \n" + " vcmp.f32 s1, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg2_error_loop \n" + " vmov.f32 s0, #2.0 \n" + " vcmp.f32 s2, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg2_error_loop \n" + " vmov.f32 s0, #3.0 \n" + " vcmp.f32 s3, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg2_error_loop \n" + " vmov.f32 s0, #4.0 \n" + " vcmp.f32 s4, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg2_error_loop \n" + " vmov.f32 s0, #5.0 \n" + " vcmp.f32 s5, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg2_error_loop \n" + " vmov.f32 s0, #6.0 \n" + " vcmp.f32 s6, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg2_error_loop \n" + " vmov.f32 s0, #7.0 \n" + " vcmp.f32 s7, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg2_error_loop \n" + " vmov.f32 s0, #8.0 \n" + " vcmp.f32 s8, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg2_error_loop \n" + " vmov.f32 s0, #9.0 \n" + " vcmp.f32 s9, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg2_error_loop \n" + " vmov.f32 s0, #10.0 \n" + " vcmp.f32 s10, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg2_error_loop \n" + " vmov.f32 s0, #11.0 \n" + " vcmp.f32 s11, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg2_error_loop \n" + " vmov.f32 s0, #12.0 \n" + " vcmp.f32 s12, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg2_error_loop \n" + " vmov.f32 s0, #13.0 \n" + " vcmp.f32 s13, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg2_error_loop \n" + " vmov.f32 s0, #14.0 \n" + " vcmp.f32 s14, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg2_error_loop \n" + " vmov.f32 s0, #1.5 \n" + " vcmp.f32 s15, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg2_error_loop \n" + " vmov.f32 s0, #2.5 \n" + " vcmp.f32 s16, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg2_error_loop \n" + " vmov.f32 s0, #3.5 \n" + " vcmp.f32 s17, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg2_error_loop \n" + " vmov.f32 s0, #4.5 \n" + " vcmp.f32 s18, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg2_error_loop \n" + " vmov.f32 s0, #5.5 \n" + " vcmp.f32 s19, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg2_error_loop \n" + " vmov.f32 s0, #6.5 \n" + " vcmp.f32 s20, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg2_error_loop \n" + " vmov.f32 s0, #7.5 \n" + " vcmp.f32 s21, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg2_error_loop \n" + " vmov.f32 s0, #8.5 \n" + " vcmp.f32 s22, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg2_error_loop \n" + " vmov.f32 s0, #9.5 \n" + " vcmp.f32 s23, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg2_error_loop \n" + " vmov.f32 s0, #10.5 \n" + " vcmp.f32 s24, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg2_error_loop \n" + " vmov.f32 s0, #11.5 \n" + " vcmp.f32 s25, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg2_error_loop \n" + " vmov.f32 s0, #12.5 \n" + " vcmp.f32 s26, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg2_error_loop \n" + " vmov.f32 s0, #13.5 \n" + " vcmp.f32 s27, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg2_error_loop \n" + " vmov.f32 s0, #14.5 \n" + " vcmp.f32 s28, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg2_error_loop \n" + " vmov.f32 s0, #1.0 \n" + " vcmp.f32 s29, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg2_error_loop \n" + " vmov.f32 s0, #2.0 \n" + " vcmp.f32 s30, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg2_error_loop \n" + " vmov.f32 s0, #3.0 \n" + " vcmp.f32 s31, s0 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg2_error_loop \n" + " \n" + " /* Everything passed, inc the loop counter. */ \n" + " push { r0, r1 } \n" + " ldr r0, =ulRegTest2LoopCounter \n" + " ldr r1, [r0] \n" + " adds r1, r1, #1 \n" + " str r1, [r0] \n" + " pop { r0, r1 } \n" + " \n" + " /* Start again. */ \n" + " b reg2_loop \n" + " \n" + "reg2_error_loop: \n" + " /* If this line is hit then there was an error in \n" + " * a core register value. The loop ensures the \n" + " * loop counter stops incrementing. */ \n" + " b reg2_error_loop \n" + " nop \n" + ".ltorg \n" + ); +} +/*-----------------------------------------------------------*/ + +void vRegTest3Asm( void ) /* __attribute__( ( naked ) ) */ +{ + __asm volatile + ( + ".extern ulRegTest3LoopCounter \n" + ".syntax unified \n" + " \n" + " /* Fill the core registers with known values. */ \n" + " movs r0, #100 \n" + " movs r1, #101 \n" + " movs r2, #102 \n" + " movs r3, #103 \n" + " movs r4, #104 \n" + " movs r5, #105 \n" + " movs r6, #106 \n" + " movs r7, #107 \n" + " mov r8, #108 \n" + " mov r9, #109 \n" + " mov r10, #110 \n" + " mov r11, #111 \n" + " mov r12, #112 \n" + " \n" + " /* Fill the FPU registers with known values. */ \n" + " vmov.f32 s0, #1.5 \n" + " vmov.f32 s2, #2.0 \n" + " vmov.f32 s3, #3.5 \n" + " vmov.f32 s4, #4.0 \n" + " vmov.f32 s5, #5.5 \n" + " vmov.f32 s6, #6.0 \n" + " vmov.f32 s7, #7.5 \n" + " vmov.f32 s8, #8.0 \n" + " vmov.f32 s9, #9.5 \n" + " vmov.f32 s10, #10.0 \n" + " vmov.f32 s11, #11.5 \n" + " vmov.f32 s12, #12.0 \n" + " vmov.f32 s13, #13.5 \n" + " vmov.f32 s14, #14.0 \n" + " vmov.f32 s15, #1.5 \n" + " vmov.f32 s16, #2.0 \n" + " vmov.f32 s17, #3.5 \n" + " vmov.f32 s18, #4.0 \n" + " vmov.f32 s19, #5.5 \n" + " vmov.f32 s20, #6.0 \n" + " vmov.f32 s21, #7.5 \n" + " vmov.f32 s22, #8.0 \n" + " vmov.f32 s23, #9.5 \n" + " vmov.f32 s24, #10.0 \n" + " vmov.f32 s25, #11.5 \n" + " vmov.f32 s26, #12.0 \n" + " vmov.f32 s27, #13.5 \n" + " vmov.f32 s28, #14.0 \n" + " vmov.f32 s29, #1.5 \n" + " vmov.f32 s30, #2.0 \n" + " vmov.f32 s31, #3.5 \n" + " \n" + "reg3_loop: \n" + " \n" + " /* Verify that core registers contain correct values. */ \n" + " cmp r0, #100 \n" + " bne reg3_error_loop \n" + " cmp r1, #101 \n" + " bne reg3_error_loop \n" + " cmp r2, #102 \n" + " bne reg3_error_loop \n" + " cmp r3, #103 \n" + " bne reg3_error_loop \n" + " cmp r4, #104 \n" + " bne reg3_error_loop \n" + " cmp r5, #105 \n" + " bne reg3_error_loop \n" + " cmp r6, #106 \n" + " bne reg3_error_loop \n" + " cmp r7, #107 \n" + " bne reg3_error_loop \n" + " cmp r8, #108 \n" + " bne reg3_error_loop \n" + " cmp r9, #109 \n" + " bne reg3_error_loop \n" + " cmp r10, #110 \n" + " bne reg3_error_loop \n" + " cmp r11, #111 \n" + " bne reg3_error_loop \n" + " cmp r12, #112 \n" + " bne reg3_error_loop \n" + " \n" + " /* Verify that FPU registers contain correct values. */ \n" + " vmov.f32 s1, #1.5 \n" + " vcmp.f32 s0, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg3_error_loop \n" + " vmov.f32 s1, #2.0 \n" + " vcmp.f32 s2, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg3_error_loop \n" + " vmov.f32 s1, #3.5 \n" + " vcmp.f32 s3, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg3_error_loop \n" + " vmov.f32 s1, #4.0 \n" + " vcmp.f32 s4, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg3_error_loop \n" + " vmov.f32 s1, #5.5 \n" + " vcmp.f32 s5, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg3_error_loop \n" + " vmov.f32 s1, #6.0 \n" + " vcmp.f32 s6, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg3_error_loop \n" + " vmov.f32 s1, #7.5 \n" + " vcmp.f32 s7, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg3_error_loop \n" + " vmov.f32 s1, #8.0 \n" + " vcmp.f32 s8, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg3_error_loop \n" + " vmov.f32 s1, #9.5 \n" + " vcmp.f32 s9, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg3_error_loop \n" + " vmov.f32 s1, #10.0 \n" + " vcmp.f32 s10, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg3_error_loop \n" + " vmov.f32 s1, #11.5 \n" + " vcmp.f32 s11, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg3_error_loop \n" + " vmov.f32 s1, #12.0 \n" + " vcmp.f32 s12, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg3_error_loop \n" + " vmov.f32 s1, #13.5 \n" + " vcmp.f32 s13, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg3_error_loop \n" + " vmov.f32 s1, #14.0 \n" + " vcmp.f32 s14, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg3_error_loop \n" + " vmov.f32 s1, #1.5 \n" + " vcmp.f32 s15, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg3_error_loop \n" + " vmov.f32 s1, #2.0 \n" + " vcmp.f32 s16, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg3_error_loop \n" + " vmov.f32 s1, #3.5 \n" + " vcmp.f32 s17, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg3_error_loop \n" + " vmov.f32 s1, #4.0 \n" + " vcmp.f32 s18, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg3_error_loop \n" + " vmov.f32 s1, #5.5 \n" + " vcmp.f32 s19, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg3_error_loop \n" + " vmov.f32 s1, #6.0 \n" + " vcmp.f32 s20, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg3_error_loop \n" + " vmov.f32 s1, #7.5 \n" + " vcmp.f32 s21, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg3_error_loop \n" + " vmov.f32 s1, #8.0 \n" + " vcmp.f32 s22, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg3_error_loop \n" + " vmov.f32 s1, #9.5 \n" + " vcmp.f32 s23, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg3_error_loop \n" + " vmov.f32 s1, #10.0 \n" + " vcmp.f32 s24, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg3_error_loop \n" + " vmov.f32 s1, #11.5 \n" + " vcmp.f32 s25, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg3_error_loop \n" + " vmov.f32 s1, #12.0 \n" + " vcmp.f32 s26, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg3_error_loop \n" + " vmov.f32 s1, #13.5 \n" + " vcmp.f32 s27, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg3_error_loop \n" + " vmov.f32 s1, #14.0 \n" + " vcmp.f32 s28, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg3_error_loop \n" + " vmov.f32 s1, #1.5 \n" + " vcmp.f32 s29, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg3_error_loop \n" + " vmov.f32 s1, #2.0 \n" + " vcmp.f32 s30, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg3_error_loop \n" + " vmov.f32 s1, #3.5 \n" + " vcmp.f32 s31, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg3_error_loop \n" + " \n" + " /* Everything passed, inc the loop counter. */ \n" + " push { r0, r1 } \n" + " ldr r0, =ulRegTest3LoopCounter \n" + " ldr r1, [r0] \n" + " adds r1, r1, #1 \n" + " str r1, [r0] \n" + " \n" + " /* Yield to increase test coverage. */ \n" + " movs r0, #0x01 \n" + " ldr r1, =0xe000ed04 \n" /* NVIC_ICSR */ + " lsls r0, #28 \n" /* Shift to PendSV bit */ + " str r0, [r1] \n" + " dsb \n" + " pop { r0, r1 } \n" + " \n" + " /* Start again. */ \n" + " b reg3_loop \n" + " \n" + "reg3_error_loop: \n" + " /* If this line is hit then there was an error in \n" + " * a core register value. The loop ensures the \n" + " * loop counter stops incrementing. */ \n" + " b reg3_error_loop \n" + " nop \n" + ".ltorg \n" + ); +} +/*-----------------------------------------------------------*/ + +void vRegTest4Asm( void ) /* __attribute__( ( naked ) ) */ +{ + __asm volatile + ( + ".extern ulRegTest4LoopCounter \n" + ".syntax unified \n" + " \n" + " /* Fill the core registers with known values. */ \n" + " movs r0, #0 \n" + " movs r1, #1 \n" + " movs r2, #2 \n" + " movs r3, #3 \n" + " movs r4, #4 \n" + " movs r5, #5 \n" + " movs r6, #6 \n" + " movs r7, #7 \n" + " mov r8, #8 \n" + " mov r9, #9 \n" + " movs r10, #10 \n" + " movs r11, #11 \n" + " movs r12, #12 \n" + " \n" + " /* Fill the FPU registers with known values. */ \n" + " vmov.f32 s0, #1.5 \n" + " vmov.f32 s2, #2.0 \n" + " vmov.f32 s3, #3.0 \n" + " vmov.f32 s4, #4.5 \n" + " vmov.f32 s5, #5.0 \n" + " vmov.f32 s6, #6.0 \n" + " vmov.f32 s7, #7.5 \n" + " vmov.f32 s8, #8.0 \n" + " vmov.f32 s9, #9.0 \n" + " vmov.f32 s10, #10.5 \n" + " vmov.f32 s11, #11.0 \n" + " vmov.f32 s12, #12.0 \n" + " vmov.f32 s13, #13.5 \n" + " vmov.f32 s14, #14.0 \n" + " vmov.f32 s15, #1.0 \n" + " vmov.f32 s16, #2.5 \n" + " vmov.f32 s17, #3.0 \n" + " vmov.f32 s18, #4.0 \n" + " vmov.f32 s19, #5.5 \n" + " vmov.f32 s20, #6.0 \n" + " vmov.f32 s21, #7.0 \n" + " vmov.f32 s22, #8.5 \n" + " vmov.f32 s23, #9.0 \n" + " vmov.f32 s24, #10.0 \n" + " vmov.f32 s25, #11.5 \n" + " vmov.f32 s26, #12.0 \n" + " vmov.f32 s27, #13.0 \n" + " vmov.f32 s28, #14.5 \n" + " vmov.f32 s29, #1.0 \n" + " vmov.f32 s30, #2.0 \n" + " vmov.f32 s31, #3.5 \n" + " \n" + "reg4_loop: \n" + " \n" + " /* Verify that core registers contain correct values. */ \n" + " cmp r0, #0 \n" + " bne reg4_error_loop \n" + " cmp r1, #1 \n" + " bne reg4_error_loop \n" + " cmp r2, #2 \n" + " bne reg4_error_loop \n" + " cmp r3, #3 \n" + " bne reg4_error_loop \n" + " cmp r4, #4 \n" + " bne reg4_error_loop \n" + " cmp r5, #5 \n" + " bne reg4_error_loop \n" + " cmp r6, #6 \n" + " bne reg4_error_loop \n" + " cmp r7, #7 \n" + " bne reg4_error_loop \n" + " cmp r8, #8 \n" + " bne reg4_error_loop \n" + " cmp r9, #9 \n" + " bne reg4_error_loop \n" + " cmp r10, #10 \n" + " bne reg4_error_loop \n" + " cmp r11, #11 \n" + " bne reg4_error_loop \n" + " cmp r12, #12 \n" + " bne reg4_error_loop \n" + " \n" + " /* Verify that FPU registers contain correct values. */ \n" + " vmov.f32 s1, #1.5 \n" + " vcmp.f32 s0, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg4_error_loop \n" + " vmov.f32 s1, #2.0 \n" + " vcmp.f32 s2, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg4_error_loop \n" + " vmov.f32 s1, #3.0 \n" + " vcmp.f32 s3, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg4_error_loop \n" + " vmov.f32 s1, #4.5 \n" + " vcmp.f32 s4, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg4_error_loop \n" + " vmov.f32 s1, #5.0 \n" + " vcmp.f32 s5, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg4_error_loop \n" + " vmov.f32 s1, #6.0 \n" + " vcmp.f32 s6, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg4_error_loop \n" + " vmov.f32 s1, #7.5 \n" + " vcmp.f32 s7, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg4_error_loop \n" + " vmov.f32 s1, #8.0 \n" + " vcmp.f32 s8, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg4_error_loop \n" + " vmov.f32 s1, #9.0 \n" + " vcmp.f32 s9, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg4_error_loop \n" + " vmov.f32 s1, #10.5 \n" + " vcmp.f32 s10, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg4_error_loop \n" + " vmov.f32 s1, #11.0 \n" + " vcmp.f32 s11, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg4_error_loop \n" + " vmov.f32 s1, #12.0 \n" + " vcmp.f32 s12, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg4_error_loop \n" + " vmov.f32 s1, #13.5 \n" + " vcmp.f32 s13, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg4_error_loop \n" + " vmov.f32 s1, #14.0 \n" + " vcmp.f32 s14, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg4_error_loop \n" + " vmov.f32 s1, #1.0 \n" + " vcmp.f32 s15, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg4_error_loop \n" + " vmov.f32 s1, #2.5 \n" + " vcmp.f32 s16, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg4_error_loop \n" + " vmov.f32 s1, #3.0 \n" + " vcmp.f32 s17, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg4_error_loop \n" + " vmov.f32 s1, #4.0 \n" + " vcmp.f32 s18, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg4_error_loop \n" + " vmov.f32 s1, #5.5 \n" + " vcmp.f32 s19, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg4_error_loop \n" + " vmov.f32 s1, #6.0 \n" + " vcmp.f32 s20, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg4_error_loop \n" + " vmov.f32 s1, #7.0 \n" + " vcmp.f32 s21, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg4_error_loop \n" + " vmov.f32 s1, #8.5 \n" + " vcmp.f32 s22, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg4_error_loop \n" + " vmov.f32 s1, #9.0 \n" + " vcmp.f32 s23, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg4_error_loop \n" + " vmov.f32 s1, #10.0 \n" + " vcmp.f32 s24, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg4_error_loop \n" + " vmov.f32 s1, #11.5 \n" + " vcmp.f32 s25, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg4_error_loop \n" + " vmov.f32 s1, #12.0 \n" + " vcmp.f32 s26, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg4_error_loop \n" + " vmov.f32 s1, #13.0 \n" + " vcmp.f32 s27, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg4_error_loop \n" + " vmov.f32 s1, #14.5 \n" + " vcmp.f32 s28, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg4_error_loop \n" + " vmov.f32 s1, #1.0 \n" + " vcmp.f32 s29, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg4_error_loop \n" + " vmov.f32 s1, #2.0 \n" + " vcmp.f32 s30, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg4_error_loop \n" + " vmov.f32 s1, #3.5 \n" + " vcmp.f32 s31, s1 \n" + " vmrs APSR_nzcv, FPSCR \n" + " bne reg4_error_loop \n" + " \n" + " /* Everything passed, inc the loop counter. */ \n" + " push { r0, r1 } \n" + " ldr r0, =ulRegTest4LoopCounter \n" + " ldr r1, [r0] \n" + " adds r1, r1, #1 \n" + " str r1, [r0] \n" + " pop { r0, r1 } \n" + " \n" + " /* Start again. */ \n" + " b reg4_loop \n" + " \n" + "reg4_error_loop: \n" + " /* If this line is hit then there was an error in \n" + " * a core register value. The loop ensures the \n" + " * loop counter stops incrementing. */ \n" + " b reg4_error_loop \n" + " nop \n" + ".ltorg \n" + ); +} +/*-----------------------------------------------------------*/ diff --git a/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Demo/IAR/reg_tests_asm.s b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Demo/IAR/reg_tests_asm.s new file mode 100644 index 000000000..8e3345994 --- /dev/null +++ b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Demo/IAR/reg_tests_asm.s @@ -0,0 +1,956 @@ +/* + * FreeRTOS V202212.00 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * https://www.FreeRTOS.org + * https://github.com/FreeRTOS + * + */ + +/* + * "Reg test" - These fill the registers with known values, then check + * that each register maintains its expected value for the lifetime of the + * task. Each task uses a different set of values. The reg test tasks execute + * with a very low priority, so get preempted very frequently. A register + * containing an unexpected value is indicative of an error in the context + * switching mechanism. + */ + +/*-----------------------------------------------------------*/ + + SECTION .text:CODE:NOROOT(2) + THUMB + + EXTERN ulRegTest1LoopCounter + EXTERN ulRegTest2LoopCounter + EXTERN ulRegTest3LoopCounter + EXTERN ulRegTest4LoopCounter + + PUBLIC vRegTest1Asm + PUBLIC vRegTest2Asm + PUBLIC vRegTest3Asm + PUBLIC vRegTest4Asm +/*-----------------------------------------------------------*/ + +vRegTest1Asm: + /* Fill the core registers with known values. */ + movs r0, #100 + movs r1, #101 + movs r2, #102 + movs r3, #103 + movs r4, #104 + movs r5, #105 + movs r6, #106 + movs r7, #107 + movs r8, #108 + movs r9, #109 + movs r10, #110 + movs r11, #111 + movs r12, #112 + + vmov.f32 s1, #1.5 + vmov.f32 s2, #2.5 + vmov.f32 s3, #3.5 + vmov.f32 s4, #4.5 + vmov.f32 s5, #5.5 + vmov.f32 s6, #6.5 + vmov.f32 s7, #7.5 + vmov.f32 s8, #8.5 + vmov.f32 s9, #9.5 + vmov.f32 s10, #10.5 + vmov.f32 s11, #11.5 + vmov.f32 s12, #12.5 + vmov.f32 s13, #13.5 + vmov.f32 s14, #14.5 + vmov.f32 s15, #1.0 + vmov.f32 s16, #2.0 + vmov.f32 s17, #3.0 + vmov.f32 s18, #4.0 + vmov.f32 s19, #5.0 + vmov.f32 s20, #6.0 + vmov.f32 s21, #7.0 + vmov.f32 s22, #8.0 + vmov.f32 s23, #9.0 + vmov.f32 s24, #10.0 + vmov.f32 s25, #11.0 + vmov.f32 s26, #12.0 + vmov.f32 s27, #13.0 + vmov.f32 s28, #14.0 + vmov.f32 s29, #1.5 + vmov.f32 s30, #2.5 + vmov.f32 s31, #3.5 + + reg1_loop: + cmp r0, #100 + bne reg1_error_loop + cmp r1, #101 + bne reg1_error_loop + cmp r2, #102 + bne reg1_error_loop + cmp r3, #103 + bne reg1_error_loop + cmp r4, #104 + bne reg1_error_loop + cmp r5, #105 + bne reg1_error_loop + cmp r6, #106 + bne reg1_error_loop + cmp r7, #107 + bne reg1_error_loop + cmp r8, #108 + bne reg1_error_loop + cmp r9, #109 + bne reg1_error_loop + cmp r10, #110 + bne reg1_error_loop + cmp r11, #111 + bne reg1_error_loop + cmp r12, #112 + bne reg1_error_loop + + /* Verify that FPU registers contain correct values. */ + vmov.f32 s0, #1.5 + vcmp.f32 s1, s0 + vmrs APSR_nzcv, FPSCR + bne reg1_error_loop + vmov.f32 s0, #2.5 + vcmp.f32 s2, s0 + vmrs APSR_nzcv, FPSCR + bne reg1_error_loop + vmov.f32 s0, #3.5 + vcmp.f32 s3, s0 + vmrs APSR_nzcv, FPSCR + bne reg1_error_loop + vmov.f32 s0, #4.5 + vcmp.f32 s4, s0 + vmrs APSR_nzcv, FPSCR + bne reg1_error_loop + vmov.f32 s0, #5.5 + vcmp.f32 s5, s0 + vmrs APSR_nzcv, FPSCR + bne reg1_error_loop + vmov.f32 s0, #6.5 + vcmp.f32 s6, s0 + vmrs APSR_nzcv, FPSCR + bne reg1_error_loop + vmov.f32 s0, #7.5 + vcmp.f32 s7, s0 + vmrs APSR_nzcv, FPSCR + bne reg1_error_loop + vmov.f32 s0, #8.5 + vcmp.f32 s8, s0 + vmrs APSR_nzcv, FPSCR + bne reg1_error_loop + vmov.f32 s0, #9.5 + vcmp.f32 s9, s0 + vmrs APSR_nzcv, FPSCR + bne reg1_error_loop + vmov.f32 s0, #10.5 + vcmp.f32 s10, s0 + vmrs APSR_nzcv, FPSCR + bne reg1_error_loop + vmov.f32 s0, #11.5 + vcmp.f32 s11, s0 + vmrs APSR_nzcv, FPSCR + bne reg1_error_loop + vmov.f32 s0, #12.5 + vcmp.f32 s12, s0 + vmrs APSR_nzcv, FPSCR + bne reg1_error_loop + vmov.f32 s0, #13.5 + vcmp.f32 s13, s0 + vmrs APSR_nzcv, FPSCR + bne reg1_error_loop + vmov.f32 s0, #14.5 + vcmp.f32 s14, s0 + vmrs APSR_nzcv, FPSCR + bne reg1_error_loop + vmov.f32 s0, #1.0 + vcmp.f32 s15, s0 + vmrs APSR_nzcv, FPSCR + bne reg1_error_loop + vmov.f32 s0, #2.0 + vcmp.f32 s16, s0 + vmrs APSR_nzcv, FPSCR + bne reg1_error_loop + vmov.f32 s0, #3.0 + vcmp.f32 s17, s0 + vmrs APSR_nzcv, FPSCR + bne reg1_error_loop + vmov.f32 s0, #4.0 + vcmp.f32 s18, s0 + vmrs APSR_nzcv, FPSCR + bne reg1_error_loop + vmov.f32 s0, #5.0 + vcmp.f32 s19, s0 + vmrs APSR_nzcv, FPSCR + bne reg1_error_loop + vmov.f32 s0, #6.0 + vcmp.f32 s20, s0 + vmrs APSR_nzcv, FPSCR + bne reg1_error_loop + vmov.f32 s0, #7.0 + vcmp.f32 s21, s0 + vmrs APSR_nzcv, FPSCR + bne reg1_error_loop + vmov.f32 s0, #8.0 + vcmp.f32 s22, s0 + vmrs APSR_nzcv, FPSCR + bne reg1_error_loop + vmov.f32 s0, #9.0 + vcmp.f32 s23, s0 + vmrs APSR_nzcv, FPSCR + bne reg1_error_loop + vmov.f32 s0, #10.0 + vcmp.f32 s24, s0 + vmrs APSR_nzcv, FPSCR + bne reg1_error_loop + vmov.f32 s0, #11.0 + vcmp.f32 s25, s0 + vmrs APSR_nzcv, FPSCR + bne reg1_error_loop + vmov.f32 s0, #12.0 + vcmp.f32 s26, s0 + vmrs APSR_nzcv, FPSCR + bne reg1_error_loop + vmov.f32 s0, #13.0 + vcmp.f32 s27, s0 + vmrs APSR_nzcv, FPSCR + bne reg1_error_loop + vmov.f32 s0, #14.0 + vcmp.f32 s28, s0 + vmrs APSR_nzcv, FPSCR + bne reg1_error_loop + vmov.f32 s0, #1.5 + vcmp.f32 s29, s0 + vmrs APSR_nzcv, FPSCR + bne reg1_error_loop + vmov.f32 s0, #2.5 + vcmp.f32 s30, s0 + vmrs APSR_nzcv, FPSCR + bne reg1_error_loop + vmov.f32 s0, #3.5 + vcmp.f32 s31, s0 + vmrs APSR_nzcv, FPSCR + bne reg1_error_loop + + /* Everything passed, inc the loop counter. */ + push { r0, r1 } + ldr r0, =ulRegTest1LoopCounter + ldr r1, [r0] + adds r1, r1, #1 + str r1, [r0] + + /* Yield to increase test coverage. */ + movs r0, #0x01 + ldr r1, =0xe000ed04 /* NVIC_ICSR. */ + lsls r0, r0, #28 /* Shift to PendSV bit. */ + str r0, [r1] + dsb + pop { r0, r1 } + + /* Start again. */ + b reg1_loop + + reg1_error_loop: + b reg1_error_loop + nop + ltorg /* Create a literal pool to ensure that the constants accessed in the above + * code are not out of range. */ + +/*-----------------------------------------------------------*/ + +vRegTest2Asm: + /* Fill the core registers with known values. */ + movs r0, #0 + movs r1, #1 + movs r2, #2 + movs r3, #3 + movs r4, #4 + movs r5, #5 + movs r6, #6 + movs r7, #7 + mov r8, #8 + mov r9, #9 + movs r10, #10 + movs r11, #11 + movs r12, #12 + + /* Fill the FPU registers with known values. */ + vmov.f32 s1, #1.0 + vmov.f32 s2, #2.0 + vmov.f32 s3, #3.0 + vmov.f32 s4, #4.0 + vmov.f32 s5, #5.0 + vmov.f32 s6, #6.0 + vmov.f32 s7, #7.0 + vmov.f32 s8, #8.0 + vmov.f32 s9, #9.0 + vmov.f32 s10, #10.0 + vmov.f32 s11, #11.0 + vmov.f32 s12, #12.0 + vmov.f32 s13, #13.0 + vmov.f32 s14, #14.0 + vmov.f32 s15, #1.5 + vmov.f32 s16, #2.5 + vmov.f32 s17, #3.5 + vmov.f32 s18, #4.5 + vmov.f32 s19, #5.5 + vmov.f32 s20, #6.5 + vmov.f32 s21, #7.5 + vmov.f32 s22, #8.5 + vmov.f32 s23, #9.5 + vmov.f32 s24, #10.5 + vmov.f32 s25, #11.5 + vmov.f32 s26, #12.5 + vmov.f32 s27, #13.5 + vmov.f32 s28, #14.5 + vmov.f32 s29, #1.0 + vmov.f32 s30, #2.0 + vmov.f32 s31, #3.0 + + reg2_loop: + /* Verify that core registers contain correct values. */ + cmp r0, #0 + bne reg2_error_loop + cmp r1, #1 + bne reg2_error_loop + cmp r2, #2 + bne reg2_error_loop + cmp r3, #3 + bne reg2_error_loop + cmp r4, #4 + bne reg2_error_loop + cmp r5, #5 + bne reg2_error_loop + cmp r6, #6 + bne reg2_error_loop + cmp r7, #7 + bne reg2_error_loop + cmp r8, #8 + bne reg2_error_loop + cmp r9, #9 + bne reg2_error_loop + cmp r10, #10 + bne reg2_error_loop + cmp r11, #11 + bne reg2_error_loop + cmp r12, #12 + bne reg2_error_loop + + /* Verify that FPU registers contain correct values. */ + vmov.f32 s0, #1.0 + vcmp.f32 s1, s0 + vmrs APSR_nzcv, FPSCR + bne reg2_error_loop + vmov.f32 s0, #2.0 + vcmp.f32 s2, s0 + vmrs APSR_nzcv, FPSCR + bne reg2_error_loop + vmov.f32 s0, #3.0 + vcmp.f32 s3, s0 + vmrs APSR_nzcv, FPSCR + bne reg2_error_loop + vmov.f32 s0, #4.0 + vcmp.f32 s4, s0 + vmrs APSR_nzcv, FPSCR + bne reg2_error_loop + vmov.f32 s0, #5.0 + vcmp.f32 s5, s0 + vmrs APSR_nzcv, FPSCR + bne reg2_error_loop + vmov.f32 s0, #6.0 + vcmp.f32 s6, s0 + vmrs APSR_nzcv, FPSCR + bne reg2_error_loop + vmov.f32 s0, #7.0 + vcmp.f32 s7, s0 + vmrs APSR_nzcv, FPSCR + bne reg2_error_loop + vmov.f32 s0, #8.0 + vcmp.f32 s8, s0 + vmrs APSR_nzcv, FPSCR + bne reg2_error_loop + vmov.f32 s0, #9.0 + vcmp.f32 s9, s0 + vmrs APSR_nzcv, FPSCR + bne reg2_error_loop + vmov.f32 s0, #10.0 + vcmp.f32 s10, s0 + vmrs APSR_nzcv, FPSCR + bne reg2_error_loop + vmov.f32 s0, #11.0 + vcmp.f32 s11, s0 + vmrs APSR_nzcv, FPSCR + bne reg2_error_loop + vmov.f32 s0, #12.0 + vcmp.f32 s12, s0 + vmrs APSR_nzcv, FPSCR + bne reg2_error_loop + vmov.f32 s0, #13.0 + vcmp.f32 s13, s0 + vmrs APSR_nzcv, FPSCR + bne reg2_error_loop + vmov.f32 s0, #14.0 + vcmp.f32 s14, s0 + vmrs APSR_nzcv, FPSCR + bne reg2_error_loop + vmov.f32 s0, #1.5 + vcmp.f32 s15, s0 + vmrs APSR_nzcv, FPSCR + bne reg2_error_loop + vmov.f32 s0, #2.5 + vcmp.f32 s16, s0 + vmrs APSR_nzcv, FPSCR + bne reg2_error_loop + vmov.f32 s0, #3.5 + vcmp.f32 s17, s0 + vmrs APSR_nzcv, FPSCR + bne reg2_error_loop + vmov.f32 s0, #4.5 + vcmp.f32 s18, s0 + vmrs APSR_nzcv, FPSCR + bne reg2_error_loop + vmov.f32 s0, #5.5 + vcmp.f32 s19, s0 + vmrs APSR_nzcv, FPSCR + bne reg2_error_loop + vmov.f32 s0, #6.5 + vcmp.f32 s20, s0 + vmrs APSR_nzcv, FPSCR + bne reg2_error_loop + vmov.f32 s0, #7.5 + vcmp.f32 s21, s0 + vmrs APSR_nzcv, FPSCR + bne reg2_error_loop + vmov.f32 s0, #8.5 + vcmp.f32 s22, s0 + vmrs APSR_nzcv, FPSCR + bne reg2_error_loop + vmov.f32 s0, #9.5 + vcmp.f32 s23, s0 + vmrs APSR_nzcv, FPSCR + bne reg2_error_loop + vmov.f32 s0, #10.5 + vcmp.f32 s24, s0 + vmrs APSR_nzcv, FPSCR + bne reg2_error_loop + vmov.f32 s0, #11.5 + vcmp.f32 s25, s0 + vmrs APSR_nzcv, FPSCR + bne reg2_error_loop + vmov.f32 s0, #12.5 + vcmp.f32 s26, s0 + vmrs APSR_nzcv, FPSCR + bne reg2_error_loop + vmov.f32 s0, #13.5 + vcmp.f32 s27, s0 + vmrs APSR_nzcv, FPSCR + bne reg2_error_loop + vmov.f32 s0, #14.5 + vcmp.f32 s28, s0 + vmrs APSR_nzcv, FPSCR + bne reg2_error_loop + vmov.f32 s0, #1.0 + vcmp.f32 s29, s0 + vmrs APSR_nzcv, FPSCR + bne reg2_error_loop + vmov.f32 s0, #2.0 + vcmp.f32 s30, s0 + vmrs APSR_nzcv, FPSCR + bne reg2_error_loop + vmov.f32 s0, #3.0 + vcmp.f32 s31, s0 + vmrs APSR_nzcv, FPSCR + bne reg2_error_loop + + /* Everything passed, inc the loop counter. */ + push { r0, r1 } + ldr r0, =ulRegTest2LoopCounter + ldr r1, [r0] + adds r1, r1, #1 + str r1, [r0] + pop { r0, r1 } + + /* Start again. */ + b reg2_loop + + reg2_error_loop: + b reg2_error_loop + nop + ltorg /* Create a literal pool to ensure that the constants accessed in the above + * code are not out of range. */ + +/*-----------------------------------------------------------*/ + +vRegTest3Asm: + /* Fill the core registers with known values. */ + movs r0, #100 + movs r1, #101 + movs r2, #102 + movs r3, #103 + movs r4, #104 + movs r5, #105 + movs r6, #106 + movs r7, #107 + mov r8, #108 + mov r9, #109 + mov r10, #110 + mov r11, #111 + mov r12, #112 + + /* Fill the FPU registers with known values. */ + vmov.f32 s0, #1.5 + vmov.f32 s2, #2.0 + vmov.f32 s3, #3.5 + vmov.f32 s4, #4.0 + vmov.f32 s5, #5.5 + vmov.f32 s6, #6.0 + vmov.f32 s7, #7.5 + vmov.f32 s8, #8.0 + vmov.f32 s9, #9.5 + vmov.f32 s10, #10.0 + vmov.f32 s11, #11.5 + vmov.f32 s12, #12.0 + vmov.f32 s13, #13.5 + vmov.f32 s14, #14.0 + vmov.f32 s15, #1.5 + vmov.f32 s16, #2.0 + vmov.f32 s17, #3.5 + vmov.f32 s18, #4.0 + vmov.f32 s19, #5.5 + vmov.f32 s20, #6.0 + vmov.f32 s21, #7.5 + vmov.f32 s22, #8.0 + vmov.f32 s23, #9.5 + vmov.f32 s24, #10.0 + vmov.f32 s25, #11.5 + vmov.f32 s26, #12.0 + vmov.f32 s27, #13.5 + vmov.f32 s28, #14.0 + vmov.f32 s29, #1.5 + vmov.f32 s30, #2.0 + vmov.f32 s31, #3.5 + + reg3_loop: + /* Verify that core registers contain correct values. */ + cmp r0, #100 + bne reg3_error_loop + cmp r1, #101 + bne reg3_error_loop + cmp r2, #102 + bne reg3_error_loop + cmp r3, #103 + bne reg3_error_loop + cmp r4, #104 + bne reg3_error_loop + cmp r5, #105 + bne reg3_error_loop + cmp r6, #106 + bne reg3_error_loop + cmp r7, #107 + bne reg3_error_loop + cmp r8, #108 + bne reg3_error_loop + cmp r9, #109 + bne reg3_error_loop + cmp r10, #110 + bne reg3_error_loop + cmp r11, #111 + bne reg3_error_loop + cmp r12, #112 + bne reg3_error_loop + + /* Verify that FPU registers contain correct values. */ + vmov.f32 s1, #1.5 + vcmp.f32 s0, s1 + vmrs APSR_nzcv, FPSCR + bne reg3_error_loop + vmov.f32 s1, #2.0 + vcmp.f32 s2, s1 + vmrs APSR_nzcv, FPSCR + bne reg3_error_loop + vmov.f32 s1, #3.5 + vcmp.f32 s3, s1 + vmrs APSR_nzcv, FPSCR + bne reg3_error_loop + vmov.f32 s1, #4.0 + vcmp.f32 s4, s1 + vmrs APSR_nzcv, FPSCR + bne reg3_error_loop + vmov.f32 s1, #5.5 + vcmp.f32 s5, s1 + vmrs APSR_nzcv, FPSCR + bne reg3_error_loop + vmov.f32 s1, #6.0 + vcmp.f32 s6, s1 + vmrs APSR_nzcv, FPSCR + bne reg3_error_loop + vmov.f32 s1, #7.5 + vcmp.f32 s7, s1 + vmrs APSR_nzcv, FPSCR + bne reg3_error_loop + vmov.f32 s1, #8.0 + vcmp.f32 s8, s1 + vmrs APSR_nzcv, FPSCR + bne reg3_error_loop + vmov.f32 s1, #9.5 + vcmp.f32 s9, s1 + vmrs APSR_nzcv, FPSCR + bne reg3_error_loop + vmov.f32 s1, #10.0 + vcmp.f32 s10, s1 + vmrs APSR_nzcv, FPSCR + bne reg3_error_loop + vmov.f32 s1, #11.5 + vcmp.f32 s11, s1 + vmrs APSR_nzcv, FPSCR + bne reg3_error_loop + vmov.f32 s1, #12.0 + vcmp.f32 s12, s1 + vmrs APSR_nzcv, FPSCR + bne reg3_error_loop + vmov.f32 s1, #13.5 + vcmp.f32 s13, s1 + vmrs APSR_nzcv, FPSCR + bne reg3_error_loop + vmov.f32 s1, #14.0 + vcmp.f32 s14, s1 + vmrs APSR_nzcv, FPSCR + bne reg3_error_loop + vmov.f32 s1, #1.5 + vcmp.f32 s15, s1 + vmrs APSR_nzcv, FPSCR + bne reg3_error_loop + vmov.f32 s1, #2.0 + vcmp.f32 s16, s1 + vmrs APSR_nzcv, FPSCR + bne reg3_error_loop + vmov.f32 s1, #3.5 + vcmp.f32 s17, s1 + vmrs APSR_nzcv, FPSCR + bne reg3_error_loop + vmov.f32 s1, #4.0 + vcmp.f32 s18, s1 + vmrs APSR_nzcv, FPSCR + bne reg3_error_loop + vmov.f32 s1, #5.5 + vcmp.f32 s19, s1 + vmrs APSR_nzcv, FPSCR + bne reg3_error_loop + vmov.f32 s1, #6.0 + vcmp.f32 s20, s1 + vmrs APSR_nzcv, FPSCR + bne reg3_error_loop + vmov.f32 s1, #7.5 + vcmp.f32 s21, s1 + vmrs APSR_nzcv, FPSCR + bne reg3_error_loop + vmov.f32 s1, #8.0 + vcmp.f32 s22, s1 + vmrs APSR_nzcv, FPSCR + bne reg3_error_loop + vmov.f32 s1, #9.5 + vcmp.f32 s23, s1 + vmrs APSR_nzcv, FPSCR + bne reg3_error_loop + vmov.f32 s1, #10.0 + vcmp.f32 s24, s1 + vmrs APSR_nzcv, FPSCR + bne reg3_error_loop + vmov.f32 s1, #11.5 + vcmp.f32 s25, s1 + vmrs APSR_nzcv, FPSCR + bne reg3_error_loop + vmov.f32 s1, #12.0 + vcmp.f32 s26, s1 + vmrs APSR_nzcv, FPSCR + bne reg3_error_loop + vmov.f32 s1, #13.5 + vcmp.f32 s27, s1 + vmrs APSR_nzcv, FPSCR + bne reg3_error_loop + vmov.f32 s1, #14.0 + vcmp.f32 s28, s1 + vmrs APSR_nzcv, FPSCR + bne reg3_error_loop + vmov.f32 s1, #1.5 + vcmp.f32 s29, s1 + vmrs APSR_nzcv, FPSCR + bne reg3_error_loop + vmov.f32 s1, #2.0 + vcmp.f32 s30, s1 + vmrs APSR_nzcv, FPSCR + bne reg3_error_loop + vmov.f32 s1, #3.5 + vcmp.f32 s31, s1 + vmrs APSR_nzcv, FPSCR + bne reg3_error_loop + + /* Everything passed, inc the loop counter. */ + push { r0, r1 } + ldr r0, =ulRegTest3LoopCounter + ldr r1, [r0] + adds r1, r1, #1 + str r1, [r0] + + /* Yield to increase test coverage. */ + movs r0, #0x01 + ldr r1, =0xe000ed04 /* NVIC_ICSR. */ + lsl r0, r0, #28 /* Shift to PendSV bit. */ + str r0, [r1] + dsb + pop { r0, r1 } + + /* Start again. */ + b reg3_loop + + reg3_error_loop: + b reg3_error_loop + nop + ltorg /* Create a literal pool to ensure that the constants accessed in the above + * code are not out of range. */ + +/*-----------------------------------------------------------*/ + +vRegTest4Asm: + /* Fill the core registers with known values. */ + movs r0, #0 + movs r1, #1 + movs r2, #2 + movs r3, #3 + movs r4, #4 + movs r5, #5 + movs r6, #6 + movs r7, #7 + mov r8, #8 + mov r9, #9 + movs r10, #10 + movs r11, #11 + movs r12, #12 + + /* Fill the FPU registers with known values. */ + vmov.f32 s0, #1.5 + vmov.f32 s2, #2.0 + vmov.f32 s3, #3.0 + vmov.f32 s4, #4.5 + vmov.f32 s5, #5.0 + vmov.f32 s6, #6.0 + vmov.f32 s7, #7.5 + vmov.f32 s8, #8.0 + vmov.f32 s9, #9.0 + vmov.f32 s10, #10.5 + vmov.f32 s11, #11.0 + vmov.f32 s12, #12.0 + vmov.f32 s13, #13.5 + vmov.f32 s14, #14.0 + vmov.f32 s15, #1.0 + vmov.f32 s16, #2.5 + vmov.f32 s17, #3.0 + vmov.f32 s18, #4.0 + vmov.f32 s19, #5.5 + vmov.f32 s20, #6.0 + vmov.f32 s21, #7.0 + vmov.f32 s22, #8.5 + vmov.f32 s23, #9.0 + vmov.f32 s24, #10.0 + vmov.f32 s25, #11.5 + vmov.f32 s26, #12.0 + vmov.f32 s27, #13.0 + vmov.f32 s28, #14.5 + vmov.f32 s29, #1.0 + vmov.f32 s30, #2.0 + vmov.f32 s31, #3.5 + + reg4_loop: + /* Verify that core registers contain correct values. */ + cmp r0, #0 + bne reg4_error_loop + cmp r1, #1 + bne reg4_error_loop + cmp r2, #2 + bne reg4_error_loop + cmp r3, #3 + bne reg4_error_loop + cmp r4, #4 + bne reg4_error_loop + cmp r5, #5 + bne reg4_error_loop + cmp r6, #6 + bne reg4_error_loop + cmp r7, #7 + bne reg4_error_loop + cmp r8, #8 + bne reg4_error_loop + cmp r9, #9 + bne reg4_error_loop + cmp r10, #10 + bne reg4_error_loop + cmp r11, #11 + bne reg4_error_loop + cmp r12, #12 + bne reg4_error_loop + + /* Verify that FPU registers contain correct values. */ + vmov.f32 s1, #1.5 + vcmp.f32 s0, s1 + vmrs APSR_nzcv, FPSCR + bne reg4_error_loop + vmov.f32 s1, #2.0 + vcmp.f32 s2, s1 + vmrs APSR_nzcv, FPSCR + bne reg4_error_loop + vmov.f32 s1, #3.0 + vcmp.f32 s3, s1 + vmrs APSR_nzcv, FPSCR + bne reg4_error_loop + vmov.f32 s1, #4.5 + vcmp.f32 s4, s1 + vmrs APSR_nzcv, FPSCR + bne reg4_error_loop + vmov.f32 s1, #5.0 + vcmp.f32 s5, s1 + vmrs APSR_nzcv, FPSCR + bne reg4_error_loop + vmov.f32 s1, #6.0 + vcmp.f32 s6, s1 + vmrs APSR_nzcv, FPSCR + bne reg4_error_loop + vmov.f32 s1, #7.5 + vcmp.f32 s7, s1 + vmrs APSR_nzcv, FPSCR + bne reg4_error_loop + vmov.f32 s1, #8.0 + vcmp.f32 s8, s1 + vmrs APSR_nzcv, FPSCR + bne reg4_error_loop + vmov.f32 s1, #9.0 + vcmp.f32 s9, s1 + vmrs APSR_nzcv, FPSCR + bne reg4_error_loop + vmov.f32 s1, #10.5 + vcmp.f32 s10, s1 + vmrs APSR_nzcv, FPSCR + bne reg4_error_loop + vmov.f32 s1, #11.0 + vcmp.f32 s11, s1 + vmrs APSR_nzcv, FPSCR + bne reg4_error_loop + vmov.f32 s1, #12.0 + vcmp.f32 s12, s1 + vmrs APSR_nzcv, FPSCR + bne reg4_error_loop + vmov.f32 s1, #13.5 + vcmp.f32 s13, s1 + vmrs APSR_nzcv, FPSCR + bne reg4_error_loop + vmov.f32 s1, #14.0 + vcmp.f32 s14, s1 + vmrs APSR_nzcv, FPSCR + bne reg4_error_loop + vmov.f32 s1, #1.0 + vcmp.f32 s15, s1 + vmrs APSR_nzcv, FPSCR + bne reg4_error_loop + vmov.f32 s1, #2.5 + vcmp.f32 s16, s1 + vmrs APSR_nzcv, FPSCR + bne reg4_error_loop + vmov.f32 s1, #3.0 + vcmp.f32 s17, s1 + vmrs APSR_nzcv, FPSCR + bne reg4_error_loop + vmov.f32 s1, #4.0 + vcmp.f32 s18, s1 + vmrs APSR_nzcv, FPSCR + bne reg4_error_loop + vmov.f32 s1, #5.5 + vcmp.f32 s19, s1 + vmrs APSR_nzcv, FPSCR + bne reg4_error_loop + vmov.f32 s1, #6.0 + vcmp.f32 s20, s1 + vmrs APSR_nzcv, FPSCR + bne reg4_error_loop + vmov.f32 s1, #7.0 + vcmp.f32 s21, s1 + vmrs APSR_nzcv, FPSCR + bne reg4_error_loop + vmov.f32 s1, #8.5 + vcmp.f32 s22, s1 + vmrs APSR_nzcv, FPSCR + bne reg4_error_loop + vmov.f32 s1, #9.0 + vcmp.f32 s23, s1 + vmrs APSR_nzcv, FPSCR + bne reg4_error_loop + vmov.f32 s1, #10.0 + vcmp.f32 s24, s1 + vmrs APSR_nzcv, FPSCR + bne reg4_error_loop + vmov.f32 s1, #11.5 + vcmp.f32 s25, s1 + vmrs APSR_nzcv, FPSCR + bne reg4_error_loop + vmov.f32 s1, #12.0 + vcmp.f32 s26, s1 + vmrs APSR_nzcv, FPSCR + bne reg4_error_loop + vmov.f32 s1, #13.0 + vcmp.f32 s27, s1 + vmrs APSR_nzcv, FPSCR + bne reg4_error_loop + vmov.f32 s1, #14.5 + vcmp.f32 s28, s1 + vmrs APSR_nzcv, FPSCR + bne reg4_error_loop + vmov.f32 s1, #1.0 + vcmp.f32 s29, s1 + vmrs APSR_nzcv, FPSCR + bne reg4_error_loop + vmov.f32 s1, #2.0 + vcmp.f32 s30, s1 + vmrs APSR_nzcv, FPSCR + bne reg4_error_loop + vmov.f32 s1, #3.5 + vcmp.f32 s31, s1 + vmrs APSR_nzcv, FPSCR + bne reg4_error_loop + + /* Everything passed, inc the loop counter. */ + push { r0, r1 } + ldr r0, =ulRegTest4LoopCounter + ldr r1, [r0] + adds r1, r1, #1 + str r1, [r0] + pop { r0, r1 } + + /* Start again. */ + b reg4_loop + + reg4_error_loop: + b reg4_error_loop + nop + ltorg /* Create a literal pool to ensure that the constants accessed in the above + * code are not out of range. */ + +/*-----------------------------------------------------------*/ + + END diff --git a/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Demo/RVDS/reg_tests_asm.s b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Demo/RVDS/reg_tests_asm.s new file mode 100644 index 000000000..7bf441fdf --- /dev/null +++ b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Demo/RVDS/reg_tests_asm.s @@ -0,0 +1,956 @@ +;/* +; * FreeRTOS V202212.00 +; * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * +; * Permission is hereby granted, free of charge, to any person obtaining a copy of +; * this software and associated documentation files (the "Software"), to deal in +; * the Software without restriction, including without limitation the rights to +; * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +; * the Software, and to permit persons to whom the Software is furnished to do so, +; * subject to the following conditions: +; * +; * The above copyright notice and this permission notice shall be included in all +; * copies or substantial portions of the Software. +; * +; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +; * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +; * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +; * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +; * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +; * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +; * +; * https://www.FreeRTOS.org +; * https://github.com/FreeRTOS +; * +; */ + +;/* +; * "Reg test" tasks - These fill the registers with known values, then check +; * that each register maintains its expected value for the lifetime of the +; * task. Each task uses a different set of values. The reg test tasks execute +; * with a very low priority, so get preempted very frequently. A register +; * containing an unexpected value is indicative of an error in the context +; * switching mechanism. +; */ +;/*-----------------------------------------------------------*/ + + IMPORT ulRegTest1LoopCounter + IMPORT ulRegTest2LoopCounter + IMPORT ulRegTest3LoopCounter + IMPORT ulRegTest4LoopCounter + + EXPORT vRegTest1Asm + EXPORT vRegTest2Asm + EXPORT vRegTest3Asm + EXPORT vRegTest4Asm + + AREA REG_TESTS_ASM, CODE, READONLY +;/*-----------------------------------------------------------*/ + +vRegTest1Asm + + PRESERVE8 + + ;/* Fill the core registers with known values. */ + movs r0, #100 + movs r1, #101 + movs r2, #102 + movs r3, #103 + movs r4, #104 + movs r5, #105 + movs r6, #106 + movs r7, #107 + mov r8, #108 + mov r9, #109 + mov r10, #110 + mov r11, #111 + mov r12, #112 + + ;/* Fill the FPU registers with known values. */ + vmov.f32 s1, #1.5 + vmov.f32 s2, #2.5 + vmov.f32 s3, #3.5 + vmov.f32 s4, #4.5 + vmov.f32 s5, #5.5 + vmov.f32 s6, #6.5 + vmov.f32 s7, #7.5 + vmov.f32 s8, #8.5 + vmov.f32 s9, #9.5 + vmov.f32 s10, #10.5 + vmov.f32 s11, #11.5 + vmov.f32 s12, #12.5 + vmov.f32 s13, #13.5 + vmov.f32 s14, #14.5 + vmov.f32 s15, #1.0 + vmov.f32 s16, #2.0 + vmov.f32 s17, #3.0 + vmov.f32 s18, #4.0 + vmov.f32 s19, #5.0 + vmov.f32 s20, #6.0 + vmov.f32 s21, #7.0 + vmov.f32 s22, #8.0 + vmov.f32 s23, #9.0 + vmov.f32 s24, #10.0 + vmov.f32 s25, #11.0 + vmov.f32 s26, #12.0 + vmov.f32 s27, #13.0 + vmov.f32 s28, #14.0 + vmov.f32 s29, #1.5 + vmov.f32 s30, #2.5 + vmov.f32 s31, #3.5 + +reg1_loop + ;/* Verify that core registers contain correct values. */ + cmp r0, #100 + bne.w reg1_error_loop + cmp r1, #101 + bne.w reg1_error_loop + cmp r2, #102 + bne.w reg1_error_loop + cmp r3, #103 + bne.w reg1_error_loop + cmp r4, #104 + bne.w reg1_error_loop + cmp r5, #105 + bne.w reg1_error_loop + cmp r6, #106 + bne.w reg1_error_loop + cmp r7, #107 + bne.w reg1_error_loop + cmp r8, #108 + bne.w reg1_error_loop + cmp r9, #109 + bne.w reg1_error_loop + cmp r10, #110 + bne.w reg1_error_loop + cmp r11, #111 + bne.w reg1_error_loop + cmp r12, #112 + bne.w reg1_error_loop + + ;/* Verify that FPU registers contain correct values. */ + vmov.f32 s0, #1.5 ;/* s0 = 1.5. */ + vcmp.f32 s1, s0 ;/* Compare s0 and s1. */ + vmrs APSR_nzcv, FPSCR ;/* Copy floating point flags (FPSCR flags) to ASPR flags - needed for next bne.w to work. */ + bne.w reg1_error_loop + vmov.f32 s0, #2.5 + vcmp.f32 s2, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg1_error_loop + vmov.f32 s0, #3.5 + vcmp.f32 s3, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg1_error_loop + vmov.f32 s0, #4.5 + vcmp.f32 s4, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg1_error_loop + vmov.f32 s0, #5.5 + vcmp.f32 s5, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg1_error_loop + vmov.f32 s0, #6.5 + vcmp.f32 s6, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg1_error_loop + vmov.f32 s0, #7.5 + vcmp.f32 s7, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg1_error_loop + vmov.f32 s0, #8.5 + vcmp.f32 s8, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg1_error_loop + vmov.f32 s0, #9.5 + vcmp.f32 s9, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg1_error_loop + vmov.f32 s0, #10.5 + vcmp.f32 s10, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg1_error_loop + vmov.f32 s0, #11.5 + vcmp.f32 s11, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg1_error_loop + vmov.f32 s0, #12.5 + vcmp.f32 s12, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg1_error_loop + vmov.f32 s0, #13.5 + vcmp.f32 s13, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg1_error_loop + vmov.f32 s0, #14.5 + vcmp.f32 s14, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg1_error_loop + vmov.f32 s0, #1.0 + vcmp.f32 s15, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg1_error_loop + vmov.f32 s0, #2.0 + vcmp.f32 s16, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg1_error_loop + vmov.f32 s0, #3.0 + vcmp.f32 s17, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg1_error_loop + vmov.f32 s0, #4.0 + vcmp.f32 s18, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg1_error_loop + vmov.f32 s0, #5.0 + vcmp.f32 s19, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg1_error_loop + vmov.f32 s0, #6.0 + vcmp.f32 s20, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg1_error_loop + vmov.f32 s0, #7.0 + vcmp.f32 s21, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg1_error_loop + vmov.f32 s0, #8.0 + vcmp.f32 s22, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg1_error_loop + vmov.f32 s0, #9.0 + vcmp.f32 s23, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg1_error_loop + vmov.f32 s0, #10.0 + vcmp.f32 s24, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg1_error_loop + vmov.f32 s0, #11.0 + vcmp.f32 s25, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg1_error_loop + vmov.f32 s0, #12.0 + vcmp.f32 s26, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg1_error_loop + vmov.f32 s0, #13.0 + vcmp.f32 s27, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg1_error_loop + vmov.f32 s0, #14.0 + vcmp.f32 s28, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg1_error_loop + vmov.f32 s0, #1.5 + vcmp.f32 s29, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg1_error_loop + vmov.f32 s0, #2.5 + vcmp.f32 s30, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg1_error_loop + vmov.f32 s0, #3.5 + vcmp.f32 s31, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg1_error_loop + + ;/* Everything passed, inc the loop counter. */ + push { r0, r1 } + ldr r0, =ulRegTest1LoopCounter + ldr r1, [r0] + adds r1, r1, #1 + str r1, [r0] + + ;/* Yield to increase test coverage. */ + movs r0, #0x01 + ldr r1, =0xe000ed04 ;/* NVIC_ICSR. */ + lsls r0, #28 ;/* Shift to PendSV bit. */ + str r0, [r1] + dsb + pop { r0, r1 } + + ;/* Start again. */ + b reg1_loop + +reg1_error_loop + b reg1_error_loop + LTORG +;/*-----------------------------------------------------------*/ + +vRegTest2Asm + + PRESERVE8 + + ;/* Fill the core registers with known values. */ + movs r0, #0 + movs r1, #1 + movs r2, #2 + movs r3, #3 + movs r4, #4 + movs r5, #5 + movs r6, #6 + movs r7, #7 + mov r8, #8 + mov r9, #9 + movs r10, #10 + movs r11, #11 + movs r12, #12 + + ;/* Fill the FPU registers with known values. */ + vmov.f32 s1, #1.0 + vmov.f32 s2, #2.0 + vmov.f32 s3, #3.0 + vmov.f32 s4, #4.0 + vmov.f32 s5, #5.0 + vmov.f32 s6, #6.0 + vmov.f32 s7, #7.0 + vmov.f32 s8, #8.0 + vmov.f32 s9, #9.0 + vmov.f32 s10, #10.0 + vmov.f32 s11, #11.0 + vmov.f32 s12, #12.0 + vmov.f32 s13, #13.0 + vmov.f32 s14, #14.0 + vmov.f32 s15, #1.5 + vmov.f32 s16, #2.5 + vmov.f32 s17, #3.5 + vmov.f32 s18, #4.5 + vmov.f32 s19, #5.5 + vmov.f32 s20, #6.5 + vmov.f32 s21, #7.5 + vmov.f32 s22, #8.5 + vmov.f32 s23, #9.5 + vmov.f32 s24, #10.5 + vmov.f32 s25, #11.5 + vmov.f32 s26, #12.5 + vmov.f32 s27, #13.5 + vmov.f32 s28, #14.5 + vmov.f32 s29, #1.0 + vmov.f32 s30, #2.0 + vmov.f32 s31, #3.0 + +reg2_loop + ;/* Verify that core registers contain correct values. */ + cmp r0, #0 + bne.w reg2_error_loop + cmp r1, #1 + bne.w reg2_error_loop + cmp r2, #2 + bne.w reg2_error_loop + cmp r3, #3 + bne.w reg2_error_loop + cmp r4, #4 + bne.w reg2_error_loop + cmp r5, #5 + bne.w reg2_error_loop + cmp r6, #6 + bne.w reg2_error_loop + cmp r7, #7 + bne.w reg2_error_loop + cmp r8, #8 + bne.w reg2_error_loop + cmp r9, #9 + bne.w reg2_error_loop + cmp r10, #10 + bne.w reg2_error_loop + cmp r11, #11 + bne.w reg2_error_loop + cmp r12, #12 + bne.w reg2_error_loop + + ;/* Verify that FPU registers contain correct values. */ + vmov.f32 s0, #1.0 + vcmp.f32 s1, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg2_error_loop + vmov.f32 s0, #2.0 + vcmp.f32 s2, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg2_error_loop + vmov.f32 s0, #3.0 + vcmp.f32 s3, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg2_error_loop + vmov.f32 s0, #4.0 + vcmp.f32 s4, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg2_error_loop + vmov.f32 s0, #5.0 + vcmp.f32 s5, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg2_error_loop + vmov.f32 s0, #6.0 + vcmp.f32 s6, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg2_error_loop + vmov.f32 s0, #7.0 + vcmp.f32 s7, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg2_error_loop + vmov.f32 s0, #8.0 + vcmp.f32 s8, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg2_error_loop + vmov.f32 s0, #9.0 + vcmp.f32 s9, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg2_error_loop + vmov.f32 s0, #10.0 + vcmp.f32 s10, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg2_error_loop + vmov.f32 s0, #11.0 + vcmp.f32 s11, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg2_error_loop + vmov.f32 s0, #12.0 + vcmp.f32 s12, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg2_error_loop + vmov.f32 s0, #13.0 + vcmp.f32 s13, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg2_error_loop + vmov.f32 s0, #14.0 + vcmp.f32 s14, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg2_error_loop + vmov.f32 s0, #1.5 + vcmp.f32 s15, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg2_error_loop + vmov.f32 s0, #2.5 + vcmp.f32 s16, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg2_error_loop + vmov.f32 s0, #3.5 + vcmp.f32 s17, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg2_error_loop + vmov.f32 s0, #4.5 + vcmp.f32 s18, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg2_error_loop + vmov.f32 s0, #5.5 + vcmp.f32 s19, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg2_error_loop + vmov.f32 s0, #6.5 + vcmp.f32 s20, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg2_error_loop + vmov.f32 s0, #7.5 + vcmp.f32 s21, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg2_error_loop + vmov.f32 s0, #8.5 + vcmp.f32 s22, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg2_error_loop + vmov.f32 s0, #9.5 + vcmp.f32 s23, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg2_error_loop + vmov.f32 s0, #10.5 + vcmp.f32 s24, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg2_error_loop + vmov.f32 s0, #11.5 + vcmp.f32 s25, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg2_error_loop + vmov.f32 s0, #12.5 + vcmp.f32 s26, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg2_error_loop + vmov.f32 s0, #13.5 + vcmp.f32 s27, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg2_error_loop + vmov.f32 s0, #14.5 + vcmp.f32 s28, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg2_error_loop + vmov.f32 s0, #1.0 + vcmp.f32 s29, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg2_error_loop + vmov.f32 s0, #2.0 + vcmp.f32 s30, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg2_error_loop + vmov.f32 s0, #3.0 + vcmp.f32 s31, s0 + vmrs APSR_nzcv, FPSCR + bne.w reg2_error_loop + + ;/* Everything passed, inc the loop counter. */ + push { r0, r1 } + ldr r0, =ulRegTest2LoopCounter + ldr r1, [r0] + adds r1, r1, #1 + str r1, [r0] + pop { r0, r1 } + + ;/* Start again. */ + b reg2_loop + +reg2_error_loop + b reg2_error_loop + LTORG +;/*-----------------------------------------------------------*/ + +vRegTest3Asm + + PRESERVE8 + + ;/* Fill the core registers with known values. */ + movs r0, #100 + movs r1, #101 + movs r2, #102 + movs r3, #103 + movs r4, #104 + movs r5, #105 + movs r6, #106 + movs r7, #107 + mov r8, #108 + mov r9, #109 + mov r10, #110 + mov r11, #111 + mov r12, #112 + + ;/* Fill the FPU registers with known values. */ + vmov.f32 s0, #1.5 + vmov.f32 s2, #2.0 + vmov.f32 s3, #3.5 + vmov.f32 s4, #4.0 + vmov.f32 s5, #5.5 + vmov.f32 s6, #6.0 + vmov.f32 s7, #7.5 + vmov.f32 s8, #8.0 + vmov.f32 s9, #9.5 + vmov.f32 s10, #10.0 + vmov.f32 s11, #11.5 + vmov.f32 s12, #12.0 + vmov.f32 s13, #13.5 + vmov.f32 s14, #14.0 + vmov.f32 s15, #1.5 + vmov.f32 s16, #2.0 + vmov.f32 s17, #3.5 + vmov.f32 s18, #4.0 + vmov.f32 s19, #5.5 + vmov.f32 s20, #6.0 + vmov.f32 s21, #7.5 + vmov.f32 s22, #8.0 + vmov.f32 s23, #9.5 + vmov.f32 s24, #10.0 + vmov.f32 s25, #11.5 + vmov.f32 s26, #12.0 + vmov.f32 s27, #13.5 + vmov.f32 s28, #14.0 + vmov.f32 s29, #1.5 + vmov.f32 s30, #2.0 + vmov.f32 s31, #3.5 + +reg3_loop + ;/* Verify that core registers contain correct values. */ + cmp r0, #100 + bne.w reg3_error_loop + cmp r1, #101 + bne.w reg3_error_loop + cmp r2, #102 + bne.w reg3_error_loop + cmp r3, #103 + bne.w reg3_error_loop + cmp r4, #104 + bne.w reg3_error_loop + cmp r5, #105 + bne.w reg3_error_loop + cmp r6, #106 + bne.w reg3_error_loop + cmp r7, #107 + bne.w reg3_error_loop + cmp r8, #108 + bne.w reg3_error_loop + cmp r9, #109 + bne.w reg3_error_loop + cmp r10, #110 + bne.w reg3_error_loop + cmp r11, #111 + bne.w reg3_error_loop + cmp r12, #112 + bne.w reg3_error_loop + + ;/* Verify that FPU registers contain correct values. */ + vmov.f32 s1, #1.5 + vcmp.f32 s0, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg3_error_loop + vmov.f32 s1, #2.0 + vcmp.f32 s2, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg3_error_loop + vmov.f32 s1, #3.5 + vcmp.f32 s3, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg3_error_loop + vmov.f32 s1, #4.0 + vcmp.f32 s4, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg3_error_loop + vmov.f32 s1, #5.5 + vcmp.f32 s5, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg3_error_loop + vmov.f32 s1, #6.0 + vcmp.f32 s6, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg3_error_loop + vmov.f32 s1, #7.5 + vcmp.f32 s7, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg3_error_loop + vmov.f32 s1, #8.0 + vcmp.f32 s8, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg3_error_loop + vmov.f32 s1, #9.5 + vcmp.f32 s9, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg3_error_loop + vmov.f32 s1, #10.0 + vcmp.f32 s10, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg3_error_loop + vmov.f32 s1, #11.5 + vcmp.f32 s11, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg3_error_loop + vmov.f32 s1, #12.0 + vcmp.f32 s12, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg3_error_loop + vmov.f32 s1, #13.5 + vcmp.f32 s13, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg3_error_loop + vmov.f32 s1, #14.0 + vcmp.f32 s14, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg3_error_loop + vmov.f32 s1, #1.5 + vcmp.f32 s15, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg3_error_loop + vmov.f32 s1, #2.0 + vcmp.f32 s16, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg3_error_loop + vmov.f32 s1, #3.5 + vcmp.f32 s17, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg3_error_loop + vmov.f32 s1, #4.0 + vcmp.f32 s18, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg3_error_loop + vmov.f32 s1, #5.5 + vcmp.f32 s19, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg3_error_loop + vmov.f32 s1, #6.0 + vcmp.f32 s20, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg3_error_loop + vmov.f32 s1, #7.5 + vcmp.f32 s21, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg3_error_loop + vmov.f32 s1, #8.0 + vcmp.f32 s22, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg3_error_loop + vmov.f32 s1, #9.5 + vcmp.f32 s23, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg3_error_loop + vmov.f32 s1, #10.0 + vcmp.f32 s24, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg3_error_loop + vmov.f32 s1, #11.5 + vcmp.f32 s25, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg3_error_loop + vmov.f32 s1, #12.0 + vcmp.f32 s26, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg3_error_loop + vmov.f32 s1, #13.5 + vcmp.f32 s27, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg3_error_loop + vmov.f32 s1, #14.0 + vcmp.f32 s28, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg3_error_loop + vmov.f32 s1, #1.5 + vcmp.f32 s29, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg3_error_loop + vmov.f32 s1, #2.0 + vcmp.f32 s30, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg3_error_loop + vmov.f32 s1, #3.5 + vcmp.f32 s31, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg3_error_loop + + ;/* Everything passed, inc the loop counter. */ + push { r0, r1 } + ldr r0, =ulRegTest3LoopCounter + ldr r1, [r0] + adds r1, r1, #1 + str r1, [r0] + + ;/* Yield to increase test coverage. */ + movs r0, #0x01 + ldr r1, =0xe000ed04 ;/* NVIC_ICSR. */ + lsls r0, #28 ;/* Shift to PendSV bit. */ + str r0, [r1] + dsb + pop { r0, r1 } + + ;/* Start again. */ + b reg3_loop + +reg3_error_loop + b reg3_error_loop + LTORG +;/*-----------------------------------------------------------*/ + +vRegTest4Asm + + PRESERVE8 + + ;/* Fill the core registers with known values. */ + movs r0, #0 + movs r1, #1 + movs r2, #2 + movs r3, #3 + movs r4, #4 + movs r5, #5 + movs r6, #6 + movs r7, #7 + mov r8, #8 + mov r9, #9 + movs r10, #10 + movs r11, #11 + movs r12, #12 + + ;/* Fill the FPU registers with known values. */ + vmov.f32 s0, #1.5 + vmov.f32 s2, #2.0 + vmov.f32 s3, #3.0 + vmov.f32 s4, #4.5 + vmov.f32 s5, #5.0 + vmov.f32 s6, #6.0 + vmov.f32 s7, #7.5 + vmov.f32 s8, #8.0 + vmov.f32 s9, #9.0 + vmov.f32 s10, #10.5 + vmov.f32 s11, #11.0 + vmov.f32 s12, #12.0 + vmov.f32 s13, #13.5 + vmov.f32 s14, #14.0 + vmov.f32 s15, #1.0 + vmov.f32 s16, #2.5 + vmov.f32 s17, #3.0 + vmov.f32 s18, #4.0 + vmov.f32 s19, #5.5 + vmov.f32 s20, #6.0 + vmov.f32 s21, #7.0 + vmov.f32 s22, #8.5 + vmov.f32 s23, #9.0 + vmov.f32 s24, #10.0 + vmov.f32 s25, #11.5 + vmov.f32 s26, #12.0 + vmov.f32 s27, #13.0 + vmov.f32 s28, #14.5 + vmov.f32 s29, #1.0 + vmov.f32 s30, #2.0 + vmov.f32 s31, #3.5 + +reg4_loop + ;/* Verify that core registers contain correct values. */ + cmp r0, #0 + bne.w reg4_error_loop + cmp r1, #1 + bne.w reg4_error_loop + cmp r2, #2 + bne.w reg4_error_loop + cmp r3, #3 + bne.w reg4_error_loop + cmp r4, #4 + bne.w reg4_error_loop + cmp r5, #5 + bne.w reg4_error_loop + cmp r6, #6 + bne.w reg4_error_loop + cmp r7, #7 + bne.w reg4_error_loop + cmp r8, #8 + bne.w reg4_error_loop + cmp r9, #9 + bne.w reg4_error_loop + cmp r10, #10 + bne.w reg4_error_loop + cmp r11, #11 + bne.w reg4_error_loop + cmp r12, #12 + bne.w reg4_error_loop + + ;/* Verify that FPU registers contain correct values. */ + vmov.f32 s1, #1.5 + vcmp.f32 s0, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg4_error_loop + vmov.f32 s1, #2.0 + vcmp.f32 s2, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg4_error_loop + vmov.f32 s1, #3.0 + vcmp.f32 s3, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg4_error_loop + vmov.f32 s1, #4.5 + vcmp.f32 s4, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg4_error_loop + vmov.f32 s1, #5.0 + vcmp.f32 s5, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg4_error_loop + vmov.f32 s1, #6.0 + vcmp.f32 s6, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg4_error_loop + vmov.f32 s1, #7.5 + vcmp.f32 s7, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg4_error_loop + vmov.f32 s1, #8.0 + vcmp.f32 s8, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg4_error_loop + vmov.f32 s1, #9.0 + vcmp.f32 s9, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg4_error_loop + vmov.f32 s1, #10.5 + vcmp.f32 s10, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg4_error_loop + vmov.f32 s1, #11.0 + vcmp.f32 s11, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg4_error_loop + vmov.f32 s1, #12.0 + vcmp.f32 s12, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg4_error_loop + vmov.f32 s1, #13.5 + vcmp.f32 s13, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg4_error_loop + vmov.f32 s1, #14.0 + vcmp.f32 s14, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg4_error_loop + vmov.f32 s1, #1.0 + vcmp.f32 s15, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg4_error_loop + vmov.f32 s1, #2.5 + vcmp.f32 s16, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg4_error_loop + vmov.f32 s1, #3.0 + vcmp.f32 s17, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg4_error_loop + vmov.f32 s1, #4.0 + vcmp.f32 s18, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg4_error_loop + vmov.f32 s1, #5.5 + vcmp.f32 s19, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg4_error_loop + vmov.f32 s1, #6.0 + vcmp.f32 s20, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg4_error_loop + vmov.f32 s1, #7.0 + vcmp.f32 s21, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg4_error_loop + vmov.f32 s1, #8.5 + vcmp.f32 s22, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg4_error_loop + vmov.f32 s1, #9.0 + vcmp.f32 s23, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg4_error_loop + vmov.f32 s1, #10.0 + vcmp.f32 s24, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg4_error_loop + vmov.f32 s1, #11.5 + vcmp.f32 s25, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg4_error_loop + vmov.f32 s1, #12.0 + vcmp.f32 s26, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg4_error_loop + vmov.f32 s1, #13.0 + vcmp.f32 s27, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg4_error_loop + vmov.f32 s1, #14.5 + vcmp.f32 s28, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg4_error_loop + vmov.f32 s1, #1.0 + vcmp.f32 s29, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg4_error_loop + vmov.f32 s1, #2.0 + vcmp.f32 s30, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg4_error_loop + vmov.f32 s1, #3.5 + vcmp.f32 s31, s1 + vmrs APSR_nzcv, FPSCR + bne.w reg4_error_loop + + ;/* Everything passed, inc the loop counter. */ + push { r0, r1 } + ldr r0, =ulRegTest4LoopCounter + ldr r1, [r0] + adds r1, r1, #1 + str r1, [r0] + pop { r0, r1 } + + ;/* Start again. */ + b reg4_loop + +reg4_error_loop + b reg4_error_loop + LTORG +;/*-----------------------------------------------------------*/ + + END
\ No newline at end of file diff --git a/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Demo/app_main.c b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Demo/app_main.c index 2677c86f0..761b1ba23 100644 --- a/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Demo/app_main.c +++ b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Demo/app_main.c @@ -32,12 +32,16 @@ /* Demo includes. */ #include "mpu_demo.h" +#include "reg_tests.h" void app_main( void ) { /* Start the MPU demo. */ vStartMPUDemo(); + /* Start register tests. */ + vStartRegTests(); + /* Start the scheduler. */ vTaskStartScheduler(); diff --git a/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Demo/reg_tests.c b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Demo/reg_tests.c new file mode 100644 index 000000000..d4efebfb6 --- /dev/null +++ b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Demo/reg_tests.c @@ -0,0 +1,376 @@ +/* + * FreeRTOS V202212.00 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * https://www.FreeRTOS.org + * https://github.com/FreeRTOS + * + */ + +/* Scheduler includes. */ +#include "FreeRTOS.h" +#include "task.h" + +/* Reg test includes. */ +#include "reg_tests.h" + +/* Hardware includes. */ +#include "main.h" + +/* + * Functions that implement reg test tasks. + */ +static void prvRegTest1Task( void * pvParameters ); +static void prvRegTest2Task( void * pvParameters ); +static void prvRegTest3Task( void * pvParameters ); +static void prvRegTest4Task( void * pvParameters ); + +/* + * Check task periodically checks that reg tests tasks + * are running fine. + */ +static void prvCheckTask( void * pvParameters ); + +/* + * Functions implemented in assembly. + */ +extern void vRegTest1Asm( void ); +extern void vRegTest2Asm( void ); +extern void vRegTest3Asm( void ); +extern void vRegTest4Asm( void ); +/*-----------------------------------------------------------*/ + +/* + * Priority of the check task. + */ +#define CHECK_TASK_PRIORITY ( configMAX_PRIORITIES - 1 ) + +/* + * Frequency of check task. + */ +#define NO_ERROR_CHECK_TASK_PERIOD ( pdMS_TO_TICKS( 5000UL ) ) +#define ERROR_CHECK_TASK_PERIOD ( pdMS_TO_TICKS( 200UL ) ) + +/* + * Parameters passed to reg test tasks. + */ +#define REG_TEST_TASK_1_PARAMETER ( ( void * ) 0x12345678 ) +#define REG_TEST_TASK_2_PARAMETER ( ( void * ) 0x87654321 ) +#define REG_TEST_TASK_3_PARAMETER ( ( void * ) 0x12348765 ) +#define REG_TEST_TASK_4_PARAMETER ( ( void * ) 0x43215678 ) +/*-----------------------------------------------------------*/ + +/* + * The following variables are used to communicate the status of the register + * test tasks to the check task. If the variables keep incrementing, then the + * register test tasks have not discovered any errors. If a variable stops + * incrementing, then an error has been found. + */ +volatile unsigned long ulRegTest1LoopCounter = 0UL, ulRegTest2LoopCounter = 0UL; +volatile unsigned long ulRegTest3LoopCounter = 0UL, ulRegTest4LoopCounter = 0UL; + +/** + * Counter to keep a count of how may times the check task loop has detected + * error. + */ +volatile unsigned long ulCheckTaskLoops = 0UL; +/*-----------------------------------------------------------*/ + +void vStartRegTests( void ) +{ +static StackType_t xRegTest1TaskStack[ configMINIMAL_STACK_SIZE ] __attribute__( ( aligned( configMINIMAL_STACK_SIZE * sizeof( StackType_t ) ) ) ); +static StackType_t xRegTest2TaskStack[ configMINIMAL_STACK_SIZE ] __attribute__( ( aligned( configMINIMAL_STACK_SIZE * sizeof( StackType_t ) ) ) ); +static StackType_t xRegTest3TaskStack[ configMINIMAL_STACK_SIZE ] __attribute__( ( aligned( configMINIMAL_STACK_SIZE * sizeof( StackType_t ) ) ) ); +static StackType_t xRegTest4TaskStack[ configMINIMAL_STACK_SIZE ] __attribute__( ( aligned( configMINIMAL_STACK_SIZE * sizeof( StackType_t ) ) ) ); +static StackType_t xCheckTaskStack[ configMINIMAL_STACK_SIZE ] __attribute__( ( aligned( configMINIMAL_STACK_SIZE * sizeof( StackType_t ) ) ) ); + +TaskParameters_t xRegTest1TaskParameters = +{ + .pvTaskCode = prvRegTest1Task, + .pcName = "RegTest1", + .usStackDepth = configMINIMAL_STACK_SIZE, + .pvParameters = REG_TEST_TASK_1_PARAMETER, + .uxPriority = tskIDLE_PRIORITY | portPRIVILEGE_BIT, + .puxStackBuffer = xRegTest1TaskStack, + .xRegions = { + { 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, 0 }, + { 0, 0, 0 }, + { 0, 0, 0 } + } +}; +TaskParameters_t xRegTest2TaskParameters = +{ + .pvTaskCode = prvRegTest2Task, + .pcName = "RegTest2", + .usStackDepth = configMINIMAL_STACK_SIZE, + .pvParameters = REG_TEST_TASK_2_PARAMETER, + .uxPriority = tskIDLE_PRIORITY | portPRIVILEGE_BIT, + .puxStackBuffer = xRegTest2TaskStack, + .xRegions = { + { 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, 0 }, + { 0, 0, 0 }, + { 0, 0, 0 } + } +}; +TaskParameters_t xRegTest3TaskParameters = +{ + .pvTaskCode = prvRegTest3Task, + .pcName = "RegTest3", + .usStackDepth = configMINIMAL_STACK_SIZE, + .pvParameters = REG_TEST_TASK_3_PARAMETER, + .uxPriority = tskIDLE_PRIORITY | portPRIVILEGE_BIT, + .puxStackBuffer = xRegTest3TaskStack, + .xRegions = { + { 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, 0 }, + { 0, 0, 0 }, + { 0, 0, 0 } + } +}; +TaskParameters_t xRegTest4TaskParameters = +{ + .pvTaskCode = prvRegTest4Task, + .pcName = "RegTest4", + .usStackDepth = configMINIMAL_STACK_SIZE, + .pvParameters = REG_TEST_TASK_4_PARAMETER, + .uxPriority = tskIDLE_PRIORITY | portPRIVILEGE_BIT, + .puxStackBuffer = xRegTest4TaskStack, + .xRegions = { + { 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, 0 }, + { 0, 0, 0 }, + { 0, 0, 0 } + } +}; + +TaskParameters_t xCheckTaskParameters = +{ + .pvTaskCode = prvCheckTask, + .pcName = "Check", + .usStackDepth = configMINIMAL_STACK_SIZE, + .pvParameters = NULL, + .uxPriority = ( CHECK_TASK_PRIORITY | portPRIVILEGE_BIT ), + .puxStackBuffer = xCheckTaskStack, + .xRegions = { + { 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, 0 }, + { 0, 0, 0 }, + { 0, 0, 0 } + } +}; + + xTaskCreateRestricted( &( xRegTest1TaskParameters ), NULL ); + xTaskCreateRestricted( &( xRegTest2TaskParameters ), NULL ); + xTaskCreateRestricted( &( xRegTest3TaskParameters ), NULL ); + xTaskCreateRestricted( &( xRegTest4TaskParameters ), NULL ); + xTaskCreateRestricted( &( xCheckTaskParameters ), NULL ); +} +/*-----------------------------------------------------------*/ + +static void prvRegTest1Task( void * pvParameters ) +{ + /* Although the reg tests are written in assembly, its entry + * point is written in C for convenience of checking that the + * task parameter is being passed in correctly. */ + if( pvParameters == REG_TEST_TASK_1_PARAMETER ) + { + /* Start the part of the test that is written in assembler. */ + vRegTest1Asm(); + } + + /* The following line will only execute if the task parameter + * is found to be incorrect. The check task will detect that + * the reg test loop counter is not being incremented and flag + * an error. */ + vTaskDelete( NULL ); +} +/*-----------------------------------------------------------*/ + +static void prvRegTest2Task( void * pvParameters ) +{ + /* Although the reg tests are written in assembly, its entry + * point is written in C for convenience of checking that the + * task parameter is being passed in correctly. */ + if( pvParameters == REG_TEST_TASK_2_PARAMETER ) + { + /* Start the part of the test that is written in assembler. */ + vRegTest2Asm(); + } + + /* The following line will only execute if the task parameter + * is found to be incorrect. The check task will detect that + * the reg test loop counter is not being incremented and flag + * an error. */ + vTaskDelete( NULL ); +} +/*-----------------------------------------------------------*/ + +static void prvRegTest3Task( void * pvParameters ) +{ + /* Although the reg tests are written in assembly, its entry + * point is written in C for convenience of checking that the + * task parameter is being passed in correctly. */ + if( pvParameters == REG_TEST_TASK_3_PARAMETER ) + { + /* Start the part of the test that is written in assembler. */ + vRegTest3Asm(); + } + + /* The following line will only execute if the task parameter + * is found to be incorrect. The check task will detect that + * the reg test loop counter is not being incremented and flag + * an error. */ + vTaskDelete( NULL ); +} +/*-----------------------------------------------------------*/ + +static void prvRegTest4Task( void * pvParameters ) +{ + /* Although the reg tests are written in assembly, its entry + * point is written in C for convenience of checking that the + * task parameter is being passed in correctly. */ + if( pvParameters == REG_TEST_TASK_4_PARAMETER ) + { + /* Start the part of the test that is written in assembler. */ + vRegTest4Asm(); + } + + /* The following line will only execute if the task parameter + * is found to be incorrect. The check task will detect that + * the reg test loop counter is not being incremented and flag + * an error. */ + vTaskDelete( NULL ); +} +/*-----------------------------------------------------------*/ + +static void prvCheckTask( void * pvParameters ) +{ +TickType_t xDelayPeriod = NO_ERROR_CHECK_TASK_PERIOD; +TickType_t xLastExecutionTime; +unsigned long ulErrorFound = pdFALSE; +static unsigned long ulLastRegTest1Value = 0, ulLastRegTest2Value = 0; +static unsigned long ulLastRegTest3Value = 0, ulLastRegTest4Value = 0; + + /* Just to stop compiler warnings. */ + ( void ) pvParameters; + + /* Initialize xLastExecutionTime so the first call to vTaskDelayUntil() + * works correctly. */ + xLastExecutionTime = xTaskGetTickCount(); + + /* Cycle for ever, delaying then checking all the other tasks are still + * operating without error. The onboard LED is toggled on each iteration. + * If an error is detected then the delay period is decreased from + * mainNO_ERROR_CHECK_TASK_PERIOD to mainERROR_CHECK_TASK_PERIOD. This has + * the effect of increasing the rate at which the onboard LED toggles, and + * in so doing gives visual feedback of the system status. */ + for( ;; ) + { + /* Delay until it is time to execute again. */ + vTaskDelayUntil( &xLastExecutionTime, xDelayPeriod ); + + /* Check that the register test 1 task is still running. */ + if( ulLastRegTest1Value == ulRegTest1LoopCounter ) + { + ulErrorFound |= 1UL << 0UL; + } + ulLastRegTest1Value = ulRegTest1LoopCounter; + + /* Check that the register test 2 task is still running. */ + if( ulLastRegTest2Value == ulRegTest2LoopCounter ) + { + ulErrorFound |= 1UL << 1UL; + } + ulLastRegTest2Value = ulRegTest2LoopCounter; + + /* Check that the register test 3 task is still running. */ + if( ulLastRegTest3Value == ulRegTest3LoopCounter ) + { + ulErrorFound |= 1UL << 2UL; + } + ulLastRegTest3Value = ulRegTest3LoopCounter; + + /* Check that the register test 4 task is still running. */ + if( ulLastRegTest4Value == ulRegTest4LoopCounter ) + { + ulErrorFound |= 1UL << 3UL; + } + ulLastRegTest4Value = ulRegTest4LoopCounter; + + + /* Toggle the green LED to give an indication of the system status. + * If the LED toggles every NO_ERROR_CHECK_TASK_PERIOD milliseconds + * then everything is ok. A faster toggle indicates an error. */ + HAL_GPIO_TogglePin( LD1_GPIO_Port, LD1_Pin ); + + if( ulErrorFound != pdFALSE ) + { + /* An error has been detected in one of the tasks - flash the LED + * at a higher frequency to give visible feedback that something has + * gone wrong (it might just be that the loop back connector required + * by the comtest tasks has not been fitted). */ + xDelayPeriod = ERROR_CHECK_TASK_PERIOD; + + /* Turn on Red LED to indicate error. */ + HAL_GPIO_WritePin( LD3_GPIO_Port, LD3_Pin, GPIO_PIN_SET ); + + /* Increment error detection count. */ + ulCheckTaskLoops++; + } + } +} +/*-----------------------------------------------------------*/ diff --git a/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Demo/reg_tests.h b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Demo/reg_tests.h new file mode 100644 index 000000000..0837aad72 --- /dev/null +++ b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Demo/reg_tests.h @@ -0,0 +1,35 @@ +/* + * FreeRTOS V202212.00 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * https://www.FreeRTOS.org + * https://github.com/FreeRTOS + * + */ + +#ifndef REG_TESTS_H +#define REG_TESTS_H + +/** + * @brief Creates all the tasks for reg tests. + */ +void vStartRegTests( void ); + +#endif /* REG_TESTS_H */ diff --git a/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/GCC/.cproject b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/GCC/.cproject index 852a26954..55f883f97 100644 --- a/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/GCC/.cproject +++ b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/GCC/.cproject @@ -10,6 +10,7 @@ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/> <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> + <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> </extensions> </storageModule> <storageModule moduleId="cdtBuildSystem" version="4.0.0"> @@ -18,9 +19,9 @@ <toolChain id="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug.373300876" name="MCU ARM GCC" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug"> <option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.type.1979309715" name="Internal Toolchain Type" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.type" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32" valueType="string"/> <option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.version.852833658" name="Internal Toolchain Version" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.version" useByScannerDiscovery="false" value="7-2018-q2-update" valueType="string"/> - <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu.224158199" name="Mcu" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu" useByScannerDiscovery="false" value="STM32H743ZITx" valueType="string"/> - <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.2132016085" name="CpuId" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid" useByScannerDiscovery="false" value="0" valueType="string"/> - <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.366850404" name="CpuCoreId" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid" useByScannerDiscovery="false" value="0" valueType="string"/> + <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu.224158199" name="MCU" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu" useByScannerDiscovery="false" value="STM32H743ZITx" valueType="string"/> + <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.2132016085" name="CPU" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid" useByScannerDiscovery="false" value="0" valueType="string"/> + <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.366850404" name="Core" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid" useByScannerDiscovery="false" value="0" valueType="string"/> <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.127530825" name="Floating-point unit" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.value.fpv5-d16" valueType="enumerated"/> <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.321463520" name="Floating-point ABI" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.value.hard" valueType="enumerated"/> <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.398433331" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" useByScannerDiscovery="false" value="NUCLEO-H743ZI2" valueType="string"/> @@ -76,6 +77,32 @@ <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.938552426" name="MCU Output Converter Motorola S-rec with symbols" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec"/> </toolChain> </folderInfo> + <folderInfo id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.512177861.5456747" name="/" resourcePath="RegTests"> + <toolChain id="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug.882613797" name="MCU ARM GCC" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug" unusedChildren=""> + <option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.type.1979309715.477777469" name="Internal Toolchain Type" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.type.1979309715"/> + <option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.version.852833658.2023416248" name="Internal Toolchain Version" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.version.852833658"/> + <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu.224158199.2023514785" name="MCU" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu.224158199"/> + <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.2132016085.983314287" name="CPU" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.2132016085"/> + <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.366850404.397377324" name="Core" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.366850404"/> + <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.127530825.1987011199" name="Floating-point unit" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.127530825"/> + <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.321463520.615974971" name="Floating-point ABI" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.321463520"/> + <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.398433331.894958652" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.398433331"/> + <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.545503947.337061049" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.545503947"/> + <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.1841606747" name="MCU GCC Assembler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.2058018690"/> + <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.8289877" name="MCU GCC Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1084842619"/> + <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.1914051445" name="MCU G++ Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.712955031"/> + <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.1955218641" name="MCU GCC Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.689453407"/> + <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.1646615531" name="MCU G++ Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.382504185"/> + <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.1548188264" name="MCU GCC Archiver" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.308108641"/> + <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.1219355605" name="MCU Size" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.1585200233"/> + <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.1416777385" name="MCU Output Converter list file" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.1603763392"/> + <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.1217029087" name="MCU Output Converter Hex" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.368361293"/> + <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.24856726" name="MCU Output Converter Binary" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.1936272902"/> + <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.1540430584" name="MCU Output Converter Verilog" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.244662906"/> + <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.682816493" name="MCU Output Converter Motorola S-rec" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.1305239222"/> + <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.890016239" name="MCU Output Converter Motorola S-rec with symbols" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.938552426"/> + </toolChain> + </folderInfo> <folderInfo id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.512177861.1706837772" name="/" resourcePath="ST_Code/Drivers/STM32H7xx_HAL_Driver/Src"> <toolChain id="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug.1089770149" name="MCU ARM GCC" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug" unusedChildren=""> <option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.type.1979309715.1796819406" name="Internal Toolchain Type" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.type.1979309715"/> @@ -122,6 +149,7 @@ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Config"/> <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Demo"/> <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="FreeRTOS"/> + <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="RegTests"/> <entry excluding="Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_utils.c" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="ST_Code"/> <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Startup"/> </sourceEntries> @@ -152,4 +180,4 @@ <resource resourceType="PROJECT" workspacePath="/FreeRTOSDemo"/> </configuration> </storageModule> -</cproject> +</cproject>
\ No newline at end of file diff --git a/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/GCC/.project b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/GCC/.project index 21d9ba2d4..23501c2b0 100644 --- a/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/GCC/.project +++ b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/GCC/.project @@ -54,6 +54,15 @@ </linkedResources> <filteredResources> <filter> + <id>1680067487361</id> + <name>Demo</name> + <type>9</type> + <matcher> + <id>org.eclipse.ui.ide.multiFilter</id> + <arguments>1.0-name-matches-false-false-GCC</arguments> + </matcher> + </filter> + <filter> <id>1594591511105</id> <name>FreeRTOS</name> <type>5</type> diff --git a/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/IAR/FreeRTOSDemo.ewd b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/IAR/FreeRTOSDemo.ewd index 926cc66f8..e380c1f25 100644 --- a/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/IAR/FreeRTOSDemo.ewd +++ b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/IAR/FreeRTOSDemo.ewd @@ -1,1419 +1,1546 @@ <?xml version="1.0" encoding="UTF-8"?> <project> - <fileVersion>3</fileVersion> - <configuration> - <name>FreeRTOSDemo</name> - <toolchain> - <name>ARM</name> - </toolchain> - <debug>1</debug> - <settings> - <name>C-SPY</name> - <archiveVersion>2</archiveVersion> - <data> - <version>29</version> - <wantNonLocal>1</wantNonLocal> - <debug>1</debug> - <option> - <name>CInput</name> - <state>1</state> - </option> - <option> - <name>CEndian</name> - <state>1</state> - </option> - <option> - <name>CProcessor</name> - <state>1</state> - </option> - <option> - <name>OCVariant</name> - <state>0</state> - </option> - <option> - <name>MacOverride</name> - <state>0</state> - </option> - <option> - <name>MacFile</name> - <state /> - </option> - <option> - <name>MemOverride</name> - <state>0</state> - </option> - <option> - <name>MemFile</name> - <state /> - </option> - <option> - <name>RunToEnable</name> - <state>1</state> - </option> - <option> - <name>RunToName</name> - <state>main</state> - </option> - <option> - <name>CExtraOptionsCheck</name> - <state>0</state> - </option> - <option> - <name>CExtraOptions</name> - <state /> - </option> - <option> - <name>CFpuProcessor</name> - <state>1</state> - </option> - <option> - <name>OCDDFArgumentProducer</name> - <state /> - </option> - <option> - <name>OCDownloadSuppressDownload</name> - <state>0</state> - </option> - <option> - <name>OCDownloadVerifyAll</name> - <state>1</state> - </option> - <option> - <name>OCProductVersion</name> - <state>7.10.3.6927</state> - </option> - <option> - <name>OCDynDriverList</name> - <state>STLINK_ID</state> - </option> - <option> - <name>OCLastSavedByProductVersion</name> - <state>8.20.1.14181</state> - </option> - <option> - <name>UseFlashLoader</name> - <state>1</state> - </option> - <option> - <name>CLowLevel</name> - <state>1</state> - </option> - <option> - <name>OCBE8Slave</name> - <state>1</state> - </option> - <option> - <name>MacFile2</name> - <state /> - </option> - <option> - <name>CDevice</name> - <state>1</state> - </option> - <option> - <name>FlashLoadersV3</name> - <state /> - </option> - <option> - <name>OCImagesSuppressCheck1</name> - <state>0</state> - </option> - <option> - <name>OCImagesPath1</name> - <state /> - </option> - <option> - <name>OCImagesSuppressCheck2</name> - <state>0</state> - </option> - <option> - <name>OCImagesPath2</name> - <state /> - </option> - <option> - <name>OCImagesSuppressCheck3</name> - <state>0</state> - </option> - <option> - <name>OCImagesPath3</name> - <state /> - </option> - <option> - <name>OverrideDefFlashBoard</name> - <state>0</state> - </option> - <option> - <name>OCImagesOffset1</name> - <state /> - </option> - <option> - <name>OCImagesOffset2</name> - <state /> - </option> - <option> - <name>OCImagesOffset3</name> - <state /> - </option> - <option> - <name>OCImagesUse1</name> - <state>0</state> - </option> - <option> - <name>OCImagesUse2</name> - <state>0</state> - </option> - <option> - <name>OCImagesUse3</name> - <state>0</state> - </option> - <option> - <name>OCDeviceConfigMacroFile</name> - <state>1</state> - </option> - <option> - <name>OCDebuggerExtraOption</name> - <state>1</state> - </option> - <option> - <name>OCAllMTBOptions</name> - <state>1</state> - </option> - <option> - <name>OCMulticoreNrOfCores</name> - <state>1</state> - </option> - <option> - <name>OCMulticoreMaster</name> - <state>0</state> - </option> - <option> - <name>OCMulticorePort</name> - <state>53461</state> - </option> - <option> - <name>OCMulticoreWorkspace</name> - <state /> - </option> - <option> - <name>OCMulticoreSlaveProject</name> - <state /> - </option> - <option> - <name>OCMulticoreSlaveConfiguration</name> - <state /> - </option> - <option> - <name>OCDownloadExtraImage</name> - <state>1</state> - </option> - <option> - <name>OCAttachSlave</name> - <state>0</state> - </option> - <option> - <name>MassEraseBeforeFlashing</name> - <state>0</state> - </option> - </data> - </settings> - <settings> - <name>ARMSIM_ID</name> - <archiveVersion>2</archiveVersion> - <data> - <version>1</version> - <wantNonLocal>1</wantNonLocal> - <debug>1</debug> - <option> - <name>OCSimDriverInfo</name> - <state>1</state> - </option> - <option> - <name>OCSimEnablePSP</name> - <state>0</state> - </option> - <option> - <name>OCSimPspOverrideConfig</name> - <state>0</state> - </option> - <option> - <name>OCSimPspConfigFile</name> - <state /> - </option> - </data> - </settings> - <settings> - <name>CADI_ID</name> - <archiveVersion>2</archiveVersion> - <data> - <version>0</version> - <wantNonLocal>1</wantNonLocal> - <debug>1</debug> - <option> - <name>CCadiMemory</name> - <state>1</state> - </option> - <option> - <name>Fast Model</name> - <state /> - </option> - <option> - <name>CCADILogFileCheck</name> - <state>0</state> - </option> - <option> - <name>CCADILogFileEditB</name> - <state>$PROJ_DIR$\cspycomm.log</state> - </option> - <option> - <name>OCDriverInfo</name> - <state>1</state> - </option> - </data> - </settings> - <settings> - <name>CMSISDAP_ID</name> - <archiveVersion>2</archiveVersion> - <data> - <version>4</version> - <wantNonLocal>1</wantNonLocal> - <debug>1</debug> - <option> - <name>CatchSFERR</name> - <state>1</state> - </option> - <option> - <name>OCDriverInfo</name> - <state>1</state> - </option> - <option> - <name>OCIarProbeScriptFile</name> - <state>1</state> - </option> - <option> - <name>CMSISDAPResetList</name> - <version>1</version> - <state>10</state> - </option> - <option> - <name>CMSISDAPHWResetDuration</name> - <state>300</state> - </option> - <option> - <name>CMSISDAPHWResetDelay</name> - <state>200</state> - </option> - <option> - <name>CMSISDAPDoLogfile</name> - <state>0</state> - </option> - <option> - <name>CMSISDAPLogFile</name> - <state>$PROJ_DIR$\cspycomm.log</state> - </option> - <option> - <name>CMSISDAPInterfaceRadio</name> - <state>0</state> - </option> - <option> - <name>CMSISDAPInterfaceCmdLine</name> - <state>0</state> - </option> - <option> - <name>CMSISDAPMultiTargetEnable</name> - <state>0</state> - </option> - <option> - <name>CMSISDAPMultiTarget</name> - <state>0</state> - </option> - <option> - <name>CMSISDAPJtagSpeedList</name> - <version>0</version> - <state>0</state> - </option> - <option> - <name>CMSISDAPBreakpointRadio</name> - <state>0</state> - </option> - <option> - <name>CMSISDAPRestoreBreakpointsCheck</name> - <state>0</state> - </option> - <option> - <name>CMSISDAPUpdateBreakpointsEdit</name> - <state>_call_main</state> - </option> - <option> - <name>RDICatchReset</name> - <state>0</state> - </option> - <option> - <name>RDICatchUndef</name> - <state>1</state> - </option> - <option> - <name>RDICatchSWI</name> - <state>0</state> - </option> - <option> - <name>RDICatchData</name> - <state>1</state> - </option> - <option> - <name>RDICatchPrefetch</name> - <state>1</state> - </option> - <option> - <name>RDICatchIRQ</name> - <state>0</state> - </option> - <option> - <name>RDICatchFIQ</name> - <state>0</state> - </option> - <option> - <name>CatchCORERESET</name> - <state>0</state> - </option> - <option> - <name>CatchMMERR</name> - <state>1</state> - </option> - <option> - <name>CatchNOCPERR</name> - <state>1</state> - </option> - <option> - <name>CatchCHKERR</name> - <state>1</state> - </option> - <option> - <name>CatchSTATERR</name> - <state>1</state> - </option> - <option> - <name>CatchBUSERR</name> - <state>1</state> - </option> - <option> - <name>CatchINTERR</name> - <state>1</state> - </option> - <option> - <name>CatchHARDERR</name> - <state>1</state> - </option> - <option> - <name>CatchDummy</name> - <state>0</state> - </option> - <option> - <name>CMSISDAPMultiCPUEnable</name> - <state>0</state> - </option> - <option> - <name>CMSISDAPMultiCPUNumber</name> - <state>0</state> - </option> - <option> - <name>OCProbeCfgOverride</name> - <state>0</state> - </option> - <option> - <name>OCProbeConfig</name> - <state /> - </option> - <option> - <name>CMSISDAPProbeConfigRadio</name> - <state>0</state> - </option> - <option> - <name>CMSISDAPSelectedCPUBehaviour</name> - <state>0</state> - </option> - <option> - <name>ICpuName</name> - <state /> - </option> - <option> - <name>OCJetEmuParams</name> - <state>1</state> - </option> - <option> - <name>CCCMSISDAPUsbSerialNo</name> - <state /> - </option> - <option> - <name>CCCMSISDAPUsbSerialNoSelect</name> - <state>0</state> - </option> - </data> - </settings> - <settings> - <name>GDBSERVER_ID</name> - <archiveVersion>2</archiveVersion> - <data> - <version>0</version> - <wantNonLocal>1</wantNonLocal> - <debug>1</debug> - <option> - <name>OCDriverInfo</name> - <state>1</state> - </option> - <option> - <name>TCPIP</name> - <state>aaa.bbb.ccc.ddd</state> - </option> - <option> - <name>DoLogfile</name> - <state>0</state> - </option> - <option> - <name>LogFile</name> - <state>$PROJ_DIR$\cspycomm.log</state> - </option> - <option> - <name>CCJTagBreakpointRadio</name> - <state>0</state> - </option> - <option> - <name>CCJTagDoUpdateBreakpoints</name> - <state>0</state> - </option> - <option> - <name>CCJTagUpdateBreakpoints</name> - <state>_call_main</state> - </option> - </data> - </settings> - <settings> - <name>IJET_ID</name> - <archiveVersion>2</archiveVersion> - <data> - <version>8</version> - <wantNonLocal>1</wantNonLocal> - <debug>1</debug> - <option> - <name>CatchSFERR</name> - <state>1</state> - </option> - <option> - <name>OCDriverInfo</name> - <state>1</state> - </option> - <option> - <name>OCIarProbeScriptFile</name> - <state>1</state> - </option> - <option> - <name>IjetResetList</name> - <version>1</version> - <state>10</state> - </option> - <option> - <name>IjetHWResetDuration</name> - <state>300</state> - </option> - <option> - <name>IjetHWResetDelay</name> - <state>200</state> - </option> - <option> - <name>IjetPowerFromProbe</name> - <state>1</state> - </option> - <option> - <name>IjetPowerRadio</name> - <state>0</state> - </option> - <option> - <name>IjetDoLogfile</name> - <state>0</state> - </option> - <option> - <name>IjetLogFile</name> - <state>$PROJ_DIR$\cspycomm.log</state> - </option> - <option> - <name>IjetInterfaceRadio</name> - <state>0</state> - </option> - <option> - <name>IjetInterfaceCmdLine</name> - <state>0</state> - </option> - <option> - <name>IjetMultiTargetEnable</name> - <state>0</state> - </option> - <option> - <name>IjetMultiTarget</name> - <state>0</state> - </option> - <option> - <name>IjetScanChainNonARMDevices</name> - <state>0</state> - </option> - <option> - <name>IjetIRLength</name> - <state>0</state> - </option> - <option> - <name>IjetJtagSpeedList</name> - <version>0</version> - <state>0</state> - </option> - <option> - <name>IjetProtocolRadio</name> - <state>0</state> - </option> - <option> - <name>IjetSwoPin</name> - <state>0</state> - </option> - <option> - <name>IjetCpuClockEdit</name> - <state>72.0</state> - </option> - <option> - <name>IjetSwoPrescalerList</name> - <version>1</version> - <state>0</state> - </option> - <option> - <name>IjetBreakpointRadio</name> - <state>0</state> - </option> - <option> - <name>IjetRestoreBreakpointsCheck</name> - <state>0</state> - </option> - <option> - <name>IjetUpdateBreakpointsEdit</name> - <state>_call_main</state> - </option> - <option> - <name>RDICatchReset</name> - <state>0</state> - </option> - <option> - <name>RDICatchUndef</name> - <state>1</state> - </option> - <option> - <name>RDICatchSWI</name> - <state>0</state> - </option> - <option> - <name>RDICatchData</name> - <state>1</state> - </option> - <option> - <name>RDICatchPrefetch</name> - <state>1</state> - </option> - <option> - <name>RDICatchIRQ</name> - <state>0</state> - </option> - <option> - <name>RDICatchFIQ</name> - <state>0</state> - </option> - <option> - <name>CatchCORERESET</name> - <state>0</state> - </option> - <option> - <name>CatchMMERR</name> - <state>1</state> - </option> - <option> - <name>CatchNOCPERR</name> - <state>1</state> - </option> - <option> - <name>CatchCHKERR</name> - <state>1</state> - </option> - <option> - <name>CatchSTATERR</name> - <state>1</state> - </option> - <option> - <name>CatchBUSERR</name> - <state>1</state> - </option> - <option> - <name>CatchINTERR</name> - <state>1</state> - </option> - <option> - <name>CatchHARDERR</name> - <state>1</state> - </option> - <option> - <name>CatchDummy</name> - <state>0</state> - </option> - <option> - <name>OCProbeCfgOverride</name> - <state>0</state> - </option> - <option> - <name>OCProbeConfig</name> - <state /> - </option> - <option> - <name>IjetProbeConfigRadio</name> - <state>0</state> - </option> - <option> - <name>IjetMultiCPUEnable</name> - <state>0</state> - </option> - <option> - <name>IjetMultiCPUNumber</name> - <state>0</state> - </option> - <option> - <name>IjetSelectedCPUBehaviour</name> - <state>0</state> - </option> - <option> - <name>ICpuName</name> - <state /> - </option> - <option> - <name>OCJetEmuParams</name> - <state>1</state> - </option> - <option> - <name>IjetPreferETB</name> - <state>1</state> - </option> - <option> - <name>IjetTraceSettingsList</name> - <version>0</version> - <state>0</state> - </option> - <option> - <name>IjetTraceSizeList</name> - <version>0</version> - <state>4</state> - </option> - <option> - <name>FlashBoardPathSlave</name> - <state>0</state> - </option> - <option> - <name>CCIjetUsbSerialNo</name> - <state /> - </option> - <option> - <name>CCIjetUsbSerialNoSelect</name> - <state>0</state> - </option> - </data> - </settings> - <settings> - <name>JLINK_ID</name> - <archiveVersion>2</archiveVersion> - <data> - <version>16</version> - <wantNonLocal>1</wantNonLocal> - <debug>1</debug> - <option> - <name>CCCatchSFERR</name> - <state>0</state> - </option> - <option> - <name>JLinkSpeed</name> - <state>1000</state> - </option> - <option> - <name>CCJLinkDoLogfile</name> - <state>0</state> - </option> - <option> - <name>CCJLinkLogFile</name> - <state>$PROJ_DIR$\cspycomm.log</state> - </option> - <option> - <name>CCJLinkHWResetDelay</name> - <state>0</state> - </option> - <option> - <name>OCDriverInfo</name> - <state>1</state> - </option> - <option> - <name>JLinkInitialSpeed</name> - <state>1000</state> - </option> - <option> - <name>CCDoJlinkMultiTarget</name> - <state>0</state> - </option> - <option> - <name>CCScanChainNonARMDevices</name> - <state>0</state> - </option> - <option> - <name>CCJLinkMultiTarget</name> - <state>0</state> - </option> - <option> - <name>CCJLinkIRLength</name> - <state>0</state> - </option> - <option> - <name>CCJLinkCommRadio</name> - <state>0</state> - </option> - <option> - <name>CCJLinkTCPIP</name> - <state>aaa.bbb.ccc.ddd</state> - </option> - <option> - <name>CCJLinkSpeedRadioV2</name> - <state>0</state> - </option> - <option> - <name>CCUSBDevice</name> - <version>1</version> - <state>1</state> - </option> - <option> - <name>CCRDICatchReset</name> - <state>0</state> - </option> - <option> - <name>CCRDICatchUndef</name> - <state>0</state> - </option> - <option> - <name>CCRDICatchSWI</name> - <state>0</state> - </option> - <option> - <name>CCRDICatchData</name> - <state>0</state> - </option> - <option> - <name>CCRDICatchPrefetch</name> - <state>0</state> - </option> - <option> - <name>CCRDICatchIRQ</name> - <state>0</state> - </option> - <option> - <name>CCRDICatchFIQ</name> - <state>0</state> - </option> - <option> - <name>CCJLinkBreakpointRadio</name> - <state>0</state> - </option> - <option> - <name>CCJLinkDoUpdateBreakpoints</name> - <state>0</state> - </option> - <option> - <name>CCJLinkUpdateBreakpoints</name> - <state>_call_main</state> - </option> - <option> - <name>CCJLinkInterfaceRadio</name> - <state>0</state> - </option> - <option> - <name>CCJLinkResetList</name> - <version>6</version> - <state>7</state> - </option> - <option> - <name>CCJLinkInterfaceCmdLine</name> - <state>0</state> - </option> - <option> - <name>CCCatchCORERESET</name> - <state>0</state> - </option> - <option> - <name>CCCatchMMERR</name> - <state>0</state> - </option> - <option> - <name>CCCatchNOCPERR</name> - <state>0</state> - </option> - <option> - <name>CCCatchCHRERR</name> - <state>0</state> - </option> - <option> - <name>CCCatchSTATERR</name> - <state>0</state> - </option> - <option> - <name>CCCatchBUSERR</name> - <state>0</state> - </option> - <option> - <name>CCCatchINTERR</name> - <state>0</state> - </option> - <option> - <name>CCCatchHARDERR</name> - <state>0</state> - </option> - <option> - <name>CCCatchDummy</name> - <state>0</state> - </option> - <option> - <name>OCJLinkScriptFile</name> - <state>1</state> - </option> - <option> - <name>CCJLinkUsbSerialNo</name> - <state /> - </option> - <option> - <name>CCTcpIpAlt</name> - <version>0</version> - <state>0</state> - </option> - <option> - <name>CCJLinkTcpIpSerialNo</name> - <state /> - </option> - <option> - <name>CCCpuClockEdit</name> - <state>72.0</state> - </option> - <option> - <name>CCSwoClockAuto</name> - <state>0</state> - </option> - <option> - <name>CCSwoClockEdit</name> - <state>2000</state> - </option> - <option> - <name>OCJLinkTraceSource</name> - <state>0</state> - </option> - <option> - <name>OCJLinkTraceSourceDummy</name> - <state>0</state> - </option> - <option> - <name>OCJLinkDeviceName</name> - <state>1</state> - </option> - </data> - </settings> - <settings> - <name>LMIFTDI_ID</name> - <archiveVersion>2</archiveVersion> - <data> - <version>2</version> - <wantNonLocal>1</wantNonLocal> - <debug>1</debug> - <option> - <name>OCDriverInfo</name> - <state>1</state> - </option> - <option> - <name>LmiftdiSpeed</name> - <state>500</state> - </option> - <option> - <name>CCLmiftdiDoLogfile</name> - <state>0</state> - </option> - <option> - <name>CCLmiftdiLogFile</name> - <state>$PROJ_DIR$\cspycomm.log</state> - </option> - <option> - <name>CCLmiFtdiInterfaceRadio</name> - <state>0</state> - </option> - <option> - <name>CCLmiFtdiInterfaceCmdLine</name> - <state>0</state> - </option> - </data> - </settings> - <settings> - <name>PEMICRO_ID</name> - <archiveVersion>2</archiveVersion> - <data> - <version>3</version> - <wantNonLocal>1</wantNonLocal> - <debug>1</debug> - <option> - <name>OCDriverInfo</name> - <state>1</state> - </option> - <option> - <name>CCJPEMicroShowSettings</name> - <state>0</state> - </option> - <option> - <name>DoLogfile</name> - <state>0</state> - </option> - <option> - <name>LogFile</name> - <state>$PROJ_DIR$\cspycomm.log</state> - </option> - </data> - </settings> - <settings> - <name>STLINK_ID</name> - <archiveVersion>2</archiveVersion> - <data> - <version>4</version> - <wantNonLocal>1</wantNonLocal> - <debug>1</debug> - <option> - <name>OCDriverInfo</name> - <state>1</state> - </option> - <option> - <name>CCSTLinkInterfaceRadio</name> - <state>1</state> - </option> - <option> - <name>CCSTLinkInterfaceCmdLine</name> - <state>0</state> - </option> - <option> - <name>CCSTLinkResetList</name> - <version>3</version> - <state>4</state> - </option> - <option> - <name>CCCpuClockEdit</name> - <state>64.0</state> - </option> - <option> - <name>CCSwoClockAuto</name> - <state>0</state> - </option> - <option> - <name>CCSwoClockEdit</name> - <state>2000</state> - </option> - <option> - <name>DoLogfile</name> - <state>0</state> - </option> - <option> - <name>LogFile</name> - <state>$PROJ_DIR$\cspycomm.log</state> - </option> - <option> - <name>CCSTLinkDoUpdateBreakpoints</name> - <state>0</state> - </option> - <option> - <name>CCSTLinkUpdateBreakpoints</name> - <state>_call_main</state> - </option> - <option> - <name>CCSTLinkCatchCORERESET</name> - <state>0</state> - </option> - <option> - <name>CCSTLinkCatchMMERR</name> - <state>0</state> - </option> - <option> - <name>CCSTLinkCatchNOCPERR</name> - <state>0</state> - </option> - <option> - <name>CCSTLinkCatchCHRERR</name> - <state>0</state> - </option> - <option> - <name>CCSTLinkCatchSTATERR</name> - <state>0</state> - </option> - <option> - <name>CCSTLinkCatchBUSERR</name> - <state>0</state> - </option> - <option> - <name>CCSTLinkCatchINTERR</name> - <state>0</state> - </option> - <option> - <name>CCSTLinkCatchSFERR</name> - <state>0</state> - </option> - <option> - <name>CCSTLinkCatchHARDERR</name> - <state>0</state> - </option> - <option> - <name>CCSTLinkCatchDummy</name> - <state>0</state> - </option> - <option> - <name>CCSTLinkUsbSerialNo</name> - <state /> - </option> - <option> - <name>CCSTLinkUsbSerialNoSelect</name> - <state>0</state> - </option> - <option> - <name>CCSTLinkJtagSpeedList</name> - <version>0</version> - <state>0</state> - </option> - <option> - <name>CCSTLinkDAPNumber</name> - <state /> - </option> - <option> - <name>CCSTLinkDebugAccessPortRadio</name> - <state>0</state> - </option> - </data> - </settings> - <settings> - <name>THIRDPARTY_ID</name> - <archiveVersion>2</archiveVersion> - <data> - <version>0</version> - <wantNonLocal>1</wantNonLocal> - <debug>1</debug> - <option> - <name>CThirdPartyDriverDll</name> - <state>###Uninitialized###</state> - </option> - <option> - <name>CThirdPartyLogFileCheck</name> - <state>0</state> - </option> - <option> - <name>CThirdPartyLogFileEditB</name> - <state>$PROJ_DIR$\cspycomm.log</state> - </option> - <option> - <name>OCDriverInfo</name> - <state>1</state> - </option> - </data> - </settings> - <settings> - <name>TIFET_ID</name> - <archiveVersion>2</archiveVersion> - <data> - <version>1</version> - <wantNonLocal>1</wantNonLocal> - <debug>1</debug> - <option> - <name>OCDriverInfo</name> - <state>1</state> - </option> - <option> - <name>CCMSPFetResetList</name> - <version>0</version> - <state>0</state> - </option> - <option> - <name>CCMSPFetInterfaceRadio</name> - <state>0</state> - </option> - <option> - <name>CCMSPFetInterfaceCmdLine</name> - <state>0</state> - </option> - <option> - <name>CCMSPFetTargetVccTypeDefault</name> - <state>0</state> - </option> - <option> - <name>CCMSPFetTargetVoltage</name> - <state>###Uninitialized###</state> - </option> - <option> - <name>CCMSPFetVCCDefault</name> - <state>1</state> - </option> - <option> - <name>CCMSPFetTargetSettlingtime</name> - <state>0</state> - </option> - <option> - <name>CCMSPFetRadioJtagSpeedType</name> - <state>1</state> - </option> - <option> - <name>CCMSPFetConnection</name> - <version>0</version> - <state>0</state> - </option> - <option> - <name>CCMSPFetUsbComPort</name> - <state>Automatic</state> - </option> - <option> - <name>CCMSPFetAllowAccessToBSL</name> - <state>0</state> - </option> - <option> - <name>CCMSPFetDoLogfile</name> - <state>0</state> - </option> - <option> - <name>CCMSPFetLogFile</name> - <state>$PROJ_DIR$\cspycomm.log</state> - </option> - <option> - <name>CCMSPFetRadioEraseFlash</name> - <state>1</state> - </option> - </data> - </settings> - <settings> - <name>XDS100_ID</name> - <archiveVersion>2</archiveVersion> - <data> - <version>6</version> - <wantNonLocal>1</wantNonLocal> - <debug>1</debug> - <option> - <name>OCDriverInfo</name> - <state>1</state> - </option> - <option> - <name>TIPackageOverride</name> - <state>0</state> - </option> - <option> - <name>TIPackage</name> - <state /> - </option> - <option> - <name>BoardFile</name> - <state /> - </option> - <option> - <name>DoLogfile</name> - <state>0</state> - </option> - <option> - <name>LogFile</name> - <state>$PROJ_DIR$\cspycomm.log</state> - </option> - <option> - <name>CCXds100BreakpointRadio</name> - <state>0</state> - </option> - <option> - <name>CCXds100DoUpdateBreakpoints</name> - <state>0</state> - </option> - <option> - <name>CCXds100UpdateBreakpoints</name> - <state>_call_main</state> - </option> - <option> - <name>CCXds100CatchReset</name> - <state>0</state> - </option> - <option> - <name>CCXds100CatchUndef</name> - <state>0</state> - </option> - <option> - <name>CCXds100CatchSWI</name> - <state>0</state> - </option> - <option> - <name>CCXds100CatchData</name> - <state>0</state> - </option> - <option> - <name>CCXds100CatchPrefetch</name> - <state>0</state> - </option> - <option> - <name>CCXds100CatchIRQ</name> - <state>0</state> - </option> - <option> - <name>CCXds100CatchFIQ</name> - <state>0</state> - </option> - <option> - <name>CCXds100CatchCORERESET</name> - <state>0</state> - </option> - <option> - <name>CCXds100CatchMMERR</name> - <state>0</state> - </option> - <option> - <name>CCXds100CatchNOCPERR</name> - <state>0</state> - </option> - <option> - <name>CCXds100CatchCHRERR</name> - <state>0</state> - </option> - <option> - <name>CCXds100CatchSTATERR</name> - <state>0</state> - </option> - <option> - <name>CCXds100CatchBUSERR</name> - <state>0</state> - </option> - <option> - <name>CCXds100CatchINTERR</name> - <state>0</state> - </option> - <option> - <name>CCXds100CatchSFERR</name> - <state>0</state> - </option> - <option> - <name>CCXds100CatchHARDERR</name> - <state>0</state> - </option> - <option> - <name>CCXds100CatchDummy</name> - <state>0</state> - </option> - <option> - <name>CCXds100CpuClockEdit</name> - <state /> - </option> - <option> - <name>CCXds100SwoClockAuto</name> - <state>0</state> - </option> - <option> - <name>CCXds100SwoClockEdit</name> - <state>1000</state> - </option> - <option> - <name>CCXds100HWResetDelay</name> - <state>0</state> - </option> - <option> - <name>CCXds100ResetList</name> - <version>0</version> - <state>0</state> - </option> - <option> - <name>CCXds100UsbSerialNo</name> - <state /> - </option> - <option> - <name>CCXds100UsbSerialNoSelect</name> - <state>0</state> - </option> - <option> - <name>CCXds100JtagSpeedList</name> - <version>0</version> - <state>0</state> - </option> - <option> - <name>CCXds100InterfaceRadio</name> - <state>0</state> - </option> - <option> - <name>CCXds100InterfaceCmdLine</name> - <state>0</state> - </option> - <option> - <name>CCXds100ProbeList</name> - <version>0</version> - <state>0</state> - </option> - <option> - <name>CCXds100SWOPortRadio</name> - <state>0</state> - </option> - <option> - <name>CCXds100SWOPort</name> - <state>1</state> - </option> - </data> - </settings> - <debuggerPlugins> - <plugin> - <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin</file> - <loadFlag>0</loadFlag> - </plugin> - <plugin> - <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin</file> - <loadFlag>0</loadFlag> - </plugin> - <plugin> - <file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file> - <loadFlag>0</loadFlag> - </plugin> - <plugin> - <file>$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin</file> - <loadFlag>0</loadFlag> - </plugin> - <plugin> - <file>$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin</file> - <loadFlag>0</loadFlag> - </plugin> - <plugin> - <file>$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin</file> - <loadFlag>0</loadFlag> - </plugin> - <plugin> - <file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin</file> - <loadFlag>0</loadFlag> - </plugin> - <plugin> - <file>$TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin</file> - <loadFlag>0</loadFlag> - </plugin> - <plugin> - <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin</file> - <loadFlag>0</loadFlag> - </plugin> - <plugin> - <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin</file> - <loadFlag>0</loadFlag> - </plugin> - <plugin> - <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin</file> - <loadFlag>0</loadFlag> - </plugin> - <plugin> - <file>$EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin</file> - <loadFlag>1</loadFlag> - </plugin> - <plugin> - <file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file> - <loadFlag>0</loadFlag> - </plugin> - <plugin> - <file>$EW_DIR$\common\plugins\TargetAccessServer\TargetAccessServer.ENU.ewplugin</file> - <loadFlag>0</loadFlag> - </plugin> - <plugin> - <file>$EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin</file> - <loadFlag>0</loadFlag> - </plugin> - </debuggerPlugins> - </configuration> + <fileVersion>3</fileVersion> + <configuration> + <name>FreeRTOSDemo</name> + <toolchain> + <name>ARM</name> + </toolchain> + <debug>1</debug> + <settings> + <name>C-SPY</name> + <archiveVersion>2</archiveVersion> + <data> + <version>32</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>CInput</name> + <state>1</state> + </option> + <option> + <name>CEndian</name> + <state>1</state> + </option> + <option> + <name>CProcessor</name> + <state>1</state> + </option> + <option> + <name>OCVariant</name> + <state>0</state> + </option> + <option> + <name>MacOverride</name> + <state>0</state> + </option> + <option> + <name>MacFile</name> + <state></state> + </option> + <option> + <name>MemOverride</name> + <state>0</state> + </option> + <option> + <name>MemFile</name> + <state>$TOOLKIT_DIR$\CONFIG\debugger\ST\STM32H743ZI.ddf</state> + </option> + <option> + <name>RunToEnable</name> + <state>1</state> + </option> + <option> + <name>RunToName</name> + <state>main</state> + </option> + <option> + <name>CExtraOptionsCheck</name> + <state>0</state> + </option> + <option> + <name>CExtraOptions</name> + <state></state> + </option> + <option> + <name>CFpuProcessor</name> + <state>1</state> + </option> + <option> + <name>OCDDFArgumentProducer</name> + <state></state> + </option> + <option> + <name>OCDownloadSuppressDownload</name> + <state>0</state> + </option> + <option> + <name>OCDownloadVerifyAll</name> + <state>1</state> + </option> + <option> + <name>OCProductVersion</name> + <state>7.10.3.6927</state> + </option> + <option> + <name>OCDynDriverList</name> + <state>STLINK_ID</state> + </option> + <option> + <name>OCLastSavedByProductVersion</name> + <state>9.20.4.46976</state> + </option> + <option> + <name>UseFlashLoader</name> + <state>1</state> + </option> + <option> + <name>CLowLevel</name> + <state>1</state> + </option> + <option> + <name>OCBE8Slave</name> + <state>1</state> + </option> + <option> + <name>MacFile2</name> + <state></state> + </option> + <option> + <name>CDevice</name> + <state>1</state> + </option> + <option> + <name>FlashLoadersV3</name> + <state>$TOOLKIT_DIR$\config\flashloader\ST\FlashSTM32H7xxxI.board</state> + </option> + <option> + <name>OCImagesSuppressCheck1</name> + <state>0</state> + </option> + <option> + <name>OCImagesPath1</name> + <state></state> + </option> + <option> + <name>OCImagesSuppressCheck2</name> + <state>0</state> + </option> + <option> + <name>OCImagesPath2</name> + <state></state> + </option> + <option> + <name>OCImagesSuppressCheck3</name> + <state>0</state> + </option> + <option> + <name>OCImagesPath3</name> + <state></state> + </option> + <option> + <name>OverrideDefFlashBoard</name> + <state>0</state> + </option> + <option> + <name>OCImagesOffset1</name> + <state></state> + </option> + <option> + <name>OCImagesOffset2</name> + <state></state> + </option> + <option> + <name>OCImagesOffset3</name> + <state></state> + </option> + <option> + <name>OCImagesUse1</name> + <state>0</state> + </option> + <option> + <name>OCImagesUse2</name> + <state>0</state> + </option> + <option> + <name>OCImagesUse3</name> + <state>0</state> + </option> + <option> + <name>OCDeviceConfigMacroFile</name> + <state>1</state> + </option> + <option> + <name>OCDebuggerExtraOption</name> + <state>1</state> + </option> + <option> + <name>OCAllMTBOptions</name> + <state>1</state> + </option> + <option> + <name>OCMulticoreNrOfCores</name> + <state>1</state> + </option> + <option> + <name>OCMulticoreWorkspace</name> + <state></state> + </option> + <option> + <name>OCMulticoreSlaveProject</name> + <state></state> + </option> + <option> + <name>OCMulticoreSlaveConfiguration</name> + <state></state> + </option> + <option> + <name>OCDownloadExtraImage</name> + <state>1</state> + </option> + <option> + <name>OCAttachSlave</name> + <state>0</state> + </option> + <option> + <name>MassEraseBeforeFlashing</name> + <state>0</state> + </option> + <option> + <name>OCMulticoreNrOfCoresSlave</name> + <state>1</state> + </option> + <option> + <name>OCMulticoreAMPConfigType</name> + <state>0</state> + </option> + <option> + <name>OCMulticoreSessionFile</name> + <state></state> + </option> + <option> + <name>OCTpiuBaseOption</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>ARMSIM_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>OCSimDriverInfo</name> + <state>1</state> + </option> + <option> + <name>OCSimEnablePSP</name> + <state>0</state> + </option> + <option> + <name>OCSimPspOverrideConfig</name> + <state>0</state> + </option> + <option> + <name>OCSimPspConfigFile</name> + <state></state> + </option> + </data> + </settings> + <settings> + <name>CADI_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>CCadiMemory</name> + <state>1</state> + </option> + <option> + <name>Fast Model</name> + <state></state> + </option> + <option> + <name>CCADILogFileCheck</name> + <state>0</state> + </option> + <option> + <name>CCADILogFileEditB</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>CMSISDAP_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>4</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>CatchSFERR</name> + <state>1</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>OCIarProbeScriptFile</name> + <state>1</state> + </option> + <option> + <name>CMSISDAPResetList</name> + <version>1</version> + <state>10</state> + </option> + <option> + <name>CMSISDAPHWResetDuration</name> + <state>300</state> + </option> + <option> + <name>CMSISDAPHWResetDelay</name> + <state>200</state> + </option> + <option> + <name>CMSISDAPDoLogfile</name> + <state>0</state> + </option> + <option> + <name>CMSISDAPLogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CMSISDAPInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>CMSISDAPInterfaceCmdLine</name> + <state>0</state> + </option> + <option> + <name>CMSISDAPMultiTargetEnable</name> + <state>0</state> + </option> + <option> + <name>CMSISDAPMultiTarget</name> + <state>0</state> + </option> + <option> + <name>CMSISDAPJtagSpeedList</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CMSISDAPBreakpointRadio</name> + <state>0</state> + </option> + <option> + <name>CMSISDAPRestoreBreakpointsCheck</name> + <state>0</state> + </option> + <option> + <name>CMSISDAPUpdateBreakpointsEdit</name> + <state>_call_main</state> + </option> + <option> + <name>RDICatchReset</name> + <state>0</state> + </option> + <option> + <name>RDICatchUndef</name> + <state>1</state> + </option> + <option> + <name>RDICatchSWI</name> + <state>0</state> + </option> + <option> + <name>RDICatchData</name> + <state>1</state> + </option> + <option> + <name>RDICatchPrefetch</name> + <state>1</state> + </option> + <option> + <name>RDICatchIRQ</name> + <state>0</state> + </option> + <option> + <name>RDICatchFIQ</name> + <state>0</state> + </option> + <option> + <name>CatchCORERESET</name> + <state>0</state> + </option> + <option> + <name>CatchMMERR</name> + <state>1</state> + </option> + <option> + <name>CatchNOCPERR</name> + <state>1</state> + </option> + <option> + <name>CatchCHKERR</name> + <state>1</state> + </option> + <option> + <name>CatchSTATERR</name> + <state>1</state> + </option> + <option> + <name>CatchBUSERR</name> + <state>1</state> + </option> + <option> + <name>CatchINTERR</name> + <state>1</state> + </option> + <option> + <name>CatchHARDERR</name> + <state>1</state> + </option> + <option> + <name>CatchDummy</name> + <state>0</state> + </option> + <option> + <name>CMSISDAPMultiCPUEnable</name> + <state>0</state> + </option> + <option> + <name>CMSISDAPMultiCPUNumber</name> + <state>0</state> + </option> + <option> + <name>OCProbeCfgOverride</name> + <state>0</state> + </option> + <option> + <name>OCProbeConfig</name> + <state></state> + </option> + <option> + <name>CMSISDAPProbeConfigRadio</name> + <state>0</state> + </option> + <option> + <name>CMSISDAPSelectedCPUBehaviour</name> + <state>0</state> + </option> + <option> + <name>ICpuName</name> + <state></state> + </option> + <option> + <name>OCJetEmuParams</name> + <state>1</state> + </option> + <option> + <name>CCCMSISDAPUsbSerialNo</name> + <state></state> + </option> + <option> + <name>CCCMSISDAPUsbSerialNoSelect</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>GDBSERVER_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>TCPIP</name> + <state>aaa.bbb.ccc.ddd</state> + </option> + <option> + <name>DoLogfile</name> + <state>0</state> + </option> + <option> + <name>LogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCJTagBreakpointRadio</name> + <state>0</state> + </option> + <option> + <name>CCJTagDoUpdateBreakpoints</name> + <state>0</state> + </option> + <option> + <name>CCJTagUpdateBreakpoints</name> + <state>_call_main</state> + </option> + </data> + </settings> + <settings> + <name>IJET_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>9</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>CatchSFERR</name> + <state>1</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>OCIarProbeScriptFile</name> + <state>1</state> + </option> + <option> + <name>IjetResetList</name> + <version>1</version> + <state>10</state> + </option> + <option> + <name>IjetHWResetDuration</name> + <state>300</state> + </option> + <option> + <name>IjetHWResetDelay</name> + <state>200</state> + </option> + <option> + <name>IjetPowerFromProbe</name> + <state>1</state> + </option> + <option> + <name>IjetPowerRadio</name> + <state>0</state> + </option> + <option> + <name>IjetDoLogfile</name> + <state>0</state> + </option> + <option> + <name>IjetLogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>IjetInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>IjetInterfaceCmdLine</name> + <state>0</state> + </option> + <option> + <name>IjetMultiTargetEnable</name> + <state>0</state> + </option> + <option> + <name>IjetMultiTarget</name> + <state>0</state> + </option> + <option> + <name>IjetScanChainNonARMDevices</name> + <state>0</state> + </option> + <option> + <name>IjetIRLength</name> + <state>0</state> + </option> + <option> + <name>IjetJtagSpeedList</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>IjetProtocolRadio</name> + <state>0</state> + </option> + <option> + <name>IjetSwoPin</name> + <state>0</state> + </option> + <option> + <name>IjetCpuClockEdit</name> + <state>72.0</state> + </option> + <option> + <name>IjetSwoPrescalerList</name> + <version>1</version> + <state>0</state> + </option> + <option> + <name>IjetBreakpointRadio</name> + <state>0</state> + </option> + <option> + <name>IjetRestoreBreakpointsCheck</name> + <state>0</state> + </option> + <option> + <name>IjetUpdateBreakpointsEdit</name> + <state>_call_main</state> + </option> + <option> + <name>RDICatchReset</name> + <state>0</state> + </option> + <option> + <name>RDICatchUndef</name> + <state>1</state> + </option> + <option> + <name>RDICatchSWI</name> + <state>0</state> + </option> + <option> + <name>RDICatchData</name> + <state>1</state> + </option> + <option> + <name>RDICatchPrefetch</name> + <state>1</state> + </option> + <option> + <name>RDICatchIRQ</name> + <state>0</state> + </option> + <option> + <name>RDICatchFIQ</name> + <state>0</state> + </option> + <option> + <name>CatchCORERESET</name> + <state>0</state> + </option> + <option> + <name>CatchMMERR</name> + <state>1</state> + </option> + <option> + <name>CatchNOCPERR</name> + <state>1</state> + </option> + <option> + <name>CatchCHKERR</name> + <state>1</state> + </option> + <option> + <name>CatchSTATERR</name> + <state>1</state> + </option> + <option> + <name>CatchBUSERR</name> + <state>1</state> + </option> + <option> + <name>CatchINTERR</name> + <state>1</state> + </option> + <option> + <name>CatchHARDERR</name> + <state>1</state> + </option> + <option> + <name>CatchDummy</name> + <state>0</state> + </option> + <option> + <name>OCProbeCfgOverride</name> + <state>0</state> + </option> + <option> + <name>OCProbeConfig</name> + <state></state> + </option> + <option> + <name>IjetProbeConfigRadio</name> + <state>0</state> + </option> + <option> + <name>IjetMultiCPUEnable</name> + <state>0</state> + </option> + <option> + <name>IjetMultiCPUNumber</name> + <state>0</state> + </option> + <option> + <name>IjetSelectedCPUBehaviour</name> + <state>0</state> + </option> + <option> + <name>ICpuName</name> + <state></state> + </option> + <option> + <name>OCJetEmuParams</name> + <state>1</state> + </option> + <option> + <name>IjetPreferETB</name> + <state>1</state> + </option> + <option> + <name>IjetTraceSettingsList</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>IjetTraceSizeList</name> + <version>0</version> + <state>4</state> + </option> + <option> + <name>FlashBoardPathSlave</name> + <state>0</state> + </option> + <option> + <name>CCIjetUsbSerialNo</name> + <state></state> + </option> + <option> + <name>CCIjetUsbSerialNoSelect</name> + <state>0</state> + </option> + <option> + <name>CatchV8ARReset</name> + <state>0</state> + </option> + <option> + <name>CatchV8AREREL1NS</name> + <state>0</state> + </option> + <option> + <name>CatchV8AREREL1S</name> + <state>0</state> + </option> + <option> + <name>CatchV8AREREL2NS</name> + <state>0</state> + </option> + <option> + <name>CatchV8AREREL3S</name> + <state>0</state> + </option> + <option> + <name>CatchV8AREEL1NS</name> + <state>0</state> + </option> + <option> + <name>CatchV8ARREL1NS</name> + <state>0</state> + </option> + <option> + <name>CatchV8AREEL1S</name> + <state>0</state> + </option> + <option> + <name>CatchV8ARREL1S</name> + <state>0</state> + </option> + <option> + <name>CatchV8AREEL2NS</name> + <state>0</state> + </option> + <option> + <name>CatchV8ARREL2NS</name> + <state>0</state> + </option> + <option> + <name>CatchV8AREEL3S</name> + <state>0</state> + </option> + <option> + <name>CatchV8ARREL3S</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>JLINK_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>16</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>CCCatchSFERR</name> + <state>0</state> + </option> + <option> + <name>JLinkSpeed</name> + <state>1000</state> + </option> + <option> + <name>CCJLinkDoLogfile</name> + <state>0</state> + </option> + <option> + <name>CCJLinkLogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCJLinkHWResetDelay</name> + <state>0</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>JLinkInitialSpeed</name> + <state>1000</state> + </option> + <option> + <name>CCDoJlinkMultiTarget</name> + <state>0</state> + </option> + <option> + <name>CCScanChainNonARMDevices</name> + <state>0</state> + </option> + <option> + <name>CCJLinkMultiTarget</name> + <state>0</state> + </option> + <option> + <name>CCJLinkIRLength</name> + <state>0</state> + </option> + <option> + <name>CCJLinkCommRadio</name> + <state>0</state> + </option> + <option> + <name>CCJLinkTCPIP</name> + <state>aaa.bbb.ccc.ddd</state> + </option> + <option> + <name>CCJLinkSpeedRadioV2</name> + <state>0</state> + </option> + <option> + <name>CCUSBDevice</name> + <version>1</version> + <state>1</state> + </option> + <option> + <name>CCRDICatchReset</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchUndef</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchSWI</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchData</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchPrefetch</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchIRQ</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchFIQ</name> + <state>0</state> + </option> + <option> + <name>CCJLinkBreakpointRadio</name> + <state>0</state> + </option> + <option> + <name>CCJLinkDoUpdateBreakpoints</name> + <state>0</state> + </option> + <option> + <name>CCJLinkUpdateBreakpoints</name> + <state>_call_main</state> + </option> + <option> + <name>CCJLinkInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>CCJLinkResetList</name> + <version>6</version> + <state>7</state> + </option> + <option> + <name>CCJLinkInterfaceCmdLine</name> + <state>0</state> + </option> + <option> + <name>CCCatchCORERESET</name> + <state>0</state> + </option> + <option> + <name>CCCatchMMERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchNOCPERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchCHRERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchSTATERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchBUSERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchINTERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchHARDERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchDummy</name> + <state>0</state> + </option> + <option> + <name>OCJLinkScriptFile</name> + <state>1</state> + </option> + <option> + <name>CCJLinkUsbSerialNo</name> + <state></state> + </option> + <option> + <name>CCTcpIpAlt</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CCJLinkTcpIpSerialNo</name> + <state></state> + </option> + <option> + <name>CCCpuClockEdit</name> + <state>72.0</state> + </option> + <option> + <name>CCSwoClockAuto</name> + <state>0</state> + </option> + <option> + <name>CCSwoClockEdit</name> + <state>2000</state> + </option> + <option> + <name>OCJLinkTraceSource</name> + <state>0</state> + </option> + <option> + <name>OCJLinkTraceSourceDummy</name> + <state>0</state> + </option> + <option> + <name>OCJLinkDeviceName</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>LMIFTDI_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>3</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>LmiftdiSpeed</name> + <state>500</state> + </option> + <option> + <name>CCLmiftdiDoLogfile</name> + <state>0</state> + </option> + <option> + <name>CCLmiftdiLogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCLmiFtdiInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>CCLmiFtdiInterfaceCmdLine</name> + <state>0</state> + </option> + <option> + <name>CCLmiftdiUsbSerialNo</name> + <state></state> + </option> + <option> + <name>CCLmiftdiUsbSerialNoSelect</name> + <state>0</state> + </option> + <option> + <name>CCLmiftdiResetList</name> + <version>0</version> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>NULINK_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>DoLogfile</name> + <state>0</state> + </option> + <option> + <name>LogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + </data> + </settings> + <settings> + <name>PEMICRO_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>3</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>CCJPEMicroShowSettings</name> + <state>0</state> + </option> + <option> + <name>DoLogfile</name> + <state>0</state> + </option> + <option> + <name>LogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + </data> + </settings> + <settings> + <name>STLINK_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>7</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>CCSTLinkInterfaceRadio</name> + <state>1</state> + </option> + <option> + <name>CCSTLinkInterfaceCmdLine</name> + <state>0</state> + </option> + <option> + <name>CCSTLinkResetList</name> + <version>3</version> + <state>4</state> + </option> + <option> + <name>CCCpuClockEdit</name> + <state>64.0</state> + </option> + <option> + <name>CCSwoClockAuto</name> + <state>0</state> + </option> + <option> + <name>CCSwoClockEdit</name> + <state>2000</state> + </option> + <option> + <name>DoLogfile</name> + <state>0</state> + </option> + <option> + <name>LogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCSTLinkDoUpdateBreakpoints</name> + <state>0</state> + </option> + <option> + <name>CCSTLinkUpdateBreakpoints</name> + <state>_call_main</state> + </option> + <option> + <name>CCSTLinkCatchCORERESET</name> + <state>0</state> + </option> + <option> + <name>CCSTLinkCatchMMERR</name> + <state>0</state> + </option> + <option> + <name>CCSTLinkCatchNOCPERR</name> + <state>0</state> + </option> + <option> + <name>CCSTLinkCatchCHRERR</name> + <state>0</state> + </option> + <option> + <name>CCSTLinkCatchSTATERR</name> + <state>0</state> + </option> + <option> + <name>CCSTLinkCatchBUSERR</name> + <state>0</state> + </option> + <option> + <name>CCSTLinkCatchINTERR</name> + <state>0</state> + </option> + <option> + <name>CCSTLinkCatchSFERR</name> + <state>0</state> + </option> + <option> + <name>CCSTLinkCatchHARDERR</name> + <state>0</state> + </option> + <option> + <name>CCSTLinkCatchDummy</name> + <state>0</state> + </option> + <option> + <name>CCSTLinkUsbSerialNo</name> + <state></state> + </option> + <option> + <name>CCSTLinkUsbSerialNoSelect</name> + <state>0</state> + </option> + <option> + <name>CCSTLinkJtagSpeedList</name> + <version>2</version> + <state>0</state> + </option> + <option> + <name>CCSTLinkDAPNumber</name> + <state></state> + </option> + <option> + <name>CCSTLinkDebugAccessPortRadio</name> + <state>0</state> + </option> + <option> + <name>CCSTLinkUseServerSelect</name> + <state>0</state> + </option> + <option> + <name>CCSTLinkProbeList</name> + <version>1</version> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>THIRDPARTY_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>CThirdPartyDriverDll</name> + <state>###Uninitialized###</state> + </option> + <option> + <name>CThirdPartyLogFileCheck</name> + <state>0</state> + </option> + <option> + <name>CThirdPartyLogFileEditB</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>TIFET_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>CCMSPFetResetList</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CCMSPFetInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>CCMSPFetInterfaceCmdLine</name> + <state>0</state> + </option> + <option> + <name>CCMSPFetTargetVccTypeDefault</name> + <state>0</state> + </option> + <option> + <name>CCMSPFetTargetVoltage</name> + <state>###Uninitialized###</state> + </option> + <option> + <name>CCMSPFetVCCDefault</name> + <state>1</state> + </option> + <option> + <name>CCMSPFetTargetSettlingtime</name> + <state>0</state> + </option> + <option> + <name>CCMSPFetRadioJtagSpeedType</name> + <state>1</state> + </option> + <option> + <name>CCMSPFetConnection</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CCMSPFetUsbComPort</name> + <state>Automatic</state> + </option> + <option> + <name>CCMSPFetAllowAccessToBSL</name> + <state>0</state> + </option> + <option> + <name>CCMSPFetDoLogfile</name> + <state>0</state> + </option> + <option> + <name>CCMSPFetLogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCMSPFetRadioEraseFlash</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>XDS100_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>9</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>TIPackageOverride</name> + <state>0</state> + </option> + <option> + <name>TIPackage</name> + <state></state> + </option> + <option> + <name>BoardFile</name> + <state></state> + </option> + <option> + <name>DoLogfile</name> + <state>0</state> + </option> + <option> + <name>LogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCXds100BreakpointRadio</name> + <state>0</state> + </option> + <option> + <name>CCXds100DoUpdateBreakpoints</name> + <state>0</state> + </option> + <option> + <name>CCXds100UpdateBreakpoints</name> + <state>_call_main</state> + </option> + <option> + <name>CCXds100CatchReset</name> + <state>0</state> + </option> + <option> + <name>CCXds100CatchUndef</name> + <state>0</state> + </option> + <option> + <name>CCXds100CatchSWI</name> + <state>0</state> + </option> + <option> + <name>CCXds100CatchData</name> + <state>0</state> + </option> + <option> + <name>CCXds100CatchPrefetch</name> + <state>0</state> + </option> + <option> + <name>CCXds100CatchIRQ</name> + <state>0</state> + </option> + <option> + <name>CCXds100CatchFIQ</name> + <state>0</state> + </option> + <option> + <name>CCXds100CatchCORERESET</name> + <state>0</state> + </option> + <option> + <name>CCXds100CatchMMERR</name> + <state>0</state> + </option> + <option> + <name>CCXds100CatchNOCPERR</name> + <state>0</state> + </option> + <option> + <name>CCXds100CatchCHRERR</name> + <state>0</state> + </option> + <option> + <name>CCXds100CatchSTATERR</name> + <state>0</state> + </option> + <option> + <name>CCXds100CatchBUSERR</name> + <state>0</state> + </option> + <option> + <name>CCXds100CatchINTERR</name> + <state>0</state> + </option> + <option> + <name>CCXds100CatchSFERR</name> + <state>0</state> + </option> + <option> + <name>CCXds100CatchHARDERR</name> + <state>0</state> + </option> + <option> + <name>CCXds100CatchDummy</name> + <state>0</state> + </option> + <option> + <name>CCXds100CpuClockEdit</name> + <state></state> + </option> + <option> + <name>CCXds100SwoClockAuto</name> + <state>0</state> + </option> + <option> + <name>CCXds100SwoClockEdit</name> + <state>1000</state> + </option> + <option> + <name>CCXds100HWResetDelay</name> + <state>0</state> + </option> + <option> + <name>CCXds100ResetList</name> + <version>1</version> + <state>0</state> + </option> + <option> + <name>CCXds100UsbSerialNo</name> + <state></state> + </option> + <option> + <name>CCXds100UsbSerialNoSelect</name> + <state>0</state> + </option> + <option> + <name>CCXds100JtagSpeedList</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CCXds100InterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>CCXds100InterfaceCmdLine</name> + <state>0</state> + </option> + <option> + <name>CCXds100ProbeList</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CCXds100SWOPortRadio</name> + <state>0</state> + </option> + <option> + <name>CCXds100SWOPort</name> + <state>1</state> + </option> + <option> + <name>CCXDSTargetVccEnable</name> + <state>0</state> + </option> + <option> + <name>CCXDSTargetVoltage</name> + <state>###Uninitialized###</state> + </option> + <option> + <name>OCXDSDigitalStatesConfigFile</name> + <state>1</state> + </option> + <option> + <name>OCSelectedCoreName</name> + <state>1</state> + </option> + </data> + </settings> + <debuggerPlugins> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm9.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm9BE.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$EW_DIR$\common\plugins\TargetAccessServer\TargetAccessServer.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + </debuggerPlugins> + </configuration> </project> diff --git a/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/IAR/FreeRTOSDemo.ewp b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/IAR/FreeRTOSDemo.ewp index 22a161f08..e7f646ee7 100644 --- a/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/IAR/FreeRTOSDemo.ewp +++ b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/IAR/FreeRTOSDemo.ewp @@ -11,10 +11,14 @@ <name>General</name> <archiveVersion>3</archiveVersion> <data> - <version>31</version> + <version>34</version> <wantNonLocal>1</wantNonLocal> <debug>1</debug> <option> + <name>BrowseInfoPath</name> + <state>BrowseInfo</state> + </option> + <option> <name>ExePath</name> <state>Debug</state> </option> @@ -66,15 +70,7 @@ </option> <option> <name>OGLastSavedByProductVersion</name> - <state>8.50.4.26131</state> - </option> - <option> - <name>GeneralEnableMisra</name> - <state>0</state> - </option> - <option> - <name>GeneralMisraVerbose</name> - <state>0</state> + <state>9.20.4.46976</state> </option> <option> <name>OGChipSelectEditMenu</name> @@ -97,26 +93,12 @@ <state>0</state> </option> <option> - <name>GeneralMisraRules98</name> - <version>0</version> - <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state> - </option> - <option> - <name>GeneralMisraVer</name> - <state>0</state> - </option> - <option> - <name>GeneralMisraRules04</name> - <version>0</version> - <state>011111111111111110111111111111011111111111111011110100111111111111111111111111111111111111111111101111111111111011111111111111111111111111111</state> - </option> - <option> <name>RTConfigPath2</name> <state>$TOOLKIT_DIR$\inc\c\DLib_Config_Full.h</state> </option> <option> <name>GBECoreSlave</name> - <version>28</version> + <version>31</version> <state>41</state> </option> <option> @@ -133,7 +115,7 @@ </option> <option> <name>CoreVariant</name> - <version>28</version> + <version>31</version> <state>41</state> </option> <option> @@ -156,7 +138,7 @@ </option> <option> <name>GFPUCoreSlave2</name> - <version>28</version> + <version>31</version> <state>41</state> </option> <option> @@ -209,13 +191,25 @@ <version>0</version> <state>0</state> </option> + <option> + <name>OGAarch64Abi</name> + <state>0</state> + </option> + <option> + <name>OG_32_64Device</name> + <state>0</state> + </option> + <option> + <name>BuildFilesPath</name> + <state>BuildLogs</state> + </option> </data> </settings> <settings> <name>ICCARM</name> <archiveVersion>2</archiveVersion> <data> - <version>36</version> + <version>37</version> <wantNonLocal>1</wantNonLocal> <debug>1</debug> <option> @@ -345,10 +339,6 @@ <state></state> </option> <option> - <name>CompilerMisraOverride</name> - <state>0</state> - </option> - <option> <name>CCIncludePath2</name> <state>$PROJ_DIR$\..\..\ST_Code\Core\Inc</state> <state>$PROJ_DIR$\..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Inc</state> @@ -386,16 +376,6 @@ <state>0</state> </option> <option> - <name>CompilerMisraRules98</name> - <version>0</version> - <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state> - </option> - <option> - <name>CompilerMisraRules04</name> - <version>0</version> - <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state> - </option> - <option> <name>CCPosIndRopi</name> <state>0</state> </option> @@ -486,7 +466,7 @@ <name>AARM</name> <archiveVersion>2</archiveVersion> <data> - <version>10</version> + <version>11</version> <wantNonLocal>1</wantNonLocal> <debug>1</debug> <option> @@ -643,6 +623,10 @@ <name>AsmNoLiteralPool</name> <state>0</state> </option> + <option> + <name>PreInclude</name> + <state></state> + </option> </data> </settings> <settings> @@ -682,14 +666,10 @@ <extensions></extensions> <cmdline></cmdline> <hasPrio>0</hasPrio> + <buildSequence>inputOutputBased</buildSequence> </data> </settings> <settings> - <name>BICOMP</name> - <archiveVersion>0</archiveVersion> - <data /> - </settings> - <settings> <name>BUILDACTION</name> <archiveVersion>1</archiveVersion> <data> @@ -701,7 +681,7 @@ <name>ILINK</name> <archiveVersion>0</archiveVersion> <data> - <version>23</version> + <version>26</version> <wantNonLocal>1</wantNonLocal> <debug>1</debug> <option> @@ -709,10 +689,6 @@ <state>1</state> </option> <option> - <name>XLinkMisraHandler</name> - <state>0</state> - </option> - <option> <name>IlinkInputFileSlave</name> <state>0</state> </option> @@ -1037,6 +1013,34 @@ <name>IlinkRawBinaryAlign2</name> <state></state> </option> + <option> + <name>IlinkLogCrtRoutineSelection</name> + <state>0</state> + </option> + <option> + <name>IlinkLogFragmentInfo</name> + <state>0</state> + </option> + <option> + <name>IlinkLogInlining</name> + <state>0</state> + </option> + <option> + <name>IlinkLogMerging</name> + <state>0</state> + </option> + <option> + <name>IlinkDemangle</name> + <state>0</state> + </option> + <option> + <name>IlinkWrapperFileEnable</name> + <state>0</state> + </option> + <option> + <name>IlinkWrapperFile</name> + <state></state> + </option> </data> </settings> <settings> @@ -1060,11 +1064,6 @@ </option> </data> </settings> - <settings> - <name>BILINK</name> - <archiveVersion>0</archiveVersion> - <data /> - </settings> </configuration> <group> <name>Config</name> @@ -1074,6 +1073,12 @@ </group> <group> <name>Demo</name> + <group> + <name>IAR</name> + <file> + <name>$PROJ_DIR$\..\..\Demo\IAR\reg_tests_asm.s</name> + </file> + </group> <file> <name>$PROJ_DIR$\..\..\Demo\app_main.c</name> </file> @@ -1086,6 +1091,12 @@ <file> <name>$PROJ_DIR$\..\..\Demo\mpu_demo.h</name> </file> + <file> + <name>$PROJ_DIR$\..\..\Demo\reg_tests.c</name> + </file> + <file> + <name>$PROJ_DIR$\..\..\Demo\reg_tests.h</name> + </file> </group> <group> <name>FreeRTOS</name> diff --git a/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/Keil/FreeRTOSDemo.uvoptx b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/Keil/FreeRTOSDemo.uvoptx index c6e38d3ca..fce0ba11e 100644 --- a/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/Keil/FreeRTOSDemo.uvoptx +++ b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/Keil/FreeRTOSDemo.uvoptx @@ -10,7 +10,7 @@ <aExt>*.s*; *.src; *.a*</aExt> <oExt>*.obj; *.o</oExt> <lExt>*.lib</lExt> - <tExt>*.txt; *.h; *.inc</tExt> + <tExt>*.txt; *.h; *.inc; *.md</tExt> <pExt>*.plm</pExt> <CppX>*.cpp</CppX> <nMigrate>0</nMigrate> @@ -103,7 +103,7 @@ <bEvRecOn>1</bEvRecOn> <bSchkAxf>0</bSchkAxf> <bTchkAxf>0</bTchkAxf> - <nTsel>5</nTsel> + <nTsel>6</nTsel> <sDll></sDll> <sDllPa></sDllPa> <sDlgDll></sDlgDll> @@ -275,6 +275,42 @@ <RteFlg>0</RteFlg> <bShared>0</bShared> </File> + <File> + <GroupNumber>2</GroupNumber> + <FileNumber>6</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\Demo\GCC\reg_tests_asm.c</PathWithFileName> + <FilenameWithoutPath>reg_tests_asm.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>2</GroupNumber> + <FileNumber>7</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\Demo\reg_tests.c</PathWithFileName> + <FilenameWithoutPath>reg_tests.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>2</GroupNumber> + <FileNumber>8</FileNumber> + <FileType>5</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\Demo\reg_tests.h</PathWithFileName> + <FilenameWithoutPath>reg_tests.h</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> </Group> <Group> @@ -285,7 +321,7 @@ <RteFlg>0</RteFlg> <File> <GroupNumber>3</GroupNumber> - <FileNumber>6</FileNumber> + <FileNumber>9</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -297,7 +333,7 @@ </File> <File> <GroupNumber>3</GroupNumber> - <FileNumber>7</FileNumber> + <FileNumber>10</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -309,7 +345,7 @@ </File> <File> <GroupNumber>3</GroupNumber> - <FileNumber>8</FileNumber> + <FileNumber>11</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -321,7 +357,7 @@ </File> <File> <GroupNumber>3</GroupNumber> - <FileNumber>9</FileNumber> + <FileNumber>12</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -333,7 +369,7 @@ </File> <File> <GroupNumber>3</GroupNumber> - <FileNumber>10</FileNumber> + <FileNumber>13</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -345,7 +381,7 @@ </File> <File> <GroupNumber>3</GroupNumber> - <FileNumber>11</FileNumber> + <FileNumber>14</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -357,7 +393,7 @@ </File> <File> <GroupNumber>3</GroupNumber> - <FileNumber>12</FileNumber> + <FileNumber>15</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -369,7 +405,7 @@ </File> <File> <GroupNumber>3</GroupNumber> - <FileNumber>13</FileNumber> + <FileNumber>16</FileNumber> <FileType>5</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -381,7 +417,7 @@ </File> <File> <GroupNumber>3</GroupNumber> - <FileNumber>14</FileNumber> + <FileNumber>17</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -393,7 +429,7 @@ </File> <File> <GroupNumber>3</GroupNumber> - <FileNumber>15</FileNumber> + <FileNumber>18</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -413,7 +449,7 @@ <RteFlg>0</RteFlg> <File> <GroupNumber>4</GroupNumber> - <FileNumber>16</FileNumber> + <FileNumber>19</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -425,7 +461,7 @@ </File> <File> <GroupNumber>4</GroupNumber> - <FileNumber>17</FileNumber> + <FileNumber>20</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -437,7 +473,7 @@ </File> <File> <GroupNumber>4</GroupNumber> - <FileNumber>18</FileNumber> + <FileNumber>21</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -449,7 +485,7 @@ </File> <File> <GroupNumber>4</GroupNumber> - <FileNumber>19</FileNumber> + <FileNumber>22</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -461,7 +497,7 @@ </File> <File> <GroupNumber>4</GroupNumber> - <FileNumber>20</FileNumber> + <FileNumber>23</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -481,7 +517,7 @@ <RteFlg>0</RteFlg> <File> <GroupNumber>5</GroupNumber> - <FileNumber>21</FileNumber> + <FileNumber>24</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -493,7 +529,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>22</FileNumber> + <FileNumber>25</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -505,7 +541,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>23</FileNumber> + <FileNumber>26</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -517,7 +553,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>24</FileNumber> + <FileNumber>27</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -529,7 +565,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>25</FileNumber> + <FileNumber>28</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -541,7 +577,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>26</FileNumber> + <FileNumber>29</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -553,7 +589,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>27</FileNumber> + <FileNumber>30</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -565,7 +601,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>28</FileNumber> + <FileNumber>31</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -577,7 +613,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>29</FileNumber> + <FileNumber>32</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -589,7 +625,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>30</FileNumber> + <FileNumber>33</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -601,7 +637,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>31</FileNumber> + <FileNumber>34</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -613,7 +649,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>32</FileNumber> + <FileNumber>35</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -625,7 +661,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>33</FileNumber> + <FileNumber>36</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -637,7 +673,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>34</FileNumber> + <FileNumber>37</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -649,7 +685,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>35</FileNumber> + <FileNumber>38</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -661,7 +697,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>36</FileNumber> + <FileNumber>39</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -673,7 +709,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>37</FileNumber> + <FileNumber>40</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -685,7 +721,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>38</FileNumber> + <FileNumber>41</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -697,7 +733,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>39</FileNumber> + <FileNumber>42</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -709,7 +745,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>40</FileNumber> + <FileNumber>43</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -721,7 +757,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>41</FileNumber> + <FileNumber>44</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -733,7 +769,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>42</FileNumber> + <FileNumber>45</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -745,7 +781,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>43</FileNumber> + <FileNumber>46</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -757,7 +793,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>44</FileNumber> + <FileNumber>47</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -769,7 +805,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>45</FileNumber> + <FileNumber>48</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -781,7 +817,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>46</FileNumber> + <FileNumber>49</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -793,7 +829,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>47</FileNumber> + <FileNumber>50</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -805,7 +841,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>48</FileNumber> + <FileNumber>51</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -817,7 +853,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>49</FileNumber> + <FileNumber>52</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -829,7 +865,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>50</FileNumber> + <FileNumber>53</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -841,7 +877,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>51</FileNumber> + <FileNumber>54</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -853,7 +889,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>52</FileNumber> + <FileNumber>55</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -865,7 +901,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>53</FileNumber> + <FileNumber>56</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -877,7 +913,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>54</FileNumber> + <FileNumber>57</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -889,7 +925,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>55</FileNumber> + <FileNumber>58</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -901,7 +937,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>56</FileNumber> + <FileNumber>59</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -913,7 +949,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>57</FileNumber> + <FileNumber>60</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -925,7 +961,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>58</FileNumber> + <FileNumber>61</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -937,7 +973,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>59</FileNumber> + <FileNumber>62</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -949,7 +985,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>60</FileNumber> + <FileNumber>63</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -961,7 +997,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>61</FileNumber> + <FileNumber>64</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -973,7 +1009,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>62</FileNumber> + <FileNumber>65</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -985,7 +1021,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>63</FileNumber> + <FileNumber>66</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -997,7 +1033,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>64</FileNumber> + <FileNumber>67</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1009,7 +1045,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>65</FileNumber> + <FileNumber>68</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1021,7 +1057,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>66</FileNumber> + <FileNumber>69</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1033,7 +1069,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>67</FileNumber> + <FileNumber>70</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1045,7 +1081,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>68</FileNumber> + <FileNumber>71</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1057,7 +1093,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>69</FileNumber> + <FileNumber>72</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1069,7 +1105,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>70</FileNumber> + <FileNumber>73</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1081,7 +1117,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>71</FileNumber> + <FileNumber>74</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1093,7 +1129,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>72</FileNumber> + <FileNumber>75</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1105,7 +1141,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>73</FileNumber> + <FileNumber>76</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1117,7 +1153,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>74</FileNumber> + <FileNumber>77</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1129,7 +1165,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>75</FileNumber> + <FileNumber>78</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1141,7 +1177,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>76</FileNumber> + <FileNumber>79</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1153,7 +1189,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>77</FileNumber> + <FileNumber>80</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1165,7 +1201,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>78</FileNumber> + <FileNumber>81</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1177,7 +1213,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>79</FileNumber> + <FileNumber>82</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1189,7 +1225,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>80</FileNumber> + <FileNumber>83</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1201,7 +1237,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>81</FileNumber> + <FileNumber>84</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1213,7 +1249,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>82</FileNumber> + <FileNumber>85</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1225,7 +1261,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>83</FileNumber> + <FileNumber>86</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1237,7 +1273,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>84</FileNumber> + <FileNumber>87</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1249,7 +1285,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>85</FileNumber> + <FileNumber>88</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1261,7 +1297,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>86</FileNumber> + <FileNumber>89</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1273,7 +1309,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>87</FileNumber> + <FileNumber>90</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1285,7 +1321,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>88</FileNumber> + <FileNumber>91</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1297,7 +1333,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>89</FileNumber> + <FileNumber>92</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1309,7 +1345,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>90</FileNumber> + <FileNumber>93</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1321,7 +1357,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>91</FileNumber> + <FileNumber>94</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1333,7 +1369,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>92</FileNumber> + <FileNumber>95</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1345,7 +1381,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>93</FileNumber> + <FileNumber>96</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1357,7 +1393,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>94</FileNumber> + <FileNumber>97</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1369,7 +1405,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>95</FileNumber> + <FileNumber>98</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1381,7 +1417,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>96</FileNumber> + <FileNumber>99</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1393,7 +1429,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>97</FileNumber> + <FileNumber>100</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1405,7 +1441,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>98</FileNumber> + <FileNumber>101</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1417,7 +1453,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>99</FileNumber> + <FileNumber>102</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1429,7 +1465,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>100</FileNumber> + <FileNumber>103</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1441,7 +1477,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>101</FileNumber> + <FileNumber>104</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1453,7 +1489,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>102</FileNumber> + <FileNumber>105</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1465,7 +1501,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>103</FileNumber> + <FileNumber>106</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1477,7 +1513,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>104</FileNumber> + <FileNumber>107</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1489,7 +1525,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>105</FileNumber> + <FileNumber>108</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1501,7 +1537,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>106</FileNumber> + <FileNumber>109</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1513,7 +1549,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>107</FileNumber> + <FileNumber>110</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1525,7 +1561,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>108</FileNumber> + <FileNumber>111</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1537,7 +1573,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>109</FileNumber> + <FileNumber>112</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1549,7 +1585,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>110</FileNumber> + <FileNumber>113</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1561,7 +1597,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>111</FileNumber> + <FileNumber>114</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1573,7 +1609,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>112</FileNumber> + <FileNumber>115</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1585,7 +1621,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>113</FileNumber> + <FileNumber>116</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1597,7 +1633,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>114</FileNumber> + <FileNumber>117</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1609,7 +1645,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>115</FileNumber> + <FileNumber>118</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1621,7 +1657,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>116</FileNumber> + <FileNumber>119</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1633,7 +1669,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>117</FileNumber> + <FileNumber>120</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1645,7 +1681,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>118</FileNumber> + <FileNumber>121</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1657,7 +1693,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>119</FileNumber> + <FileNumber>122</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1669,7 +1705,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>120</FileNumber> + <FileNumber>123</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1681,7 +1717,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>121</FileNumber> + <FileNumber>124</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1693,7 +1729,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>122</FileNumber> + <FileNumber>125</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1705,7 +1741,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>123</FileNumber> + <FileNumber>126</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1717,7 +1753,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>124</FileNumber> + <FileNumber>127</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1729,7 +1765,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>125</FileNumber> + <FileNumber>128</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1741,7 +1777,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>126</FileNumber> + <FileNumber>129</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1753,7 +1789,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>127</FileNumber> + <FileNumber>130</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1765,7 +1801,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>128</FileNumber> + <FileNumber>131</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1777,7 +1813,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>129</FileNumber> + <FileNumber>132</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1789,7 +1825,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>130</FileNumber> + <FileNumber>133</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1801,7 +1837,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>131</FileNumber> + <FileNumber>134</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1813,7 +1849,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>132</FileNumber> + <FileNumber>135</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1825,7 +1861,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>133</FileNumber> + <FileNumber>136</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1837,7 +1873,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>134</FileNumber> + <FileNumber>137</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1857,7 +1893,7 @@ <RteFlg>0</RteFlg> <File> <GroupNumber>6</GroupNumber> - <FileNumber>135</FileNumber> + <FileNumber>138</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1869,7 +1905,7 @@ </File> <File> <GroupNumber>6</GroupNumber> - <FileNumber>136</FileNumber> + <FileNumber>139</FileNumber> <FileType>2</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> diff --git a/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/Keil/FreeRTOSDemo.uvprojx b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/Keil/FreeRTOSDemo.uvprojx index d3c763b3d..ab02655a8 100644 --- a/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/Keil/FreeRTOSDemo.uvprojx +++ b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/Keil/FreeRTOSDemo.uvprojx @@ -10,14 +10,14 @@ <TargetName>FreeRTOSDemo</TargetName> <ToolsetNumber>0x4</ToolsetNumber> <ToolsetName>ARM-ADS</ToolsetName> - <pCCUsed>6130001::V6.13.1::.\ARMCLANG</pCCUsed> + <pCCUsed>6180000::V6.18::ARMCLANG</pCCUsed> <uAC6>1</uAC6> <TargetOption> <TargetCommonOption> <Device>STM32H743ZITx</Device> <Vendor>STMicroelectronics</Vendor> - <PackID>Keil.STM32H7xx_DFP.2.4.0</PackID> - <PackURL>https://www.keil.com/pack/</PackURL> + <PackID>Keil.STM32H7xx_DFP.3.0.0</PackID> + <PackURL>http://www.keil.com/pack/</PackURL> <Cpu>IRAM(0x20000000-0x2001FFFF) IRAM2(0x24000000-0x2407FFFF) IROM(0x8000000-0x81FFFFF) CLOCK(12000000) FPU3(DFPU) CPUTYPE("Cortex-M7") ELITTLE</Cpu> <FlashUtilSpec></FlashUtilSpec> <StartupFile></StartupFile> @@ -185,6 +185,8 @@ <uocXRam>0</uocXRam> <RvdsVP>3</RvdsVP> <RvdsMve>0</RvdsMve> + <RvdsCdeCp>0</RvdsCdeCp> + <nBranchProt>0</nBranchProt> <hadIRAM2>1</hadIRAM2> <hadIROM2>0</hadIROM2> <StupSel>8</StupSel> @@ -351,7 +353,7 @@ <NoWarn>0</NoWarn> <uSurpInc>0</uSurpInc> <useXO>0</useXO> - <uClangAs>0</uClangAs> + <ClangAsOpt>4</ClangAsOpt> <VariousControls> <MiscControls></MiscControls> <Define></Define> @@ -412,6 +414,21 @@ <FileType>5</FileType> <FilePath>..\..\Demo\mpu_demo.h</FilePath> </File> + <File> + <FileName>reg_tests_asm.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\Demo\GCC\reg_tests_asm.c</FilePath> + </File> + <File> + <FileName>reg_tests.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\Demo\reg_tests.c</FilePath> + </File> + <File> + <FileName>reg_tests.h</FileName> + <FileType>5</FileType> + <FilePath>..\..\Demo\reg_tests.h</FilePath> + </File> </Files> </Group> <Group> diff --git a/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/Keil_V5/FreeRTOSDemo.sct b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/Keil_V5/FreeRTOSDemo.sct new file mode 100644 index 000000000..333a44cc2 --- /dev/null +++ b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/Keil_V5/FreeRTOSDemo.sct @@ -0,0 +1,45 @@ +; Flash Layout +; +; --------------------- +; | Privileged Code | +; --------------------- +; | Unprivileged Code | +; --------------------- +; +; RAM Layout +; +; --------------------- +; | Privileged Data | +; --------------------- +; | Unprivileged Data | +; --------------------- + +LR_APP 0x08000000 0x00200000 ; load region size_region +{ + ER_IROM_PRIVILEGED 0x08000000 + { + *.o (RESET, +First) + *(InRoot$$Sections) + *(privileged_functions) + } + + ER_IROM_FREERTOS_SYSTEM_CALLS 0x08008000 FIXED + { + *(freertos_system_calls) + } + + ER_IROM_UNPRIVILEGED +0 + { + .ANY (+RO) + } + + RW_IRAM_PRIVILEGED 0x20000000 + { + *(privileged_data) + } + + RW_IRAM_UNPRIVILEGED 0x20008000 + { + .ANY (+RW +ZI) + } +} diff --git a/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/Keil_V5/FreeRTOSDemo.uvoptx b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/Keil_V5/FreeRTOSDemo.uvoptx new file mode 100644 index 000000000..5d0b06c3e --- /dev/null +++ b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/Keil_V5/FreeRTOSDemo.uvoptx @@ -0,0 +1,1928 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?> +<ProjectOpt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_optx.xsd"> + + <SchemaVersion>1.0</SchemaVersion> + + <Header>### uVision Project, (C) Keil Software</Header> + + <Extensions> + <cExt>*.c</cExt> + <aExt>*.s*; *.src; *.a*</aExt> + <oExt>*.obj; *.o</oExt> + <lExt>*.lib</lExt> + <tExt>*.txt; *.h; *.inc; *.md</tExt> + <pExt>*.plm</pExt> + <CppX>*.cpp</CppX> + <nMigrate>0</nMigrate> + </Extensions> + + <DaveTm> + <dwLowDateTime>0</dwLowDateTime> + <dwHighDateTime>0</dwHighDateTime> + </DaveTm> + + <Target> + <TargetName>FreeRTOSDemo</TargetName> + <ToolsetNumber>0x4</ToolsetNumber> + <ToolsetName>ARM-ADS</ToolsetName> + <TargetOption> + <CLKADS>64000000</CLKADS> + <OPTTT> + <gFlags>1</gFlags> + <BeepAtEnd>1</BeepAtEnd> + <RunSim>0</RunSim> + <RunTarget>1</RunTarget> + <RunAbUc>0</RunAbUc> + </OPTTT> + <OPTHX> + <HexSelection>1</HexSelection> + <FlashByte>65535</FlashByte> + <HexRangeLowAddress>0</HexRangeLowAddress> + <HexRangeHighAddress>0</HexRangeHighAddress> + <HexOffset>0</HexOffset> + </OPTHX> + <OPTLEX> + <PageWidth>79</PageWidth> + <PageLength>66</PageLength> + <TabStop>8</TabStop> + <ListingPath>.\Listings\</ListingPath> + </OPTLEX> + <ListingPage> + <CreateCListing>1</CreateCListing> + <CreateAListing>1</CreateAListing> + <CreateLListing>1</CreateLListing> + <CreateIListing>0</CreateIListing> + <AsmCond>1</AsmCond> + <AsmSymb>1</AsmSymb> + <AsmXref>0</AsmXref> + <CCond>1</CCond> + <CCode>0</CCode> + <CListInc>0</CListInc> + <CSymb>0</CSymb> + <LinkerCodeListing>0</LinkerCodeListing> + </ListingPage> + <OPTXL> + <LMap>1</LMap> + <LComments>1</LComments> + <LGenerateSymbols>1</LGenerateSymbols> + <LLibSym>1</LLibSym> + <LLines>1</LLines> + <LLocSym>1</LLocSym> + <LPubSym>1</LPubSym> + <LXref>0</LXref> + <LExpSel>0</LExpSel> + </OPTXL> + <OPTFL> + <tvExp>1</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <IsCurrentTarget>1</IsCurrentTarget> + </OPTFL> + <CpuCode>18</CpuCode> + <DebugOpt> + <uSim>0</uSim> + <uTrg>1</uTrg> + <sLdApp>1</sLdApp> + <sGomain>1</sGomain> + <sRbreak>1</sRbreak> + <sRwatch>1</sRwatch> + <sRmem>1</sRmem> + <sRfunc>1</sRfunc> + <sRbox>1</sRbox> + <tLdApp>1</tLdApp> + <tGomain>1</tGomain> + <tRbreak>1</tRbreak> + <tRwatch>1</tRwatch> + <tRmem>1</tRmem> + <tRfunc>1</tRfunc> + <tRbox>1</tRbox> + <tRtrace>1</tRtrace> + <sRSysVw>1</sRSysVw> + <tRSysVw>1</tRSysVw> + <sRunDeb>0</sRunDeb> + <sLrtime>0</sLrtime> + <bEvRecOn>1</bEvRecOn> + <bSchkAxf>0</bSchkAxf> + <bTchkAxf>0</bTchkAxf> + <nTsel>6</nTsel> + <sDll></sDll> + <sDllPa></sDllPa> + <sDlgDll></sDlgDll> + <sDlgPa></sDlgPa> + <sIfile></sIfile> + <tDll></tDll> + <tDllPa></tDllPa> + <tDlgDll></tDlgDll> + <tDlgPa></tDlgPa> + <tIfile></tIfile> + <pMon>STLink\ST-LINKIII-KEIL_SWO.dll</pMon> + </DebugOpt> + <TargetDriverDllRegistry> + <SetRegEntry> + <Number>0</Number> + <Key>ARMRTXEVENTFLAGS</Key> + <Name>-L70 -Z18 -C0 -M0 -T1</Name> + </SetRegEntry> + <SetRegEntry> + <Number>0</Number> + <Key>DLGTARM</Key> + <Name>(1010=1611,104,2061,661,0)(6017=1641,137,1830,473,0)(1008=-1,-1,-1,-1,0)(6016=-1,-1,-1,-1,0)(1012=1671,169,2148,484,0)</Name> + </SetRegEntry> + <SetRegEntry> + <Number>0</Number> + <Key>ARMDBGFLAGS</Key> + <Name></Name> + </SetRegEntry> + <SetRegEntry> + <Number>0</Number> + <Key>DLGUARM</Key> + <Name>(105=-1,-1,-1,-1,0)</Name> + </SetRegEntry> + <SetRegEntry> + <Number>0</Number> + <Key>UL2CM3</Key> + <Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC8000 -FN1 -FF0STM32H7x_2048 -FS08000000 -FL0200000 -FP0($$Device:STM32H743ZITx$CMSIS\Flash\STM32H7x_2048.FLM))</Name> + </SetRegEntry> + <SetRegEntry> + <Number>0</Number> + <Key>ST-LINKIII-KEIL_SWO</Key> + <Name>-U-O142 -O2254 -SF10000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP (ARM Core") -D00(6BA02477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32H7x_2048.FLM -FS08000000 -FL0200000 -FP0($$Device:STM32H743ZITx$CMSIS\Flash\STM32H7x_2048.FLM)</Name> + </SetRegEntry> + </TargetDriverDllRegistry> + <Breakpoint/> + <Tracepoint> + <THDelay>0</THDelay> + </Tracepoint> + <DebugFlag> + <trace>0</trace> + <periodic>1</periodic> + <aLwin>1</aLwin> + <aCover>0</aCover> + <aSer1>0</aSer1> + <aSer2>0</aSer2> + <aPa>0</aPa> + <viewmode>1</viewmode> + <vrSel>0</vrSel> + <aSym>0</aSym> + <aTbox>0</aTbox> + <AscS1>0</AscS1> + <AscS2>0</AscS2> + <AscS3>0</AscS3> + <aSer3>0</aSer3> + <eProf>0</eProf> + <aLa>0</aLa> + <aPa1>0</aPa1> + <AscS4>0</AscS4> + <aSer4>0</aSer4> + <StkLoc>0</StkLoc> + <TrcWin>0</TrcWin> + <newCpu>0</newCpu> + <uProt>0</uProt> + </DebugFlag> + <LintExecutable></LintExecutable> + <LintConfigFile></LintConfigFile> + <bLintAuto>0</bLintAuto> + <bAutoGenD>0</bAutoGenD> + <LntExFlags>0</LntExFlags> + <pMisraName></pMisraName> + <pszMrule></pszMrule> + <pSingCmds></pSingCmds> + <pMultCmds></pMultCmds> + <pMisraNamep></pMisraNamep> + <pszMrulep></pszMrulep> + <pSingCmdsp></pSingCmdsp> + <pMultCmdsp></pMultCmdsp> + <DebugDescription> + <Enable>1</Enable> + <EnableFlashSeq>0</EnableFlashSeq> + <EnableLog>0</EnableLog> + <Protocol>2</Protocol> + <DbgClock>10000000</DbgClock> + </DebugDescription> + </TargetOption> + </Target> + + <Group> + <GroupName>Config</GroupName> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <cbSel>0</cbSel> + <RteFlg>0</RteFlg> + <File> + <GroupNumber>1</GroupNumber> + <FileNumber>1</FileNumber> + <FileType>5</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\Config\FreeRTOSConfig.h</PathWithFileName> + <FilenameWithoutPath>FreeRTOSConfig.h</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + </Group> + + <Group> + <GroupName>Demo</GroupName> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <cbSel>0</cbSel> + <RteFlg>0</RteFlg> + <File> + <GroupNumber>2</GroupNumber> + <FileNumber>2</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\Demo\app_main.c</PathWithFileName> + <FilenameWithoutPath>app_main.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>2</GroupNumber> + <FileNumber>3</FileNumber> + <FileType>5</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\Demo\app_main.h</PathWithFileName> + <FilenameWithoutPath>app_main.h</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>2</GroupNumber> + <FileNumber>4</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\Demo\mpu_demo.c</PathWithFileName> + <FilenameWithoutPath>mpu_demo.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>2</GroupNumber> + <FileNumber>5</FileNumber> + <FileType>5</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\Demo\mpu_demo.h</PathWithFileName> + <FilenameWithoutPath>mpu_demo.h</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>2</GroupNumber> + <FileNumber>6</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\Demo\reg_tests.c</PathWithFileName> + <FilenameWithoutPath>reg_tests.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>2</GroupNumber> + <FileNumber>7</FileNumber> + <FileType>5</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\Demo\reg_tests.h</PathWithFileName> + <FilenameWithoutPath>reg_tests.h</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>2</GroupNumber> + <FileNumber>8</FileNumber> + <FileType>2</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\Demo\RVDS\reg_tests_asm.s</PathWithFileName> + <FilenameWithoutPath>reg_tests_asm.s</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + </Group> + + <Group> + <GroupName>FreeRTOS</GroupName> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <cbSel>0</cbSel> + <RteFlg>0</RteFlg> + <File> + <GroupNumber>3</GroupNumber> + <FileNumber>9</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\..\Source\event_groups.c</PathWithFileName> + <FilenameWithoutPath>event_groups.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>3</GroupNumber> + <FileNumber>10</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\..\Source\list.c</PathWithFileName> + <FilenameWithoutPath>list.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>3</GroupNumber> + <FileNumber>11</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\..\Source\queue.c</PathWithFileName> + <FilenameWithoutPath>queue.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>3</GroupNumber> + <FileNumber>12</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\..\Source\stream_buffer.c</PathWithFileName> + <FilenameWithoutPath>stream_buffer.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>3</GroupNumber> + <FileNumber>13</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\..\Source\tasks.c</PathWithFileName> + <FilenameWithoutPath>tasks.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>3</GroupNumber> + <FileNumber>14</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\..\Source\timers.c</PathWithFileName> + <FilenameWithoutPath>timers.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>3</GroupNumber> + <FileNumber>15</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\..\Source\portable\Common\mpu_wrappers.c</PathWithFileName> + <FilenameWithoutPath>mpu_wrappers.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>3</GroupNumber> + <FileNumber>16</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\..\Source\portable\MemMang\heap_4.c</PathWithFileName> + <FilenameWithoutPath>heap_4.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>3</GroupNumber> + <FileNumber>17</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\..\Source\portable\RVDS\ARM_CM4_MPU\port.c</PathWithFileName> + <FilenameWithoutPath>port.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>3</GroupNumber> + <FileNumber>18</FileNumber> + <FileType>5</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\..\Source\portable\RVDS\ARM_CM4_MPU\portmacro.h</PathWithFileName> + <FilenameWithoutPath>portmacro.h</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + </Group> + + <Group> + <GroupName>ST_Code/Core</GroupName> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <cbSel>0</cbSel> + <RteFlg>0</RteFlg> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>19</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Core\Src\main.c</PathWithFileName> + <FilenameWithoutPath>main.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>20</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Core\Src\stm32h7xx_hal_msp.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_msp.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>21</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Core\Src\stm32h7xx_hal_timebase_tim.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_timebase_tim.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>22</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Core\Src\stm32h7xx_it.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_it.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>23</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Core\Src\system_stm32h7xx.c</PathWithFileName> + <FilenameWithoutPath>system_stm32h7xx.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + </Group> + + <Group> + <GroupName>ST_Code/Drivers</GroupName> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <cbSel>0</cbSel> + <RteFlg>0</RteFlg> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>24</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>25</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_adc.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_adc.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>26</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_adc_ex.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_adc_ex.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>27</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cec.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_cec.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>28</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_comp.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_comp.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>29</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cortex.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_cortex.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>30</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_crc.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_crc.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>31</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_crc_ex.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_crc_ex.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>32</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cryp.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_cryp.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>33</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cryp_ex.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_cryp_ex.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>34</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dac.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_dac.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>35</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dac_ex.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_dac_ex.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>36</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dcmi.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_dcmi.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>37</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dfsdm.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_dfsdm.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>38</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dfsdm_ex.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_dfsdm_ex.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>39</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dma.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_dma.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>40</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dma_ex.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_dma_ex.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>41</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dma2d.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_dma2d.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>42</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dsi.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_dsi.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>43</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dts.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_dts.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>44</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_eth.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_eth.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>45</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_eth_ex.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_eth_ex.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>46</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_exti.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_exti.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>47</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_fdcan.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_fdcan.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>48</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_flash.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_flash.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>49</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_flash_ex.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_flash_ex.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>50</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_gfxmmu.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_gfxmmu.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>51</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_gpio.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_gpio.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>52</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_hash.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_hash.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>53</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_hash_ex.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_hash_ex.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>54</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_hcd.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_hcd.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>55</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_hrtim.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_hrtim.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>56</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_hsem.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_hsem.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>57</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2c.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_i2c.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>58</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2c_ex.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_i2c_ex.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>59</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2s.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_i2s.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>60</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2s_ex.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_i2s_ex.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>61</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_irda.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_irda.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>62</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_iwdg.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_iwdg.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>63</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_jpeg.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_jpeg.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>64</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_lptim.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_lptim.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>65</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_ltdc.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_ltdc.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>66</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_ltdc_ex.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_ltdc_ex.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>67</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_mdios.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_mdios.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>68</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_mdma.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_mdma.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>69</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_mmc.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_mmc.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>70</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_mmc_ex.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_mmc_ex.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>71</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_nand.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_nand.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>72</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_nor.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_nor.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>73</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_opamp.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_opamp.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>74</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_opamp_ex.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_opamp_ex.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>75</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_ospi.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_ospi.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>76</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_otfdec.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_otfdec.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>77</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_pcd.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_pcd.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>78</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_pcd_ex.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_pcd_ex.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>79</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_pssi.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_pssi.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>80</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_pwr.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_pwr.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>81</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_pwr_ex.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_pwr_ex.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>82</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_qspi.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_qspi.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>83</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_ramecc.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_ramecc.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>84</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rcc.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_rcc.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>85</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rcc_ex.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_rcc_ex.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>86</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rng.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_rng.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>87</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rng_ex.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_rng_ex.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>88</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rtc.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_rtc.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>89</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rtc_ex.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_rtc_ex.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>90</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_sai.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_sai.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>91</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_sai_ex.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_sai_ex.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>92</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_sd.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_sd.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>93</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_sd_ex.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_sd_ex.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>94</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_sdram.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_sdram.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>95</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_smartcard.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_smartcard.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>96</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_smartcard_ex.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_smartcard_ex.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>97</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_smbus.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_smbus.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>98</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_spdifrx.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_spdifrx.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>99</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_spi.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_spi.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>100</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_spi_ex.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_spi_ex.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>101</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_sram.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_sram.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>102</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_swpmi.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_swpmi.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>103</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_tim.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_tim.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>104</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_tim_ex.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_tim_ex.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>105</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_uart.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_uart.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>106</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_uart_ex.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_uart_ex.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>107</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_usart.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_usart.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>108</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_usart_ex.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_usart_ex.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>109</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_wwdg.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_hal_wwdg.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>110</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_adc.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_ll_adc.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>111</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_bdma.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_ll_bdma.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>112</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_comp.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_ll_comp.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>113</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_crc.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_ll_crc.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>114</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_crs.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_ll_crs.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>115</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_dac.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_ll_dac.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>116</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_delayblock.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_ll_delayblock.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>117</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_dma.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_ll_dma.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>118</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_dma2d.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_ll_dma2d.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>119</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_exti.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_ll_exti.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>120</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_fmc.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_ll_fmc.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>121</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_gpio.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_ll_gpio.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>122</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_hrtim.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_ll_hrtim.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>123</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_i2c.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_ll_i2c.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>124</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_lptim.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_ll_lptim.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>125</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_lpuart.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_ll_lpuart.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>126</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_mdma.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_ll_mdma.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>127</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_opamp.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_ll_opamp.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>128</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_pwr.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_ll_pwr.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>129</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_rcc.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_ll_rcc.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>130</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_rng.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_ll_rng.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>131</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_rtc.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_ll_rtc.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>132</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_sdmmc.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_ll_sdmmc.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>133</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_spi.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_ll_spi.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>134</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_swpmi.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_ll_swpmi.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>135</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_tim.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_ll_tim.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>136</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_usart.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_ll_usart.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>137</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_usb.c</PathWithFileName> + <FilenameWithoutPath>stm32h7xx_ll_usb.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + </Group> + + <Group> + <GroupName>Startup</GroupName> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <cbSel>0</cbSel> + <RteFlg>0</RteFlg> + <File> + <GroupNumber>6</GroupNumber> + <FileNumber>138</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>.\memfault_handler.c</PathWithFileName> + <FilenameWithoutPath>memfault_handler.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>6</GroupNumber> + <FileNumber>139</FileNumber> + <FileType>2</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>.\startup_stm32h743xx.s</PathWithFileName> + <FilenameWithoutPath>startup_stm32h743xx.s</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + </Group> + + <Group> + <GroupName>::CMSIS</GroupName> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <cbSel>0</cbSel> + <RteFlg>1</RteFlg> + </Group> + +</ProjectOpt> diff --git a/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/Keil_V5/FreeRTOSDemo.uvprojx b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/Keil_V5/FreeRTOSDemo.uvprojx new file mode 100644 index 000000000..ba0ab789c --- /dev/null +++ b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/Keil_V5/FreeRTOSDemo.uvprojx @@ -0,0 +1,1129 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?> +<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_projx.xsd"> + + <SchemaVersion>2.1</SchemaVersion> + + <Header>### uVision Project, (C) Keil Software</Header> + + <Targets> + <Target> + <TargetName>FreeRTOSDemo</TargetName> + <ToolsetNumber>0x4</ToolsetNumber> + <ToolsetName>ARM-ADS</ToolsetName> + <pCCUsed>5060960::V5.06 update 7 (build 960)::.\ARM_Compiler_5.06u7</pCCUsed> + <uAC6>0</uAC6> + <TargetOption> + <TargetCommonOption> + <Device>STM32H743ZITx</Device> + <Vendor>STMicroelectronics</Vendor> + <PackID>Keil.STM32H7xx_DFP.3.0.0</PackID> + <PackURL>http://www.keil.com/pack/</PackURL> + <Cpu>IRAM(0x20000000-0x2001FFFF) IRAM2(0x24000000-0x2407FFFF) IROM(0x8000000-0x81FFFFF) CLOCK(12000000) FPU3(DFPU) CPUTYPE("Cortex-M7") ELITTLE</Cpu> + <FlashUtilSpec></FlashUtilSpec> + <StartupFile></StartupFile> + <FlashDriverDll></FlashDriverDll> + <DeviceId></DeviceId> + <RegisterFile></RegisterFile> + <MemoryEnv></MemoryEnv> + <Cmp></Cmp> + <Asm></Asm> + <Linker></Linker> + <OHString></OHString> + <InfinionOptionDll></InfinionOptionDll> + <SLE66CMisc></SLE66CMisc> + <SLE66AMisc></SLE66AMisc> + <SLE66LinkerMisc></SLE66LinkerMisc> + <SFDFile>$$Device:STM32H743ZITx$CMSIS\SVD\STM32H743.svd</SFDFile> + <bCustSvd>0</bCustSvd> + <UseEnv>0</UseEnv> + <BinPath></BinPath> + <IncludePath></IncludePath> + <LibPath></LibPath> + <RegisterFilePath></RegisterFilePath> + <DBRegisterFilePath></DBRegisterFilePath> + <TargetStatus> + <Error>0</Error> + <ExitCodeStop>0</ExitCodeStop> + <ButtonStop>0</ButtonStop> + <NotGenerated>0</NotGenerated> + <InvalidFlash>1</InvalidFlash> + </TargetStatus> + <OutputDirectory>.\Debug\</OutputDirectory> + <OutputName>FreeRTOSDemo</OutputName> + <CreateExecutable>1</CreateExecutable> + <CreateLib>0</CreateLib> + <CreateHexFile>1</CreateHexFile> + <DebugInformation>1</DebugInformation> + <BrowseInformation>1</BrowseInformation> + <ListingPath>.\Listings\</ListingPath> + <HexFormatSelection>1</HexFormatSelection> + <Merge32K>0</Merge32K> + <CreateBatchFile>0</CreateBatchFile> + <BeforeCompile> + <RunUserProg1>0</RunUserProg1> + <RunUserProg2>0</RunUserProg2> + <UserProg1Name></UserProg1Name> + <UserProg2Name></UserProg2Name> + <UserProg1Dos16Mode>0</UserProg1Dos16Mode> + <UserProg2Dos16Mode>0</UserProg2Dos16Mode> + <nStopU1X>0</nStopU1X> + <nStopU2X>0</nStopU2X> + </BeforeCompile> + <BeforeMake> + <RunUserProg1>0</RunUserProg1> + <RunUserProg2>0</RunUserProg2> + <UserProg1Name></UserProg1Name> + <UserProg2Name></UserProg2Name> + <UserProg1Dos16Mode>0</UserProg1Dos16Mode> + <UserProg2Dos16Mode>0</UserProg2Dos16Mode> + <nStopB1X>0</nStopB1X> + <nStopB2X>0</nStopB2X> + </BeforeMake> + <AfterMake> + <RunUserProg1>0</RunUserProg1> + <RunUserProg2>0</RunUserProg2> + <UserProg1Name></UserProg1Name> + <UserProg2Name></UserProg2Name> + <UserProg1Dos16Mode>0</UserProg1Dos16Mode> + <UserProg2Dos16Mode>0</UserProg2Dos16Mode> + <nStopA1X>0</nStopA1X> + <nStopA2X>0</nStopA2X> + </AfterMake> + <SelectedForBatchBuild>0</SelectedForBatchBuild> + <SVCSIdString></SVCSIdString> + </TargetCommonOption> + <CommonProperty> + <UseCPPCompiler>0</UseCPPCompiler> + <RVCTCodeConst>0</RVCTCodeConst> + <RVCTZI>0</RVCTZI> + <RVCTOtherData>0</RVCTOtherData> + <ModuleSelection>0</ModuleSelection> + <IncludeInBuild>1</IncludeInBuild> + <AlwaysBuild>0</AlwaysBuild> + <GenerateAssemblyFile>0</GenerateAssemblyFile> + <AssembleAssemblyFile>0</AssembleAssemblyFile> + <PublicsOnly>0</PublicsOnly> + <StopOnExitCode>3</StopOnExitCode> + <CustomArgument></CustomArgument> + <IncludeLibraryModules></IncludeLibraryModules> + <ComprImg>0</ComprImg> + </CommonProperty> + <DllOption> + <SimDllName>SARMCM3.DLL</SimDllName> + <SimDllArguments>-REMAP -MPU</SimDllArguments> + <SimDlgDll>DCM.DLL</SimDlgDll> + <SimDlgDllArguments>-pCM7</SimDlgDllArguments> + <TargetDllName>SARMCM3.DLL</TargetDllName> + <TargetDllArguments>-MPU</TargetDllArguments> + <TargetDlgDll>TCM.DLL</TargetDlgDll> + <TargetDlgDllArguments>-pCM7</TargetDlgDllArguments> + </DllOption> + <DebugOption> + <OPTHX> + <HexSelection>1</HexSelection> + <HexRangeLowAddress>0</HexRangeLowAddress> + <HexRangeHighAddress>0</HexRangeHighAddress> + <HexOffset>0</HexOffset> + <Oh166RecLen>16</Oh166RecLen> + </OPTHX> + </DebugOption> + <Utilities> + <Flash1> + <UseTargetDll>1</UseTargetDll> + <UseExternalTool>0</UseExternalTool> + <RunIndependent>0</RunIndependent> + <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging> + <Capability>1</Capability> + <DriverSelection>4107</DriverSelection> + </Flash1> + <bUseTDR>1</bUseTDR> + <Flash2>STLink\ST-LINKIII-KEIL_SWO.dll</Flash2> + <Flash3></Flash3> + <Flash4></Flash4> + <pFcarmOut></pFcarmOut> + <pFcarmGrp></pFcarmGrp> + <pFcArmRoot></pFcArmRoot> + <FcArmLst>0</FcArmLst> + </Utilities> + <TargetArmAds> + <ArmAdsMisc> + <GenerateListings>0</GenerateListings> + <asHll>1</asHll> + <asAsm>1</asAsm> + <asMacX>1</asMacX> + <asSyms>1</asSyms> + <asFals>1</asFals> + <asDbgD>1</asDbgD> + <asForm>1</asForm> + <ldLst>0</ldLst> + <ldmm>1</ldmm> + <ldXref>1</ldXref> + <BigEnd>0</BigEnd> + <AdsALst>1</AdsALst> + <AdsACrf>1</AdsACrf> + <AdsANop>0</AdsANop> + <AdsANot>0</AdsANot> + <AdsLLst>1</AdsLLst> + <AdsLmap>1</AdsLmap> + <AdsLcgr>1</AdsLcgr> + <AdsLsym>1</AdsLsym> + <AdsLszi>1</AdsLszi> + <AdsLtoi>1</AdsLtoi> + <AdsLsun>1</AdsLsun> + <AdsLven>1</AdsLven> + <AdsLsxf>1</AdsLsxf> + <RvctClst>0</RvctClst> + <GenPPlst>0</GenPPlst> + <AdsCpuType>"Cortex-M7"</AdsCpuType> + <RvctDeviceName></RvctDeviceName> + <mOS>0</mOS> + <uocRom>0</uocRom> + <uocRam>0</uocRam> + <hadIROM>1</hadIROM> + <hadIRAM>1</hadIRAM> + <hadXRAM>0</hadXRAM> + <uocXRam>0</uocXRam> + <RvdsVP>3</RvdsVP> + <RvdsMve>0</RvdsMve> + <RvdsCdeCp>0</RvdsCdeCp> + <nBranchProt>0</nBranchProt> + <hadIRAM2>1</hadIRAM2> + <hadIROM2>0</hadIROM2> + <StupSel>8</StupSel> + <useUlib>1</useUlib> + <EndSel>0</EndSel> + <uLtcg>0</uLtcg> + <nSecure>0</nSecure> + <RoSelD>3</RoSelD> + <RwSelD>3</RwSelD> + <CodeSel>0</CodeSel> + <OptFeed>0</OptFeed> + <NoZi1>0</NoZi1> + <NoZi2>0</NoZi2> + <NoZi3>0</NoZi3> + <NoZi4>0</NoZi4> + <NoZi5>0</NoZi5> + <Ro1Chk>0</Ro1Chk> + <Ro2Chk>0</Ro2Chk> + <Ro3Chk>0</Ro3Chk> + <Ir1Chk>1</Ir1Chk> + <Ir2Chk>0</Ir2Chk> + <Ra1Chk>0</Ra1Chk> + <Ra2Chk>0</Ra2Chk> + <Ra3Chk>0</Ra3Chk> + <Im1Chk>1</Im1Chk> + <Im2Chk>0</Im2Chk> + <OnChipMemories> + <Ocm1> + <Type>0</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </Ocm1> + <Ocm2> + <Type>0</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </Ocm2> + <Ocm3> + <Type>0</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </Ocm3> + <Ocm4> + <Type>0</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </Ocm4> + <Ocm5> + <Type>0</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </Ocm5> + <Ocm6> + <Type>0</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </Ocm6> + <IRAM> + <Type>0</Type> + <StartAddress>0x20000000</StartAddress> + <Size>0x20000</Size> + </IRAM> + <IROM> + <Type>1</Type> + <StartAddress>0x8000000</StartAddress> + <Size>0x200000</Size> + </IROM> + <XRAM> + <Type>0</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </XRAM> + <OCR_RVCT1> + <Type>1</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </OCR_RVCT1> + <OCR_RVCT2> + <Type>1</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </OCR_RVCT2> + <OCR_RVCT3> + <Type>1</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </OCR_RVCT3> + <OCR_RVCT4> + <Type>1</Type> + <StartAddress>0x8000000</StartAddress> + <Size>0x200000</Size> + </OCR_RVCT4> + <OCR_RVCT5> + <Type>1</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </OCR_RVCT5> + <OCR_RVCT6> + <Type>0</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </OCR_RVCT6> + <OCR_RVCT7> + <Type>0</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </OCR_RVCT7> + <OCR_RVCT8> + <Type>0</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </OCR_RVCT8> + <OCR_RVCT9> + <Type>0</Type> + <StartAddress>0x20000000</StartAddress> + <Size>0x20000</Size> + </OCR_RVCT9> + <OCR_RVCT10> + <Type>0</Type> + <StartAddress>0x24000000</StartAddress> + <Size>0x80000</Size> + </OCR_RVCT10> + </OnChipMemories> + <RvctStartVector></RvctStartVector> + </ArmAdsMisc> + <Cads> + <interw>1</interw> + <Optim>4</Optim> + <oTime>0</oTime> + <SplitLS>0</SplitLS> + <OneElfS>1</OneElfS> + <Strict>0</Strict> + <EnumInt>0</EnumInt> + <PlainCh>0</PlainCh> + <Ropi>0</Ropi> + <Rwpi>0</Rwpi> + <wLevel>2</wLevel> + <uThumb>0</uThumb> + <uSurpInc>0</uSurpInc> + <uC99>1</uC99> + <uGnu>0</uGnu> + <useXO>0</useXO> + <v6Lang>3</v6Lang> + <v6LangP>3</v6LangP> + <vShortEn>1</vShortEn> + <vShortWch>1</vShortWch> + <v6Lto>0</v6Lto> + <v6WtE>0</v6WtE> + <v6Rtti>0</v6Rtti> + <VariousControls> + <MiscControls></MiscControls> + <Define>USE_HAL_DRIVER,STM32H743xx</Define> + <Undefine></Undefine> + <IncludePath>..\..\Config;..\..\Demo;..\..\ST_Code\Core\Inc;..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Inc;..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Inc\Legacy;..\..\ST_Code\Drivers\CMSIS\Device\ST\STM32H7xx\Include;..\..\ST_Code\Drivers\CMSIS\Include;..\..\..\..\Source\include;..\..\..\..\Source\portable\RVDS\ARM_CM4_MPU</IncludePath> + </VariousControls> + </Cads> + <Aads> + <interw>1</interw> + <Ropi>0</Ropi> + <Rwpi>0</Rwpi> + <thumb>0</thumb> + <SplitLS>0</SplitLS> + <SwStkChk>0</SwStkChk> + <NoWarn>0</NoWarn> + <uSurpInc>0</uSurpInc> + <useXO>0</useXO> + <ClangAsOpt>4</ClangAsOpt> + <VariousControls> + <MiscControls></MiscControls> + <Define></Define> + <Undefine></Undefine> + <IncludePath>..\..\ST_Code\Core\Inc</IncludePath> + </VariousControls> + </Aads> + <LDads> + <umfTarg>0</umfTarg> + <Ropi>0</Ropi> + <Rwpi>0</Rwpi> + <noStLib>0</noStLib> + <RepFail>1</RepFail> + <useFile>0</useFile> + <TextAddressRange>0x08000000</TextAddressRange> + <DataAddressRange>0x20000000</DataAddressRange> + <pXoBase></pXoBase> + <ScatterFile>.\FreeRTOSDemo.sct</ScatterFile> + <IncludeLibs></IncludeLibs> + <IncludeLibsPath></IncludeLibsPath> + <Misc></Misc> + <LinkerInputFile></LinkerInputFile> + <DisabledWarnings></DisabledWarnings> + </LDads> + </TargetArmAds> + </TargetOption> + <Groups> + <Group> + <GroupName>Config</GroupName> + <Files> + <File> + <FileName>FreeRTOSConfig.h</FileName> + <FileType>5</FileType> + <FilePath>..\..\Config\FreeRTOSConfig.h</FilePath> + </File> + </Files> + </Group> + <Group> + <GroupName>Demo</GroupName> + <Files> + <File> + <FileName>app_main.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\Demo\app_main.c</FilePath> + </File> + <File> + <FileName>app_main.h</FileName> + <FileType>5</FileType> + <FilePath>..\..\Demo\app_main.h</FilePath> + </File> + <File> + <FileName>mpu_demo.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\Demo\mpu_demo.c</FilePath> + </File> + <File> + <FileName>mpu_demo.h</FileName> + <FileType>5</FileType> + <FilePath>..\..\Demo\mpu_demo.h</FilePath> + </File> + <File> + <FileName>reg_tests.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\Demo\reg_tests.c</FilePath> + </File> + <File> + <FileName>reg_tests.h</FileName> + <FileType>5</FileType> + <FilePath>..\..\Demo\reg_tests.h</FilePath> + </File> + <File> + <FileName>reg_tests_asm.s</FileName> + <FileType>2</FileType> + <FilePath>..\..\Demo\RVDS\reg_tests_asm.s</FilePath> + </File> + </Files> + </Group> + <Group> + <GroupName>FreeRTOS</GroupName> + <Files> + <File> + <FileName>event_groups.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\Source\event_groups.c</FilePath> + </File> + <File> + <FileName>list.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\Source\list.c</FilePath> + </File> + <File> + <FileName>queue.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\Source\queue.c</FilePath> + </File> + <File> + <FileName>stream_buffer.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\Source\stream_buffer.c</FilePath> + </File> + <File> + <FileName>tasks.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\Source\tasks.c</FilePath> + </File> + <File> + <FileName>timers.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\Source\timers.c</FilePath> + </File> + <File> + <FileName>mpu_wrappers.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\Source\portable\Common\mpu_wrappers.c</FilePath> + </File> + <File> + <FileName>heap_4.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\Source\portable\MemMang\heap_4.c</FilePath> + </File> + <File> + <FileName>port.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\Source\portable\RVDS\ARM_CM4_MPU\port.c</FilePath> + </File> + <File> + <FileName>portmacro.h</FileName> + <FileType>5</FileType> + <FilePath>..\..\..\..\Source\portable\RVDS\ARM_CM4_MPU\portmacro.h</FilePath> + </File> + </Files> + </Group> + <Group> + <GroupName>ST_Code/Core</GroupName> + <Files> + <File> + <FileName>main.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Core\Src\main.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_msp.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Core\Src\stm32h7xx_hal_msp.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_timebase_tim.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Core\Src\stm32h7xx_hal_timebase_tim.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_it.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Core\Src\stm32h7xx_it.c</FilePath> + </File> + <File> + <FileName>system_stm32h7xx.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Core\Src\system_stm32h7xx.c</FilePath> + </File> + </Files> + </Group> + <Group> + <GroupName>ST_Code/Drivers</GroupName> + <Files> + <File> + <FileName>stm32h7xx_hal.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_adc.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_adc.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_adc_ex.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_adc_ex.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_cec.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cec.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_comp.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_comp.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_cortex.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cortex.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_crc.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_crc.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_crc_ex.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_crc_ex.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_cryp.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cryp.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_cryp_ex.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cryp_ex.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_dac.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dac.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_dac_ex.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dac_ex.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_dcmi.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dcmi.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_dfsdm.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dfsdm.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_dfsdm_ex.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dfsdm_ex.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_dma.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dma.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_dma_ex.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dma_ex.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_dma2d.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dma2d.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_dsi.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dsi.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_dts.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dts.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_eth.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_eth.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_eth_ex.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_eth_ex.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_exti.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_exti.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_fdcan.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_fdcan.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_flash.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_flash.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_flash_ex.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_flash_ex.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_gfxmmu.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_gfxmmu.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_gpio.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_gpio.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_hash.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_hash.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_hash_ex.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_hash_ex.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_hcd.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_hcd.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_hrtim.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_hrtim.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_hsem.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_hsem.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_i2c.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2c.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_i2c_ex.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2c_ex.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_i2s.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2s.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_i2s_ex.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2s_ex.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_irda.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_irda.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_iwdg.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_iwdg.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_jpeg.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_jpeg.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_lptim.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_lptim.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_ltdc.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_ltdc.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_ltdc_ex.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_ltdc_ex.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_mdios.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_mdios.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_mdma.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_mdma.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_mmc.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_mmc.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_mmc_ex.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_mmc_ex.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_nand.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_nand.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_nor.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_nor.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_opamp.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_opamp.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_opamp_ex.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_opamp_ex.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_ospi.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_ospi.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_otfdec.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_otfdec.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_pcd.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_pcd.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_pcd_ex.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_pcd_ex.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_pssi.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_pssi.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_pwr.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_pwr.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_pwr_ex.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_pwr_ex.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_qspi.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_qspi.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_ramecc.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_ramecc.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_rcc.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rcc.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_rcc_ex.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rcc_ex.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_rng.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rng.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_rng_ex.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rng_ex.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_rtc.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rtc.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_rtc_ex.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rtc_ex.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_sai.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_sai.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_sai_ex.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_sai_ex.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_sd.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_sd.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_sd_ex.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_sd_ex.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_sdram.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_sdram.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_smartcard.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_smartcard.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_smartcard_ex.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_smartcard_ex.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_smbus.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_smbus.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_spdifrx.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_spdifrx.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_spi.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_spi.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_spi_ex.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_spi_ex.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_sram.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_sram.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_swpmi.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_swpmi.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_tim.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_tim.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_tim_ex.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_tim_ex.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_uart.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_uart.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_uart_ex.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_uart_ex.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_usart.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_usart.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_usart_ex.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_usart_ex.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_hal_wwdg.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_wwdg.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_ll_adc.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_adc.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_ll_bdma.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_bdma.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_ll_comp.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_comp.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_ll_crc.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_crc.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_ll_crs.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_crs.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_ll_dac.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_dac.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_ll_delayblock.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_delayblock.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_ll_dma.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_dma.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_ll_dma2d.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_dma2d.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_ll_exti.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_exti.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_ll_fmc.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_fmc.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_ll_gpio.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_gpio.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_ll_hrtim.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_hrtim.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_ll_i2c.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_i2c.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_ll_lptim.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_lptim.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_ll_lpuart.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_lpuart.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_ll_mdma.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_mdma.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_ll_opamp.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_opamp.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_ll_pwr.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_pwr.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_ll_rcc.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_rcc.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_ll_rng.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_rng.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_ll_rtc.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_rtc.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_ll_sdmmc.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_sdmmc.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_ll_spi.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_spi.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_ll_swpmi.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_swpmi.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_ll_tim.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_tim.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_ll_usart.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_usart.c</FilePath> + </File> + <File> + <FileName>stm32h7xx_ll_usb.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\ST_Code\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_usb.c</FilePath> + </File> + </Files> + </Group> + <Group> + <GroupName>Startup</GroupName> + <Files> + <File> + <FileName>memfault_handler.c</FileName> + <FileType>1</FileType> + <FilePath>.\memfault_handler.c</FilePath> + </File> + <File> + <FileName>startup_stm32h743xx.s</FileName> + <FileType>2</FileType> + <FilePath>.\startup_stm32h743xx.s</FilePath> + </File> + </Files> + </Group> + <Group> + <GroupName>::CMSIS</GroupName> + </Group> + </Groups> + </Target> + </Targets> + + <RTE> + <apis/> + <components> + <component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="5.6.0" condition="ARMv6_7_8-M Device"> + <package name="CMSIS" schemaVersion="1.7.7" url="http://www.keil.com/pack/" vendor="ARM" version="5.9.0"/> + <targetInfos> + <targetInfo name="FreeRTOSDemo"/> + </targetInfos> + </component> + </components> + <files/> + </RTE> + +</Project> diff --git a/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/Keil_V5/memfault_handler.c b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/Keil_V5/memfault_handler.c new file mode 100644 index 000000000..6c14c6ff0 --- /dev/null +++ b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/Keil_V5/memfault_handler.c @@ -0,0 +1,66 @@ +/* + * FreeRTOS V202212.00 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * https://www.FreeRTOS.org + * https://github.com/FreeRTOS + * + */ + +#include <stdint.h> + +extern uint32_t Image$$ER_IROM_FREERTOS_SYSTEM_CALLS$$Base; +extern uint32_t Image$$ER_IROM_FREERTOS_SYSTEM_CALLS$$Limit; + +/* Memory map needed for MPU setup. Must must match the one defined in + * the scatter-loading file (FreeRTOSDemo.sct). */ +const uint32_t * __FLASH_segment_start__ = ( uint32_t * ) 0x08000000; +const uint32_t * __FLASH_segment_end__ = ( uint32_t * ) 0x08200000; +const uint32_t * __SRAM_segment_start__ = ( uint32_t * ) 0x20000000; +const uint32_t * __SRAM_segment_end__ = ( uint32_t * ) 0x20020000; + +const uint32_t * __privileged_functions_start__ = ( uint32_t * ) 0x08000000; +const uint32_t * __privileged_functions_end__ = ( uint32_t * ) 0x08008000; +const uint32_t * __privileged_data_start__ = ( uint32_t * ) 0x20000000; +const uint32_t * __privileged_data_end__ = ( uint32_t * ) 0x20008000; + +const uint32_t * __syscalls_flash_start__ = ( uint32_t * ) &( Image$$ER_IROM_FREERTOS_SYSTEM_CALLS$$Base ); +const uint32_t * __syscalls_flash_end__ = ( uint32_t * ) &( Image$$ER_IROM_FREERTOS_SYSTEM_CALLS$$Limit ); +/*-----------------------------------------------------------*/ + +/** + * @brief Mem fault handler. + */ +void MemManage_Handler( void ); +/*-----------------------------------------------------------*/ + +__asm void MemManage_Handler( void ) +{ + extern vHandleMemoryFault; + + PRESERVE8 + + tst lr, #4 + ite eq + mrseq r0, msp + mrsne r0, psp + b vHandleMemoryFault +} +/*-----------------------------------------------------------*/ diff --git a/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/Keil_V5/startup_stm32h743xx.s b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/Keil_V5/startup_stm32h743xx.s new file mode 100644 index 000000000..266479eef --- /dev/null +++ b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/Keil_V5/startup_stm32h743xx.s @@ -0,0 +1,611 @@ +;******************** (C) COPYRIGHT 2017 STMicroelectronics ******************** +;* File Name : startup_stm32h743xx.s +;* @author MCD Application Team +;* Description : STM32H7xx devices vector table for MDK-ARM toolchain. +;* This module performs: +;* - Set the initial SP +;* - Set the initial PC == Reset_Handler +;* - Set the vector table entries with the exceptions ISR address +;* - Branches to __main in the C library (which eventually +;* calls main()). +;* After Reset the Cortex-M processor is in Thread mode, +;* priority is Privileged, and the Stack is set to Main. +;* <<< Use Configuration Wizard in Context Menu >>> +;****************************************************************************** +;* @attention +;* +;* Copyright (c) 2017 STMicroelectronics. +;* All rights reserved. +;* +;* This software component is licensed by ST under BSD 3-Clause license, +;* the "License"; You may not use this file except in compliance with the +;* License. You may obtain a copy of the License at: +;* opensource.org/licenses/BSD-3-Clause +;* +;****************************************************************************** + +; Amount of memory (in bytes) allocated for Stack +; Tailor this value to your application needs +; <h> Stack Configuration +; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; </h> + +Stack_Size EQU 0x400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +Stack_Mem SPACE Stack_Size +__initial_sp + + +; <h> Heap Configuration +; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; </h> + +Heap_Size EQU 0x200 + + 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 WWDG_IRQHandler ; Window WatchDog interrupt ( wwdg1_it) + DCD PVD_AVD_IRQHandler ; PVD/AVD through EXTI Line detection + DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line + DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line + DCD FLASH_IRQHandler ; FLASH + DCD RCC_IRQHandler ; RCC + DCD EXTI0_IRQHandler ; EXTI Line0 + DCD EXTI1_IRQHandler ; EXTI Line1 + DCD EXTI2_IRQHandler ; EXTI Line2 + DCD EXTI3_IRQHandler ; EXTI Line3 + DCD EXTI4_IRQHandler ; EXTI Line4 + DCD DMA1_Stream0_IRQHandler ; DMA1 Stream 0 + DCD DMA1_Stream1_IRQHandler ; DMA1 Stream 1 + DCD DMA1_Stream2_IRQHandler ; DMA1 Stream 2 + DCD DMA1_Stream3_IRQHandler ; DMA1 Stream 3 + DCD DMA1_Stream4_IRQHandler ; DMA1 Stream 4 + DCD DMA1_Stream5_IRQHandler ; DMA1 Stream 5 + DCD DMA1_Stream6_IRQHandler ; DMA1 Stream 6 + DCD ADC_IRQHandler ; ADC1, ADC2 + DCD FDCAN1_IT0_IRQHandler ; FDCAN1 interrupt line 0 + DCD FDCAN2_IT0_IRQHandler ; FDCAN2 interrupt line 0 + DCD FDCAN1_IT1_IRQHandler ; FDCAN1 interrupt line 1 + DCD FDCAN2_IT1_IRQHandler ; FDCAN2 interrupt line 1 + DCD EXTI9_5_IRQHandler ; External Line[9:5]s + DCD TIM1_BRK_IRQHandler ; TIM1 Break interrupt + DCD TIM1_UP_IRQHandler ; TIM1 Update Interrupt + DCD TIM1_TRG_COM_IRQHandler ; TIM1 Trigger and Commutation Interrupt + DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare + DCD TIM2_IRQHandler ; TIM2 + DCD TIM3_IRQHandler ; TIM3 + DCD TIM4_IRQHandler ; TIM4 + DCD I2C1_EV_IRQHandler ; I2C1 Event + DCD I2C1_ER_IRQHandler ; I2C1 Error + DCD I2C2_EV_IRQHandler ; I2C2 Event + DCD I2C2_ER_IRQHandler ; I2C2 Error + DCD SPI1_IRQHandler ; SPI1 + DCD SPI2_IRQHandler ; SPI2 + DCD USART1_IRQHandler ; USART1 + DCD USART2_IRQHandler ; USART2 + DCD USART3_IRQHandler ; USART3 + DCD EXTI15_10_IRQHandler ; External Line[15:10] + DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line + DCD 0 ; Reserved + DCD TIM8_BRK_TIM12_IRQHandler ; TIM8 Break Interrupt and TIM12 global interrupt + DCD TIM8_UP_TIM13_IRQHandler ; TIM8 Update Interrupt and TIM13 global interrupt + DCD TIM8_TRG_COM_TIM14_IRQHandler ; TIM8 Trigger and Commutation Interrupt and TIM14 global interrupt + DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare Interrupt + DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7 + DCD FMC_IRQHandler ; FMC + DCD SDMMC1_IRQHandler ; SDMMC1 + DCD TIM5_IRQHandler ; TIM5 + DCD SPI3_IRQHandler ; SPI3 + DCD UART4_IRQHandler ; UART4 + DCD UART5_IRQHandler ; UART5 + DCD TIM6_DAC_IRQHandler ; TIM6 and DAC1&2 underrun errors + DCD TIM7_IRQHandler ; TIM7 + DCD DMA2_Stream0_IRQHandler ; DMA2 Stream 0 + DCD DMA2_Stream1_IRQHandler ; DMA2 Stream 1 + DCD DMA2_Stream2_IRQHandler ; DMA2 Stream 2 + DCD DMA2_Stream3_IRQHandler ; DMA2 Stream 3 + DCD DMA2_Stream4_IRQHandler ; DMA2 Stream 4 + DCD ETH_IRQHandler ; Ethernet + DCD ETH_WKUP_IRQHandler ; Ethernet Wakeup through EXTI line + DCD FDCAN_CAL_IRQHandler ; FDCAN calibration unit interrupt + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD DMA2_Stream5_IRQHandler ; DMA2 Stream 5 + DCD DMA2_Stream6_IRQHandler ; DMA2 Stream 6 + DCD DMA2_Stream7_IRQHandler ; DMA2 Stream 7 + DCD USART6_IRQHandler ; USART6 + DCD I2C3_EV_IRQHandler ; I2C3 event + DCD I2C3_ER_IRQHandler ; I2C3 error + DCD OTG_HS_EP1_OUT_IRQHandler ; USB OTG HS End Point 1 Out + DCD OTG_HS_EP1_IN_IRQHandler ; USB OTG HS End Point 1 In + DCD OTG_HS_WKUP_IRQHandler ; USB OTG HS Wakeup through EXTI + DCD OTG_HS_IRQHandler ; USB OTG HS + DCD DCMI_IRQHandler ; DCMI + DCD 0 ; Reserved + DCD RNG_IRQHandler ; Rng + DCD FPU_IRQHandler ; FPU + DCD UART7_IRQHandler ; UART7 + DCD UART8_IRQHandler ; UART8 + DCD SPI4_IRQHandler ; SPI4 + DCD SPI5_IRQHandler ; SPI5 + DCD SPI6_IRQHandler ; SPI6 + DCD SAI1_IRQHandler ; SAI1 + DCD LTDC_IRQHandler ; LTDC + DCD LTDC_ER_IRQHandler ; LTDC error + DCD DMA2D_IRQHandler ; DMA2D + DCD SAI2_IRQHandler ; SAI2 + DCD QUADSPI_IRQHandler ; QUADSPI + DCD LPTIM1_IRQHandler ; LPTIM1 + DCD CEC_IRQHandler ; HDMI_CEC + DCD I2C4_EV_IRQHandler ; I2C4 Event + DCD I2C4_ER_IRQHandler ; I2C4 Error + DCD SPDIF_RX_IRQHandler ; SPDIF_RX + DCD OTG_FS_EP1_OUT_IRQHandler ; USB OTG FS End Point 1 Out + DCD OTG_FS_EP1_IN_IRQHandler ; USB OTG FS End Point 1 In + DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI + DCD OTG_FS_IRQHandler ; USB OTG FS + DCD DMAMUX1_OVR_IRQHandler ; DMAMUX1 Overrun interrupt + DCD HRTIM1_Master_IRQHandler ; HRTIM Master Timer global Interrupts + DCD HRTIM1_TIMA_IRQHandler ; HRTIM Timer A global Interrupt + DCD HRTIM1_TIMB_IRQHandler ; HRTIM Timer B global Interrupt + DCD HRTIM1_TIMC_IRQHandler ; HRTIM Timer C global Interrupt + DCD HRTIM1_TIMD_IRQHandler ; HRTIM Timer D global Interrupt + DCD HRTIM1_TIME_IRQHandler ; HRTIM Timer E global Interrupt + DCD HRTIM1_FLT_IRQHandler ; HRTIM Fault global Interrupt + DCD DFSDM1_FLT0_IRQHandler ; DFSDM Filter0 Interrupt + DCD DFSDM1_FLT1_IRQHandler ; DFSDM Filter1 Interrupt + DCD DFSDM1_FLT2_IRQHandler ; DFSDM Filter2 Interrupt + DCD DFSDM1_FLT3_IRQHandler ; DFSDM Filter3 Interrupt + DCD SAI3_IRQHandler ; SAI3 global Interrupt + DCD SWPMI1_IRQHandler ; Serial Wire Interface 1 global interrupt + DCD TIM15_IRQHandler ; TIM15 global Interrupt + DCD TIM16_IRQHandler ; TIM16 global Interrupt + DCD TIM17_IRQHandler ; TIM17 global Interrupt + DCD MDIOS_WKUP_IRQHandler ; MDIOS Wakeup Interrupt + DCD MDIOS_IRQHandler ; MDIOS global Interrupt + DCD JPEG_IRQHandler ; JPEG global Interrupt + DCD MDMA_IRQHandler ; MDMA global Interrupt + DCD 0 ; Reserved + DCD SDMMC2_IRQHandler ; SDMMC2 global Interrupt + DCD HSEM1_IRQHandler ; HSEM1 global Interrupt + DCD 0 ; Reserved + DCD ADC3_IRQHandler ; ADC3 global Interrupt + DCD DMAMUX2_OVR_IRQHandler ; DMAMUX Overrun interrupt + DCD BDMA_Channel0_IRQHandler ; BDMA Channel 0 global Interrupt + DCD BDMA_Channel1_IRQHandler ; BDMA Channel 1 global Interrupt + DCD BDMA_Channel2_IRQHandler ; BDMA Channel 2 global Interrupt + DCD BDMA_Channel3_IRQHandler ; BDMA Channel 3 global Interrupt + DCD BDMA_Channel4_IRQHandler ; BDMA Channel 4 global Interrupt + DCD BDMA_Channel5_IRQHandler ; BDMA Channel 5 global Interrupt + DCD BDMA_Channel6_IRQHandler ; BDMA Channel 6 global Interrupt + DCD BDMA_Channel7_IRQHandler ; BDMA Channel 7 global Interrupt + DCD COMP1_IRQHandler ; COMP1 global Interrupt + DCD LPTIM2_IRQHandler ; LP TIM2 global interrupt + DCD LPTIM3_IRQHandler ; LP TIM3 global interrupt + DCD LPTIM4_IRQHandler ; LP TIM4 global interrupt + DCD LPTIM5_IRQHandler ; LP TIM5 global interrupt + DCD LPUART1_IRQHandler ; LP UART1 interrupt + DCD 0 ; Reserved + DCD CRS_IRQHandler ; Clock Recovery Global Interrupt + DCD ECC_IRQHandler ; ECC diagnostic Global Interrupt + DCD SAI4_IRQHandler ; SAI4 global interrupt + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD WAKEUP_PIN_IRQHandler ; Interrupt for all 6 wake-up pins + + +__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 WWDG_IRQHandler [WEAK] + EXPORT PVD_AVD_IRQHandler [WEAK] + EXPORT TAMP_STAMP_IRQHandler [WEAK] + EXPORT RTC_WKUP_IRQHandler [WEAK] + EXPORT FLASH_IRQHandler [WEAK] + EXPORT RCC_IRQHandler [WEAK] + EXPORT EXTI0_IRQHandler [WEAK] + EXPORT EXTI1_IRQHandler [WEAK] + EXPORT EXTI2_IRQHandler [WEAK] + EXPORT EXTI3_IRQHandler [WEAK] + EXPORT EXTI4_IRQHandler [WEAK] + EXPORT DMA1_Stream0_IRQHandler [WEAK] + EXPORT DMA1_Stream1_IRQHandler [WEAK] + EXPORT DMA1_Stream2_IRQHandler [WEAK] + EXPORT DMA1_Stream3_IRQHandler [WEAK] + EXPORT DMA1_Stream4_IRQHandler [WEAK] + EXPORT DMA1_Stream5_IRQHandler [WEAK] + EXPORT DMA1_Stream6_IRQHandler [WEAK] + EXPORT DMA1_Stream7_IRQHandler [WEAK] + EXPORT ADC_IRQHandler [WEAK] + EXPORT FDCAN1_IT0_IRQHandler [WEAK] + EXPORT FDCAN2_IT0_IRQHandler [WEAK] + EXPORT FDCAN1_IT1_IRQHandler [WEAK] + EXPORT FDCAN2_IT1_IRQHandler [WEAK] + EXPORT EXTI9_5_IRQHandler [WEAK] + EXPORT TIM1_BRK_IRQHandler [WEAK] + EXPORT TIM1_UP_IRQHandler [WEAK] + EXPORT TIM1_TRG_COM_IRQHandler [WEAK] + EXPORT TIM1_CC_IRQHandler [WEAK] + EXPORT TIM2_IRQHandler [WEAK] + EXPORT TIM3_IRQHandler [WEAK] + EXPORT TIM4_IRQHandler [WEAK] + EXPORT I2C1_EV_IRQHandler [WEAK] + EXPORT I2C1_ER_IRQHandler [WEAK] + EXPORT I2C2_EV_IRQHandler [WEAK] + EXPORT I2C2_ER_IRQHandler [WEAK] + EXPORT SPI1_IRQHandler [WEAK] + EXPORT SPI2_IRQHandler [WEAK] + EXPORT USART1_IRQHandler [WEAK] + EXPORT USART2_IRQHandler [WEAK] + EXPORT USART3_IRQHandler [WEAK] + EXPORT EXTI15_10_IRQHandler [WEAK] + EXPORT RTC_Alarm_IRQHandler [WEAK] + EXPORT TIM8_BRK_TIM12_IRQHandler [WEAK] + EXPORT TIM8_UP_TIM13_IRQHandler [WEAK] + EXPORT TIM8_TRG_COM_TIM14_IRQHandler [WEAK] + EXPORT TIM8_CC_IRQHandler [WEAK] + EXPORT DMA1_Stream7_IRQHandler [WEAK] + EXPORT FMC_IRQHandler [WEAK] + EXPORT SDMMC1_IRQHandler [WEAK] + EXPORT TIM5_IRQHandler [WEAK] + EXPORT SPI3_IRQHandler [WEAK] + EXPORT UART4_IRQHandler [WEAK] + EXPORT UART5_IRQHandler [WEAK] + EXPORT TIM6_DAC_IRQHandler [WEAK] + EXPORT TIM7_IRQHandler [WEAK] + EXPORT DMA2_Stream0_IRQHandler [WEAK] + EXPORT DMA2_Stream1_IRQHandler [WEAK] + EXPORT DMA2_Stream2_IRQHandler [WEAK] + EXPORT DMA2_Stream3_IRQHandler [WEAK] + EXPORT DMA2_Stream4_IRQHandler [WEAK] + EXPORT ETH_IRQHandler [WEAK] + EXPORT ETH_WKUP_IRQHandler [WEAK] + EXPORT FDCAN_CAL_IRQHandler [WEAK] + EXPORT DMA2_Stream5_IRQHandler [WEAK] + EXPORT DMA2_Stream6_IRQHandler [WEAK] + EXPORT DMA2_Stream7_IRQHandler [WEAK] + EXPORT USART6_IRQHandler [WEAK] + EXPORT I2C3_EV_IRQHandler [WEAK] + EXPORT I2C3_ER_IRQHandler [WEAK] + EXPORT OTG_HS_EP1_OUT_IRQHandler [WEAK] + EXPORT OTG_HS_EP1_IN_IRQHandler [WEAK] + EXPORT OTG_HS_WKUP_IRQHandler [WEAK] + EXPORT OTG_HS_IRQHandler [WEAK] + EXPORT DCMI_IRQHandler [WEAK] + EXPORT RNG_IRQHandler [WEAK] + EXPORT FPU_IRQHandler [WEAK] + EXPORT UART7_IRQHandler [WEAK] + EXPORT UART8_IRQHandler [WEAK] + EXPORT SPI4_IRQHandler [WEAK] + EXPORT SPI5_IRQHandler [WEAK] + EXPORT SPI6_IRQHandler [WEAK] + EXPORT SAI1_IRQHandler [WEAK] + EXPORT LTDC_IRQHandler [WEAK] + EXPORT LTDC_ER_IRQHandler [WEAK] + EXPORT DMA2D_IRQHandler [WEAK] + EXPORT SAI2_IRQHandler [WEAK] + EXPORT QUADSPI_IRQHandler [WEAK] + EXPORT LPTIM1_IRQHandler [WEAK] + EXPORT CEC_IRQHandler [WEAK] + EXPORT I2C4_EV_IRQHandler [WEAK] + EXPORT I2C4_ER_IRQHandler [WEAK] + EXPORT SPDIF_RX_IRQHandler [WEAK] + EXPORT OTG_FS_EP1_OUT_IRQHandler [WEAK] + EXPORT OTG_FS_EP1_IN_IRQHandler [WEAK] + EXPORT OTG_FS_WKUP_IRQHandler [WEAK] + EXPORT OTG_FS_IRQHandler [WEAK] + EXPORT DMAMUX1_OVR_IRQHandler [WEAK] + EXPORT HRTIM1_Master_IRQHandler [WEAK] + EXPORT HRTIM1_TIMA_IRQHandler [WEAK] + EXPORT HRTIM1_TIMB_IRQHandler [WEAK] + EXPORT HRTIM1_TIMC_IRQHandler [WEAK] + EXPORT HRTIM1_TIMD_IRQHandler [WEAK] + EXPORT HRTIM1_TIME_IRQHandler [WEAK] + EXPORT HRTIM1_FLT_IRQHandler [WEAK] + EXPORT DFSDM1_FLT0_IRQHandler [WEAK] + EXPORT DFSDM1_FLT1_IRQHandler [WEAK] + EXPORT DFSDM1_FLT2_IRQHandler [WEAK] + EXPORT DFSDM1_FLT3_IRQHandler [WEAK] + EXPORT SAI3_IRQHandler [WEAK] + EXPORT SWPMI1_IRQHandler [WEAK] + EXPORT TIM15_IRQHandler [WEAK] + EXPORT TIM16_IRQHandler [WEAK] + EXPORT TIM17_IRQHandler [WEAK] + EXPORT MDIOS_WKUP_IRQHandler [WEAK] + EXPORT MDIOS_IRQHandler [WEAK] + EXPORT JPEG_IRQHandler [WEAK] + EXPORT MDMA_IRQHandler [WEAK] + EXPORT SDMMC2_IRQHandler [WEAK] + EXPORT HSEM1_IRQHandler [WEAK] + EXPORT ADC3_IRQHandler [WEAK] + EXPORT DMAMUX2_OVR_IRQHandler [WEAK] + EXPORT BDMA_Channel0_IRQHandler [WEAK] + EXPORT BDMA_Channel1_IRQHandler [WEAK] + EXPORT BDMA_Channel2_IRQHandler [WEAK] + EXPORT BDMA_Channel3_IRQHandler [WEAK] + EXPORT BDMA_Channel4_IRQHandler [WEAK] + EXPORT BDMA_Channel5_IRQHandler [WEAK] + EXPORT BDMA_Channel6_IRQHandler [WEAK] + EXPORT BDMA_Channel7_IRQHandler [WEAK] + EXPORT COMP1_IRQHandler [WEAK] + EXPORT LPTIM2_IRQHandler [WEAK] + EXPORT LPTIM3_IRQHandler [WEAK] + EXPORT LPTIM4_IRQHandler [WEAK] + EXPORT LPTIM5_IRQHandler [WEAK] + EXPORT LPUART1_IRQHandler [WEAK] + EXPORT CRS_IRQHandler [WEAK] + EXPORT ECC_IRQHandler [WEAK] + EXPORT SAI4_IRQHandler [WEAK] + EXPORT WAKEUP_PIN_IRQHandler [WEAK] + + +WWDG_IRQHandler +PVD_AVD_IRQHandler +TAMP_STAMP_IRQHandler +RTC_WKUP_IRQHandler +FLASH_IRQHandler +RCC_IRQHandler +EXTI0_IRQHandler +EXTI1_IRQHandler +EXTI2_IRQHandler +EXTI3_IRQHandler +EXTI4_IRQHandler +DMA1_Stream0_IRQHandler +DMA1_Stream1_IRQHandler +DMA1_Stream2_IRQHandler +DMA1_Stream3_IRQHandler +DMA1_Stream4_IRQHandler +DMA1_Stream5_IRQHandler +DMA1_Stream6_IRQHandler +ADC_IRQHandler +FDCAN1_IT0_IRQHandler +FDCAN2_IT0_IRQHandler +FDCAN1_IT1_IRQHandler +FDCAN2_IT1_IRQHandler +EXTI9_5_IRQHandler +TIM1_BRK_IRQHandler +TIM1_UP_IRQHandler +TIM1_TRG_COM_IRQHandler +TIM1_CC_IRQHandler +TIM2_IRQHandler +TIM3_IRQHandler +TIM4_IRQHandler +I2C1_EV_IRQHandler +I2C1_ER_IRQHandler +I2C2_EV_IRQHandler +I2C2_ER_IRQHandler +SPI1_IRQHandler +SPI2_IRQHandler +USART1_IRQHandler +USART2_IRQHandler +USART3_IRQHandler +EXTI15_10_IRQHandler +RTC_Alarm_IRQHandler +TIM8_BRK_TIM12_IRQHandler +TIM8_UP_TIM13_IRQHandler +TIM8_TRG_COM_TIM14_IRQHandler +TIM8_CC_IRQHandler +DMA1_Stream7_IRQHandler +FMC_IRQHandler +SDMMC1_IRQHandler +TIM5_IRQHandler +SPI3_IRQHandler +UART4_IRQHandler +UART5_IRQHandler +TIM6_DAC_IRQHandler +TIM7_IRQHandler +DMA2_Stream0_IRQHandler +DMA2_Stream1_IRQHandler +DMA2_Stream2_IRQHandler +DMA2_Stream3_IRQHandler +DMA2_Stream4_IRQHandler +ETH_IRQHandler +ETH_WKUP_IRQHandler +FDCAN_CAL_IRQHandler +DMA2_Stream5_IRQHandler +DMA2_Stream6_IRQHandler +DMA2_Stream7_IRQHandler +USART6_IRQHandler +I2C3_EV_IRQHandler +I2C3_ER_IRQHandler +OTG_HS_EP1_OUT_IRQHandler +OTG_HS_EP1_IN_IRQHandler +OTG_HS_WKUP_IRQHandler +OTG_HS_IRQHandler +DCMI_IRQHandler +RNG_IRQHandler +FPU_IRQHandler +UART7_IRQHandler +UART8_IRQHandler +SPI4_IRQHandler +SPI5_IRQHandler +SPI6_IRQHandler +SAI1_IRQHandler +LTDC_IRQHandler +LTDC_ER_IRQHandler +DMA2D_IRQHandler +SAI2_IRQHandler +QUADSPI_IRQHandler +LPTIM1_IRQHandler +CEC_IRQHandler +I2C4_EV_IRQHandler +I2C4_ER_IRQHandler +SPDIF_RX_IRQHandler +OTG_FS_EP1_OUT_IRQHandler +OTG_FS_EP1_IN_IRQHandler +OTG_FS_WKUP_IRQHandler +OTG_FS_IRQHandler +DMAMUX1_OVR_IRQHandler +HRTIM1_Master_IRQHandler +HRTIM1_TIMA_IRQHandler +HRTIM1_TIMB_IRQHandler +HRTIM1_TIMC_IRQHandler +HRTIM1_TIMD_IRQHandler +HRTIM1_TIME_IRQHandler +HRTIM1_FLT_IRQHandler +DFSDM1_FLT0_IRQHandler +DFSDM1_FLT1_IRQHandler +DFSDM1_FLT2_IRQHandler +DFSDM1_FLT3_IRQHandler +SAI3_IRQHandler +SWPMI1_IRQHandler +TIM15_IRQHandler +TIM16_IRQHandler +TIM17_IRQHandler +MDIOS_WKUP_IRQHandler +MDIOS_IRQHandler +JPEG_IRQHandler +MDMA_IRQHandler +SDMMC2_IRQHandler +HSEM1_IRQHandler +ADC3_IRQHandler +DMAMUX2_OVR_IRQHandler +BDMA_Channel0_IRQHandler +BDMA_Channel1_IRQHandler +BDMA_Channel2_IRQHandler +BDMA_Channel3_IRQHandler +BDMA_Channel4_IRQHandler +BDMA_Channel5_IRQHandler +BDMA_Channel6_IRQHandler +BDMA_Channel7_IRQHandler +COMP1_IRQHandler +LPTIM2_IRQHandler +LPTIM3_IRQHandler +LPTIM4_IRQHandler +LPTIM5_IRQHandler +LPUART1_IRQHandler +CRS_IRQHandler +ECC_IRQHandler +SAI4_IRQHandler +WAKEUP_PIN_IRQHandler + + B . + + ENDP + + ALIGN + +;******************************************************************************* +; User Stack and Heap initialization +;******************************************************************************* + 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 + +;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE***** diff --git a/lexicon.txt b/lexicon.txt index f3574d543..fe87f51d0 100644 --- a/lexicon.txt +++ b/lexicon.txt @@ -64,6 +64,7 @@ ascii asf asm asn +aspr ast async atmega @@ -818,6 +819,7 @@ fpga fpidiv fprintf fpu +fpscr fr framming france @@ -1235,6 +1237,7 @@ lsb lserialputstring lsize lsl +lsls lsr lstringlength ltd @@ -3130,6 +3133,7 @@ vbuttonisrhandler vcellularconnecttask vcellulardemotask vclearemactxbuffer +vcmp vconfiguretimerforruntimestats vcore vcreatesuicidaltask @@ -3183,6 +3187,7 @@ vmaindeleteme vmainpoststopprocessing vmemchecktask vmov +vmrs vodafone votademotask vpartestinitialise |