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

    crc32appender now needed for RRF?

    Scheduled Pinned Locked Moved
    Firmware developers
    7
    29
    1.7k
    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.
    • gtj0undefined
      gtj0
      last edited by

      @wilriker Your commit to add it needs to add the appropriate Tools/crc32appender directories to the PATH in Eclipse or we'll have to manually copy it to a system directory.

      wilrikerundefined 1 Reply Last reply Reply Quote 1
      • gtj0undefined
        gtj0 @smoki3
        last edited by

        @smoki3 said in crc32appender now needed for RRF?:

        I copied it to the root folder of the RepRapFirmware directory. Does not work

        It has to be a directory in your $PATH.

        smoki3undefined 1 Reply Last reply Reply Quote 0
        • smoki3undefined
          smoki3 @gtj0
          last edited by

          @gtj0

          I get this:

          /bin/sh: crc32appender: command not found

          dont know where my $PATH is

          wilrikerundefined 1 Reply Last reply Reply Quote 0
          • wilrikerundefined
            wilriker @smoki3
            last edited by

            @smoki3 in the command line type

            echo $PATH
            

            it should give you a colon-separated list of directories where the system looks for executables by default.

            Manuel
            Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
            with probably always latest firmware/DWC (incl. betas or self-compiled)
            My Tool Collection

            smoki3undefined 1 Reply Last reply Reply Quote 0
            • wilrikerundefined
              wilriker @gtj0
              last edited by

              @gtj0 said in crc32appender now needed for RRF?:

              @wilriker Your commit to add it needs to add the appropriate Tools/crc32appender directories to the PATH in Eclipse or we'll have to manually copy it to a system directory.

              I just realized that this will be very complicated since the binaries all have the same name but need to be different for the different operating systems.

              Manuel
              Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
              with probably always latest firmware/DWC (incl. betas or self-compiled)
              My Tool Collection

              gtj0undefined 1 Reply Last reply Reply Quote 0
              • smoki3undefined
                smoki3 @wilriker
                last edited by

                @wilriker

                echo $PATH
                /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Users/kevin/.android-sdk-macosx/platform-tools/:/Users/kevin/Library/platform-tools/
                

                I added it to the /usr/local/bin

                but it does not work in ecplise.

                In the terminal it works

                1 Reply Last reply Reply Quote 0
                • gtj0undefined
                  gtj0 @wilriker
                  last edited by

                  @wilriker said in crc32appender now needed for RRF?:

                  @gtj0 said in crc32appender now needed for RRF?:

                  @wilriker Your commit to add it needs to add the appropriate Tools/crc32appender directories to the PATH in Eclipse or we'll have to manually copy it to a system directory.

                  I just realized that this will be very complicated since the binaries all have the same name but need to be different for the different operating systems.

                  You may be able to rename the directories to match some Eclipse or environment variable. I think there's a variable in Eclipse named "platform" or something close then you could add the path as ${workspace_dir}/Tools/crc32appender/${platcorm}

                  Not sure if those are the exact variable names.

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

                    I just put in the same /bin directory that I put miscellaneous binaries in, which is already on my PATH. This is under Windows 10 x64.

                    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
                    • gtj0undefined
                      gtj0
                      last edited by

                      @smoki3 I also put it in /usr/local/bin and it worked from Eclipse. Did you restart Eclipse? You shouldn't have to but it may help.

                      You can also try running "make" manually...
                      From the output directory (Duet2_RTOS, Duet3_V06, etc), run make clean and make and see if that works.

                      smoki3undefined 1 Reply Last reply Reply Quote 0
                      • gtj0undefined
                        gtj0
                        last edited by

                        @wilriker These look like they could be good variables to use:

                        HostOsName
                        OsType
                        target.os

                        1 Reply Last reply Reply Quote 0
                        • smoki3undefined
                          smoki3 @gtj0
                          last edited by smoki3

                          @gtj0

                          Its funny, in the terminal it is working with make... In eclipse not

                          I figured out that eclipse only uses:

                          /usr/bin:/bin:/usr/sbin:/sbin
                          

                          But on the mac we dont have permissions to add files to these folders

                          Any why to add another path to $PATH?

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

                            The Windows version of Eclipse lets you set up the search path within Eclipse. Does the Mac version offer the same?

                            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
                            • bondusundefined
                              bondus
                              last edited by

                              What does this tool do? I still get the .bin I want.

                              I get an error when building:
                              arm-none-eabi-objcopy -O binary "C:\eclipse\Firmware\RepRapFirmware\DuetM_RTOS/DuetMaestroFirmware.elf" "C:\eclipse\Firmware\RepRapFirmware\DuetM_RTOS/DuetMaestroFirmware.bin" && crc32appender "C:\eclipse\Firmware\RepRapFirmware\DuetM_RTOS/DuetMaestroFirmware.bin"
                              c:/program files/gnu arm eclipse/build tools/2.6-201507152002/bin/sh: crc32appender: not found

                              Building again the error goes away, there is an depency error in the makefiles.

                              wilrikerundefined 1 Reply Last reply Reply Quote 0
                              • wilrikerundefined
                                wilriker @bondus
                                last edited by

                                @bondus It adds the CRC32 checksum to the end of the generated binary. The firmware updater checks for that. It will certainly complain if it's wrong but I don't know off hand what it does when it's missing.

                                Manuel
                                Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                                with probably always latest firmware/DWC (incl. betas or self-compiled)
                                My Tool Collection

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

                                  The firmware will stop at boot up and flash the Diag LED if the CRC is wrong.

                                  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

                                  bondusundefined 1 Reply Last reply Reply Quote 0
                                  • bondusundefined
                                    bondus @dc42
                                    last edited by

                                    @dc42 that crc protection certainly worked, I had to use SAM-BA to get my board back. It would be nice if the flasher-updater in the firmware also checked the CRC before updating.

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

                                      @bondus said in crc32appender now needed for RRF?:

                                      @dc42 that crc protection certainly worked, I had to use SAM-BA to get my board back. It would be nice if the flasher-updater in the firmware also checked the CRC before updating.

                                      Good idea, I'll add this to the work list.

                                      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
                                      • bondusundefined
                                        bondus
                                        last edited by

                                        Checking the CRC in the upgrader will limit downgrading though.

                                        And adding the PATH in the dev environment to that tool is missing in the description on how to build the firmware. It's hard enough already to get RRF to build.

                                        1 Reply Last reply Reply Quote 0
                                        • AJ Quickundefined
                                          AJ Quick
                                          last edited by

                                          I'm having the same problem with crc32appender not being found in Eclipse.

                                          I had to run it manually from the command line after the binary was generated.

                                          Not sure what I need to do to tell Eclipse where to look for the file though.

                                          1 Reply Last reply Reply Quote 0
                                          • gtj0undefined
                                            gtj0
                                            last edited by

                                            Oddly enough, the instructions are in BuildInstructions in the dev and v3.01-dev branches but not in the v3-dev branch.

                                            You need to copy the appropriate binary from Tools/crc32appender to someplace in your system PATH or update your system PATH to point to the directory where the appropriate binary is located. If you're on Linux, you can just copy Tools/crc32appender/linux-x86_64/crc32appender to /usr/local/bin.

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