完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我想为 xtensa 编译简单的 C++ 代码,但我不能。
代码:全选#include "ets_sys.h" #include "osapi.h" #include "gpio.h" #include "os_type.h" #include "user_config.h" #include "user_interface.h" #include "espconn.h" extern "C" void ICACHE_FLASH_ATTR user_init() { //wifi_set_opmode(i); } 我用这个命令编译了文件。 (这部作品) 代码:全选xtensa-lx106-elf-g++ -I. -Os -g -O2 -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -fno-rtti -fno-exceptions -c -o bin/user_main.o user_main.cpp 并与此相关联。 代码:全选 xtensa-lx106-elf-gcc -L /home/esp-open-sdk/sdk/lib -T /home/esp-open-sdk/sdk/ld/eagle.app.v6.ld -nostdlib -Wl,--no-check-sections -u call_user_start -Wl,-static -Wl,--start-group -lgcc -lmain -lnet80211 -lwpa -llwip -lpp -lphy -lc -lupgrade -Wl,--end-group bin/user_main.o -o bin/user_main 如果文件中使用了 SDK 中的任何函数,则链接结束时出现未定义的引用错误 代码:全选bin/user_main.o:(.irom0.text+0x0): undefined reference to `wifi_set_opmode(unsigned char)' bin/user_main.o: In function `user_init': /home/esp/user_main.cpp:12: undefined reference to `wifi_set_opmode(unsigned char)' collect2: error: ld returned 1 exit status 任何人都可以显示为 Xtensa 编译和链接 c++ 的最少命令吗? |
|
相关推荐
1个回答
|
|
-none-branch -fno-exceptions -fno-rtti -c -DF_CPU=80000000L -DLWIP_OPEN_SRC -DDEBUG_ESP -DDEBUG -DLWIP_DEBUG -I . -I /path/to/xtensa/include -o main.o main.cpp这个命令将C++代码编译为目标代码并生成一个名为“main.o”的目标文件。如果您需要将代码链接到其他目标文件中,请使用以下命令:全选xtensa-lx106-elf-g++ -Os -g -O2 -Wpo-none-branch -fno-exceptions -fno-rtti -c -DF_CPU=80000000L -DLWIP_OPEN_SRC -DDEBUG_ESP -DDEBUG -DLWIP_DEBUG -I . -I /path/to/xtensa/include -o main.o main.cppxtensa-lx106-elf-gcc -L /path/to/xtensa/lib -nostdlib -Wl,-static -Wl,--start-group -lc -lgcc -lhal -lphy -lpp -lnet80211 -llwip -lwpa -lmain -Wl,--end-group -o firmware.elf main.o如果您需要生成HEX文件,则需使用以下命令:全选xtensa-lx106-elf-objcopy --only-section=.text -O binary firmware.elf firmware.binxtensa-lx106-elf-objcopy --only-section=.data -O binary firmware.elf firmware.dataxtensa-lx106-elf-objcopy --only-section=.rodata -O binary firmware.elf firmware.rodatacat firmware.bin firmware.data firmware.rodata > firmware.hex接下来,您可以将HEX文件烧录到您的xtensa设备上。
|
|
|
|
只有小组成员才能发言,加入小组>>
406浏览 6评论
338浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
321浏览 5评论
322浏览 4评论
310浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-16 13:57 , Processed in 1.056958 second(s), Total 77, Slave 61 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号