crc32appender now needed for RRF?



  • @gtj0

    I get this:

    /bin/sh: crc32appender: command not found

    dont know where my $PATH is



  • @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.



  • @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.



  • @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



  • @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.


  • administrators

    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.



  • @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.



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

    HostOsName
    OsType
    target.os



  • @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?


  • administrators

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



  • 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.



  • @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.


  • administrators

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



  • @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.


  • administrators

    @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.



  • 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.


Log in to reply