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.
    • dc42undefined
      dc42 administrators
      last edited by

      That's the correct build order.

      In Properties -> C/C++ Build -> Build Variables, do you have CoreName defined as CoreNG ?

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

        For the RepRapFirmware folder, yes it is there. Name: CoreName || Type: String || Value: CoreNG

        For the CoreNG folder, nothing is listed in the list. Should it be there?

        1 Reply Last reply Reply Quote 0
        • 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