Setting up Eclipse to Develop Firmware
-
For the RepRapFirmware folder, yes it is there. Name: CoreName || Type: String || Value: CoreNG
For the CoreNG folder, nothing is listed in the list. Should it be there?
-
I really just need to make some small firmware changes and some custom g-code commands.
I purchased the DuetWifi, PanelDue, and am waiting for the Duex5. Hoping to have it solved by the time it arrives! If I can't get it to work on Mac or Windows, I may just uninstall everything and try again when firmware version 1.2 is out.
Thanks for all the help you've provided so far!
-
I had no problem installing/compiling under linux. You may try to install a linux system in a Virtualbox env, and compile from there.
-
Ok, I will try. I'm using a decently powered Mac using Parallels to run windows and I assume I can put Linux on here too. Which Linux OS/distribution do you recommend? Ubuntu? I have limited experience with Linux, but I can learn!
-
So strange though. It seems like the only thing I need to fix is these empty quotation marks and it will fix everything:
-Wl,–start-group ""The file it is looking for is 100% in the right folder. And the command line pattern is exactly how dc42's is.
-
I run debian, but I think ubuntu is fine too (all dev libs exist).
About the missing path, you can try to replace:
${CoreName}
by
CoreNG
or ${workspace_loc:/${CoreName}
by
/Users/John/eclipse-workspace/CoreNG
to see if it fixes the problem.
-
LOL, I literally just tried it before reading your post AND IT WORKED!!!!!!
Just in case someone in the future has this problem, this is what I changed:
${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${LINK_FLAGS_1} "${workspace_loc:/${CoreName}/SAM4E8E/cores/arduino/syscalls.o}" ${INPUTS} ${LINK_FLAGS_2}
changed it to:
${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${LINK_FLAGS_1} "/Users/John/eclipse-workspace/CoreNG/SAM4E8E/cores/arduino/syscalls.o" ${INPUTS} ${LINK_FLAGS_2}(make sure the quotes are there but the curly brackets and dollar signs removed).
Thanks everyone!
-
I'm so happy
-
Good!
But I think I found the issue. The string:
"${workspace_loc:/${CoreName}/SAM4E8E/cores/arduino/syscalls.o}"
should be :
"${workspace_loc}:/${CoreName}/SAM4E8E/cores/arduino/syscalls.o}"
There where a missing bracket at the end of the workspace_loc var…
Can you confirm?
-
When I browse around in the settings, the way that all of the Includes are is like this:
"${workspace_loc:/${CoreName}/asf/common/utils}"So I don't think that was the issue.
-
Eg. when you write it like this:
"${workspace_loc}:/${CoreName}/SAM4E8E/cores/arduino/syscalls.o}"you have an extra curly bracket because there is one on the far right 2nd last to the end.
-
Mmm, you're right, they are all defined this way… Strange.
-
If it is of any help, I was getting the exact same error because I made the mistake of having the projects not under the workspace directory.
When I created the workspace in the parent directory of the project sources (CoreNG and RepRapFirmware directories) the error went away as expected. The ${workspace_loc:} is expecting them to be under the workspace directory.
However, I am getting undefined reference errors during linking for: lprintf, sqrtf, floorf, etc.
I am running under OS X with gcc-arm-none-eabi-6-2017-q2-update tools. Is there a library missing from the linker options that the IDE should include based on dependencies?
-
My problem of unresolved references was solved by resetting .cproject and .settings/language.settings.xml in RepRapFirmware project to repository version and then changing the project properties as per instructions. Subsequent build was successful.
-
@fma:
Good!
But I think I found the issue. The string:
"${workspace_loc:/${CoreName}/SAM4E8E/cores/arduino/syscalls.o}"
should be :
"${workspace_loc}:/${CoreName}/SAM4E8E/cores/arduino/syscalls.o}"
There where a missing bracket at the end of the workspace_loc var…
Can you confirm?
Recently I was getting this issue intermittently. I think it is an Eclipse bug. So in the latest commit I changed the path to this:
"${workspace_loc}/${CoreName}/SAM4E8E/cores/arduino/syscalls.o"
This seems to have resolved it.