From 112230b803f819745141b63d141262dc6d43465c Mon Sep 17 00:00:00 2001 From: Schrom01 Date: Fri, 21 Oct 2022 09:52:24 +0200 Subject: [PATCH] solved Task 1 --- CTP_ArithmOperations_en.pdf | Bin 104248 -> 110814 bytes sum_diff/EventRecorderStub.scvd | 9 + .../.datainit_ctboard.s@4.0.1 | 100 + .../CT_Board_HS14_M0/.startup_ctboard.s@4.0.1 | 439 ++ .../CT_Board_HS14_M0/.system_ctboard.c@4.0.1 | 290 ++ .../CT_Board_HS14_M0/datainit_ctboard.s | 100 + .../Device/CT_Board_HS14_M0/startup_ctboard.s | 439 ++ .../Device/CT_Board_HS14_M0/system_ctboard.c | 290 ++ .../RTE/HAL/CT_Board_HS14_M0/.hal_fmc.c@3.0.1 | 143 + .../HAL/CT_Board_HS14_M0/.hal_gpio.c@4.0.1 | 412 ++ .../RTE/HAL/CT_Board_HS14_M0/.hal_pwr.c@2.2.0 | 132 + .../RTE/HAL/CT_Board_HS14_M0/.hal_rcc.c@4.0.1 | 347 ++ sum_diff/RTE/HAL/CT_Board_HS14_M0/hal_fmc.c | 143 + sum_diff/RTE/HAL/CT_Board_HS14_M0/hal_gpio.c | 412 ++ sum_diff/RTE/HAL/CT_Board_HS14_M0/hal_pwr.c | 132 + sum_diff/RTE/HAL/CT_Board_HS14_M0/hal_rcc.c | 347 ++ sum_diff/RTE/_Target_1/RTE_Components.h | 15 + sum_diff/app/sumdiff.s | 30 +- sum_diff/build/ExtDll.iex | 2 + sum_diff/build/datainit_ctboard.d | 1 + sum_diff/build/datainit_ctboard.lst | 372 ++ sum_diff/build/datainit_ctboard.o | Bin 0 -> 2736 bytes sum_diff/build/hal_fmc.d | 5 + sum_diff/build/hal_fmc.o | Bin 0 -> 6548 bytes sum_diff/build/hal_gpio.d | 5 + sum_diff/build/hal_gpio.o | Bin 0 -> 19720 bytes sum_diff/build/hal_pwr.d | 5 + sum_diff/build/hal_pwr.o | Bin 0 -> 4896 bytes sum_diff/build/hal_rcc.d | 5 + sum_diff/build/hal_rcc.o | Bin 0 -> 10072 bytes sum_diff/build/startup_ctboard.d | 1 + sum_diff/build/startup_ctboard.lst | 2074 ++++++++++ sum_diff/build/startup_ctboard.o | Bin 0 -> 8184 bytes sum_diff/build/sum_diff.axf | Bin 0 -> 46056 bytes sum_diff/build/sum_diff.build_log.htm | 97 + sum_diff/build/sum_diff.htm | 612 +++ sum_diff/build/sum_diff.lnp | 13 + sum_diff/build/sum_diff.map | 363 ++ sum_diff/build/sum_diff.sct | 16 + sum_diff/build/sum_diff_Target 1.dep | 36 + sum_diff/build/sumdiff.d | 1 + sum_diff/build/sumdiff.lst | 232 ++ sum_diff/build/sumdiff.o | Bin 0 -> 2092 bytes sum_diff/build/system_ctboard.d | 11 + sum_diff/build/system_ctboard.o | Bin 0 -> 11600 bytes sum_diff/sum_diff.uvguix.roman | 3628 +++++++++++++++++ sum_diff/sum_diff.uvoptx | 26 +- 47 files changed, 11281 insertions(+), 4 deletions(-) create mode 100644 sum_diff/EventRecorderStub.scvd create mode 100644 sum_diff/RTE/Device/CT_Board_HS14_M0/.datainit_ctboard.s@4.0.1 create mode 100644 sum_diff/RTE/Device/CT_Board_HS14_M0/.startup_ctboard.s@4.0.1 create mode 100644 sum_diff/RTE/Device/CT_Board_HS14_M0/.system_ctboard.c@4.0.1 create mode 100644 sum_diff/RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s create mode 100644 sum_diff/RTE/Device/CT_Board_HS14_M0/startup_ctboard.s create mode 100644 sum_diff/RTE/Device/CT_Board_HS14_M0/system_ctboard.c create mode 100644 sum_diff/RTE/HAL/CT_Board_HS14_M0/.hal_fmc.c@3.0.1 create mode 100644 sum_diff/RTE/HAL/CT_Board_HS14_M0/.hal_gpio.c@4.0.1 create mode 100644 sum_diff/RTE/HAL/CT_Board_HS14_M0/.hal_pwr.c@2.2.0 create mode 100644 sum_diff/RTE/HAL/CT_Board_HS14_M0/.hal_rcc.c@4.0.1 create mode 100644 sum_diff/RTE/HAL/CT_Board_HS14_M0/hal_fmc.c create mode 100644 sum_diff/RTE/HAL/CT_Board_HS14_M0/hal_gpio.c create mode 100644 sum_diff/RTE/HAL/CT_Board_HS14_M0/hal_pwr.c create mode 100644 sum_diff/RTE/HAL/CT_Board_HS14_M0/hal_rcc.c create mode 100644 sum_diff/RTE/_Target_1/RTE_Components.h create mode 100644 sum_diff/build/ExtDll.iex create mode 100644 sum_diff/build/datainit_ctboard.d create mode 100644 sum_diff/build/datainit_ctboard.lst create mode 100644 sum_diff/build/datainit_ctboard.o create mode 100644 sum_diff/build/hal_fmc.d create mode 100644 sum_diff/build/hal_fmc.o create mode 100644 sum_diff/build/hal_gpio.d create mode 100644 sum_diff/build/hal_gpio.o create mode 100644 sum_diff/build/hal_pwr.d create mode 100644 sum_diff/build/hal_pwr.o create mode 100644 sum_diff/build/hal_rcc.d create mode 100644 sum_diff/build/hal_rcc.o create mode 100644 sum_diff/build/startup_ctboard.d create mode 100644 sum_diff/build/startup_ctboard.lst create mode 100644 sum_diff/build/startup_ctboard.o create mode 100644 sum_diff/build/sum_diff.axf create mode 100644 sum_diff/build/sum_diff.build_log.htm create mode 100644 sum_diff/build/sum_diff.htm create mode 100644 sum_diff/build/sum_diff.lnp create mode 100644 sum_diff/build/sum_diff.map create mode 100644 sum_diff/build/sum_diff.sct create mode 100644 sum_diff/build/sum_diff_Target 1.dep create mode 100644 sum_diff/build/sumdiff.d create mode 100644 sum_diff/build/sumdiff.lst create mode 100644 sum_diff/build/sumdiff.o create mode 100644 sum_diff/build/system_ctboard.d create mode 100644 sum_diff/build/system_ctboard.o create mode 100644 sum_diff/sum_diff.uvguix.roman diff --git a/CTP_ArithmOperations_en.pdf b/CTP_ArithmOperations_en.pdf index aa945899f8dc0de2215146da55b4c72037dc4360..8cc52fc37813940f11d81c076b6d9261073fb5bb 100644 GIT binary patch delta 17420 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 N`7jt5WYlCa{vS*yIS~K= delta 10603 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 z zXt@zszqIW6`KMiNAX-TcZCwiYh)z~*hJby?akx!<37gP-qfodIkY){~OkpT+BlwKp zIU0R&!Dfxdm*k@C`UzPF(@*ca%{M$+z<2fZ$=nYqX~~&02aEYevJ$SP(svK1INd_o zlRQV+Q4z9w2WbW2d#z~4h#-3+al2LoArKAze;E>l{pXz2md+nExHY!|zhzH%3<(NH z{0wtexP;}&sF+AM%UI$B4*CD{<94o(i0%B~N12}tPDoh) z$&Wl+Dc@fhTo(M(a_@(U0hGjun(iKk{QKU5ZD%1tdrl z#khyjh^YU4dlB~aUsxO-d7QQh$gFw?Dh+mQ(WiFpK3wH^Ly|V1PHdmZ-9-FL)#$fj zI4R86cgKbl$$a%f*CUF*n!Q_E%BPo^?-YVj4Vkd}!>=cdSLSO9r+q|qv&QyVMSiHX zYXLWu!wM)^*;p3z%g7e*cRFGF3b|8a1R#D|Dik&AIS0LjUoVYKo3j@`Bb7j~G25H6 z8hjql%QiQpjo_o*c8$={OVP=ooLk+=*lVB+W zFv1vo-zewt0n(deY`H25q|e+tL1kfzcxjJh)6{e-dPiBfd~~zze@eC%Mk7U>)Rh7oE;QA zyewTUpxcTFkF+{}>i@O-cm2QV`Y$GI=C_67B|rY(&pHPwh-MdOycN0Lo~KH3y@T7| zh@-0Dq7b7d%3^!Y14Ib%H;07yt3QI?)89GnfjY%bf_v7UY9EP4KuBpRk8lQR(oy5N zMQvzutyYvp=?qrL_PsE?GB>+L1pF4v`NVeLo-@aPh6a(@Dt-Ic8_%WaMp}HJA}a}g zV(@JEEAx)rFvVq28dY;r$ocCbox+%`m+yq1Klte&D_;X<5X9(%jVMHy0qmI zaGKtSS47aw^ z9OoIijTSLSy{i*?cEYj9)Qyb;|C;+!h|@t~;m1P}?K;>7xh9IXhJz7?gX81ti%9y! zf0lB}>fmqc#=d+NXdqcjQ9nv-R`#57h!^Tf{ac|P!yXp>y;ARw;yei9)bmG09(&4Ua9cx|F7&HvY06h+BT|CDyL)CB$!uh>)42Z11Vi~9Z#sy(zE diff --git a/sum_diff/EventRecorderStub.scvd b/sum_diff/EventRecorderStub.scvd new file mode 100644 index 0000000..2956b29 --- /dev/null +++ b/sum_diff/EventRecorderStub.scvd @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/sum_diff/RTE/Device/CT_Board_HS14_M0/.datainit_ctboard.s@4.0.1 b/sum_diff/RTE/Device/CT_Board_HS14_M0/.datainit_ctboard.s@4.0.1 new file mode 100644 index 0000000..d891d1a --- /dev/null +++ b/sum_diff/RTE/Device/CT_Board_HS14_M0/.datainit_ctboard.s@4.0.1 @@ -0,0 +1,100 @@ +;* ------------------------------------------------------------------ +;* -- _____ ______ _____ - +;* -- |_ _| | ____|/ ____| - +;* -- | | _ __ | |__ | (___ Institute of Embedded Systems - +;* -- | | | '_ \| __| \___ \ Zurich University of - +;* -- _| |_| | | | |____ ____) | Applied Sciences - +;* -- |_____|_| |_|______|_____/ 8401 Winterthur, Switzerland - +;* ------------------------------------------------------------------ +;* -- +;* -- Project : CT Board - Cortex M4 +;* -- Description : Data Segment initialisation. +;* -- +;* -- $Id$ +;* ------------------------------------------------------------------ + + +; ------------------------------------------------------------------- +; -- __Main +; ------------------------------------------------------------------- + + AREA |.text|, CODE, READONLY + + IMPORT main + + EXPORT __main + +__main PROC + + ; initialize RW and ZI data - this includes heap and stack for the -ro=... -rw=... -entry=... linking cmd args... + IMPORT |Image$$RO$$Limit| [WEAK] + IMPORT |Image$$RW$$Base| [WEAK] + IMPORT |Image$$ZI$$Base| [WEAK] + IMPORT |Image$$ZI$$Limit| [WEAK] + ; ...or from auto generated scatter file. Needs linker option: --diag_suppress 6314 + IMPORT |Image$$ER_IROM1$$Limit| [WEAK] + IMPORT |Image$$RW_IRAM1$$Base| [WEAK] + IMPORT |Image$$RW_IRAM1$$ZI$$Base| [WEAK] + IMPORT |Image$$RW_IRAM1$$ZI$$Limit| [WEAK] + ; import stack parameter + IMPORT Stack_Size [WEAK] + IMPORT Stack_Mem [WEAK] + + ; switch between command line generated regions and auto scatter file generated regions + LDR R1, =|Image$$RO$$Limit| + CMP R1,#0 + BEQ ScatterFileSymbols +CommandLineSymbols + LDR R2, =|Image$$RW$$Base| ; start of the RW data in RAM + LDR R3, =|Image$$ZI$$Base| ; end of the RW data in RAM + MOV R5, R3 ; start of zero initialized data + LDR R6, =|Image$$ZI$$Limit| ; end of zero initialized data + B CondRWLoop +ScatterFileSymbols + LDR R1, =|Image$$ER_IROM1$$Limit| ; start of flashed initial RW data + LDR R2, =|Image$$RW_IRAM1$$Base| ; start of the RW data in RAM + LDR R3, =|Image$$RW_IRAM1$$ZI$$Base| ; end of the RW data in RAM + MOV R5, R3 ; start of zero initialized data + LDR R6, =|Image$$RW_IRAM1$$ZI$$Limit| ; end of zero initialized data + B CondRWLoop + + ; init non-zero data +LoopRWCopy LDR R4, [R1] + STR R4, [R2] + ADDS R1, R1, #4 + ADDS R2, R2, #4 +CondRWLoop CMP R2, R3 + BNE LoopRWCopy + + ; init zero-initialized data + MOV R2, R5 + MOV R3, R6 + MOVS R4, #0 + B CondZILoop +LoopZICopy STR R4, [R2] + ADDS R2, R2, #4 +CondZILoop CMP R2, R3 + BNE LoopZICopy + + ; fingerprint stack section + LDR R0, =Stack_Mem + LDR R1, =Stack_Size + LDR R2, =0xEFBEADDE ; stack fingerprint (little endian!) +LoopStack STR R2, [R0] + ADDS R0, R0, #4 + SUBS R1, #4 + BNE LoopStack + + ; go to the user main function + LDR R0, =main + BX R0 + ENDP + + +; ------------------------------------------------------------------- +; -- End of file +; ------------------------------------------------------------------- + + ALIGN + + END diff --git a/sum_diff/RTE/Device/CT_Board_HS14_M0/.startup_ctboard.s@4.0.1 b/sum_diff/RTE/Device/CT_Board_HS14_M0/.startup_ctboard.s@4.0.1 new file mode 100644 index 0000000..fd8a0f9 --- /dev/null +++ b/sum_diff/RTE/Device/CT_Board_HS14_M0/.startup_ctboard.s@4.0.1 @@ -0,0 +1,439 @@ +;******************** (C) COPYRIGHT 2013 STMicroelectronics ******************** +;* File Name : startup_stm32f429_439xx.s +;* Author : MCD Application Team +;* Version : V1.3.0 +;* Date : 08-November-2013 +;* Description : STM32F429xx/439xx 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 +;* - Configure the system clock and the external SRAM/SDRAM mounted +;* on STM324x9I-EVAL boards to be used as data memory +;* (optional, to be enabled by user) +;* - Branches to __main in the C library (which eventually +;* calls main()). +;* After Reset the CortexM4 processor is in Thread mode, +;* priority is Privileged, and the Stack is set to Main. +;* <<< Use Configuration Wizard in Context Menu >>> +;******************************************************************************* +; +; Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); +; You may not use this file except in compliance with the License. +; You may obtain a copy of the License at: +; +; http://www.st.com/software_license_agreement_liberty_v2 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. +; +;******************************************************************************* + +; Amount of memory (in bytes) allocated for Stack +; Tailor this value to your application needs +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00002000 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 + EXPORT Stack_Size + EXPORT Stack_Mem + +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000800 + + 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 + DCD PVD_IRQHandler ; PVD 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 and ADC3s + DCD CAN1_TX_IRQHandler ; CAN1 TX + DCD CAN1_RX0_IRQHandler ; CAN1 RX0 + DCD CAN1_RX1_IRQHandler ; CAN1 RX1 + DCD CAN1_SCE_IRQHandler ; CAN1 SCE + DCD EXTI9_5_IRQHandler ; External Line[9:5]s + DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9 + DCD TIM1_UP_TIM10_IRQHandler ; TIM1 Update and TIM10 + DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11 + 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]s + DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line + DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI line + DCD TIM8_BRK_TIM12_IRQHandler ; TIM8 Break and TIM12 + DCD TIM8_UP_TIM13_IRQHandler ; TIM8 Update and TIM13 + DCD TIM8_TRG_COM_TIM14_IRQHandler ; TIM8 Trigger and Commutation and TIM14 + DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare + DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7 + DCD FMC_IRQHandler ; FMC + DCD SDIO_IRQHandler ; SDIO + 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 CAN2_TX_IRQHandler ; CAN2 TX + DCD CAN2_RX0_IRQHandler ; CAN2 RX0 + DCD CAN2_RX1_IRQHandler ; CAN2 RX1 + DCD CAN2_SCE_IRQHandler ; CAN2 SCE + DCD OTG_FS_IRQHandler ; USB OTG FS + 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 CRYP_IRQHandler ; CRYP crypto + DCD HASH_RNG_IRQHandler ; Hash and 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 + +__Vectors_End + +__Vectors_Size EQU __Vectors_End - __Vectors + + AREA |.text|, CODE, READONLY + +; Reset handler +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT __system + IMPORT __main + ENTRY + + LDR R0, =__system + 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_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 ADC_IRQHandler [WEAK] + EXPORT CAN1_TX_IRQHandler [WEAK] + EXPORT CAN1_RX0_IRQHandler [WEAK] + EXPORT CAN1_RX1_IRQHandler [WEAK] + EXPORT CAN1_SCE_IRQHandler [WEAK] + EXPORT EXTI9_5_IRQHandler [WEAK] + EXPORT TIM1_BRK_TIM9_IRQHandler [WEAK] + EXPORT TIM1_UP_TIM10_IRQHandler [WEAK] + EXPORT TIM1_TRG_COM_TIM11_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 OTG_FS_WKUP_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 SDIO_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 CAN2_TX_IRQHandler [WEAK] + EXPORT CAN2_RX0_IRQHandler [WEAK] + EXPORT CAN2_RX1_IRQHandler [WEAK] + EXPORT CAN2_SCE_IRQHandler [WEAK] + EXPORT OTG_FS_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 CRYP_IRQHandler [WEAK] + EXPORT HASH_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] + +WWDG_IRQHandler +PVD_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 +CAN1_TX_IRQHandler +CAN1_RX0_IRQHandler +CAN1_RX1_IRQHandler +CAN1_SCE_IRQHandler +EXTI9_5_IRQHandler +TIM1_BRK_TIM9_IRQHandler +TIM1_UP_TIM10_IRQHandler +TIM1_TRG_COM_TIM11_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 +OTG_FS_WKUP_IRQHandler +TIM8_BRK_TIM12_IRQHandler +TIM8_UP_TIM13_IRQHandler +TIM8_TRG_COM_TIM14_IRQHandler +TIM8_CC_IRQHandler +DMA1_Stream7_IRQHandler +FMC_IRQHandler +SDIO_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 +CAN2_TX_IRQHandler +CAN2_RX0_IRQHandler +CAN2_RX1_IRQHandler +CAN2_SCE_IRQHandler +OTG_FS_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 +CRYP_IRQHandler +HASH_RNG_IRQHandler +FPU_IRQHandler +UART7_IRQHandler +UART8_IRQHandler +SPI4_IRQHandler +SPI5_IRQHandler +SPI6_IRQHandler +SAI1_IRQHandler +LTDC_IRQHandler +LTDC_ER_IRQHandler +DMA2D_IRQHandler + B . + + ENDP + + ALIGN + + END + +;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE***** diff --git a/sum_diff/RTE/Device/CT_Board_HS14_M0/.system_ctboard.c@4.0.1 b/sum_diff/RTE/Device/CT_Board_HS14_M0/.system_ctboard.c@4.0.1 new file mode 100644 index 0000000..58c804c --- /dev/null +++ b/sum_diff/RTE/Device/CT_Board_HS14_M0/.system_ctboard.c@4.0.1 @@ -0,0 +1,290 @@ +/* ---------------------------------------------------------------------------- + * -- _____ ______ _____ - + * -- |_ _| | ____|/ ____| - + * -- | | _ __ | |__ | (___ Institute of Embedded Systems - + * -- | | | '_ \| __| \___ \ Zurich University of - + * -- _| |_| | | | |____ ____) | Applied Sciences - + * -- |_____|_| |_|______|_____/ 8401 Winterthur, Switzerland - + * ------------------------------------------------------------------------- */ +/** + * \brief Interface of module system_ctboard. + * Description : Basic system configuration. + * * initialize system clock + * * initialize FMC (SRAM & GPIO) + * + * GPIO FMC pin assignment: + * + * PD0 > FMC_D2 | PE0 > FMC_NBL0 | PF0 > FMC_A0 | PG0 > FMC_A10 + * PD1 > FMC_D3 | PE1 > FMC_NBL1 | PF1 > FMC_A1 | PG1 > FMC_A11 + * PD3 > FMC_CLK | PE2 > FMC_A23 | PF2 > FMC_A2 | PG2 > FMC_A12 + * PD4 > FMC_NOE | PE3 > FMC_A19 | PF3 > FMC_A3 | PG3 > FMC_A13 + * PD5 > FMC_NWE | PE4 > FMC_A20 | PF4 > FMC_A4 | PG4 > FMC_A14 + * PD6 > FMC_WAIT | PE5 > FMC_A21 | PF5 > FMC_A5 | PG5 > FMC_A15 + * PD7 > FMC_NE1 | PE6 > FMC_A22 | PF12 > FMC_A6 | PG9 > FMC_NE2 + * PD8 > FMC_D13 | PE7 > FMC_D4 | PF13 > FMC_A7 | PG10 > FMC_NE3 + * PD9 > FMC_D14 | PE8 > FMC_D5 | PF14 > FMC_A8 | PG12 > FMC_NE4 + * PD10 > FMC_A15 | PE9 > FMC_D6 | PF15 > FMC_A9 | PG13 > FMC_A24 + * PD11 > FMC_A16 | PE10 > FMC_D7 | | + * PD12 > FMC_A17 | PE11 > FMC_D8 | | + * PD13 > FMC_A18 | PE12 > FMC_D9 | | + * PD14 > FMC_D0 | PE13 > FMC_D10 | | + * PD15 > FMC_D1 | PE14 > FMC_D11 | | + * | PE15 > FMC_D12 | | + * + * $Id$ + * ------------------------------------------------------------------------- */ + +/* Standard includes */ +#include + + +/* User includes */ +#include "system_ctboard.h" +#include "reg_stm32f4xx.h" +#include "reg_ctboard.h" + + +/* -- Macros (LCD) + * ------------------------------------------------------------------------- */ + +#define LCD_WAIT 0x1fff + + +/* -- Macros (FMC) + * ------------------------------------------------------------------------- */ + +#define FMC_PORTD_PINMASK 0xfffb +#define FMC_PORTE_PINMASK 0xffff +#define FMC_PORTF_PINMASK 0xf03f +#define FMC_PORTG_PINMASK 0x363f + + +/* -- Local function declarations + * ------------------------------------------------------------------------- */ + +static void init_SystemClock(void); +static void init_FPU(void); +static void init_FMC_SRAM(void); +static void init_LCD(void); + + +/* -- Public function definitions + * ------------------------------------------------------------------------- */ + +/** + * \brief Entry point used in startup. + */ +void __system(void) +{ + system_enter_run(); +} + + +/* + * See header files + */ +void system_enter_run(void) +{ + /* Initialize RCC / system clock */ + init_SystemClock(); + + /* Iitialize FPU */ + init_FPU(); + + /* Initialize SRAM interface */ + init_FMC_SRAM(); + + /* Initialize LCD on CT-Board */ + init_LCD(); +} + + +/* + * See header file + */ +void system_enter_sleep(hal_pwr_lp_entry_t entry) +{ + /** \note Implement this function if needed. */ +} + + +/* + * See header file + */ +void system_enter_stop(hal_pwr_regulator_t regulator, hal_pwr_lp_entry_t entry) +{ + /** \note Implement this function if needed. */ +} + + +/* + * See header file + */ +void system_enter_standby(void) +{ + /** \note Implement this function if needed. */ +} + + +/* -- Local function definitions + * ------------------------------------------------------------------------- */ + +/** + * \brief Configures the System clock source, PLL Multiplier and Divider + * factors, AHB/APBx prescalers and Flash settings. + */ +static void init_SystemClock(void) +{ + hal_rcc_pll_init_t pll_init; + hal_rcc_clk_init_t clk_init; + + /* Enable used periphery */ + PWR_ENABLE(); + + /* Reset */ + hal_rcc_reset(); + PWR_RESET(); + + /* Enable HSE oscillator and proceed if ok */ + if (hal_rcc_set_osc(HAL_RCC_OSC_HSE, ENABLE)) { + /* Select regulator voltage output Scale 1 mode */ + RCC->APB1ENR |= 0x00000000; + PWR->CR |= 0x0000c000; + + /* Configure PLL */ + pll_init.source = HAL_RCC_OSC_HSE; + pll_init.m_divider = 4u; + pll_init.n_factor = 168u; + pll_init.p_divider = 2u; + pll_init.q_divider = 7u; + hal_rcc_setup_pll(HAL_RCC_OSC_PLL, pll_init); + + /* Enable PLL */ + hal_rcc_set_osc(HAL_RCC_OSC_PLL, ENABLE); + + /* Enable overdrive to allow system clock >= 168 MHz */ + hal_pwr_set_overdrive(ENABLE); + + /* Configure Flash prefetch, Instruction cache, Data cache + * and wait state */ + FLASH->ACR = 0x00000705; + + /* Setup system clock */ + clk_init.osc = HAL_RCC_OSC_PLL; + clk_init.hpre = HAL_RCC_HPRE_2; // -> AHB clock : 84 MHz + clk_init.ppre1 = HAL_RCC_PPRE_2; // -> APB1 clock : 48 MHz + clk_init.ppre2 = HAL_RCC_PPRE_2; // -> APB2 clock : 48 MHz + hal_rcc_setup_clock(clk_init); + + } else { + /* If HSE fails to start-up, the application will have wrong clock con- + figuration. User can add here some code to deal with this error */ + } +} + + +/** + * \brief Initialize the floating point unit in M4 mode. + */ +static void init_FPU(void) +{ +#ifdef PLATFORM_M4 + /* No documentation about this, even the registers... */ + + /* set CP10 and CP11 Full Access */ + FPU->CPACR |= ((3u << 20u)|(3u << 22u)); +#endif +} + + +/** + * \brief Setup the flexible memory controller. This function configures the SRAM + * interface for accessing the periphery on the CT Board. + */ +static void init_FMC_SRAM(void) +{ +#ifndef NO_FMC + + hal_gpio_output_t gpio_init; + hal_fmc_sram_init_t sram_init; + hal_fmc_sram_timing_t sram_timing; + + /* Enable used peripherals */ + GPIOD_ENABLE(); + GPIOE_ENABLE(); + GPIOF_ENABLE(); + GPIOG_ENABLE(); + FMC_ENABLE(); + + /* Configure the involved GPIO pins to AF12 (FMC) */ + gpio_init.pupd = HAL_GPIO_PUPD_NOPULL; + gpio_init.out_speed = HAL_GPIO_OUT_SPEED_50MHZ; + gpio_init.out_type = HAL_GPIO_OUT_TYPE_PP; + + /* GPIOD configuration (pins: 0,1,3-15) */ + gpio_init.pins = FMC_PORTD_PINMASK; + hal_gpio_init_alternate(GPIOD, HAL_GPIO_AF_FMC, gpio_init); + + /* GPIOE configuration (pins: 0-15) */ + gpio_init.pins = FMC_PORTE_PINMASK; + hal_gpio_init_alternate(GPIOE, HAL_GPIO_AF_FMC, gpio_init); + + /* GPIOF configuration (pins: 0-5,12-15) */ + gpio_init.pins = FMC_PORTF_PINMASK; + hal_gpio_init_alternate(GPIOF, HAL_GPIO_AF_FMC, gpio_init); + + /* GPIOG configuration (pins: 1-5, 9, 10, 12, 13) */ + gpio_init.pins = FMC_PORTG_PINMASK; + hal_gpio_init_alternate(GPIOG, HAL_GPIO_AF_FMC, gpio_init); + + + /* Initialize the synchronous PSRAM on bank 1 */ + sram_init.address_mux = DISABLE; + sram_init.type = HAL_FMC_TYPE_PSRAM; + sram_init.width = HAL_FMC_WIDTH_16B; + sram_init.read_burst = ENABLE; + sram_init.write_enable = ENABLE; + sram_init.write_burst = ENABLE; + sram_init.continous_clock = ENABLE; + + sram_timing.bus_turnaround = 1u; + sram_timing.clk_divider = 15u; + sram_timing.data_latency = 2u; + + hal_fmc_init_sram(HAL_FMC_SRAM_BANK1, sram_init, sram_timing); + + + /* Initialize the asynchronous SRAM on bank 2 */ + sram_init.address_mux = DISABLE; + sram_init.type = HAL_FMC_TYPE_SRAM; + sram_init.width = HAL_FMC_WIDTH_16B; + sram_init.read_burst = DISABLE; + sram_init.write_enable = DISABLE; + sram_init.write_burst = DISABLE; + sram_init.continous_clock = DISABLE; + + sram_timing.bus_turnaround = 1u; + sram_timing.address_setup = 11u; + sram_timing.address_hold = 5u; + sram_timing.data_setup = 11u; + sram_timing.mode = HAL_FMC_ACCESS_MODE_A; + + hal_fmc_init_sram(HAL_FMC_SRAM_BANK2, sram_init, sram_timing); + +#endif +} + + +/** + * \brief Wait for the LCD controller on the CT Board to be initialized. + * \TODO Possibly adjust LCD controller on CPLD to set status bit + * and wait for it in this function. + */ +static void init_LCD(void) +{ +#ifndef NO_FMC + uint32_t wait_for_lcd = LCD_WAIT; + for(; wait_for_lcd > 0; wait_for_lcd--); +#endif +} + diff --git a/sum_diff/RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s b/sum_diff/RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s new file mode 100644 index 0000000..d891d1a --- /dev/null +++ b/sum_diff/RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s @@ -0,0 +1,100 @@ +;* ------------------------------------------------------------------ +;* -- _____ ______ _____ - +;* -- |_ _| | ____|/ ____| - +;* -- | | _ __ | |__ | (___ Institute of Embedded Systems - +;* -- | | | '_ \| __| \___ \ Zurich University of - +;* -- _| |_| | | | |____ ____) | Applied Sciences - +;* -- |_____|_| |_|______|_____/ 8401 Winterthur, Switzerland - +;* ------------------------------------------------------------------ +;* -- +;* -- Project : CT Board - Cortex M4 +;* -- Description : Data Segment initialisation. +;* -- +;* -- $Id$ +;* ------------------------------------------------------------------ + + +; ------------------------------------------------------------------- +; -- __Main +; ------------------------------------------------------------------- + + AREA |.text|, CODE, READONLY + + IMPORT main + + EXPORT __main + +__main PROC + + ; initialize RW and ZI data - this includes heap and stack for the -ro=... -rw=... -entry=... linking cmd args... + IMPORT |Image$$RO$$Limit| [WEAK] + IMPORT |Image$$RW$$Base| [WEAK] + IMPORT |Image$$ZI$$Base| [WEAK] + IMPORT |Image$$ZI$$Limit| [WEAK] + ; ...or from auto generated scatter file. Needs linker option: --diag_suppress 6314 + IMPORT |Image$$ER_IROM1$$Limit| [WEAK] + IMPORT |Image$$RW_IRAM1$$Base| [WEAK] + IMPORT |Image$$RW_IRAM1$$ZI$$Base| [WEAK] + IMPORT |Image$$RW_IRAM1$$ZI$$Limit| [WEAK] + ; import stack parameter + IMPORT Stack_Size [WEAK] + IMPORT Stack_Mem [WEAK] + + ; switch between command line generated regions and auto scatter file generated regions + LDR R1, =|Image$$RO$$Limit| + CMP R1,#0 + BEQ ScatterFileSymbols +CommandLineSymbols + LDR R2, =|Image$$RW$$Base| ; start of the RW data in RAM + LDR R3, =|Image$$ZI$$Base| ; end of the RW data in RAM + MOV R5, R3 ; start of zero initialized data + LDR R6, =|Image$$ZI$$Limit| ; end of zero initialized data + B CondRWLoop +ScatterFileSymbols + LDR R1, =|Image$$ER_IROM1$$Limit| ; start of flashed initial RW data + LDR R2, =|Image$$RW_IRAM1$$Base| ; start of the RW data in RAM + LDR R3, =|Image$$RW_IRAM1$$ZI$$Base| ; end of the RW data in RAM + MOV R5, R3 ; start of zero initialized data + LDR R6, =|Image$$RW_IRAM1$$ZI$$Limit| ; end of zero initialized data + B CondRWLoop + + ; init non-zero data +LoopRWCopy LDR R4, [R1] + STR R4, [R2] + ADDS R1, R1, #4 + ADDS R2, R2, #4 +CondRWLoop CMP R2, R3 + BNE LoopRWCopy + + ; init zero-initialized data + MOV R2, R5 + MOV R3, R6 + MOVS R4, #0 + B CondZILoop +LoopZICopy STR R4, [R2] + ADDS R2, R2, #4 +CondZILoop CMP R2, R3 + BNE LoopZICopy + + ; fingerprint stack section + LDR R0, =Stack_Mem + LDR R1, =Stack_Size + LDR R2, =0xEFBEADDE ; stack fingerprint (little endian!) +LoopStack STR R2, [R0] + ADDS R0, R0, #4 + SUBS R1, #4 + BNE LoopStack + + ; go to the user main function + LDR R0, =main + BX R0 + ENDP + + +; ------------------------------------------------------------------- +; -- End of file +; ------------------------------------------------------------------- + + ALIGN + + END diff --git a/sum_diff/RTE/Device/CT_Board_HS14_M0/startup_ctboard.s b/sum_diff/RTE/Device/CT_Board_HS14_M0/startup_ctboard.s new file mode 100644 index 0000000..fd8a0f9 --- /dev/null +++ b/sum_diff/RTE/Device/CT_Board_HS14_M0/startup_ctboard.s @@ -0,0 +1,439 @@ +;******************** (C) COPYRIGHT 2013 STMicroelectronics ******************** +;* File Name : startup_stm32f429_439xx.s +;* Author : MCD Application Team +;* Version : V1.3.0 +;* Date : 08-November-2013 +;* Description : STM32F429xx/439xx 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 +;* - Configure the system clock and the external SRAM/SDRAM mounted +;* on STM324x9I-EVAL boards to be used as data memory +;* (optional, to be enabled by user) +;* - Branches to __main in the C library (which eventually +;* calls main()). +;* After Reset the CortexM4 processor is in Thread mode, +;* priority is Privileged, and the Stack is set to Main. +;* <<< Use Configuration Wizard in Context Menu >>> +;******************************************************************************* +; +; Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); +; You may not use this file except in compliance with the License. +; You may obtain a copy of the License at: +; +; http://www.st.com/software_license_agreement_liberty_v2 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. +; +;******************************************************************************* + +; Amount of memory (in bytes) allocated for Stack +; Tailor this value to your application needs +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00002000 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 + EXPORT Stack_Size + EXPORT Stack_Mem + +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000800 + + 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 + DCD PVD_IRQHandler ; PVD 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 and ADC3s + DCD CAN1_TX_IRQHandler ; CAN1 TX + DCD CAN1_RX0_IRQHandler ; CAN1 RX0 + DCD CAN1_RX1_IRQHandler ; CAN1 RX1 + DCD CAN1_SCE_IRQHandler ; CAN1 SCE + DCD EXTI9_5_IRQHandler ; External Line[9:5]s + DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9 + DCD TIM1_UP_TIM10_IRQHandler ; TIM1 Update and TIM10 + DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11 + 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]s + DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line + DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI line + DCD TIM8_BRK_TIM12_IRQHandler ; TIM8 Break and TIM12 + DCD TIM8_UP_TIM13_IRQHandler ; TIM8 Update and TIM13 + DCD TIM8_TRG_COM_TIM14_IRQHandler ; TIM8 Trigger and Commutation and TIM14 + DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare + DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7 + DCD FMC_IRQHandler ; FMC + DCD SDIO_IRQHandler ; SDIO + 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 CAN2_TX_IRQHandler ; CAN2 TX + DCD CAN2_RX0_IRQHandler ; CAN2 RX0 + DCD CAN2_RX1_IRQHandler ; CAN2 RX1 + DCD CAN2_SCE_IRQHandler ; CAN2 SCE + DCD OTG_FS_IRQHandler ; USB OTG FS + 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 CRYP_IRQHandler ; CRYP crypto + DCD HASH_RNG_IRQHandler ; Hash and 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 + +__Vectors_End + +__Vectors_Size EQU __Vectors_End - __Vectors + + AREA |.text|, CODE, READONLY + +; Reset handler +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT __system + IMPORT __main + ENTRY + + LDR R0, =__system + 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_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 ADC_IRQHandler [WEAK] + EXPORT CAN1_TX_IRQHandler [WEAK] + EXPORT CAN1_RX0_IRQHandler [WEAK] + EXPORT CAN1_RX1_IRQHandler [WEAK] + EXPORT CAN1_SCE_IRQHandler [WEAK] + EXPORT EXTI9_5_IRQHandler [WEAK] + EXPORT TIM1_BRK_TIM9_IRQHandler [WEAK] + EXPORT TIM1_UP_TIM10_IRQHandler [WEAK] + EXPORT TIM1_TRG_COM_TIM11_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 OTG_FS_WKUP_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 SDIO_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 CAN2_TX_IRQHandler [WEAK] + EXPORT CAN2_RX0_IRQHandler [WEAK] + EXPORT CAN2_RX1_IRQHandler [WEAK] + EXPORT CAN2_SCE_IRQHandler [WEAK] + EXPORT OTG_FS_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 CRYP_IRQHandler [WEAK] + EXPORT HASH_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] + +WWDG_IRQHandler +PVD_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 +CAN1_TX_IRQHandler +CAN1_RX0_IRQHandler +CAN1_RX1_IRQHandler +CAN1_SCE_IRQHandler +EXTI9_5_IRQHandler +TIM1_BRK_TIM9_IRQHandler +TIM1_UP_TIM10_IRQHandler +TIM1_TRG_COM_TIM11_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 +OTG_FS_WKUP_IRQHandler +TIM8_BRK_TIM12_IRQHandler +TIM8_UP_TIM13_IRQHandler +TIM8_TRG_COM_TIM14_IRQHandler +TIM8_CC_IRQHandler +DMA1_Stream7_IRQHandler +FMC_IRQHandler +SDIO_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 +CAN2_TX_IRQHandler +CAN2_RX0_IRQHandler +CAN2_RX1_IRQHandler +CAN2_SCE_IRQHandler +OTG_FS_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 +CRYP_IRQHandler +HASH_RNG_IRQHandler +FPU_IRQHandler +UART7_IRQHandler +UART8_IRQHandler +SPI4_IRQHandler +SPI5_IRQHandler +SPI6_IRQHandler +SAI1_IRQHandler +LTDC_IRQHandler +LTDC_ER_IRQHandler +DMA2D_IRQHandler + B . + + ENDP + + ALIGN + + END + +;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE***** diff --git a/sum_diff/RTE/Device/CT_Board_HS14_M0/system_ctboard.c b/sum_diff/RTE/Device/CT_Board_HS14_M0/system_ctboard.c new file mode 100644 index 0000000..58c804c --- /dev/null +++ b/sum_diff/RTE/Device/CT_Board_HS14_M0/system_ctboard.c @@ -0,0 +1,290 @@ +/* ---------------------------------------------------------------------------- + * -- _____ ______ _____ - + * -- |_ _| | ____|/ ____| - + * -- | | _ __ | |__ | (___ Institute of Embedded Systems - + * -- | | | '_ \| __| \___ \ Zurich University of - + * -- _| |_| | | | |____ ____) | Applied Sciences - + * -- |_____|_| |_|______|_____/ 8401 Winterthur, Switzerland - + * ------------------------------------------------------------------------- */ +/** + * \brief Interface of module system_ctboard. + * Description : Basic system configuration. + * * initialize system clock + * * initialize FMC (SRAM & GPIO) + * + * GPIO FMC pin assignment: + * + * PD0 > FMC_D2 | PE0 > FMC_NBL0 | PF0 > FMC_A0 | PG0 > FMC_A10 + * PD1 > FMC_D3 | PE1 > FMC_NBL1 | PF1 > FMC_A1 | PG1 > FMC_A11 + * PD3 > FMC_CLK | PE2 > FMC_A23 | PF2 > FMC_A2 | PG2 > FMC_A12 + * PD4 > FMC_NOE | PE3 > FMC_A19 | PF3 > FMC_A3 | PG3 > FMC_A13 + * PD5 > FMC_NWE | PE4 > FMC_A20 | PF4 > FMC_A4 | PG4 > FMC_A14 + * PD6 > FMC_WAIT | PE5 > FMC_A21 | PF5 > FMC_A5 | PG5 > FMC_A15 + * PD7 > FMC_NE1 | PE6 > FMC_A22 | PF12 > FMC_A6 | PG9 > FMC_NE2 + * PD8 > FMC_D13 | PE7 > FMC_D4 | PF13 > FMC_A7 | PG10 > FMC_NE3 + * PD9 > FMC_D14 | PE8 > FMC_D5 | PF14 > FMC_A8 | PG12 > FMC_NE4 + * PD10 > FMC_A15 | PE9 > FMC_D6 | PF15 > FMC_A9 | PG13 > FMC_A24 + * PD11 > FMC_A16 | PE10 > FMC_D7 | | + * PD12 > FMC_A17 | PE11 > FMC_D8 | | + * PD13 > FMC_A18 | PE12 > FMC_D9 | | + * PD14 > FMC_D0 | PE13 > FMC_D10 | | + * PD15 > FMC_D1 | PE14 > FMC_D11 | | + * | PE15 > FMC_D12 | | + * + * $Id$ + * ------------------------------------------------------------------------- */ + +/* Standard includes */ +#include + + +/* User includes */ +#include "system_ctboard.h" +#include "reg_stm32f4xx.h" +#include "reg_ctboard.h" + + +/* -- Macros (LCD) + * ------------------------------------------------------------------------- */ + +#define LCD_WAIT 0x1fff + + +/* -- Macros (FMC) + * ------------------------------------------------------------------------- */ + +#define FMC_PORTD_PINMASK 0xfffb +#define FMC_PORTE_PINMASK 0xffff +#define FMC_PORTF_PINMASK 0xf03f +#define FMC_PORTG_PINMASK 0x363f + + +/* -- Local function declarations + * ------------------------------------------------------------------------- */ + +static void init_SystemClock(void); +static void init_FPU(void); +static void init_FMC_SRAM(void); +static void init_LCD(void); + + +/* -- Public function definitions + * ------------------------------------------------------------------------- */ + +/** + * \brief Entry point used in startup. + */ +void __system(void) +{ + system_enter_run(); +} + + +/* + * See header files + */ +void system_enter_run(void) +{ + /* Initialize RCC / system clock */ + init_SystemClock(); + + /* Iitialize FPU */ + init_FPU(); + + /* Initialize SRAM interface */ + init_FMC_SRAM(); + + /* Initialize LCD on CT-Board */ + init_LCD(); +} + + +/* + * See header file + */ +void system_enter_sleep(hal_pwr_lp_entry_t entry) +{ + /** \note Implement this function if needed. */ +} + + +/* + * See header file + */ +void system_enter_stop(hal_pwr_regulator_t regulator, hal_pwr_lp_entry_t entry) +{ + /** \note Implement this function if needed. */ +} + + +/* + * See header file + */ +void system_enter_standby(void) +{ + /** \note Implement this function if needed. */ +} + + +/* -- Local function definitions + * ------------------------------------------------------------------------- */ + +/** + * \brief Configures the System clock source, PLL Multiplier and Divider + * factors, AHB/APBx prescalers and Flash settings. + */ +static void init_SystemClock(void) +{ + hal_rcc_pll_init_t pll_init; + hal_rcc_clk_init_t clk_init; + + /* Enable used periphery */ + PWR_ENABLE(); + + /* Reset */ + hal_rcc_reset(); + PWR_RESET(); + + /* Enable HSE oscillator and proceed if ok */ + if (hal_rcc_set_osc(HAL_RCC_OSC_HSE, ENABLE)) { + /* Select regulator voltage output Scale 1 mode */ + RCC->APB1ENR |= 0x00000000; + PWR->CR |= 0x0000c000; + + /* Configure PLL */ + pll_init.source = HAL_RCC_OSC_HSE; + pll_init.m_divider = 4u; + pll_init.n_factor = 168u; + pll_init.p_divider = 2u; + pll_init.q_divider = 7u; + hal_rcc_setup_pll(HAL_RCC_OSC_PLL, pll_init); + + /* Enable PLL */ + hal_rcc_set_osc(HAL_RCC_OSC_PLL, ENABLE); + + /* Enable overdrive to allow system clock >= 168 MHz */ + hal_pwr_set_overdrive(ENABLE); + + /* Configure Flash prefetch, Instruction cache, Data cache + * and wait state */ + FLASH->ACR = 0x00000705; + + /* Setup system clock */ + clk_init.osc = HAL_RCC_OSC_PLL; + clk_init.hpre = HAL_RCC_HPRE_2; // -> AHB clock : 84 MHz + clk_init.ppre1 = HAL_RCC_PPRE_2; // -> APB1 clock : 48 MHz + clk_init.ppre2 = HAL_RCC_PPRE_2; // -> APB2 clock : 48 MHz + hal_rcc_setup_clock(clk_init); + + } else { + /* If HSE fails to start-up, the application will have wrong clock con- + figuration. User can add here some code to deal with this error */ + } +} + + +/** + * \brief Initialize the floating point unit in M4 mode. + */ +static void init_FPU(void) +{ +#ifdef PLATFORM_M4 + /* No documentation about this, even the registers... */ + + /* set CP10 and CP11 Full Access */ + FPU->CPACR |= ((3u << 20u)|(3u << 22u)); +#endif +} + + +/** + * \brief Setup the flexible memory controller. This function configures the SRAM + * interface for accessing the periphery on the CT Board. + */ +static void init_FMC_SRAM(void) +{ +#ifndef NO_FMC + + hal_gpio_output_t gpio_init; + hal_fmc_sram_init_t sram_init; + hal_fmc_sram_timing_t sram_timing; + + /* Enable used peripherals */ + GPIOD_ENABLE(); + GPIOE_ENABLE(); + GPIOF_ENABLE(); + GPIOG_ENABLE(); + FMC_ENABLE(); + + /* Configure the involved GPIO pins to AF12 (FMC) */ + gpio_init.pupd = HAL_GPIO_PUPD_NOPULL; + gpio_init.out_speed = HAL_GPIO_OUT_SPEED_50MHZ; + gpio_init.out_type = HAL_GPIO_OUT_TYPE_PP; + + /* GPIOD configuration (pins: 0,1,3-15) */ + gpio_init.pins = FMC_PORTD_PINMASK; + hal_gpio_init_alternate(GPIOD, HAL_GPIO_AF_FMC, gpio_init); + + /* GPIOE configuration (pins: 0-15) */ + gpio_init.pins = FMC_PORTE_PINMASK; + hal_gpio_init_alternate(GPIOE, HAL_GPIO_AF_FMC, gpio_init); + + /* GPIOF configuration (pins: 0-5,12-15) */ + gpio_init.pins = FMC_PORTF_PINMASK; + hal_gpio_init_alternate(GPIOF, HAL_GPIO_AF_FMC, gpio_init); + + /* GPIOG configuration (pins: 1-5, 9, 10, 12, 13) */ + gpio_init.pins = FMC_PORTG_PINMASK; + hal_gpio_init_alternate(GPIOG, HAL_GPIO_AF_FMC, gpio_init); + + + /* Initialize the synchronous PSRAM on bank 1 */ + sram_init.address_mux = DISABLE; + sram_init.type = HAL_FMC_TYPE_PSRAM; + sram_init.width = HAL_FMC_WIDTH_16B; + sram_init.read_burst = ENABLE; + sram_init.write_enable = ENABLE; + sram_init.write_burst = ENABLE; + sram_init.continous_clock = ENABLE; + + sram_timing.bus_turnaround = 1u; + sram_timing.clk_divider = 15u; + sram_timing.data_latency = 2u; + + hal_fmc_init_sram(HAL_FMC_SRAM_BANK1, sram_init, sram_timing); + + + /* Initialize the asynchronous SRAM on bank 2 */ + sram_init.address_mux = DISABLE; + sram_init.type = HAL_FMC_TYPE_SRAM; + sram_init.width = HAL_FMC_WIDTH_16B; + sram_init.read_burst = DISABLE; + sram_init.write_enable = DISABLE; + sram_init.write_burst = DISABLE; + sram_init.continous_clock = DISABLE; + + sram_timing.bus_turnaround = 1u; + sram_timing.address_setup = 11u; + sram_timing.address_hold = 5u; + sram_timing.data_setup = 11u; + sram_timing.mode = HAL_FMC_ACCESS_MODE_A; + + hal_fmc_init_sram(HAL_FMC_SRAM_BANK2, sram_init, sram_timing); + +#endif +} + + +/** + * \brief Wait for the LCD controller on the CT Board to be initialized. + * \TODO Possibly adjust LCD controller on CPLD to set status bit + * and wait for it in this function. + */ +static void init_LCD(void) +{ +#ifndef NO_FMC + uint32_t wait_for_lcd = LCD_WAIT; + for(; wait_for_lcd > 0; wait_for_lcd--); +#endif +} + diff --git a/sum_diff/RTE/HAL/CT_Board_HS14_M0/.hal_fmc.c@3.0.1 b/sum_diff/RTE/HAL/CT_Board_HS14_M0/.hal_fmc.c@3.0.1 new file mode 100644 index 0000000..e454145 --- /dev/null +++ b/sum_diff/RTE/HAL/CT_Board_HS14_M0/.hal_fmc.c@3.0.1 @@ -0,0 +1,143 @@ +/* ---------------------------------------------------------------------------- + * -- _____ ______ _____ - + * -- |_ _| | ____|/ ____| - + * -- | | _ __ | |__ | (___ Institute of Embedded Systems - + * -- | | | '_ \| __| \___ \ Zurich University of - + * -- _| |_| | | | |____ ____) | Applied Sciences - + * -- |_____|_| |_|______|_____/ 8401 Winterthur, Switzerland - + * ------------------------------------------------------------------------- */ +/** + * \brief Implementation of module hal_fmc. + * + * The hardware abstraction layer for the memory controller. + * + * $Id$ + * ------------------------------------------------------------------------- */ + +/* User includes */ +#include "hal_fmc.h" +#include "reg_stm32f4xx.h" + + +/* -- Macros + * ------------------------------------------------------------------------- */ + +#define MASK_PERIPH_FMC (0x00000001) +#define MASK_SRAM_ENABLE (0x00000001) + + +/* -- Public function definitions + * ------------------------------------------------------------------------- */ + +/* + * See header file + */ +void hal_fmc_reset(hal_fmc_bank_t bank) +{ + switch (bank) { + default: + case HAL_FMC_SRAM_BANK1: + FMC->SRAM.BCR1 = 0x000030db; + FMC->SRAM.BTR1 = 0x0fffffff; + break; + + case HAL_FMC_SRAM_BANK2: + FMC->SRAM.BCR2 = 0x000030d2; + FMC->SRAM.BTR2 = 0x0fffffff; + break; + + case HAL_FMC_SRAM_BANK3: + FMC->SRAM.BCR3 = 0x000030d2; + FMC->SRAM.BTR3 = 0x0fffffff; + break; + + case HAL_FMC_SRAM_BANK4: + FMC->SRAM.BCR4 = 0x000030d2; + FMC->SRAM.BTR4 = 0x0fffffff; + break; + } +} + + +/* + * See header file + */ +void hal_fmc_init_sram(hal_fmc_bank_t bank, + hal_fmc_sram_init_t init, + hal_fmc_sram_timing_t timing) +{ + uint32_t reg_cr = 0, reg_tr = 0; + + /* Input check */ + timing.address_setup &= 0xf; + timing.address_hold &= 0xf; + if (timing.address_hold < 1u) timing.address_hold = 1u; + timing.data_setup &= 0xff; + if (timing.data_setup < 1u) timing.data_setup = 1u; + timing.bus_turnaround &= 0xf; + + /* Input check clock divider (2..16) */ + if (timing.clk_divider > 16u) timing.clk_divider = 16u; + if (timing.clk_divider < 2u) timing.clk_divider = 2u; + timing.clk_divider -= 1u; // 0b0001 -> clk / 2 + + /* Input check data latency (2..17) */ + if (timing.data_latency > 17u) timing.data_latency = 17u; + if (timing.data_latency < 2u) timing.data_latency = 2u; + timing.data_latency -= 2u; // 0b0000 -> latency = 2 + + /* Process boolean parameter */ + if (init.address_mux == ENABLE) reg_cr |= (1u << 1u); + if (init.read_burst == ENABLE) reg_cr |= (1u << 8u); + if (init.write_enable == ENABLE) reg_cr |= (1u << 12u); + if (init.write_burst == ENABLE) reg_cr |= (1u << 19u); + if (init.continous_clock == ENABLE) reg_cr |= (1u << 20u); + + /* Process non boolean parameter */ + reg_cr |= (init.type << 2u); + reg_cr |= (init.width << 4u); + + /* Process timing for async. SRAM */ + if (init.type == HAL_FMC_TYPE_SRAM) { + reg_tr |= (timing.address_setup << 0u); + reg_tr |= (timing.address_hold << 4u); + reg_tr |= (timing.data_setup << 8u); + reg_tr |= (timing.mode << 28u); + } + /* Process timing for sync. PSRAM */ + else if (init.type == HAL_FMC_TYPE_PSRAM) { + reg_tr |= (timing.clk_divider << 20u); + reg_tr |= (timing.data_latency << 24u); + } + /* Process bus turnaround time */ + reg_tr |= (timing.bus_turnaround << 16u); + + /* Write register */ + switch (bank) { + default: + case HAL_FMC_SRAM_BANK1: + FMC->SRAM.BCR1 = reg_cr; + FMC->SRAM.BTR1 = reg_tr; + FMC->SRAM.BCR1 |= MASK_SRAM_ENABLE; + break; + + case HAL_FMC_SRAM_BANK2: + FMC->SRAM.BCR2 = reg_cr; + FMC->SRAM.BTR2 = reg_tr; + FMC->SRAM.BCR2 |= MASK_SRAM_ENABLE; + break; + + case HAL_FMC_SRAM_BANK3: + FMC->SRAM.BCR3 = reg_cr; + FMC->SRAM.BTR3 = reg_tr; + FMC->SRAM.BCR3 |= MASK_SRAM_ENABLE; + break; + + case HAL_FMC_SRAM_BANK4: + FMC->SRAM.BCR4 = reg_cr; + FMC->SRAM.BTR4 = reg_tr; + FMC->SRAM.BCR4 |= MASK_SRAM_ENABLE; + break; + } +} + diff --git a/sum_diff/RTE/HAL/CT_Board_HS14_M0/.hal_gpio.c@4.0.1 b/sum_diff/RTE/HAL/CT_Board_HS14_M0/.hal_gpio.c@4.0.1 new file mode 100644 index 0000000..59e0e4c --- /dev/null +++ b/sum_diff/RTE/HAL/CT_Board_HS14_M0/.hal_gpio.c@4.0.1 @@ -0,0 +1,412 @@ +/* ---------------------------------------------------------------------------- + * -- _____ ______ _____ - + * -- |_ _| | ____|/ ____| - + * -- | | _ __ | |__ | (___ Institute of Embedded Systems - + * -- | | | '_ \| __| \___ \ Zurich University of - + * -- _| |_| | | | |____ ____) | Applied Sciences - + * -- |_____|_| |_|______|_____/ 8401 Winterthur, Switzerland - + * ------------------------------------------------------------------------- */ +/** + * \brief Implementation of module hal_gpio. + * + * The hardware abstraction layer for the GPIO periphery. + * + * $Id$ + * ------------------------------------------------------------------------- */ + +/* User includes */ +#include "hal_gpio.h" + + +/* -- Macros + * ------------------------------------------------------------------------- */ + +#define NVIC_OFFSET_1_4 ( 6u) +#define NVIC_OFFSET_5_9 (23u) +#define NVIC_OFFSET_10_15 ( 8u) + + +/* -- Local function declarations + * ------------------------------------------------------------------------- */ + +static uint32_t create_pattern_mask(uint16_t pins, + uint8_t pattern, + uint8_t pattern_bit_width); +static uint16_t intercept_overwrite_register(reg_gpio_t *port, uint16_t pins); +static uint8_t get_syscfg_mask(reg_gpio_t *port); + + +/* -- Public function definitions + * ------------------------------------------------------------------------- */ + +/* + * See header file + */ +void hal_gpio_reset(reg_gpio_t *port) +{ + if(port == GPIOA) { + /* Reset GPIOA specific values */ + port->MODER = 0xa8000000; + port->OSPEEDR = 0x00000000; + port->PUPDR = 0x64000000; + } + else if (port == GPIOB) { + /* Reset GPIOB specific values */ + port->MODER = 0x00000280; + port->OSPEEDR = 0x000000c0; + port->PUPDR = 0x00000100; + } else { + /* Reset other GPIO */ + port->MODER = 0x00000000; + port->OSPEEDR = 0x00000000; + port->PUPDR = 0x00000000; + } + + port->OTYPER = 0x00000000; + port->AFRL = 0x00000000; + port->AFRH = 0x00000000; + port->ODR = 0x00000000; +} + +/* + * See header file + */ +void hal_gpio_init_input(reg_gpio_t *port, hal_gpio_input_t init) +{ + /* prevent overwrite false reg entry */ + init.pins = intercept_overwrite_register(port, init.pins); + + /* process mode */ + port->MODER &= ~create_pattern_mask(init.pins, 0x3, 2u); + port->MODER |= create_pattern_mask(init.pins, HAL_GPIO_MODE_IN, 2u); + + /* process pull up/down resitors */ + port->PUPDR &= ~create_pattern_mask(init.pins, 0x3, 2u); + port->PUPDR |= create_pattern_mask(init.pins, init.pupd, 2u); +} + + +/* + * See header file + */ +void hal_gpio_init_analog(reg_gpio_t *port, hal_gpio_input_t init) +{ + /* treat like input */ + hal_gpio_init_input(port, init); + + /* change mode */ + port->MODER &= ~create_pattern_mask(init.pins, 0x3, 2u); + port->MODER |= create_pattern_mask(init.pins, HAL_GPIO_MODE_AN, 2u); +} + + +/* + * See header file + */ +void hal_gpio_init_output(reg_gpio_t *port, hal_gpio_output_t init) +{ + /* prevent overwrite false reg entry */ + init.pins = intercept_overwrite_register(port, init.pins); + + /* process mode */ + port->MODER &= ~create_pattern_mask(init.pins, 0x3, 2u); + port->MODER |= create_pattern_mask(init.pins, HAL_GPIO_MODE_OUT, 2u); + + /* process pull up/down resitors */ + port->PUPDR &= ~create_pattern_mask(init.pins, 0x3, 2u); + port->PUPDR |= create_pattern_mask(init.pins, init.pupd, 2u); + + /* process port speed */ + port->OSPEEDR &= ~create_pattern_mask(init.pins, 0x3, 2u); + port->OSPEEDR |= create_pattern_mask(init.pins, init.out_speed, 2u); + + /* process output typ */ + port->OTYPER &= ~init.pins; + if(init.out_type == HAL_GPIO_OUT_TYPE_OD){ + port->OTYPER |= init.pins; + } +} + + +/* + * See header file + */ +void hal_gpio_init_alternate(reg_gpio_t *port, + hal_gpio_af_t af_mode, + hal_gpio_output_t init) +{ + /* treat like output */ + hal_gpio_init_output(port, init); + + /* change mode */ + port->MODER &= ~create_pattern_mask(init.pins, 0x3, 2u); + port->MODER |= create_pattern_mask(init.pins, HAL_GPIO_MODE_AF, 2u); + + /* process af type */ + port->AFRL &= ~create_pattern_mask(init.pins, 0xf, 4u); + port->AFRL |= create_pattern_mask(init.pins, af_mode, 4u); + port->AFRH &= ~create_pattern_mask((init.pins >> 8), 0xf, 4u); + port->AFRH |= create_pattern_mask((init.pins >> 8), af_mode, 4u); +} + + +/* + * See header file + */ +uint16_t hal_gpio_input_read(reg_gpio_t *port) +{ + return (uint16_t) port->IDR; +} + + +/* + * See header file + */ +uint16_t hal_gpio_output_read(reg_gpio_t *port) +{ + return (uint16_t) port->ODR; +} + + +/* + * See header file + */ +void hal_gpio_output_write(reg_gpio_t *port, uint16_t port_value) +{ + /* prevent overwrite false reg entry */ + port_value = intercept_overwrite_register(port, port_value); + port->ODR = port_value; +} + + +/* + * See header file + */ +void hal_gpio_bit_set(reg_gpio_t *port, uint16_t pins) +{ + /* prevent overwrite false reg entry */ + pins = intercept_overwrite_register(port, pins); + + /* exit if no pins to be configured */ + if (pins != 0) { + port->BSRR = pins; + } +} + + +/* + * See header file + */ +void hal_gpio_bit_reset(reg_gpio_t *port, uint16_t pins) +{ + /* prevent overwrite false reg entry */ + pins = intercept_overwrite_register(port, pins); + + /* exit if no pins to be configured */ + if (pins != 0) { + port->BSRR = (pins << 16); + } +} + + +/* + * See header file + */ +void hal_gpio_bit_toggle(reg_gpio_t *port, uint16_t pins) +{ + uint16_t pattern; + + /* prevent overwrite false reg entry */ + pins = intercept_overwrite_register(port, pins); + + /* exit if no pins to be configured */ + if (pins != 0) { + /* get actual value and invert */ + pattern = hal_gpio_output_read(port); + pattern = ~pattern; + + /* mask pins */ + pattern &= pins; + + port->ODR = pattern; + } +} + + +/* + * See header file + */ +void hal_gpio_irq_set(reg_gpio_t *port, + uint16_t pins, + hal_gpio_trg_t edge, + hal_bool_t status) +{ + uint8_t syscfg_bank, nvic_bank, syscfg_shift, exti_line; + uint32_t exticr_mask; + + for (exti_line = 0u; exti_line < 16u; exti_line++) { + if (pins & (0x1 << exti_line)) { + syscfg_bank = exti_line / 4u; + syscfg_shift = exti_line % 4u; + nvic_bank = (exti_line < 10u) ? 0u : 1u; + + if (status == ENABLE) { + /* Trigger (rising/falling/both) */ + if (edge & HAL_GPIO_TRG_POS) { + EXTI->RTSR |= (0x1 << exti_line); + } + if (edge & HAL_GPIO_TRG_NEG) { + EXTI->FTSR |= (0x1 << exti_line); + } + /* Set EXTI line to corresponding GPIO port */ + exticr_mask = get_syscfg_mask(port); + if (syscfg_bank == 0u) { + SYSCFG->EXTICR1 &= ~(0xf << syscfg_shift); + SYSCFG->EXTICR1 |= (exticr_mask << syscfg_shift); + } else if (syscfg_bank == 1u) { + SYSCFG->EXTICR2 &= ~(0xf << syscfg_shift); + SYSCFG->EXTICR2 |= (exticr_mask << syscfg_shift); + } else if (syscfg_bank == 2u) { + SYSCFG->EXTICR3 &= ~(0xf << syscfg_shift); + SYSCFG->EXTICR3 |= (exticr_mask << syscfg_shift); + } else if (syscfg_bank == 3u) { + SYSCFG->EXTICR4 &= ~(0xf << syscfg_shift); + SYSCFG->EXTICR4 |= (exticr_mask << syscfg_shift); + } + + /* Unmask interrupt */ + EXTI->IMR |= (0x1 << exti_line); + if (nvic_bank == 0u) { + NVIC->ISER0 |= ((exti_line < 5u) ? (0x1 << (exti_line + NVIC_OFFSET_1_4)) : + (exti_line < 10u) ? NVIC_OFFSET_5_9 : NVIC_OFFSET_10_15); + } else if (nvic_bank == 1u) { + NVIC->ISER1 |= ((exti_line < 5u) ? (0x1 << (exti_line + NVIC_OFFSET_1_4)) : + (exti_line < 10u) ? NVIC_OFFSET_5_9 : NVIC_OFFSET_10_15); + } else if (nvic_bank == 2u) { + NVIC->ISER2 |= ((exti_line < 5u) ? (0x1 << (exti_line + NVIC_OFFSET_1_4)) : + (exti_line < 10u) ? NVIC_OFFSET_5_9 : NVIC_OFFSET_10_15); + } + + } else { + /* Mask interrupt */ + EXTI->IMR &= ~(0x1 << exti_line); + if (nvic_bank == 0u) { + NVIC->ICER0 |= ((exti_line < 5u) ? (0x1 << (exti_line + NVIC_OFFSET_1_4)) : + (exti_line < 10u) ? NVIC_OFFSET_5_9 : NVIC_OFFSET_10_15); + } else if (nvic_bank == 1u) { + NVIC->ICER1 |= ((exti_line < 5u) ? (0x1 << (exti_line + NVIC_OFFSET_1_4)) : + (exti_line < 10u) ? NVIC_OFFSET_5_9 : NVIC_OFFSET_10_15); + } else if (nvic_bank == 2u) { + NVIC->ICER2 |= ((exti_line < 5u) ? (0x1 << (exti_line + NVIC_OFFSET_1_4)) : + (exti_line < 10u) ? NVIC_OFFSET_5_9 : NVIC_OFFSET_10_15); + } + } + } + } + +} + + +/* + * See header file + */ +hal_bool_t hal_gpio_irq_status(uint16_t pin) +{ + hal_bool_t status = DISABLED; + + if ((EXTI->IMR && pin) && + (EXTI->PR && pin)) { + status = ENABLED; + } + + return status; +} + + +/* + * See header file + */ +void hal_gpio_irq_clear(uint16_t pin) +{ + EXTI->PR |= pin; +} + + +/* -- Local function definitions + * ------------------------------------------------------------------------- */ + +/** + * \brief Creates a pattern based on specified pins. + * + * example: pins = 1,3,4 (0x001a) / pattern = 0x2 (2 bit wide) + * ==> pattern = 0x0000'0288 + * + * 0b0..0'0001'1010 / 0b10 (2 bit wide) + * ^ ^ ^ + * ==> 0b0..0'00010'1000'1000 + * ^^ ^^ ^^ + * + * pattern_bit_width must be 2 or 4 + */ +static uint32_t create_pattern_mask(uint16_t pins, + uint8_t pattern, + uint8_t pattern_bit_width) +{ + const uint8_t mask_bit_width = 32u; + const uint16_t pin1_mask = 1u; + + uint8_t pos, end; + uint32_t mask = 0u; + + if (pattern_bit_width == 2u || pattern_bit_width == 4u) { + /* create pattern mask */ + end = mask_bit_width / pattern_bit_width; + for (pos = 0; pos < end; pos++) { + if (pins & pin1_mask) { + mask |= pattern << (pos * pattern_bit_width); + } + pins >>= 1; + } + } else { + /* exit if pattern_bit_width not as needed */ + mask = 0u; + } + + return mask; +} + + +/** + * \brief This function ensures that these sensitive pins are not reconfigured. + * + * On GPIOA and GPIOB only pins 11 down to 0 are available to the user. + * Pins 15 down to 12 are used for system functions of the discovery board, + * e.g. connection of the debugger. + * These pins must not be reconfigured. Otherwise the debugger cannot be used any more. + */ +static uint16_t intercept_overwrite_register(reg_gpio_t *port, uint16_t pins){ + if (port == GPIOA || port == GPIOB){ + pins &= 0x0FFF; + } + return pins; +} + + +/** + * \brief Returns mask for configuration of SYSCFG_EXTICR register. + * \param port : Port of which the mask should be generated. + * \return Mask for specified port. + */ +static uint8_t get_syscfg_mask(reg_gpio_t *port) +{ + return ((port == GPIOA) ? 0u : + (port == GPIOB) ? 1u : + (port == GPIOC) ? 2u : + (port == GPIOD) ? 3u : + (port == GPIOE) ? 4u : + (port == GPIOF) ? 5u : + (port == GPIOG) ? 6u : + (port == GPIOH) ? 7u : + (port == GPIOI) ? 8u : + (port == GPIOJ) ? 9u : 10u); +} diff --git a/sum_diff/RTE/HAL/CT_Board_HS14_M0/.hal_pwr.c@2.2.0 b/sum_diff/RTE/HAL/CT_Board_HS14_M0/.hal_pwr.c@2.2.0 new file mode 100644 index 0000000..a244dd6 --- /dev/null +++ b/sum_diff/RTE/HAL/CT_Board_HS14_M0/.hal_pwr.c@2.2.0 @@ -0,0 +1,132 @@ +/* ---------------------------------------------------------------------------- + * -- _____ ______ _____ - + * -- |_ _| | ____|/ ____| - + * -- | | _ __ | |__ | (___ Institute of Embedded Systems - + * -- | | | '_ \| __| \___ \ Zurich University of - + * -- _| |_| | | | |____ ____) | Applied Sciences - + * -- |_____|_| |_|______|_____/ 8401 Winterthur, Switzerland - + * ------------------------------------------------------------------------- */ +/** + * \brief Implementation of module hal_pwr. + * + * The hardware abstraction layer for the power control unit. + * + * $Id$ + * ------------------------------------------------------------------------- */ + +/* User includes */ +#include "hal_pwr.h" +#include "reg_stm32f4xx.h" + + +/* -- Macros + * ------------------------------------------------------------------------- */ + +#define TIME_OUT 0x1000 +#define MASK_PERIPH_PWR (1u << 28u) + + +/* -- Public function definitions + * ------------------------------------------------------------------------- */ + +/* + * See header file + */ +void hal_pwr_reset(void) +{ + /* Reset peripheral */ + PWR->CR = 0x0000c000; + PWR->CSR = 0x00000000; +} + + +/* + * See header file + */ +hal_bool_t hal_pwr_set_backup_domain(hal_bool_t status) +{ + uint16_t count = 0; + uint32_t reg = 0; + + if (status == DISABLE) { + /* Disable backup domain / regulator */ + PWR->CSR &= ~(1u << 9u); + return DISABLED; + } + + /* Enable backup domain / regulator */ + PWR->CSR |= (1u << 9u); + + /* Wait till regulator is ready and if time out is reached exit */ + reg = PWR->CSR & (1u << 3u); + while ((reg == 0) && (count != TIME_OUT)) { + reg = PWR->CSR & (1u << 3u); + count++; + } + + /* Return */ + if (reg != 0) { + return ENABLED; + } + return DISABLED; +} + + +/* + * See header file + */ +void hal_pwr_set_backup_access(hal_bool_t status) +{ + if (status == DISABLE) { + PWR->CR &= ~(1u << 8u); + } else { + PWR->CR |= (1u << 8u); + } +} + + +/* + * See header file + */ +void hal_pwr_set_wakeup_pin(hal_bool_t status) +{ + if (status == DISABLE) { + PWR->CSR &= ~(1u << 8u); + } else { + PWR->CSR |= (1u << 8u); + } +} + + +/* + * See header file + */ +void hal_pwr_set_flash_powerdown(hal_bool_t status) +{ + if (status == DISABLE) { + PWR->CR &= ~(1u << 9u); + } else { + PWR->CR |= (1u << 9u); + } +} + + +/* + * See header file + */ +hal_bool_t hal_pwr_set_overdrive(hal_bool_t status) +{ + /* Is this realy nedded ? + Extend clock to 180 MHz if HSI/HSE is used, but pll ? */ + return DISABLED; +} + + +/* + * See header file + */ +hal_bool_t hal_pwr_set_underdrive(hal_bool_t status) +{ + /* Is this realy nedded ? */ + return DISABLED; +} diff --git a/sum_diff/RTE/HAL/CT_Board_HS14_M0/.hal_rcc.c@4.0.1 b/sum_diff/RTE/HAL/CT_Board_HS14_M0/.hal_rcc.c@4.0.1 new file mode 100644 index 0000000..fdd4d3a --- /dev/null +++ b/sum_diff/RTE/HAL/CT_Board_HS14_M0/.hal_rcc.c@4.0.1 @@ -0,0 +1,347 @@ +/* ---------------------------------------------------------------------------- + * -- _____ ______ _____ - + * -- |_ _| | ____|/ ____| - + * -- | | _ __ | |__ | (___ Institute of Embedded Systems - + * -- | | | '_ \| __| \___ \ Zurich University of - + * -- _| |_| | | | |____ ____) | Applied Sciences - + * -- |_____|_| |_|______|_____/ 8401 Winterthur, Switzerland - + * ------------------------------------------------------------------------- */ +/** + * \brief Implementation of module hal_rcc. + * + * The hardware abstraction layer for the reset and clock control unit. + * + * $Id$ + * ------------------------------------------------------------------------- */ + +/* User includes */ +#include "hal_rcc.h" +#include "reg_stm32f4xx.h" + + +/* -- Macros + * ------------------------------------------------------------------------- */ + +#define TIME_OUT 0x5000 + + +/* -- Public function definitions + * ------------------------------------------------------------------------- */ + +/* + * See header file + */ +void hal_rcc_reset(void) +{ + /* Set RCC->CR to default values */ + RCC->CR |= 0x00000001; // Set HSION bit first -> keep cpu running + RCC->CR &= 0xeaf6ffff; // Reset HSEON, CSSON, PLLON, PLLI2S, + // PLLSAI bits (STM32F42xx/43xx) + RCC->CR &= 0xfffbffff; // Reset HSEBYP bit + + /* Reset RCC->CFGR to default values */ + RCC->CFGR = 0u; + + /* Reset RCC->PLLxCFGR to default values */ + RCC->PLLCFGR = 0x24003010; + RCC->PLLI2SCFGR = 0x20003000; + RCC->PLLSAICFGR = 0x24003000; // only STM32F42xx/43xx) + + /* Disable all interrupts */ + RCC->CIR = 0u; + + /* Disable all peripherals */ + RCC->AHB1RSTR = 0u; + RCC->AHB2RSTR = 0u; + RCC->AHB3RSTR = 0u; + RCC->APB1RSTR = 0u; + RCC->APB2RSTR = 0u; + RCC->AHB1ENR = 0x00100000; + RCC->AHB2ENR = 0u; + RCC->AHB3ENR = 0u; + RCC->APB1ENR = 0u; + RCC->APB2ENR = 0u; + RCC->AHB1LPENR = 0x7e6791ff; + RCC->AHB2LPENR = 0x000000f1; + RCC->AHB3LPENR = 0x00000001; + RCC->APB1LPENR = 0x36fec9ff; + RCC->APB2LPENR = 0x00075f33; + + /* Reset forgotten registers */ + RCC->BDCR = 0u; + RCC->CSR = 0x0e000000; + RCC->SSCGR = 0u; + RCC->DCKCFGR = 0u; +} + + +/* + * See header file + */ +void hal_rcc_set_peripheral(hal_peripheral_t peripheral, hal_bool_t status) +{ + volatile uint32_t *reg; + uint32_t bit_pos; + + /* Select correct enable register */ + switch (peripheral) { + /* AHB1 */ + case PER_GPIOA: + bit_pos = 0u; + reg = &RCC->AHB1ENR; + break; + case PER_GPIOB: + bit_pos = 1u; + reg = &RCC->AHB1ENR; + break; + case PER_GPIOC: + bit_pos = 2u; + reg = &RCC->AHB1ENR; + break; + case PER_GPIOD: + bit_pos = 3u; + reg = &RCC->AHB1ENR; + break; + case PER_GPIOE: + bit_pos = 4u; + reg = &RCC->AHB1ENR; + break; + case PER_GPIOF: + bit_pos = 5u; + reg = &RCC->AHB1ENR; + break; + case PER_GPIOG: + bit_pos = 6u; + reg = &RCC->AHB1ENR; + break; + case PER_GPIOH: + bit_pos = 7u; + reg = &RCC->AHB1ENR; + break; + case PER_GPIOI: + bit_pos = 8u; + reg = &RCC->AHB1ENR; + break; + case PER_GPIOJ: + bit_pos = 9u; + reg = &RCC->AHB1ENR; + break; + case PER_GPIOK: + bit_pos = 10u; + reg = &RCC->AHB1ENR; + break; + case PER_DMA1: + bit_pos = 21u; + reg = &RCC->AHB1ENR; + break; + case PER_DMA2: + bit_pos = 22u; + reg = &RCC->AHB1ENR; + break; + + /* AHB3 */ + case PER_FMC: + bit_pos = 0u; + reg = &RCC->AHB3ENR; + break; + + /* APB1 */ + case PER_DAC: + bit_pos = 29u; + reg = &RCC->APB1ENR; + break; + case PER_PWR: + bit_pos = 28u; + reg = &RCC->APB1ENR; + break; + case PER_TIM2: + bit_pos = 0u; + reg = &RCC->APB1ENR; + break; + case PER_TIM3: + bit_pos = 1u; + reg = &RCC->APB1ENR; + break; + case PER_TIM4: + bit_pos = 2u; + reg = &RCC->APB1ENR; + break; + case PER_TIM5: + bit_pos = 3u; + reg = &RCC->APB1ENR; + break; + + + /* APB2 */ + case PER_ADC1: + bit_pos = 8u; + reg = &RCC->APB2ENR; + break; + case PER_ADC2: + bit_pos = 9u; + reg = &RCC->APB2ENR; + break; + case PER_ADC3: + bit_pos = 10u; + reg = &RCC->APB2ENR; + break; + + default: + return; + } + + if (status == DISABLE) { + *reg &= ~(1u << bit_pos); + } else { + *reg |= (1u << bit_pos); + } +} + + +/* + * See header file + */ +hal_bool_t hal_rcc_set_osc(hal_rcc_osc_t source, hal_bool_t status) +{ + uint32_t reg = 0; + uint32_t count = 0; + + /* Disable source */ + if (status == DISABLE) { + RCC->CR &= ~(1u << source); + return DISABLED; + } + + /* If pll, check if source is ok */ + if (source == HAL_RCC_OSC_PLL || + source == HAL_RCC_OSC_PLLI2S || + source == HAL_RCC_OSC_PLLSAI) + { + reg = RCC->CR; + /* HSE */ + if (RCC->PLLCFGR & ~(1u << 22u)) { + reg &= (1u << (HAL_RCC_OSC_HSE + 1u)); + } + /* HSI */ + else { + reg &= (1u << (HAL_RCC_OSC_HSI + 1u)); + } + /* Return if source is not ok */ + if (!reg) { + return DISABLED; + } + } + + /* Enable source */ + RCC->CR |= (1u << source); + + /* Wait till source is ready and if time out is reached exit */ + reg = RCC->CR & (1u << (source + 1u)); + while ((reg == 0) && (count != TIME_OUT)) { + reg = RCC->CR & (1u << (source + 1u)); + count++; + } + + /* Return */ + if (reg != 0) { + return ENABLED; + } + return DISABLED; +} + + +/* + * See header file + */ +void hal_rcc_setup_pll(hal_rcc_osc_t pll, hal_rcc_pll_init_t init) +{ + /* Input check */ + if (init.m_divider < 2u) init.m_divider = 2u; + + if (init.n_factor < 2u) init.n_factor = 2u; + if (init.n_factor > 432u) init.n_factor = 432u; + + if (init.p_divider > 8u) init.p_divider = 8u; + + if (init.q_divider < 2u) init.q_divider = 2u; + + init.r_divider &= 0x07; + + /* Set source or return if invalid */ + if (init.source == HAL_RCC_OSC_HSI) { + RCC->PLLCFGR &= ~(1u << 22u); + } else if (init.source == HAL_RCC_OSC_HSE) { + RCC->PLLCFGR |= (1u << 22u); + } else { + return; + } + + /* Set pll preescaler */ + RCC->PLLCFGR &= ~(0x3f); + RCC->PLLCFGR |= init.m_divider; + + /* Configure pll */ + switch (pll) { + case HAL_RCC_OSC_PLL: + RCC->PLLCFGR &= ~0x0f037fc0; + RCC->PLLCFGR |= (init.n_factor << 6u); + RCC->PLLCFGR |= (((init.p_divider - 1) >> 1u) << 16u); + RCC->PLLCFGR |= (init.q_divider << 24u); + break; + + case HAL_RCC_OSC_PLLI2S: + RCC->PLLI2SCFGR &= ~0x7f007fc0; + RCC->PLLI2SCFGR |= (init.n_factor << 6u); + RCC->PLLI2SCFGR |= (init.q_divider << 24u); + RCC->PLLI2SCFGR |= (init.r_divider << 28u); + break; + +/* case HAL_RCC_OSC_PLLSAI: + RCC->PLLSAICFGR &= ~0x7f007fc0; + RCC->PLLSAICFGR |= (init.n_factor << 6u); + RCC->PLLSAICFGR |= (init.q_divider << 24u); + RCC->PLLSAICFGR |= (init.r_divider << 28u); + break; +*/ + default: + break; + } +} + + +/* + * See header file + */ +void hal_rcc_setup_clock(hal_rcc_clk_init_t init) +{ + uint32_t reg = 0; + + /* Configure clock divider */ + RCC->CFGR &= ~0x0000fcf0; + RCC->CFGR |= (init.hpre << 4u); + RCC->CFGR |= (init.ppre1 << 10u); + RCC->CFGR |= (init.ppre2 << 13u); + + /* Select system clock source */ + RCC->CFGR &= ~0x00000003; + switch (init.osc) { + default: + case HAL_RCC_OSC_HSI: + reg = 0u; + break; + + case HAL_RCC_OSC_HSE: + reg = 1u; + break; + + case HAL_RCC_OSC_PLL: + reg = 2u; + break; + } + RCC->CFGR |= reg; + +#ifndef TESTING + /* Wait till system clock is selected */ + while ((RCC->CFGR & 0x0000000c) != (reg << 2u)); +#endif +} diff --git a/sum_diff/RTE/HAL/CT_Board_HS14_M0/hal_fmc.c b/sum_diff/RTE/HAL/CT_Board_HS14_M0/hal_fmc.c new file mode 100644 index 0000000..e454145 --- /dev/null +++ b/sum_diff/RTE/HAL/CT_Board_HS14_M0/hal_fmc.c @@ -0,0 +1,143 @@ +/* ---------------------------------------------------------------------------- + * -- _____ ______ _____ - + * -- |_ _| | ____|/ ____| - + * -- | | _ __ | |__ | (___ Institute of Embedded Systems - + * -- | | | '_ \| __| \___ \ Zurich University of - + * -- _| |_| | | | |____ ____) | Applied Sciences - + * -- |_____|_| |_|______|_____/ 8401 Winterthur, Switzerland - + * ------------------------------------------------------------------------- */ +/** + * \brief Implementation of module hal_fmc. + * + * The hardware abstraction layer for the memory controller. + * + * $Id$ + * ------------------------------------------------------------------------- */ + +/* User includes */ +#include "hal_fmc.h" +#include "reg_stm32f4xx.h" + + +/* -- Macros + * ------------------------------------------------------------------------- */ + +#define MASK_PERIPH_FMC (0x00000001) +#define MASK_SRAM_ENABLE (0x00000001) + + +/* -- Public function definitions + * ------------------------------------------------------------------------- */ + +/* + * See header file + */ +void hal_fmc_reset(hal_fmc_bank_t bank) +{ + switch (bank) { + default: + case HAL_FMC_SRAM_BANK1: + FMC->SRAM.BCR1 = 0x000030db; + FMC->SRAM.BTR1 = 0x0fffffff; + break; + + case HAL_FMC_SRAM_BANK2: + FMC->SRAM.BCR2 = 0x000030d2; + FMC->SRAM.BTR2 = 0x0fffffff; + break; + + case HAL_FMC_SRAM_BANK3: + FMC->SRAM.BCR3 = 0x000030d2; + FMC->SRAM.BTR3 = 0x0fffffff; + break; + + case HAL_FMC_SRAM_BANK4: + FMC->SRAM.BCR4 = 0x000030d2; + FMC->SRAM.BTR4 = 0x0fffffff; + break; + } +} + + +/* + * See header file + */ +void hal_fmc_init_sram(hal_fmc_bank_t bank, + hal_fmc_sram_init_t init, + hal_fmc_sram_timing_t timing) +{ + uint32_t reg_cr = 0, reg_tr = 0; + + /* Input check */ + timing.address_setup &= 0xf; + timing.address_hold &= 0xf; + if (timing.address_hold < 1u) timing.address_hold = 1u; + timing.data_setup &= 0xff; + if (timing.data_setup < 1u) timing.data_setup = 1u; + timing.bus_turnaround &= 0xf; + + /* Input check clock divider (2..16) */ + if (timing.clk_divider > 16u) timing.clk_divider = 16u; + if (timing.clk_divider < 2u) timing.clk_divider = 2u; + timing.clk_divider -= 1u; // 0b0001 -> clk / 2 + + /* Input check data latency (2..17) */ + if (timing.data_latency > 17u) timing.data_latency = 17u; + if (timing.data_latency < 2u) timing.data_latency = 2u; + timing.data_latency -= 2u; // 0b0000 -> latency = 2 + + /* Process boolean parameter */ + if (init.address_mux == ENABLE) reg_cr |= (1u << 1u); + if (init.read_burst == ENABLE) reg_cr |= (1u << 8u); + if (init.write_enable == ENABLE) reg_cr |= (1u << 12u); + if (init.write_burst == ENABLE) reg_cr |= (1u << 19u); + if (init.continous_clock == ENABLE) reg_cr |= (1u << 20u); + + /* Process non boolean parameter */ + reg_cr |= (init.type << 2u); + reg_cr |= (init.width << 4u); + + /* Process timing for async. SRAM */ + if (init.type == HAL_FMC_TYPE_SRAM) { + reg_tr |= (timing.address_setup << 0u); + reg_tr |= (timing.address_hold << 4u); + reg_tr |= (timing.data_setup << 8u); + reg_tr |= (timing.mode << 28u); + } + /* Process timing for sync. PSRAM */ + else if (init.type == HAL_FMC_TYPE_PSRAM) { + reg_tr |= (timing.clk_divider << 20u); + reg_tr |= (timing.data_latency << 24u); + } + /* Process bus turnaround time */ + reg_tr |= (timing.bus_turnaround << 16u); + + /* Write register */ + switch (bank) { + default: + case HAL_FMC_SRAM_BANK1: + FMC->SRAM.BCR1 = reg_cr; + FMC->SRAM.BTR1 = reg_tr; + FMC->SRAM.BCR1 |= MASK_SRAM_ENABLE; + break; + + case HAL_FMC_SRAM_BANK2: + FMC->SRAM.BCR2 = reg_cr; + FMC->SRAM.BTR2 = reg_tr; + FMC->SRAM.BCR2 |= MASK_SRAM_ENABLE; + break; + + case HAL_FMC_SRAM_BANK3: + FMC->SRAM.BCR3 = reg_cr; + FMC->SRAM.BTR3 = reg_tr; + FMC->SRAM.BCR3 |= MASK_SRAM_ENABLE; + break; + + case HAL_FMC_SRAM_BANK4: + FMC->SRAM.BCR4 = reg_cr; + FMC->SRAM.BTR4 = reg_tr; + FMC->SRAM.BCR4 |= MASK_SRAM_ENABLE; + break; + } +} + diff --git a/sum_diff/RTE/HAL/CT_Board_HS14_M0/hal_gpio.c b/sum_diff/RTE/HAL/CT_Board_HS14_M0/hal_gpio.c new file mode 100644 index 0000000..59e0e4c --- /dev/null +++ b/sum_diff/RTE/HAL/CT_Board_HS14_M0/hal_gpio.c @@ -0,0 +1,412 @@ +/* ---------------------------------------------------------------------------- + * -- _____ ______ _____ - + * -- |_ _| | ____|/ ____| - + * -- | | _ __ | |__ | (___ Institute of Embedded Systems - + * -- | | | '_ \| __| \___ \ Zurich University of - + * -- _| |_| | | | |____ ____) | Applied Sciences - + * -- |_____|_| |_|______|_____/ 8401 Winterthur, Switzerland - + * ------------------------------------------------------------------------- */ +/** + * \brief Implementation of module hal_gpio. + * + * The hardware abstraction layer for the GPIO periphery. + * + * $Id$ + * ------------------------------------------------------------------------- */ + +/* User includes */ +#include "hal_gpio.h" + + +/* -- Macros + * ------------------------------------------------------------------------- */ + +#define NVIC_OFFSET_1_4 ( 6u) +#define NVIC_OFFSET_5_9 (23u) +#define NVIC_OFFSET_10_15 ( 8u) + + +/* -- Local function declarations + * ------------------------------------------------------------------------- */ + +static uint32_t create_pattern_mask(uint16_t pins, + uint8_t pattern, + uint8_t pattern_bit_width); +static uint16_t intercept_overwrite_register(reg_gpio_t *port, uint16_t pins); +static uint8_t get_syscfg_mask(reg_gpio_t *port); + + +/* -- Public function definitions + * ------------------------------------------------------------------------- */ + +/* + * See header file + */ +void hal_gpio_reset(reg_gpio_t *port) +{ + if(port == GPIOA) { + /* Reset GPIOA specific values */ + port->MODER = 0xa8000000; + port->OSPEEDR = 0x00000000; + port->PUPDR = 0x64000000; + } + else if (port == GPIOB) { + /* Reset GPIOB specific values */ + port->MODER = 0x00000280; + port->OSPEEDR = 0x000000c0; + port->PUPDR = 0x00000100; + } else { + /* Reset other GPIO */ + port->MODER = 0x00000000; + port->OSPEEDR = 0x00000000; + port->PUPDR = 0x00000000; + } + + port->OTYPER = 0x00000000; + port->AFRL = 0x00000000; + port->AFRH = 0x00000000; + port->ODR = 0x00000000; +} + +/* + * See header file + */ +void hal_gpio_init_input(reg_gpio_t *port, hal_gpio_input_t init) +{ + /* prevent overwrite false reg entry */ + init.pins = intercept_overwrite_register(port, init.pins); + + /* process mode */ + port->MODER &= ~create_pattern_mask(init.pins, 0x3, 2u); + port->MODER |= create_pattern_mask(init.pins, HAL_GPIO_MODE_IN, 2u); + + /* process pull up/down resitors */ + port->PUPDR &= ~create_pattern_mask(init.pins, 0x3, 2u); + port->PUPDR |= create_pattern_mask(init.pins, init.pupd, 2u); +} + + +/* + * See header file + */ +void hal_gpio_init_analog(reg_gpio_t *port, hal_gpio_input_t init) +{ + /* treat like input */ + hal_gpio_init_input(port, init); + + /* change mode */ + port->MODER &= ~create_pattern_mask(init.pins, 0x3, 2u); + port->MODER |= create_pattern_mask(init.pins, HAL_GPIO_MODE_AN, 2u); +} + + +/* + * See header file + */ +void hal_gpio_init_output(reg_gpio_t *port, hal_gpio_output_t init) +{ + /* prevent overwrite false reg entry */ + init.pins = intercept_overwrite_register(port, init.pins); + + /* process mode */ + port->MODER &= ~create_pattern_mask(init.pins, 0x3, 2u); + port->MODER |= create_pattern_mask(init.pins, HAL_GPIO_MODE_OUT, 2u); + + /* process pull up/down resitors */ + port->PUPDR &= ~create_pattern_mask(init.pins, 0x3, 2u); + port->PUPDR |= create_pattern_mask(init.pins, init.pupd, 2u); + + /* process port speed */ + port->OSPEEDR &= ~create_pattern_mask(init.pins, 0x3, 2u); + port->OSPEEDR |= create_pattern_mask(init.pins, init.out_speed, 2u); + + /* process output typ */ + port->OTYPER &= ~init.pins; + if(init.out_type == HAL_GPIO_OUT_TYPE_OD){ + port->OTYPER |= init.pins; + } +} + + +/* + * See header file + */ +void hal_gpio_init_alternate(reg_gpio_t *port, + hal_gpio_af_t af_mode, + hal_gpio_output_t init) +{ + /* treat like output */ + hal_gpio_init_output(port, init); + + /* change mode */ + port->MODER &= ~create_pattern_mask(init.pins, 0x3, 2u); + port->MODER |= create_pattern_mask(init.pins, HAL_GPIO_MODE_AF, 2u); + + /* process af type */ + port->AFRL &= ~create_pattern_mask(init.pins, 0xf, 4u); + port->AFRL |= create_pattern_mask(init.pins, af_mode, 4u); + port->AFRH &= ~create_pattern_mask((init.pins >> 8), 0xf, 4u); + port->AFRH |= create_pattern_mask((init.pins >> 8), af_mode, 4u); +} + + +/* + * See header file + */ +uint16_t hal_gpio_input_read(reg_gpio_t *port) +{ + return (uint16_t) port->IDR; +} + + +/* + * See header file + */ +uint16_t hal_gpio_output_read(reg_gpio_t *port) +{ + return (uint16_t) port->ODR; +} + + +/* + * See header file + */ +void hal_gpio_output_write(reg_gpio_t *port, uint16_t port_value) +{ + /* prevent overwrite false reg entry */ + port_value = intercept_overwrite_register(port, port_value); + port->ODR = port_value; +} + + +/* + * See header file + */ +void hal_gpio_bit_set(reg_gpio_t *port, uint16_t pins) +{ + /* prevent overwrite false reg entry */ + pins = intercept_overwrite_register(port, pins); + + /* exit if no pins to be configured */ + if (pins != 0) { + port->BSRR = pins; + } +} + + +/* + * See header file + */ +void hal_gpio_bit_reset(reg_gpio_t *port, uint16_t pins) +{ + /* prevent overwrite false reg entry */ + pins = intercept_overwrite_register(port, pins); + + /* exit if no pins to be configured */ + if (pins != 0) { + port->BSRR = (pins << 16); + } +} + + +/* + * See header file + */ +void hal_gpio_bit_toggle(reg_gpio_t *port, uint16_t pins) +{ + uint16_t pattern; + + /* prevent overwrite false reg entry */ + pins = intercept_overwrite_register(port, pins); + + /* exit if no pins to be configured */ + if (pins != 0) { + /* get actual value and invert */ + pattern = hal_gpio_output_read(port); + pattern = ~pattern; + + /* mask pins */ + pattern &= pins; + + port->ODR = pattern; + } +} + + +/* + * See header file + */ +void hal_gpio_irq_set(reg_gpio_t *port, + uint16_t pins, + hal_gpio_trg_t edge, + hal_bool_t status) +{ + uint8_t syscfg_bank, nvic_bank, syscfg_shift, exti_line; + uint32_t exticr_mask; + + for (exti_line = 0u; exti_line < 16u; exti_line++) { + if (pins & (0x1 << exti_line)) { + syscfg_bank = exti_line / 4u; + syscfg_shift = exti_line % 4u; + nvic_bank = (exti_line < 10u) ? 0u : 1u; + + if (status == ENABLE) { + /* Trigger (rising/falling/both) */ + if (edge & HAL_GPIO_TRG_POS) { + EXTI->RTSR |= (0x1 << exti_line); + } + if (edge & HAL_GPIO_TRG_NEG) { + EXTI->FTSR |= (0x1 << exti_line); + } + /* Set EXTI line to corresponding GPIO port */ + exticr_mask = get_syscfg_mask(port); + if (syscfg_bank == 0u) { + SYSCFG->EXTICR1 &= ~(0xf << syscfg_shift); + SYSCFG->EXTICR1 |= (exticr_mask << syscfg_shift); + } else if (syscfg_bank == 1u) { + SYSCFG->EXTICR2 &= ~(0xf << syscfg_shift); + SYSCFG->EXTICR2 |= (exticr_mask << syscfg_shift); + } else if (syscfg_bank == 2u) { + SYSCFG->EXTICR3 &= ~(0xf << syscfg_shift); + SYSCFG->EXTICR3 |= (exticr_mask << syscfg_shift); + } else if (syscfg_bank == 3u) { + SYSCFG->EXTICR4 &= ~(0xf << syscfg_shift); + SYSCFG->EXTICR4 |= (exticr_mask << syscfg_shift); + } + + /* Unmask interrupt */ + EXTI->IMR |= (0x1 << exti_line); + if (nvic_bank == 0u) { + NVIC->ISER0 |= ((exti_line < 5u) ? (0x1 << (exti_line + NVIC_OFFSET_1_4)) : + (exti_line < 10u) ? NVIC_OFFSET_5_9 : NVIC_OFFSET_10_15); + } else if (nvic_bank == 1u) { + NVIC->ISER1 |= ((exti_line < 5u) ? (0x1 << (exti_line + NVIC_OFFSET_1_4)) : + (exti_line < 10u) ? NVIC_OFFSET_5_9 : NVIC_OFFSET_10_15); + } else if (nvic_bank == 2u) { + NVIC->ISER2 |= ((exti_line < 5u) ? (0x1 << (exti_line + NVIC_OFFSET_1_4)) : + (exti_line < 10u) ? NVIC_OFFSET_5_9 : NVIC_OFFSET_10_15); + } + + } else { + /* Mask interrupt */ + EXTI->IMR &= ~(0x1 << exti_line); + if (nvic_bank == 0u) { + NVIC->ICER0 |= ((exti_line < 5u) ? (0x1 << (exti_line + NVIC_OFFSET_1_4)) : + (exti_line < 10u) ? NVIC_OFFSET_5_9 : NVIC_OFFSET_10_15); + } else if (nvic_bank == 1u) { + NVIC->ICER1 |= ((exti_line < 5u) ? (0x1 << (exti_line + NVIC_OFFSET_1_4)) : + (exti_line < 10u) ? NVIC_OFFSET_5_9 : NVIC_OFFSET_10_15); + } else if (nvic_bank == 2u) { + NVIC->ICER2 |= ((exti_line < 5u) ? (0x1 << (exti_line + NVIC_OFFSET_1_4)) : + (exti_line < 10u) ? NVIC_OFFSET_5_9 : NVIC_OFFSET_10_15); + } + } + } + } + +} + + +/* + * See header file + */ +hal_bool_t hal_gpio_irq_status(uint16_t pin) +{ + hal_bool_t status = DISABLED; + + if ((EXTI->IMR && pin) && + (EXTI->PR && pin)) { + status = ENABLED; + } + + return status; +} + + +/* + * See header file + */ +void hal_gpio_irq_clear(uint16_t pin) +{ + EXTI->PR |= pin; +} + + +/* -- Local function definitions + * ------------------------------------------------------------------------- */ + +/** + * \brief Creates a pattern based on specified pins. + * + * example: pins = 1,3,4 (0x001a) / pattern = 0x2 (2 bit wide) + * ==> pattern = 0x0000'0288 + * + * 0b0..0'0001'1010 / 0b10 (2 bit wide) + * ^ ^ ^ + * ==> 0b0..0'00010'1000'1000 + * ^^ ^^ ^^ + * + * pattern_bit_width must be 2 or 4 + */ +static uint32_t create_pattern_mask(uint16_t pins, + uint8_t pattern, + uint8_t pattern_bit_width) +{ + const uint8_t mask_bit_width = 32u; + const uint16_t pin1_mask = 1u; + + uint8_t pos, end; + uint32_t mask = 0u; + + if (pattern_bit_width == 2u || pattern_bit_width == 4u) { + /* create pattern mask */ + end = mask_bit_width / pattern_bit_width; + for (pos = 0; pos < end; pos++) { + if (pins & pin1_mask) { + mask |= pattern << (pos * pattern_bit_width); + } + pins >>= 1; + } + } else { + /* exit if pattern_bit_width not as needed */ + mask = 0u; + } + + return mask; +} + + +/** + * \brief This function ensures that these sensitive pins are not reconfigured. + * + * On GPIOA and GPIOB only pins 11 down to 0 are available to the user. + * Pins 15 down to 12 are used for system functions of the discovery board, + * e.g. connection of the debugger. + * These pins must not be reconfigured. Otherwise the debugger cannot be used any more. + */ +static uint16_t intercept_overwrite_register(reg_gpio_t *port, uint16_t pins){ + if (port == GPIOA || port == GPIOB){ + pins &= 0x0FFF; + } + return pins; +} + + +/** + * \brief Returns mask for configuration of SYSCFG_EXTICR register. + * \param port : Port of which the mask should be generated. + * \return Mask for specified port. + */ +static uint8_t get_syscfg_mask(reg_gpio_t *port) +{ + return ((port == GPIOA) ? 0u : + (port == GPIOB) ? 1u : + (port == GPIOC) ? 2u : + (port == GPIOD) ? 3u : + (port == GPIOE) ? 4u : + (port == GPIOF) ? 5u : + (port == GPIOG) ? 6u : + (port == GPIOH) ? 7u : + (port == GPIOI) ? 8u : + (port == GPIOJ) ? 9u : 10u); +} diff --git a/sum_diff/RTE/HAL/CT_Board_HS14_M0/hal_pwr.c b/sum_diff/RTE/HAL/CT_Board_HS14_M0/hal_pwr.c new file mode 100644 index 0000000..a244dd6 --- /dev/null +++ b/sum_diff/RTE/HAL/CT_Board_HS14_M0/hal_pwr.c @@ -0,0 +1,132 @@ +/* ---------------------------------------------------------------------------- + * -- _____ ______ _____ - + * -- |_ _| | ____|/ ____| - + * -- | | _ __ | |__ | (___ Institute of Embedded Systems - + * -- | | | '_ \| __| \___ \ Zurich University of - + * -- _| |_| | | | |____ ____) | Applied Sciences - + * -- |_____|_| |_|______|_____/ 8401 Winterthur, Switzerland - + * ------------------------------------------------------------------------- */ +/** + * \brief Implementation of module hal_pwr. + * + * The hardware abstraction layer for the power control unit. + * + * $Id$ + * ------------------------------------------------------------------------- */ + +/* User includes */ +#include "hal_pwr.h" +#include "reg_stm32f4xx.h" + + +/* -- Macros + * ------------------------------------------------------------------------- */ + +#define TIME_OUT 0x1000 +#define MASK_PERIPH_PWR (1u << 28u) + + +/* -- Public function definitions + * ------------------------------------------------------------------------- */ + +/* + * See header file + */ +void hal_pwr_reset(void) +{ + /* Reset peripheral */ + PWR->CR = 0x0000c000; + PWR->CSR = 0x00000000; +} + + +/* + * See header file + */ +hal_bool_t hal_pwr_set_backup_domain(hal_bool_t status) +{ + uint16_t count = 0; + uint32_t reg = 0; + + if (status == DISABLE) { + /* Disable backup domain / regulator */ + PWR->CSR &= ~(1u << 9u); + return DISABLED; + } + + /* Enable backup domain / regulator */ + PWR->CSR |= (1u << 9u); + + /* Wait till regulator is ready and if time out is reached exit */ + reg = PWR->CSR & (1u << 3u); + while ((reg == 0) && (count != TIME_OUT)) { + reg = PWR->CSR & (1u << 3u); + count++; + } + + /* Return */ + if (reg != 0) { + return ENABLED; + } + return DISABLED; +} + + +/* + * See header file + */ +void hal_pwr_set_backup_access(hal_bool_t status) +{ + if (status == DISABLE) { + PWR->CR &= ~(1u << 8u); + } else { + PWR->CR |= (1u << 8u); + } +} + + +/* + * See header file + */ +void hal_pwr_set_wakeup_pin(hal_bool_t status) +{ + if (status == DISABLE) { + PWR->CSR &= ~(1u << 8u); + } else { + PWR->CSR |= (1u << 8u); + } +} + + +/* + * See header file + */ +void hal_pwr_set_flash_powerdown(hal_bool_t status) +{ + if (status == DISABLE) { + PWR->CR &= ~(1u << 9u); + } else { + PWR->CR |= (1u << 9u); + } +} + + +/* + * See header file + */ +hal_bool_t hal_pwr_set_overdrive(hal_bool_t status) +{ + /* Is this realy nedded ? + Extend clock to 180 MHz if HSI/HSE is used, but pll ? */ + return DISABLED; +} + + +/* + * See header file + */ +hal_bool_t hal_pwr_set_underdrive(hal_bool_t status) +{ + /* Is this realy nedded ? */ + return DISABLED; +} diff --git a/sum_diff/RTE/HAL/CT_Board_HS14_M0/hal_rcc.c b/sum_diff/RTE/HAL/CT_Board_HS14_M0/hal_rcc.c new file mode 100644 index 0000000..fdd4d3a --- /dev/null +++ b/sum_diff/RTE/HAL/CT_Board_HS14_M0/hal_rcc.c @@ -0,0 +1,347 @@ +/* ---------------------------------------------------------------------------- + * -- _____ ______ _____ - + * -- |_ _| | ____|/ ____| - + * -- | | _ __ | |__ | (___ Institute of Embedded Systems - + * -- | | | '_ \| __| \___ \ Zurich University of - + * -- _| |_| | | | |____ ____) | Applied Sciences - + * -- |_____|_| |_|______|_____/ 8401 Winterthur, Switzerland - + * ------------------------------------------------------------------------- */ +/** + * \brief Implementation of module hal_rcc. + * + * The hardware abstraction layer for the reset and clock control unit. + * + * $Id$ + * ------------------------------------------------------------------------- */ + +/* User includes */ +#include "hal_rcc.h" +#include "reg_stm32f4xx.h" + + +/* -- Macros + * ------------------------------------------------------------------------- */ + +#define TIME_OUT 0x5000 + + +/* -- Public function definitions + * ------------------------------------------------------------------------- */ + +/* + * See header file + */ +void hal_rcc_reset(void) +{ + /* Set RCC->CR to default values */ + RCC->CR |= 0x00000001; // Set HSION bit first -> keep cpu running + RCC->CR &= 0xeaf6ffff; // Reset HSEON, CSSON, PLLON, PLLI2S, + // PLLSAI bits (STM32F42xx/43xx) + RCC->CR &= 0xfffbffff; // Reset HSEBYP bit + + /* Reset RCC->CFGR to default values */ + RCC->CFGR = 0u; + + /* Reset RCC->PLLxCFGR to default values */ + RCC->PLLCFGR = 0x24003010; + RCC->PLLI2SCFGR = 0x20003000; + RCC->PLLSAICFGR = 0x24003000; // only STM32F42xx/43xx) + + /* Disable all interrupts */ + RCC->CIR = 0u; + + /* Disable all peripherals */ + RCC->AHB1RSTR = 0u; + RCC->AHB2RSTR = 0u; + RCC->AHB3RSTR = 0u; + RCC->APB1RSTR = 0u; + RCC->APB2RSTR = 0u; + RCC->AHB1ENR = 0x00100000; + RCC->AHB2ENR = 0u; + RCC->AHB3ENR = 0u; + RCC->APB1ENR = 0u; + RCC->APB2ENR = 0u; + RCC->AHB1LPENR = 0x7e6791ff; + RCC->AHB2LPENR = 0x000000f1; + RCC->AHB3LPENR = 0x00000001; + RCC->APB1LPENR = 0x36fec9ff; + RCC->APB2LPENR = 0x00075f33; + + /* Reset forgotten registers */ + RCC->BDCR = 0u; + RCC->CSR = 0x0e000000; + RCC->SSCGR = 0u; + RCC->DCKCFGR = 0u; +} + + +/* + * See header file + */ +void hal_rcc_set_peripheral(hal_peripheral_t peripheral, hal_bool_t status) +{ + volatile uint32_t *reg; + uint32_t bit_pos; + + /* Select correct enable register */ + switch (peripheral) { + /* AHB1 */ + case PER_GPIOA: + bit_pos = 0u; + reg = &RCC->AHB1ENR; + break; + case PER_GPIOB: + bit_pos = 1u; + reg = &RCC->AHB1ENR; + break; + case PER_GPIOC: + bit_pos = 2u; + reg = &RCC->AHB1ENR; + break; + case PER_GPIOD: + bit_pos = 3u; + reg = &RCC->AHB1ENR; + break; + case PER_GPIOE: + bit_pos = 4u; + reg = &RCC->AHB1ENR; + break; + case PER_GPIOF: + bit_pos = 5u; + reg = &RCC->AHB1ENR; + break; + case PER_GPIOG: + bit_pos = 6u; + reg = &RCC->AHB1ENR; + break; + case PER_GPIOH: + bit_pos = 7u; + reg = &RCC->AHB1ENR; + break; + case PER_GPIOI: + bit_pos = 8u; + reg = &RCC->AHB1ENR; + break; + case PER_GPIOJ: + bit_pos = 9u; + reg = &RCC->AHB1ENR; + break; + case PER_GPIOK: + bit_pos = 10u; + reg = &RCC->AHB1ENR; + break; + case PER_DMA1: + bit_pos = 21u; + reg = &RCC->AHB1ENR; + break; + case PER_DMA2: + bit_pos = 22u; + reg = &RCC->AHB1ENR; + break; + + /* AHB3 */ + case PER_FMC: + bit_pos = 0u; + reg = &RCC->AHB3ENR; + break; + + /* APB1 */ + case PER_DAC: + bit_pos = 29u; + reg = &RCC->APB1ENR; + break; + case PER_PWR: + bit_pos = 28u; + reg = &RCC->APB1ENR; + break; + case PER_TIM2: + bit_pos = 0u; + reg = &RCC->APB1ENR; + break; + case PER_TIM3: + bit_pos = 1u; + reg = &RCC->APB1ENR; + break; + case PER_TIM4: + bit_pos = 2u; + reg = &RCC->APB1ENR; + break; + case PER_TIM5: + bit_pos = 3u; + reg = &RCC->APB1ENR; + break; + + + /* APB2 */ + case PER_ADC1: + bit_pos = 8u; + reg = &RCC->APB2ENR; + break; + case PER_ADC2: + bit_pos = 9u; + reg = &RCC->APB2ENR; + break; + case PER_ADC3: + bit_pos = 10u; + reg = &RCC->APB2ENR; + break; + + default: + return; + } + + if (status == DISABLE) { + *reg &= ~(1u << bit_pos); + } else { + *reg |= (1u << bit_pos); + } +} + + +/* + * See header file + */ +hal_bool_t hal_rcc_set_osc(hal_rcc_osc_t source, hal_bool_t status) +{ + uint32_t reg = 0; + uint32_t count = 0; + + /* Disable source */ + if (status == DISABLE) { + RCC->CR &= ~(1u << source); + return DISABLED; + } + + /* If pll, check if source is ok */ + if (source == HAL_RCC_OSC_PLL || + source == HAL_RCC_OSC_PLLI2S || + source == HAL_RCC_OSC_PLLSAI) + { + reg = RCC->CR; + /* HSE */ + if (RCC->PLLCFGR & ~(1u << 22u)) { + reg &= (1u << (HAL_RCC_OSC_HSE + 1u)); + } + /* HSI */ + else { + reg &= (1u << (HAL_RCC_OSC_HSI + 1u)); + } + /* Return if source is not ok */ + if (!reg) { + return DISABLED; + } + } + + /* Enable source */ + RCC->CR |= (1u << source); + + /* Wait till source is ready and if time out is reached exit */ + reg = RCC->CR & (1u << (source + 1u)); + while ((reg == 0) && (count != TIME_OUT)) { + reg = RCC->CR & (1u << (source + 1u)); + count++; + } + + /* Return */ + if (reg != 0) { + return ENABLED; + } + return DISABLED; +} + + +/* + * See header file + */ +void hal_rcc_setup_pll(hal_rcc_osc_t pll, hal_rcc_pll_init_t init) +{ + /* Input check */ + if (init.m_divider < 2u) init.m_divider = 2u; + + if (init.n_factor < 2u) init.n_factor = 2u; + if (init.n_factor > 432u) init.n_factor = 432u; + + if (init.p_divider > 8u) init.p_divider = 8u; + + if (init.q_divider < 2u) init.q_divider = 2u; + + init.r_divider &= 0x07; + + /* Set source or return if invalid */ + if (init.source == HAL_RCC_OSC_HSI) { + RCC->PLLCFGR &= ~(1u << 22u); + } else if (init.source == HAL_RCC_OSC_HSE) { + RCC->PLLCFGR |= (1u << 22u); + } else { + return; + } + + /* Set pll preescaler */ + RCC->PLLCFGR &= ~(0x3f); + RCC->PLLCFGR |= init.m_divider; + + /* Configure pll */ + switch (pll) { + case HAL_RCC_OSC_PLL: + RCC->PLLCFGR &= ~0x0f037fc0; + RCC->PLLCFGR |= (init.n_factor << 6u); + RCC->PLLCFGR |= (((init.p_divider - 1) >> 1u) << 16u); + RCC->PLLCFGR |= (init.q_divider << 24u); + break; + + case HAL_RCC_OSC_PLLI2S: + RCC->PLLI2SCFGR &= ~0x7f007fc0; + RCC->PLLI2SCFGR |= (init.n_factor << 6u); + RCC->PLLI2SCFGR |= (init.q_divider << 24u); + RCC->PLLI2SCFGR |= (init.r_divider << 28u); + break; + +/* case HAL_RCC_OSC_PLLSAI: + RCC->PLLSAICFGR &= ~0x7f007fc0; + RCC->PLLSAICFGR |= (init.n_factor << 6u); + RCC->PLLSAICFGR |= (init.q_divider << 24u); + RCC->PLLSAICFGR |= (init.r_divider << 28u); + break; +*/ + default: + break; + } +} + + +/* + * See header file + */ +void hal_rcc_setup_clock(hal_rcc_clk_init_t init) +{ + uint32_t reg = 0; + + /* Configure clock divider */ + RCC->CFGR &= ~0x0000fcf0; + RCC->CFGR |= (init.hpre << 4u); + RCC->CFGR |= (init.ppre1 << 10u); + RCC->CFGR |= (init.ppre2 << 13u); + + /* Select system clock source */ + RCC->CFGR &= ~0x00000003; + switch (init.osc) { + default: + case HAL_RCC_OSC_HSI: + reg = 0u; + break; + + case HAL_RCC_OSC_HSE: + reg = 1u; + break; + + case HAL_RCC_OSC_PLL: + reg = 2u; + break; + } + RCC->CFGR |= reg; + +#ifndef TESTING + /* Wait till system clock is selected */ + while ((RCC->CFGR & 0x0000000c) != (reg << 2u)); +#endif +} diff --git a/sum_diff/RTE/_Target_1/RTE_Components.h b/sum_diff/RTE/_Target_1/RTE_Components.h new file mode 100644 index 0000000..41f458e --- /dev/null +++ b/sum_diff/RTE/_Target_1/RTE_Components.h @@ -0,0 +1,15 @@ + +/* + * Auto generated Run-Time-Environment Configuration File + * *** Do not modify ! *** + * + * Project: 'sum_diff' + * Target: 'Target 1' + */ + +#ifndef RTE_COMPONENTS_H +#define RTE_COMPONENTS_H + + + +#endif /* RTE_COMPONENTS_H */ diff --git a/sum_diff/app/sumdiff.s b/sum_diff/app/sumdiff.s index 690da00..787306a 100644 --- a/sum_diff/app/sumdiff.s +++ b/sum_diff/app/sumdiff.s @@ -37,7 +37,35 @@ main PROC user_prog ; STUDENTS: To be programmed - + LDR R0, =ADDR_DIP_SWITCH_7_0 + LDRB R0, [R0] ; Read DIP Switch 7-0 in R0 + LSLS R0, R0, #24 ; cast to 32 Bit + + LDR R1, =ADDR_DIP_SWITCH_15_8 + LDRB R1, [R1] ; Read DIP Switch 15-8 in R0 + LSLS R1, R1, #24 ; cast to 32 Bit + + LDR R2, =ADDR_LED_7_0 + ADDS R3, R0, R1 ; Add R0 + R1 + MRS R5, APSR ; Read Flags to R5 + LSRS R3, R3, #24 ; Move MSB to LSB + STRB R3, [R2] ; Show LSB in LEDs 7-0 + + LDR R2, =ADDR_LED_15_8 + LSRS R5, R5, #24 ; Move Flags 24 Bit right + STRB R5, [R2] ; Show Flags in LED 15-12 + + LDR R2, =ADDR_LED_23_16 + SUBS R3, R0, R1 ; Sub R0 - R1 + MRS R5, APSR ; Read Flags to R5 + MRS R5, APSR ; Read Flags to R5 + LSRS R3, R3, #24 ; Move MSB to LSB + STRB R3, [R2] ; Show LSB in LEDs 15-8 + + LDR R2, =ADDR_LED_31_24 + LSRS R5, R5, #24 ; Move Flags 24 Bit right + STRB R5, [R2] ; Show Flags in LED 15-12 + diff --git a/sum_diff/build/ExtDll.iex b/sum_diff/build/ExtDll.iex new file mode 100644 index 0000000..6c0896e --- /dev/null +++ b/sum_diff/build/ExtDll.iex @@ -0,0 +1,2 @@ +[EXTDLL] +Count=0 diff --git a/sum_diff/build/datainit_ctboard.d b/sum_diff/build/datainit_ctboard.d new file mode 100644 index 0000000..9edaee9 --- /dev/null +++ b/sum_diff/build/datainit_ctboard.d @@ -0,0 +1 @@ +.\build\datainit_ctboard.o: RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s diff --git a/sum_diff/build/datainit_ctboard.lst b/sum_diff/build/datainit_ctboard.lst new file mode 100644 index 0000000..653a32c --- /dev/null +++ b/sum_diff/build/datainit_ctboard.lst @@ -0,0 +1,372 @@ + + + +ARM Macro Assembler Page 1 + + + 1 00000000 ;* ----------------------------------------------------- + ------------- + 2 00000000 ;* -- _____ ______ _____ + - + 3 00000000 ;* -- |_ _| | ____|/ ____| + - + 4 00000000 ;* -- | | _ __ | |__ | (___ Institute of Embedded + Systems - + 5 00000000 ;* -- | | | '_ \| __| \___ \ Zurich University of + - + 6 00000000 ;* -- _| |_| | | | |____ ____) | Applied Sciences + - + 7 00000000 ;* -- |_____|_| |_|______|_____/ 8401 Winterthur, Swit + zerland - + 8 00000000 ;* ----------------------------------------------------- + ------------- + 9 00000000 ;* -- + 10 00000000 ;* -- Project : CT Board - Cortex M4 + 11 00000000 ;* -- Description : Data Segment initialisation. + 12 00000000 ;* -- + 13 00000000 ;* -- $Id$ + 14 00000000 ;* ----------------------------------------------------- + ------------- + 15 00000000 + 16 00000000 + 17 00000000 ; ------------------------------------------------------ + ------------- + 18 00000000 ; -- __Main + 19 00000000 ; ------------------------------------------------------ + ------------- + 20 00000000 + 21 00000000 AREA |.text|, CODE, READONLY + 22 00000000 + 23 00000000 IMPORT main + 24 00000000 + 25 00000000 EXPORT __main + 26 00000000 + 27 00000000 __main PROC + 28 00000000 + 29 00000000 ; initialize RW and ZI data - this includes heap and sta + ck for the -ro=... -rw=... -entry=... linking cmd args.. + . + 30 00000000 IMPORT |Image$$RO$$Limit| [WEAK] + 31 00000000 IMPORT |Image$$RW$$Base| [WEAK] + 32 00000000 IMPORT |Image$$ZI$$Base| [WEAK] + 33 00000000 IMPORT |Image$$ZI$$Limit| [WEAK] + 34 00000000 ; ...or from auto generated scatter file. Needs linker o + ption: --diag_suppress 6314 + 35 00000000 IMPORT |Image$$ER_IROM1$$Limit| [W +EAK] + 36 00000000 IMPORT |Image$$RW_IRAM1$$Base| [W +EAK] + 37 00000000 IMPORT |Image$$RW_IRAM1$$ZI$$Base| [W +EAK] + 38 00000000 IMPORT |Image$$RW_IRAM1$$ZI$$Limit| [W +EAK] + 39 00000000 ; import stack parameter + 40 00000000 IMPORT Stack_Size [WEAK] + 41 00000000 IMPORT Stack_Mem [WEAK] + + + +ARM Macro Assembler Page 2 + + + 42 00000000 + 43 00000000 ; switch between command line generated regions and auto + scatter file generated regions + 44 00000000 4912 LDR R1, =|Image$$RO$$Limit| + 45 00000002 2900 CMP R1,#0 + 46 00000004 D004 BEQ ScatterFileSymbols + 47 00000006 CommandLineSymbols + 48 00000006 4A12 LDR R2, =|Image$$RW$$Base| ; start + of the RW data in R + AM + 49 00000008 4B12 LDR R3, =|Image$$ZI$$Base| ; end of + the RW data in RAM + + 50 0000000A 461D MOV R5, R3 ; start of zero ini + tialized data + 51 0000000C 4E12 LDR R6, =|Image$$ZI$$Limit| ; end o + f zero initialized + data + 52 0000000E E009 B CondRWLoop + 53 00000010 ScatterFileSymbols + 54 00000010 4912 LDR R1, =|Image$$ER_IROM1$$Limit| ; + start of flashed i + nitial RW data + 55 00000012 4A13 LDR R2, =|Image$$RW_IRAM1$$Base| ; + start of the RW dat + a in RAM + 56 00000014 4B13 LDR R3, =|Image$$RW_IRAM1$$ZI$$Base +| + ; end of the RW dat + a in RAM + 57 00000016 461D MOV R5, R3 ; start of zero ini + tialized data + 58 00000018 4E13 LDR R6, =|Image$$RW_IRAM1$$ZI$$Limi +t| + ; end of zero initi + alized data + 59 0000001A E003 B CondRWLoop + 60 0000001C + 61 0000001C ; init non-zero data + 62 0000001C 680C LoopRWCopy + LDR R4, [R1] + 63 0000001E 6014 STR R4, [R2] + 64 00000020 1D09 ADDS R1, R1, #4 + 65 00000022 1D12 ADDS R2, R2, #4 + 66 00000024 429A CondRWLoop + CMP R2, R3 + 67 00000026 D1F9 BNE LoopRWCopy + 68 00000028 + 69 00000028 ; init zero-initialized data + 70 00000028 462A MOV R2, R5 + 71 0000002A 4633 MOV R3, R6 + 72 0000002C 2400 MOVS R4, #0 + 73 0000002E E001 B CondZILoop + 74 00000030 6014 LoopZICopy + STR R4, [R2] + 75 00000032 1D12 ADDS R2, R2, #4 + 76 00000034 429A CondZILoop + CMP R2, R3 + 77 00000036 D1FB BNE LoopZICopy + + + +ARM Macro Assembler Page 3 + + + 78 00000038 + 79 00000038 ; fingerprint stack section + 80 00000038 480C LDR R0, =Stack_Mem + 81 0000003A 490D LDR R1, =Stack_Size + 82 0000003C 4A0D LDR R2, =0xEFBEADDE ; stack fingerp + rint (little endian + !) + 83 0000003E 6002 LoopStack + STR R2, [R0] + 84 00000040 1D00 ADDS R0, R0, #4 + 85 00000042 3904 SUBS R1, #4 + 86 00000044 D1FB BNE LoopStack + 87 00000046 + 88 00000046 ; go to the user main function + 89 00000046 480C LDR R0, =main + 90 00000048 4700 BX R0 + 91 0000004A ENDP + 92 0000004A + 93 0000004A + 94 0000004A ; ------------------------------------------------------ + ------------- + 95 0000004A ; -- End of file + 96 0000004A ; ------------------------------------------------------ + ------------- + 97 0000004A + 98 0000004A 00 00 ALIGN + 99 0000004C + 100 0000004C END + 00000000 + 00000000 + 00000000 + 00000000 + 00000000 + 00000000 + 00000000 + 00000000 + 00000000 + 00000000 + EFBEADDE + 00000000 +Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M0 --depend=.\bu +ild\datainit_ctboard.d -o.\build\datainit_ctboard.o -I.\RTE\_Target_1 -IC:\User +s\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include -IC:\Us +ers\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include\m0 -I +C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\HAL\Include --p +redefine="__EVAL SETA 1" --predefine="__UVISION_VERSION SETA 537" --predefine=" +_RTE_ SETA 1" --predefine="_RTE_ SETA 1" --list=.\build\datainit_ctboard.lst RT +E/Device/CT_Board_HS14_M0/datainit_ctboard.s + + + +ARM Macro Assembler Page 1 Alphabetic symbol ordering +Relocatable symbols + +.text 00000000 + +Symbol: .text + Definitions + At line 21 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + None +Comment: .text unused +CommandLineSymbols 00000006 + +Symbol: CommandLineSymbols + Definitions + At line 47 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + None +Comment: CommandLineSymbols unused +CondRWLoop 00000024 + +Symbol: CondRWLoop + Definitions + At line 66 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + At line 52 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + At line 59 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + +CondZILoop 00000034 + +Symbol: CondZILoop + Definitions + At line 76 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + At line 73 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s +Comment: CondZILoop used once +LoopRWCopy 0000001C + +Symbol: LoopRWCopy + Definitions + At line 62 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + At line 67 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s +Comment: LoopRWCopy used once +LoopStack 0000003E + +Symbol: LoopStack + Definitions + At line 83 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + At line 86 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s +Comment: LoopStack used once +LoopZICopy 00000030 + +Symbol: LoopZICopy + Definitions + At line 74 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + At line 77 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s +Comment: LoopZICopy used once +ScatterFileSymbols 00000010 + + + + +ARM Macro Assembler Page 2 Alphabetic symbol ordering +Relocatable symbols + +Symbol: ScatterFileSymbols + Definitions + At line 53 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + At line 46 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s +Comment: ScatterFileSymbols used once +__main 00000000 + +Symbol: __main + Definitions + At line 27 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + At line 25 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s +Comment: __main used once +9 symbols + + + +ARM Macro Assembler Page 1 Alphabetic symbol ordering +External symbols + +Image$$ER_IROM1$$Limit 00000000 + +Symbol: Image$$ER_IROM1$$Limit + Definitions + At line 35 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + At line 54 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s +Comment: Image$$ER_IROM1$$Limit used once +Image$$RO$$Limit 00000000 + +Symbol: Image$$RO$$Limit + Definitions + At line 30 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + At line 44 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s +Comment: Image$$RO$$Limit used once +Image$$RW$$Base 00000000 + +Symbol: Image$$RW$$Base + Definitions + At line 31 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + At line 48 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s +Comment: Image$$RW$$Base used once +Image$$RW_IRAM1$$Base 00000000 + +Symbol: Image$$RW_IRAM1$$Base + Definitions + At line 36 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + At line 55 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s +Comment: Image$$RW_IRAM1$$Base used once +Image$$RW_IRAM1$$ZI$$Base 00000000 + +Symbol: Image$$RW_IRAM1$$ZI$$Base + Definitions + At line 37 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + At line 56 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s +Comment: Image$$RW_IRAM1$$ZI$$Base used once +Image$$RW_IRAM1$$ZI$$Limit 00000000 + +Symbol: Image$$RW_IRAM1$$ZI$$Limit + Definitions + At line 38 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + At line 58 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s +Comment: Image$$RW_IRAM1$$ZI$$Limit used once +Image$$ZI$$Base 00000000 + +Symbol: Image$$ZI$$Base + Definitions + At line 32 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + At line 49 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s +Comment: Image$$ZI$$Base used once +Image$$ZI$$Limit 00000000 + +Symbol: Image$$ZI$$Limit + + + +ARM Macro Assembler Page 2 Alphabetic symbol ordering +External symbols + + Definitions + At line 33 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + At line 51 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s +Comment: Image$$ZI$$Limit used once +Stack_Mem 00000000 + +Symbol: Stack_Mem + Definitions + At line 41 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + At line 80 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s +Comment: Stack_Mem used once +Stack_Size 00000000 + +Symbol: Stack_Size + Definitions + At line 40 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + At line 81 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s +Comment: Stack_Size used once +main 00000000 + +Symbol: main + Definitions + At line 23 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + At line 89 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s +Comment: main used once +11 symbols +355 symbols in table diff --git a/sum_diff/build/datainit_ctboard.o b/sum_diff/build/datainit_ctboard.o new file mode 100644 index 0000000000000000000000000000000000000000..ed9bbf6f08266e6f52103db36c6cfd02a0e41d3f GIT binary patch literal 2736 zcmcf@OKjX!aJ=4RohE6MO#qQL$Oj`nCGKvTwrNBU`*DcV-6mRZXaz=&cm0xBtk)~s z8x<5)73z@#;($<3NL;vZMW{lRxFHUxl{j%gIdDfkA;h7~JbOP$ThtRHy*K~&8PA*X zUmLZOAPCR{0VEi306B?kMwU2w9j4$Eq>v_YR);sz53=jotMjYbYh#C5eP(?I>6vTd z;l$qT_Sk%O{%-N_hi|T)Uj;=toZTk=pNA7`lltU(Y8&R$mx+US_~Oqs{r>I!KgqCy zBXtsBlkh2kI^h|B8-!;8Ou~}@+k~e89KzE8dxWz9Ey6DVbO^r)aFg%^zyri04uG^! zt83@VY~O9NbEUdf^zFd0){Oj;Rn47q?8tW8Ze%s11}W4KO1{_e+pHa}$c4a@iFI2n zkazq**1QID9OlRu)%>zt_x;w2YzLkldh+`h*iy5>a=8znv|?_BEC|iO_w2S=_M2S~ z*9*;x-LNiLg}{yWyp0YE?8x=op&52P%W-#h_<1QJ1S!k%@MxS~=kq8@PXK&J7(d*- z1m7o|0r)xLe@XCd#3HQXjEONiiE}SO{xc*P}?HHteL=s;&Bf66ssS`ejIrPI>1kQJuzMky6U&Y%(@hvPAVh*51e&w_ApGCK(w z$OxHKMwHUhh%_o?BuN^RPDtaK2?=utKX)G}Qp-3}BLHs`rcIB**3iR9!=uNwA)ZdU zfqWcsavUgSLvLIOU!F1 zO3aZ$AO>F;L2nt1yvzkC>JfNkBeI(xT88^EOUNqoK=6{`8Cm>yL<-RY=QQI7B%$M)80xYq{l6(1>ia+X!7RV{qfs>2%HUCVAX0=BQ_ zq1bg>P9cf{x6zGQs3`Tds-+u+{qt4DP&PHCuu@rERBo(P@_EHTO4l?kuiVnFD_e$U zyn9i(Wz?^hu9jo=60&O*Wy9Dklr%*v7M7LGnr193TA`@#FM=Aen-M4uC=vYcMGR|S z0n6IL0*?XWn*rM)*0p!7u-oYbEDWz)zI;B9!e*y?rQ`>A-i2z8`*c{_xuTj4ikSIC zL2={-|Cvf(UeHw&FKk+MJJ@BBgN@Os7c8il-!`)wE(i*eBmG;#=)@RSv)R;3!pp)dX*q>C z1K7EMurQ89S~!VC4%BcjjDpB+fQl;B?xzo^P2Z!&fF_AS_>spA1J+7%Zzr%l21gPR zo|&KOz^~=D(QUxH?Hxbnc~ar=o)gmCPB{3C$|<#=XTkRa#h4`U4&IZb$Klh2rXq88~eztL{@M-$T0KjI;;j09vf%;hjxB>ZVI0hT@U1Ni90OXkJ&p#nW-KmTtMW#dM z$R(|8DehVEadA%KGL8ooK|B+0_ZC{Gsq=N<#L>XTYtoH@M;)6!dd46sJ!*jIn@$a% pWNny1B`$axpor9s#H)iH83ToiLAQ%lcaQm^G?QGiXZi(M{tH94#Kr&s literal 0 HcmV?d00001 diff --git a/sum_diff/build/hal_fmc.d b/sum_diff/build/hal_fmc.d new file mode 100644 index 0000000..7361834 --- /dev/null +++ b/sum_diff/build/hal_fmc.d @@ -0,0 +1,5 @@ +./build/hal_fmc.o: RTE\HAL\CT_Board_HS14_M0\hal_fmc.c \ + C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\HAL\Include\hal_fmc.h \ + C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\HAL\Include\hal_common.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \ + C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include\reg_stm32f4xx.h diff --git a/sum_diff/build/hal_fmc.o b/sum_diff/build/hal_fmc.o new file mode 100644 index 0000000000000000000000000000000000000000..565f349a515ad576e9e71087c009d70d6a0ee037 GIT binary patch literal 6548 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

C@pnSMB=Drc4C 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 R_jQRxyh*1&GVJTj{{cBMxTpXC literal 0 HcmV?d00001 diff --git a/sum_diff/build/hal_pwr.d b/sum_diff/build/hal_pwr.d new file mode 100644 index 0000000..5a8be71 --- /dev/null +++ b/sum_diff/build/hal_pwr.d @@ -0,0 +1,5 @@ +./build/hal_pwr.o: RTE\HAL\CT_Board_HS14_M0\hal_pwr.c \ + C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\HAL\Include\hal_pwr.h \ + C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\HAL\Include\hal_common.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \ + C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include\reg_stm32f4xx.h diff --git a/sum_diff/build/hal_pwr.o b/sum_diff/build/hal_pwr.o new file mode 100644 index 0000000000000000000000000000000000000000..d9461985ddbc385ee37eee4211aa1e9662a606d4 GIT binary patch literal 4896 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 E1KY@pNdN!< literal 0 HcmV?d00001 diff --git a/sum_diff/build/startup_ctboard.d b/sum_diff/build/startup_ctboard.d new file mode 100644 index 0000000..8fab56b --- /dev/null +++ b/sum_diff/build/startup_ctboard.d @@ -0,0 +1 @@ +.\build\startup_ctboard.o: RTE/Device/CT_Board_HS14_M0/startup_ctboard.s diff --git a/sum_diff/build/startup_ctboard.lst b/sum_diff/build/startup_ctboard.lst new file mode 100644 index 0000000..7757b9f --- /dev/null +++ b/sum_diff/build/startup_ctboard.lst @@ -0,0 +1,2074 @@ + + + +ARM Macro Assembler Page 1 + + + 1 00000000 ;******************** (C) COPYRIGHT 2013 STMicroelectron + ics ******************** + 2 00000000 ;* File Name : startup_stm32f429_439xx.s + 3 00000000 ;* Author : MCD Application Team + 4 00000000 ;* Version : V1.3.0 + 5 00000000 ;* Date : 08-November-2013 + 6 00000000 ;* Description : STM32F429xx/439xx devices vector + table for MDK-ARM toolchain. + 7 00000000 ;* This module performs: + 8 00000000 ;* - Set the initial SP + 9 00000000 ;* - Set the initial PC == Reset_Ha + ndler + 10 00000000 ;* - Set the vector table entries w + ith the exceptions ISR address + 11 00000000 ;* - Configure the system clock and + the external SRAM/SDRAM mounted + 12 00000000 ;* on STM324x9I-EVAL boards to be + used as data memory + 13 00000000 ;* (optional, to be enabled by us + er) + 14 00000000 ;* - Branches to __main in the C li + brary (which eventually + 15 00000000 ;* calls main()). + 16 00000000 ;* After Reset the CortexM4 process + or is in Thread mode, + 17 00000000 ;* priority is Privileged, and the + Stack is set to Main. + 18 00000000 ;* <<< Use Configuration Wizard in Context Menu >>> + 19 00000000 ;******************************************************* + ************************ + 20 00000000 ; + 21 00000000 ; Licensed under MCD-ST Liberty SW License Agreement V2, + (the "License"); + 22 00000000 ; You may not use this file except in compliance with th + e License. + 23 00000000 ; You may obtain a copy of the License at: + 24 00000000 ; + 25 00000000 ; http://www.st.com/software_license_agreement_li + berty_v2 + 26 00000000 ; + 27 00000000 ; Unless required by applicable law or agreed to in writ + ing, software + 28 00000000 ; distributed under the License is distributed on an "AS + IS" BASIS, + 29 00000000 ; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either e + xpress or implied. + 30 00000000 ; See the License for the specific language governing pe + rmissions and + 31 00000000 ; limitations under the License. + 32 00000000 ; + 33 00000000 ;******************************************************* + ************************ + 34 00000000 + 35 00000000 ; Amount of memory (in bytes) allocated for Stack + 36 00000000 ; Tailor this value to your application needs + 37 00000000 ; Stack Configuration + 38 00000000 ; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> + 39 00000000 ; + 40 00000000 + + + +ARM Macro Assembler Page 2 + + + 41 00000000 00002000 + Stack_Size + EQU 0x00002000 + 42 00000000 + 43 00000000 AREA STACK, NOINIT, READWRITE, ALIGN +=3 + 44 00000000 EXPORT Stack_Size + 45 00000000 EXPORT Stack_Mem + 46 00000000 + 47 00000000 Stack_Mem + SPACE Stack_Size + 48 00002000 __initial_sp + 49 00002000 + 50 00002000 + 51 00002000 ; Heap Configuration + 52 00002000 ; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> + 53 00002000 ; + 54 00002000 + 55 00002000 00000800 + Heap_Size + EQU 0x00000800 + 56 00002000 + 57 00002000 AREA HEAP, NOINIT, READWRITE, ALIGN= +3 + 58 00000000 __heap_base + 59 00000000 Heap_Mem + SPACE Heap_Size + 60 00000800 __heap_limit + 61 00000800 + 62 00000800 PRESERVE8 + 63 00000800 THUMB + 64 00000800 + 65 00000800 + 66 00000800 ; Vector Table Mapped to Address 0 at Reset + 67 00000800 AREA RESET, DATA, READONLY + 68 00000000 EXPORT __Vectors + 69 00000000 EXPORT __Vectors_End + 70 00000000 EXPORT __Vectors_Size + 71 00000000 + 72 00000000 + 73 00000000 00000000 + __Vectors + DCD __initial_sp ; Top of Stack + 74 00000004 00000000 DCD Reset_Handler ; Reset Handler + 75 00000008 00000000 DCD NMI_Handler ; NMI Handler + 76 0000000C 00000000 DCD HardFault_Handler ; Hard Fault + Handler + 77 00000010 00000000 DCD MemManage_Handler + ; MPU Fault Handler + + 78 00000014 00000000 DCD BusFault_Handler + ; Bus Fault Handler + + 79 00000018 00000000 DCD UsageFault_Handler ; Usage Faul + t Handler + 80 0000001C 00000000 DCD 0 ; Reserved + 81 00000020 00000000 DCD 0 ; Reserved + 82 00000024 00000000 DCD 0 ; Reserved + 83 00000028 00000000 DCD 0 ; Reserved + + + +ARM Macro Assembler Page 3 + + + 84 0000002C 00000000 DCD SVC_Handler ; SVCall Handler + 85 00000030 00000000 DCD DebugMon_Handler ; Debug Monito + r Handler + 86 00000034 00000000 DCD 0 ; Reserved + 87 00000038 00000000 DCD PendSV_Handler ; PendSV Handler + + 88 0000003C 00000000 DCD SysTick_Handler + ; SysTick Handler + 89 00000040 + 90 00000040 ; External Interrupts + 91 00000040 00000000 DCD WWDG_IRQHandler ; Window WatchD + og + + + 92 00000044 00000000 DCD PVD_IRQHandler ; PVD through EX + TI Line detection + + + 93 00000048 00000000 DCD TAMP_STAMP_IRQHandler ; Tamper + and TimeStamps thro + ugh the EXTI line + + 94 0000004C 00000000 DCD RTC_WKUP_IRQHandler ; RTC Wakeu + p through the EXTI + line + + 95 00000050 00000000 DCD FLASH_IRQHandler ; FLASH + + + 96 00000054 00000000 DCD RCC_IRQHandler ; RCC + + + 97 00000058 00000000 DCD EXTI0_IRQHandler ; EXTI Line0 + + + + 98 0000005C 00000000 DCD EXTI1_IRQHandler ; EXTI Line1 + + + + 99 00000060 00000000 DCD EXTI2_IRQHandler ; EXTI Line2 + + + + 100 00000064 00000000 DCD EXTI3_IRQHandler ; EXTI Line3 + + + + 101 00000068 00000000 DCD EXTI4_IRQHandler ; EXTI Line4 + + + + 102 0000006C 00000000 DCD DMA1_Stream0_IRQHandler ; DMA1 + Stream 0 + + + 103 00000070 00000000 DCD DMA1_Stream1_IRQHandler ; DMA1 + Stream 1 + + + + +ARM Macro Assembler Page 4 + + + + 104 00000074 00000000 DCD DMA1_Stream2_IRQHandler ; DMA1 + Stream 2 + + + 105 00000078 00000000 DCD DMA1_Stream3_IRQHandler ; DMA1 + Stream 3 + + + 106 0000007C 00000000 DCD DMA1_Stream4_IRQHandler ; DMA1 + Stream 4 + + + 107 00000080 00000000 DCD DMA1_Stream5_IRQHandler ; DMA1 + Stream 5 + + + 108 00000084 00000000 DCD DMA1_Stream6_IRQHandler ; DMA1 + Stream 6 + + + 109 00000088 00000000 DCD ADC_IRQHandler ; ADC1, ADC2 and + ADC3s + + 110 0000008C 00000000 DCD CAN1_TX_IRQHandler ; CAN1 TX + + + + 111 00000090 00000000 DCD CAN1_RX0_IRQHandler ; CAN1 RX0 + + + + 112 00000094 00000000 DCD CAN1_RX1_IRQHandler ; CAN1 RX1 + + + + 113 00000098 00000000 DCD CAN1_SCE_IRQHandler ; CAN1 SCE + + + + 114 0000009C 00000000 DCD EXTI9_5_IRQHandler ; External L + ine[9:5]s + + + 115 000000A0 00000000 DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 + Break and TIM9 + + 116 000000A4 00000000 DCD TIM1_UP_TIM10_IRQHandler ; TIM1 + Update and TIM10 + + 117 000000A8 00000000 DCD TIM1_TRG_COM_TIM11_IRQHandler ; + TIM1 Trigger and C + ommutation and TIM1 + 1 + 118 000000AC 00000000 DCD TIM1_CC_IRQHandler ; TIM1 Captu + re Compare + + + 119 000000B0 00000000 DCD TIM2_IRQHandler ; TIM2 + + + +ARM Macro Assembler Page 5 + + + + + 120 000000B4 00000000 DCD TIM3_IRQHandler ; TIM3 + + + 121 000000B8 00000000 DCD TIM4_IRQHandler ; TIM4 + + + 122 000000BC 00000000 DCD I2C1_EV_IRQHandler ; I2C1 Event + + + + 123 000000C0 00000000 DCD I2C1_ER_IRQHandler ; I2C1 Error + + + + 124 000000C4 00000000 DCD I2C2_EV_IRQHandler ; I2C2 Event + + + + 125 000000C8 00000000 DCD I2C2_ER_IRQHandler ; I2C2 Error + + + + 126 000000CC 00000000 DCD SPI1_IRQHandler ; SPI1 + + + 127 000000D0 00000000 DCD SPI2_IRQHandler ; SPI2 + + + 128 000000D4 00000000 DCD USART1_IRQHandler ; USART1 + + + 129 000000D8 00000000 DCD USART2_IRQHandler ; USART2 + + + 130 000000DC 00000000 DCD USART3_IRQHandler ; USART3 + + + 131 000000E0 00000000 DCD EXTI15_10_IRQHandler ; External + Line[15:10]s + + + 132 000000E4 00000000 DCD RTC_Alarm_IRQHandler ; RTC Alar + m (A and B) through + EXTI Line + + 133 000000E8 00000000 DCD OTG_FS_WKUP_IRQHandler ; USB OT + G FS Wakeup through + EXTI line + + 134 000000EC 00000000 DCD TIM8_BRK_TIM12_IRQHandler ; TIM + 8 Break and TIM12 + + 135 000000F0 00000000 DCD TIM8_UP_TIM13_IRQHandler ; TIM8 + Update and TIM13 + + 136 000000F4 00000000 DCD TIM8_TRG_COM_TIM14_IRQHandler ; + TIM8 Trigger and C + + + +ARM Macro Assembler Page 6 + + + ommutation and TIM1 + 4 + 137 000000F8 00000000 DCD TIM8_CC_IRQHandler ; TIM8 Captu + re Compare + + + 138 000000FC 00000000 DCD DMA1_Stream7_IRQHandler ; DMA1 + Stream7 + + + 139 00000100 00000000 DCD FMC_IRQHandler ; FMC + + + 140 00000104 00000000 DCD SDIO_IRQHandler ; SDIO + + + 141 00000108 00000000 DCD TIM5_IRQHandler ; TIM5 + + + 142 0000010C 00000000 DCD SPI3_IRQHandler ; SPI3 + + + 143 00000110 00000000 DCD UART4_IRQHandler ; UART4 + + + 144 00000114 00000000 DCD UART5_IRQHandler ; UART5 + + + 145 00000118 00000000 DCD TIM6_DAC_IRQHandler ; TIM6 and + DAC1&2 underrun err + ors + + 146 0000011C 00000000 DCD TIM7_IRQHandler ; TIM7 + + 147 00000120 00000000 DCD DMA2_Stream0_IRQHandler ; DMA2 + Stream 0 + + + 148 00000124 00000000 DCD DMA2_Stream1_IRQHandler ; DMA2 + Stream 1 + + + 149 00000128 00000000 DCD DMA2_Stream2_IRQHandler ; DMA2 + Stream 2 + + + 150 0000012C 00000000 DCD DMA2_Stream3_IRQHandler ; DMA2 + Stream 3 + + + 151 00000130 00000000 DCD DMA2_Stream4_IRQHandler ; DMA2 + Stream 4 + + + 152 00000134 00000000 DCD ETH_IRQHandler ; Ethernet + + + 153 00000138 00000000 DCD ETH_WKUP_IRQHandler ; Ethernet + Wakeup through EXTI + + + +ARM Macro Assembler Page 7 + + + line + + 154 0000013C 00000000 DCD CAN2_TX_IRQHandler ; CAN2 TX + + + + 155 00000140 00000000 DCD CAN2_RX0_IRQHandler ; CAN2 RX0 + + + + 156 00000144 00000000 DCD CAN2_RX1_IRQHandler ; CAN2 RX1 + + + + 157 00000148 00000000 DCD CAN2_SCE_IRQHandler ; CAN2 SCE + + + + 158 0000014C 00000000 DCD OTG_FS_IRQHandler ; USB OTG FS + + + 159 00000150 00000000 DCD DMA2_Stream5_IRQHandler ; DMA2 + Stream 5 + + + 160 00000154 00000000 DCD DMA2_Stream6_IRQHandler ; DMA2 + Stream 6 + + + 161 00000158 00000000 DCD DMA2_Stream7_IRQHandler ; DMA2 + Stream 7 + + + 162 0000015C 00000000 DCD USART6_IRQHandler ; USART6 + + + + 163 00000160 00000000 DCD I2C3_EV_IRQHandler ; I2C3 event + + + + 164 00000164 00000000 DCD I2C3_ER_IRQHandler ; I2C3 error + + + + 165 00000168 00000000 DCD OTG_HS_EP1_OUT_IRQHandler ; USB + OTG HS End Point 1 + Out + + 166 0000016C 00000000 DCD OTG_HS_EP1_IN_IRQHandler ; USB + OTG HS End Point 1 + In + + 167 00000170 00000000 DCD OTG_HS_WKUP_IRQHandler ; USB OT + G HS Wakeup through + EXTI + + 168 00000174 00000000 DCD OTG_HS_IRQHandler ; USB OTG HS + + + + +ARM Macro Assembler Page 8 + + + + 169 00000178 00000000 DCD DCMI_IRQHandler ; DCMI + + + 170 0000017C 00000000 DCD CRYP_IRQHandler ; CRYP crypto + + + 171 00000180 00000000 DCD HASH_RNG_IRQHandler + ; Hash and Rng + 172 00000184 00000000 DCD FPU_IRQHandler ; FPU + 173 00000188 00000000 DCD UART7_IRQHandler ; UART7 + 174 0000018C 00000000 DCD UART8_IRQHandler ; UART8 + 175 00000190 00000000 DCD SPI4_IRQHandler ; SPI4 + 176 00000194 00000000 DCD SPI5_IRQHandler ; SPI5 + 177 00000198 00000000 DCD SPI6_IRQHandler ; SPI6 + 178 0000019C 00000000 DCD SAI1_IRQHandler ; SAI1 + 179 000001A0 00000000 DCD LTDC_IRQHandler ; LTDC + 180 000001A4 00000000 DCD LTDC_ER_IRQHandler ; LTDC error + + 181 000001A8 00000000 DCD DMA2D_IRQHandler ; DMA2D + 182 000001AC + 183 000001AC __Vectors_End + 184 000001AC + 185 000001AC 000001AC + __Vectors_Size + EQU __Vectors_End - __Vectors + 186 000001AC + 187 000001AC AREA |.text|, CODE, READONLY + 188 00000000 + 189 00000000 ; Reset handler + 190 00000000 Reset_Handler + PROC + 191 00000000 EXPORT Reset_Handler [WEAK +] + 192 00000000 IMPORT __system + 193 00000000 IMPORT __main + 194 00000000 ENTRY + 195 00000000 + 196 00000000 4806 LDR R0, =__system + 197 00000002 4780 BLX R0 + 198 00000004 4806 LDR R0, =__main + 199 00000006 4700 BX R0 + 200 00000008 ENDP + 201 00000008 + 202 00000008 ; Dummy Exception Handlers (infinite loops which can be + modified) + 203 00000008 + 204 00000008 NMI_Handler + PROC + 205 00000008 EXPORT NMI_Handler [WEA +K] + 206 00000008 E7FE B . + 207 0000000A ENDP + 209 0000000A HardFault_Handler + PROC + 210 0000000A EXPORT HardFault_Handler [WEA +K] + 211 0000000A E7FE B . + 212 0000000C ENDP + + + +ARM Macro Assembler Page 9 + + + 214 0000000C MemManage_Handler + PROC + 215 0000000C EXPORT MemManage_Handler [WEA +K] + 216 0000000C E7FE B . + 217 0000000E ENDP + 219 0000000E BusFault_Handler + PROC + 220 0000000E EXPORT BusFault_Handler [WEA +K] + 221 0000000E E7FE B . + 222 00000010 ENDP + 224 00000010 UsageFault_Handler + PROC + 225 00000010 EXPORT UsageFault_Handler [WEA +K] + 226 00000010 E7FE B . + 227 00000012 ENDP + 228 00000012 SVC_Handler + PROC + 229 00000012 EXPORT SVC_Handler [WEA +K] + 230 00000012 E7FE B . + 231 00000014 ENDP + 233 00000014 DebugMon_Handler + PROC + 234 00000014 EXPORT DebugMon_Handler [WEA +K] + 235 00000014 E7FE B . + 236 00000016 ENDP + 237 00000016 PendSV_Handler + PROC + 238 00000016 EXPORT PendSV_Handler [WEA +K] + 239 00000016 E7FE B . + 240 00000018 ENDP + 241 00000018 SysTick_Handler + PROC + 242 00000018 EXPORT SysTick_Handler [WEA +K] + 243 00000018 E7FE B . + 244 0000001A ENDP + 245 0000001A + 246 0000001A Default_Handler + PROC + 247 0000001A + 248 0000001A EXPORT WWDG_IRQHandler + [WEAK] + 249 0000001A EXPORT PVD_IRQHandler + [WEAK] + 250 0000001A EXPORT TAMP_STAMP_IRQHandler + [WEAK] + 251 0000001A EXPORT RTC_WKUP_IRQHandler + [WEAK] + 252 0000001A EXPORT FLASH_IRQHandler + [WEAK] + 253 0000001A EXPORT RCC_IRQHandler + [WEAK] + 254 0000001A EXPORT EXTI0_IRQHandler + + + +ARM Macro Assembler Page 10 + + + [WEAK] + 255 0000001A EXPORT EXTI1_IRQHandler + [WEAK] + 256 0000001A EXPORT EXTI2_IRQHandler + [WEAK] + 257 0000001A EXPORT EXTI3_IRQHandler + [WEAK] + 258 0000001A EXPORT EXTI4_IRQHandler + [WEAK] + 259 0000001A EXPORT DMA1_Stream0_IRQHandler + [WEAK] + 260 0000001A EXPORT DMA1_Stream1_IRQHandler + [WEAK] + 261 0000001A EXPORT DMA1_Stream2_IRQHandler + [WEAK] + 262 0000001A EXPORT DMA1_Stream3_IRQHandler + [WEAK] + 263 0000001A EXPORT DMA1_Stream4_IRQHandler + [WEAK] + 264 0000001A EXPORT DMA1_Stream5_IRQHandler + [WEAK] + 265 0000001A EXPORT DMA1_Stream6_IRQHandler + [WEAK] + 266 0000001A EXPORT ADC_IRQHandler + [WEAK] + 267 0000001A EXPORT CAN1_TX_IRQHandler + [WEAK] + 268 0000001A EXPORT CAN1_RX0_IRQHandler + [WEAK] + 269 0000001A EXPORT CAN1_RX1_IRQHandler + [WEAK] + 270 0000001A EXPORT CAN1_SCE_IRQHandler + [WEAK] + 271 0000001A EXPORT EXTI9_5_IRQHandler + [WEAK] + 272 0000001A EXPORT TIM1_BRK_TIM9_IRQHandler + [WEAK] + 273 0000001A EXPORT TIM1_UP_TIM10_IRQHandler + [WEAK] + 274 0000001A EXPORT TIM1_TRG_COM_TIM11_IRQHandler + [WEAK] + 275 0000001A EXPORT TIM1_CC_IRQHandler + [WEAK] + 276 0000001A EXPORT TIM2_IRQHandler + [WEAK] + 277 0000001A EXPORT TIM3_IRQHandler + [WEAK] + 278 0000001A EXPORT TIM4_IRQHandler + [WEAK] + 279 0000001A EXPORT I2C1_EV_IRQHandler + [WEAK] + 280 0000001A EXPORT I2C1_ER_IRQHandler + [WEAK] + 281 0000001A EXPORT I2C2_EV_IRQHandler + [WEAK] + 282 0000001A EXPORT I2C2_ER_IRQHandler + [WEAK] + 283 0000001A EXPORT SPI1_IRQHandler + [WEAK] + + + +ARM Macro Assembler Page 11 + + + 284 0000001A EXPORT SPI2_IRQHandler + [WEAK] + 285 0000001A EXPORT USART1_IRQHandler + [WEAK] + 286 0000001A EXPORT USART2_IRQHandler + [WEAK] + 287 0000001A EXPORT USART3_IRQHandler + [WEAK] + 288 0000001A EXPORT EXTI15_10_IRQHandler + [WEAK] + 289 0000001A EXPORT RTC_Alarm_IRQHandler + [WEAK] + 290 0000001A EXPORT OTG_FS_WKUP_IRQHandler + [WEAK] + 291 0000001A EXPORT TIM8_BRK_TIM12_IRQHandler + [WEAK] + 292 0000001A EXPORT TIM8_UP_TIM13_IRQHandler + [WEAK] + 293 0000001A EXPORT TIM8_TRG_COM_TIM14_IRQHandler + [WEAK] + 294 0000001A EXPORT TIM8_CC_IRQHandler + [WEAK] + 295 0000001A EXPORT DMA1_Stream7_IRQHandler + [WEAK] + 296 0000001A EXPORT FMC_IRQHandler + [WEAK] + 297 0000001A EXPORT SDIO_IRQHandler + [WEAK] + 298 0000001A EXPORT TIM5_IRQHandler + [WEAK] + 299 0000001A EXPORT SPI3_IRQHandler + [WEAK] + 300 0000001A EXPORT UART4_IRQHandler + [WEAK] + 301 0000001A EXPORT UART5_IRQHandler + [WEAK] + 302 0000001A EXPORT TIM6_DAC_IRQHandler + [WEAK] + 303 0000001A EXPORT TIM7_IRQHandler + [WEAK] + 304 0000001A EXPORT DMA2_Stream0_IRQHandler + [WEAK] + 305 0000001A EXPORT DMA2_Stream1_IRQHandler + [WEAK] + 306 0000001A EXPORT DMA2_Stream2_IRQHandler + [WEAK] + 307 0000001A EXPORT DMA2_Stream3_IRQHandler + [WEAK] + 308 0000001A EXPORT DMA2_Stream4_IRQHandler + [WEAK] + 309 0000001A EXPORT ETH_IRQHandler + [WEAK] + 310 0000001A EXPORT ETH_WKUP_IRQHandler + [WEAK] + 311 0000001A EXPORT CAN2_TX_IRQHandler + [WEAK] + 312 0000001A EXPORT CAN2_RX0_IRQHandler + [WEAK] + 313 0000001A EXPORT CAN2_RX1_IRQHandler + + + +ARM Macro Assembler Page 12 + + + [WEAK] + 314 0000001A EXPORT CAN2_SCE_IRQHandler + [WEAK] + 315 0000001A EXPORT OTG_FS_IRQHandler + [WEAK] + 316 0000001A EXPORT DMA2_Stream5_IRQHandler + [WEAK] + 317 0000001A EXPORT DMA2_Stream6_IRQHandler + [WEAK] + 318 0000001A EXPORT DMA2_Stream7_IRQHandler + [WEAK] + 319 0000001A EXPORT USART6_IRQHandler + [WEAK] + 320 0000001A EXPORT I2C3_EV_IRQHandler + [WEAK] + 321 0000001A EXPORT I2C3_ER_IRQHandler + [WEAK] + 322 0000001A EXPORT OTG_HS_EP1_OUT_IRQHandler + [WEAK] + 323 0000001A EXPORT OTG_HS_EP1_IN_IRQHandler + [WEAK] + 324 0000001A EXPORT OTG_HS_WKUP_IRQHandler + [WEAK] + 325 0000001A EXPORT OTG_HS_IRQHandler + [WEAK] + 326 0000001A EXPORT DCMI_IRQHandler + [WEAK] + 327 0000001A EXPORT CRYP_IRQHandler + [WEAK] + 328 0000001A EXPORT HASH_RNG_IRQHandler + [WEAK] + 329 0000001A EXPORT FPU_IRQHandler + [WEAK] + 330 0000001A EXPORT UART7_IRQHandler + [WEAK] + 331 0000001A EXPORT UART8_IRQHandler + [WEAK] + 332 0000001A EXPORT SPI4_IRQHandler + [WEAK] + 333 0000001A EXPORT SPI5_IRQHandler + [WEAK] + 334 0000001A EXPORT SPI6_IRQHandler + [WEAK] + 335 0000001A EXPORT SAI1_IRQHandler + [WEAK] + 336 0000001A EXPORT LTDC_IRQHandler + [WEAK] + 337 0000001A EXPORT LTDC_ER_IRQHandler + [WEAK] + 338 0000001A EXPORT DMA2D_IRQHandler + [WEAK] + 339 0000001A + 340 0000001A WWDG_IRQHandler + 341 0000001A PVD_IRQHandler + 342 0000001A TAMP_STAMP_IRQHandler + 343 0000001A RTC_WKUP_IRQHandler + 344 0000001A FLASH_IRQHandler + 345 0000001A RCC_IRQHandler + 346 0000001A EXTI0_IRQHandler + + + +ARM Macro Assembler Page 13 + + + 347 0000001A EXTI1_IRQHandler + 348 0000001A EXTI2_IRQHandler + 349 0000001A EXTI3_IRQHandler + 350 0000001A EXTI4_IRQHandler + 351 0000001A DMA1_Stream0_IRQHandler + 352 0000001A DMA1_Stream1_IRQHandler + 353 0000001A DMA1_Stream2_IRQHandler + 354 0000001A DMA1_Stream3_IRQHandler + 355 0000001A DMA1_Stream4_IRQHandler + 356 0000001A DMA1_Stream5_IRQHandler + 357 0000001A DMA1_Stream6_IRQHandler + 358 0000001A ADC_IRQHandler + 359 0000001A CAN1_TX_IRQHandler + 360 0000001A CAN1_RX0_IRQHandler + 361 0000001A CAN1_RX1_IRQHandler + 362 0000001A CAN1_SCE_IRQHandler + 363 0000001A EXTI9_5_IRQHandler + 364 0000001A TIM1_BRK_TIM9_IRQHandler + 365 0000001A TIM1_UP_TIM10_IRQHandler + 366 0000001A TIM1_TRG_COM_TIM11_IRQHandler + 367 0000001A TIM1_CC_IRQHandler + 368 0000001A TIM2_IRQHandler + 369 0000001A TIM3_IRQHandler + 370 0000001A TIM4_IRQHandler + 371 0000001A I2C1_EV_IRQHandler + 372 0000001A I2C1_ER_IRQHandler + 373 0000001A I2C2_EV_IRQHandler + 374 0000001A I2C2_ER_IRQHandler + 375 0000001A SPI1_IRQHandler + 376 0000001A SPI2_IRQHandler + 377 0000001A USART1_IRQHandler + 378 0000001A USART2_IRQHandler + 379 0000001A USART3_IRQHandler + 380 0000001A EXTI15_10_IRQHandler + 381 0000001A RTC_Alarm_IRQHandler + 382 0000001A OTG_FS_WKUP_IRQHandler + 383 0000001A TIM8_BRK_TIM12_IRQHandler + 384 0000001A TIM8_UP_TIM13_IRQHandler + 385 0000001A TIM8_TRG_COM_TIM14_IRQHandler + 386 0000001A TIM8_CC_IRQHandler + 387 0000001A DMA1_Stream7_IRQHandler + 388 0000001A FMC_IRQHandler + 389 0000001A SDIO_IRQHandler + 390 0000001A TIM5_IRQHandler + 391 0000001A SPI3_IRQHandler + 392 0000001A UART4_IRQHandler + 393 0000001A UART5_IRQHandler + 394 0000001A TIM6_DAC_IRQHandler + 395 0000001A TIM7_IRQHandler + 396 0000001A DMA2_Stream0_IRQHandler + 397 0000001A DMA2_Stream1_IRQHandler + 398 0000001A DMA2_Stream2_IRQHandler + 399 0000001A DMA2_Stream3_IRQHandler + 400 0000001A DMA2_Stream4_IRQHandler + 401 0000001A ETH_IRQHandler + 402 0000001A ETH_WKUP_IRQHandler + 403 0000001A CAN2_TX_IRQHandler + 404 0000001A CAN2_RX0_IRQHandler + 405 0000001A CAN2_RX1_IRQHandler + + + +ARM Macro Assembler Page 14 + + + 406 0000001A CAN2_SCE_IRQHandler + 407 0000001A OTG_FS_IRQHandler + 408 0000001A DMA2_Stream5_IRQHandler + 409 0000001A DMA2_Stream6_IRQHandler + 410 0000001A DMA2_Stream7_IRQHandler + 411 0000001A USART6_IRQHandler + 412 0000001A I2C3_EV_IRQHandler + 413 0000001A I2C3_ER_IRQHandler + 414 0000001A OTG_HS_EP1_OUT_IRQHandler + 415 0000001A OTG_HS_EP1_IN_IRQHandler + 416 0000001A OTG_HS_WKUP_IRQHandler + 417 0000001A OTG_HS_IRQHandler + 418 0000001A DCMI_IRQHandler + 419 0000001A CRYP_IRQHandler + 420 0000001A HASH_RNG_IRQHandler + 421 0000001A FPU_IRQHandler + 422 0000001A UART7_IRQHandler + 423 0000001A UART8_IRQHandler + 424 0000001A SPI4_IRQHandler + 425 0000001A SPI5_IRQHandler + 426 0000001A SPI6_IRQHandler + 427 0000001A SAI1_IRQHandler + 428 0000001A LTDC_IRQHandler + 429 0000001A LTDC_ER_IRQHandler + 430 0000001A DMA2D_IRQHandler + 431 0000001A E7FE B . + 432 0000001C + 433 0000001C ENDP + 434 0000001C + 435 0000001C ALIGN + 436 0000001C + 437 0000001C END + 00000000 + 00000000 +Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M0 --depend=.\bu +ild\startup_ctboard.d -o.\build\startup_ctboard.o -I.\RTE\_Target_1 -IC:\Users\ +roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include -IC:\User +s\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include\m0 -IC: +\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\HAL\Include --pre +define="__EVAL SETA 1" --predefine="__UVISION_VERSION SETA 537" --predefine="_R +TE_ SETA 1" --predefine="_RTE_ SETA 1" --list=.\build\startup_ctboard.lst RTE/D +evice/CT_Board_HS14_M0/startup_ctboard.s + + + +ARM Macro Assembler Page 1 Alphabetic symbol ordering +Relocatable symbols + +STACK 00000000 + +Symbol: STACK + Definitions + At line 43 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + None +Comment: STACK unused +Stack_Mem 00000000 + +Symbol: Stack_Mem + Definitions + At line 47 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 45 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s +Comment: Stack_Mem used once +__initial_sp 00002000 + +Symbol: __initial_sp + Definitions + At line 48 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 73 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s +Comment: __initial_sp used once +3 symbols + + + +ARM Macro Assembler Page 1 Alphabetic symbol ordering +Relocatable symbols + +HEAP 00000000 + +Symbol: HEAP + Definitions + At line 57 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + None +Comment: HEAP unused +Heap_Mem 00000000 + +Symbol: Heap_Mem + Definitions + At line 59 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + None +Comment: Heap_Mem unused +__heap_base 00000000 + +Symbol: __heap_base + Definitions + At line 58 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + None +Comment: __heap_base unused +__heap_limit 00000800 + +Symbol: __heap_limit + Definitions + At line 60 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + None +Comment: __heap_limit unused +4 symbols + + + +ARM Macro Assembler Page 1 Alphabetic symbol ordering +Relocatable symbols + +RESET 00000000 + +Symbol: RESET + Definitions + At line 67 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + None +Comment: RESET unused +__Vectors 00000000 + +Symbol: __Vectors + Definitions + At line 73 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 68 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 185 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +__Vectors_End 000001AC + +Symbol: __Vectors_End + Definitions + At line 183 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 69 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 185 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +3 symbols + + + +ARM Macro Assembler Page 1 Alphabetic symbol ordering +Relocatable symbols + +.text 00000000 + +Symbol: .text + Definitions + At line 187 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + None +Comment: .text unused +ADC_IRQHandler 0000001A + +Symbol: ADC_IRQHandler + Definitions + At line 358 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 109 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 266 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +BusFault_Handler 0000000E + +Symbol: BusFault_Handler + Definitions + At line 219 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 78 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 220 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +CAN1_RX0_IRQHandler 0000001A + +Symbol: CAN1_RX0_IRQHandler + Definitions + At line 360 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 111 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 268 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +CAN1_RX1_IRQHandler 0000001A + +Symbol: CAN1_RX1_IRQHandler + Definitions + At line 361 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 112 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 269 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +CAN1_SCE_IRQHandler 0000001A + +Symbol: CAN1_SCE_IRQHandler + Definitions + At line 362 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 113 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 270 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +CAN1_TX_IRQHandler 0000001A + +Symbol: CAN1_TX_IRQHandler + Definitions + At line 359 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + + + +ARM Macro Assembler Page 2 Alphabetic symbol ordering +Relocatable symbols + + At line 110 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 267 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +CAN2_RX0_IRQHandler 0000001A + +Symbol: CAN2_RX0_IRQHandler + Definitions + At line 404 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 155 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 312 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +CAN2_RX1_IRQHandler 0000001A + +Symbol: CAN2_RX1_IRQHandler + Definitions + At line 405 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 156 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 313 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +CAN2_SCE_IRQHandler 0000001A + +Symbol: CAN2_SCE_IRQHandler + Definitions + At line 406 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 157 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 314 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +CAN2_TX_IRQHandler 0000001A + +Symbol: CAN2_TX_IRQHandler + Definitions + At line 403 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 154 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 311 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +CRYP_IRQHandler 0000001A + +Symbol: CRYP_IRQHandler + Definitions + At line 419 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 170 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 327 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +DCMI_IRQHandler 0000001A + +Symbol: DCMI_IRQHandler + Definitions + At line 418 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 169 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 326 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +DMA1_Stream0_IRQHandler 0000001A + + + + +ARM Macro Assembler Page 3 Alphabetic symbol ordering +Relocatable symbols + +Symbol: DMA1_Stream0_IRQHandler + Definitions + At line 351 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 102 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 259 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +DMA1_Stream1_IRQHandler 0000001A + +Symbol: DMA1_Stream1_IRQHandler + Definitions + At line 352 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 103 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 260 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +DMA1_Stream2_IRQHandler 0000001A + +Symbol: DMA1_Stream2_IRQHandler + Definitions + At line 353 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 104 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 261 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +DMA1_Stream3_IRQHandler 0000001A + +Symbol: DMA1_Stream3_IRQHandler + Definitions + At line 354 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 105 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 262 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +DMA1_Stream4_IRQHandler 0000001A + +Symbol: DMA1_Stream4_IRQHandler + Definitions + At line 355 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 106 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 263 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +DMA1_Stream5_IRQHandler 0000001A + +Symbol: DMA1_Stream5_IRQHandler + Definitions + At line 356 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 107 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 264 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +DMA1_Stream6_IRQHandler 0000001A + +Symbol: DMA1_Stream6_IRQHandler + Definitions + At line 357 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 108 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + + + +ARM Macro Assembler Page 4 Alphabetic symbol ordering +Relocatable symbols + + At line 265 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +DMA1_Stream7_IRQHandler 0000001A + +Symbol: DMA1_Stream7_IRQHandler + Definitions + At line 387 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 138 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 295 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +DMA2D_IRQHandler 0000001A + +Symbol: DMA2D_IRQHandler + Definitions + At line 430 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 181 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 338 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +DMA2_Stream0_IRQHandler 0000001A + +Symbol: DMA2_Stream0_IRQHandler + Definitions + At line 396 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 147 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 304 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +DMA2_Stream1_IRQHandler 0000001A + +Symbol: DMA2_Stream1_IRQHandler + Definitions + At line 397 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 148 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 305 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +DMA2_Stream2_IRQHandler 0000001A + +Symbol: DMA2_Stream2_IRQHandler + Definitions + At line 398 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 149 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 306 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +DMA2_Stream3_IRQHandler 0000001A + +Symbol: DMA2_Stream3_IRQHandler + Definitions + At line 399 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 150 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 307 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +DMA2_Stream4_IRQHandler 0000001A + +Symbol: DMA2_Stream4_IRQHandler + + + +ARM Macro Assembler Page 5 Alphabetic symbol ordering +Relocatable symbols + + Definitions + At line 400 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 151 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 308 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +DMA2_Stream5_IRQHandler 0000001A + +Symbol: DMA2_Stream5_IRQHandler + Definitions + At line 408 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 159 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 316 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +DMA2_Stream6_IRQHandler 0000001A + +Symbol: DMA2_Stream6_IRQHandler + Definitions + At line 409 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 160 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 317 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +DMA2_Stream7_IRQHandler 0000001A + +Symbol: DMA2_Stream7_IRQHandler + Definitions + At line 410 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 161 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 318 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +DebugMon_Handler 00000014 + +Symbol: DebugMon_Handler + Definitions + At line 233 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 85 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 234 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +Default_Handler 0000001A + +Symbol: Default_Handler + Definitions + At line 246 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + None +Comment: Default_Handler unused +ETH_IRQHandler 0000001A + +Symbol: ETH_IRQHandler + Definitions + At line 401 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 152 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 309 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + + + + +ARM Macro Assembler Page 6 Alphabetic symbol ordering +Relocatable symbols + +ETH_WKUP_IRQHandler 0000001A + +Symbol: ETH_WKUP_IRQHandler + Definitions + At line 402 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 153 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 310 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +EXTI0_IRQHandler 0000001A + +Symbol: EXTI0_IRQHandler + Definitions + At line 346 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 97 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 254 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +EXTI15_10_IRQHandler 0000001A + +Symbol: EXTI15_10_IRQHandler + Definitions + At line 380 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 131 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 288 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +EXTI1_IRQHandler 0000001A + +Symbol: EXTI1_IRQHandler + Definitions + At line 347 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 98 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 255 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +EXTI2_IRQHandler 0000001A + +Symbol: EXTI2_IRQHandler + Definitions + At line 348 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 99 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 256 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +EXTI3_IRQHandler 0000001A + +Symbol: EXTI3_IRQHandler + Definitions + At line 349 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 100 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 257 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +EXTI4_IRQHandler 0000001A + +Symbol: EXTI4_IRQHandler + Definitions + At line 350 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + + + +ARM Macro Assembler Page 7 Alphabetic symbol ordering +Relocatable symbols + + Uses + At line 101 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 258 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +EXTI9_5_IRQHandler 0000001A + +Symbol: EXTI9_5_IRQHandler + Definitions + At line 363 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 114 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 271 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +FLASH_IRQHandler 0000001A + +Symbol: FLASH_IRQHandler + Definitions + At line 344 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 95 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 252 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +FMC_IRQHandler 0000001A + +Symbol: FMC_IRQHandler + Definitions + At line 388 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 139 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 296 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +FPU_IRQHandler 0000001A + +Symbol: FPU_IRQHandler + Definitions + At line 421 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 172 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 329 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +HASH_RNG_IRQHandler 0000001A + +Symbol: HASH_RNG_IRQHandler + Definitions + At line 420 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 171 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 328 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +HardFault_Handler 0000000A + +Symbol: HardFault_Handler + Definitions + At line 209 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 76 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 210 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +I2C1_ER_IRQHandler 0000001A + + + +ARM Macro Assembler Page 8 Alphabetic symbol ordering +Relocatable symbols + + +Symbol: I2C1_ER_IRQHandler + Definitions + At line 372 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 123 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 280 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +I2C1_EV_IRQHandler 0000001A + +Symbol: I2C1_EV_IRQHandler + Definitions + At line 371 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 122 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 279 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +I2C2_ER_IRQHandler 0000001A + +Symbol: I2C2_ER_IRQHandler + Definitions + At line 374 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 125 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 282 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +I2C2_EV_IRQHandler 0000001A + +Symbol: I2C2_EV_IRQHandler + Definitions + At line 373 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 124 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 281 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +I2C3_ER_IRQHandler 0000001A + +Symbol: I2C3_ER_IRQHandler + Definitions + At line 413 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 164 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 321 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +I2C3_EV_IRQHandler 0000001A + +Symbol: I2C3_EV_IRQHandler + Definitions + At line 412 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 163 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 320 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +LTDC_ER_IRQHandler 0000001A + +Symbol: LTDC_ER_IRQHandler + Definitions + At line 429 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + + + +ARM Macro Assembler Page 9 Alphabetic symbol ordering +Relocatable symbols + + At line 180 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 337 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +LTDC_IRQHandler 0000001A + +Symbol: LTDC_IRQHandler + Definitions + At line 428 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 179 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 336 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +MemManage_Handler 0000000C + +Symbol: MemManage_Handler + Definitions + At line 214 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 77 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 215 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +NMI_Handler 00000008 + +Symbol: NMI_Handler + Definitions + At line 204 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 75 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 205 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +OTG_FS_IRQHandler 0000001A + +Symbol: OTG_FS_IRQHandler + Definitions + At line 407 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 158 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 315 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +OTG_FS_WKUP_IRQHandler 0000001A + +Symbol: OTG_FS_WKUP_IRQHandler + Definitions + At line 382 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 133 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 290 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +OTG_HS_EP1_IN_IRQHandler 0000001A + +Symbol: OTG_HS_EP1_IN_IRQHandler + Definitions + At line 415 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 166 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 323 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +OTG_HS_EP1_OUT_IRQHandler 0000001A + + + + +ARM Macro Assembler Page 10 Alphabetic symbol ordering +Relocatable symbols + +Symbol: OTG_HS_EP1_OUT_IRQHandler + Definitions + At line 414 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 165 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 322 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +OTG_HS_IRQHandler 0000001A + +Symbol: OTG_HS_IRQHandler + Definitions + At line 417 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 168 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 325 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +OTG_HS_WKUP_IRQHandler 0000001A + +Symbol: OTG_HS_WKUP_IRQHandler + Definitions + At line 416 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 167 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 324 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +PVD_IRQHandler 0000001A + +Symbol: PVD_IRQHandler + Definitions + At line 341 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 92 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 249 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +PendSV_Handler 00000016 + +Symbol: PendSV_Handler + Definitions + At line 237 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 87 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 238 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +RCC_IRQHandler 0000001A + +Symbol: RCC_IRQHandler + Definitions + At line 345 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 96 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 253 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +RTC_Alarm_IRQHandler 0000001A + +Symbol: RTC_Alarm_IRQHandler + Definitions + At line 381 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 132 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + + + +ARM Macro Assembler Page 11 Alphabetic symbol ordering +Relocatable symbols + + At line 289 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +RTC_WKUP_IRQHandler 0000001A + +Symbol: RTC_WKUP_IRQHandler + Definitions + At line 343 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 94 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 251 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +Reset_Handler 00000000 + +Symbol: Reset_Handler + Definitions + At line 190 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 74 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 191 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +SAI1_IRQHandler 0000001A + +Symbol: SAI1_IRQHandler + Definitions + At line 427 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 178 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 335 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +SDIO_IRQHandler 0000001A + +Symbol: SDIO_IRQHandler + Definitions + At line 389 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 140 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 297 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +SPI1_IRQHandler 0000001A + +Symbol: SPI1_IRQHandler + Definitions + At line 375 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 126 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 283 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +SPI2_IRQHandler 0000001A + +Symbol: SPI2_IRQHandler + Definitions + At line 376 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 127 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 284 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +SPI3_IRQHandler 0000001A + +Symbol: SPI3_IRQHandler + + + +ARM Macro Assembler Page 12 Alphabetic symbol ordering +Relocatable symbols + + Definitions + At line 391 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 142 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 299 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +SPI4_IRQHandler 0000001A + +Symbol: SPI4_IRQHandler + Definitions + At line 424 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 175 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 332 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +SPI5_IRQHandler 0000001A + +Symbol: SPI5_IRQHandler + Definitions + At line 425 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 176 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 333 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +SPI6_IRQHandler 0000001A + +Symbol: SPI6_IRQHandler + Definitions + At line 426 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 177 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 334 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +SVC_Handler 00000012 + +Symbol: SVC_Handler + Definitions + At line 228 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 84 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 229 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +SysTick_Handler 00000018 + +Symbol: SysTick_Handler + Definitions + At line 241 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 88 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 242 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +TAMP_STAMP_IRQHandler 0000001A + +Symbol: TAMP_STAMP_IRQHandler + Definitions + At line 342 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 93 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 250 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + + + +ARM Macro Assembler Page 13 Alphabetic symbol ordering +Relocatable symbols + + +TIM1_BRK_TIM9_IRQHandler 0000001A + +Symbol: TIM1_BRK_TIM9_IRQHandler + Definitions + At line 364 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 115 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 272 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +TIM1_CC_IRQHandler 0000001A + +Symbol: TIM1_CC_IRQHandler + Definitions + At line 367 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 118 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 275 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +TIM1_TRG_COM_TIM11_IRQHandler 0000001A + +Symbol: TIM1_TRG_COM_TIM11_IRQHandler + Definitions + At line 366 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 117 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 274 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +TIM1_UP_TIM10_IRQHandler 0000001A + +Symbol: TIM1_UP_TIM10_IRQHandler + Definitions + At line 365 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 116 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 273 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +TIM2_IRQHandler 0000001A + +Symbol: TIM2_IRQHandler + Definitions + At line 368 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 119 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 276 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +TIM3_IRQHandler 0000001A + +Symbol: TIM3_IRQHandler + Definitions + At line 369 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 120 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 277 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +TIM4_IRQHandler 0000001A + +Symbol: TIM4_IRQHandler + Definitions + + + +ARM Macro Assembler Page 14 Alphabetic symbol ordering +Relocatable symbols + + At line 370 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 121 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 278 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +TIM5_IRQHandler 0000001A + +Symbol: TIM5_IRQHandler + Definitions + At line 390 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 141 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 298 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +TIM6_DAC_IRQHandler 0000001A + +Symbol: TIM6_DAC_IRQHandler + Definitions + At line 394 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 145 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 302 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +TIM7_IRQHandler 0000001A + +Symbol: TIM7_IRQHandler + Definitions + At line 395 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 146 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 303 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +TIM8_BRK_TIM12_IRQHandler 0000001A + +Symbol: TIM8_BRK_TIM12_IRQHandler + Definitions + At line 383 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 134 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 291 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +TIM8_CC_IRQHandler 0000001A + +Symbol: TIM8_CC_IRQHandler + Definitions + At line 386 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 137 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 294 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +TIM8_TRG_COM_TIM14_IRQHandler 0000001A + +Symbol: TIM8_TRG_COM_TIM14_IRQHandler + Definitions + At line 385 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 136 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 293 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + + + + +ARM Macro Assembler Page 15 Alphabetic symbol ordering +Relocatable symbols + +TIM8_UP_TIM13_IRQHandler 0000001A + +Symbol: TIM8_UP_TIM13_IRQHandler + Definitions + At line 384 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 135 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 292 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +UART4_IRQHandler 0000001A + +Symbol: UART4_IRQHandler + Definitions + At line 392 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 143 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 300 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +UART5_IRQHandler 0000001A + +Symbol: UART5_IRQHandler + Definitions + At line 393 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 144 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 301 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +UART7_IRQHandler 0000001A + +Symbol: UART7_IRQHandler + Definitions + At line 422 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 173 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 330 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +UART8_IRQHandler 0000001A + +Symbol: UART8_IRQHandler + Definitions + At line 423 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 174 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 331 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +USART1_IRQHandler 0000001A + +Symbol: USART1_IRQHandler + Definitions + At line 377 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 128 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 285 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +USART2_IRQHandler 0000001A + +Symbol: USART2_IRQHandler + Definitions + At line 378 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + + + +ARM Macro Assembler Page 16 Alphabetic symbol ordering +Relocatable symbols + + Uses + At line 129 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 286 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +USART3_IRQHandler 0000001A + +Symbol: USART3_IRQHandler + Definitions + At line 379 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 130 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 287 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +USART6_IRQHandler 0000001A + +Symbol: USART6_IRQHandler + Definitions + At line 411 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 162 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 319 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +UsageFault_Handler 00000010 + +Symbol: UsageFault_Handler + Definitions + At line 224 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 79 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 225 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +WWDG_IRQHandler 0000001A + +Symbol: WWDG_IRQHandler + Definitions + At line 340 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 91 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 248 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +103 symbols + + + +ARM Macro Assembler Page 1 Alphabetic symbol ordering +Absolute symbols + +Heap_Size 00000800 + +Symbol: Heap_Size + Definitions + At line 55 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 59 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s +Comment: Heap_Size used once +Stack_Size 00002000 + +Symbol: Stack_Size + Definitions + At line 41 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 44 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + At line 47 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + +__Vectors_Size 000001AC + +Symbol: __Vectors_Size + Definitions + At line 185 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 70 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s +Comment: __Vectors_Size used once +3 symbols + + + +ARM Macro Assembler Page 1 Alphabetic symbol ordering +External symbols + +__main 00000000 + +Symbol: __main + Definitions + At line 193 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 198 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s +Comment: __main used once +__system 00000000 + +Symbol: __system + Definitions + At line 192 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + Uses + At line 196 in file RTE/Device/CT_Board_HS14_M0/startup_ctboard.s +Comment: __system used once +2 symbols +453 symbols in table diff --git a/sum_diff/build/startup_ctboard.o b/sum_diff/build/startup_ctboard.o new file mode 100644 index 0000000000000000000000000000000000000000..1c7c2fa8f54a919e10fb252f188b3e3d193d7ce0 GIT binary patch literal 8184 zcmeHMe{5S<6+Z7dj@_+Y)BRv=-FD{98)aMFI8C~=tT4xMYp-#W*-qOrZ?8`L(t3;S zU^}H9)z&`-OxlDhF-;pPXc|mRqJkkYG@uA15E|1oO{{oD_MQSP}Ua z@uu`2Q+@jj9B#5+WOPRxq@k~k&u5^=xCE5v(5UL)Qsa)EeU ziUWp~- zm3Tk$O0V2k-^OA zeS;a<_rcr!KiGBEHsNYsBN8QEja*}FKxqbyd@;R!(m7t8cebaB_C%xHtk{`CV${wJ zZ*R5B&Gzz=J>Q-qA8$#jQCn)%oqBtBG})|0DOMMqW^|#^jHYXIPNm{hqC4Y>@o2Hp zSlk^gH*4iqEqeEuGde%#3=iKUsoka7meXvNnvGhyUYcyoFW2C&RhlZ#*<*IHS#2My zO)ojka=Y57w@R($nq8?b;H0B*A#7&eX*q2>Q?6GqyQ0FR59G34lEh^sGYEZed3kZg zp7d&}a!xH*u9uHG-BF~kplV{d)^bV9$F#ht=e7KjmS55G8(Mx-%K%?H8(t9y!8S2Q& z@x@C4%FwYHJelVVruh={9eQ6bN@z%_FUlo#D>I_k@V8oI9RSZ!fe;6=O z#|HHUfZa7By2G+p4G{WBiG{4b%L+Z!4a9m{I z8K_mnw9&pey?oVD1jatZz99KVTozN02lixznmJR6LWAau;&c}I9d%btxu~}k%&kfS4IMJHIl4Y z7>{>56&|C$f}C2B`GF-ykoTvjVXTVQFy*hHO(Xa_rByrvzzi5*;GGDJ@jW#-qW6a9 z<}56rVIb-uWb$&eL}G1RQ=F(?n)piM&#@C<-T=7R!IQ+1=p4i z?$c3W{hk>S4mJX>eL>lWanx`UcOU4`lrhL0bUprDcQlLOTc~?$a4+%eYJ=_}ltYIm z_u1L}ot=mI*+Md3+}X$M=wn9un1qjkoAF-a)?Q+)ml*XD#cXceo}ICQ310w8QOxhN zQ`0%6?H`s(^?91e?^njY$l=Nt737`vWU_a(FHqR@PS_h>?;MHFI);0~O4#0Y__h$! zB<#L*By7EoT|Q6A+>Bi)^6E)uVJ7QKC1l@1Ao~^q*|!kLzJ);cMOc{3PW$Fd`t|u@ z%09Fo8T77#&fwE7+{618<>7s6^YFeUdU)STJ-lzh9^SV^^1jmyBJmLm>hQe_>hQe_ z>hQe_>hQe_>hQe_>hQe_>hS&rrBLSaBq)`?YsM!h4~*Ew!+lgCmG0y6hka9~I5dCQ zHyt>9M)tZxWPR=u7~1QOoX=g-e;4ZdT`(+fFMMD`s+bwvar&BNr>gX40|b?x~TH z*x}t%iA1b`UN)UhCt?p~55;B+>B7OCu?Gvq{i*$vu6QfN%v5Z;Fq2HBW9ffcS)f=g zAGKS{OG{0s)!MUb*Nz0p`K9GOsYVmwZp#g;F-xc>?unP?xPztMGFT!{ruu`#rgLgCi%!;cFJ>AF=FTjyQ`GJ)vHjGyV|_g*kEiKh?+QRs#riY zSaKLJu0W|y;;mz?cC%fclQ>lIa`!k%e7;d*y%{FjpmnmQ44clPKC%nVa?KIn`Tgi) z9bXx@Sgm8&id?NPG+bGoDQY|i%{_UD`9Es`mSJv_DE_1Jtn#D^M(m-c!uGVfdWto$ zbSeLJ;A`&74OtZ5@SNUtv6iov;lLAk8GZ+q9=^`_8w;V`cBb3IE5drdL8G>+IMl3| zP}PDeJUU}x=`mc_>acN9TbGLrznC&EiBY=s4d=8 zei;&qcCdEaQl}Hf|McLX0(q6VUfnP|)qt-50nVeUJe{$`MOAoPE6`%Wx}_Di)vlr& z#h<$;VHc<#=Y>s&?+UKn<8M)d?Wkg(*E;oY#_%d#ra+jwK#8z#feDMqou)SdBe(K} znUM_1P)NOb^-ocecV)sQjZRsx RXS{N}$xD8R(Mte|e*$j~BcT8Q literal 0 HcmV?d00001 diff --git a/sum_diff/build/sum_diff.axf b/sum_diff/build/sum_diff.axf new file mode 100644 index 0000000000000000000000000000000000000000..6a5e73305a5d007d20dd9a1f73ec5a0aba0dc530 GIT binary patch literal 46056 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 + +

+

µVision Build Log

+

Tool Versions:

+IDE-Version: µVision V5.37.0.0 +Copyright (C) 2022 ARM Ltd and ARM Germany GmbH. All rights reserved. +License Information: Roman Schenk, ZHAW, LIC=---- + +Tool Versions: +Toolchain: MDK-Lite Version: 5.37.0.0 +Toolchain Path: C:\Keil_v5\ARM\ARMCLANG\Bin +C Compiler: ArmClang.exe V6.18 +Assembler: Armasm.exe V6.18 +Linker/Locator: ArmLink.exe V6.18 +Library Manager: ArmAr.exe V6.18 +Hex Converter: FromElf.exe V6.18 +CPU DLL: SARMCM3.DLL V5.37.0.0 +Dialog DLL: DARMCM1.DLL V1.19.6.0 +Target DLL: STLink\ST-LINKIII-KEIL_SWO.dll V3.0.9.0 +Dialog DLL: TARMCM1.DLL V1.14.6.0 + +

Project:

+C:\Users\roman\Documents\Lab_5_ArithmOperations\sum_diff\sum_diff.uvprojx +Project File Date: 10/21/2022 + +

Output:

+*** Using Compiler 'V6.18', folder: 'C:\Keil_v5\ARM\ARMCLANG\Bin' +Rebuild target 'Target 1' +assembling sumdiff.s... +assembling datainit_ctboard.s... +assembling startup_ctboard.s... +compiling hal_pwr.c... +compiling hal_fmc.c... +compiling system_ctboard.c... +compiling hal_gpio.c... +compiling hal_rcc.c... +linking... +Program Size: Code=3464 RO-data=428 RW-data=0 ZI-data=8192 +".\build\sum_diff.axf" - 0 Error(s), 0 Warning(s). + +

Software Packages used:

+ +Package Vendor: InES + https://ennis.zhaw.ch/pack/InES.CTBoard14_DFP.4.0.2.pack + InES.CTBoard14_DFP.4.0.2 + CT Board 14 (STM32F429ZI) Device Support + * Component: Startup Version: 4.0.1 + * Component: FMC Version: 3.0.1 + * Component: GPIO Version: 4.0.1 + * Component: PWR Version: 2.2.0 + * Component: RCC Version: 4.0.1 + +

Collection of Component include folders:

+ ./RTE/_Target_1 + C:/Users/roman/AppData/Local/Arm/Packs/InES/CTBoard14_DFP/4.0.2/Device/Include + C:/Users/roman/AppData/Local/Arm/Packs/InES/CTBoard14_DFP/4.0.2/Device/Include/m0 + C:/Users/roman/AppData/Local/Arm/Packs/InES/CTBoard14_DFP/4.0.2/HAL/Include + +

Collection of Component Files used:

+ + * Component: InES::Device:Startup:4.0.1 + Include file: Device/Include/reg_stm32f4xx.h + Include file: Device/Include/m0/platform_ctboard.h + Include file: Device/Include/reg_ctboard.h + Include file: Device/Include/system_ctboard.h + Source file: Device/Source/startup_ctboard.s + Source file: Device/Source/datainit_ctboard.s + Source file: Device/Source/system_ctboard.c + + * Component: InES::HAL:FMC:3.0.1 + Source file: HAL/Source/hal_fmc.c + Include file: HAL/Include/hal_common.h + Include file: HAL/Include/hal_fmc.h + Include file: Device/Include/reg_stm32f4xx.h + + * Component: InES::HAL:GPIO:4.0.1 + Source file: HAL/Source/hal_gpio.c + Include file: HAL/Include/hal_common.h + Include file: Device/Include/reg_stm32f4xx.h + Include file: HAL/Include/hal_gpio.h + + * Component: InES::HAL:PWR:2.2.0 + Include file: HAL/Include/hal_common.h + Include file: Device/Include/reg_stm32f4xx.h + Include file: HAL/Include/hal_pwr.h + Source file: HAL/Source/hal_pwr.c + + * Component: InES::HAL:RCC:4.0.1 + Include file: HAL/Include/hal_rcc.h + Source file: HAL/Source/hal_rcc.c + Include file: Device/Include/reg_stm32f4xx.h + Include file: HAL/Include/hal_common.h +Build Time Elapsed: 00:00:00 +
+ + diff --git a/sum_diff/build/sum_diff.htm b/sum_diff/build/sum_diff.htm new file mode 100644 index 0000000..dc63848 --- /dev/null +++ b/sum_diff/build/sum_diff.htm @@ -0,0 +1,612 @@ + + +Static Call Graph - [.\build\sum_diff.axf] +
+

Static Call Graph for image .\build\sum_diff.axf


+

#<CALLGRAPH># ARM Linker, 6180002: Last Updated: Fri Oct 21 09:13:02 2022 +

+

Maximum Stack Usage = 132 bytes + Unknown(Cycles, Untraceable Function Pointers)

+Call chain for Maximum Stack Depth:

+__system ⇒ system_enter_run ⇒ hal_gpio_init_alternate ⇒ hal_gpio_init_output +

+

+Mutually Recursive functions +

  • NMI_Handler   ⇒   NMI_Handler
    +
  • HardFault_Handler   ⇒   HardFault_Handler
    +
  • MemManage_Handler   ⇒   MemManage_Handler
    +
  • BusFault_Handler   ⇒   BusFault_Handler
    +
  • UsageFault_Handler   ⇒   UsageFault_Handler
    +
  • SVC_Handler   ⇒   SVC_Handler
    +
  • DebugMon_Handler   ⇒   DebugMon_Handler
    +
  • PendSV_Handler   ⇒   PendSV_Handler
    +
  • SysTick_Handler   ⇒   SysTick_Handler
    +
  • ADC_IRQHandler   ⇒   ADC_IRQHandler
    +
  • main   ⇒   main
    + +

    +

    +Function Pointers +

      +
    • ADC_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • BusFault_Handler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • CAN1_RX0_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • CAN1_RX1_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • CAN1_SCE_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • CAN1_TX_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • CAN2_RX0_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • CAN2_RX1_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • CAN2_SCE_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • CAN2_TX_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • CRYP_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • DCMI_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • DMA1_Stream0_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • DMA1_Stream1_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • DMA1_Stream2_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • DMA1_Stream3_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • DMA1_Stream4_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • DMA1_Stream5_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • DMA1_Stream6_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • DMA1_Stream7_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • DMA2D_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • DMA2_Stream0_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • DMA2_Stream1_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • DMA2_Stream2_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • DMA2_Stream3_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • DMA2_Stream4_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • DMA2_Stream5_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • DMA2_Stream6_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • DMA2_Stream7_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • DebugMon_Handler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • ETH_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • ETH_WKUP_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • EXTI0_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • EXTI15_10_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • EXTI1_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • EXTI2_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • EXTI3_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • EXTI4_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • EXTI9_5_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • FLASH_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • FMC_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • FPU_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • HASH_RNG_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • HardFault_Handler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • I2C1_ER_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • I2C1_EV_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • I2C2_ER_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • I2C2_EV_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • I2C3_ER_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • I2C3_EV_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • LTDC_ER_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • LTDC_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • MemManage_Handler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • NMI_Handler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • OTG_FS_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • OTG_FS_WKUP_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • OTG_HS_EP1_IN_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • OTG_HS_EP1_OUT_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • OTG_HS_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • OTG_HS_WKUP_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • PVD_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • PendSV_Handler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • RCC_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • RTC_Alarm_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • RTC_WKUP_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • Reset_Handler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • SAI1_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • SDIO_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • SPI1_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • SPI2_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • SPI3_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • SPI4_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • SPI5_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • SPI6_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • SVC_Handler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • SysTick_Handler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • TAMP_STAMP_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • TIM1_BRK_TIM9_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • TIM1_CC_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • TIM1_TRG_COM_TIM11_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • TIM1_UP_TIM10_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • TIM2_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • TIM3_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • TIM4_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • TIM5_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • TIM6_DAC_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • TIM7_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • TIM8_BRK_TIM12_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • TIM8_CC_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • TIM8_TRG_COM_TIM14_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • TIM8_UP_TIM13_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • UART4_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • UART5_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • UART7_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • UART8_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • USART1_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • USART2_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • USART3_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • USART6_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • UsageFault_Handler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • WWDG_IRQHandler from startup_ctboard.o(.text) referenced from startup_ctboard.o(RESET) +
    • __main from datainit_ctboard.o(.text) referenced from startup_ctboard.o(.text) +
    • __system from system_ctboard.o(.text) referenced from startup_ctboard.o(.text) +
    • main from sumdiff.o(MyCode) referenced from datainit_ctboard.o(.text) +
    +

    +

    +Global Symbols +

    +

    __main (Thumb, 74 bytes, Stack size 0 bytes, datainit_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(.text) +
    +

    Reset_Handler (Thumb, 8 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    NMI_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +

    [Calls]

    • >>   NMI_Handler +
    +
    [Called By]
    • >>   NMI_Handler +
    +
    [Address Reference Count : 1]
    • startup_ctboard.o(RESET) +
    +

    HardFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +

    [Calls]

    • >>   HardFault_Handler +
    +
    [Called By]
    • >>   HardFault_Handler +
    +
    [Address Reference Count : 1]
    • startup_ctboard.o(RESET) +
    +

    MemManage_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +

    [Calls]

    • >>   MemManage_Handler +
    +
    [Called By]
    • >>   MemManage_Handler +
    +
    [Address Reference Count : 1]
    • startup_ctboard.o(RESET) +
    +

    BusFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +

    [Calls]

    • >>   BusFault_Handler +
    +
    [Called By]
    • >>   BusFault_Handler +
    +
    [Address Reference Count : 1]
    • startup_ctboard.o(RESET) +
    +

    UsageFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +

    [Calls]

    • >>   UsageFault_Handler +
    +
    [Called By]
    • >>   UsageFault_Handler +
    +
    [Address Reference Count : 1]
    • startup_ctboard.o(RESET) +
    +

    SVC_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +

    [Calls]

    • >>   SVC_Handler +
    +
    [Called By]
    • >>   SVC_Handler +
    +
    [Address Reference Count : 1]
    • startup_ctboard.o(RESET) +
    +

    DebugMon_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +

    [Calls]

    • >>   DebugMon_Handler +
    +
    [Called By]
    • >>   DebugMon_Handler +
    +
    [Address Reference Count : 1]
    • startup_ctboard.o(RESET) +
    +

    PendSV_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +

    [Calls]

    • >>   PendSV_Handler +
    +
    [Called By]
    • >>   PendSV_Handler +
    +
    [Address Reference Count : 1]
    • startup_ctboard.o(RESET) +
    +

    SysTick_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +

    [Calls]

    • >>   SysTick_Handler +
    +
    [Called By]
    • >>   SysTick_Handler +
    +
    [Address Reference Count : 1]
    • startup_ctboard.o(RESET) +
    +

    ADC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +

    [Calls]

    • >>   ADC_IRQHandler +
    +
    [Called By]
    • >>   ADC_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup_ctboard.o(RESET) +
    +

    CAN1_RX0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    CAN1_RX1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    CAN1_SCE_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    CAN1_TX_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    CAN2_RX0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    CAN2_RX1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    CAN2_SCE_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    CAN2_TX_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    CRYP_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    DCMI_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    DMA1_Stream0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    DMA1_Stream1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    DMA1_Stream2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    DMA1_Stream3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    DMA1_Stream4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    DMA1_Stream5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    DMA1_Stream6_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    DMA1_Stream7_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    DMA2D_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    DMA2_Stream0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    DMA2_Stream1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    DMA2_Stream2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    DMA2_Stream3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    DMA2_Stream4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    DMA2_Stream5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    DMA2_Stream6_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    DMA2_Stream7_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    ETH_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    ETH_WKUP_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    EXTI0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    EXTI15_10_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    EXTI1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    EXTI2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    EXTI3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    EXTI4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    EXTI9_5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    FLASH_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    FMC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    FPU_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    HASH_RNG_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    I2C1_ER_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    I2C1_EV_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    I2C2_ER_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    I2C2_EV_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    I2C3_ER_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    I2C3_EV_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    LTDC_ER_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    LTDC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    OTG_FS_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    OTG_FS_WKUP_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    OTG_HS_EP1_IN_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    OTG_HS_EP1_OUT_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    OTG_HS_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    OTG_HS_WKUP_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    PVD_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    RCC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    RTC_Alarm_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    RTC_WKUP_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    SAI1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    SDIO_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    SPI1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    SPI2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    SPI3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    SPI4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    SPI5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    SPI6_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    TAMP_STAMP_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    TIM1_BRK_TIM9_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    TIM1_CC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    TIM1_TRG_COM_TIM11_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    TIM1_UP_TIM10_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    TIM2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    TIM3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    TIM4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    TIM5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    TIM6_DAC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    TIM7_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    TIM8_BRK_TIM12_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    TIM8_CC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    TIM8_TRG_COM_TIM14_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    TIM8_UP_TIM13_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    UART4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    UART5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    UART7_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    UART8_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    USART1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    USART2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    USART3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    USART6_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    WWDG_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ctboard.o(.text)) +
    [Address Reference Count : 1]

    • startup_ctboard.o(RESET) +
    +

    __system (Thumb, 8 bytes, Stack size 8 bytes, system_ctboard.o(.text)) +

    [Stack]

    • Max Depth = 132
    • Call Chain = __system ⇒ system_enter_run ⇒ hal_gpio_init_alternate ⇒ hal_gpio_init_output +
    +
    [Calls]
    • >>   system_enter_run +
    +
    [Address Reference Count : 1]
    • startup_ctboard.o(.text) +
    +

    system_enter_run (Thumb, 280 bytes, Stack size 48 bytes, system_ctboard.o(.text)) +

    [Stack]

    • Max Depth = 124
    • Call Chain = system_enter_run ⇒ hal_gpio_init_alternate ⇒ hal_gpio_init_output +
    +
    [Calls]
    • >>   hal_fmc_init_sram +
    • >>   hal_gpio_init_alternate +
    • >>   hal_rcc_setup_clock +
    • >>   hal_pwr_set_overdrive +
    • >>   hal_rcc_setup_pll +
    • >>   hal_rcc_set_osc +
    • >>   hal_rcc_reset +
    +
    [Called By]
    • >>   __system +
    + +

    system_enter_sleep (Thumb, 2 bytes, Stack size 0 bytes, system_ctboard.o(.text), UNUSED) + +

    system_enter_stop (Thumb, 2 bytes, Stack size 0 bytes, system_ctboard.o(.text), UNUSED) + +

    system_enter_standby (Thumb, 2 bytes, Stack size 0 bytes, system_ctboard.o(.text), UNUSED) + +

    hal_fmc_reset (Thumb, 60 bytes, Stack size 0 bytes, hal_fmc.o(.text), UNUSED) + +

    hal_fmc_init_sram (Thumb, 264 bytes, Stack size 36 bytes, hal_fmc.o(.text)) +

    [Stack]

    • Max Depth = 36
    • Call Chain = hal_fmc_init_sram +
    +
    [Called By]
    • >>   system_enter_run +
    + +

    hal_gpio_reset (Thumb, 68 bytes, Stack size 0 bytes, hal_gpio.o(.text), UNUSED) + +

    hal_gpio_init_input (Thumb, 156 bytes, Stack size 32 bytes, hal_gpio.o(.text), UNUSED) + +

    hal_gpio_init_analog (Thumb, 240 bytes, Stack size 36 bytes, hal_gpio.o(.text), UNUSED) + +

    hal_gpio_init_output (Thumb, 276 bytes, Stack size 36 bytes, hal_gpio.o(.text)) +

    [Stack]

    • Max Depth = 36
    • Call Chain = hal_gpio_init_output +
    +
    [Called By]
    • >>   hal_gpio_init_alternate +
    + +

    hal_gpio_init_alternate (Thumb, 262 bytes, Stack size 40 bytes, hal_gpio.o(.text)) +

    [Stack]

    • Max Depth = 76
    • Call Chain = hal_gpio_init_alternate ⇒ hal_gpio_init_output +
    +
    [Calls]
    • >>   hal_gpio_init_output +
    +
    [Called By]
    • >>   system_enter_run +
    + +

    hal_gpio_input_read (Thumb, 6 bytes, Stack size 0 bytes, hal_gpio.o(.text), UNUSED) + +

    hal_gpio_output_read (Thumb, 6 bytes, Stack size 0 bytes, hal_gpio.o(.text), UNUSED) + +

    hal_gpio_output_write (Thumb, 20 bytes, Stack size 0 bytes, hal_gpio.o(.text), UNUSED) + +

    hal_gpio_bit_set (Thumb, 24 bytes, Stack size 0 bytes, hal_gpio.o(.text), UNUSED) + +

    hal_gpio_bit_reset (Thumb, 28 bytes, Stack size 0 bytes, hal_gpio.o(.text), UNUSED) + +

    hal_gpio_bit_toggle (Thumb, 28 bytes, Stack size 0 bytes, hal_gpio.o(.text), UNUSED) + +

    hal_gpio_irq_set (Thumb, 292 bytes, Stack size 36 bytes, hal_gpio.o(.text), UNUSED) + +

    hal_gpio_irq_status (Thumb, 24 bytes, Stack size 0 bytes, hal_gpio.o(.text), UNUSED) + +

    hal_gpio_irq_clear (Thumb, 12 bytes, Stack size 0 bytes, hal_gpio.o(.text), UNUSED) + +

    hal_pwr_reset (Thumb, 16 bytes, Stack size 0 bytes, hal_pwr.o(.text), UNUSED) + +

    hal_pwr_set_backup_domain (Thumb, 56 bytes, Stack size 16 bytes, hal_pwr.o(.text), UNUSED) + +

    hal_pwr_set_backup_access (Thumb, 24 bytes, Stack size 0 bytes, hal_pwr.o(.text), UNUSED) + +

    hal_pwr_set_wakeup_pin (Thumb, 24 bytes, Stack size 0 bytes, hal_pwr.o(.text), UNUSED) + +

    hal_pwr_set_flash_powerdown (Thumb, 24 bytes, Stack size 0 bytes, hal_pwr.o(.text), UNUSED) + +

    hal_pwr_set_overdrive (Thumb, 4 bytes, Stack size 0 bytes, hal_pwr.o(.text)) +

    [Called By]

    • >>   system_enter_run +
    + +

    hal_pwr_set_underdrive (Thumb, 4 bytes, Stack size 0 bytes, hal_pwr.o(.text), UNUSED) + +

    hal_rcc_reset (Thumb, 104 bytes, Stack size 16 bytes, hal_rcc.o(.text)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = hal_rcc_reset +
    +
    [Called By]
    • >>   system_enter_run +
    + +

    hal_rcc_set_peripheral (Thumb, 228 bytes, Stack size 8 bytes, hal_rcc.o(.text), UNUSED) + +

    hal_rcc_set_osc (Thumb, 108 bytes, Stack size 16 bytes, hal_rcc.o(.text)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = hal_rcc_set_osc +
    +
    [Called By]
    • >>   system_enter_run +
    + +

    hal_rcc_setup_pll (Thumb, 220 bytes, Stack size 24 bytes, hal_rcc.o(.text)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = hal_rcc_setup_pll +
    +
    [Called By]
    • >>   system_enter_run +
    + +

    hal_rcc_setup_clock (Thumb, 80 bytes, Stack size 16 bytes, hal_rcc.o(.text)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = hal_rcc_setup_clock +
    +
    [Called By]
    • >>   system_enter_run +
    + +

    main (Thumb, 56 bytes, Stack size 0 bytes, sumdiff.o(MyCode)) +

    [Calls]

    • >>   main +
    +
    [Called By]
    • >>   main +
    +
    [Address Reference Count : 1]
    • datainit_ctboard.o(.text) +

    +

    +Local Symbols +

    +

    +Undefined Global Symbols +


    diff --git a/sum_diff/build/sum_diff.lnp b/sum_diff/build/sum_diff.lnp new file mode 100644 index 0000000..e4340f3 --- /dev/null +++ b/sum_diff/build/sum_diff.lnp @@ -0,0 +1,13 @@ +--cpu Cortex-M0 +".\build\sumdiff.o" +".\build\datainit_ctboard.o" +".\build\startup_ctboard.o" +".\build\system_ctboard.o" +".\build\hal_fmc.o" +".\build\hal_gpio.o" +".\build\hal_pwr.o" +".\build\hal_rcc.o" +--strict --scatter ".\build\sum_diff.sct" +--diag_suppress 6314 --summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols +--info sizes --info totals --info unused --info veneers +--list ".\build\sum_diff.map" -o .\build\sum_diff.axf \ No newline at end of file diff --git a/sum_diff/build/sum_diff.map b/sum_diff/build/sum_diff.map new file mode 100644 index 0000000..151691d --- /dev/null +++ b/sum_diff/build/sum_diff.map @@ -0,0 +1,363 @@ +Component: Arm Compiler for Embedded 6.18 Tool: armlink [5e4cc100] + +============================================================================== + +Section Cross References + + datainit_ctboard.o(.text) refers (Weak) to startup_ctboard.o(STACK) for Stack_Mem + datainit_ctboard.o(.text) refers to sumdiff.o(MyCode) for main + startup_ctboard.o(RESET) refers to startup_ctboard.o(STACK) for __initial_sp + startup_ctboard.o(RESET) refers to startup_ctboard.o(.text) for Reset_Handler + startup_ctboard.o(.text) refers to system_ctboard.o(.text) for __system + startup_ctboard.o(.text) refers to datainit_ctboard.o(.text) for __main + system_ctboard.o(.text) refers to hal_rcc.o(.text) for hal_rcc_reset + system_ctboard.o(.text) refers to hal_pwr.o(.text) for hal_pwr_set_overdrive + system_ctboard.o(.text) refers to hal_gpio.o(.text) for hal_gpio_init_alternate + system_ctboard.o(.text) refers to hal_fmc.o(.text) for hal_fmc_init_sram + system_ctboard.o(.ARM.exidx) refers to system_ctboard.o(.text) for [Anonymous Symbol] + hal_fmc.o(.ARM.exidx) refers to hal_fmc.o(.text) for [Anonymous Symbol] + hal_gpio.o(.ARM.exidx) refers to hal_gpio.o(.text) for [Anonymous Symbol] + hal_pwr.o(.ARM.exidx) refers to hal_pwr.o(.text) for [Anonymous Symbol] + hal_rcc.o(.ARM.exidx) refers to hal_rcc.o(.text) for [Anonymous Symbol] + + +============================================================================== + +Removing Unused input sections from the image. + + Removing startup_ctboard.o(HEAP), (2048 bytes). + Removing system_ctboard.o(.ARM.exidx), (40 bytes). + Removing hal_fmc.o(.ARM.exidx), (16 bytes). + Removing hal_gpio.o(.ARM.exidx), (112 bytes). + Removing hal_pwr.o(.ARM.exidx), (56 bytes). + Removing hal_rcc.o(.ARM.exidx), (40 bytes). + +6 unused section(s) (total 2312 bytes) removed from the image. + +============================================================================== + +Image Symbol Table + + Local Symbols + + Symbol Name Value Ov Type Size Object(Section) + + RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s 0x00000000 Number 0 datainit_ctboard.o ABSOLUTE + RTE/Device/CT_Board_HS14_M0/startup_ctboard.s 0x00000000 Number 0 startup_ctboard.o ABSOLUTE + app\sumdiff.s 0x00000000 Number 0 sumdiff.o ABSOLUTE + hal_fmc.c 0x00000000 Number 0 hal_fmc.o ABSOLUTE + hal_gpio.c 0x00000000 Number 0 hal_gpio.o ABSOLUTE + hal_pwr.c 0x00000000 Number 0 hal_pwr.o ABSOLUTE + hal_rcc.c 0x00000000 Number 0 hal_rcc.o ABSOLUTE + system_ctboard.c 0x00000000 Number 0 system_ctboard.o ABSOLUTE + RESET 0x08000000 Section 428 startup_ctboard.o(RESET) + .text 0x080001ac Section 124 datainit_ctboard.o(.text) + .text 0x08000228 Section 36 startup_ctboard.o(.text) + [Anonymous Symbol] 0x0800024c Section 0 system_ctboard.o(.text) + __arm_cp.1_0 0x0800036c Number 4 system_ctboard.o(.text) + __arm_cp.1_1 0x08000370 Number 4 system_ctboard.o(.text) + __arm_cp.1_2 0x08000374 Number 4 system_ctboard.o(.text) + __arm_cp.1_3 0x08000378 Number 4 system_ctboard.o(.text) + __arm_cp.1_4 0x0800037c Number 4 system_ctboard.o(.text) + __arm_cp.1_5 0x08000380 Number 4 system_ctboard.o(.text) + __arm_cp.1_6 0x08000384 Number 4 system_ctboard.o(.text) + __arm_cp.1_7 0x08000388 Number 4 system_ctboard.o(.text) + __arm_cp.1_8 0x0800038c Number 4 system_ctboard.o(.text) + __arm_cp.1_9 0x08000390 Number 4 system_ctboard.o(.text) + __arm_cp.1_10 0x08000394 Number 4 system_ctboard.o(.text) + __arm_cp.1_11 0x08000398 Number 4 system_ctboard.o(.text) + __arm_cp.1_12 0x0800039c Number 4 system_ctboard.o(.text) + __arm_cp.1_13 0x080003a0 Number 4 system_ctboard.o(.text) + __arm_cp.1_14 0x080003a4 Number 4 system_ctboard.o(.text) + [Anonymous Symbol] 0x080003b0 Section 0 hal_fmc.o(.text) + __arm_cp.0_0 0x080003ec Number 4 hal_fmc.o(.text) + __arm_cp.0_1 0x080003f0 Number 4 hal_fmc.o(.text) + __arm_cp.0_2 0x080003f4 Number 4 hal_fmc.o(.text) + __arm_cp.1_0 0x08000500 Number 4 hal_fmc.o(.text) + [Anonymous Symbol] 0x08000504 Section 0 hal_gpio.o(.text) + __arm_cp.0_0 0x08000548 Number 4 hal_gpio.o(.text) + __arm_cp.0_1 0x0800054c Number 4 hal_gpio.o(.text) + __arm_cp.1_0 0x080005ec Number 4 hal_gpio.o(.text) + __arm_cp.1_1 0x080005f0 Number 4 hal_gpio.o(.text) + __arm_cp.2_0 0x080006e4 Number 4 hal_gpio.o(.text) + __arm_cp.2_1 0x080006e8 Number 4 hal_gpio.o(.text) + __arm_cp.3_0 0x08000800 Number 4 hal_gpio.o(.text) + __arm_cp.3_1 0x08000804 Number 4 hal_gpio.o(.text) + __arm_cp.7_0 0x08000930 Number 4 hal_gpio.o(.text) + __arm_cp.7_1 0x08000934 Number 4 hal_gpio.o(.text) + __arm_cp.8_0 0x08000950 Number 4 hal_gpio.o(.text) + __arm_cp.8_1 0x08000954 Number 4 hal_gpio.o(.text) + __arm_cp.9_0 0x08000974 Number 4 hal_gpio.o(.text) + __arm_cp.9_1 0x08000978 Number 4 hal_gpio.o(.text) + __arm_cp.10_0 0x08000998 Number 4 hal_gpio.o(.text) + __arm_cp.10_1 0x0800099c Number 4 hal_gpio.o(.text) + __arm_cp.11_0 0x08000ac4 Number 4 hal_gpio.o(.text) + __arm_cp.11_1 0x08000ac8 Number 4 hal_gpio.o(.text) + __arm_cp.11_2 0x08000acc Number 4 hal_gpio.o(.text) + __arm_cp.11_3 0x08000ad0 Number 4 hal_gpio.o(.text) + __arm_cp.11_4 0x08000ad4 Number 4 hal_gpio.o(.text) + __arm_cp.11_5 0x08000ad8 Number 4 hal_gpio.o(.text) + __arm_cp.12_0 0x08000af4 Number 4 hal_gpio.o(.text) + __arm_cp.13_0 0x08000b04 Number 4 hal_gpio.o(.text) + [Anonymous Symbol] 0x08000b08 Section 0 hal_pwr.o(.text) + __arm_cp.0_0 0x08000b18 Number 4 hal_pwr.o(.text) + __arm_cp.1_0 0x08000b54 Number 4 hal_pwr.o(.text) + __arm_cp.2_0 0x08000b70 Number 4 hal_pwr.o(.text) + __arm_cp.3_0 0x08000b8c Number 4 hal_pwr.o(.text) + __arm_cp.4_0 0x08000ba8 Number 4 hal_pwr.o(.text) + [Anonymous Symbol] 0x08000bb4 Section 0 hal_rcc.o(.text) + __arm_cp.0_0 0x08000c1c Number 4 hal_rcc.o(.text) + __arm_cp.0_1 0x08000c20 Number 4 hal_rcc.o(.text) + __arm_cp.0_2 0x08000c24 Number 4 hal_rcc.o(.text) + __arm_cp.0_3 0x08000c28 Number 4 hal_rcc.o(.text) + __arm_cp.0_4 0x08000c2c Number 4 hal_rcc.o(.text) + __arm_cp.0_5 0x08000c30 Number 4 hal_rcc.o(.text) + __arm_cp.0_6 0x08000c34 Number 4 hal_rcc.o(.text) + __arm_cp.0_7 0x08000c38 Number 4 hal_rcc.o(.text) + __arm_cp.1_0 0x08000d20 Number 4 hal_rcc.o(.text) + __arm_cp.2_0 0x08000d90 Number 4 hal_rcc.o(.text) + __arm_cp.2_1 0x08000d94 Number 4 hal_rcc.o(.text) + __arm_cp.3_0 0x08000e74 Number 4 hal_rcc.o(.text) + __arm_cp.3_1 0x08000e78 Number 4 hal_rcc.o(.text) + __arm_cp.3_2 0x08000e7c Number 4 hal_rcc.o(.text) + __arm_cp.3_3 0x08000e80 Number 4 hal_rcc.o(.text) + __arm_cp.3_4 0x08000e84 Number 4 hal_rcc.o(.text) + __arm_cp.3_5 0x08000e88 Number 4 hal_rcc.o(.text) + __arm_cp.4_0 0x08000edc Number 4 hal_rcc.o(.text) + __arm_cp.4_1 0x08000ee0 Number 4 hal_rcc.o(.text) + MyCode 0x08000ee4 Section 80 sumdiff.o(MyCode) + STACK 0x20000000 Section 8192 startup_ctboard.o(STACK) + __initial_sp 0x20002000 Data 0 startup_ctboard.o(STACK) + + Global Symbols + + Symbol Name Value Ov Type Size Object(Section) + + BuildAttributes$$THM_ISAv3M$S$PE$A:L22$X:L11$S22$IEEE1$IW$~IW$USESV6$~STKCKD$USESV7$WCHAR32$ENUMINT$~SHL$OTIME$EBA8$STANDARDLIB$REQ8$PRES8$EABIv2 0x00000000 Number 0 anon$$obj.o ABSOLUTE + Image$$RO$$Limit - Undefined Weak Reference + Image$$RW$$Base - Undefined Weak Reference + Image$$ZI$$Base - Undefined Weak Reference + Image$$ZI$$Limit - Undefined Weak Reference + __Vectors_Size 0x000001ac Number 0 startup_ctboard.o ABSOLUTE + Stack_Size 0x00002000 Number 0 startup_ctboard.o ABSOLUTE + __Vectors 0x08000000 Data 4 startup_ctboard.o(RESET) + __Vectors_End 0x080001ac Data 0 startup_ctboard.o(RESET) + __main 0x080001ad Thumb Code 74 datainit_ctboard.o(.text) + Reset_Handler 0x08000229 Thumb Code 8 startup_ctboard.o(.text) + NMI_Handler 0x08000231 Thumb Code 2 startup_ctboard.o(.text) + HardFault_Handler 0x08000233 Thumb Code 2 startup_ctboard.o(.text) + MemManage_Handler 0x08000235 Thumb Code 2 startup_ctboard.o(.text) + BusFault_Handler 0x08000237 Thumb Code 2 startup_ctboard.o(.text) + UsageFault_Handler 0x08000239 Thumb Code 2 startup_ctboard.o(.text) + SVC_Handler 0x0800023b Thumb Code 2 startup_ctboard.o(.text) + DebugMon_Handler 0x0800023d Thumb Code 2 startup_ctboard.o(.text) + PendSV_Handler 0x0800023f Thumb Code 2 startup_ctboard.o(.text) + SysTick_Handler 0x08000241 Thumb Code 2 startup_ctboard.o(.text) + ADC_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + CAN1_RX0_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + CAN1_RX1_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + CAN1_SCE_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + CAN1_TX_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + CAN2_RX0_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + CAN2_RX1_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + CAN2_SCE_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + CAN2_TX_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + CRYP_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + DCMI_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + DMA1_Stream0_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + DMA1_Stream1_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + DMA1_Stream2_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + DMA1_Stream3_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + DMA1_Stream4_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + DMA1_Stream5_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + DMA1_Stream6_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + DMA1_Stream7_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + DMA2D_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + DMA2_Stream0_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + DMA2_Stream1_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + DMA2_Stream2_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + DMA2_Stream3_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + DMA2_Stream4_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + DMA2_Stream5_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + DMA2_Stream6_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + DMA2_Stream7_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + ETH_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + ETH_WKUP_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + EXTI0_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + EXTI15_10_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + EXTI1_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + EXTI2_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + EXTI3_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + EXTI4_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + EXTI9_5_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + FLASH_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + FMC_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + FPU_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + HASH_RNG_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + I2C1_ER_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + I2C1_EV_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + I2C2_ER_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + I2C2_EV_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + I2C3_ER_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + I2C3_EV_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + LTDC_ER_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + LTDC_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + OTG_FS_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + OTG_FS_WKUP_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + OTG_HS_EP1_IN_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + OTG_HS_EP1_OUT_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + OTG_HS_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + OTG_HS_WKUP_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + PVD_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + RCC_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + RTC_Alarm_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + RTC_WKUP_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + SAI1_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + SDIO_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + SPI1_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + SPI2_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + SPI3_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + SPI4_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + SPI5_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + SPI6_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + TAMP_STAMP_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + TIM1_BRK_TIM9_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + TIM1_CC_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + TIM1_TRG_COM_TIM11_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + TIM1_UP_TIM10_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + TIM2_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + TIM3_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + TIM4_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + TIM5_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + TIM6_DAC_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + TIM7_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + TIM8_BRK_TIM12_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + TIM8_CC_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + TIM8_TRG_COM_TIM14_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + TIM8_UP_TIM13_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + UART4_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + UART5_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + UART7_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + UART8_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + USART1_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + USART2_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + USART3_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + USART6_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + WWDG_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + __system 0x0800024d Thumb Code 8 system_ctboard.o(.text) + system_enter_run 0x08000255 Thumb Code 280 system_ctboard.o(.text) + system_enter_sleep 0x080003a9 Thumb Code 2 system_ctboard.o(.text) + system_enter_stop 0x080003ab Thumb Code 2 system_ctboard.o(.text) + system_enter_standby 0x080003ad Thumb Code 2 system_ctboard.o(.text) + hal_fmc_reset 0x080003b1 Thumb Code 60 hal_fmc.o(.text) + hal_fmc_init_sram 0x080003f9 Thumb Code 264 hal_fmc.o(.text) + hal_gpio_reset 0x08000505 Thumb Code 68 hal_gpio.o(.text) + hal_gpio_init_input 0x08000551 Thumb Code 156 hal_gpio.o(.text) + hal_gpio_init_analog 0x080005f5 Thumb Code 240 hal_gpio.o(.text) + hal_gpio_init_output 0x080006ed Thumb Code 276 hal_gpio.o(.text) + hal_gpio_init_alternate 0x08000809 Thumb Code 262 hal_gpio.o(.text) + hal_gpio_input_read 0x0800090f Thumb Code 6 hal_gpio.o(.text) + hal_gpio_output_read 0x08000915 Thumb Code 6 hal_gpio.o(.text) + hal_gpio_output_write 0x0800091d Thumb Code 20 hal_gpio.o(.text) + hal_gpio_bit_set 0x08000939 Thumb Code 24 hal_gpio.o(.text) + hal_gpio_bit_reset 0x08000959 Thumb Code 28 hal_gpio.o(.text) + hal_gpio_bit_toggle 0x0800097d Thumb Code 28 hal_gpio.o(.text) + hal_gpio_irq_set 0x080009a1 Thumb Code 292 hal_gpio.o(.text) + hal_gpio_irq_status 0x08000add Thumb Code 24 hal_gpio.o(.text) + hal_gpio_irq_clear 0x08000af9 Thumb Code 12 hal_gpio.o(.text) + hal_pwr_reset 0x08000b09 Thumb Code 16 hal_pwr.o(.text) + hal_pwr_set_backup_domain 0x08000b1d Thumb Code 56 hal_pwr.o(.text) + hal_pwr_set_backup_access 0x08000b59 Thumb Code 24 hal_pwr.o(.text) + hal_pwr_set_wakeup_pin 0x08000b75 Thumb Code 24 hal_pwr.o(.text) + hal_pwr_set_flash_powerdown 0x08000b91 Thumb Code 24 hal_pwr.o(.text) + hal_pwr_set_overdrive 0x08000bad Thumb Code 4 hal_pwr.o(.text) + hal_pwr_set_underdrive 0x08000bb1 Thumb Code 4 hal_pwr.o(.text) + hal_rcc_reset 0x08000bb5 Thumb Code 104 hal_rcc.o(.text) + hal_rcc_set_peripheral 0x08000c3d Thumb Code 228 hal_rcc.o(.text) + hal_rcc_set_osc 0x08000d25 Thumb Code 108 hal_rcc.o(.text) + hal_rcc_setup_pll 0x08000d99 Thumb Code 220 hal_rcc.o(.text) + hal_rcc_setup_clock 0x08000e8d Thumb Code 80 hal_rcc.o(.text) + main 0x08000ee5 Thumb Code 56 sumdiff.o(MyCode) + Image$$ER_IROM1$$Limit 0x08000f34 Number 0 anon$$obj.o ABSOLUTE + Image$$RW_IRAM1$$Base 0x20000000 Number 0 anon$$obj.o ABSOLUTE + Image$$RW_IRAM1$$ZI$$Base 0x20000000 Number 0 anon$$obj.o ABSOLUTE + Stack_Mem 0x20000000 Data 8192 startup_ctboard.o(STACK) + Image$$RW_IRAM1$$ZI$$Limit 0x20002000 Number 0 anon$$obj.o ABSOLUTE + + + +============================================================================== + +Memory Map of the image + + Image Entry point : 0x08000229 + + Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00000f34, Max: 0x00200000, ABSOLUTE) + + Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00000f34, Max: 0x00200000, ABSOLUTE) + + Exec Addr Load Addr Size Type Attr Idx E Section Name Object + + 0x08000000 0x08000000 0x000001ac Data RO 13 RESET startup_ctboard.o + 0x080001ac 0x080001ac 0x0000007c Code RO 7 .text datainit_ctboard.o + 0x08000228 0x08000228 0x00000024 Code RO 14 * .text startup_ctboard.o + 0x0800024c 0x0800024c 0x00000162 Code RO 18 .text system_ctboard.o + 0x080003ae 0x080003ae 0x00000002 PAD + 0x080003b0 0x080003b0 0x00000154 Code RO 26 .text hal_fmc.o + 0x08000504 0x08000504 0x00000604 Code RO 34 .text hal_gpio.o + 0x08000b08 0x08000b08 0x000000ac Code RO 42 .text hal_pwr.o + 0x08000bb4 0x08000bb4 0x00000330 Code RO 50 .text hal_rcc.o + 0x08000ee4 0x08000ee4 0x00000050 Code RO 1 MyCode sumdiff.o + + + Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08000f34, Size: 0x00002000, Max: 0x00030000, ABSOLUTE) + + Exec Addr Load Addr Size Type Attr Idx E Section Name Object + + 0x20000000 - 0x00002000 Zero RW 11 STACK startup_ctboard.o + + +============================================================================== + +Image component sizes + + + Code (inc. data) RO Data RW Data ZI Data Debug Object Name + + 124 50 0 0 0 412 datainit_ctboard.o + 340 16 0 0 0 3823 hal_fmc.o + 1540 96 0 0 0 11987 hal_gpio.o + 172 20 0 0 0 2118 hal_pwr.o + 816 168 0 0 0 5346 hal_rcc.o + 36 8 428 0 8192 812 startup_ctboard.o + 80 26 0 0 0 368 sumdiff.o + 354 60 0 0 0 6757 system_ctboard.o + + ---------------------------------------------------------------------- + 3464 444 428 0 8192 31623 Object Totals + 0 0 0 0 0 0 (incl. Generated) + 2 0 0 0 0 0 (incl. Padding) + + ---------------------------------------------------------------------- + 0 0 0 0 0 0 Library Totals + 0 0 0 0 0 0 (incl. Padding) + + ---------------------------------------------------------------------- + +============================================================================== + + + Code (inc. data) RO Data RW Data ZI Data Debug + + 3464 444 428 0 8192 31439 Grand Totals + 3464 444 428 0 8192 31439 ELF Image Totals + 3464 444 428 0 0 0 ROM Totals + +============================================================================== + + Total RO Size (Code + RO Data) 3892 ( 3.80kB) + Total RW Size (RW Data + ZI Data) 8192 ( 8.00kB) + Total ROM Size (Code + RO Data + RW Data) 3892 ( 3.80kB) + +============================================================================== + diff --git a/sum_diff/build/sum_diff.sct b/sum_diff/build/sum_diff.sct new file mode 100644 index 0000000..5394321 --- /dev/null +++ b/sum_diff/build/sum_diff.sct @@ -0,0 +1,16 @@ +; ************************************************************* +; *** Scatter-Loading Description File generated by uVision *** +; ************************************************************* + +LR_IROM1 0x08000000 0x00200000 { ; load region size_region + ER_IROM1 0x08000000 0x00200000 { ; load address = execution address + *.o (RESET, +First) + *(InRoot$$Sections) + .ANY (+RO) + .ANY (+XO) + } + RW_IRAM1 0x20000000 0x00030000 { ; RW data + .ANY (+RW +ZI) + } +} + diff --git a/sum_diff/build/sum_diff_Target 1.dep b/sum_diff/build/sum_diff_Target 1.dep new file mode 100644 index 0000000..85736b1 --- /dev/null +++ b/sum_diff/build/sum_diff_Target 1.dep @@ -0,0 +1,36 @@ +Dependencies for Project 'sum_diff', Target 'Target 1': (DO NOT MODIFY !) +CompilerVersion: 6180000::V6.18::ARMCLANG +F (.\app\sumdiff.s)(0x63524676)(--cpu Cortex-M0 --pd "__EVAL SETA 1" -g -I.\RTE\_Target_1 -IC:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include -IC:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include\m0 -IC:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\HAL\Include --pd "__UVISION_VERSION SETA 537" --pd "_RTE_ SETA 1" --pd "_RTE_ SETA 1" --list .\build\sumdiff.lst --xref -o .\build\sumdiff.o --depend .\build\sumdiff.d) +F (RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s)(0x5C517478)(--cpu Cortex-M0 --pd "__EVAL SETA 1" -g -I.\RTE\_Target_1 -IC:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include -IC:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include\m0 -IC:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\HAL\Include --pd "__UVISION_VERSION SETA 537" --pd "_RTE_ SETA 1" --pd "_RTE_ SETA 1" --list .\build\datainit_ctboard.lst --xref -o .\build\datainit_ctboard.o --depend .\build\datainit_ctboard.d) +F (RTE/Device/CT_Board_HS14_M0/startup_ctboard.s)(0x5C517478)(--cpu Cortex-M0 --pd "__EVAL SETA 1" -g -I.\RTE\_Target_1 -IC:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include -IC:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include\m0 -IC:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\HAL\Include --pd "__UVISION_VERSION SETA 537" --pd "_RTE_ SETA 1" --pd "_RTE_ SETA 1" --list .\build\startup_ctboard.lst --xref -o .\build\startup_ctboard.o --depend .\build\startup_ctboard.d) +F (RTE/Device/CT_Board_HS14_M0/system_ctboard.c)(0x5C597514)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__EVAL -gdwarf-4 -O1 -fno-function-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I./RTE/_Target_1 -IC:/Users/roman/AppData/Local/Arm/Packs/InES/CTBoard14_DFP/4.0.2/Device/Include -IC:/Users/roman/AppData/Local/Arm/Packs/InES/CTBoard14_DFP/4.0.2/Device/Include/m0 -IC:/Users/roman/AppData/Local/Arm/Packs/InES/CTBoard14_DFP/4.0.2/HAL/Include -D__UVISION_VERSION="537" -D_RTE_ -D_RTE_ -o ./build/system_ctboard.o -MD) +I (C:\Keil_v5\ARM\ARMCLANG\include\stdint.h)(0x6252B538) +I (C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include\system_ctboard.h)(0x5C517478) +I (C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include\m0\platform_ctboard.h)(0x5C517478) +I (C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\HAL\Include\hal_gpio.h)(0x5C517478) +I (C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include\reg_stm32f4xx.h)(0x5C597514) +I (C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\HAL\Include\hal_common.h)(0x5C517478) +I (C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\HAL\Include\hal_fmc.h)(0x5C517478) +I (C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\HAL\Include\hal_pwr.h)(0x5C517478) +I (C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\HAL\Include\hal_rcc.h)(0x5C517478) +I (C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include\reg_ctboard.h)(0x5C6AA868) +F (RTE/HAL/CT_Board_HS14_M0/hal_fmc.c)(0x5C517478)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__EVAL -gdwarf-4 -O1 -fno-function-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I./RTE/_Target_1 -IC:/Users/roman/AppData/Local/Arm/Packs/InES/CTBoard14_DFP/4.0.2/Device/Include -IC:/Users/roman/AppData/Local/Arm/Packs/InES/CTBoard14_DFP/4.0.2/Device/Include/m0 -IC:/Users/roman/AppData/Local/Arm/Packs/InES/CTBoard14_DFP/4.0.2/HAL/Include -D__UVISION_VERSION="537" -D_RTE_ -D_RTE_ -o ./build/hal_fmc.o -MD) +I (C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\HAL\Include\hal_fmc.h)(0x5C517478) +I (C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\HAL\Include\hal_common.h)(0x5C517478) +I (C:\Keil_v5\ARM\ARMCLANG\include\stdint.h)(0x6252B538) +I (C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include\reg_stm32f4xx.h)(0x5C597514) +F (RTE/HAL/CT_Board_HS14_M0/hal_gpio.c)(0x5C5ACEB0)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__EVAL -gdwarf-4 -O1 -fno-function-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I./RTE/_Target_1 -IC:/Users/roman/AppData/Local/Arm/Packs/InES/CTBoard14_DFP/4.0.2/Device/Include -IC:/Users/roman/AppData/Local/Arm/Packs/InES/CTBoard14_DFP/4.0.2/Device/Include/m0 -IC:/Users/roman/AppData/Local/Arm/Packs/InES/CTBoard14_DFP/4.0.2/HAL/Include -D__UVISION_VERSION="537" -D_RTE_ -D_RTE_ -o ./build/hal_gpio.o -MD) +I (C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\HAL\Include\hal_gpio.h)(0x5C517478) +I (C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include\reg_stm32f4xx.h)(0x5C597514) +I (C:\Keil_v5\ARM\ARMCLANG\include\stdint.h)(0x6252B538) +I (C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\HAL\Include\hal_common.h)(0x5C517478) +F (RTE/HAL/CT_Board_HS14_M0/hal_pwr.c)(0x5C517478)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__EVAL -gdwarf-4 -O1 -fno-function-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I./RTE/_Target_1 -IC:/Users/roman/AppData/Local/Arm/Packs/InES/CTBoard14_DFP/4.0.2/Device/Include -IC:/Users/roman/AppData/Local/Arm/Packs/InES/CTBoard14_DFP/4.0.2/Device/Include/m0 -IC:/Users/roman/AppData/Local/Arm/Packs/InES/CTBoard14_DFP/4.0.2/HAL/Include -D__UVISION_VERSION="537" -D_RTE_ -D_RTE_ -o ./build/hal_pwr.o -MD) +I (C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\HAL\Include\hal_pwr.h)(0x5C517478) +I (C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\HAL\Include\hal_common.h)(0x5C517478) +I (C:\Keil_v5\ARM\ARMCLANG\include\stdint.h)(0x6252B538) +I (C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include\reg_stm32f4xx.h)(0x5C597514) +F (RTE/HAL/CT_Board_HS14_M0/hal_rcc.c)(0x5C597514)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__EVAL -gdwarf-4 -O1 -fno-function-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I./RTE/_Target_1 -IC:/Users/roman/AppData/Local/Arm/Packs/InES/CTBoard14_DFP/4.0.2/Device/Include -IC:/Users/roman/AppData/Local/Arm/Packs/InES/CTBoard14_DFP/4.0.2/Device/Include/m0 -IC:/Users/roman/AppData/Local/Arm/Packs/InES/CTBoard14_DFP/4.0.2/HAL/Include -D__UVISION_VERSION="537" -D_RTE_ -D_RTE_ -o ./build/hal_rcc.o -MD) +I (C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\HAL\Include\hal_rcc.h)(0x5C517478) +I (C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\HAL\Include\hal_common.h)(0x5C517478) +I (C:\Keil_v5\ARM\ARMCLANG\include\stdint.h)(0x6252B538) +I (C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include\reg_stm32f4xx.h)(0x5C597514) diff --git a/sum_diff/build/sumdiff.d b/sum_diff/build/sumdiff.d new file mode 100644 index 0000000..d9fa391 --- /dev/null +++ b/sum_diff/build/sumdiff.d @@ -0,0 +1 @@ +.\build\sumdiff.o: app\sumdiff.s diff --git a/sum_diff/build/sumdiff.lst b/sum_diff/build/sumdiff.lst new file mode 100644 index 0000000..20bf1f1 --- /dev/null +++ b/sum_diff/build/sumdiff.lst @@ -0,0 +1,232 @@ + + + +ARM Macro Assembler Page 1 + + + 1 00000000 ; ------------------------------------------------------ + ------------ + 2 00000000 ; -- _____ ______ _____ + - + 3 00000000 ; -- |_ _| | ____|/ ____| + - + 4 00000000 ; -- | | _ __ | |__ | (___ Institute of Embedded + Systems - + 5 00000000 ; -- | | | '_ \| __| \___ \ Zurich University of + - + 6 00000000 ; -- _| |_| | | | |____ ____) | Applied Sciences + - + 7 00000000 ; -- |_____|_| |_|______|_____/ 8401 Winterthur, Switz + erland - + 8 00000000 ; ------------------------------------------------------ + ------------ + 9 00000000 ; -- + 10 00000000 ; -- sumdiff.s + 11 00000000 ; -- + 12 00000000 ; -- CT1 P05 Summe und Differenz + 13 00000000 ; -- + 14 00000000 ; -- $Id: sumdiff.s 705 2014-09-16 11:44:22Z muln $ + 15 00000000 ; ------------------------------------------------------ + ------------ + 16 00000000 ;Directives + 17 00000000 PRESERVE8 + 18 00000000 THUMB + 19 00000000 + 20 00000000 ; ------------------------------------------------------ + ------------ + 21 00000000 ; -- Symbolic Literals + 22 00000000 ; ------------------------------------------------------ + ------------ + 23 00000000 60000200 + ADDR_DIP_SWITCH_7_0 + EQU 0x60000200 + 24 00000000 60000201 + ADDR_DIP_SWITCH_15_8 + EQU 0x60000201 + 25 00000000 60000100 + ADDR_LED_7_0 + EQU 0x60000100 + 26 00000000 60000101 + ADDR_LED_15_8 + EQU 0x60000101 + 27 00000000 60000102 + ADDR_LED_23_16 + EQU 0x60000102 + 28 00000000 60000103 + ADDR_LED_31_24 + EQU 0x60000103 + 29 00000000 + 30 00000000 ; ------------------------------------------------------ + ------------ + 31 00000000 ; -- myCode + 32 00000000 ; ------------------------------------------------------ + ------------ + 33 00000000 AREA MyCode, CODE, READONLY + 34 00000000 + + + +ARM Macro Assembler Page 2 + + + 35 00000000 main PROC + 36 00000000 EXPORT main + 37 00000000 + 38 00000000 user_prog + 39 00000000 ; STUDENTS: To be programmed + 40 00000000 480D LDR R0, =ADDR_DIP_SWITCH_7_0 + 41 00000002 7800 LDRB R0, [R0] ; Read DIP Switch 7 + -0 in R0 + 42 00000004 0600 LSLS R0, R0, #24 ; cast to 32 Bit + 43 00000006 + 44 00000006 490D LDR R1, =ADDR_DIP_SWITCH_15_8 + 45 00000008 7809 LDRB R1, [R1] ; Read DIP Switch 1 + 5-8 in R0 + 46 0000000A 0609 LSLS R1, R1, #24 ; cast to 32 Bit + 47 0000000C + 48 0000000C 4A0C LDR R2, =ADDR_LED_7_0 + 49 0000000E 1843 ADDS R3, R0, R1 ; Add R0 + R1 + 50 00000010 F3EF 8500 MRS R5, APSR ; Read Flags to R5 + 51 00000014 0E1B LSRS R3, R3, #24 ; Move MSB to LSB + 52 00000016 7013 STRB R3, [R2] ; Show LSB in LEDs + 7-0 + 53 00000018 + 54 00000018 4A0A LDR R2, =ADDR_LED_15_8 + 55 0000001A 0E2D LSRS R5, R5, #24 ; Move Flags 24 Bit + right + 56 0000001C 7015 STRB R5, [R2] ; Show Flags in LED + 15-12 + 57 0000001E + 58 0000001E 4A0A LDR R2, =ADDR_LED_23_16 + 59 00000020 1A43 SUBS R3, R0, R1 ; Sub R0 - R1 + 60 00000022 F3EF 8500 MRS R5, APSR ; Read Flags to R5 + 61 00000026 F3EF 8500 MRS R5, APSR ; Read Flags to R5 + 62 0000002A 0E1B LSRS R3, R3, #24 ; Move MSB to LSB + 63 0000002C 7013 STRB R3, [R2] ; Show LSB in LEDs + 15-8 + 64 0000002E + 65 0000002E 4A07 LDR R2, =ADDR_LED_31_24 + 66 00000030 0E2D LSRS R5, R5, #24 ; Move Flags 24 Bit + right + 67 00000032 7015 STRB R5, [R2] ; Show Flags in LED + 15-12 + 68 00000034 + 69 00000034 + 70 00000034 + 71 00000034 + 72 00000034 ; END: To be programmed + 73 00000034 E7E4 B user_prog + 74 00000036 00 00 ALIGN + 75 00000038 ; ------------------------------------------------------ + ------------ + 76 00000038 ; End of code + 77 00000038 ; ------------------------------------------------------ + ------------ + 78 00000038 ENDP + 79 00000038 END + 60000200 + 60000201 + 60000100 + 60000101 + + + +ARM Macro Assembler Page 3 + + + 60000102 + 60000103 +Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M0 --depend=.\bu +ild\sumdiff.d -o.\build\sumdiff.o -I.\RTE\_Target_1 -IC:\Users\roman\AppData\Lo +cal\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include -IC:\Users\roman\AppData\ +Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include\m0 -IC:\Users\roman\App +Data\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\HAL\Include --predefine="__EVAL S +ETA 1" --predefine="__UVISION_VERSION SETA 537" --predefine="_RTE_ SETA 1" --pr +edefine="_RTE_ SETA 1" --list=.\build\sumdiff.lst app\sumdiff.s + + + +ARM Macro Assembler Page 1 Alphabetic symbol ordering +Relocatable symbols + +MyCode 00000000 + +Symbol: MyCode + Definitions + At line 33 in file app\sumdiff.s + Uses + None +Comment: MyCode unused +main 00000000 + +Symbol: main + Definitions + At line 35 in file app\sumdiff.s + Uses + At line 36 in file app\sumdiff.s +Comment: main used once +user_prog 00000000 + +Symbol: user_prog + Definitions + At line 38 in file app\sumdiff.s + Uses + At line 73 in file app\sumdiff.s +Comment: user_prog used once +3 symbols + + + +ARM Macro Assembler Page 1 Alphabetic symbol ordering +Absolute symbols + +ADDR_DIP_SWITCH_15_8 60000201 + +Symbol: ADDR_DIP_SWITCH_15_8 + Definitions + At line 24 in file app\sumdiff.s + Uses + At line 44 in file app\sumdiff.s +Comment: ADDR_DIP_SWITCH_15_8 used once +ADDR_DIP_SWITCH_7_0 60000200 + +Symbol: ADDR_DIP_SWITCH_7_0 + Definitions + At line 23 in file app\sumdiff.s + Uses + At line 40 in file app\sumdiff.s +Comment: ADDR_DIP_SWITCH_7_0 used once +ADDR_LED_15_8 60000101 + +Symbol: ADDR_LED_15_8 + Definitions + At line 26 in file app\sumdiff.s + Uses + At line 54 in file app\sumdiff.s +Comment: ADDR_LED_15_8 used once +ADDR_LED_23_16 60000102 + +Symbol: ADDR_LED_23_16 + Definitions + At line 27 in file app\sumdiff.s + Uses + At line 58 in file app\sumdiff.s +Comment: ADDR_LED_23_16 used once +ADDR_LED_31_24 60000103 + +Symbol: ADDR_LED_31_24 + Definitions + At line 28 in file app\sumdiff.s + Uses + At line 65 in file app\sumdiff.s +Comment: ADDR_LED_31_24 used once +ADDR_LED_7_0 60000100 + +Symbol: ADDR_LED_7_0 + Definitions + At line 25 in file app\sumdiff.s + Uses + At line 48 in file app\sumdiff.s +Comment: ADDR_LED_7_0 used once +6 symbols +344 symbols in table diff --git a/sum_diff/build/sumdiff.o b/sum_diff/build/sumdiff.o new file mode 100644 index 0000000000000000000000000000000000000000..b785efa24b49854dfc7444c4ae9980b8daadeec0 GIT binary patch literal 2092 zcmb_d&2QsG6n|qoiIcY3whMx7CGf$^B0;Pq+b!Ly6}X8}vzw|>lZ8qcxlTOkTEwws zJ5^U&t+;SQTo4inaYl#>2e@G_jlzzcz0pQCNf1T1EQW0+AiYL!6;hGhn9~oeFX#N>;tk@vlB5P~w{P$8uIV0w8 z2tppc)KQDYXGRzn$O;kVoASE6LRQH#W+`YOa)6sSsyHujh*+w@;1wW`%d1OhSs(?W zAj*=Qlk;*xmgS;ck{1e#av5NeTP6!D37Z1;#}1>cA+C(i=dc7%FFu{aEK^pq&8ckG zbqdNveu`wX$?+_}w;c1raD`)zCHROVfDXq5UQBU9o?gsgeg%0}CIQdDKLCMM0RDL` zOFufWuzfU#_9v&7-S3C=Osm1(#2q<$9EWay64OXkd;14gtE->gK2W=A$58d{cD=41 zZ?|hTwToQKFpQe|r1iG?plfvB+Ekx(d-ognn+bdk;eJ~^>~{2qp&EPomfATox?8HD z@3qeAaPX+%I}}t0)ENHn>wvdN#|u)a@G~Mk59yFW*FLqPNf3lIigxebyU{kyA z0#T98O-~8=#UfszXN2d-4f2Ad2-p*F9aR`53&=>Mj5iCk=wTFxvE2s^w={d&9-s|; zk3BJ{k}5=xJgykhQQBL>(Do=?YBc!A{?lf5BX^8uGwhCse%3IU+rJ+j_;9Mc!yXSQ zf$UkkJl>y&>;|R-ZTQV)e%@eZN##Z1F>>sg;RBz@*#*vosp%930l;zMAajFu07ZZw zxKiR`#FI?jNf;h6)02Q*>&t=b9%02(g|HLxHboekbhEwt*-B88 z@8W`giY3eqBTgTqD~FU|c_#~%Ss^VgNbu_NoB+OWPhD{FSLtT*e+Y{y`QXe5Bu)@#uCh5#stW$H+{LQzrL1*ZCVzpjOZT literal 0 HcmV?d00001 diff --git a/sum_diff/build/system_ctboard.d b/sum_diff/build/system_ctboard.d new file mode 100644 index 0000000..556de8b --- /dev/null +++ b/sum_diff/build/system_ctboard.d @@ -0,0 +1,11 @@ +./build/system_ctboard.o: RTE\Device\CT_Board_HS14_M0\system_ctboard.c \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \ + C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include\system_ctboard.h \ + C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include\m0\platform_ctboard.h \ + C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\HAL\Include\hal_gpio.h \ + C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include\reg_stm32f4xx.h \ + C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\HAL\Include\hal_common.h \ + C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\HAL\Include\hal_fmc.h \ + C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\HAL\Include\hal_pwr.h \ + C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\HAL\Include\hal_rcc.h \ + C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include\reg_ctboard.h diff --git a/sum_diff/build/system_ctboard.o b/sum_diff/build/system_ctboard.o new file mode 100644 index 0000000000000000000000000000000000000000..295545e1b0df85037d9a3d0c39f4e8ef39870e3c GIT binary patch literal 11600 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 + + + -6.1 + +
    ### uVision Project, (C) Keil Software
    + + + + + + + + + + 38003 + Registers + 140 100 + + + 346 + Code Coverage + 1010 656 + + + 204 + Performance Analyzer + 1170 175 175 146 + + + + + + 35141 + Event Statistics + + 200 50 700 + + + 1506 + Symbols + + 80 80 80 + + + 1936 + Watch 1 + + 200 133 133 + + + 1937 + Watch 2 + + 200 133 133 + + + 1935 + Call Stack + Locals + + 200 133 133 + + + 2506 + Trace Data + + 75 135 130 95 70 230 200 150 + + + 466 + Source Browser + 500 + 166 + + + + + + + + 0 + 0 + 0 + 50 + 16 + + + + + + + 44 + 2 + 3 + + -1 + -1 + + + -1 + -1 + + + -24 + 157 + 1597 + 735 + + + + 0 + + 406 + 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000002000000000000000100000046433A5C55736572735C726F6D616E5C446F63756D656E74735C4C61625F355F41726974686D4F7065726174696F6E735C73756D5F646966665C6170705C73756D646966662E73000000000973756D646966662E7300000000C5D4F200FFFFFFFF66433A5C55736572735C726F6D616E5C446F63756D656E74735C4C61625F355F41726974686D4F7065726174696F6E735C73756D5F646966665C5254455C4465766963655C43545F426F6172645F485331345F4D305C737461727475705F6374626F6172642E730000000011737461727475705F6374626F6172642E7300000000FFDC7800FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F400000066000000800700000B030000 + + + + 0 + Build + + -1 + -1 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F40000004F00000090050000DF000000 + + + 16 + F40000006600000090050000F6000000 + + + + 1005 + 1005 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED000000DB020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 109 + 109 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED000000DB020000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 1465 + 1465 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1466 + 1466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1467 + 1467 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1468 + 1468 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1506 + 1506 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 1913 + 1913 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1935 + 1935 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 1936 + 1936 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 1937 + 1937 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 1939 + 1939 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1940 + 1940 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1941 + 1941 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1942 + 1942 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 195 + 195 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED000000DB020000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 196 + 196 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED000000DB020000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 197 + 197 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 000000000C03000080070000E6030000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 198 + 198 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 000000001902000090050000BD020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 199 + 199 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000000F0300007D070000CD030000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 203 + 203 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 204 + 204 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 221 + 221 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000000000000000000000000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 2506 + 2506 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 2507 + 2507 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 343 + 343 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 346 + 346 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 35141 + 35141 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35824 + 35824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 35885 + 35885 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35886 + 35886 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35887 + 35887 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35888 + 35888 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35889 + 35889 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35890 + 35890 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35891 + 35891 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35892 + 35892 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35893 + 35893 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35894 + 35894 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35895 + 35895 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35896 + 35896 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35897 + 35897 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35898 + 35898 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35899 + 35899 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35900 + 35900 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35901 + 35901 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35902 + 35902 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35903 + 35903 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35904 + 35904 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35905 + 35905 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 38003 + 38003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED000000DB020000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 38007 + 38007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000000F0300007D070000CD030000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000000F0300007D070000CD030000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 437 + 437 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 440 + 440 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 463 + 463 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000000F0300007D070000CD030000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 466 + 466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000000F0300007D070000CD030000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 470 + 470 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 50000 + 50000 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50001 + 50001 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50002 + 50002 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50003 + 50003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50004 + 50004 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50005 + 50005 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50006 + 50006 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50007 + 50007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50008 + 50008 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50009 + 50009 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50010 + 50010 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50011 + 50011 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50012 + 50012 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50013 + 50013 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50014 + 50014 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50015 + 50015 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50016 + 50016 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50017 + 50017 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50018 + 50018 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50019 + 50019 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 59392 + 59392 + 1 + 0 + 0 + 0 + 966 + 0 + 8192 + 0 + + 16 + 0000000000000000D10300001C000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59393 + 0 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000E603000080070000F9030000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59399 + 59399 + 1 + 0 + 0 + 0 + 476 + 0 + 8192 + 1 + + 16 + 000000001C000000E701000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59400 + 59400 + 0 + 0 + 0 + 0 + 612 + 0 + 8192 + 2 + + 16 + 00000000380000006F02000054000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 824 + 824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 3312 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DF00000090050000E3000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000F40000006600000090050000F6000000F40000004F00000090050000DF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A0040000660000009005000040020000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F4000000F4020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000F00000000B030000000000004F000000F0000000F40200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000015020000900500001902000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000003002000090050000D4020000000000001902000090050000BD02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000019020000CC020000BD02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000F402000080070000F80200000100000001000010040000000100000002FDFFFF8E000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000000000000F03000080070000FD03000000000000F802000080070000E60300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + + + 59392 + File + + 2556 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000036634309600000000000000020003663430035041440000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 976 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000002001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000008546172676574203196000000000000000100085461726765742031000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 + + + + 59400 + Debug + + 2373 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 + + + + 0 + 1920 + 1080 + + + + 1 + Debug + + -1 + -1 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F40000004F00000080070000DF000000 + + + 16 + F40000006600000080070000F6000000 + + + + 1005 + 1005 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000025030000 + + + 16 + 22000000390000001201000004010000 + + + + 109 + 109 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000025030000 + + + 16 + 22000000390000003E01000079020000 + + + + 1465 + 1465 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + 2200000039000000EA020000C9000000 + + + + 1466 + 1466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + 2200000039000000EA020000C9000000 + + + + 1467 + 1467 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + 2200000039000000EA020000C9000000 + + + + 1468 + 1468 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + 2200000039000000EA020000C9000000 + + + + 1506 + 1506 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 1913 + 1913 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D070000C6000000 + + + 16 + 2200000039000000EA020000C9000000 + + + + 1935 + 1935 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + 22000000390000001201000004010000 + + + + 1936 + 1936 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + 22000000390000001201000004010000 + + + + 1937 + 1937 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + 22000000390000001201000004010000 + + + + 1939 + 1939 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + 2200000039000000EA020000C9000000 + + + + 1940 + 1940 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + 2200000039000000EA020000C9000000 + + + + 1941 + 1941 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + 2200000039000000EA020000C9000000 + + + + 1942 + 1942 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + 2200000039000000EA020000C9000000 + + + + 195 + 195 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000025030000 + + + 16 + 22000000390000003E01000079020000 + + + + 196 + 196 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000025030000 + + + 16 + 22000000390000003E01000079020000 + + + + 197 + 197 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000440200008D050000A4020000 + + + 16 + 2200000039000000EA020000C9000000 + + + + 198 + 198 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 0000000042030000C0030000E6030000 + + + 16 + 2200000039000000EA020000C9000000 + + + + 199 + 199 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000440200008D050000A4020000 + + + 16 + 2200000039000000EA020000C9000000 + + + + 203 + 203 + 1 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + F40000006300000080070000DF000000 + + + 16 + 2200000039000000EA020000C9000000 + + + + 204 + 204 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D070000C6000000 + + + 16 + 2200000039000000EA020000C9000000 + + + + 221 + 221 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000000000000000000000000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 2506 + 2506 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 2507 + 2507 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + 2200000039000000EA020000C9000000 + + + + 343 + 343 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D070000C6000000 + + + 16 + 2200000039000000EA020000C9000000 + + + + 346 + 346 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D070000C6000000 + + + 16 + 2200000039000000EA020000C9000000 + + + + 35141 + 35141 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D070000C6000000 + + + 16 + 22000000390000001201000004010000 + + + + 35824 + 35824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D070000C6000000 + + + 16 + 2200000039000000EA020000C9000000 + + + + 35885 + 35885 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35886 + 35886 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35887 + 35887 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35888 + 35888 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35889 + 35889 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35890 + 35890 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35891 + 35891 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35892 + 35892 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35893 + 35893 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35894 + 35894 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35895 + 35895 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35896 + 35896 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35897 + 35897 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35898 + 35898 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35899 + 35899 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35900 + 35900 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35901 + 35901 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35902 + 35902 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35903 + 35903 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35904 + 35904 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35905 + 35905 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 38003 + 38003 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000025030000 + + + 16 + 22000000390000003E01000079020000 + + + + 38007 + 38007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000440200008D050000A4020000 + + + 16 + 2200000039000000EA020000C9000000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000440200008D050000A4020000 + + + 16 + 22000000390000003E01000079020000 + + + + 437 + 437 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + 22000000390000001201000004010000 + + + + 440 + 440 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + 22000000390000001201000004010000 + + + + 463 + 463 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000440200008D050000A4020000 + + + 16 + 22000000390000003E01000079020000 + + + + 466 + 466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000440200008D050000A4020000 + + + 16 + 22000000390000003E01000079020000 + + + + 470 + 470 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D070000C6000000 + + + 16 + 2200000039000000EA020000C9000000 + + + + 50000 + 50000 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50001 + 50001 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50002 + 50002 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50003 + 50003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50004 + 50004 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50005 + 50005 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50006 + 50006 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50007 + 50007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50008 + 50008 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50009 + 50009 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50010 + 50010 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50011 + 50011 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50012 + 50012 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50013 + 50013 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50014 + 50014 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50015 + 50015 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50016 + 50016 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50017 + 50017 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50018 + 50018 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50019 + 50019 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 59392 + 59392 + 1 + 0 + 0 + 0 + 966 + 0 + 8192 + 0 + + 16 + 0000000000000000D10300001C000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59393 + 0 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000E603000080070000F9030000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59399 + 59399 + 0 + 0 + 0 + 0 + 476 + 0 + 8192 + 1 + + 16 + 000000001C000000E701000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59400 + 59400 + 1 + 0 + 0 + 0 + 612 + 0 + 8192 + 2 + + 16 + 000000001C0000006F02000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 824 + 824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + 22000000390000001201000004010000 + + + + 3311 + 000000000B000000000000000020000001000000FFFFFFFFFFFFFFFFF4000000DF00000080070000E3000000010000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000001000000F40000006600000080070000F6000000F40000004F00000080070000DF0000000000000040280056080000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A0040000660000009005000040020000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F40000003E030000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000F000000055030000000000004F000000F00000003E0300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF04000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF000000003E030000800700004203000001000000010000100400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000001000000C40300005903000080070000FD030000C40300004203000080070000E603000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF000000000000000001000000000000000100000001000000FFFFFFFFC003000042030000C4030000E603000001000000020000100400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF0000000029020000900500002D020000000000000100000004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000000000000000000004402000090050000D4020000000000002D02000090050000BD0200000000000040820046060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0642726F777365000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + + + 59392 + File + + 2556 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000036634309600000000000000020003663430035041440000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000300150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 955 + 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000000002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050FFFFFFFF00960000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000000240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 + + + + 59400 + Debug + + 2362 + 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 + + + + 0 + 1920 + 1080 + + + + + + 1 + 0 + + 100 + 0 + + .\app\sumdiff.s + 47 + 25 + 65 + 1 + + 0 + + + RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + 0 + 184 + 196 + 1 + + 0 + + + + +
    diff --git a/sum_diff/sum_diff.uvoptx b/sum_diff/sum_diff.uvoptx index 4a8f82c..4afb77a 100644 --- a/sum_diff/sum_diff.uvoptx +++ b/sum_diff/sum_diff.uvoptx @@ -117,10 +117,30 @@ STLink\ST-LINKIII-KEIL_SWO.dll + + 0 + ARMRTXEVENTFLAGS + -L70 -Z18 -C0 -M0 -T1 + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0) + 0 ST-LINKIII-KEIL_SWO - -U -O206 -S0 -C0 -A0 -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F4xx_2048.FLM -FS08000000 -FL0200000 -FP0($$Device:CT_Board_HS14_M0$Flash\STM32F4xx_2048.FLM) + -U-O206 -O206 -SF4000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F4xx_2048.FLM -FS08000000 -FL0200000 -FP0($$Device:CT_Board_HS14_M0$Flash\STM32F4xx_2048.FLM) 0 @@ -135,12 +155,12 @@ 0 0 - 0 + 1 0 0 0 0 - 0 + 1 0 0 0