Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Compiling/Building PanelDue Firmware

    Scheduled Pinned Locked Moved Solved
    PanelDue
    5
    30
    1.3k
    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.
    • R006undefined
      R006
      last edited by R006

      hey,
      I am try to build customized PanelDue Firmware using Eclipes but it's gives the following error.

      C:\Users\rishita.butala\eclipse-workspace\Firmware\PanelDueFirmware\src/Library/Thumbnail.hpp:7:10: fatal error: qoi.h: No such file or directory
      7 | #include "qoi.h"
      | ^~~~~~~
      compilation terminated.
      In file included from ../src/UI/UserInterface.hpp:12,
      from ../src/UI/MessageLog.cpp:9:
      C:\Users\rishita.butala\eclipse-workspace\Firmware\PanelDueFirmware\src/Library/Thumbnail.hpp:7:10: fatal error: qoi.h: No such file or directory
      7 | #include "qoi.h"
      | ^~~~~~~
      compilation terminated.
      In file included from ../src/ObjectModel/Axis.cpp:8:
      ../src/ObjectModel/Axis.hpp:12:10: fatal error: General/FreelistManager.h: No such file or directory
      12 | #include <General/FreelistManager.h>
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      compilation terminated.
      In file included from ../src/ObjectModel/BedOrChamber.cpp:8:
      ../src/ObjectModel/BedOrChamber.hpp:13:10: fatal error: General/FreelistManager.h: No such file or directory
      13 | #include <General/FreelistManager.h>
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      compilation terminated.
      In file included from ../src/ObjectModel/Spindle.cpp:8:
      ../src/ObjectModel/Spindle.hpp:12:10: fatal error: General/FreelistManager.h: No such file or directory
      12 | #include <General/FreelistManager.h>
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      compilation terminated.
      src/UI/subdir.mk:30: recipe for target 'src/UI/UserInterface.o' failed
      make[1]: *** [src/UI/UserInterface.o] Error 1
      src/UI/subdir.mk:30: recipe for target 'src/UI/MessageLog.o' failed
      make[1]: *** Waiting for unfinished jobs....
      src/ObjectModel/subdir.mk:30: recipe for target 'src/ObjectModel/Axis.o' failed
      make[1]: *** [src/UI/MessageLog.o] Error 1
      src/ObjectModel/subdir.mk:30: recipe for target 'src/ObjectModel/BedOrChamber.o' failed
      make[1]: *** [src/ObjectModel/Axis.o] Error 1
      make[1]: *** [src/ObjectModel/BedOrChamber.o] Error 1
      src/ObjectModel/subdir.mk:30: recipe for target 'src/ObjectModel/Spindle.o' failed
      make[1]: *** [src/ObjectModel/Spindle.o] Error 1
      In file included from ../src/ObjectModel/Tool.hpp:12,
      from ../src/ObjectModel/Tool.cpp:8:
      ../src/ObjectModel/Spindle.hpp:12:10: fatal error: General/FreelistManager.h: No such file or directory
      12 | #include <General/FreelistManager.h>
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      compilation terminated.
      src/ObjectModel/subdir.mk:30: recipe for target 'src/ObjectModel/Tool.o' failed
      make[1]: *** [src/ObjectModel/Tool.o] Error 1
      In file included from ../src/UI/Display.cpp:8:
      C:\Users\rishita.butala\eclipse-workspace\Firmware\PanelDueFirmware\src/UI/Display.hpp:738:10: fatal error: qoi.h: No such file or directory
      738 | #include "qoi.h"
      | ^~~~~~~
      compilation terminated.
      src/UI/subdir.mk:30: recipe for target 'src/UI/Display.o' failed
      make[1]: *** [src/UI/Display.o] Error 1
      In file included from C:\Users\rishita.butala\eclipse-workspace\Firmware\PanelDueFirmware\src/FlashData.hpp:8,
      from C:\Users\rishita.butala\eclipse-workspace\Firmware\PanelDueFirmware\src/UI/Popup.hpp:4,
      from ../src/UI/Popup.cpp:1:
      C:\Users\rishita.butala\eclipse-workspace\Firmware\PanelDueFirmware\src/UI/Display.hpp:738:10: fatal error: qoi.h: No such file or directory
      738 | #include "qoi.h"
      | ^~~~~~~
      compilation terminated.
      src/UI/subdir.mk:30: recipe for target 'src/UI/Popup.o' failed
      make[1]: *** [src/UI/Popup.o] Error 1
      makefile:75: recipe for target 'all' failed
      make: *** [all] Error 2
      "make -j8 all" terminated with exit code 2. Build might be incomplete.

      10:26:24 Build Failed. 27 errors, 0 warnings. (took 2s.944ms)

      i am try to add qoi.h file in given path it's not available in project.

      Any Suggestions? @Phaedrux

      jay_s_ukundefined 1 Reply Last reply Reply Quote 0
      • Phaedruxundefined Phaedrux marked this topic as a question
      • Phaedruxundefined Phaedrux moved this topic from General Discussion
      • jay_s_ukundefined
        jay_s_uk @R006
        last edited by jay_s_uk

        @R006 I know the QOI stuff is a submodule of the git repo and needs to be initialized correctly

        You must run two commands: git submodule init to initialize your local configuration file, and git submodule update to fetch all the data from that project and check out the appropriate commit listed in your superproject:

        Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

        1 Reply Last reply Reply Quote 0
        • R006undefined
          R006
          last edited by

          @jay_s_uk it's not working.

          jay_s_ukundefined 1 Reply Last reply Reply Quote 0
          • jay_s_ukundefined
            jay_s_uk @R006
            last edited by

            @R006 in what way isn't it working?

            Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

            1 Reply Last reply Reply Quote 0
            • R006undefined
              R006
              last edited by R006

              @jay_s_uk giving same error
              nd plzz explain me how to build it in simple terms.

              dc42undefined 1 Reply Last reply Reply Quote 0
              • dc42undefined
                dc42 administrators @R006
                last edited by

                @R006 it build for me, using the master branch of PanelDueFirmware and Eclipse. Tol fix the errors relating to including file "qoi.h" you need to pull in the qoi library source files like this:

                • Open a command prompt
                • cd to the lib/qoi folder within the project
                • Run the two git commands that @jay_s_uk listed in his reply

                To fix the errors relating to <General/FreelistManager.h> you need to add the RRFLibraries project to your workspace.

                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
                • R006undefined
                  R006
                  last edited by R006

                  @dc42 thank you for reply.
                  but it give the fatal error: not a git repository (or any of the parent directories): .git
                  and already add in workspace. but giving errors:
                  C:\Users\rishita.butala\eclipse-workspace\Firmware\RRFLibraries\src/General/FreelistManager.h:39:7: error: 'freelist' was not declared in this scope; did you mean 'Freelist'?
                  39 | if (freelist != nullptr)
                  | ^~~~~~~~
                  | Freelist
                  C:\Users\rishita.butala\eclipse-workspace\Firmware\RRFLibraries\src/General/FreelistManager.h: In static member function 'static void FreelistManager::Freelist<Sz>::ReleaseItem(void*)':
                  C:\Users\rishita.butala\eclipse-workspace\Firmware\RRFLibraries\src/General/FreelistManager.h:54:35: error: 'freelist' was not declared in this scope; did you mean 'Freelist'?
                  54 | *reinterpret_cast<void *>(p) = freelist;
                  | ^~~~~~~~
                  | Freelist
                  C:\Users\rishita.butala\eclipse-workspace\Firmware\RRFLibraries\src/General/FreelistManager.h: In static member function 'static void FreelistManager::Freelist<Sz>::ReleaseItem(void
                  )':
                  C:\Users\rishita.butala\eclipse-workspace\Firmware\RRFLibraries\src/General/FreelistManager.h:54:35: error: 'freelist' was not declared in this scope; did you mean 'Freelist'?
                  54 | *reinterpret_cast<void *>(p) = freelist;
                  | ^~~~~~~~
                  | Freelist
                  C:\Users\rishita.butala\eclipse-workspace\Firmware\RRFLibraries\src/General/FreelistManager.h: In static member function 'static void FreelistManager::Freelist<Sz>::ReleaseItem(void
                  )':
                  C:\Users\rishita.butala\eclipse-workspace\Firmware\RRFLibraries\src/General/FreelistManager.h:54:35: error: 'freelist' was not declared in this scope; did you mean 'Freelist'?
                  54 | *reinterpret_cast<void **>(p) = freelist;
                  | ^~~~~~~~
                  | Freelist

                  Any Suggestions? @jay_s_uk

                  R006undefined 1 Reply Last reply Reply Quote 0
                  • mfs12undefined
                    mfs12
                    last edited by

                    @R006 check the readme file in the repo.

                    https://github.com/Duet3D/PanelDueFirmware/blob/master/Readme.md#setup-repository

                    Visit me on github at https://github.com/mfs12/

                    1 Reply Last reply Reply Quote 0
                    • R006undefined
                      R006 @R006
                      last edited by

                      @dc42 qoi.h error resolved by adding that file into that particular folder.
                      but now freelistManagment.h file giving error.
                      I am building RRF 3.4.4.

                      C:\Users\rishita.butala\eclipse-workspace\Firmware\RRFLibraries\src/General/FreelistManager.h:31:33: error: expected initializer before 'Freelist'
                      31 | template<size_t Sz> void null Freelist<Sz>::freelist = nullptr;
                      | ^~~~~~~~
                      C:\Users\rishita.butala\eclipse-workspace\Firmware\RRFLibraries\src/General/FreelistManager.h: In static member function 'static void
                      FreelistManager::Freelist<Sz>::AllocateItem()':
                      C:\Users\rishita.butala\eclipse-workspace\Firmware\RRFLibraries\src/General/FreelistManager.h:39:7: error: 'freelist' was not declared in this scope; did you mean 'Freelist'?
                      39 | if (freelist != nullptr)
                      | ^~~~~~~~
                      | Freelist
                      C:\Users\rishita.butala\eclipse-workspace\Firmware\RRFLibraries\src/General/FreelistManager.h: In static member function 'static void FreelistManager::Freelist<Sz>::ReleaseItem(void*)':
                      C:\Users\rishita.butala\eclipse-workspace\Firmware\RRFLibraries\src/General/FreelistManager.h:54:35: error: 'freelist' was not declared in this scope; did you mean 'Freelist'?
                      54 | *reinterpret_cast<void **>(p) = freelist;
                      | ^~~~~~~~
                      | Freelist
                      src/ObjectModel/subdir.mk:30: recipe for target 'src/ObjectModel/Axis.o' failed
                      make[1]: *** [src/ObjectModel/Axis.o] Error 1
                      Finished building: ../src/UI/ColourSchemes.cpp

                      so any suggestions? i am waiting your reply.

                      dc42undefined 1 Reply Last reply Reply Quote 0
                      • dc42undefined
                        dc42 administrators @R006
                        last edited by

                        @R006 which version of RRFLibraries do you have in your workspace?

                        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

                        R006undefined 1 Reply Last reply Reply Quote 0
                        • R006undefined
                          R006 @dc42
                          last edited by

                          @dc42 RRFLibraries 3.4.4 version

                          dc42undefined 1 Reply Last reply Reply Quote 0
                          • dc42undefined
                            dc42 administrators @R006
                            last edited by

                            @R006 I have PanelDueFirmware master and RRFLibraries master in my PanelDue build workspace, and it builds for me. It sounds to me that you may be using RRFLibraries 3.4-dev branch.

                            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

                            R006undefined 1 Reply Last reply Reply Quote 0
                            • R006undefined
                              R006 @dc42
                              last edited by R006

                              @dc42 hi, sorry for late reply.
                              i am build panel FM as per you mentioned but when i am flashing it's paneldue screen was blank.

                              and getting this error:Generating binary
                              "/arm-none-eabi-objcopy" -O binary "C:\Users\rishita.butala\eclipse-workspace\Firmware\PanelDueFirmware\Release-7.0/PanelDueFirmware-v2-7.0.elf" "C:\Users\rishita.butala\eclipse-workspace\Firmware\PanelDueFirmware\Release-7.0/PanelDueFirmware-v2-7.0.bin" && cat "C:/Users/rishita.butala/eclipse-workspace/Firmware/PanelDueFirmware/Release-7.0/PanelDueFirmware-v2-7.0.bin" "C:/Users/rishita.butala/eclipse-workspace/Firmware/PanelDueFirmware/SplashScreens/SplashScreen-Duet3D-800x480.bin" >"C:/Users/rishita.butala/eclipse-workspace/Firmware/PanelDueFirmware/Release-7.0/PanelDueFirmware-v2-7.0-logo.bin"
                              c:/program files (x86)/gnu arm embedded toolchain/10 2020-q4-major/bin/sh: /arm-none-eabi-objcopy: not found
                              makefile:101: recipe for target 'post-build' failed
                              make[1]: [post-build] Error 127 (ignored)

                              but i am go through this topic:https://forum.duet3d.com/topic/22876/solved-paneldue-firmware-compile-error/10
                              and try to generating .bin file so .bin file was generated. but it's blank.

                              i am waiting for your reply @dc42
                              Any Suggestions? @jay_s_uk

                              R006undefined 1 Reply Last reply Reply Quote 0
                              • R006undefined
                                R006 @R006
                                last edited by

                                @dc42 i am waiting for your reply

                                dc42undefined 1 Reply Last reply Reply Quote 0
                                • dc42undefined
                                  dc42 administrators @R006
                                  last edited by dc42

                                  @R006 looks like you haven't defined variable ArmGccPath in Window->Preferences->C/C++->Build->Build Variables. It need to be defined as the path to the folder where the C++ compiler and related tools (including arm-none-eabi-objcopy) live. This is what mine is set to, although a more recent version of the compiler than that should also work.

                                  4c5fdbf3-b61a-431d-a99b-f3a17fea849a-image.png

                                  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

                                  R006undefined 1 Reply Last reply Reply Quote 0
                                  • R006undefined
                                    R006 @dc42
                                    last edited by

                                    @dc42 it's already defined.

                                    dc42undefined 1 Reply Last reply Reply Quote 0
                                    • dc42undefined
                                      dc42 administrators @R006
                                      last edited by dc42

                                      @R006 fba1f389-b9cf-400f-ae34-0c4bd3bb4c93-image.png

                                      If you look at the Command box in the above image, you can see that it tries to invoke "${ArmGccPath}/arm-none-eabi-objcopy". As it's trying to invoke"/arm-none-eabi-objcopy" according to the error message you posted, there must be something wrong with your definition of that build variable, or else the post build step command line in your system doesn't match mine.

                                      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

                                      R006undefined 1 Reply Last reply Reply Quote 0
                                      • R006undefined
                                        R006 @dc42
                                        last edited by

                                        @dc42
                                        Post-build steps in my eclipse.
                                        "${ArmGccPath}/arm-none-eabi-objcopy" -O binary "${workspace_loc:/${ProjName}/${ConfigName}}/${BuildArtifactFileBaseName}.elf" "${workspace_loc:/${ProjName}/${ConfigName}}/${BuildArtifactFileBaseName}.bin" && cat "${ProjDirPath}/${ConfigName}/${BuildArtifactFileBaseName}.bin" "${ProjDirPath}/SplashScreens/SplashScreen-Duet3D-800x480.bin" >"${ProjDirPath}/${ConfigName}/${BuildArtifactFileBaseName}-logo.bin"

                                        dc42undefined 1 Reply Last reply Reply Quote 0
                                        • dc42undefined
                                          dc42 administrators @R006
                                          last edited by

                                          @R006 and how have you set ArmGccPath ?

                                          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

                                          R006undefined 1 Reply Last reply Reply Quote 1
                                          • R006undefined
                                            R006 @dc42
                                            last edited by

                                            @dc42 ArmGccPath is C:\Program Files (x86)\GNU Arm Embedded Toolchain\10 2020-q4-major\bin

                                            dc42undefined 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA