Setting Up Eclipse For the new Firmware



  • I'm trying to set up eclipse so I can edit the most recent firmware. I got to a point where there were no errors/problems (prior to building).

    Then I wanted to build CoreNG. The first error is:
    arm-none-eabi-g++: error: unrecognized command line option '-std=gnu++14'

    I can't find what the problem is exactly. Any suggestions?


  • administrators

    I suspect that the version of arm-none-eabi-g++ you are using is too old. See the BuildInstructions file for the correct version.



  • Oops, I skipped the "brew cask install gcc-arm-embedded" instruction because i thought I had done that in the previous buildinstructions months ago. doing it now



  • @dc42 Maybe this is a stupid question: Do i need to do "brew cask install eclipse-cpp" if I have already installed eclipse a different way?



  • When I right click the CoreNG, then Build Configurations, Set Active should be set to SAM4E8E, right? And for right-clicking RepRapFirmware-2.01 folder ... Set Active should be Duet2_RTOS ?



  • The brew cask install gcc-arm-embedded fixed the error. The new error is:
    /Users/John/eclipse-workspace4/RepRapFirmware-2.01/src/RTOSIface.h:19:11: fatal error: FreeRTOS.h: No such file or directory

    I searched my computer for that FreeRTOS.h file. Its nowhere to be found.



  • @jml I think you are missing https://github.com/dc42/FreeRTOS
    I think this is not yet part of the build instructions, @dc42?



  • The brew cask install eclipse-cpp fixed the error... maybe FreeRTOS.h is included with Eclipse CPP.

    CoreNG builds correctly like before, and RepRapFirmware gets this new error when building:

    /Users/John/eclipse-workspace5/RepRapFirmware-2.01/src/ReprapFirmware.h:129:2: error: 'coreDelay' was not declared in this scope

    and it repeats several times. Other errors:
    make: *** [src/Tools/Filament.o] Error 1
    make: *** [src/Storage/FileStore.o] Error 1
    make: *** [src/Storage/FileInfoParser.o] Error 1
    make: *** [src/Tools/Tool.o] Error 1
    In file included from ../src/StepperDrivers/TMC22xx/TMC22xx.cpp:8:0:



  • Oops nevermind, the FreeRTOS problem is still there.

    I've downloaded the zip file in the FreeRTOS link you gave. What do I do with it?

    Your help is much appreciated!



  • And in addition to FreeRTOS missing from BuildInstructions, are any of these also required?

    DuetIAP
    LwipESP8266
    CoreESP8266
    CoreDuet



  • @jml Hi, in the FreeRTOS github is a .cproject file, so the files are complete project files for Eclipse. Unpack the zip and import them in Eclipse.

    In the comment for .cproject stands that is compiled for 2018-q2-update, so you should use the gcc-arm-none-eabi-7-2018-q2-... release.

    (coreDelay comment delected, see below)



  • @jml
    I think you should follow
    https://github.com/dc42/RepRapFirmware/blob/dev/BuildInstructions.md
    This should be sufficient to make a basic build.



  • @jml

    you asked for DuetIAP
    LwipESP8266
    CoreESP8266
    CoreDuet

    Most of them are old or have 1.21 version as a comment. I suspect that they are not needed.

    When you build the projects, eclipse tells you which libraries or links are missing,

    Good luck and please tell me where you get stuck.



  • @jml said in Setting Up Eclipse For the new Firmware:

    /Users/John/eclipse-workspace5/RepRapFirmware-2.01/src/ReprapFirmware.h:129:2: error: 'coreDelay' was not declared in this scope
    and it repeats several times. Other errors:
    make: *** [src/Tools/Filament.o] Error 1
    make: *** [src/Storage/FileStore.o] Error 1
    make: *** [src/Storage/FileInfoParser.o] Error 1
    make: *** [src/Tools/Tool.o] Error 1
    In file included from ../src/StepperDrivers/TMC22xx/TMC22xx.cpp:8:0:

    I think the reason is;
    You did not rename the project to RepRapFirmware, so some hardcoded links will not work:

    Step 4: Then rename folder ReprapFirmware-dev in that folder to RepRapFirmware.

    Error 1 in make is that the tool cannot find the file, this makes sense.


  • administrators

    @joergs5 said in Setting Up Eclipse For the new Firmware:

    @jml
    I think you should follow
    https://github.com/dc42/RepRapFirmware/blob/dev/BuildInstructions.md
    This should be sufficient to make a basic build.

    I confirm that, the up to date build instructions are the ones in the dev branch, not v2-dev.



  • I was looking at the BuildInstructions.md within the RepRapFirmware-2.01 folder, but I will follow the ones at the link sent in the above comments and will report back.

    The BuildInstructions say to keep the folder names as-is. The folder name as-is is RepRapFirmware-2.01, but I feel like I should change it to just RepRapFirmware... is that right?



  • Making progress. Using the proper Build Instructions this time. But now the first error that comes up (when building RepRapFirmware) is:

    In file included from ../src/Networking/ESP8266WiFi/WiFiInterface.cpp:9:0:
    ../src/Networking/ESP8266WiFi/WiFiInterface.h:16:10: fatal error: MessageFormats.h: No such file or directory
    #include "MessageFormats.h"
    ^~~~~~~~~~~~~~~~~~
    compilation terminated.

    But MessageFormats.h exists in the /Users/John/eclipse-workspace7/DuetWiFiSocketServer/src/include

    So I feel like it just can't see the socketserver folder. How do I link it or include it? CoreNG and FreeRTOS built fine by the way.



  • @jml
    WifiInterface.cpp I would try setting the reference by rclick on the project, properties, project references:
    But your project workspace is in another one than in the other message (workspace7, workspace5), I would put all Duet related projects into one workspace.

    This is not needed.



  • @joergs5 When I go to Project References for RepRapFirmware, I see only CoreNG, and FreeRTOS. DuetWiFiSocketServer is not there. Do I need to import DuetWiFiSocketServer into Eclipse?

    The reason I have different workspaces is because each time I try something new, I just start a new workspace and put in the original CoreNG, FreeRTOS, RRF, and socketserver folders into it. Reason for that is because I don't know if the things that I try mess up anything, so I like to start from scratch with a new workspace.



  • @jml I understand, this is totally ok, I do it the same way.


Locked
 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.