Can't compile 3.5.0 RPI Pico
-
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?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)```
-
@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-sdkSome things currently don't work such as updating over CAN, changing the CAN address, the ADXL345 and neopixels
-
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?