From e1d9b30ed0bb91832a2cb0ddb4cdf825d0e7f8aa Mon Sep 17 00:00:00 2001 From: Schrom01 Date: Fri, 14 Oct 2022 09:51:31 +0200 Subject: [PATCH] Solved Task 1 --- table_asm/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 ++ table_asm/RTE/HAL/CT_Board_HS14_M0/hal_fmc.c | 143 + table_asm/RTE/HAL/CT_Board_HS14_M0/hal_gpio.c | 412 ++ table_asm/RTE/HAL/CT_Board_HS14_M0/hal_pwr.c | 132 + table_asm/RTE/HAL/CT_Board_HS14_M0/hal_rcc.c | 347 ++ table_asm/RTE/_Target_1/RTE_Components.h | 15 + table_asm/app/table.s | 43 + table_asm/build/ExtDll.iex | 2 + table_asm/build/datainit_ctboard.d | 1 + table_asm/build/datainit_ctboard.lst | 372 ++ table_asm/build/datainit_ctboard.o | Bin 0 -> 2736 bytes table_asm/build/hal_fmc.d | 5 + table_asm/build/hal_fmc.o | Bin 0 -> 6996 bytes table_asm/build/hal_gpio.d | 5 + table_asm/build/hal_gpio.o | Bin 0 -> 20204 bytes table_asm/build/hal_pwr.d | 5 + table_asm/build/hal_pwr.o | Bin 0 -> 4924 bytes table_asm/build/hal_rcc.d | 5 + table_asm/build/hal_rcc.o | Bin 0 -> 9884 bytes table_asm/build/startup_ctboard.d | 1 + table_asm/build/startup_ctboard.lst | 2074 ++++++++++ table_asm/build/startup_ctboard.o | Bin 0 -> 8184 bytes table_asm/build/system_ctboard.d | 11 + table_asm/build/system_ctboard.o | Bin 0 -> 11728 bytes table_asm/build/table.axf | Bin 0 -> 47076 bytes table_asm/build/table.build_log.htm | 97 + table_asm/build/table.d | 1 + table_asm/build/table.htm | 612 +++ table_asm/build/table.lnp | 13 + table_asm/build/table.lst | 404 ++ table_asm/build/table.map | 372 ++ table_asm/build/table.o | Bin 0 -> 2360 bytes table_asm/build/table.sct | 16 + table_asm/build/table_Target 1.dep | 36 + table_asm/table.uvguix.roman | 3646 +++++++++++++++++ table_asm/table.uvoptx | 28 +- table_asm/table.uvprojx | 14 +- 47 files changed, 11502 insertions(+), 11 deletions(-) create mode 100644 table_asm/EventRecorderStub.scvd create mode 100644 table_asm/RTE/Device/CT_Board_HS14_M0/.datainit_ctboard.s@4.0.1 create mode 100644 table_asm/RTE/Device/CT_Board_HS14_M0/.startup_ctboard.s@4.0.1 create mode 100644 table_asm/RTE/Device/CT_Board_HS14_M0/.system_ctboard.c@4.0.1 create mode 100644 table_asm/RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s create mode 100644 table_asm/RTE/Device/CT_Board_HS14_M0/startup_ctboard.s create mode 100644 table_asm/RTE/Device/CT_Board_HS14_M0/system_ctboard.c create mode 100644 table_asm/RTE/HAL/CT_Board_HS14_M0/.hal_fmc.c@3.0.1 create mode 100644 table_asm/RTE/HAL/CT_Board_HS14_M0/.hal_gpio.c@4.0.1 create mode 100644 table_asm/RTE/HAL/CT_Board_HS14_M0/.hal_pwr.c@2.2.0 create mode 100644 table_asm/RTE/HAL/CT_Board_HS14_M0/.hal_rcc.c@4.0.1 create mode 100644 table_asm/RTE/HAL/CT_Board_HS14_M0/hal_fmc.c create mode 100644 table_asm/RTE/HAL/CT_Board_HS14_M0/hal_gpio.c create mode 100644 table_asm/RTE/HAL/CT_Board_HS14_M0/hal_pwr.c create mode 100644 table_asm/RTE/HAL/CT_Board_HS14_M0/hal_rcc.c create mode 100644 table_asm/RTE/_Target_1/RTE_Components.h create mode 100644 table_asm/build/ExtDll.iex create mode 100644 table_asm/build/datainit_ctboard.d create mode 100644 table_asm/build/datainit_ctboard.lst create mode 100644 table_asm/build/datainit_ctboard.o create mode 100644 table_asm/build/hal_fmc.d create mode 100644 table_asm/build/hal_fmc.o create mode 100644 table_asm/build/hal_gpio.d create mode 100644 table_asm/build/hal_gpio.o create mode 100644 table_asm/build/hal_pwr.d create mode 100644 table_asm/build/hal_pwr.o create mode 100644 table_asm/build/hal_rcc.d create mode 100644 table_asm/build/hal_rcc.o create mode 100644 table_asm/build/startup_ctboard.d create mode 100644 table_asm/build/startup_ctboard.lst create mode 100644 table_asm/build/startup_ctboard.o create mode 100644 table_asm/build/system_ctboard.d create mode 100644 table_asm/build/system_ctboard.o create mode 100644 table_asm/build/table.axf create mode 100644 table_asm/build/table.build_log.htm create mode 100644 table_asm/build/table.d create mode 100644 table_asm/build/table.htm create mode 100644 table_asm/build/table.lnp create mode 100644 table_asm/build/table.lst create mode 100644 table_asm/build/table.map create mode 100644 table_asm/build/table.o create mode 100644 table_asm/build/table.sct create mode 100644 table_asm/build/table_Target 1.dep create mode 100644 table_asm/table.uvguix.roman diff --git a/table_asm/EventRecorderStub.scvd b/table_asm/EventRecorderStub.scvd new file mode 100644 index 0000000..2956b29 --- /dev/null +++ b/table_asm/EventRecorderStub.scvd @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/table_asm/RTE/Device/CT_Board_HS14_M0/.datainit_ctboard.s@4.0.1 b/table_asm/RTE/Device/CT_Board_HS14_M0/.datainit_ctboard.s@4.0.1 new file mode 100644 index 0000000..d891d1a --- /dev/null +++ b/table_asm/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/table_asm/RTE/Device/CT_Board_HS14_M0/.startup_ctboard.s@4.0.1 b/table_asm/RTE/Device/CT_Board_HS14_M0/.startup_ctboard.s@4.0.1 new file mode 100644 index 0000000..fd8a0f9 --- /dev/null +++ b/table_asm/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/table_asm/RTE/Device/CT_Board_HS14_M0/.system_ctboard.c@4.0.1 b/table_asm/RTE/Device/CT_Board_HS14_M0/.system_ctboard.c@4.0.1 new file mode 100644 index 0000000..58c804c --- /dev/null +++ b/table_asm/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/table_asm/RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s b/table_asm/RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s new file mode 100644 index 0000000..d891d1a --- /dev/null +++ b/table_asm/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/table_asm/RTE/Device/CT_Board_HS14_M0/startup_ctboard.s b/table_asm/RTE/Device/CT_Board_HS14_M0/startup_ctboard.s new file mode 100644 index 0000000..fd8a0f9 --- /dev/null +++ b/table_asm/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/table_asm/RTE/Device/CT_Board_HS14_M0/system_ctboard.c b/table_asm/RTE/Device/CT_Board_HS14_M0/system_ctboard.c new file mode 100644 index 0000000..58c804c --- /dev/null +++ b/table_asm/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/table_asm/RTE/HAL/CT_Board_HS14_M0/.hal_fmc.c@3.0.1 b/table_asm/RTE/HAL/CT_Board_HS14_M0/.hal_fmc.c@3.0.1 new file mode 100644 index 0000000..e454145 --- /dev/null +++ b/table_asm/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/table_asm/RTE/HAL/CT_Board_HS14_M0/.hal_gpio.c@4.0.1 b/table_asm/RTE/HAL/CT_Board_HS14_M0/.hal_gpio.c@4.0.1 new file mode 100644 index 0000000..59e0e4c --- /dev/null +++ b/table_asm/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/table_asm/RTE/HAL/CT_Board_HS14_M0/.hal_pwr.c@2.2.0 b/table_asm/RTE/HAL/CT_Board_HS14_M0/.hal_pwr.c@2.2.0 new file mode 100644 index 0000000..a244dd6 --- /dev/null +++ b/table_asm/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/table_asm/RTE/HAL/CT_Board_HS14_M0/.hal_rcc.c@4.0.1 b/table_asm/RTE/HAL/CT_Board_HS14_M0/.hal_rcc.c@4.0.1 new file mode 100644 index 0000000..fdd4d3a --- /dev/null +++ b/table_asm/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/table_asm/RTE/HAL/CT_Board_HS14_M0/hal_fmc.c b/table_asm/RTE/HAL/CT_Board_HS14_M0/hal_fmc.c new file mode 100644 index 0000000..e454145 --- /dev/null +++ b/table_asm/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/table_asm/RTE/HAL/CT_Board_HS14_M0/hal_gpio.c b/table_asm/RTE/HAL/CT_Board_HS14_M0/hal_gpio.c new file mode 100644 index 0000000..59e0e4c --- /dev/null +++ b/table_asm/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/table_asm/RTE/HAL/CT_Board_HS14_M0/hal_pwr.c b/table_asm/RTE/HAL/CT_Board_HS14_M0/hal_pwr.c new file mode 100644 index 0000000..a244dd6 --- /dev/null +++ b/table_asm/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/table_asm/RTE/HAL/CT_Board_HS14_M0/hal_rcc.c b/table_asm/RTE/HAL/CT_Board_HS14_M0/hal_rcc.c new file mode 100644 index 0000000..fdd4d3a --- /dev/null +++ b/table_asm/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/table_asm/RTE/_Target_1/RTE_Components.h b/table_asm/RTE/_Target_1/RTE_Components.h new file mode 100644 index 0000000..d743c21 --- /dev/null +++ b/table_asm/RTE/_Target_1/RTE_Components.h @@ -0,0 +1,15 @@ + +/* + * Auto generated Run-Time-Environment Configuration File + * *** Do not modify ! *** + * + * Project: 'table' + * Target: 'Target 1' + */ + +#ifndef RTE_COMPONENTS_H +#define RTE_COMPONENTS_H + + + +#endif /* RTE_COMPONENTS_H */ diff --git a/table_asm/app/table.s b/table_asm/app/table.s index 5bbd223..26e2420 100644 --- a/table_asm/app/table.s +++ b/table_asm/app/table.s @@ -37,6 +37,8 @@ BITMASK_LOWER_NIBBLE EQU 0x0F AREA MyAsmVar, DATA, READWRITE ; STUDENTS: To be programmed +store_table SPACE 16 ; reserve 16 byte (4 words) + @@ -54,9 +56,50 @@ main PROC readInput BL waitForKey ; wait for key to be pressed and released ; STUDENTS: To be programmed + ; Read Valules from Dip Switches 7-0 to R0 + LDR R0, =ADDR_DIP_SWITCH_7_0 + LDRB R0, [R0] + + ; Write Values to LED 7-0 from R0 + LDR R1, =ADDR_LED_7_0 + STRB R0, [R1] + + ; Read Index from Dip Switches 15-8 to R1 + LDR R1, =ADDR_DIP_SWITCH_15_8 + LDRB R1, [R1] + LDR R2, =BITMASK_LOWER_NIBBLE + ANDS R1, R1, R2 + + + ; Write Index to LED 15-8 from R1 + LDR R2, =ADDR_LED_15_8 + STRB R1, [R2] + + ; Write Values to Store Table + LDR R2, =store_table + STRB R0, [R2, R1] + ; Read Index from Dip Switches 15-8 to R1 + ; Todo: Maskierung + LDR R0, =ADDR_DIP_SWITCH_31_24 + LDRB R0, [R0] + LDR R1, =BITMASK_LOWER_NIBBLE + ANDS R0, R0, R1 + + ; Write Index to LED 15-8 from R1 + LDR R1, =ADDR_LED_31_24 + STRB R0, [R1] + + ; Read Values from Store Table + LDR R1, =store_table + LDRB R0, [R1, R0] + + ; Write Values to LED 7-0 from R0 + LDR R1, =ADDR_LED_23_16 + STRB R0, [R1] + ; END: To be programmed B readInput diff --git a/table_asm/build/ExtDll.iex b/table_asm/build/ExtDll.iex new file mode 100644 index 0000000..6c0896e --- /dev/null +++ b/table_asm/build/ExtDll.iex @@ -0,0 +1,2 @@ +[EXTDLL] +Count=0 diff --git a/table_asm/build/datainit_ctboard.d b/table_asm/build/datainit_ctboard.d new file mode 100644 index 0000000..9edaee9 --- /dev/null +++ b/table_asm/build/datainit_ctboard.d @@ -0,0 +1 @@ +.\build\datainit_ctboard.o: RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s diff --git a/table_asm/build/datainit_ctboard.lst b/table_asm/build/datainit_ctboard.lst new file mode 100644 index 0000000..653a32c --- /dev/null +++ b/table_asm/build/datainit_ctboard.lst @@ -0,0 +1,372 @@ + + + +ARM Macro Assembler Page 1 + + + 1 00000000 ;* ----------------------------------------------------- + ------------- + 2 00000000 ;* -- _____ ______ _____ + - + 3 00000000 ;* -- |_ _| | ____|/ ____| + - + 4 00000000 ;* -- | | _ __ | |__ | (___ Institute of Embedded + Systems - + 5 00000000 ;* -- | | | '_ \| __| \___ \ Zurich University of + - + 6 00000000 ;* -- _| |_| | | | |____ ____) | Applied Sciences + - + 7 00000000 ;* -- |_____|_| |_|______|_____/ 8401 Winterthur, Swit + zerland - + 8 00000000 ;* ----------------------------------------------------- + ------------- + 9 00000000 ;* -- + 10 00000000 ;* -- Project : CT Board - Cortex M4 + 11 00000000 ;* -- Description : Data Segment initialisation. + 12 00000000 ;* -- + 13 00000000 ;* -- $Id$ + 14 00000000 ;* ----------------------------------------------------- + ------------- + 15 00000000 + 16 00000000 + 17 00000000 ; ------------------------------------------------------ + ------------- + 18 00000000 ; -- __Main + 19 00000000 ; ------------------------------------------------------ + ------------- + 20 00000000 + 21 00000000 AREA |.text|, CODE, READONLY + 22 00000000 + 23 00000000 IMPORT main + 24 00000000 + 25 00000000 EXPORT __main + 26 00000000 + 27 00000000 __main PROC + 28 00000000 + 29 00000000 ; initialize RW and ZI data - this includes heap and sta + ck for the -ro=... -rw=... -entry=... linking cmd args.. + . + 30 00000000 IMPORT |Image$$RO$$Limit| [WEAK] + 31 00000000 IMPORT |Image$$RW$$Base| [WEAK] + 32 00000000 IMPORT |Image$$ZI$$Base| [WEAK] + 33 00000000 IMPORT |Image$$ZI$$Limit| [WEAK] + 34 00000000 ; ...or from auto generated scatter file. Needs linker o + ption: --diag_suppress 6314 + 35 00000000 IMPORT |Image$$ER_IROM1$$Limit| [W +EAK] + 36 00000000 IMPORT |Image$$RW_IRAM1$$Base| [W +EAK] + 37 00000000 IMPORT |Image$$RW_IRAM1$$ZI$$Base| [W +EAK] + 38 00000000 IMPORT |Image$$RW_IRAM1$$ZI$$Limit| [W +EAK] + 39 00000000 ; import stack parameter + 40 00000000 IMPORT Stack_Size [WEAK] + 41 00000000 IMPORT Stack_Mem [WEAK] + + + +ARM Macro Assembler Page 2 + + + 42 00000000 + 43 00000000 ; switch between command line generated regions and auto + scatter file generated regions + 44 00000000 4912 LDR R1, =|Image$$RO$$Limit| + 45 00000002 2900 CMP R1,#0 + 46 00000004 D004 BEQ ScatterFileSymbols + 47 00000006 CommandLineSymbols + 48 00000006 4A12 LDR R2, =|Image$$RW$$Base| ; start + of the RW data in R + AM + 49 00000008 4B12 LDR R3, =|Image$$ZI$$Base| ; end of + the RW data in RAM + + 50 0000000A 461D MOV R5, R3 ; start of zero ini + tialized data + 51 0000000C 4E12 LDR R6, =|Image$$ZI$$Limit| ; end o + f zero initialized + data + 52 0000000E E009 B CondRWLoop + 53 00000010 ScatterFileSymbols + 54 00000010 4912 LDR R1, =|Image$$ER_IROM1$$Limit| ; + start of flashed i + nitial RW data + 55 00000012 4A13 LDR R2, =|Image$$RW_IRAM1$$Base| ; + start of the RW dat + a in RAM + 56 00000014 4B13 LDR R3, =|Image$$RW_IRAM1$$ZI$$Base +| + ; end of the RW dat + a in RAM + 57 00000016 461D MOV R5, R3 ; start of zero ini + tialized data + 58 00000018 4E13 LDR R6, =|Image$$RW_IRAM1$$ZI$$Limi +t| + ; end of zero initi + alized data + 59 0000001A E003 B CondRWLoop + 60 0000001C + 61 0000001C ; init non-zero data + 62 0000001C 680C LoopRWCopy + LDR R4, [R1] + 63 0000001E 6014 STR R4, [R2] + 64 00000020 1D09 ADDS R1, R1, #4 + 65 00000022 1D12 ADDS R2, R2, #4 + 66 00000024 429A CondRWLoop + CMP R2, R3 + 67 00000026 D1F9 BNE LoopRWCopy + 68 00000028 + 69 00000028 ; init zero-initialized data + 70 00000028 462A MOV R2, R5 + 71 0000002A 4633 MOV R3, R6 + 72 0000002C 2400 MOVS R4, #0 + 73 0000002E E001 B CondZILoop + 74 00000030 6014 LoopZICopy + STR R4, [R2] + 75 00000032 1D12 ADDS R2, R2, #4 + 76 00000034 429A CondZILoop + CMP R2, R3 + 77 00000036 D1FB BNE LoopZICopy + + + +ARM Macro Assembler Page 3 + + + 78 00000038 + 79 00000038 ; fingerprint stack section + 80 00000038 480C LDR R0, =Stack_Mem + 81 0000003A 490D LDR R1, =Stack_Size + 82 0000003C 4A0D LDR R2, =0xEFBEADDE ; stack fingerp + rint (little endian + !) + 83 0000003E 6002 LoopStack + STR R2, [R0] + 84 00000040 1D00 ADDS R0, R0, #4 + 85 00000042 3904 SUBS R1, #4 + 86 00000044 D1FB BNE LoopStack + 87 00000046 + 88 00000046 ; go to the user main function + 89 00000046 480C LDR R0, =main + 90 00000048 4700 BX R0 + 91 0000004A ENDP + 92 0000004A + 93 0000004A + 94 0000004A ; ------------------------------------------------------ + ------------- + 95 0000004A ; -- End of file + 96 0000004A ; ------------------------------------------------------ + ------------- + 97 0000004A + 98 0000004A 00 00 ALIGN + 99 0000004C + 100 0000004C END + 00000000 + 00000000 + 00000000 + 00000000 + 00000000 + 00000000 + 00000000 + 00000000 + 00000000 + 00000000 + EFBEADDE + 00000000 +Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M0 --depend=.\bu +ild\datainit_ctboard.d -o.\build\datainit_ctboard.o -I.\RTE\_Target_1 -IC:\User +s\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include -IC:\Us +ers\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include\m0 -I +C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\HAL\Include --p +redefine="__EVAL SETA 1" --predefine="__UVISION_VERSION SETA 537" --predefine=" +_RTE_ SETA 1" --predefine="_RTE_ SETA 1" --list=.\build\datainit_ctboard.lst RT +E/Device/CT_Board_HS14_M0/datainit_ctboard.s + + + +ARM Macro Assembler Page 1 Alphabetic symbol ordering +Relocatable symbols + +.text 00000000 + +Symbol: .text + Definitions + At line 21 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + None +Comment: .text unused +CommandLineSymbols 00000006 + +Symbol: CommandLineSymbols + Definitions + At line 47 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + None +Comment: CommandLineSymbols unused +CondRWLoop 00000024 + +Symbol: CondRWLoop + Definitions + At line 66 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + At line 52 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + At line 59 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + +CondZILoop 00000034 + +Symbol: CondZILoop + Definitions + At line 76 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + At line 73 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s +Comment: CondZILoop used once +LoopRWCopy 0000001C + +Symbol: LoopRWCopy + Definitions + At line 62 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + At line 67 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s +Comment: LoopRWCopy used once +LoopStack 0000003E + +Symbol: LoopStack + Definitions + At line 83 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + At line 86 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s +Comment: LoopStack used once +LoopZICopy 00000030 + +Symbol: LoopZICopy + Definitions + At line 74 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + At line 77 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s +Comment: LoopZICopy used once +ScatterFileSymbols 00000010 + + + + +ARM Macro Assembler Page 2 Alphabetic symbol ordering +Relocatable symbols + +Symbol: ScatterFileSymbols + Definitions + At line 53 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + At line 46 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s +Comment: ScatterFileSymbols used once +__main 00000000 + +Symbol: __main + Definitions + At line 27 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + At line 25 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s +Comment: __main used once +9 symbols + + + +ARM Macro Assembler Page 1 Alphabetic symbol ordering +External symbols + +Image$$ER_IROM1$$Limit 00000000 + +Symbol: Image$$ER_IROM1$$Limit + Definitions + At line 35 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + At line 54 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s +Comment: Image$$ER_IROM1$$Limit used once +Image$$RO$$Limit 00000000 + +Symbol: Image$$RO$$Limit + Definitions + At line 30 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + At line 44 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s +Comment: Image$$RO$$Limit used once +Image$$RW$$Base 00000000 + +Symbol: Image$$RW$$Base + Definitions + At line 31 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + At line 48 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s +Comment: Image$$RW$$Base used once +Image$$RW_IRAM1$$Base 00000000 + +Symbol: Image$$RW_IRAM1$$Base + Definitions + At line 36 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + At line 55 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s +Comment: Image$$RW_IRAM1$$Base used once +Image$$RW_IRAM1$$ZI$$Base 00000000 + +Symbol: Image$$RW_IRAM1$$ZI$$Base + Definitions + At line 37 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + At line 56 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s +Comment: Image$$RW_IRAM1$$ZI$$Base used once +Image$$RW_IRAM1$$ZI$$Limit 00000000 + +Symbol: Image$$RW_IRAM1$$ZI$$Limit + Definitions + At line 38 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + At line 58 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s +Comment: Image$$RW_IRAM1$$ZI$$Limit used once +Image$$ZI$$Base 00000000 + +Symbol: Image$$ZI$$Base + Definitions + At line 32 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + At line 49 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s +Comment: Image$$ZI$$Base used once +Image$$ZI$$Limit 00000000 + +Symbol: Image$$ZI$$Limit + + + +ARM Macro Assembler Page 2 Alphabetic symbol ordering +External symbols + + Definitions + At line 33 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + At line 51 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s +Comment: Image$$ZI$$Limit used once +Stack_Mem 00000000 + +Symbol: Stack_Mem + Definitions + At line 41 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + At line 80 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s +Comment: Stack_Mem used once +Stack_Size 00000000 + +Symbol: Stack_Size + Definitions + At line 40 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + At line 81 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s +Comment: Stack_Size used once +main 00000000 + +Symbol: main + Definitions + At line 23 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s + Uses + At line 89 in file RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s +Comment: main used once +11 symbols +355 symbols in table diff --git a/table_asm/build/datainit_ctboard.o b/table_asm/build/datainit_ctboard.o new file mode 100644 index 0000000000000000000000000000000000000000..922bd4bd0db2fd463a5286ed9d607ad9846f4308 GIT binary patch literal 2736 zcmcguO>Ep$5FW2LS*Jh1_VU77_R7SgtTDSW zi}LIh`O(ykx$TLC?84pR-w)qhJGTZ*dNj99_@9SU>(j>cMrs=t(iaKAyJGX_ntuQ8 zr$5QCf+KYtV2k((fI9J6fa}EP04(Cu0Ncc809wRP0^A^;1!xn00ia9#MSz>crvM%x zmvI23rCMD-TjqOilb(5;H?&Kspqx)idy&m_NwXxo)dcN2XFJ`W`pN)A3|x>x*GBzv;yCA zI#$_l_B`A#v?@-+Ubg8>I|`gmxWfZ0avE)J;|?NPx(}k1ZF?A)kT=8(Fi!eo0N)eG z7xzQL?-9=c+)wZ?3BQe8hBcfqF~+BH?kC89UI||Elb0fLX^b)kzbP0Phf|Lyyqakq;vcj}K}i zm?GUo+`scU@^}LknJk_n#$|ygVu16n0>@cL$~yv&fsyRLFR%o^(c*v}9|-a1Sb?dn zY=|!tev~l3h3gF5i&X=sZ$K5Ycp+aTY5_?9X`;Z#M~O5l>~hB5HyEq9o*RuSicZM; zxOUApYK3b4DW->)p6+y5%h(~jdE{)phG%WkS#e0oM`zoGT9rOYt;HL?UE66i0=}o^ zq1bcVtwIz9Zlf3Rkg@uD)i%t+-nl9>*_O@xI@)-RVXmt%MV;d+H_np=gE&h%nog>BVzbA{=JqOrFGTEuTgz*@i}_}_~d*1iIk zwZ%no2gq**e21Xx?Al?k+YNXaUb=YkTppFpZtqgb4=~=vYEJlcd8c(rvl?_`))NJ# zr7rruBR_oy+TNn#Lw>K1*aOl1LIw zw`r1M86|A*M@gPcR`-WxRuN4C{)ht`_2`!+0Q_?hC(v&JiFa^r54R9noP-1JgUtez zuW;aNo1_Y#rhg0oY_@{FPIwxqpCyC`kiU*&c(6D%Hux4mjiteSA0_HeWgICo9Wh6g zw6f*6XT{;-oZQPK1}cMmIzH|#v`$m!>%y_a7Z>kIPYmMLvFW2{Ofu_BLr(8>W;BxZ oQGkoM;VFP3O4k#wE_P(RC|nqJyLjpD5nt41l85Y@eo2=90;*ZV>i_@% literal 0 HcmV?d00001 diff --git a/table_asm/build/hal_fmc.d b/table_asm/build/hal_fmc.d new file mode 100644 index 0000000..7361834 --- /dev/null +++ b/table_asm/build/hal_fmc.d @@ -0,0 +1,5 @@ +./build/hal_fmc.o: RTE\HAL\CT_Board_HS14_M0\hal_fmc.c \ + C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\HAL\Include\hal_fmc.h \ + C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\HAL\Include\hal_common.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \ + C:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include\reg_stm32f4xx.h diff --git a/table_asm/build/hal_fmc.o b/table_asm/build/hal_fmc.o new file mode 100644 index 0000000000000000000000000000000000000000..f1a25ed65e69d15f768dde9cd23f23223cbb5e48 GIT binary patch literal 6996 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 literal 0 HcmV?d00001 diff --git a/table_asm/build/hal_pwr.d b/table_asm/build/hal_pwr.d new file mode 100644 index 0000000..5a8be71 --- /dev/null +++ b/table_asm/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/table_asm/build/hal_pwr.o b/table_asm/build/hal_pwr.o new file mode 100644 index 0000000000000000000000000000000000000000..60d1db4a8628f9d00382782a74d46b6805a95661 GIT binary patch literal 4924 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 literal 0 HcmV?d00001 diff --git a/table_asm/build/hal_rcc.d b/table_asm/build/hal_rcc.d new file mode 100644 index 0000000..184a1d5 --- /dev/null +++ b/table_asm/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/table_asm/build/hal_rcc.o b/table_asm/build/hal_rcc.o new file mode 100644 index 0000000000000000000000000000000000000000..4fcbee9bf9427b58ce812b17542571c3ba5a7db7 GIT binary patch literal 9884 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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/table_asm/build/startup_ctboard.o b/table_asm/build/startup_ctboard.o new file mode 100644 index 0000000000000000000000000000000000000000..fd1c673abe8642d0d6b632f2bd887d2a25bc3914 GIT binary patch literal 8184 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 Ql;e$_MEoA3mk<>H1a=f7od5s; literal 0 HcmV?d00001 diff --git a/table_asm/build/system_ctboard.d b/table_asm/build/system_ctboard.d new file mode 100644 index 0000000..556de8b --- /dev/null +++ b/table_asm/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/table_asm/build/system_ctboard.o b/table_asm/build/system_ctboard.o new file mode 100644 index 0000000000000000000000000000000000000000..1da654282da3bf01799fbe024c180b4b98fa9339 GIT binary patch literal 11728 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 N0{)Abw1B=@{~JHhS~CCu literal 0 HcmV?d00001 diff --git a/table_asm/build/table.axf b/table_asm/build/table.axf new file mode 100644 index 0000000000000000000000000000000000000000..afad2d3f480488560c20c08416a778bf590951be GIT binary patch literal 47076 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Ν$db9A4_98pGHhR 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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_4_data_transfer\table_asm\table.uvprojx +Project File Date: 10/14/2022 + +

Output:

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

Software Packages used:

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

Collection of Component include folders:

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

Collection of Component Files used:

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

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


+

#<CALLGRAPH># ARM Linker, 6180002: Last Updated: Fri Oct 14 09:50:22 2022 +

+

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

+Call chain for Maximum Stack Depth:

+__system ⇒ system_enter_run ⇒ hal_gpio_init_alternate ⇒ hal_gpio_init_output +

+

+Mutually Recursive functions +

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

    +

    +Function Pointers +

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

    +

    +Global Symbols +

    +

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

    • startup_ctboard.o(.text) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    [Calls]

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

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

    [Calls]

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

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

    [Calls]

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

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

    [Calls]

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

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

    [Calls]

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

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

    [Calls]

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

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

    [Calls]

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

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

    [Calls]

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

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

    [Calls]

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

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

    [Calls]

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

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    • startup_ctboard.o(RESET) +
    +

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

    [Stack]

    • Max Depth = 112
    • 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, 240 bytes, Stack size 32 bytes, system_ctboard.o(.text)) +

    [Stack]

    • Max Depth = 104
    • 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, 324 bytes, Stack size 48 bytes, hal_fmc.o(.text)) +

    [Stack]

    • Max Depth = 48
    • 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, 284 bytes, Stack size 40 bytes, hal_gpio.o(.text)) +

    [Stack]

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

    hal_gpio_init_alternate (Thumb, 248 bytes, Stack size 32 bytes, hal_gpio.o(.text)) +

    [Stack]

    • Max Depth = 72
    • 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, 192 bytes, Stack size 20 bytes, hal_rcc.o(.text)) +

    [Stack]

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

    hal_rcc_setup_clock (Thumb, 92 bytes, Stack size 8 bytes, hal_rcc.o(.text)) +

    [Stack]

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

    main (Thumb, 76 bytes, Stack size 0 bytes, table.o(myCode)) +

    [Calls]

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

    +

    +Local Symbols +

    +

    +Undefined Global Symbols +


    diff --git a/table_asm/build/table.lnp b/table_asm/build/table.lnp new file mode 100644 index 0000000..a6a9e05 --- /dev/null +++ b/table_asm/build/table.lnp @@ -0,0 +1,13 @@ +--cpu Cortex-M0 +".\build\table.o" +".\build\datainit_ctboard.o" +".\build\startup_ctboard.o" +".\build\system_ctboard.o" +".\build\hal_fmc.o" +".\build\hal_gpio.o" +".\build\hal_pwr.o" +".\build\hal_rcc.o" +--strict --scatter ".\build\table.sct" +--diag_suppress 6314 --summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols +--info sizes --info totals --info unused --info veneers +--list ".\build\table.map" -o .\build\table.axf \ No newline at end of file diff --git a/table_asm/build/table.lst b/table_asm/build/table.lst new file mode 100644 index 0000000..f19890d --- /dev/null +++ b/table_asm/build/table.lst @@ -0,0 +1,404 @@ + + + +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 ; -- table.s + 11 00000000 ; -- + 12 00000000 ; -- CT1 P04 Ein- und Ausgabe von Tabellenwerten + 13 00000000 ; -- + 14 00000000 ; -- $Id: table.s 800 2014-10-06 13:19:25Z ruan $ + 15 00000000 ; ------------------------------------------------------ + ------------ + 16 00000000 ;Directives + 17 00000000 PRESERVE8 + 18 00000000 THUMB + 19 00000000 ; ------------------------------------------------------ + ------------ + 20 00000000 ; -- Symbolic Literals + 21 00000000 ; ------------------------------------------------------ + ------------ + 22 00000000 60000200 + ADDR_DIP_SWITCH_7_0 + EQU 0x60000200 + 23 00000000 60000201 + ADDR_DIP_SWITCH_15_8 + EQU 0x60000201 + 24 00000000 60000203 + ADDR_DIP_SWITCH_31_24 + EQU 0x60000203 + 25 00000000 60000100 + ADDR_LED_7_0 + EQU 0x60000100 + 26 00000000 60000101 + ADDR_LED_15_8 + EQU 0x60000101 + 27 00000000 60000102 + ADDR_LED_23_16 + EQU 0x60000102 + 28 00000000 60000103 + ADDR_LED_31_24 + EQU 0x60000103 + 29 00000000 60000210 + ADDR_BUTTONS + EQU 0x60000210 + 30 00000000 + 31 00000000 00000001 + BITMASK_KEY_T0 + + + +ARM Macro Assembler Page 2 + + + EQU 0x01 + 32 00000000 0000000F + BITMASK_LOWER_NIBBLE + EQU 0x0F + 33 00000000 + 34 00000000 ; ------------------------------------------------------ + ------------ + 35 00000000 ; -- Variables + 36 00000000 ; ------------------------------------------------------ + ------------ + 37 00000000 AREA MyAsmVar, DATA, READWRITE + 38 00000000 ; STUDENTS: To be programmed + 39 00000000 + 40 00000000 00 00 00 + 00 00 00 + 00 00 00 + 00 00 00 + 00 00 00 + 00 store_table + SPACE 16 ; reserve 16 byte ( + 4 words) + 41 00000010 + 42 00000010 + 43 00000010 + 44 00000010 + 45 00000010 ; END: To be programmed + 46 00000010 ALIGN + 47 00000010 + 48 00000010 ; ------------------------------------------------------ + ------------ + 49 00000010 ; -- myCode + 50 00000010 ; ------------------------------------------------------ + ------------ + 51 00000010 AREA myCode, CODE, READONLY + 52 00000000 + 53 00000000 main PROC + 54 00000000 EXPORT main + 55 00000000 + 56 00000000 readInput + 57 00000000 F000 F818 BL waitForKey ; wait for key to b + e pressed and relea + sed + 58 00000004 ; STUDENTS: To be programmed + 59 00000004 ; Read Valules from Dip Switches 7-0 to R0 + 60 00000004 4811 LDR R0, =ADDR_DIP_SWITCH_7_0 + 61 00000006 7800 LDRB R0, [R0] + 62 00000008 + 63 00000008 ; Write Values to LED 7-0 from R0 + 64 00000008 4911 LDR R1, =ADDR_LED_7_0 + 65 0000000A 7008 STRB R0, [R1] + 66 0000000C + 67 0000000C ; Read Index from Dip Switches 15-8 to R1 + 68 0000000C 4911 LDR R1, =ADDR_DIP_SWITCH_15_8 + 69 0000000E 7809 LDRB R1, [R1] + 70 00000010 4A11 LDR R2, =BITMASK_LOWER_NIBBLE + 71 00000012 4011 ANDS R1, R1, R2 + 72 00000014 + 73 00000014 + 74 00000014 ; Write Index to LED 15-8 from R1 + + + +ARM Macro Assembler Page 3 + + + 75 00000014 4A11 LDR R2, =ADDR_LED_15_8 + 76 00000016 7011 STRB R1, [R2] + 77 00000018 + 78 00000018 ; Write Values to Store Table + 79 00000018 4A11 LDR R2, =store_table + 80 0000001A 5450 STRB R0, [R2, R1] + 81 0000001C + 82 0000001C + 83 0000001C + 84 0000001C ; Read Index from Dip Switches 15-8 to R1 + 85 0000001C ; Todo: Maskierung + 86 0000001C 4811 LDR R0, =ADDR_DIP_SWITCH_31_24 + 87 0000001E 7800 LDRB R0, [R0] + 88 00000020 490D LDR R1, =BITMASK_LOWER_NIBBLE + 89 00000022 4008 ANDS R0, R0, R1 + 90 00000024 + 91 00000024 ; Write Index to LED 15-8 from R1 + 92 00000024 4910 LDR R1, =ADDR_LED_31_24 + 93 00000026 7008 STRB R0, [R1] + 94 00000028 + 95 00000028 ; Read Values from Store Table + 96 00000028 490D LDR R1, =store_table + 97 0000002A 5C08 LDRB R0, [R1, R0] + 98 0000002C + 99 0000002C ; Write Values to LED 7-0 from R0 + 100 0000002C 490F LDR R1, =ADDR_LED_23_16 + 101 0000002E 7008 STRB R0, [R1] + 102 00000030 + 103 00000030 + 104 00000030 ; END: To be programmed + 105 00000030 E7E6 B readInput + 106 00000032 00 00 ALIGN + 107 00000034 + 108 00000034 ; ------------------------------------------------------ + ------------ + 109 00000034 ; Subroutines + 110 00000034 ; ------------------------------------------------------ + ------------ + 111 00000034 + 112 00000034 ; wait for key to be pressed and released + 113 00000034 waitForKey + 114 00000034 B407 PUSH {R0, R1, R2} + 115 00000036 490E LDR R1, =ADDR_BUTTONS ; laod base a + ddress of keys + 116 00000038 4A0E LDR R2, =BITMASK_KEY_T0 + ; load key mask T0 + 117 0000003A + 118 0000003A waitForPress + 119 0000003A 7808 LDRB R0, [R1] ; load key values + 120 0000003C 4210 TST R0, R2 ; check, if key T0 + is pressed + 121 0000003E D0FC BEQ waitForPress + 122 00000040 + 123 00000040 waitForRelease + 124 00000040 7808 LDRB R0, [R1] ; load key values + 125 00000042 4210 TST R0, R2 ; check, if key T0 + is released + 126 00000044 D1FC BNE waitForRelease + 127 00000046 + + + +ARM Macro Assembler Page 4 + + + 128 00000046 BC07 POP {R0, R1, R2} + 129 00000048 4770 BX LR + 130 0000004A 00 00 ALIGN + 131 0000004C + 132 0000004C ; ------------------------------------------------------ + ------------ + 133 0000004C ; End of code + 134 0000004C ; ------------------------------------------------------ + ------------ + 135 0000004C ENDP + 136 0000004C END + 60000200 + 60000100 + 60000201 + 0000000F + 60000101 + 00000000 + 60000203 + 60000103 + 60000102 + 60000210 + 00000001 +Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M0 --depend=.\bu +ild\table.d -o.\build\table.o -I.\RTE\_Target_1 -IC:\Users\roman\AppData\Local\ +Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include -IC:\Users\roman\AppData\Loca +l\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 --predefine="__EVAL SETA +1" --predefine="__UVISION_VERSION SETA 537" --predefine="_RTE_ SETA 1" --predef +ine="_RTE_ SETA 1" --list=.\build\table.lst app\table.s + + + +ARM Macro Assembler Page 1 Alphabetic symbol ordering +Relocatable symbols + +MyAsmVar 00000000 + +Symbol: MyAsmVar + Definitions + At line 37 in file app\table.s + Uses + None +Comment: MyAsmVar unused +store_table 00000000 + +Symbol: store_table + Definitions + At line 40 in file app\table.s + Uses + At line 79 in file app\table.s + At line 96 in file app\table.s + +2 symbols + + + +ARM Macro Assembler Page 1 Alphabetic symbol ordering +Relocatable symbols + +main 00000000 + +Symbol: main + Definitions + At line 53 in file app\table.s + Uses + At line 54 in file app\table.s +Comment: main used once +myCode 00000000 + +Symbol: myCode + Definitions + At line 51 in file app\table.s + Uses + None +Comment: myCode unused +readInput 00000000 + +Symbol: readInput + Definitions + At line 56 in file app\table.s + Uses + At line 105 in file app\table.s +Comment: readInput used once +waitForKey 00000034 + +Symbol: waitForKey + Definitions + At line 113 in file app\table.s + Uses + At line 57 in file app\table.s +Comment: waitForKey used once +waitForPress 0000003A + +Symbol: waitForPress + Definitions + At line 118 in file app\table.s + Uses + At line 121 in file app\table.s +Comment: waitForPress used once +waitForRelease 00000040 + +Symbol: waitForRelease + Definitions + At line 123 in file app\table.s + Uses + At line 126 in file app\table.s +Comment: waitForRelease used once +6 symbols + + + +ARM Macro Assembler Page 1 Alphabetic symbol ordering +Absolute symbols + +ADDR_BUTTONS 60000210 + +Symbol: ADDR_BUTTONS + Definitions + At line 29 in file app\table.s + Uses + At line 115 in file app\table.s +Comment: ADDR_BUTTONS used once +ADDR_DIP_SWITCH_15_8 60000201 + +Symbol: ADDR_DIP_SWITCH_15_8 + Definitions + At line 23 in file app\table.s + Uses + At line 68 in file app\table.s +Comment: ADDR_DIP_SWITCH_15_8 used once +ADDR_DIP_SWITCH_31_24 60000203 + +Symbol: ADDR_DIP_SWITCH_31_24 + Definitions + At line 24 in file app\table.s + Uses + At line 86 in file app\table.s +Comment: ADDR_DIP_SWITCH_31_24 used once +ADDR_DIP_SWITCH_7_0 60000200 + +Symbol: ADDR_DIP_SWITCH_7_0 + Definitions + At line 22 in file app\table.s + Uses + At line 60 in file app\table.s +Comment: ADDR_DIP_SWITCH_7_0 used once +ADDR_LED_15_8 60000101 + +Symbol: ADDR_LED_15_8 + Definitions + At line 26 in file app\table.s + Uses + At line 75 in file app\table.s +Comment: ADDR_LED_15_8 used once +ADDR_LED_23_16 60000102 + +Symbol: ADDR_LED_23_16 + Definitions + At line 27 in file app\table.s + Uses + At line 100 in file app\table.s +Comment: ADDR_LED_23_16 used once +ADDR_LED_31_24 60000103 + +Symbol: ADDR_LED_31_24 + Definitions + At line 28 in file app\table.s + Uses + At line 92 in file app\table.s +Comment: ADDR_LED_31_24 used once +ADDR_LED_7_0 60000100 + +Symbol: ADDR_LED_7_0 + + + +ARM Macro Assembler Page 2 Alphabetic symbol ordering +Absolute symbols + + Definitions + At line 25 in file app\table.s + Uses + At line 64 in file app\table.s +Comment: ADDR_LED_7_0 used once +BITMASK_KEY_T0 00000001 + +Symbol: BITMASK_KEY_T0 + Definitions + At line 31 in file app\table.s + Uses + At line 116 in file app\table.s +Comment: BITMASK_KEY_T0 used once +BITMASK_LOWER_NIBBLE 0000000F + +Symbol: BITMASK_LOWER_NIBBLE + Definitions + At line 32 in file app\table.s + Uses + At line 70 in file app\table.s + At line 88 in file app\table.s + +10 symbols +353 symbols in table diff --git a/table_asm/build/table.map b/table_asm/build/table.map new file mode 100644 index 0000000..6c74343 --- /dev/null +++ b/table_asm/build/table.map @@ -0,0 +1,372 @@ +Component: Arm Compiler for Embedded 6.18 Tool: armlink [5e4cc100] + +============================================================================== + +Section Cross References + + table.o(myCode) refers to table.o(MyAsmVar) for store_table + datainit_ctboard.o(.text) refers (Weak) to startup_ctboard.o(STACK) for Stack_Mem + datainit_ctboard.o(.text) refers to table.o(myCode) for main + startup_ctboard.o(RESET) refers to startup_ctboard.o(STACK) for __initial_sp + startup_ctboard.o(RESET) refers to startup_ctboard.o(.text) for Reset_Handler + startup_ctboard.o(.text) refers to system_ctboard.o(.text) for __system + startup_ctboard.o(.text) refers to datainit_ctboard.o(.text) for __main + system_ctboard.o(.text) refers to hal_rcc.o(.text) for hal_rcc_reset + system_ctboard.o(.text) refers to hal_pwr.o(.text) for hal_pwr_set_overdrive + system_ctboard.o(.text) refers to hal_gpio.o(.text) for hal_gpio_init_alternate + system_ctboard.o(.text) refers to hal_fmc.o(.text) for hal_fmc_init_sram + system_ctboard.o(.ARM.exidx) refers to system_ctboard.o(.text) for [Anonymous Symbol] + hal_fmc.o(.ARM.exidx) refers to hal_fmc.o(.text) for [Anonymous Symbol] + hal_gpio.o(.ARM.exidx) refers to hal_gpio.o(.text) for [Anonymous Symbol] + hal_pwr.o(.ARM.exidx) refers to hal_pwr.o(.text) for [Anonymous Symbol] + hal_rcc.o(.ARM.exidx) refers to hal_rcc.o(.text) for [Anonymous Symbol] + + +============================================================================== + +Removing Unused input sections from the image. + + Removing startup_ctboard.o(HEAP), (2048 bytes). + Removing system_ctboard.o(.ARM.exidx), (40 bytes). + Removing hal_fmc.o(.ARM.exidx), (16 bytes). + Removing hal_gpio.o(.ARM.exidx), (112 bytes). + Removing hal_pwr.o(.ARM.exidx), (56 bytes). + Removing hal_rcc.o(.ARM.exidx), (40 bytes). + +6 unused section(s) (total 2312 bytes) removed from the image. + +============================================================================== + +Image Symbol Table + + Local Symbols + + Symbol Name Value Ov Type Size Object(Section) + + RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s 0x00000000 Number 0 datainit_ctboard.o ABSOLUTE + RTE/Device/CT_Board_HS14_M0/startup_ctboard.s 0x00000000 Number 0 startup_ctboard.o ABSOLUTE + app\table.s 0x00000000 Number 0 table.o ABSOLUTE + hal_fmc.c 0x00000000 Number 0 hal_fmc.o ABSOLUTE + hal_gpio.c 0x00000000 Number 0 hal_gpio.o ABSOLUTE + hal_pwr.c 0x00000000 Number 0 hal_pwr.o ABSOLUTE + hal_rcc.c 0x00000000 Number 0 hal_rcc.o ABSOLUTE + system_ctboard.c 0x00000000 Number 0 system_ctboard.o ABSOLUTE + RESET 0x08000000 Section 428 startup_ctboard.o(RESET) + .text 0x080001ac Section 124 datainit_ctboard.o(.text) + .text 0x08000228 Section 36 startup_ctboard.o(.text) + [Anonymous Symbol] 0x0800024c Section 0 system_ctboard.o(.text) + __arm_cp.1_0 0x08000344 Number 4 system_ctboard.o(.text) + __arm_cp.1_1 0x08000348 Number 4 system_ctboard.o(.text) + __arm_cp.1_2 0x0800034c Number 4 system_ctboard.o(.text) + __arm_cp.1_3 0x08000350 Number 4 system_ctboard.o(.text) + __arm_cp.1_4 0x08000354 Number 4 system_ctboard.o(.text) + __arm_cp.1_5 0x08000358 Number 4 system_ctboard.o(.text) + __arm_cp.1_6 0x0800035c Number 4 system_ctboard.o(.text) + __arm_cp.1_7 0x08000360 Number 4 system_ctboard.o(.text) + __arm_cp.1_8 0x08000364 Number 4 system_ctboard.o(.text) + __arm_cp.1_9 0x08000368 Number 4 system_ctboard.o(.text) + __arm_cp.1_10 0x0800036c Number 4 system_ctboard.o(.text) + __arm_cp.1_11 0x08000370 Number 4 system_ctboard.o(.text) + __arm_cp.1_12 0x08000374 Number 4 system_ctboard.o(.text) + __arm_cp.1_13 0x08000378 Number 4 system_ctboard.o(.text) + __arm_cp.1_14 0x0800037c Number 4 system_ctboard.o(.text) + __arm_cp.1_15 0x08000380 Number 4 system_ctboard.o(.text) + __arm_cp.1_16 0x08000384 Number 4 system_ctboard.o(.text) + __arm_cp.1_17 0x08000388 Number 4 system_ctboard.o(.text) + __arm_cp.1_18 0x0800038c Number 4 system_ctboard.o(.text) + [Anonymous Symbol] 0x08000398 Section 0 hal_fmc.o(.text) + __arm_cp.0_0 0x080003d4 Number 4 hal_fmc.o(.text) + __arm_cp.0_1 0x080003d8 Number 4 hal_fmc.o(.text) + __arm_cp.0_2 0x080003dc Number 4 hal_fmc.o(.text) + __arm_cp.1_0 0x08000524 Number 4 hal_fmc.o(.text) + __arm_cp.1_1 0x08000528 Number 4 hal_fmc.o(.text) + [Anonymous Symbol] 0x0800052c Section 0 hal_gpio.o(.text) + __arm_cp.0_0 0x08000570 Number 4 hal_gpio.o(.text) + __arm_cp.0_1 0x08000574 Number 4 hal_gpio.o(.text) + __arm_cp.1_0 0x08000614 Number 4 hal_gpio.o(.text) + __arm_cp.1_1 0x08000618 Number 4 hal_gpio.o(.text) + __arm_cp.2_0 0x0800070c Number 4 hal_gpio.o(.text) + __arm_cp.2_1 0x08000710 Number 4 hal_gpio.o(.text) + __arm_cp.3_0 0x08000830 Number 4 hal_gpio.o(.text) + __arm_cp.3_1 0x08000834 Number 4 hal_gpio.o(.text) + __arm_cp.7_0 0x08000950 Number 4 hal_gpio.o(.text) + __arm_cp.7_1 0x08000954 Number 4 hal_gpio.o(.text) + __arm_cp.8_0 0x08000970 Number 4 hal_gpio.o(.text) + __arm_cp.8_1 0x08000974 Number 4 hal_gpio.o(.text) + __arm_cp.9_0 0x08000994 Number 4 hal_gpio.o(.text) + __arm_cp.9_1 0x08000998 Number 4 hal_gpio.o(.text) + __arm_cp.10_0 0x080009b8 Number 4 hal_gpio.o(.text) + __arm_cp.10_1 0x080009bc Number 4 hal_gpio.o(.text) + __arm_cp.11_0 0x08000ae4 Number 4 hal_gpio.o(.text) + __arm_cp.11_1 0x08000ae8 Number 4 hal_gpio.o(.text) + __arm_cp.11_2 0x08000aec Number 4 hal_gpio.o(.text) + __arm_cp.11_3 0x08000af0 Number 4 hal_gpio.o(.text) + __arm_cp.11_4 0x08000af4 Number 4 hal_gpio.o(.text) + __arm_cp.11_5 0x08000af8 Number 4 hal_gpio.o(.text) + __arm_cp.12_0 0x08000b14 Number 4 hal_gpio.o(.text) + __arm_cp.13_0 0x08000b24 Number 4 hal_gpio.o(.text) + [Anonymous Symbol] 0x08000b28 Section 0 hal_pwr.o(.text) + __arm_cp.0_0 0x08000b38 Number 4 hal_pwr.o(.text) + __arm_cp.1_0 0x08000b74 Number 4 hal_pwr.o(.text) + __arm_cp.2_0 0x08000b90 Number 4 hal_pwr.o(.text) + __arm_cp.3_0 0x08000bac Number 4 hal_pwr.o(.text) + __arm_cp.4_0 0x08000bc8 Number 4 hal_pwr.o(.text) + [Anonymous Symbol] 0x08000bd4 Section 0 hal_rcc.o(.text) + __arm_cp.0_0 0x08000c3c Number 4 hal_rcc.o(.text) + __arm_cp.0_1 0x08000c40 Number 4 hal_rcc.o(.text) + __arm_cp.0_2 0x08000c44 Number 4 hal_rcc.o(.text) + __arm_cp.0_3 0x08000c48 Number 4 hal_rcc.o(.text) + __arm_cp.0_4 0x08000c4c Number 4 hal_rcc.o(.text) + __arm_cp.0_5 0x08000c50 Number 4 hal_rcc.o(.text) + __arm_cp.0_6 0x08000c54 Number 4 hal_rcc.o(.text) + __arm_cp.0_7 0x08000c58 Number 4 hal_rcc.o(.text) + __arm_cp.1_0 0x08000d40 Number 4 hal_rcc.o(.text) + __arm_cp.2_0 0x08000db0 Number 4 hal_rcc.o(.text) + __arm_cp.2_1 0x08000db4 Number 4 hal_rcc.o(.text) + __arm_cp.3_0 0x08000e78 Number 4 hal_rcc.o(.text) + __arm_cp.3_1 0x08000e7c Number 4 hal_rcc.o(.text) + __arm_cp.3_2 0x08000e80 Number 4 hal_rcc.o(.text) + __arm_cp.3_3 0x08000e84 Number 4 hal_rcc.o(.text) + __arm_cp.3_4 0x08000e88 Number 4 hal_rcc.o(.text) + __arm_cp.3_5 0x08000e8c Number 4 hal_rcc.o(.text) + __arm_cp.4_0 0x08000eec Number 4 hal_rcc.o(.text) + __arm_cp.4_1 0x08000ef0 Number 4 hal_rcc.o(.text) + myCode 0x08000ef4 Section 120 table.o(myCode) + store_table 0x20000000 Data 16 table.o(MyAsmVar) + MyAsmVar 0x20000000 Section 16 table.o(MyAsmVar) + STACK 0x20000010 Section 8192 startup_ctboard.o(STACK) + __initial_sp 0x20002010 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$~SHL$OTIME$EBA8$STANDARDLIB$REQ8$PRES8$EABIv2 0x00000000 Number 0 anon$$obj.o ABSOLUTE + Image$$RO$$Limit - Undefined Weak Reference + Image$$RW$$Base - Undefined Weak Reference + Image$$ZI$$Base - Undefined Weak Reference + Image$$ZI$$Limit - Undefined Weak Reference + __Vectors_Size 0x000001ac Number 0 startup_ctboard.o ABSOLUTE + Stack_Size 0x00002000 Number 0 startup_ctboard.o ABSOLUTE + __Vectors 0x08000000 Data 4 startup_ctboard.o(RESET) + __Vectors_End 0x080001ac Data 0 startup_ctboard.o(RESET) + __main 0x080001ad Thumb Code 74 datainit_ctboard.o(.text) + Reset_Handler 0x08000229 Thumb Code 8 startup_ctboard.o(.text) + NMI_Handler 0x08000231 Thumb Code 2 startup_ctboard.o(.text) + HardFault_Handler 0x08000233 Thumb Code 2 startup_ctboard.o(.text) + MemManage_Handler 0x08000235 Thumb Code 2 startup_ctboard.o(.text) + BusFault_Handler 0x08000237 Thumb Code 2 startup_ctboard.o(.text) + UsageFault_Handler 0x08000239 Thumb Code 2 startup_ctboard.o(.text) + SVC_Handler 0x0800023b Thumb Code 2 startup_ctboard.o(.text) + DebugMon_Handler 0x0800023d Thumb Code 2 startup_ctboard.o(.text) + PendSV_Handler 0x0800023f Thumb Code 2 startup_ctboard.o(.text) + SysTick_Handler 0x08000241 Thumb Code 2 startup_ctboard.o(.text) + ADC_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + CAN1_RX0_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + CAN1_RX1_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + CAN1_SCE_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + CAN1_TX_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + CAN2_RX0_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + CAN2_RX1_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + CAN2_SCE_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + CAN2_TX_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + CRYP_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + DCMI_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + DMA1_Stream0_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + DMA1_Stream1_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + DMA1_Stream2_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + DMA1_Stream3_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + DMA1_Stream4_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + DMA1_Stream5_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + DMA1_Stream6_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + DMA1_Stream7_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + DMA2D_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + DMA2_Stream0_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + DMA2_Stream1_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + DMA2_Stream2_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + DMA2_Stream3_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + DMA2_Stream4_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + DMA2_Stream5_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + DMA2_Stream6_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + DMA2_Stream7_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + ETH_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + ETH_WKUP_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + EXTI0_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + EXTI15_10_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + EXTI1_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + EXTI2_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + EXTI3_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + EXTI4_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + EXTI9_5_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + FLASH_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + FMC_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + FPU_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + HASH_RNG_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + I2C1_ER_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + I2C1_EV_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + I2C2_ER_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + I2C2_EV_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + I2C3_ER_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + I2C3_EV_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + LTDC_ER_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + LTDC_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + OTG_FS_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + OTG_FS_WKUP_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + OTG_HS_EP1_IN_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + OTG_HS_EP1_OUT_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + OTG_HS_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + OTG_HS_WKUP_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + PVD_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + RCC_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + RTC_Alarm_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + RTC_WKUP_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + SAI1_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + SDIO_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + SPI1_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + SPI2_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + SPI3_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + SPI4_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + SPI5_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + SPI6_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + TAMP_STAMP_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + TIM1_BRK_TIM9_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + TIM1_CC_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + TIM1_TRG_COM_TIM11_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + TIM1_UP_TIM10_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + TIM2_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + TIM3_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + TIM4_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + TIM5_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + TIM6_DAC_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + TIM7_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + TIM8_BRK_TIM12_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + TIM8_CC_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + TIM8_TRG_COM_TIM14_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + TIM8_UP_TIM13_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + UART4_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + UART5_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + UART7_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + UART8_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + USART1_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + USART2_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + USART3_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + USART6_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + WWDG_IRQHandler 0x08000243 Thumb Code 0 startup_ctboard.o(.text) + __system 0x0800024d Thumb Code 8 system_ctboard.o(.text) + system_enter_run 0x08000255 Thumb Code 240 system_ctboard.o(.text) + system_enter_sleep 0x08000391 Thumb Code 2 system_ctboard.o(.text) + system_enter_stop 0x08000393 Thumb Code 2 system_ctboard.o(.text) + system_enter_standby 0x08000395 Thumb Code 2 system_ctboard.o(.text) + hal_fmc_reset 0x08000399 Thumb Code 60 hal_fmc.o(.text) + hal_fmc_init_sram 0x080003e1 Thumb Code 324 hal_fmc.o(.text) + hal_gpio_reset 0x0800052d Thumb Code 68 hal_gpio.o(.text) + hal_gpio_init_input 0x08000579 Thumb Code 156 hal_gpio.o(.text) + hal_gpio_init_analog 0x0800061d Thumb Code 240 hal_gpio.o(.text) + hal_gpio_init_output 0x08000715 Thumb Code 284 hal_gpio.o(.text) + hal_gpio_init_alternate 0x08000839 Thumb Code 248 hal_gpio.o(.text) + hal_gpio_input_read 0x08000931 Thumb Code 6 hal_gpio.o(.text) + hal_gpio_output_read 0x08000937 Thumb Code 6 hal_gpio.o(.text) + hal_gpio_output_write 0x0800093d Thumb Code 20 hal_gpio.o(.text) + hal_gpio_bit_set 0x08000959 Thumb Code 24 hal_gpio.o(.text) + hal_gpio_bit_reset 0x08000979 Thumb Code 28 hal_gpio.o(.text) + hal_gpio_bit_toggle 0x0800099d Thumb Code 28 hal_gpio.o(.text) + hal_gpio_irq_set 0x080009c1 Thumb Code 292 hal_gpio.o(.text) + hal_gpio_irq_status 0x08000afd Thumb Code 24 hal_gpio.o(.text) + hal_gpio_irq_clear 0x08000b19 Thumb Code 12 hal_gpio.o(.text) + hal_pwr_reset 0x08000b29 Thumb Code 16 hal_pwr.o(.text) + hal_pwr_set_backup_domain 0x08000b3d Thumb Code 56 hal_pwr.o(.text) + hal_pwr_set_backup_access 0x08000b79 Thumb Code 24 hal_pwr.o(.text) + hal_pwr_set_wakeup_pin 0x08000b95 Thumb Code 24 hal_pwr.o(.text) + hal_pwr_set_flash_powerdown 0x08000bb1 Thumb Code 24 hal_pwr.o(.text) + hal_pwr_set_overdrive 0x08000bcd Thumb Code 4 hal_pwr.o(.text) + hal_pwr_set_underdrive 0x08000bd1 Thumb Code 4 hal_pwr.o(.text) + hal_rcc_reset 0x08000bd5 Thumb Code 104 hal_rcc.o(.text) + hal_rcc_set_peripheral 0x08000c5d Thumb Code 228 hal_rcc.o(.text) + hal_rcc_set_osc 0x08000d45 Thumb Code 108 hal_rcc.o(.text) + hal_rcc_setup_pll 0x08000db9 Thumb Code 192 hal_rcc.o(.text) + hal_rcc_setup_clock 0x08000e91 Thumb Code 92 hal_rcc.o(.text) + main 0x08000ef5 Thumb Code 76 table.o(myCode) + Image$$ER_IROM1$$Limit 0x08000f6c Number 0 anon$$obj.o ABSOLUTE + Image$$RW_IRAM1$$Base 0x20000000 Number 0 anon$$obj.o ABSOLUTE + Image$$RW_IRAM1$$ZI$$Base 0x20000010 Number 0 anon$$obj.o ABSOLUTE + Stack_Mem 0x20000010 Data 8192 startup_ctboard.o(STACK) + Image$$RW_IRAM1$$ZI$$Limit 0x20002010 Number 0 anon$$obj.o ABSOLUTE + + + +============================================================================== + +Memory Map of the image + + Image Entry point : 0x08000229 + + Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00000f80, Max: 0x00200000, ABSOLUTE) + + Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00000f6c, Max: 0x00200000, ABSOLUTE) + + Exec Addr Load Addr Size Type Attr Idx E Section Name Object + + 0x08000000 0x08000000 0x000001ac Data RO 14 RESET startup_ctboard.o + 0x080001ac 0x080001ac 0x0000007c Code RO 8 .text datainit_ctboard.o + 0x08000228 0x08000228 0x00000024 Code RO 15 * .text startup_ctboard.o + 0x0800024c 0x0800024c 0x0000014a Code RO 19 .text system_ctboard.o + 0x08000396 0x08000396 0x00000002 PAD + 0x08000398 0x08000398 0x00000194 Code RO 27 .text hal_fmc.o + 0x0800052c 0x0800052c 0x000005fc Code RO 35 .text hal_gpio.o + 0x08000b28 0x08000b28 0x000000ac Code RO 43 .text hal_pwr.o + 0x08000bd4 0x08000bd4 0x00000320 Code RO 51 .text hal_rcc.o + 0x08000ef4 0x08000ef4 0x00000078 Code RO 2 myCode table.o + + + Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08000f70, Size: 0x00002010, Max: 0x00030000, ABSOLUTE) + + Exec Addr Load Addr Size Type Attr Idx E Section Name Object + + 0x20000000 0x08000f70 0x00000010 Data RW 1 MyAsmVar table.o + 0x20000010 - 0x00002000 Zero RW 12 STACK startup_ctboard.o + + +============================================================================== + +Image component sizes + + + Code (inc. data) RO Data RW Data ZI Data Debug Object Name + + 124 50 0 0 0 412 datainit_ctboard.o + 404 20 0 0 0 4171 hal_fmc.o + 1532 96 0 0 0 12477 hal_gpio.o + 172 20 0 0 0 2137 hal_pwr.o + 800 168 0 0 0 5172 hal_rcc.o + 36 8 428 0 8192 812 startup_ctboard.o + 330 76 0 0 0 6760 system_ctboard.o + 120 48 0 16 0 388 table.o + + ---------------------------------------------------------------------- + 3520 486 428 16 8192 32329 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 + + 3520 486 428 16 8192 32145 Grand Totals + 3520 486 428 16 8192 32145 ELF Image Totals + 3520 486 428 16 0 0 ROM Totals + +============================================================================== + + Total RO Size (Code + RO Data) 3948 ( 3.86kB) + Total RW Size (RW Data + ZI Data) 8208 ( 8.02kB) + Total ROM Size (Code + RO Data + RW Data) 3964 ( 3.87kB) + +============================================================================== + diff --git a/table_asm/build/table.o b/table_asm/build/table.o new file mode 100644 index 0000000000000000000000000000000000000000..6edc7f9cb01197f4c725e342192728d3a39748d4 GIT binary patch literal 2360 zcmb_d&2Jk;6o0epk4@^Nc0htAEv&>MRcf=c(@@f=k-D}Q;?z;C*exIyZPwmNu<&|U zyX(l2qKZF&LpdNmP9P2-RHPm__Q;V#`6u9p$O#Te;myo?<3vJ2g0Xkr`@OGuGyC4` zANO`@gbH2UL%s=6iuZq{Db!H9}8ius@)oy612;~= zQdhmHSJu>y?+?~hC-j`iQ{R1!uJ*dLTz(H~>(>22R1G!)C)7=fqK1*Ak|%>zde?v)%`ePB z9`YnFw%ZhGeIs$kM68;#w0Km(~wvC-_R$97CyQ6*E>2^bUpjRM@{gB%H z{X=!sAGk&whyCs-rje#~Hn;6Y+c>zft+ln5sTu3dl@;yn^=74_wUKL>rdiP*Hr~?i zx6Ss0o7%&6=Wgw8UBK57ZZ@@h?Uqq9HM450X{{Zzy{4H)wQ;Zl-eJvmDQq7ak@vs} zL32Ti;s5PFY+H=3E-&+KBOQlykHNmPZ%3mb2x$~;+`4t6g2G-f+Nk+qOvlUHW$qKu zp}V15U3M_Zt>CK5{#l8yE;n>*r(;@n#|igoY-6y-xz0C&ppMOMHT|A5urMvF<@7#? ztj5r6TeVKrcS5(aYS-UrS*vjY?+r#S{ciyc9gD%CPPY$4LpGc45^{wZ z?8@h*7sw^@Qbv`qOyD^*VU)1;$&h($R?wsOqd3Gm0UcGklU51nJ>O$@8k!^q(V@o; zLpn&xZ7*~@3TJ8${;?$WQ@=rfh;FC2Kiu;qvyD={* zwZIkd|CC#!1s^hAyIR6e5m)3h$q6-^X@cBr2_v5wkFzP{wNgdMI)sJb2hP>PNE8$K L4Rv2~aXS4CTf1#{ literal 0 HcmV?d00001 diff --git a/table_asm/build/table.sct b/table_asm/build/table.sct new file mode 100644 index 0000000..5394321 --- /dev/null +++ b/table_asm/build/table.sct @@ -0,0 +1,16 @@ +; ************************************************************* +; *** Scatter-Loading Description File generated by uVision *** +; ************************************************************* + +LR_IROM1 0x08000000 0x00200000 { ; load region size_region + ER_IROM1 0x08000000 0x00200000 { ; load address = execution address + *.o (RESET, +First) + *(InRoot$$Sections) + .ANY (+RO) + .ANY (+XO) + } + RW_IRAM1 0x20000000 0x00030000 { ; RW data + .ANY (+RW +ZI) + } +} + diff --git a/table_asm/build/table_Target 1.dep b/table_asm/build/table_Target 1.dep new file mode 100644 index 0000000..65caab7 --- /dev/null +++ b/table_asm/build/table_Target 1.dep @@ -0,0 +1,36 @@ +Dependencies for Project 'table', Target 'Target 1': (DO NOT MODIFY !) +CompilerVersion: 6180000::V6.18::ARMCLANG +F (.\app\table.s)(0x634914A7)(--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\table.lst --xref -o .\build\table.o --depend .\build\table.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 -fshort-enums -fshort-wchar -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 -fshort-enums -fshort-wchar -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 -fshort-enums -fshort-wchar -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 -fshort-enums -fshort-wchar -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 -fshort-enums -fshort-wchar -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/table_asm/table.uvguix.roman b/table_asm/table.uvguix.roman new file mode 100644 index 0000000..9bb1b42 --- /dev/null +++ b/table_asm/table.uvguix.roman @@ -0,0 +1,3646 @@ + + + + -6.1 + +
    ### uVision Project, (C) Keil Software
    + + + + + + + + + + 38003 + Registers + 204 134 + + + 346 + Code Coverage + 1010 100 + + + 204 + Performance Analyzer + 1170 175 175 100 + + + + + + 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 + + + -24 + 157 + 1597 + 735 + + + + 0 + + 618 + 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000004000000000000000100000042433A5C55736572735C726F6D616E5C446F63756D656E74735C4C61625F345F646174615F7472616E736665725C7461626C655F61736D5C6170705C7461626C652E7300000000077461626C652E7300000000C5D4F200FFFFFFFF4D433A5C55736572735C726F6D616E5C446F63756D656E74735C4C61625F335F496E74726F64756374696F6E5F746F5F417373656D626C795C7472616E7362665C6170705C7472616E7362662E7300000000097472616E7362662E7300000000FFDC7800FFFFFFFF64433A5C55736572735C726F6D616E5C446F63756D656E74735C4C61625F345F646174615F7472616E736665725C7461626C655F61736D5C5254455C4465766963655C43545F426F6172645F485331345F4D305C737461727475705F6374626F6172642E730000000011737461727475705F6374626F6172642E7300000000BECEA100FFFFFFFF59433A5C55736572735C726F6D616E5C446F63756D656E74735C4C61625F345F646174615F7472616E736665725C7461626C655F61736D5C5254455C48414C5C43545F426F6172645F485331345F4D305C68616C5F7263632E63000000000968616C5F7263632E6300000000F0A0A100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000000501000066000000800700000C030000 + + + + 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 + 0300000066000000FE000000DC020000 + + + 16 + 560000006D0000004601000038010000 + + + + 109 + 109 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000FE000000DC020000 + + + 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 + 0300000066000000FE000000DC020000 + + + 16 + 560000006D00000072010000AD020000 + + + + 196 + 196 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000FE000000DC020000 + + + 16 + 560000006D00000072010000AD020000 + + + + 197 + 197 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 000000000D03000080070000E6030000 + + + 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 + 03000000100300007D070000CD030000 + + + 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 + 0300000066000000FE000000DC020000 + + + 16 + 560000006D00000072010000AD020000 + + + + 38007 + 38007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000100300007D070000CD030000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000100300007D070000CD030000 + + + 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 + 03000000100300007D070000CD030000 + + + 16 + 560000006D00000072010000AD020000 + + + + 466 + 466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000100300007D070000CD030000 + + + 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 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DF00000090050000E3000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000F40000006600000090050000F6000000F40000004F00000090050000DF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A0040000660000009005000040020000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF010100004F00000005010000F5020000010000000200001004000000010000005FFEFFFF14020000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000010100000C030000000000004F00000001010000F50200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000015020000900500001902000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000003002000090050000D4020000000000001902000090050000BD02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000019020000CC020000BD02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000F502000080070000F90200000100000001000010040000000100000002FDFFFF8E000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000000000001003000080070000FD03000000000000F902000080070000E60300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + + + 59392 + File + + 2537 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 976 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000002001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000008546172676574203196000000000000000100085461726765742031000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 + + + + 59400 + Debug + + 2373 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 + + + + 0 + 1920 + 1080 + + + + 1 + Debug + + -1 + -1 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 600100004F00000080070000DF000000 + + + 16 + 6001000066000000C0030000F6000000 + + + + 1005 + 1005 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000006600000059010000EA020000 + + + 16 + 560000006D0000004601000038010000 + + + + 109 + 109 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000006600000059010000EA020000 + + + 16 + 560000006D00000072010000AD020000 + + + + 1465 + 1465 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300001E0300007D070000CD030000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 1466 + 1466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300001E0300009D050000CD030000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 1467 + 1467 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300001E0300009D050000CD030000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 1468 + 1468 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300001E0300009D050000CD030000 + + + 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 + 6301000066000000BD030000C6000000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 1935 + 1935 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + C70300001E0300007D070000CD030000 + + + 16 + 560000006D0000004601000038010000 + + + + 1936 + 1936 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300001E0300009D050000CD030000 + + + 16 + 560000006D0000004601000038010000 + + + + 1937 + 1937 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300001E0300009D050000CD030000 + + + 16 + 560000006D0000004601000038010000 + + + + 1939 + 1939 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300001E0300009D050000CD030000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 1940 + 1940 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300001E0300009D050000CD030000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 1941 + 1941 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300001E0300009D050000CD030000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 1942 + 1942 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300001E0300009D050000CD030000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 195 + 195 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000006600000059010000EA020000 + + + 16 + 560000006D00000072010000AD020000 + + + + 196 + 196 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000006600000059010000EA020000 + + + 16 + 560000006D00000072010000AD020000 + + + + 197 + 197 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 0300000010030000BD030000CD030000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 198 + 198 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 0000000007030000C0030000E6030000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 199 + 199 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000010030000BD030000CD030000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 203 + 203 + 1 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + 600100006300000080070000DF000000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 204 + 204 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 6301000066000000BD030000C6000000 + + + 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 + C70300001E0300009D050000CD030000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 343 + 343 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 6301000066000000BD030000C6000000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 346 + 346 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 6301000066000000BD030000C6000000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 35141 + 35141 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 6301000066000000BD030000C6000000 + + + 16 + 560000006D0000004601000038010000 + + + + 35824 + 35824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 6301000066000000BD030000C6000000 + + + 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 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000006600000059010000EA020000 + + + 16 + 560000006D00000072010000AD020000 + + + + 38007 + 38007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000010030000BD030000CD030000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000010030000BD030000CD030000 + + + 16 + 560000006D00000072010000AD020000 + + + + 437 + 437 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300001E0300007D070000CD030000 + + + 16 + 560000006D0000004601000038010000 + + + + 440 + 440 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C70300001E0300007D070000CD030000 + + + 16 + 560000006D0000004601000038010000 + + + + 463 + 463 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000010030000BD030000CD030000 + + + 16 + 560000006D00000072010000AD020000 + + + + 466 + 466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000010030000BD030000CD030000 + + + 16 + 560000006D00000072010000AD020000 + + + + 470 + 470 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 6301000066000000BD030000C6000000 + + + 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 + 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 + C70300001E0300009D050000CD030000 + + + 16 + 560000006D0000004601000038010000 + + + + 3312 + 000000000B000000000000000020000001000000FFFFFFFFFFFFFFFF60010000DF00000080070000E3000000010000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E6500200000010000006001000066000000C0030000F6000000600100004F00000080070000DF0000000000000040280056080000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A0040000660000009005000040020000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF5C0100004F00000060010000030300000100000002000010040000000100000001FFFFFFB6020000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000000000660000005C0100001A030000000000004F0000005C010000030300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF04000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF0000000003030000800700000703000001000000010000100400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000001000000E40100001E030000C0030000FD030000C40300000703000080070000E603000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7301000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727301000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF000000000000000001000000000000000100000001000000FFFFFFFFC003000007030000C4030000E603000001000000020000100400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF00000000F5020000C0030000F90200000000000001000000040000000100000002FDFFFF8E000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000000000000000000010030000C0030000FD03000000000000F9020000C0030000E60300000000000040820046060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + + + 59392 + File + + 2537 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000100150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 976 + 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000004001D000000000000000000000000000000000100000001000000018030800000000004001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000004006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000004000000000000000000000000000000000000010000000100000096000000030020500000000008546172676574203196000000000000000100085461726765742031000000000180EB880000000004002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000400230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000004005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 + + + + 59400 + Debug + + 2362 + 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000004002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000004002800000000000000000000000000000000010000000100000001801B80000000000400290000000000000000000000000000000001000000010000000180E57F0000000004002A00000000000000000000000000000000010000000100000001801C800000000004002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000004002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 + + + + 0 + 1920 + 1080 + + + + + + 1 + 0 + + 100 + 0 + + .\app\table.s + 26 + 70 + 89 + 1 + + 0 + + + C:\Users\roman\Documents\Lab_3_Introduction_to_Assembly\transbf\app\transbf.s + 24 + 61 + 89 + 1 + + 0 + + + RTE/Device/CT_Board_HS14_M0/startup_ctboard.s + 0 + 184 + 196 + 1 + + 0 + + + RTE/HAL/CT_Board_HS14_M0/hal_rcc.c + 0 + 293 + 327 + 1 + + 0 + + + + +
    diff --git a/table_asm/table.uvoptx b/table_asm/table.uvoptx index 8582fe0..b8e8b4a 100644 --- a/table_asm/table.uvoptx +++ b/table_asm/table.uvoptx @@ -117,6 +117,26 @@ 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 @@ -135,12 +155,12 @@ 0 0 - 0 + 1 0 0 0 0 - 0 + 1 0 0 0 @@ -196,7 +216,7 @@ ::Device - 0 + 1 0 0 1 @@ -204,7 +224,7 @@ ::HAL - 0 + 1 0 0 1 diff --git a/table_asm/table.uvprojx b/table_asm/table.uvprojx index 40d2300..563a918 100644 --- a/table_asm/table.uvprojx +++ b/table_asm/table.uvprojx @@ -447,7 +447,7 @@ - + RTE\Device\CT_Board_HS14_M0\datainit_ctboard.s @@ -455,7 +455,7 @@ - + RTE\Device\CT_Board_HS14_M0\startup_ctboard.s @@ -463,7 +463,7 @@ - + RTE\Device\CT_Board_HS14_M0\system_ctboard.c @@ -471,7 +471,7 @@ - + RTE\HAL\CT_Board_HS14_M0\hal_fmc.c @@ -479,7 +479,7 @@ - + RTE\HAL\CT_Board_HS14_M0\hal_gpio.c @@ -487,7 +487,7 @@ - + RTE\HAL\CT_Board_HS14_M0\hal_pwr.c @@ -495,7 +495,7 @@ - + RTE\HAL\CT_Board_HS14_M0\hal_rcc.c