I have uploaded my patch to:
http://temp.michael-ring.org/fpc-arm-freertos.patch
I have left out the generated Makefiles to keep the patch (kind of) readable.
I am able to build the target like this:
make -j clean buildbase CROSSINSTALL=1 OS_TARGET=freertos CPU_TARGET=arm SUBARCH=armv7em CROSSOPT="-CfFPV4_SP_D16 -XParm-embedded-"
or
make -j clean buildbase CROSSINSTALL=1 OS_TARGET=freertos CPU_TARGET=arm SUBARCH=armv6m CROSSOPT="-CfSOFT -XParm-embedded-"
make -j clean buildbase CROSSINSTALL=1 OS_TARGET=freertos CPU_TARGET=arm SUBARCH=armv7m CROSSOPT="-CfSOFT -XParm-embedded-"
Fun Fact: I have to include -CfSOFT in CROSSOPT for armv6m/7m or I will get this error:
/Library/Developer/CommandLineTools/usr/bin/make -C rtl all /Library/Developer/CommandLineTools/usr/bin/make -C freertos all /bin/mkdir -p /Users/ring/devel/fpc-freertos/rtl/units/arm-freertos /Users/ring/devel/fpc-freertos/compiler/ppcrossarm -Cparmv6m -Ur -Tfreertos -Parm -XParm-freertos- -Xr -Ur -Xs -O2 -n -Fi../inc -Fi../arm -FE. -FU/Users/ring/devel/fpc-freertos/rtl/units/arm-freertos -darm -dRELEASE -XParm-embedded- -Us -Sg system.pp @system.cfg system.inc(416,5) Fatal: Internal error 200312126
Do you have an idea why? I compared to the embedded target but could not find something obvious....
The freertos bindings are not included yet as I am still testing & learning and I need your guidance on how to provide the lib/*.o files for freertos:
I currently build freertos rtl as three different versions with a hopefully sane base-set of configuration options, the question is where to put the matching *.o or *.a files, check them in in fpc or provide build instructions on the Wiki similar to the buildinstructions for xtensa target??
I have uploaded a zipfile with everything needed to build a freertos environment:
http://temp.michael-ring.org/FreeRTOS-Bootstrap.zip
The Build also includes prebuilt .o files.
To build yourself you will first have to manually adjust the buildFreeRTOS.sh script so that it points to a correct arm-none-eabi-gcc.
Michael
Florian Klämpfl wrote 17 lines
Am 06.04.20 um 20:54 schrieb Michael Ring via fpc-devel:
> I was able to compile my first hello world for esp32, however I had
> to patch a few files so that compiling works for 4.0 / 4.1 Branch of
> esp-idf
>
> Florian, can you please have a look at the patches and apply them if
> they are OK?
I have committed the patch with some extensions/adaptions. With
current trunk, I can build a hello world following the wiki
instructions with ESP-IDF 4.0.
Regarding the FreeRTOS binding for ARM: can you provide a patch somewhere?
_______________________________________________
fpc-devel maillist -
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel