linux - 无法在 Linux 上构建受限的 Zephyr 端口

标签 linux iotivity esp32

我正在尝试在 Linux 上为 ESP32 构建受限的 Zephyr 端口,但出现以下错误,

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

我可以单独构建 Zephyr 和 ESP32,但不受创意限制。我尝试添加 -mlongcalls 但没有成功。

有什么建议吗?

最佳答案

在/zephyr/drivers/serial/Makefile 中添加标志 -mlongcalls。

引用文献: IOT-2650

关于linux - 无法在 Linux 上构建受限的 Zephyr 端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45903128/

相关文章:

linux - 将带有时间戳的每个命令的输出存储在 Linux 中的文件中

linux - 卸载后SD卡数据损坏

ubuntu - Ubuntu 上 IoTivity 项目中的 Scons 编译错误

java - 需要从控制台运行 .jar 才能工作

java - 在 Windows 上为 android 构建 iotivity 时出错

c++ - ESP32-AsyncUDP 自带的 udp.onPacket 处理函数

linux - 无法将 rsync 与 Cygwin 一起使用

linux - 在 Linux 中,可执行文件的位置是否会影响 setuid 位的解释方式?

c - 如何将 uint8_t 从 uart_read_bytes 转换为 char 或可以添加到 cJSON 对象的内容?

arduino - 将字符串写入 Arduino ESP32 的永久闪存