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?
-
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 directoryI 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. -
you asked for DuetIAP
LwipESP8266
CoreESP8266
CoreDuetMost 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.
-
@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.