-
@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.
-
@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;
| ^~~~~~~~
| FreelistAny Suggestions? @jay_s_uk
-
@R006 check the readme file in the repo.
https://github.com/Duet3D/PanelDueFirmware/blob/master/Readme.md#setup-repository
-
@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.cppso any suggestions? i am waiting your reply.
-
@R006 which version of RRFLibraries do you have in your workspace?
-
@dc42 RRFLibraries 3.4.4 version
-
@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.
-
@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 -
@dc42 i am waiting for your reply
-
@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.
-
@dc42 it's already defined.
-
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.
-
@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" -
@R006 and how have you set ArmGccPath ?
-
@dc42 ArmGccPath is C:\Program Files (x86)\GNU Arm Embedded Toolchain\10 2020-q4-major\bin
-
@R006 and is file arm-none-eabi-objcopy.exe in that folder?
-
@dc42 yes
but as per error c:/program files (x86)/gnu arm embedded toolchain/10 2020-q4-major/bin/sh: /arm-none-eabi-objcopy: not found may be it's search in sh folder -
This post is deleted! -
@R006 remove
/sh
from the path -
@dc42 thank you for support .
now i am able to build it. and generating PanelDueFirmware.bin file successfully by changing the name of ArmGccPath.but after flashing successfully & restart panel, it was blank.
Any Suggestions?@chrishamm