• Tags
  • Documentation
  • Order
  • Register
  • Login
Duet3D Logo Duet3D
  • Tags
  • Documentation
  • Order
  • Register
  • Login

Setting up Eclipse to Develop Firmware

Scheduled Pinned Locked Moved
Firmware developers
4
42
5.8k
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • undefined
    jml
    last edited by 13 Nov 2017, 21:47

    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!

    1 Reply Last reply Reply Quote 0
    • undefined
      fma
      last edited by 14 Nov 2017, 06:16

      I had no problem installing/compiling under linux. You may try to install a linux system in a Virtualbox env, and compile from there.

      Frédéric

      1 Reply Last reply Reply Quote 0
      • undefined
        jml
        last edited by 14 Nov 2017, 06:20

        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!

        1 Reply Last reply Reply Quote 0
        • undefined
          jml
          last edited by 14 Nov 2017, 06:34

          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.

          1 Reply Last reply Reply Quote 0
          • undefined
            fma
            last edited by 14 Nov 2017, 06:44

            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.

            Frédéric

            1 Reply Last reply Reply Quote 0
            • undefined
              jml
              last edited by 14 Nov 2017, 06:54

              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!

              1 Reply Last reply Reply Quote 0
              • undefined
                jml
                last edited by 14 Nov 2017, 06:58

                I'm so happy

                1 Reply Last reply Reply Quote 0
                • undefined
                  fma
                  last edited by 14 Nov 2017, 07:18

                  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?

                  Frédéric

                  1 Reply Last reply Reply Quote 0
                  • undefined
                    jml
                    last edited by 14 Nov 2017, 07:22

                    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.

                    1 Reply Last reply Reply Quote 0
                    • undefined
                      jml
                      last edited by 14 Nov 2017, 07:46

                      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.

                      1 Reply Last reply Reply Quote 0
                      • undefined
                        fma
                        last edited by 14 Nov 2017, 08:01

                        Mmm, you're right, they are all defined this way… Strange.

                        Frédéric

                        1 Reply Last reply Reply Quote 0
                        • undefined
                          vsch
                          last edited by 26 Nov 2017, 22:55

                          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?

                          1 Reply Last reply Reply Quote 0
                          • undefined
                            vsch
                            last edited by 5 Dec 2017, 19:36

                            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.

                            1 Reply Last reply Reply Quote 0
                            • dc42undefined
                              dc42 administrators
                              last edited by 5 Dec 2017, 20:56

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

                              Duet WiFi hardware designer and firmware engineer
                              Please do not ask me for Duet support via PM or email, use the forum
                              http://www.escher3d.com, https://miscsolutions.wordpress.com

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post
                              Unless otherwise noted, all forum content is licensed under CC-BY-SA