diff --git a/Software/.mxproject b/Software/.mxproject index 590e6d2..4dfc12c 100644 --- a/Software/.mxproject +++ b/Software/.mxproject @@ -1,45 +1,25 @@ -[PreviousGenFiles] -AdvancedFolderStructure=true -HeaderFileListSize=9 -HeaderFiles#0=../TouchGFX/App/app_touchgfx.h -HeaderFiles#1=../TouchGFX/target/generated/TouchGFXGeneratedHAL.hpp -HeaderFiles#2=../TouchGFX/target/TouchGFXHAL.hpp -HeaderFiles#3=../TouchGFX/target/STM32TouchController.hpp -HeaderFiles#4=../TouchGFX/target/generated/STM32DMA.hpp -HeaderFiles#5=../Core/Inc/stm32h7xx_it.h -HeaderFiles#6=../Core/Inc/RTE_Components.h -HeaderFiles#7=../Core/Inc/stm32h7xx_hal_conf.h -HeaderFiles#8=../Core/Inc/main.h -HeaderFolderListSize=4 -HeaderPath#0=../TouchGFX/App -HeaderPath#1=../TouchGFX/target/generated -HeaderPath#2=../TouchGFX/target -HeaderPath#3=../Core/Inc -HeaderFiles=; -SourceFileListSize=11 -SourceFiles#0=../TouchGFX/target/generated/TouchGFXConfiguration.cpp -SourceFiles#1=../TouchGFX/target/generated/TouchGFXGeneratedHAL.cpp -SourceFiles#2=../TouchGFX/target/TouchGFXHAL.cpp -SourceFiles#3=../TouchGFX/target/STM32TouchController.cpp -SourceFiles#4=../TouchGFX/target/generated/STM32DMA.cpp -SourceFiles#5=../TouchGFX/target/generated/OSWrappers.cpp -SourceFiles#6=../TouchGFX/target/TouchGFXGPIO.cpp -SourceFiles#7=../TouchGFX/App/app_touchgfx.c -SourceFiles#8=../Core/Src/stm32h7xx_it.c -SourceFiles#9=../Core/Src/stm32h7xx_hal_msp.c -SourceFiles#10=../Core/Src/main.c -SourceFolderListSize=4 -SourcePath#0=../TouchGFX/target/generated -SourcePath#1=../TouchGFX/target -SourcePath#2=../TouchGFX/App -SourcePath#3=../Core/Src -SourceFiles=; - [PreviousLibFiles] LibFiles=Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_cortex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_cortex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_crc.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_crc_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_crc.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_bus.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_rcc.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_crs.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_system.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_utils.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_gpio.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hsem.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_hsem.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_dma.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_dmamux.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mdma.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_pwr.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_def.h;Drivers/STM32H7xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_exti.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_exti.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_fdcan.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_fmc.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_nor.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sram.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_nand.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sdram.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_i2c.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_ltdc.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_ltdc_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_sdmmc.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sd.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_delayblock.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sd_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mmc.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mmc_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_usart.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_lpuart.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pcd.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pcd_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_usb.h;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_fdcan.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_fmc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nor.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sram.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nand.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sdram.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_sdmmc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_delayblock.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_usb.c;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_cortex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_cortex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_crc.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_crc_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_crc.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_rcc_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_bus.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_rcc.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_crs.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_system.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_utils.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_flash_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_gpio_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_gpio.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_hsem.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_hsem.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_dma.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_dmamux.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mdma.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pwr_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_pwr.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_def.h;Drivers/STM32H7xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_i2c_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_exti.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_exti.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_fdcan.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_fmc.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_nor.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sram.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_nand.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sdram.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_i2c.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_ltdc.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_ltdc_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_sdmmc.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sd.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_delayblock.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_sd_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mmc.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_mmc_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_usart.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_lpuart.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_uart_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pcd.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pcd_ex.h;Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_usb.h;Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7a3xx.h;Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7xx.h;Drivers/CMSIS/Device/ST/STM32H7xx/Include/system_stm32h7xx.h;Drivers/CMSIS/Device/ST/STM32H7xx/Include/system_stm32h7xx.h;Drivers/CMSIS/Device/ST/STM32H7xx/Source/Templates/system_stm32h7xx.c;Drivers/CMSIS/Include/core_armv81mml.h;Drivers/CMSIS/Include/mpu_armv8.h;Drivers/CMSIS/Include/core_cm23.h;Drivers/CMSIS/Include/core_cm1.h;Drivers/CMSIS/Include/core_cm0.h;Drivers/CMSIS/Include/core_cm33.h;Drivers/CMSIS/Include/cmsis_gcc.h;Drivers/CMSIS/Include/cmsis_armclang.h;Drivers/CMSIS/Include/core_armv8mbl.h;Drivers/CMSIS/Include/cmsis_compiler.h;Drivers/CMSIS/Include/core_cm4.h;Drivers/CMSIS/Include/cmsis_iccarm.h;Drivers/CMSIS/Include/core_cm7.h;Drivers/CMSIS/Include/core_sc300.h;Drivers/CMSIS/Include/core_armv8mml.h;Drivers/CMSIS/Include/core_cm35p.h;Drivers/CMSIS/Include/cmsis_armclang_ltm.h;Drivers/CMSIS/Include/core_sc000.h;Drivers/CMSIS/Include/core_cm3.h;Drivers/CMSIS/Include/cmsis_armcc.h;Drivers/CMSIS/Include/core_cm0plus.h;Drivers/CMSIS/Include/tz_context.h;Drivers/CMSIS/Include/mpu_armv7.h;Drivers/CMSIS/Include/cmsis_version.h; [PreviousUsedMakefileFiles] -SourceFiles=Core/Src/main.c;TouchGFX/target/generated/TouchGFXConfiguration.cpp;TouchGFX/target/generated/TouchGFXGeneratedHAL.cpp;TouchGFX/target/TouchGFXHAL.cpp;TouchGFX/target/STM32TouchController.cpp;TouchGFX/target/generated/STM32DMA.cpp;TouchGFX/target/generated/OSWrappers.cpp;TouchGFX/target/TouchGFXGPIO.cpp;TouchGFX/App/app_touchgfx.c;Core/Src/stm32h7xx_it.c;Core/Src/stm32h7xx_hal_msp.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_fdcan.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_fmc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nor.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sram.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nand.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sdram.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_sdmmc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_delayblock.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_usb.c;Drivers/CMSIS/Device/ST/STM32H7xx/Source/Templates/system_stm32h7xx.c;Core/Src/system_stm32h7xx.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_fdcan.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_fmc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nor.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sram.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nand.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sdram.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_sdmmc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_delayblock.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_usb.c;Drivers/CMSIS/Device/ST/STM32H7xx/Source/Templates/system_stm32h7xx.c;Core/Src/system_stm32h7xx.c;;; -HeaderPath=Drivers/STM32H7xx_HAL_Driver/Inc;Drivers/STM32H7xx_HAL_Driver/Inc/Legacy;Drivers/CMSIS/Device/ST/STM32H7xx/Include;Drivers/CMSIS/Include;TouchGFX/App;TouchGFX/target/generated;TouchGFX/target;Core/Inc; +SourceFiles=Core/Src/main.c;Core/Src/stm32h7xx_it.c;Core/Src/stm32h7xx_hal_msp.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_fdcan.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_fmc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nor.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sram.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nand.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sdram.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_sdmmc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_delayblock.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_usb.c;Drivers/CMSIS/Device/ST/STM32H7xx/Source/Templates/system_stm32h7xx.c;Core/Src/system_stm32h7xx.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_fdcan.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_fmc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nor.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sram.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nand.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sdram.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_sdmmc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_delayblock.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c;Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_usb.c;Drivers/CMSIS/Device/ST/STM32H7xx/Source/Templates/system_stm32h7xx.c;Core/Src/system_stm32h7xx.c;;; +HeaderPath=Drivers/STM32H7xx_HAL_Driver/Inc;Drivers/STM32H7xx_HAL_Driver/Inc/Legacy;Drivers/CMSIS/Device/ST/STM32H7xx/Include;Drivers/CMSIS/Include;Core/Inc; CDefines=USE_PWR_LDO_SUPPLY;USE_PWR_LDO_SUPPLY;USE_PWR_LDO_SUPPLY;USE_HAL_DRIVER;STM32H7A3xx;USE_HAL_DRIVER;USE_HAL_DRIVER; +[PreviousGenFiles] +AdvancedFolderStructure=true +HeaderFileListSize=3 +HeaderFiles#0=../Core/Inc/stm32h7xx_it.h +HeaderFiles#1=../Core/Inc/stm32h7xx_hal_conf.h +HeaderFiles#2=../Core/Inc/main.h +HeaderFolderListSize=1 +HeaderPath#0=../Core/Inc +HeaderFiles=; +SourceFileListSize=3 +SourceFiles#0=../Core/Src/stm32h7xx_it.c +SourceFiles#1=../Core/Src/stm32h7xx_hal_msp.c +SourceFiles#2=../Core/Src/main.c +SourceFolderListSize=1 +SourcePath#0=../Core/Src +SourceFiles=; + diff --git a/Software/Core/Inc/RTE_Components.h b/Software/Core/Inc/RTE_Components.h deleted file mode 100644 index 338a971..0000000 --- a/Software/Core/Inc/RTE_Components.h +++ /dev/null @@ -1,28 +0,0 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * @file - * @author MCD Application Team - * @version V2.0.0 - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ -/* USER CODE END Header */ - /* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __RTE_COMPONENTS_H__ -#define __RTE_COMPONENTS_H__ - -/* Defines ------------------------------------------------------------------*/ -/* STMicroelectronics.X-CUBE-TOUCHGFX.4.25.0 */ -#define TOUCHGFX_APP - -#endif /* __RTE_COMPONENTS_H__ */ diff --git a/Software/Core/Src/main.c b/Software/Core/Src/main.c index 32f6ed7..d3c6707 100644 --- a/Software/Core/Src/main.c +++ b/Software/Core/Src/main.c @@ -19,7 +19,6 @@ /* USER CODE END Header */ /* Includes ------------------------------------------------------------------*/ #include "main.h" -#include "app_touchgfx.h" /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ @@ -131,7 +130,6 @@ int main(void) MX_UART5_Init(); MX_LTDC_Init(); MX_CRC_Init(); - MX_TouchGFX_Init(); /* USER CODE BEGIN 2 */ //uint32_t sdramcheck = MemoryCheck(&huart5, &hsdram1); @@ -153,7 +151,6 @@ int main(void) { /* USER CODE END WHILE */ - MX_TouchGFX_Process(); /* USER CODE BEGIN 3 */ diff --git a/Software/FT23_Charger.ioc b/Software/FT23_Charger.ioc index 8e81b12..b47063d 100644 --- a/Software/FT23_Charger.ioc +++ b/Software/FT23_Charger.ioc @@ -175,9 +175,8 @@ Mcu.Pin94=PE1 Mcu.Pin95=VP_CRC_VS_CRC Mcu.Pin96=VP_SYS_VS_Systick Mcu.Pin97=VP_MEMORYMAP_VS_MEMORYMAP -Mcu.Pin98=VP_STMicroelectronics.X-CUBE-TOUCHGFX_VS_GraphicsJjApplication_4.25.0 -Mcu.PinsNb=99 -Mcu.ThirdParty0=STMicroelectronics.X-CUBE-TOUCHGFX.4.25.0 +Mcu.PinsNb=98 +Mcu.ThirdParty0=STMicroelectronics.X-CUBE-TOUCHGFX.4.24.2 Mcu.ThirdPartyNb=1 Mcu.UserConstants= Mcu.UserName=STM32H7A3ZITx @@ -625,14 +624,8 @@ SH.FMC_SDNRAS.0=FMC_SDNRAS,13b-sda1 SH.FMC_SDNRAS.ConfNb=1 SH.FMC_SDNWE.0=FMC_SDNWE,13b-sda1 SH.FMC_SDNWE.ConfNb=1 -STMicroelectronics.X-CUBE-TOUCHGFX.4.25.0.ApplicationCcGraphicsJjApplication=TouchGFXOoGenerator -STMicroelectronics.X-CUBE-TOUCHGFX.4.25.0.GraphicsJjApplication_Checked=true -STMicroelectronics.X-CUBE-TOUCHGFX.4.25.0.IPParameters=ApplicationCcGraphicsJjApplication,tgfx_custom_height,tgfx_display_interface,tgfx_vsync -STMicroelectronics.X-CUBE-TOUCHGFX.4.25.0.tgfx_custom_height=600 -STMicroelectronics.X-CUBE-TOUCHGFX.4.25.0.tgfx_display_interface=disp_ltdc -STMicroelectronics.X-CUBE-TOUCHGFX.4.25.0.tgfx_vsync=vsync_ltdc -STMicroelectronics.X-CUBE-TOUCHGFX.4.25.0_IsPackSelfContextualization=true -STMicroelectronics.X-CUBE-TOUCHGFX.4.25.0_SwParameter=ApplicationCcGraphicsJjApplication\:TouchGFXOoGenerator; +STMicroelectronics.X-CUBE-TOUCHGFX.4.24.2_IsPackSelfContextualization=true +STMicroelectronics.X-CUBE-TOUCHGFX.4.24.2_SwParameter=ApplicationCcGraphicsJjApplication\:TouchGFXOoGenerator; USART10.IPParameters=VirtualMode-Asynchronous USART10.VirtualMode-Asynchronous=VM_ASYNC USB_OTG_HS.IPParameters=VirtualMode-Device_Only_FS @@ -641,8 +634,6 @@ VP_CRC_VS_CRC.Mode=CRC_Activate VP_CRC_VS_CRC.Signal=CRC_VS_CRC VP_MEMORYMAP_VS_MEMORYMAP.Mode=CurAppReg VP_MEMORYMAP_VS_MEMORYMAP.Signal=MEMORYMAP_VS_MEMORYMAP -VP_STMicroelectronics.X-CUBE-TOUCHGFX_VS_GraphicsJjApplication_4.25.0.Mode=GraphicsJjApplication -VP_STMicroelectronics.X-CUBE-TOUCHGFX_VS_GraphicsJjApplication_4.25.0.Signal=STMicroelectronics.X-CUBE-TOUCHGFX_VS_GraphicsJjApplication_4.25.0 VP_SYS_VS_Systick.Mode=SysTick VP_SYS_VS_Systick.Signal=SYS_VS_Systick board=custom diff --git a/Software/Makefile b/Software/Makefile index d92e63c..180cb3c 100644 --- a/Software/Makefile +++ b/Software/Makefile @@ -1,5 +1,5 @@ ########################################################################################################################## -# File automatically-generated by tool: [projectgenerator] version: [4.5.0-RC5] date: [Thu Apr 03 01:50:52 CEST 2025] +# File automatically-generated by tool: [projectgenerator] version: [4.5.0-RC5] date: [Thu Apr 03 16:40:31 CEST 2025] ########################################################################################################################## # ------------------------------------------------ @@ -85,8 +85,7 @@ Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c \ Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_usb.c \ Core/Src/system_stm32h7xx.c \ Core/Src/sysmem.c \ -Core/Src/syscalls.c \ -TouchGFX/App/app_touchgfx.c +Core/Src/syscalls.c # ASM sources ASM_SOURCES = \ @@ -152,16 +151,13 @@ C_INCLUDES = \ -IDrivers/STM32H7xx_HAL_Driver/Inc/Legacy \ -IDrivers/CMSIS/Device/ST/STM32H7xx/Include \ -IDrivers/CMSIS/Include \ --ITouchGFX/App \ --ITouchGFX/target/generated \ --ITouchGFX/target \ -IMiddlewares/ST/touchgfx/framework/include \ -ITouchGFX/generated/fonts/include \ -ITouchGFX/generated/gui_generated/include \ -ITouchGFX/generated/images/include \ -ITouchGFX/generated/texts/include \ -ITouchGFX/generated/videos/include \ --ITouchGFX/gui/include \ +-ITouchGFX/gui/include # compile gcc flags diff --git a/Software/Middlewares/ST/touchgfx/framework/include/common/AbstractPartition.hpp b/Software/Middlewares/ST/touchgfx/framework/include/common/AbstractPartition.hpp index 1096e6a..6228cd8 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/common/AbstractPartition.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/common/AbstractPartition.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/common/Meta.hpp b/Software/Middlewares/ST/touchgfx/framework/include/common/Meta.hpp index 7e682f7..848a70b 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/common/Meta.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/common/Meta.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/common/Partition.hpp b/Software/Middlewares/ST/touchgfx/framework/include/common/Partition.hpp index c8c5013..4bb5455 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/common/Partition.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/common/Partition.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/common/TouchGFXInit.hpp b/Software/Middlewares/ST/touchgfx/framework/include/common/TouchGFXInit.hpp index 438681f..7665c4c 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/common/TouchGFXInit.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/common/TouchGFXInit.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/mvp/MVPApplication.hpp b/Software/Middlewares/ST/touchgfx/framework/include/mvp/MVPApplication.hpp index 0865d69..0d50db1 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/mvp/MVPApplication.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/mvp/MVPApplication.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/mvp/MVPHeap.hpp b/Software/Middlewares/ST/touchgfx/framework/include/mvp/MVPHeap.hpp index 6b4d1dc..aa1d3fb 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/mvp/MVPHeap.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/mvp/MVPHeap.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/mvp/Presenter.hpp b/Software/Middlewares/ST/touchgfx/framework/include/mvp/Presenter.hpp index b18f636..5d414de 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/mvp/Presenter.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/mvp/Presenter.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/mvp/View.hpp b/Software/Middlewares/ST/touchgfx/framework/include/mvp/View.hpp index b88501a..5b2ddc2 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/mvp/View.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/mvp/View.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/platform/core/MCUInstrumentation.hpp b/Software/Middlewares/ST/touchgfx/framework/include/platform/core/MCUInstrumentation.hpp index 2e98180..1ddd27a 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/platform/core/MCUInstrumentation.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/platform/core/MCUInstrumentation.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/button/ButtonController.hpp b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/button/ButtonController.hpp index fb82abe..6dac642 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/button/ButtonController.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/button/ButtonController.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/i2c/I2C.hpp b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/i2c/I2C.hpp index a9a242d..062f483 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/i2c/I2C.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/i2c/I2C.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD16bpp.hpp b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD16bpp.hpp index 621427f..bfc5fbb 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD16bpp.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD16bpp.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD16bppSerialFlash.hpp b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD16bppSerialFlash.hpp index bcaff69..bd338f4 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD16bppSerialFlash.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD16bppSerialFlash.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD1bpp.hpp b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD1bpp.hpp index c756454..33646e9 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD1bpp.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD1bpp.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD24bpp.hpp b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD24bpp.hpp index d5f5d9e..3f460e0 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD24bpp.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD24bpp.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD2bpp.hpp b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD2bpp.hpp index 8b9e01c..1040fa8 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD2bpp.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD2bpp.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD32bpp.hpp b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD32bpp.hpp index 3b6fa7b..41f8564 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD32bpp.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD32bpp.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD32bpp_XRGB8888.hpp b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD32bpp_XRGB8888.hpp index adafe93..29777c2 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD32bpp_XRGB8888.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD32bpp_XRGB8888.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD4bpp.hpp b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD4bpp.hpp index 48018d1..a843b87 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD4bpp.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD4bpp.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD8bpp_ABGR2222.hpp b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD8bpp_ABGR2222.hpp index 24df801..1c27578 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD8bpp_ABGR2222.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD8bpp_ABGR2222.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD8bpp_ARGB2222.hpp b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD8bpp_ARGB2222.hpp index b3b4fc7..6e2fb6f 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD8bpp_ARGB2222.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD8bpp_ARGB2222.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD8bpp_BGRA2222.hpp b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD8bpp_BGRA2222.hpp index beb8f02..356eed1 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD8bpp_BGRA2222.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD8bpp_BGRA2222.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD8bpp_RGBA2222.hpp b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD8bpp_RGBA2222.hpp index 7e59a62..609a063 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD8bpp_RGBA2222.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/lcd/LCD8bpp_RGBA2222.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/touch/I2CTouchController.hpp b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/touch/I2CTouchController.hpp index f663cc7..bc90eb3 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/touch/I2CTouchController.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/touch/I2CTouchController.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/touch/NoTouchController.hpp b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/touch/NoTouchController.hpp index a7cf855..d5a87a0 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/touch/NoTouchController.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/touch/NoTouchController.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/touch/SDL2TouchController.hpp b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/touch/SDL2TouchController.hpp index 495d87e..b08c31e 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/touch/SDL2TouchController.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/touch/SDL2TouchController.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/touch/SDLTouchController.hpp b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/touch/SDLTouchController.hpp index d2706eb..64d1a49 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/touch/SDLTouchController.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/touch/SDLTouchController.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/touch/TouchController.hpp b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/touch/TouchController.hpp index 297c9c2..a63534b 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/touch/TouchController.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/platform/driver/touch/TouchController.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/platform/hal/simulator/sdl2/HALSDL2.hpp b/Software/Middlewares/ST/touchgfx/framework/include/platform/hal/simulator/sdl2/HALSDL2.hpp index c1352b0..7b57228 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/platform/hal/simulator/sdl2/HALSDL2.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/platform/hal/simulator/sdl2/HALSDL2.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Application.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Application.hpp index d62f163..1ba55c1 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Application.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Application.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Bitmap.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Bitmap.hpp index 879df65..0e000fb 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Bitmap.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Bitmap.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Callback.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Callback.hpp index a8f365c..02a9d2d 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Callback.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Callback.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Color.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Color.hpp index 3747ddf..604bc40 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Color.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Color.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/ConstFont.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/ConstFont.hpp index e17fc27..91f53fc 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/ConstFont.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/ConstFont.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Drawable.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Drawable.hpp index b9e47f7..7c550d2 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Drawable.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Drawable.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/EasingEquations.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/EasingEquations.hpp index edde6ed..c903799 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/EasingEquations.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/EasingEquations.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Event.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Event.hpp index e0ab3a0..93a79a0 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Event.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Event.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Font.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Font.hpp index 9256e46..aec0f2b 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Font.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Font.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/FontManager.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/FontManager.hpp index e20d1d0..0e81a02 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/FontManager.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/FontManager.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/InternalFlashFont.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/InternalFlashFont.hpp index c1522d0..d65de3e 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/InternalFlashFont.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/InternalFlashFont.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/JSMOCHelper.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/JSMOCHelper.hpp index 25f5ef5..c199ae2 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/JSMOCHelper.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/JSMOCHelper.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Math3D.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Math3D.hpp index f6f825f..c728109 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Math3D.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Math3D.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Matrix3x3.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Matrix3x3.hpp index 3b4599b..bf2d5df 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Matrix3x3.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Matrix3x3.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Screen.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Screen.hpp index c0e0342..470c170 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Screen.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Screen.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/TextProvider.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/TextProvider.hpp index 72c8952..61babbe 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/TextProvider.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/TextProvider.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Texts.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Texts.hpp index 9b49379..c9c6d98 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Texts.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Texts.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/TextureMapTypes.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/TextureMapTypes.hpp index 32b1d52..cdcdb19 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/TextureMapTypes.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/TextureMapTypes.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/TypedText.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/TypedText.hpp index 78e0474..ff637c4 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/TypedText.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/TypedText.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/UIEventListener.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/UIEventListener.hpp index 1c51de5..0b3d700 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/UIEventListener.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/UIEventListener.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Unicode.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Unicode.hpp index 770569d..768b8d7 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Unicode.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Unicode.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Utils.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Utils.hpp index f599fb4..8ef3e92 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Utils.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Utils.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/VectorFontRendererImpl.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/VectorFontRendererImpl.hpp index 1cce5c0..bbd58ef 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/VectorFontRendererImpl.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/VectorFontRendererImpl.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Version.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Version.hpp index 28cc870..691e86c 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Version.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/Version.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. @@ -13,9 +13,9 @@ #ifndef TOUCHGFX_VERSION_HPP #define TOUCHGFX_VERSION_HPP -#define TOUCHGFX_VERSION 42402 +#define TOUCHGFX_VERSION 42500 #define TOUCHGFX_VERSION_MAJOR 4 -#define TOUCHGFX_VERSION_MINOR 24 -#define TOUCHGFX_VERSION_PATCH 2 +#define TOUCHGFX_VERSION_MINOR 25 +#define TOUCHGFX_VERSION_PATCH 0 #endif // TOUCHGFX_VERSION_HPP diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/canvas_widget_renderer/CanvasWidgetRenderer.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/canvas_widget_renderer/CanvasWidgetRenderer.hpp index 324c641..2a67b26 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/canvas_widget_renderer/CanvasWidgetRenderer.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/canvas_widget_renderer/CanvasWidgetRenderer.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/canvas_widget_renderer/Cell.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/canvas_widget_renderer/Cell.hpp index a47039b..d08abd1 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/canvas_widget_renderer/Cell.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/canvas_widget_renderer/Cell.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/canvas_widget_renderer/Outline.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/canvas_widget_renderer/Outline.hpp index 417735b..8f5946a 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/canvas_widget_renderer/Outline.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/canvas_widget_renderer/Outline.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/canvas_widget_renderer/Rasterizer.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/canvas_widget_renderer/Rasterizer.hpp index d9f86f1..484cfa5 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/canvas_widget_renderer/Rasterizer.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/canvas_widget_renderer/Rasterizer.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/CacheableContainer.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/CacheableContainer.hpp index c801fa9..2634e68 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/CacheableContainer.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/CacheableContainer.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/Container.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/Container.hpp index 8cbd5bb..05500be 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/Container.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/Container.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/ListLayout.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/ListLayout.hpp index 2e9bad3..f1cfeb8 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/ListLayout.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/ListLayout.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/ModalWindow.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/ModalWindow.hpp index 0c13fd8..8377299 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/ModalWindow.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/ModalWindow.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/ScrollableContainer.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/ScrollableContainer.hpp index e4a7703..807789d 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/ScrollableContainer.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/ScrollableContainer.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/SlideMenu.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/SlideMenu.hpp index da17c88..4981354 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/SlideMenu.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/SlideMenu.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/Slider.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/Slider.hpp index 477e5b8..d0180e1 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/Slider.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/Slider.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/SwipeContainer.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/SwipeContainer.hpp index b3b6d3a..98336fb 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/SwipeContainer.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/SwipeContainer.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/ZoomAnimationImage.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/ZoomAnimationImage.hpp index 0f4ada8..ea30e7e 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/ZoomAnimationImage.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/ZoomAnimationImage.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/AbstractButtonContainer.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/AbstractButtonContainer.hpp index bba884f..258c3d9 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/AbstractButtonContainer.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/AbstractButtonContainer.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/AnimatedImageButtonStyle.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/AnimatedImageButtonStyle.hpp index 5b221f2..2538dd0 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/AnimatedImageButtonStyle.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/AnimatedImageButtonStyle.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/BoxWithBorderButtonStyle.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/BoxWithBorderButtonStyle.hpp index 93495ef..05d336f 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/BoxWithBorderButtonStyle.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/BoxWithBorderButtonStyle.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/Buttons.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/Buttons.hpp index 1d8a736..0036cf7 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/Buttons.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/Buttons.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/ClickButtonTrigger.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/ClickButtonTrigger.hpp index 837ad13..cb29deb 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/ClickButtonTrigger.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/ClickButtonTrigger.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/IconButtonStyle.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/IconButtonStyle.hpp index 9cfd65d..6c6ce71 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/IconButtonStyle.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/IconButtonStyle.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/ImageButtonStyle.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/ImageButtonStyle.hpp index 66256c4..b6464d9 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/ImageButtonStyle.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/ImageButtonStyle.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/RepeatButtonTrigger.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/RepeatButtonTrigger.hpp index 51e8300..eda5b16 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/RepeatButtonTrigger.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/RepeatButtonTrigger.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/TextButtonStyle.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/TextButtonStyle.hpp index 6ca3b21..db59368 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/TextButtonStyle.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/TextButtonStyle.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. @@ -49,6 +49,16 @@ public: T::add(text); } + /** + * Get the TypedText. + * + * @return The TypedText assigned to the button + */ + const TypedText& getText() + { + return text.getTypedText(); + } + /** * Sets a text. * diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/TiledImageButtonStyle.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/TiledImageButtonStyle.hpp index 63eda99..e8f7bb5 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/TiledImageButtonStyle.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/TiledImageButtonStyle.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/ToggleButtonTrigger.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/ToggleButtonTrigger.hpp index 80cf71a..3ff4868 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/ToggleButtonTrigger.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/ToggleButtonTrigger.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/TouchButtonTrigger.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/TouchButtonTrigger.hpp index 738dad6..b9a2a66 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/TouchButtonTrigger.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/TouchButtonTrigger.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/TwoWildcardTextButtonStyle.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/TwoWildcardTextButtonStyle.hpp index be6b503..ef9307f 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/TwoWildcardTextButtonStyle.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/TwoWildcardTextButtonStyle.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/WildcardTextButtonStyle.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/WildcardTextButtonStyle.hpp index e38e4a0..9569556 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/WildcardTextButtonStyle.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/buttons/WildcardTextButtonStyle.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/clock/AbstractClock.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/clock/AbstractClock.hpp index 689d16a..6b9c501 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/clock/AbstractClock.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/clock/AbstractClock.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/clock/AnalogClock.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/clock/AnalogClock.hpp index cc39253..c88fe51 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/clock/AnalogClock.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/clock/AnalogClock.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/clock/DigitalClock.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/clock/DigitalClock.hpp index 689b145..089de19 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/clock/DigitalClock.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/clock/DigitalClock.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/progress_indicators/AbstractDirectionProgress.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/progress_indicators/AbstractDirectionProgress.hpp index d7357af..f750468 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/progress_indicators/AbstractDirectionProgress.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/progress_indicators/AbstractDirectionProgress.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/progress_indicators/AbstractProgressIndicator.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/progress_indicators/AbstractProgressIndicator.hpp index 23357ac..c32d747 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/progress_indicators/AbstractProgressIndicator.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/progress_indicators/AbstractProgressIndicator.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/progress_indicators/BoxProgress.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/progress_indicators/BoxProgress.hpp index 56ff84c..a9aef0e 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/progress_indicators/BoxProgress.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/progress_indicators/BoxProgress.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/progress_indicators/CircleProgress.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/progress_indicators/CircleProgress.hpp index af1a415..9b26a1e 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/progress_indicators/CircleProgress.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/progress_indicators/CircleProgress.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/progress_indicators/ImageProgress.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/progress_indicators/ImageProgress.hpp index b7921e4..3d5b3d0 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/progress_indicators/ImageProgress.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/progress_indicators/ImageProgress.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/progress_indicators/LineProgress.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/progress_indicators/LineProgress.hpp index c3a3737..33660b6 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/progress_indicators/LineProgress.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/progress_indicators/LineProgress.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/progress_indicators/TextProgress.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/progress_indicators/TextProgress.hpp index 331e655..21881f0 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/progress_indicators/TextProgress.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/progress_indicators/TextProgress.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/scrollers/DrawableList.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/scrollers/DrawableList.hpp index b145c06..3eeaeae 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/scrollers/DrawableList.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/scrollers/DrawableList.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/scrollers/ScrollBase.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/scrollers/ScrollBase.hpp index 96f7ede..0cb49ab 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/scrollers/ScrollBase.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/scrollers/ScrollBase.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/scrollers/ScrollList.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/scrollers/ScrollList.hpp index 4aca4ba..1a195a6 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/scrollers/ScrollList.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/scrollers/ScrollList.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/scrollers/ScrollWheel.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/scrollers/ScrollWheel.hpp index 428f7f2..94fc279 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/scrollers/ScrollWheel.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/scrollers/ScrollWheel.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/scrollers/ScrollWheelBase.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/scrollers/ScrollWheelBase.hpp index 569d681..a8000e0 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/scrollers/ScrollWheelBase.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/scrollers/ScrollWheelBase.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/scrollers/ScrollWheelWithSelectionStyle.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/scrollers/ScrollWheelWithSelectionStyle.hpp index 5d69a1b..087adae 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/scrollers/ScrollWheelWithSelectionStyle.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/containers/scrollers/ScrollWheelWithSelectionStyle.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/events/ClickEvent.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/events/ClickEvent.hpp index 8fc016f..f7aad3c 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/events/ClickEvent.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/events/ClickEvent.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/events/DragEvent.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/events/DragEvent.hpp index a591f98..bdd8fe8 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/events/DragEvent.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/events/DragEvent.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/events/GestureEvent.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/events/GestureEvent.hpp index 773ac0b..d386417 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/events/GestureEvent.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/events/GestureEvent.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/Atomic.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/Atomic.hpp index 5365209..501f57d 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/Atomic.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/Atomic.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/BlitOp.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/BlitOp.hpp index 3005a99..8b71d77 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/BlitOp.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/BlitOp.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/BoardConfiguration.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/BoardConfiguration.hpp index a3ea03c..0dc2d17 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/BoardConfiguration.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/BoardConfiguration.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/Buttons.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/Buttons.hpp index f4726c3..fe039a5 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/Buttons.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/Buttons.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/Config.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/Config.hpp index 509d31f..3adccb3 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/Config.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/Config.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/DMA.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/DMA.hpp index 79f26af..7862a41 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/DMA.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/DMA.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/FlashDataReader.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/FlashDataReader.hpp index cb0373a..9392253 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/FlashDataReader.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/FlashDataReader.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/FrameBufferAllocator.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/FrameBufferAllocator.hpp index 08b07a6..05c565f 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/FrameBufferAllocator.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/FrameBufferAllocator.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/GPIO.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/GPIO.hpp index 4aceefb..648b5e5 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/GPIO.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/GPIO.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/Gestures.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/Gestures.hpp index 6e15f73..667175d 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/Gestures.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/Gestures.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/HAL.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/HAL.hpp index b174daa..dcb4b23 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/HAL.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/HAL.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. @@ -88,7 +88,12 @@ public: requestedOrientation(ORIENTATION_LANDSCAPE), displayOrientationChangeRequested(false), useDMAAcceleration(true), - lastRenderMethod(HARDWARE) + lastRenderMethod(HARDWARE), + isFrontPorchEntered(false), + numberOfBlocks(4), + maxDrawingHeight(height / numberOfBlocks), // Best guess based on testing (but not ideal in all cases) + minDrawingHeight(maxDrawingHeight / 3), // Best guess based on testing (but not ideal in all cases) + maxBlockLines(20) { instance = this; FRAME_BUFFER_WIDTH = DISPLAY_WIDTH = width; @@ -209,11 +214,33 @@ public: void frontPorchEntered() { allowDMATransfers(); + isFrontPorchEntered = true; + } + + /** + * @brief Get the front porch entered flag. + * + * @return True if the front porch has been entered, false otherwise. + */ + bool getFrontPorchEntered() const + { + return isFrontPorchEntered; } /** This function blocks until the DMA queue (containing BlitOps) is empty. */ virtual void flushDMA(); + /** + * This function can be used to explicitly submit any GPU2D operations that + * might be queued in the command list. Can be called if e.g. the task is + * about to sleep, to ensure GPU2D operations are running in the background. + * + * Only implemented on systems with the GPU2D IP. + */ + virtual void submitGPU2D() + { + } + /** * Waits for the framebuffer to become available for use (i.e. not * used by DMA transfers). Calls the InvalidateCache virtual if @@ -253,6 +280,19 @@ public: */ virtual void unlockFrameBuffer(); + /** + * Locks and unlocks the frame buffer. + * + * This method is used to wait for any hardware based drawing is + * complete when you don't need the frame buffer pointer for + * drawing. + */ + void lockUnlockFrameBuffer() + { + lockFrameBuffer(); + unlockFrameBuffer(); + } + /** * Gets the framebuffer address used by the TFT controller. * @@ -278,18 +318,14 @@ public: * Function to set whether the DMA transfers are locked to the TFT update cycle. If * locked, DMA transfer will not begin until the TFT controller has finished updating * the display. If not locked, DMA transfers will begin as soon as possible. Default is - * true (DMA is locked with TFT). + * false (DMA is not locked with TFT). * - * Disabling the lock will in most cases significantly increase rendering performance. - * It is therefore strongly recommended to disable it. Depending on platform this may in - * rare cases cause rendering problems (visible tearing on display). Please see the - * chapter "Optimizing DMA During TFT Controller Access" for details on this setting. + * Enabling the lock will in most cases decrease rendering performance. But for single- + * buffering, it is recommended to enable the lock, to avoid tearing on the display, i.e. + * lock the DMA to avoid modifying the framebuffer while the display is being updated. * - * @param enableLock True to lock DMA transfers to the front porch signal. Conservative, - * default setting. False to disable, which will normally yield - * substantial performance improvement. - * - * @note This setting only has effect when using double buffering. + * @param enableLock True to lock DMA transfers to the front porch signal. Default + * disabled, which will normally yield performance improvement. */ void lockDMAToFrontPorch(bool enableLock) { @@ -628,11 +664,20 @@ public: void vSync() { vSyncCnt++; + isFrontPorchEntered = false; } /** - * Has to be called from within the LCD IRQ rutine when the Back Porch Exit is reached. + * Get current VSync count. * + * @return The current VSync count. + */ + uint8_t getVSyncCount() const + { + return vSyncCnt; + } + + /** * Has to be called from within the LCD IRQ rutine when the Back Porch Exit is reached. */ virtual void backPorchExited() @@ -754,6 +799,28 @@ public: */ virtual uint16_t configurePartialFrameBuffer(const uint16_t x, const uint16_t y, const uint16_t width, const uint16_t height); + /** + * Adjusts the framebuffer pointer to match the current logical block. This function + * is only used on LTDC systems and when the partial framebuffer strategy is enabled. + * + * @param currentBlock The current block on the screen. + * + */ + virtual void configurePartialFrameBufferLTDC(int16_t currentBlock); + + /** + * This function causes the task to wait on a semaphore until the LTDC has + * progressed the specified number of lines. + * + * Only applicable on LTDC systems and when the partial framebuffer strategy is + * enabled. + * + * @param numberOfLines Number of lines to wait. + */ + virtual void waitForLTDCLines(uint16_t numberOfLines) + { + } + /** * Sets the number of ticks between each touch screen sample. * @@ -924,6 +991,7 @@ public: { REFRESH_STRATEGY_DEFAULT, ///< If not explicitly set, this strategy is used. REFRESH_STRATEGY_OPTIM_SINGLE_BUFFER_TFT_CTRL, ///< Strategy optimized for single framebuffer on systems with TFT controller. + REFRESH_STRATEGY_PARTIAL_BUFFER_TFT_CTRL, ///< Strategy using less than a full framebuffer on systems with TFT controller. REFRESH_STRATEGY_PARTIAL_FRAMEBUFFER ///< Strategy using less than a full framebuffer. }; @@ -975,6 +1043,18 @@ public: } return false; } + if (s == REFRESH_STRATEGY_PARTIAL_BUFFER_TFT_CTRL) + { + // Perform sanity checks. This strategy requires + // - a TFT controller (+ an impl of getTFTCurrentLine()) + // - single buffering + if (getTFTCurrentLine() != 0xFFFF && !USE_DOUBLE_BUFFERING) + { + refreshStrategy = s; + return true; + } + return false; + } // Unknown strategy return false; } @@ -1112,6 +1192,105 @@ public: */ void setRenderingMethod(RenderingMethod method); + /** + * Set number of blocks to be used for partial framebuffer strategy on LTDC systems. + * Both minDrawingHeight and maxDrawingHeight will be updated according to the new + * number of blocks. + * Note: The number must be divisible by the framebuffer height. + * + * @see setMinDrawingHeight, setMaxDrawingHeight + * + * @param blocks The number of blocks to be used. + */ + void setNumberOfBlocks(uint8_t blocks) + { + numberOfBlocks = blocks; + maxDrawingHeight = FRAME_BUFFER_HEIGHT / numberOfBlocks; + minDrawingHeight = maxDrawingHeight / 3; + } + + /** + * Get number of blocks used for partial framebuffer strategy on LTDC systems. + * + * @return The number of blocks used. + */ + uint8_t getNumberOfBlocks() const + { + return numberOfBlocks; + } + + /** + * Set maximum drawing height used for partial framebuffer strategy on LTDC systems. + * + * @param maxHeight The maximum drawing height to be used. + */ + void setMaxDrawingHeight(uint16_t maxHeight) + { + maxDrawingHeight = maxHeight; + } + + /** + * Get maximum drawing height used for partial framebuffer strategy on LTDC systems. + * + * @return The maximum drawing height used. + */ + uint16_t getMaxDrawingHeight() const + { + return maxDrawingHeight; + } + + /** + * Set minimum drawing height used for partial framebuffer strategy on LTDC systems. + * + * @param minHeight The minimum drawing height to be used. + */ + void setMinDrawingHeight(uint16_t minHeight) + { + minDrawingHeight = minHeight; + } + + /** + * Get minimum drawing height used for partial framebuffer strategy on LTDC systems. + * + * @return The minimum drawing height used. + */ + uint16_t getMinDrawingHeight() const + { + return minDrawingHeight; + } + + /** + * Set maximum number of block lines used for partial framebuffer strategy on GRAM systems. + * + * @param blockLines The maximum number of block lines to be used. + */ + void setMaxBlockLines(int16_t blockLines) + { + maxBlockLines = blockLines; + } + + /** + * Get maximum number of block lines used for partial framebuffer strategy on GRAM systems. + * + * @return The maximum number of block lines. + */ + int16_t getMaxBlockLines() const + { + return maxBlockLines; + } + + /** + * Called by the framework if it detects a draw operation took too long to complete + * when using the partial LTDC frame refresh strategy. + * This occurrence will lead to tearing on the display. + * + * This empty function can be overridden to e.g. output this error condition + * on a pin. + */ + virtual void partialLTDCDeadlineMissed() + { + } + protected: /** This function is called at each timer tick, depending on platform implementation. */ virtual void tick(); @@ -1200,6 +1379,16 @@ protected: { } + /** + * Invalidate texture cache(s). + * + * Called on every tick before drawing into the framebuffer to enable + * invalidation of any caches that may be incoherent with main memory. + */ + virtual void InvalidateTextureCache() + { + } + DMA_Interface& dma; ///< A reference to the DMA interface. LCD& lcdRef; ///< A reference to the LCD. TouchController& touchController; ///< A reference to the touch controller. @@ -1240,6 +1429,11 @@ private: bool displayOrientationChangeRequested; bool useDMAAcceleration; RenderingMethod lastRenderMethod; + bool isFrontPorchEntered; + uint8_t numberOfBlocks; + uint16_t maxDrawingHeight; + uint16_t minDrawingHeight; + int16_t maxBlockLines; uint16_t* getDstAddress(uint16_t x, uint16_t y, uint16_t* startAddress, uint16_t dstWidth, Bitmap::BitmapFormat dstFormat) const; uint16_t* getDstAddress(uint16_t x, uint16_t y, uint16_t* startAddress) const; diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/NoDMA.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/NoDMA.hpp index 7c51f1d..f6dd235 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/NoDMA.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/NoDMA.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/OSWrappers.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/OSWrappers.hpp index d133e98..be9fa66 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/OSWrappers.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/OSWrappers.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/Paint.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/Paint.hpp index e1523a1..d05f91f 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/Paint.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/Paint.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. @@ -42,6 +42,9 @@ void tearDown(void); */ void flushLine(uint32_t* addr, int sizebytes); +/** Invalidates the texture cache if used. */ +void invalidateTextureCache(); + namespace rgb565 { /** diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/PaintARGB8888Impl.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/PaintARGB8888Impl.hpp index 6576586..31a102a 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/PaintARGB8888Impl.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/PaintARGB8888Impl.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/PaintImpl.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/PaintImpl.hpp index ea4b2ca..51f6c32 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/PaintImpl.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/PaintImpl.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. @@ -42,6 +42,10 @@ void flushLine(uint32_t* addr, int sizebytes) { } +void invalidateTextureCache() +{ +} + } // namespace paint } // namespace touchgfx diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/PaintRGB565Impl.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/PaintRGB565Impl.hpp index 2833cf5..74d75dc 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/PaintRGB565Impl.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/PaintRGB565Impl.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/PaintRGB888Impl.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/PaintRGB888Impl.hpp index 53e2d99..009d4c2 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/PaintRGB888Impl.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/PaintRGB888Impl.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/PartialFrameBufferManager.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/PartialFrameBufferManager.hpp index 06f362d..7167a17 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/PartialFrameBufferManager.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/PartialFrameBufferManager.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. @@ -49,6 +49,20 @@ int shouldTransferBlock(uint16_t bottom); */ void transmitBlock(const uint8_t* pixels, uint16_t x, uint16_t y, uint16_t w, uint16_t h); +/** + * Wait until current Frame Buffer Block is transmitted. + * + */ +void waitUntilTransmitEnd(); + +/** + * Wait until display is ready to receive a Frame Buffer Block ending at bottom. + * + * @param bottom The bottom coordinate of the block to transfer. + * + */ +void waitUntilCanTransferBlock(uint16_t bottom); + /** * This class specifies strategies for transmitting block to the display using Partial Frame Buffer. */ diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/Types.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/Types.hpp index 5db636d..1487002 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/Types.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/Types.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/VGData.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/VGData.hpp index c0c14b2..93a5ee6 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/VGData.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/VGData.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/VectorFontRenderer.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/VectorFontRenderer.hpp index b576a75..69cd1e8 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/VectorFontRenderer.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/VectorFontRenderer.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/VectorRenderer.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/VectorRenderer.hpp index 4a3b4e2..f51995e 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/VectorRenderer.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/VectorRenderer.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/VideoController.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/VideoController.hpp index 3dbe4b5..1e65e00 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/VideoController.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/VideoController.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/DebugPrinter.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/DebugPrinter.hpp index c75be37..685e737 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/DebugPrinter.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/DebugPrinter.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD.hpp index 16e72ee..c25fcf4 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD16DebugPrinter.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD16DebugPrinter.hpp index 4a6a9a1..b732630 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD16DebugPrinter.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD16DebugPrinter.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD1DebugPrinter.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD1DebugPrinter.hpp index 4145a65..ca5348a 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD1DebugPrinter.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD1DebugPrinter.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD24DebugPrinter.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD24DebugPrinter.hpp index 8139c2a..509b1f2 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD24DebugPrinter.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD24DebugPrinter.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD2DebugPrinter.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD2DebugPrinter.hpp index 887fcb9..22ddd3e 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD2DebugPrinter.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD2DebugPrinter.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD32DebugPrinter.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD32DebugPrinter.hpp index 27c33ef..79c2bc6 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD32DebugPrinter.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD32DebugPrinter.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD4DebugPrinter.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD4DebugPrinter.hpp index 56f4b31..c4aeffd 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD4DebugPrinter.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD4DebugPrinter.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD8ABGR2222DebugPrinter.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD8ABGR2222DebugPrinter.hpp index 4ad1271..4a3be33 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD8ABGR2222DebugPrinter.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD8ABGR2222DebugPrinter.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD8ARGB2222DebugPrinter.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD8ARGB2222DebugPrinter.hpp index eb5105a..9de049c 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD8ARGB2222DebugPrinter.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD8ARGB2222DebugPrinter.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD8BGRA2222DebugPrinter.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD8BGRA2222DebugPrinter.hpp index 7653096..01f7736 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD8BGRA2222DebugPrinter.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD8BGRA2222DebugPrinter.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD8DebugPrinterBase.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD8DebugPrinterBase.hpp index 3d30d9d..379d9f3 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD8DebugPrinterBase.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD8DebugPrinterBase.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD8RGBA2222DebugPrinter.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD8RGBA2222DebugPrinter.hpp index ed153e2..ad0d7a9 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD8RGBA2222DebugPrinter.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/lcd/LCD8RGBA2222DebugPrinter.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/mixins/ClickListener.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/mixins/ClickListener.hpp index a852de0..214fc3d 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/mixins/ClickListener.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/mixins/ClickListener.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/mixins/Draggable.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/mixins/Draggable.hpp index 1cac2b2..65ce35c 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/mixins/Draggable.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/mixins/Draggable.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/mixins/FadeAnimator.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/mixins/FadeAnimator.hpp index dc8631c..7238b64 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/mixins/FadeAnimator.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/mixins/FadeAnimator.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/mixins/MoveAnimator.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/mixins/MoveAnimator.hpp index a980243..b490e48 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/mixins/MoveAnimator.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/mixins/MoveAnimator.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/mixins/Snapper.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/mixins/Snapper.hpp index 092fbeb..e061dd8 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/mixins/Snapper.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/mixins/Snapper.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/transforms/DisplayTransformation.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/transforms/DisplayTransformation.hpp index 692e136..2b503b6 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/transforms/DisplayTransformation.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/transforms/DisplayTransformation.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/transforms/TouchCalibration.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/transforms/TouchCalibration.hpp index e7faa08..f2222ba 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/transforms/TouchCalibration.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/transforms/TouchCalibration.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/transitions/BlockTransition.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/transitions/BlockTransition.hpp index f3db583..3471654 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/transitions/BlockTransition.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/transitions/BlockTransition.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/transitions/CoverTransition.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/transitions/CoverTransition.hpp index 7672523..c9f7cd6 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/transitions/CoverTransition.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/transitions/CoverTransition.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. @@ -45,8 +45,7 @@ public: : Transition(), animationSteps(transitionSteps), animationCounter(0), - calculatedValue(0), - solid() + calculatedValue(0) { switch (templateDirection) { @@ -67,9 +66,6 @@ public: // Nothing to do here break; } - - // Ensure that the solid area covers the entire screen - solid.setPosition(0, 0, HAL::DISPLAY_WIDTH, HAL::DISPLAY_HEIGHT); } /** @@ -164,11 +160,6 @@ public: } } - virtual void tearDown() - { - screenContainer->remove(solid); - } - virtual void init() { Transition::init(); @@ -191,16 +182,15 @@ public: d = d->getNextSibling(); } - - screenContainer->add(solid); } - /** - * Cover transition does not require an invalidation. Invalidation - * is handled by the class. Do no invalidation initially. - */ virtual void invalidate() { + // The last step when finalizing a transition (see MVPApplication::finalizeTransition) + // is to call invalidate on the transition. For the CoverTransition we want to erase any + // invalidated areas that might have been added when setting up the new screen, which + // is the first step of finalizing a transition (see MVPApplication::finalizeTransition). + Application::getInstance()->clearCachedAreas(); } private: @@ -208,7 +198,6 @@ private: uint8_t animationCounter; ///< Current step in the transition animation. int16_t targetValue; ///< The target value for the transition animation. int16_t calculatedValue; ///< The current X or Y value - FullSolidRect solid; ///< A solid rect that covers the entire screen to avoid copying elements outside }; } // namespace touchgfx diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/transitions/NoTransition.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/transitions/NoTransition.hpp index eed5a78..d1116b8 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/transitions/NoTransition.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/transitions/NoTransition.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/transitions/SlideTransition.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/transitions/SlideTransition.hpp index 9702e7f..85094b6 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/transitions/SlideTransition.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/transitions/SlideTransition.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/transitions/Transition.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/transitions/Transition.hpp index 7a774cd..a86da89 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/transitions/Transition.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/transitions/Transition.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/transitions/WipeTransition.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/transitions/WipeTransition.hpp index 80df4ea..dabaff6 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/transitions/WipeTransition.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/transitions/WipeTransition.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. @@ -47,7 +47,7 @@ public: animationSteps(transitionSteps), animationCounter(0), calculatedValue(0), - solid() + prevCalculatedValue(0) { switch (templateDirection) { @@ -60,9 +60,6 @@ public: targetValue = HAL::DISPLAY_HEIGHT; break; } - - // Ensure that the solid area covers the entire screen - solid.setPosition(0, 0, HAL::DISPLAY_WIDTH, HAL::DISPLAY_HEIGHT); } /** @@ -95,59 +92,44 @@ public: // calculatedValue is the width/height of the visible area + Rect rect; switch (templateDirection) { case EAST: { - // Cover must have width of remaining part - const uint16_t prevSolidWidth = solid.getWidth(); - solid.setWidth(HAL::DISPLAY_WIDTH - calculatedValue); - - // Invalidate the uncovered part - const uint16_t delta = prevSolidWidth - solid.getWidth(); - Rect r(solid.getWidth(), 0, delta, HAL::DISPLAY_HEIGHT); - screenContainer->invalidateRect(r); + rect.x = HAL::DISPLAY_WIDTH - calculatedValue; + rect.y = 0; + rect.width = calculatedValue - prevCalculatedValue; + rect.height = HAL::DISPLAY_HEIGHT; break; } case WEST: { - // Cover must have width of remaining part and start after uncovered - const uint16_t prevSolidPos = solid.getX(); - solid.setWidth(HAL::DISPLAY_WIDTH - calculatedValue); - solid.setX(calculatedValue); - - // Invalidate the uncovered part - const uint16_t delta = calculatedValue - prevSolidPos; - Rect r(prevSolidPos, 0, delta, HAL::DISPLAY_HEIGHT); - screenContainer->invalidateRect(r); + rect.x = prevCalculatedValue; + rect.y = 0; + rect.width = calculatedValue - prevCalculatedValue; + rect.height = HAL::DISPLAY_HEIGHT; break; } case NORTH: { - // Cover must have height of remaining part and start after uncovered - const uint16_t prevSolidPos = solid.getY(); - solid.setHeight(HAL::DISPLAY_HEIGHT - calculatedValue); - solid.setY(calculatedValue); - - // Invalidate the uncovered part - const uint16_t delta = calculatedValue - prevSolidPos; - Rect r(0, prevSolidPos, HAL::DISPLAY_WIDTH, delta); - screenContainer->invalidateRect(r); + rect.x = 0; + rect.y = prevCalculatedValue; + rect.width = HAL::DISPLAY_WIDTH; + rect.height = calculatedValue - prevCalculatedValue; break; } case SOUTH: { - // Cover must have height of remaining part - const uint16_t prevSolidHeight = solid.getHeight(); - solid.setHeight(HAL::DISPLAY_HEIGHT - calculatedValue); - - // Invalidate the uncovered part - const uint16_t delta = prevSolidHeight - solid.getHeight(); - Rect r(0, solid.getHeight(), HAL::DISPLAY_WIDTH, delta); - screenContainer->invalidateRect(r); + rect.x = 0; + rect.y = HAL::DISPLAY_HEIGHT - calculatedValue; + rect.width = HAL::DISPLAY_WIDTH; + rect.height = calculatedValue - prevCalculatedValue; break; } } + prevCalculatedValue = calculatedValue; + Application::getInstance()->invalidateArea(rect); // The WipeTransition only draws to parts of the non-TFT // framebuffer. To avoid glitches in Double buffering mode @@ -159,24 +141,18 @@ public: } } - virtual void tearDown() - { - screenContainer->remove(solid); - } - virtual void init() { Transition::init(); - // Add the solid (and not-drawing-anything) widget on top to cover the other widgets - screenContainer->add(solid); } - /** - * Wipe transition does not require an invalidation. Invalidation - * is handled by the class. Do no invalidation initially. - */ virtual void invalidate() { + // The last step when finalizing a transition (see MVPApplication::finalizeTransition) + // is to call invalidate on the transition. For the WipeTransition we want to erase any + // invalidated areas that might have been added when setting up the new screen, which + // is the first step of finalizing a transition (see MVPApplication::finalizeTransition). + Application::getInstance()->clearCachedAreas(); } private: @@ -184,7 +160,7 @@ private: uint8_t animationCounter; ///< Current step in the transition animation. int16_t targetValue; ///< The target value for the transition animation. int16_t calculatedValue; ///< The calculated X or Y value to move the snapshot and the children. - FullSolidRect solid; ///< A solid rect that covers the entire screen to avoid copying elements outside + int16_t prevCalculatedValue; ///< The previous calculated value. }; } // namespace touchgfx diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/AbstractButton.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/AbstractButton.hpp index dcd300b..8f951f0 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/AbstractButton.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/AbstractButton.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/AnimatedImage.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/AnimatedImage.hpp index 035e35e..b21e8cd 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/AnimatedImage.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/AnimatedImage.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/AnimationTextureMapper.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/AnimationTextureMapper.hpp index de709ae..5d883ca 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/AnimationTextureMapper.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/AnimationTextureMapper.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/Box.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/Box.hpp index f13c97f..ba16b80 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/Box.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/Box.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/BoxWithBorder.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/BoxWithBorder.hpp index e8e3d13..460b6e0 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/BoxWithBorder.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/BoxWithBorder.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/Button.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/Button.hpp index ac7fbc8..e78f21e 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/Button.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/Button.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/ButtonWithIcon.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/ButtonWithIcon.hpp index 92fa6a1..2847bab 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/ButtonWithIcon.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/ButtonWithIcon.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/ButtonWithLabel.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/ButtonWithLabel.hpp index 5640760..d326a81 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/ButtonWithLabel.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/ButtonWithLabel.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/Gauge.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/Gauge.hpp index 115bf7d..c178654 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/Gauge.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/Gauge.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/Image.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/Image.hpp index c5fecc6..87d9c50 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/Image.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/Image.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/Keyboard.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/Keyboard.hpp index fadec92..cb04692 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/Keyboard.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/Keyboard.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/PixelDataWidget.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/PixelDataWidget.hpp index ca881df..3b301f6 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/PixelDataWidget.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/PixelDataWidget.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/QRCode.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/QRCode.hpp index f116c51..4f7fd3c 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/QRCode.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/QRCode.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/RadioButton.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/RadioButton.hpp index 75ee47e..706248d 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/RadioButton.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/RadioButton.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/RadioButtonGroup.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/RadioButtonGroup.hpp index f37d5c9..2b7c46b 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/RadioButtonGroup.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/RadioButtonGroup.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/RepeatButton.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/RepeatButton.hpp index 523c00c..118a9c2 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/RepeatButton.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/RepeatButton.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/SVGImage.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/SVGImage.hpp index a9dfe40..f909d4e 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/SVGImage.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/SVGImage.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/ScalableImage.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/ScalableImage.hpp index e336873..9dc51ba 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/ScalableImage.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/ScalableImage.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/SnapshotWidget.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/SnapshotWidget.hpp index cb13cbc..5e6da5b 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/SnapshotWidget.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/SnapshotWidget.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/TextArea.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/TextArea.hpp index 615fd2c..000e597 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/TextArea.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/TextArea.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/TextAreaWithWildcard.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/TextAreaWithWildcard.hpp index 558bf3d..1e8fc66 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/TextAreaWithWildcard.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/TextAreaWithWildcard.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/TextureMapper.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/TextureMapper.hpp index 37ac8a8..1434e39 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/TextureMapper.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/TextureMapper.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. @@ -618,13 +618,6 @@ public: } } -protected: - /** - * Transform the bitmap using the supplied origo, scale, rotation and camera. This - * method is called by all the methods that manipulate origo, scale, rotation and camera. - */ - void applyTransformation(); - /** * Gets bounding rectangle of the transformed bitmap. This is the smallest possible * rectangle which covers the image of the bitmap after applying scale and rotation. @@ -633,6 +626,13 @@ protected: */ Rect getBoundingRect() const; +protected: + /** + * Transform the bitmap using the supplied origo, scale, rotation and camera. This + * method is called by all the methods that manipulate origo, scale, rotation and camera. + */ + void applyTransformation(); + /** * The TextureMapper will draw the transformed bitmap by drawing one transformed quad. * The quad is drawn from the points 0,1,2,3 using the x,y,z values from each point along diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/TiledImage.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/TiledImage.hpp index 130b7e4..8d554f4 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/TiledImage.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/TiledImage.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/ToggleButton.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/ToggleButton.hpp index 6ab62f9..5e9545a 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/ToggleButton.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/ToggleButton.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/TouchArea.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/TouchArea.hpp index de5e816..3dea374 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/TouchArea.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/TouchArea.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/VideoWidget.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/VideoWidget.hpp index 94d821b..20c1149 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/VideoWidget.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/VideoWidget.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/Widget.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/Widget.hpp index d046de4..24ad27a 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/Widget.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/Widget.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainter.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainter.hpp index 22569c5..516459f 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainter.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainter.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterABGR2222.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterABGR2222.hpp index e5a0cf7..fc8df33 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterABGR2222.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterABGR2222.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterARGB2222.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterARGB2222.hpp index 350f9f6..453f548 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterARGB2222.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterARGB2222.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterARGB8888.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterARGB8888.hpp index 994e330..c2559b6 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterARGB8888.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterARGB8888.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterBGRA2222.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterBGRA2222.hpp index 0cdae9d..55d40d0 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterBGRA2222.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterBGRA2222.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterBW.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterBW.hpp index 48c61e8..10a7099 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterBW.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterBW.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterBitmap.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterBitmap.hpp index e9308d3..f346d0c 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterBitmap.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterBitmap.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterColor.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterColor.hpp index af0b65e..025334e 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterColor.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterColor.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterGRAY2.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterGRAY2.hpp index c0c3a93..8031015 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterGRAY2.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterGRAY2.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterGRAY4.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterGRAY4.hpp index 7df1d44..861c1d6 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterGRAY4.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterGRAY4.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterLinearGradient.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterLinearGradient.hpp index 26339b4..75e53a1 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterLinearGradient.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterLinearGradient.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. @@ -60,8 +60,8 @@ public: */ void setGradientEndPoints(float startX, float startY, float endX, float endY, float width, float height, const Matrix3x3& m) { - const Matrix3x3::Point start = m.affineTransform(startX, startY); - const Matrix3x3::Point end = m.affineTransform(endX, endY); + Matrix3x3::Point start = m.affineTransform(startX, startY); + Matrix3x3::Point end = m.affineTransform(endX, endY); isVertical = (start.x == end.x); isHorizontal = (start.y == end.y); @@ -83,10 +83,18 @@ public: const float colorlinedy = cvxbb * height; // Rotate color vector according to transformation - const Matrix3x3::Point transformed = m.affineTransform(startX + colorlinedx, startY + colorlinedy); + Matrix3x3::Point transformed = m.affineTransform(startX + colorlinedx, startY + colorlinedy); // Translate back to startX,Y - const float transformedlinedx = transformed.x - start.x; + float transformedlinedx = transformed.x - start.x; + float transformedlinedy = transformed.y - start.y; + + if (HAL::DISPLAY_ROTATION == rotate90) + { + float temp = transformedlinedx; + transformedlinedx = -transformedlinedy; + transformedlinedy = temp; + } // If the color line has dx==0, the gradient (not the color line) is horizontal if (transformedlinedx == 0.0f) @@ -95,8 +103,6 @@ public: } else { - const float transformedlinedy = transformed.y - start.y; - clSlope = transformedlinedy / transformedlinedx; // If the slope of the colorline is zero, the gradient is vertical @@ -107,11 +113,30 @@ public: else { // First color line intersects (x0, coord0) - clOffset = start.y - start.x * clSlope; + if (HAL::DISPLAY_ROTATION == rotate90) + { + float sy = start.y; + float sx = start.x; + //rotate + float temp = sy; + sy = widgetWidth - sx; + sx = temp; + clOffset = sy - sx * clSlope; + } + else + { + clOffset = start.y - start.x * clSlope; + } // Pixel distance between first and last color line horizontally - const float transformed_cvx = end.x - start.x; - const float transformed_cvy = end.y - start.y; + float transformed_cvx = end.x - start.x; + float transformed_cvy = end.y - start.y; + if (HAL::DISPLAY_ROTATION == rotate90) + { + float temp = transformed_cvy; + transformed_cvy = -transformed_cvx; + transformed_cvx = temp; + } horizontalDistance = transformed_cvx - transformed_cvy / clSlope; // Color increment when moving 1 pixel horizontally @@ -126,42 +151,100 @@ public: } } - if (isVertical) + // Gradient was horizontal or vertical, or is now after transformation + if (HAL::DISPLAY_ROTATION == rotate90) { - // Color change over one line - deltaColor = 1023.9999f / (end.y - start.y); + if (isVertical) + { + // Vertical gradient becomes horizontal in rotate90 + // Using the display y values as x in framebuffer! - // Save y-coordinates for the vertical gradient. - // With coord0 lowest y coordinate, coord1 highest - if (start.y < end.y) - { - coord0 = static_cast(start.y); - coord1 = static_cast(end.y); + // Color change over one line + deltaColor = 1023.9999f / (end.y - start.y); + + // Save x-coordinates for the horizontal gradient. + // With x0 lowest x coordinate, x1 highest + if (start.y < end.y) + { + coord0 = static_cast(start.y); + coord1 = static_cast(end.y); + } + else + { + coord0 = static_cast(end.y); + coord1 = static_cast(start.y); + } + horizontalDistance = static_cast(coord1 - coord0); + isVertical = false; + isHorizontal = true; + return; } - else + if (isHorizontal) { - coord0 = static_cast(end.y); - coord1 = static_cast(start.y); + // Horizontal gradient becomes vertical in rotate90 + // Using the display x as y in framebuffer + + const float endx = widgetWidth - end.x; + const float startx = widgetWidth - start.x; + // Color change over one line + deltaColor = 1023.9999f / (endx - startx); + + // Save y-coordinates for the vertical gradient. + // With coord0 lowest y coordinate, coord1 highest + if (startx < endx) + { + coord0 = static_cast(startx); + coord1 = static_cast(endx); + } + else + { + coord0 = static_cast(endx); + coord1 = static_cast(startx); + } + isVertical = true; + isHorizontal = false; + return; } } - else if (isHorizontal) + else { - // Color change over one line - deltaColor = 1023.9999f / (end.x - start.x); + if (isVertical) + { + // Color change over one line + deltaColor = 1023.9999f / (end.y - start.y); - // Save x-coordinates for the horizontal gradient. - // With x0 lowest x coordinate, x1 highest - if (start.x < end.x) - { - coord0 = static_cast(start.x); - coord1 = static_cast(end.x); + // Save y-coordinates for the vertical gradient. + // With coord0 lowest y coordinate, coord1 highest + if (start.y < end.y) + { + coord0 = static_cast(start.y); + coord1 = static_cast(end.y); + } + else + { + coord0 = static_cast(end.y); + coord1 = static_cast(start.y); + } } - else + else if (isHorizontal) { - coord0 = static_cast(end.x); - coord1 = static_cast(start.x); + // Color change over one line + deltaColor = 1023.9999f / (end.x - start.x); + + // Save x-coordinates for the horizontal gradient. + // With x0 lowest x coordinate, x1 highest + if (start.x < end.x) + { + coord0 = static_cast(start.x); + coord1 = static_cast(end.x); + } + else + { + coord0 = static_cast(end.x); + coord1 = static_cast(start.x); + } + horizontalDistance = static_cast(coord1 - coord0); } - horizontalDistance = static_cast(coord1 - coord0); } } @@ -180,7 +263,18 @@ public: isSolid = solid; } + /** + * Set the width of the widget using this gradient painter. Used in rotate90 calculations. + * + * @param w Width of the widget in pixels. + */ + void setWidgetWidth(int16_t w) + { + widgetWidth = w; + } + protected: + int16_t widgetWidth; ///< Width of widget, used in rotate90 int16_t coord0; ///< The gradient line start. int16_t coord1; ///< The gradient line end. const uint32_t* texture; ///< The gradient color texture 1 x 1024. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterRGB565.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterRGB565.hpp index ca2d88b..f2f8448 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterRGB565.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterRGB565.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterRGB888.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterRGB888.hpp index 607f3f0..ee49ca3 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterRGB888.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterRGB888.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterRGBA2222.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterRGBA2222.hpp index ee439a0..a0a653f 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterRGBA2222.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainterRGBA2222.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractShape.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractShape.hpp index 8f9a966..8601739 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractShape.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractShape.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/CWRUtil.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/CWRUtil.hpp index 7d83074..10c38e2 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/CWRUtil.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/CWRUtil.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. @@ -513,7 +513,7 @@ struct CWRUtil #endif static Q5 toQ5(T value) { - return Q5((int)(value * Rasterizer::POLY_BASE_SIZE)); + return Q5((int)(value * (int)Rasterizer::POLY_BASE_SIZE)); } /** @@ -534,7 +534,7 @@ struct CWRUtil #endif static Q10 toQ10(T value) { - return Q10((int)(value * Rasterizer::POLY_BASE_SIZE * Rasterizer::POLY_BASE_SIZE)); + return Q10((int)(value * (int)Rasterizer::POLY_BASE_SIZE * (int)Rasterizer::POLY_BASE_SIZE)); } /** diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/CWRVectorRenderer.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/CWRVectorRenderer.hpp index 3c33feb..3f0acb1 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/CWRVectorRenderer.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/CWRVectorRenderer.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/Canvas.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/Canvas.hpp index d10b608..e616d92 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/Canvas.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/Canvas.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/CanvasWidget.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/CanvasWidget.hpp index 53e3aa9..93054a9 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/CanvasWidget.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/CanvasWidget.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/Circle.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/Circle.hpp index 87b9f61..51daf7a 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/Circle.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/Circle.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/Line.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/Line.hpp index d4e54ee..3d2e4e7 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/Line.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/Line.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterABGR2222.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterABGR2222.hpp index a8a8f3b..713b6bd 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterABGR2222.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterABGR2222.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterABGR2222Bitmap.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterABGR2222Bitmap.hpp index b64d264..25573e3 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterABGR2222Bitmap.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterABGR2222Bitmap.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterARGB2222.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterARGB2222.hpp index eb643f3..23d0fff 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterARGB2222.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterARGB2222.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterARGB2222Bitmap.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterARGB2222Bitmap.hpp index 1aa91b0..bf80613 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterARGB2222Bitmap.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterARGB2222Bitmap.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterARGB8888.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterARGB8888.hpp index 17697b1..85873a4 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterARGB8888.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterARGB8888.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterARGB8888Bitmap.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterARGB8888Bitmap.hpp index b1a4ba1..15d263b 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterARGB8888Bitmap.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterARGB8888Bitmap.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterARGB8888L8Bitmap.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterARGB8888L8Bitmap.hpp index 91f38c9..d1e5d9d 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterARGB8888L8Bitmap.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterARGB8888L8Bitmap.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterARGB8888LinearGradient.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterARGB8888LinearGradient.hpp index 0ba8503..e7e139a 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterARGB8888LinearGradient.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterARGB8888LinearGradient.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterBGRA2222.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterBGRA2222.hpp index ce83fc3..ba0c967 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterBGRA2222.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterBGRA2222.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterBGRA2222Bitmap.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterBGRA2222Bitmap.hpp index 39b2d1f..38a2c13 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterBGRA2222Bitmap.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterBGRA2222Bitmap.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterBW.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterBW.hpp index f38c999..e034c85 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterBW.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterBW.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterBWBitmap.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterBWBitmap.hpp index eb0e8a1..8aab6d2 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterBWBitmap.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterBWBitmap.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterGRAY2.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterGRAY2.hpp index 535b503..b37b648 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterGRAY2.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterGRAY2.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterGRAY2Bitmap.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterGRAY2Bitmap.hpp index 08cae12..c0053a1 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterGRAY2Bitmap.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterGRAY2Bitmap.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterGRAY4.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterGRAY4.hpp index 541bd1e..c831771 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterGRAY4.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterGRAY4.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterGRAY4Bitmap.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterGRAY4Bitmap.hpp index 226df45..c7dc5eb 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterGRAY4Bitmap.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterGRAY4Bitmap.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGB565.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGB565.hpp index e220500..d69cc0d 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGB565.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGB565.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGB565Bitmap.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGB565Bitmap.hpp index c0c78bb..b0235e6 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGB565Bitmap.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGB565Bitmap.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGB565L8Bitmap.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGB565L8Bitmap.hpp index 6df20c7..e35f0f4 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGB565L8Bitmap.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGB565L8Bitmap.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGB565LinearGradient.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGB565LinearGradient.hpp index c471459..dbd650e 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGB565LinearGradient.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGB565LinearGradient.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGB888.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGB888.hpp index db67235..8e5b64f 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGB888.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGB888.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGB888Bitmap.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGB888Bitmap.hpp index 904038e..6aa57fb 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGB888Bitmap.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGB888Bitmap.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGB888L8Bitmap.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGB888L8Bitmap.hpp index 553ac83..a5d96c5 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGB888L8Bitmap.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGB888L8Bitmap.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGB888LinearGradient.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGB888LinearGradient.hpp index 84128f0..654507f 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGB888LinearGradient.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGB888LinearGradient.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGBA2222.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGBA2222.hpp index e7b61cd..a6a5a2e 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGBA2222.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGBA2222.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGBA2222Bitmap.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGBA2222Bitmap.hpp index bab9dc8..fe29096 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGBA2222Bitmap.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterRGBA2222Bitmap.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterXRGB8888.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterXRGB8888.hpp index c999a5e..0a7c0d0 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterXRGB8888.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterXRGB8888.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterXRGB8888Bitmap.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterXRGB8888Bitmap.hpp index 645e268..546f47a 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterXRGB8888Bitmap.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterXRGB8888Bitmap.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterXRGB8888L8Bitmap.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterXRGB8888L8Bitmap.hpp index 4bdf537..1dd8980 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterXRGB8888L8Bitmap.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/PainterXRGB8888L8Bitmap.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/Shape.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/Shape.hpp index b31aa44..6e4f4c3 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/Shape.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/Shape.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/graph/AbstractDataGraph.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/graph/AbstractDataGraph.hpp index 3ff9651..3258116 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/graph/AbstractDataGraph.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/graph/AbstractDataGraph.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/graph/Graph.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/graph/Graph.hpp index fc11a46..e857c45 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/graph/Graph.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/graph/Graph.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/graph/GraphElements.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/graph/GraphElements.hpp index 5ee94ce..bed519c 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/graph/GraphElements.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/graph/GraphElements.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/graph/GraphLabels.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/graph/GraphLabels.hpp index 1cf190e..45f893e 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/graph/GraphLabels.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/graph/GraphLabels.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/graph/GraphScroll.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/graph/GraphScroll.hpp index bba7a02..52f196c 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/graph/GraphScroll.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/graph/GraphScroll.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/graph/GraphWrapAndClear.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/graph/GraphWrapAndClear.hpp index 4ffa929..851b9f5 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/graph/GraphWrapAndClear.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/graph/GraphWrapAndClear.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/graph/GraphWrapAndOverwrite.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/graph/GraphWrapAndOverwrite.hpp index 00b578a..0f9ce22 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/graph/GraphWrapAndOverwrite.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/graph/GraphWrapAndOverwrite.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/utils/qrcodegen.hpp b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/utils/qrcodegen.hpp index 5648bcc..d897394 100644 --- a/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/utils/qrcodegen.hpp +++ b/Software/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/utils/qrcodegen.hpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/platform/driver/touch/SDL2TouchController.cpp b/Software/Middlewares/ST/touchgfx/framework/source/platform/driver/touch/SDL2TouchController.cpp index 792694f..cfd0e59 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/platform/driver/touch/SDL2TouchController.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/platform/driver/touch/SDL2TouchController.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/platform/hal/simulator/sdl2/HALSDL2.cpp b/Software/Middlewares/ST/touchgfx/framework/source/platform/hal/simulator/sdl2/HALSDL2.cpp index 70d1357..020f6f3 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/platform/hal/simulator/sdl2/HALSDL2.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/platform/hal/simulator/sdl2/HALSDL2.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. @@ -791,6 +791,16 @@ void HALSDL2::recreateWindow(bool updateContent /*= true*/) SDL_DestroyRenderer(simulatorRenderer); SDL_DestroyWindow(simulatorWindow); } + // Truncate window coordinates to fit on screen + const int TOPBAR_MARGIN_PIXELS = 50; + if (windowY < TOPBAR_MARGIN_PIXELS) + { + windowY = TOPBAR_MARGIN_PIXELS; // Adjust for height of top bar + } + if (windowX < 0) + { + windowX = 0; + } int width = DISPLAY_WIDTH; int height = DISPLAY_HEIGHT; if (isSkinActive && currentSkin != 0) diff --git a/Software/Middlewares/ST/touchgfx/framework/source/platform/hal/simulator/sdl2/HALSDL2_icon.cpp b/Software/Middlewares/ST/touchgfx/framework/source/platform/hal/simulator/sdl2/HALSDL2_icon.cpp index b88acc7..38e70a5 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/platform/hal/simulator/sdl2/HALSDL2_icon.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/platform/hal/simulator/sdl2/HALSDL2_icon.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/platform/hal/simulator/sdl2/OSWrappers.cpp b/Software/Middlewares/ST/touchgfx/framework/source/platform/hal/simulator/sdl2/OSWrappers.cpp index 95a6141..6371e07 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/platform/hal/simulator/sdl2/OSWrappers.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/platform/hal/simulator/sdl2/OSWrappers.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/CacheableContainer.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/CacheableContainer.cpp index 5c44e2d..818aafd 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/CacheableContainer.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/CacheableContainer.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/Container.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/Container.cpp index 8edad62..d8cbd07 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/Container.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/Container.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/ListLayout.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/ListLayout.cpp index a9ec9ff..1019838 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/ListLayout.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/ListLayout.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/ModalWindow.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/ModalWindow.cpp index 2628ae3..f135520 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/ModalWindow.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/ModalWindow.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/ScrollableContainer.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/ScrollableContainer.cpp index 7a6cfb5..d7be822 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/ScrollableContainer.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/ScrollableContainer.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/SlideMenu.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/SlideMenu.cpp index aa2dfe2..4f1d94d 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/SlideMenu.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/SlideMenu.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/Slider.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/Slider.cpp index a2baca4..8c2009e 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/Slider.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/Slider.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/SwipeContainer.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/SwipeContainer.cpp index d319377..64874c7 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/SwipeContainer.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/SwipeContainer.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/ZoomAnimationImage.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/ZoomAnimationImage.cpp index afe1be1..6dcde46 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/ZoomAnimationImage.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/ZoomAnimationImage.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/clock/AbstractClock.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/clock/AbstractClock.cpp index 381ca0c..dc4890b 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/clock/AbstractClock.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/clock/AbstractClock.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/clock/AnalogClock.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/clock/AnalogClock.cpp index c676865..f9309d5 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/clock/AnalogClock.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/clock/AnalogClock.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. @@ -126,26 +126,35 @@ uint8_t AnalogClock::getAlpha() const void AnalogClock::updateClock() { - // Make sure that animating to 0 will move from left to right - if (lastHour != 0 && currentHour == 0) - { - hourHand.updateZAngle(hourHand.getZAngle() - (2 * PI)); - } - if (lastMinute != 0 && currentMinute == 0) - { - minuteHand.updateZAngle(minuteHand.getZAngle() - (2 * PI)); - } - if (lastSecond != 0 && currentSecond == 0) - { - secondHand.updateZAngle(secondHand.getZAngle() - (2 * PI)); - } - float newHandAngle; + float oldHandAngle; + int16_t diff; // Move hour hand - if (hourHand.isVisible() && ((currentHour != lastHour) || (hourHandMinuteCorrectionActive && (currentMinute != lastMinute)))) + if (hourHand.isVisible() && ((currentHour % 12 != lastHour % 12) || (hourHandMinuteCorrectionActive && (currentMinute != lastMinute)))) { - newHandAngle = convertHandValueToAngle(12, currentHour, hourHandMinuteCorrectionActive ? currentMinute : 0); + newHandAngle = convertHandValueToAngle(12, currentHour % 12, hourHandMinuteCorrectionActive ? currentMinute : 0); + + // check if sign of absolute angles difference matches sign of normalized difference of angles + oldHandAngle = hourHand.getZAngle(); + diff = (((int16_t)currentHour - (int16_t)lastHour + 24 + 6) % 12) - 6; + if (diff > 0 && newHandAngle < oldHandAngle) + { + while (newHandAngle < oldHandAngle) // correct old angle to force clockwise rotation + { + oldHandAngle -= (2 * PI); + } + hourHand.updateZAngle(oldHandAngle); + } + else if (diff < 0 && newHandAngle > oldHandAngle) + { + while (newHandAngle > oldHandAngle) // correct old angle to force counterclockwise rotation + { + oldHandAngle += (2 * PI); + } + hourHand.updateZAngle(oldHandAngle); + } + if (animationEnabled() && !hourHand.isTextureMapperAnimationRunning()) { hourHand.setupAnimation(AnimationTextureMapper::Z_ROTATION, newHandAngle, animationDuration, 0, animationEquation); @@ -165,6 +174,27 @@ void AnalogClock::updateClock() if (minuteHand.isVisible() && ((currentMinute != lastMinute) || (minuteHandSecondCorrectionActive && (currentSecond != lastSecond)))) { newHandAngle = convertHandValueToAngle(60, currentMinute, minuteHandSecondCorrectionActive ? currentSecond : 0); + + // check if sign of absolute angles difference matches sign of normalized difference of angles + oldHandAngle = minuteHand.getZAngle(); + diff = (((int16_t)currentMinute - (int16_t)lastMinute + 60 + 30) % 60) - 30; + if (diff > 0 && newHandAngle < oldHandAngle) + { + while (newHandAngle < oldHandAngle) // correct old angle to force clockwise rotation + { + oldHandAngle -= (2 * PI); + } + minuteHand.updateZAngle(oldHandAngle); + } + else if (diff < 0 && newHandAngle > oldHandAngle) + { + while (newHandAngle > oldHandAngle) // correct old angle to force counterclockwise rotation + { + oldHandAngle += (2 * PI); + } + minuteHand.updateZAngle(oldHandAngle); + } + if (animationEnabled() && !minuteHand.isTextureMapperAnimationRunning()) { minuteHand.setupAnimation(AnimationTextureMapper::Z_ROTATION, newHandAngle, animationDuration, 0, animationEquation); @@ -184,6 +214,27 @@ void AnalogClock::updateClock() if (secondHand.isVisible() && (currentSecond != lastSecond)) { newHandAngle = convertHandValueToAngle(60, currentSecond); + + // check if sign of absolute angles difference matches sign of normalized difference of angles + oldHandAngle = secondHand.getZAngle(); + diff = (((int16_t)currentSecond - (int16_t)lastSecond + 60 + 30) % 60) - 30; + if (diff > 0 && newHandAngle < oldHandAngle) + { + while (newHandAngle < oldHandAngle) // correct old angle to force clockwise rotation + { + oldHandAngle -= (2 * PI); + } + secondHand.updateZAngle(oldHandAngle); + } + else if (diff < 0 && newHandAngle > oldHandAngle) + { + while (newHandAngle > oldHandAngle) // correct old angle to force counterclockwise rotation + { + oldHandAngle += (2 * PI); + } + secondHand.updateZAngle(oldHandAngle); + } + if (animationEnabled() && !secondHand.isTextureMapperAnimationRunning()) { secondHand.setupAnimation(AnimationTextureMapper::Z_ROTATION, newHandAngle, animationDuration, 0, animationEquation); diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/clock/DigitalClock.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/clock/DigitalClock.cpp index b4912ca..f54c76b 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/clock/DigitalClock.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/clock/DigitalClock.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/progress_indicators/AbstractDirectionProgress.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/progress_indicators/AbstractDirectionProgress.cpp index 77e8a8a..3222dec 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/progress_indicators/AbstractDirectionProgress.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/progress_indicators/AbstractDirectionProgress.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/progress_indicators/AbstractProgressIndicator.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/progress_indicators/AbstractProgressIndicator.cpp index 57c7d63..f5e0a05 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/progress_indicators/AbstractProgressIndicator.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/progress_indicators/AbstractProgressIndicator.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/progress_indicators/BoxProgress.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/progress_indicators/BoxProgress.cpp index 736a7bc..60b3d7d 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/progress_indicators/BoxProgress.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/progress_indicators/BoxProgress.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/progress_indicators/CircleProgress.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/progress_indicators/CircleProgress.cpp index a185702..7f299e1 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/progress_indicators/CircleProgress.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/progress_indicators/CircleProgress.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/progress_indicators/ImageProgress.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/progress_indicators/ImageProgress.cpp index d04ef72..a427991 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/progress_indicators/ImageProgress.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/progress_indicators/ImageProgress.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/progress_indicators/LineProgress.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/progress_indicators/LineProgress.cpp index b0eff42..9fba90a 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/progress_indicators/LineProgress.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/progress_indicators/LineProgress.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/progress_indicators/TextProgress.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/progress_indicators/TextProgress.cpp index bc13d7f..1df911e 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/progress_indicators/TextProgress.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/progress_indicators/TextProgress.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/scrollers/DrawableList.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/scrollers/DrawableList.cpp index 13ac6ce..be43b52 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/scrollers/DrawableList.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/scrollers/DrawableList.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/scrollers/ScrollBase.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/scrollers/ScrollBase.cpp index 0dffcdd..4c5b842 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/scrollers/ScrollBase.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/scrollers/ScrollBase.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/scrollers/ScrollList.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/scrollers/ScrollList.cpp index 3fcc962..876c968 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/scrollers/ScrollList.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/scrollers/ScrollList.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/scrollers/ScrollWheel.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/scrollers/ScrollWheel.cpp index 5ae1bb2..4996c52 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/scrollers/ScrollWheel.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/scrollers/ScrollWheel.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/scrollers/ScrollWheelBase.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/scrollers/ScrollWheelBase.cpp index dca9088..4f7e984 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/scrollers/ScrollWheelBase.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/scrollers/ScrollWheelBase.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/scrollers/ScrollWheelWithSelectionStyle.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/scrollers/ScrollWheelWithSelectionStyle.cpp index 0acb8be..13f073f 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/scrollers/ScrollWheelWithSelectionStyle.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/containers/scrollers/ScrollWheelWithSelectionStyle.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/AbstractButton.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/AbstractButton.cpp index ce30741..34527da 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/AbstractButton.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/AbstractButton.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/AnimatedImage.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/AnimatedImage.cpp index eabf4ca..6c11776 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/AnimatedImage.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/AnimatedImage.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/AnimationTextureMapper.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/AnimationTextureMapper.cpp index 6a069d0..05cdc68 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/AnimationTextureMapper.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/AnimationTextureMapper.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/Box.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/Box.cpp index be2fe7b..e10f064 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/Box.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/Box.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/BoxWithBorder.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/BoxWithBorder.cpp index dd87596..b2f0372 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/BoxWithBorder.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/BoxWithBorder.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/Button.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/Button.cpp index c7d2d94..df530c8 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/Button.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/Button.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/ButtonWithIcon.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/ButtonWithIcon.cpp index 7dd1039..931e570 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/ButtonWithIcon.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/ButtonWithIcon.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/ButtonWithLabel.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/ButtonWithLabel.cpp index 7e90e74..9ed8e5c 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/ButtonWithLabel.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/ButtonWithLabel.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/Gauge.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/Gauge.cpp index 308f84b..de19910 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/Gauge.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/Gauge.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/Image.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/Image.cpp index 2afef3f..284c699 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/Image.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/Image.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/Keyboard.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/Keyboard.cpp index 2ab58f4..99351c5 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/Keyboard.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/Keyboard.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/PixelDataWidget.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/PixelDataWidget.cpp index 6f1f9e5..1c3fa7e 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/PixelDataWidget.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/PixelDataWidget.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/QRCode.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/QRCode.cpp index cc4cc81..4400ecb 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/QRCode.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/QRCode.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/RadioButton.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/RadioButton.cpp index 2fdbd3c..19e8752 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/RadioButton.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/RadioButton.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/RepeatButton.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/RepeatButton.cpp index 2ed822c..ac8a713 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/RepeatButton.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/RepeatButton.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/SVGImage.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/SVGImage.cpp index 1c9b8d9..49d4b1d 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/SVGImage.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/SVGImage.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. @@ -119,10 +119,11 @@ void SVGImage::draw(const Rect& invalidatedArea) const // Skip entire shape if bounding box does not cover invalidatedArea // Find bounding box including stroke width const float strokeWidthHalf = shape->strokeWidth / 2.0f; - const float bb_xMin = shape->boundingbox[0] - strokeWidthHalf; - const float bb_yMin = shape->boundingbox[1] - strokeWidthHalf; - const float bb_xMax = shape->boundingbox[2] + strokeWidthHalf; - const float bb_yMax = shape->boundingbox[3] + strokeWidthHalf; + const float strokeMiterLengthHalf = shape->strokeLineJoin == VG_STROKE_LINEJOIN_MITER ? (shape->strokeWidth * shape->strokeMiterLimit) / 2.0f - strokeWidthHalf : 0.0f; + const float bb_xMin = shape->boundingbox[0] - strokeWidthHalf - strokeMiterLengthHalf; + const float bb_yMin = shape->boundingbox[1] - strokeWidthHalf - strokeMiterLengthHalf; + const float bb_xMax = shape->boundingbox[2] + strokeWidthHalf + strokeMiterLengthHalf; + const float bb_yMax = shape->boundingbox[3] + strokeWidthHalf + strokeMiterLengthHalf; // Transform bounding box corners const Matrix3x3::Point p1 = shapeMatrix.affineTransform(bb_xMin, bb_yMin); const Matrix3x3::Point p2 = shapeMatrix.affineTransform(bb_xMin, bb_yMax); diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/ScalableImage.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/ScalableImage.cpp index 1d4c0fd..e08e76b 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/ScalableImage.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/ScalableImage.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/SnapshotWidget.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/SnapshotWidget.cpp index 70d6105..3b73db1 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/SnapshotWidget.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/SnapshotWidget.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/TextArea.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/TextArea.cpp index f997c33..45697fd 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/TextArea.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/TextArea.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/TextAreaWithWildcard.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/TextAreaWithWildcard.cpp index 4e37a02..3204e75 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/TextAreaWithWildcard.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/TextAreaWithWildcard.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/TextureMapper.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/TextureMapper.cpp index bcd9fb6..dff6e01 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/TextureMapper.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/TextureMapper.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. @@ -289,7 +289,7 @@ void TextureMapper::drawQuad(const Rect& invalidatedArea, uint16_t* fb, const fl Rect dirtyArea = Rect(0, 0, getWidth(), getHeight()) & invalidatedArea; // Absolute position of the TextureMapper. - Rect dirtyAreaAbsolute = dirtyArea; + Rect dirtyAreaAbsolute = dirtyArea & getBoundingRect(); translateRectToAbsolute(dirtyAreaAbsolute); Rect absoluteRect = getAbsoluteRect(); diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/TiledImage.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/TiledImage.cpp index 3515158..021f626 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/TiledImage.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/TiledImage.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/ToggleButton.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/ToggleButton.cpp index 8b62c56..647f8ed 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/ToggleButton.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/ToggleButton.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/TouchArea.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/TouchArea.cpp index ac5cb72..e0f3ba9 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/TouchArea.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/TouchArea.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/VideoWidget.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/VideoWidget.cpp index 30c7329..448e7b6 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/VideoWidget.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/VideoWidget.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. @@ -117,12 +117,20 @@ void VideoWidget::draw(const Rect& invalidatedArea) const // If we have a buffer, draw that if (buffer != 0) { - // Limit to buffer size - invVideoRect &= Rect(0, 0, bufferWidth, bufferHeight); - - // Convert to lcd coordinates. Width is buffer stride. + // Convert to lcd coordinates. Rect absolute = getAbsoluteRect(); - absolute.width = bufferWidth; + invVideoRect &= Rect(0, 0, bufferWidth, bufferHeight); + // Width is buffer stride in rotate0, and Height is buffer stride in rotate90. + if (HAL::DISPLAY_ROTATION == rotate90) + { + // Limit to buffer size + absolute.height = bufferWidth; + } + else + { + // Limit to buffer size + absolute.width = bufferWidth; + } // Copy to LCD, always solid HAL::lcd().blitCopy(buffer, format, absolute, invVideoRect, 255, false); } diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/AbstractShape.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/AbstractShape.cpp index ce4a24b..ff61f45 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/AbstractShape.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/AbstractShape.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/CWRVectorRenderer.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/CWRVectorRenderer.cpp index f2943db..fded303 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/CWRVectorRenderer.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/CWRVectorRenderer.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. @@ -11,6 +11,7 @@ *******************************************************************************/ #include +#include #include namespace touchgfx @@ -54,23 +55,78 @@ void CWRVectorRenderer::drawPath(const uint8_t* cmds, uint32_t nCmds, const floa return; } - const int16_t bottom = area.bottom(); - while (area.y < bottom) + switch (HAL::DISPLAY_ROTATION) { - while (!drawPathArea(cmds, nCmds, points, nPoints, area)) + case rotate0: { - if (area.height == 1) + const int16_t bottom = area.bottom(); + while (area.y < bottom) { - // Failed on a single line - break; + while (!drawPathArea(cmds, nCmds, points, nPoints, area)) + { + if (area.height == 1) + { + // Failed on a single line + break; + } + area.height = (area.height + 1) >> 1; +#ifdef SIMULATOR + if (CanvasWidgetRenderer::getWriteMemoryUsageReport()) + { + if (area.height > 1) + { + touchgfx_printf("CWR will split draw into multiple draws due to limited memory.\n"); + } + else + { + touchgfx_printf("CWR was unable to complete a draw operation due to limited memory.\n"); + } + } +#endif + } + area.y += area.height; + if (area.bottom() > bottom) + { + area.height = bottom - area.y; + } } - area.height = (area.height + 1) >> 1; // Cannot become 0 as (2+1)>>1=1 } - area.y += area.height; - if (area.bottom() > bottom) + break; + case rotate90: { - area.height = bottom - area.y; + const int16_t right = area.right(); + while (area.x < right) + { + while (!drawPathArea(cmds, nCmds, points, nPoints, area)) + { + if (area.width == 1) + { + // Failed on a single line + break; + } + area.width = (area.width + 1) >> 1; +#ifdef SIMULATOR + if (CanvasWidgetRenderer::getWriteMemoryUsageReport()) + { + if (area.width > 1) + { + touchgfx_printf("CWR will split draw into multiple draws due to limited memory.\n"); + } + else + { + touchgfx_printf("CWR was unable to complete a draw operation due to limited memory.\n"); + } + } +#endif + } + area.x += area.width; + if (area.right() > right) + { + area.width = right - area.x; + } + } } + break; } } @@ -440,6 +496,7 @@ void CWRVectorRenderer::setLinearGradient(float x0, float y0, float x1, float y1 colorAlpha = 255; AbstractPainterLinearGradient& linearPainter = getLinearPainter(); + linearPainter.setWidgetWidth(canvasAreaAbsolute.width); linearPainter.setGradientEndPoints(x0, y0, x1, y1, width, height, matrix); assert(palette && "A gradient palette is required by CWRVectorRenderer"); linearPainter.setGradientTexture(palette, isSolid); diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/Canvas.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/Canvas.cpp index f874a5d..4f1a91a 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/Canvas.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/Canvas.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/CanvasWidget.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/CanvasWidget.cpp index 7866a29..dcc2ad2 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/CanvasWidget.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/CanvasWidget.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/Circle.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/Circle.cpp index 31d99c6..1f243dd 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/Circle.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/Circle.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/Line.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/Line.cpp index 32bddee..dcbccf7 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/Line.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/Line.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterABGR2222.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterABGR2222.cpp index f9ab3ec..f6a6a81 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterABGR2222.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterABGR2222.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterABGR2222Bitmap.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterABGR2222Bitmap.cpp index ff2459a..01a93b1 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterABGR2222Bitmap.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterABGR2222Bitmap.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterARGB2222.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterARGB2222.cpp index 2938165..cd325fd 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterARGB2222.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterARGB2222.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterARGB2222Bitmap.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterARGB2222Bitmap.cpp index 825a339..1bd8b9e 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterARGB2222Bitmap.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterARGB2222Bitmap.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterARGB8888.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterARGB8888.cpp index f631171..b4402b0 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterARGB8888.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterARGB8888.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterARGB8888Bitmap.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterARGB8888Bitmap.cpp index d864a25..8ff09f1 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterARGB8888Bitmap.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterARGB8888Bitmap.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterARGB8888L8Bitmap.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterARGB8888L8Bitmap.cpp index 775ad97..a9c6f12 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterARGB8888L8Bitmap.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterARGB8888L8Bitmap.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterARGB8888LinearGradient.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterARGB8888LinearGradient.cpp index ce070f5..ad0212e 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterARGB8888LinearGradient.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterARGB8888LinearGradient.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterBGRA2222.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterBGRA2222.cpp index 3a400d3..2eeaf0f 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterBGRA2222.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterBGRA2222.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterBGRA2222Bitmap.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterBGRA2222Bitmap.cpp index aca616a..9496c89 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterBGRA2222Bitmap.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterBGRA2222Bitmap.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterBW.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterBW.cpp index b9b2561..f8fa348 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterBW.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterBW.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterBWBitmap.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterBWBitmap.cpp index 7f63134..f455b50 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterBWBitmap.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterBWBitmap.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterGRAY2.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterGRAY2.cpp index e112896..d60fca7 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterGRAY2.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterGRAY2.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterGRAY2Bitmap.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterGRAY2Bitmap.cpp index cfcd39e..ab27474 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterGRAY2Bitmap.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterGRAY2Bitmap.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterGRAY4.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterGRAY4.cpp index 375375a..cead843 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterGRAY4.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterGRAY4.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterGRAY4Bitmap.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterGRAY4Bitmap.cpp index a6bc253..0e516cc 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterGRAY4Bitmap.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterGRAY4Bitmap.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGB565.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGB565.cpp index b1e9325..d8086f1 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGB565.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGB565.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGB565Bitmap.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGB565Bitmap.cpp index b096d44..f30a7d3 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGB565Bitmap.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGB565Bitmap.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGB565L8Bitmap.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGB565L8Bitmap.cpp index 18bc9f2..1e7500f 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGB565L8Bitmap.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGB565L8Bitmap.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGB565LinearGradient.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGB565LinearGradient.cpp index 65ed1ba..36731ac 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGB565LinearGradient.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGB565LinearGradient.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGB888.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGB888.cpp index 3f04d55..724e01d 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGB888.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGB888.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGB888Bitmap.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGB888Bitmap.cpp index 40496fa..42dab42 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGB888Bitmap.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGB888Bitmap.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGB888L8Bitmap.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGB888L8Bitmap.cpp index b8c5417..4441167 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGB888L8Bitmap.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGB888L8Bitmap.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGB888LinearGradient.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGB888LinearGradient.cpp index 46c5861..8cc07a7 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGB888LinearGradient.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGB888LinearGradient.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGBA2222.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGBA2222.cpp index e074e57..7a166eb 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGBA2222.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGBA2222.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGBA2222Bitmap.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGBA2222Bitmap.cpp index 9ecaeb4..f2a1e13 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGBA2222Bitmap.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterRGBA2222Bitmap.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterXRGB8888.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterXRGB8888.cpp index 8663cde..d74710f 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterXRGB8888.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterXRGB8888.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterXRGB8888Bitmap.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterXRGB8888Bitmap.cpp index b885fd9..e60c50f 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterXRGB8888Bitmap.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterXRGB8888Bitmap.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterXRGB8888L8Bitmap.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterXRGB8888L8Bitmap.cpp index 92098dc..c226003 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterXRGB8888L8Bitmap.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/canvas/PainterXRGB8888L8Bitmap.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/graph/AbstractDataGraph.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/graph/AbstractDataGraph.cpp index c0d787d..452a538 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/graph/AbstractDataGraph.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/graph/AbstractDataGraph.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/graph/Graph.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/graph/Graph.cpp index 9257eaa..1445d8f 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/graph/Graph.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/graph/Graph.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/graph/GraphElements.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/graph/GraphElements.cpp index ea420fd..1ad0b78 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/graph/GraphElements.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/graph/GraphElements.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/graph/GraphLabels.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/graph/GraphLabels.cpp index 6e0132e..06cefff 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/graph/GraphLabels.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/graph/GraphLabels.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/graph/GraphScroll.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/graph/GraphScroll.cpp index d087dc9..0f04243 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/graph/GraphScroll.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/graph/GraphScroll.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. @@ -19,6 +19,7 @@ void GraphScrollData::clear() { DynamicDataGraph::clear(); current = 0; + dataCounter = 0; // Restart X-axis numbering } int32_t GraphScrollData::indexToGlobalIndex(int16_t index) const diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/graph/GraphWrapAndClear.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/graph/GraphWrapAndClear.cpp index 3ce9c47..de8dc9b 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/graph/GraphWrapAndClear.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/graph/GraphWrapAndClear.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/graph/GraphWrapAndOverwrite.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/graph/GraphWrapAndOverwrite.cpp index f871961..b9f7b10 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/graph/GraphWrapAndOverwrite.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/graph/GraphWrapAndOverwrite.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/utils/qrcodegen.cpp b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/utils/qrcodegen.cpp index a850c91..e2fdadf 100644 --- a/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/utils/qrcodegen.cpp +++ b/Software/Middlewares/ST/touchgfx/framework/source/touchgfx/widgets/utils/qrcodegen.cpp @@ -1,8 +1,8 @@ /****************************************************************************** -* Copyright (c) 2018(-2024) STMicroelectronics. +* Copyright (c) 2018(-2025) STMicroelectronics. * All rights reserved. * -* This file is part of the TouchGFX 4.24.2 distribution. +* This file is part of the TouchGFX 4.25.0 distribution. * * This software is licensed under terms that can be found in the LICENSE file in * the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/fontconvert/build/linux/fontconvert.out b/Software/Middlewares/ST/touchgfx/framework/tools/fontconvert/build/linux/fontconvert.out index 82358de..7e4d81f 100644 Binary files a/Software/Middlewares/ST/touchgfx/framework/tools/fontconvert/build/linux/fontconvert.out and b/Software/Middlewares/ST/touchgfx/framework/tools/fontconvert/build/linux/fontconvert.out differ diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/fontconvert/build/win/fontconvert.out b/Software/Middlewares/ST/touchgfx/framework/tools/fontconvert/build/win/fontconvert.out index 06aaa98..0b6a4a1 100644 Binary files a/Software/Middlewares/ST/touchgfx/framework/tools/fontconvert/build/win/fontconvert.out and b/Software/Middlewares/ST/touchgfx/framework/tools/fontconvert/build/win/fontconvert.out differ diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/imageconvert/build/linux/imageconvert.out b/Software/Middlewares/ST/touchgfx/framework/tools/imageconvert/build/linux/imageconvert.out index 5b18760..e75cf64 100644 Binary files a/Software/Middlewares/ST/touchgfx/framework/tools/imageconvert/build/linux/imageconvert.out and b/Software/Middlewares/ST/touchgfx/framework/tools/imageconvert/build/linux/imageconvert.out differ diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/imageconvert/build/msvs/ImageConvert.exe b/Software/Middlewares/ST/touchgfx/framework/tools/imageconvert/build/msvs/ImageConvert.exe index 708721f..dfa7ca0 100644 Binary files a/Software/Middlewares/ST/touchgfx/framework/tools/imageconvert/build/msvs/ImageConvert.exe and b/Software/Middlewares/ST/touchgfx/framework/tools/imageconvert/build/msvs/ImageConvert.exe differ diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/imageconvert/build/win/imageconvert.out b/Software/Middlewares/ST/touchgfx/framework/tools/imageconvert/build/win/imageconvert.out index 708721f..dfa7ca0 100644 Binary files a/Software/Middlewares/ST/touchgfx/framework/tools/imageconvert/build/win/imageconvert.out and b/Software/Middlewares/ST/touchgfx/framework/tools/imageconvert/build/win/imageconvert.out differ diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/CompressedFontCache.cpp.temp b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/CompressedFontCache.cpp.temp new file mode 100644 index 0000000..5db7ee1 --- /dev/null +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/CompressedFontCache.cpp.temp @@ -0,0 +1,183 @@ +/* DO NOT EDIT THIS FILE */ +/* This file is autogenerated by the text-database code generator */ + +#include +#include +#include + +namespace touchgfx +{ +LOCATION_PRAGMA_32("TouchGFX_CompressedFontCache") +uint32_t CompressedFontCache::bitmapFontCache[cacheWords] LOCATION_ATTRIBUTE_32("TouchGFX_CompressedFontCache"); +uint8_t* CompressedFontCache::pixelsTop = (uint8_t*)CompressedFontCache::bitmapFontCache; +int CompressedFontCache::glyphsAllocated = 0; +int CompressedFontCache::cacheClearCounter = 0; + +namespace +{ +/* Read nibbles from a compressed data array */ +struct NibReader +{ + NibReader(const uint8_t* buffer) + : buffer(buffer), byteIndex(0), low(true) + {} + + const uint8_t* buffer; + int byteIndex; + bool low; + uint8_t getNext() + { + if (low) + { + const uint8_t val = buffer[byteIndex] & 0xF; + low = false; + return val; + } + const uint8_t val = buffer[byteIndex] >> 4; + low = true; + byteIndex++; + return val; + } +}; + +struct NibWriter +{ + NibWriter(uint8_t* buffer, int size) + : buffer(buffer), bufferEnd(buffer + size), low(true) {} + + uint8_t* buffer; + uint8_t* bufferEnd; + int low; + void put(uint8_t v) + { + if (low) + { + *buffer = v; + low = false; + return; + } + *buffer |= (v << 4); + buffer++; + low = true; + } + bool eof() { return buffer >= bufferEnd; } +}; +} // anonymous namespace + +uint8_t* CompressedFontCache::decompressGlyph(uint8_t* pixelsTop, const GlyphNode* glyphNode, const uint8_t* compressedData) +{ + const int byteSize = (glyphNode->width() + 1) / 2 * glyphNode->height(); + NibWriter writer(pixelsTop, byteSize); + NibReader reader(compressedData); + uint8_t* const pixelsEnd = pixelsTop + byteSize; + const int algorithm = glyphNode->dataOffset >> 30; + if (algorithm == 1) + { + // RLE1 + while (!writer.eof()) + { + const uint8_t value = reader.getNext(); + if (value == 0) + { + int zeroCount = reader.getNext(); + while (zeroCount) + { + writer.put(0); + zeroCount--; + } + } + writer.put(value); + } + } + else if (algorithm == 2) + { + // RLE2 + while (!writer.eof()) + { + const uint8_t value = reader.getNext(); + if (value == 0 || value == 0xF) + { + int count = reader.getNext(); + while (count) + { + writer.put(value); + count--; + } + } + writer.put(value); + } + } + else + { + // Uncompressed + while (pixelsTop < pixelsEnd) + { + *pixelsTop++ = *compressedData++; + } + } + + return pixelsEnd; +} + +void CompressedFontCache::clearCache() +{ + // Wait for DMA2D/GPU2D to finish drawing + HAL::getInstance()->lockUnlockFrameBuffer(); + glyphsAllocated = 0; + cacheClearCounter++; + pixelsTop = (uint8_t*)bitmapFontCache; +} + +void CompressedFontCache::unableToCache(const GlyphNode* glyphNode, int byteSize) +{ + while(1); +} + +const uint8_t* CompressedFontCache::hasCachedGlyph(const GlyphNode* glyphNode) +{ + const BitmapFontCacheKey* end = (const BitmapFontCacheKey*)&bitmapFontCache[cacheWords]; + const BitmapFontCacheKey* first = end - glyphsAllocated; + while (first < end) + { + if (first->glyphNode == glyphNode) + { + return first->pixels; + } + first++; + } + return 0; +} + +const uint8_t* CompressedFontCache::cacheGlyph(const GlyphNode* glyph, const uint8_t* compressedData) +{ + const int byteSize = (glyph->width() + 1) / 2 * glyph->height(); + if (byteSize + 8 > cacheSizeBytes) + { + unableToCache(glyph, byteSize); + return 0; + } + const BitmapFontCacheKey* end = (const BitmapFontCacheKey*)&bitmapFontCache[cacheWords]; + if (pixelsTop + byteSize + 8 > (const uint8_t*)&end[-glyphsAllocated]) + { + // Unable to fit glyph in data, clear cache + clearCache(); + } + + const uint8_t* glyphData = pixelsTop; + pixelsTop = decompressGlyph(pixelsTop, glyph, compressedData); + + // Flush the cache lines, must be 32byte aligned + uint8_t* rowStart = reinterpret_cast(reinterpret_cast(glyphData) & ~0x1F); + int alignmentOffset = glyphData - rowStart; + paint::flushLine((uint32_t*)rowStart, byteSize + alignmentOffset); + paint::invalidateTextureCache(); + + glyphsAllocated++; + + BitmapFontCacheKey* key = const_cast(end - glyphsAllocated); + key->glyphNode = glyph; + key->pixels = glyphData; + + return glyphData; +} +} // namespace touchgfx diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/CompressedFontCache.hpp.temp b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/CompressedFontCache.hpp.temp new file mode 100644 index 0000000..ec04589 --- /dev/null +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/CompressedFontCache.hpp.temp @@ -0,0 +1,42 @@ +/* DO NOT EDIT THIS FILE */ +/* This file is autogenerated by the text-database code generator */ + +#ifndef TOUCHGFX_COMPRESSEDFONTCACHE_HPP +#define TOUCHGFX_COMPRESSEDFONTCACHE_HPP + +#include +#include + +namespace touchgfx +{ +class CompressedFontCache +{ +public: + static void clearCache(); + static const uint8_t* hasCachedGlyph(const GlyphNode* glyphNode); + static void unableToCache(const GlyphNode* glyphNode, int byteSize); + static const uint8_t* cacheGlyph(const GlyphNode* glyph, const uint8_t* compressedData); + static int usedMemory() + { + return pixelsTop - (uint8_t*)bitmapFontCache + glyphsAllocated * sizeof(BitmapFontCacheKey); + } + + static int cacheClearCounter; +private: + static uint8_t* decompressGlyph(uint8_t* pixelsTop, const GlyphNode* glyphNode, const uint8_t* compressedData); + + struct BitmapFontCacheKey + { + const void* glyphNode; + const uint8_t* pixels; + }; + + static const int cacheSizeBytes = <%= get_cache_size %>; + static const int cacheWords = (cacheSizeBytes + 3) / 4; + static uint32_t bitmapFontCache[cacheWords]; + static uint8_t* pixelsTop; + static int glyphsAllocated; +}; +} // namespace touchgfx + +#endif // TOUCHGFX_COMPRESSEDFONTCACHE_HPP diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/CompressedUnmappedFontCache.cpp.temp b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/CompressedUnmappedFontCache.cpp.temp new file mode 100644 index 0000000..4149850 --- /dev/null +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/CompressedUnmappedFontCache.cpp.temp @@ -0,0 +1,263 @@ +/* DO NOT EDIT THIS FILE */ +/* This file is autogenerated by the text-database code generator */ + +#include +#include +#include + +namespace touchgfx +{ +LOCATION_PRAGMA_32("TouchGFX_CompressedUnmappedFontCache") +uint32_t CompressedUnmappedFontCache::bitmapFontCache[cacheWords] LOCATION_ATTRIBUTE_32("TouchGFX_CompressedUnmappedFontCache"); +uint8_t* CompressedUnmappedFontCache::pixelsTop = (uint8_t*)CompressedUnmappedFontCache::bitmapFontCache; +int CompressedUnmappedFontCache::glyphsAllocated = 0; +int CompressedUnmappedFontCache::cacheClearCounter = 0; + +namespace +{ +/* Read nibbles from compressed data in unmapped flash. Must read through reader object */ +struct NibUnmapReader +{ + NibUnmapReader(const uint8_t* srcAddress, touchgfx::FlashDataReader* reader) + : address(srcAddress), reader(reader), byteIndex(0), low(true) + { + address += bufferSize; + reader->copyData(srcAddress, buffer, sizeof(buffer)); + } + + const uint8_t* address; //next reading address + touchgfx::FlashDataReader* reader; + static const int bufferSize = 16; + uint8_t buffer[bufferSize]; + uint8_t value; + int byteIndex; + bool low; + uint8_t getNext() + { + if (low) + { + value = buffer[byteIndex]; + const uint8_t val = value & 0xF; + low = false; + return val; + } + const uint8_t val = value >> 4; + low = true; + if (byteIndex == bufferSize - 1) + { + reader->copyData(address, buffer, bufferSize); + address += bufferSize; + byteIndex = 0; + } + else + { + byteIndex++; + } + + return val; + } +}; + +struct NibWriter +{ + NibWriter(uint8_t* buffer, int size) + : buffer(buffer), bufferEnd(buffer + size), low(true) {} + + uint8_t* buffer; + uint8_t* bufferEnd; + int low; + void put(uint8_t v) + { + if (low) + { + *buffer = v; + low = false; + return; + } + *buffer |= (v << 4); + buffer++; + low = true; + } + bool eof() { return buffer >= bufferEnd; } +}; +} // anonymous namespace + +uint8_t* CompressedUnmappedFontCache::decompressGlyph(uint8_t* pixelsTop, const GlyphNode* glyphNode, const uint8_t* compressedData, touchgfx::FlashDataReader* flashReader) +{ + const int byteSize = (glyphNode->width() + 1) / 2 * glyphNode->height(); + NibWriter writer(pixelsTop, byteSize); + NibUnmapReader reader(compressedData, flashReader); + uint8_t* const pixelsEnd = pixelsTop + byteSize; + const int algorithm = glyphNode->dataOffset >> 30; + if (algorithm == 1) + { + // RLE1 + while (!writer.eof()) + { + const uint8_t value = reader.getNext(); + if (value == 0) + { + int zeroCount = reader.getNext(); + while (zeroCount) + { + writer.put(0); + zeroCount--; + } + } + writer.put(value); + } + } + else if (algorithm == 2) + { + // RLE2 + while (!writer.eof()) + { + const uint8_t value = reader.getNext(); + if (value == 0 || value == 0xF) + { + int count = reader.getNext(); + while (count) + { + writer.put(value); + count--; + } + } + writer.put(value); + } + } + else + { + // Uncompressed + flashReader->copyData(compressedData, pixelsTop, byteSize); + } + + return pixelsEnd; +} + +void CompressedUnmappedFontCache::clearCache() +{ + // Wait for DMA2D/GPU2D to finish drawing + HAL::getInstance()->lockUnlockFrameBuffer(); + glyphsAllocated = 0; + cacheClearCounter++; + pixelsTop = (uint8_t*)bitmapFontCache; +} + +void CompressedUnmappedFontCache::unableToCache(const GlyphNode* glyphNode, int byteSize) +{ + while(1); +} + +const GlyphNode* CompressedUnmappedFontCache::hasCachedGlyphNode(const GlyphNode* glyphNode) +{ + const BitmapFontCacheKey* end = (const BitmapFontCacheKey*)&bitmapFontCache[cacheWords]; + const BitmapFontCacheKey* first = end - glyphsAllocated; + while (first < end) + { + if (first->glyphNodeSrc == glyphNode) + { + return &first->glyphNodeCopy; + } + first++; + } + return 0; +} + +const GlyphNode* CompressedUnmappedFontCache::hasCachedGlyphData(const GlyphNode* glyphNode, const uint8_t*& pixelData) +{ + const BitmapFontCacheKey* end = (const BitmapFontCacheKey*)&bitmapFontCache[cacheWords]; + const BitmapFontCacheKey* first = end - glyphsAllocated; + while (first < end) + { + if (first->glyphNodeSrc == glyphNode) + { + //Pixel data can be zero! + pixelData = first->pixels; + return &first->glyphNodeCopy; + } + first++; + } + return 0; +} + +GlyphNode* CompressedUnmappedFontCache::cacheGlyphNode(const GlyphNode* glyph) +{ + const BitmapFontCacheKey* end = (const BitmapFontCacheKey*)&bitmapFontCache[cacheWords]; + if (pixelsTop + sizeof(BitmapFontCacheKey) > (const uint8_t*)&end[-glyphsAllocated]) + { + // Unable to fit GlyphNode in data, clear cache + clearCache(); + } + + glyphsAllocated++; + BitmapFontCacheKey* key = const_cast(end - glyphsAllocated); + key->glyphNodeSrc = glyph; + key->pixels = 0; + + return &key->glyphNodeCopy; +} + +const uint8_t* CompressedUnmappedFontCache::cacheGlyphData(const GlyphNode* glyph, const uint8_t* compressedData, touchgfx::FlashDataReader* reader) +{ + // Search keys for glyph + BitmapFontCacheKey* end = (BitmapFontCacheKey*)&bitmapFontCache[cacheWords]; + BitmapFontCacheKey* it = end - glyphsAllocated; + while (it < end) + { + if (it->glyphNodeSrc == glyph) + { + break; + } + it++; + } + + if (it == end) + { + // broken invariant! + return 0; + } + + const int byteSize = (it->glyphNodeCopy.width() + 1) / 2 * it->glyphNodeCopy.height(); + // Check if pixels can fit in cache + if (pixelsTop + byteSize > (const uint8_t*)&end[-glyphsAllocated]) + { + // Can it fit in a clean cache? + if (byteSize + sizeof(BitmapFontCacheKey) > cacheSizeBytes) + { + unableToCache(glyph, byteSize); + return 0; + } + + // Unable to fit pixel in data, must clear cache + + // Save address of GlyphNode in cache + const GlyphNode* cachedGn = &it->glyphNodeCopy; + + // Now clear (reset pointer) + clearCache(); + + // Insert glyph node again + glyphsAllocated++; + it = const_cast(end - 1); + it->glyphNodeSrc = glyph; + it->pixels = 0; + // Copy GlyphNode content from previous position in cache + it->glyphNodeCopy = *cachedGn; + } + + //Now decompress data + const uint8_t* glyphData = pixelsTop; + pixelsTop = decompressGlyph(pixelsTop, &it->glyphNodeCopy, compressedData, reader); + + // Flush the cache lines, must be 32byte aligned + uint8_t* rowStart = reinterpret_cast(reinterpret_cast(glyphData) & ~0x1F); + int alignmentOffset = glyphData - rowStart; + paint::flushLine((uint32_t*)rowStart, byteSize + alignmentOffset); + paint::invalidateTextureCache(); + + it->pixels = glyphData; + + return glyphData; +} + +} // namespace touchgfx diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/CompressedUnmappedFontCache.hpp.temp b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/CompressedUnmappedFontCache.hpp.temp new file mode 100644 index 0000000..5e71825 --- /dev/null +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/CompressedUnmappedFontCache.hpp.temp @@ -0,0 +1,46 @@ +/* DO NOT EDIT THIS FILE */ +/* This file is autogenerated by the text-database code generator */ + +#ifndef TOUCHGFX_COMPRESSEDUNMAPPEDFONTCACHE_HPP +#define TOUCHGFX_COMPRESSEDUNMAPPEDFONTCACHE_HPP + +#include +#include +#include + +namespace touchgfx +{ +class CompressedUnmappedFontCache +{ +public: + static void clearCache(); + static const GlyphNode* hasCachedGlyphNode(const GlyphNode* glyphNode); + static const GlyphNode* hasCachedGlyphData(const GlyphNode* glyphNode, const uint8_t*& pixelData); + static void unableToCache(const GlyphNode* glyphNode, int byteSize); + static GlyphNode* cacheGlyphNode(const GlyphNode* glyph); + static const uint8_t* cacheGlyphData(const GlyphNode* glyph, const uint8_t* compressedData, touchgfx::FlashDataReader* reader); + static int usedMemory() + { + return pixelsTop - (uint8_t*)bitmapFontCache + glyphsAllocated * sizeof(BitmapFontCacheKey); + } + + static int cacheClearCounter; +private: + static uint8_t* decompressGlyph(uint8_t* pixelsTop, const GlyphNode* glyphNode, const uint8_t* compressedData, touchgfx::FlashDataReader* reader); + + struct BitmapFontCacheKey + { + const void* glyphNodeSrc; + GlyphNode glyphNodeCopy; + const uint8_t* pixels; + }; + + static const int cacheSizeBytes = <%= get_cache_size %>; + static const int cacheWords = (cacheSizeBytes + 3) / 4; + static uint32_t bitmapFontCache[cacheWords]; + static uint8_t* pixelsTop; + static int glyphsAllocated; +}; +} // namespace touchgfx + +#endif // TOUCHGFX_COMPRESSEDUNMAPPEDFONTCACHE_HPP diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/GeneratedFont.cpp.temp b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/GeneratedFont.cpp.temp index 814c7b1..8d4a3fe 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/GeneratedFont.cpp.temp +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/GeneratedFont.cpp.temp @@ -2,7 +2,9 @@ /* This file is autogenerated by the text-database code generator */ #include +#include #include +#include namespace touchgfx { @@ -17,8 +19,14 @@ GeneratedFont::GeneratedFont(const GlyphNode* glyphs, uint16_t numGlyphs, uint16 const uint8_t* GeneratedFont::getPixelData(const GlyphNode* glyph) const { + // Read dataOffset as 16bit, as it may be unaligned + volatile const uint16_t* dataOffset = (const uint16_t*)((const uint8_t*)glyph + offsetof(GlyphNode, dataOffset)); + uint32_t offset = dataOffset[0]; + offset |= dataOffset[1] << 16; + const uint8_t* const* table = (const uint8_t* const*)glyphData; - return &(table[glyph->unicode / 2048][glyph->dataOffset]); + const uint8_t* pixels = table[glyph->unicode / 2048]; + return pixels + offset; } int8_t GeneratedFont::getKerning(Unicode::UnicodeChar prevChar, const GlyphNode* glyph) const @@ -276,4 +284,27 @@ const VectorFontNode* GeneratedVectorFont::find(Unicode::UnicodeChar unicode) co return (VectorFontNode*)0; } +CompressedMappedFont::CompressedMappedFont(const GlyphNode* glyphs, uint16_t numGlyphs, uint16_t height, uint16_t baseline, uint8_t pixAboveTop, uint8_t pixBelowBottom, uint8_t bitsPerPixel, uint8_t byteAlignRow, uint8_t maxLeft, uint8_t maxRight, const uint8_t* const* glyphDataInternalFlash, const KerningNode* kerningList, const Unicode::UnicodeChar fallbackChar, const Unicode::UnicodeChar ellipsisChar, const uint16_t* const gsubData, const FontContextualFormsTable* formsTable) + : GeneratedFont(glyphs, numGlyphs, height, baseline, pixAboveTop, pixBelowBottom, bitsPerPixel, byteAlignRow, maxLeft, maxRight, glyphDataInternalFlash, kerningList, fallbackChar, ellipsisChar, gsubData, formsTable) +{ +} + +const GlyphNode* CompressedMappedFont::getGlyph(Unicode::UnicodeChar unicode) const +{ + return find(unicode); +} + +const uint8_t* CompressedMappedFont::getPixelData(const GlyphNode* glyph) const +{ + const uint8_t* pixelData = CompressedFontCache::hasCachedGlyph(glyph); + if (pixelData) + { + return pixelData; + } + + const uint8_t* const* table = (const uint8_t* const*)glyphData; + const uint8_t* compressedData = &(table[glyph->unicode / 2048][glyph->dataOffset & 0x3FFFFFFF]); + return CompressedFontCache::cacheGlyph(glyph, compressedData); +} + } // namespace touchgfx diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/GeneratedFont.hpp.temp b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/GeneratedFont.hpp.temp index 677ed8e..e29bf97 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/GeneratedFont.hpp.temp +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/GeneratedFont.hpp.temp @@ -210,6 +210,18 @@ private: arabicTable = &contextualForms; } }; + + +class CompressedMappedFont : public GeneratedFont +{ +public: + CompressedMappedFont(const GlyphNode* glyphs, uint16_t numGlyphs, uint16_t height, uint16_t baseline, uint8_t pixAboveTop, uint8_t pixBelowBottom, uint8_t bitsPerPixel, uint8_t byteAlignRow, uint8_t maxLeft, uint8_t maxRight, const uint8_t* const* glyphDataInternalFlash, const KerningNode* kerningList, const Unicode::UnicodeChar fallbackChar, const Unicode::UnicodeChar ellipsisChar, const uint16_t* const gsubData, const FontContextualFormsTable* formsTable); + + using GeneratedFont::getGlyph; + virtual const GlyphNode* getGlyph(Unicode::UnicodeChar unicode) const; + virtual const uint8_t* getPixelData(const GlyphNode* glyph) const; +}; + } // namespace touchgfx #endif // TOUCHGFX_GENERATEDFONT_HPP diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/LanguageXX.cpp.temp b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/LanguageXX.cpp.temp index c36e769..156a402 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/LanguageXX.cpp.temp +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/LanguageXX.cpp.temp @@ -4,8 +4,8 @@ #include #include -TEXT_LOCATION_FLASH_PRAGMA -KEEP extern const uint32_t indices<%= get_language %>[] TEXT_LOCATION_FLASH_ATTRIBUTE; +<%= get_pragma %> +KEEP extern const uint32_t indices<%= get_language %>[]<%= get_attribute%>; <% if remap_global? %> // Remap all strings @@ -34,8 +34,8 @@ KEEP extern const touchgfx::Unicode::UnicodeChar texts<%= get_language %>[] TEXT <% end %> }; -TEXT_LOCATION_FLASH_PRAGMA -KEEP extern const uint32_t indices<%= get_language %>[] TEXT_LOCATION_FLASH_ATTRIBUTE = { +<%= get_pragma %> +KEEP extern const uint32_t indices<%= get_language %>[]<%= get_attribute%> = { <% text_entries = get_text_entries %> <% if text_entries.empty? %> 0 diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/Texts.cpp.temp b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/Texts.cpp.temp index cb0259a..3fcb156 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/Texts.cpp.temp +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/Texts.cpp.temp @@ -9,6 +9,10 @@ #include #include #include +<% if copy_translations? %> +#include +#include +<% end %> uint16_t touchgfx::Font::getStringWidth(const touchgfx::Unicode::UnicodeChar* text, ...) const { @@ -84,12 +88,12 @@ KEEP extern const touchgfx::Unicode::UnicodeChar texts_all_languages[] TEXT_LOCA <% end %> <% get_capitalized_languages.each do |lang| %> -TEXT_LOCATION_FLASH_PRAGMA -KEEP extern const uint32_t indices<%= lang %>[] TEXT_LOCATION_FLASH_ATTRIBUTE; +<%= get_pragma %> +KEEP extern const uint32_t indices<%= lang %>[]<%= get_attribute%>; <% if !remap_global? %> -TEXT_LOCATION_FLASH_PRAGMA -KEEP extern const touchgfx::Unicode::UnicodeChar texts<%= lang %>[] TEXT_LOCATION_FLASH_ATTRIBUTE; +<%= get_pragma %> +KEEP extern const touchgfx::Unicode::UnicodeChar texts<%= lang %>[]<%= get_attribute%>; <% end %> <% end %> @@ -134,6 +138,16 @@ static const touchgfx::Unicode::UnicodeChar* const staticLanguageTexts[] = { }; <% end %> <% end %> +<% if copy_translations? %> +static const uint32_t staticLanguageSizes[] = { +<% get_capitalized_languages.each_with_index do |lang, index| %> + <%= language_length(index) %><%= (index == get_number_of_languages - 1) ? '': ',' %> +<% end %> +}; + +static const uint32_t maxStaticLanguageSize = <%= get_max_language_length %>; +static touchgfx::Unicode::UnicodeChar translationBuffer[maxStaticLanguageSize]; +<% end %> touchgfx::LanguageId touchgfx::Texts::currentLanguage = static_cast(0); static const touchgfx::Unicode::UnicodeChar* currentLanguagePtr = 0; @@ -168,7 +182,22 @@ void touchgfx::Texts::setLanguage(touchgfx::LanguageId id) currentLanguagePtr = texts_all_languages; currentLanguageIndices = staticLanguageIndices[id]; <% else %> +<% if not copy_translations? %> currentLanguagePtr = staticLanguageTexts[id]; +<% else %> + // Read translations from unmapped flash +#ifdef SIMULATOR + memcpy(translationBuffer, staticLanguageTexts[id], staticLanguageSizes[id] * 2); +#else + touchgfx::FlashDataReader* const flashReader = ApplicationFontProvider::getFlashReader(); + if (flashReader) + { + flashReader->copyData(staticLanguageTexts[id], translationBuffer, staticLanguageSizes[id] * 2); + } +#endif + + currentLanguagePtr = translationBuffer; +<% end %> currentLanguageIndices = staticLanguageIndices[id]; <% end %> currentLanguageTypedText = typedTextDatabaseArray[id]; diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/TypedTextDatabase.cpp.temp b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/TypedTextDatabase.cpp.temp index 8f98ccb..9fbedbd 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/TypedTextDatabase.cpp.temp +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/TypedTextDatabase.cpp.temp @@ -60,8 +60,8 @@ const touchgfx::TypedText::TypedTextData typedText_database_EMPTY[] TEXT_LOCATIO }; <% else %> <% get_layouts.each do |layout| %> -TEXT_LOCATION_FLASH_PRAGMA -const touchgfx::TypedText::TypedTextData typedText_database_<%= layout %>[] TEXT_LOCATION_FLASH_ATTRIBUTE = { +<%= get_pragma %> +const touchgfx::TypedText::TypedTextData typedText_database_<%= layout %>[]<%= get_attribute %> = { <% if get_typed_texts(layout).empty? %> { 0, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR } <% else %> @@ -76,8 +76,8 @@ const touchgfx::TypedText::TypedTextData typedText_database_<%= layout %>[] TEXT <% end %> <% end %> -TEXT_LOCATION_FLASH_PRAGMA -const touchgfx::TypedText::TypedTextData* const typedTextDatabaseArray[] TEXT_LOCATION_FLASH_ATTRIBUTE = { +<%= get_pragma %> +const touchgfx::TypedText::TypedTextData* const typedTextDatabaseArray[]<%= get_attribute %> = { <% if generate_binary_files? %> <% get_languages.each_with_index do |entry,index| %> typedText_database_EMPTY<%= index == get_languages.length-1 ? '' : ',' %> diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/UnmappedDataFont.cpp.temp b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/UnmappedDataFont.cpp.temp index 28130bf..e3445b0 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/UnmappedDataFont.cpp.temp +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/UnmappedDataFont.cpp.temp @@ -3,6 +3,7 @@ #include #include +#include #include namespace touchgfx @@ -149,4 +150,87 @@ int UnmappedDataFont::lookupUnicode(uint16_t unicode) const } return -1; } + +CompressedUnmappedDataFont::CompressedUnmappedDataFont(const GlyphNode* glyphs, const uint16_t* unicodes, uint16_t numGlyphs, uint16_t height, uint16_t baseline, uint8_t pixAboveTop, uint8_t pixBelowBottom, uint8_t bitsPerPixel, uint8_t byteAlignRow, uint8_t maxLeft, uint8_t maxRight, const uint8_t* const* glyphDataList, const KerningNode* kerningList, const Unicode::UnicodeChar fallbackChar, const Unicode::UnicodeChar ellipsisChar, const uint16_t* const gsubData, const FontContextualFormsTable* formsTable) + : UnmappedDataFont(glyphs, unicodes, numGlyphs, height, baseline, pixAboveTop, pixBelowBottom, bitsPerPixel, byteAlignRow, maxLeft, maxRight, glyphDataList, kerningList, fallbackChar, ellipsisChar, gsubData, formsTable) +{ +} + +const GlyphNode* CompressedUnmappedDataFont::getGlyph(Unicode::UnicodeChar unicode) const +{ + const int index = lookupUnicode(unicode); + if (index != -1) + { + const GlyphNode* glyphNode = glyphList + index; + + // Is the GlyphNode already cached + const GlyphNode* cachedNode = CompressedUnmappedFontCache::hasCachedGlyphNode(glyphNode); + if (cachedNode) + { + return cachedNode; + } + + // Read glyphNode from unmapped flash + touchgfx::FlashDataReader* const flashReader = ApplicationFontProvider::getFlashReader(); + if (flashReader) + { + GlyphNode* newGlyphNode = CompressedUnmappedFontCache::cacheGlyphNode(glyphNode); + flashReader->copyData(glyphList + index, (uint8_t*)newGlyphNode, sizeof(GlyphNode)); + return newGlyphNode; + } + } + + return 0; +} + +const GlyphNode* CompressedUnmappedDataFont::getGlyph(Unicode::UnicodeChar unicode, const uint8_t*& pixelData, uint8_t& bitsPerPixel) const +{ + const int index = lookupUnicode(unicode); + if (index != -1) + { + const GlyphNode* glyphNode = glyphList + index; + const uint8_t* pixels = 0; + const GlyphNode* cachedNode = CompressedUnmappedFontCache::hasCachedGlyphData(glyphNode, pixels); + if (pixels) + { + pixelData = pixels; + bitsPerPixel = 4; + return cachedNode; + } + + // Cache glyphNode if not found already + if (cachedNode == 0) + { + cachedNode = getGlyph(unicode); + } + if (cachedNode->width() == 0) + { + bitsPerPixel = 4; + pixelData = 0; + return cachedNode; + } + + // Read data from unmapped flash + touchgfx::FlashDataReader* const flashReader = ApplicationFontProvider::getFlashReader(); + if (flashReader) + { + const uint8_t* const* table = (const uint8_t* const*)glyphDataList; + const uint32_t dataOffset = cachedNode->dataOffset & 0x3FFFFFFF; + const uint8_t* compressedData = &(table[unicode / 2048][dataOffset]); + const uint8_t* cachedData = CompressedUnmappedFontCache::cacheGlyphData(glyphNode, compressedData, flashReader); + if (cachedData) + { + bitsPerPixel = 4; + pixelData = cachedData; + return cachedNode; + } + } + } + return 0; +} + +const uint8_t* CompressedUnmappedDataFont::getPixelData(const GlyphNode* glyph) const +{ + return 0; +} } // namespace touchgfx diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/UnmappedDataFont.hpp.temp b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/UnmappedDataFont.hpp.temp index b673a3f..81b1fd8 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/UnmappedDataFont.hpp.temp +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/Templates/UnmappedDataFont.hpp.temp @@ -121,6 +121,17 @@ protected: static GlyphNode glyphNodeBuffer; ///< Buffer for GlyphNodes read from unmapped flash }; + +class CompressedUnmappedDataFont : public UnmappedDataFont +{ +public: + CompressedUnmappedDataFont(const GlyphNode* glyphs, const uint16_t* unicodes, uint16_t numGlyphs, uint16_t height, uint16_t baseline, uint8_t pixAboveTop, uint8_t pixBelowBottom, uint8_t bitsPerPixel, uint8_t byteAlignRow, uint8_t maxLeft, uint8_t maxRight, const uint8_t* const* glyphDataList, const KerningNode* kerningList, const Unicode::UnicodeChar fallbackChar, const Unicode::UnicodeChar ellipsisChar, const uint16_t* const gsubData, const FontContextualFormsTable* formsTable); + + virtual const GlyphNode* getGlyph(Unicode::UnicodeChar unicode) const; + virtual const GlyphNode* getGlyph(Unicode::UnicodeChar unicode, const uint8_t*& pixelData, uint8_t& bitsPerPixel) const; + virtual const uint8_t* getPixelData(const GlyphNode* glyph) const; +}; + } // namespace touchgfx #endif // TOUCHGFX_UNMAPPEDDATAFONT_HPP diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/application_font_provider_cpp.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/application_font_provider_cpp.rb index 7b5f165..d090b83 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/application_font_provider_cpp.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/application_font_provider_cpp.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/application_font_provider_hpp.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/application_font_provider_hpp.rb index 4712758..50220f0 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/application_font_provider_hpp.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/application_font_provider_hpp.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/cached_font_cpp.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/cached_font_cpp.rb index b7923e5..8929aee 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/cached_font_cpp.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/cached_font_cpp.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/cached_font_hpp.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/cached_font_hpp.rb index 30235eb..bc29095 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/cached_font_hpp.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/cached_font_hpp.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/compressed_font_cache_cpp.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/compressed_font_cache_cpp.rb new file mode 100644 index 0000000..91a6bba --- /dev/null +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/compressed_font_cache_cpp.rb @@ -0,0 +1,27 @@ +# Copyright (c) 2018(-2025) STMicroelectronics. +# All rights reserved. +# +# This file is part of the TouchGFX 4.25.0 distribution. +# +# This software is licensed under terms that can be found in the LICENSE file in +# the root directory of this software component. +# If no LICENSE file comes with this software, it is provided AS-IS. +# +###############################################################################/ +class CompressedFontCacheCpp < Template + def input_path + File.join(root_dir,'Templates','CompressedFontCache.cpp.temp') + end + def output_path + '/src/CompressedFontCache.cpp' + end + def output_filename + File.join(@output_directory, output_path) + end + def run + if !File::exists?(output_filename) + #generate CompressedFontCache.cpp + super + end + end +end diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/compressed_font_cache_hpp.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/compressed_font_cache_hpp.rb new file mode 100644 index 0000000..c646726 --- /dev/null +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/compressed_font_cache_hpp.rb @@ -0,0 +1,52 @@ +# Copyright (c) 2018(-2025) STMicroelectronics. +# All rights reserved. +# +# This file is part of the TouchGFX 4.25.0 distribution. +# +# This software is licensed under terms that can be found in the LICENSE file in +# the root directory of this software component. +# If no LICENSE file comes with this software, it is provided AS-IS. +# +###############################################################################/ +class CompressedFontCacheHpp < Template + def initialize(text_entries, typographies, language, output_directory, compressed_font_cache_size) + super(text_entries, typographies, language, output_directory) + @compressed_font_cache_size = compressed_font_cache_size + @cache = {} + end + def input_path + File.join(root_dir,'Templates','CompressedFontCache.hpp.temp') + end + def output_path + '/include/fonts/CompressedFontCache.hpp' + end + def cache_file + File.join(@output_directory, 'cache/CompressedFontCacheHpp.cache') + end + def output_filename + File.join(@output_directory, output_path) + end + def run + @cache["cache_size"] = @compressed_font_cache_size + new_cache_file = false + if not File::exists?(cache_file) + new_cache_file = true + else + #cache file exists, compare data with cache file + old_cache = JSON.parse(File.read(cache_file)) + new_cache_file = (old_cache != @cache) + end + if new_cache_file + #write new cache file + FileIO.write_file_silent(cache_file, @cache.to_json) + end + if !File::exists?(output_filename) || new_cache_file + #generate CompressedFontCache.hpp + super + end + end + + def get_cache_size + @compressed_font_cache_size + end +end diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/compressed_unmapped_font_cache_cpp.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/compressed_unmapped_font_cache_cpp.rb new file mode 100644 index 0000000..09bc38b --- /dev/null +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/compressed_unmapped_font_cache_cpp.rb @@ -0,0 +1,27 @@ +# Copyright (c) 2018(-2025) STMicroelectronics. +# All rights reserved. +# +# This file is part of the TouchGFX 4.25.0 distribution. +# +# This software is licensed under terms that can be found in the LICENSE file in +# the root directory of this software component. +# If no LICENSE file comes with this software, it is provided AS-IS. +# +###############################################################################/ +class CompressedUnmappedFontCacheCpp < Template + def input_path + File.join(root_dir,'Templates','CompressedUnmappedFontCache.cpp.temp') + end + def output_path + '/src/CompressedUnmappedFontCache.cpp' + end + def output_filename + File.join(@output_directory, output_path) + end + def run + if !File::exists?(output_filename) + #generate CompressedUnmappedFontCache.cpp + super + end + end +end diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/compressed_unmapped_font_cache_hpp.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/compressed_unmapped_font_cache_hpp.rb new file mode 100644 index 0000000..a017289 --- /dev/null +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/compressed_unmapped_font_cache_hpp.rb @@ -0,0 +1,52 @@ +# Copyright (c) 2018(-2025) STMicroelectronics. +# All rights reserved. +# +# This file is part of the TouchGFX 4.25.0 distribution. +# +# This software is licensed under terms that can be found in the LICENSE file in +# the root directory of this software component. +# If no LICENSE file comes with this software, it is provided AS-IS. +# +###############################################################################/ +class CompressedUnmappedFontCacheHpp < Template + def initialize(text_entries, typographies, language, output_directory, compressed_font_cache_size) + super(text_entries, typographies, language, output_directory) + @compressed_font_cache_size = compressed_font_cache_size + @cache = {} + end + def input_path + File.join(root_dir,'Templates','CompressedUnmappedFontCache.hpp.temp') + end + def output_path + '/include/fonts/CompressedUnmappedFontCache.hpp' + end + def cache_file + File.join(@output_directory, 'cache/CompressedUnmappedFontCacheHpp.cache') + end + def output_filename + File.join(@output_directory, output_path) + end + def run + @cache["cache_size"] = @compressed_font_cache_size + new_cache_file = false + if not File::exists?(cache_file) + new_cache_file = true + else + #cache file exists, compare data with cache file + old_cache = JSON.parse(File.read(cache_file)) + new_cache_file = (old_cache != @cache) + end + if new_cache_file + #write new cache file + FileIO.write_file_silent(cache_file, @cache.to_json) + end + if !File::exists?(output_filename) || new_cache_file + #generate CompressedUnmappedFontCache.hpp + super + end + end + + def get_cache_size + @compressed_font_cache_size + end +end diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/font_cache_cpp.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/font_cache_cpp.rb index 9fc4033..46686bf 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/font_cache_cpp.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/font_cache_cpp.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/font_cache_hpp.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/font_cache_hpp.rb index e65fed3..97639f9 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/font_cache_hpp.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/font_cache_hpp.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/fonts_cpp.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/fonts_cpp.rb index c3a9283..0eea187 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/fonts_cpp.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/fonts_cpp.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. @@ -13,7 +13,7 @@ class FontsCpp @@font_convert = font_convert end - def initialize(text_entries, typographies, languages, output_directory, font_asset_path, autohint_setting, data_format, generate_binary_fonts, generate_font_format, korean_fusion_fonts) + def initialize(text_entries, typographies, languages, output_directory, font_asset_path, autohint_setting, data_format, generate_binary_fonts, generate_font_format, korean_fusion_fonts, compressed_font_cache_size) @typographies = typographies @languages = languages @output_directory = output_directory @@ -23,12 +23,13 @@ class FontsCpp @generate_binary_fonts = generate_binary_fonts @generate_font_format = generate_font_format @korean_fusion_fonts = korean_fusion_fonts + @compressed_font_cache_size = compressed_font_cache_size end def run context_tables_is_generated = {} #find unique typographies, but ignore all vector typographies - unique_typographies = @typographies.select{|t| not t.is_vector}.map{ |t| Typography.new("", t.font_file, t.font_size, t.bpp, t.is_vector, t.fallback_character, t.ellipsis_character) }.uniq + unique_typographies = @typographies.select{|t| not t.is_vector}.map{ |t| Typography.new("", t.font_file, t.font_size, t.bpp, t.is_vector, t.is_compressed, t.fallback_character, t.ellipsis_character) }.uniq #remove old unused Table, Kerning, Font files for non-vector typographies #1. Create a list of font names @@ -65,6 +66,11 @@ class FontsCpp FileUtils.rm(cache_file) end end + Dir["#{local_path}/CompressedFontBuffer_*.cache"].each do |cache_file| + if font_names.none? {|font_name| cache_file == "#{local_path}/CompressedFontBuffer_#{font_name}.cache" } + FileUtils.rm(cache_file) + end + end generate_contextual_table = false unique_typographies.sort_by { |t| sprintf("%s %04d %d",t.font_file,t.font_size,t.bpp) }.each do |typography| @@ -77,6 +83,7 @@ class FontsCpp ellipsis_char ||= 0 autohint = @autohint_setting == "no" ? "-nah" : @autohint_setting == "force" ? "-fah" : "" byte_align = @data_format.match("A#{typography.bpp}") ? "-ba" : "" + compression = typography.is_compressed ? "-z" : "" #generate contextual forms table for font if not already done generate_contextual_table = context_tables_is_generated[typography.cpp_name] ? "no" : "yes" context_tables_is_generated[typography.cpp_name] = true #set done for next font with this name @@ -111,6 +118,7 @@ class FontsCpp -bf #{@generate_binary_fonts} \ -ff #{@generate_font_format} \ -ffu #{fusion} \ +#{compression} \ #{autohint} \ #{byte_align}" output = `#{cmd}`.force_encoding('iso-8859-1') @@ -124,8 +132,30 @@ class FontsCpp end end + + #loop through generated/fonts/cache/CompressedFontBuffer_verdana_140_4bpp.cache files, find the max numbers + @max_size = 0 + @max_font = "" + local_path = "#{@output_directory}/cache".gsub('\\','/') + Dir["#{local_path}/CompressedFontBuffer_*.cache"].each do |cache_file| + match = /CompressedFontBuffer_(.*).cache/.match(cache_file) + font_name = match[1] + value = File.read(cache_file) + buffer_size = value.to_i + if buffer_size > @max_size + @max_size = buffer_size + @max_font = font_name + end + end + + if @max_size > @compressed_font_cache_size + fail "\nERROR: Compressed Font Cache Size is too small. Font #{@max_font} requires a cache of minimum #{@max_size} bytes.\n\n" + end + + ############# VECTOR FONTS NOW ############# + #find unique vector typographies, but only vector typographies - unique_typographies = @typographies.select{|t| t.is_vector}.map{ |t| Typography.new("", t.font_file, t.font_size, t.bpp, t.is_vector, t.fallback_character, t.ellipsis_character) }.uniq + unique_typographies = @typographies.select{|t| t.is_vector}.map{ |t| Typography.new("", t.font_file, t.font_size, t.bpp, t.is_vector, t.is_compressed, t.fallback_character, t.ellipsis_character) }.uniq did_generate_vector_font_contour_table = {} #true if we have generated the vector font contour for this ttf #remove old unused Table, Kerning, Font files for vector typographies @@ -164,7 +194,6 @@ class FontsCpp FileUtils.rm(cache_file) end end - local_path = "#{@output_directory}/cache".gsub('\\','/') Dir["#{local_path}/Vector_Font_*_buffer.cache"].each do |cache_file| if font_names.none? {|font_name| cache_file == "#{local_path}/Vector_Font_#{font_name}_buffer.cache" } FileUtils.rm(cache_file) diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/generated_font_cpp.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/generated_font_cpp.rb index 122cf8a..aae1764 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/generated_font_cpp.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/generated_font_cpp.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/generated_font_hpp.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/generated_font_hpp.rb index 99d016c..7610608 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/generated_font_hpp.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/generated_font_hpp.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/languages_bin.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/languages_bin.rb index dd1d9fb..c3eb8f7 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/languages_bin.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/languages_bin.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/languages_cpp.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/languages_cpp.rb index b66c60e..b9799ba 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/languages_cpp.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/languages_cpp.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. @@ -12,7 +12,7 @@ require 'json' require 'lib/string_collector' class LanguagesCpp - def initialize(string_indices, characters, text_entries, languages, output_directory, remap_global, generate_binary_translations) + def initialize(string_indices, characters, text_entries, languages, output_directory, remap_global, generate_binary_translations, copy_translations_to_ram) @string_indices = string_indices #dictionary of all string indices into the characters array @characters = characters @text_entries = text_entries @@ -20,6 +20,7 @@ class LanguagesCpp @output_directory = output_directory @remap_global = remap_global @generate_binary_translations = generate_binary_translations + @copy_translations_to_ram = copy_translations_to_ram end def run # First remove any unused LanguageXX.cpp files (ie. remove @@ -35,7 +36,7 @@ class LanguagesCpp @languages.each_with_index do |language, language_index| language_index = 0 if @remap_global=="yes" - LanguageXxCpp.new(@string_indices, language_index, @characters, @text_entries, @output_directory, @remap_global, @generate_binary_translations, language).run + LanguageXxCpp.new(@string_indices, language_index, @characters, @text_entries, @output_directory, @remap_global, @generate_binary_translations, @copy_translations_to_ram, language).run end end end @@ -43,11 +44,12 @@ end class LanguageXxCpp < Template Presenter = Struct.new(:text_id, :int_array) - def initialize(string_indices, language_index, characters, text_entries, output_directory, remap_global, generate_binary_translations, language) + def initialize(string_indices, language_index, characters, text_entries, output_directory, remap_global, generate_binary_translations, copy_translations_to_ram, language) @string_indices = string_indices #dictionary of all string indices into the characters array @characters = characters @remap_global = remap_global @generate_binary_translations = generate_binary_translations + @copy_translations_to_ram = copy_translations_to_ram @language = language @language_index = language_index super(text_entries, [], [], output_directory) @@ -74,6 +76,7 @@ class LanguageXxCpp < Template @cache["remap"] = @remap_global @cache["language"] = @language @cache["language_index"] = @language_index + @cache["copy_translations"] = @copy_translations_to_ram #save text ids and index @cache["indices"] = get_text_entries.collect do |entry| [get_string_index(entry), entry.text_id] @@ -145,4 +148,14 @@ class LanguageXxCpp < Template def get_substrings_and_offsets(lang_index) unicode_array_to_hex_offset_comment(@characters[lang_index]) end + + #indeces arrays are in internal flash when copying, but texts are in TEXT_LOCATION + def get_pragma + @pragma ||= @copy_translations_to_ram=="yes" ? "" : "TEXT_LOCATION_FLASH_PRAGMA\r\n" + end + + def get_attribute + @attribute ||= @copy_translations_to_ram=="yes" ? "" : " TEXT_LOCATION_FLASH_ATTRIBUTE" + end + end diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/template.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/template.rb index 0e31233..0375a50 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/template.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/template.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/text_keys_and_languages_hpp.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/text_keys_and_languages_hpp.rb index 60b4115..2cc105f 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/text_keys_and_languages_hpp.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/text_keys_and_languages_hpp.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/texts_cpp.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/texts_cpp.rb index 72296ee..1933aaa 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/texts_cpp.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/texts_cpp.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. @@ -11,10 +11,11 @@ require 'lib/string_collector' class TextsCpp < Template - def initialize(characters, text_entries, typographies, languages, output_directory, remap_global, generate_binary_translations) + def initialize(characters, text_entries, typographies, languages, output_directory, remap_global, generate_binary_translations, copy_translations_to_ram) @characters = characters # one array (per language, or all at index 0 if global remapping) of the needed strings in optimal order @remap_global = remap_global @generate_binary_translations = generate_binary_translations + @copy_translations_to_ram = copy_translations_to_ram super(text_entries, typographies, languages, output_directory) @cache = {} end @@ -37,6 +38,14 @@ class TextsCpp < Template if @remap_global=="yes" @cache["characters"] = @characters.flatten end + @cache["copy_translations_to_ram"] = @copy_translations_to_ram + if @copy_translations_to_ram=="yes" + lengths = {} + @languages.each_with_index do |l, i| + lengths[l] = language_length(i) + end + @cache["lengths"] = lengths + end new_cache_file = false if not File::exists?(cache_file) @@ -85,4 +94,24 @@ class TextsCpp < Template def get_substrings_and_offsets unicode_array_to_hex_offset_comment(@characters.flatten) end + + def language_length(l) + @characters[l].length + end + + def get_max_language_length + @characters.inject(0){|m,c| c.length > m ? c.length : m } + end + + def copy_translations? + @copy_translations_to_ram=="yes" + end + + def get_pragma + @pragma ||= @copy_translations_to_ram=="yes" ? "" : "TEXT_LOCATION_FLASH_PRAGMA\r\n" + end + + def get_attribute + @attribute ||= @copy_translations_to_ram=="yes" ? "" : " TEXT_LOCATION_FLASH_ATTRIBUTE" + end end diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/typed_text_database_cpp.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/typed_text_database_cpp.rb index 898b860..8527f0f 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/typed_text_database_cpp.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/typed_text_database_cpp.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. @@ -11,10 +11,11 @@ class TypedTextDatabaseCpp < Template TypedTextPresenter = Struct.new(:alignment, :direction, :typography) - def initialize(text_entries, typographies, languages, output_directory, generate_binary_translations, generate_font_format) + def initialize(text_entries, typographies, languages, output_directory, generate_binary_translations, generate_font_format, copy_translations_to_ram) super(text_entries, typographies, languages, output_directory) @generate_binary_translations = generate_binary_translations @generate_font_format = generate_font_format + @copy_translations_to_ram = copy_translations_to_ram @cache = {} end @@ -57,6 +58,7 @@ class TypedTextDatabaseCpp < Template @cache["database_list"]=language_db_list @cache["fonts"] = fontmap @cache["generate_font_format"] = @generate_font_format + @cache["copy_translations_to_ram"] = @copy_translations_to_ram new_cache_file = false if not File::exists?(cache_file) @@ -171,4 +173,12 @@ class TypedTextDatabaseCpp < Template fontmap end end + + def get_pragma + @pragma ||= @copy_translations_to_ram=="yes" ? "" : "TEXT_LOCATION_FLASH_PRAGMA\r\n" + end + + def get_attribute + @attribute ||= @copy_translations_to_ram=="yes" ? "" : " TEXT_LOCATION_FLASH_ATTRIBUTE" + end end diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/typed_text_database_hpp.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/typed_text_database_hpp.rb index d86efb2..315f438 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/typed_text_database_hpp.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/typed_text_database_hpp.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/unicodes_txt.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/unicodes_txt.rb index aa76710..89b1704 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/unicodes_txt.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/unicodes_txt.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/unmapped_data_font_cpp.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/unmapped_data_font_cpp.rb index 919fbf2..76da445 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/unmapped_data_font_cpp.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/unmapped_data_font_cpp.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/unmapped_data_font_hpp.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/unmapped_data_font_hpp.rb index 513958d..f4c59a6 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/unmapped_data_font_hpp.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/emitters/unmapped_data_font_hpp.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/excel_reader.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/excel_reader.rb index 7a9b1b6..923b3b9 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/excel_reader.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/excel_reader.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/file_io.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/file_io.rb index ffde15e..2e2514e 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/file_io.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/file_io.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/generator.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/generator.rb index 09f1e0a..0e293cb 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/generator.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/generator.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. @@ -16,12 +16,12 @@ require 'lib/xml_reader' require 'lib/xml_validator' class Generator - def run(xml_file_name, output_path, text_output_path, font_asset_path, data_format, remap_global, autohint_setting, generate_binary_translations, generate_binary_fonts, framebuffer_bpp, generate_font_format, korean_fusion_fonts) + def run(xml_file_name, output_path, text_output_path, font_asset_path, data_format, remap_global, autohint_setting, generate_binary_translations, generate_binary_fonts, framebuffer_bpp, generate_font_format, korean_fusion_fonts, copy_translations_to_ram, compressed_font_cache_size) xml_doc = XMLReader.new.read(xml_file_name) XMLValidator.new.validate(xml_file_name) languages, typographies, text_entries = TextDatabaseParser.new(xml_doc).run Sanitizer.new(text_entries, typographies, languages, framebuffer_bpp).run string_indices, characters = StringCollector.new(text_entries, languages, typographies).run(remap_global == "yes") - Outputter.new(string_indices, characters, text_entries, typographies, languages, text_output_path, output_path, font_asset_path, data_format, remap_global, autohint_setting, generate_binary_translations, generate_binary_fonts, generate_font_format, korean_fusion_fonts).run + Outputter.new(string_indices, characters, text_entries, typographies, languages, text_output_path, output_path, font_asset_path, data_format, remap_global, autohint_setting, generate_binary_translations, generate_binary_fonts, generate_font_format, korean_fusion_fonts, copy_translations_to_ram, compressed_font_cache_size).run end end diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/outputter.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/outputter.rb index 4d6802c..be74e9c 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/outputter.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/outputter.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. @@ -24,13 +24,17 @@ require 'lib/emitters/cached_font_cpp' require 'lib/emitters/cached_font_hpp' require 'lib/emitters/font_cache_cpp' require 'lib/emitters/font_cache_hpp' +require 'lib/emitters/compressed_font_cache_hpp' +require 'lib/emitters/compressed_font_cache_cpp' +require 'lib/emitters/compressed_unmapped_font_cache_hpp' +require 'lib/emitters/compressed_unmapped_font_cache_cpp' require 'lib/emitters/application_font_provider_hpp' require 'lib/emitters/application_font_provider_cpp' require 'lib/emitters/typed_text_database_hpp' require 'lib/emitters/typed_text_database_cpp' class Outputter - def initialize(string_indices, characters, text_entries, typographies, languages, localization_output_directory, fonts_output_directory, font_asset_path, data_format, remap_global, autohint_setting, generate_binary_translations, generate_binary_fonts, generate_font_format, korean_fusion_fonts) + def initialize(string_indices, characters, text_entries, typographies, languages, localization_output_directory, fonts_output_directory, font_asset_path, data_format, remap_global, autohint_setting, generate_binary_translations, generate_binary_fonts, generate_font_format, korean_fusion_fonts, copy_translations_to_ram, compressed_font_cache_size) @string_indices = string_indices #dictionary of all string indices into the characters array @characters = characters #one array of the needed strings in optimal order @text_entries = text_entries @@ -46,6 +50,8 @@ class Outputter @generate_binary_fonts = generate_binary_fonts @generate_font_format = generate_font_format @korean_fusion_fonts = korean_fusion_fonts + @copy_translations_to_ram = copy_translations_to_ram + @compressed_font_cache_size = compressed_font_cache_size end def run @@ -57,21 +63,24 @@ class Outputter CachedFontCpp, FontCacheHpp, FontCacheCpp, + CompressedFontCacheCpp, + CompressedUnmappedFontCacheCpp, UnicodesTxt ].each { |template| template.new(@text_entries, @typographies, @languages, @fonts_output_directory).run } + [ CompressedFontCacheHpp, CompressedUnmappedFontCacheHpp ].each { |template| template.new(@text_entries, @typographies, @languages, @fonts_output_directory, @compressed_font_cache_size).run } [ ApplicationFontProviderCpp, ApplicationFontProviderHpp ].each { |template| template.new(@text_entries, @typographies, @languages, @fonts_output_directory, @generate_font_format).run } [ TextKeysAndLanguages, TypedTextDatabaseHpp].each { |template| template.new(@text_entries, @typographies, @languages, @localization_output_directory).run } - TypedTextDatabaseCpp.new(@text_entries, @typographies, @languages, @localization_output_directory, @generate_binary_translations, @generate_font_format).run + TypedTextDatabaseCpp.new(@text_entries, @typographies, @languages, @localization_output_directory, @generate_binary_translations, @generate_font_format, @copy_translations_to_ram).run - TextsCpp.new(@characters, @text_entries, @typographies, @languages, @localization_output_directory, @remap_global, @generate_binary_translations).run + TextsCpp.new(@characters, @text_entries, @typographies, @languages, @localization_output_directory, @remap_global, @generate_binary_translations, @copy_translations_to_ram).run - LanguagesCpp.new(@string_indices, @characters, @text_entries, @languages, @localization_output_directory, @remap_global, @generate_binary_translations).run + LanguagesCpp.new(@string_indices, @characters, @text_entries, @languages, @localization_output_directory, @remap_global, @generate_binary_translations, @copy_translations_to_ram).run - FontsCpp.new(@text_entries, @typographies, @languages, @fonts_output_directory, @font_asset_path, @autohint_setting, @data_format, @generate_binary_fonts, @generate_font_format, @korean_fusion_fonts).run + FontsCpp.new(@text_entries, @typographies, @languages, @fonts_output_directory, @font_asset_path, @autohint_setting, @data_format, @generate_binary_fonts, @generate_font_format, @korean_fusion_fonts, @compressed_font_cache_size).run if @generate_binary_translations.downcase == 'yes' [ LanguagesBin ].each { |template| template.new(@text_entries, @typographies, @languages, @localization_output_directory).run } diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/sanitizer.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/sanitizer.rb index 7bb6bfa..5a9e60b 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/sanitizer.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/sanitizer.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/string_collector.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/string_collector.rb index 681b796..9e142be 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/string_collector.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/string_collector.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/text_database_parser.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/text_database_parser.rb index a44edcf..5f26e4b 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/text_database_parser.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/text_database_parser.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. @@ -69,6 +69,7 @@ class TypographyParser < ParserBase bpp = empty_to_nil(typo_node["Bpp"]) direction = empty_to_nil(typo_node["Direction"]) is_vector = yes_to_true(typo_node["IsVector"]) + is_compressed = yes_to_true(typo_node["IsCompressed"]) fallback_character = empty_to_nil(typo_node["FallbackCharacter"]) wildcard_characters = empty_to_nil(typo_node["WildcardCharacters"]) wildcard_widget_characters = empty_to_nil(typo_node["WidgetWildcardCharacters"]) @@ -81,12 +82,13 @@ class TypographyParser < ParserBase fail "ERROR: Attribute 'Bpp' not specified in line #{typo_node.line} for " if bpp.nil? fail "ERROR: Attribute 'Direction' not specified in line #{typo_node.line} for " if direction.nil? fail "ERROR: Attribute 'IsVector' not specified in line #{typo_node.line} for " if is_vector.nil? + fail "ERROR: Attribute 'IsVector' and Attribute 'IsCompressed' can not both be true for " if is_vector and is_compressed if !typo_id.match(/^([0-9a-zA-Z_])*$/) fail "ERROR: Illegal characters found in line #{typo_node.line} for " end # Default typography - @typographies.add(typo_id, "", font, size, bpp, is_vector, fallback_character, ellipsis_character, wildcard_characters, wildcard_widget_characters, wildcard_character_ranges, direction) + @typographies.add(typo_id, "", font, size, bpp, is_vector, is_compressed, fallback_character, ellipsis_character, wildcard_characters, wildcard_widget_characters, wildcard_character_ranges, direction) typo_node.xpath('./LanguageSetting').each do |language_setting| language = empty_to_nil(language_setting["Language"]) @@ -95,6 +97,7 @@ class TypographyParser < ParserBase bpp = empty_to_nil(language_setting["Bpp"]) direction = empty_to_nil(language_setting["Direction"]) is_vector = yes_to_true(language_setting["IsVector"]) + is_compressed = yes_to_true(typo_node["IsCompressed"]) fallback_character = empty_to_nil(language_setting["FallbackCharacter"]) wildcard_characters = empty_to_nil(language_setting["WildcardCharacters"]) wildcard_widget_characters = empty_to_nil(language_setting["WidgetWildcardCharacters"]) @@ -112,7 +115,14 @@ class TypographyParser < ParserBase fail "ERROR: Unknown language '#{language}'" if !@languages.include?(language) # Language specific typography - @typographies.add(typo_id, language, font, size, bpp, is_vector, fallback_character, ellipsis_character, wildcard_characters, wildcard_widget_characters, wildcard_character_ranges, direction) + @typographies.add(typo_id, language, font, size, bpp, is_vector, is_compressed, fallback_character, ellipsis_character, wildcard_characters, wildcard_widget_characters, wildcard_character_ranges, direction) + end + end + # See if we have the same font file and size with both 4bpp and 4bpp-compressed. This is not legal! + @typographies.get_typographies.select{|t| not t.is_vector and t.bpp==4}.group_by{|t| t.font_file+t.font_size.to_s}.each do |k, a| + if a.count{|t|t.is_compressed}>0 and a.count{|t|not t.is_compressed}>0 + t = a[0] + fail "ERROR: Font file #{t.font_file} is used in size #{t.font_size} in both 4Bpp and 4Bpp Compressed. This is not supported!" end end return @typographies diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/text_database_parser_4_17.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/text_database_parser_4_17.rb index b87de4e..25ab297 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/text_database_parser_4_17.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/text_database_parser_4_17.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. @@ -72,7 +72,7 @@ class TypographyParser_4_17 ellipsis_character = ellipsis_character.strip if ellipsis_character if name && font && size && bpp - typographies.push Typography.new(name, font, size.to_i, bpp.to_i, false, fallback_character, ellipsis_character, wildcard_characters, widget_wildcard_characters, wildcard_ranges) + typographies.push Typography.new(name, font, size.to_i, bpp.to_i, false, false, fallback_character, ellipsis_character, wildcard_characters, widget_wildcard_characters, wildcard_ranges) end end typographies diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/text_database_parser_4_18.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/text_database_parser_4_18.rb index 03a81b4..0ab2e15 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/text_database_parser_4_18.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/text_database_parser_4_18.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. @@ -56,7 +56,7 @@ class TypographyParser_4_18 fail "ERROR: Illegal characters found in line #{typo_node.line} for " end - @typographies.push Typography.new(typo_id, font, size.to_i, bpp.to_i, false, fallback_character, ellipsis_character, wildcard_characters, wildcard_widget_characters, wildcard_character_ranges) + @typographies.push Typography.new(typo_id, font, size.to_i, bpp.to_i, false, false, fallback_character, ellipsis_character, wildcard_characters, wildcard_widget_characters, wildcard_character_ranges) end @typographies end diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/text_database_upgrader.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/text_database_upgrader.rb index 5c08abf..7351977 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/text_database_upgrader.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/text_database_upgrader.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/text_database_validator.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/text_database_validator.rb index 36c8caf..4c1a4a9 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/text_database_validator.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/text_database_validator.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. @@ -29,7 +29,7 @@ class TextDatabaseValidator case version when '4.18.0', '4.18.1' @typographies, @text_entries = TextDatabaseParser_4_18.new(xml_doc).run - when '4.19.0', '4.19.1', '4.20.0', '4.21.0', '4.21.1', '4.21.2', '4.21.3', '4.21.4', '4.22.0', '4.22.1', '4.23.0', '4.23.1', '4.23.2', '4.24.0', '4.24.1', '4.24.2' + when '4.19.0', '4.19.1', '4.20.0', '4.21.0', '4.21.1', '4.21.2', '4.21.3', '4.21.4', '4.22.0', '4.22.1', '4.23.0', '4.23.1', '4.23.2', '4.24.0', '4.24.1', '4.24.2', '4.25.0' @languages, @typographies, @text_entries = TextDatabaseParser.new(xml_doc).run else fail "ERROR: Unknown text database version: #{version}" diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/text_entries.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/text_entries.rb index f23d450..318c120 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/text_entries.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/text_entries.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/translation_io.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/translation_io.rb index 2ca7f58..2c14a85 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/translation_io.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/translation_io.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. @@ -154,7 +154,11 @@ class TranslationIO import_columns += [ column ] end fail "ERROR: Multiple columns contain translations for language \"#{orig_lang}\"" if header.include?(orig_lang) - header << orig_lang if not orig_lang.nil? + if not orig_lang.nil? + header << orig_lang # Append language name to header array + else + header << "#{column}" # Append unique number otherwise, will not be used, but keeps length of header array correct + end end end end diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/typographies.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/typographies.rb index 3d260ff..3f32b8b 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/typographies.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/typographies.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. @@ -13,10 +13,10 @@ class Typographies @entries = {} end - def add(default_typography, language, font_file, font_size, bpp, is_vector, fallback_character, ellipsis_character, wildcard_characters, widget_wildcard_characters, wildcard_ranges, direction) + def add(default_typography, language, font_file, font_size, bpp, is_vector, is_compressed, fallback_character, ellipsis_character, wildcard_characters, widget_wildcard_characters, wildcard_ranges, direction) name = "#{default_typography}" name += "_AUTO_GENERATED_FOR_#{language}" if !language.empty? - typography = Typography.new(name, font_file, font_size.to_i, bpp.to_i, is_vector, fallback_character, ellipsis_character, wildcard_characters, widget_wildcard_characters, wildcard_ranges) + typography = Typography.new(name, font_file, font_size.to_i, bpp.to_i, is_vector, is_compressed, fallback_character, ellipsis_character, wildcard_characters, widget_wildcard_characters, wildcard_ranges) index = Index.new(default_typography, language) @entries[index] = {:typography => typography, :direction => direction} @@ -84,7 +84,7 @@ private end end -class Typography < Struct.new(:name, :font_file, :font_size, :bpp, :is_vector, :fallback_character, :ellipsis_character, :wildcard_characters, :widget_wildcard_characters, :wildcard_ranges) +class Typography < Struct.new(:name, :font_file, :font_size, :bpp, :is_vector, :is_compressed, :fallback_character, :ellipsis_character, :wildcard_characters, :widget_wildcard_characters, :wildcard_ranges) def cpp_name font_file.gsub(/\.ttf$/,"").gsub(/[^0-9a-zA-Z]/, "_") end diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/version.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/version.rb index 2bfe4df..81ca527 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/version.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/version.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. @@ -10,4 +10,4 @@ ###############################################################################/ # Current version -TOUCHGFX_VERSION = "4.24.2" +TOUCHGFX_VERSION = "4.25.0" diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/xml_reader.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/xml_reader.rb index 49486f2..983636a 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/xml_reader.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/xml_reader.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/xml_validator.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/xml_validator.rb index c7e7bd5..da40b2a 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/xml_validator.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/xml_validator.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/xml_writer.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/xml_writer.rb index 6773083..8364e48 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/xml_writer.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/lib/xml_writer.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/main.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/main.rb index 5c54a91..dd7658e 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/main.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/main.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. @@ -96,12 +96,22 @@ UPGRADE korean_fusion_fonts = [] + copy_translations_to_ram = "no" + compressed_font_cache_size = 4096 + require 'json' application_config = File.join($calling_path, "application.config") + application_config_mod_time = nil if File.file?(application_config) + application_config_mod_time = [File.mtime(application_config), File.ctime(application_config)].max text_conf = JSON.parse(File.read(application_config))["text_configuration"] || {} + cache_size = text_conf["cache_size"] + if cache_size + compressed_font_cache_size = cache_size + end + remap = text_conf["remap"] if remap remap_global = remap == "yes" ? "yes" : "no" @@ -158,6 +168,11 @@ UPGRADE if fusion_fonts korean_fusion_fonts = fusion_fonts end + + translations_to_ram = text_conf["copy_translations_to_ram"] + if translations_to_ram + copy_translations_to_ram = translations_to_ram == "yes" ? "yes" : "no" + end end remap_global ||= "no" @@ -168,12 +183,17 @@ UPGRADE remap_global = "no" end + if copy_translations_to_ram == "yes" && remap_global == "yes" + puts "Disabling global remapping of identical texts, because translations (a language) are copied to RAM" + remap_global = "no" + end + begin # 0. check text database file extension. Allow texts.xlsx as parameter, but require a texts.xml to be present # 1. if text_converter/font_converter is newer than compile_time.cache, remove all files under generated/texts and generated/fonts # 1b if generated/fonts/include/fonts/ApplicationFontProvider.hpp is missing, force generation of TextKeysAndLanguages.hpp # 1c if generated/texts/cache/options.cache contents differ from supplies arguments, force run - # 2. if generated/texts/cache/compile_time.cache is newer than xml file and fonts/ApplicationFontProvider.hpp exists then stop now + # 2. if generated/texts/cache/compile_time.cache is newer than (xml file and application.config file) and fonts/ApplicationFontProvider.hpp exists then stop now # 3. remove UnicodeList*.txt and CharSizes*.csv # 4. create #{@localization_output_path}/include/texts/ and #{@fonts_output_path}/include/fonts/ @@ -234,7 +254,8 @@ UPGRADE # 2: if File.exists?("#{@localization_output_path}/cache/compile_time.cache") && !self.missing_files && !force_run mod_time = [File.mtime(file_name), File.ctime(file_name)].max - if mod_time < File.mtime("#{@localization_output_path}/cache/compile_time.cache") + cache_mod_time = File.mtime("#{@localization_output_path}/cache/compile_time.cache") + if mod_time < cache_mod_time && (application_config_mod_time.nil? or application_config_mod_time < cache_mod_time) exit end end @@ -257,7 +278,7 @@ UPGRADE require 'lib/emitters/fonts_cpp' require 'lib/generator' FontsCpp.font_convert = font_convert_path - Generator.new.run(file_name, @fonts_output_path, @localization_output_path, font_asset_path, data_format, remap_global, autohint_setting, generate_binary_translations, generate_binary_fonts, framebuffer_bpp, generate_font_format, korean_fusion_fonts) + Generator.new.run(file_name, @fonts_output_path, @localization_output_path, font_asset_path, data_format, remap_global, autohint_setting, generate_binary_translations, generate_binary_fonts, framebuffer_bpp, generate_font_format, korean_fusion_fonts, copy_translations_to_ram, compressed_font_cache_size) #touch the cache compile time that we rely on in the makefile FileUtils.touch "#{@localization_output_path}/cache/compile_time.cache" diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/schema/texts.xsd b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/schema/texts.xsd index bc0e717..347db69 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/schema/texts.xsd +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/schema/texts.xsd @@ -65,6 +65,12 @@ + + + + + + @@ -129,6 +135,7 @@ + @@ -143,6 +150,7 @@ + diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/translations.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/translations.rb index 4bd75d8..29bd623 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/translations.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/translations.rb @@ -1,8 +1,8 @@ #!env ruby -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/upgrader.rb b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/upgrader.rb index e0ad59d..4f9bfd8 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/upgrader.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/textconvert/upgrader.rb @@ -1,8 +1,8 @@ #!env ruby -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/videoconvert/bintoelf.rb b/Software/Middlewares/ST/touchgfx/framework/tools/videoconvert/bintoelf.rb index 511b82a..933fc89 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/videoconvert/bintoelf.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/videoconvert/bintoelf.rb @@ -1,8 +1,8 @@ #!env ruby -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. diff --git a/Software/Middlewares/ST/touchgfx/framework/tools/videoconvert/videoconvert.rb b/Software/Middlewares/ST/touchgfx/framework/tools/videoconvert/videoconvert.rb index 6adf3b4..a2ed13a 100644 --- a/Software/Middlewares/ST/touchgfx/framework/tools/videoconvert/videoconvert.rb +++ b/Software/Middlewares/ST/touchgfx/framework/tools/videoconvert/videoconvert.rb @@ -1,7 +1,7 @@ -# Copyright (c) 2018(-2024) STMicroelectronics. +# Copyright (c) 2018(-2025) STMicroelectronics. # All rights reserved. # -# This file is part of the TouchGFX 4.24.2 distribution. +# This file is part of the TouchGFX 4.25.0 distribution. # # This software is licensed under terms that can be found in the LICENSE file in # the root directory of this software component. @@ -9,6 +9,7 @@ # ###############################################################################/ require 'fileutils' +require 'nokogiri' def root_dir # Get the dirname of this (videoconvert.rb) file: @@ -38,6 +39,27 @@ BANNER end end + def self.check_compiler(project_file, dual_core) + project_file_contents = File.read(project_file, :encoding=>'utf-8') + project_file_xml ||= Nokogiri::XML(project_file_contents) do |config| + config.default_xml.noblanks + end + project_node = project_file_xml.at_xpath('./Project') + + #Check compiler version + ac6_node = project_node.xpath("//uAC6") + armclang_enabled = 0 + + armclang_enabled = ac6_node.first.inner_html.to_i if !ac6_node.nil? && !ac6_node.empty? + if dual_core && armclang_enabled != 1 + armclang_enabled = ac6_node[1].inner_html.to_i if !ac6_node.nil? && !ac6_node.empty? + end + if armclang_enabled == 1 + return "ARMCLANG" + else + return "ARMCC" + end + end def self.bin_to_obj(bin, out_dir) @@ -148,6 +170,11 @@ BANNER end # Determine if keil is toolchain and structure of project + compiler = "ARMCC" + project_name_suffix = "" + sub_folder = "" + prefix = ".." + keil_project_file = "" touchgfx_folder_path = "../TouchGFX" toolchain_is_keil = false # Assume it is not Keil dual_core = false # Assume it is not dual core @@ -165,7 +192,8 @@ BANNER content = File.read(project_file, :encoding=>'utf-8') dual_core = content.match(/Mcu.ThirdParty\d+_Instance=STMicroelectronics.X-CUBE-TOUCHGFX.\d+.\d+.\d+_M(\d+)/) if dual_core then - touchgfx_folder_path = "../CM#{$1}/TouchGFX" + touchgfx_folder_path = "../CM#{$1}/TouchGFX" + prefix = "../.." end # Determine if context enabled project @@ -173,20 +201,57 @@ BANNER content = File.read(project_file, :encoding=>'utf-8') context_enabled = content.match(/Mcu.ThirdParty\d+_Instance=STMicroelectronics.X-CUBE-TOUCHGFX.\d+.\d+.\d+_App/) if context_enabled then - touchgfx_folder_path = "../../Appli/TouchGFX" + touchgfx_folder_path = "../../Appli/TouchGFX" + prefix = "../.." + project_name_suffix << "Appli" + sub_folder << "Appli" end # Determine if trust zone (non secure only) project # From cubemx_project_selector.rb in touchgfx-cli: content = File.read(project_file, :encoding=>'utf-8') - trust_zone = content.match(/Mcu.ThirdParty\d+_Instance=STMicroelectronics.X-CUBE-TOUCHGFX.\d+.\d+.\d+_M\d+NS/) + trust_zone = content.match(/Mcu.ThirdParty\d+_Instance=STMicroelectronics.X-CUBE-TOUCHGFX.\d+.\d+.\d+_(M\d+NS|M\d+S|AppNS|AppS)/) if trust_zone # match expression is for dual is also true for trust zone, so we must disable dual core dual_core = false - touchgfx_folder_path = "../NonSecure/TouchGFX" + prefix = "../.." + if content.match(/Mcu.ThirdParty\d+_Instance=STMicroelectronics.X-CUBE-TOUCHGFX.\d+.\d+.\d+_AppNS/) + touchgfx_folder_path = "../../AppliNonSecure/TouchGFX" + project_name_suffix << "NonSecure" + sub_folder << "NonSecure" + end + + if content.match(/Mcu.ThirdParty\d+_Instance=STMicroelectronics.X-CUBE-TOUCHGFX.\d+.\d+.\d+_AppS/) + touchgfx_folder_path = "../../AppliSecure/TouchGFX" + project_name_suffix << "Secure" + sub_folder << "Secure" + end + + if content.match(/Mcu.ThirdParty\d+_Instance=STMicroelectronics.X-CUBE-TOUCHGFX.\d+.\d+.\d+_M\d+NS/) + touchgfx_folder_path = "../NonSecure/TouchGFX" + project_name_suffix << "NS" + end + + if content.match(/Mcu.ThirdParty\d+_Instance=STMicroelectronics.X-CUBE-TOUCHGFX.\d+.\d+.\d+_M\d+S/) + touchgfx_folder_path = "../Secure/TouchGFX" + project_name_suffix << "S" + end + end + sub_folder.prepend("/") if sub_folder != "" + + if toolchain_is_keil + if context_enabled + keil_project_file = "#{prefix}/MDK-ARM#{sub_folder}/#{File.basename(project_file, ".ioc")}_#{project_name_suffix}.uvprojx" + elsif trust_zone + keil_project_file = "#{prefix}/MDK-ARM/#{File.basename(project_file, ".ioc")}_#{project_name_suffix}.uvprojx" + else + keil_project_file = "#{prefix}/MDK-ARM/#{File.basename(project_file, ".ioc")}.uvprojx" + end + + compiler = check_compiler(keil_project_file, dual_core) end end - + # Generate header file hpp_content = "" keil_export = "" @@ -207,8 +272,13 @@ BANNER hpp_content += "extern const uint8_t #{start_symbol}[];\n" hpp_content += "#endif\n\n" - keil_export += "\tEXPORT\t#{start_symbol}\n" - keil_incbin += "\n#{start_symbol}\n\tINCBIN\t#{touchgfx_folder_path}/#{bin}\n" + if compiler == "ARMCLANG" + keil_export += ".global #{start_symbol}\n" + keil_incbin += "\n#{start_symbol}:\n\t.incbin \"#{touchgfx_folder_path}/#{bin}\"\n" + else + keil_export += "\tEXPORT\t#{start_symbol}\n" + keil_incbin += "\n#{start_symbol}\n\tINCBIN\t#{touchgfx_folder_path}/#{bin}\n" + end end hpp_file = File.join(out_dir, 'include', 'videos', 'VideoDatabase.hpp') @@ -235,12 +305,20 @@ BANNER end else # There are videos and we are on Keil. Generate Videos.s - write_file(keil_file, - "; Generated by videoconvert. Please, do not edit!\n\n"+ - "\tAREA\tExtFlashSection, DATA, READONLY\n\n"+ - keil_export+ - keil_incbin+ - "\n\tEND\n") + if compiler == "ARMCLANG" + write_file(keil_file, + "/* Generated by videoconvert. Please, do not edit! */\n\n"+ + ".section ExtFlashSection, \"a\"\n\n"+ + keil_export+ + keil_incbin) + else + write_file(keil_file, + "; Generated by videoconvert. Please, do not edit!\n\n"+ + "\tAREA\tExtFlashSection, DATA, READONLY\n\n"+ + keil_export+ + keil_incbin+ + "\n\tEND\n") + end end end end diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/IAR8.x/touchgfx_core.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/IAR8.x/touchgfx_core.a index 5f5537b..99ebef7 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/IAR8.x/touchgfx_core.a and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/IAR8.x/touchgfx_core.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/IAR8.x/touchgfx_core_release.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/IAR8.x/touchgfx_core_release.a index 8d32277..7229f19 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/IAR8.x/touchgfx_core_release.a and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/IAR8.x/touchgfx_core_release.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/IAR9.x/touchgfx_core.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/IAR9.x/touchgfx_core.a index 0d30674..a6d3ca3 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/IAR9.x/touchgfx_core.a and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/IAR9.x/touchgfx_core.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/IAR9.x/touchgfx_core_libcpp.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/IAR9.x/touchgfx_core_libcpp.a new file mode 100644 index 0000000..12177d8 Binary files /dev/null and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/IAR9.x/touchgfx_core_libcpp.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/IAR9.x/touchgfx_core_release.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/IAR9.x/touchgfx_core_release.a index 925443d..ea22075 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/IAR9.x/touchgfx_core_release.a and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/IAR9.x/touchgfx_core_release.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/IAR9.x/touchgfx_core_release_libcpp.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/IAR9.x/touchgfx_core_release_libcpp.a new file mode 100644 index 0000000..d91b130 Binary files /dev/null and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/IAR9.x/touchgfx_core_release_libcpp.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/Keil/touchgfx_core.lib b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/Keil/touchgfx_core.lib index 61cbd0a..dcd2fe8 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/Keil/touchgfx_core.lib and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/Keil/touchgfx_core.lib differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/Keil6.x/touchgfx_core_wchar16.lib b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/Keil6.x/touchgfx_core_wchar16.lib index 5d7b5f7..e1aedf7 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/Keil6.x/touchgfx_core_wchar16.lib and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/Keil6.x/touchgfx_core_wchar16.lib differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/Keil6.x/touchgfx_core_wchar32.lib b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/Keil6.x/touchgfx_core_wchar32.lib index da0ca6a..a12dfb7 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/Keil6.x/touchgfx_core_wchar32.lib and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/Keil6.x/touchgfx_core_wchar32.lib differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/gcc/libtouchgfx.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/gcc/libtouchgfx.a index 84ad673..8022ae3 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/gcc/libtouchgfx.a and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m0/gcc/libtouchgfx.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/IAR8.x/touchgfx_core.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/IAR8.x/touchgfx_core.a index e81ea57..d5353a7 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/IAR8.x/touchgfx_core.a and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/IAR8.x/touchgfx_core.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/IAR8.x/touchgfx_core_release.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/IAR8.x/touchgfx_core_release.a index 729a2c9..b8f16f9 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/IAR8.x/touchgfx_core_release.a and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/IAR8.x/touchgfx_core_release.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/IAR9.x/touchgfx_core.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/IAR9.x/touchgfx_core.a index 0688044..bfb1fa0 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/IAR9.x/touchgfx_core.a and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/IAR9.x/touchgfx_core.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/IAR9.x/touchgfx_core_libcpp.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/IAR9.x/touchgfx_core_libcpp.a new file mode 100644 index 0000000..8ba317d Binary files /dev/null and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/IAR9.x/touchgfx_core_libcpp.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/IAR9.x/touchgfx_core_release.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/IAR9.x/touchgfx_core_release.a index 67f90a5..e6b18f5 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/IAR9.x/touchgfx_core_release.a and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/IAR9.x/touchgfx_core_release.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/IAR9.x/touchgfx_core_release_libcpp.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/IAR9.x/touchgfx_core_release_libcpp.a new file mode 100644 index 0000000..539f353 Binary files /dev/null and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/IAR9.x/touchgfx_core_release_libcpp.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/Keil6.x/touchgfx_core_wchar16.lib b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/Keil6.x/touchgfx_core_wchar16.lib index 7da80f3..4662d4b 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/Keil6.x/touchgfx_core_wchar16.lib and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/Keil6.x/touchgfx_core_wchar16.lib differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/Keil6.x/touchgfx_core_wchar32.lib b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/Keil6.x/touchgfx_core_wchar32.lib index e59b47d..843ce09 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/Keil6.x/touchgfx_core_wchar32.lib and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/Keil6.x/touchgfx_core_wchar32.lib differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/gcc/libtouchgfx-float-abi-hard.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/gcc/libtouchgfx-float-abi-hard.a index 366dc62..9f48a31 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/gcc/libtouchgfx-float-abi-hard.a and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/gcc/libtouchgfx-float-abi-hard.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/gcc/libtouchgfx.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/gcc/libtouchgfx.a index 7a03b2e..5414fd0 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/gcc/libtouchgfx.a and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m33/gcc/libtouchgfx.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/IAR8.x/touchgfx_core.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/IAR8.x/touchgfx_core.a index e85072a..49292bb 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/IAR8.x/touchgfx_core.a and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/IAR8.x/touchgfx_core.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/IAR8.x/touchgfx_core_release.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/IAR8.x/touchgfx_core_release.a index f1566ba..e82c91d 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/IAR8.x/touchgfx_core_release.a and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/IAR8.x/touchgfx_core_release.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/IAR9.x/touchgfx_core.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/IAR9.x/touchgfx_core.a index c12db84..01820a2 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/IAR9.x/touchgfx_core.a and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/IAR9.x/touchgfx_core.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/IAR9.x/touchgfx_core_libcpp.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/IAR9.x/touchgfx_core_libcpp.a new file mode 100644 index 0000000..f730795 Binary files /dev/null and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/IAR9.x/touchgfx_core_libcpp.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/IAR9.x/touchgfx_core_release.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/IAR9.x/touchgfx_core_release.a index 71ab999..17b4ad4 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/IAR9.x/touchgfx_core_release.a and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/IAR9.x/touchgfx_core_release.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/IAR9.x/touchgfx_core_release_libcpp.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/IAR9.x/touchgfx_core_release_libcpp.a new file mode 100644 index 0000000..3985c9c Binary files /dev/null and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/IAR9.x/touchgfx_core_release_libcpp.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/Keil/touchgfx_core.lib b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/Keil/touchgfx_core.lib index cddcd26..1a08f5b 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/Keil/touchgfx_core.lib and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/Keil/touchgfx_core.lib differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/Keil6.x/touchgfx_core_wchar16.lib b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/Keil6.x/touchgfx_core_wchar16.lib index 2c756a0..14d2f7d 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/Keil6.x/touchgfx_core_wchar16.lib and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/Keil6.x/touchgfx_core_wchar16.lib differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/Keil6.x/touchgfx_core_wchar32.lib b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/Keil6.x/touchgfx_core_wchar32.lib index 22a4aa0..1234a69 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/Keil6.x/touchgfx_core_wchar32.lib and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/Keil6.x/touchgfx_core_wchar32.lib differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/gcc/libtouchgfx-float-abi-hard.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/gcc/libtouchgfx-float-abi-hard.a index 9a18946..3dd02e3 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/gcc/libtouchgfx-float-abi-hard.a and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/gcc/libtouchgfx-float-abi-hard.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/gcc/libtouchgfx.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/gcc/libtouchgfx.a index b6bb99e..d34986f 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/gcc/libtouchgfx.a and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m4f/gcc/libtouchgfx.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m55/IAR9.x/touchgfx_core.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m55/IAR9.x/touchgfx_core.a index e7c8976..75bf72b 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m55/IAR9.x/touchgfx_core.a and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m55/IAR9.x/touchgfx_core.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m55/IAR9.x/touchgfx_core_libcpp.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m55/IAR9.x/touchgfx_core_libcpp.a new file mode 100644 index 0000000..026b4f8 Binary files /dev/null and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m55/IAR9.x/touchgfx_core_libcpp.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m55/IAR9.x/touchgfx_core_release.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m55/IAR9.x/touchgfx_core_release.a index c2bc15d..bb9476b 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m55/IAR9.x/touchgfx_core_release.a and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m55/IAR9.x/touchgfx_core_release.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m55/IAR9.x/touchgfx_core_release_libcpp.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m55/IAR9.x/touchgfx_core_release_libcpp.a new file mode 100644 index 0000000..10f922c Binary files /dev/null and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m55/IAR9.x/touchgfx_core_release_libcpp.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m55/Keil6.x/touchgfx_core_wchar16.lib b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m55/Keil6.x/touchgfx_core_wchar16.lib index e79ec1b..fa05b57 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m55/Keil6.x/touchgfx_core_wchar16.lib and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m55/Keil6.x/touchgfx_core_wchar16.lib differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m55/Keil6.x/touchgfx_core_wchar32.lib b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m55/Keil6.x/touchgfx_core_wchar32.lib index 81b6660..f8d58b0 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m55/Keil6.x/touchgfx_core_wchar32.lib and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m55/Keil6.x/touchgfx_core_wchar32.lib differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m55/gcc/libtouchgfx-float-abi-hard.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m55/gcc/libtouchgfx-float-abi-hard.a index da6a97f..1c2ab3e 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m55/gcc/libtouchgfx-float-abi-hard.a and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m55/gcc/libtouchgfx-float-abi-hard.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m55/gcc/libtouchgfx.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m55/gcc/libtouchgfx.a index faa00e5..b3be6ef 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m55/gcc/libtouchgfx.a and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m55/gcc/libtouchgfx.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/IAR8.x/touchgfx_core.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/IAR8.x/touchgfx_core.a index 89276b5..143cee0 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/IAR8.x/touchgfx_core.a and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/IAR8.x/touchgfx_core.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/IAR8.x/touchgfx_core_release.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/IAR8.x/touchgfx_core_release.a index 302716b..b1f9121 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/IAR8.x/touchgfx_core_release.a and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/IAR8.x/touchgfx_core_release.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/IAR9.x/touchgfx_core.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/IAR9.x/touchgfx_core.a index 1df2792..93a8cf5 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/IAR9.x/touchgfx_core.a and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/IAR9.x/touchgfx_core.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/IAR9.x/touchgfx_core_libcpp.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/IAR9.x/touchgfx_core_libcpp.a new file mode 100644 index 0000000..2386012 Binary files /dev/null and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/IAR9.x/touchgfx_core_libcpp.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/IAR9.x/touchgfx_core_release.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/IAR9.x/touchgfx_core_release.a index e5bd7be..914b2fe 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/IAR9.x/touchgfx_core_release.a and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/IAR9.x/touchgfx_core_release.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/IAR9.x/touchgfx_core_release_libcpp.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/IAR9.x/touchgfx_core_release_libcpp.a new file mode 100644 index 0000000..f284b51 Binary files /dev/null and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/IAR9.x/touchgfx_core_release_libcpp.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/Keil/touchgfx_core.lib b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/Keil/touchgfx_core.lib index 554fc7c..2e9ba34 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/Keil/touchgfx_core.lib and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/Keil/touchgfx_core.lib differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/Keil6.x/touchgfx_core_wchar16.lib b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/Keil6.x/touchgfx_core_wchar16.lib index 425dc86..9efd569 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/Keil6.x/touchgfx_core_wchar16.lib and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/Keil6.x/touchgfx_core_wchar16.lib differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/Keil6.x/touchgfx_core_wchar32.lib b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/Keil6.x/touchgfx_core_wchar32.lib index 2282f38..0aa1d82 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/Keil6.x/touchgfx_core_wchar32.lib and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/Keil6.x/touchgfx_core_wchar32.lib differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/gcc/libtouchgfx-float-abi-hard.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/gcc/libtouchgfx-float-abi-hard.a index 12adaeb..b37b1e9 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/gcc/libtouchgfx-float-abi-hard.a and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/gcc/libtouchgfx-float-abi-hard.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/gcc/libtouchgfx.a b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/gcc/libtouchgfx.a index 7b89d05..0b6e684 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/gcc/libtouchgfx.a and b/Software/Middlewares/ST/touchgfx/lib/core/cortex_m7/gcc/libtouchgfx.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/linux/libtouchgfx.a b/Software/Middlewares/ST/touchgfx/lib/linux/libtouchgfx.a index 53458f8..93e02c4 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/linux/libtouchgfx.a and b/Software/Middlewares/ST/touchgfx/lib/linux/libtouchgfx.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/win/mingw32/libtouchgfx.a b/Software/Middlewares/ST/touchgfx/lib/win/mingw32/libtouchgfx.a index ff1026a..3feb95f 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/win/mingw32/libtouchgfx.a and b/Software/Middlewares/ST/touchgfx/lib/win/mingw32/libtouchgfx.a differ diff --git a/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v100.lib b/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v100.lib index 64b4198..686ca47 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v100.lib and b/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v100.lib differ diff --git a/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v100_debug.lib b/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v100_debug.lib index ce340d7..8095737 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v100_debug.lib and b/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v100_debug.lib differ diff --git a/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v110.lib b/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v110.lib index 0092295..5b68884 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v110.lib and b/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v110.lib differ diff --git a/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v110_debug.lib b/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v110_debug.lib index ea0dfe0..ad9a6e7 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v110_debug.lib and b/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v110_debug.lib differ diff --git a/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v120.lib b/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v120.lib index 9090b39..fadc49f 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v120.lib and b/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v120.lib differ diff --git a/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v120_debug.lib b/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v120_debug.lib index 37876fa..f40d544 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v120_debug.lib and b/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v120_debug.lib differ diff --git a/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v140.lib b/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v140.lib index 6391195..fe984be 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v140.lib and b/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v140.lib differ diff --git a/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v140_debug.lib b/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v140_debug.lib index 30ea8ac..4c741d0 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v140_debug.lib and b/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v140_debug.lib differ diff --git a/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v141.lib b/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v141.lib index 56f9034..4101da6 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v141.lib and b/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v141.lib differ diff --git a/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v141_debug.lib b/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v141_debug.lib index b6bed7e..8a59c05 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v141_debug.lib and b/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v141_debug.lib differ diff --git a/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v142.lib b/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v142.lib index 56f9034..4101da6 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v142.lib and b/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v142.lib differ diff --git a/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v142_debug.lib b/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v142_debug.lib index b6bed7e..8a59c05 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v142_debug.lib and b/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v142_debug.lib differ diff --git a/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v143.lib b/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v143.lib index 56f9034..4101da6 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v143.lib and b/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v143.lib differ diff --git a/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v143_debug.lib b/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v143_debug.lib index b6bed7e..8a59c05 100644 Binary files a/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v143_debug.lib and b/Software/Middlewares/ST/touchgfx/lib/win/msvs/libtouchgfx_v143_debug.lib differ diff --git a/Software/STM32Make.make b/Software/STM32Make.make index c2dbdfd..22638a4 100644 --- a/Software/STM32Make.make +++ b/Software/STM32Make.make @@ -123,18 +123,10 @@ Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c \ Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_delayblock.c \ Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_fmc.c \ Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_sdmmc.c \ -Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_usb.c \ -TouchGFX/App/app_touchgfx.c +Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_usb.c CXX_SOURCES = \ -TouchGFX/target/STM32TouchController.cpp \ -TouchGFX/target/TouchGFXGPIO.cpp \ -TouchGFX/target/TouchGFXHAL.cpp \ -TouchGFX/target/generated/OSWrappers.cpp \ -TouchGFX/target/generated/STM32DMA.cpp \ -TouchGFX/target/generated/TouchGFXConfiguration.cpp \ -TouchGFX/target/generated/TouchGFXGeneratedHAL.cpp # ASM sources @@ -232,15 +224,12 @@ C_INCLUDES = \ -IDrivers/STM32H7xx_HAL_Driver/Inc \ -IDrivers/STM32H7xx_HAL_Driver/Inc/Legacy \ -IMiddlewares/ST/touchgfx/framework/include \ --ITouchGFX/App \ -ITouchGFX/generated/fonts/include \ -ITouchGFX/generated/gui_generated/include \ -ITouchGFX/generated/images/include \ -ITouchGFX/generated/texts/include \ -ITouchGFX/generated/videos/include \ --ITouchGFX/gui/include \ --ITouchGFX/target \ --ITouchGFX/target/generated +-ITouchGFX/gui/include diff --git a/Software/TouchGFX/App/app_touchgfx.c b/Software/TouchGFX/App/app_touchgfx.c deleted file mode 100644 index 556061e..0000000 --- a/Software/TouchGFX/App/app_touchgfx.c +++ /dev/null @@ -1,74 +0,0 @@ -/** - ****************************************************************************** - * File Name : app_touchgfx.c - ****************************************************************************** - * This file was created by TouchGFX Generator 4.25.0. This file is only - * generated once! Delete this file from your project and re-generate code - * using STM32CubeMX or change this file manually to update it. - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "app_touchgfx.h" - -/* Private includes ----------------------------------------------------------*/ -/* USER CODE BEGIN Includes */ - -/* USER CODE END Includes */ - -/* Private define ------------------------------------------------------------*/ - -/* USER CODE BEGIN PD */ - -/* USER CODE END PD */ - -/* Private macro -------------------------------------------------------------*/ -/* USER CODE BEGIN PM */ - -/* USER CODE END PM */ - -/* Private variables ---------------------------------------------------------*/ - -/* USER CODE BEGIN PV */ - -/* USER CODE END PV */ - -/* Private function prototypes -----------------------------------------------*/ -void touchgfx_init(void); -void touchgfx_components_init(void); -void touchgfx_taskEntry(void); - -/* USER CODE BEGIN PFP */ - -/* USER CODE END PFP */ - -/** - * Initialize TouchGFX application - */ -void MX_TouchGFX_Init(void) -{ - // Calling forward to touchgfx_init in C++ domain - touchgfx_components_init(); - touchgfx_init(); -} - -/** - * TouchGFX application entry function - */ -void MX_TouchGFX_Process(void) -{ - // Calling forward to touchgfx_taskEntry in C++ domain - touchgfx_taskEntry(); -} - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Software/TouchGFX/App/app_touchgfx.h b/Software/TouchGFX/App/app_touchgfx.h deleted file mode 100644 index b28cfa7..0000000 --- a/Software/TouchGFX/App/app_touchgfx.h +++ /dev/null @@ -1,58 +0,0 @@ -/** - ****************************************************************************** - * File Name : app_touchgfx.h - ****************************************************************************** - * This file was created by TouchGFX Generator 4.25.0. This file is only - * generated once! Delete this file from your project and re-generate code - * using STM32CubeMX or change this file manually to update it. - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef APP_TOUCHGFX_H -#define APP_TOUCHGFX_H -#ifdef __cplusplus -extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ - -/* Exported types ------------------------------------------------------------*/ -/* USER CODE BEGIN ET */ - -/* USER CODE END ET */ - -/* Exported constants --------------------------------------------------------*/ -/* USER CODE BEGIN EC */ - -/* USER CODE END EC */ - -/* Exported macro ------------------------------------------------------------*/ -/* USER CODE BEGIN EM */ - -/* USER CODE END EM */ - -/* Exported functions prototypes ---------------------------------------------*/ -void MX_TouchGFX_Init(void); -void MX_TouchGFX_Process(void); - -/* USER CODE BEGIN EFP */ - -/* USER CODE END EFP */ - -#ifdef __cplusplus -} -#endif -#endif /* APP_TOUCHGFX_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Software/TouchGFX/FT23_Charger.touchgfx b/Software/TouchGFX/FT23_Charger.touchgfx index a89290c..5056b7d 100644 --- a/Software/TouchGFX/FT23_Charger.touchgfx +++ b/Software/TouchGFX/FT23_Charger.touchgfx @@ -77,5 +77,5 @@ "OptionalComponents": [], "AdditionalFeatures": [] }, - "Version": "4.24.2" + "Version": "4.25.0" } \ No newline at end of file diff --git a/Software/TouchGFX/FT23_Charger_backup.touchgfx b/Software/TouchGFX/FT23_Charger_backup.touchgfx new file mode 100644 index 0000000..a89290c --- /dev/null +++ b/Software/TouchGFX/FT23_Charger_backup.touchgfx @@ -0,0 +1,81 @@ +{ + "Application": { + "Screens": [ + { + "Name": "screen", + "Components": [], + "Interactions": [ + { + "InteractionName": "Interaction1", + "Trigger": { + "Type": "TriggerClicked" + }, + "Action": { + "Type": "ActionNone" + } + } + ], + "CustomActions": [ + { + "Name": "action1" + } + ] + } + ], + "CustomContainerDefinitions": [], + "Name": "MyApplication", + "Resolution": { + "Width": 1024, + "Height": 600 + }, + "SelectedColorDepth": 24, + "StartupScreenName": "screen", + "SelectedStartupLanguage": "GB", + "TouchGfxPath": "../Middlewares/ST/touchgfx", + "UIPath": ".", + "AvailableColorDepths": [ + 24 + ], + "AvailableLCDs": { + "24": "LCD24bpp" + }, + "AvailableSections": [ + "ExtFlashSection", + "IntFlashSection" + ], + "AvailableResolutions": [ + { + "Width": 1024, + "Height": 600 + } + ], + "PhysicalButtons": [], + "FrameworkFeatures": { + "LCD24bpp": { + "Id": "LCD24bpp", + "IsEnabled": true + } + }, + "GenerateAssetsCommand": "make -f simulator/gcc/Makefile assets -j8", + "PostGenerateCommand": "touchgfx update_project --project-file=simulator/msvs/Application.vcxproj", + "PostGenerateCommandOverride": "", + "PostGenerateTargetCommand": "touchgfx update_project", + "PostGenerateTargetCommandOverride": "", + "CompileSimulatorCommand": "make -f simulator/gcc/Makefile -j8", + "RunSimulatorCommand": "build\\bin\\simulator.exe", + "LandscapeSkinX": 0, + "LandscapeSkinY": 0, + "PortraitSkinX": 0, + "PortraitSkinY": 0, + "DisplayOrientation": "Landscape", + "Family": "STM32H7", + "SubFamily": "STM32H7A3/7B3", + "Toolchain": "Makefile", + "Platform": "m7", + "ProjectFile": "../FT23_Charger.ioc", + "OptionalComponentsRoot": "../Middlewares/ST/touchgfx_components", + "OptionalComponents": [], + "AdditionalFeatures": [] + }, + "Version": "4.24.2" +} \ No newline at end of file diff --git a/Software/TouchGFX/application.config b/Software/TouchGFX/application.config index 5252c65..8d50df3 100644 --- a/Software/TouchGFX/application.config +++ b/Software/TouchGFX/application.config @@ -17,6 +17,8 @@ "binary_translations": "no", "binary_fonts": "no", "framebuffer_bpp": "24", - "font_format": "0" + "font_format": "0", + "cache_size": 4096, + "copy_translations_to_ram": "no" } } \ No newline at end of file diff --git a/Software/TouchGFX/assets/texts/texts.xsd b/Software/TouchGFX/assets/texts/texts.xsd index bc0e717..347db69 100644 --- a/Software/TouchGFX/assets/texts/texts.xsd +++ b/Software/TouchGFX/assets/texts/texts.xsd @@ -65,6 +65,12 @@ + + + + + + @@ -129,6 +135,7 @@ + @@ -143,6 +150,7 @@ + diff --git a/Software/TouchGFX/config/gcc/app.mk b/Software/TouchGFX/config/gcc/app.mk index 5a5398a..29e03be 100644 --- a/Software/TouchGFX/config/gcc/app.mk +++ b/Software/TouchGFX/config/gcc/app.mk @@ -3,6 +3,6 @@ touchgfx_path := ../Middlewares/ST/touchgfx # Location of the TouchGFX Environment -touchgfx_env := C:/TouchGFX/4.24.2/env +touchgfx_env := C:/TouchGFX/4.25.0/env # Optional additional compiler flags user_cflags := -DUSE_BPP=24 diff --git a/Software/TouchGFX/generated/fonts/cache/CompressedFontCacheHpp.cache b/Software/TouchGFX/generated/fonts/cache/CompressedFontCacheHpp.cache new file mode 100644 index 0000000..29578dd --- /dev/null +++ b/Software/TouchGFX/generated/fonts/cache/CompressedFontCacheHpp.cache @@ -0,0 +1 @@ +{"cache_size":4096} \ No newline at end of file diff --git a/Software/TouchGFX/generated/fonts/cache/CompressedUnmappedFontCacheHpp.cache b/Software/TouchGFX/generated/fonts/cache/CompressedUnmappedFontCacheHpp.cache new file mode 100644 index 0000000..29578dd --- /dev/null +++ b/Software/TouchGFX/generated/fonts/cache/CompressedUnmappedFontCacheHpp.cache @@ -0,0 +1 @@ +{"cache_size":4096} \ No newline at end of file diff --git a/Software/TouchGFX/generated/fonts/cache/Font_verdana_10_4bppCpp.cache b/Software/TouchGFX/generated/fonts/cache/Font_verdana_10_4bppCpp.cache index 329fb98..130058a 100644 --- a/Software/TouchGFX/generated/fonts/cache/Font_verdana_10_4bppCpp.cache +++ b/Software/TouchGFX/generated/fonts/cache/Font_verdana_10_4bppCpp.cache @@ -1,2 +1,2 @@ -AH:0 BA:1 FC:63 EC:0 FF:0 CF:1 FU:0 +AH:0 BA:1 FC:63 EC:0 FF:0 CF:1 FU:0 ZB:0 63 diff --git a/Software/TouchGFX/generated/fonts/cache/Font_verdana_20_4bppCpp.cache b/Software/TouchGFX/generated/fonts/cache/Font_verdana_20_4bppCpp.cache index 48d717b..08c570b 100644 --- a/Software/TouchGFX/generated/fonts/cache/Font_verdana_20_4bppCpp.cache +++ b/Software/TouchGFX/generated/fonts/cache/Font_verdana_20_4bppCpp.cache @@ -1,2 +1,2 @@ -AH:0 BA:1 FC:63 EC:0 FF:0 CF:0 FU:0 +AH:0 BA:1 FC:63 EC:0 FF:0 CF:0 FU:0 ZB:0 63 diff --git a/Software/TouchGFX/generated/fonts/cache/Font_verdana_40_4bppCpp.cache b/Software/TouchGFX/generated/fonts/cache/Font_verdana_40_4bppCpp.cache index 48d717b..08c570b 100644 --- a/Software/TouchGFX/generated/fonts/cache/Font_verdana_40_4bppCpp.cache +++ b/Software/TouchGFX/generated/fonts/cache/Font_verdana_40_4bppCpp.cache @@ -1,2 +1,2 @@ -AH:0 BA:1 FC:63 EC:0 FF:0 CF:0 FU:0 +AH:0 BA:1 FC:63 EC:0 FF:0 CF:0 FU:0 ZB:0 63 diff --git a/Software/TouchGFX/generated/fonts/include/fonts/CompressedFontCache.hpp b/Software/TouchGFX/generated/fonts/include/fonts/CompressedFontCache.hpp new file mode 100644 index 0000000..8389946 --- /dev/null +++ b/Software/TouchGFX/generated/fonts/include/fonts/CompressedFontCache.hpp @@ -0,0 +1,42 @@ +/* DO NOT EDIT THIS FILE */ +/* This file is autogenerated by the text-database code generator */ + +#ifndef TOUCHGFX_COMPRESSEDFONTCACHE_HPP +#define TOUCHGFX_COMPRESSEDFONTCACHE_HPP + +#include +#include + +namespace touchgfx +{ +class CompressedFontCache +{ +public: + static void clearCache(); + static const uint8_t* hasCachedGlyph(const GlyphNode* glyphNode); + static void unableToCache(const GlyphNode* glyphNode, int byteSize); + static const uint8_t* cacheGlyph(const GlyphNode* glyph, const uint8_t* compressedData); + static int usedMemory() + { + return pixelsTop - (uint8_t*)bitmapFontCache + glyphsAllocated * sizeof(BitmapFontCacheKey); + } + + static int cacheClearCounter; +private: + static uint8_t* decompressGlyph(uint8_t* pixelsTop, const GlyphNode* glyphNode, const uint8_t* compressedData); + + struct BitmapFontCacheKey + { + const void* glyphNode; + const uint8_t* pixels; + }; + + static const int cacheSizeBytes = 4096; + static const int cacheWords = (cacheSizeBytes + 3) / 4; + static uint32_t bitmapFontCache[cacheWords]; + static uint8_t* pixelsTop; + static int glyphsAllocated; +}; +} // namespace touchgfx + +#endif // TOUCHGFX_COMPRESSEDFONTCACHE_HPP diff --git a/Software/TouchGFX/generated/fonts/include/fonts/CompressedUnmappedFontCache.hpp b/Software/TouchGFX/generated/fonts/include/fonts/CompressedUnmappedFontCache.hpp new file mode 100644 index 0000000..659cfbb --- /dev/null +++ b/Software/TouchGFX/generated/fonts/include/fonts/CompressedUnmappedFontCache.hpp @@ -0,0 +1,46 @@ +/* DO NOT EDIT THIS FILE */ +/* This file is autogenerated by the text-database code generator */ + +#ifndef TOUCHGFX_COMPRESSEDUNMAPPEDFONTCACHE_HPP +#define TOUCHGFX_COMPRESSEDUNMAPPEDFONTCACHE_HPP + +#include +#include +#include + +namespace touchgfx +{ +class CompressedUnmappedFontCache +{ +public: + static void clearCache(); + static const GlyphNode* hasCachedGlyphNode(const GlyphNode* glyphNode); + static const GlyphNode* hasCachedGlyphData(const GlyphNode* glyphNode, const uint8_t*& pixelData); + static void unableToCache(const GlyphNode* glyphNode, int byteSize); + static GlyphNode* cacheGlyphNode(const GlyphNode* glyph); + static const uint8_t* cacheGlyphData(const GlyphNode* glyph, const uint8_t* compressedData, touchgfx::FlashDataReader* reader); + static int usedMemory() + { + return pixelsTop - (uint8_t*)bitmapFontCache + glyphsAllocated * sizeof(BitmapFontCacheKey); + } + + static int cacheClearCounter; +private: + static uint8_t* decompressGlyph(uint8_t* pixelsTop, const GlyphNode* glyphNode, const uint8_t* compressedData, touchgfx::FlashDataReader* reader); + + struct BitmapFontCacheKey + { + const void* glyphNodeSrc; + GlyphNode glyphNodeCopy; + const uint8_t* pixels; + }; + + static const int cacheSizeBytes = 4096; + static const int cacheWords = (cacheSizeBytes + 3) / 4; + static uint32_t bitmapFontCache[cacheWords]; + static uint8_t* pixelsTop; + static int glyphsAllocated; +}; +} // namespace touchgfx + +#endif // TOUCHGFX_COMPRESSEDUNMAPPEDFONTCACHE_HPP diff --git a/Software/TouchGFX/generated/fonts/include/fonts/GeneratedFont.hpp b/Software/TouchGFX/generated/fonts/include/fonts/GeneratedFont.hpp index 677ed8e..e29bf97 100644 --- a/Software/TouchGFX/generated/fonts/include/fonts/GeneratedFont.hpp +++ b/Software/TouchGFX/generated/fonts/include/fonts/GeneratedFont.hpp @@ -210,6 +210,18 @@ private: arabicTable = &contextualForms; } }; + + +class CompressedMappedFont : public GeneratedFont +{ +public: + CompressedMappedFont(const GlyphNode* glyphs, uint16_t numGlyphs, uint16_t height, uint16_t baseline, uint8_t pixAboveTop, uint8_t pixBelowBottom, uint8_t bitsPerPixel, uint8_t byteAlignRow, uint8_t maxLeft, uint8_t maxRight, const uint8_t* const* glyphDataInternalFlash, const KerningNode* kerningList, const Unicode::UnicodeChar fallbackChar, const Unicode::UnicodeChar ellipsisChar, const uint16_t* const gsubData, const FontContextualFormsTable* formsTable); + + using GeneratedFont::getGlyph; + virtual const GlyphNode* getGlyph(Unicode::UnicodeChar unicode) const; + virtual const uint8_t* getPixelData(const GlyphNode* glyph) const; +}; + } // namespace touchgfx #endif // TOUCHGFX_GENERATEDFONT_HPP diff --git a/Software/TouchGFX/generated/fonts/include/fonts/UnmappedDataFont.hpp b/Software/TouchGFX/generated/fonts/include/fonts/UnmappedDataFont.hpp index b673a3f..81b1fd8 100644 --- a/Software/TouchGFX/generated/fonts/include/fonts/UnmappedDataFont.hpp +++ b/Software/TouchGFX/generated/fonts/include/fonts/UnmappedDataFont.hpp @@ -121,6 +121,17 @@ protected: static GlyphNode glyphNodeBuffer; ///< Buffer for GlyphNodes read from unmapped flash }; + +class CompressedUnmappedDataFont : public UnmappedDataFont +{ +public: + CompressedUnmappedDataFont(const GlyphNode* glyphs, const uint16_t* unicodes, uint16_t numGlyphs, uint16_t height, uint16_t baseline, uint8_t pixAboveTop, uint8_t pixBelowBottom, uint8_t bitsPerPixel, uint8_t byteAlignRow, uint8_t maxLeft, uint8_t maxRight, const uint8_t* const* glyphDataList, const KerningNode* kerningList, const Unicode::UnicodeChar fallbackChar, const Unicode::UnicodeChar ellipsisChar, const uint16_t* const gsubData, const FontContextualFormsTable* formsTable); + + virtual const GlyphNode* getGlyph(Unicode::UnicodeChar unicode) const; + virtual const GlyphNode* getGlyph(Unicode::UnicodeChar unicode, const uint8_t*& pixelData, uint8_t& bitsPerPixel) const; + virtual const uint8_t* getPixelData(const GlyphNode* glyph) const; +}; + } // namespace touchgfx #endif // TOUCHGFX_UNMAPPEDDATAFONT_HPP diff --git a/Software/TouchGFX/generated/fonts/src/CompressedFontCache.cpp b/Software/TouchGFX/generated/fonts/src/CompressedFontCache.cpp new file mode 100644 index 0000000..5db7ee1 --- /dev/null +++ b/Software/TouchGFX/generated/fonts/src/CompressedFontCache.cpp @@ -0,0 +1,183 @@ +/* DO NOT EDIT THIS FILE */ +/* This file is autogenerated by the text-database code generator */ + +#include +#include +#include + +namespace touchgfx +{ +LOCATION_PRAGMA_32("TouchGFX_CompressedFontCache") +uint32_t CompressedFontCache::bitmapFontCache[cacheWords] LOCATION_ATTRIBUTE_32("TouchGFX_CompressedFontCache"); +uint8_t* CompressedFontCache::pixelsTop = (uint8_t*)CompressedFontCache::bitmapFontCache; +int CompressedFontCache::glyphsAllocated = 0; +int CompressedFontCache::cacheClearCounter = 0; + +namespace +{ +/* Read nibbles from a compressed data array */ +struct NibReader +{ + NibReader(const uint8_t* buffer) + : buffer(buffer), byteIndex(0), low(true) + {} + + const uint8_t* buffer; + int byteIndex; + bool low; + uint8_t getNext() + { + if (low) + { + const uint8_t val = buffer[byteIndex] & 0xF; + low = false; + return val; + } + const uint8_t val = buffer[byteIndex] >> 4; + low = true; + byteIndex++; + return val; + } +}; + +struct NibWriter +{ + NibWriter(uint8_t* buffer, int size) + : buffer(buffer), bufferEnd(buffer + size), low(true) {} + + uint8_t* buffer; + uint8_t* bufferEnd; + int low; + void put(uint8_t v) + { + if (low) + { + *buffer = v; + low = false; + return; + } + *buffer |= (v << 4); + buffer++; + low = true; + } + bool eof() { return buffer >= bufferEnd; } +}; +} // anonymous namespace + +uint8_t* CompressedFontCache::decompressGlyph(uint8_t* pixelsTop, const GlyphNode* glyphNode, const uint8_t* compressedData) +{ + const int byteSize = (glyphNode->width() + 1) / 2 * glyphNode->height(); + NibWriter writer(pixelsTop, byteSize); + NibReader reader(compressedData); + uint8_t* const pixelsEnd = pixelsTop + byteSize; + const int algorithm = glyphNode->dataOffset >> 30; + if (algorithm == 1) + { + // RLE1 + while (!writer.eof()) + { + const uint8_t value = reader.getNext(); + if (value == 0) + { + int zeroCount = reader.getNext(); + while (zeroCount) + { + writer.put(0); + zeroCount--; + } + } + writer.put(value); + } + } + else if (algorithm == 2) + { + // RLE2 + while (!writer.eof()) + { + const uint8_t value = reader.getNext(); + if (value == 0 || value == 0xF) + { + int count = reader.getNext(); + while (count) + { + writer.put(value); + count--; + } + } + writer.put(value); + } + } + else + { + // Uncompressed + while (pixelsTop < pixelsEnd) + { + *pixelsTop++ = *compressedData++; + } + } + + return pixelsEnd; +} + +void CompressedFontCache::clearCache() +{ + // Wait for DMA2D/GPU2D to finish drawing + HAL::getInstance()->lockUnlockFrameBuffer(); + glyphsAllocated = 0; + cacheClearCounter++; + pixelsTop = (uint8_t*)bitmapFontCache; +} + +void CompressedFontCache::unableToCache(const GlyphNode* glyphNode, int byteSize) +{ + while(1); +} + +const uint8_t* CompressedFontCache::hasCachedGlyph(const GlyphNode* glyphNode) +{ + const BitmapFontCacheKey* end = (const BitmapFontCacheKey*)&bitmapFontCache[cacheWords]; + const BitmapFontCacheKey* first = end - glyphsAllocated; + while (first < end) + { + if (first->glyphNode == glyphNode) + { + return first->pixels; + } + first++; + } + return 0; +} + +const uint8_t* CompressedFontCache::cacheGlyph(const GlyphNode* glyph, const uint8_t* compressedData) +{ + const int byteSize = (glyph->width() + 1) / 2 * glyph->height(); + if (byteSize + 8 > cacheSizeBytes) + { + unableToCache(glyph, byteSize); + return 0; + } + const BitmapFontCacheKey* end = (const BitmapFontCacheKey*)&bitmapFontCache[cacheWords]; + if (pixelsTop + byteSize + 8 > (const uint8_t*)&end[-glyphsAllocated]) + { + // Unable to fit glyph in data, clear cache + clearCache(); + } + + const uint8_t* glyphData = pixelsTop; + pixelsTop = decompressGlyph(pixelsTop, glyph, compressedData); + + // Flush the cache lines, must be 32byte aligned + uint8_t* rowStart = reinterpret_cast(reinterpret_cast(glyphData) & ~0x1F); + int alignmentOffset = glyphData - rowStart; + paint::flushLine((uint32_t*)rowStart, byteSize + alignmentOffset); + paint::invalidateTextureCache(); + + glyphsAllocated++; + + BitmapFontCacheKey* key = const_cast(end - glyphsAllocated); + key->glyphNode = glyph; + key->pixels = glyphData; + + return glyphData; +} +} // namespace touchgfx diff --git a/Software/TouchGFX/generated/fonts/src/CompressedUnmappedFontCache.cpp b/Software/TouchGFX/generated/fonts/src/CompressedUnmappedFontCache.cpp new file mode 100644 index 0000000..4149850 --- /dev/null +++ b/Software/TouchGFX/generated/fonts/src/CompressedUnmappedFontCache.cpp @@ -0,0 +1,263 @@ +/* DO NOT EDIT THIS FILE */ +/* This file is autogenerated by the text-database code generator */ + +#include +#include +#include + +namespace touchgfx +{ +LOCATION_PRAGMA_32("TouchGFX_CompressedUnmappedFontCache") +uint32_t CompressedUnmappedFontCache::bitmapFontCache[cacheWords] LOCATION_ATTRIBUTE_32("TouchGFX_CompressedUnmappedFontCache"); +uint8_t* CompressedUnmappedFontCache::pixelsTop = (uint8_t*)CompressedUnmappedFontCache::bitmapFontCache; +int CompressedUnmappedFontCache::glyphsAllocated = 0; +int CompressedUnmappedFontCache::cacheClearCounter = 0; + +namespace +{ +/* Read nibbles from compressed data in unmapped flash. Must read through reader object */ +struct NibUnmapReader +{ + NibUnmapReader(const uint8_t* srcAddress, touchgfx::FlashDataReader* reader) + : address(srcAddress), reader(reader), byteIndex(0), low(true) + { + address += bufferSize; + reader->copyData(srcAddress, buffer, sizeof(buffer)); + } + + const uint8_t* address; //next reading address + touchgfx::FlashDataReader* reader; + static const int bufferSize = 16; + uint8_t buffer[bufferSize]; + uint8_t value; + int byteIndex; + bool low; + uint8_t getNext() + { + if (low) + { + value = buffer[byteIndex]; + const uint8_t val = value & 0xF; + low = false; + return val; + } + const uint8_t val = value >> 4; + low = true; + if (byteIndex == bufferSize - 1) + { + reader->copyData(address, buffer, bufferSize); + address += bufferSize; + byteIndex = 0; + } + else + { + byteIndex++; + } + + return val; + } +}; + +struct NibWriter +{ + NibWriter(uint8_t* buffer, int size) + : buffer(buffer), bufferEnd(buffer + size), low(true) {} + + uint8_t* buffer; + uint8_t* bufferEnd; + int low; + void put(uint8_t v) + { + if (low) + { + *buffer = v; + low = false; + return; + } + *buffer |= (v << 4); + buffer++; + low = true; + } + bool eof() { return buffer >= bufferEnd; } +}; +} // anonymous namespace + +uint8_t* CompressedUnmappedFontCache::decompressGlyph(uint8_t* pixelsTop, const GlyphNode* glyphNode, const uint8_t* compressedData, touchgfx::FlashDataReader* flashReader) +{ + const int byteSize = (glyphNode->width() + 1) / 2 * glyphNode->height(); + NibWriter writer(pixelsTop, byteSize); + NibUnmapReader reader(compressedData, flashReader); + uint8_t* const pixelsEnd = pixelsTop + byteSize; + const int algorithm = glyphNode->dataOffset >> 30; + if (algorithm == 1) + { + // RLE1 + while (!writer.eof()) + { + const uint8_t value = reader.getNext(); + if (value == 0) + { + int zeroCount = reader.getNext(); + while (zeroCount) + { + writer.put(0); + zeroCount--; + } + } + writer.put(value); + } + } + else if (algorithm == 2) + { + // RLE2 + while (!writer.eof()) + { + const uint8_t value = reader.getNext(); + if (value == 0 || value == 0xF) + { + int count = reader.getNext(); + while (count) + { + writer.put(value); + count--; + } + } + writer.put(value); + } + } + else + { + // Uncompressed + flashReader->copyData(compressedData, pixelsTop, byteSize); + } + + return pixelsEnd; +} + +void CompressedUnmappedFontCache::clearCache() +{ + // Wait for DMA2D/GPU2D to finish drawing + HAL::getInstance()->lockUnlockFrameBuffer(); + glyphsAllocated = 0; + cacheClearCounter++; + pixelsTop = (uint8_t*)bitmapFontCache; +} + +void CompressedUnmappedFontCache::unableToCache(const GlyphNode* glyphNode, int byteSize) +{ + while(1); +} + +const GlyphNode* CompressedUnmappedFontCache::hasCachedGlyphNode(const GlyphNode* glyphNode) +{ + const BitmapFontCacheKey* end = (const BitmapFontCacheKey*)&bitmapFontCache[cacheWords]; + const BitmapFontCacheKey* first = end - glyphsAllocated; + while (first < end) + { + if (first->glyphNodeSrc == glyphNode) + { + return &first->glyphNodeCopy; + } + first++; + } + return 0; +} + +const GlyphNode* CompressedUnmappedFontCache::hasCachedGlyphData(const GlyphNode* glyphNode, const uint8_t*& pixelData) +{ + const BitmapFontCacheKey* end = (const BitmapFontCacheKey*)&bitmapFontCache[cacheWords]; + const BitmapFontCacheKey* first = end - glyphsAllocated; + while (first < end) + { + if (first->glyphNodeSrc == glyphNode) + { + //Pixel data can be zero! + pixelData = first->pixels; + return &first->glyphNodeCopy; + } + first++; + } + return 0; +} + +GlyphNode* CompressedUnmappedFontCache::cacheGlyphNode(const GlyphNode* glyph) +{ + const BitmapFontCacheKey* end = (const BitmapFontCacheKey*)&bitmapFontCache[cacheWords]; + if (pixelsTop + sizeof(BitmapFontCacheKey) > (const uint8_t*)&end[-glyphsAllocated]) + { + // Unable to fit GlyphNode in data, clear cache + clearCache(); + } + + glyphsAllocated++; + BitmapFontCacheKey* key = const_cast(end - glyphsAllocated); + key->glyphNodeSrc = glyph; + key->pixels = 0; + + return &key->glyphNodeCopy; +} + +const uint8_t* CompressedUnmappedFontCache::cacheGlyphData(const GlyphNode* glyph, const uint8_t* compressedData, touchgfx::FlashDataReader* reader) +{ + // Search keys for glyph + BitmapFontCacheKey* end = (BitmapFontCacheKey*)&bitmapFontCache[cacheWords]; + BitmapFontCacheKey* it = end - glyphsAllocated; + while (it < end) + { + if (it->glyphNodeSrc == glyph) + { + break; + } + it++; + } + + if (it == end) + { + // broken invariant! + return 0; + } + + const int byteSize = (it->glyphNodeCopy.width() + 1) / 2 * it->glyphNodeCopy.height(); + // Check if pixels can fit in cache + if (pixelsTop + byteSize > (const uint8_t*)&end[-glyphsAllocated]) + { + // Can it fit in a clean cache? + if (byteSize + sizeof(BitmapFontCacheKey) > cacheSizeBytes) + { + unableToCache(glyph, byteSize); + return 0; + } + + // Unable to fit pixel in data, must clear cache + + // Save address of GlyphNode in cache + const GlyphNode* cachedGn = &it->glyphNodeCopy; + + // Now clear (reset pointer) + clearCache(); + + // Insert glyph node again + glyphsAllocated++; + it = const_cast(end - 1); + it->glyphNodeSrc = glyph; + it->pixels = 0; + // Copy GlyphNode content from previous position in cache + it->glyphNodeCopy = *cachedGn; + } + + //Now decompress data + const uint8_t* glyphData = pixelsTop; + pixelsTop = decompressGlyph(pixelsTop, &it->glyphNodeCopy, compressedData, reader); + + // Flush the cache lines, must be 32byte aligned + uint8_t* rowStart = reinterpret_cast(reinterpret_cast(glyphData) & ~0x1F); + int alignmentOffset = glyphData - rowStart; + paint::flushLine((uint32_t*)rowStart, byteSize + alignmentOffset); + paint::invalidateTextureCache(); + + it->pixels = glyphData; + + return glyphData; +} + +} // namespace touchgfx diff --git a/Software/TouchGFX/generated/fonts/src/GeneratedFont.cpp b/Software/TouchGFX/generated/fonts/src/GeneratedFont.cpp index 814c7b1..8d4a3fe 100644 --- a/Software/TouchGFX/generated/fonts/src/GeneratedFont.cpp +++ b/Software/TouchGFX/generated/fonts/src/GeneratedFont.cpp @@ -2,7 +2,9 @@ /* This file is autogenerated by the text-database code generator */ #include +#include #include +#include namespace touchgfx { @@ -17,8 +19,14 @@ GeneratedFont::GeneratedFont(const GlyphNode* glyphs, uint16_t numGlyphs, uint16 const uint8_t* GeneratedFont::getPixelData(const GlyphNode* glyph) const { + // Read dataOffset as 16bit, as it may be unaligned + volatile const uint16_t* dataOffset = (const uint16_t*)((const uint8_t*)glyph + offsetof(GlyphNode, dataOffset)); + uint32_t offset = dataOffset[0]; + offset |= dataOffset[1] << 16; + const uint8_t* const* table = (const uint8_t* const*)glyphData; - return &(table[glyph->unicode / 2048][glyph->dataOffset]); + const uint8_t* pixels = table[glyph->unicode / 2048]; + return pixels + offset; } int8_t GeneratedFont::getKerning(Unicode::UnicodeChar prevChar, const GlyphNode* glyph) const @@ -276,4 +284,27 @@ const VectorFontNode* GeneratedVectorFont::find(Unicode::UnicodeChar unicode) co return (VectorFontNode*)0; } +CompressedMappedFont::CompressedMappedFont(const GlyphNode* glyphs, uint16_t numGlyphs, uint16_t height, uint16_t baseline, uint8_t pixAboveTop, uint8_t pixBelowBottom, uint8_t bitsPerPixel, uint8_t byteAlignRow, uint8_t maxLeft, uint8_t maxRight, const uint8_t* const* glyphDataInternalFlash, const KerningNode* kerningList, const Unicode::UnicodeChar fallbackChar, const Unicode::UnicodeChar ellipsisChar, const uint16_t* const gsubData, const FontContextualFormsTable* formsTable) + : GeneratedFont(glyphs, numGlyphs, height, baseline, pixAboveTop, pixBelowBottom, bitsPerPixel, byteAlignRow, maxLeft, maxRight, glyphDataInternalFlash, kerningList, fallbackChar, ellipsisChar, gsubData, formsTable) +{ +} + +const GlyphNode* CompressedMappedFont::getGlyph(Unicode::UnicodeChar unicode) const +{ + return find(unicode); +} + +const uint8_t* CompressedMappedFont::getPixelData(const GlyphNode* glyph) const +{ + const uint8_t* pixelData = CompressedFontCache::hasCachedGlyph(glyph); + if (pixelData) + { + return pixelData; + } + + const uint8_t* const* table = (const uint8_t* const*)glyphData; + const uint8_t* compressedData = &(table[glyph->unicode / 2048][glyph->dataOffset & 0x3FFFFFFF]); + return CompressedFontCache::cacheGlyph(glyph, compressedData); +} + } // namespace touchgfx diff --git a/Software/TouchGFX/generated/fonts/src/UnmappedDataFont.cpp b/Software/TouchGFX/generated/fonts/src/UnmappedDataFont.cpp index 28130bf..e3445b0 100644 --- a/Software/TouchGFX/generated/fonts/src/UnmappedDataFont.cpp +++ b/Software/TouchGFX/generated/fonts/src/UnmappedDataFont.cpp @@ -3,6 +3,7 @@ #include #include +#include #include namespace touchgfx @@ -149,4 +150,87 @@ int UnmappedDataFont::lookupUnicode(uint16_t unicode) const } return -1; } + +CompressedUnmappedDataFont::CompressedUnmappedDataFont(const GlyphNode* glyphs, const uint16_t* unicodes, uint16_t numGlyphs, uint16_t height, uint16_t baseline, uint8_t pixAboveTop, uint8_t pixBelowBottom, uint8_t bitsPerPixel, uint8_t byteAlignRow, uint8_t maxLeft, uint8_t maxRight, const uint8_t* const* glyphDataList, const KerningNode* kerningList, const Unicode::UnicodeChar fallbackChar, const Unicode::UnicodeChar ellipsisChar, const uint16_t* const gsubData, const FontContextualFormsTable* formsTable) + : UnmappedDataFont(glyphs, unicodes, numGlyphs, height, baseline, pixAboveTop, pixBelowBottom, bitsPerPixel, byteAlignRow, maxLeft, maxRight, glyphDataList, kerningList, fallbackChar, ellipsisChar, gsubData, formsTable) +{ +} + +const GlyphNode* CompressedUnmappedDataFont::getGlyph(Unicode::UnicodeChar unicode) const +{ + const int index = lookupUnicode(unicode); + if (index != -1) + { + const GlyphNode* glyphNode = glyphList + index; + + // Is the GlyphNode already cached + const GlyphNode* cachedNode = CompressedUnmappedFontCache::hasCachedGlyphNode(glyphNode); + if (cachedNode) + { + return cachedNode; + } + + // Read glyphNode from unmapped flash + touchgfx::FlashDataReader* const flashReader = ApplicationFontProvider::getFlashReader(); + if (flashReader) + { + GlyphNode* newGlyphNode = CompressedUnmappedFontCache::cacheGlyphNode(glyphNode); + flashReader->copyData(glyphList + index, (uint8_t*)newGlyphNode, sizeof(GlyphNode)); + return newGlyphNode; + } + } + + return 0; +} + +const GlyphNode* CompressedUnmappedDataFont::getGlyph(Unicode::UnicodeChar unicode, const uint8_t*& pixelData, uint8_t& bitsPerPixel) const +{ + const int index = lookupUnicode(unicode); + if (index != -1) + { + const GlyphNode* glyphNode = glyphList + index; + const uint8_t* pixels = 0; + const GlyphNode* cachedNode = CompressedUnmappedFontCache::hasCachedGlyphData(glyphNode, pixels); + if (pixels) + { + pixelData = pixels; + bitsPerPixel = 4; + return cachedNode; + } + + // Cache glyphNode if not found already + if (cachedNode == 0) + { + cachedNode = getGlyph(unicode); + } + if (cachedNode->width() == 0) + { + bitsPerPixel = 4; + pixelData = 0; + return cachedNode; + } + + // Read data from unmapped flash + touchgfx::FlashDataReader* const flashReader = ApplicationFontProvider::getFlashReader(); + if (flashReader) + { + const uint8_t* const* table = (const uint8_t* const*)glyphDataList; + const uint32_t dataOffset = cachedNode->dataOffset & 0x3FFFFFFF; + const uint8_t* compressedData = &(table[unicode / 2048][dataOffset]); + const uint8_t* cachedData = CompressedUnmappedFontCache::cacheGlyphData(glyphNode, compressedData, flashReader); + if (cachedData) + { + bitsPerPixel = 4; + pixelData = cachedData; + return cachedNode; + } + } + } + return 0; +} + +const uint8_t* CompressedUnmappedDataFont::getPixelData(const GlyphNode* glyph) const +{ + return 0; +} } // namespace touchgfx diff --git a/Software/TouchGFX/generated/images/src/BitmapDatabase.cpp b/Software/TouchGFX/generated/images/src/BitmapDatabase.cpp index baba333..484de05 100644 --- a/Software/TouchGFX/generated/images/src/BitmapDatabase.cpp +++ b/Software/TouchGFX/generated/images/src/BitmapDatabase.cpp @@ -1,4 +1,4 @@ -// 4.24.2 0x00000000 +// 4.25.0 0x00000000 // Generated by imageconverter. Please, do not edit! #include diff --git a/Software/TouchGFX/generated/simulator/include/simulator/video/DirectFrameBufferVideoController.hpp b/Software/TouchGFX/generated/simulator/include/simulator/video/DirectFrameBufferVideoController.hpp index 40eda0e..5018862 100644 --- a/Software/TouchGFX/generated/simulator/include/simulator/video/DirectFrameBufferVideoController.hpp +++ b/Software/TouchGFX/generated/simulator/include/simulator/video/DirectFrameBufferVideoController.hpp @@ -4,6 +4,7 @@ #ifndef TOUCHGFX_DIRECTFRAMEBUFFERVIDEOCONTROLLER_HPP #define TOUCHGFX_DIRECTFRAMEBUFFERVIDEOCONTROLLER_HPP +#include #include #include #include @@ -226,7 +227,8 @@ public: if (mjpegDecoders[handle]->hasVideo()) { uint8_t* wbuf = (uint8_t*)touchgfx::HAL::getInstance()->lockFrameBuffer(); - const touchgfx::Rect& absolute = widget.getAbsoluteRect(); + touchgfx::Rect absolute = widget.getAbsoluteRect(); + DisplayTransformation::transformDisplayToFrameBuffer(absolute); // Get frame buffer pointer to upper left of widget in framebuffer coordinates switch(output_format) diff --git a/Software/TouchGFX/generated/simulator/src/video/SoftwareMJPEGDecoder.cpp b/Software/TouchGFX/generated/simulator/src/video/SoftwareMJPEGDecoder.cpp index ec43059..fb6c3d1 100644 --- a/Software/TouchGFX/generated/simulator/src/video/SoftwareMJPEGDecoder.cpp +++ b/Software/TouchGFX/generated/simulator/src/video/SoftwareMJPEGDecoder.cpp @@ -1,6 +1,7 @@ /*********************************************************************************/ /********** THIS FILE IS GENERATED BY TOUCHGFX DESIGNER, DO NOT MODIFY ***********/ /*********************************************************************************/ +#include #include #include #include @@ -448,13 +449,37 @@ bool SoftwareMJPEGDecoder::decodeFrame(const touchgfx::Rect& area, uint8_t* fram #if VIDEO_DECODE_FORMAT == 16 uint16_t* lineptr = reinterpret_cast(frameBuffer); - lineptr += framebuffer_width * startY; + if (touchgfx::HAL::DISPLAY_ROTATION == touchgfx::rotate0) + { + lineptr += framebuffer_width * startY; + } + else + { + lineptr += framebuffer_width * (cinfo.image_width - 1); + lineptr += startY; + } #elif VIDEO_DECODE_FORMAT == 24 uint8_t* lineptr = frameBuffer; - lineptr += framebuffer_width * 3 * startY; + if (touchgfx::HAL::DISPLAY_ROTATION == touchgfx::rotate0) + { + lineptr += framebuffer_width * 3 * startY; + } + else + { + lineptr += framebuffer_width * (cinfo.image_width - 1) * 3; + lineptr += startY * 3; + } #else uint32_t* lineptr = reinterpret_cast(frameBuffer); - lineptr += framebuffer_width * startY; + if (touchgfx::HAL::DISPLAY_ROTATION == touchgfx::rotate0) + { + lineptr += framebuffer_width * startY; + } + else + { + lineptr += framebuffer_width * (cinfo.image_width - 1); + lineptr += startY; + } #endif const uint32_t endY = MIN((uint32_t)area.bottom(), cinfo.output_height); @@ -468,21 +493,64 @@ bool SoftwareMJPEGDecoder::decodeFrame(const touchgfx::Rect& area, uint8_t* fram for (uint32_t counter = startX; counter < endX; counter++) { const uint16_t pix = ((RGB_matrix[counter].R & 0xF8) << 8) | ((RGB_matrix[counter].G & 0xFC) << 3) | ((RGB_matrix[counter].B & 0xF8) >> 3); - *(lineptr + counter) = pix; + if (touchgfx::HAL::DISPLAY_ROTATION == touchgfx::rotate0) + { + *(lineptr + counter) = pix; + } + else + { + *(lineptr - counter * framebuffer_width) = pix; + } + } + if (touchgfx::HAL::DISPLAY_ROTATION == touchgfx::rotate0) + { + lineptr += framebuffer_width; //move to next line + } + else + { + lineptr++; //move to next line } - lineptr += framebuffer_width; //move to next line #elif VIDEO_DECODE_FORMAT == 24 - memcpy(lineptr + startX * 3, lineBuffer + startX * 3, (endX - startX) * 3); - lineptr += framebuffer_width * 3; //move to next line + if (touchgfx::HAL::DISPLAY_ROTATION == touchgfx::rotate0) + { + memcpy(lineptr + startX * 3, lineBuffer + startX * 3, (endX - startX) * 3); + lineptr += framebuffer_width * 3; //move to next line + } + else + { + JPEG_RGB* RGB_matrix = (JPEG_RGB*)lineBuffer; + //loop row RGB888->RGB888 for required line part + for (uint32_t counter = startX; counter < endX; counter++) + { + *(lineptr - counter * framebuffer_width * 3) = RGB_matrix[counter].B; + *(lineptr - counter * framebuffer_width * 3 + 1) = RGB_matrix[counter].G; + *(lineptr - counter * framebuffer_width * 3 + 2) = RGB_matrix[counter].R; + } + lineptr += 3; //move to next line + } #else JPEG_RGB* RGB_matrix = (JPEG_RGB*)lineBuffer; //loop row RGB888->ARGB8888 for required line part for (uint32_t counter = startX; counter < endX; counter++) { const uint32_t pix = (0xFF << 24) | (RGB_matrix[counter].R << 16) | (RGB_matrix[counter].G << 8) | RGB_matrix[counter].B; - *(lineptr + counter) = pix; + if (touchgfx::HAL::DISPLAY_ROTATION == touchgfx::rotate0) + { + *(lineptr + counter) = pix; + } + else + { + *(lineptr - counter * framebuffer_width) = pix; + } + } + if (touchgfx::HAL::DISPLAY_ROTATION == touchgfx::rotate0) + { + lineptr += framebuffer_width; //move to next line + } + else + { + lineptr++; //move to next line } - lineptr += framebuffer_width; //move to next line #endif } diff --git a/Software/TouchGFX/generated/texts/cache/LanguageCpp_Gb.cache b/Software/TouchGFX/generated/texts/cache/LanguageCpp_Gb.cache index cbe6e34..ce424f3 100644 --- a/Software/TouchGFX/generated/texts/cache/LanguageCpp_Gb.cache +++ b/Software/TouchGFX/generated/texts/cache/LanguageCpp_Gb.cache @@ -1 +1 @@ -{"remap":"yes","language":"GB","language_index":0,"indices":[]} \ No newline at end of file +{"remap":"yes","language":"GB","language_index":0,"copy_translations":"no","indices":[]} \ No newline at end of file diff --git a/Software/TouchGFX/generated/texts/cache/TextsCpp.cache b/Software/TouchGFX/generated/texts/cache/TextsCpp.cache index a840659..0a67c43 100644 --- a/Software/TouchGFX/generated/texts/cache/TextsCpp.cache +++ b/Software/TouchGFX/generated/texts/cache/TextsCpp.cache @@ -1 +1 @@ -{"remap":"yes","languages":["Gb"],"characters":[]} \ No newline at end of file +{"remap":"yes","languages":["Gb"],"characters":[],"copy_translations_to_ram":"no"} \ No newline at end of file diff --git a/Software/TouchGFX/generated/texts/cache/TypedTextDatabaseCpp.cache b/Software/TouchGFX/generated/texts/cache/TypedTextDatabaseCpp.cache index e685148..036d700 100644 --- a/Software/TouchGFX/generated/texts/cache/TypedTextDatabaseCpp.cache +++ b/Software/TouchGFX/generated/texts/cache/TypedTextDatabaseCpp.cache @@ -1 +1 @@ -{"databases":{"DEFAULT":[]},"database_list":["DEFAULT"],"fonts":{"getFont_verdana_20_4bpp":0,"getFont_verdana_40_4bpp":1,"getFont_verdana_10_4bpp":2},"generate_font_format":"0"} \ No newline at end of file +{"databases":{"DEFAULT":[]},"database_list":["DEFAULT"],"fonts":{"getFont_verdana_20_4bpp":0,"getFont_verdana_40_4bpp":1,"getFont_verdana_10_4bpp":2},"generate_font_format":"0","copy_translations_to_ram":"no"} \ No newline at end of file diff --git a/Software/TouchGFX/generated/user.config b/Software/TouchGFX/generated/user.config index e89c37e..4fbcbca 100644 --- a/Software/TouchGFX/generated/user.config +++ b/Software/TouchGFX/generated/user.config @@ -1,3 +1,3 @@ { - "touchgfx_installation_path" : "C:/TouchGFX/4.24.2" + "touchgfx_installation_path" : "C:/TouchGFX/4.25.0" } \ No newline at end of file diff --git a/Software/TouchGFX/target/STM32TouchController.cpp b/Software/TouchGFX/target/STM32TouchController.cpp deleted file mode 100644 index 7b4a7c2..0000000 --- a/Software/TouchGFX/target/STM32TouchController.cpp +++ /dev/null @@ -1,52 +0,0 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * File Name : STM32TouchController.cpp - ****************************************************************************** - * This file was created by TouchGFX Generator 4.25.0. This file is only - * generated once! Delete this file from your project and re-generate code - * using STM32CubeMX or change this file manually to update it. - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ -/* USER CODE END Header */ - -/* USER CODE BEGIN STM32TouchController */ - -#include - -void STM32TouchController::init() -{ - /** - * Initialize touch controller and driver - * - */ -} - -bool STM32TouchController::sampleTouch(int32_t& x, int32_t& y) -{ - /** - * By default sampleTouch returns false, - * return true if a touch has been detected, otherwise false. - * - * Coordinates are passed to the caller by reference by x and y. - * - * This function is called by the TouchGFX framework. - * By default sampleTouch is called every tick, this can be adjusted by HAL::setTouchSampleRate(int8_t); - * - */ - return false; -} - -/* USER CODE END STM32TouchController */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Software/TouchGFX/target/STM32TouchController.hpp b/Software/TouchGFX/target/STM32TouchController.hpp deleted file mode 100644 index e6e4f1c..0000000 --- a/Software/TouchGFX/target/STM32TouchController.hpp +++ /dev/null @@ -1,72 +0,0 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * File Name : STM32TouchController.hpp - ****************************************************************************** - * This file was created by TouchGFX Generator 4.25.0. This file is only - * generated once! Delete this file from your project and re-generate code - * using STM32CubeMX or change this file manually to update it. - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ -/* USER CODE END Header */ - -/* USER CODE BEGIN STM32TouchController */ - -#ifndef STM32TOUCHCONTROLLER_HPP -#define STM32TOUCHCONTROLLER_HPP - -#include - -/** - * @class STM32TouchController - * - * @brief This class specializes TouchController Interface. - * - * @sa touchgfx::TouchController - */ - -class STM32TouchController : public touchgfx::TouchController -{ -public: - - STM32TouchController() {} - - /** - * @fn virtual void STM32TouchController::init() = 0; - * - * @brief Initializes touch controller. - * - * Initializes touch controller. - */ - virtual void init(); - - /** - * @fn virtual bool STM32TouchController::sampleTouch(int32_t& x, int32_t& y) = 0; - * - * @brief Checks whether the touch screen is being touched, and if so, what coordinates. - * - * Checks whether the touch screen is being touched, and if so, what coordinates. - * - * @param [out] x The x position of the touch - * @param [out] y The y position of the touch - * - * @return True if a touch has been detected, otherwise false. - */ - virtual bool sampleTouch(int32_t& x, int32_t& y); -}; - -#endif // STM32TOUCHCONTROLLER_HPP - -/* USER CODE END STM32TouchController */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Software/TouchGFX/target/TouchGFXGPIO.cpp b/Software/TouchGFX/target/TouchGFXGPIO.cpp deleted file mode 100644 index e28cb00..0000000 --- a/Software/TouchGFX/target/TouchGFXGPIO.cpp +++ /dev/null @@ -1,176 +0,0 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * File Name : TouchGFXGPIO.cpp - ****************************************************************************** - * This file was created by TouchGFX Generator 4.25.0. This file is only - * generated once! Delete this file from your project and re-generate code - * using STM32CubeMX or change this file manually to update it. - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ -/* USER CODE END Header */ - -#include - -/** - * GPIO_ID Enum - * The signals represented by this enum are used by TouchGFX framework to signal internal events. - * - * VSYNC_FREQ, /// Pin is toggled at each VSYNC - * RENDER_TIME, /// Pin is high when frame rendering begins, low when finished - * FRAME_RATE, /// Pin is toggled when the frame buffers are swapped. - * MCU_ACTIVE /// Pin is high when framework is utilizing the MCU. - * - * Configure GPIO's with the same name as the GPIO_IDs above, as output, in CubeMX to export - * the signals for performance measuring. See support.touchgfx.com for further details. - * - */ - -/* USER CODE BEGIN TouchGFXGPIO.cpp */ -#include "main.h" - -using namespace touchgfx; - -/* - * Perform configuration of IO pins. - */ -void GPIO::init() -{ - -} - -/* - * Sets a pin high. - */ -void GPIO::set(GPIO_ID id) -{ - switch (id) - { - case GPIO::VSYNC_FREQ: -#if defined(VSYNC_FREQ_GPIO_Port) && defined(VSYNC_FREQ_Pin) - HAL_GPIO_WritePin(VSYNC_FREQ_GPIO_Port, VSYNC_FREQ_Pin, GPIO_PIN_SET); -#endif - break; - case GPIO::RENDER_TIME: -#if defined(RENDER_TIME_GPIO_Port) && defined(RENDER_TIME_Pin) - HAL_GPIO_WritePin(RENDER_TIME_GPIO_Port, RENDER_TIME_Pin, GPIO_PIN_SET); -#endif - break; - case GPIO::FRAME_RATE: -#if defined(FRAME_RATE_GPIO_Port) && defined(FRAME_RATE_Pin) - HAL_GPIO_WritePin(FRAME_RATE_GPIO_Port, FRAME_RATE_Pin, GPIO_PIN_SET); -#endif - break; - case GPIO::MCU_ACTIVE: -#if defined(MCU_ACTIVE_GPIO_Port) && defined(MCU_ACTIVE_Pin) - HAL_GPIO_WritePin(MCU_ACTIVE_GPIO_Port, MCU_ACTIVE_Pin, GPIO_PIN_SET); -#endif - break; - } -} - -/* - * Sets a pin low. - */ -void GPIO::clear(GPIO_ID id) -{ - switch (id) - { - case GPIO::VSYNC_FREQ: -#if defined(VSYNC_FREQ_GPIO_Port) && defined(VSYNC_FREQ_Pin) - HAL_GPIO_WritePin(VSYNC_FREQ_GPIO_Port, VSYNC_FREQ_Pin, GPIO_PIN_RESET); -#endif - break; - case GPIO::RENDER_TIME: -#if defined(RENDER_TIME_GPIO_Port) && defined(RENDER_TIME_Pin) - HAL_GPIO_WritePin(RENDER_TIME_GPIO_Port, RENDER_TIME_Pin, GPIO_PIN_RESET); -#endif - break; - case GPIO::FRAME_RATE: -#if defined(FRAME_RATE_GPIO_Port) && defined(FRAME_RATE_Pin) - HAL_GPIO_WritePin(FRAME_RATE_GPIO_Port, FRAME_RATE_Pin, GPIO_PIN_RESET); -#endif - break; - case GPIO::MCU_ACTIVE: -#if defined(MCU_ACTIVE_GPIO_Port) && defined(MCU_ACTIVE_Pin) - HAL_GPIO_WritePin(MCU_ACTIVE_GPIO_Port, MCU_ACTIVE_Pin, GPIO_PIN_RESET); -#endif - break; - } -} - -/* - * Toggles a pin. - */ -void GPIO::toggle(GPIO_ID id) -{ - switch (id) - { - case GPIO::VSYNC_FREQ: -#if defined(VSYNC_FREQ_GPIO_Port) && defined(VSYNC_FREQ_Pin) - HAL_GPIO_TogglePin(VSYNC_FREQ_GPIO_Port, VSYNC_FREQ_Pin); -#endif - break; - case GPIO::RENDER_TIME: -#if defined(RENDER_TIME_GPIO_Port) && defined(RENDER_TIME_Pin) - HAL_GPIO_TogglePin(RENDER_TIME_GPIO_Port, RENDER_TIME_Pin); -#endif - break; - case GPIO::FRAME_RATE: -#if defined(FRAME_RATE_GPIO_Port) && defined(FRAME_RATE_Pin) - HAL_GPIO_TogglePin(FRAME_RATE_GPIO_Port, FRAME_RATE_Pin); -#endif - break; - case GPIO::MCU_ACTIVE: -#if defined(MCU_ACTIVE_GPIO_Port) && defined(MCU_ACTIVE_Pin) - HAL_GPIO_TogglePin(MCU_ACTIVE_GPIO_Port, MCU_ACTIVE_Pin); -#endif - break; - } -} - -/* - * Gets the state of a pin. - */ -bool GPIO::get(GPIO_ID id) -{ - GPIO_PinState bitstatus = GPIO_PIN_RESET; - switch (id) - { - case GPIO::VSYNC_FREQ: -#if defined(VSYNC_FREQ_GPIO_Port) && defined(VSYNC_FREQ_Pin) - bitstatus = HAL_GPIO_ReadPin(VSYNC_FREQ_GPIO_Port, VSYNC_FREQ_Pin); -#endif - break; - case GPIO::RENDER_TIME: -#if defined(RENDER_TIME_GPIO_Port) && defined(RENDER_TIME_Pin) - bitstatus = HAL_GPIO_ReadPin(RENDER_TIME_GPIO_Port, RENDER_TIME_Pin); -#endif - break; - case GPIO::FRAME_RATE: -#if defined(FRAME_RATE_GPIO_Port) && defined(FRAME_RATE_Pin) - bitstatus = HAL_GPIO_ReadPin(FRAME_RATE_GPIO_Port, FRAME_RATE_Pin); -#endif - break; - case GPIO::MCU_ACTIVE: -#if defined(MCU_ACTIVE_GPIO_Port) && defined(MCU_ACTIVE_Pin) - bitstatus = HAL_GPIO_ReadPin(MCU_ACTIVE_GPIO_Port, MCU_ACTIVE_Pin); -#endif - break; - } - return (bitstatus == GPIO_PIN_SET); -} - -/* USER CODE END TouchGFXGPIO.cpp */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Software/TouchGFX/target/TouchGFXHAL.cpp b/Software/TouchGFX/target/TouchGFXHAL.cpp deleted file mode 100644 index 73be5f8..0000000 --- a/Software/TouchGFX/target/TouchGFXHAL.cpp +++ /dev/null @@ -1,163 +0,0 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * File Name : TouchGFXHAL.cpp - ****************************************************************************** - * This file was created by TouchGFX Generator 4.25.0. This file is only - * generated once! Delete this file from your project and re-generate code - * using STM32CubeMX or change this file manually to update it. - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ -/* USER CODE END Header */ - -#include - -/* USER CODE BEGIN TouchGFXHAL.cpp */ - -using namespace touchgfx; - -void TouchGFXHAL::initialize() -{ - // Calling parent implementation of initialize(). - // - // To overwrite the generated implementation, omit the call to the parent function - // and implement the needed functionality here. - // Please note, HAL::initialize() must be called to initialize the framework. - - TouchGFXGeneratedHAL::initialize(); -} - -/** - * Gets the frame buffer address used by the TFT controller. - * - * @return The address of the frame buffer currently being displayed on the TFT. - */ -uint16_t* TouchGFXHAL::getTFTFrameBuffer() const -{ - // Calling parent implementation of getTFTFrameBuffer(). - // - // To overwrite the generated implementation, omit the call to the parent function - // and implement the needed functionality here. - - return TouchGFXGeneratedHAL::getTFTFrameBuffer(); -} - -/** - * Sets the frame buffer address used by the TFT controller. - * - * @param [in] address New frame buffer address. - */ -void TouchGFXHAL::setTFTFrameBuffer(uint16_t* address) -{ - // Calling parent implementation of setTFTFrameBuffer(uint16_t* address). - // - // To overwrite the generated implementation, omit the call to the parent function - // and implement the needed functionality here. - - TouchGFXGeneratedHAL::setTFTFrameBuffer(address); -} - -/** - * This function is called whenever the framework has performed a partial draw. - * - * @param rect The area of the screen that has been drawn, expressed in absolute coordinates. - * - * @see flushFrameBuffer(). - */ -void TouchGFXHAL::flushFrameBuffer(const touchgfx::Rect& rect) -{ - // Calling parent implementation of flushFrameBuffer(const touchgfx::Rect& rect). - // - // To overwrite the generated implementation, omit the call to the parent function - // and implement the needed functionality here. - // Please note, HAL::flushFrameBuffer(const touchgfx::Rect& rect) must - // be called to notify the touchgfx framework that flush has been performed. - // To calculate the start address of rect, - // use advanceFrameBufferToRect(uint8_t* fbPtr, const touchgfx::Rect& rect) - // defined in TouchGFXGeneratedHAL.cpp - - TouchGFXGeneratedHAL::flushFrameBuffer(rect); -} - -bool TouchGFXHAL::blockCopy(void* RESTRICT dest, const void* RESTRICT src, uint32_t numBytes) -{ - return TouchGFXGeneratedHAL::blockCopy(dest, src, numBytes); -} - -/** - * Configures the interrupts relevant for TouchGFX. This primarily entails setting - * the interrupt priorities for the DMA and LCD interrupts. - */ -void TouchGFXHAL::configureInterrupts() -{ - // Calling parent implementation of configureInterrupts(). - // - // To overwrite the generated implementation, omit the call to the parent function - // and implement the needed functionality here. - - TouchGFXGeneratedHAL::configureInterrupts(); -} - -/** - * Used for enabling interrupts set in configureInterrupts() - */ -void TouchGFXHAL::enableInterrupts() -{ - // Calling parent implementation of enableInterrupts(). - // - // To overwrite the generated implementation, omit the call to the parent function - // and implement the needed functionality here. - - TouchGFXGeneratedHAL::enableInterrupts(); -} - -/** - * Used for disabling interrupts set in configureInterrupts() - */ -void TouchGFXHAL::disableInterrupts() -{ - // Calling parent implementation of disableInterrupts(). - // - // To overwrite the generated implementation, omit the call to the parent function - // and implement the needed functionality here. - - TouchGFXGeneratedHAL::disableInterrupts(); -} - -/** - * Configure the LCD controller to fire interrupts at VSYNC. Called automatically - * once TouchGFX initialization has completed. - */ -void TouchGFXHAL::enableLCDControllerInterrupt() -{ - // Calling parent implementation of enableLCDControllerInterrupt(). - // - // To overwrite the generated implementation, omit the call to the parent function - // and implement the needed functionality here. - - TouchGFXGeneratedHAL::enableLCDControllerInterrupt(); -} - -bool TouchGFXHAL::beginFrame() -{ - return TouchGFXGeneratedHAL::beginFrame(); -} - -void TouchGFXHAL::endFrame() -{ - TouchGFXGeneratedHAL::endFrame(); -} - -/* USER CODE END TouchGFXHAL.cpp */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Software/TouchGFX/target/TouchGFXHAL.hpp b/Software/TouchGFX/target/TouchGFXHAL.hpp deleted file mode 100644 index 39e6fc3..0000000 --- a/Software/TouchGFX/target/TouchGFXHAL.hpp +++ /dev/null @@ -1,169 +0,0 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * File Name : TouchGFXHAL.hpp - ****************************************************************************** - * This file was created by TouchGFX Generator 4.25.0. This file is only - * generated once! Delete this file from your project and re-generate code - * using STM32CubeMX or change this file manually to update it. - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ -/* USER CODE END Header */ -#ifndef TouchGFXHAL_HPP -#define TouchGFXHAL_HPP - -/* USER CODE BEGIN TouchGFXHAL.hpp */ - -#include - -/** - * @class TouchGFXHAL - * - * @brief HAL implementation for TouchGFX. - * - * @sa HAL - */ -class TouchGFXHAL : public TouchGFXGeneratedHAL -{ -public: - /** - * @fn TouchGFXHAL::TouchGFXHAL(touchgfx::DMA_Interface& dma, touchgfx::LCD& display, touchgfx::TouchController& tc, uint16_t width, uint16_t height) : TouchGFXGeneratedHAL(dma, display, tc, width, height) - * - * @brief Constructor. - * - * Constructor. Initializes members. - * - * @param [in,out] dma Reference to DMA interface. - * @param [in,out] display Reference to LCD interface. - * @param [in,out] tc Reference to Touch Controller driver. - * @param width Width of the display. - * @param height Height of the display. - */ - TouchGFXHAL(touchgfx::DMA_Interface& dma, touchgfx::LCD& display, touchgfx::TouchController& tc, uint16_t width, uint16_t height) : TouchGFXGeneratedHAL(dma, display, tc, width, height) - { - } - - virtual void initialize(); - - /** - * @fn virtual void TouchGFXHAL::disableInterrupts(); - * - * @brief Disables the DMA, LDC, and GPU2D (if enabled) interrupts. - * - * Disables the DMA, LDC, and GPU2D (if enabled) interrupts. - */ - virtual void disableInterrupts(); - - /** - * @fn virtual void TouchGFXHAL::enableInterrupts(); - * - * @brief Enables the DMA, LCD, and GPU2D (if enabled) interrupts. - * - * Enables the DMA, LCD, and GPU2D (if enabled) interrupts. - */ - virtual void enableInterrupts(); - - /** - * @fn virtual void TouchGFXHAL::configureInterrupts(); - * - * @brief Sets the DMA, LCD, and GPU2D (if enabled) interrupt priorities. - * - * Sets the DMA, LCD, and GPU2D (if enabled) interrupt priorities. - */ - virtual void configureInterrupts(); - - /** - * @fn virtual void TouchGFXHAL::enableLCDControllerInterrupt(); - * - * @brief Configure the LCD controller to fire interrupts at VSYNC. - * - * Configure the LCD controller to fire interrupts at VSYNC. Called automatically - * once TouchGFX initialization has completed. - */ - virtual void enableLCDControllerInterrupt(); - - virtual bool beginFrame(); - - virtual void endFrame(); - - /** - * @fn virtual void TouchGFXHAL::flushFrameBuffer(); - * - * @brief This function is called whenever the framework has performed a complete draw. - * - * This specialization is only in place to keep compilers happy. Base impl. will call the - * Rect version. - * @see HAL::flushFrameBuffer - */ - virtual void flushFrameBuffer() - { - TouchGFXGeneratedHAL::flushFrameBuffer(); - } - - /** - * @fn virtual void TouchGFXHAL::flushFrameBuffer(const Rect& rect); - * - * @brief This function is called whenever the framework has performed a partial draw. - * - * This function is called whenever the framework has performed a partial draw. - * - * @param rect The area of the screen that has been drawn, expressed in absolute coordinates. - * - * @see flushFrameBuffer(). - */ - virtual void flushFrameBuffer(const touchgfx::Rect& rect); - - /** - * @fn virtual bool TouchGFXHAL::blockCopy(void* RESTRICT dest, const void* RESTRICT src, uint32_t numBytes); - * - * @brief This function performs a platform-specific memcpy. - * - * This function performs a platform-specific memcpy, if supported by the hardware. - * - * @param [out] dest Pointer to destination memory. - * @param [in] src Pointer to source memory. - * @param numBytes Number of bytes to copy. - * - * @return true if the copy succeeded, false if copy was not performed. - */ - virtual bool blockCopy(void* RESTRICT dest, const void* RESTRICT src, uint32_t numBytes); - -protected: - /** - * @fn virtual uint16_t* TouchGFXHAL::getTFTFrameBuffer() const; - * - * @brief Gets the frame buffer address used by the TFT controller. - * - * Gets the frame buffer address used by the TFT controller. - * - * @return The address of the frame buffer currently being displayed on the TFT. - */ - virtual uint16_t* getTFTFrameBuffer() const; - - /** - * @fn virtual void TouchGFXHAL::setTFTFrameBuffer(uint16_t* adr); - * - * @brief Sets the frame buffer address used by the TFT controller. - * - * Sets the frame buffer address used by the TFT controller. - * - * @param [in,out] adr New frame buffer address. - */ - virtual void setTFTFrameBuffer(uint16_t* adr); -}; - -/* USER CODE END TouchGFXHAL.hpp */ - -#endif // TouchGFXHAL_HPP - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Software/TouchGFX/target/generated/OSWrappers.cpp b/Software/TouchGFX/target/generated/OSWrappers.cpp deleted file mode 100644 index 24881f5..0000000 --- a/Software/TouchGFX/target/generated/OSWrappers.cpp +++ /dev/null @@ -1,160 +0,0 @@ -/** - ****************************************************************************** - * File Name : OSWrappers.cpp - ****************************************************************************** - * This file is generated by TouchGFX Generator 4.25.0. Please, do not edit! - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ - -#include -#include - -#include -#include - -static volatile uint32_t fb_sem; -static volatile uint32_t vsync_sem; - -using namespace touchgfx; - -/* - * Initialize frame buffer semaphore and queue/mutex for VSYNC signal. - */ -void OSWrappers::initialize() -{ - fb_sem = 0; - vsync_sem = 0; -} - -/* - * Take the frame buffer semaphore. Blocks until semaphore is available. - */ -void OSWrappers::takeFrameBufferSemaphore() -{ - while (fb_sem); - fb_sem = 1; -} - -/* - * Release the frame buffer semaphore. - */ -void OSWrappers::giveFrameBufferSemaphore() -{ - fb_sem = 0; -} - -/* - * Attempt to obtain the frame buffer semaphore. If semaphore is not available, do - * nothing. - * - * Note must return immediately! This function does not care who has the taken the semaphore, - * it only serves to make sure that the semaphore is taken by someone. - */ -void OSWrappers::tryTakeFrameBufferSemaphore() -{ - fb_sem = 1; -} - -/* - * Release the frame buffer semaphore in a way that is safe in interrupt context. Called - * from ISR. - * - * Release the frame buffer semaphore in a way that is safe in interrupt context. - * Called from ISR. - */ -void OSWrappers::giveFrameBufferSemaphoreFromISR() -{ - fb_sem = 0; -} - -/* - * Signal that a VSYNC has occurred. Should make the vsync queue/mutex available. - * - * Note This function is called from an ISR, and should (depending on OS) trigger a - * scheduling. - */ -void OSWrappers::signalVSync() -{ - vsync_sem = 1; -} - -/* - * Signal that the rendering of the frame has completed. Used by - * some systems to avoid using any previous vsync. - */ -void OSWrappers::signalRenderingDone() -{ - vsync_sem = 0; -} - -/* - * This function checks if a VSync occurred after last rendering. - * The function is used in systems that cannot wait in waitForVSync - * (because they are also checking other event sources. - * - * @note signalRenderingDone is typically used together with this function. - * - * @return True if VSync occurred. - */ -bool OSWrappers::isVSyncAvailable() -{ - return vsync_sem; -} - -/* - * This function check if a VSYNC has occured. - * If VSYNC has occured, signal TouchGFX to start a rendering - */ -void OSWrappers::waitForVSync() -{ - if (vsync_sem) - { - vsync_sem = 0; - HAL::getInstance()->backPorchExited(); - } -} - -/* - * A function that causes executing task to sleep for a number of milliseconds. - * - * A function that causes executing task to sleep for a number of milliseconds. - * This function is OPTIONAL. It is only used by the TouchGFX in the case of - * a specific frame refresh strategy (REFRESH_STRATEGY_OPTIM_SINGLE_BUFFER_TFT_CTRL). - * Due to backwards compatibility, in order for this function to be useable by the HAL - * the function must be explicitly registered: - * hal.registerTaskDelayFunction(&OSWrappers::taskDelay) - * - * see HAL::setFrameRefreshStrategy(FrameRefreshStrategy s) - * see HAL::registerTaskDelayFunction(void (*delayF)(uint16_t)) - */ -void OSWrappers::taskDelay(uint16_t ms) -{ - HAL_Delay(ms); -} - -/** - * A function that causes the executing task to yield control to - * another thread. This function is used by the framework when it - * is necessary to wait a little before continuing (e.g. drawing). - * - * The implementation should typically request the operating - * system to change to another task of similar priority. When - * running without an operating system, the implementation can run - * a very short task and return. - */ -void OSWrappers::taskYield() -{ - -} - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Software/TouchGFX/target/generated/STM32DMA.cpp b/Software/TouchGFX/target/generated/STM32DMA.cpp deleted file mode 100644 index 158b433..0000000 --- a/Software/TouchGFX/target/generated/STM32DMA.cpp +++ /dev/null @@ -1,42 +0,0 @@ -/** - ****************************************************************************** - * File Name : STM32DMA.cpp - ****************************************************************************** - * This file is generated by TouchGFX Generator 4.25.0. Please, do not edit! - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ - -#include -#include - -STM32DMA::STM32DMA() - : DMA_Interface(q), q(&b, 1) -{ -} - -touchgfx::BlitOperations STM32DMA::getBlitCaps() -{ - return static_cast(0); -} - -void STM32DMA::setupDataCopy(const touchgfx::BlitOp& blitOp) -{ - assert(0 && "DMA operation not supported"); -} - -void STM32DMA::setupDataFill(const touchgfx::BlitOp& blitOp) -{ - assert(0 && "DMA operation not supported"); -} - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Software/TouchGFX/target/generated/STM32DMA.hpp b/Software/TouchGFX/target/generated/STM32DMA.hpp deleted file mode 100644 index 7aee041..0000000 --- a/Software/TouchGFX/target/generated/STM32DMA.hpp +++ /dev/null @@ -1,93 +0,0 @@ -/** - ****************************************************************************** - * File Name : STM32DMA.hpp - ****************************************************************************** - * This file is generated by TouchGFX Generator 4.25.0. Please, do not edit! - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ -#ifndef STM32DMA_HPP -#define STM32DMA_HPP - -#include -#include - -/** - * @class STM32DMA - * - * @brief This class specializes DMA_Interface for the STM32 processors. - * - * @see touchgfx::DMA_Interface - */ -class STM32DMA : public touchgfx::DMA_Interface -{ -public: - /** - * @fn STM32DMA::STM32DMA(); - * - * @brief Default constructor. - */ - STM32DMA(); - - /** - * @fn touchgfx::BlitOperations STM32DMA::getBlitCaps(); - * - * @brief No blit operations supported by this DMA implementation. - * - * @return Zero (no blit ops supported). - */ - virtual touchgfx::BlitOperations getBlitCaps(); - - /** - * @fn virtual void STM32DMA::setupDataCopy(const touchgfx::BlitOp& blitOp); - * - * @brief Asserts if used. - * - * @param blitOp The blit operation to be performed by this DMA instance. - */ - virtual void setupDataCopy(const touchgfx::BlitOp& blitOp); - - /** - * @fn virtual void STM32DMA::setupDataFill(const touchgfx::BlitOp& blitOp); - * - * @brief Asserts if used. - * - * @param blitOp The blit operation to be performed by this DMA instance. - */ - virtual void setupDataFill(const touchgfx::BlitOp& blitOp); - - /** - * @fn virtual void STM32DMA::signalDMAInterrupt(); - * - * @brief Does nothing. - */ - virtual void signalDMAInterrupt() - { - } - - /** - * @fn virtual void STM32DMA::flush(); - * - * @brief Block until all DMA transfers are complete. Since this particular DMA does not do - * anything, return immediately. - */ - virtual void flush() - { - } - -private: - touchgfx::LockFreeDMA_Queue q; - touchgfx::BlitOp b; -}; -#endif // TOUCHGFX_NODMA_HPP - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Software/TouchGFX/target/generated/TouchGFXConfiguration.cpp b/Software/TouchGFX/target/generated/TouchGFXConfiguration.cpp deleted file mode 100644 index cd2ee60..0000000 --- a/Software/TouchGFX/target/generated/TouchGFXConfiguration.cpp +++ /dev/null @@ -1,78 +0,0 @@ -/** - ****************************************************************************** - * File Name : TouchGFXConfiguration.cpp - ****************************************************************************** - * This file is generated by TouchGFX Generator 4.25.0. Please, do not edit! - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -extern "C" void touchgfx_init(); -extern "C" void touchgfx_taskEntry(); -extern "C" void touchgfx_components_init(); - -static STM32TouchController tc; -static STM32DMA dma; -static LCD24bpp display; -static ApplicationFontProvider fontProvider; -static Texts texts; -static TouchGFXHAL hal(dma, display, tc, 1024, 600); - -void touchgfx_init() -{ - Bitmap::registerBitmapDatabase(BitmapDatabase::getInstance(), BitmapDatabase::getInstanceSize()); - TypedText::registerTexts(&texts); - Texts::setLanguage(0); - - FontManager::setFontProvider(&fontProvider); - - FrontendHeap& heap = FrontendHeap::getInstance(); - /* - * we need to obtain the reference above to initialize the frontend heap. - */ - (void)heap; - - /* - * Initialize TouchGFX - */ - hal.initialize(); -} - -void touchgfx_components_init() -{ -} - -void touchgfx_taskEntry() -{ - /* - * Main event loop will check for VSYNC signal, and then process next frame. - * - * Note This function returns immediately if there is no VSYNC signal. - */ - if (OSWrappers::isVSyncAvailable()) - { - hal.backPorchExited(); - } -} - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Software/TouchGFX/target/generated/TouchGFXGeneratedHAL.cpp b/Software/TouchGFX/target/generated/TouchGFXGeneratedHAL.cpp deleted file mode 100644 index 90bf42f..0000000 --- a/Software/TouchGFX/target/generated/TouchGFXGeneratedHAL.cpp +++ /dev/null @@ -1,187 +0,0 @@ -/** - ****************************************************************************** - * File Name : TouchGFXGeneratedHAL.cpp - ****************************************************************************** - * This file is generated by TouchGFX Generator 4.25.0. Please, do not edit! - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ - -#include -#include -#include -#include -#include -#include - -#include "stm32h7xx.h" -#include "stm32h7xx_hal_ltdc.h" - -using namespace touchgfx; - -namespace -{ -// Use the section "TouchGFX_Framebuffer" in the linker script to specify the placement of the buffer -LOCATION_PRAGMA_NOLOAD("TouchGFX_Framebuffer") -uint32_t frameBuf[(1024 * 600 * 3 + 3) / 4] LOCATION_ATTRIBUTE_NOLOAD("TouchGFX_Framebuffer"); -static uint16_t lcd_int_active_line; -static uint16_t lcd_int_porch_line; -} - -void TouchGFXGeneratedHAL::initialize() -{ - HAL::initialize(); - registerEventListener(*(Application::getInstance())); - registerTaskDelayFunction(&OSWrappers::taskDelay); - if (!setFrameRefreshStrategy(HAL::REFRESH_STRATEGY_OPTIM_SINGLE_BUFFER_TFT_CTRL)) - { - while (1); - } - enableLCDControllerInterrupt(); - enableInterrupts(); - setFrameBufferStartAddresses((void*)frameBuf, (void*)0, (void*)0); -} - -void TouchGFXGeneratedHAL::configureInterrupts() -{ - NVIC_SetPriority(LTDC_IRQn, 9); -} - -void TouchGFXGeneratedHAL::enableInterrupts() -{ - NVIC_EnableIRQ(LTDC_IRQn); -} - -void TouchGFXGeneratedHAL::disableInterrupts() -{ - NVIC_DisableIRQ(LTDC_IRQn); -} - -void TouchGFXGeneratedHAL::enableLCDControllerInterrupt() -{ - lcd_int_active_line = (LTDC->BPCR & LTDC_BPCR_AVBP_Msk) - 1; - lcd_int_porch_line = (LTDC->AWCR & LTDC_AWCR_AAH_Msk) - 1; - - /* Sets the Line Interrupt position */ - LTDC->LIPCR = lcd_int_active_line; - /* Line Interrupt Enable */ - LTDC->IER |= LTDC_IER_LIE; -} - -bool TouchGFXGeneratedHAL::beginFrame() -{ - return HAL::beginFrame(); -} - -void TouchGFXGeneratedHAL::endFrame() -{ - HAL::endFrame(); - touchgfx::OSWrappers::signalRenderingDone(); -} - -uint16_t* TouchGFXGeneratedHAL::getTFTFrameBuffer() const -{ - return (uint16_t*)LTDC_Layer1->CFBAR; -} - -void TouchGFXGeneratedHAL::setTFTFrameBuffer(uint16_t* adr) -{ - LTDC_Layer1->CFBAR = (uint32_t)adr; - - /* Reload immediate */ - LTDC->SRCR = (uint32_t)LTDC_SRCR_IMR; -} - -void TouchGFXGeneratedHAL::flushFrameBuffer(const touchgfx::Rect& rect) -{ - HAL::flushFrameBuffer(rect); -} - -bool TouchGFXGeneratedHAL::blockCopy(void* RESTRICT dest, const void* RESTRICT src, uint32_t numBytes) -{ - return HAL::blockCopy(dest, src, numBytes); -} - -uint16_t TouchGFXGeneratedHAL::getTFTCurrentLine() -{ - // This function only requires an implementation if single buffering - // on LTDC display is being used (REFRESH_STRATEGY_OPTIM_SINGLE_BUFFER_TFT_CTRL). - - // The CPSR register (bits 15:0) specify current line of TFT controller. - uint16_t curr = (uint16_t)(LTDC->CPSR & LTDC_CPSR_CYPOS_Msk); - uint16_t backPorchY = (uint16_t)(LTDC->BPCR & LTDC_BPCR_AVBP_Msk) + 1; - - // The semantics of the getTFTCurrentLine() function is to return a value - // in the range of 0-totalheight. If we are still in back porch area, return 0. - return (curr < backPorchY) ? 0 : (curr - backPorchY); -} - -void TouchGFXGeneratedHAL::InvalidateCache() -{ - // Because DMA2D access main memory directly, the DCache must be invalidated - // becuase it could hold a wrong image of the framebuffer. That's done - // using the function SCB_CleanInvalidateDCache(). Remember to enable - // "CPU Cache" in the "System Core" settings for "Cortex M7" in CubeMX - // in order for this function call to work. - if (SCB->CCR & SCB_CCR_DC_Msk) - { - SCB_CleanInvalidateDCache(); - } -} - -void TouchGFXGeneratedHAL::FlushCache() -{ - // If the framebuffer is placed in Write-Back cached memory (e.g. SRAM) then - // the DCache must be flushed prior to DMA2D accessing it. That's done - // using the function SCB_CleanInvalidateDCache(). Remember to enable - // "CPU Cache" in the "System Core" settings for "Cortex M7" in CubeMX in - // order for this function call to work. - if (SCB->CCR & SCB_CCR_DC_Msk) - { - SCB_CleanInvalidateDCache(); - } -} - -extern "C" -{ - void HAL_LTDC_LineEventCallback(LTDC_HandleTypeDef* hltdc) - { - if (!HAL::getInstance()) - { - return; - } - - if (LTDC->LIPCR == lcd_int_active_line) - { - //entering active area - HAL_LTDC_ProgramLineEvent(hltdc, lcd_int_porch_line); - HAL::getInstance()->vSync(); - OSWrappers::signalVSync(); - - // Swap frame buffers immediately instead of waiting for the task to be scheduled in. - // Note: task will also swap when it wakes up, but that operation is guarded and will not have - // any effect if already swapped. - HAL::getInstance()->swapFrameBuffers(); - GPIO::set(GPIO::VSYNC_FREQ); - } - else - { - //exiting active area - HAL_LTDC_ProgramLineEvent(hltdc, lcd_int_active_line); - - // Signal to the framework that display update has finished. - HAL::getInstance()->frontPorchEntered(); - GPIO::clear(GPIO::VSYNC_FREQ); - } - } -} -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Software/TouchGFX/target/generated/TouchGFXGeneratedHAL.hpp b/Software/TouchGFX/target/generated/TouchGFXGeneratedHAL.hpp deleted file mode 100644 index f59d3a4..0000000 --- a/Software/TouchGFX/target/generated/TouchGFXGeneratedHAL.hpp +++ /dev/null @@ -1,211 +0,0 @@ -/** - ****************************************************************************** - * File Name : TouchGFXGeneratedHAL.hpp - ****************************************************************************** - * This file is generated by TouchGFX Generator 4.25.0. Please, do not edit! - ****************************************************************************** - * @attention - * - * Copyright (c) 2025 STMicroelectronics. - * All rights reserved. - * - * This software is licensed under terms that can be found in the LICENSE file - * in the root directory of this software component. - * If no LICENSE file comes with this software, it is provided AS-IS. - * - ****************************************************************************** - */ -#ifndef TouchGFXGeneratedHAL_HPP -#define TouchGFXGeneratedHAL_HPP - -#include - -/** - * @class TouchGFXGeneratedHAL - * - * @brief HAL implementation for TouchGFXGenerated. - * - * @sa HAL - */ -class TouchGFXGeneratedHAL : public touchgfx::HAL -{ -public: - /** - * @fn TouchGFXGeneratedHAL::TouchGFXGeneratedHAL(touchgfx::DMA_Interface& dma, touchgfx::LCD& display, touchgfx::TouchController& tc, uint16_t width, uint16_t height) : touchgfx::HAL(dma, display, tc, width, height) - * - * @brief Constructor. - * - * Constructor. Initializes members. - * - * @param [in,out] dma Reference to DMA interface. - * @param [in,out] display Reference to LCD interface. - * @param [in,out] tc Reference to Touch Controller driver. - * @param width Width of the display. - * @param height Height of the display. - */ - TouchGFXGeneratedHAL(touchgfx::DMA_Interface& dma, touchgfx::LCD& display, touchgfx::TouchController& tc, uint16_t width, uint16_t height) : - touchgfx::HAL(dma, display, tc, width, height) - { - } - - /** - * @fn void TouchGFXGeneratedHAL::initialize(); - * - * @brief This function is responsible for initializing the entire framework. - * - * This function is responsible for initializing the entire framework. - */ - virtual void initialize(); - - /** - * @fn virtual void TouchGFXGeneratedHAL::configureInterrupts(); - * - * @brief Sets the DMA, LCD, and GPU2D (if enabled) interrupt priorities. - * - * Sets the DMA, LCD, and GPU2D (if enabled) interrupt priorities. - */ - virtual void configureInterrupts(); - - /** - * @fn virtual void TouchGFXGeneratedHAL::enableInterrupts(); - * - * @brief Enables the DMA, LCD, and GPU2D (if enabled) interrupts. - * - * Enables the DMA, LCD, and GPU2D (if enabled) interrupts. - */ - virtual void enableInterrupts(); - - /** - * @fn virtual void TouchGFXGeneratedHAL::disableInterrupts(); - * - * @brief Disables the DMA, LDC, and GPU2D (if enabled) interrupts. - * - * Disables the DMA, LDC, and GPU2D (if enabled) interrupts. - */ - virtual void disableInterrupts(); - - /** - * @fn virtual void TouchGFXGeneratedHAL::enableLCDControllerInterrupt(); - * - * @brief Configure the LCD controller to fire interrupts at VSYNC. - * - * Configure the LCD controller to fire interrupts at VSYNC. Called automatically - * once TouchGFX initialization has completed. - */ - virtual void enableLCDControllerInterrupt(); - - /** - * @fn virtual void TouchGFXGeneratedHAL::flushFrameBuffer(); - * - * @brief This function is called whenever the framework has performed a complete draw. - * - * This specialization is only in place to keep compilers happy. Base impl. will call the - * Rect version. - * @see HAL::flushFrameBuffer - */ - virtual void flushFrameBuffer() - { - HAL::flushFrameBuffer(); - } - - /** - * @fn virtual void TouchGFXGeneratedHAL::flushFrameBuffer(const touchgfx::Rect& rect); - * - * @brief This function is called whenever the framework has performed a partial draw. - * - * This function is called whenever the framework has performed a partial draw. - * - * @param rect The area of the screen that has been drawn, expressed in absolute coordinates. - * - * @see flushFrameBuffer(). - */ - virtual void flushFrameBuffer(const touchgfx::Rect& rect); - - /** - * - * @fn virtual void TouchGFXGeneratedHAL::blockCopy(); - * - * This function performs a platform-specific memcpy, if supported by the hardware. - * - * @param [out] dest Pointer to destination memory. - * @param [in] src Pointer to source memory. - * @param numBytes Number of bytes to copy. - * - * @return true if the copy succeeded, false if copy was not performed. - */ - virtual bool blockCopy(void* RESTRICT dest, const void* RESTRICT src, uint32_t numBytes); - - /** - * @fn virtual void TouchGFXGeneratedHAL::beginFrame(); - * - * @brief Called when beginning to rendering a frame. - * - * Called when beginning to rendering a frame. - * - * @return true if rendering can begin, false otherwise. - */ - virtual bool beginFrame(); - - /** - * @fn virtual void TouchGFXGeneratedHAL::endFrame(); - * - * @brief Called when a rendering pass is completed. - * - * Called when a rendering pass is completed. - */ - virtual void endFrame(); - -protected: - /** - * @fn virtual uint16_t* TouchGFXGeneratedHAL::getTFTFrameBuffer() const; - * - * @brief Gets the frame buffer address used by the TFT controller. - * - * Gets the frame buffer address used by the TFT controller. - * - * @return The address of the frame buffer currently being displayed on the TFT. - */ - virtual uint16_t* getTFTFrameBuffer() const; - - /** - * @fn virtual void TouchGFXGeneratedHAL::setTFTFrameBuffer(uint16_t* adr); - * - * @brief Sets the frame buffer address used by the TFT controller. - * - * Sets the frame buffer address used by the TFT controller. - * - * @param [in,out] adr New frame buffer address. - */ - virtual void setTFTFrameBuffer(uint16_t* adr); - - /** - * @fn virtual uint16_t TouchGFXGeneratedHAL::getTFTCurrentLine() - * - * @brief Get the current line (Y) of the TFT controller - * - * This function is used to obtain the progress of the TFT controller. More - * specifically, the line (or Y-value) currently being transferred. - * - * Note: The value must be adjusted to account for vertical back porch before - * returning, such that the value is always within the range of 0 <= value < - * actual display height in pixels - * - * It is used for the REFRESH_STRATEGY_OPTIM_SINGLE_BUFFER_TFT_CTRL frame refresh - * strategy in order to synchronize frame buffer drawing with TFT controller - * progress. If this strategy is used, the concrete HAL subclass must provide an - * override of this function that returns correct line value. If this strategy is - * not used, then the getTFTCurrentLine function is never called and can be - * disregarded. - * - * @return In this default implementation, 0xFFFF is returned to signify "not implemented". - */ - virtual uint16_t getTFTCurrentLine(); - - virtual void InvalidateCache(); - - virtual void FlushCache(); - -}; -#endif // TouchGFXGeneratedHAL_HPP - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Software/build/FT23_Charger.map b/Software/build/FT23_Charger.map index b30823d..1b74017 100644 --- a/Software/build/FT23_Charger.map +++ b/Software/build/FT23_Charger.map @@ -1,15 +1,11 @@ Archive member included to satisfy reference by file (symbol) -/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-assert.o) - build/debug/STM32DMA.o (__assert_func) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-atexit.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o (atexit) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-exit.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o (exit) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-exit.o) (__stdio_exit_handler) -/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fprintf.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-assert.o) (fiprintf) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) (_fwalk_sglue) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) @@ -21,7 +17,7 @@ Archive member included to satisfy reference by file (symbol) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o) (errno) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-assert.o) (_impure_ptr) + /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) (_impure_ptr) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) (_lseek_r) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o) @@ -36,58 +32,22 @@ Archive member included to satisfy reference by file (symbol) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o (__libc_fini_array) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) (__retarget_lock_init_recursive) -/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-aeabi_atexit.o) - build/debug/TouchGFXConfiguration.o (__aeabi_atexit) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o) build/debug/stm32h7xx_hal_fdcan.o (memcpy) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-atexit.o) (__register_exitproc) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) (__call_exitprocs) -/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-abort.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-assert.o) (abort) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) (_free_r) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) (_malloc_r) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) (__malloc_lock) -/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-cxa_atexit.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-aeabi_atexit.o) (__cxa_atexit) -/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fprintf.o) (_vfprintf_r) -/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) (_printf_i) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) (_fflush_r) -/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fvwrite.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) (__sfvwrite_r) -/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wbuf.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) (__swbuf_r) -/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wsetup.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) (__swsetup_r) -/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memmove.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fvwrite.o) (memmove) -/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signal.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-abort.o) (raise) -/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signalr.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signal.o) (_kill_r) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) (_sbrk_r) -/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memchr.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) (memchr) -/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-on_exit_args.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-cxa_atexit.o) (__on_exit_args) -/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reallocr.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fvwrite.o) (_realloc_r) -/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-makebuf.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wsetup.o) (__smakebuf_r) -/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fstatr.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-makebuf.o) (_fstat_r) -/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-isattyr.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-makebuf.o) (_isatty_r) -/usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-msizer.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reallocr.o) (_malloc_usable_size_r) /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) build/debug/stm32h7xx_hal_uart.o (__aeabi_uldivmod) /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) @@ -100,6 +60,7 @@ Discarded input sections .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crti.o .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crti.o .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crti.o + .data 0x00000000 0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o .rodata 0x00000000 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o .text 0x00000000 0x70 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o @@ -116,9 +77,6 @@ Discarded input sections .debug_str 0x00000000 0xc0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o .ARM.attributes 0x00000000 0x1e /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o - .text 0x00000000 0x0 build/debug/app_touchgfx.o - .data 0x00000000 0x0 build/debug/app_touchgfx.o - .bss 0x00000000 0x0 build/debug/app_touchgfx.o .text 0x00000000 0x0 build/debug/b_cccv_algo.o .data 0x00000000 0x0 build/debug/b_cccv_algo.o .bss 0x00000000 0x0 build/debug/b_cccv_algo.o @@ -992,8 +950,6 @@ Discarded input sections 0x00000000 0x2 build/debug/stm32h7xx_hal_ltdc.o .text.HAL_LTDC_DeInit 0x00000000 0x6a build/debug/stm32h7xx_hal_ltdc.o - .text.HAL_LTDC_LineEventCallback - 0x00000000 0x2 build/debug/stm32h7xx_hal_ltdc.o .text.HAL_LTDC_ConfigColorKeying 0x00000000 0x4a build/debug/stm32h7xx_hal_ltdc.o .text.HAL_LTDC_ConfigCLUT @@ -1022,6 +978,8 @@ Discarded input sections 0x00000000 0x42 build/debug/stm32h7xx_hal_ltdc.o .text.HAL_LTDC_SetPitch 0x00000000 0xb4 build/debug/stm32h7xx_hal_ltdc.o + .text.HAL_LTDC_ProgramLineEvent + 0x00000000 0x48 build/debug/stm32h7xx_hal_ltdc.o .text.HAL_LTDC_Reload 0x00000000 0x3a build/debug/stm32h7xx_hal_ltdc.o .text.HAL_LTDC_ConfigLayer_NoReload @@ -2007,6 +1965,15 @@ Discarded input sections .bss 0x00000000 0x0 build/debug/syscalls.o .text.initialise_monitor_handles 0x00000000 0x2 build/debug/syscalls.o + .text._getpid 0x00000000 0x4 build/debug/syscalls.o + .text._kill 0x00000000 0x10 build/debug/syscalls.o + .text._exit 0x00000000 0xc build/debug/syscalls.o + .text._read 0x00000000 0x20 build/debug/syscalls.o + .text._write 0x00000000 0x1c build/debug/syscalls.o + .text._close 0x00000000 0x6 build/debug/syscalls.o + .text._fstat 0x00000000 0xa build/debug/syscalls.o + .text._isatty 0x00000000 0x4 build/debug/syscalls.o + .text._lseek 0x00000000 0x4 build/debug/syscalls.o .text._open 0x00000000 0xa build/debug/syscalls.o .text._wait 0x00000000 0x10 build/debug/syscalls.o .text._unlink 0x00000000 0x10 build/debug/syscalls.o @@ -2017,176 +1984,48 @@ Discarded input sections .text._execve 0x00000000 0x10 build/debug/syscalls.o .data.environ 0x00000000 0x4 build/debug/syscalls.o .bss.__env 0x00000000 0x4 build/debug/syscalls.o + .debug_info 0x00000000 0x789 build/debug/syscalls.o + .debug_abbrev 0x00000000 0x1c1 build/debug/syscalls.o + .debug_loclists + 0x00000000 0x2cd build/debug/syscalls.o + .debug_aranges + 0x00000000 0xa8 build/debug/syscalls.o + .debug_rnglists + 0x00000000 0x79 build/debug/syscalls.o + .debug_line 0x00000000 0x369 build/debug/syscalls.o + .debug_str 0x00000000 0x3e1 build/debug/syscalls.o + .comment 0x00000000 0x24 build/debug/syscalls.o + .debug_frame 0x00000000 0x190 build/debug/syscalls.o + .ARM.attributes + 0x00000000 0x32 build/debug/syscalls.o .text 0x00000000 0x0 build/debug/sysmem.o .data 0x00000000 0x0 build/debug/sysmem.o .bss 0x00000000 0x0 build/debug/sysmem.o + .text._sbrk 0x00000000 0x48 build/debug/sysmem.o + .bss.__sbrk_heap_end + 0x00000000 0x4 build/debug/sysmem.o + .debug_info 0x00000000 0x171 build/debug/sysmem.o + .debug_abbrev 0x00000000 0xea build/debug/sysmem.o + .debug_loclists + 0x00000000 0x52 build/debug/sysmem.o + .debug_aranges + 0x00000000 0x20 build/debug/sysmem.o + .debug_rnglists + 0x00000000 0x13 build/debug/sysmem.o + .debug_line 0x00000000 0x13c build/debug/sysmem.o + .debug_str 0x00000000 0x20d build/debug/sysmem.o + .comment 0x00000000 0x24 build/debug/sysmem.o + .debug_frame 0x00000000 0x28 build/debug/sysmem.o + .ARM.attributes + 0x00000000 0x32 build/debug/sysmem.o .text 0x00000000 0x0 build/debug/system_stm32h7xx.o .data 0x00000000 0x0 build/debug/system_stm32h7xx.o .bss 0x00000000 0x0 build/debug/system_stm32h7xx.o .text.SystemCoreClockUpdate 0x00000000 0x250 build/debug/system_stm32h7xx.o - .data 0x00000000 0x0 build/debug/OSWrappers.o - .group 0x00000000 0x8 build/debug/STM32DMA.o - .group 0x00000000 0x8 build/debug/STM32DMA.o - .group 0x00000000 0x8 build/debug/STM32DMA.o - .group 0x00000000 0x8 build/debug/STM32DMA.o - .group 0x00000000 0x14 build/debug/STM32DMA.o - .group 0x00000000 0xc build/debug/STM32DMA.o - .data 0x00000000 0x0 build/debug/STM32DMA.o - .bss 0x00000000 0x0 build/debug/STM32DMA.o - .group 0x00000000 0x14 build/debug/STM32TouchController.o - .group 0x00000000 0xc build/debug/STM32TouchController.o - .data 0x00000000 0x0 build/debug/STM32TouchController.o - .bss 0x00000000 0x0 build/debug/STM32TouchController.o - .group 0x00000000 0x14 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x8 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x8 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x8 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x8 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x8 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x8 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x14 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x8 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x8 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x8 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x14 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x14 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x14 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x14 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x14 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x14 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x14 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x14 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x14 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x14 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x8 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x8 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x8 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x8 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x8 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x8 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x8 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x8 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x8 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x8 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x8 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x8 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x8 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x8 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0xc build/debug/TouchGFXConfiguration.o - .group 0x00000000 0xc build/debug/TouchGFXConfiguration.o - .group 0x00000000 0xc build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x14 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x14 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x14 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x14 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0xc build/debug/TouchGFXConfiguration.o - .group 0x00000000 0xc build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x8 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0xc build/debug/TouchGFXConfiguration.o - .group 0x00000000 0xc build/debug/TouchGFXConfiguration.o - .group 0x00000000 0xc build/debug/TouchGFXConfiguration.o - .group 0x00000000 0xc build/debug/TouchGFXConfiguration.o - .group 0x00000000 0xc build/debug/TouchGFXConfiguration.o - .group 0x00000000 0xc build/debug/TouchGFXConfiguration.o - .group 0x00000000 0xc build/debug/TouchGFXConfiguration.o - .group 0x00000000 0xc build/debug/TouchGFXConfiguration.o - .group 0x00000000 0xc build/debug/TouchGFXConfiguration.o - .group 0x00000000 0xc build/debug/TouchGFXConfiguration.o - .group 0x00000000 0xc build/debug/TouchGFXConfiguration.o - .group 0x00000000 0xc build/debug/TouchGFXConfiguration.o - .group 0x00000000 0xc build/debug/TouchGFXConfiguration.o - .group 0x00000000 0xc build/debug/TouchGFXConfiguration.o - .group 0x00000000 0xc build/debug/TouchGFXConfiguration.o - .group 0x00000000 0xc build/debug/TouchGFXConfiguration.o - .group 0x00000000 0xc build/debug/TouchGFXConfiguration.o - .group 0x00000000 0xc build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x8 build/debug/TouchGFXConfiguration.o - .group 0x00000000 0x8 build/debug/TouchGFXConfiguration.o - .text._ZN20STM32TouchControllerD2Ev - 0x00000000 0x14 build/debug/TouchGFXConfiguration.o - .text._ZN8STM32DMAD2Ev - 0x00000000 0x24 build/debug/TouchGFXConfiguration.o - .text._ZN20STM32TouchControllerD0Ev - 0x00000000 0x20 build/debug/TouchGFXConfiguration.o - .text._ZN8STM32DMAD0Ev - 0x00000000 0x30 build/debug/TouchGFXConfiguration.o - .rodata._ZTVN8touchgfx15TouchControllerE - 0x00000000 0x18 build/debug/TouchGFXConfiguration.o - .rodata._ZTVN8touchgfx9DMA_QueueE - 0x00000000 0x24 build/debug/TouchGFXConfiguration.o - .data 0x00000000 0x0 build/debug/TouchGFXGPIO.o - .bss 0x00000000 0x0 build/debug/TouchGFXGPIO.o - .group 0x00000000 0x8 build/debug/TouchGFXGeneratedHAL.o - .group 0x00000000 0x8 build/debug/TouchGFXGeneratedHAL.o - .group 0x00000000 0x8 build/debug/TouchGFXGeneratedHAL.o - .group 0x00000000 0xc build/debug/TouchGFXGeneratedHAL.o - .group 0x00000000 0x8 build/debug/TouchGFXGeneratedHAL.o - .group 0x00000000 0x8 build/debug/TouchGFXGeneratedHAL.o - .group 0x00000000 0x8 build/debug/TouchGFXGeneratedHAL.o - .group 0x00000000 0xc build/debug/TouchGFXGeneratedHAL.o - .group 0x00000000 0x14 build/debug/TouchGFXGeneratedHAL.o - .group 0x00000000 0xc build/debug/TouchGFXGeneratedHAL.o - .group 0x00000000 0xc build/debug/TouchGFXGeneratedHAL.o - .group 0x00000000 0xc build/debug/TouchGFXGeneratedHAL.o - .group 0x00000000 0xc build/debug/TouchGFXGeneratedHAL.o - .group 0x00000000 0xc build/debug/TouchGFXGeneratedHAL.o - .data 0x00000000 0x0 build/debug/TouchGFXGeneratedHAL.o - .text._ZN8touchgfx3HAL15backPorchExitedEv - 0x00000000 0x14 build/debug/TouchGFXGeneratedHAL.o - .group 0x00000000 0x8 build/debug/TouchGFXHAL.o - .group 0x00000000 0x8 build/debug/TouchGFXHAL.o - .group 0x00000000 0x8 build/debug/TouchGFXHAL.o - .group 0x00000000 0xc build/debug/TouchGFXHAL.o - .group 0x00000000 0x8 build/debug/TouchGFXHAL.o - .group 0x00000000 0x8 build/debug/TouchGFXHAL.o - .group 0x00000000 0x8 build/debug/TouchGFXHAL.o - .group 0x00000000 0xc build/debug/TouchGFXHAL.o - .group 0x00000000 0x14 build/debug/TouchGFXHAL.o - .group 0x00000000 0xc build/debug/TouchGFXHAL.o - .group 0x00000000 0xc build/debug/TouchGFXHAL.o - .group 0x00000000 0xc build/debug/TouchGFXHAL.o - .group 0x00000000 0xc build/debug/TouchGFXHAL.o - .data 0x00000000 0x0 build/debug/TouchGFXHAL.o - .bss 0x00000000 0x0 build/debug/TouchGFXHAL.o - .text._ZN8touchgfx3HAL21setDisplayOrientationENS_18DisplayOrientationE - 0x00000000 0xc build/debug/TouchGFXHAL.o - .text._ZN8touchgfx3HAL11getBlitCapsEv - 0x00000000 0x16 build/debug/TouchGFXHAL.o - .text._ZN8touchgfx3HAL9sampleKeyERh - 0x00000000 0x4 build/debug/TouchGFXHAL.o - .text._ZN8touchgfx3HAL19setAnimationStorageEPv - 0x00000000 0x14 build/debug/TouchGFXHAL.o - .text._ZNK8touchgfx3HAL18getFlashDataReaderEv - 0x00000000 0x4 build/debug/TouchGFXHAL.o - .text._ZN8touchgfx3HAL9taskDelayEt - 0x00000000 0xc build/debug/TouchGFXHAL.o - .text._ZN8touchgfx3HAL10getDMATypeEv - 0x00000000 0xc build/debug/TouchGFXHAL.o - .text._ZN8touchgfx3HAL31performDisplayOrientationChangeEv - 0x00000000 0x4c build/debug/TouchGFXHAL.o - .text._ZN11TouchGFXHALD2Ev - 0x00000000 0x1c build/debug/TouchGFXHAL.o - .rodata._ZN8touchgfx3HAL28setFrameBufferStartAddressesEPvS1_S1_.str1.4 - 0x00000000 0xc7 build/debug/TouchGFXHAL.o - .text._ZN8touchgfx3HAL28setFrameBufferStartAddressesEPvS1_S1_ - 0x00000000 0x3c build/debug/TouchGFXHAL.o - .rodata._ZN8touchgfx3HAL18setFrameBufferSizeEtt.str1.4 - 0x00000000 0xa7 build/debug/TouchGFXHAL.o - .text._ZN8touchgfx3HAL18setFrameBufferSizeEtt - 0x00000000 0x44 build/debug/TouchGFXHAL.o - .text._ZN8touchgfx3HAL15backPorchExitedEv - 0x00000000 0x14 build/debug/TouchGFXHAL.o - .text._ZN11TouchGFXHALD0Ev - 0x00000000 0x28 build/debug/TouchGFXHAL.o .text 0x00000000 0x14 build/debug/startup_stm32h7a3xx.o .data 0x00000000 0x0 build/debug/startup_stm32h7a3xx.o .bss 0x00000000 0x0 build/debug/startup_stm32h7a3xx.o - .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-assert.o) - .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-assert.o) - .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-assert.o) - .text.__assert - 0x00000000 0xa /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-assert.o) .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-atexit.o) .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-atexit.o) .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-atexit.o) @@ -2226,54 +2065,219 @@ Discarded input sections .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) + .text.std 0x00000000 0x6c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) + .text.stdio_exit_handler + 0x00000000 0x18 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) + .text.cleanup_stdio + 0x00000000 0x40 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) .text.__fp_lock 0x00000000 0x18 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) .text.__fp_unlock 0x00000000 0x18 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) + .text.global_stdio_init.part.0 + 0x00000000 0x40 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) + .text.__sfp_lock_acquire + 0x00000000 0xc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) + .text.__sfp_lock_release + 0x00000000 0xc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) .text.__sfp 0x00000000 0xa4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) + .text.__sinit 0x00000000 0x30 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) .text.__fp_lock_all 0x00000000 0x1c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) .text.__fp_unlock_all 0x00000000 0x1c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) - .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fprintf.o) - .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fprintf.o) - .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fprintf.o) - .text._fprintf_r - 0x00000000 0x1a /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fprintf.o) + .data.__sglue 0x00000000 0xc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) + .bss.__sf 0x00000000 0x138 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) + .bss.__stdio_exit_handler + 0x00000000 0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) + .debug_info 0x00000000 0xfb8 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) + .debug_abbrev 0x00000000 0x424 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) + .debug_loclists + 0x00000000 0x2b6 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) + .debug_aranges + 0x00000000 0x78 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) + .debug_rnglists + 0x00000000 0x7d /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) + .debug_line 0x00000000 0x598 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) + .debug_str 0x00000000 0x785 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) + .comment 0x00000000 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) + .debug_frame 0x00000000 0x144 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) + .ARM.attributes + 0x00000000 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o) .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o) .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o) + .text._fwalk_sglue + 0x00000000 0x3c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o) + .debug_info 0x00000000 0x7d2 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o) + .debug_abbrev 0x00000000 0x19b /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o) + .debug_loclists + 0x00000000 0x91 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o) + .debug_aranges + 0x00000000 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o) + .debug_rnglists + 0x00000000 0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o) + .debug_line 0x00000000 0x204 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o) + .debug_str 0x00000000 0x512 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o) + .comment 0x00000000 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o) + .debug_frame 0x00000000 0x34 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o) + .ARM.attributes + 0x00000000 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o) .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) + .text.__sread 0x00000000 0x22 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) .text.__seofread 0x00000000 0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) + .text.__swrite + 0x00000000 0x38 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) + .text.__sseek 0x00000000 0x26 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) + .text.__sclose + 0x00000000 0x8 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) + .debug_info 0x00000000 0xa90 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) + .debug_abbrev 0x00000000 0x221 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) + .debug_loclists + 0x00000000 0x25d /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) + .debug_aranges + 0x00000000 0x40 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) + .debug_rnglists + 0x00000000 0x2b /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) + .debug_line 0x00000000 0x2b5 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) + .debug_str 0x00000000 0x56f /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) + .comment 0x00000000 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) + .debug_frame 0x00000000 0x88 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) + .ARM.attributes + 0x00000000 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o) .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o) .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o) + .text._close_r + 0x00000000 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o) + .debug_info 0x00000000 0x75c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o) + .debug_abbrev 0x00000000 0x1b0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o) + .debug_loclists + 0x00000000 0x58 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o) + .debug_aranges + 0x00000000 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o) + .debug_rnglists + 0x00000000 0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o) + .debug_line 0x00000000 0x1e6 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o) + .debug_str 0x00000000 0x4f8 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o) + .comment 0x00000000 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o) + .debug_frame 0x00000000 0x2c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o) + .ARM.attributes + 0x00000000 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o) .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) .text._reclaim_reent 0x00000000 0xbc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) + .bss.errno 0x00000000 0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) + .debug_info 0x00000000 0x8a1 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) + .debug_abbrev 0x00000000 0x1f7 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) + .debug_loclists + 0x00000000 0x9c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) + .debug_aranges + 0x00000000 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) + .debug_rnglists + 0x00000000 0x2c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) + .debug_line 0x00000000 0x2bc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) + .debug_str 0x00000000 0x521 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) + .comment 0x00000000 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) + .debug_frame 0x00000000 0x38 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) + .ARM.attributes + 0x00000000 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o) .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o) .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o) + .data._impure_ptr + 0x00000000 0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o) + .data._impure_data + 0x00000000 0x4c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o) + .debug_info 0x00000000 0x715 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o) + .debug_abbrev 0x00000000 0x149 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o) + .debug_aranges + 0x00000000 0x18 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o) + .debug_line 0x00000000 0x112 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o) + .debug_str 0x00000000 0x502 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o) + .comment 0x00000000 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o) + .ARM.attributes + 0x00000000 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o) .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o) .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o) .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o) + .text._lseek_r + 0x00000000 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o) + .debug_info 0x00000000 0x7a8 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o) + .debug_abbrev 0x00000000 0x1c4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o) + .debug_loclists + 0x00000000 0xa0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o) + .debug_aranges + 0x00000000 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o) + .debug_rnglists + 0x00000000 0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o) + .debug_line 0x00000000 0x1e5 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o) + .debug_str 0x00000000 0x506 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o) + .comment 0x00000000 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o) + .debug_frame 0x00000000 0x2c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o) + .ARM.attributes + 0x00000000 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o) .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o) .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o) .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o) + .text._read_r 0x00000000 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o) + .debug_info 0x00000000 0x7bf /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o) + .debug_abbrev 0x00000000 0x1b0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o) + .debug_loclists + 0x00000000 0xa0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o) + .debug_aranges + 0x00000000 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o) + .debug_rnglists + 0x00000000 0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o) + .debug_line 0x00000000 0x1e4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o) + .debug_str 0x00000000 0x506 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o) + .comment 0x00000000 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o) + .debug_frame 0x00000000 0x2c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o) + .ARM.attributes + 0x00000000 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o) .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o) .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o) .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o) + .text._write_r + 0x00000000 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o) + .debug_info 0x00000000 0x7c5 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o) + .debug_abbrev 0x00000000 0x1b5 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o) + .debug_loclists + 0x00000000 0xa0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o) + .debug_aranges + 0x00000000 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o) + .debug_rnglists + 0x00000000 0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o) + .debug_line 0x00000000 0x1e5 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o) + .debug_str 0x00000000 0x508 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o) + .comment 0x00000000 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o) + .debug_frame 0x00000000 0x2c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o) + .ARM.attributes + 0x00000000 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o) .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) + .text.__errno 0x00000000 0xc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) + .debug_info 0x00000000 0x6fb /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) + .debug_abbrev 0x00000000 0x15e /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) + .debug_aranges + 0x00000000 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) + .debug_rnglists + 0x00000000 0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) + .debug_line 0x00000000 0x134 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) + .debug_str 0x00000000 0x4fc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) + .comment 0x00000000 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) + .debug_frame 0x00000000 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) + .ARM.attributes + 0x00000000 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) @@ -2301,18 +2305,24 @@ Discarded input sections .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) .text.__retarget_lock_init 0x00000000 0x2 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) + .text.__retarget_lock_init_recursive + 0x00000000 0x2 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) .text.__retarget_lock_close 0x00000000 0x2 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) .text.__retarget_lock_close_recursive 0x00000000 0x2 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) .text.__retarget_lock_acquire 0x00000000 0x2 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) + .text.__retarget_lock_acquire_recursive + 0x00000000 0x2 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) .text.__retarget_lock_try_acquire 0x00000000 0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) .text.__retarget_lock_try_acquire_recursive 0x00000000 0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) .text.__retarget_lock_release 0x00000000 0x2 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) + .text.__retarget_lock_release_recursive + 0x00000000 0x2 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) .bss.__lock___arc4random_mutex 0x00000000 0x1 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) .bss.__lock___dd_hash_mutex @@ -2321,173 +2331,180 @@ Discarded input sections 0x00000000 0x1 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) .bss.__lock___env_recursive_mutex 0x00000000 0x1 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) + .bss.__lock___malloc_recursive_mutex + 0x00000000 0x1 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) .bss.__lock___at_quick_exit_mutex 0x00000000 0x1 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) - .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-aeabi_atexit.o) - .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-aeabi_atexit.o) - .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-aeabi_atexit.o) + .bss.__lock___atexit_recursive_mutex + 0x00000000 0x1 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) + .bss.__lock___sfp_recursive_mutex + 0x00000000 0x1 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) + .debug_info 0x00000000 0x218 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) + .debug_abbrev 0x00000000 0x115 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) + .debug_loclists + 0x00000000 0x29 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) + .debug_aranges + 0x00000000 0x68 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) + .debug_rnglists + 0x00000000 0x49 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) + .debug_line 0x00000000 0x187 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) + .debug_str 0x00000000 0x379 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) + .comment 0x00000000 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) + .debug_frame 0x00000000 0xb0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) + .ARM.attributes + 0x00000000 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o) .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o) .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o) .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) + .text.__register_exitproc + 0x00000000 0xb4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) + .bss.__atexit0 + 0x00000000 0x8c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) .data.__atexit_dummy 0x00000000 0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) + .debug_info 0x00000000 0x2d9 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) + .debug_abbrev 0x00000000 0x1ea /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) + .debug_loclists + 0x00000000 0x9e /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) + .debug_aranges + 0x00000000 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) + .debug_rnglists + 0x00000000 0x14 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) + .debug_line 0x00000000 0x25c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) + .debug_str 0x00000000 0x33e /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) + .comment 0x00000000 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) + .debug_frame 0x00000000 0x34 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) + .ARM.attributes + 0x00000000 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o) .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o) .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o) .text.__call_exitprocs 0x00000000 0xbc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o) - .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-abort.o) - .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-abort.o) - .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-abort.o) + .bss.__atexit 0x00000000 0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o) + .data.__atexit_recursive_mutex + 0x00000000 0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o) + .debug_info 0x00000000 0x290 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o) + .debug_abbrev 0x00000000 0x1cd /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o) + .debug_loclists + 0x00000000 0xe2 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o) + .debug_aranges + 0x00000000 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o) + .debug_rnglists + 0x00000000 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o) + .debug_line 0x00000000 0x21b /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o) + .debug_str 0x00000000 0x2fe /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o) + .comment 0x00000000 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o) + .debug_frame 0x00000000 0x48 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o) + .ARM.attributes + 0x00000000 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o) .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) + .text._free_r 0x00000000 0x94 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) + .debug_info 0x00000000 0x851 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) + .debug_abbrev 0x00000000 0x236 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) + .debug_loclists + 0x00000000 0xe0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) + .debug_aranges + 0x00000000 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) + .debug_rnglists + 0x00000000 0x14 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) + .debug_line 0x00000000 0x2d4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) + .debug_str 0x00000000 0x582 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) + .comment 0x00000000 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) + .debug_frame 0x00000000 0x38 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) + .ARM.attributes + 0x00000000 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) + .text.sbrk_aligned + 0x00000000 0x44 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) + .text._malloc_r + 0x00000000 0x100 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) + .bss.__malloc_sbrk_start + 0x00000000 0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) + .bss.__malloc_free_list + 0x00000000 0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) + .debug_info 0x00000000 0x9bc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) + .debug_abbrev 0x00000000 0x24a /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) + .debug_loclists + 0x00000000 0x23a /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) + .debug_aranges + 0x00000000 0x28 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) + .debug_rnglists + 0x00000000 0x2c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) + .debug_line 0x00000000 0x4c4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) + .debug_str 0x00000000 0x5e3 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) + .comment 0x00000000 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) + .debug_frame 0x00000000 0x50 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) + .ARM.attributes + 0x00000000 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) - .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-cxa_atexit.o) - .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-cxa_atexit.o) - .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-cxa_atexit.o) - .rodata.__cxa_atexit_dummy - 0x00000000 0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-cxa_atexit.o) - .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) - .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) - .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) - .text.__sprint_r - 0x00000000 0x1a /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) - .text.vfprintf - 0x00000000 0x14 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) - .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) - .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) - .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) + .text.__malloc_lock + 0x00000000 0xc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) + .text.__malloc_unlock + 0x00000000 0xc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) + .debug_info 0x00000000 0x76b /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) + .debug_abbrev 0x00000000 0x1bf /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) + .debug_loclists + 0x00000000 0x46 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) + .debug_aranges + 0x00000000 0x28 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) + .debug_rnglists + 0x00000000 0x19 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) + .debug_line 0x00000000 0x1b4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) + .debug_str 0x00000000 0x584 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) + .comment 0x00000000 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) + .debug_frame 0x00000000 0x30 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) + .ARM.attributes + 0x00000000 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) + .text.__sflush_r + 0x00000000 0x104 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) + .text._fflush_r + 0x00000000 0x50 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) .text.fflush 0x00000000 0x28 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) - .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fvwrite.o) - .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fvwrite.o) - .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fvwrite.o) - .text.__sfvwrite_r - 0x00000000 0x2a4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fvwrite.o) - .debug_info 0x00000000 0xb2d /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fvwrite.o) - .debug_abbrev 0x00000000 0x21b /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fvwrite.o) + .debug_info 0x00000000 0x9f2 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) + .debug_abbrev 0x00000000 0x2b2 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) .debug_loclists - 0x00000000 0x45c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fvwrite.o) + 0x00000000 0x209 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) .debug_aranges - 0x00000000 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fvwrite.o) + 0x00000000 0x30 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) .debug_rnglists - 0x00000000 0x31 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fvwrite.o) - .debug_line 0x00000000 0x5ad /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fvwrite.o) - .debug_str 0x00000000 0x5a6 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fvwrite.o) - .comment 0x00000000 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fvwrite.o) - .debug_frame 0x00000000 0x3c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fvwrite.o) + 0x00000000 0x3b /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) + .debug_line 0x00000000 0x41e /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) + .debug_str 0x00000000 0x5cd /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) + .comment 0x00000000 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) + .debug_frame 0x00000000 0x5c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) .ARM.attributes - 0x00000000 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fvwrite.o) - .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wbuf.o) - .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wbuf.o) - .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wbuf.o) - .text.__swbuf 0x00000000 0x10 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wbuf.o) - .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wsetup.o) - .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wsetup.o) - .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wsetup.o) - .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memmove.o) - .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memmove.o) - .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memmove.o) - .text.memmove 0x00000000 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memmove.o) - .debug_info 0x00000000 0x10f /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memmove.o) - .debug_abbrev 0x00000000 0xac /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memmove.o) - .debug_loclists - 0x00000000 0x149 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memmove.o) - .debug_aranges - 0x00000000 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memmove.o) - .debug_rnglists - 0x00000000 0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memmove.o) - .debug_line 0x00000000 0x16a /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memmove.o) - .debug_str 0x00000000 0x1fd /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memmove.o) - .comment 0x00000000 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memmove.o) - .debug_frame 0x00000000 0x28 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memmove.o) - .ARM.attributes - 0x00000000 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memmove.o) - .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signal.o) - .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signal.o) - .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signal.o) - .text._init_signal_r - 0x00000000 0x28 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signal.o) - .text._signal_r - 0x00000000 0x30 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signal.o) - .text.__sigtramp_r - 0x00000000 0x48 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signal.o) - .text.signal 0x00000000 0x10 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signal.o) - .text._init_signal - 0x00000000 0xc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signal.o) - .text.__sigtramp - 0x00000000 0x10 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signal.o) - .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signalr.o) - .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signalr.o) - .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signalr.o) + 0x00000000 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) - .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memchr.o) - .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memchr.o) - .ARM.extab 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memchr.o) - .eh_frame 0x00000000 0x50 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memchr.o) - .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-on_exit_args.o) - .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-on_exit_args.o) - .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-on_exit_args.o) - .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reallocr.o) - .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reallocr.o) - .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reallocr.o) - .text._realloc_r - 0x00000000 0x5c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reallocr.o) - .debug_info 0x00000000 0x8cd /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reallocr.o) - .debug_abbrev 0x00000000 0x217 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reallocr.o) + .text._sbrk_r 0x00000000 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) + .debug_info 0x00000000 0x782 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) + .debug_abbrev 0x00000000 0x1da /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) .debug_loclists - 0x00000000 0x137 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reallocr.o) + 0x00000000 0x58 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) .debug_aranges - 0x00000000 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reallocr.o) + 0x00000000 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) .debug_rnglists - 0x00000000 0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reallocr.o) - .debug_line 0x00000000 0x239 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reallocr.o) - .debug_str 0x00000000 0x578 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reallocr.o) - .comment 0x00000000 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reallocr.o) - .debug_frame 0x00000000 0x3c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reallocr.o) + 0x00000000 0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) + .debug_line 0x00000000 0x1e6 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) + .debug_str 0x00000000 0x50b /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) + .comment 0x00000000 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) + .debug_frame 0x00000000 0x2c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) .ARM.attributes - 0x00000000 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reallocr.o) - .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-makebuf.o) - .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-makebuf.o) - .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-makebuf.o) - .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fstatr.o) - .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fstatr.o) - .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fstatr.o) - .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-isattyr.o) - .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-isattyr.o) - .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-isattyr.o) - .text 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-msizer.o) - .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-msizer.o) - .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-msizer.o) - .text._malloc_usable_size_r - 0x00000000 0x10 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-msizer.o) - .debug_info 0x00000000 0x794 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-msizer.o) - .debug_abbrev 0x00000000 0x196 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-msizer.o) - .debug_loclists - 0x00000000 0x68 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-msizer.o) - .debug_aranges - 0x00000000 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-msizer.o) - .debug_rnglists - 0x00000000 0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-msizer.o) - .debug_line 0x00000000 0x1cc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-msizer.o) - .debug_str 0x00000000 0x54b /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-msizer.o) - .comment 0x00000000 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-msizer.o) - .debug_frame 0x00000000 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-msizer.o) - .ARM.attributes - 0x00000000 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-msizer.o) + 0x00000000 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) .bss 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) .data 0x00000000 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) @@ -2518,7 +2535,6 @@ Linker script and memory map LOAD /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crti.o LOAD /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o LOAD /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o -LOAD build/debug/app_touchgfx.o LOAD build/debug/b_cccv_algo.o LOAD build/debug/can-halal.o LOAD build/debug/can.o @@ -2568,13 +2584,6 @@ LOAD build/debug/stm32h7xx_ll_usb.o LOAD build/debug/syscalls.o LOAD build/debug/sysmem.o LOAD build/debug/system_stm32h7xx.o -LOAD build/debug/OSWrappers.o -LOAD build/debug/STM32DMA.o -LOAD build/debug/STM32TouchController.o -LOAD build/debug/TouchGFXConfiguration.o -LOAD build/debug/TouchGFXGPIO.o -LOAD build/debug/TouchGFXGeneratedHAL.o -LOAD build/debug/TouchGFXHAL.o LOAD build/debug/startup_stm32h7a3xx.o LOAD /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a LOAD /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libm.a @@ -2600,1557 +2609,917 @@ LOAD /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtn.o 0x08000000 g_pfnVectors 0x080002ac . = ALIGN (0x4) -.text 0x080002b0 0x9fe0 +.text 0x080002b0 0x7d90 0x080002b0 . = ALIGN (0x4) *(.text) .text 0x080002b0 0x88 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o - .text 0x08000338 0xa0 build/debug/OSWrappers.o - 0x08000338 touchgfx::OSWrappers::initialize() - 0x08000348 touchgfx::OSWrappers::takeFrameBufferSemaphore() - 0x0800035c touchgfx::OSWrappers::giveFrameBufferSemaphore() - 0x08000368 touchgfx::OSWrappers::tryTakeFrameBufferSemaphore() - 0x08000374 touchgfx::OSWrappers::giveFrameBufferSemaphoreFromISR() - 0x08000380 touchgfx::OSWrappers::signalVSync() - 0x0800038c touchgfx::OSWrappers::signalRenderingDone() - 0x08000398 touchgfx::OSWrappers::isVSyncAvailable() - 0x080003a8 touchgfx::OSWrappers::waitForVSync() - 0x080003cc touchgfx::OSWrappers::taskDelay(unsigned short) - 0x080003d4 touchgfx::OSWrappers::taskYield() - .text 0x080003d8 0x6c build/debug/STM32DMA.o - 0x080003d8 STM32DMA::getBlitCaps() - 0x080003dc STM32DMA::setupDataCopy(touchgfx::BlitOp const&) - 0x080003f8 STM32DMA::setupDataFill(touchgfx::BlitOp const&) - 0x08000414 STM32DMA::STM32DMA() - 0x08000414 STM32DMA::STM32DMA() - .text 0x08000444 0x6 build/debug/STM32TouchController.o - 0x08000444 STM32TouchController::init() - 0x08000446 STM32TouchController::sampleTouch(long&, long&) - *fill* 0x0800044a 0x2 - .text 0x0800044c 0x124 build/debug/TouchGFXConfiguration.o - 0x08000500 touchgfx_init - 0x08000550 touchgfx_components_init - 0x08000552 touchgfx_taskEntry - .text 0x08000570 0xc build/debug/TouchGFXGPIO.o - 0x08000570 touchgfx::GPIO::init() - 0x08000572 touchgfx::GPIO::set(touchgfx::GPIO::GPIO_ID) - 0x08000574 touchgfx::GPIO::clear(touchgfx::GPIO::GPIO_ID) - 0x08000576 touchgfx::GPIO::toggle(touchgfx::GPIO::GPIO_ID) - 0x08000578 touchgfx::GPIO::get(touchgfx::GPIO::GPIO_ID) - .text 0x0800057c 0x540 build/debug/TouchGFXGeneratedHAL.o - 0x0800057c TouchGFXGeneratedHAL::configureInterrupts() - 0x0800058c TouchGFXGeneratedHAL::enableInterrupts() - 0x0800059c TouchGFXGeneratedHAL::disableInterrupts() - 0x080005b4 TouchGFXGeneratedHAL::enableLCDControllerInterrupt() - 0x080005e4 TouchGFXGeneratedHAL::getTFTFrameBuffer() const - 0x080005f0 TouchGFXGeneratedHAL::setTFTFrameBuffer(unsigned short*) - 0x08000600 TouchGFXGeneratedHAL::getTFTCurrentLine() - 0x08000620 TouchGFXGeneratedHAL::InvalidateCache() - 0x0800067c TouchGFXGeneratedHAL::FlushCache() - 0x080006d8 TouchGFXGeneratedHAL::beginFrame() - 0x080006e0 TouchGFXGeneratedHAL::endFrame() - 0x080006ec TouchGFXGeneratedHAL::flushFrameBuffer(touchgfx::Rect const&) - 0x080006f4 TouchGFXGeneratedHAL::blockCopy(void*, void const*, unsigned long) - 0x080006fc TouchGFXGeneratedHAL::initialize() - 0x08000750 touchgfx::paint::setL8Palette(unsigned char const*) - 0x0800075c touchgfx::paint::tearDown() - 0x0800075e touchgfx::paint::flushLine(unsigned long*, int) - 0x08000760 touchgfx::paint::rgb888::lineFromColor(unsigned char*, unsigned int, unsigned long, unsigned char) - 0x080007e2 touchgfx::paint::rgb888::lineFromRGB888(unsigned char*, unsigned char const*, unsigned int, unsigned char) - 0x0800086a touchgfx::paint::rgb888::lineFromARGB8888(unsigned char*, unsigned long const*, unsigned int, unsigned char) - 0x0800090c touchgfx::paint::rgb888::lineFromL8RGB888(unsigned char*, unsigned char const*, unsigned int, unsigned char) - 0x080009b0 touchgfx::paint::rgb888::lineFromL8ARGB8888(unsigned char*, unsigned char const*, unsigned int, unsigned char) - 0x08000a5c HAL_LTDC_LineEventCallback - .text 0x08000abc 0x58 build/debug/TouchGFXHAL.o - 0x08000abc TouchGFXHAL::initialize() - 0x08000ac4 TouchGFXHAL::getTFTFrameBuffer() const - 0x08000acc TouchGFXHAL::setTFTFrameBuffer(unsigned short*) - 0x08000ad4 TouchGFXHAL::flushFrameBuffer(touchgfx::Rect const&) - 0x08000adc TouchGFXHAL::blockCopy(void*, void const*, unsigned long) - 0x08000ae4 TouchGFXHAL::configureInterrupts() - 0x08000aec TouchGFXHAL::enableInterrupts() - 0x08000af4 TouchGFXHAL::disableInterrupts() - 0x08000afc TouchGFXHAL::enableLCDControllerInterrupt() - 0x08000b04 TouchGFXHAL::beginFrame() - 0x08000b0c TouchGFXHAL::endFrame() - *fill* 0x08000b14 0xc - .text 0x08000b20 0xa0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memchr.o) - 0x08000b20 memchr - .text 0x08000bc0 0x30 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) - 0x08000bc0 __aeabi_uldivmod - .text 0x08000bf0 0x2f8 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) - 0x08000bf0 __udivmoddi4 - .text 0x08000ee8 0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o) - 0x08000ee8 __aeabi_ldiv0 - 0x08000ee8 __aeabi_idiv0 + .text 0x08000338 0x30 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) + 0x08000338 __aeabi_uldivmod + .text 0x08000368 0x2f8 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) + 0x08000368 __udivmoddi4 + .text 0x08000660 0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o) + 0x08000660 __aeabi_ldiv0 + 0x08000660 __aeabi_idiv0 *(.text*) - .text.MX_TouchGFX_Init - 0x08000eec 0xc build/debug/app_touchgfx.o - 0x08000eec MX_TouchGFX_Init - .text.MX_TouchGFX_Process - 0x08000ef8 0x8 build/debug/app_touchgfx.o - 0x08000ef8 MX_TouchGFX_Process + *fill* 0x08000664 0x4 .text.initChargerAlgo - 0x08000f00 0xc0 build/debug/b_cccv_algo.o - 0x08000f00 initChargerAlgo + 0x08000668 0xc0 build/debug/b_cccv_algo.o + 0x08000668 initChargerAlgo .text.setchargecurrent - 0x08000fc0 0x78 build/debug/b_cccv_algo.o - 0x08000fc0 setchargecurrent + 0x08000728 0x78 build/debug/b_cccv_algo.o + 0x08000728 setchargecurrent .text.setchargevoltage - 0x08001038 0x84 build/debug/b_cccv_algo.o - 0x08001038 setchargevoltage + 0x080007a0 0x84 build/debug/b_cccv_algo.o + 0x080007a0 setchargevoltage .text.ftcan_init - 0x080010bc 0x44 build/debug/can-halal.o - 0x080010bc ftcan_init + 0x08000824 0x44 build/debug/can-halal.o + 0x08000824 ftcan_init .text.ftcan_add_filter - 0x08001100 0x48 build/debug/can-halal.o - 0x08001100 ftcan_add_filter + 0x08000868 0x48 build/debug/can-halal.o + 0x08000868 ftcan_add_filter .text.HAL_FDCAN_RxFifo0Callback - 0x08001148 0x84 build/debug/can-halal.o - 0x08001148 HAL_FDCAN_RxFifo0Callback - .text.initCan 0x080011cc 0x10 build/debug/can.o - 0x080011cc initCan + 0x080008b0 0x84 build/debug/can-halal.o + 0x080008b0 HAL_FDCAN_RxFifo0Callback + .text.initCan 0x08000934 0x10 build/debug/can.o + 0x08000934 initCan .text.ftcan_msg_received_cb - 0x080011dc 0x2e build/debug/can.o - 0x080011dc ftcan_msg_received_cb - *fill* 0x0800120a 0x2 + 0x08000944 0x2e build/debug/can.o + 0x08000944 ftcan_msg_received_cb + *fill* 0x08000972 0x2 .text.charger_control_setup_DACs - 0x0800120c 0x38 build/debug/charger_control.o - 0x0800120c charger_control_setup_DACs + 0x08000974 0x38 build/debug/charger_control.o + 0x08000974 charger_control_setup_DACs .text.charger_control_set_current - 0x08001244 0x34 build/debug/charger_control.o - 0x08001244 charger_control_set_current + 0x080009ac 0x34 build/debug/charger_control.o + 0x080009ac charger_control_set_current .text.charger_control_set_voltage - 0x08001278 0x34 build/debug/charger_control.o - 0x08001278 charger_control_set_voltage + 0x080009e0 0x34 build/debug/charger_control.o + 0x080009e0 charger_control_set_voltage .text.charger_control_disable_charger_relay - 0x080012ac 0x14 build/debug/charger_control.o - 0x080012ac charger_control_disable_charger_relay + 0x08000a14 0x14 build/debug/charger_control.o + 0x08000a14 charger_control_disable_charger_relay .text.charger_control_enable_remote - 0x080012c0 0x14 build/debug/charger_control.o - 0x080012c0 charger_control_enable_remote + 0x08000a28 0x14 build/debug/charger_control.o + 0x08000a28 charger_control_enable_remote .text.charger_control_disable_remote - 0x080012d4 0x14 build/debug/charger_control.o - 0x080012d4 charger_control_disable_remote + 0x08000a3c 0x14 build/debug/charger_control.o + 0x08000a3c charger_control_disable_remote .text.charger_control_init - 0x080012e8 0x24 build/debug/charger_control.o - 0x080012e8 charger_control_init + 0x08000a50 0x24 build/debug/charger_control.o + 0x08000a50 charger_control_init .text.MX_GPIO_Init - 0x0800130c 0x19c build/debug/main.o + 0x08000a74 0x19c build/debug/main.o .text.Error_Handler - 0x080014a8 0x4 build/debug/main.o - 0x080014a8 Error_Handler + 0x08000c10 0x4 build/debug/main.o + 0x08000c10 Error_Handler .text.MX_FDCAN1_Init - 0x080014ac 0x60 build/debug/main.o + 0x08000c14 0x60 build/debug/main.o .text.MX_FMC_Init - 0x0800150c 0xec build/debug/main.o + 0x08000c74 0xec build/debug/main.o .text.MX_I2C4_Init - 0x080015f8 0x54 build/debug/main.o + 0x08000d60 0x54 build/debug/main.o .text.MX_SDMMC2_SD_Init - 0x0800164c 0x28 build/debug/main.o + 0x08000db4 0x28 build/debug/main.o .text.MX_USART10_UART_Init - 0x08001674 0x60 build/debug/main.o + 0x08000ddc 0x60 build/debug/main.o .text.MX_USB_OTG_HS_PCD_Init - 0x080016d4 0x38 build/debug/main.o + 0x08000e3c 0x38 build/debug/main.o .text.MX_UART5_Init - 0x0800170c 0x60 build/debug/main.o + 0x08000e74 0x60 build/debug/main.o .text.MX_LTDC_Init - 0x0800176c 0xcc build/debug/main.o + 0x08000ed4 0xcc build/debug/main.o .text.MX_CRC_Init - 0x08001838 0x2c build/debug/main.o + 0x08000fa0 0x2c build/debug/main.o .text.SystemClock_Config - 0x08001864 0xc0 build/debug/main.o - 0x08001864 SystemClock_Config + 0x08000fcc 0xc0 build/debug/main.o + 0x08000fcc SystemClock_Config .text.PeriphCommonClock_Config - 0x08001924 0x48 build/debug/main.o - 0x08001924 PeriphCommonClock_Config - .text.main 0x0800196c 0xa8 build/debug/main.o - 0x0800196c main + 0x0800108c 0x48 build/debug/main.o + 0x0800108c PeriphCommonClock_Config + .text.main 0x080010d4 0xa0 build/debug/main.o + 0x080010d4 main .text.slave_handler_init - 0x08001a14 0x14 build/debug/slave_handler.o - 0x08001a14 slave_handler_init + 0x08001174 0x14 build/debug/slave_handler.o + 0x08001174 slave_handler_init .text.HAL_InitTick - 0x08001a28 0x50 build/debug/stm32h7xx_hal.o - 0x08001a28 HAL_InitTick + 0x08001188 0x50 build/debug/stm32h7xx_hal.o + 0x08001188 HAL_InitTick .text.HAL_Init - 0x08001a78 0x5c build/debug/stm32h7xx_hal.o - 0x08001a78 HAL_Init + 0x080011d8 0x5c build/debug/stm32h7xx_hal.o + 0x080011d8 HAL_Init .text.HAL_IncTick - 0x08001ad4 0x18 build/debug/stm32h7xx_hal.o - 0x08001ad4 HAL_IncTick + 0x08001234 0x18 build/debug/stm32h7xx_hal.o + 0x08001234 HAL_IncTick .text.HAL_GetTick - 0x08001aec 0xc build/debug/stm32h7xx_hal.o - 0x08001aec HAL_GetTick + 0x0800124c 0xc build/debug/stm32h7xx_hal.o + 0x0800124c HAL_GetTick .text.HAL_Delay - 0x08001af8 0x28 build/debug/stm32h7xx_hal.o - 0x08001af8 HAL_Delay + 0x08001258 0x28 build/debug/stm32h7xx_hal.o + 0x08001258 HAL_Delay .text.__NVIC_EnableIRQ - 0x08001b20 0x1c build/debug/stm32h7xx_hal_cortex.o + 0x08001280 0x1c build/debug/stm32h7xx_hal_cortex.o .text.__NVIC_SetPriority - 0x08001b3c 0x24 build/debug/stm32h7xx_hal_cortex.o + 0x0800129c 0x24 build/debug/stm32h7xx_hal_cortex.o .text.NVIC_EncodePriority - 0x08001b60 0x3e build/debug/stm32h7xx_hal_cortex.o - *fill* 0x08001b9e 0x2 + 0x080012c0 0x3e build/debug/stm32h7xx_hal_cortex.o + *fill* 0x080012fe 0x2 .text.HAL_NVIC_SetPriorityGrouping - 0x08001ba0 0x24 build/debug/stm32h7xx_hal_cortex.o - 0x08001ba0 HAL_NVIC_SetPriorityGrouping + 0x08001300 0x24 build/debug/stm32h7xx_hal_cortex.o + 0x08001300 HAL_NVIC_SetPriorityGrouping .text.HAL_NVIC_SetPriority - 0x08001bc4 0x20 build/debug/stm32h7xx_hal_cortex.o - 0x08001bc4 HAL_NVIC_SetPriority + 0x08001324 0x20 build/debug/stm32h7xx_hal_cortex.o + 0x08001324 HAL_NVIC_SetPriority .text.HAL_NVIC_EnableIRQ - 0x08001be4 0x8 build/debug/stm32h7xx_hal_cortex.o - 0x08001be4 HAL_NVIC_EnableIRQ + 0x08001344 0x8 build/debug/stm32h7xx_hal_cortex.o + 0x08001344 HAL_NVIC_EnableIRQ .text.HAL_SYSTICK_Config - 0x08001bec 0x28 build/debug/stm32h7xx_hal_cortex.o - 0x08001bec HAL_SYSTICK_Config + 0x0800134c 0x28 build/debug/stm32h7xx_hal_cortex.o + 0x0800134c HAL_SYSTICK_Config .text.HAL_CRC_Init - 0x08001c14 0x80 build/debug/stm32h7xx_hal_crc.o - 0x08001c14 HAL_CRC_Init + 0x08001374 0x80 build/debug/stm32h7xx_hal_crc.o + 0x08001374 HAL_CRC_Init .text.HAL_CRCEx_Polynomial_Set - 0x08001c94 0xc4 build/debug/stm32h7xx_hal_crc_ex.o - 0x08001c94 HAL_CRCEx_Polynomial_Set + 0x080013f4 0xc4 build/debug/stm32h7xx_hal_crc_ex.o + 0x080013f4 HAL_CRCEx_Polynomial_Set .text.FDCAN_CalcultateRamBlockAddresses - 0x08001d58 0x1d4 build/debug/stm32h7xx_hal_fdcan.o + 0x080014b8 0x1d4 build/debug/stm32h7xx_hal_fdcan.o .text.HAL_FDCAN_Init - 0x08001f2c 0x294 build/debug/stm32h7xx_hal_fdcan.o - 0x08001f2c HAL_FDCAN_Init + 0x0800168c 0x294 build/debug/stm32h7xx_hal_fdcan.o + 0x0800168c HAL_FDCAN_Init .text.HAL_FDCAN_ConfigFilter - 0x080021c0 0x8a build/debug/stm32h7xx_hal_fdcan.o - 0x080021c0 HAL_FDCAN_ConfigFilter + 0x08001920 0x8a build/debug/stm32h7xx_hal_fdcan.o + 0x08001920 HAL_FDCAN_ConfigFilter .text.HAL_FDCAN_ConfigGlobalFilter - 0x0800224a 0x32 build/debug/stm32h7xx_hal_fdcan.o - 0x0800224a HAL_FDCAN_ConfigGlobalFilter + 0x080019aa 0x32 build/debug/stm32h7xx_hal_fdcan.o + 0x080019aa HAL_FDCAN_ConfigGlobalFilter .text.HAL_FDCAN_Start - 0x0800227c 0x32 build/debug/stm32h7xx_hal_fdcan.o - 0x0800227c HAL_FDCAN_Start - *fill* 0x080022ae 0x2 + 0x080019dc 0x32 build/debug/stm32h7xx_hal_fdcan.o + 0x080019dc HAL_FDCAN_Start + *fill* 0x08001a0e 0x2 .text.HAL_FDCAN_GetRxMessage - 0x080022b0 0x1dc build/debug/stm32h7xx_hal_fdcan.o - 0x080022b0 HAL_FDCAN_GetRxMessage + 0x08001a10 0x1dc build/debug/stm32h7xx_hal_fdcan.o + 0x08001a10 HAL_FDCAN_GetRxMessage .text.HAL_FDCAN_ActivateNotification - 0x0800248c 0x90 build/debug/stm32h7xx_hal_fdcan.o - 0x0800248c HAL_FDCAN_ActivateNotification + 0x08001bec 0x90 build/debug/stm32h7xx_hal_fdcan.o + 0x08001bec HAL_FDCAN_ActivateNotification .text.HAL_FDCAN_ClockCalibrationCallback - 0x0800251c 0x2 build/debug/stm32h7xx_hal_fdcan.o - 0x0800251c HAL_FDCAN_ClockCalibrationCallback + 0x08001c7c 0x2 build/debug/stm32h7xx_hal_fdcan.o + 0x08001c7c HAL_FDCAN_ClockCalibrationCallback .text.HAL_FDCAN_TxEventFifoCallback - 0x0800251e 0x2 build/debug/stm32h7xx_hal_fdcan.o - 0x0800251e HAL_FDCAN_TxEventFifoCallback + 0x08001c7e 0x2 build/debug/stm32h7xx_hal_fdcan.o + 0x08001c7e HAL_FDCAN_TxEventFifoCallback .text.HAL_FDCAN_RxFifo1Callback - 0x08002520 0x2 build/debug/stm32h7xx_hal_fdcan.o - 0x08002520 HAL_FDCAN_RxFifo1Callback + 0x08001c80 0x2 build/debug/stm32h7xx_hal_fdcan.o + 0x08001c80 HAL_FDCAN_RxFifo1Callback .text.HAL_FDCAN_TxFifoEmptyCallback - 0x08002522 0x2 build/debug/stm32h7xx_hal_fdcan.o - 0x08002522 HAL_FDCAN_TxFifoEmptyCallback + 0x08001c82 0x2 build/debug/stm32h7xx_hal_fdcan.o + 0x08001c82 HAL_FDCAN_TxFifoEmptyCallback .text.HAL_FDCAN_TxBufferCompleteCallback - 0x08002524 0x2 build/debug/stm32h7xx_hal_fdcan.o - 0x08002524 HAL_FDCAN_TxBufferCompleteCallback + 0x08001c84 0x2 build/debug/stm32h7xx_hal_fdcan.o + 0x08001c84 HAL_FDCAN_TxBufferCompleteCallback .text.HAL_FDCAN_TxBufferAbortCallback - 0x08002526 0x2 build/debug/stm32h7xx_hal_fdcan.o - 0x08002526 HAL_FDCAN_TxBufferAbortCallback + 0x08001c86 0x2 build/debug/stm32h7xx_hal_fdcan.o + 0x08001c86 HAL_FDCAN_TxBufferAbortCallback .text.HAL_FDCAN_RxBufferNewMessageCallback - 0x08002528 0x2 build/debug/stm32h7xx_hal_fdcan.o - 0x08002528 HAL_FDCAN_RxBufferNewMessageCallback + 0x08001c88 0x2 build/debug/stm32h7xx_hal_fdcan.o + 0x08001c88 HAL_FDCAN_RxBufferNewMessageCallback .text.HAL_FDCAN_TimestampWraparoundCallback - 0x0800252a 0x2 build/debug/stm32h7xx_hal_fdcan.o - 0x0800252a HAL_FDCAN_TimestampWraparoundCallback + 0x08001c8a 0x2 build/debug/stm32h7xx_hal_fdcan.o + 0x08001c8a HAL_FDCAN_TimestampWraparoundCallback .text.HAL_FDCAN_TimeoutOccurredCallback - 0x0800252c 0x2 build/debug/stm32h7xx_hal_fdcan.o - 0x0800252c HAL_FDCAN_TimeoutOccurredCallback + 0x08001c8c 0x2 build/debug/stm32h7xx_hal_fdcan.o + 0x08001c8c HAL_FDCAN_TimeoutOccurredCallback .text.HAL_FDCAN_HighPriorityMessageCallback - 0x0800252e 0x2 build/debug/stm32h7xx_hal_fdcan.o - 0x0800252e HAL_FDCAN_HighPriorityMessageCallback + 0x08001c8e 0x2 build/debug/stm32h7xx_hal_fdcan.o + 0x08001c8e HAL_FDCAN_HighPriorityMessageCallback .text.HAL_FDCAN_ErrorCallback - 0x08002530 0x2 build/debug/stm32h7xx_hal_fdcan.o - 0x08002530 HAL_FDCAN_ErrorCallback + 0x08001c90 0x2 build/debug/stm32h7xx_hal_fdcan.o + 0x08001c90 HAL_FDCAN_ErrorCallback .text.HAL_FDCAN_ErrorStatusCallback - 0x08002532 0x2 build/debug/stm32h7xx_hal_fdcan.o - 0x08002532 HAL_FDCAN_ErrorStatusCallback + 0x08001c92 0x2 build/debug/stm32h7xx_hal_fdcan.o + 0x08001c92 HAL_FDCAN_ErrorStatusCallback .text.HAL_FDCAN_TT_ScheduleSyncCallback - 0x08002534 0x2 build/debug/stm32h7xx_hal_fdcan.o - 0x08002534 HAL_FDCAN_TT_ScheduleSyncCallback + 0x08001c94 0x2 build/debug/stm32h7xx_hal_fdcan.o + 0x08001c94 HAL_FDCAN_TT_ScheduleSyncCallback .text.HAL_FDCAN_TT_TimeMarkCallback - 0x08002536 0x2 build/debug/stm32h7xx_hal_fdcan.o - 0x08002536 HAL_FDCAN_TT_TimeMarkCallback + 0x08001c96 0x2 build/debug/stm32h7xx_hal_fdcan.o + 0x08001c96 HAL_FDCAN_TT_TimeMarkCallback .text.HAL_FDCAN_TT_StopWatchCallback - 0x08002538 0x2 build/debug/stm32h7xx_hal_fdcan.o - 0x08002538 HAL_FDCAN_TT_StopWatchCallback + 0x08001c98 0x2 build/debug/stm32h7xx_hal_fdcan.o + 0x08001c98 HAL_FDCAN_TT_StopWatchCallback .text.HAL_FDCAN_TT_GlobalTimeCallback - 0x0800253a 0x2 build/debug/stm32h7xx_hal_fdcan.o - 0x0800253a HAL_FDCAN_TT_GlobalTimeCallback + 0x08001c9a 0x2 build/debug/stm32h7xx_hal_fdcan.o + 0x08001c9a HAL_FDCAN_TT_GlobalTimeCallback .text.HAL_FDCAN_IRQHandler - 0x0800253c 0x320 build/debug/stm32h7xx_hal_fdcan.o - 0x0800253c HAL_FDCAN_IRQHandler + 0x08001c9c 0x320 build/debug/stm32h7xx_hal_fdcan.o + 0x08001c9c HAL_FDCAN_IRQHandler .text.HAL_GPIO_Init - 0x0800285c 0x220 build/debug/stm32h7xx_hal_gpio.o - 0x0800285c HAL_GPIO_Init + 0x08001fbc 0x220 build/debug/stm32h7xx_hal_gpio.o + 0x08001fbc HAL_GPIO_Init .text.HAL_GPIO_WritePin - 0x08002a7c 0xc build/debug/stm32h7xx_hal_gpio.o - 0x08002a7c HAL_GPIO_WritePin + 0x080021dc 0xc build/debug/stm32h7xx_hal_gpio.o + 0x080021dc HAL_GPIO_WritePin .text.HAL_GPIO_TogglePin - 0x08002a88 0x12 build/debug/stm32h7xx_hal_gpio.o - 0x08002a88 HAL_GPIO_TogglePin + 0x080021e8 0x12 build/debug/stm32h7xx_hal_gpio.o + 0x080021e8 HAL_GPIO_TogglePin .text.I2C_Flush_TXDR - 0x08002a9a 0x22 build/debug/stm32h7xx_hal_i2c.o + 0x080021fa 0x22 build/debug/stm32h7xx_hal_i2c.o .text.I2C_TransferConfig - 0x08002abc 0x3c build/debug/stm32h7xx_hal_i2c.o + 0x0800221c 0x3c build/debug/stm32h7xx_hal_i2c.o .text.I2C_IsErrorOccurred - 0x08002af8 0x118 build/debug/stm32h7xx_hal_i2c.o + 0x08002258 0x118 build/debug/stm32h7xx_hal_i2c.o .text.I2C_WaitOnTXISFlagUntilTimeout - 0x08002c10 0x60 build/debug/stm32h7xx_hal_i2c.o + 0x08002370 0x60 build/debug/stm32h7xx_hal_i2c.o .text.I2C_WaitOnFlagUntilTimeout - 0x08002c70 0x7c build/debug/stm32h7xx_hal_i2c.o + 0x080023d0 0x7c build/debug/stm32h7xx_hal_i2c.o .text.I2C_WaitOnSTOPFlagUntilTimeout - 0x08002cec 0x5e build/debug/stm32h7xx_hal_i2c.o - *fill* 0x08002d4a 0x2 + 0x0800244c 0x5e build/debug/stm32h7xx_hal_i2c.o + *fill* 0x080024aa 0x2 .text.HAL_I2C_Init - 0x08002d4c 0xc8 build/debug/stm32h7xx_hal_i2c.o - 0x08002d4c HAL_I2C_Init + 0x080024ac 0xc8 build/debug/stm32h7xx_hal_i2c.o + 0x080024ac HAL_I2C_Init .text.HAL_I2C_Master_Transmit - 0x08002e14 0x1a4 build/debug/stm32h7xx_hal_i2c.o - 0x08002e14 HAL_I2C_Master_Transmit + 0x08002574 0x1a4 build/debug/stm32h7xx_hal_i2c.o + 0x08002574 HAL_I2C_Master_Transmit .text.HAL_I2CEx_ConfigAnalogFilter - 0x08002fb8 0x5a build/debug/stm32h7xx_hal_i2c_ex.o - 0x08002fb8 HAL_I2CEx_ConfigAnalogFilter + 0x08002718 0x5a build/debug/stm32h7xx_hal_i2c_ex.o + 0x08002718 HAL_I2CEx_ConfigAnalogFilter .text.HAL_I2CEx_ConfigDigitalFilter - 0x08003012 0x56 build/debug/stm32h7xx_hal_i2c_ex.o - 0x08003012 HAL_I2CEx_ConfigDigitalFilter + 0x08002772 0x56 build/debug/stm32h7xx_hal_i2c_ex.o + 0x08002772 HAL_I2CEx_ConfigDigitalFilter .text.LTDC_SetConfig - 0x08003068 0x1a8 build/debug/stm32h7xx_hal_ltdc.o + 0x080027c8 0x1a8 build/debug/stm32h7xx_hal_ltdc.o .text.HAL_LTDC_Init - 0x08003210 0xbc build/debug/stm32h7xx_hal_ltdc.o - 0x08003210 HAL_LTDC_Init + 0x08002970 0xbc build/debug/stm32h7xx_hal_ltdc.o + 0x08002970 HAL_LTDC_Init .text.HAL_LTDC_ErrorCallback - 0x080032cc 0x2 build/debug/stm32h7xx_hal_ltdc.o - 0x080032cc HAL_LTDC_ErrorCallback + 0x08002a2c 0x2 build/debug/stm32h7xx_hal_ltdc.o + 0x08002a2c HAL_LTDC_ErrorCallback + .text.HAL_LTDC_LineEventCallback + 0x08002a2e 0x2 build/debug/stm32h7xx_hal_ltdc.o + 0x08002a2e HAL_LTDC_LineEventCallback .text.HAL_LTDC_ReloadEventCallback - 0x080032ce 0x2 build/debug/stm32h7xx_hal_ltdc.o - 0x080032ce HAL_LTDC_ReloadEventCallback + 0x08002a30 0x2 build/debug/stm32h7xx_hal_ltdc.o + 0x08002a30 HAL_LTDC_ReloadEventCallback .text.HAL_LTDC_IRQHandler - 0x080032d0 0xda build/debug/stm32h7xx_hal_ltdc.o - 0x080032d0 HAL_LTDC_IRQHandler + 0x08002a32 0xda build/debug/stm32h7xx_hal_ltdc.o + 0x08002a32 HAL_LTDC_IRQHandler .text.HAL_LTDC_ConfigLayer - 0x080033aa 0x68 build/debug/stm32h7xx_hal_ltdc.o - 0x080033aa HAL_LTDC_ConfigLayer - *fill* 0x08003412 0x2 - .text.HAL_LTDC_ProgramLineEvent - 0x08003414 0x48 build/debug/stm32h7xx_hal_ltdc.o - 0x08003414 HAL_LTDC_ProgramLineEvent + 0x08002b0c 0x68 build/debug/stm32h7xx_hal_ltdc.o + 0x08002b0c HAL_LTDC_ConfigLayer .text.HAL_FMC_MspInit - 0x0800345c 0x104 build/debug/stm32h7xx_hal_msp.o + 0x08002b74 0x104 build/debug/stm32h7xx_hal_msp.o .text.HAL_MspInit - 0x08003560 0x24 build/debug/stm32h7xx_hal_msp.o - 0x08003560 HAL_MspInit + 0x08002c78 0x24 build/debug/stm32h7xx_hal_msp.o + 0x08002c78 HAL_MspInit .text.HAL_CRC_MspInit - 0x08003584 0x34 build/debug/stm32h7xx_hal_msp.o - 0x08003584 HAL_CRC_MspInit + 0x08002c9c 0x34 build/debug/stm32h7xx_hal_msp.o + 0x08002c9c HAL_CRC_MspInit .text.HAL_FDCAN_MspInit - 0x080035b8 0xd4 build/debug/stm32h7xx_hal_msp.o - 0x080035b8 HAL_FDCAN_MspInit + 0x08002cd0 0xd4 build/debug/stm32h7xx_hal_msp.o + 0x08002cd0 HAL_FDCAN_MspInit .text.HAL_I2C_MspInit - 0x0800368c 0x98 build/debug/stm32h7xx_hal_msp.o - 0x0800368c HAL_I2C_MspInit + 0x08002da4 0x98 build/debug/stm32h7xx_hal_msp.o + 0x08002da4 HAL_I2C_MspInit .text.HAL_LTDC_MspInit - 0x08003724 0x250 build/debug/stm32h7xx_hal_msp.o - 0x08003724 HAL_LTDC_MspInit + 0x08002e3c 0x250 build/debug/stm32h7xx_hal_msp.o + 0x08002e3c HAL_LTDC_MspInit .text.HAL_SD_MspInit - 0x08003974 0xe4 build/debug/stm32h7xx_hal_msp.o - 0x08003974 HAL_SD_MspInit + 0x0800308c 0xe4 build/debug/stm32h7xx_hal_msp.o + 0x0800308c HAL_SD_MspInit .text.HAL_UART_MspInit - 0x08003a58 0x10c build/debug/stm32h7xx_hal_msp.o - 0x08003a58 HAL_UART_MspInit + 0x08003170 0x10c build/debug/stm32h7xx_hal_msp.o + 0x08003170 HAL_UART_MspInit .text.HAL_PCD_MspInit - 0x08003b64 0xb8 build/debug/stm32h7xx_hal_msp.o - 0x08003b64 HAL_PCD_MspInit + 0x0800327c 0xb8 build/debug/stm32h7xx_hal_msp.o + 0x0800327c HAL_PCD_MspInit .text.HAL_SDRAM_MspInit - 0x08003c1c 0x8 build/debug/stm32h7xx_hal_msp.o - 0x08003c1c HAL_SDRAM_MspInit + 0x08003334 0x8 build/debug/stm32h7xx_hal_msp.o + 0x08003334 HAL_SDRAM_MspInit .text.HAL_PCD_Init - 0x08003c24 0x102 build/debug/stm32h7xx_hal_pcd.o - 0x08003c24 HAL_PCD_Init - *fill* 0x08003d26 0x2 + 0x0800333c 0x102 build/debug/stm32h7xx_hal_pcd.o + 0x0800333c HAL_PCD_Init + *fill* 0x0800343e 0x2 .text.HAL_PCDEx_ActivateLPM - 0x08003d28 0x28 build/debug/stm32h7xx_hal_pcd_ex.o - 0x08003d28 HAL_PCDEx_ActivateLPM + 0x08003440 0x28 build/debug/stm32h7xx_hal_pcd_ex.o + 0x08003440 HAL_PCDEx_ActivateLPM .text.HAL_PWREx_ConfigSupply - 0x08003d50 0x54 build/debug/stm32h7xx_hal_pwr_ex.o - 0x08003d50 HAL_PWREx_ConfigSupply + 0x08003468 0x54 build/debug/stm32h7xx_hal_pwr_ex.o + 0x08003468 HAL_PWREx_ConfigSupply .text.HAL_PWREx_EnableUSBVoltageDetector - 0x08003da4 0x10 build/debug/stm32h7xx_hal_pwr_ex.o - 0x08003da4 HAL_PWREx_EnableUSBVoltageDetector + 0x080034bc 0x10 build/debug/stm32h7xx_hal_pwr_ex.o + 0x080034bc HAL_PWREx_EnableUSBVoltageDetector .text.HAL_RCC_OscConfig - 0x08003db4 0x660 build/debug/stm32h7xx_hal_rcc.o - 0x08003db4 HAL_RCC_OscConfig + 0x080034cc 0x660 build/debug/stm32h7xx_hal_rcc.o + 0x080034cc HAL_RCC_OscConfig .text.HAL_RCC_GetSysClockFreq - 0x08004414 0x1f8 build/debug/stm32h7xx_hal_rcc.o - 0x08004414 HAL_RCC_GetSysClockFreq + 0x08003b2c 0x1f8 build/debug/stm32h7xx_hal_rcc.o + 0x08003b2c HAL_RCC_GetSysClockFreq .text.HAL_RCC_ClockConfig - 0x0800460c 0x294 build/debug/stm32h7xx_hal_rcc.o - 0x0800460c HAL_RCC_ClockConfig + 0x08003d24 0x294 build/debug/stm32h7xx_hal_rcc.o + 0x08003d24 HAL_RCC_ClockConfig .text.HAL_RCC_GetHCLKFreq - 0x080048a0 0x44 build/debug/stm32h7xx_hal_rcc.o - 0x080048a0 HAL_RCC_GetHCLKFreq + 0x08003fb8 0x44 build/debug/stm32h7xx_hal_rcc.o + 0x08003fb8 HAL_RCC_GetHCLKFreq .text.HAL_RCC_GetPCLK1Freq - 0x080048e4 0x24 build/debug/stm32h7xx_hal_rcc.o - 0x080048e4 HAL_RCC_GetPCLK1Freq + 0x08003ffc 0x24 build/debug/stm32h7xx_hal_rcc.o + 0x08003ffc HAL_RCC_GetPCLK1Freq .text.HAL_RCC_GetPCLK2Freq - 0x08004908 0x24 build/debug/stm32h7xx_hal_rcc.o - 0x08004908 HAL_RCC_GetPCLK2Freq + 0x08004020 0x24 build/debug/stm32h7xx_hal_rcc.o + 0x08004020 HAL_RCC_GetPCLK2Freq .text.RCCEx_PLL2_Config - 0x0800492c 0x108 build/debug/stm32h7xx_hal_rcc_ex.o + 0x08004044 0x108 build/debug/stm32h7xx_hal_rcc_ex.o .text.RCCEx_PLL3_Config - 0x08004a34 0x108 build/debug/stm32h7xx_hal_rcc_ex.o + 0x0800414c 0x108 build/debug/stm32h7xx_hal_rcc_ex.o .text.HAL_RCCEx_PeriphCLKConfig - 0x08004b3c 0xb1c build/debug/stm32h7xx_hal_rcc_ex.o - 0x08004b3c HAL_RCCEx_PeriphCLKConfig + 0x08004254 0xb1c build/debug/stm32h7xx_hal_rcc_ex.o + 0x08004254 HAL_RCCEx_PeriphCLKConfig .text.HAL_RCCEx_GetD3PCLK1Freq - 0x08005658 0x24 build/debug/stm32h7xx_hal_rcc_ex.o - 0x08005658 HAL_RCCEx_GetD3PCLK1Freq + 0x08004d70 0x24 build/debug/stm32h7xx_hal_rcc_ex.o + 0x08004d70 HAL_RCCEx_GetD3PCLK1Freq .text.HAL_RCCEx_GetPLL2ClockFreq - 0x0800567c 0x200 build/debug/stm32h7xx_hal_rcc_ex.o - 0x0800567c HAL_RCCEx_GetPLL2ClockFreq + 0x08004d94 0x200 build/debug/stm32h7xx_hal_rcc_ex.o + 0x08004d94 HAL_RCCEx_GetPLL2ClockFreq .text.HAL_RCCEx_GetPLL3ClockFreq - 0x0800587c 0x200 build/debug/stm32h7xx_hal_rcc_ex.o - 0x0800587c HAL_RCCEx_GetPLL3ClockFreq + 0x08004f94 0x200 build/debug/stm32h7xx_hal_rcc_ex.o + 0x08004f94 HAL_RCCEx_GetPLL3ClockFreq .text.HAL_RCCEx_GetPLL1ClockFreq - 0x08005a7c 0x200 build/debug/stm32h7xx_hal_rcc_ex.o - 0x08005a7c HAL_RCCEx_GetPLL1ClockFreq + 0x08005194 0x200 build/debug/stm32h7xx_hal_rcc_ex.o + 0x08005194 HAL_RCCEx_GetPLL1ClockFreq .text.HAL_RCCEx_GetPeriphCLKFreq - 0x08005c7c 0x620 build/debug/stm32h7xx_hal_rcc_ex.o - 0x08005c7c HAL_RCCEx_GetPeriphCLKFreq + 0x08005394 0x620 build/debug/stm32h7xx_hal_rcc_ex.o + 0x08005394 HAL_RCCEx_GetPeriphCLKFreq .text.SD_PowerON - 0x0800629c 0xc4 build/debug/stm32h7xx_hal_sd.o + 0x080059b4 0xc4 build/debug/stm32h7xx_hal_sd.o .text.SD_SendSDStatus - 0x08006360 0x108 build/debug/stm32h7xx_hal_sd.o + 0x08005a78 0x108 build/debug/stm32h7xx_hal_sd.o .text.SD_FindSCR - 0x08006468 0x108 build/debug/stm32h7xx_hal_sd.o + 0x08005b80 0x108 build/debug/stm32h7xx_hal_sd.o .text.SD_WideBus_Enable - 0x08006570 0x4e build/debug/stm32h7xx_hal_sd.o + 0x08005c88 0x4e build/debug/stm32h7xx_hal_sd.o .text.SD_WideBus_Disable - 0x080065be 0x4e build/debug/stm32h7xx_hal_sd.o + 0x08005cd6 0x4e build/debug/stm32h7xx_hal_sd.o .text.SD_SendStatus - 0x0800660c 0x2c build/debug/stm32h7xx_hal_sd.o + 0x08005d24 0x2c build/debug/stm32h7xx_hal_sd.o .text.HAL_SD_GetCardCSD - 0x08006638 0x1b8 build/debug/stm32h7xx_hal_sd.o - 0x08006638 HAL_SD_GetCardCSD + 0x08005d50 0x1b8 build/debug/stm32h7xx_hal_sd.o + 0x08005d50 HAL_SD_GetCardCSD .text.SD_InitCard - 0x080067f0 0xfc build/debug/stm32h7xx_hal_sd.o + 0x08005f08 0xfc build/debug/stm32h7xx_hal_sd.o .text.HAL_SD_InitCard - 0x080068ec 0xd4 build/debug/stm32h7xx_hal_sd.o - 0x080068ec HAL_SD_InitCard + 0x08006004 0xd4 build/debug/stm32h7xx_hal_sd.o + 0x08006004 HAL_SD_InitCard .text.HAL_SD_GetCardStatus - 0x080069c0 0xcc build/debug/stm32h7xx_hal_sd.o - 0x080069c0 HAL_SD_GetCardStatus + 0x080060d8 0xcc build/debug/stm32h7xx_hal_sd.o + 0x080060d8 HAL_SD_GetCardStatus .text.HAL_SD_ConfigWideBusOperation - 0x08006a8c 0x158 build/debug/stm32h7xx_hal_sd.o - 0x08006a8c HAL_SD_ConfigWideBusOperation + 0x080061a4 0x158 build/debug/stm32h7xx_hal_sd.o + 0x080061a4 HAL_SD_ConfigWideBusOperation .text.HAL_SD_GetCardState - 0x08006be4 0x22 build/debug/stm32h7xx_hal_sd.o - 0x08006be4 HAL_SD_GetCardState + 0x080062fc 0x22 build/debug/stm32h7xx_hal_sd.o + 0x080062fc HAL_SD_GetCardState .text.HAL_SD_Init - 0x08006c06 0xba build/debug/stm32h7xx_hal_sd.o - 0x08006c06 HAL_SD_Init + 0x0800631e 0xba build/debug/stm32h7xx_hal_sd.o + 0x0800631e HAL_SD_Init .text.HAL_SDRAM_Init - 0x08006cc0 0x50 build/debug/stm32h7xx_hal_sdram.o - 0x08006cc0 HAL_SDRAM_Init + 0x080063d8 0x50 build/debug/stm32h7xx_hal_sdram.o + 0x080063d8 HAL_SDRAM_Init .text.HAL_SDRAM_RefreshErrorCallback - 0x08006d10 0x2 build/debug/stm32h7xx_hal_sdram.o - 0x08006d10 HAL_SDRAM_RefreshErrorCallback + 0x08006428 0x2 build/debug/stm32h7xx_hal_sdram.o + 0x08006428 HAL_SDRAM_RefreshErrorCallback .text.HAL_SDRAM_IRQHandler - 0x08006d12 0x20 build/debug/stm32h7xx_hal_sdram.o - 0x08006d12 HAL_SDRAM_IRQHandler + 0x0800642a 0x20 build/debug/stm32h7xx_hal_sdram.o + 0x0800642a HAL_SDRAM_IRQHandler .text.HAL_SDRAM_SendCommand - 0x08006d32 0x42 build/debug/stm32h7xx_hal_sdram.o - 0x08006d32 HAL_SDRAM_SendCommand + 0x0800644a 0x42 build/debug/stm32h7xx_hal_sdram.o + 0x0800644a HAL_SDRAM_SendCommand .text.HAL_SDRAM_ProgramRefreshRate - 0x08006d74 0x30 build/debug/stm32h7xx_hal_sdram.o - 0x08006d74 HAL_SDRAM_ProgramRefreshRate + 0x0800648c 0x30 build/debug/stm32h7xx_hal_sdram.o + 0x0800648c HAL_SDRAM_ProgramRefreshRate .text.UART_EndRxTransfer - 0x08006da4 0x58 build/debug/stm32h7xx_hal_uart.o + 0x080064bc 0x58 build/debug/stm32h7xx_hal_uart.o .text.UART_SetConfig - 0x08006dfc 0x9f8 build/debug/stm32h7xx_hal_uart.o - 0x08006dfc UART_SetConfig + 0x08006514 0x9f8 build/debug/stm32h7xx_hal_uart.o + 0x08006514 UART_SetConfig .text.UART_AdvFeatureConfig - 0x080077f4 0xca build/debug/stm32h7xx_hal_uart.o - 0x080077f4 UART_AdvFeatureConfig + 0x08006f0c 0xca build/debug/stm32h7xx_hal_uart.o + 0x08006f0c UART_AdvFeatureConfig .text.UART_WaitOnFlagUntilTimeout - 0x080078be 0xa6 build/debug/stm32h7xx_hal_uart.o - 0x080078be UART_WaitOnFlagUntilTimeout + 0x08006fd6 0xa6 build/debug/stm32h7xx_hal_uart.o + 0x08006fd6 UART_WaitOnFlagUntilTimeout .text.UART_CheckIdleState - 0x08007964 0xca build/debug/stm32h7xx_hal_uart.o - 0x08007964 UART_CheckIdleState + 0x0800707c 0xca build/debug/stm32h7xx_hal_uart.o + 0x0800707c UART_CheckIdleState .text.HAL_UART_Init - 0x08007a2e 0x66 build/debug/stm32h7xx_hal_uart.o - 0x08007a2e HAL_UART_Init + 0x08007146 0x66 build/debug/stm32h7xx_hal_uart.o + 0x08007146 HAL_UART_Init .text.UARTEx_SetNbDataToProcess - 0x08007a94 0x4c build/debug/stm32h7xx_hal_uart_ex.o + 0x080071ac 0x4c build/debug/stm32h7xx_hal_uart_ex.o .text.HAL_UARTEx_DisableFifoMode - 0x08007ae0 0x3e build/debug/stm32h7xx_hal_uart_ex.o - 0x08007ae0 HAL_UARTEx_DisableFifoMode + 0x080071f8 0x3e build/debug/stm32h7xx_hal_uart_ex.o + 0x080071f8 HAL_UARTEx_DisableFifoMode .text.HAL_UARTEx_SetTxFifoThreshold - 0x08007b1e 0x4a build/debug/stm32h7xx_hal_uart_ex.o - 0x08007b1e HAL_UARTEx_SetTxFifoThreshold + 0x08007236 0x4a build/debug/stm32h7xx_hal_uart_ex.o + 0x08007236 HAL_UARTEx_SetTxFifoThreshold .text.HAL_UARTEx_SetRxFifoThreshold - 0x08007b68 0x4a build/debug/stm32h7xx_hal_uart_ex.o - 0x08007b68 HAL_UARTEx_SetRxFifoThreshold + 0x08007280 0x4a build/debug/stm32h7xx_hal_uart_ex.o + 0x08007280 HAL_UARTEx_SetRxFifoThreshold .text.NMI_Handler - 0x08007bb2 0x2 build/debug/stm32h7xx_it.o - 0x08007bb2 NMI_Handler + 0x080072ca 0x2 build/debug/stm32h7xx_it.o + 0x080072ca NMI_Handler .text.HardFault_Handler - 0x08007bb4 0x2 build/debug/stm32h7xx_it.o - 0x08007bb4 HardFault_Handler + 0x080072cc 0x2 build/debug/stm32h7xx_it.o + 0x080072cc HardFault_Handler .text.MemManage_Handler - 0x08007bb6 0x2 build/debug/stm32h7xx_it.o - 0x08007bb6 MemManage_Handler + 0x080072ce 0x2 build/debug/stm32h7xx_it.o + 0x080072ce MemManage_Handler .text.BusFault_Handler - 0x08007bb8 0x2 build/debug/stm32h7xx_it.o - 0x08007bb8 BusFault_Handler + 0x080072d0 0x2 build/debug/stm32h7xx_it.o + 0x080072d0 BusFault_Handler .text.UsageFault_Handler - 0x08007bba 0x2 build/debug/stm32h7xx_it.o - 0x08007bba UsageFault_Handler + 0x080072d2 0x2 build/debug/stm32h7xx_it.o + 0x080072d2 UsageFault_Handler .text.SVC_Handler - 0x08007bbc 0x2 build/debug/stm32h7xx_it.o - 0x08007bbc SVC_Handler + 0x080072d4 0x2 build/debug/stm32h7xx_it.o + 0x080072d4 SVC_Handler .text.DebugMon_Handler - 0x08007bbe 0x2 build/debug/stm32h7xx_it.o - 0x08007bbe DebugMon_Handler + 0x080072d6 0x2 build/debug/stm32h7xx_it.o + 0x080072d6 DebugMon_Handler .text.PendSV_Handler - 0x08007bc0 0x2 build/debug/stm32h7xx_it.o - 0x08007bc0 PendSV_Handler + 0x080072d8 0x2 build/debug/stm32h7xx_it.o + 0x080072d8 PendSV_Handler .text.SysTick_Handler - 0x08007bc2 0x8 build/debug/stm32h7xx_it.o - 0x08007bc2 SysTick_Handler - *fill* 0x08007bca 0x2 + 0x080072da 0x8 build/debug/stm32h7xx_it.o + 0x080072da SysTick_Handler + *fill* 0x080072e2 0x2 .text.FDCAN1_IT0_IRQHandler - 0x08007bcc 0x10 build/debug/stm32h7xx_it.o - 0x08007bcc FDCAN1_IT0_IRQHandler + 0x080072e4 0x10 build/debug/stm32h7xx_it.o + 0x080072e4 FDCAN1_IT0_IRQHandler .text.FDCAN1_IT1_IRQHandler - 0x08007bdc 0x10 build/debug/stm32h7xx_it.o - 0x08007bdc FDCAN1_IT1_IRQHandler + 0x080072f4 0x10 build/debug/stm32h7xx_it.o + 0x080072f4 FDCAN1_IT1_IRQHandler .text.FMC_IRQHandler - 0x08007bec 0x10 build/debug/stm32h7xx_it.o - 0x08007bec FMC_IRQHandler + 0x08007304 0x10 build/debug/stm32h7xx_it.o + 0x08007304 FMC_IRQHandler .text.FDCAN_CAL_IRQHandler - 0x08007bfc 0x10 build/debug/stm32h7xx_it.o - 0x08007bfc FDCAN_CAL_IRQHandler + 0x08007314 0x10 build/debug/stm32h7xx_it.o + 0x08007314 FDCAN_CAL_IRQHandler .text.LTDC_IRQHandler - 0x08007c0c 0x10 build/debug/stm32h7xx_it.o - 0x08007c0c LTDC_IRQHandler + 0x08007324 0x10 build/debug/stm32h7xx_it.o + 0x08007324 LTDC_IRQHandler .text.LTDC_ER_IRQHandler - 0x08007c1c 0x10 build/debug/stm32h7xx_it.o - 0x08007c1c LTDC_ER_IRQHandler + 0x08007334 0x10 build/debug/stm32h7xx_it.o + 0x08007334 LTDC_ER_IRQHandler .text.FMC_SDRAM_Init - 0x08007c2c 0x70 build/debug/stm32h7xx_ll_fmc.o - 0x08007c2c FMC_SDRAM_Init + 0x08007344 0x70 build/debug/stm32h7xx_ll_fmc.o + 0x08007344 FMC_SDRAM_Init .text.FMC_SDRAM_Timing_Init - 0x08007c9c 0xa8 build/debug/stm32h7xx_ll_fmc.o - 0x08007c9c FMC_SDRAM_Timing_Init + 0x080073b4 0xa8 build/debug/stm32h7xx_ll_fmc.o + 0x080073b4 FMC_SDRAM_Timing_Init .text.FMC_SDRAM_SendCommand - 0x08007d44 0x2a build/debug/stm32h7xx_ll_fmc.o - 0x08007d44 FMC_SDRAM_SendCommand + 0x0800745c 0x2a build/debug/stm32h7xx_ll_fmc.o + 0x0800745c FMC_SDRAM_SendCommand .text.FMC_SDRAM_ProgramRefreshRate - 0x08007d6e 0x10 build/debug/stm32h7xx_ll_fmc.o - 0x08007d6e FMC_SDRAM_ProgramRefreshRate - *fill* 0x08007d7e 0x2 + 0x08007486 0x10 build/debug/stm32h7xx_ll_fmc.o + 0x08007486 FMC_SDRAM_ProgramRefreshRate + *fill* 0x08007496 0x2 .text.SDMMC_GetCmdError - 0x08007d80 0x3c build/debug/stm32h7xx_ll_sdmmc.o + 0x08007498 0x3c build/debug/stm32h7xx_ll_sdmmc.o .text.SDMMC_Init - 0x08007dbc 0x30 build/debug/stm32h7xx_ll_sdmmc.o - 0x08007dbc SDMMC_Init + 0x080074d4 0x30 build/debug/stm32h7xx_ll_sdmmc.o + 0x080074d4 SDMMC_Init .text.SDMMC_ReadFIFO - 0x08007dec 0x6 build/debug/stm32h7xx_ll_sdmmc.o - 0x08007dec SDMMC_ReadFIFO + 0x08007504 0x6 build/debug/stm32h7xx_ll_sdmmc.o + 0x08007504 SDMMC_ReadFIFO .text.SDMMC_PowerState_ON - 0x08007df2 0xc build/debug/stm32h7xx_ll_sdmmc.o - 0x08007df2 SDMMC_PowerState_ON + 0x0800750a 0xc build/debug/stm32h7xx_ll_sdmmc.o + 0x0800750a SDMMC_PowerState_ON .text.SDMMC_GetPowerState - 0x08007dfe 0x8 build/debug/stm32h7xx_ll_sdmmc.o - 0x08007dfe SDMMC_GetPowerState - *fill* 0x08007e06 0x2 + 0x08007516 0x8 build/debug/stm32h7xx_ll_sdmmc.o + 0x08007516 SDMMC_GetPowerState + *fill* 0x0800751e 0x2 .text.SDMMC_SendCommand - 0x08007e08 0x24 build/debug/stm32h7xx_ll_sdmmc.o - 0x08007e08 SDMMC_SendCommand + 0x08007520 0x24 build/debug/stm32h7xx_ll_sdmmc.o + 0x08007520 SDMMC_SendCommand .text.SDMMC_GetCommandResponse - 0x08007e2c 0x6 build/debug/stm32h7xx_ll_sdmmc.o - 0x08007e2c SDMMC_GetCommandResponse + 0x08007544 0x6 build/debug/stm32h7xx_ll_sdmmc.o + 0x08007544 SDMMC_GetCommandResponse .text.SDMMC_GetResponse - 0x08007e32 0x6 build/debug/stm32h7xx_ll_sdmmc.o - 0x08007e32 SDMMC_GetResponse + 0x0800754a 0x6 build/debug/stm32h7xx_ll_sdmmc.o + 0x0800754a SDMMC_GetResponse .text.SDMMC_ConfigData - 0x08007e38 0x24 build/debug/stm32h7xx_ll_sdmmc.o - 0x08007e38 SDMMC_ConfigData + 0x08007550 0x24 build/debug/stm32h7xx_ll_sdmmc.o + 0x08007550 SDMMC_ConfigData .text.SDMMC_CmdGoIdleState - 0x08007e5c 0x26 build/debug/stm32h7xx_ll_sdmmc.o - 0x08007e5c SDMMC_CmdGoIdleState - *fill* 0x08007e82 0x2 + 0x08007574 0x26 build/debug/stm32h7xx_ll_sdmmc.o + 0x08007574 SDMMC_CmdGoIdleState + *fill* 0x0800759a 0x2 .text.SDMMC_GetCmdResp1 - 0x08007e84 0x160 build/debug/stm32h7xx_ll_sdmmc.o - 0x08007e84 SDMMC_GetCmdResp1 + 0x0800759c 0x160 build/debug/stm32h7xx_ll_sdmmc.o + 0x0800759c SDMMC_GetCmdResp1 .text.SDMMC_CmdBlockLength - 0x08007fe4 0x32 build/debug/stm32h7xx_ll_sdmmc.o - 0x08007fe4 SDMMC_CmdBlockLength + 0x080076fc 0x32 build/debug/stm32h7xx_ll_sdmmc.o + 0x080076fc SDMMC_CmdBlockLength .text.SDMMC_CmdSelDesel - 0x08008016 0x32 build/debug/stm32h7xx_ll_sdmmc.o - 0x08008016 SDMMC_CmdSelDesel + 0x0800772e 0x32 build/debug/stm32h7xx_ll_sdmmc.o + 0x0800772e SDMMC_CmdSelDesel .text.SDMMC_CmdAppCommand - 0x08008048 0x32 build/debug/stm32h7xx_ll_sdmmc.o - 0x08008048 SDMMC_CmdAppCommand + 0x08007760 0x32 build/debug/stm32h7xx_ll_sdmmc.o + 0x08007760 SDMMC_CmdAppCommand .text.SDMMC_CmdBusWidth - 0x0800807a 0x32 build/debug/stm32h7xx_ll_sdmmc.o - 0x0800807a SDMMC_CmdBusWidth + 0x08007792 0x32 build/debug/stm32h7xx_ll_sdmmc.o + 0x08007792 SDMMC_CmdBusWidth .text.SDMMC_CmdSendSCR - 0x080080ac 0x32 build/debug/stm32h7xx_ll_sdmmc.o - 0x080080ac SDMMC_CmdSendSCR + 0x080077c4 0x32 build/debug/stm32h7xx_ll_sdmmc.o + 0x080077c4 SDMMC_CmdSendSCR .text.SDMMC_CmdSendStatus - 0x080080de 0x32 build/debug/stm32h7xx_ll_sdmmc.o - 0x080080de SDMMC_CmdSendStatus + 0x080077f6 0x32 build/debug/stm32h7xx_ll_sdmmc.o + 0x080077f6 SDMMC_CmdSendStatus .text.SDMMC_CmdStatusRegister - 0x08008110 0x32 build/debug/stm32h7xx_ll_sdmmc.o - 0x08008110 SDMMC_CmdStatusRegister - *fill* 0x08008142 0x2 + 0x08007828 0x32 build/debug/stm32h7xx_ll_sdmmc.o + 0x08007828 SDMMC_CmdStatusRegister + *fill* 0x0800785a 0x2 .text.SDMMC_GetCmdResp2 - 0x08008144 0x60 build/debug/stm32h7xx_ll_sdmmc.o - 0x08008144 SDMMC_GetCmdResp2 + 0x0800785c 0x60 build/debug/stm32h7xx_ll_sdmmc.o + 0x0800785c SDMMC_GetCmdResp2 .text.SDMMC_CmdSendCID - 0x080081a4 0x2c build/debug/stm32h7xx_ll_sdmmc.o - 0x080081a4 SDMMC_CmdSendCID + 0x080078bc 0x2c build/debug/stm32h7xx_ll_sdmmc.o + 0x080078bc SDMMC_CmdSendCID .text.SDMMC_CmdSendCSD - 0x080081d0 0x2c build/debug/stm32h7xx_ll_sdmmc.o - 0x080081d0 SDMMC_CmdSendCSD + 0x080078e8 0x2c build/debug/stm32h7xx_ll_sdmmc.o + 0x080078e8 SDMMC_CmdSendCSD .text.SDMMC_GetCmdResp3 - 0x080081fc 0x50 build/debug/stm32h7xx_ll_sdmmc.o - 0x080081fc SDMMC_GetCmdResp3 + 0x08007914 0x50 build/debug/stm32h7xx_ll_sdmmc.o + 0x08007914 SDMMC_GetCmdResp3 .text.SDMMC_CmdAppOperCommand - 0x0800824c 0x2c build/debug/stm32h7xx_ll_sdmmc.o - 0x0800824c SDMMC_CmdAppOperCommand + 0x08007964 0x2c build/debug/stm32h7xx_ll_sdmmc.o + 0x08007964 SDMMC_CmdAppOperCommand .text.SDMMC_GetCmdResp6 - 0x08008278 0xa4 build/debug/stm32h7xx_ll_sdmmc.o - 0x08008278 SDMMC_GetCmdResp6 + 0x08007990 0xa4 build/debug/stm32h7xx_ll_sdmmc.o + 0x08007990 SDMMC_GetCmdResp6 .text.SDMMC_CmdSetRelAdd - 0x0800831c 0x32 build/debug/stm32h7xx_ll_sdmmc.o - 0x0800831c SDMMC_CmdSetRelAdd - *fill* 0x0800834e 0x2 + 0x08007a34 0x32 build/debug/stm32h7xx_ll_sdmmc.o + 0x08007a34 SDMMC_CmdSetRelAdd + *fill* 0x08007a66 0x2 .text.SDMMC_GetCmdResp7 - 0x08008350 0x64 build/debug/stm32h7xx_ll_sdmmc.o - 0x08008350 SDMMC_GetCmdResp7 + 0x08007a68 0x64 build/debug/stm32h7xx_ll_sdmmc.o + 0x08007a68 SDMMC_GetCmdResp7 .text.SDMMC_CmdOperCond - 0x080083b4 0x30 build/debug/stm32h7xx_ll_sdmmc.o - 0x080083b4 SDMMC_CmdOperCond + 0x08007acc 0x30 build/debug/stm32h7xx_ll_sdmmc.o + 0x08007acc SDMMC_CmdOperCond .text.USB_CoreReset - 0x080083e4 0x4a build/debug/stm32h7xx_ll_usb.o - *fill* 0x0800842e 0x2 + 0x08007afc 0x4a build/debug/stm32h7xx_ll_usb.o + *fill* 0x08007b46 0x2 .text.USB_CoreInit - 0x08008430 0xa4 build/debug/stm32h7xx_ll_usb.o - 0x08008430 USB_CoreInit + 0x08007b48 0xa4 build/debug/stm32h7xx_ll_usb.o + 0x08007b48 USB_CoreInit .text.USB_DisableGlobalInt - 0x080084d4 0xc build/debug/stm32h7xx_ll_usb.o - 0x080084d4 USB_DisableGlobalInt + 0x08007bec 0xc build/debug/stm32h7xx_ll_usb.o + 0x08007bec USB_DisableGlobalInt .text.USB_FlushTxFifo - 0x080084e0 0x4a build/debug/stm32h7xx_ll_usb.o - 0x080084e0 USB_FlushTxFifo + 0x08007bf8 0x4a build/debug/stm32h7xx_ll_usb.o + 0x08007bf8 USB_FlushTxFifo .text.USB_FlushRxFifo - 0x0800852a 0x46 build/debug/stm32h7xx_ll_usb.o - 0x0800852a USB_FlushRxFifo + 0x08007c42 0x46 build/debug/stm32h7xx_ll_usb.o + 0x08007c42 USB_FlushRxFifo .text.USB_SetDevSpeed - 0x08008570 0xe build/debug/stm32h7xx_ll_usb.o - 0x08008570 USB_SetDevSpeed - *fill* 0x0800857e 0x2 + 0x08007c88 0xe build/debug/stm32h7xx_ll_usb.o + 0x08007c88 USB_SetDevSpeed + *fill* 0x08007c96 0x2 .text.USB_DevInit - 0x08008580 0x190 build/debug/stm32h7xx_ll_usb.o - 0x08008580 USB_DevInit + 0x08007c98 0x190 build/debug/stm32h7xx_ll_usb.o + 0x08007c98 USB_DevInit .text.USB_DevDisconnect - 0x08008710 0x1c build/debug/stm32h7xx_ll_usb.o - 0x08008710 USB_DevDisconnect + 0x08007e28 0x1c build/debug/stm32h7xx_ll_usb.o + 0x08007e28 USB_DevDisconnect .text.USB_GetMode - 0x0800872c 0x8 build/debug/stm32h7xx_ll_usb.o - 0x0800872c USB_GetMode + 0x08007e44 0x8 build/debug/stm32h7xx_ll_usb.o + 0x08007e44 USB_GetMode .text.USB_SetCurrentMode - 0x08008734 0x62 build/debug/stm32h7xx_ll_usb.o - 0x08008734 USB_SetCurrentMode - .text._getpid 0x08008796 0x4 build/debug/syscalls.o - 0x08008796 _getpid - .text._kill 0x0800879a 0x10 build/debug/syscalls.o - 0x0800879a _kill - .text._exit 0x080087aa 0xc build/debug/syscalls.o - 0x080087aa _exit - .text._read 0x080087b6 0x20 build/debug/syscalls.o - 0x080087b6 _read - .text._write 0x080087d6 0x1c build/debug/syscalls.o - 0x080087d6 _write - .text._close 0x080087f2 0x6 build/debug/syscalls.o - 0x080087f2 _close - .text._fstat 0x080087f8 0xa build/debug/syscalls.o - 0x080087f8 _fstat - .text._isatty 0x08008802 0x4 build/debug/syscalls.o - 0x08008802 _isatty - .text._lseek 0x08008806 0x4 build/debug/syscalls.o - 0x08008806 _lseek - *fill* 0x0800880a 0x2 - .text._sbrk 0x0800880c 0x48 build/debug/sysmem.o - 0x0800880c _sbrk + 0x08007e4c 0x62 build/debug/stm32h7xx_ll_usb.o + 0x08007e4c USB_SetCurrentMode + *fill* 0x08007eae 0x2 .text.SystemInit - 0x08008854 0xac build/debug/system_stm32h7xx.o - 0x08008854 SystemInit - .text._ZN8touchgfx13DMA_Interface10initializeEv - 0x08008900 0x2 build/debug/STM32DMA.o - 0x08008900 touchgfx::DMA_Interface::initialize() - .text._ZN8touchgfx13DMA_Interface10getDMATypeEv - 0x08008902 0x4 build/debug/STM32DMA.o - 0x08008902 touchgfx::DMA_Interface::getDMAType() - .text._ZN8STM32DMA18signalDMAInterruptEv - 0x08008906 0x2 build/debug/STM32DMA.o - 0x08008906 STM32DMA::signalDMAInterrupt() - .text._ZN8STM32DMA5flushEv - 0x08008908 0x2 build/debug/STM32DMA.o - 0x08008908 STM32DMA::flush() - *fill* 0x0800890a 0x2 - .text._ZN8STM32DMAD2Ev - 0x0800890c 0x24 build/debug/STM32DMA.o - 0x0800890c STM32DMA::~STM32DMA() - 0x0800890c STM32DMA::~STM32DMA() - .text._ZN8STM32DMAD0Ev - 0x08008930 0x30 build/debug/STM32DMA.o - 0x08008930 STM32DMA::~STM32DMA() - .text._ZN20STM32TouchControllerD2Ev - 0x08008960 0x14 build/debug/STM32TouchController.o - 0x08008960 STM32TouchController::~STM32TouchController() - 0x08008960 STM32TouchController::~STM32TouchController() - .text._ZN20STM32TouchControllerD0Ev - 0x08008974 0x20 build/debug/STM32TouchController.o - 0x08008974 STM32TouchController::~STM32TouchController() - .text._ZN8touchgfx7MVPHeapD2Ev - 0x08008994 0xc build/debug/TouchGFXConfiguration.o - 0x08008994 touchgfx::MVPHeap::~MVPHeap() - 0x08008994 touchgfx::MVPHeap::~MVPHeap() - .text._ZN8touchgfx15UIEventListener16handleClickEventERKNS_10ClickEventE - 0x080089a0 0x2 build/debug/TouchGFXConfiguration.o - 0x080089a0 touchgfx::UIEventListener::handleClickEvent(touchgfx::ClickEvent const&) - .text._ZN8touchgfx15UIEventListener15handleDragEventERKNS_9DragEventE - 0x080089a2 0x2 build/debug/TouchGFXConfiguration.o - 0x080089a2 touchgfx::UIEventListener::handleDragEvent(touchgfx::DragEvent const&) - .text._ZN8touchgfx15UIEventListener18handleGestureEventERKNS_12GestureEventE - 0x080089a4 0x2 build/debug/TouchGFXConfiguration.o - 0x080089a4 touchgfx::UIEventListener::handleGestureEvent(touchgfx::GestureEvent const&) - .text._ZN8touchgfx15UIEventListener14handleKeyEventEh - 0x080089a6 0x2 build/debug/TouchGFXConfiguration.o - 0x080089a6 touchgfx::UIEventListener::handleKeyEvent(unsigned char) - .text._ZN8touchgfx15UIEventListener15handleTickEventEv - 0x080089a8 0x2 build/debug/TouchGFXConfiguration.o - 0x080089a8 touchgfx::UIEventListener::handleTickEvent() - .text._ZN8touchgfx15UIEventListener29handlePendingScreenTransitionEv - 0x080089aa 0x2 build/debug/TouchGFXConfiguration.o - 0x080089aa touchgfx::UIEventListener::handlePendingScreenTransition() - .text._ZN8touchgfx15UIEventListenerD2Ev - 0x080089ac 0xc build/debug/TouchGFXConfiguration.o - 0x080089ac touchgfx::UIEventListener::~UIEventListener() - 0x080089ac touchgfx::UIEventListener::~UIEventListener() - .text._ZN8touchgfx11Application19changeToStartScreenEv - 0x080089b8 0x2 build/debug/TouchGFXConfiguration.o - 0x080089b8 touchgfx::Application::changeToStartScreen() - .text._ZN8touchgfx11Application15appSwitchScreenEh - 0x080089ba 0x2 build/debug/TouchGFXConfiguration.o - 0x080089ba touchgfx::Application::appSwitchScreen(unsigned char) - .text._ZN8touchgfx11Application13requestRedrawERNS_4RectE - 0x080089bc 0xc build/debug/TouchGFXConfiguration.o - 0x080089bc touchgfx::Application::requestRedraw(touchgfx::Rect&) - .text._ZN8touchgfx14MVPApplicationD2Ev - 0x080089c8 0x1c build/debug/TouchGFXConfiguration.o - 0x080089c8 touchgfx::MVPApplication::~MVPApplication() - 0x080089c8 touchgfx::MVPApplication::~MVPApplication() - .text._ZN8touchgfx8CallbackI23FrontendApplicationBasevvvED2Ev - 0x080089e4 0x14 build/debug/TouchGFXConfiguration.o - 0x080089e4 touchgfx::Callback::~Callback() - 0x080089e4 touchgfx::Callback::~Callback() - .text._ZN23FrontendApplicationBaseD2Ev - 0x080089f8 0x38 build/debug/TouchGFXConfiguration.o - 0x080089f8 FrontendApplicationBase::~FrontendApplicationBase() - 0x080089f8 FrontendApplicationBase::~FrontendApplicationBase() - .text._ZN19FrontendApplicationD2Ev - 0x08008a30 0x40 build/debug/TouchGFXConfiguration.o - 0x08008a30 FrontendApplication::~FrontendApplication() - 0x08008a30 FrontendApplication::~FrontendApplication() - .text._ZN16FrontendHeapBaseD2Ev - 0x08008a70 0x14 build/debug/TouchGFXConfiguration.o - 0x08008a70 FrontendHeapBase::~FrontendHeapBase() - 0x08008a70 FrontendHeapBase::~FrontendHeapBase() - .text._ZN8touchgfx8LCD24bppD2Ev - 0x08008a84 0x14 build/debug/TouchGFXConfiguration.o - 0x08008a84 touchgfx::LCD24bpp::~LCD24bpp() - 0x08008a84 touchgfx::LCD24bpp::~LCD24bpp() - .text._ZN23ApplicationFontProviderD2Ev - 0x08008a98 0x14 build/debug/TouchGFXConfiguration.o - 0x08008a98 ApplicationFontProvider::~ApplicationFontProvider() - 0x08008a98 ApplicationFontProvider::~ApplicationFontProvider() - .text._ZN11TouchGFXHALD2Ev - 0x08008aac 0x1c build/debug/TouchGFXConfiguration.o - 0x08008aac TouchGFXHAL::~TouchGFXHAL() - 0x08008aac TouchGFXHAL::~TouchGFXHAL() - .text._ZNK8touchgfx9PartitionINS_4meta8TypeListINS_12NoTransitionENS2_INS1_3NilES4_EEEELt1EE8capacityEv - 0x08008ac8 0x4 build/debug/TouchGFXConfiguration.o - 0x08008ac8 touchgfx::Partition >, (unsigned short)1>::capacity() const - .text._ZN8touchgfx9PartitionINS_4meta8TypeListINS_12NoTransitionENS2_INS1_3NilES4_EEEELt1EE12element_sizeEv - 0x08008acc 0x4 build/debug/TouchGFXConfiguration.o - 0x08008acc touchgfx::Partition >, (unsigned short)1>::element_size() - .text._ZN8touchgfx9PartitionINS_4meta8TypeListINS_12NoTransitionENS2_INS1_3NilES4_EEEELt1EE7elementEt - 0x08008ad0 0xc build/debug/TouchGFXConfiguration.o - 0x08008ad0 touchgfx::Partition >, (unsigned short)1>::element(unsigned short) - .text._ZNK8touchgfx9PartitionINS_4meta8TypeListINS_12NoTransitionENS2_INS1_3NilES4_EEEELt1EE7elementEt - 0x08008adc 0xc build/debug/TouchGFXConfiguration.o - 0x08008adc touchgfx::Partition >, (unsigned short)1>::element(unsigned short) const - .text._ZNK8touchgfx9PartitionINS_4meta8TypeListI10screenViewNS2_INS1_3NilES4_EEEELt1EE8capacityEv - 0x08008ae8 0x4 build/debug/TouchGFXConfiguration.o - 0x08008ae8 touchgfx::Partition >, (unsigned short)1>::capacity() const - .text._ZN8touchgfx9PartitionINS_4meta8TypeListI10screenViewNS2_INS1_3NilES4_EEEELt1EE12element_sizeEv - 0x08008aec 0x4 build/debug/TouchGFXConfiguration.o - 0x08008aec touchgfx::Partition >, (unsigned short)1>::element_size() - .text._ZN8touchgfx9PartitionINS_4meta8TypeListI10screenViewNS2_INS1_3NilES4_EEEELt1EE7elementEt - 0x08008af0 0xc build/debug/TouchGFXConfiguration.o - 0x08008af0 touchgfx::Partition >, (unsigned short)1>::element(unsigned short) - .text._ZNK8touchgfx9PartitionINS_4meta8TypeListI10screenViewNS2_INS1_3NilES4_EEEELt1EE7elementEt - 0x08008afc 0xc build/debug/TouchGFXConfiguration.o - 0x08008afc touchgfx::Partition >, (unsigned short)1>::element(unsigned short) const - .text._ZNK8touchgfx9PartitionINS_4meta8TypeListI15screenPresenterNS2_INS1_3NilES4_EEEELt1EE8capacityEv - 0x08008b08 0x4 build/debug/TouchGFXConfiguration.o - 0x08008b08 touchgfx::Partition >, (unsigned short)1>::capacity() const - .text._ZN8touchgfx9PartitionINS_4meta8TypeListI15screenPresenterNS2_INS1_3NilES4_EEEELt1EE12element_sizeEv - 0x08008b0c 0x4 build/debug/TouchGFXConfiguration.o - 0x08008b0c touchgfx::Partition >, (unsigned short)1>::element_size() - .text._ZN8touchgfx9PartitionINS_4meta8TypeListI15screenPresenterNS2_INS1_3NilES4_EEEELt1EE7elementEt - 0x08008b10 0x8 build/debug/TouchGFXConfiguration.o - 0x08008b10 touchgfx::Partition >, (unsigned short)1>::element(unsigned short) - .text._ZNK8touchgfx9PartitionINS_4meta8TypeListI15screenPresenterNS2_INS1_3NilES4_EEEELt1EE7elementEt - 0x08008b18 0x8 build/debug/TouchGFXConfiguration.o - 0x08008b18 touchgfx::Partition >, (unsigned short)1>::element(unsigned short) const - .text._ZN8touchgfx8CallbackI23FrontendApplicationBasevvvE7executeEv - 0x08008b20 0x22 build/debug/TouchGFXConfiguration.o - 0x08008b20 touchgfx::Callback::execute() - .text._ZNK8touchgfx8CallbackI23FrontendApplicationBasevvvE7isValidEv - 0x08008b42 0x20 build/debug/TouchGFXConfiguration.o - 0x08008b42 touchgfx::Callback::isValid() const - *fill* 0x08008b62 0x2 - .text._ZN8touchgfx15UIEventListenerD0Ev - 0x08008b64 0x18 build/debug/TouchGFXConfiguration.o - 0x08008b64 touchgfx::UIEventListener::~UIEventListener() - .text._ZN16FrontendHeapBaseD0Ev - 0x08008b7c 0x20 build/debug/TouchGFXConfiguration.o - 0x08008b7c FrontendHeapBase::~FrontendHeapBase() - .text._ZN8touchgfx7MVPHeapD0Ev - 0x08008b9c 0x18 build/debug/TouchGFXConfiguration.o - 0x08008b9c touchgfx::MVPHeap::~MVPHeap() - .text._ZN8touchgfx8CallbackI23FrontendApplicationBasevvvED0Ev - 0x08008bb4 0x20 build/debug/TouchGFXConfiguration.o - 0x08008bb4 touchgfx::Callback::~Callback() - .text._ZN8touchgfx14MVPApplicationD0Ev - 0x08008bd4 0x28 build/debug/TouchGFXConfiguration.o - 0x08008bd4 touchgfx::MVPApplication::~MVPApplication() - .text._ZN23FrontendApplicationBaseD0Ev - 0x08008bfc 0x44 build/debug/TouchGFXConfiguration.o - 0x08008bfc FrontendApplicationBase::~FrontendApplicationBase() - .text._ZN19FrontendApplicationD0Ev - 0x08008c40 0x4c build/debug/TouchGFXConfiguration.o - 0x08008c40 FrontendApplication::~FrontendApplication() - .text._ZN16FrontendHeapBase15gotoStartScreenER19FrontendApplication - 0x08008c8c 0xa build/debug/TouchGFXConfiguration.o - 0x08008c8c FrontendHeapBase::gotoStartScreen(FrontendApplication&) - .text._ZN23FrontendApplicationBase19changeToStartScreenEv - 0x08008c96 0x8 build/debug/TouchGFXConfiguration.o - 0x08008c96 FrontendApplicationBase::changeToStartScreen() - .text._ZN19FrontendApplication15handleTickEventEv - 0x08008c9e 0x14 build/debug/TouchGFXConfiguration.o - 0x08008c9e FrontendApplication::handleTickEvent() - *fill* 0x08008cb2 0x2 - .text._ZN8touchgfx9PartitionINS_4meta8TypeListINS_12NoTransitionENS2_INS1_3NilES4_EEEELt1EED2Ev - 0x08008cb4 0x14 build/debug/TouchGFXConfiguration.o - 0x08008cb4 touchgfx::Partition >, (unsigned short)1>::~Partition() - 0x08008cb4 touchgfx::Partition >, (unsigned short)1>::~Partition() - .text._ZN8touchgfx9PartitionINS_4meta8TypeListINS_12NoTransitionENS2_INS1_3NilES4_EEEELt1EED0Ev - 0x08008cc8 0x1c build/debug/TouchGFXConfiguration.o - 0x08008cc8 touchgfx::Partition >, (unsigned short)1>::~Partition() - .text._ZN8touchgfx9PartitionINS_4meta8TypeListI10screenViewNS2_INS1_3NilES4_EEEELt1EED2Ev - 0x08008ce4 0x14 build/debug/TouchGFXConfiguration.o - 0x08008ce4 touchgfx::Partition >, (unsigned short)1>::~Partition() - 0x08008ce4 touchgfx::Partition >, (unsigned short)1>::~Partition() - .text._ZN8touchgfx9PartitionINS_4meta8TypeListI10screenViewNS2_INS1_3NilES4_EEEELt1EED0Ev - 0x08008cf8 0x1c build/debug/TouchGFXConfiguration.o - 0x08008cf8 touchgfx::Partition >, (unsigned short)1>::~Partition() - .text._ZN8touchgfx9PartitionINS_4meta8TypeListI15screenPresenterNS2_INS1_3NilES4_EEEELt1EED2Ev - 0x08008d14 0x14 build/debug/TouchGFXConfiguration.o - 0x08008d14 touchgfx::Partition >, (unsigned short)1>::~Partition() - 0x08008d14 touchgfx::Partition >, (unsigned short)1>::~Partition() - .text._ZN8touchgfx9PartitionINS_4meta8TypeListI15screenPresenterNS2_INS1_3NilES4_EEEELt1EED0Ev - 0x08008d28 0x1c build/debug/TouchGFXConfiguration.o - 0x08008d28 touchgfx::Partition >, (unsigned short)1>::~Partition() - .text._ZN12FrontendHeapD2Ev - 0x08008d44 0x94 build/debug/TouchGFXConfiguration.o - 0x08008d44 FrontendHeap::~FrontendHeap() - 0x08008d44 FrontendHeap::~FrontendHeap() - .text._ZN12FrontendHeapD0Ev - 0x08008dd8 0x16 build/debug/TouchGFXConfiguration.o - 0x08008dd8 FrontendHeap::~FrontendHeap() - *fill* 0x08008dee 0x2 - .text._ZN8touchgfx3HALC2ERNS_13DMA_InterfaceERNS_3LCDERNS_15TouchControllerEtt - 0x08008df0 0xf0 build/debug/TouchGFXConfiguration.o - 0x08008df0 touchgfx::HAL::HAL(touchgfx::DMA_Interface&, touchgfx::LCD&, touchgfx::TouchController&, unsigned short, unsigned short) - 0x08008df0 touchgfx::HAL::HAL(touchgfx::DMA_Interface&, touchgfx::LCD&, touchgfx::TouchController&, unsigned short, unsigned short) - .text._ZN8touchgfx3HAL15backPorchExitedEv - 0x08008ee0 0x14 build/debug/TouchGFXConfiguration.o - 0x08008ee0 touchgfx::HAL::backPorchExited() - .text._ZN8touchgfx14MVPApplication31evaluatePendingScreenTransitionEv - 0x08008ef4 0x24 build/debug/TouchGFXConfiguration.o - 0x08008ef4 touchgfx::MVPApplication::evaluatePendingScreenTransition() - .text._ZN8touchgfx14MVPApplication29handlePendingScreenTransitionEv - 0x08008f18 0x8 build/debug/TouchGFXConfiguration.o - 0x08008f18 touchgfx::MVPApplication::handlePendingScreenTransition() - .text._ZN12FrontendHeapC2Ev - 0x08008f20 0x7c build/debug/TouchGFXConfiguration.o - 0x08008f20 FrontendHeap::FrontendHeap() - 0x08008f20 FrontendHeap::FrontendHeap() - .text._ZN12FrontendHeap11getInstanceEv - 0x08008f9c 0x4c build/debug/TouchGFXConfiguration.o - 0x08008f9c FrontendHeap::getInstance() - .text._ZN8touchgfx8LCD24bppD0Ev - 0x08008fe8 0x20 build/debug/TouchGFXConfiguration.o - 0x08008fe8 touchgfx::LCD24bpp::~LCD24bpp() - .text._ZN23ApplicationFontProviderD0Ev - 0x08009008 0x20 build/debug/TouchGFXConfiguration.o - 0x08009008 ApplicationFontProvider::~ApplicationFontProvider() - .text._ZN11TouchGFXHALD0Ev - 0x08009028 0x28 build/debug/TouchGFXConfiguration.o - 0x08009028 TouchGFXHAL::~TouchGFXHAL() - .text._ZN8touchgfx3HAL21setDisplayOrientationENS_18DisplayOrientationE - 0x08009050 0xc build/debug/TouchGFXGeneratedHAL.o - 0x08009050 touchgfx::HAL::setDisplayOrientation(touchgfx::DisplayOrientation) - .text._ZN8touchgfx3HAL11getBlitCapsEv - 0x0800905c 0x16 build/debug/TouchGFXGeneratedHAL.o - 0x0800905c touchgfx::HAL::getBlitCaps() - .text._ZN8touchgfx3HAL9sampleKeyERh - 0x08009072 0x4 build/debug/TouchGFXGeneratedHAL.o - 0x08009072 touchgfx::HAL::sampleKey(unsigned char&) - *fill* 0x08009076 0x2 - .text._ZN8touchgfx3HAL19setAnimationStorageEPv - 0x08009078 0x14 build/debug/TouchGFXGeneratedHAL.o - 0x08009078 touchgfx::HAL::setAnimationStorage(void*) - .text._ZNK8touchgfx3HAL18getFlashDataReaderEv - 0x0800908c 0x4 build/debug/TouchGFXGeneratedHAL.o - 0x0800908c touchgfx::HAL::getFlashDataReader() const - .text._ZN8touchgfx3HAL9taskDelayEt - 0x08009090 0xc build/debug/TouchGFXGeneratedHAL.o - 0x08009090 touchgfx::HAL::taskDelay(unsigned short) - .text._ZN8touchgfx3HAL10getDMATypeEv - 0x0800909c 0xc build/debug/TouchGFXGeneratedHAL.o - 0x0800909c touchgfx::HAL::getDMAType() - .text._ZN8touchgfx3HAL31performDisplayOrientationChangeEv - 0x080090a8 0x4c build/debug/TouchGFXGeneratedHAL.o - 0x080090a8 touchgfx::HAL::performDisplayOrientationChange() - .text._ZN20TouchGFXGeneratedHALD2Ev - 0x080090f4 0x14 build/debug/TouchGFXGeneratedHAL.o - 0x080090f4 TouchGFXGeneratedHAL::~TouchGFXGeneratedHAL() - 0x080090f4 TouchGFXGeneratedHAL::~TouchGFXGeneratedHAL() - .text._ZN8touchgfx3HAL28setFrameBufferStartAddressesEPvS1_S1_ - 0x08009108 0x3c build/debug/TouchGFXGeneratedHAL.o - 0x08009108 touchgfx::HAL::setFrameBufferStartAddresses(void*, void*, void*) - .text._ZN8touchgfx3HAL18setFrameBufferSizeEtt - 0x08009144 0x44 build/debug/TouchGFXGeneratedHAL.o - 0x08009144 touchgfx::HAL::setFrameBufferSize(unsigned short, unsigned short) - .text._ZN20TouchGFXGeneratedHAL16flushFrameBufferEv - 0x08009188 0x8 build/debug/TouchGFXGeneratedHAL.o - 0x08009188 TouchGFXGeneratedHAL::flushFrameBuffer() - .text._ZN20TouchGFXGeneratedHALD0Ev - 0x08009190 0x20 build/debug/TouchGFXGeneratedHAL.o - 0x08009190 TouchGFXGeneratedHAL::~TouchGFXGeneratedHAL() - .text._ZN8touchgfx3HAL23setFrameRefreshStrategyENS0_20FrameRefreshStrategyE - 0x080091b0 0x4c build/debug/TouchGFXGeneratedHAL.o - 0x080091b0 touchgfx::HAL::setFrameRefreshStrategy(touchgfx::HAL::FrameRefreshStrategy) - .text._ZN11TouchGFXHAL16flushFrameBufferEv - 0x080091fc 0x8 build/debug/TouchGFXHAL.o - 0x080091fc TouchGFXHAL::flushFrameBuffer() + 0x08007eb0 0xac build/debug/system_stm32h7xx.o + 0x08007eb0 SystemInit .text.Reset_Handler - 0x08009204 0x54 build/debug/startup_stm32h7a3xx.o - 0x08009204 Reset_Handler + 0x08007f5c 0x54 build/debug/startup_stm32h7a3xx.o + 0x08007f5c Reset_Handler .text.Default_Handler - 0x08009258 0x2 build/debug/startup_stm32h7a3xx.o - 0x08009258 RTC_Alarm_IRQHandler - 0x08009258 EXTI2_IRQHandler - 0x08009258 TIM8_CC_IRQHandler - 0x08009258 UART8_IRQHandler - 0x08009258 BDMA2_Channel1_IRQHandler - 0x08009258 SPI4_IRQHandler - 0x08009258 BDMA2_Channel0_IRQHandler - 0x08009258 TIM1_CC_IRQHandler - 0x08009258 DMA2_Stream5_IRQHandler - 0x08009258 JPEG_IRQHandler - 0x08009258 DMA1_Stream5_IRQHandler - 0x08009258 EXTI3_IRQHandler - 0x08009258 LPTIM4_IRQHandler - 0x08009258 TIM8_TRG_COM_TIM14_IRQHandler - 0x08009258 LPTIM2_IRQHandler - 0x08009258 DFSDM1_FLT1_IRQHandler - 0x08009258 DMAMUX2_OVR_IRQHandler - 0x08009258 GFXMMU_IRQHandler - 0x08009258 TIM8_UP_TIM13_IRQHandler - 0x08009258 I2C3_ER_IRQHandler - 0x08009258 DFSDM1_FLT2_IRQHandler - 0x08009258 USART10_IRQHandler - 0x08009258 MDMA_IRQHandler - 0x08009258 LPTIM3_IRQHandler - 0x08009258 BDMA2_Channel3_IRQHandler - 0x08009258 HSEM1_IRQHandler - 0x08009258 EXTI0_IRQHandler - 0x08009258 I2C2_EV_IRQHandler - 0x08009258 DAC2_IRQHandler - 0x08009258 DMA1_Stream2_IRQHandler - 0x08009258 FPU_IRQHandler - 0x08009258 OTG_HS_WKUP_IRQHandler - 0x08009258 DMA2_Stream2_IRQHandler - 0x08009258 SPI1_IRQHandler - 0x08009258 OCTOSPI1_IRQHandler - 0x08009258 TIM6_DAC_IRQHandler - 0x08009258 BDMA2_Channel6_IRQHandler - 0x08009258 DMA2_Stream3_IRQHandler - 0x08009258 OCTOSPI2_IRQHandler - 0x08009258 SAI2_IRQHandler - 0x08009258 BDMA1_IRQHandler - 0x08009258 DFSDM1_FLT3_IRQHandler - 0x08009258 USART6_IRQHandler - 0x08009258 TIM17_IRQHandler - 0x08009258 USART3_IRQHandler - 0x08009258 LPTIM5_IRQHandler - 0x08009258 UART5_IRQHandler - 0x08009258 DMA2_Stream0_IRQHandler - 0x08009258 TIM4_IRQHandler - 0x08009258 I2C1_EV_IRQHandler - 0x08009258 DMA1_Stream6_IRQHandler - 0x08009258 DMAMUX1_OVR_IRQHandler - 0x08009258 DMA1_Stream1_IRQHandler - 0x08009258 TIM16_IRQHandler - 0x08009258 UART4_IRQHandler - 0x08009258 TIM3_IRQHandler - 0x08009258 RCC_IRQHandler - 0x08009258 UART9_IRQHandler - 0x08009258 TIM8_BRK_TIM12_IRQHandler - 0x08009258 TIM1_TRG_COM_IRQHandler - 0x08009258 Default_Handler - 0x08009258 ECC_IRQHandler - 0x08009258 BDMA2_Channel2_IRQHandler - 0x08009258 CEC_IRQHandler - 0x08009258 EXTI15_10_IRQHandler - 0x08009258 DFSDM1_FLT4_IRQHandler - 0x08009258 ADC_IRQHandler - 0x08009258 DMA1_Stream7_IRQHandler - 0x08009258 SPI5_IRQHandler - 0x08009258 TIM7_IRQHandler - 0x08009258 SDMMC1_IRQHandler - 0x08009258 TIM5_IRQHandler - 0x08009258 DMA2_Stream7_IRQHandler - 0x08009258 TIM15_IRQHandler - 0x08009258 I2C3_EV_IRQHandler - 0x08009258 DFSDM2_IRQHandler - 0x08009258 EXTI9_5_IRQHandler - 0x08009258 RTC_WKUP_IRQHandler - 0x08009258 SPDIF_RX_IRQHandler - 0x08009258 PVD_PVM_IRQHandler - 0x08009258 SPI2_IRQHandler - 0x08009258 OTG_HS_EP1_IN_IRQHandler - 0x08009258 DFSDM1_FLT5_IRQHandler - 0x08009258 DMA1_Stream0_IRQHandler - 0x08009258 CRS_IRQHandler - 0x08009258 EXTI4_IRQHandler - 0x08009258 DFSDM1_FLT6_IRQHandler - 0x08009258 RNG_IRQHandler - 0x08009258 FDCAN2_IT1_IRQHandler - 0x08009258 COMP_IRQHandler - 0x08009258 TIM1_UP_IRQHandler - 0x08009258 OTG_HS_EP1_OUT_IRQHandler - 0x08009258 WWDG_IRQHandler - 0x08009258 SPI6_IRQHandler - 0x08009258 MDIOS_IRQHandler - 0x08009258 I2C4_EV_IRQHandler - 0x08009258 FDCAN2_IT0_IRQHandler - 0x08009258 LPUART1_IRQHandler - 0x08009258 TIM2_IRQHandler - 0x08009258 BDMA2_Channel5_IRQHandler - 0x08009258 OTG_HS_IRQHandler - 0x08009258 DMA2D_IRQHandler - 0x08009258 TIM1_BRK_IRQHandler - 0x08009258 EXTI1_IRQHandler - 0x08009258 SDMMC2_IRQHandler - 0x08009258 DTS_IRQHandler - 0x08009258 UART7_IRQHandler - 0x08009258 MDIOS_WKUP_IRQHandler - 0x08009258 USART2_IRQHandler - 0x08009258 DFSDM1_FLT0_IRQHandler - 0x08009258 I2C2_ER_IRQHandler - 0x08009258 DMA2_Stream1_IRQHandler - 0x08009258 DFSDM1_FLT7_IRQHandler - 0x08009258 FLASH_IRQHandler - 0x08009258 DMA2_Stream4_IRQHandler - 0x08009258 USART1_IRQHandler - 0x08009258 SPI3_IRQHandler - 0x08009258 WAKEUP_PIN_IRQHandler - 0x08009258 DMA1_Stream4_IRQHandler - 0x08009258 I2C1_ER_IRQHandler - 0x08009258 BDMA2_Channel7_IRQHandler - 0x08009258 SWPMI1_IRQHandler - 0x08009258 LPTIM1_IRQHandler - 0x08009258 DCMI_PSSI_IRQHandler - 0x08009258 I2C4_ER_IRQHandler - 0x08009258 DMA2_Stream6_IRQHandler - 0x08009258 SAI1_IRQHandler - 0x08009258 DMA1_Stream3_IRQHandler - 0x08009258 RTC_TAMP_STAMP_CSS_LSE_IRQHandler - 0x08009258 BDMA2_Channel4_IRQHandler - *fill* 0x0800925a 0x2 - .text.__assert_func - 0x0800925c 0x3c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-assert.o) - 0x0800925c __assert_func - .text.std 0x08009298 0x6c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) - .text.stdio_exit_handler - 0x08009304 0x18 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) - .text.cleanup_stdio - 0x0800931c 0x40 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) - .text.global_stdio_init.part.0 - 0x0800935c 0x40 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) - .text.__sfp_lock_acquire - 0x0800939c 0xc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) - 0x0800939c __sfp_lock_acquire - .text.__sfp_lock_release - 0x080093a8 0xc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) - 0x080093a8 __sfp_lock_release - .text.__sinit 0x080093b4 0x30 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) - 0x080093b4 __sinit - .text.fprintf 0x080093e4 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fprintf.o) - 0x080093e4 fprintf - 0x080093e4 fiprintf - .text._fwalk_sglue - 0x08009408 0x3c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o) - 0x08009408 _fwalk_sglue - .text.__sread 0x08009444 0x22 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) - 0x08009444 __sread - .text.__swrite - 0x08009466 0x38 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) - 0x08009466 __swrite - .text.__sseek 0x0800949e 0x26 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) - 0x0800949e __sseek - .text.__sclose - 0x080094c4 0x8 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) - 0x080094c4 __sclose - .text.memset 0x080094cc 0x10 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) - 0x080094cc memset - .text._close_r - 0x080094dc 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o) - 0x080094dc _close_r - .text._lseek_r - 0x080094fc 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o) - 0x080094fc _lseek_r - .text._read_r 0x08009520 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o) - 0x08009520 _read_r - .text._write_r - 0x08009544 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o) - 0x08009544 _write_r - .text.__errno 0x08009568 0xc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) - 0x08009568 __errno + 0x08007fb0 0x2 build/debug/startup_stm32h7a3xx.o + 0x08007fb0 RTC_Alarm_IRQHandler + 0x08007fb0 EXTI2_IRQHandler + 0x08007fb0 TIM8_CC_IRQHandler + 0x08007fb0 UART8_IRQHandler + 0x08007fb0 BDMA2_Channel1_IRQHandler + 0x08007fb0 SPI4_IRQHandler + 0x08007fb0 BDMA2_Channel0_IRQHandler + 0x08007fb0 TIM1_CC_IRQHandler + 0x08007fb0 DMA2_Stream5_IRQHandler + 0x08007fb0 JPEG_IRQHandler + 0x08007fb0 DMA1_Stream5_IRQHandler + 0x08007fb0 EXTI3_IRQHandler + 0x08007fb0 LPTIM4_IRQHandler + 0x08007fb0 TIM8_TRG_COM_TIM14_IRQHandler + 0x08007fb0 LPTIM2_IRQHandler + 0x08007fb0 DFSDM1_FLT1_IRQHandler + 0x08007fb0 DMAMUX2_OVR_IRQHandler + 0x08007fb0 GFXMMU_IRQHandler + 0x08007fb0 TIM8_UP_TIM13_IRQHandler + 0x08007fb0 I2C3_ER_IRQHandler + 0x08007fb0 DFSDM1_FLT2_IRQHandler + 0x08007fb0 USART10_IRQHandler + 0x08007fb0 MDMA_IRQHandler + 0x08007fb0 LPTIM3_IRQHandler + 0x08007fb0 BDMA2_Channel3_IRQHandler + 0x08007fb0 HSEM1_IRQHandler + 0x08007fb0 EXTI0_IRQHandler + 0x08007fb0 I2C2_EV_IRQHandler + 0x08007fb0 DAC2_IRQHandler + 0x08007fb0 DMA1_Stream2_IRQHandler + 0x08007fb0 FPU_IRQHandler + 0x08007fb0 OTG_HS_WKUP_IRQHandler + 0x08007fb0 DMA2_Stream2_IRQHandler + 0x08007fb0 SPI1_IRQHandler + 0x08007fb0 OCTOSPI1_IRQHandler + 0x08007fb0 TIM6_DAC_IRQHandler + 0x08007fb0 BDMA2_Channel6_IRQHandler + 0x08007fb0 DMA2_Stream3_IRQHandler + 0x08007fb0 OCTOSPI2_IRQHandler + 0x08007fb0 SAI2_IRQHandler + 0x08007fb0 BDMA1_IRQHandler + 0x08007fb0 DFSDM1_FLT3_IRQHandler + 0x08007fb0 USART6_IRQHandler + 0x08007fb0 TIM17_IRQHandler + 0x08007fb0 USART3_IRQHandler + 0x08007fb0 LPTIM5_IRQHandler + 0x08007fb0 UART5_IRQHandler + 0x08007fb0 DMA2_Stream0_IRQHandler + 0x08007fb0 TIM4_IRQHandler + 0x08007fb0 I2C1_EV_IRQHandler + 0x08007fb0 DMA1_Stream6_IRQHandler + 0x08007fb0 DMAMUX1_OVR_IRQHandler + 0x08007fb0 DMA1_Stream1_IRQHandler + 0x08007fb0 TIM16_IRQHandler + 0x08007fb0 UART4_IRQHandler + 0x08007fb0 TIM3_IRQHandler + 0x08007fb0 RCC_IRQHandler + 0x08007fb0 UART9_IRQHandler + 0x08007fb0 TIM8_BRK_TIM12_IRQHandler + 0x08007fb0 TIM1_TRG_COM_IRQHandler + 0x08007fb0 Default_Handler + 0x08007fb0 ECC_IRQHandler + 0x08007fb0 BDMA2_Channel2_IRQHandler + 0x08007fb0 CEC_IRQHandler + 0x08007fb0 EXTI15_10_IRQHandler + 0x08007fb0 DFSDM1_FLT4_IRQHandler + 0x08007fb0 ADC_IRQHandler + 0x08007fb0 DMA1_Stream7_IRQHandler + 0x08007fb0 SPI5_IRQHandler + 0x08007fb0 TIM7_IRQHandler + 0x08007fb0 SDMMC1_IRQHandler + 0x08007fb0 TIM5_IRQHandler + 0x08007fb0 DMA2_Stream7_IRQHandler + 0x08007fb0 TIM15_IRQHandler + 0x08007fb0 I2C3_EV_IRQHandler + 0x08007fb0 DFSDM2_IRQHandler + 0x08007fb0 EXTI9_5_IRQHandler + 0x08007fb0 RTC_WKUP_IRQHandler + 0x08007fb0 SPDIF_RX_IRQHandler + 0x08007fb0 PVD_PVM_IRQHandler + 0x08007fb0 SPI2_IRQHandler + 0x08007fb0 OTG_HS_EP1_IN_IRQHandler + 0x08007fb0 DFSDM1_FLT5_IRQHandler + 0x08007fb0 DMA1_Stream0_IRQHandler + 0x08007fb0 CRS_IRQHandler + 0x08007fb0 EXTI4_IRQHandler + 0x08007fb0 DFSDM1_FLT6_IRQHandler + 0x08007fb0 RNG_IRQHandler + 0x08007fb0 FDCAN2_IT1_IRQHandler + 0x08007fb0 COMP_IRQHandler + 0x08007fb0 TIM1_UP_IRQHandler + 0x08007fb0 OTG_HS_EP1_OUT_IRQHandler + 0x08007fb0 WWDG_IRQHandler + 0x08007fb0 SPI6_IRQHandler + 0x08007fb0 MDIOS_IRQHandler + 0x08007fb0 I2C4_EV_IRQHandler + 0x08007fb0 FDCAN2_IT0_IRQHandler + 0x08007fb0 LPUART1_IRQHandler + 0x08007fb0 TIM2_IRQHandler + 0x08007fb0 BDMA2_Channel5_IRQHandler + 0x08007fb0 OTG_HS_IRQHandler + 0x08007fb0 DMA2D_IRQHandler + 0x08007fb0 TIM1_BRK_IRQHandler + 0x08007fb0 EXTI1_IRQHandler + 0x08007fb0 SDMMC2_IRQHandler + 0x08007fb0 DTS_IRQHandler + 0x08007fb0 UART7_IRQHandler + 0x08007fb0 MDIOS_WKUP_IRQHandler + 0x08007fb0 USART2_IRQHandler + 0x08007fb0 DFSDM1_FLT0_IRQHandler + 0x08007fb0 I2C2_ER_IRQHandler + 0x08007fb0 DMA2_Stream1_IRQHandler + 0x08007fb0 DFSDM1_FLT7_IRQHandler + 0x08007fb0 FLASH_IRQHandler + 0x08007fb0 DMA2_Stream4_IRQHandler + 0x08007fb0 USART1_IRQHandler + 0x08007fb0 SPI3_IRQHandler + 0x08007fb0 WAKEUP_PIN_IRQHandler + 0x08007fb0 DMA1_Stream4_IRQHandler + 0x08007fb0 I2C1_ER_IRQHandler + 0x08007fb0 BDMA2_Channel7_IRQHandler + 0x08007fb0 SWPMI1_IRQHandler + 0x08007fb0 LPTIM1_IRQHandler + 0x08007fb0 DCMI_PSSI_IRQHandler + 0x08007fb0 I2C4_ER_IRQHandler + 0x08007fb0 DMA2_Stream6_IRQHandler + 0x08007fb0 SAI1_IRQHandler + 0x08007fb0 DMA1_Stream3_IRQHandler + 0x08007fb0 RTC_TAMP_STAMP_CSS_LSE_IRQHandler + 0x08007fb0 BDMA2_Channel4_IRQHandler + .text.memset 0x08007fb2 0x10 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) + 0x08007fb2 memset + *fill* 0x08007fc2 0x2 .text.__libc_init_array - 0x08009574 0x48 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) - 0x08009574 __libc_init_array - .text.__retarget_lock_init_recursive - 0x080095bc 0x2 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) - 0x080095bc __retarget_lock_init_recursive - .text.__retarget_lock_acquire_recursive - 0x080095be 0x2 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) - 0x080095be __retarget_lock_acquire_recursive - .text.__retarget_lock_release_recursive - 0x080095c0 0x2 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) - 0x080095c0 __retarget_lock_release_recursive - .text.__aeabi_atexit - 0x080095c2 0xa /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-aeabi_atexit.o) - 0x080095c2 __aeabi_atexit - .text.memcpy 0x080095cc 0x1c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o) - 0x080095cc memcpy - .text.__register_exitproc - 0x080095e8 0xb4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) - 0x080095e8 __register_exitproc - .text.abort 0x0800969c 0xe /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-abort.o) - 0x0800969c abort - *fill* 0x080096aa 0x2 - .text._free_r 0x080096ac 0x94 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) - 0x080096ac _free_r - .text.sbrk_aligned - 0x08009740 0x44 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) - .text._malloc_r - 0x08009784 0x100 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) - 0x08009784 _malloc_r - .text.__malloc_lock - 0x08009884 0xc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) - 0x08009884 __malloc_lock - .text.__malloc_unlock - 0x08009890 0xc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) - 0x08009890 __malloc_unlock - .text.__cxa_atexit - 0x0800989c 0x1c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-cxa_atexit.o) - 0x0800989c __cxa_atexit - .text.__sfputc_r - 0x080098b8 0x2e /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) - .text.__sfputs_r - 0x080098e6 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) - 0x080098e6 __sfputs_r - *fill* 0x0800990a 0x2 - .text._vfprintf_r - 0x0800990c 0x230 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) - 0x0800990c _vfiprintf_r - 0x0800990c _vfprintf_r - .text._printf_common - 0x08009b3c 0xda /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) - 0x08009b3c _printf_common - *fill* 0x08009c16 0x2 - .text._printf_i - 0x08009c18 0x240 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) - 0x08009c18 _printf_i - .text.__sflush_r - 0x08009e58 0x104 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) - 0x08009e58 __sflush_r - .text._fflush_r - 0x08009f5c 0x50 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) - 0x08009f5c _fflush_r - .text.__swbuf_r - 0x08009fac 0x7c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wbuf.o) - 0x08009fac __swbuf_r - .text.__swsetup_r - 0x0800a028 0xa8 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wsetup.o) - 0x0800a028 __swsetup_r - .text._raise_r - 0x0800a0d0 0x50 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signal.o) - 0x0800a0d0 _raise_r - .text.raise 0x0800a120 0x10 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signal.o) - 0x0800a120 raise - .text._kill_r 0x0800a130 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signalr.o) - 0x0800a130 _kill_r - .text._getpid_r - 0x0800a154 0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signalr.o) - 0x0800a154 _getpid_r - .text._sbrk_r 0x0800a158 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) - 0x0800a158 _sbrk_r - .text.__swhatbuf_r - 0x0800a178 0x48 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-makebuf.o) - 0x0800a178 __swhatbuf_r - .text.__smakebuf_r - 0x0800a1c0 0x72 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-makebuf.o) - 0x0800a1c0 __smakebuf_r - *fill* 0x0800a232 0x2 - .text._fstat_r - 0x0800a234 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fstatr.o) - 0x0800a234 _fstat_r - .text._isatty_r - 0x0800a258 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-isattyr.o) - 0x0800a258 _isatty_r + 0x08007fc4 0x48 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) + 0x08007fc4 __libc_init_array + .text.memcpy 0x0800800c 0x1c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o) + 0x0800800c memcpy *(.glue_7) - .glue_7 0x0800a278 0x0 linker stubs + .glue_7 0x08008028 0x0 linker stubs *(.glue_7t) - .glue_7t 0x0800a278 0x0 linker stubs + .glue_7t 0x08008028 0x0 linker stubs *(.eh_frame) - .eh_frame 0x0800a278 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o + .eh_frame 0x08008028 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o *(.init) - .init 0x0800a278 0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crti.o - 0x0800a278 _init - .init 0x0800a27c 0x8 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtn.o + .init 0x08008028 0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crti.o + 0x08008028 _init + .init 0x0800802c 0x8 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtn.o *(.fini) - .fini 0x0800a284 0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crti.o - 0x0800a284 _fini - .fini 0x0800a288 0x8 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtn.o - 0x0800a290 . = ALIGN (0x4) - 0x0800a290 _etext = . + .fini 0x08008034 0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crti.o + 0x08008034 _fini + .fini 0x08008038 0x8 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtn.o + 0x08008040 . = ALIGN (0x4) + 0x08008040 _etext = . -.vfp11_veneer 0x0800a290 0x0 - .vfp11_veneer 0x0800a290 0x0 linker stubs +.vfp11_veneer 0x08008040 0x0 + .vfp11_veneer 0x08008040 0x0 linker stubs -.v4_bx 0x0800a290 0x0 - .v4_bx 0x0800a290 0x0 linker stubs +.v4_bx 0x08008040 0x0 + .v4_bx 0x08008040 0x0 linker stubs -.iplt 0x0800a290 0x0 - .iplt 0x0800a290 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o +.iplt 0x08008040 0x0 + .iplt 0x08008040 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o -.rodata 0x0800a290 0x7d4 - 0x0800a290 . = ALIGN (0x4) +.rodata 0x08008040 0x94 + 0x08008040 . = ALIGN (0x4) *(.rodata) - .rodata 0x0800a290 0x4c build/debug/stm32h7xx_hal_fdcan.o - .rodata 0x0800a2dc 0x50 build/debug/STM32DMA.o - 0x0800a2dc vtable for STM32DMA - .rodata 0x0800a32c 0x18 build/debug/STM32TouchController.o - 0x0800a32c vtable for STM32TouchController - .rodata 0x0800a344 0xd8 build/debug/TouchGFXGeneratedHAL.o - 0x0800a344 vtable for TouchGFXGeneratedHAL - .rodata 0x0800a41c 0xd8 build/debug/TouchGFXHAL.o - 0x0800a41c vtable for TouchGFXHAL + .rodata 0x08008040 0x4c build/debug/stm32h7xx_hal_fdcan.o *(.rodata*) .rodata.DLCtoBytes - 0x0800a4f4 0x10 build/debug/stm32h7xx_hal_fdcan.o + 0x0800808c 0x10 build/debug/stm32h7xx_hal_fdcan.o .rodata.UARTPrescTable - 0x0800a504 0x18 build/debug/stm32h7xx_hal_uart.o - 0x0800a504 UARTPrescTable + 0x0800809c 0x18 build/debug/stm32h7xx_hal_uart.o + 0x0800809c UARTPrescTable .rodata.denominator.0 - 0x0800a51c 0x8 build/debug/stm32h7xx_hal_uart_ex.o + 0x080080b4 0x8 build/debug/stm32h7xx_hal_uart_ex.o .rodata.numerator.1 - 0x0800a524 0x8 build/debug/stm32h7xx_hal_uart_ex.o + 0x080080bc 0x8 build/debug/stm32h7xx_hal_uart_ex.o .rodata.D1CorePrescTable - 0x0800a52c 0x10 build/debug/system_stm32h7xx.o - 0x0800a52c D1CorePrescTable - .rodata.str1.4 - 0x0800a53c 0x23b build/debug/STM32DMA.o - 0xca (size before relaxing) - *fill* 0x0800a777 0x1 - .rodata._ZTVN8touchgfx9DMA_QueueE - 0x0800a778 0x24 build/debug/STM32DMA.o - 0x0800a778 vtable for touchgfx::DMA_Queue - .rodata._ZTVN8touchgfx15TouchControllerE - 0x0800a79c 0x18 build/debug/STM32TouchController.o - 0x0800a79c vtable for touchgfx::TouchController - .rodata._ZTVN8touchgfx12FontProviderE - 0x0800a7b4 0x14 build/debug/TouchGFXConfiguration.o - 0x0800a7b4 vtable for touchgfx::FontProvider - .rodata._ZTVN8touchgfx7MVPHeapE - 0x0800a7c8 0x10 build/debug/TouchGFXConfiguration.o - 0x0800a7c8 vtable for touchgfx::MVPHeap - .rodata._ZTVN8touchgfx15UIEventListenerE - 0x0800a7d8 0x28 build/debug/TouchGFXConfiguration.o - 0x0800a7d8 vtable for touchgfx::UIEventListener - .rodata._ZTVN8touchgfx15GenericCallbackIvvvEE - 0x0800a800 0x18 build/debug/TouchGFXConfiguration.o - 0x0800a800 vtable for touchgfx::GenericCallback - .rodata._ZTVN8touchgfx14MVPApplicationE - 0x0800a818 0x54 build/debug/TouchGFXConfiguration.o - 0x0800a818 vtable for touchgfx::MVPApplication - .rodata._ZTVN8touchgfx8CallbackI23FrontendApplicationBasevvvEE - 0x0800a86c 0x18 build/debug/TouchGFXConfiguration.o - 0x0800a86c vtable for touchgfx::Callback - .rodata._ZTV23FrontendApplicationBase - 0x0800a884 0x54 build/debug/TouchGFXConfiguration.o - 0x0800a884 vtable for FrontendApplicationBase - .rodata._ZTV19FrontendApplication - 0x0800a8d8 0x54 build/debug/TouchGFXConfiguration.o - 0x0800a8d8 vtable for FrontendApplication - .rodata._ZTV16FrontendHeapBase - 0x0800a92c 0x14 build/debug/TouchGFXConfiguration.o - 0x0800a92c vtable for FrontendHeapBase - .rodata._ZTVN8touchgfx9PartitionINS_4meta8TypeListI15screenPresenterNS2_INS1_3NilES4_EEEELt1EEE - 0x0800a940 0x34 build/debug/TouchGFXConfiguration.o - 0x0800a940 vtable for touchgfx::Partition >, (unsigned short)1> - .rodata._ZTVN8touchgfx9PartitionINS_4meta8TypeListI10screenViewNS2_INS1_3NilES4_EEEELt1EEE - 0x0800a974 0x34 build/debug/TouchGFXConfiguration.o - 0x0800a974 vtable for touchgfx::Partition >, (unsigned short)1> - .rodata._ZTVN8touchgfx9PartitionINS_4meta8TypeListINS_12NoTransitionENS2_INS1_3NilES4_EEEELt1EEE - 0x0800a9a8 0x34 build/debug/TouchGFXConfiguration.o - 0x0800a9a8 vtable for touchgfx::Partition >, (unsigned short)1> - .rodata._ZTV12FrontendHeap - 0x0800a9dc 0x14 build/debug/TouchGFXConfiguration.o - 0x0800a9dc vtable for FrontendHeap - .rodata._ZN8touchgfx3HAL28setFrameBufferStartAddressesEPvS1_S1_.str1.4 - 0x0800a9f0 0xc7 build/debug/TouchGFXGeneratedHAL.o - .rodata._ZN8touchgfx3HAL18setFrameBufferSizeEtt.str1.4 - 0x0800a9f0 0xa7 build/debug/TouchGFXGeneratedHAL.o - .rodata.__assert_func.str1.1 - 0x0800a9f0 0x6f /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-assert.o) - 0x3d (size before relaxing) - .rodata._vfprintf_r.str1.1 - 0x0800aa5f 0x11 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) - .rodata._printf_i.str1.1 - 0x0800aa5f 0x22 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) - *fill* 0x0800aa5f 0x1 - .rodata.__on_exit_args - 0x0800aa60 0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-on_exit_args.o) - 0x0800aa60 __on_exit_args - 0x0800aa64 . = ALIGN (0x4) + 0x080080c4 0x10 build/debug/system_stm32h7xx.o + 0x080080c4 D1CorePrescTable + 0x080080d4 . = ALIGN (0x4) .ARM.extab *(.ARM.extab* .gnu.linkonce.armextab.*) -.ARM 0x0800aa64 0x8 - 0x0800aa64 __exidx_start = . +.ARM 0x080080d4 0x8 + 0x080080d4 __exidx_start = . *(.ARM.exidx*) - .ARM.exidx 0x0800aa64 0x8 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memchr.o) - .ARM.exidx 0x0800aa6c 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) - 0x8 (size before relaxing) - 0x0800aa6c __exidx_end = . + .ARM.exidx 0x080080d4 0x8 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) + 0x080080dc __exidx_end = . -.rel.dyn 0x0800aa6c 0x0 - .rel.iplt 0x0800aa6c 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o +.rel.dyn 0x080080dc 0x0 + .rel.iplt 0x080080dc 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o -.preinit_array 0x0800aa6c 0x0 - 0x0800aa6c PROVIDE (__preinit_array_start = .) +.preinit_array 0x080080dc 0x0 + 0x080080dc PROVIDE (__preinit_array_start = .) *(.preinit_array*) - 0x0800aa6c PROVIDE (__preinit_array_end = .) + 0x080080dc PROVIDE (__preinit_array_end = .) -.init_array 0x0800aa6c 0x8 - 0x0800aa6c PROVIDE (__init_array_start = .) +.init_array 0x080080dc 0x4 + 0x080080dc PROVIDE (__init_array_start = .) *(SORT_BY_NAME(.init_array.*)) *(.init_array*) - .init_array 0x0800aa6c 0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o - .init_array 0x0800aa70 0x4 build/debug/TouchGFXConfiguration.o - 0x0800aa74 PROVIDE (__init_array_end = .) + .init_array 0x080080dc 0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o + 0x080080e0 PROVIDE (__init_array_end = .) -.fini_array 0x0800aa74 0x4 - 0x0800aa74 PROVIDE (__fini_array_start = .) +.fini_array 0x080080e0 0x4 + 0x080080e0 PROVIDE (__fini_array_start = .) *(SORT_BY_NAME(.fini_array.*)) *(.fini_array*) - .fini_array 0x0800aa74 0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o - 0x0800aa78 PROVIDE (__fini_array_end = .) - 0x0800aa78 _sidata = LOADADDR (.data) + .fini_array 0x080080e0 0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o + 0x080080e4 PROVIDE (__fini_array_end = .) + 0x080080e4 _sidata = LOADADDR (.data) -.data 0x20000000 0xf8 load address 0x0800aa78 +.data 0x20000000 0x90 load address 0x080080e4 0x20000000 . = ALIGN (0x4) 0x20000000 _sdata = . *(.data) - .data 0x20000000 0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o - 0x20000000 __dso_handle - .data 0x20000004 0x4 build/debug/TouchGFXConfiguration.o *(.data*) .data.slave_id_to_index - 0x20000008 0x80 build/debug/slave_handler.o + 0x20000000 0x80 build/debug/slave_handler.o .data.uwTickFreq - 0x20000088 0x1 build/debug/stm32h7xx_hal.o - 0x20000088 uwTickFreq - *fill* 0x20000089 0x3 + 0x20000080 0x1 build/debug/stm32h7xx_hal.o + 0x20000080 uwTickFreq + *fill* 0x20000081 0x3 .data.uwTickPrio - 0x2000008c 0x4 build/debug/stm32h7xx_hal.o - 0x2000008c uwTickPrio + 0x20000084 0x4 build/debug/stm32h7xx_hal.o + 0x20000084 uwTickPrio .data.SystemD2Clock - 0x20000090 0x4 build/debug/system_stm32h7xx.o - 0x20000090 SystemD2Clock + 0x20000088 0x4 build/debug/system_stm32h7xx.o + 0x20000088 SystemD2Clock .data.SystemCoreClock - 0x20000094 0x4 build/debug/system_stm32h7xx.o - 0x20000094 SystemCoreClock - .data.__sglue 0x20000098 0xc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) - 0x20000098 __sglue - .data._impure_ptr - 0x200000a4 0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o) - 0x200000a4 _impure_ptr - .data._impure_data - 0x200000a8 0x4c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o) - 0x200000a8 _impure_data - .data.__atexit_recursive_mutex - 0x200000f4 0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o) - 0x200000f4 __atexit_recursive_mutex - 0x200000f8 . = ALIGN (0x4) - 0x200000f8 _edata = . + 0x2000008c 0x4 build/debug/system_stm32h7xx.o + 0x2000008c SystemCoreClock + 0x20000090 . = ALIGN (0x4) + 0x20000090 _edata = . .tm_clone_table - 0x200000f8 0x0 load address 0x0800ab70 + 0x20000090 0x0 load address 0x08008174 .tm_clone_table - 0x200000f8 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o + 0x20000090 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o .tm_clone_table - 0x200000f8 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtend.o + 0x20000090 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtend.o -.igot.plt 0x200000f8 0x0 load address 0x0800ab70 - .igot.plt 0x200000f8 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o +.igot.plt 0x20000090 0x0 load address 0x08008174 + .igot.plt 0x20000090 0x0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o + 0x20000090 . = ALIGN (0x4) -TouchGFX_Framebuffer - 0x200000f8 0x1c2000 load address 0x0800ab70 - TouchGFX_Framebuffer - 0x200000f8 0x1c2000 build/debug/TouchGFXGeneratedHAL.o - 0x201c20f8 . = ALIGN (0x4) - -.bss 0x201c20f8 0x2f48 load address 0x081ccb70 - 0x201c20f8 _sbss = . - 0x201c20f8 __bss_start__ = _sbss +.bss 0x20000090 0x2904 load address 0x08008174 + 0x20000090 _sbss = . + 0x20000090 __bss_start__ = _sbss *(.bss) - .bss 0x201c20f8 0x1c /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o - .bss 0x201c2114 0x8 build/debug/OSWrappers.o - .bss 0x201c211c 0x131 build/debug/TouchGFXConfiguration.o - *fill* 0x201c224d 0x3 - .bss 0x201c2250 0x8 build/debug/TouchGFXGeneratedHAL.o + .bss 0x20000090 0x1c /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o *(.bss*) .bss.chargerstate - 0x201c2258 0x1 build/debug/b_cccv_algo.o - 0x201c2258 chargerstate - *fill* 0x201c2259 0x3 + 0x200000ac 0x1 build/debug/b_cccv_algo.o + 0x200000ac chargerstate + *fill* 0x200000ad 0x3 .bss.voltageresistancelut - 0x201c225c 0x1000 build/debug/b_cccv_algo.o + 0x200000b0 0x1000 build/debug/b_cccv_algo.o .bss.resistancelut - 0x201c325c 0x1000 build/debug/b_cccv_algo.o + 0x200010b0 0x1000 build/debug/b_cccv_algo.o .bss.chargevoltage - 0x201c425c 0x4 build/debug/b_cccv_algo.o - .bss.data.0 0x201c4260 0x8 build/debug/can-halal.o - .bss.header.1 0x201c4268 0x28 build/debug/can-halal.o + 0x200020b0 0x4 build/debug/b_cccv_algo.o + .bss.data.0 0x200020b4 0x8 build/debug/can-halal.o + .bss.header.1 0x200020bc 0x28 build/debug/can-halal.o .bss.next_filter_no.2 - 0x201c4290 0x4 build/debug/can-halal.o - .bss.filter.3 0x201c4294 0x20 build/debug/can-halal.o - .bss.hcan 0x201c42b4 0x4 build/debug/can-halal.o + 0x200020e4 0x4 build/debug/can-halal.o + .bss.filter.3 0x200020e8 0x20 build/debug/can-halal.o + .bss.hcan 0x20002108 0x4 build/debug/can-halal.o .bss.charger_i2c - 0x201c42b8 0x4 build/debug/charger_control.o - 0x201c42b8 charger_i2c - .bss.hsdram1 0x201c42bc 0x34 build/debug/main.o - 0x201c42bc hsdram1 + 0x2000210c 0x4 build/debug/charger_control.o + 0x2000210c charger_i2c + .bss.hsdram1 0x20002110 0x34 build/debug/main.o + 0x20002110 hsdram1 .bss.hpcd_USB_OTG_HS - 0x201c42f0 0x4e4 build/debug/main.o - 0x201c42f0 hpcd_USB_OTG_HS - .bss.huart10 0x201c47d4 0x94 build/debug/main.o - 0x201c47d4 huart10 - .bss.huart5 0x201c4868 0x94 build/debug/main.o - 0x201c4868 huart5 - .bss.hsd2 0x201c48fc 0x7c build/debug/main.o - 0x201c48fc hsd2 - .bss.hltdc 0x201c4978 0xa8 build/debug/main.o - 0x201c4978 hltdc - .bss.hi2c4 0x201c4a20 0x54 build/debug/main.o - 0x201c4a20 hi2c4 - .bss.hfdcan1 0x201c4a74 0xa0 build/debug/main.o - 0x201c4a74 hfdcan1 - .bss.hcrc 0x201c4b14 0x24 build/debug/main.o - 0x201c4b14 hcrc - .bss.uwTick 0x201c4b38 0x4 build/debug/stm32h7xx_hal.o - 0x201c4b38 uwTick + 0x20002144 0x4e4 build/debug/main.o + 0x20002144 hpcd_USB_OTG_HS + .bss.huart10 0x20002628 0x94 build/debug/main.o + 0x20002628 huart10 + .bss.huart5 0x200026bc 0x94 build/debug/main.o + 0x200026bc huart5 + .bss.hsd2 0x20002750 0x7c build/debug/main.o + 0x20002750 hsd2 + .bss.hltdc 0x200027cc 0xa8 build/debug/main.o + 0x200027cc hltdc + .bss.hi2c4 0x20002874 0x54 build/debug/main.o + 0x20002874 hi2c4 + .bss.hfdcan1 0x200028c8 0xa0 build/debug/main.o + 0x200028c8 hfdcan1 + .bss.hcrc 0x20002968 0x24 build/debug/main.o + 0x20002968 hcrc + .bss.uwTick 0x2000298c 0x4 build/debug/stm32h7xx_hal.o + 0x2000298c uwTick .bss.FMC_Initialized - 0x201c4b3c 0x4 build/debug/stm32h7xx_hal_msp.o - .bss.__sbrk_heap_end - 0x201c4b40 0x4 build/debug/sysmem.o - .bss._ZGVZN12FrontendHeap11getInstanceEvE8instance - 0x201c4b44 0x4 build/debug/TouchGFXConfiguration.o - 0x201c4b44 guard variable for FrontendHeap::getInstance()::instance - .bss._ZZN12FrontendHeap11getInstanceEvE8instance - 0x201c4b48 0x214 build/debug/TouchGFXConfiguration.o - 0x201c4b48 FrontendHeap::getInstance()::instance - .bss.__sf 0x201c4d5c 0x138 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) - 0x201c4d5c __sf - .bss.__stdio_exit_handler - 0x201c4e94 0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) - 0x201c4e94 __stdio_exit_handler - .bss.errno 0x201c4e98 0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) - 0x201c4e98 errno - .bss.__lock___malloc_recursive_mutex - 0x201c4e9c 0x1 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) - 0x201c4e9c __lock___malloc_recursive_mutex - .bss.__lock___atexit_recursive_mutex - 0x201c4e9d 0x1 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) - 0x201c4e9d __lock___atexit_recursive_mutex - .bss.__lock___sfp_recursive_mutex - 0x201c4e9e 0x1 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) - 0x201c4e9e __lock___sfp_recursive_mutex - *fill* 0x201c4e9f 0x1 - .bss.__atexit0 - 0x201c4ea0 0x8c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) - 0x201c4ea0 __atexit0 - .bss.__atexit 0x201c4f2c 0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o) - 0x201c4f2c __atexit - .bss.__malloc_sbrk_start - 0x201c4f30 0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) - 0x201c4f30 __malloc_sbrk_start - .bss.__malloc_free_list - 0x201c4f34 0x4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) - 0x201c4f34 __malloc_free_list - .bss._on_exit_args_instance - 0x201c4f38 0x108 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-on_exit_args.o) + 0x20002990 0x4 build/debug/stm32h7xx_hal_msp.o *(COMMON) - 0x201c5040 . = ALIGN (0x4) - 0x201c5040 _ebss = . - 0x201c5040 __bss_end__ = _ebss + 0x20002994 . = ALIGN (0x4) + 0x20002994 _ebss = . + 0x20002994 __bss_end__ = _ebss ._user_heap_stack - 0x201c5040 0x600 load address 0x081ccb70 - 0x201c5040 . = ALIGN (0x8) + 0x20002994 0x604 load address 0x08008174 + 0x20002998 . = ALIGN (0x8) + *fill* 0x20002994 0x4 [!provide] PROVIDE (end = .) - 0x201c5040 PROVIDE (_end = .) - 0x201c5240 . = (. + _Min_Heap_Size) - *fill* 0x201c5040 0x200 - 0x201c5640 . = (. + _Min_Stack_Size) - *fill* 0x201c5240 0x400 - 0x201c5640 . = ALIGN (0x8) + 0x20002998 PROVIDE (_end = .) + 0x20002b98 . = (. + _Min_Heap_Size) + *fill* 0x20002998 0x200 + 0x20002f98 . = (. + _Min_Stack_Size) + *fill* 0x20002b98 0x400 + 0x20002f98 . = ALIGN (0x8) /DISCARD/ libc.a(*) @@ -4169,176 +3538,87 @@ LOAD /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a .ARM.attributes 0x00000020 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o .ARM.attributes - 0x00000052 0x32 build/debug/app_touchgfx.o + 0x00000052 0x32 build/debug/b_cccv_algo.o .ARM.attributes - 0x00000084 0x32 build/debug/b_cccv_algo.o + 0x00000084 0x32 build/debug/can-halal.o .ARM.attributes - 0x000000b6 0x32 build/debug/can-halal.o + 0x000000b6 0x32 build/debug/can.o .ARM.attributes - 0x000000e8 0x32 build/debug/can.o + 0x000000e8 0x32 build/debug/charger_control.o .ARM.attributes - 0x0000011a 0x32 build/debug/charger_control.o + 0x0000011a 0x32 build/debug/main.o .ARM.attributes - 0x0000014c 0x32 build/debug/main.o + 0x0000014c 0x32 build/debug/slave_handler.o .ARM.attributes - 0x0000017e 0x32 build/debug/slave_handler.o + 0x0000017e 0x32 build/debug/stm32h7xx_hal.o .ARM.attributes - 0x000001b0 0x32 build/debug/stm32h7xx_hal.o + 0x000001b0 0x32 build/debug/stm32h7xx_hal_cortex.o .ARM.attributes - 0x000001e2 0x32 build/debug/stm32h7xx_hal_cortex.o + 0x000001e2 0x32 build/debug/stm32h7xx_hal_crc.o .ARM.attributes - 0x00000214 0x32 build/debug/stm32h7xx_hal_crc.o + 0x00000214 0x32 build/debug/stm32h7xx_hal_crc_ex.o .ARM.attributes - 0x00000246 0x32 build/debug/stm32h7xx_hal_crc_ex.o + 0x00000246 0x32 build/debug/stm32h7xx_hal_fdcan.o .ARM.attributes - 0x00000278 0x32 build/debug/stm32h7xx_hal_fdcan.o + 0x00000278 0x32 build/debug/stm32h7xx_hal_gpio.o .ARM.attributes - 0x000002aa 0x32 build/debug/stm32h7xx_hal_gpio.o + 0x000002aa 0x32 build/debug/stm32h7xx_hal_i2c.o .ARM.attributes - 0x000002dc 0x32 build/debug/stm32h7xx_hal_i2c.o + 0x000002dc 0x32 build/debug/stm32h7xx_hal_i2c_ex.o .ARM.attributes - 0x0000030e 0x32 build/debug/stm32h7xx_hal_i2c_ex.o + 0x0000030e 0x32 build/debug/stm32h7xx_hal_ltdc.o .ARM.attributes - 0x00000340 0x32 build/debug/stm32h7xx_hal_ltdc.o + 0x00000340 0x32 build/debug/stm32h7xx_hal_msp.o .ARM.attributes - 0x00000372 0x32 build/debug/stm32h7xx_hal_msp.o + 0x00000372 0x32 build/debug/stm32h7xx_hal_pcd.o .ARM.attributes - 0x000003a4 0x32 build/debug/stm32h7xx_hal_pcd.o + 0x000003a4 0x32 build/debug/stm32h7xx_hal_pcd_ex.o .ARM.attributes - 0x000003d6 0x32 build/debug/stm32h7xx_hal_pcd_ex.o + 0x000003d6 0x32 build/debug/stm32h7xx_hal_pwr_ex.o .ARM.attributes - 0x00000408 0x32 build/debug/stm32h7xx_hal_pwr_ex.o + 0x00000408 0x32 build/debug/stm32h7xx_hal_rcc.o .ARM.attributes - 0x0000043a 0x32 build/debug/stm32h7xx_hal_rcc.o + 0x0000043a 0x32 build/debug/stm32h7xx_hal_rcc_ex.o .ARM.attributes - 0x0000046c 0x32 build/debug/stm32h7xx_hal_rcc_ex.o + 0x0000046c 0x32 build/debug/stm32h7xx_hal_sd.o .ARM.attributes - 0x0000049e 0x32 build/debug/stm32h7xx_hal_sd.o + 0x0000049e 0x32 build/debug/stm32h7xx_hal_sdram.o .ARM.attributes - 0x000004d0 0x32 build/debug/stm32h7xx_hal_sdram.o + 0x000004d0 0x32 build/debug/stm32h7xx_hal_uart.o .ARM.attributes - 0x00000502 0x32 build/debug/stm32h7xx_hal_uart.o + 0x00000502 0x32 build/debug/stm32h7xx_hal_uart_ex.o .ARM.attributes - 0x00000534 0x32 build/debug/stm32h7xx_hal_uart_ex.o + 0x00000534 0x32 build/debug/stm32h7xx_it.o .ARM.attributes - 0x00000566 0x32 build/debug/stm32h7xx_it.o + 0x00000566 0x32 build/debug/stm32h7xx_ll_fmc.o .ARM.attributes - 0x00000598 0x32 build/debug/stm32h7xx_ll_fmc.o + 0x00000598 0x32 build/debug/stm32h7xx_ll_sdmmc.o .ARM.attributes - 0x000005ca 0x32 build/debug/stm32h7xx_ll_sdmmc.o + 0x000005ca 0x32 build/debug/stm32h7xx_ll_usb.o .ARM.attributes - 0x000005fc 0x32 build/debug/stm32h7xx_ll_usb.o + 0x000005fc 0x32 build/debug/system_stm32h7xx.o .ARM.attributes - 0x0000062e 0x32 build/debug/syscalls.o + 0x0000062e 0x21 build/debug/startup_stm32h7a3xx.o .ARM.attributes - 0x00000660 0x32 build/debug/sysmem.o + 0x0000064f 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) .ARM.attributes - 0x00000692 0x32 build/debug/system_stm32h7xx.o + 0x00000681 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) .ARM.attributes - 0x000006c4 0x32 build/debug/OSWrappers.o + 0x000006b3 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o) .ARM.attributes - 0x000006f6 0x32 build/debug/STM32DMA.o + 0x000006e5 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) .ARM.attributes - 0x00000728 0x32 build/debug/STM32TouchController.o + 0x00000705 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) .ARM.attributes - 0x0000075a 0x32 build/debug/TouchGFXConfiguration.o + 0x00000737 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o) .ARM.attributes - 0x0000078c 0x32 build/debug/TouchGFXGPIO.o + 0x00000757 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtend.o .ARM.attributes - 0x000007be 0x32 build/debug/TouchGFXGeneratedHAL.o - .ARM.attributes - 0x000007f0 0x32 build/debug/TouchGFXHAL.o - .ARM.attributes - 0x00000822 0x21 build/debug/startup_stm32h7a3xx.o - .ARM.attributes - 0x00000843 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-assert.o) - .ARM.attributes - 0x00000875 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) - .ARM.attributes - 0x000008a7 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fprintf.o) - .ARM.attributes - 0x000008d9 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o) - .ARM.attributes - 0x0000090b 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) - .ARM.attributes - 0x0000093d 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) - .ARM.attributes - 0x0000096f 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o) - .ARM.attributes - 0x000009a1 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) - .ARM.attributes - 0x000009d3 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o) - .ARM.attributes - 0x00000a05 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o) - .ARM.attributes - 0x00000a37 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o) - .ARM.attributes - 0x00000a69 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o) - .ARM.attributes - 0x00000a9b 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) - .ARM.attributes - 0x00000acd 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) - .ARM.attributes - 0x00000aff 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) - .ARM.attributes - 0x00000b31 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-aeabi_atexit.o) - .ARM.attributes - 0x00000b63 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o) - .ARM.attributes - 0x00000b95 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) - .ARM.attributes - 0x00000bc7 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o) - .ARM.attributes - 0x00000bf9 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-abort.o) - .ARM.attributes - 0x00000c2b 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) - .ARM.attributes - 0x00000c5d 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) - .ARM.attributes - 0x00000c8f 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) - .ARM.attributes - 0x00000cc1 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-cxa_atexit.o) - .ARM.attributes - 0x00000cf3 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) - .ARM.attributes - 0x00000d25 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) - .ARM.attributes - 0x00000d57 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) - .ARM.attributes - 0x00000d89 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wbuf.o) - .ARM.attributes - 0x00000dbb 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wsetup.o) - .ARM.attributes - 0x00000ded 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signal.o) - .ARM.attributes - 0x00000e1f 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signalr.o) - .ARM.attributes - 0x00000e51 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) - .ARM.attributes - 0x00000e83 0x1c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memchr.o) - .ARM.attributes - 0x00000e9f 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-on_exit_args.o) - .ARM.attributes - 0x00000ed1 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-makebuf.o) - .ARM.attributes - 0x00000f03 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fstatr.o) - .ARM.attributes - 0x00000f35 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-isattyr.o) - .ARM.attributes - 0x00000f67 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) - .ARM.attributes - 0x00000f87 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) - .ARM.attributes - 0x00000fb9 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o) - .ARM.attributes - 0x00000fd9 0x32 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtend.o - .ARM.attributes - 0x0000100b 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtn.o + 0x00000789 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtn.o .comment 0x00000000 0x46 .comment 0x00000000 0x46 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o 0x24 (size before relaxing) - .comment 0x00000046 0x24 build/debug/app_touchgfx.o .comment 0x00000046 0x24 build/debug/b_cccv_algo.o .comment 0x00000046 0x24 build/debug/can-halal.o .comment 0x00000046 0x24 build/debug/can.o @@ -4368,783 +3648,93 @@ LOAD /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a .comment 0x00000046 0x24 build/debug/stm32h7xx_ll_fmc.o .comment 0x00000046 0x24 build/debug/stm32h7xx_ll_sdmmc.o .comment 0x00000046 0x24 build/debug/stm32h7xx_ll_usb.o - .comment 0x00000046 0x24 build/debug/syscalls.o - .comment 0x00000046 0x24 build/debug/sysmem.o .comment 0x00000046 0x24 build/debug/system_stm32h7xx.o - .comment 0x00000046 0x24 build/debug/OSWrappers.o - .comment 0x00000046 0x24 build/debug/STM32DMA.o - .comment 0x00000046 0x24 build/debug/STM32TouchController.o - .comment 0x00000046 0x24 build/debug/TouchGFXConfiguration.o - .comment 0x00000046 0x24 build/debug/TouchGFXGPIO.o - .comment 0x00000046 0x24 build/debug/TouchGFXGeneratedHAL.o - .comment 0x00000046 0x24 build/debug/TouchGFXHAL.o - .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-assert.o) - .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) - .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fprintf.o) - .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o) - .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) - .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o) - .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) - .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o) - .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o) - .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o) - .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o) - .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) - .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) - .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-aeabi_atexit.o) .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o) - .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) - .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o) - .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-abort.o) - .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) - .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) - .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) - .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-cxa_atexit.o) - .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) - .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) - .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) - .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wbuf.o) - .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wsetup.o) - .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signal.o) - .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signalr.o) - .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) - .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-on_exit_args.o) - .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-makebuf.o) - .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fstatr.o) - .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-isattyr.o) .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) .comment 0x00000046 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtend.o -.debug_info 0x00000000 0x58632 - .debug_info 0x00000000 0x7e build/debug/app_touchgfx.o - .debug_info 0x0000007e 0x4cb build/debug/b_cccv_algo.o - .debug_info 0x00000549 0xff7 build/debug/can-halal.o - .debug_info 0x00001540 0x9bf build/debug/can.o - .debug_info 0x00001eff 0xeb2 build/debug/charger_control.o - .debug_info 0x00002db1 0x3f3e build/debug/main.o - .debug_info 0x00006cef 0x40c build/debug/slave_handler.o - .debug_info 0x000070fb 0x14ef build/debug/stm32h7xx_hal.o - .debug_info 0x000085ea 0x12fc build/debug/stm32h7xx_hal_cortex.o - .debug_info 0x000098e6 0x600 build/debug/stm32h7xx_hal_crc.o - .debug_info 0x00009ee6 0x352 build/debug/stm32h7xx_hal_crc_ex.o - .debug_info 0x0000a238 0x3275 build/debug/stm32h7xx_hal_fdcan.o - .debug_info 0x0000d4ad 0xb76 build/debug/stm32h7xx_hal_gpio.o - .debug_info 0x0000e023 0x44f5 build/debug/stm32h7xx_hal_i2c.o - .debug_info 0x00012518 0xc81 build/debug/stm32h7xx_hal_i2c_ex.o - .debug_info 0x00013199 0x1504 build/debug/stm32h7xx_hal_ltdc.o - .debug_info 0x0001469d 0x3f1c build/debug/stm32h7xx_hal_msp.o - .debug_info 0x000185b9 0x1c4f build/debug/stm32h7xx_hal_pcd.o - .debug_info 0x0001a208 0xa1a build/debug/stm32h7xx_hal_pcd_ex.o - .debug_info 0x0001ac22 0x107c build/debug/stm32h7xx_hal_pwr_ex.o - .debug_info 0x0001bc9e 0x1174 build/debug/stm32h7xx_hal_rcc.o - .debug_info 0x0001ce12 0x1986 build/debug/stm32h7xx_hal_rcc_ex.o - .debug_info 0x0001e798 0x263b build/debug/stm32h7xx_hal_sd.o - .debug_info 0x00020dd3 0x132d build/debug/stm32h7xx_hal_sdram.o - .debug_info 0x00022100 0x657c build/debug/stm32h7xx_hal_uart.o - .debug_info 0x0002867c 0x1226 build/debug/stm32h7xx_hal_uart_ex.o - .debug_info 0x000298a2 0x12d8 build/debug/stm32h7xx_it.o - .debug_info 0x0002ab7a 0xcbe build/debug/stm32h7xx_ll_fmc.o - .debug_info 0x0002b838 0x1e7c build/debug/stm32h7xx_ll_sdmmc.o - .debug_info 0x0002d6b4 0x1f0d build/debug/stm32h7xx_ll_usb.o - .debug_info 0x0002f5c1 0x789 build/debug/syscalls.o - .debug_info 0x0002fd4a 0x171 build/debug/sysmem.o - .debug_info 0x0002febb 0xc9c build/debug/system_stm32h7xx.o - .debug_info 0x00030b57 0x1ab6 build/debug/OSWrappers.o - .debug_info 0x0003260d 0x10a1 build/debug/STM32DMA.o - .debug_info 0x000336ae 0x52a build/debug/STM32TouchController.o - .debug_info 0x00033bd8 0x9a26 build/debug/TouchGFXConfiguration.o - .debug_info 0x0003d5fe 0x16d6 build/debug/TouchGFXGPIO.o - .debug_info 0x0003ecd4 0x647e build/debug/TouchGFXGeneratedHAL.o - .debug_info 0x00045152 0x2e2d build/debug/TouchGFXHAL.o - .debug_info 0x00047f7f 0x30 build/debug/startup_stm32h7a3xx.o - .debug_info 0x00047faf 0x836 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-assert.o) - .debug_info 0x000487e5 0xfb8 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) - .debug_info 0x0004979d 0x867 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fprintf.o) - .debug_info 0x0004a004 0x7d2 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o) - .debug_info 0x0004a7d6 0xa90 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) - .debug_info 0x0004b266 0xe0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) - .debug_info 0x0004b346 0x75c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o) - .debug_info 0x0004baa2 0x8a1 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) - .debug_info 0x0004c343 0x715 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o) - .debug_info 0x0004ca58 0x7a8 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o) - .debug_info 0x0004d200 0x7bf /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o) - .debug_info 0x0004d9bf 0x7c5 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o) - .debug_info 0x0004e184 0x6fb /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) - .debug_info 0x0004e87f 0x10b /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) - .debug_info 0x0004e98a 0x218 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) - .debug_info 0x0004eba2 0x12c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-aeabi_atexit.o) - .debug_info 0x0004ecce 0x121 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o) - .debug_info 0x0004edef 0x2d9 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) - .debug_info 0x0004f0c8 0x290 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o) - .debug_info 0x0004f358 0xd8 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-abort.o) - .debug_info 0x0004f430 0x851 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) - .debug_info 0x0004fc81 0x9bc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) - .debug_info 0x0005063d 0x76b /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) - .debug_info 0x00050da8 0x20a /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-cxa_atexit.o) - .debug_info 0x00050fb2 0x1094 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) - .debug_info 0x00052046 0xde2 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) - .debug_info 0x00052e28 0x9f2 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) - .debug_info 0x0005381a 0x874 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wbuf.o) - .debug_info 0x0005408e 0x7bb /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wsetup.o) - .debug_info 0x00054849 0xa13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signal.o) - .debug_info 0x0005525c 0x7e9 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signalr.o) - .debug_info 0x00055a45 0x782 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) - .debug_info 0x000561c7 0x25 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memchr.o) - .debug_info 0x000561ec 0xff /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-on_exit_args.o) - .debug_info 0x000562eb 0xb15 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-makebuf.o) - .debug_info 0x00056e00 0x981 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fstatr.o) - .debug_info 0x00057781 0x75c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-isattyr.o) - .debug_info 0x00057edd 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) - .debug_info 0x00057f01 0x6f5 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) - .debug_info 0x000585f6 0x3c /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o) +.debug_info 0x00000000 0x30c52 + .debug_info 0x00000000 0x4cb build/debug/b_cccv_algo.o + .debug_info 0x000004cb 0xff7 build/debug/can-halal.o + .debug_info 0x000014c2 0x9bf build/debug/can.o + .debug_info 0x00001e81 0xeb2 build/debug/charger_control.o + .debug_info 0x00002d33 0x3f20 build/debug/main.o + .debug_info 0x00006c53 0x40c build/debug/slave_handler.o + .debug_info 0x0000705f 0x14ef build/debug/stm32h7xx_hal.o + .debug_info 0x0000854e 0x12fc build/debug/stm32h7xx_hal_cortex.o + .debug_info 0x0000984a 0x600 build/debug/stm32h7xx_hal_crc.o + .debug_info 0x00009e4a 0x352 build/debug/stm32h7xx_hal_crc_ex.o + .debug_info 0x0000a19c 0x3275 build/debug/stm32h7xx_hal_fdcan.o + .debug_info 0x0000d411 0xb76 build/debug/stm32h7xx_hal_gpio.o + .debug_info 0x0000df87 0x44f5 build/debug/stm32h7xx_hal_i2c.o + .debug_info 0x0001247c 0xc81 build/debug/stm32h7xx_hal_i2c_ex.o + .debug_info 0x000130fd 0x1504 build/debug/stm32h7xx_hal_ltdc.o + .debug_info 0x00014601 0x3f1c build/debug/stm32h7xx_hal_msp.o + .debug_info 0x0001851d 0x1c4f build/debug/stm32h7xx_hal_pcd.o + .debug_info 0x0001a16c 0xa1a build/debug/stm32h7xx_hal_pcd_ex.o + .debug_info 0x0001ab86 0x107c build/debug/stm32h7xx_hal_pwr_ex.o + .debug_info 0x0001bc02 0x1174 build/debug/stm32h7xx_hal_rcc.o + .debug_info 0x0001cd76 0x1986 build/debug/stm32h7xx_hal_rcc_ex.o + .debug_info 0x0001e6fc 0x263b build/debug/stm32h7xx_hal_sd.o + .debug_info 0x00020d37 0x132d build/debug/stm32h7xx_hal_sdram.o + .debug_info 0x00022064 0x657c build/debug/stm32h7xx_hal_uart.o + .debug_info 0x000285e0 0x1226 build/debug/stm32h7xx_hal_uart_ex.o + .debug_info 0x00029806 0x12d8 build/debug/stm32h7xx_it.o + .debug_info 0x0002aade 0xcbe build/debug/stm32h7xx_ll_fmc.o + .debug_info 0x0002b79c 0x1e7c build/debug/stm32h7xx_ll_sdmmc.o + .debug_info 0x0002d618 0x1f0d build/debug/stm32h7xx_ll_usb.o + .debug_info 0x0002f525 0xc9c build/debug/system_stm32h7xx.o + .debug_info 0x000301c1 0x30 build/debug/startup_stm32h7a3xx.o + .debug_info 0x000301f1 0xe0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) + .debug_info 0x000302d1 0x10b /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) + .debug_info 0x000303dc 0x121 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o) + .debug_info 0x000304fd 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) + .debug_info 0x00030521 0x6f5 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) + .debug_info 0x00030c16 0x3c /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o) -.debug_abbrev 0x00000000 0xbcc5 - .debug_abbrev 0x00000000 0x66 build/debug/app_touchgfx.o - .debug_abbrev 0x00000066 0x1d6 build/debug/b_cccv_algo.o - .debug_abbrev 0x0000023c 0x2b6 build/debug/can-halal.o - .debug_abbrev 0x000004f2 0x1f1 build/debug/can.o - .debug_abbrev 0x000006e3 0x22c build/debug/charger_control.o - .debug_abbrev 0x0000090f 0x3ee build/debug/main.o - .debug_abbrev 0x00000cfd 0x201 build/debug/slave_handler.o - .debug_abbrev 0x00000efe 0x2b6 build/debug/stm32h7xx_hal.o - .debug_abbrev 0x000011b4 0x3ad build/debug/stm32h7xx_hal_cortex.o - .debug_abbrev 0x00001561 0x223 build/debug/stm32h7xx_hal_crc.o - .debug_abbrev 0x00001784 0x16d build/debug/stm32h7xx_hal_crc_ex.o - .debug_abbrev 0x000018f1 0x2be build/debug/stm32h7xx_hal_fdcan.o - .debug_abbrev 0x00001baf 0x251 build/debug/stm32h7xx_hal_gpio.o - .debug_abbrev 0x00001e00 0x296 build/debug/stm32h7xx_hal_i2c.o - .debug_abbrev 0x00002096 0x1f5 build/debug/stm32h7xx_hal_i2c_ex.o - .debug_abbrev 0x0000228b 0x24a build/debug/stm32h7xx_hal_ltdc.o - .debug_abbrev 0x000024d5 0x302 build/debug/stm32h7xx_hal_msp.o - .debug_abbrev 0x000027d7 0x2fa build/debug/stm32h7xx_hal_pcd.o - .debug_abbrev 0x00002ad1 0x2ad build/debug/stm32h7xx_hal_pcd_ex.o - .debug_abbrev 0x00002d7e 0x2b7 build/debug/stm32h7xx_hal_pwr_ex.o - .debug_abbrev 0x00003035 0x2a8 build/debug/stm32h7xx_hal_rcc.o - .debug_abbrev 0x000032dd 0x293 build/debug/stm32h7xx_hal_rcc_ex.o - .debug_abbrev 0x00003570 0x29f build/debug/stm32h7xx_hal_sd.o - .debug_abbrev 0x0000380f 0x20e build/debug/stm32h7xx_hal_sdram.o - .debug_abbrev 0x00003a1d 0x38b build/debug/stm32h7xx_hal_uart.o - .debug_abbrev 0x00003da8 0x343 build/debug/stm32h7xx_hal_uart_ex.o - .debug_abbrev 0x000040eb 0x1e8 build/debug/stm32h7xx_it.o - .debug_abbrev 0x000042d3 0x1c4 build/debug/stm32h7xx_ll_fmc.o - .debug_abbrev 0x00004497 0x249 build/debug/stm32h7xx_ll_sdmmc.o - .debug_abbrev 0x000046e0 0x329 build/debug/stm32h7xx_ll_usb.o - .debug_abbrev 0x00004a09 0x1c1 build/debug/syscalls.o - .debug_abbrev 0x00004bca 0xea build/debug/sysmem.o - .debug_abbrev 0x00004cb4 0x14e build/debug/system_stm32h7xx.o - .debug_abbrev 0x00004e02 0x2e1 build/debug/OSWrappers.o - .debug_abbrev 0x000050e3 0x4c4 build/debug/STM32DMA.o - .debug_abbrev 0x000055a7 0x2cd build/debug/STM32TouchController.o - .debug_abbrev 0x00005874 0xd51 build/debug/TouchGFXConfiguration.o - .debug_abbrev 0x000065c5 0x228 build/debug/TouchGFXGPIO.o - .debug_abbrev 0x000067ed 0xb19 build/debug/TouchGFXGeneratedHAL.o - .debug_abbrev 0x00007306 0x762 build/debug/TouchGFXHAL.o - .debug_abbrev 0x00007a68 0x24 build/debug/startup_stm32h7a3xx.o - .debug_abbrev 0x00007a8c 0x1ea /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-assert.o) - .debug_abbrev 0x00007c76 0x424 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) - .debug_abbrev 0x0000809a 0x21d /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fprintf.o) - .debug_abbrev 0x000082b7 0x19b /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o) - .debug_abbrev 0x00008452 0x221 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) - .debug_abbrev 0x00008673 0x9e /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) - .debug_abbrev 0x00008711 0x1b0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o) - .debug_abbrev 0x000088c1 0x1f7 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) - .debug_abbrev 0x00008ab8 0x149 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o) - .debug_abbrev 0x00008c01 0x1c4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o) - .debug_abbrev 0x00008dc5 0x1b0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o) - .debug_abbrev 0x00008f75 0x1b5 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o) - .debug_abbrev 0x0000912a 0x15e /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) - .debug_abbrev 0x00009288 0xc9 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) - .debug_abbrev 0x00009351 0x115 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) - .debug_abbrev 0x00009466 0xbb /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-aeabi_atexit.o) - .debug_abbrev 0x00009521 0xc1 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o) - .debug_abbrev 0x000095e2 0x1ea /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) - .debug_abbrev 0x000097cc 0x1cd /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o) - .debug_abbrev 0x00009999 0x99 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-abort.o) - .debug_abbrev 0x00009a32 0x236 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) - .debug_abbrev 0x00009c68 0x24a /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) - .debug_abbrev 0x00009eb2 0x1bf /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) - .debug_abbrev 0x0000a071 0x157 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-cxa_atexit.o) - .debug_abbrev 0x0000a1c8 0x316 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) - .debug_abbrev 0x0000a4de 0x28e /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) - .debug_abbrev 0x0000a76c 0x2b2 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) - .debug_abbrev 0x0000aa1e 0x22d /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wbuf.o) - .debug_abbrev 0x0000ac4b 0x1e2 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wsetup.o) - .debug_abbrev 0x0000ae2d 0x24e /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signal.o) - .debug_abbrev 0x0000b07b 0x1fd /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signalr.o) - .debug_abbrev 0x0000b278 0x1da /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) - .debug_abbrev 0x0000b452 0x14 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memchr.o) - .debug_abbrev 0x0000b466 0xb8 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-on_exit_args.o) - .debug_abbrev 0x0000b51e 0x290 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-makebuf.o) - .debug_abbrev 0x0000b7ae 0x1c3 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fstatr.o) - .debug_abbrev 0x0000b971 0x1b0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-isattyr.o) - .debug_abbrev 0x0000bb21 0x14 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) - .debug_abbrev 0x0000bb35 0x16a /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) - .debug_abbrev 0x0000bc9f 0x26 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o) - -.debug_aranges 0x00000000 0x2808 - .debug_aranges - 0x00000000 0x28 build/debug/app_touchgfx.o - .debug_aranges - 0x00000028 0x50 build/debug/b_cccv_algo.o - .debug_aranges - 0x00000078 0x60 build/debug/can-halal.o - .debug_aranges - 0x000000d8 0x28 build/debug/can.o - .debug_aranges - 0x00000100 0x70 build/debug/charger_control.o - .debug_aranges - 0x00000170 0x90 build/debug/main.o - .debug_aranges - 0x00000200 0x38 build/debug/slave_handler.o - .debug_aranges - 0x00000238 0x1a0 build/debug/stm32h7xx_hal.o - .debug_aranges - 0x000003d8 0xf8 build/debug/stm32h7xx_hal_cortex.o - .debug_aranges - 0x000004d0 0x60 build/debug/stm32h7xx_hal_crc.o - .debug_aranges - 0x00000530 0x30 build/debug/stm32h7xx_hal_crc_ex.o - .debug_aranges - 0x00000560 0x338 build/debug/stm32h7xx_hal_fdcan.o - .debug_aranges - 0x00000898 0x58 build/debug/stm32h7xx_hal_gpio.o - .debug_aranges - 0x000008f0 0x2a0 build/debug/stm32h7xx_hal_i2c.o - .debug_aranges - 0x00000b90 0x48 build/debug/stm32h7xx_hal_i2c_ex.o - .debug_aranges - 0x00000bd8 0x158 build/debug/stm32h7xx_hal_ltdc.o - .debug_aranges - 0x00000d30 0xb0 build/debug/stm32h7xx_hal_msp.o - .debug_aranges - 0x00000de0 0x140 build/debug/stm32h7xx_hal_pcd.o - .debug_aranges - 0x00000f20 0x60 build/debug/stm32h7xx_hal_pcd_ex.o - .debug_aranges - 0x00000f80 0x188 build/debug/stm32h7xx_hal_pwr_ex.o - .debug_aranges - 0x00001108 0x88 build/debug/stm32h7xx_hal_rcc.o - .debug_aranges - 0x00001190 0xf0 build/debug/stm32h7xx_hal_rcc_ex.o - .debug_aranges - 0x00001280 0x170 build/debug/stm32h7xx_hal_sd.o - .debug_aranges - 0x000013f0 0xe8 build/debug/stm32h7xx_hal_sdram.o - .debug_aranges - 0x000014d8 0x248 build/debug/stm32h7xx_hal_uart.o - .debug_aranges - 0x00001720 0xa8 build/debug/stm32h7xx_hal_uart_ex.o - .debug_aranges - 0x000017c8 0x90 build/debug/stm32h7xx_it.o - .debug_aranges - 0x00001858 0xc8 build/debug/stm32h7xx_ll_fmc.o - .debug_aranges - 0x00001920 0x1d0 build/debug/stm32h7xx_ll_sdmmc.o - .debug_aranges - 0x00001af0 0x1a0 build/debug/stm32h7xx_ll_usb.o - .debug_aranges - 0x00001c90 0xa8 build/debug/syscalls.o - .debug_aranges - 0x00001d38 0x20 build/debug/sysmem.o - .debug_aranges - 0x00001d58 0x28 build/debug/system_stm32h7xx.o - .debug_aranges - 0x00001d80 0x20 build/debug/OSWrappers.o - .debug_aranges - 0x00001da0 0x50 build/debug/STM32DMA.o - .debug_aranges - 0x00001df0 0x30 build/debug/STM32TouchController.o - .debug_aranges - 0x00001e20 0x220 build/debug/TouchGFXConfiguration.o - .debug_aranges - 0x00002040 0x20 build/debug/TouchGFXGPIO.o - .debug_aranges - 0x00002060 0x98 build/debug/TouchGFXGeneratedHAL.o - .debug_aranges - 0x000020f8 0x90 build/debug/TouchGFXHAL.o - .debug_aranges - 0x00002188 0x28 build/debug/startup_stm32h7a3xx.o - .debug_aranges - 0x000021b0 0x28 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-assert.o) - .debug_aranges - 0x000021d8 0x78 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) - .debug_aranges - 0x00002250 0x28 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fprintf.o) - .debug_aranges - 0x00002278 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o) - .debug_aranges - 0x00002298 0x40 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) - .debug_aranges - 0x000022d8 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) - .debug_aranges - 0x000022f8 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o) - .debug_aranges - 0x00002318 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) - .debug_aranges - 0x00002338 0x18 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o) - .debug_aranges - 0x00002350 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o) - .debug_aranges - 0x00002370 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o) - .debug_aranges - 0x00002390 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o) - .debug_aranges - 0x000023b0 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) - .debug_aranges - 0x000023d0 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) - .debug_aranges - 0x000023f0 0x68 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) - .debug_aranges - 0x00002458 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-aeabi_atexit.o) - .debug_aranges - 0x00002478 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o) - .debug_aranges - 0x00002498 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) - .debug_aranges - 0x000024b8 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o) - .debug_aranges - 0x000024d8 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-abort.o) - .debug_aranges - 0x000024f8 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) - .debug_aranges - 0x00002518 0x28 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) - .debug_aranges - 0x00002540 0x28 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) - .debug_aranges - 0x00002568 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-cxa_atexit.o) - .debug_aranges - 0x00002588 0x40 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) - .debug_aranges - 0x000025c8 0x28 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) - .debug_aranges - 0x000025f0 0x30 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) - .debug_aranges - 0x00002620 0x28 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wbuf.o) - .debug_aranges - 0x00002648 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wsetup.o) - .debug_aranges - 0x00002668 0x58 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signal.o) - .debug_aranges - 0x000026c0 0x28 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signalr.o) - .debug_aranges - 0x000026e8 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) - .debug_aranges - 0x00002708 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memchr.o) - .debug_aranges - 0x00002728 0x18 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-on_exit_args.o) - .debug_aranges - 0x00002740 0x28 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-makebuf.o) - .debug_aranges - 0x00002768 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fstatr.o) - .debug_aranges - 0x00002788 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-isattyr.o) - .debug_aranges - 0x000027a8 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) - .debug_aranges - 0x000027c8 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) - .debug_aranges - 0x000027e8 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o) - -.debug_rnglists - 0x00000000 0x1f3b - .debug_rnglists - 0x00000000 0x19 build/debug/app_touchgfx.o - .debug_rnglists - 0x00000019 0x3a build/debug/b_cccv_algo.o - .debug_rnglists - 0x00000053 0x51 build/debug/can-halal.o - .debug_rnglists - 0x000000a4 0x19 build/debug/can.o - .debug_rnglists - 0x000000bd 0x51 build/debug/charger_control.o - .debug_rnglists - 0x0000010e 0x9d build/debug/main.o - .debug_rnglists - 0x000001ab 0x32 build/debug/slave_handler.o - .debug_rnglists - 0x000001dd 0x135 build/debug/stm32h7xx_hal.o - .debug_rnglists - 0x00000312 0xb5 build/debug/stm32h7xx_hal_cortex.o - .debug_rnglists - 0x000003c7 0x45 build/debug/stm32h7xx_hal_crc.o - .debug_rnglists - 0x0000040c 0x20 build/debug/stm32h7xx_hal_crc_ex.o - .debug_rnglists - 0x0000042c 0x29a build/debug/stm32h7xx_hal_fdcan.o - .debug_rnglists - 0x000006c6 0x3f build/debug/stm32h7xx_hal_gpio.o - .debug_rnglists - 0x00000705 0x21e build/debug/stm32h7xx_hal_i2c.o - .debug_rnglists - 0x00000923 0x31 build/debug/stm32h7xx_hal_i2c_ex.o - .debug_rnglists - 0x00000954 0x103 build/debug/stm32h7xx_hal_ltdc.o - .debug_rnglists - 0x00000a57 0x88 build/debug/stm32h7xx_hal_msp.o - .debug_rnglists - 0x00000adf 0xf1 build/debug/stm32h7xx_hal_pcd.o - .debug_rnglists - 0x00000bd0 0x44 build/debug/stm32h7xx_hal_pcd_ex.o - .debug_rnglists - 0x00000c14 0x156 build/debug/stm32h7xx_hal_pwr_ex.o - .debug_rnglists - 0x00000d6a 0xa9 build/debug/stm32h7xx_hal_rcc.o - .debug_rnglists - 0x00000e13 0xb9 build/debug/stm32h7xx_hal_rcc_ex.o - .debug_rnglists - 0x00000ecc 0x123 build/debug/stm32h7xx_hal_sd.o - .debug_rnglists - 0x00000fef 0xa9 build/debug/stm32h7xx_hal_sdram.o - .debug_rnglists - 0x00001098 0x1cb build/debug/stm32h7xx_hal_uart.o - .debug_rnglists - 0x00001263 0x88 build/debug/stm32h7xx_hal_uart_ex.o - .debug_rnglists - 0x000012eb 0x67 build/debug/stm32h7xx_it.o - .debug_rnglists - 0x00001352 0x93 build/debug/stm32h7xx_ll_fmc.o - .debug_rnglists - 0x000013e5 0x15a build/debug/stm32h7xx_ll_sdmmc.o - .debug_rnglists - 0x0000153f 0x141 build/debug/stm32h7xx_ll_usb.o - .debug_rnglists - 0x00001680 0x79 build/debug/syscalls.o - .debug_rnglists - 0x000016f9 0x13 build/debug/sysmem.o - .debug_rnglists - 0x0000170c 0x1b build/debug/system_stm32h7xx.o - .debug_rnglists - 0x00001727 0x37 build/debug/STM32DMA.o - .debug_rnglists - 0x0000175e 0x1f build/debug/STM32TouchController.o - .debug_rnglists - 0x0000177d 0x196 build/debug/TouchGFXConfiguration.o - .debug_rnglists - 0x00001913 0x88 build/debug/TouchGFXGeneratedHAL.o - .debug_rnglists - 0x0000199b 0x67 build/debug/TouchGFXHAL.o - .debug_rnglists - 0x00001a02 0x19 build/debug/startup_stm32h7a3xx.o - .debug_rnglists - 0x00001a1b 0x19 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-assert.o) - .debug_rnglists - 0x00001a34 0x7d /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) - .debug_rnglists - 0x00001ab1 0x19 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fprintf.o) - .debug_rnglists - 0x00001aca 0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o) - .debug_rnglists - 0x00001add 0x2b /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) - .debug_rnglists - 0x00001b08 0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) - .debug_rnglists - 0x00001b1b 0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o) - .debug_rnglists - 0x00001b2e 0x2c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) - .debug_rnglists - 0x00001b5a 0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o) - .debug_rnglists - 0x00001b6d 0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o) - .debug_rnglists - 0x00001b80 0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o) - .debug_rnglists - 0x00001b93 0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) - .debug_rnglists - 0x00001ba6 0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) - .debug_rnglists - 0x00001bb9 0x49 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) - .debug_rnglists - 0x00001c02 0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-aeabi_atexit.o) - .debug_rnglists - 0x00001c15 0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o) - .debug_rnglists - 0x00001c28 0x14 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) - .debug_rnglists - 0x00001c3c 0x24 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o) - .debug_rnglists - 0x00001c60 0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-abort.o) - .debug_rnglists - 0x00001c73 0x14 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) - .debug_rnglists - 0x00001c87 0x2c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) - .debug_rnglists - 0x00001cb3 0x19 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) - .debug_rnglists - 0x00001ccc 0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-cxa_atexit.o) - .debug_rnglists - 0x00001cdf 0x38 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) - .debug_rnglists - 0x00001d17 0x61 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) - .debug_rnglists - 0x00001d78 0x3b /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) - .debug_rnglists - 0x00001db3 0x25 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wbuf.o) - .debug_rnglists - 0x00001dd8 0x26 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wsetup.o) - .debug_rnglists - 0x00001dfe 0x3d /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signal.o) - .debug_rnglists - 0x00001e3b 0x19 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signalr.o) - .debug_rnglists - 0x00001e54 0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) - .debug_rnglists - 0x00001e67 0x25 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-makebuf.o) - .debug_rnglists - 0x00001e8c 0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fstatr.o) - .debug_rnglists - 0x00001e9f 0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-isattyr.o) - .debug_rnglists - 0x00001eb2 0x89 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) - -.debug_line 0x00000000 0x2a5fb - .debug_line 0x00000000 0x6e build/debug/app_touchgfx.o - .debug_line 0x0000006e 0x3fb build/debug/b_cccv_algo.o - .debug_line 0x00000469 0x498 build/debug/can-halal.o - .debug_line 0x00000901 0x203 build/debug/can.o - .debug_line 0x00000b04 0x3a2 build/debug/charger_control.o - .debug_line 0x00000ea6 0xe55 build/debug/main.o - .debug_line 0x00001cfb 0x2b3 build/debug/slave_handler.o - .debug_line 0x00001fae 0x88f build/debug/stm32h7xx_hal.o - .debug_line 0x0000283d 0x7d3 build/debug/stm32h7xx_hal_cortex.o - .debug_line 0x00003010 0x519 build/debug/stm32h7xx_hal_crc.o - .debug_line 0x00003529 0x24b build/debug/stm32h7xx_hal_crc_ex.o - .debug_line 0x00003774 0x3338 build/debug/stm32h7xx_hal_fdcan.o - .debug_line 0x00006aac 0x6af build/debug/stm32h7xx_hal_gpio.o - .debug_line 0x0000715b 0x4fdb build/debug/stm32h7xx_hal_i2c.o - .debug_line 0x0000c136 0x367 build/debug/stm32h7xx_hal_i2c_ex.o - .debug_line 0x0000c49d 0x11af build/debug/stm32h7xx_hal_ltdc.o - .debug_line 0x0000d64c 0xc55 build/debug/stm32h7xx_hal_msp.o - .debug_line 0x0000e2a1 0x13d7 build/debug/stm32h7xx_hal_pcd.o - .debug_line 0x0000f678 0x458 build/debug/stm32h7xx_hal_pcd_ex.o - .debug_line 0x0000fad0 0xae4 build/debug/stm32h7xx_hal_pwr_ex.o - .debug_line 0x000105b4 0x1337 build/debug/stm32h7xx_hal_rcc.o - .debug_line 0x000118eb 0x1e24 build/debug/stm32h7xx_hal_rcc_ex.o - .debug_line 0x0001370f 0x2982 build/debug/stm32h7xx_hal_sd.o - .debug_line 0x00016091 0x9d9 build/debug/stm32h7xx_hal_sdram.o - .debug_line 0x00016a6a 0x50e3 build/debug/stm32h7xx_hal_uart.o - .debug_line 0x0001bb4d 0xa10 build/debug/stm32h7xx_hal_uart_ex.o - .debug_line 0x0001c55d 0x30d build/debug/stm32h7xx_it.o - .debug_line 0x0001c86a 0x6af build/debug/stm32h7xx_ll_fmc.o - .debug_line 0x0001cf19 0x1424 build/debug/stm32h7xx_ll_sdmmc.o - .debug_line 0x0001e33d 0x1e92 build/debug/stm32h7xx_ll_usb.o - .debug_line 0x000201cf 0x369 build/debug/syscalls.o - .debug_line 0x00020538 0x13c build/debug/sysmem.o - .debug_line 0x00020674 0x3a6 build/debug/system_stm32h7xx.o - .debug_line 0x00020a1a 0x408 build/debug/OSWrappers.o - .debug_line 0x00020e22 0x362 build/debug/STM32DMA.o - .debug_line 0x00021184 0x1de build/debug/STM32TouchController.o - .debug_line 0x00021362 0x1508 build/debug/TouchGFXConfiguration.o - .debug_line 0x0002286a 0x279 build/debug/TouchGFXGPIO.o - .debug_line 0x00022ae3 0x1444 build/debug/TouchGFXGeneratedHAL.o - .debug_line 0x00023f27 0x727 build/debug/TouchGFXHAL.o - .debug_line 0x0002464e 0x77 build/debug/startup_stm32h7a3xx.o - .debug_line 0x000246c5 0x204 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-assert.o) - .debug_line 0x000248c9 0x598 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) - .debug_line 0x00024e61 0x205 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fprintf.o) - .debug_line 0x00025066 0x204 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o) - .debug_line 0x0002526a 0x2b5 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) - .debug_line 0x0002551f 0x12d /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) - .debug_line 0x0002564c 0x1e6 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o) - .debug_line 0x00025832 0x2bc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) - .debug_line 0x00025aee 0x112 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o) - .debug_line 0x00025c00 0x1e5 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o) - .debug_line 0x00025de5 0x1e4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o) - .debug_line 0x00025fc9 0x1e5 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o) - .debug_line 0x000261ae 0x134 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) - .debug_line 0x000262e2 0xff /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) - .debug_line 0x000263e1 0x187 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) - .debug_line 0x00026568 0x71 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-aeabi_atexit.o) - .debug_line 0x000265d9 0x185 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o) - .debug_line 0x0002675e 0x25c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) - .debug_line 0x000269ba 0x21b /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o) - .debug_line 0x00026bd5 0x16b /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-abort.o) - .debug_line 0x00026d40 0x2d4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) - .debug_line 0x00027014 0x4c4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) - .debug_line 0x000274d8 0x1b4 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) - .debug_line 0x0002768c 0x11e /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-cxa_atexit.o) - .debug_line 0x000277aa 0x657 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) - .debug_line 0x00027e01 0x6bb /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) - .debug_line 0x000284bc 0x41e /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) - .debug_line 0x000288da 0x296 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wbuf.o) - .debug_line 0x00028b70 0x2ab /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wsetup.o) - .debug_line 0x00028e1b 0x41c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signal.o) - .debug_line 0x00029237 0x217 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signalr.o) - .debug_line 0x0002944e 0x1e6 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) - .debug_line 0x00029634 0x84 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memchr.o) - .debug_line 0x000296b8 0xcd /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-on_exit_args.o) - .debug_line 0x00029785 0x381 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-makebuf.o) - .debug_line 0x00029b06 0x292 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fstatr.o) - .debug_line 0x00029d98 0x1e7 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-isattyr.o) - .debug_line 0x00029f7f 0x4e /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) - .debug_line 0x00029fcd 0x5e4 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) - .debug_line 0x0002a5b1 0x4a /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o) - -.debug_str 0x00000000 0x15a95 - .debug_str 0x00000000 0x15a95 build/debug/app_touchgfx.o - 0x14e (size before relaxing) - .debug_str 0x00015a95 0x40f build/debug/b_cccv_algo.o - .debug_str 0x00015a95 0xa39 build/debug/can-halal.o - .debug_str 0x00015a95 0x789 build/debug/can.o - .debug_str 0x00015a95 0xa90 build/debug/charger_control.o - .debug_str 0x00015a95 0x297f build/debug/main.o - .debug_str 0x00015a95 0x37d build/debug/slave_handler.o - .debug_str 0x00015a95 0x1456 build/debug/stm32h7xx_hal.o - .debug_str 0x00015a95 0x1029 build/debug/stm32h7xx_hal_cortex.o - .debug_str 0x00015a95 0x47c build/debug/stm32h7xx_hal_crc.o - .debug_str 0x00015a95 0x422 build/debug/stm32h7xx_hal_crc_ex.o - .debug_str 0x00015a95 0x1d96 build/debug/stm32h7xx_hal_fdcan.o - .debug_str 0x00015a95 0x6ac build/debug/stm32h7xx_hal_gpio.o - .debug_str 0x00015a95 0x1170 build/debug/stm32h7xx_hal_i2c.o - .debug_str 0x00015a95 0xb03 build/debug/stm32h7xx_hal_i2c_ex.o - .debug_str 0x00015a95 0x9c2 build/debug/stm32h7xx_hal_ltdc.o - .debug_str 0x00015a95 0x2c21 build/debug/stm32h7xx_hal_msp.o - .debug_str 0x00015a95 0xe36 build/debug/stm32h7xx_hal_pcd.o - .debug_str 0x00015a95 0x822 build/debug/stm32h7xx_hal_pcd_ex.o - .debug_str 0x00015a95 0xae5 build/debug/stm32h7xx_hal_pwr_ex.o - .debug_str 0x00015a95 0xa36 build/debug/stm32h7xx_hal_rcc.o - .debug_str 0x00015a95 0xef5 build/debug/stm32h7xx_hal_rcc_ex.o - .debug_str 0x00015a95 0x1016 build/debug/stm32h7xx_hal_sd.o - .debug_str 0x00015a95 0xb9e build/debug/stm32h7xx_hal_sdram.o - .debug_str 0x00015a95 0x14be build/debug/stm32h7xx_hal_uart.o - .debug_str 0x00015a95 0xb91 build/debug/stm32h7xx_hal_uart_ex.o - .debug_str 0x00015a95 0xec5 build/debug/stm32h7xx_it.o - .debug_str 0x00015a95 0x8a3 build/debug/stm32h7xx_ll_fmc.o - .debug_str 0x00015a95 0x935 build/debug/stm32h7xx_ll_sdmmc.o - .debug_str 0x00015a95 0xd7e build/debug/stm32h7xx_ll_usb.o - .debug_str 0x00015a95 0x3e1 build/debug/syscalls.o - .debug_str 0x00015a95 0x20d build/debug/sysmem.o - .debug_str 0x00015a95 0x70d build/debug/system_stm32h7xx.o - .debug_str 0x00015a95 0x113a build/debug/OSWrappers.o - .debug_str 0x00015a95 0xe63 build/debug/STM32DMA.o - .debug_str 0x00015a95 0x510 build/debug/STM32TouchController.o - .debug_str 0x00015a95 0x8de8 build/debug/TouchGFXConfiguration.o - .debug_str 0x00015a95 0xd30 build/debug/TouchGFXGPIO.o - .debug_str 0x00015a95 0x566a build/debug/TouchGFXGeneratedHAL.o - .debug_str 0x00015a95 0x31f9 build/debug/TouchGFXHAL.o - .debug_str 0x00015a95 0x6d build/debug/startup_stm32h7a3xx.o - .debug_str 0x00015a95 0x53b /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-assert.o) - .debug_str 0x00015a95 0x785 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) - .debug_str 0x00015a95 0x540 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fprintf.o) - .debug_str 0x00015a95 0x512 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o) - .debug_str 0x00015a95 0x56f /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) - .debug_str 0x00015a95 0x1e2 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) - .debug_str 0x00015a95 0x4f8 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o) - .debug_str 0x00015a95 0x521 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) - .debug_str 0x00015a95 0x502 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o) - .debug_str 0x00015a95 0x506 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o) - .debug_str 0x00015a95 0x506 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o) - .debug_str 0x00015a95 0x508 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o) - .debug_str 0x00015a95 0x4fc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) - .debug_str 0x00015a95 0x243 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) - .debug_str 0x00015a95 0x379 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) - .debug_str 0x00015a95 0x1fc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-aeabi_atexit.o) - .debug_str 0x00015a95 0x200 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o) - .debug_str 0x00015a95 0x33e /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) - .debug_str 0x00015a95 0x2fe /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o) - .debug_str 0x00015a95 0x1e5 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-abort.o) - .debug_str 0x00015a95 0x582 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) - .debug_str 0x00015a95 0x5e3 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) - .debug_str 0x00015a95 0x584 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) - .debug_str 0x00015a95 0x286 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-cxa_atexit.o) - .debug_str 0x00015a95 0x8b3 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) - .debug_str 0x00015a95 0x7e1 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) - .debug_str 0x00015a95 0x5cd /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) - .debug_str 0x00015a95 0x538 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wbuf.o) - .debug_str 0x00015a95 0x533 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wsetup.o) - .debug_str 0x00015a95 0x589 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signal.o) - .debug_str 0x00015a95 0x51e /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signalr.o) - .debug_str 0x00015a95 0x50b /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) - .debug_str 0x00015a95 0xc9 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memchr.o) - .debug_str 0x00015a95 0x23b /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-on_exit_args.o) - .debug_str 0x00015a95 0x695 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-makebuf.o) - .debug_str 0x00015a95 0x64a /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fstatr.o) - .debug_str 0x00015a95 0x502 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-isattyr.o) - .debug_str 0x00015a95 0xd2 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) - .debug_str 0x00015a95 0x6ae /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) - .debug_str 0x00015a95 0xf2 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o) - -.debug_frame 0x00000000 0x679c - .debug_frame 0x00000000 0x40 build/debug/app_touchgfx.o - .debug_frame 0x00000040 0xe0 build/debug/b_cccv_algo.o - .debug_frame 0x00000120 0xf0 build/debug/can-halal.o - .debug_frame 0x00000210 0x40 build/debug/can.o - .debug_frame 0x00000250 0x14c build/debug/charger_control.o - .debug_frame 0x0000039c 0x1c4 build/debug/main.o - .debug_frame 0x00000560 0x70 build/debug/slave_handler.o - .debug_frame 0x000005d0 0x370 build/debug/stm32h7xx_hal.o - .debug_frame 0x00000940 0x214 build/debug/stm32h7xx_hal_cortex.o - .debug_frame 0x00000b54 0xec build/debug/stm32h7xx_hal_crc.o - .debug_frame 0x00000c40 0x58 build/debug/stm32h7xx_hal_crc_ex.o - .debug_frame 0x00000c98 0x7a4 build/debug/stm32h7xx_hal_fdcan.o - .debug_frame 0x0000143c 0xd4 build/debug/stm32h7xx_hal_gpio.o - .debug_frame 0x00001510 0x98c build/debug/stm32h7xx_hal_i2c.o - .debug_frame 0x00001e9c 0x80 build/debug/stm32h7xx_hal_i2c_ex.o - .debug_frame 0x00001f1c 0x3c4 build/debug/stm32h7xx_hal_ltdc.o - .debug_frame 0x000022e0 0x23c build/debug/stm32h7xx_hal_msp.o - .debug_frame 0x0000251c 0x378 build/debug/stm32h7xx_hal_pcd.o - .debug_frame 0x00002894 0xb8 build/debug/stm32h7xx_hal_pcd_ex.o - .debug_frame 0x0000294c 0x354 build/debug/stm32h7xx_hal_pwr_ex.o - .debug_frame 0x00002ca0 0x184 build/debug/stm32h7xx_hal_rcc.o - .debug_frame 0x00002e24 0x274 build/debug/stm32h7xx_hal_rcc_ex.o - .debug_frame 0x00003098 0x4c0 build/debug/stm32h7xx_hal_sd.o - .debug_frame 0x00003558 0x284 build/debug/stm32h7xx_hal_sdram.o - .debug_frame 0x000037dc 0x680 build/debug/stm32h7xx_hal_uart.o - .debug_frame 0x00003e5c 0x1c8 build/debug/stm32h7xx_hal_uart_ex.o - .debug_frame 0x00004024 0x138 build/debug/stm32h7xx_it.o - .debug_frame 0x0000415c 0x1d8 build/debug/stm32h7xx_ll_fmc.o - .debug_frame 0x00004334 0x5e0 build/debug/stm32h7xx_ll_sdmmc.o - .debug_frame 0x00004914 0x498 build/debug/stm32h7xx_ll_usb.o - .debug_frame 0x00004dac 0x190 build/debug/syscalls.o - .debug_frame 0x00004f3c 0x28 build/debug/sysmem.o - .debug_frame 0x00004f64 0x40 build/debug/system_stm32h7xx.o - .debug_frame 0x00004fa4 0xd0 build/debug/OSWrappers.o - .debug_frame 0x00005074 0xd4 build/debug/STM32DMA.o - .debug_frame 0x00005148 0x58 build/debug/STM32TouchController.o - .debug_frame 0x000051a0 0x594 build/debug/TouchGFXConfiguration.o - .debug_frame 0x00005734 0x60 build/debug/TouchGFXGPIO.o - .debug_frame 0x00005794 0x348 build/debug/TouchGFXGeneratedHAL.o - .debug_frame 0x00005adc 0x238 build/debug/TouchGFXHAL.o - .debug_frame 0x00005d14 0x40 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-assert.o) - .debug_frame 0x00005d54 0x144 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) - .debug_frame 0x00005e98 0x64 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fprintf.o) - .debug_frame 0x00005efc 0x34 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o) - .debug_frame 0x00005f30 0x88 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) - .debug_frame 0x00005fb8 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) - .debug_frame 0x00005fd8 0x2c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o) - .debug_frame 0x00006004 0x38 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) - .debug_frame 0x0000603c 0x2c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o) - .debug_frame 0x00006068 0x2c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o) - .debug_frame 0x00006094 0x2c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o) - .debug_frame 0x000060c0 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) - .debug_frame 0x000060e0 0x2c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) - .debug_frame 0x0000610c 0xb0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) - .debug_frame 0x000061bc 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-aeabi_atexit.o) - .debug_frame 0x000061dc 0x28 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o) - .debug_frame 0x00006204 0x34 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) - .debug_frame 0x00006238 0x48 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o) - .debug_frame 0x00006280 0x28 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-abort.o) - .debug_frame 0x000062a8 0x38 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) - .debug_frame 0x000062e0 0x50 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) - .debug_frame 0x00006330 0x30 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) - .debug_frame 0x00006360 0x28 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-cxa_atexit.o) - .debug_frame 0x00006388 0xa8 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) - .debug_frame 0x00006430 0x60 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) - .debug_frame 0x00006490 0x5c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) - .debug_frame 0x000064ec 0x40 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wbuf.o) - .debug_frame 0x0000652c 0x2c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wsetup.o) - .debug_frame 0x00006558 0xcc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signal.o) - .debug_frame 0x00006624 0x3c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signalr.o) - .debug_frame 0x00006660 0x2c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) - .debug_frame 0x0000668c 0x58 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-makebuf.o) - .debug_frame 0x000066e4 0x2c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fstatr.o) - .debug_frame 0x00006710 0x2c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-isattyr.o) - .debug_frame 0x0000673c 0x2c /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) - .debug_frame 0x00006768 0x34 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) +.debug_abbrev 0x00000000 0x4ecc + .debug_abbrev 0x00000000 0x1d6 build/debug/b_cccv_algo.o + .debug_abbrev 0x000001d6 0x2b6 build/debug/can-halal.o + .debug_abbrev 0x0000048c 0x1f1 build/debug/can.o + .debug_abbrev 0x0000067d 0x22c build/debug/charger_control.o + .debug_abbrev 0x000008a9 0x3d9 build/debug/main.o + .debug_abbrev 0x00000c82 0x201 build/debug/slave_handler.o + .debug_abbrev 0x00000e83 0x2b6 build/debug/stm32h7xx_hal.o + .debug_abbrev 0x00001139 0x3ad build/debug/stm32h7xx_hal_cortex.o + .debug_abbrev 0x000014e6 0x223 build/debug/stm32h7xx_hal_crc.o + .debug_abbrev 0x00001709 0x16d build/debug/stm32h7xx_hal_crc_ex.o + .debug_abbrev 0x00001876 0x2be build/debug/stm32h7xx_hal_fdcan.o + .debug_abbrev 0x00001b34 0x251 build/debug/stm32h7xx_hal_gpio.o + .debug_abbrev 0x00001d85 0x296 build/debug/stm32h7xx_hal_i2c.o + .debug_abbrev 0x0000201b 0x1f5 build/debug/stm32h7xx_hal_i2c_ex.o + .debug_abbrev 0x00002210 0x24a build/debug/stm32h7xx_hal_ltdc.o + .debug_abbrev 0x0000245a 0x302 build/debug/stm32h7xx_hal_msp.o + .debug_abbrev 0x0000275c 0x2fa build/debug/stm32h7xx_hal_pcd.o + .debug_abbrev 0x00002a56 0x2ad build/debug/stm32h7xx_hal_pcd_ex.o + .debug_abbrev 0x00002d03 0x2b7 build/debug/stm32h7xx_hal_pwr_ex.o + .debug_abbrev 0x00002fba 0x2a8 build/debug/stm32h7xx_hal_rcc.o + .debug_abbrev 0x00003262 0x293 build/debug/stm32h7xx_hal_rcc_ex.o + .debug_abbrev 0x000034f5 0x29f build/debug/stm32h7xx_hal_sd.o + .debug_abbrev 0x00003794 0x20e build/debug/stm32h7xx_hal_sdram.o + .debug_abbrev 0x000039a2 0x38b build/debug/stm32h7xx_hal_uart.o + .debug_abbrev 0x00003d2d 0x343 build/debug/stm32h7xx_hal_uart_ex.o + .debug_abbrev 0x00004070 0x1e8 build/debug/stm32h7xx_it.o + .debug_abbrev 0x00004258 0x1c4 build/debug/stm32h7xx_ll_fmc.o + .debug_abbrev 0x0000441c 0x249 build/debug/stm32h7xx_ll_sdmmc.o + .debug_abbrev 0x00004665 0x329 build/debug/stm32h7xx_ll_usb.o + .debug_abbrev 0x0000498e 0x14e build/debug/system_stm32h7xx.o + .debug_abbrev 0x00004adc 0x24 build/debug/startup_stm32h7a3xx.o + .debug_abbrev 0x00004b00 0x9e /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) + .debug_abbrev 0x00004b9e 0xc9 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) + .debug_abbrev 0x00004c67 0xc1 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o) + .debug_abbrev 0x00004d28 0x14 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) + .debug_abbrev 0x00004d3c 0x16a /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) + .debug_abbrev 0x00004ea6 0x26 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o) .debug_loclists - 0x00000000 0x1a357 + 0x00000000 0x15e49 .debug_loclists 0x00000000 0x286 build/debug/b_cccv_algo.o .debug_loclists @@ -5202,111 +3792,295 @@ LOAD /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a .debug_loclists 0x00013846 0x18ca build/debug/stm32h7xx_ll_usb.o .debug_loclists - 0x00015110 0x2cd build/debug/syscalls.o + 0x00015110 0x120 build/debug/system_stm32h7xx.o .debug_loclists - 0x000153dd 0x52 build/debug/sysmem.o + 0x00015230 0x4d /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) .debug_loclists - 0x0001542f 0x120 build/debug/system_stm32h7xx.o + 0x0001527d 0x54 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) .debug_loclists - 0x0001554f 0x28 build/debug/OSWrappers.o + 0x000152d1 0xad /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o) .debug_loclists - 0x00015577 0x189 build/debug/STM32DMA.o - .debug_loclists - 0x00015700 0x65 build/debug/STM32TouchController.o - .debug_loclists - 0x00015765 0xba2 build/debug/TouchGFXConfiguration.o - .debug_loclists - 0x00016307 0x24 build/debug/TouchGFXGPIO.o - .debug_loclists - 0x0001632b 0xddb build/debug/TouchGFXGeneratedHAL.o - .debug_loclists - 0x00017106 0x4d9 build/debug/TouchGFXHAL.o - .debug_loclists - 0x000175df 0x110 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-assert.o) - .debug_loclists - 0x000176ef 0x2b6 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) - .debug_loclists - 0x000179a5 0x80 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fprintf.o) - .debug_loclists - 0x00017a25 0x91 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o) - .debug_loclists - 0x00017ab6 0x25d /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) - .debug_loclists - 0x00017d13 0x4d /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) - .debug_loclists - 0x00017d60 0x58 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-closer.o) - .debug_loclists - 0x00017db8 0x9c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) - .debug_loclists - 0x00017e54 0xa0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o) - .debug_loclists - 0x00017ef4 0xa0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o) - .debug_loclists - 0x00017f94 0xa0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o) - .debug_loclists - 0x00018034 0x54 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) - .debug_loclists - 0x00018088 0x29 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) - .debug_loclists - 0x000180b1 0x71 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-aeabi_atexit.o) - .debug_loclists - 0x00018122 0xad /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o) - .debug_loclists - 0x000181cf 0x9e /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) - .debug_loclists - 0x0001826d 0xe2 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o) - .debug_loclists - 0x0001834f 0xe0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) - .debug_loclists - 0x0001842f 0x23a /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) - .debug_loclists - 0x00018669 0x46 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) - .debug_loclists - 0x000186af 0x78 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-cxa_atexit.o) - .debug_loclists - 0x00018727 0x428 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) - .debug_loclists - 0x00018b4f 0x449 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) - .debug_loclists - 0x00018f98 0x209 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) - .debug_loclists - 0x000191a1 0xf5 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wbuf.o) - .debug_loclists - 0x00019296 0x41 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wsetup.o) - .debug_loclists - 0x000192d7 0x2b1 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signal.o) - .debug_loclists - 0x00019588 0x99 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signalr.o) - .debug_loclists - 0x00019621 0x58 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) - .debug_loclists - 0x00019679 0x13f /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-makebuf.o) - .debug_loclists - 0x000197b8 0x7c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fstatr.o) - .debug_loclists - 0x00019834 0x58 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-isattyr.o) - .debug_loclists - 0x0001988c 0xacb /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) + 0x0001537e 0xacb /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) + +.debug_aranges 0x00000000 0x1d78 + .debug_aranges + 0x00000000 0x50 build/debug/b_cccv_algo.o + .debug_aranges + 0x00000050 0x60 build/debug/can-halal.o + .debug_aranges + 0x000000b0 0x28 build/debug/can.o + .debug_aranges + 0x000000d8 0x70 build/debug/charger_control.o + .debug_aranges + 0x00000148 0x90 build/debug/main.o + .debug_aranges + 0x000001d8 0x38 build/debug/slave_handler.o + .debug_aranges + 0x00000210 0x1a0 build/debug/stm32h7xx_hal.o + .debug_aranges + 0x000003b0 0xf8 build/debug/stm32h7xx_hal_cortex.o + .debug_aranges + 0x000004a8 0x60 build/debug/stm32h7xx_hal_crc.o + .debug_aranges + 0x00000508 0x30 build/debug/stm32h7xx_hal_crc_ex.o + .debug_aranges + 0x00000538 0x338 build/debug/stm32h7xx_hal_fdcan.o + .debug_aranges + 0x00000870 0x58 build/debug/stm32h7xx_hal_gpio.o + .debug_aranges + 0x000008c8 0x2a0 build/debug/stm32h7xx_hal_i2c.o + .debug_aranges + 0x00000b68 0x48 build/debug/stm32h7xx_hal_i2c_ex.o + .debug_aranges + 0x00000bb0 0x158 build/debug/stm32h7xx_hal_ltdc.o + .debug_aranges + 0x00000d08 0xb0 build/debug/stm32h7xx_hal_msp.o + .debug_aranges + 0x00000db8 0x140 build/debug/stm32h7xx_hal_pcd.o + .debug_aranges + 0x00000ef8 0x60 build/debug/stm32h7xx_hal_pcd_ex.o + .debug_aranges + 0x00000f58 0x188 build/debug/stm32h7xx_hal_pwr_ex.o + .debug_aranges + 0x000010e0 0x88 build/debug/stm32h7xx_hal_rcc.o + .debug_aranges + 0x00001168 0xf0 build/debug/stm32h7xx_hal_rcc_ex.o + .debug_aranges + 0x00001258 0x170 build/debug/stm32h7xx_hal_sd.o + .debug_aranges + 0x000013c8 0xe8 build/debug/stm32h7xx_hal_sdram.o + .debug_aranges + 0x000014b0 0x248 build/debug/stm32h7xx_hal_uart.o + .debug_aranges + 0x000016f8 0xa8 build/debug/stm32h7xx_hal_uart_ex.o + .debug_aranges + 0x000017a0 0x90 build/debug/stm32h7xx_it.o + .debug_aranges + 0x00001830 0xc8 build/debug/stm32h7xx_ll_fmc.o + .debug_aranges + 0x000018f8 0x1d0 build/debug/stm32h7xx_ll_sdmmc.o + .debug_aranges + 0x00001ac8 0x1a0 build/debug/stm32h7xx_ll_usb.o + .debug_aranges + 0x00001c68 0x28 build/debug/system_stm32h7xx.o + .debug_aranges + 0x00001c90 0x28 build/debug/startup_stm32h7a3xx.o + .debug_aranges + 0x00001cb8 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) + .debug_aranges + 0x00001cd8 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) + .debug_aranges + 0x00001cf8 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o) + .debug_aranges + 0x00001d18 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) + .debug_aranges + 0x00001d38 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) + .debug_aranges + 0x00001d58 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o) + +.debug_rnglists + 0x00000000 0x175d + .debug_rnglists + 0x00000000 0x3a build/debug/b_cccv_algo.o + .debug_rnglists + 0x0000003a 0x51 build/debug/can-halal.o + .debug_rnglists + 0x0000008b 0x19 build/debug/can.o + .debug_rnglists + 0x000000a4 0x51 build/debug/charger_control.o + .debug_rnglists + 0x000000f5 0x9d build/debug/main.o + .debug_rnglists + 0x00000192 0x32 build/debug/slave_handler.o + .debug_rnglists + 0x000001c4 0x135 build/debug/stm32h7xx_hal.o + .debug_rnglists + 0x000002f9 0xb5 build/debug/stm32h7xx_hal_cortex.o + .debug_rnglists + 0x000003ae 0x45 build/debug/stm32h7xx_hal_crc.o + .debug_rnglists + 0x000003f3 0x20 build/debug/stm32h7xx_hal_crc_ex.o + .debug_rnglists + 0x00000413 0x29a build/debug/stm32h7xx_hal_fdcan.o + .debug_rnglists + 0x000006ad 0x3f build/debug/stm32h7xx_hal_gpio.o + .debug_rnglists + 0x000006ec 0x21e build/debug/stm32h7xx_hal_i2c.o + .debug_rnglists + 0x0000090a 0x31 build/debug/stm32h7xx_hal_i2c_ex.o + .debug_rnglists + 0x0000093b 0x103 build/debug/stm32h7xx_hal_ltdc.o + .debug_rnglists + 0x00000a3e 0x88 build/debug/stm32h7xx_hal_msp.o + .debug_rnglists + 0x00000ac6 0xf1 build/debug/stm32h7xx_hal_pcd.o + .debug_rnglists + 0x00000bb7 0x44 build/debug/stm32h7xx_hal_pcd_ex.o + .debug_rnglists + 0x00000bfb 0x156 build/debug/stm32h7xx_hal_pwr_ex.o + .debug_rnglists + 0x00000d51 0xa9 build/debug/stm32h7xx_hal_rcc.o + .debug_rnglists + 0x00000dfa 0xb9 build/debug/stm32h7xx_hal_rcc_ex.o + .debug_rnglists + 0x00000eb3 0x123 build/debug/stm32h7xx_hal_sd.o + .debug_rnglists + 0x00000fd6 0xa9 build/debug/stm32h7xx_hal_sdram.o + .debug_rnglists + 0x0000107f 0x1cb build/debug/stm32h7xx_hal_uart.o + .debug_rnglists + 0x0000124a 0x88 build/debug/stm32h7xx_hal_uart_ex.o + .debug_rnglists + 0x000012d2 0x67 build/debug/stm32h7xx_it.o + .debug_rnglists + 0x00001339 0x93 build/debug/stm32h7xx_ll_fmc.o + .debug_rnglists + 0x000013cc 0x15a build/debug/stm32h7xx_ll_sdmmc.o + .debug_rnglists + 0x00001526 0x141 build/debug/stm32h7xx_ll_usb.o + .debug_rnglists + 0x00001667 0x1b build/debug/system_stm32h7xx.o + .debug_rnglists + 0x00001682 0x19 build/debug/startup_stm32h7a3xx.o + .debug_rnglists + 0x0000169b 0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) + .debug_rnglists + 0x000016ae 0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) + .debug_rnglists + 0x000016c1 0x13 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o) + .debug_rnglists + 0x000016d4 0x89 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) + +.debug_line 0x00000000 0x20f8a + .debug_line 0x00000000 0x3fb build/debug/b_cccv_algo.o + .debug_line 0x000003fb 0x498 build/debug/can-halal.o + .debug_line 0x00000893 0x203 build/debug/can.o + .debug_line 0x00000a96 0x3a2 build/debug/charger_control.o + .debug_line 0x00000e38 0xe34 build/debug/main.o + .debug_line 0x00001c6c 0x2b3 build/debug/slave_handler.o + .debug_line 0x00001f1f 0x88f build/debug/stm32h7xx_hal.o + .debug_line 0x000027ae 0x7d3 build/debug/stm32h7xx_hal_cortex.o + .debug_line 0x00002f81 0x519 build/debug/stm32h7xx_hal_crc.o + .debug_line 0x0000349a 0x24b build/debug/stm32h7xx_hal_crc_ex.o + .debug_line 0x000036e5 0x3338 build/debug/stm32h7xx_hal_fdcan.o + .debug_line 0x00006a1d 0x6af build/debug/stm32h7xx_hal_gpio.o + .debug_line 0x000070cc 0x4fdb build/debug/stm32h7xx_hal_i2c.o + .debug_line 0x0000c0a7 0x367 build/debug/stm32h7xx_hal_i2c_ex.o + .debug_line 0x0000c40e 0x11af build/debug/stm32h7xx_hal_ltdc.o + .debug_line 0x0000d5bd 0xc55 build/debug/stm32h7xx_hal_msp.o + .debug_line 0x0000e212 0x13d7 build/debug/stm32h7xx_hal_pcd.o + .debug_line 0x0000f5e9 0x458 build/debug/stm32h7xx_hal_pcd_ex.o + .debug_line 0x0000fa41 0xae4 build/debug/stm32h7xx_hal_pwr_ex.o + .debug_line 0x00010525 0x1337 build/debug/stm32h7xx_hal_rcc.o + .debug_line 0x0001185c 0x1e24 build/debug/stm32h7xx_hal_rcc_ex.o + .debug_line 0x00013680 0x2982 build/debug/stm32h7xx_hal_sd.o + .debug_line 0x00016002 0x9d9 build/debug/stm32h7xx_hal_sdram.o + .debug_line 0x000169db 0x50e3 build/debug/stm32h7xx_hal_uart.o + .debug_line 0x0001babe 0xa10 build/debug/stm32h7xx_hal_uart_ex.o + .debug_line 0x0001c4ce 0x30d build/debug/stm32h7xx_it.o + .debug_line 0x0001c7db 0x6af build/debug/stm32h7xx_ll_fmc.o + .debug_line 0x0001ce8a 0x1424 build/debug/stm32h7xx_ll_sdmmc.o + .debug_line 0x0001e2ae 0x1e92 build/debug/stm32h7xx_ll_usb.o + .debug_line 0x00020140 0x3a6 build/debug/system_stm32h7xx.o + .debug_line 0x000204e6 0x77 build/debug/startup_stm32h7a3xx.o + .debug_line 0x0002055d 0x12d /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) + .debug_line 0x0002068a 0xff /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) + .debug_line 0x00020789 0x185 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o) + .debug_line 0x0002090e 0x4e /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) + .debug_line 0x0002095c 0x5e4 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) + .debug_line 0x00020f40 0x4a /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o) + +.debug_str 0x00000000 0xb072 + .debug_str 0x00000000 0xb072 build/debug/b_cccv_algo.o + 0x40f (size before relaxing) + .debug_str 0x0000b072 0xa39 build/debug/can-halal.o + .debug_str 0x0000b072 0x789 build/debug/can.o + .debug_str 0x0000b072 0xa90 build/debug/charger_control.o + .debug_str 0x0000b072 0x295a build/debug/main.o + .debug_str 0x0000b072 0x37d build/debug/slave_handler.o + .debug_str 0x0000b072 0x1456 build/debug/stm32h7xx_hal.o + .debug_str 0x0000b072 0x1029 build/debug/stm32h7xx_hal_cortex.o + .debug_str 0x0000b072 0x47c build/debug/stm32h7xx_hal_crc.o + .debug_str 0x0000b072 0x422 build/debug/stm32h7xx_hal_crc_ex.o + .debug_str 0x0000b072 0x1d96 build/debug/stm32h7xx_hal_fdcan.o + .debug_str 0x0000b072 0x6ac build/debug/stm32h7xx_hal_gpio.o + .debug_str 0x0000b072 0x1170 build/debug/stm32h7xx_hal_i2c.o + .debug_str 0x0000b072 0xb03 build/debug/stm32h7xx_hal_i2c_ex.o + .debug_str 0x0000b072 0x9c2 build/debug/stm32h7xx_hal_ltdc.o + .debug_str 0x0000b072 0x2c21 build/debug/stm32h7xx_hal_msp.o + .debug_str 0x0000b072 0xe36 build/debug/stm32h7xx_hal_pcd.o + .debug_str 0x0000b072 0x822 build/debug/stm32h7xx_hal_pcd_ex.o + .debug_str 0x0000b072 0xae5 build/debug/stm32h7xx_hal_pwr_ex.o + .debug_str 0x0000b072 0xa36 build/debug/stm32h7xx_hal_rcc.o + .debug_str 0x0000b072 0xef5 build/debug/stm32h7xx_hal_rcc_ex.o + .debug_str 0x0000b072 0x1016 build/debug/stm32h7xx_hal_sd.o + .debug_str 0x0000b072 0xb9e build/debug/stm32h7xx_hal_sdram.o + .debug_str 0x0000b072 0x14be build/debug/stm32h7xx_hal_uart.o + .debug_str 0x0000b072 0xb91 build/debug/stm32h7xx_hal_uart_ex.o + .debug_str 0x0000b072 0xec5 build/debug/stm32h7xx_it.o + .debug_str 0x0000b072 0x8a3 build/debug/stm32h7xx_ll_fmc.o + .debug_str 0x0000b072 0x935 build/debug/stm32h7xx_ll_sdmmc.o + .debug_str 0x0000b072 0xd7e build/debug/stm32h7xx_ll_usb.o + .debug_str 0x0000b072 0x70d build/debug/system_stm32h7xx.o + .debug_str 0x0000b072 0x6d build/debug/startup_stm32h7a3xx.o + .debug_str 0x0000b072 0x1e2 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) + .debug_str 0x0000b072 0x243 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) + .debug_str 0x0000b072 0x200 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o) + .debug_str 0x0000b072 0xd2 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) + .debug_str 0x0000b072 0x6ae /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) + .debug_str 0x0000b072 0xf2 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o) + +.debug_frame 0x00000000 0x4e80 + .debug_frame 0x00000000 0xe0 build/debug/b_cccv_algo.o + .debug_frame 0x000000e0 0xf0 build/debug/can-halal.o + .debug_frame 0x000001d0 0x40 build/debug/can.o + .debug_frame 0x00000210 0x14c build/debug/charger_control.o + .debug_frame 0x0000035c 0x1c4 build/debug/main.o + .debug_frame 0x00000520 0x70 build/debug/slave_handler.o + .debug_frame 0x00000590 0x370 build/debug/stm32h7xx_hal.o + .debug_frame 0x00000900 0x214 build/debug/stm32h7xx_hal_cortex.o + .debug_frame 0x00000b14 0xec build/debug/stm32h7xx_hal_crc.o + .debug_frame 0x00000c00 0x58 build/debug/stm32h7xx_hal_crc_ex.o + .debug_frame 0x00000c58 0x7a4 build/debug/stm32h7xx_hal_fdcan.o + .debug_frame 0x000013fc 0xd4 build/debug/stm32h7xx_hal_gpio.o + .debug_frame 0x000014d0 0x98c build/debug/stm32h7xx_hal_i2c.o + .debug_frame 0x00001e5c 0x80 build/debug/stm32h7xx_hal_i2c_ex.o + .debug_frame 0x00001edc 0x3c4 build/debug/stm32h7xx_hal_ltdc.o + .debug_frame 0x000022a0 0x23c build/debug/stm32h7xx_hal_msp.o + .debug_frame 0x000024dc 0x378 build/debug/stm32h7xx_hal_pcd.o + .debug_frame 0x00002854 0xb8 build/debug/stm32h7xx_hal_pcd_ex.o + .debug_frame 0x0000290c 0x354 build/debug/stm32h7xx_hal_pwr_ex.o + .debug_frame 0x00002c60 0x184 build/debug/stm32h7xx_hal_rcc.o + .debug_frame 0x00002de4 0x274 build/debug/stm32h7xx_hal_rcc_ex.o + .debug_frame 0x00003058 0x4c0 build/debug/stm32h7xx_hal_sd.o + .debug_frame 0x00003518 0x284 build/debug/stm32h7xx_hal_sdram.o + .debug_frame 0x0000379c 0x680 build/debug/stm32h7xx_hal_uart.o + .debug_frame 0x00003e1c 0x1c8 build/debug/stm32h7xx_hal_uart_ex.o + .debug_frame 0x00003fe4 0x138 build/debug/stm32h7xx_it.o + .debug_frame 0x0000411c 0x1d8 build/debug/stm32h7xx_ll_fmc.o + .debug_frame 0x000042f4 0x5e0 build/debug/stm32h7xx_ll_sdmmc.o + .debug_frame 0x000048d4 0x498 build/debug/stm32h7xx_ll_usb.o + .debug_frame 0x00004d6c 0x40 build/debug/system_stm32h7xx.o + .debug_frame 0x00004dac 0x20 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) + .debug_frame 0x00004dcc 0x2c /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) + .debug_frame 0x00004df8 0x28 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o) + .debug_frame 0x00004e20 0x2c /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) + .debug_frame 0x00004e4c 0x34 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) .debug_line_str - 0x00000000 0x1e2 + 0x00000000 0x125 .debug_line_str - 0x00000000 0x1e2 build/debug/startup_stm32h7a3xx.o + 0x00000000 0x125 build/debug/startup_stm32h7a3xx.o 0x53 (size before relaxing) .debug_line_str - 0x000001e2 0xbd /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memchr.o) + 0x00000125 0xc6 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) .debug_line_str - 0x000001e2 0xc6 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) - .debug_line_str - 0x000001e2 0xca /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o) + 0x00000125 0xca /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o) Cross Reference Table Symbol File ADC_IRQHandler build/debug/startup_stm32h7a3xx.o -ApplicationFontProvider::~ApplicationFontProvider() build/debug/TouchGFXConfiguration.o -ApplicationFontProvider::~ApplicationFontProvider() build/debug/TouchGFXConfiguration.o -ApplicationFontProvider::~ApplicationFontProvider() build/debug/TouchGFXConfiguration.o BDMA1_IRQHandler build/debug/startup_stm32h7a3xx.o BDMA2_Channel0_IRQHandler build/debug/startup_stm32h7a3xx.o BDMA2_Channel1_IRQHandler build/debug/startup_stm32h7a3xx.o @@ -5316,8 +4090,6 @@ BDMA2_Channel4_IRQHandler build/debug/startup_stm32h7a3x BDMA2_Channel5_IRQHandler build/debug/startup_stm32h7a3xx.o BDMA2_Channel6_IRQHandler build/debug/startup_stm32h7a3xx.o BDMA2_Channel7_IRQHandler build/debug/startup_stm32h7a3xx.o -BitmapDatabase::getInstance() build/debug/TouchGFXConfiguration.o -BitmapDatabase::getInstanceSize() build/debug/TouchGFXConfiguration.o BusFault_Handler build/debug/stm32h7xx_it.o CEC_IRQHandler build/debug/startup_stm32h7a3xx.o COMP_IRQHandler build/debug/startup_stm32h7a3xx.o @@ -5420,27 +4192,6 @@ FMC_SDRAM_WriteProtection_Disable build/debug/stm32h7xx_ll_fmc.o FMC_SDRAM_WriteProtection_Enable build/debug/stm32h7xx_ll_fmc.o build/debug/stm32h7xx_hal_sdram.o FPU_IRQHandler build/debug/startup_stm32h7a3xx.o -FrontendApplication::FrontendApplication(Model&, FrontendHeap&) build/debug/TouchGFXConfiguration.o -FrontendApplication::handleTickEvent() build/debug/TouchGFXConfiguration.o -FrontendApplication::~FrontendApplication() build/debug/TouchGFXConfiguration.o -FrontendApplication::~FrontendApplication() build/debug/TouchGFXConfiguration.o -FrontendApplication::~FrontendApplication() build/debug/TouchGFXConfiguration.o -FrontendApplicationBase::changeToStartScreen() build/debug/TouchGFXConfiguration.o -FrontendApplicationBase::gotoscreenScreenNoTransition() build/debug/TouchGFXConfiguration.o -FrontendApplicationBase::~FrontendApplicationBase() build/debug/TouchGFXConfiguration.o -FrontendApplicationBase::~FrontendApplicationBase() build/debug/TouchGFXConfiguration.o -FrontendApplicationBase::~FrontendApplicationBase() build/debug/TouchGFXConfiguration.o -FrontendHeap::FrontendHeap() build/debug/TouchGFXConfiguration.o -FrontendHeap::FrontendHeap() build/debug/TouchGFXConfiguration.o -FrontendHeap::getInstance() build/debug/TouchGFXConfiguration.o -FrontendHeap::getInstance()::instance build/debug/TouchGFXConfiguration.o -FrontendHeap::~FrontendHeap() build/debug/TouchGFXConfiguration.o -FrontendHeap::~FrontendHeap() build/debug/TouchGFXConfiguration.o -FrontendHeap::~FrontendHeap() build/debug/TouchGFXConfiguration.o -FrontendHeapBase::gotoStartScreen(FrontendApplication&) build/debug/TouchGFXConfiguration.o -FrontendHeapBase::~FrontendHeapBase() build/debug/TouchGFXConfiguration.o -FrontendHeapBase::~FrontendHeapBase() build/debug/TouchGFXConfiguration.o -FrontendHeapBase::~FrontendHeapBase() build/debug/TouchGFXConfiguration.o GFXMMU_IRQHandler build/debug/startup_stm32h7a3xx.o HAL_CRCEx_Input_Data_Reverse build/debug/stm32h7xx_hal_crc_ex.o HAL_CRCEx_Output_Data_Reverse build/debug/stm32h7xx_hal_crc_ex.o @@ -5492,7 +4243,6 @@ HAL_DMA_Start_IT build/debug/stm32h7xx_hal_dma. HAL_DMA_UnRegisterCallback build/debug/stm32h7xx_hal_dma.o HAL_DeInit build/debug/stm32h7xx_hal.o HAL_Delay build/debug/stm32h7xx_hal.o - build/debug/OSWrappers.o build/debug/stm32h7xx_ll_usb.o build/debug/stm32h7xx_hal_sd.o build/debug/stm32h7xx_hal_pcd_ex.o @@ -5800,14 +4550,12 @@ HAL_LTDC_IRQHandler build/debug/stm32h7xx_hal_ltdc build/debug/stm32h7xx_it.o HAL_LTDC_Init build/debug/stm32h7xx_hal_ltdc.o build/debug/main.o -HAL_LTDC_LineEventCallback build/debug/TouchGFXGeneratedHAL.o - build/debug/stm32h7xx_hal_ltdc.o +HAL_LTDC_LineEventCallback build/debug/stm32h7xx_hal_ltdc.o HAL_LTDC_MspDeInit build/debug/stm32h7xx_hal_msp.o build/debug/stm32h7xx_hal_ltdc.o HAL_LTDC_MspInit build/debug/stm32h7xx_hal_msp.o build/debug/stm32h7xx_hal_ltdc.o HAL_LTDC_ProgramLineEvent build/debug/stm32h7xx_hal_ltdc.o - build/debug/TouchGFXGeneratedHAL.o HAL_LTDC_Reload build/debug/stm32h7xx_hal_ltdc.o HAL_LTDC_ReloadEventCallback build/debug/stm32h7xx_hal_ltdc.o HAL_LTDC_SetAddress build/debug/stm32h7xx_hal_ltdc.o @@ -6204,14 +4952,8 @@ LTDC_IRQHandler build/debug/stm32h7xx_it.o MDIOS_IRQHandler build/debug/startup_stm32h7a3xx.o MDIOS_WKUP_IRQHandler build/debug/startup_stm32h7a3xx.o MDMA_IRQHandler build/debug/startup_stm32h7a3xx.o -MX_TouchGFX_Init build/debug/app_touchgfx.o - build/debug/main.o -MX_TouchGFX_Process build/debug/app_touchgfx.o - build/debug/main.o MemManage_Handler build/debug/stm32h7xx_it.o MemoryCheck build/debug/main.o -Model::Model() build/debug/TouchGFXConfiguration.o -Model::tick() build/debug/TouchGFXConfiguration.o NMI_Handler build/debug/stm32h7xx_it.o OCTOSPI1_IRQHandler build/debug/startup_stm32h7a3xx.o OCTOSPI2_IRQHandler build/debug/startup_stm32h7a3xx.o @@ -6326,28 +5068,6 @@ SPI3_IRQHandler build/debug/startup_stm32h7a3x SPI4_IRQHandler build/debug/startup_stm32h7a3xx.o SPI5_IRQHandler build/debug/startup_stm32h7a3xx.o SPI6_IRQHandler build/debug/startup_stm32h7a3xx.o -STM32DMA::STM32DMA() build/debug/STM32DMA.o - build/debug/TouchGFXConfiguration.o -STM32DMA::STM32DMA() build/debug/STM32DMA.o -STM32DMA::flush() build/debug/STM32DMA.o -STM32DMA::getBlitCaps() build/debug/STM32DMA.o -STM32DMA::setupDataCopy(touchgfx::BlitOp const&) build/debug/STM32DMA.o -STM32DMA::setupDataFill(touchgfx::BlitOp const&) build/debug/STM32DMA.o -STM32DMA::signalDMAInterrupt() build/debug/STM32DMA.o -STM32DMA::~STM32DMA() build/debug/STM32DMA.o - build/debug/TouchGFXConfiguration.o -STM32DMA::~STM32DMA() build/debug/STM32DMA.o - build/debug/TouchGFXConfiguration.o -STM32DMA::~STM32DMA() build/debug/STM32DMA.o - build/debug/TouchGFXConfiguration.o -STM32TouchController::init() build/debug/STM32TouchController.o -STM32TouchController::sampleTouch(long&, long&) build/debug/STM32TouchController.o -STM32TouchController::~STM32TouchController() build/debug/STM32TouchController.o - build/debug/TouchGFXConfiguration.o -STM32TouchController::~STM32TouchController() build/debug/STM32TouchController.o - build/debug/TouchGFXConfiguration.o -STM32TouchController::~STM32TouchController() build/debug/STM32TouchController.o - build/debug/TouchGFXConfiguration.o SVC_Handler build/debug/stm32h7xx_it.o SWPMI1_IRQHandler build/debug/startup_stm32h7a3xx.o SysTick_Handler build/debug/stm32h7xx_it.o @@ -6383,57 +5103,6 @@ TIM8_BRK_TIM12_IRQHandler build/debug/startup_stm32h7a3x TIM8_CC_IRQHandler build/debug/startup_stm32h7a3xx.o TIM8_TRG_COM_TIM14_IRQHandler build/debug/startup_stm32h7a3xx.o TIM8_UP_TIM13_IRQHandler build/debug/startup_stm32h7a3xx.o -TouchGFXGeneratedHAL::FlushCache() build/debug/TouchGFXGeneratedHAL.o - build/debug/TouchGFXHAL.o -TouchGFXGeneratedHAL::InvalidateCache() build/debug/TouchGFXGeneratedHAL.o - build/debug/TouchGFXHAL.o -TouchGFXGeneratedHAL::beginFrame() build/debug/TouchGFXGeneratedHAL.o - build/debug/TouchGFXHAL.o -TouchGFXGeneratedHAL::blockCopy(void*, void const*, unsigned long) build/debug/TouchGFXGeneratedHAL.o - build/debug/TouchGFXHAL.o -TouchGFXGeneratedHAL::configureInterrupts() build/debug/TouchGFXGeneratedHAL.o - build/debug/TouchGFXHAL.o -TouchGFXGeneratedHAL::disableInterrupts() build/debug/TouchGFXGeneratedHAL.o - build/debug/TouchGFXHAL.o -TouchGFXGeneratedHAL::enableInterrupts() build/debug/TouchGFXGeneratedHAL.o - build/debug/TouchGFXHAL.o -TouchGFXGeneratedHAL::enableLCDControllerInterrupt() build/debug/TouchGFXGeneratedHAL.o - build/debug/TouchGFXHAL.o -TouchGFXGeneratedHAL::endFrame() build/debug/TouchGFXGeneratedHAL.o - build/debug/TouchGFXHAL.o -TouchGFXGeneratedHAL::flushFrameBuffer() build/debug/TouchGFXGeneratedHAL.o -TouchGFXGeneratedHAL::flushFrameBuffer(touchgfx::Rect const&) build/debug/TouchGFXGeneratedHAL.o - build/debug/TouchGFXHAL.o -TouchGFXGeneratedHAL::getTFTCurrentLine() build/debug/TouchGFXGeneratedHAL.o - build/debug/TouchGFXHAL.o -TouchGFXGeneratedHAL::getTFTFrameBuffer() const build/debug/TouchGFXGeneratedHAL.o - build/debug/TouchGFXHAL.o -TouchGFXGeneratedHAL::initialize() build/debug/TouchGFXGeneratedHAL.o - build/debug/TouchGFXHAL.o -TouchGFXGeneratedHAL::setTFTFrameBuffer(unsigned short*) build/debug/TouchGFXGeneratedHAL.o - build/debug/TouchGFXHAL.o -TouchGFXGeneratedHAL::~TouchGFXGeneratedHAL() build/debug/TouchGFXGeneratedHAL.o -TouchGFXGeneratedHAL::~TouchGFXGeneratedHAL() build/debug/TouchGFXGeneratedHAL.o -TouchGFXGeneratedHAL::~TouchGFXGeneratedHAL() build/debug/TouchGFXGeneratedHAL.o -TouchGFXHAL::beginFrame() build/debug/TouchGFXHAL.o -TouchGFXHAL::blockCopy(void*, void const*, unsigned long) build/debug/TouchGFXHAL.o -TouchGFXHAL::configureInterrupts() build/debug/TouchGFXHAL.o -TouchGFXHAL::disableInterrupts() build/debug/TouchGFXHAL.o -TouchGFXHAL::enableInterrupts() build/debug/TouchGFXHAL.o -TouchGFXHAL::enableLCDControllerInterrupt() build/debug/TouchGFXHAL.o -TouchGFXHAL::endFrame() build/debug/TouchGFXHAL.o -TouchGFXHAL::flushFrameBuffer() build/debug/TouchGFXHAL.o -TouchGFXHAL::flushFrameBuffer(touchgfx::Rect const&) build/debug/TouchGFXHAL.o -TouchGFXHAL::getTFTFrameBuffer() const build/debug/TouchGFXHAL.o -TouchGFXHAL::initialize() build/debug/TouchGFXHAL.o - build/debug/TouchGFXConfiguration.o -TouchGFXHAL::setTFTFrameBuffer(unsigned short*) build/debug/TouchGFXHAL.o -TouchGFXHAL::~TouchGFXHAL() build/debug/TouchGFXConfiguration.o - build/debug/TouchGFXHAL.o -TouchGFXHAL::~TouchGFXHAL() build/debug/TouchGFXConfiguration.o - build/debug/TouchGFXHAL.o -TouchGFXHAL::~TouchGFXHAL() build/debug/TouchGFXConfiguration.o - build/debug/TouchGFXHAL.o UART4_IRQHandler build/debug/startup_stm32h7a3xx.o UART5_IRQHandler build/debug/startup_stm32h7a3xx.o UART7_IRQHandler build/debug/startup_stm32h7a3xx.o @@ -6544,18 +5213,11 @@ _ITM_registerTMCloneTable /usr/lib/gcc/arm-none-eabi/14. _Min_Stack_Size build/debug/sysmem.o __TMC_END__ /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtend.o /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o -__aeabi_atexit /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-aeabi_atexit.o) - build/debug/TouchGFXConfiguration.o __aeabi_idiv0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o) __aeabi_ldiv0 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o) /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) __aeabi_uldivmod /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) build/debug/stm32h7xx_hal_uart.o -__assert /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-assert.o) -__assert_func /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-assert.o) - build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o - build/debug/STM32DMA.o __atexit /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) __atexit0 /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) @@ -6567,17 +5229,8 @@ __bss_start__ /usr/lib/gcc/arm-none-eabi/14. __call_exitprocs /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-exit.o) -__cxa_atexit /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-cxa_atexit.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-aeabi_atexit.o) -__cxa_atexit_dummy /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-cxa_atexit.o) -__cxa_guard_acquire build/debug/TouchGFXConfiguration.o -__cxa_guard_release build/debug/TouchGFXConfiguration.o -__cxa_pure_virtual build/debug/TouchGFXConfiguration.o - build/debug/STM32TouchController.o - build/debug/STM32DMA.o __deregister_frame_info /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o __dso_handle /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o - build/debug/TouchGFXConfiguration.o __env build/debug/syscalls.o __errno /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) build/debug/sysmem.o @@ -6615,19 +5268,15 @@ __malloc_sbrk_start /usr/lib/gcc/arm-none-eabi/14. __malloc_unlock /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) -__on_exit_args /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-on_exit_args.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-cxa_atexit.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) +__on_exit_args /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) __preinit_array_end /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) __preinit_array_start /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) __register_exitproc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-cxa_atexit.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-atexit.o) __register_frame_info /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crtbegin.o __retarget_lock_acquire /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) __retarget_lock_acquire_recursive /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) @@ -6640,7 +5289,6 @@ __retarget_lock_init_recursive /usr/lib/gcc/arm-none-eabi/14. __retarget_lock_release /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) __retarget_lock_release_recursive /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lock.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__call_atexit.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) @@ -6656,21 +5304,10 @@ __sflush_r /usr/lib/gcc/arm-none-eabi/14. __sfp /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) __sfp_lock_acquire /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) __sfp_lock_release /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) -__sfputs_r /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) -__sfvwrite_r /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fvwrite.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) __sglue /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) -__sigtramp /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signal.o) -__sigtramp_r /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signal.o) __sinit /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wsetup.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wbuf.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) -__smakebuf_r /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-makebuf.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wsetup.o) -__sprint_r /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) __sread /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) __sseek /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) @@ -6678,16 +5315,8 @@ __sseek /usr/lib/gcc/arm-none-eabi/14. __stack /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o __stdio_exit_handler /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-exit.o) -__swbuf /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wbuf.o) -__swbuf_r /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wbuf.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) -__swhatbuf_r /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-makebuf.o) __swrite /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) -__swsetup_r /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wsetup.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wbuf.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fvwrite.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) __udivmoddi4 /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) _close build/debug/syscalls.o @@ -6701,59 +5330,31 @@ _estack build/debug/startup_stm32h7a3x build/debug/sysmem.o _execve build/debug/syscalls.o _exit build/debug/syscalls.o - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-abort.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-exit.o) _fflush_r /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wbuf.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fvwrite.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) _fini /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crti.o /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fini.o) -_fiprintf_r /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fprintf.o) _fork build/debug/syscalls.o -_fprintf_r /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fprintf.o) _free_r /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reallocr.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wsetup.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fvwrite.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) _fstat build/debug/syscalls.o - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fstatr.o) -_fstat_r /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fstatr.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-makebuf.o) _fwalk_sglue /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fwalk.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) _getpid build/debug/syscalls.o - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signalr.o) -_getpid_r /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signalr.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signal.o) _impure_data /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) _impure_ptr /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signal.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wsetup.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-wbuf.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fprintf.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-assert.o) _init /usr/lib/gcc/arm-none-eabi/14.1.0/thumb/v7e-m+dp/hard/crti.o /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) -_init_signal /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signal.o) -_init_signal_r /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signal.o) _isatty build/debug/syscalls.o - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-isattyr.o) -_isatty_r /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-isattyr.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-makebuf.o) _kill build/debug/syscalls.o - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signalr.o) -_kill_r /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signalr.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signal.o) _link build/debug/syscalls.o _lseek build/debug/syscalls.o /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o) @@ -6761,25 +5362,12 @@ _lseek_r /usr/lib/gcc/arm-none-eabi/14. /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) _mainCRTStartup /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o _malloc_r /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-makebuf.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reallocr.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signal.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fvwrite.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) -_malloc_usable_size_r /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-msizer.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reallocr.o) _open build/debug/syscalls.o -_printf_common /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) -_printf_float /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) -_printf_i /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) -_raise_r /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signal.o) _read build/debug/syscalls.o /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o) _read_r /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) -_realloc_r /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reallocr.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fvwrite.o) _reclaim_reent /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) _sbrk build/debug/sysmem.o /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) @@ -6788,22 +5376,16 @@ _sbrk_r /usr/lib/gcc/arm-none-eabi/14. _sbss build/debug/startup_stm32h7a3xx.o _sdata build/debug/startup_stm32h7a3xx.o _sidata build/debug/startup_stm32h7a3xx.o -_signal_r /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signal.o) _stack_init /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o _start /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o _stat build/debug/syscalls.o _times build/debug/syscalls.o _unlink build/debug/syscalls.o -_vfiprintf_r /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) -_vfprintf_r /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fprintf.o) _wait build/debug/syscalls.o _write build/debug/syscalls.o /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o) _write_r /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-stdio.o) -abort /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-abort.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-assert.o) atexit /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-atexit.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o cccvloop build/debug/b_cccv_algo.o @@ -6838,10 +5420,7 @@ chargerstate build/debug/b_cccv_algo.o chargingloop build/debug/b_cccv_algo.o environ build/debug/syscalls.o errno /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-isattyr.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fstatr.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signalr.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-writer.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-readr.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-lseekr.o) @@ -6849,9 +5428,6 @@ errno /usr/lib/gcc/arm-none-eabi/14. exit /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-exit.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o fflush /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fflush.o) -fiprintf /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fprintf.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-assert.o) -fprintf /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fprintf.o) ftcan_add_filter build/debug/can-halal.o build/debug/can.o ftcan_init build/debug/can-halal.o @@ -6865,7 +5441,6 @@ ftcan_unmarshal_signed build/debug/can-halal.o ftcan_unmarshal_unsigned build/debug/can-halal.o build/debug/slave_handler.o g_pfnVectors build/debug/startup_stm32h7a3xx.o -guard variable for FrontendHeap::getInstance()::instance build/debug/TouchGFXConfiguration.o hardware_init_hook /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o hcrc build/debug/main.o hfdcan1 build/debug/main.o @@ -6888,16 +5463,8 @@ main build/debug/main.o build/debug/startup_stm32h7a3xx.o /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o malloc /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-__atexit.o) -memchr /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memchr.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fvwrite.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) memcpy /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy-stub.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reallocr.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fvwrite.o) build/debug/stm32h7xx_hal_fdcan.o -memmove /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memmove.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-fvwrite.o) memset /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) build/debug/stm32h7xx_hal_sd.o @@ -6905,22 +5472,14 @@ memset /usr/lib/gcc/arm-none-eabi/14. build/debug/slave_handler.o build/debug/main.o /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o -operator delete(void*, unsigned int) build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o - build/debug/TouchGFXConfiguration.o - build/debug/STM32TouchController.o - build/debug/STM32DMA.o pFlash build/debug/stm32h7xx_hal_flash.o build/debug/stm32h7xx_hal_flash_ex.o -raise /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signal.o) - /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-abort.o) readADCCurrent build/debug/charger_control.o readADCVoltage build/debug/charger_control.o setchargecurrent build/debug/b_cccv_algo.o build/debug/main.o setchargevoltage build/debug/b_cccv_algo.o build/debug/main.o -signal /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-signal.o) slave_handler_init build/debug/slave_handler.o build/debug/main.o slaves build/debug/slave_handler.o @@ -6931,275 +5490,7 @@ startcharging build/debug/b_cccv_algo.o stopcharging build/debug/b_cccv_algo.o suart build/debug/charge_ctrl_test_shell.o testarray build/debug/main.o -touchgfx::AbstractPartition::AbstractPartition() build/debug/TouchGFXConfiguration.o -touchgfx::AbstractPartition::allocate(unsigned short) build/debug/TouchGFXConfiguration.o -touchgfx::AbstractPartition::allocateAt(unsigned short, unsigned short) build/debug/TouchGFXConfiguration.o -touchgfx::AbstractPartition::clear() build/debug/TouchGFXConfiguration.o -touchgfx::AbstractPartition::getAllocationCount() const build/debug/TouchGFXConfiguration.o -touchgfx::AbstractPartition::indexOf(void const*) build/debug/TouchGFXConfiguration.o -touchgfx::AbstractPartition::~AbstractPartition() build/debug/TouchGFXConfiguration.o -touchgfx::Application::appSwitchScreen(unsigned char) build/debug/TouchGFXConfiguration.o -touchgfx::Application::changeToStartScreen() build/debug/TouchGFXConfiguration.o -touchgfx::Application::clearCachedAreas() build/debug/TouchGFXConfiguration.o -touchgfx::Application::draw() build/debug/TouchGFXConfiguration.o -touchgfx::Application::draw(touchgfx::Rect&) build/debug/TouchGFXConfiguration.o -touchgfx::Application::drawCachedAreas() build/debug/TouchGFXConfiguration.o -touchgfx::Application::getInstance() build/debug/TouchGFXGeneratedHAL.o -touchgfx::Application::handleClickEvent(touchgfx::ClickEvent const&) build/debug/TouchGFXConfiguration.o -touchgfx::Application::handleDragEvent(touchgfx::DragEvent const&) build/debug/TouchGFXConfiguration.o -touchgfx::Application::handleGestureEvent(touchgfx::GestureEvent const&) build/debug/TouchGFXConfiguration.o -touchgfx::Application::handleKeyEvent(unsigned char) build/debug/TouchGFXConfiguration.o -touchgfx::Application::handleTickEvent() build/debug/TouchGFXConfiguration.o -touchgfx::Application::invalidate() build/debug/TouchGFXConfiguration.o -touchgfx::Application::invalidateArea(touchgfx::Rect) build/debug/TouchGFXConfiguration.o -touchgfx::Application::requestRedraw() build/debug/TouchGFXConfiguration.o -touchgfx::Application::requestRedraw(touchgfx::Rect&) build/debug/TouchGFXConfiguration.o -touchgfx::Application::switchScreen(touchgfx::Screen*) build/debug/TouchGFXConfiguration.o -touchgfx::Bitmap::registerBitmapDatabase(touchgfx::Bitmap::BitmapData const*, unsigned short, unsigned short*, unsigned long, unsigned long) build/debug/TouchGFXConfiguration.o -touchgfx::Callback::execute() build/debug/TouchGFXConfiguration.o -touchgfx::Callback::isValid() const build/debug/TouchGFXConfiguration.o -touchgfx::Callback::~Callback() build/debug/TouchGFXConfiguration.o -touchgfx::Callback::~Callback() build/debug/TouchGFXConfiguration.o -touchgfx::Callback::~Callback() build/debug/TouchGFXConfiguration.o -touchgfx::DMA_Interface::addToQueue(touchgfx::BlitOp const&) build/debug/STM32DMA.o -touchgfx::DMA_Interface::disableAlpha() build/debug/STM32DMA.o -touchgfx::DMA_Interface::enableAlpha(unsigned char) build/debug/STM32DMA.o -touchgfx::DMA_Interface::enableCopyWithTransparentPixels(unsigned char) build/debug/STM32DMA.o -touchgfx::DMA_Interface::execute() build/debug/STM32DMA.o -touchgfx::DMA_Interface::executeCompleted() build/debug/STM32DMA.o -touchgfx::DMA_Interface::getDMAType() build/debug/STM32DMA.o -touchgfx::DMA_Interface::initialize() build/debug/STM32DMA.o -touchgfx::DMA_Interface::seedExecution() build/debug/STM32DMA.o -touchgfx::DMA_Interface::start() build/debug/STM32DMA.o -touchgfx::DMA_Interface::waitForFrameBufferSemaphore() build/debug/STM32DMA.o -touchgfx::FontManager::setFontProvider(touchgfx::FontProvider*) build/debug/TouchGFXConfiguration.o -touchgfx::GPIO::clear(touchgfx::GPIO::GPIO_ID) build/debug/TouchGFXGPIO.o - build/debug/TouchGFXGeneratedHAL.o -touchgfx::GPIO::get(touchgfx::GPIO::GPIO_ID) build/debug/TouchGFXGPIO.o -touchgfx::GPIO::init() build/debug/TouchGFXGPIO.o -touchgfx::GPIO::set(touchgfx::GPIO::GPIO_ID) build/debug/TouchGFXGPIO.o - build/debug/TouchGFXGeneratedHAL.o -touchgfx::GPIO::toggle(touchgfx::GPIO::GPIO_ID) build/debug/TouchGFXGPIO.o -touchgfx::HAL::DISPLAY_HEIGHT build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o - build/debug/TouchGFXConfiguration.o -touchgfx::HAL::DISPLAY_ROTATION build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o - build/debug/TouchGFXConfiguration.o -touchgfx::HAL::DISPLAY_WIDTH build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o - build/debug/TouchGFXConfiguration.o -touchgfx::HAL::FRAME_BUFFER_HEIGHT build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o - build/debug/TouchGFXConfiguration.o -touchgfx::HAL::FRAME_BUFFER_WIDTH build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o - build/debug/TouchGFXConfiguration.o -touchgfx::HAL::HAL(touchgfx::DMA_Interface&, touchgfx::LCD&, touchgfx::TouchController&, unsigned short, unsigned short) build/debug/TouchGFXConfiguration.o -touchgfx::HAL::HAL(touchgfx::DMA_Interface&, touchgfx::LCD&, touchgfx::TouchController&, unsigned short, unsigned short) build/debug/TouchGFXConfiguration.o -touchgfx::HAL::USE_ANIMATION_STORAGE build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o -touchgfx::HAL::USE_DOUBLE_BUFFERING build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o -touchgfx::HAL::allowDMATransfers() build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o -touchgfx::HAL::backPorchExited() build/debug/TouchGFXConfiguration.o - build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o -touchgfx::HAL::beginFrame() build/debug/TouchGFXGeneratedHAL.o -touchgfx::HAL::blitCopy(unsigned short const*, unsigned char const*, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short, unsigned char, bool, unsigned short, touchgfx::Bitmap::BitmapFormat, touchgfx::Bitmap::BitmapFormat, bool) build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o -touchgfx::HAL::blitCopy(unsigned short const*, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short, unsigned char, bool, bool) build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o -touchgfx::HAL::blitCopy(unsigned short const*, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short, unsigned char, bool, unsigned short, touchgfx::Bitmap::BitmapFormat, touchgfx::Bitmap::BitmapFormat, bool) build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o -touchgfx::HAL::blitCopyARGB8888(unsigned short const*, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short, unsigned char, bool) build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o -touchgfx::HAL::blitCopyGlyph(unsigned char const*, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short, touchgfx::colortype, unsigned char, touchgfx::BlitOperations, bool) build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o -touchgfx::HAL::blitCopyWord(unsigned short const*, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short) build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o -touchgfx::HAL::blitFill(touchgfx::colortype, unsigned short, unsigned short, unsigned short, unsigned short, unsigned char, bool) build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o -touchgfx::HAL::blitFill(touchgfx::colortype, unsigned short, unsigned short, unsigned short, unsigned short, unsigned char, unsigned short, touchgfx::Bitmap::BitmapFormat, bool) build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o -touchgfx::HAL::blitFillWord(unsigned short, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short) build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o -touchgfx::HAL::blockCopy(void*, void const*, unsigned long) build/debug/TouchGFXGeneratedHAL.o -touchgfx::HAL::configurePartialFrameBuffer(unsigned short, unsigned short, unsigned short, unsigned short) build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o -touchgfx::HAL::copyFBRegionToMemory(touchgfx::Rect) build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o -touchgfx::HAL::copyFBRegionToMemory(touchgfx::Rect, unsigned short*, unsigned long) build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o -touchgfx::HAL::copyFromTFTToClientBuffer(touchgfx::Rect) build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o -touchgfx::HAL::drawDrawableInDynamicBitmap(touchgfx::Drawable&, unsigned short) build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o -touchgfx::HAL::drawDrawableInDynamicBitmap(touchgfx::Drawable&, unsigned short, touchgfx::Rect const&) build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o -touchgfx::HAL::endFrame() build/debug/TouchGFXGeneratedHAL.o -touchgfx::HAL::flushDMA() build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o -touchgfx::HAL::flushFrameBuffer() build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o -touchgfx::HAL::flushFrameBuffer(touchgfx::Rect const&) build/debug/TouchGFXGeneratedHAL.o -touchgfx::HAL::getBlitCaps() build/debug/TouchGFXGeneratedHAL.o - build/debug/TouchGFXHAL.o -touchgfx::HAL::getDMAType() build/debug/TouchGFXGeneratedHAL.o - build/debug/TouchGFXHAL.o -touchgfx::HAL::getFlashDataReader() const build/debug/TouchGFXGeneratedHAL.o - build/debug/TouchGFXHAL.o -touchgfx::HAL::initialize() build/debug/TouchGFXGeneratedHAL.o -touchgfx::HAL::instance build/debug/TouchGFXGeneratedHAL.o - build/debug/TouchGFXConfiguration.o - build/debug/OSWrappers.o -touchgfx::HAL::lockFrameBuffer() build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o -touchgfx::HAL::noTouch() build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o -touchgfx::HAL::performDisplayOrientationChange() build/debug/TouchGFXGeneratedHAL.o - build/debug/TouchGFXHAL.o -touchgfx::HAL::registerEventListener(touchgfx::UIEventListener&) build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o -touchgfx::HAL::sampleKey(unsigned char&) build/debug/TouchGFXGeneratedHAL.o - build/debug/TouchGFXHAL.o -touchgfx::HAL::setAnimationStorage(void*) build/debug/TouchGFXGeneratedHAL.o - build/debug/TouchGFXHAL.o -touchgfx::HAL::setDisplayOrientation(touchgfx::DisplayOrientation) build/debug/TouchGFXGeneratedHAL.o - build/debug/TouchGFXHAL.o -touchgfx::HAL::setFrameBufferSize(unsigned short, unsigned short) build/debug/TouchGFXGeneratedHAL.o - build/debug/TouchGFXHAL.o -touchgfx::HAL::setFrameBufferStartAddresses(void*, void*, void*) build/debug/TouchGFXGeneratedHAL.o - build/debug/TouchGFXHAL.o -touchgfx::HAL::setFrameRefreshStrategy(touchgfx::HAL::FrameRefreshStrategy) build/debug/TouchGFXGeneratedHAL.o -touchgfx::HAL::swapFrameBuffers() build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o - build/debug/TouchGFXConfiguration.o -touchgfx::HAL::taskDelay(unsigned short) build/debug/TouchGFXGeneratedHAL.o - build/debug/TouchGFXHAL.o -touchgfx::HAL::taskEntry() build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o -touchgfx::HAL::tick() build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o -touchgfx::HAL::touch(long, long) build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o -touchgfx::HAL::unlockFrameBuffer() build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o -touchgfx::LCD24bpp::LCD24bpp() build/debug/TouchGFXConfiguration.o -touchgfx::LCD24bpp::~LCD24bpp() build/debug/TouchGFXConfiguration.o -touchgfx::LCD24bpp::~LCD24bpp() build/debug/TouchGFXConfiguration.o -touchgfx::LCD24bpp::~LCD24bpp() build/debug/TouchGFXConfiguration.o -touchgfx::LockFreeDMA_Queue::LockFreeDMA_Queue(touchgfx::BlitOp*, int) build/debug/STM32DMA.o -touchgfx::MVPApplication::evaluatePendingScreenTransition() build/debug/TouchGFXConfiguration.o -touchgfx::MVPApplication::handlePendingScreenTransition() build/debug/TouchGFXConfiguration.o -touchgfx::MVPApplication::~MVPApplication() build/debug/TouchGFXConfiguration.o -touchgfx::MVPApplication::~MVPApplication() build/debug/TouchGFXConfiguration.o -touchgfx::MVPApplication::~MVPApplication() build/debug/TouchGFXConfiguration.o -touchgfx::MVPHeap::~MVPHeap() build/debug/TouchGFXConfiguration.o -touchgfx::MVPHeap::~MVPHeap() build/debug/TouchGFXConfiguration.o -touchgfx::MVPHeap::~MVPHeap() build/debug/TouchGFXConfiguration.o -touchgfx::OSWrappers::giveFrameBufferSemaphore() build/debug/OSWrappers.o -touchgfx::OSWrappers::giveFrameBufferSemaphoreFromISR() build/debug/OSWrappers.o -touchgfx::OSWrappers::initialize() build/debug/OSWrappers.o -touchgfx::OSWrappers::isVSyncAvailable() build/debug/OSWrappers.o - build/debug/TouchGFXConfiguration.o -touchgfx::OSWrappers::signalRenderingDone() build/debug/OSWrappers.o - build/debug/TouchGFXGeneratedHAL.o -touchgfx::OSWrappers::signalVSync() build/debug/OSWrappers.o - build/debug/TouchGFXGeneratedHAL.o -touchgfx::OSWrappers::takeFrameBufferSemaphore() build/debug/OSWrappers.o -touchgfx::OSWrappers::taskDelay(unsigned short) build/debug/OSWrappers.o - build/debug/TouchGFXGeneratedHAL.o -touchgfx::OSWrappers::taskYield() build/debug/OSWrappers.o -touchgfx::OSWrappers::tryTakeFrameBufferSemaphore() build/debug/OSWrappers.o -touchgfx::OSWrappers::waitForVSync() build/debug/OSWrappers.o -touchgfx::Partition >, (unsigned short)1>::capacity() const build/debug/TouchGFXConfiguration.o -touchgfx::Partition >, (unsigned short)1>::element(unsigned short) build/debug/TouchGFXConfiguration.o -touchgfx::Partition >, (unsigned short)1>::element(unsigned short) const build/debug/TouchGFXConfiguration.o -touchgfx::Partition >, (unsigned short)1>::element_size() build/debug/TouchGFXConfiguration.o -touchgfx::Partition >, (unsigned short)1>::~Partition() build/debug/TouchGFXConfiguration.o -touchgfx::Partition >, (unsigned short)1>::~Partition() build/debug/TouchGFXConfiguration.o -touchgfx::Partition >, (unsigned short)1>::~Partition() build/debug/TouchGFXConfiguration.o -touchgfx::Partition >, (unsigned short)1>::capacity() const build/debug/TouchGFXConfiguration.o -touchgfx::Partition >, (unsigned short)1>::element(unsigned short) build/debug/TouchGFXConfiguration.o -touchgfx::Partition >, (unsigned short)1>::element(unsigned short) const build/debug/TouchGFXConfiguration.o -touchgfx::Partition >, (unsigned short)1>::element_size() build/debug/TouchGFXConfiguration.o -touchgfx::Partition >, (unsigned short)1>::~Partition() build/debug/TouchGFXConfiguration.o -touchgfx::Partition >, (unsigned short)1>::~Partition() build/debug/TouchGFXConfiguration.o -touchgfx::Partition >, (unsigned short)1>::~Partition() build/debug/TouchGFXConfiguration.o -touchgfx::Partition >, (unsigned short)1>::capacity() const build/debug/TouchGFXConfiguration.o -touchgfx::Partition >, (unsigned short)1>::element(unsigned short) build/debug/TouchGFXConfiguration.o -touchgfx::Partition >, (unsigned short)1>::element(unsigned short) const build/debug/TouchGFXConfiguration.o -touchgfx::Partition >, (unsigned short)1>::element_size() build/debug/TouchGFXConfiguration.o -touchgfx::Partition >, (unsigned short)1>::~Partition() build/debug/TouchGFXConfiguration.o -touchgfx::Partition >, (unsigned short)1>::~Partition() build/debug/TouchGFXConfiguration.o -touchgfx::Partition >, (unsigned short)1>::~Partition() build/debug/TouchGFXConfiguration.o -touchgfx::Texts::setLanguage(unsigned short) build/debug/TouchGFXConfiguration.o -touchgfx::TypedText::texts build/debug/TouchGFXConfiguration.o -touchgfx::UIEventListener::handleClickEvent(touchgfx::ClickEvent const&) build/debug/TouchGFXConfiguration.o -touchgfx::UIEventListener::handleDragEvent(touchgfx::DragEvent const&) build/debug/TouchGFXConfiguration.o -touchgfx::UIEventListener::handleGestureEvent(touchgfx::GestureEvent const&) build/debug/TouchGFXConfiguration.o -touchgfx::UIEventListener::handleKeyEvent(unsigned char) build/debug/TouchGFXConfiguration.o -touchgfx::UIEventListener::handlePendingScreenTransition() build/debug/TouchGFXConfiguration.o -touchgfx::UIEventListener::handleTickEvent() build/debug/TouchGFXConfiguration.o -touchgfx::UIEventListener::~UIEventListener() build/debug/TouchGFXConfiguration.o -touchgfx::UIEventListener::~UIEventListener() build/debug/TouchGFXConfiguration.o -touchgfx::UIEventListener::~UIEventListener() build/debug/TouchGFXConfiguration.o -touchgfx::paint::flushLine(unsigned long*, int) build/debug/TouchGFXGeneratedHAL.o -touchgfx::paint::rgb888::lineFromARGB8888(unsigned char*, unsigned long const*, unsigned int, unsigned char) build/debug/TouchGFXGeneratedHAL.o -touchgfx::paint::rgb888::lineFromColor(unsigned char*, unsigned int, unsigned long, unsigned char) build/debug/TouchGFXGeneratedHAL.o -touchgfx::paint::rgb888::lineFromL8ARGB8888(unsigned char*, unsigned char const*, unsigned int, unsigned char) build/debug/TouchGFXGeneratedHAL.o -touchgfx::paint::rgb888::lineFromL8RGB888(unsigned char*, unsigned char const*, unsigned int, unsigned char) build/debug/TouchGFXGeneratedHAL.o -touchgfx::paint::rgb888::lineFromRGB888(unsigned char*, unsigned char const*, unsigned int, unsigned char) build/debug/TouchGFXGeneratedHAL.o -touchgfx::paint::setL8Palette(unsigned char const*) build/debug/TouchGFXGeneratedHAL.o -touchgfx::paint::tearDown() build/debug/TouchGFXGeneratedHAL.o -touchgfx_components_init build/debug/TouchGFXConfiguration.o - build/debug/app_touchgfx.o -touchgfx_init build/debug/TouchGFXConfiguration.o - build/debug/app_touchgfx.o -touchgfx_taskEntry build/debug/TouchGFXConfiguration.o - build/debug/app_touchgfx.o uwTick build/debug/stm32h7xx_hal.o uwTickFreq build/debug/stm32h7xx_hal.o uwTickPrio build/debug/stm32h7xx_hal.o build/debug/stm32h7xx_hal_rcc.o -vfiprintf /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) -vfprintf /usr/lib/gcc/arm-none-eabi/14.1.0/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf.o) -vtable for ApplicationFontProvider build/debug/TouchGFXConfiguration.o -vtable for FrontendApplication build/debug/TouchGFXConfiguration.o -vtable for FrontendApplicationBase build/debug/TouchGFXConfiguration.o -vtable for FrontendHeap build/debug/TouchGFXConfiguration.o -vtable for FrontendHeapBase build/debug/TouchGFXConfiguration.o -vtable for STM32DMA build/debug/STM32DMA.o - build/debug/TouchGFXConfiguration.o -vtable for STM32TouchController build/debug/STM32TouchController.o - build/debug/TouchGFXConfiguration.o -vtable for TouchGFXGeneratedHAL build/debug/TouchGFXGeneratedHAL.o - build/debug/TouchGFXHAL.o - build/debug/TouchGFXConfiguration.o -vtable for TouchGFXHAL build/debug/TouchGFXHAL.o - build/debug/TouchGFXConfiguration.o -vtable for touchgfx::Application build/debug/TouchGFXConfiguration.o -vtable for touchgfx::Callback build/debug/TouchGFXConfiguration.o -vtable for touchgfx::DMA_Interface build/debug/TouchGFXConfiguration.o - build/debug/STM32DMA.o -vtable for touchgfx::DMA_Queue build/debug/STM32DMA.o - build/debug/TouchGFXConfiguration.o -vtable for touchgfx::FontProvider build/debug/TouchGFXConfiguration.o -vtable for touchgfx::GenericCallback build/debug/TouchGFXConfiguration.o -vtable for touchgfx::HAL build/debug/TouchGFXHAL.o - build/debug/TouchGFXGeneratedHAL.o - build/debug/TouchGFXConfiguration.o -vtable for touchgfx::LCD build/debug/TouchGFXConfiguration.o -vtable for touchgfx::LCD24bpp build/debug/TouchGFXConfiguration.o -vtable for touchgfx::LockFreeDMA_Queue build/debug/TouchGFXConfiguration.o - build/debug/STM32DMA.o -vtable for touchgfx::MVPApplication build/debug/TouchGFXConfiguration.o -vtable for touchgfx::MVPHeap build/debug/TouchGFXConfiguration.o -vtable for touchgfx::Partition >, (unsigned short)1> build/debug/TouchGFXConfiguration.o -vtable for touchgfx::Partition >, (unsigned short)1> build/debug/TouchGFXConfiguration.o -vtable for touchgfx::Partition >, (unsigned short)1> build/debug/TouchGFXConfiguration.o -vtable for touchgfx::TouchController build/debug/STM32TouchController.o - build/debug/TouchGFXConfiguration.o -vtable for touchgfx::UIEventListener build/debug/TouchGFXConfiguration.o