完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我的应用程序使用了 UART 函数,但它不再编译。libat 和 libdriver 之间似乎存在一些冲突。
-With no changes or even if including "driver/uart.h": xtensa-lx106-elf-gcc -L../lib -nostdlib -T../ld/eagle.app.v6.ld -Wl,--no-check-sections -u call_user_start -Wl,-static -Wl,--start-group -lc -lgcc -lhal -lphy -lpp -lnet80211 -llwip -lwpa -lcrypto -lmain -ljson -lupgrade -lssl -lwps -lsmartconfig -lairkiss user/.output/eagle/debug/lib/libuser.a -lat -Wl,--end-group -o .output/eagle/debug/image/eagle.app.v6.out user/.output/eagle/debug/lib/libuser.a(user_main.o):在函数“msgbroadcast”中: /mnt/Share/app/user/user_main.c:145:对“uart0_tx_buffer”的未定义引用 user/.output/eagle/debug/lib/libuser.a(user_main.o):在函数“bf_sndbroad”中: /mnt/Share/app/user/user_main.c:164:对“uart0_tx_buffer”的未定义引用 collect2:错误:ld 返回 1 退出状态 -通过在 LINKFLAGS 中添加 -ldriver 来修改应用程序 makefile 时: xtensa-lx106-elf-gcc -L../lib -nostdlib -T../ld/eagle.app.v6.ld -Wl,--no-check-sections -u call_user_start -Wl,-static -Wl,--start-group -lc -lgcc -lhal -lphy -lpp -lnet80211 -llwip -lwpa -lcrypto -lmain -ljson -lupgrade -lssl -lwps -lsmartconfig -lairkiss -ldriver user/.output/eagle/debug/lib/libuser.a -lat -Wl,--end-group -o .output/eagle/debug/image/eagle.app.v6.out ../lib/libdriver.a(uart.o):在函数“uart_tx_one_char”中: (.text.uart_tx_one_char 0x8): “uart_tx_one_char”的多重定义 ../lib/libat.a(uart.o):(.text 0xb0):首先在此处定义 ../lib/libdriver.a(uart.o):在函数“uart0_sendStr”中: (.irom0.text 0x1e8): “at_port_print”的多重定义 ../lib/libat.a(uart.o):(.irom0.text 0x228): 首先在此处定义 ../lib/libdriver.a(uart.o):在函数“uart_init”中: (.irom0.text 0x224): “uart_init”的多重定义 ../lib/libat.a(uart.o):(.irom0.text 0x290):首先在此处定义 ../lib/libdriver.a(uart.o):在函数“uart_reattach”中: (.irom0.text 0x270): “uart_reattach”的多重定义 ../lib/libat.a(uart.o):(.irom0.text 0x2d0): 首先在此处定义 ../lib/libdriver.a(uart.o):在函数“uart_tx_one_char_no_wait”中: (.text.uart_tx_one_char_no_wait 0x8): “uart_tx_one_char_no_wait”的多重定义 ../lib/libat.a(uart.o):(.text 0x238): 首先在此处定义 ../lib/libdriver.a(uart.o):在函数“uart1_sendStr_no_wait”中: (.text.uart1_sendStr_no_wait 0x4): “uart1_sendStr_no_wait”的多重定义 ../lib/libat.a(uart.o):(.text 0x25c):首先在此处定义 ../lib/libdriver.a(uart.o):在函数“uart_rx_intr_disable”中: (.text.uart_rx_intr_disable 0x4): “uart_rx_intr_disable”的多重定义 ../lib/libat.a(uart.o):(.text 0x688):首先在此处定义 ../lib/libdriver.a(uart.o):在函数“uart_rx_intr_enable”中: (.text.uart_rx_intr_enable 0x4):“uart_rx_intr_enable”的多重定义 ../lib/libat.a(uart.o):(.text 0x6b0):首先在此处定义 ../lib/libdriver.a(uart.o):在函数“UART_SetWordLength”中: (.irom0.text 0x334): “UART_SetWordLength”的多重定义 ../lib/libat.a(uart.o):(.irom0.text 0x918):首先在此处定义 ../lib/libdriver.a(uart.o):在函数“UART_SetStopBits”中: (.irom0.text 0x360): “UART_SetStopBits”的多重定义 ../lib/libat.a(uart.o):(.irom0.text 0x948): 首先在此处定义 ../lib/libdriver.a(uart.o):在函数“UART_SetLineInverse”中: (.irom0.text 0x394): “UART_SetLineInverse”的多重定义 ../lib/libat.a(uart.o):(.irom0.text 0x97c):首先在此处定义 ../lib/libdriver.a(uart.o):在函数“UART_SetParity”中: (.irom0.text 0x3c8): “UART_SetParity”的多重定义 ../lib/libat.a(uart.o):(.irom0.text 0x9b4):首先在此处定义 ../lib/libdriver.a(uart.o):在函数“UART_SetBaudrate”中: (.irom0.text 0x40c): “UART_SetBaudrate”的多重定义 ../lib/libat.a(uart.o):(.irom0.text 0x9f8):首先在此处定义 ../lib/libdriver.a(uart.o):在函数“UART_SetFlowCtrl”中: (.irom0.text 0x458): “UART_SetFlowCtrl”的多重定义 ../lib/libat.a(uart.o):(.irom0.text 0xa44):首先在此处定义 ../lib/libdriver.a(uart.o):在函数“UART_WaitTxFifoEmpty”中: (.irom0.text 0x534): “UART_WaitTxFifoEmpty”的多重定义 ../lib/libat.a(uart.o):(.irom0.text 0xbec): 首先在此处定义 ../lib/libdriver.a(uart.o):在函数“UART_CheckOutputFinished”中: (.irom0.text 0x5a0): “UART_CheckOutputFinished”的多重定义 ../lib/libat.a(uart.o):(.irom0.text 0xb40): 首先在此处定义 ../lib/libdriver.a(uart.o):在函数“UART_ResetFifo”中: (.irom0.text 0x610): “UART_ResetFifo”的多重定义 ../lib/libat.a(uart.o):(.irom0.text 0xc20): 首先在此处定义 ../lib/libdriver.a(uart.o):在函数“UART_ClearIntrStatus”中: (.irom0.text 0x648): “UART_ClearIntrStatus”的多重定义 ../lib/libat.a(uart.o):(.irom0.text 0xc5c): 首先在此处定义 ../lib/libdriver.a(uart.o):在函数“UART_SetIntrEna”中: (.irom0.text 0x664): “UART_SetIntrEna”的多重定义 ../lib/libat.a(uart.o):(.irom0.text 0xc78): 首先在此处定义 ../lib/libdriver.a(uart.o):在函数“UART_SetPrintPort”中: (.irom0.text 0x698): 'UART_SetPrintPort' 的多重定义 ../lib/libat.a(uart.o):(.irom0.text 0xca4):首先在此处定义 collect2:错误:ld 返回 1 退出状态 |
|
相关推荐
1个回答
|
|
以下是一些建议和可能的解决方案:
1. **检查头文件包含**:确保您的代码中正确包含了所需的头文件。例如,如果您使用的是UART函数,确保您已经包含了`#include "driver/uart.h"`。 2. **检查库文件**:确保您的项目中包含了所有必要的库文件。从您提供的编译命令来看,您已经包含了许多库,但可能还需要检查是否有遗漏的库文件。 3. **检查库文件版本**:如果您在升级NONOS SDK时遇到了问题,可能是因为新版本的库文件与您的代码不兼容。尝试回退到之前的版本,看看问题是否得到解决。 4. **检查编译器选项**:检查您的编译器选项是否正确。例如,您可能需要确保使用了正确的编译器(如xtensa-lx106-elf-gcc)和链接器选项。 5. **检查代码中的依赖关系**:确保您的代码没有依赖于特定版本的库文件。如果可能,尝试将代码修改为与库文件版本无关。 6. **查看编译错误信息**:仔细查看编译过程中的错误信息,这可能会提供关于问题所在的重要线索。根据错误信息,您可以更准确地定位问题并进行修复。 7. **尝试清理项目**:有时候,编译问题可能是由于项目文件中的临时文件或缓存导致的。尝试清理项目并重新编译,看看问题是否得到解决。 |
|
|
|
只有小组成员才能发言,加入小组>>
350 浏览 0 评论
1196 浏览 1 评论
587浏览 6评论
484浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
468浏览 5评论
467浏览 4评论
443浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-29 05:32 , Processed in 0.908439 second(s), Total 45, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号