Skip to content

Make spacer sections allocatable #2515

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 2 commits into
base: develop
Choose a base branch
from

Conversation

will-v-pi
Copy link
Contributor

As raised in #2513, the current way of specifying stack and heap space means that on GCC the space is not included in --print-memory-usage, because they are not marked as allocatable in order to maintain compatibility with linker scripts prior to 1.5.1 which don't KEEP the .stack and .heap sections.

This changes that default to mark them as allocatable, and adds a new CMake function to parse the linker script and check for compatibility, and enables a workaround if not compatible.

This means if you:

  • KEEP the sections - they show up in --print-memory-usage, and the binary runs fine
  • Don't KEEP the sections - they don't show up in --print-memory-usage, and CMake raises warnings at the configure stage explaining the incompatibility, but the binary still runs fine

@will-v-pi will-v-pi added this to the 2.1.2 milestone Jun 11, 2025
@will-v-pi will-v-pi requested a review from kilograham June 11, 2025 10:33
@matsobdev
Copy link

There are some problems:

PICO_SDK_PATH is /home/mateush/pico-sdk-2.1.1
Target board (PICO_BOARD) is 'pico'.
Using board configuration from /home/mateush/pico-sdk-2.1.1/src/boards/include/boards/pico.h
Pico Platform (PICO_PLATFORM) is 'rp2040'.
Configuring toolchain based on PICO_COMPILER 'pico_arm_cortex_m0plus_gcc'
-- The C compiler identification is GNU 14.2.1
-- The CXX compiler identification is GNU 14.2.1
-- The ASM compiler identification is GNU
-- Found assembler: /home/mateush/arm-gnu-toolchain-14.2.rel1-x86_64-arm-none-eabi/bin/arm-none-eabi-gcc
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/mateush/arm-gnu-toolchain-14.2.rel1-x86_64-arm-none-eabi/bin/arm-none-eabi-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /home/mateush/arm-gnu-toolchain-14.2.rel1-x86_64-arm-none-eabi/bin/arm-none-eabi-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
Build type is Release
-- Found Python3: /usr/bin/python3.8 (found version "3.8.10") found components: Interpreter 
TinyUSB available at /home/mateush/pico-sdk-2.1.1/lib/tinyusb/src/portable/raspberrypi/rp2040; enabling build support for USB.
BTstack available at /home/mateush/pico-sdk-2.1.1/lib/btstack
cyw43-driver available at /home/mateush/pico-sdk-2.1.1/lib/cyw43-driver
lwIP available at /home/mateush/pico-sdk-2.1.1/lib/lwip
mbedtls available at /home/mateush/pico-sdk-2.1.1/lib/mbedtls
-- Configuring done
-- Generating done
-- Build files have been written to: /home/mateush/Dysk_RAM/jpegdec/build
[57/91] Building ASM object CMakeFiles....1.1/src/rp2_common/pico_crt0/crt0.S.o
FAILED: CMakeFiles/hog_kbd.dir/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S.o 
/home/mateush/arm-gnu-toolchain-14.2.rel1-x86_64-arm-none-eabi/bin/arm-none-eabi-gcc -DCFG_TUSB_DEBUG=0 -DCFG_TUSB_MCU=OPT_MCU_RP2040 -DCFG_TUSB_OS=OPT_OS_PICO -DLIB_BOOT_STAGE2_HEADERS=1 -DLIB_PICO_ATOMIC=1 -DLIB_PICO_BIT_OPS=1 -DLIB_PICO_BIT_OPS_PICO=1 -DLIB_PICO_CLIB_INTERFACE=1 -DLIB_PICO_CRT0=1 -DLIB_PICO_CXX_OPTIONS=1 -DLIB_PICO_DIVIDER=1 -DLIB_PICO_DIVIDER_HARDWARE=1 -DLIB_PICO_DOUBLE=1 -DLIB_PICO_DOUBLE_PICO=1 -DLIB_PICO_FIX_RP2040_USB_DEVICE_ENUMERATION=1 -DLIB_PICO_FLASH=1 -DLIB_PICO_FLOAT=1 -DLIB_PICO_FLOAT_PICO=1 -DLIB_PICO_INT64_OPS=1 -DLIB_PICO_INT64_OPS_PICO=1 -DLIB_PICO_MALLOC=1 -DLIB_PICO_MEM_OPS=1 -DLIB_PICO_MEM_OPS_PICO=1 -DLIB_PICO_NEWLIB_INTERFACE=1 -DLIB_PICO_PLATFORM=1 -DLIB_PICO_PLATFORM_COMPILER=1 -DLIB_PICO_PLATFORM_PANIC=1 -DLIB_PICO_PLATFORM_SECTIONS=1 -DLIB_PICO_PRINTF=1 -DLIB_PICO_PRINTF_PICO=1 -DLIB_PICO_RUNTIME=1 -DLIB_PICO_RUNTIME_INIT=1 -DLIB_PICO_STANDARD_BINARY_INFO=1 -DLIB_PICO_STANDARD_LINK=1 -DLIB_PICO_STDIO=1 -DLIB_PICO_STDIO_USB=1 -DLIB_PICO_STDLIB=1 -DLIB_PICO_SYNC=1 -DLIB_PICO_SYNC_CRITICAL_SECTION=1 -DLIB_PICO_SYNC_MUTEX=1 -DLIB_PICO_SYNC_SEM=1 -DLIB_PICO_TIME=1 -DLIB_PICO_TIME_ADAPTER=1 -DLIB_PICO_UNIQUE_ID=1 -DLIB_PICO_UTIL=1 -DPICO_32BIT=1 -DPICO_BOARD=\"pico\" -DPICO_BUILD=1 -DPICO_CMAKE_BUILD_TYPE=\"Release\" -DPICO_COPY_TO_RAM=0 -DPICO_CXX_ENABLE_EXCEPTIONS=0 -DPICO_EMBED_XIP_SETUP=1 -DPICO_NO_FLASH=1 -DPICO_NO_HARDWARE=0 -DPICO_ON_DEVICE=1 -DPICO_PANIC_FUNCTION="" -DPICO_RP2040=1 -DPICO_RP2040_USB_DEVICE_UFRAME_FIX=1 -DPICO_TARGET_NAME=\"hog_kbd\" -DPICO_USE_BLOCKED_RAM=0 -I/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_atomic/include -I/home/mateush/pico-sdk-2.1.1/lib/tinyusb/src -isystem /home/mateush/pico-sdk-2.1.1/src/common/pico_stdlib_headers/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/hardware_gpio/include -isystem /home/mateush/pico-sdk-2.1.1/src/common/pico_base_headers/include -isystem generated/pico_base -isystem /home/mateush/pico-sdk-2.1.1/src/boards/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2040/pico_platform/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2040/hardware_regs/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/hardware_base/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_platform_compiler/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_platform_panic/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_platform_sections/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2040/hardware_structs/include -isystem /home/mateush/pico-sdk-2.1.1/src/common/hardware_claim/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/hardware_sync/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/hardware_sync_spin_lock/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/hardware_irq/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/hardware_uart/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/hardware_resets/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/hardware_clocks/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/hardware_pll/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/hardware_vreg/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/hardware_watchdog/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/hardware_ticks/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_bootrom/include -isystem /home/mateush/pico-sdk-2.1.1/src/common/boot_picoboot_headers/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/boot_bootrom_headers/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/hardware_boot_lock/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_flash/include -isystem /home/mateush/pico-sdk-2.1.1/src/common/pico_time/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/hardware_timer/include -isystem /home/mateush/pico-sdk-2.1.1/src/common/pico_sync/include -isystem /home/mateush/pico-sdk-2.1.1/src/common/pico_util/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_time_adapter/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/hardware_xosc/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/hardware_rosc/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/hardware_divider/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_runtime/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_runtime_init/include -isystem /home/mateush/pico-sdk-2.1.1/src/common/pico_bit_ops_headers/include -isystem /home/mateush/pico-sdk-2.1.1/src/common/pico_divider_headers/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_double/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_float/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_malloc/include -isystem /home/mateush/pico-sdk-2.1.1/src/common/pico_binary_info/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_printf/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_stdio/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_stdio_usb/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_unique_id/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/hardware_flash/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/hardware_xip_cache/include -isystem /home/mateush/pico-sdk-2.1.1/src/common/pico_usb_reset_interface_headers/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_multicore/include -isystem /home/mateush/pico-sdk-2.1.1/src/common/boot_picobin_headers/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_int64_ops/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_mem_ops/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2040/boot_stage2/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_fix/rp2040_usb_device_enumeration/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/hardware_spi/include -isystem /home/mateush/pico-sdk-2.1.1/src/rp2_common/hardware_dma/include -mcpu=cortex-m0plus -mthumb -g -O3 -DNDEBUG -ffunction-sections -fdata-sections -MD -MT CMakeFiles/hog_kbd.dir/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S.o -MF CMakeFiles/hog_kbd.dir/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S.o.d -o CMakeFiles/hog_kbd.dir/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S.o   -c /home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S: Assembler messages:
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:89:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:90:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:91:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:92:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:93:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:94:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:95:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:96:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:97:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:98:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:99:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:100:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:101:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:102:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:103:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:104:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:105:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:106:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:107:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:108:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:109:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:110:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:111:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:112:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:113:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:114:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:115:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:116:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:117:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:118:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:119:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:120:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:121:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:122:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:123:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:124:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:125:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:126:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:127:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:128:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:129:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:130:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:131:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:132:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:133:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:134:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:135:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:136:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:137:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:138:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:139:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:140:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:141:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:142:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:143:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:144:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:145:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:146:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:147:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:148:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:149:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:150:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:151:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:152:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:153:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:154:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:155:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:156:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:157:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:158:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:159:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:160:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:161:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:162:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:163:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:164:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:165:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:166:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:167:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:80: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:168:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:218:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:219:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:220:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:221:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:222:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:223:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:224:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:225:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:226:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:227:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:228:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:229:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:230:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:231:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:232:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:233:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:234:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:235:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:236:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:237:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:238:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:239:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:240:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:241:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:242:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:243:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:244:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:245:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:246:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:247:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:248:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:249:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:250:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:251:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:252:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:253:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:254:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:255:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:256:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:257:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:258:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:259:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:260:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:261:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:262:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:263:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:264:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:265:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:266:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:267:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:268:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:269:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:270:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:271:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:272:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:273:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:274:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:275:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:276:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:277:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:278:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:279:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:280:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:281:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:282:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:283:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:284:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:285:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:286:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:287:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:288:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:289:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:290:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:291:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:292:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:293:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:294:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:295:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:296:  Info: macro invoked from here
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:207: Error: non-constant expression in ".if" statement
/home/mateush/pico-sdk-2.1.1/src/rp2_common/pico_crt0/crt0.S:297:  Info: macro invoked from here

Worked around by commenting out ifs here:

.macro if_irq_word num func
.if \num < PICO_NUM_VTABLE_IRQS
.word \func
.endif
.endm

and here (making the first option the only one):
.macro if_irq_decl num func
.if \num < PICO_NUM_VTABLE_IRQS
decl_isr \func
.elseif \num < NUM_IRQS
// We declare a strong global label, so user can't override (their version would not automatically be used)
.global \func
.type \func,%function
.thumb_func
\func:
.endif
.endm

@will-v-pi
Copy link
Contributor Author

None of those errors are related to this PR, they're all related to #2233 - to get those errors, did you definitely do a clean compilation with the branch from this PR. Or did you just copy the changed files from this PR into an existing 2.1.1 SDK, which will not work as crt0.S relies on changes to other files in #2233 to compile correctly.

If you can reproduce those errors in a clean compilation (deleted build directory) using the develop branch of the SDK, then please raise a separate issue with details of your compiler.

@matsobdev
Copy link

False alarm. It was clean, but just those two files copied do 2.1.1. It works with develop.

@matsobdev
Copy link

matsobdev commented Jun 11, 2025

But, 2.1.1 with copied files and work around was showing 2 KB of scratch Y usage, but now with develop (including updated libraries and picotool) it shows 0 KB. Do I miss some definition or something? But still there is something. GCC 14.2.1.

@will-v-pi
Copy link
Contributor Author

But, 2.1.1 with copied files and work around was showing 2 KB of scratch Y usage, but now with develop it shows 0 KB. Do I miss some definition or something? But still there is something.

If you use this branch in this PR (not the develop branch), it should show 2KB of scratch Y usage - this hasn't been merged into develop yet, hence why develop still shows 0KB.

@matsobdev
Copy link

Shame on me :D Yes, it works with this branch and shows 2 KB.

@will-v-pi will-v-pi marked this pull request as draft June 12, 2025 10:30
@will-v-pi
Copy link
Contributor Author

Putting back into draft due to compatibility issues with picotool encryption

@kilograham
Copy link
Contributor

note also, i'm curious if this causes the contents to be stored in the binary? This would be bad in general, but particularly egregious for the heap

@will-v-pi
Copy link
Contributor Author

note also, i'm curious if this causes the contents to be stored in the binary? This would be bad in general, but particularly egregious for the heap

This causes extra LOAD segments to appear in the ELF, but they have a filesize of 0 so have no data actually stored in the file.

@will-v-pi
Copy link
Contributor Author

Putting back into draft due to compatibility issues with picotool encryption

raspberrypi/picotool#243 fixes these issues

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants