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

    Duet3Bootloader compilation

    Scheduled Pinned Locked Moved Solved
    Firmware developers
    3
    11
    380
    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.
    • droftartsundefined
      droftarts administrators @Arplyu
      last edited by

      @Arplyu Do you mean here? https://github.com/Duet3D/Duet3Bootloader#build-instructions
      Are you getting error messages when compiling?

      Possibly cross reference installation and usage with the RRF instructions https://github.com/Duet3D/RepRapFirmware/wiki/Building-RepRapFirmware

      Ian

      Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

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

        @Arplyu do you mean the bootloader for CAN-connected expansion boards, or the bootloader for the Mini5+ ?

        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

        Arplyuundefined 1 Reply Last reply Reply Quote 0
        • Arplyuundefined
          Arplyu @droftarts
          last edited by

          @droftarts Thanks for reply! Yes, I used those instructions. I chose the branches as said in the instructions. I don't remember, where I saw the build configs for bootloader, but AFAIR there should be non-RTOS configs. So I selected SAMC21_nonRTOS for CANLib, SAMC21 for RRFLibraries and SAMMYC21 for the main project. The target board for which I want to build the bootloader is SAMMYC21. So, as a result I get the following error when compiling RRFLibraries:

          ../src/Math/Isqrt.cpp:7:11: fatal error: Core.h: No such file or directory
              7 | # include <Core.h>
                |           ^~~~~~~~
          

          which possiblyt refers to Core.h from CoreN2G (???), however nothing is said that this should be added to the workspace (anyways, adding CoreN2G didn't help and induced even more errors). In turn, error in RRFLIbraries doesn't allow to compile the main project.

          dc42undefined 1 Reply Last reply Reply Quote 0
          • Arplyuundefined
            Arplyu @dc42
            last edited by

            @dc42 sorry, I missed your reply while was writing my response to @droftarts . Yes, I mean bootloader for CAN-boards, more precisely for SAMMYC21

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

              @Arplyu yes you need to include CoreN2G in your workspace. I have updated the build instructions at https://github.com/Duet3D/Duet3Bootloader/blob/master/README.md to reflect this and also to correct the current branch names of the various projects.

              What changes are you looking to make to the bootloader?

              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

              Arplyuundefined 1 Reply Last reply Reply Quote 0
              • Arplyuundefined
                Arplyu @dc42
                last edited by

                @dc42 thank you for the reply.
                My goals are 1. research interest 😃 2. adding own configuration to the expansion board firmware and a corresponding binary name to the bootloader (to update via CAN). The new config will be based on SAMMYC21, therefore I try to build first the standard SAMMYC21 configuration.

                I tried with adding CoreN2G project (config SAMC21_nonRTOS) and setting branch names according to the updated instructions. However, compilation failed again. I've tried in both Linux and Windows (I used to work with RRF3 in Linux during last 1.5 years and everything has always been ok; I haven't had any problems with compilation for expansion board firmware in Linux neither).
                The errors were similar in both systems:

                ../src/Bootloader.cpp: In function 'void GetBlock(uint32_t, uint32_t&)':
                ../src/Bootloader.cpp:211:19: error: no matching function for call to 'CanMessageBuffer::CanMessageBuffer()'
                  211 |  CanMessageBuffer buf;
                      |                   ^~~
                In file included from ../src/Bootloader.cpp:22:
                /mnt/NTFSD/DEV/DUET_BOOTLOADER/CANlib/src/CanMessageBuffer.h:28:2: note: candidate: 'CanMessageBuffer::CanMessageBuffer(CanMessageBuffer*)'
                   28 |  CanMessageBuffer(CanMessageBuffer *prev) noexcept : next(prev) { }
                      |  ^~~~~~~~~~~~~~~~
                /mnt/NTFSD/DEV/DUET_BOOTLOADER/CANlib/src/CanMessageBuffer.h:28:2: note:   candidate expects 1 argument, 0 provided
                /mnt/NTFSD/DEV/DUET_BOOTLOADER/CANlib/src/CanMessageBuffer.h:25:7: note: candidate: 'constexpr CanMessageBuffer::CanMessageBuffer(const CanMessageBuffer&)'
                   25 | class CanMessageBuffer
                      |       ^~~~~~~~~~~~~~~~
                /mnt/NTFSD/DEV/DUET_BOOTLOADER/CANlib/src/CanMessageBuffer.h:25:7: note:   candidate expects 1 argument, 0 provided
                /mnt/NTFSD/DEV/DUET_BOOTLOADER/CANlib/src/CanMessageBuffer.h:25:7: note: candidate: 'constexpr CanMessageBuffer::CanMessageBuffer(CanMessageBuffer&&)'
                /mnt/NTFSD/DEV/DUET_BOOTLOADER/CANlib/src/CanMessageBuffer.h:25:7: note:   candidate expects 1 argument, 0 provided
                make[1]: *** [src/subdir.mk:26: src/Bootloader.o] Error 1
                make: *** [makefile:56: all] Error 2
                
                dc42undefined 1 Reply Last reply Reply Quote 0
                • dc42undefined
                  dc42 administrators @Arplyu
                  last edited by dc42

                  @Arplyu there is an incompatibility between the branches or versions of files in CANlib and Duet3Bootloader. Check that you are using the latest commits on the branches that I listed in the readme file.

                  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

                  Arplyuundefined 1 Reply Last reply Reply Quote 0
                  • Arplyuundefined
                    Arplyu @dc42
                    last edited by

                    @dc42 thanks, and sorry for taking your time with this problem. I've double checked, I'm pretty sure I use the latest commits on exactly those branches. Just in case:

                    CANLib
                    d2210cd9cdde4e40c4c575b273b58ddc75600b91

                    CoreN2G
                    de512d3ce8c7add8c7230a102086b652f036f26e

                    Bootloader
                    a3a9567a427e9749796ec037e2c989d7ff571005

                    RRFLibraries
                    a7260b7073f5b0a7e6940587ae34a0584f8ceee7

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

                      @Arplyu I'm sorry, Eclipse was showing that my working copy of Duet3Bootloader was in sync with the remote, but in fact it wasn't and the remote was missing a change. Please update Duet3Bootloader and try again.

                      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

                      Arplyuundefined 1 Reply Last reply Reply Quote 1
                      • Arplyuundefined
                        Arplyu @dc42
                        last edited by

                        @dc42 Thanks a lot! Now it compiles 👍

                        1 Reply Last reply Reply Quote 1
                        • T3P3Tonyundefined T3P3Tony marked this topic as a question
                        • T3P3Tonyundefined T3P3Tony has marked this topic as solved
                        • First post
                          Last post
                        Unless otherwise noted, all forum content is licensed under CC-BY-SA