Failed to build iotivity-constrained Zephyr port on Linux

184 views Asked by At

I am trying to build iotivity-constrained Zephyr port on Linux for ESP32 but getting the following errors,

drivers/built-in.o: In function `esp32_uart_init':
/home/toolchains/zephyr/drivers/serial/uart_esp32.c:46:(.text.esp32_uart_init+0x3): dangerous relocation: call8: call target out of range: uartAttach
drivers/built-in.o: In function `esp32_uart_tx':
/home/toolchains/zephyr/drivers/serial/uart_esp32.c:19:(.text.esp32_uart_tx+0x9): dangerous relocation: call8: call target out of range: uart_tx_one_char
collect2: error: ld returned 1 exit status
/home/toolchains/zephyr/Makefile:878: recipe for target 'zephyr_prebuilt.elf' failed
make[2]: *** [zephyr_prebuilt.elf] Error 1
make[2]: Leaving directory '/home/projects/iotivity-constrained/port/zephyr/outdir/esp32'
Makefile:178: recipe for target 'sub-make' failed
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory '/home/toolchains/zephyr'
/home/toolchains/zephyr/Makefile.inc:82: recipe for target 'all' failed
make: *** [all] Error 2

I can build Zephyr and ESP32 separately but not iotivity-constrained. I tried to add -mlongcalls but no success.

Any suggestions?

1

There are 1 answers

0
Wallace Brito On

Add flag -mlongcalls in /zephyr/drivers/serial/Makefile.

References: IOT-2650