• 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
    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
                          • 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