Any current gudies to firmware compilation under Linux?



  • Hi All,

    Any current guides on compiling the RepRapFirmware under Linux?

    I'm running Ubuntu 18.04. So far I have Downloaded and extracted the following from dc42's github page:

    CoreNG-dev
    DuetWifiSocketServer-dev
    FreeRTOS-master
    RepRapFirmware-3-dev
    RRFLibraries-dev

    I am compiling for SAME70-XPLD with a RADDS 1.6. I will be using the stepstick version of the drivers from the v0.6 first, but then upgrading once I have got all that working first.

    I realise a binary may already be existing for the SAME70 as it is explicitly mentioned a few times but I would like to ensure I can build binaries on my system and flash them to the card.

    Thanks for your help. I Will of course continue to poke around and if I get a success write it up.


  • administrators

    Building in Eclipse under Linux should be no different from building in Eclipse under Windows.

    The SAME70 configuration of RepRapFirmware isn't quite complete. You need to complete the Pins.h file to define which pins you want to use to connect stepper drivers, heaters, thermistors etc. Use the Pins.h file for Duet3_v05 as a template.



  • @dc42 Thanks, thats good to know. Had struggled to find a pinout for the v1.6 RADDS board but did find something last night.

    I've seen a few posts about people stumnling over which order to build the libraries. Is the following fine?

    Build 2018-q4 compiler from tarball downloaded from:
    https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads

    FreeRTOS-master
    RRFLibraries-dev
    DuetWifiSocketServer-dev
    CoreNG-dev
    RepRapFirmware-3-dev

    Thanks for the help.


  • administrators

    https://github.com/dc42/RepRapFirmware/blob/dev/BuildInstructions.md is up to date for building 2.03. To build 3.0beta, substitute branch dev-v3 of RepRapFirmware.



  • Program "xtensa-lx106-elf-g++" not found in PATH


  • administrators

    @doctrucker said in Any current gudies to firmware compilation under Linux?:

    Program "xtensa-lx106-elf-g++" not found in PATH

    You don't need to build the DuetWiFiSocketServer project, which is the one that uses that compiler, unless you want to connect an ESP module to add WiFi support. The SAME70XPLD board has Ethernet already.



  • Ok, I get that but which bit of your build instructions did I miss to get that working for a standard Duet Wifi build?

    I've not started to try to compile or build yet, that was just a warning on eclipse as soon as the projects were opened.


  • administrators

    @doctrucker said in Any current gudies to firmware compilation under Linux?:

    Ok, I get that but which bit of your build instructions did I miss to get that working for a standard Duet Wifi build?

    This bit: https://github.com/dc42/DuetWiFiSocketServer/blob/master/README.md. You don't need it to build RepRapFirmware, only if you want to build DuetWiFiServer.



  • Thankyou.



  • Ok, slow progress and I can see the missing pin definitions in Pins_SAME70xpld.h vs Pins_Duet3_V05.h starting around line 64 on the former, 73 on the latter.

    I am also seeing a lot of "type 'size_t' could not be resolved" errors. Any hints on getting shot of that so I can continue?

    Also when I right click on the RepRapFirmware project in the project explorer, select 'Build Configurations', I only see a SAME70XPLD. I don't see a *_RTOS. Is this just because the SAME70 post dates the introcduction of RTOS and so there was never an offering without? Where in the source is Eclipse getting all the data for these 'Build Configurtations'?



  • Any links to general guides to the ReprapFirmware would also be appreciated.


  • administrators

    @doctrucker said in Any current gudies to firmware compilation under Linux?:

    Also when I right click on the RepRapFirmware project in the project explorer, select 'Build Configurations', I only see a SAME70XPLD. I don't see a *_RTOS. Is this just because the SAME70 post dates the introcduction of RTOS and so there was never an offering without? Where in the source is Eclipse getting all the data for these 'Build Configurtations'?

    All RRF3 builds are with RTOS. The build configurations are defined in the Eclipse project settings.


  • administrators

    I have committed some changes to the Pins files for the SAME70XPLD configuration so that it builds. The pin table still needs to be filled in.



  • Thanks. I've been through the schematic for the radds 1.6, and the xpld board and am getting an idea of what is usable without altering jumpers or using extra jumper wires.

    Are there any overview docs of the reprap firmware other than the code's internal documentation? It's a fair old jump going from a little tinkering in the arduino editor with marlin to using eclipse and reprap firmware! Most of my current stock of questions are noddy ones that will come out in the wash when I can see how all the code files fit together.


  • administrators

    Sorry, there are no overview docs except the readme file. But for RRF3 on SAME70XPLD, if you are using the latest source code on the -v3-dev branch then you shouldn't need to change anything except the Pins.h file. Use the version of it for Duet3_V05 as a model. Everything else is configured using GCode in the config.g file on the SD card.

    It helps if the STEP pins to the drivers are all on the same 32-bit MCU port. But you probably won't have that choice as you are using off-the-shelf boards. So you will need to change the 3 functions at the end of Pins.h. For guidance on how to do this, take a look at the same 3 functions at the ends of Platform.h in the dev branch of RRF, in particular how they were implemented for Radds/Due.

    When I built the SAME70XPLD configuration a few days ago, it compiled with no errors, just a few warnings caused by the pin table being empty.

    HTH David


Log in to reply