完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
所以我在 eclipse 中使用 Cross GCC 和一个我命名为 main.c 的主文件有这个 ESP8266 应用程序。
所有编译器和链接器标志都是手动设置的,我的编译和链接都成功了。 但是根据我的链接顺序,我的应用程序运行与否。 如果我链接下面的命令,应用程序运行完美 代码:全选xtensa-lx106-elf-gcc -L"C:\ESP8266\esp8266-bsp\RTOS-SDK\lib" -L"C:\ESP8266\HAL" -nostdlib -u call_user_start -Wl,-static -TC:/ESP8266/esp8266-bsp/RTOS-SDK/ld/eagle.app.v6.ld -Wl,--gc-sections -o "RGBDisplay" -Wl,--start-group -lminic -lmirom -lcirom -lm -lgcc -lhal -lphy -lpp -lnet80211 -lwpa -lcrypto -lmain -lfreertos -llwip -lssc -lspiffs -Wl,--end-group ./main.o 但是您看到链接顺序错误,因为 main.o 应该出现在所有 SDK 库之前。如果我最终从我的 main.o 中引用了一些库代码,我会得到错误“对 xxx 的未定义引用”。 所以我不得不订购我的链接 代码:全选xtensa-lx106-elf-gcc -L"C:\ESP8266\esp8266-bsp\RTOS-SDK\lib" -L"C:\ESP8266\HAL" -nostdlib -u call_user_start -Wl,-static -TC:/ESP8266/esp8266-bsp/RTOS-SDK/ld/eagle.app.v6.ld -Wl,--gc-sections -o "RGBDisplay" -Wl,--start-group ./main.o -lminic -lmirom -lcirom -lm -lgcc -lhal -lphy -lpp -lnet80211 -lwpa -lcrypto -lmain -lfreertos -llwip -lssc -lspiffs -Wl,--end-group 编译和链接仍然成功,但它不会在目标 ESP8266 上运行。 我也试过 代码:全选xtensa-lx106-elf-gcc -L"C:\ESP8266\esp8266-bsp\RTOS-SDK\lib" -L"C:\ESP8266\HAL" -nostdlib -u call_user_start -Wl,-static -TC:/ESP8266/esp8266-bsp/RTOS-SDK/ld/eagle.app.v6.ld -Wl,--gc-sections -o "RGBDisplay" ./main.o -Wl,--start-group -lminic -lmirom -lcirom -lm -lgcc -lhal -lphy -lpp -lnet80211 -lwpa -lcrypto -lmain -lfreertos -llwip -lssc -lspiffs -Wl,--end-group 它也不会运行。 我当然错过了一些东西。正确的? |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
142个成员聚集在这个小组
加入小组532浏览 6评论
449浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
431浏览 5评论
427浏览 4评论
404浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 19:53 , Processed in 0.446545 second(s), Total 43, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号