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