4DIAC Forte Build with FreeRtos [message #1847886] |
Thu, 11 November 2021 10:39 |
chen peng Messages: 25 Registered: November 2021 |
Junior Member |
|
|
We are building 4DIAC Forte as a static lib for FreeRtos, and plan to run it in STM32
However, when we modify FreeRtos makefile to load libforte-static.a, many errors come out, please look at attached picture makefileError.PNG
Also Attached lib file libforte-static.a, this is making according to your web course "4diac FORTE for freeRTOS + LwIP"
Can you please check why those errors comes out and how to fix.
Besides, We alse facing an error when we build libforte-static.a, attached makeErrorAboutLib.PNG, we are not sure if those error will affect it, after all, those errors appear after libforte-static.a build.
-
Attachment: PlsHelp.rar
(Size: 568.32KB, Downloaded 61 times)
|
|
|
|
Re: 4DIAC Forte Build with FreeRtos [message #1847902 is a reply to message #1847888] |
Fri, 12 November 2021 03:03 |
chen peng Messages: 25 Registered: November 2021 |
Junior Member |
|
|
Thanks Jose
So it is different at CFLAG in Makefile right? I build STM32 project in CubeMx and its makefile attached, it shows -mfloat-abi=hard, -mcpu=cortex-m4.
I also try STM32 Makefile -mfloat-abi=soft, and new error ouccurs below,
C:\Users\C00477~1\AppData\Local\Temp\ccNsx1rs.s:531: Error: selected FPU does not support instruction -- `vstmdbeq r0!,{s16-s31}'
C:\Users\C00477~1\AppData\Local\Temp\ccNsx1rs.s:553: Error: selected FPU does not support instruction -- `vldmiaeq r0!,{s16-s31}'
I think I should modify 4DIAC Forte CFLAG option(mfloat-abi) to matching STM32 Makefile.
But where and how to modify CFLAG option for 4DIAC forte, I only find some keyword in CMakeError.log but it obviously not where I should modify.
Plz help, Thanks
[Updated on: Fri, 12 November 2021 08:27] Report message to a moderator
|
|
|
|
|
Re: 4DIAC Forte Build with FreeRtos [message #1847950 is a reply to message #1847944] |
Mon, 15 November 2021 07:49 |
|
First of all we tried to provide 4diac FORTE such that you don't need to modify files that we provide. This has the great advantage that you can easily update to newer 4diac FORTE version. To add here as described in the documentation it is also a good idea to have the build directories outside of the 4diac FORTE directory.
Coming to your specific problem: The simplest way to select a toolchain file is to use CMake gui. If that is not possible in your setup you can also provide a toolchain file when calling cmake just from the command line. You can look on the provided shell scripts for reference.
|
|
|
|
|
|
|
|
|
Re: 4DIAC Forte Build with FreeRtos [message #1847966 is a reply to message #1847957] |
Mon, 15 November 2021 14:32 |
Jonathan Lainer Messages: 5 Registered: November 2021 |
Junior Member |
|
|
In my Makefile, I have the following line for LIBS:
LIBS = -LCore/Lib -lforte-static -lc -lm -lnosys -lstdc++
I believe that your issue's root is the order of library includes. However, the -lstdc++ will probably save you the next step.
I just checked by running my own build:
- Your configuration generates the same linker error in my project.
- by putting -LCore/Lib -lforte-static at the beginning of LIBS, I got rid of undefined reference: _open. However, I got many more linker errors like undefined reference to: std::__throw_logic_error
- adding the flag -lstdc++ resolves those errors and my build succeeds.
I hope you'll have similar results.
Edit:
Of course I assume, that your forte static library is called forte-static and is located at Core/Lib/forte-static.
[Updated on: Mon, 15 November 2021 14:34] Report message to a moderator
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.04288 seconds