firmware build
-
I use the msy2 to build firmware.But when I re-downloaded using the above steps, I'm not sure where the problem occurred.
-
@joke you haven't defined where the ARM gcc compiler is. See step 10 at https://github.com/Duet3D/RepRapFirmware/wiki/Building-RepRapFirmware#instructions-for-building-under-windows.
-
@dc42 Is that so? Or can you give me a screenshot? Step 10 I don't see too clearly, thank you very much.
-
@joke mine looks like this:
The first one ArmGccPath is needed for all the RRF projects. The remaining three are needed only to build DuetWiFiSocketServer, which you don't need to do.
-
@dc42 I set it up this way, but there are still these errors, can you help me see what's going on.
-
@joke your ArmGccPath looks wrong, David's and my are ...eabi/12.2 mpacbti-rel1/bin, but your setting is ...eabi/bin, so there is missing a subdir. I expcect you extracted somehow only the exe file subdir, but the compiler needs the include subdir and maybe other subdirs also which are parallel to it.
If I remember correctly, I had a similar situation unpacking a zip file version which didn't include all subdirs, and solved it by using the installer version. This installed all which is needed.
-
@JoergS5 Thank you, I re-decompressed arm, and after recompiling, there was a new problem, is this set wrong
-
@joke 'make' is not part of the ARM compiler bundle. It is an optional component of msys2 that has to be installed separately.
-
-
@joke add C:\msys64\usr\bin to your PATH in windows. Then exit and reload Eclipse (otherwise it won't pick up changes to the Windows path).
-
@dc42 I made these changes, but I still have this error.
-
@dc42 I tried to do this and could find make, but these new errors appear.
-
This post is deleted! -
@joke said in firmware build:
re-decompressed arm, and after recompiling
I didn't recompile it, but used the ready compiled files. Did you check that there are include subdirectories parallel to your bin directory?
The include files are necessary for the compiler to find uint32_t, which is included in stdlib.h
-
@JoergS5 D:\arm-gnu-toolchain-12.2.mpacbti-rel1-mingw-w64-i686-arm-none-eabi\arm-none-eabi\include\c++\12.2.1\stdlib.h I can find it, so the compiler path I set is D:\arm-gnu-toolchain-12.2.mpacbti-rel1-mingw-w64-i686-arm-none-eabi\arm-none-eabi\bin. These errors still occur after compiling.Thank you.
-
@joke if you have still the msys2 part in ArmGccPath setting, this may confuse the compiler. You should remove it.
-
@joke an my path is different from your:
C:\Program Files (x86)\Arm GNU Toolchain arm-none-eabi\12.2 mpacbti-rel1\bin\
don't know why they are different, we both use 12.2 (independent from the beginning of course).
-
@joke which version of each project have you loaded into your Eclipse workspace?
-
@joke I think the issue may be that you are building an older version of the firmware with a compiler and library version more recent than we used with that version. In this case I think you can work around the issue by adding the line
#include <stdint.c>
before the lineextern void vAssertCalled(uint32_t line, const char *file) noexcept;
near the start of file nano-mallocr.c. -
@dc42 I downloaded the 3.5 version in the picture above on the website, but after downloading the suffix of the software is 3.4, I don't know how many versions I own, is there no update 3.5 series in github now?