You guys probably know this already, but I'm just posting the update for further reference if anyone else runs into the same problem. The Undefined reference to `_etext' is because _etext is being used directly from jswrap_process.c here: extern int LINKER_ETEXT_VAR; // end of flash text (binary) section. This define is located in platform_config.h produced by build_platform_config.py.
The reason for the mismatch is that the EFM32 linker (and startup-file) defines this variable as __etext (notice two underscores). So after updating the build_platform_config.py to use this name instead for the LINKER_ETEXT_VAR it's all good.
The other undefined references to _sbrk and _exit was solved by adding -Wl,--start-group -lgcc -lc -lnosys -Wl,--end-group to the linker options for the EFM32.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Hi,
You guys probably know this already, but I'm just posting the update for further reference if anyone else runs into the same problem. The Undefined reference to `_etext' is because _etext is being used directly from jswrap_process.c here:
extern int LINKER_ETEXT_VAR; // end of flash text (binary) section
. This define is located in platform_config.h produced by build_platform_config.py.The reason for the mismatch is that the EFM32 linker (and startup-file) defines this variable as __etext (notice two underscores). So after updating the build_platform_config.py to use this name instead for the LINKER_ETEXT_VAR it's all good.
The other undefined references to _sbrk and _exit was solved by adding
-Wl,--start-group -lgcc -lc -lnosys -Wl,--end-group
to the linker options for the EFM32.