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

    Building Firmware on MacOS for Duet 0.8.5

    Scheduled Pinned Locked Moved
    Firmware installation
    3
    5
    243
    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.
    • PDBealundefined
      PDBeal
      last edited by PDBeal

      So I've been following the instructions for building the firmware from the Duet3D GitHub location. I've got everything installed, and it appears CoreNG, RRFLibraries, FreeRTOS all build, but I keep getting this error trying to generate RepRapFirmware for the Duet0.8.5

      Building target: RepRapFirmware.elf
      Invoking: Cross G++ Linker
      arm-none-eabi-gcc -L"/Users/pdbeal/git/CoreNG/SAM3X8E" -L"/Users/pdbeal/git/CoreNG/SAM3X8E" -L"/Users/pdbeal/git/RRFLibraries/SAM3X" -Os -Wl,--gc-sections -Wl,--fatal-warnings -mcpu=cortex-m3 -T"/Users/pdbeal/git/CoreNG/variants/duet/linker_scripts/gcc/flash.ld" -Wl,-Map,"/Users/pdbeal/git/RepRapFirmware/Duet085/RepRapFirmware.map" -o "RepRapFirmware.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 "/Users/pdbeal/eclipse-workspace/CoreNG/SAM3X8E/cores/arduino/syscalls.o"  ./src/Tools/Filament.o ./src/Tools/Tool.o  ./src/Storage/CRC32.o ./src/Storage/FileInfoParser.o ./src/Storage/FileStore.o ./src/Storage/MassStorage.o  ./src/ObjectModel/ObjectModel.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/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/ScaraKinematics.o ./src/Movement/Kinematics/ZLeadscrewKinematics.o  ./src/Movement/BedProbing/Grid.o ./src/Movement/BedProbing/RandomProbePointSet.o  ./src/Movement/DDA.o ./src/Movement/DDARing.o ./src/Movement/DriveMovement.o ./src/Movement/Move.o ./src/Movement/StepTimer.o  ./src/Libraries/sha1/sha1.o  ./src/Libraries/Fatfs/diskio.o ./src/Libraries/Fatfs/fattime_rtc.o ./src/Libraries/Fatfs/ff.o ./src/Libraries/Fatfs/ffunicode.o  ./src/Heating/Sensors/CpuTemperatureSensor.o ./src/Heating/Sensors/CurrentLoopTemperatureSensor.o ./src/Heating/Sensors/DhtSensor.o ./src/Heating/Sensors/RtdSensor31865.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/HeaterProtection.o ./src/Heating/Pid.o ./src/Heating/TemperatureError.o  ./src/Hardware/Cache.o ./src/Hardware/DmacManager.o ./src/Hardware/I2C.o ./src/Hardware/IoPorts.o  ./src/GCodes/GCodeBuffer.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/RestorePoint.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/DotStarLed.o ./src/Fans/Fan.o ./src/Fans/Tacho.o  ./src/Duet/MCP4461/MCP4461.o  ./src/Duet/Lwip/lwip/src/netif/ppp/auth.o ./src/Duet/Lwip/lwip/src/netif/ppp/chap.o ./src/Duet/Lwip/lwip/src/netif/ppp/chpms.o ./src/Duet/Lwip/lwip/src/netif/ppp/fsm.o ./src/Duet/Lwip/lwip/src/netif/ppp/ipcp.o ./src/Duet/Lwip/lwip/src/netif/ppp/lcp.o ./src/Duet/Lwip/lwip/src/netif/ppp/magic.o ./src/Duet/Lwip/lwip/src/netif/ppp/md5.o ./src/Duet/Lwip/lwip/src/netif/ppp/pap.o ./src/Duet/Lwip/lwip/src/netif/ppp/ppp.o ./src/Duet/Lwip/lwip/src/netif/ppp/ppp_oe.o ./src/Duet/Lwip/lwip/src/netif/ppp/randm.o ./src/Duet/Lwip/lwip/src/netif/ppp/vj.o  ./src/Duet/Lwip/lwip/src/netif/etharp.o ./src/Duet/Lwip/lwip/src/netif/ethernetif.o ./src/Duet/Lwip/lwip/src/netif/slipif.o  ./src/Duet/Lwip/lwip/src/core/snmp/asn1_dec.o ./src/Duet/Lwip/lwip/src/core/snmp/asn1_enc.o ./src/Duet/Lwip/lwip/src/core/snmp/mib2.o ./src/Duet/Lwip/lwip/src/core/snmp/mib_structs.o ./src/Duet/Lwip/lwip/src/core/snmp/msg_in.o ./src/Duet/Lwip/lwip/src/core/snmp/msg_out.o  ./src/Duet/Lwip/lwip/src/core/ipv4/autoip.o ./src/Duet/Lwip/lwip/src/core/ipv4/icmp.o ./src/Duet/Lwip/lwip/src/core/ipv4/igmp.o ./src/Duet/Lwip/lwip/src/core/ipv4/inet.o ./src/Duet/Lwip/lwip/src/core/ipv4/inet_chksum.o ./src/Duet/Lwip/lwip/src/core/ipv4/ip.o ./src/Duet/Lwip/lwip/src/core/ipv4/ip_addr.o ./src/Duet/Lwip/lwip/src/core/ipv4/ip_frag.o  ./src/Duet/Lwip/lwip/src/core/def.o ./src/Duet/Lwip/lwip/src/core/dhcp.o ./src/Duet/Lwip/lwip/src/core/dns.o ./src/Duet/Lwip/lwip/src/core/lwip_init.o ./src/Duet/Lwip/lwip/src/core/lwip_timers_141.o ./src/Duet/Lwip/lwip/src/core/mem.o ./src/Duet/Lwip/lwip/src/core/memp.o ./src/Duet/Lwip/lwip/src/core/netif.o ./src/Duet/Lwip/lwip/src/core/pbuf.o ./src/Duet/Lwip/lwip/src/core/raw.o ./src/Duet/Lwip/lwip/src/core/stats.o ./src/Duet/Lwip/lwip/src/core/sys.o ./src/Duet/Lwip/lwip/src/core/tcp.o ./src/Duet/Lwip/lwip/src/core/tcp_in.o ./src/Duet/Lwip/lwip/src/core/tcp_out.o ./src/Duet/Lwip/lwip/src/core/udp.o  ./src/Duet/Lwip/lwip/src/api/api_lib.o ./src/Duet/Lwip/lwip/src/api/api_msg.o ./src/Duet/Lwip/lwip/src/api/err.o ./src/Duet/Lwip/lwip/src/api/netbuf.o ./src/Duet/Lwip/lwip/src/api/netdb.o ./src/Duet/Lwip/lwip/src/api/netifapi.o ./src/Duet/Lwip/lwip/src/api/sockets.o ./src/Duet/Lwip/lwip/src/api/tcpip.o  ./src/Duet/Lwip/contrib/apps/netbios/netbios.o  ./src/Duet/Lwip/contrib/apps/mdns/mdns_responder.o  ./src/Duet/EMAC/ethernet_phy.o ./src/Duet/EMAC/ethernet_sam.o ./src/Duet/EMAC/ethernetif.o  ./src/Duet/ConnectionState.o ./src/Duet/Network.o ./src/Duet/NetworkTransaction.o ./src/Duet/Webserver.o  ./src/CAN/CanInterface.o ./src/CAN/CanMessageBuffer.o ./src/CAN/CanSender.o  ./src/Logger.o ./src/OutputMemory.o ./src/Platform.o ./src/PortControl.o ./src/PrintMonitor.o ./src/RepRap.o ./src/RepRapFirmware.o ./src/Roland.o ./src/Scanner.o ./src/SoftTimer.o ./src/Spindle.o ./src/Tasks.o ./src/ZProbe.o ./src/ZProbeProgrammer.o   -lCoreNG -lCoreNG -lRRFLibraries -Wl,--end-group -lm
      arm-none-eabi-gcc: error: /Users/pdbeal/eclipse-workspace/CoreNG/SAM3X8E/cores/arduino/syscalls.o: No such file or directory
      make: *** [RepRapFirmware.elf] Error 1
      "make -j3 all" terminated with exit code 2. Build might be incomplete.
      
      22:21:00 Build Failed. 1 errors, 3 warnings. (took 35s.679ms)
      

      I can indeed see that the file in question does not exist, but not sure why its not being build when I build CoreNG?

      This is what I see after building CoreNG

      Building target: libCoreNG.a
      Invoking: Cross GCC Archiver
      arm-none-eabi-ar -r  "libCoreNG.a"  ./variants/duet/exceptions.o ./variants/duet/startup_sam3x.o ./variants/duet/system_sam3x.o ./variants/duet/variant.o  ./libraries/Wire/Wire.o  ./libraries/Storage/ctrl_access.o ./libraries/Storage/sd_mmc.o ./libraries/Storage/sd_mmc_mem.o ./libraries/Storage/sd_mmc_spi.o  ./libraries/SharedSpi/SharedSpi.o  ./libraries/Flash/DueFlashStorage.o  ./cores/arduino/USB/USBSerial.o  ./cores/arduino/AnalogIn.o ./cores/arduino/AnalogOut.o ./cores/arduino/Print.o ./cores/arduino/Reset.o ./cores/arduino/RingBuffer.o ./cores/arduino/Stream.o ./cores/arduino/UARTClass.o ./cores/arduino/USARTClass.o ./cores/arduino/WInterrupts.o ./cores/arduino/WMath.o ./cores/arduino/abi.o ./cores/arduino/hooks.o ./cores/arduino/itoa.o ./cores/arduino/new.o ./cores/arduino/syscalls.o ./cores/arduino/watchdog.o ./cores/arduino/wiring.o ./cores/arduino/wiring_digital.o ./cores/arduino/wiring_shift.o  ./asf/sam/services/flash_efc/flash_efc.o  ./asf/sam/drivers/wdt/wdt.o  ./asf/sam/drivers/usart/usart.o  ./asf/sam/drivers/uotghs/uotghs_device.o  ./asf/sam/drivers/uart/uart.o  ./asf/sam/drivers/twi/twi.o  ./asf/sam/drivers/trng/trng.o  ./asf/sam/drivers/tc/tc.o  ./asf/sam/drivers/supc/supc.o  ./asf/sam/drivers/spi/spi.o  ./asf/sam/drivers/rstc/rstc.o  ./asf/sam/drivers/pwm/pwm.o  ./asf/sam/drivers/pmc/pmc.o ./asf/sam/drivers/pmc/sleep.o  ./asf/sam/drivers/pio/pio.o  ./asf/sam/drivers/pdc/pdc.o  ./asf/sam/drivers/matrix/matrix.o  ./asf/sam/drivers/hsmci/hsmci.o  ./asf/sam/drivers/gpbr/gpbr.o  ./asf/sam/drivers/emac/emac.o  ./asf/sam/drivers/efc/efc.o  ./asf/sam/drivers/dmac/dmac.o  ./asf/sam/drivers/dacc/dacc.o  ./asf/sam/drivers/chipid/chipid.o  ./asf/sam/drivers/adc/adc.o  ./asf/common/utils/interrupt/interrupt_sam_nvic.o  ./asf/common/services/usb/udc/udc.o  ./asf/common/services/usb/class/cdc/device/udi_cdc.o ./asf/common/services/usb/class/cdc/device/udi_cdc_desc.o  ./asf/common/services/sleepmgr/sam/sleepmgr.o  ./asf/common/services/clock/sam3x/sysclk.o   
      arm-none-eabi-ar: creating libCoreNG.a
      Finished building target: libCoreNG.a
       
      
      22:14:16 Build Finished. 0 errors, 0 warnings. (took 7s.858ms)
      
      dc42undefined 1 Reply Last reply Reply Quote 0
      • A Former User?
        A Former User
        last edited by

        did you clean rrf after building freertos, coreng etc?

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

          @PDBeal said in Building Firmware on MacOS for Duet 0.8.5:

          arm-none-eabi-gcc -L"/Users/pdbeal/git/CoreNG/SAM3X8E" -L"/Users/pdbeal/git/CoreNG/SAM3X8E" ...
          -Wl,--start-group "/Users/pdbeal/eclipse-workspace/CoreNG/SAM3X8E/cores/arduino/syscalls.o"

          You appear to be referring to the CoreNG project in two different Eclipse workspaces.

          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

          1 Reply Last reply Reply Quote 1
          • PDBealundefined
            PDBeal
            last edited by

            Well, that was it. I never noticed that. What's strange was I told Eclipse to use /Users/pdbeal/eclipse-workspace/ as the workspace, but then when it added all the git repositories it put them in /Users/pdbeal/git/.

            Changing my Eclipse Workspace to /Users/pdbeal/git/ and re-imported all the git repos, solved that issue and it all compiled.

            One thing I've noticed is my RepRapFirmware.bin file is a little smaller than the one from your github repo for 1.26.1.

            398620 - mine
            409648 - github repo

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

              @PDBeal said in Building Firmware on MacOS for Duet 0.8.5:

              One thing I've noticed is my RepRapFirmware.bin file is a little smaller than the one from your github repo for 1.26.1.

              That's probably caused by using different versions of gcc and the C libraries.

              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

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