Open cinnamondev opened 5 months ago
GCC is completely untested with this, if you're using GCC we'd recommend using the normal SDK. The point of this DFP was to add support for AC6 and use in uVision, so at this point GCC is unsupported.
You might be able to get it working by editing some of the files in __wrapper
, as those are what'll be breaking the compilation with GCC
using GCC via uvison isn't something fully supported I believe.
uVision fully supports GCC. But as mentioned @will-v-pi, RP2xxx_DFP isn't tested with GCC.
Thanks, I thought that was likely the case. I did spend a bit playing around with __wrapper
, but I didn't get far. I'll probably stick with what I currently have setup for now.
Now that this pack is available via KEIL, I have been trying to update my projects to use this new setup. My project is configured to use CMSIS-Toolbox/csolution projects. It does not appear this package is able to support GNU compiler despite the SDK supposedly using GCC. I can successfully build using AC6, but if GCC is used, the build errors given are undecipherable nonsense. I also tried to replicate this through KEIL uVision which gave a similar result, though using GCC via uvison isn't something fully supported I believe.
Is GCC just unsupported and/or untested or am I something missing here? I will include my build outputs below.
Thank you for your time.
command used:
cbuild ./picopico.csolution.yaml --context-set --update-rte --packs --context picopico.Debug+Pico
software used: cmake 3.28.4 ninja 1.12.0 arm-none-eabi-gcc 12.3.1
armclang 6.22.0 cmsis-toolbox 2.4.0
build outputs & project information
(gcc build output, long, snipped)
## build output (gcc) ``` info cbuild: Build Invocation 2.4.0 (C) 2024 Arm Ltd. and Contributors /home/ada/Documents/Projects/cmsis-rp2040/picopico.cbuild-pack.yml - info csolution: file is already up-to-date /home/ada/Documents/Projects/cmsis-rp2040/picopico.cbuild-idx.yml - info csolution: file is already up-to-date /home/ada/Documents/Projects/cmsis-rp2040/picopico.cbuild-set.yml - info csolution: file is already up-to-date /home/ada/Documents/Projects/cmsis-rp2040/picopico.Debug+Pico.cbuild.yml - info csolution: file is already up-to-date /home/ada/Documents/Projects/cmsis-rp2040/picopico.Debug+Pico.cprj - info csolution: file generated successfully info cbuild: Processing 1 context(s) info cbuild: Retrieve build information for context: "picopico.Debug+Pico" =========================================== Building "picopico.Debug+Pico" M650: Command completed successfully. M652: Generated file for project build: '/home/ada/Documents/Projects/cmsis-rp2040/tmp/picopico/Pico/Debug/CMakeLists.txt' -- Configuring done (0.0s) -- Generating done (0.0s) -- Build files have been written to: /home/ada/Documents/Projects/cmsis-rp2040/tmp/picopico/Pico/Debug [1/40] Building C object CMakeFiles/picopico.dir/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/common/pico_time/timeout_helper.c.obj FAILED: CMakeFiles/picopico.dir/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/common/pico_time/timeout_helper.c.obj /home/ada/.vcpkg/downloads/artifacts/vcpkg-artifacts-arm/compilers.arm.arm.none.eabi.gcc/12.3.1/bin/arm-none-eabi-gcc -I/home/ada/Documents/Projects/cmsis-rp2040/RTE/_Debug_Pico -I/home/ada/.cache/arm/packs/ARM/CMSIS/6.1.0/CMSIS/Core/Include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/CMSIS/Device/RP2040/Include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/__boards_wrapper/pico_base -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/__wrapper -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/boards/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/common/pico_base/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/common/pico_binary_info/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/common/pico_stdlib/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/common/pico_sync/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/common/pico_time/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/common/pico_util/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2040/hardware_regs/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2040/hardware_structs/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/boot_stage2/asminclude -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/boot_stage2/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/cmsis/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/hardware_adc/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/hardware_base/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/hardware_claim/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/hardware_clocks/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/hardware_divider/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/hardware_dma/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/hardware_flash/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/hardware_gpio/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/hardware_i2c/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/hardware_interp/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/hardware_irq/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/hardware_pio/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/hardware_pll/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/hardware_pwm/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/hardware_resets/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/hardware_spi/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/hardware_sync/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/hardware_timer/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/hardware_uart/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/hardware_watchdog/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/hardware_xosc/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/pico_bootrom/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/pico_double/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/pico_i2c_slave/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/pico_multicore/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/pico_platform/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/pico_printf/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/pico_rand/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/pico_runtime/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/pico_stdio/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/pico_stdio_semihosting/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/pico_stdio_uart/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/pico_stdio_usb/include -I/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/rp2_common/pico_unique_id/include -mcpu=cortex-m0plus -mlittle-endian -DRP2040 -D_RTE_ -DDEBUG -g3 -O0 -isystem "/home/ada/.vcpkg/downloads/artifacts/vcpkg-artifacts-arm/compilers.arm.arm.none.eabi.gcc/12.3.1/lib/gcc/arm-none-eabi/12.3.1/include" -isystem "/home/ada/.vcpkg/downloads/artifacts/vcpkg-artifacts-arm/compilers.arm.arm.none.eabi.gcc/12.3.1/lib/gcc/arm-none-eabi/12.3.1/include-fixed" -isystem "/home/ada/.vcpkg/downloads/artifacts/vcpkg-artifacts-arm/compilers.arm.arm.none.eabi.gcc/12.3.1/arm-none-eabi/include" -include "/home/ada/Documents/Projects/cmsis-rp2040/RTE/Device/RP2040_Core0/env_wrapper.h" -std=gnu11 -include "/home/ada/Documents/Projects/cmsis-rp2040/RTE/_Debug_Pico/Pre_Include_Device_Pico_SDK.h" -MD -MT CMakeFiles/picopico.dir/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/common/pico_time/timeout_helper.c.obj -MF CMakeFiles/picopico.dir/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/common/pico_time/timeout_helper.c.obj.d -o CMakeFiles/picopico.dir/home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/common/pico_time/timeout_helper.c.obj -c /home/ada/.cache/arm/packs/RaspberryPi/RP2xxx_DFP/0.9.5/pico-sdk/src/common/pico_time/timeout_helper.c In file included from /home/ada/Documents/Projects/cmsis-rp2040/RTE/Device/RP2040_Core0/env_wrapper.h:202, frombuild output (ac6)
project files