• 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.7k
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 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
                        • undefined
                          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