Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Can't compile 3.5.0 RPI Pico

    Scheduled Pinned Locked Moved
    Firmware developers
    3
    3
    465
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Morpheus238undefined
      Morpheus238
      last edited by

      I'm having trouble compiling 3.5.0-dev for RPI Pico. I want to run It on a Mellow Fly SB2040 Board so I must change some GPIO Pins in the Config.
      Can anyone offer suggestions for the errors shown?

      lpico error.JPG

      Invoking: Cross G++ Compiler
      arm-none-eabi-g++ -std=gnu++17 -D__RP2040__ -DRPI_PICO -DRTOS -I"C:\Users\t_hal\Desktop\Duet Pico test\CoreN2G-3.5-dev" -I"C:\Users\t_hal\Desktop\Duet Pico test\CANlib-3.5-dev" -I"C:\Users\t_hal\Desktop\Duet Pico test\RRFLibraries-3.5-dev" -I"C:\Users\t_hal\Desktop\Duet Pico test\FreeRTOS-3.5beta1" -I"C:\Users\t_hal\Desktop\Duet Pico test\Duet3Expansion-3.5-dev\src" -I"C:\Users\t_hal\Desktop\Duet Pico test\Duet3Expansion-3.5-dev\src\Hardware\RP2040" -I"C:\Users\t_hal\Desktop\Duet Pico test\CoreN2G-3.5-dev\src" -I"C:\Users\t_hal\Desktop\Duet Pico test\CoreN2G-3.5-dev\src\RP2040" -I"C:\Users\t_hal\Desktop\Duet Pico test\CoreN2G-3.5-dev\src\RP2040\pico-sdk/src/boards/include" -I"C:\Users\t_hal\Desktop\Duet Pico test\CoreN2G-3.5-dev\src\RP2040\pico-sdk/src/common/pico_base/include" -I"C:\Users\t_hal\Desktop\Duet Pico test\CoreN2G-3.5-dev\src\RP2040\pico-sdk/src/common/pico_sync/include" -I"C:\Users\t_hal\Desktop\Duet Pico test\CoreN2G-3.5-dev\src\RP2040\pico-sdk/src/common/pico_time/include" -I"C:\Users\t_hal\Desktop\Duet Pico test\CoreN2G-3.5-dev\src\RP2040\pico-sdk/src/rp2_common/cmsis/include" -I"C:\Users\t_hal\Desktop\Duet Pico test\CoreN2G-3.5-dev\src\RP2040\pico-sdk/src/rp2_common/hardware_base/include" -I"C:\Users\t_hal\Desktop\Duet Pico test\CoreN2G-3.5-dev\src\RP2040\pico-sdk/src/rp2_common/hardware_dma/include" -I"C:\Users\t_hal\Desktop\Duet Pico test\CoreN2G-3.5-dev\src\RP2040\pico-sdk/src/rp2_common/hardware_gpio/include" -I"C:\Users\t_hal\Desktop\Duet Pico test\CoreN2G-3.5-dev\src\RP2040\pico-sdk/src/rp2_common/hardware_irq/include" -I"C:\Users\t_hal\Desktop\Duet Pico test\CoreN2G-3.5-dev\src\RP2040\pico-sdk/src/rp2_common/hardware_sync/include" -I"C:\Users\t_hal\Desktop\Duet Pico test\CoreN2G-3.5-dev\src\RP2040\pico-sdk/src/rp2_common/hardware_timer/include" -I"C:\Users\t_hal\Desktop\Duet Pico test\CoreN2G-3.5-dev\src\RP2040\pico-sdk/src/rp2_common/hardware_watchdog/include" -I"C:\Users\t_hal\Desktop\Duet Pico test\CoreN2G-3.5-dev\src\RP2040\pico-sdk/src/rp2_common/pico_platform/include" -I"C:\Users\t_hal\Desktop\Duet Pico test\CoreN2G-3.5-dev\src\RP2040\pico-sdk/src/rp2_common/cmsis/stub/CMSIS/Core/Include" -I"C:\Users\t_hal\Desktop\Duet Pico test\CoreN2G-3.5-dev\src\RP2040\pico-sdk/src/rp2_common/cmsis/stub/CMSIS/Device/RaspberryPi/RP2040/Include" -I"C:\Users\t_hal\Desktop\Duet Pico test\CoreN2G-3.5-dev\src\RP2040\pico-sdk/src/rp2040/hardware_regs/include" -I"C:\Users\t_hal\Desktop\Duet Pico test\CoreN2G-3.5-dev\src\RP2040\pico-sdk/src/rp2040/hardware_structs/include" -I"C:\Users\t_hal\Desktop\Duet Pico test\RRFLibraries-3.5-dev\src" -I"C:\Users\t_hal\Desktop\Duet Pico test\CANlib-3.5-dev\src" -I"C:\Users\t_hal\Desktop\Duet Pico test\FreeRTOS-3.5beta1\src\include" -I"C:\Users\t_hal\Desktop\Duet Pico test\FreeRTOS-3.5beta1\src\portable\GCC\ARM_CM0" -O3 -Wall -c -mcpu=cortex-m0plus -mthumb -mfp16-format=ieee -ffunction-sections -fdata-sections -fno-threadsafe-statics -fno-rtti -fno-exceptions -nostdlib -Wundef -Wdouble-promotion -Werror=return-type -fsingle-precision-constant "-Wa,-ahl=RepRapFirmware.s" -MMD -MP -MF"src/RepRapFirmware.d" -MT"src/RepRapFirmware.o" -o "src/RepRapFirmware.o" "../src/RepRapFirmware.cpp"
      Finished building: ../src/ClosedLoop/Encoders/AS5047D.cpp
       
      Finished building: ../src/Fans/FansManager.cpp
       
      Finished building: ../src/ClosedLoop/Encoders/AbsoluteRotaryEncoder.cpp
       
      Finished building: ../src/Fans/LocalFan.cpp
      Finished building: ../src/ClosedLoop/Encoders/Encoder.cpp
       
       
      Finished building: ../src/ClosedLoop/Encoders/LinearCompositeEncoder.cpp
       
      Finished building: ../src/ClosedLoop/Encoders/QuadratureEncoderAttiny.cpp
       
      Finished building: ../src/ClosedLoop/Encoders/QuadratureEncoderPdec.cpp
       
      Finished building: ../src/ClosedLoop/Encoders/RelativeEncoder.cpp
       
      Finished building: ../src/ClosedLoop/Encoders/SpiEncoder.cpp
       
      Finished building: ../src/ClosedLoop/Encoders/TLI5012B.cpp
       
      Finished building: ../src/ClosedLoop/ClosedLoop.cpp
      Finished building: ../src/ClosedLoop/AttinyProgrammer.cpp
       
       
      Finished building: ../src/ClosedLoop/Tuning.cpp
       
      Finished building: ../src/CommandProcessing/CommandProcessor.cpp
       
      Finished building: ../src/CAN/CanMessageQueue.cpp
       
      Finished building: ../src/RepRapFirmware.cpp
       
      Finished building: ../src/CAN/CanInterface.cpp
       
      Building target: Duet3Firmware_RPiPico.elf
      Invoking: Cross G++ Linker
      arm-none-eabi-g++ -L"C:\Users\t_hal\Desktop\Duet Pico test\CoreN2G-3.5-dev\RP2040_CAN_RTOS" -L"C:\Users\t_hal\Desktop\Duet Pico test\CANlib-3.5-dev\RP2040_RTOS" -L"C:\Users\t_hal\Desktop\Duet Pico test\RRFLibraries-3.5-dev\RP2040_RTOS" -L"C:\Users\t_hal\Desktop\Duet Pico test\FreeRTOS-3.5beta1\RP2040" -Os --specs=nano.specs -Wl,--gc-sections -Wl,--fatal-warnings -mcpu=cortex-m0plus -T"C:\Users\t_hal\Desktop\Duet Pico test\Duet3Expansion-3.5-dev\src\Hardware\RP2040\rp2040_flash.ld" -Wl,-Map,"C:\Users\t_hal\Desktop\Duet Pico test\Duet3Expansion-3.5-dev\RPiPico/Duet3Firmware_RPiPico.map",--cref -o "Duet3Firmware_RPiPico.elf"  ./src/libc/errno.o ./src/libc/nano-mallocr.o  ./src/Platform/Platform.o ./src/Platform/Tasks.o  ./src/Movement/StepperDrivers/DriverMode.o ./src/Movement/StepperDrivers/TMC22xx.o ./src/Movement/StepperDrivers/TMC51xx.o  ./src/Movement/Kinematics/CartesianKinematics.o ./src/Movement/Kinematics/Kinematics.o ./src/Movement/Kinematics/LinearDeltaKinematics.o ./src/Movement/Kinematics/ZLeadscrewKinematics.o  ./src/Movement/DDA.o ./src/Movement/DriveMovement.o ./src/Movement/Move.o ./src/Movement/StepTimer.o  ./src/InputMonitors/InputMonitor.o  ./src/Heating/Sensors/AdditionalOutputSensor.o ./src/Heating/Sensors/BME280.o ./src/Heating/Sensors/CpuTemperatureSensor.o ./src/Heating/Sensors/CurrentLoopTemperatureSensor.o ./src/Heating/Sensors/DhtSensor.o ./src/Heating/Sensors/LinearAnalogSensor.o ./src/Heating/Sensors/RemoteSensor.o ./src/Heating/Sensors/RtdSensor31865.o ./src/Heating/Sensors/SensorWithPort.o ./src/Heating/Sensors/SpiTemperatureSensor.o ./src/Heating/Sensors/TemperatureSensor.o ./src/Heating/Sensors/Thermistor.o ./src/Heating/Sensors/ThermocoupleSensor31855.o ./src/Heating/Sensors/ThermocoupleSensor31856.o ./src/Heating/Sensors/TmcDriverTemperatureSensor.o  ./src/Heating/FOPDT.o ./src/Heating/Heat.o ./src/Heating/Heater.o ./src/Heating/HeaterMonitor.o ./src/Heating/LocalHeater.o  ./src/Hardware/RP2040/Devices.o ./src/Hardware/RP2040/Main.o ./src/Hardware/RP2040/SharedSpiDevice.o ./src/Hardware/RP2040/boot2_w25q080_2_padded_checksum.o  ./src/Hardware/ATEIO/ExtendedAnalog.o  ./src/Hardware/ExceptionHandlers.o ./src/Hardware/IoPorts.o ./src/Hardware/LIS3DH.o ./src/Hardware/NonVolatileMemory.o ./src/Hardware/SharedI2CClient.o ./src/Hardware/SharedSpiClient.o ./src/Hardware/SoftwareReset.o  ./src/GPIO/GpioPorts.o  ./src/FilamentMonitors/Duet3DFilamentMonitor.o ./src/FilamentMonitors/FilamentMonitor.o ./src/FilamentMonitors/LaserFilamentMonitor.o ./src/FilamentMonitors/PulsedFilamentMonitor.o ./src/FilamentMonitors/RotatingMagnetFilamentMonitor.o ./src/FilamentMonitors/SimpleFilamentMonitor.o  ./src/Fans/Fan.o ./src/Fans/FansManager.o ./src/Fans/LocalFan.o  ./src/CommandProcessing/AccelerometerHandler.o ./src/CommandProcessing/CommandProcessor.o  ./src/ClosedLoop/Encoders/AS5047D.o ./src/ClosedLoop/Encoders/AbsoluteRotaryEncoder.o ./src/ClosedLoop/Encoders/Encoder.o ./src/ClosedLoop/Encoders/LinearCompositeEncoder.o ./src/ClosedLoop/Encoders/QuadratureEncoderAttiny.o ./src/ClosedLoop/Encoders/QuadratureEncoderPdec.o ./src/ClosedLoop/Encoders/RelativeEncoder.o ./src/ClosedLoop/Encoders/SpiEncoder.o ./src/ClosedLoop/Encoders/TLI5012B.o  ./src/ClosedLoop/AttinyProgrammer.o ./src/ClosedLoop/ClosedLoop.o ./src/ClosedLoop/Tuning.o  ./src/CAN/CanInterface.o ./src/CAN/CanMessageQueue.o  ./src/RepRapFirmware.o    -lRRFLibraries -lCoreN2G -lCANlib -lFreeRTOS -lpico
      c:/program files (x86)/gnu arm embedded toolchain/10 2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/../../../../arm-none-eabi/bin/ld.exe: cannot find -lpico
      collect2.exe: error: ld returned 1 exit status
      makefile:81: recipe for target 'Duet3Firmware_RPiPico.elf' failed
      make[1]: *** [Duet3Firmware_RPiPico.elf] Error 1
      makefile:68: recipe for target 'all' failed
      make: *** [all] Error 2
      "make -j24 all" terminated with exit code 2. Build might be incomplete.
      
      15:13:48 Build Failed. 5 errors, 0 warnings. (took 5s.115ms)```
      jay_s_ukundefined 1 Reply Last reply Reply Quote 0
      • jay_s_ukundefined
        jay_s_uk @Morpheus238
        last edited by jay_s_uk

        @Morpheus238 I have the pins ready setup for the SB2040 here https://github.com/jaysuk/Duet3Expansion/tree/3.5-dev
        You'll have to build the pico SDK as described here https://github.com/Duet3D/CoreN2G/tree/3.5-dev/src/RP2040/Tools/Build-pico-sdk

        Some things currently don't work such as updating over CAN, changing the CAN address, the ADXL345 and neopixels

        Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

        Th0mpyundefined 1 Reply Last reply Reply Quote 1
        • Th0mpyundefined
          Th0mpy @jay_s_uk
          last edited by

          I'm having a similar issue, noting that we have to build picosdk, I followed the instructions linked above and I continually get this error (amongst others) but I'll start here...

          I should have the pre-reqs done and when I run make-libpico.bat I get errors:

          C:\Users\Chris Thompson\git\CoreN2G\src\RP2040\Tools\Build-pico-sdk>make-libpico.bat
          
          C:\Users\Chris Thompson\git\CoreN2G\src\RP2040\Tools\Build-pico-sdk>rmdir /S /Q build
          The system cannot find the file specified.
          
          C:\Users\Chris Thompson\git\CoreN2G\src\RP2040\Tools\Build-pico-sdk>mkdir build
          
          C:\Users\Chris Thompson\git\CoreN2G\src\RP2040\Tools\Build-pico-sdk>cd build
          
          C:\Users\Chris Thompson\git\CoreN2G\src\RP2040\Tools\Build-pico-sdk\build>cmake .. -DIPV6=0 -G "MSYS Makefiles"
          PICO_SDK_PATH is C:/Users/Chris Thompson/git/CoreN2G/src/RP2040/pico-sdk
          Defaulting PICO_PLATFORM to rp2040 since not specified.
          Defaulting PICO platform compiler to pico_arm_gcc since not specified.
          -- Defaulting build type to 'Release' since not specified.
          PICO compiler is pico_arm_gcc
          -- The C compiler identification is GNU 10.3.1
          -- The CXX compiler identification is GNU 10.3.1
          -- The ASM compiler identification is GNU
          -- Found assembler: C:/Program Files (x86)/GNU Arm Embedded Toolchain/10 2021.10/bin/arm-none-eabi-gcc.exe
          Build type is RelWithDebInfo
          PICO target board is pico.
          Using board configuration from C:/Users/Chris Thompson/git/CoreN2G/src/RP2040/pico-sdk/src/boards/include/boards/pico.h
          -- Found Python3: C:/msys64/usr/bin/python3.10.exe (found version "3.10.9") found components: Interpreter
          TinyUSB available at C:/Users/Chris Thompson/git/CoreN2G/src/RP2040/pico-sdk/lib/tinyusb/src/portable/raspberrypi/rp2040; enabling build support for USB.
          cyw43-driver available at C:/Users/Chris Thompson/git/CoreN2G/src/RP2040/pico-sdk/lib/cyw43-driver
          lwIP available at C:/Users/Chris Thompson/git/CoreN2G/src/RP2040/pico-sdk/lib/lwip
          -- Configuring done
          -- Generating done
          -- Build files have been written to: C:/Users/Chris Thompson/git/CoreN2G/src/RP2040/Tools/Build-pico-sdk/build
          
          C:\Users\Chris Thompson\git\CoreN2G\src\RP2040\Tools\Build-pico-sdk\build>set OLDPATH=C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\windows\System32\OpenSSH\;C:\Program Files\PuTTY\;C:\Program Files\Microchip\xc8\v2.36\bin;C:\Program Files\Git\cmd;C:\Program Files (x86)\GNU Arm Embedded Toolchain\10 2021.10\bin;C:\Program Files\GNU ARM Eclipse\Build Tools\2.6-201507152002\bin;C:\Users\Chris Thompson\AppData\Local\Microsoft\WindowsApps;C:\msys64\mingw64\bin;C:\msys64\usr\bin
          
          C:\Users\Chris Thompson\git\CoreN2G\src\RP2040\Tools\Build-pico-sdk\build>PATH C:\msys64\usr\bin;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\windows\System32\OpenSSH\;C:\Program Files\PuTTY\;C:\Program Files\Microchip\xc8\v2.36\bin;C:\Program Files\Git\cmd;C:\Program Files (x86)\GNU Arm Embedded Toolchain\10 2021.10\bin;C:\Program Files\GNU ARM Eclipse\Build Tools\2.6-201507152002\bin;C:\Users\Chris Thompson\AppData\Local\Microsoft\WindowsApps;C:\msys64\mingw64\bin;C:\msys64\usr\bin
          
          C:\Users\Chris Thompson\git\CoreN2G\src\RP2040\Tools\Build-pico-sdk\build>c:\msys64\usr\bin\make -j
          [[   2 %2]% ] CreBautiilndgi ndgi rAeScMt oorbijeesc tf opri c'o-Psidoka/ssmrBcu/irlpd2'_c
          ommon/boot_stage2/CMakeFiles/bs2_default.dir/compile_time_choice.S.obj
          [  3%] Linking ASM executable bs2_default.elf
          [  4%] No download step for 'PioasmBuild'
          [  5%] No update step for 'PioasmBuild'
          [  5%] Built target bs2_default
          [  6%] No patch step for 'PioasmBuild'
          [  7%] Generating bs2_default.bin
          [  8%] Performing configure step for 'PioasmBuild'
          [ 10%] Generating bs2_default_padded_checksummed.S
          loading initial cache file C:/Users/Chris Thompson/git/CoreN2G/src/RP2040/Tools/Build-pico-sdk/build/pico-sdk/src/rp2_common/cyw43_driver/pioasm/tmp/PioasmBuild-cache-RelWithDebInfo.cmake
          /C/msys64/usr/bin/python3.10: can't open file '/C/Users/Chris Thompson/git/CoreN2G/src/RP2040/Tools/Build-pico-sdk/build/pico-sdk/src/rp2_common/boot_stage2/C:/Users/Chris Thompson/git/CoreN2G/src/RP2040/pico-sdk/src/rp2_common/boot_stage2/pad_checksum': [Errno 2] No such file or directory
          make[2]: *** [pico-sdk/src/rp2_common/boot_stage2/CMakeFiles/bs2_default_padded_checksummed_asm.dir/build.make:73: pico-sdk/src/rp2_common/boot_stage2/bs2_default_padded_checksummed.S] Error 2
          make[1]: *** [CMakeFiles/Makefile2:1460: pico-sdk/src/rp2_common/boot_stage2/CMakeFiles/bs2_default_padded_checksummed_asm.dir/all] Error 2
          make[1]: *** Waiting for unfinished jobs....
          -- The CXX compiler identification is GNU 11.3.0
          -- Detecting CXX compiler ABI info
          -- Detecting CXX compiler ABI info - done
          -- Check for working CXX compiler: C:/msys64/usr/bin/c++.exe - skipped
          -- Detecting CXX compile features
          -- Detecting CXX compile features - done
          -- Configuring done
          -- Generating done
          -- Build files have been written to: C:/Users/Chris Thompson/git/CoreN2G/src/RP2040/Tools/Build-pico-sdk/build/pioasm
          [ 11%] Performing build step for 'PioasmBuild'
          [ 10[% ] 2[0B%u ]i3 l0[Bd %[ui5nil ]g0 [ %]5 6 0%C0BBd]X%uui X]iinB  ldguolBi nbduiCgjiinX ClldXX dXioeig nbcn ogjt Cb eg CXCcjXXXt C oXMb ajokebecjFtei clCteM saC/keFiMplCeXaies/pkoMc ieasm.oFdaii[rls /mt 7age.o[C0kedsb M%eni/j8a]F/rpe0k ip/ic%elBagot]Feurea  isisnsCl/Ble/mMepudrl.asiii.edk/eldcxiopaiiperFnsonpr/igmag..cl .s oCbeCdmc_XjsXi.psX
          /Xrdpd p /i.koiomro_boba/bpjasimji
          jno.ueoe.[dtc_cc pptats9pu.i s0 torCe%C.b/Mm]M apabclkBikjpe
          uoeperi_F.F.ldioicdilblpiseepjnass.
          gs//o bppiCjX
          oisXaoeas msbommlb..ejddreii.cctrrp //pChp.Meyoaxtbk_hon_output.cepp.obj
          ojF
          uitlpeust/.pcipopa.somb.jd
          ir/ada_output.cpp.obj
          [100%] Linking CXX executable pioasm.exe
          [100%] Built target pioasm
          [ 12%] No install step for 'PioasmBuild'
          [ 13%] Completed 'PioasmBuild'
          [ 13%] Built target PioasmBuild
          make: *** [Makefile:91: all] Error 2
          

          Any ideas?

          Usually the team that scores the most points wins the game.

          1 Reply Last reply Reply Quote 0
          • First post
            Last post
          Unless otherwise noted, all forum content is licensed under CC-BY-SA