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


Am 19.04.20 um 15:30 schrieb Florian Klämpfl:
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  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to