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

    Compiling/Building PanelDue Firmware

    Scheduled Pinned Locked Moved Solved
    PanelDue
    5
    30
    1.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.
    • 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
                                          • dc42undefined
                                            dc42 administrators @R006
                                            last edited by

                                            @R006 and is file arm-none-eabi-objcopy.exe in that folder?

                                            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
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA