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

    Can't compile 3.5.0 (Duet2)

    Scheduled Pinned Locked Moved Solved
    Firmware developers
    5
    22
    635
    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.
    • OwenDundefined
      OwenD @jay_s_uk
      last edited by

      @jay_s_uk said in Can't compile 3.5.0 (Duet2):

      try adding
      #include <Platform/Tasks.h>

      Thanks, but made no difference.

      1 Reply Last reply Reply Quote 0
      • gloomyandyundefined
        gloomyandy @OwenD
        last edited by

        @OwenD Try using the 3.4-dev version of RRFLibraries I don't think the current 3.5-dev is being used.

        OwenDundefined 1 Reply Last reply Reply Quote 2
        • OwenDundefined
          OwenD @gloomyandy
          last edited by OwenD

          @gloomyandy
          Thanks
          I actually tried that earlier and it almost worked.
          The binary was created but I got an error on the after compile section about crcappender I think.
          I'll have a bit more of a play later to see if I can figure it out.

          gloomyandyundefined JoergS5undefined 2 Replies Last reply Reply Quote 0
          • gloomyandyundefined
            gloomyandy @OwenD
            last edited by

            @OwenD I think you may need to have "go" set up to run that tool. It may be possible to build a debug version (which I think does not use the crc stuff), but to be honest I'm not very familiar with that side of things as we don't use it on the STM32 or LPC port.

            1 Reply Last reply Reply Quote 0
            • JoergS5undefined
              JoergS5 @OwenD
              last edited by JoergS5

              @OwenD said in Can't compile 3.5.0 (Duet2):

              about crcappender I think.

              if you use windows, you should add the path to the PATH environment, so the crc32appender exe file can be found, e.g.:

              C:...\RepRapFirmware\Tools\crc32appender\win-x86_64

              This crc32appender is used to calculate a checksum of the compiled binary.
              In the tools subdirectory are versions for linux and mac also.

              OwenDundefined 1 Reply Last reply Reply Quote 0
              • OwenDundefined
                OwenD @JoergS5
                last edited by

                @JoergS5
                Thanks.
                The path to crc32appender.exe is already there in the environment path section, but I'm sure it's something basic like that as I can compile 3.4-dev no problems.

                window.png

                JoergS5undefined 1 Reply Last reply Reply Quote 0
                • JoergS5undefined
                  JoergS5 @OwenD
                  last edited by

                  @OwenD I a not fit enought for Eclipse details, but this path may only be valid for building, but crc32 is after linking. You could try to do it like me and add it to the environment path, then restart eclipse. I don't know why 3.4 works for you, however.
                  Maybe it helps to diagnose if you post the exact error message.

                  OwenDundefined 1 Reply Last reply Reply Quote 0
                  • OwenDundefined
                    OwenD @JoergS5
                    last edited by

                    @JoergS5
                    Ahh, sorry. Didn't realise you meant the windows environment path.
                    I've added it there as well. Restarted windows and eclipse, but same thing.
                    🤷

                    window1.png

                    JoergS5undefined dc42undefined 2 Replies Last reply Reply Quote 0
                    • JoergS5undefined
                      JoergS5 @OwenD
                      last edited by

                      @OwenD please post the register Console (lower half, third register).

                      OwenDundefined 1 Reply Last reply Reply Quote 0
                      • OwenDundefined
                        OwenD @JoergS5
                        last edited by

                        @JoergS5 Here you go (last part only)

                        Building target: Duet2CombinedFirmware.elf
                        Invoking: Cross G++ Linker
                        arm-none-eabi-gcc -L"C:\Eclipse\Firmware\CoreN2G\SAM4E_SDHC_USB_RTOS" -L"C:\Eclipse\Firmware\RRFLibraries\SAM4E_RTOS" -L"C:\Eclipse\Firmware\FreeRTOS\SAM4E" -L"C:\Eclipse\Firmware\CANlib\SAM4E_RTOS" --specs=nosys.specs -Os -Wl,--gc-sections -Wl,--fatal-warnings -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -T"C:\Eclipse\Firmware\ReprapFirmware\src\Hardware\SAM4E\sam4e8e_flash.ld" -Wl,-Map,"C:\Eclipse\Firmware\ReprapFirmware\Duet2/Duet2CombinedFirmware.map" -o "Duet2CombinedFirmware.elf" -mthumb -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--entry=Reset_Handler -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--warn-section-align -Wl,--warn-unresolved-symbols -Wl,--start-group  ./src/libcpp/eh_alloc.o ./src/libcpp/vterminate.o  ./src/libc/atoi.o ./src/libc/errno.o ./src/libc/memcmp.o ./src/libc/memcpy.o ./src/libc/memmove.o ./src/libc/memset.o ./src/libc/nano-mallocr.o ./src/libc/strptime.o  ./src/bossa/Applet.o ./src/bossa/BossaFlash.o ./src/bossa/Device.o ./src/bossa/EefcFlash.o ./src/bossa/Flasher.o ./src/bossa/Samba.o ./src/bossa/WordCopyApplet.o ./src/bossa/WordCopyArm.o  ./src/Tools/Filament.o ./src/Tools/Spindle.o ./src/Tools/Tool.o  ./src/Storage/CRC16.o ./src/Storage/CRC32.o ./src/Storage/EmbeddedFiles.o ./src/Storage/FileInfoParser.o ./src/Storage/FileStore.o ./src/Storage/MassStorage.o  ./src/PrintMonitor/PrintMonitor.o  ./src/Platform/ArrayHandle.o ./src/Platform/Event.o ./src/Platform/Heap.o ./src/Platform/Logger.o ./src/Platform/MessageBox.o ./src/Platform/OutputMemory.o ./src/Platform/Platform.o ./src/Platform/PortControl.o ./src/Platform/RepRap.o ./src/Platform/Scanner.o ./src/Platform/StringHandle.o ./src/Platform/Tasks.o ./src/Platform/UniqueId.o  ./src/ObjectModel/GlobalVariables.o ./src/ObjectModel/ObjectModel.o ./src/ObjectModel/Variable.o  ./src/Networking/W5500Ethernet/Wiznet/Internet/DHCP/dhcp.o  ./src/Networking/W5500Ethernet/Wiznet/Ethernet/W5500/w5500.o  ./src/Networking/W5500Ethernet/Wiznet/Ethernet/WizSpi.o ./src/Networking/W5500Ethernet/Wiznet/Ethernet/socketlib.o ./src/Networking/W5500Ethernet/Wiznet/Ethernet/wizchip_conf.o  ./src/Networking/W5500Ethernet/MdnsResponder.o ./src/Networking/W5500Ethernet/W5500Interface.o ./src/Networking/W5500Ethernet/W5500Socket.o  ./src/Networking/MulticastDiscovery/MulticastResponder.o ./src/Networking/MulticastDiscovery/fgmc_protocol.o  ./src/Networking/ESP8266WiFi/WiFiInterface.o ./src/Networking/ESP8266WiFi/WiFiSocket.o ./src/Networking/ESP8266WiFi/WifiFirmwareUploader.o  ./src/Networking/FtpResponder.o ./src/Networking/HttpResponder.o ./src/Networking/Network.o ./src/Networking/NetworkBuffer.o ./src/Networking/NetworkInterface.o ./src/Networking/NetworkResponder.o ./src/Networking/TelnetResponder.o ./src/Networking/UploadingNetworkResponder.o  ./src/Movement/StepperDrivers/DriverMode.o ./src/Movement/StepperDrivers/TMC22xx.o ./src/Movement/StepperDrivers/TMC2660.o ./src/Movement/StepperDrivers/TMC51xx.o  ./src/Movement/Kinematics/CoreKinematics.o ./src/Movement/Kinematics/FiveBarScaraKinematics.o ./src/Movement/Kinematics/HangprinterKinematics.o ./src/Movement/Kinematics/Kinematics.o ./src/Movement/Kinematics/LinearDeltaKinematics.o ./src/Movement/Kinematics/PolarKinematics.o ./src/Movement/Kinematics/RotaryDeltaKinematics.o ./src/Movement/Kinematics/RoundBedKinematics.o ./src/Movement/Kinematics/ScaraKinematics.o ./src/Movement/Kinematics/ZLeadscrewKinematics.o  ./src/Movement/HeightControl/HeightController.o  ./src/Movement/BedProbing/Grid.o ./src/Movement/BedProbing/RandomProbePointSet.o  ./src/Movement/AxisShaper.o ./src/Movement/DDA.o ./src/Movement/DDARing.o ./src/Movement/DriveMovement.o ./src/Movement/ExtruderShaper.o ./src/Movement/Move.o ./src/Movement/MoveSegment.o ./src/Movement/RawMove.o ./src/Movement/StepTimer.o  ./src/Libraries/sha1/sha1.o  ./src/Libraries/sd_mmc/ctrl_access.o ./src/Libraries/sd_mmc/sd_mmc.o ./src/Libraries/sd_mmc/sd_mmc_mem.o ./src/Libraries/sd_mmc/sd_mmc_spi.o  ./src/Libraries/Fatfs/diskio.o ./src/Libraries/Fatfs/fattime_rtc.o ./src/Libraries/Fatfs/ff.o ./src/Libraries/Fatfs/ffunicode.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/Heating/RemoteHeater.o  ./src/Hardware/Spi/SharedSpiClient.o ./src/Hardware/Spi/SharedSpiDevice.o ./src/Hardware/Spi/SpiDevice.o  ./src/Hardware/SAM4E/Devices.o ./src/Hardware/SAM4E/Main.o  ./src/Hardware/ExceptionHandlers.o ./src/Hardware/I2C.o ./src/Hardware/IoPorts.o ./src/Hardware/NonVolatileMemory.o ./src/Hardware/SoftwareReset.o  ./src/GPIO/GpInPort.o ./src/GPIO/GpOutPort.o  ./src/GCodes/GCodeBuffer/BinaryParser.o ./src/GCodes/GCodeBuffer/ExpressionParser.o ./src/GCodes/GCodeBuffer/GCodeBuffer.o ./src/GCodes/GCodeBuffer/StringParser.o  ./src/GCodes/CollisionAvoider.o ./src/GCodes/GCodeException.o ./src/GCodes/GCodeFileInfo.o ./src/GCodes/GCodeInput.o ./src/GCodes/GCodeMachineState.o ./src/GCodes/GCodeQueue.o ./src/GCodes/GCodes.o ./src/GCodes/GCodes2.o ./src/GCodes/GCodes3.o ./src/GCodes/GCodes4.o ./src/GCodes/GCodes5.o ./src/GCodes/GCodes6.o ./src/GCodes/GCodes7.o ./src/GCodes/ObjectTracker.o ./src/GCodes/RestorePoint.o ./src/GCodes/StraightProbeSettings.o ./src/GCodes/TriggerItem.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/LedStripDriver.o ./src/Fans/LocalFan.o ./src/Fans/RemoteFan.o  ./src/Endstops/Endstop.o ./src/Endstops/EndstopsManager.o ./src/Endstops/LocalZProbe.o ./src/Endstops/RemoteZProbe.o ./src/Endstops/StallDetectionEndstop.o ./src/Endstops/SwitchEndstop.o ./src/Endstops/ZProbe.o ./src/Endstops/ZProbeEndstop.o  ./src/DuetNG/DueXn.o ./src/DuetNG/SX1509.o  ./src/Display/Lcd/ST7920/Lcd7920.o  ./src/Display/Lcd/ST7567/Lcd7567.o  ./src/Display/Lcd/ILI9488/ILI9488.o  ./src/Display/Lcd/Fonts/ER3301_1.o ./src/Display/Lcd/Fonts/glcd11x14.o ./src/Display/Lcd/Fonts/glcd19x21.o ./src/Display/Lcd/Fonts/glcd28x32.o ./src/Display/Lcd/Fonts/glcd7x11.o  ./src/Display/Lcd/Lcd.o ./src/Display/Lcd/MonoLcd.o ./src/Display/Lcd/TFTLcd.o  ./src/Display/ButtonMenuItem.o ./src/Display/Display.o ./src/Display/FilesMenuItem.o ./src/Display/ImageMenuItem.o ./src/Display/Menu.o ./src/Display/MenuItem.o ./src/Display/ResistiveTouch.o ./src/Display/RotaryEncoder.o ./src/Display/TextMenuItem.o ./src/Display/ValueMenuItem.o  ./src/Config/Pins.o  ./src/Comms/AuxDevice.o ./src/Comms/FirmwareUpdater.o ./src/Comms/PanelDueUpdater.o  ./src/ClosedLoop/ClosedLoop.o  ./src/CAN/CanDriversData.o ./src/CAN/CanInterface.o ./src/CAN/CanMessageGenericConstructor.o ./src/CAN/CanMotion.o ./src/CAN/CommandProcessor.o ./src/CAN/ExpansionManager.o  ./src/Accelerometers/Accelerometers.o ./src/Accelerometers/LIS3DH.o  ./src/RepRapFirmware.o ./src/Version.o   -lCANlib -lCoreN2G -lRRFLibraries -lFreeRTOS -lsupc++  -Wl,--end-group -lm
                        Finished building target: Duet2CombinedFirmware.elf
                         
                        Generating binary file
                        arm-none-eabi-objcopy -O binary "C:\Eclipse\Firmware\ReprapFirmware\Duet2/Duet2CombinedFirmware.elf" "C:\Eclipse\Firmware\ReprapFirmware\Duet2/Duet2CombinedFirmware.bin" && crcappender "C:\Eclipse\Firmware\ReprapFirmware\Duet2/Duet2CombinedFirmware.bin"
                        c:/program files/gnu arm eclipse/build tools/2.6-201507152002/bin/sh: crcappender: not found
                        makefile:124: recipe for target 'post-build' failed
                        make[1]: [post-build] Error 127 (ignored)
                         
                        
                        21:43:07 Build Failed. 1 errors, 0 warnings. (took 25s.810ms)
                        
                        1 Reply Last reply Reply Quote 0
                        • dc42undefined
                          dc42 administrators @OwenD
                          last edited by dc42

                          @OwenD for historical reasons, some build configurations use crc32appender and some use the more recent program CrcAppender. The Duet 2 configuration uses CrcAppender. You can find this tool at https://github.com/Duet3D/CrcAppender/releases/tag/v1.2.0.

                          PS - I have also added CrcAppender to the Tools folder of RepRapFirmware.

                          Duet WiFi hardware designer and firmware engineer
                          Please do not ask me for Duet support via PM or email, use the forum
                          http://www.escher3d.com, https://miscsolutions.wordpress.com

                          JoergS5undefined OwenDundefined 2 Replies Last reply Reply Quote 1
                          • JoergS5undefined
                            JoergS5 @dc42
                            last edited by

                            @dc42 Thanks for stepping in. I would have looked for a while longer for a solution....

                            1 Reply Last reply Reply Quote 0
                            • OwenDundefined
                              OwenD @dc42
                              last edited by OwenD

                              @dc42
                              Thanks for that.
                              I have downloaded that.
                              However it now says it can't find CrcAppender.dll?

                              Generating binary file
                              arm-none-eabi-objcopy -O binary "C:\Eclipse\Firmware\ReprapFirmware\Duet2/Duet2CombinedFirmware.elf" "C:\Eclipse\Firmware\ReprapFirmware\Duet2/Duet2CombinedFirmware.bin" && crcappender "C:\Eclipse\Firmware\ReprapFirmware\Duet2/Duet2CombinedFirmware.bin"
                              The application to execute does not exist: 'C:\Program Files\GNU ARM Eclipse\Build Tools\2.6-201507152002\bin\CrcAppender.dll'.
                              VTALRM
                              makefile:124: recipe for target 'post-build' failed
                              make[1]: [post-build] Error 154 (ignored)
                              

                              Edit:
                              Strangely I can build for Duet2_SBC and Duet 3 Mini 5 ??

                              dc42undefined 1 Reply Last reply Reply Quote 0
                              • dc42undefined
                                dc42 administrators @OwenD
                                last edited by dc42

                                @OwenD that's odd! It has worked for me for several months. It should work provided that you have CrcAppender.exe on your Path. Try entering command CrcAppender on a command line, to see if it is found.

                                In the Post Build Step within Project Properties/Settings you could try replacing crcappender by CrcAppender in case that part of Eclipse is case-sensitive on your machine; or replace it by CrcAppender.exe; or you could replace it by crc32appender which is what the other configurations you mentioned used.

                                Duet WiFi hardware designer and firmware engineer
                                Please do not ask me for Duet support via PM or email, use the forum
                                http://www.escher3d.com, https://miscsolutions.wordpress.com

                                OwenDundefined 1 Reply Last reply Reply Quote 0
                                • OwenDundefined
                                  OwenD @dc42
                                  last edited by

                                  @dc42 said in Can't compile 3.5.0 (Duet2):

                                  @OwenD that's odd! It has worked for me for several months.

                                  Well if you want something broken, I'm your man! 🙄

                                  It should work provided that you have CrcAppender.exe on your Path.
                                  Try entering command CrcAppender on a command line, to see if it is found.

                                  It's found no problem, but if I try to execute it, I get the same thing about crcappender.dll as if the .exe file is trying to call functions within a .dll ??

                                  pathtocrcappender.png

                                  In the Post Build Step within Project Properties/Settings you could try replacing crcappender by CrcAppender in case that part of Eclipse is case-sensitive on your machine; or replace it by CrcAppender.exe;

                                  None of the above work

                                  or you could replace it by crc32appender which is what the other configurations you mentioned used.

                                  This does work.
                                  I can compile if I change the post build settings to use Crc32Appender.exe
                                  🤷
                                  Given my needs are purely self education, that will be fine.
                                  Thanks for your help 👍

                                  JoergS5undefined 1 Reply Last reply Reply Quote 0
                                  • OwenDundefined OwenD marked this topic as a question
                                  • OwenDundefined OwenD has marked this topic as solved
                                  • JoergS5undefined
                                    JoergS5 @OwenD
                                    last edited by JoergS5

                                    @OwenD I tried and get the same strange message:

                                    C:\Users\joerg>path %path%;c:_

                                    C:\Users\joerg>where crcappender
                                    c:_\CrcAppender.exe

                                    C:\Users\joerg>crcappender
                                    The application to execute does not exist: 'c:_\CrcAppender.dll'.

                                    C:\Users\joerg>

                                    I've never seen this before...

                                    Maybe the .NET 6 library is missing (no change after installing). But the message is very confusing.

                                    dc42undefined 1 Reply Last reply Reply Quote 1
                                    • dc42undefined
                                      dc42 administrators @JoergS5
                                      last edited by dc42

                                      @JoergS5 there is now a new build of CrcAppender.exe at https://github.com/Duet3D/CrcAppender/releases/tag/v1.2.0. Can you try that one? I have just tested it.

                                      Duet WiFi hardware designer and firmware engineer
                                      Please do not ask me for Duet support via PM or email, use the forum
                                      http://www.escher3d.com, https://miscsolutions.wordpress.com

                                      OwenDundefined 1 Reply Last reply Reply Quote 0
                                      • OwenDundefined
                                        OwenD @dc42
                                        last edited by

                                        @dc42 said in Can't compile 3.5.0 (Duet2):

                                        there is now a new build of CrcAppender.exe at https://github.com/Duet3D/CrcAppender/releases/tag/v1.2.0.

                                        That one works for me

                                        Generating binary file
                                        arm-none-eabi-objcopy -O binary "C:\Eclipse\Firmware\ReprapFirmware\Duet2/Duet2CombinedFirmware.elf" "C:\Eclipse\Firmware\ReprapFirmware\Duet2/Duet2CombinedFirmware.bin" && CrcAppender "C:\Eclipse\Firmware\ReprapFirmware\Duet2/Duet2CombinedFirmware.bin"
                                        Firmware binary: C:\Eclipse\Firmware\ReprapFirmware\Duet2\Duet2CombinedFirmware.bin
                                        CRC32 = 0x71B36E05
                                         
                                        
                                        20:06:38 Build Finished. 0 errors, 0 warnings. (took 3s.747ms)
                                        
                                        dc42undefined 1 Reply Last reply Reply Quote 0
                                        • dc42undefined
                                          dc42 administrators @OwenD
                                          last edited by

                                          @OwenD thanks, I'll update the one in the Tools folder of RRF.

                                          Duet WiFi hardware designer and firmware engineer
                                          Please do not ask me for Duet support via PM or email, use the forum
                                          http://www.escher3d.com, https://miscsolutions.wordpress.com

                                          JoergS5undefined 1 Reply Last reply Reply Quote 0
                                          • JoergS5undefined
                                            JoergS5 @dc42
                                            last edited by JoergS5

                                            @dc42 thank you! (confirmed: works for me too now)

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