Thanks Gustavo sorry for late replay..
Why are not all these flags and the correct ld.tmp files exported when we generate the nuttx-export file?
It will be corrected in the future or do we modify our files that automatically generate nuttx binaries to this?
Thanks again Roberto On 1/5/23 14:52, Gustavo Henrique Nihei wrote:
Hi Roberto, Since https://github.com/apache/nuttx/pull/7208 the NuttX build system preprocesses every linker script file of a given configuration. We've recently updated the makefiles and linker scripts of every supported chip from the ESP32 family to benefit from this. So you may need to update your out-of-tree build system to also preprocess each linker script file (e.g. using "-E" argument from GCC) and pass the output files to xtensa-esp32-elf-ld. Notice that you'll need to provide all the include paths to GCC so that it is able to find the headers required at the processing phase. As a reference, if you build "esp32-devkitc:nsh" with "make V=1", you'll notice that for each ".ld" file the build system will generate a new one suffixed with ".ld.tmp", which are the ones to be passed to the Linker: *CPP: /home/nihei/Projects/NuttX/nuttx/boards/xtensa/esp32/esp32-devkitc/../common/scripts/esp32_rom.ld-> /home/nihei/Projects/NuttX/nuttx/boards/xtensa/esp32/esp32-devkitc/../common/scripts/esp32_rom.ld.tmp xtensa-esp32-elf-gcc -E -P -x c -isystem /home/nihei/Projects/NuttX/nuttx/include -D__NuttX__ -DNDEBUG -D__KERNEL__ -I /home/nihei/Projects/NuttX/nuttx/arch/xtensa/src/chip -I /home/nihei/Projects/NuttX/nuttx/arch/xtensa/src/common -I /home/nihei/Projects/NuttX/nuttx/arch/xtensa/src/lx6 -I /home/nihei/Projects/NuttX/nuttx/sched /home/nihei/Projects/NuttX/nuttx/boards/xtensa/esp32/esp32-devkitc/../common/scripts/esp32_rom.ld -o /home/nihei/Projects/NuttX/nuttx/boards/xtensa/esp32/esp32-devkitc/../common/scripts/esp32_rom.ld.tmp* *CPP: /home/nihei/Projects/NuttX/nuttx/boards/xtensa/esp32/esp32-devkitc/../common/scripts/flat_memory.ld-> /home/nihei/Projects/NuttX/nuttx/boards/xtensa/esp32/esp32-devkitc/../common/scripts/flat_memory.ld.tmpxtensa-esp32-elf-gcc -E -P -x c -isystem /home/nihei/Projects/NuttX/nuttx/include -D__NuttX__ -DNDEBUG -D__KERNEL__ -I /home/nihei/Projects/NuttX/nuttx/arch/xtensa/src/chip -I /home/nihei/Projects/NuttX/nuttx/arch/xtensa/src/common -I /home/nihei/Projects/NuttX/nuttx/arch/xtensa/src/lx6 -I /home/nihei/Projects/NuttX/nuttx/sched /home/nihei/Projects/NuttX/nuttx/boards/xtensa/esp32/esp32-devkitc/../common/scripts/flat_memory.ld -o /home/nihei/Projects/NuttX/nuttx/boards/xtensa/esp32/esp32-devkitc/../common/scripts/flat_memory.ld.tmp* *CPP: /home/nihei/Projects/NuttX/nuttx/boards/xtensa/esp32/esp32-devkitc/../common/scripts/legacy_sections.ld-> /home/nihei/Projects/NuttX/nuttx/boards/xtensa/esp32/esp32-devkitc/../common/scripts/legacy_sections.ld.tmp xtensa-esp32-elf-gcc -E -P -x c -isystem /home/nihei/Projects/NuttX/nuttx/include -D__NuttX__ -DNDEBUG -D__KERNEL__ -I /home/nihei/Projects/NuttX/nuttx/arch/xtensa/src/chip -I /home/nihei/Projects/NuttX/nuttx/arch/xtensa/src/common -I /home/nihei/Projects/NuttX/nuttx/arch/xtensa/src/lx6 -I /home/nihei/Projects/NuttX/nuttx/sched /home/nihei/Projects/NuttX/nuttx/boards/xtensa/esp32/esp32-devkitc/../common/scripts/legacy_sections.ld -o /home/nihei/Projects/NuttX/nuttx/boards/xtensa/esp32/esp32-devkitc/../common/scripts/legacy_sections.ld.tmp* Best regards, Gustavo. On Thu, Jan 5, 2023 at 4:31 AM Roberto Bucher <[email protected]> wrote:Hi I have a new configuration for an Olimex-ESP32-PoE board. I can compile and build the nuttx flash without problems. I did a make export and putted the generated nuttx-export folder into another project (pysimCoder). The Makefile of the project, which correctly works with my STM32 boards, fails the compilation of the image for esp32 with this strange message: .... xtensa-esp32-elf-ld -nostdlib --gc-sections --cref -Map=/home/bucher/sviluppo/NUTTX/nuttx/nuttx.map -L /home/bucher/CACSD/pysimCoder/CodeGen/nuttx/nuttx-export/libs --entry=__start -T /home/bucher/CACSD/pysimCoder/CodeGen/nuttx/nuttx-export/scripts/esp32_rom.ld -T /home/bucher/CACSD/pysimCoder/CodeGen/nuttx/nuttx-export/scripts/flat_memory.ld -T /home/bucher/CACSD/pysimCoder/CodeGen/nuttx/nuttx-export/scripts/legacy_sections.ld \ -o ../test \ nuttx_main.o test.o nuttx_main-builtintab.o /home/bucher/CACSD/pysimCoder/CodeGen/nuttx/lib/libpyblk.a --start-group -lsched -ldrivers -lboards -lc -lmm -larch -lxx -lapps -lnet -lfs -lbinfmt -lwireless -lboard -lboard /home/bucher/sviluppo/GITHUB/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/11.2.0/libgcc.a --end-group *xtensa-esp32-elf-ld:/home/bucher/CACSD/pysimCoder/CodeGen/nuttx/nuttx-export/scripts/flat_memory.ld:32: ignoring invalid character `#' in expression** **xtensa-esp32-elf-ld:/home/bucher/CACSD/pysimCoder/CodeGen/nuttx/nuttx-export/scripts/flat_memory.ld:32: syntax error** **make: *** [Makefile:133: ../test] Error 1** *.... The line 32 of the script "flat_memory.ld" contains simply the line #include <nuttx/config.h> Hints are welcomed! Thanks in advance Roberto
