From 2683646954b578b24f586045e1bee6640e063053 Mon Sep 17 00:00:00 2001 From: Schrom01 Date: Fri, 11 Nov 2022 09:09:28 +0100 Subject: [PATCH] solved Task 3a --- project/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 ++ project/RTE/HAL/CT_Board_HS14_M0/hal_fmc.c | 143 + project/RTE/HAL/CT_Board_HS14_M0/hal_gpio.c | 412 ++ project/RTE/HAL/CT_Board_HS14_M0/hal_pwr.c | 132 + project/RTE/HAL/CT_Board_HS14_M0/hal_rcc.c | 347 ++ project/RTE/_Target_1/RTE_Components.h | 15 + project/app/struct_code.s | 72 + project/build/ExtDll.iex | 2 + project/build/adc.d | 3 + project/build/adc.o | Bin 0 -> 4504 bytes project/build/datainit_ctboard.d | 1 + project/build/datainit_ctboard.lst | 372 ++ project/build/datainit_ctboard.o | Bin 0 -> 2756 bytes project/build/hal_fmc.d | 5 + project/build/hal_fmc.o | Bin 0 -> 6564 bytes project/build/hal_gpio.d | 5 + project/build/hal_gpio.o | Bin 0 -> 19736 bytes project/build/hal_pwr.d | 5 + project/build/hal_pwr.o | Bin 0 -> 4912 bytes project/build/hal_rcc.d | 5 + project/build/hal_rcc.o | Bin 0 -> 10092 bytes project/build/startup_ctboard.d | 1 + project/build/startup_ctboard.lst | 2074 ++++++++++ project/build/startup_ctboard.o | Bin 0 -> 8204 bytes project/build/struct_code.d | 1 + project/build/struct_code.lst | 605 +++ project/build/struct_code.o | Bin 0 -> 2520 bytes project/build/strukt_code.axf | Bin 0 -> 48956 bytes project/build/strukt_code.build_log.htm | 110 + project/build/strukt_code.htm | 622 +++ project/build/strukt_code.lnp | 14 + project/build/strukt_code.map | 385 ++ project/build/strukt_code_Target 1.dep | 39 + project/build/system_ctboard.d | 11 + project/build/system_ctboard.o | Bin 0 -> 11616 bytes project/strukt_code.uvguix.roman | 3628 +++++++++++++++++ project/strukt_code.uvoptx | 45 +- 47 files changed, 11751 insertions(+), 4 deletions(-) create mode 100644 project/EventRecorderStub.scvd create mode 100644 project/RTE/Device/CT_Board_HS14_M0/.datainit_ctboard.s@4.0.1 create mode 100644 project/RTE/Device/CT_Board_HS14_M0/.startup_ctboard.s@4.0.1 create mode 100644 project/RTE/Device/CT_Board_HS14_M0/.system_ctboard.c@4.0.1 create mode 100644 project/RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s create mode 100644 project/RTE/Device/CT_Board_HS14_M0/startup_ctboard.s create mode 100644 project/RTE/Device/CT_Board_HS14_M0/system_ctboard.c create mode 100644 project/RTE/HAL/CT_Board_HS14_M0/.hal_fmc.c@3.0.1 create mode 100644 project/RTE/HAL/CT_Board_HS14_M0/.hal_gpio.c@4.0.1 create mode 100644 project/RTE/HAL/CT_Board_HS14_M0/.hal_pwr.c@2.2.0 create mode 100644 project/RTE/HAL/CT_Board_HS14_M0/.hal_rcc.c@4.0.1 create mode 100644 project/RTE/HAL/CT_Board_HS14_M0/hal_fmc.c create mode 100644 project/RTE/HAL/CT_Board_HS14_M0/hal_gpio.c create mode 100644 project/RTE/HAL/CT_Board_HS14_M0/hal_pwr.c create mode 100644 project/RTE/HAL/CT_Board_HS14_M0/hal_rcc.c create mode 100644 project/RTE/_Target_1/RTE_Components.h create mode 100644 project/build/ExtDll.iex create mode 100644 project/build/adc.d create mode 100644 project/build/adc.o create mode 100644 project/build/datainit_ctboard.d create mode 100644 project/build/datainit_ctboard.lst create mode 100644 project/build/datainit_ctboard.o create mode 100644 project/build/hal_fmc.d create mode 100644 project/build/hal_fmc.o create mode 100644 project/build/hal_gpio.d create mode 100644 project/build/hal_gpio.o create mode 100644 project/build/hal_pwr.d create mode 100644 project/build/hal_pwr.o create mode 100644 project/build/hal_rcc.d create mode 100644 project/build/hal_rcc.o create mode 100644 project/build/startup_ctboard.d create mode 100644 project/build/startup_ctboard.lst create mode 100644 project/build/startup_ctboard.o create mode 100644 project/build/struct_code.d create mode 100644 project/build/struct_code.lst create mode 100644 project/build/struct_code.o create mode 100644 project/build/strukt_code.axf create mode 100644 project/build/strukt_code.build_log.htm create mode 100644 project/build/strukt_code.htm create mode 100644 project/build/strukt_code.lnp create mode 100644 project/build/strukt_code.map create mode 100644 project/build/strukt_code_Target 1.dep create mode 100644 project/build/system_ctboard.d create mode 100644 project/build/system_ctboard.o create mode 100644 project/strukt_code.uvguix.roman diff --git a/project/EventRecorderStub.scvd b/project/EventRecorderStub.scvd new file mode 100644 index 0000000..2956b29 --- /dev/null +++ b/project/EventRecorderStub.scvd @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/project/RTE/Device/CT_Board_HS14_M0/.datainit_ctboard.s@4.0.1 b/project/RTE/Device/CT_Board_HS14_M0/.datainit_ctboard.s@4.0.1 new file mode 100644 index 0000000..d891d1a --- /dev/null +++ b/project/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/project/RTE/Device/CT_Board_HS14_M0/.startup_ctboard.s@4.0.1 b/project/RTE/Device/CT_Board_HS14_M0/.startup_ctboard.s@4.0.1 new file mode 100644 index 0000000..fd8a0f9 --- /dev/null +++ b/project/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/project/RTE/Device/CT_Board_HS14_M0/.system_ctboard.c@4.0.1 b/project/RTE/Device/CT_Board_HS14_M0/.system_ctboard.c@4.0.1 new file mode 100644 index 0000000..58c804c --- /dev/null +++ b/project/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/project/RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s b/project/RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s new file mode 100644 index 0000000..d891d1a --- /dev/null +++ b/project/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/project/RTE/Device/CT_Board_HS14_M0/startup_ctboard.s b/project/RTE/Device/CT_Board_HS14_M0/startup_ctboard.s new file mode 100644 index 0000000..fd8a0f9 --- /dev/null +++ b/project/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/project/RTE/Device/CT_Board_HS14_M0/system_ctboard.c b/project/RTE/Device/CT_Board_HS14_M0/system_ctboard.c new file mode 100644 index 0000000..58c804c --- /dev/null +++ b/project/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/project/RTE/HAL/CT_Board_HS14_M0/.hal_fmc.c@3.0.1 b/project/RTE/HAL/CT_Board_HS14_M0/.hal_fmc.c@3.0.1 new file mode 100644 index 0000000..e454145 --- /dev/null +++ b/project/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/project/RTE/HAL/CT_Board_HS14_M0/.hal_gpio.c@4.0.1 b/project/RTE/HAL/CT_Board_HS14_M0/.hal_gpio.c@4.0.1 new file mode 100644 index 0000000..59e0e4c --- /dev/null +++ b/project/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/project/RTE/HAL/CT_Board_HS14_M0/.hal_pwr.c@2.2.0 b/project/RTE/HAL/CT_Board_HS14_M0/.hal_pwr.c@2.2.0 new file mode 100644 index 0000000..a244dd6 --- /dev/null +++ b/project/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/project/RTE/HAL/CT_Board_HS14_M0/.hal_rcc.c@4.0.1 b/project/RTE/HAL/CT_Board_HS14_M0/.hal_rcc.c@4.0.1 new file mode 100644 index 0000000..fdd4d3a --- /dev/null +++ b/project/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/project/RTE/HAL/CT_Board_HS14_M0/hal_fmc.c b/project/RTE/HAL/CT_Board_HS14_M0/hal_fmc.c new file mode 100644 index 0000000..e454145 --- /dev/null +++ b/project/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/project/RTE/HAL/CT_Board_HS14_M0/hal_gpio.c b/project/RTE/HAL/CT_Board_HS14_M0/hal_gpio.c new file mode 100644 index 0000000..59e0e4c --- /dev/null +++ b/project/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/project/RTE/HAL/CT_Board_HS14_M0/hal_pwr.c b/project/RTE/HAL/CT_Board_HS14_M0/hal_pwr.c new file mode 100644 index 0000000..a244dd6 --- /dev/null +++ b/project/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/project/RTE/HAL/CT_Board_HS14_M0/hal_rcc.c b/project/RTE/HAL/CT_Board_HS14_M0/hal_rcc.c new file mode 100644 index 0000000..fdd4d3a --- /dev/null +++ b/project/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/project/RTE/_Target_1/RTE_Components.h b/project/RTE/_Target_1/RTE_Components.h new file mode 100644 index 0000000..ca91854 --- /dev/null +++ b/project/RTE/_Target_1/RTE_Components.h @@ -0,0 +1,15 @@ + +/* + * Auto generated Run-Time-Environment Configuration File + * *** Do not modify ! *** + * + * Project: 'strukt_code' + * Target: 'Target 1' + */ + +#ifndef RTE_COMPONENTS_H +#define RTE_COMPONENTS_H + + + +#endif /* RTE_COMPONENTS_H */ diff --git a/project/app/struct_code.s b/project/app/struct_code.s index 89f0b69..5b341c1 100644 --- a/project/app/struct_code.s +++ b/project/app/struct_code.s @@ -77,10 +77,82 @@ main PROC main_loop ; STUDENTS: To be programmed + + ; Read ADC Value to R0 + BL adc_get_value + + ; check T0 + LDR R1, =ADDR_BUTTONS + LDRB R1, [R1] + LDR R2, =0x01 + TST R1, R2 + BNE case_green ; If T0 is pressed: goto case_green, else: continue + ; Else (T0 is not pressed): + + ; Read 8-bit value from DIP-Switch 7-0 to R1 + LDR R1, =ADDR_DIP_SWITCH_7_0 + LDRB R1, [R1] + + ; Calc diff: DIP-Switch-7-0 - ADC-Value + SUBS R2, R1, R0 + BLT case_red ; IF diff >= 0: continue case blue, else: goto case red + +case_blue + ; Make LCD Display Blue + LDR R3, =ADDR_LCD_COLOUR + LDR R4, =DISPLAY_COLOUR_BLUE + LDR R5, =0xffff + STRH R5, [R3, R4] + LDR R4, =DISPLAY_COLOUR_RED + LDR R5, =0x0000 + STRH R5, [R3, R4] + LDR R4, =DISPLAY_COLOUR_GREEN + LDR R5, =0x0000 + STRH R5, [R3, R4] + + ; Show Diff on 7-Segment + LDR R3, =ADDR_7_SEG_BIN_DS3_0 + STRB R2, [R3] + B end_cases +case_red + ; Make LCD Display Red + LDR R3, =ADDR_LCD_COLOUR + LDR R4, =DISPLAY_COLOUR_RED + LDR R5, =0xffff + STRH R5, [R3, R4] + LDR R4, =DISPLAY_COLOUR_BLUE + LDR R5, =0x0000 + STRH R5, [R3, R4] + LDR R4, =DISPLAY_COLOUR_GREEN + LDR R5, =0x0000 + STRH R5, [R3, R4] + + ; Show Diff on 7-Segment + LDR R3, =ADDR_7_SEG_BIN_DS3_0 + STRB R2, [R3] + B end_cases +case_green + ; Make LCD Display Green + LDR R3, =ADDR_LCD_COLOUR + LDR R4, =DISPLAY_COLOUR_GREEN + LDR R5, =0xffff + STRH R5, [R3, R4] + LDR R4, =DISPLAY_COLOUR_RED + LDR R5, =0x0000 + STRH R5, [R3, R4] + LDR R4, =DISPLAY_COLOUR_BLUE + LDR R5, =0x0000 + STRH R5, [R3, R4] + + ; Show ADC Value on 7-Semgment + LDR R3, =ADDR_7_SEG_BIN_DS3_0 + STRB R0, [R3] + +end_cases ; END: To be programmed B main_loop diff --git a/project/build/ExtDll.iex b/project/build/ExtDll.iex new file mode 100644 index 0000000..6c0896e --- /dev/null +++ b/project/build/ExtDll.iex @@ -0,0 +1,2 @@ +[EXTDLL] +Count=0 diff --git a/project/build/adc.d b/project/build/adc.d new file mode 100644 index 0000000..b747c35 --- /dev/null +++ b/project/build/adc.d @@ -0,0 +1,3 @@ +./build/adc.o: app\adc.c \ + C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include\reg_stm32f4xx.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h diff --git a/project/build/adc.o b/project/build/adc.o new file mode 100644 index 0000000000000000000000000000000000000000..228c0ebbb2a37db70273365f19c543ab620aa4c8 GIT binary patch literal 4504 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 literal 0 HcmV?d00001 diff --git a/project/build/hal_pwr.d b/project/build/hal_pwr.d new file mode 100644 index 0000000..5a8be71 --- /dev/null +++ b/project/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/project/build/hal_pwr.o b/project/build/hal_pwr.o new file mode 100644 index 0000000000000000000000000000000000000000..6854de86f2a75a84e627f33e94115a140b371e63 GIT binary patch literal 4912 zcmb_gZ){sv6+iDiKgWp^&rRAj9aS-DStD4VoiqtqI<d*tIM&v=` z>P+AiMGl{;9s1Qls!@FHm8&zsA`OP$&<0Yvkqn-qo!!MiBog;sPH*30yfnG<;FZgX z9p@8km$XP+e~1~8wM#yG>Ug;BMW29I!Okn>e!+R069u%5)Tn^|iu*u&}f8pGH{JbO4z-eNe!(J7R| zqaRf}ImXsw-H!o?=Epc1g~}~LiU}vWc_xBzLJ~N|WQ1iV6uaN_2t`2%a*FYCY9}9J zLQ{&w%y2*<3^?{IlEA>3z0EvXgsp$IOT~*)~)2r+3IrS#Hc-z&u3$?lQh3L z9X*_wizXK{lTOwxWDYM3jbx6-(#32!Q#<2Yc}h;CkJoLto_3u|wwj)D^34i5t*7U* zxy*QGq2V_3jizfCGAY+tcC(dAsk)pgRWpft-LB-y_oZvDbFZCmP_tSuEmtw9Qnf(` z6LSmGv^al!nx(UOuw}j^`hefVtzwo7#`+E|CcwLh$DBhb~aZc zZ47F1*oxgwW*)uSt9vRj@^^O}4N#{R;zP!_S>HliwSH}zc8k748=zY?9AK1~KT28$ zl&~f?;#CwMa$CDU)ZGKK*n5y%cyIEy;KKSHsFR`aquRszH;i+>7MC~Rc2ut|@3(f$ z+p8UWyUF8w8)uKsyX-dJ9h&xWsD}jr&K}Z|6H$?~QIWIJM6EWJZDgZ!PCi?XVzWe3 zNRN7SraHZV)EAkLw4XYdijG(@YglZFnQFe=EZCg?sQ+8MDSM@qx6z*rd81uNB6adk zrQ%erBG2TAT`Ff*M$>o^T$6K&V~5g{rE1!;(j^%!U2hbSJ>X+Ocx%)fmA%7DBde=0 z88W2Y$$TdHd}M-$!*{1<_H-4^&=FIM`i;A1P4XMjS-)}Dtl8=BGWJ@2<`aVXH^F>DGXKuZ$0hR$m}b|I zNn;Q(T}O8Ctgk5(ZAKsc<7&Ixz%bQPJpQ7>p8s{= z=Ow^Xe?;2k@OfT6ypkrn)as%P}NX#>c$@0B3h~a*jC5E}e z5(n6KSn>-+`2yMmlw=cQKF?T2lpIttrX;V3ju*~n6An-@RF>SIzLn?}W#7RPaiR*3 zD!EU|gp!ApJgVfPk_9ClCBLfV<4Qis67io?_(g?(t}x%&^gg2375=@#mlb|n;Xf<< zK1;;AqVT_2qCIaSo?j13__r#&gC+a}3R}uQuJ8fnPbz$;@^gN2yn^y`zB6tp|JM|L zMESq1@b{GD{l)yBD9P_j$Kvz%gU843i}7s=Pbqv@VX?mO->tA%XW*j34aHwo_?*J$ z72e1Fq93wcyKLcrw(QkXVU?_coog;kD*Gu_mz-9}PrIkw;A*q+!emvQhHV`>c6<+RE&0Eyk@xMy0JR3n>%ysyG?SHZfSb~UVV*1p8r7;B@fjj*kh?u znNOzyj}FO)Nt{oT^}xg%!X1}^48H!EdX=B%01$llK+N4Yrz>HZBE$nfWgNT@=E(x60c8u6y@?$4e#~?5kS0C z^`d$xF5AlWQ7^PZeh2xaZWVk@<0_OdB;thOLl_z96cf<}cgb%`Ff^QzA84%{;s)x& IJxAgH05DzQMgRZ+ literal 0 HcmV?d00001 diff --git a/project/build/hal_rcc.d b/project/build/hal_rcc.d new file mode 100644 index 0000000..184a1d5 --- /dev/null +++ b/project/build/hal_rcc.d @@ -0,0 +1,5 @@ +./build/hal_rcc.o: RTE\HAL\CT_Board_HS14_M0\hal_rcc.c \ + 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\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/project/build/hal_rcc.o b/project/build/hal_rcc.o new file mode 100644 index 0000000000000000000000000000000000000000..60b0f04eeffe6d97569225bc1920c56cec0f789c GIT binary patch literal 10092 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 + 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/project/build/startup_ctboard.o b/project/build/startup_ctboard.o new file mode 100644 index 0000000000000000000000000000000000000000..5d46426927a60f55d2378fedc880c08bf9252d08 GIT binary patch literal 8204 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 Sw$idn`EOJr1KsouSMyKl#w?ov literal 0 HcmV?d00001 diff --git a/project/build/struct_code.d b/project/build/struct_code.d new file mode 100644 index 0000000..da6c3e6 --- /dev/null +++ b/project/build/struct_code.d @@ -0,0 +1 @@ +.\build\struct_code.o: app\struct_code.s diff --git a/project/build/struct_code.lst b/project/build/struct_code.lst new file mode 100644 index 0000000..8e644b8 --- /dev/null +++ b/project/build/struct_code.lst @@ -0,0 +1,605 @@ + + + +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 ; -- main.s + 11 00000000 ; -- + 12 00000000 ; -- CT1 P08 "Strukturierte Codierung" mit Assembler + 13 00000000 ; -- + 14 00000000 ; -- $Id: struct_code.s 3787 2016-11-17 09:41:48Z kesr $ + + 15 00000000 ; ------------------------------------------------------ + ------------ + 16 00000000 ;Directives + 17 00000000 PRESERVE8 + 18 00000000 THUMB + 19 00000000 + 20 00000000 ; ------------------------------------------------------ + ------------ + 21 00000000 ; -- Address-Defines + 22 00000000 ; ------------------------------------------------------ + ------------ + 23 00000000 ; input + 24 00000000 60000200 + ADDR_DIP_SWITCH_7_0 + EQU 0x60000200 + 25 00000000 60000210 + ADDR_BUTTONS + EQU 0x60000210 + 26 00000000 + 27 00000000 ; output + 28 00000000 60000100 + ADDR_LED_31_0 + EQU 0x60000100 + 29 00000000 60000114 + ADDR_7_SEG_BIN_DS3_0 + EQU 0x60000114 + 30 00000000 60000340 + ADDR_LCD_COLOUR + EQU 0x60000340 + 31 00000000 60000300 + ADDR_LCD_ASCII + EQU 0x60000300 + 32 00000000 60000302 + ADDR_LCD_ASCII_BIT_POS + EQU 0x60000302 + 33 00000000 60000314 + + + +ARM Macro Assembler Page 2 + + + ADDR_LCD_ASCII_2ND_LINE + EQU 0x60000314 + 34 00000000 + 35 00000000 + 36 00000000 ; ------------------------------------------------------ + ------------ + 37 00000000 ; -- Program-Defines + 38 00000000 ; ------------------------------------------------------ + ------------ + 39 00000000 ; value for clearing lcd + 40 00000000 00000000 + ASCII_DIGIT_CLEAR + EQU 0x00000000 + 41 00000000 00000028 + LCD_LAST_OFFSET + EQU 0x00000028 + 42 00000000 + 43 00000000 ; offset for showing the digit in the lcd + 44 00000000 00000030 + ASCII_DIGIT_OFFSET + EQU 0x00000030 + 45 00000000 + 46 00000000 ; lcd background colors to be written + 47 00000000 00000000 + DISPLAY_COLOUR_RED + EQU 0 + 48 00000000 00000002 + DISPLAY_COLOUR_GREEN + EQU 2 + 49 00000000 00000004 + DISPLAY_COLOUR_BLUE + EQU 4 + 50 00000000 + 51 00000000 ; ------------------------------------------------------ + ------------ + 52 00000000 ; -- myConstants + 53 00000000 ; ------------------------------------------------------ + ------------ + 54 00000000 AREA myConstants, DATA, READONLY + 55 00000000 ; display defines for hex / dec + 56 00000000 42 69 74 + 20 DISPLAY_BIT + DCB "Bit " + 57 00000004 32 DISPLAY_2_BIT + DCB "2" + 58 00000005 34 DISPLAY_4_BIT + DCB "4" + 59 00000006 38 DISPLAY_8_BIT + DCB "8" + 60 00000007 00 ALIGN + 61 00000008 + 62 00000008 ; ------------------------------------------------------ + ------------ + 63 00000008 ; -- myCode + 64 00000008 ; ------------------------------------------------------ + ------------ + 65 00000008 AREA myCode, CODE, READONLY + 66 00000000 ENTRY + 67 00000000 + + + +ARM Macro Assembler Page 3 + + + 68 00000000 ; imports for calls + 69 00000000 import adc_init + 70 00000000 import adc_get_value + 71 00000000 + 72 00000000 main PROC + 73 00000000 export main + 74 00000000 ; 8 bit resolution, cont. sampling + 75 00000000 F7FF FFFE BL adc_init + 76 00000004 F000 F832 BL clear_lcd + 77 00000008 + 78 00000008 main_loop + 79 00000008 ; STUDENTS: To be programmed + 80 00000008 + 81 00000008 ; Read ADC Value to R0 + 82 00000008 F7FF FFFE BL adc_get_value + 83 0000000C + 84 0000000C ; check T0 + 85 0000000C 4920 LDR R1, =ADDR_BUTTONS + 86 0000000E 7809 LDRB R1, [R1] + 87 00000010 4A20 LDR R2, =0x01 + 88 00000012 4211 TST R1, R2 + 89 00000014 D11D BNE case_green ; If T0 is pressed: + goto case_green, e + lse: continue + 90 00000016 + 91 00000016 ; Else (T0 is not pressed): + 92 00000016 + 93 00000016 ; Read 8-bit value from DIP-Switch 7-0 to R1 + 94 00000016 4920 LDR R1, =ADDR_DIP_SWITCH_7_0 + 95 00000018 7809 LDRB R1, [R1] + 96 0000001A + 97 0000001A ; Calc diff: DIP-Switch-7-0 - ADC-Value + 98 0000001A 1A0A SUBS R2, R1, R0 + 99 0000001C DB0C BLT case_red ; IF diff >= 0: con + tinue case blue, el + se: goto case red + 100 0000001E + 101 0000001E + 102 0000001E case_blue + 103 0000001E ; Make LCD Display Blue + 104 0000001E 4B1F LDR R3, =ADDR_LCD_COLOUR + 105 00000020 4C1F LDR R4, =DISPLAY_COLOUR_BLUE + 106 00000022 4D20 LDR R5, =0xffff + 107 00000024 531D STRH R5, [R3, R4] + 108 00000026 4C20 LDR R4, =DISPLAY_COLOUR_RED + 109 00000028 4D1F LDR R5, =0x0000 + 110 0000002A 531D STRH R5, [R3, R4] + 111 0000002C 4C1F LDR R4, =DISPLAY_COLOUR_GREEN + 112 0000002E 4D1E LDR R5, =0x0000 + 113 00000030 531D STRH R5, [R3, R4] + 114 00000032 + 115 00000032 ; Show Diff on 7-Segment + 116 00000032 4B1F LDR R3, =ADDR_7_SEG_BIN_DS3_0 + 117 00000034 701A STRB R2, [R3] + 118 00000036 + 119 00000036 E018 B end_cases + 120 00000038 case_red + 121 00000038 ; Make LCD Display Red + 122 00000038 4B18 LDR R3, =ADDR_LCD_COLOUR + + + +ARM Macro Assembler Page 4 + + + 123 0000003A 4C1B LDR R4, =DISPLAY_COLOUR_RED + 124 0000003C 4D19 LDR R5, =0xffff + 125 0000003E 531D STRH R5, [R3, R4] + 126 00000040 4C17 LDR R4, =DISPLAY_COLOUR_BLUE + 127 00000042 4D19 LDR R5, =0x0000 + 128 00000044 531D STRH R5, [R3, R4] + 129 00000046 4C19 LDR R4, =DISPLAY_COLOUR_GREEN + 130 00000048 4D17 LDR R5, =0x0000 + 131 0000004A 531D STRH R5, [R3, R4] + 132 0000004C + 133 0000004C ; Show Diff on 7-Segment + 134 0000004C 4B18 LDR R3, =ADDR_7_SEG_BIN_DS3_0 + 135 0000004E 701A STRB R2, [R3] + 136 00000050 + 137 00000050 E00B B end_cases + 138 00000052 case_green + 139 00000052 ; Make LCD Display Green + 140 00000052 4B12 LDR R3, =ADDR_LCD_COLOUR + 141 00000054 4C15 LDR R4, =DISPLAY_COLOUR_GREEN + 142 00000056 4D13 LDR R5, =0xffff + 143 00000058 531D STRH R5, [R3, R4] + 144 0000005A 4C13 LDR R4, =DISPLAY_COLOUR_RED + 145 0000005C 4D12 LDR R5, =0x0000 + 146 0000005E 531D STRH R5, [R3, R4] + 147 00000060 4C0F LDR R4, =DISPLAY_COLOUR_BLUE + 148 00000062 4D11 LDR R5, =0x0000 + 149 00000064 531D STRH R5, [R3, R4] + 150 00000066 + 151 00000066 ; Show ADC Value on 7-Semgment + 152 00000066 4B12 LDR R3, =ADDR_7_SEG_BIN_DS3_0 + 153 00000068 7018 STRB R0, [R3] + 154 0000006A + 155 0000006A end_cases + 156 0000006A ; END: To be programmed + 157 0000006A E7CD B main_loop + 158 0000006C + 159 0000006C clear_lcd + 160 0000006C B407 PUSH {R0, R1, R2} + 161 0000006E 4A0E LDR R2, =0x0 + 162 00000070 clear_lcd_loop + 163 00000070 4810 LDR R0, =ADDR_LCD_ASCII + 164 00000072 1880 ADDS R0, R0, R2 ; add index to lcd + offset + 165 00000074 490C LDR R1, =ASCII_DIGIT_CLEAR + 166 00000076 6001 STR R1, [R0] + 167 00000078 1D12 ADDS R2, R2, #4 ; increas index by + 4 (word step) + 168 0000007A 2A28 CMP R2, #LCD_LAST_OFFSET ; until in + dex reached last lc + d point + 169 0000007C D4F8 BMI clear_lcd_loop + 170 0000007E BC07 POP {R0, R1, R2} + 171 00000080 4770 BX LR + 172 00000082 + 173 00000082 write_bit_ascii + 174 00000082 B403 PUSH {R0, R1} + 175 00000084 480C LDR R0, =ADDR_LCD_ASCII_BIT_POS + 176 00000086 490D LDR R1, =DISPLAY_BIT + 177 00000088 6809 LDR R1, [R1] + + + +ARM Macro Assembler Page 5 + + + 178 0000008A 6001 STR R1, [R0] + 179 0000008C BC03 POP {R0, R1} + 180 0000008E 4770 BX LR + 181 00000090 + 182 00000090 ENDP + 183 00000090 ALIGN + 184 00000090 + 185 00000090 + 186 00000090 ; ------------------------------------------------------ + ------------ + 187 00000090 ; End of code + 188 00000090 ; ------------------------------------------------------ + ------------ + 189 00000090 END + 60000210 + 00000001 + 60000200 + 60000340 + 00000004 + 0000FFFF + 00000000 + 00000002 + 60000114 + 60000300 + 60000302 + 00000000 +Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M0 --depend=.\bu +ild\struct_code.d -o.\build\struct_code.o -I.\RTE\_Target_1 -IC:\Users\roman\Ap +pData\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\r +oman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\HAL\Include --predefine=" +__EVAL SETA 1" --predefine="__UVISION_VERSION SETA 537" --predefine="_RTE_ SETA + 1" --predefine="_RTE_ SETA 1" --list=.\build\struct_code.lst app\struct_code.s + + + +ARM Macro Assembler Page 1 Alphabetic symbol ordering +Relocatable symbols + +DISPLAY_2_BIT 00000004 + +Symbol: DISPLAY_2_BIT + Definitions + At line 57 in file app\struct_code.s + Uses + None +Comment: DISPLAY_2_BIT unused +DISPLAY_4_BIT 00000005 + +Symbol: DISPLAY_4_BIT + Definitions + At line 58 in file app\struct_code.s + Uses + None +Comment: DISPLAY_4_BIT unused +DISPLAY_8_BIT 00000006 + +Symbol: DISPLAY_8_BIT + Definitions + At line 59 in file app\struct_code.s + Uses + None +Comment: DISPLAY_8_BIT unused +DISPLAY_BIT 00000000 + +Symbol: DISPLAY_BIT + Definitions + At line 56 in file app\struct_code.s + Uses + At line 176 in file app\struct_code.s +Comment: DISPLAY_BIT used once +myConstants 00000000 + +Symbol: myConstants + Definitions + At line 54 in file app\struct_code.s + Uses + None +Comment: myConstants unused +5 symbols + + + +ARM Macro Assembler Page 1 Alphabetic symbol ordering +Relocatable symbols + +case_blue 0000001E + +Symbol: case_blue + Definitions + At line 102 in file app\struct_code.s + Uses + None +Comment: case_blue unused +case_green 00000052 + +Symbol: case_green + Definitions + At line 138 in file app\struct_code.s + Uses + At line 89 in file app\struct_code.s +Comment: case_green used once +case_red 00000038 + +Symbol: case_red + Definitions + At line 120 in file app\struct_code.s + Uses + At line 99 in file app\struct_code.s +Comment: case_red used once +clear_lcd 0000006C + +Symbol: clear_lcd + Definitions + At line 159 in file app\struct_code.s + Uses + At line 76 in file app\struct_code.s +Comment: clear_lcd used once +clear_lcd_loop 00000070 + +Symbol: clear_lcd_loop + Definitions + At line 162 in file app\struct_code.s + Uses + At line 169 in file app\struct_code.s +Comment: clear_lcd_loop used once +end_cases 0000006A + +Symbol: end_cases + Definitions + At line 155 in file app\struct_code.s + Uses + At line 119 in file app\struct_code.s + At line 137 in file app\struct_code.s + +main 00000000 + +Symbol: main + Definitions + At line 72 in file app\struct_code.s + Uses + At line 73 in file app\struct_code.s +Comment: main used once +main_loop 00000008 + + + + +ARM Macro Assembler Page 2 Alphabetic symbol ordering +Relocatable symbols + +Symbol: main_loop + Definitions + At line 78 in file app\struct_code.s + Uses + At line 157 in file app\struct_code.s +Comment: main_loop used once +myCode 00000000 + +Symbol: myCode + Definitions + At line 65 in file app\struct_code.s + Uses + None +Comment: myCode unused +write_bit_ascii 00000082 + +Symbol: write_bit_ascii + Definitions + At line 173 in file app\struct_code.s + Uses + None +Comment: write_bit_ascii unused +10 symbols + + + +ARM Macro Assembler Page 1 Alphabetic symbol ordering +Absolute symbols + +ADDR_7_SEG_BIN_DS3_0 60000114 + +Symbol: ADDR_7_SEG_BIN_DS3_0 + Definitions + At line 29 in file app\struct_code.s + Uses + At line 116 in file app\struct_code.s + At line 134 in file app\struct_code.s + At line 152 in file app\struct_code.s + +ADDR_BUTTONS 60000210 + +Symbol: ADDR_BUTTONS + Definitions + At line 25 in file app\struct_code.s + Uses + At line 85 in file app\struct_code.s +Comment: ADDR_BUTTONS used once +ADDR_DIP_SWITCH_7_0 60000200 + +Symbol: ADDR_DIP_SWITCH_7_0 + Definitions + At line 24 in file app\struct_code.s + Uses + At line 94 in file app\struct_code.s +Comment: ADDR_DIP_SWITCH_7_0 used once +ADDR_LCD_ASCII 60000300 + +Symbol: ADDR_LCD_ASCII + Definitions + At line 31 in file app\struct_code.s + Uses + At line 163 in file app\struct_code.s +Comment: ADDR_LCD_ASCII used once +ADDR_LCD_ASCII_2ND_LINE 60000314 + +Symbol: ADDR_LCD_ASCII_2ND_LINE + Definitions + At line 33 in file app\struct_code.s + Uses + None +Comment: ADDR_LCD_ASCII_2ND_LINE unused +ADDR_LCD_ASCII_BIT_POS 60000302 + +Symbol: ADDR_LCD_ASCII_BIT_POS + Definitions + At line 32 in file app\struct_code.s + Uses + At line 175 in file app\struct_code.s +Comment: ADDR_LCD_ASCII_BIT_POS used once +ADDR_LCD_COLOUR 60000340 + +Symbol: ADDR_LCD_COLOUR + Definitions + At line 30 in file app\struct_code.s + Uses + At line 104 in file app\struct_code.s + At line 122 in file app\struct_code.s + At line 140 in file app\struct_code.s + + + +ARM Macro Assembler Page 2 Alphabetic symbol ordering +Absolute symbols + + +ADDR_LED_31_0 60000100 + +Symbol: ADDR_LED_31_0 + Definitions + At line 28 in file app\struct_code.s + Uses + None +Comment: ADDR_LED_31_0 unused +ASCII_DIGIT_CLEAR 00000000 + +Symbol: ASCII_DIGIT_CLEAR + Definitions + At line 40 in file app\struct_code.s + Uses + At line 165 in file app\struct_code.s +Comment: ASCII_DIGIT_CLEAR used once +ASCII_DIGIT_OFFSET 00000030 + +Symbol: ASCII_DIGIT_OFFSET + Definitions + At line 44 in file app\struct_code.s + Uses + None +Comment: ASCII_DIGIT_OFFSET unused +DISPLAY_COLOUR_BLUE 00000004 + +Symbol: DISPLAY_COLOUR_BLUE + Definitions + At line 49 in file app\struct_code.s + Uses + At line 105 in file app\struct_code.s + At line 126 in file app\struct_code.s + At line 147 in file app\struct_code.s + +DISPLAY_COLOUR_GREEN 00000002 + +Symbol: DISPLAY_COLOUR_GREEN + Definitions + At line 48 in file app\struct_code.s + Uses + At line 111 in file app\struct_code.s + At line 129 in file app\struct_code.s + At line 141 in file app\struct_code.s + +DISPLAY_COLOUR_RED 00000000 + +Symbol: DISPLAY_COLOUR_RED + Definitions + At line 47 in file app\struct_code.s + Uses + At line 108 in file app\struct_code.s + At line 123 in file app\struct_code.s + At line 144 in file app\struct_code.s + +LCD_LAST_OFFSET 00000028 + +Symbol: LCD_LAST_OFFSET + Definitions + + + +ARM Macro Assembler Page 3 Alphabetic symbol ordering +Absolute symbols + + At line 41 in file app\struct_code.s + Uses + At line 168 in file app\struct_code.s +Comment: LCD_LAST_OFFSET used once +14 symbols + + + +ARM Macro Assembler Page 1 Alphabetic symbol ordering +External symbols + +adc_get_value 00000000 + +Symbol: adc_get_value + Definitions + At line 70 in file app\struct_code.s + Uses + At line 82 in file app\struct_code.s +Comment: adc_get_value used once +adc_init 00000000 + +Symbol: adc_init + Definitions + At line 69 in file app\struct_code.s + Uses + At line 75 in file app\struct_code.s +Comment: adc_init used once +2 symbols +366 symbols in table diff --git a/project/build/struct_code.o b/project/build/struct_code.o new file mode 100644 index 0000000000000000000000000000000000000000..c592aed01c933cd4682f383ba9c6be2a0d3c89ac GIT binary patch literal 2520 zcmcImO>Ep$5FXo`T_@e7$+oE5{4_qeDE!3ArlF(}mDoSXb{%yUZ}|~Mj@N!k7uIXb z_C~E#RXrlq12?WnTo4BYsK+ApPzh8C2_$ZC=mCiR@eSCSlDhL9kB!CPQrIM8#Us+>p31(m#M4Zd`RJyUUy0#9($A1ms&($ZCD~<7M z%B7jg!q0RzF`NH&vAL)#TMLGwFXFhUpP^%OHYh$UHs|!yh)%Kbw0;WbMO-=du+V%? zKY{3kUcm9VK7(VSSqy&sBX?)&()8x7V!k2l6c(0VeDX`~Zt$jbC%-w_7{4m)NQkCI z*kS%7e_eu|4Ej18vI8*RPYSRDC>QbJQh??ZLNyb_TxGDF|9`)18|1|IGgnY!Jv)-8j*ZV(dJYK8t@XnS6_zh`y(Rym4@ z*Xdn1gV6tgI5G3_6E>pfp55&qkz^5xd4Mk|$BX+a;onk@_sh(hDKGTB?lRXk!`*v?YfF+t`mAAJn%xujioxz@E zcRC^2*Gf=p7%jd0u2pHYp)%<9+;SX;-OeB;k*c;gx2%Ry-aogc8fvSqmN)d(RrQ?> zy;M>SoHgq8dP%+6cw4<<)Qz{!t2d2yv)Zh2_$tCpUA=6y%GJ7Buawu-)^^=kSL@|U zV}BLA>s7xW#WvOwo4W*57gY5Bf2d+C{xa6}@-jO=@@pa4rLb%7S`_8CfAm?R+vpd`tC)|?9d1u=`gOc>_1EHE6WYd+-}!Rt8It$HgMy{Q@x}d z1T{OhP2G3wo{27+E!+7pG8_H6VOHA}-wxfymF<;;Ws!%Rqn}v)pg~be7bQK#*Y(~RVdXNGr(0PVX_zh`m;6)ncwsHGVEZ74X8k%oe3%64B#Z4Fx|tw6k8YH zRhGGTz0Ux?U~1eDmGha@af8cvq-Nmj6ec|JL4dk~5;RKfMiXq@Ke2GJo=5FQj!*DE zFesDJ+3`b80RE$)@#J56R6zJLGI0`zqa>(QiykqxSD6C71_gWrE=lcvqb}g5gwxz+ kIvY7gB@{{YsyPLWZB{6w^)Vu*n8J|(Kj-J^!pDgJ2A4slod5s; literal 0 HcmV?d00001 diff --git a/project/build/strukt_code.axf b/project/build/strukt_code.axf new file mode 100644 index 0000000000000000000000000000000000000000..013b9780bcfe15b68f76b7682a022fb92a33ff2f GIT binary patch literal 48956 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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_8_Structured_Programming_in_Assembly\project\strukt_code.uvprojx +Project File Date: 11/11/2022 + +

Output:

+*** Using Compiler 'V6.18', folder: 'C:\Keil_v5\ARM\ARMCLANG\Bin' +Rebuild target 'Target 1' +assembling datainit_ctboard.s... +assembling startup_ctboard.s... +assembling struct_code.s... +app/adc.c(39): warning: logical not is only applied to the left hand side of this bitwise operator [-Wlogical-not-parentheses] + while (!ADC3->SR & 0x00000002) ; + ^ ~ +app/adc.c(39): note: add parentheses after the '!' to evaluate the bitwise operator first + while (!ADC3->SR & 0x00000002) ; + ^ + ( ) +app/adc.c(39): note: add parentheses around left hand side expression to silence this warning + while (!ADC3->SR & 0x00000002) ; + ^ + ( ) +1 warning generated. +compiling adc.c... +compiling system_ctboard.c... +compiling hal_fmc.c... +compiling hal_pwr.c... +compiling hal_rcc.c... +compiling hal_gpio.c... +linking... +Program Size: Code=3696 RO-data=436 RW-data=0 ZI-data=8192 +".\build\strukt_code.axf" - 0 Error(s), 1 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/m0/platform_ctboard.h + Include file: Device/Include/reg_stm32f4xx.h + Include file: Device/Include/reg_ctboard.h + Include file: Device/Include/system_ctboard.h + Source file: Device/Source/system_ctboard.c + Source file: Device/Source/startup_ctboard.s + Source file: Device/Source/datainit_ctboard.s + + * Component: InES::HAL:FMC:3.0.1 + Include file: HAL/Include/hal_common.h + Include file: Device/Include/reg_stm32f4xx.h + Source file: HAL/Source/hal_fmc.c + Include file: HAL/Include/hal_fmc.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 + Source file: HAL/Source/hal_rcc.c + Include file: HAL/Include/hal_common.h + Include file: Device/Include/reg_stm32f4xx.h + Include file: HAL/Include/hal_rcc.h +Build Time Elapsed: 00:00:00 +
+ + diff --git a/project/build/strukt_code.htm b/project/build/strukt_code.htm new file mode 100644 index 0000000..439ec5b --- /dev/null +++ b/project/build/strukt_code.htm @@ -0,0 +1,622 @@ + + +Static Call Graph - [.\build\strukt_code.axf] +
+

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


+

#<CALLGRAPH># ARM Linker, 6180002: Last Updated: Fri Nov 11 09:07:05 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
    + +

    +

    +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 struct_code.o(myCode) referenced from datainit_ctboard.o(.text) +
    +

    +

    +Global Symbols +

    +

    adc_init (Thumb, 80 bytes, Stack size 16 bytes, adc.o(.text)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = adc_init +
    +
    [Called By]
    • >>   main +
    + +

    adc_get_value (Thumb, 24 bytes, Stack size 0 bytes, adc.o(.text)) +

    [Called By]

    • >>   main +
    + +

    __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, 144 bytes, Stack size 0 bytes, struct_code.o(myCode)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = main ⇒ adc_init +
    +
    [Calls]
    • >>   adc_get_value +
    • >>   adc_init +
    +
    [Address Reference Count : 1]
    • datainit_ctboard.o(.text) +

    +

    +Local Symbols +

    +

    +Undefined Global Symbols +


    diff --git a/project/build/strukt_code.lnp b/project/build/strukt_code.lnp new file mode 100644 index 0000000..3be2735 --- /dev/null +++ b/project/build/strukt_code.lnp @@ -0,0 +1,14 @@ +--cpu Cortex-M0 +".\build\adc.o" +".\build\struct_code.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" +--ro-base 0x08000000 --entry 0x08000000 --rw-base 0x20000000 --entry Reset_Handler --first __Vectors --strict +--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\strukt_code.map" -o .\build\strukt_code.axf \ No newline at end of file diff --git a/project/build/strukt_code.map b/project/build/strukt_code.map new file mode 100644 index 0000000..64d34f0 --- /dev/null +++ b/project/build/strukt_code.map @@ -0,0 +1,385 @@ +Component: Arm Compiler for Embedded 6.18 Tool: armlink [5e4cc100] + +============================================================================== + +Section Cross References + + adc.o(.ARM.exidx) refers to adc.o(.text) for [Anonymous Symbol] + struct_code.o(myCode) refers to adc.o(.text) for adc_init + struct_code.o(myCode) refers to struct_code.o(myConstants) for DISPLAY_BIT + datainit_ctboard.o(.text) refers (Weak) to startup_ctboard.o(STACK) for Stack_Mem + datainit_ctboard.o(.text) refers to struct_code.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 adc.o(.ARM.exidx), (16 bytes). + 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). + +7 unused section(s) (total 2328 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 + adc.c 0x00000000 Number 0 adc.o ABSOLUTE + app\struct_code.s 0x00000000 Number 0 struct_code.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) + [Anonymous Symbol] 0x080001ac Section 0 adc.o(.text) + __arm_cp.0_0 0x080001fc Number 4 adc.o(.text) + __arm_cp.0_1 0x08000200 Number 4 adc.o(.text) + __arm_cp.0_2 0x08000204 Number 4 adc.o(.text) + __arm_cp.1_0 0x08000220 Number 4 adc.o(.text) + .text 0x08000224 Section 124 datainit_ctboard.o(.text) + .text 0x080002a0 Section 36 startup_ctboard.o(.text) + [Anonymous Symbol] 0x080002c4 Section 0 system_ctboard.o(.text) + __arm_cp.1_0 0x080003e4 Number 4 system_ctboard.o(.text) + __arm_cp.1_1 0x080003e8 Number 4 system_ctboard.o(.text) + __arm_cp.1_2 0x080003ec Number 4 system_ctboard.o(.text) + __arm_cp.1_3 0x080003f0 Number 4 system_ctboard.o(.text) + __arm_cp.1_4 0x080003f4 Number 4 system_ctboard.o(.text) + __arm_cp.1_5 0x080003f8 Number 4 system_ctboard.o(.text) + __arm_cp.1_6 0x080003fc Number 4 system_ctboard.o(.text) + __arm_cp.1_7 0x08000400 Number 4 system_ctboard.o(.text) + __arm_cp.1_8 0x08000404 Number 4 system_ctboard.o(.text) + __arm_cp.1_9 0x08000408 Number 4 system_ctboard.o(.text) + __arm_cp.1_10 0x0800040c Number 4 system_ctboard.o(.text) + __arm_cp.1_11 0x08000410 Number 4 system_ctboard.o(.text) + __arm_cp.1_12 0x08000414 Number 4 system_ctboard.o(.text) + __arm_cp.1_13 0x08000418 Number 4 system_ctboard.o(.text) + __arm_cp.1_14 0x0800041c Number 4 system_ctboard.o(.text) + [Anonymous Symbol] 0x08000428 Section 0 hal_fmc.o(.text) + __arm_cp.0_0 0x08000464 Number 4 hal_fmc.o(.text) + __arm_cp.0_1 0x08000468 Number 4 hal_fmc.o(.text) + __arm_cp.0_2 0x0800046c Number 4 hal_fmc.o(.text) + __arm_cp.1_0 0x08000578 Number 4 hal_fmc.o(.text) + [Anonymous Symbol] 0x0800057c Section 0 hal_gpio.o(.text) + __arm_cp.0_0 0x080005c0 Number 4 hal_gpio.o(.text) + __arm_cp.0_1 0x080005c4 Number 4 hal_gpio.o(.text) + __arm_cp.1_0 0x08000664 Number 4 hal_gpio.o(.text) + __arm_cp.1_1 0x08000668 Number 4 hal_gpio.o(.text) + __arm_cp.2_0 0x0800075c Number 4 hal_gpio.o(.text) + __arm_cp.2_1 0x08000760 Number 4 hal_gpio.o(.text) + __arm_cp.3_0 0x08000878 Number 4 hal_gpio.o(.text) + __arm_cp.3_1 0x0800087c Number 4 hal_gpio.o(.text) + __arm_cp.7_0 0x080009a8 Number 4 hal_gpio.o(.text) + __arm_cp.7_1 0x080009ac Number 4 hal_gpio.o(.text) + __arm_cp.8_0 0x080009c8 Number 4 hal_gpio.o(.text) + __arm_cp.8_1 0x080009cc Number 4 hal_gpio.o(.text) + __arm_cp.9_0 0x080009ec Number 4 hal_gpio.o(.text) + __arm_cp.9_1 0x080009f0 Number 4 hal_gpio.o(.text) + __arm_cp.10_0 0x08000a10 Number 4 hal_gpio.o(.text) + __arm_cp.10_1 0x08000a14 Number 4 hal_gpio.o(.text) + __arm_cp.11_0 0x08000b3c Number 4 hal_gpio.o(.text) + __arm_cp.11_1 0x08000b40 Number 4 hal_gpio.o(.text) + __arm_cp.11_2 0x08000b44 Number 4 hal_gpio.o(.text) + __arm_cp.11_3 0x08000b48 Number 4 hal_gpio.o(.text) + __arm_cp.11_4 0x08000b4c Number 4 hal_gpio.o(.text) + __arm_cp.11_5 0x08000b50 Number 4 hal_gpio.o(.text) + __arm_cp.12_0 0x08000b6c Number 4 hal_gpio.o(.text) + __arm_cp.13_0 0x08000b7c Number 4 hal_gpio.o(.text) + [Anonymous Symbol] 0x08000b80 Section 0 hal_pwr.o(.text) + __arm_cp.0_0 0x08000b90 Number 4 hal_pwr.o(.text) + __arm_cp.1_0 0x08000bcc Number 4 hal_pwr.o(.text) + __arm_cp.2_0 0x08000be8 Number 4 hal_pwr.o(.text) + __arm_cp.3_0 0x08000c04 Number 4 hal_pwr.o(.text) + __arm_cp.4_0 0x08000c20 Number 4 hal_pwr.o(.text) + [Anonymous Symbol] 0x08000c2c Section 0 hal_rcc.o(.text) + __arm_cp.0_0 0x08000c94 Number 4 hal_rcc.o(.text) + __arm_cp.0_1 0x08000c98 Number 4 hal_rcc.o(.text) + __arm_cp.0_2 0x08000c9c Number 4 hal_rcc.o(.text) + __arm_cp.0_3 0x08000ca0 Number 4 hal_rcc.o(.text) + __arm_cp.0_4 0x08000ca4 Number 4 hal_rcc.o(.text) + __arm_cp.0_5 0x08000ca8 Number 4 hal_rcc.o(.text) + __arm_cp.0_6 0x08000cac Number 4 hal_rcc.o(.text) + __arm_cp.0_7 0x08000cb0 Number 4 hal_rcc.o(.text) + __arm_cp.1_0 0x08000d98 Number 4 hal_rcc.o(.text) + __arm_cp.2_0 0x08000e08 Number 4 hal_rcc.o(.text) + __arm_cp.2_1 0x08000e0c Number 4 hal_rcc.o(.text) + __arm_cp.3_0 0x08000eec Number 4 hal_rcc.o(.text) + __arm_cp.3_1 0x08000ef0 Number 4 hal_rcc.o(.text) + __arm_cp.3_2 0x08000ef4 Number 4 hal_rcc.o(.text) + __arm_cp.3_3 0x08000ef8 Number 4 hal_rcc.o(.text) + __arm_cp.3_4 0x08000efc Number 4 hal_rcc.o(.text) + __arm_cp.3_5 0x08000f00 Number 4 hal_rcc.o(.text) + __arm_cp.4_0 0x08000f54 Number 4 hal_rcc.o(.text) + __arm_cp.4_1 0x08000f58 Number 4 hal_rcc.o(.text) + myCode 0x08000f5c Section 192 struct_code.o(myCode) + DISPLAY_BIT 0x0800101c Data 4 struct_code.o(myConstants) + myConstants 0x0800101c Section 8 struct_code.o(myConstants) + 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$$ER_IROM1$$Limit - Undefined Weak Reference + Image$$RW_IRAM1$$Base - Undefined Weak Reference + Image$$RW_IRAM1$$ZI$$Base - Undefined Weak Reference + Image$$RW_IRAM1$$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) + adc_init 0x080001ad Thumb Code 80 adc.o(.text) + adc_get_value 0x08000209 Thumb Code 24 adc.o(.text) + __main 0x08000225 Thumb Code 74 datainit_ctboard.o(.text) + Reset_Handler 0x080002a1 Thumb Code 8 startup_ctboard.o(.text) + NMI_Handler 0x080002a9 Thumb Code 2 startup_ctboard.o(.text) + HardFault_Handler 0x080002ab Thumb Code 2 startup_ctboard.o(.text) + MemManage_Handler 0x080002ad Thumb Code 2 startup_ctboard.o(.text) + BusFault_Handler 0x080002af Thumb Code 2 startup_ctboard.o(.text) + UsageFault_Handler 0x080002b1 Thumb Code 2 startup_ctboard.o(.text) + SVC_Handler 0x080002b3 Thumb Code 2 startup_ctboard.o(.text) + DebugMon_Handler 0x080002b5 Thumb Code 2 startup_ctboard.o(.text) + PendSV_Handler 0x080002b7 Thumb Code 2 startup_ctboard.o(.text) + SysTick_Handler 0x080002b9 Thumb Code 2 startup_ctboard.o(.text) + ADC_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + CAN1_RX0_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + CAN1_RX1_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + CAN1_SCE_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + CAN1_TX_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + CAN2_RX0_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + CAN2_RX1_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + CAN2_SCE_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + CAN2_TX_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + CRYP_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + DCMI_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + DMA1_Stream0_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + DMA1_Stream1_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + DMA1_Stream2_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + DMA1_Stream3_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + DMA1_Stream4_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + DMA1_Stream5_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + DMA1_Stream6_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + DMA1_Stream7_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + DMA2D_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + DMA2_Stream0_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + DMA2_Stream1_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + DMA2_Stream2_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + DMA2_Stream3_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + DMA2_Stream4_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + DMA2_Stream5_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + DMA2_Stream6_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + DMA2_Stream7_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + ETH_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + ETH_WKUP_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + EXTI0_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + EXTI15_10_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + EXTI1_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + EXTI2_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + EXTI3_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + EXTI4_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + EXTI9_5_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + FLASH_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + FMC_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + FPU_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + HASH_RNG_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + I2C1_ER_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + I2C1_EV_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + I2C2_ER_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + I2C2_EV_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + I2C3_ER_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + I2C3_EV_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + LTDC_ER_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + LTDC_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + OTG_FS_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + OTG_FS_WKUP_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + OTG_HS_EP1_IN_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + OTG_HS_EP1_OUT_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + OTG_HS_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + OTG_HS_WKUP_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + PVD_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + RCC_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + RTC_Alarm_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + RTC_WKUP_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + SAI1_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + SDIO_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + SPI1_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + SPI2_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + SPI3_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + SPI4_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + SPI5_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + SPI6_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + TAMP_STAMP_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + TIM1_BRK_TIM9_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + TIM1_CC_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + TIM1_TRG_COM_TIM11_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + TIM1_UP_TIM10_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + TIM2_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + TIM3_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + TIM4_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + TIM5_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + TIM6_DAC_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + TIM7_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + TIM8_BRK_TIM12_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + TIM8_CC_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + TIM8_TRG_COM_TIM14_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + TIM8_UP_TIM13_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + UART4_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + UART5_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + UART7_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + UART8_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + USART1_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + USART2_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + USART3_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + USART6_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + WWDG_IRQHandler 0x080002bb Thumb Code 0 startup_ctboard.o(.text) + __system 0x080002c5 Thumb Code 8 system_ctboard.o(.text) + system_enter_run 0x080002cd Thumb Code 280 system_ctboard.o(.text) + system_enter_sleep 0x08000421 Thumb Code 2 system_ctboard.o(.text) + system_enter_stop 0x08000423 Thumb Code 2 system_ctboard.o(.text) + system_enter_standby 0x08000425 Thumb Code 2 system_ctboard.o(.text) + hal_fmc_reset 0x08000429 Thumb Code 60 hal_fmc.o(.text) + hal_fmc_init_sram 0x08000471 Thumb Code 264 hal_fmc.o(.text) + hal_gpio_reset 0x0800057d Thumb Code 68 hal_gpio.o(.text) + hal_gpio_init_input 0x080005c9 Thumb Code 156 hal_gpio.o(.text) + hal_gpio_init_analog 0x0800066d Thumb Code 240 hal_gpio.o(.text) + hal_gpio_init_output 0x08000765 Thumb Code 276 hal_gpio.o(.text) + hal_gpio_init_alternate 0x08000881 Thumb Code 262 hal_gpio.o(.text) + hal_gpio_input_read 0x08000987 Thumb Code 6 hal_gpio.o(.text) + hal_gpio_output_read 0x0800098d Thumb Code 6 hal_gpio.o(.text) + hal_gpio_output_write 0x08000995 Thumb Code 20 hal_gpio.o(.text) + hal_gpio_bit_set 0x080009b1 Thumb Code 24 hal_gpio.o(.text) + hal_gpio_bit_reset 0x080009d1 Thumb Code 28 hal_gpio.o(.text) + hal_gpio_bit_toggle 0x080009f5 Thumb Code 28 hal_gpio.o(.text) + hal_gpio_irq_set 0x08000a19 Thumb Code 292 hal_gpio.o(.text) + hal_gpio_irq_status 0x08000b55 Thumb Code 24 hal_gpio.o(.text) + hal_gpio_irq_clear 0x08000b71 Thumb Code 12 hal_gpio.o(.text) + hal_pwr_reset 0x08000b81 Thumb Code 16 hal_pwr.o(.text) + hal_pwr_set_backup_domain 0x08000b95 Thumb Code 56 hal_pwr.o(.text) + hal_pwr_set_backup_access 0x08000bd1 Thumb Code 24 hal_pwr.o(.text) + hal_pwr_set_wakeup_pin 0x08000bed Thumb Code 24 hal_pwr.o(.text) + hal_pwr_set_flash_powerdown 0x08000c09 Thumb Code 24 hal_pwr.o(.text) + hal_pwr_set_overdrive 0x08000c25 Thumb Code 4 hal_pwr.o(.text) + hal_pwr_set_underdrive 0x08000c29 Thumb Code 4 hal_pwr.o(.text) + hal_rcc_reset 0x08000c2d Thumb Code 104 hal_rcc.o(.text) + hal_rcc_set_peripheral 0x08000cb5 Thumb Code 228 hal_rcc.o(.text) + hal_rcc_set_osc 0x08000d9d Thumb Code 108 hal_rcc.o(.text) + hal_rcc_setup_pll 0x08000e11 Thumb Code 220 hal_rcc.o(.text) + hal_rcc_setup_clock 0x08000f05 Thumb Code 80 hal_rcc.o(.text) + main 0x08000f5d Thumb Code 144 struct_code.o(myCode) + Image$$RO$$Limit 0x08001024 Number 0 anon$$obj.o ABSOLUTE + Image$$RW$$Base 0x20000000 Number 0 anon$$obj.o ABSOLUTE + Image$$ZI$$Base 0x20000000 Number 0 anon$$obj.o ABSOLUTE + Stack_Mem 0x20000000 Data 8192 startup_ctboard.o(STACK) + Image$$ZI$$Limit 0x20002000 Number 0 anon$$obj.o ABSOLUTE + + + +============================================================================== + +Memory Map of the image + + Image Entry point : 0x080002a1 + + Load Region LR_1 (Base: 0x08000000, Size: 0x00001024, Max: 0xffffffff, ABSOLUTE) + + Execution Region ER_RO (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00001024, Max: 0xffffffff, ABSOLUTE) + + Exec Addr Load Addr Size Type Attr Idx E Section Name Object + + 0x08000000 0x08000000 0x000001ac Data RO 21 RESET startup_ctboard.o + 0x080001ac 0x080001ac 0x00000078 Code RO 1 .text adc.o + 0x08000224 0x08000224 0x0000007c Code RO 15 .text datainit_ctboard.o + 0x080002a0 0x080002a0 0x00000024 Code RO 22 * .text startup_ctboard.o + 0x080002c4 0x080002c4 0x00000162 Code RO 26 .text system_ctboard.o + 0x08000426 0x08000426 0x00000002 PAD + 0x08000428 0x08000428 0x00000154 Code RO 34 .text hal_fmc.o + 0x0800057c 0x0800057c 0x00000604 Code RO 42 .text hal_gpio.o + 0x08000b80 0x08000b80 0x000000ac Code RO 50 .text hal_pwr.o + 0x08000c2c 0x08000c2c 0x00000330 Code RO 58 .text hal_rcc.o + 0x08000f5c 0x08000f5c 0x000000c0 Code RO 9 * myCode struct_code.o + 0x0800101c 0x0800101c 0x00000008 Data RO 8 myConstants struct_code.o + + + Execution Region ER_RW (Exec base: 0x20000000, Load base: 0x08001024, Size: 0x00000000, Max: 0xffffffff, ABSOLUTE) + + **** No section assigned to this execution region **** + + + Execution Region ER_ZI (Exec base: 0x20000000, Load base: 0x08001024, Size: 0x00002000, Max: 0xffffffff, ABSOLUTE) + + Exec Addr Load Addr Size Type Attr Idx E Section Name Object + + 0x20000000 - 0x00002000 Zero RW 19 STACK startup_ctboard.o + + +============================================================================== + +Image component sizes + + + Code (inc. data) RO Data RW Data ZI Data Debug Object Name + + 120 16 0 0 0 2175 adc.o + 124 50 0 0 0 432 datainit_ctboard.o + 340 16 0 0 0 3840 hal_fmc.o + 1540 96 0 0 0 12004 hal_gpio.o + 172 20 0 0 0 2135 hal_pwr.o + 816 168 0 0 0 5363 hal_rcc.o + 36 8 428 0 8192 832 startup_ctboard.o + 192 48 8 0 0 440 struct_code.o + 354 60 0 0 0 6774 system_ctboard.o + + ---------------------------------------------------------------------- + 3696 482 436 0 8192 33995 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 + + 3696 482 436 0 8192 33791 Grand Totals + 3696 482 436 0 8192 33791 ELF Image Totals + 3696 482 436 0 0 0 ROM Totals + +============================================================================== + + Total RO Size (Code + RO Data) 4132 ( 4.04kB) + Total RW Size (RW Data + ZI Data) 8192 ( 8.00kB) + Total ROM Size (Code + RO Data + RW Data) 4132 ( 4.04kB) + +============================================================================== + diff --git a/project/build/strukt_code_Target 1.dep b/project/build/strukt_code_Target 1.dep new file mode 100644 index 0000000..462e1dd --- /dev/null +++ b/project/build/strukt_code_Target 1.dep @@ -0,0 +1,39 @@ +Dependencies for Project 'strukt_code', Target 'Target 1': (DO NOT MODIFY !) +CompilerVersion: 6180000::V6.18::ARMCLANG +F (.\app\adc.c)(0x636DF2E9)(-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/adc.o -MD) +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) +F (.\app\struct_code.s)(0x636E0271)(--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\struct_code.lst --xref -o .\build\struct_code.o --depend .\build\struct_code.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/project/build/system_ctboard.d b/project/build/system_ctboard.d new file mode 100644 index 0000000..556de8b --- /dev/null +++ b/project/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/project/build/system_ctboard.o b/project/build/system_ctboard.o new file mode 100644 index 0000000000000000000000000000000000000000..5d541e4801abb66efd0103e3340ba30d77e0391b GIT binary patch literal 11616 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 literal 0 HcmV?d00001 diff --git a/project/strukt_code.uvguix.roman b/project/strukt_code.uvguix.roman new file mode 100644 index 0000000..fd61f87 --- /dev/null +++ b/project/strukt_code.uvguix.roman @@ -0,0 +1,3628 @@ + + + + -6.1 + +
    ### uVision Project, (C) Keil Software
    + + + + + + + + + + 38003 + Registers + 140 90 + + + 346 + Code Coverage + 1010 160 + + + 204 + Performance Analyzer + 1170 + + + + + + 35141 + Event Statistics + + 200 50 700 + + + 1506 + Symbols + + 80 80 80 + + + 1936 + Watch 1 + + 200 133 133 + + + 1937 + Watch 2 + + 200 133 133 + + + 1935 + Call Stack + Locals + + 200 133 133 + + + 2506 + Trace Data + + 75 135 130 95 70 230 200 150 + + + 466 + Source Browser + 500 + 300 + + + + + + + + 0 + 0 + 0 + 50 + 16 + + + + + + + 44 + 2 + 3 + + -1 + -1 + + + -1 + -1 + + + 86 + 201 + 1641 + 845 + + + + 0 + + 448 + 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000200000000000000010000005B433A5C55736572735C726F6D616E5C446F63756D656E74735C4C61625F385F537472756374757265645F50726F6772616D6D696E675F696E5F417373656D626C795C70726F6A6563745C6170705C7374727563745F636F64652E73000000000D7374727563745F636F64652E7300000000C5D4F200FFFFFFFF77433A5C55736572735C726F6D616E5C446F63756D656E74735C4C61625F385F537472756374757265645F50726F6772616D6D696E675F696E5F417373656D626C795C70726F6A6563745C5254455C4465766963655C43545F426F6172645F485331345F4D305C737461727475705F6374626F6172642E730000000011737461727475705F6374626F6172642E7300000000FFDC7800FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F4000000660000008007000013030000 + + + + 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 + 0300000066000000ED000000E3020000 + + + 16 + 560000006D0000004601000038010000 + + + + 109 + 109 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED000000E3020000 + + + 16 + 560000006D00000072010000AD020000 + + + + 1465 + 1465 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 1466 + 1466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 1467 + 1467 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 1468 + 1468 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 1506 + 1506 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 1913 + 1913 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 1935 + 1935 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + 560000006D0000004601000038010000 + + + + 1936 + 1936 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + 560000006D0000004601000038010000 + + + + 1937 + 1937 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + 560000006D0000004601000038010000 + + + + 1939 + 1939 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 1940 + 1940 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 1941 + 1941 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 1942 + 1942 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 195 + 195 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED000000E3020000 + + + 16 + 560000006D00000072010000AD020000 + + + + 196 + 196 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED000000E3020000 + + + 16 + 560000006D00000072010000AD020000 + + + + 197 + 197 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 000000001403000080070000E6030000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 198 + 198 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 000000001902000090050000BD020000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 199 + 199 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000170300007D070000CD030000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 203 + 203 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 204 + 204 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 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 + 560000006D0000004601000038010000 + + + + 2507 + 2507 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 343 + 343 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 346 + 346 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 35141 + 35141 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + 560000006D0000004601000038010000 + + + + 35824 + 35824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 35885 + 35885 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 35886 + 35886 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 35887 + 35887 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 35888 + 35888 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 35889 + 35889 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 35890 + 35890 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 35891 + 35891 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 35892 + 35892 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 35893 + 35893 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 35894 + 35894 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 35895 + 35895 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 35896 + 35896 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 35897 + 35897 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 35898 + 35898 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 35899 + 35899 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 35900 + 35900 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 35901 + 35901 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 35902 + 35902 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 35903 + 35903 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 35904 + 35904 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 35905 + 35905 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 38003 + 38003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED000000E3020000 + + + 16 + 560000006D00000072010000AD020000 + + + + 38007 + 38007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000170300007D070000CD030000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000170300007D070000CD030000 + + + 16 + 560000006D00000072010000AD020000 + + + + 437 + 437 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + 560000006D0000004601000038010000 + + + + 440 + 440 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + 560000006D0000004601000038010000 + + + + 463 + 463 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000170300007D070000CD030000 + + + 16 + 560000006D00000072010000AD020000 + + + + 466 + 466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000170300007D070000CD030000 + + + 16 + 560000006D00000072010000AD020000 + + + + 470 + 470 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 50000 + 50000 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 50001 + 50001 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 50002 + 50002 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 50003 + 50003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 50004 + 50004 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 50005 + 50005 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 50006 + 50006 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 50007 + 50007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 50008 + 50008 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 50009 + 50009 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 50010 + 50010 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 50011 + 50011 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 50012 + 50012 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 50013 + 50013 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 50014 + 50014 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 50015 + 50015 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 50016 + 50016 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 50017 + 50017 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 50018 + 50018 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 50019 + 50019 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 560000006D0000004601000038010000 + + + + 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 + 560000006D0000004601000038010000 + + + + 3312 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DF00000090050000E3000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000F40000006600000090050000F6000000F40000004F00000090050000DF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A0040000660000009005000040020000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F4000000FC020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000F000000013030000000000004F000000F0000000FC0200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000015020000900500001902000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000003002000090050000D4020000000000001902000090050000BD02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000019020000CC020000BD02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000FC02000080070000000300000100000001000010040000000100000065FEFFFFF1010000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000000000001703000080070000FD030000000000000003000080070000E60300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + + + 59392 + File + + 2705 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000000000000000000000000000000000000000000010000000100000096000000020020500000000004626C75659600000000000000110004626C7565026278044C534C53024C52034245510252310373756D0366343003504144045573657304414444520A616464725F6469705F73053230303030064D79436F6465034551550B636F6E73745F7461626C650A307830383030306634300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 976 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000002001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000008546172676574203196000000000000000100085461726765742031000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + + + 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 + D8000000EF000000C8010000BA010000 + + + + 109 + 109 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000025030000 + + + 16 + D8000000EF000000F40100002F030000 + + + + 1465 + 1465 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 1466 + 1466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 1467 + 1467 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 1468 + 1468 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 1506 + 1506 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 1913 + 1913 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D070000C6000000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 1935 + 1935 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 1936 + 1936 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 1937 + 1937 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 1939 + 1939 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 1940 + 1940 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 1941 + 1941 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 1942 + 1942 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 195 + 195 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000025030000 + + + 16 + D8000000EF000000F40100002F030000 + + + + 196 + 196 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000025030000 + + + 16 + D8000000EF000000F40100002F030000 + + + + 197 + 197 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000440200008D050000A4020000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 198 + 198 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 0000000042030000C0030000E6030000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 199 + 199 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000440200008D050000A4020000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 203 + 203 + 1 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + F40000006300000080070000DF000000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 204 + 204 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D070000C6000000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 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 + D8000000EF000000C8010000BA010000 + + + + 2507 + 2507 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 343 + 343 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D070000C6000000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 346 + 346 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D070000C6000000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 35141 + 35141 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D070000C6000000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35824 + 35824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D070000C6000000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 35885 + 35885 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35886 + 35886 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35887 + 35887 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35888 + 35888 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35889 + 35889 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35890 + 35890 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35891 + 35891 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35892 + 35892 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35893 + 35893 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35894 + 35894 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35895 + 35895 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35896 + 35896 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35897 + 35897 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35898 + 35898 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35899 + 35899 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35900 + 35900 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35901 + 35901 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35902 + 35902 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35903 + 35903 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35904 + 35904 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 35905 + 35905 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 38003 + 38003 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000025030000 + + + 16 + D8000000EF000000F40100002F030000 + + + + 38007 + 38007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000440200008D050000A4020000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000440200008D050000A4020000 + + + 16 + D8000000EF000000F40100002F030000 + + + + 437 + 437 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 440 + 440 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 463 + 463 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000440200008D050000A4020000 + + + 16 + D8000000EF000000F40100002F030000 + + + + 466 + 466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000440200008D050000A4020000 + + + 16 + D8000000EF000000F40100002F030000 + + + + 470 + 470 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D070000C6000000 + + + 16 + D8000000EF000000A00300007F010000 + + + + 50000 + 50000 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50001 + 50001 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50002 + 50002 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50003 + 50003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50004 + 50004 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50005 + 50005 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50006 + 50006 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50007 + 50007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50008 + 50008 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50009 + 50009 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50010 + 50010 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50011 + 50011 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50012 + 50012 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50013 + 50013 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50014 + 50014 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50015 + 50015 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50016 + 50016 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50017 + 50017 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50018 + 50018 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 50019 + 50019 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + D8000000EF000000C8010000BA010000 + + + + 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 + D8000000EF000000C8010000BA010000 + + + + 3311 + 000000000B000000000000000020000001000000FFFFFFFFFFFFFFFFF4000000DF00000080070000E3000000010000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000001000000F40000006600000080070000F6000000F40000004F00000080070000DF0000000000000040280056080000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A0040000660000009005000040020000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F40000003E030000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000F000000055030000000000004F000000F00000003E0300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF04000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF000000003E030000800700004203000001000000010000100400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000001000000C40300005903000080070000FD030000C40300004203000080070000E603000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF000000000000000001000000000000000100000001000000FFFFFFFFC003000042030000C4030000E603000001000000020000100400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF0000000029020000900500002D020000000000000100000004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000000000000000000004402000090050000D4020000000000002D02000090050000BD0200000000000040820046060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0642726F777365000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + + + 59392 + File + + 2705 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000000000000000000000000000000000000000000010000000100000096000000020020500000000004626C75659600000000000000110004626C7565026278044C534C53024C52034245510252310373756D0366343003504144045573657304414444520A616464725F6469705F73053230303030064D79436F6465034551550B636F6E73745F7461626C650A307830383030306634300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000300150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000000180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 955 + 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000000002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050FFFFFFFF00960000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000000240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 + + + + 59400 + Debug + + 2362 + 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 + + + + 0 + 1920 + 1080 + + + + + + 1 + 0 + + 100 + 0 + + .\app\struct_code.s + 2 + 136 + 155 + 1 + + 0 + + + RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + 0 + 184 + 196 + 1 + + 0 + + + + +
    diff --git a/project/strukt_code.uvoptx b/project/strukt_code.uvoptx index 95d429c..072a976 100644 --- a/project/strukt_code.uvoptx +++ b/project/strukt_code.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 @@ -128,19 +148,36 @@ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F4xx_2048 -FS08000000 -FL0200000 -FP0($$Device:CT_Board_HS14_M0$Flash\STM32F4xx_2048.FLM)) - + + + 0 + 0 + 87 + 1 +
    134221676
    + 0 + 0 + 0 + 0 + 0 + 1 + .\app\struct_code.s + + \\strukt_code\app/struct_code.s\87 +
    +
    0 0 0 - 0 + 1 0 0 0 0 - 0 + 1 0 0 0