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.
    • jmlundefined
      jml
      last edited by

      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
      • fmaundefined
        fma
        last edited by

        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
        • jmlundefined
          jml
          last edited by

          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
          • jmlundefined
            jml
            last edited by

            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
            • fmaundefined
              fma
              last edited by

              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
              • jmlundefined
                jml
                last edited by

                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
                • jmlundefined
                  jml
                  last edited by

                  I'm so happy

                  1 Reply Last reply Reply Quote 0
                  • fmaundefined
                    fma
                    last edited by

                    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
                    • jmlundefined
                      jml
                      last edited by

                      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
                      • jmlundefined
                        jml
                        last edited by

                        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
                        • fmaundefined
                          fma
                          last edited by

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

                          Frédéric

                          1 Reply Last reply Reply Quote 0
                          • vschundefined
                            vsch
                            last edited by

                            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
                            • vschundefined
                              vsch
                              last edited by

                              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

                                @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