我是先用gcc编译,在ubantu测试可以用之后再用交叉编译放到开发板运行的;“line 1: syntax error: unexpected ")" 的运行”这个问题大佬您后续留意还有没有遇到,目前我主要先跑串口功能;如果传输有问题,那不会单独就一个文件有问题吧,其他的文件应该也会传输报错,目前我就遇到一个文件报错;对串口配置的标志位确实多了,我对串口设计了很多东西,所以我怀疑是驱动不支持某些标志位导致的卡死问题,用异步IO接收串口数据的;串口的驱动程序是瑞芯微还是你们自己写的呀?自己写的,有时间可以研究一下这些标志位具体是卡死哪个标志位,我这主要是预研用你们的板子做上位机Crocodile wrote: ↑2024-04-26 9:19little_white wrote: ↑2024-04-26 8:50执行程序之后打印的,程序在虚拟机上的ubantu正常运行Crocodile wrote: ↑2024-04-26 7:57
我这边测试的结果您的打印结果中多了很多标志位不太清楚是什么原因引起的,您是在重启系统修改波特率就使用stty打印还是在执行完程序后才打印的?Code: Select all
# stty -F /dev/ttyS4 speed 115200 baud; line = 0; intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0; -brkint -imaxbel
由于不清楚您的应用执行了什么,我觉得有可能是您的程序对对应的TTY作了设置。
正常情况下程序如果用交叉编译链编译的可执行程序在ubuntu上是不能运行的。同时根据您的上下文调用了相关的硬件(串口tty),如果是用ubuntu上的gcc编译后的可执行程序应该找不到相应的/dev/ttySx设备。你可以排除一下是否和这方面有关。
目前主要的问题还是在line 1: syntax error: unexpected ")" 的运行报错,我觉得可能还是和编译过程和上传过程相关,程序的内容应该不是关键,还是请求您执行md5sum file 命令查看几个系统上可执行文件的 md5 值以方便问题的进一步推断。
交叉编译应用程序无法运行
感谢您对我们的支持,little_white wrote: ↑2024-04-26 10:30我是先用gcc编译,在ubantu测试可以用之后再用交叉编译放到开发板运行的;“line 1: syntax error: unexpected ")" 的运行”这个问题大佬您后续留意还有没有遇到,目前我主要先跑串口功能;如果传输有问题,那不会单独就一个文件有问题吧,其他的文件应该也会传输报错,目前我就遇到一个文件报错;对串口配置的标志位确实多了,我对串口设计了很多东西,所以我怀疑是驱动不支持某些标志位导致的卡死问题,用异步IO接收串口数据的;串口的驱动程序是瑞芯微还是你们自己写的呀?自己写的,有时间可以研究一下这些标志位具体是卡死哪个标志位,我这主要是预研用你们的板子做上位机Crocodile wrote: ↑2024-04-26 9:19
由于不清楚您的应用执行了什么,我觉得有可能是您的程序对对应的TTY作了设置。
正常情况下程序如果用交叉编译链编译的可执行程序在ubuntu上是不能运行的。同时根据您的上下文调用了相关的硬件(串口tty),如果是用ubuntu上的gcc编译后的可执行程序应该找不到相应的/dev/ttySx设备。你可以排除一下是否和这方面有关。
目前主要的问题还是在line 1: syntax error: unexpected ")" 的运行报错,我觉得可能还是和编译过程和上传过程相关,程序的内容应该不是关键,还是请求您执行md5sum file 命令查看几个系统上可执行文件的 md5 值以方便问题的进一步推断。
“line 1: syntax error: unexpected ")"的问题之前在做开发的时候也有遇到过,但是具体的细节记不清了,我觉得可以看一下:
1.是否调用了 glibc 的相关库,或者链接库地址没有设置好,可以用ldd命令查一下。
2.板端是否还有空余空间
如果我找到当时解决这个问题的方法,我会第一时间告知您。
关于串口驱动问题这个是由瑞芯微提供的,用的是比较传统的8250驱动,在比较老版本的内核就引入了,存在不兼容新接口的可能,我们会在后续进行测试。
同一个串口配置,在ubantu22上能正常运行,在开发板max上不行,只用了读了一半,然后剩下的,我在重启发送设备在读出来 串口配置用的也是文档教程里面的 大佬,这难搞喔Crocodile wrote: ↑2024-04-26 11:39感谢您对我们的支持,little_white wrote: ↑2024-04-26 10:30我是先用gcc编译,在ubantu测试可以用之后再用交叉编译放到开发板运行的;“line 1: syntax error: unexpected ")" 的运行”这个问题大佬您后续留意还有没有遇到,目前我主要先跑串口功能;如果传输有问题,那不会单独就一个文件有问题吧,其他的文件应该也会传输报错,目前我就遇到一个文件报错;对串口配置的标志位确实多了,我对串口设计了很多东西,所以我怀疑是驱动不支持某些标志位导致的卡死问题,用异步IO接收串口数据的;串口的驱动程序是瑞芯微还是你们自己写的呀?自己写的,有时间可以研究一下这些标志位具体是卡死哪个标志位,我这主要是预研用你们的板子做上位机Crocodile wrote: ↑2024-04-26 9:19
由于不清楚您的应用执行了什么,我觉得有可能是您的程序对对应的TTY作了设置。
正常情况下程序如果用交叉编译链编译的可执行程序在ubuntu上是不能运行的。同时根据您的上下文调用了相关的硬件(串口tty),如果是用ubuntu上的gcc编译后的可执行程序应该找不到相应的/dev/ttySx设备。你可以排除一下是否和这方面有关。
目前主要的问题还是在line 1: syntax error: unexpected ")" 的运行报错,我觉得可能还是和编译过程和上传过程相关,程序的内容应该不是关键,还是请求您执行md5sum file 命令查看几个系统上可执行文件的 md5 值以方便问题的进一步推断。
“line 1: syntax error: unexpected ")"的问题之前在做开发的时候也有遇到过,但是具体的细节记不清了,我觉得可以看一下:
1.是否调用了 glibc 的相关库,或者链接库地址没有设置好,可以用ldd命令查一下。
2.板端是否还有空余空间
如果我找到当时解决这个问题的方法,我会第一时间告知您。
关于串口驱动问题这个是由瑞芯微提供的,用的是比较传统的8250驱动,在比较老版本的内核就引入了,存在不兼容新接口的可能,我们会在后续进行测试。
您好,我不太理解您的意思,从截图上看运行在板端的程序执行一半就中止了,在ubuntu上的程序可以正常运行,但是不清楚您的程序是做了什么操作,您是以什么形式来让程序运行的的,我无法作进一步推断。您可以在编译程序时加入-g指令,在板端运行时使用gdb运行程序进行调试,gdb提供的报错信息或许能让您找到问题具体的出错原因。little_white wrote: ↑2024-04-28 8:35同一个串口配置,在ubantu22上能正常运行,在开发板max上不行,只用了读了一半,然后剩下的,我在重启发送设备在读出来Crocodile wrote: ↑2024-04-26 11:39感谢您对我们的支持,little_white wrote: ↑2024-04-26 10:30
我是先用gcc编译,在ubantu测试可以用之后再用交叉编译放到开发板运行的;“line 1: syntax error: unexpected ")" 的运行”这个问题大佬您后续留意还有没有遇到,目前我主要先跑串口功能;如果传输有问题,那不会单独就一个文件有问题吧,其他的文件应该也会传输报错,目前我就遇到一个文件报错;对串口配置的标志位确实多了,我对串口设计了很多东西,所以我怀疑是驱动不支持某些标志位导致的卡死问题,用异步IO接收串口数据的;串口的驱动程序是瑞芯微还是你们自己写的呀?自己写的,有时间可以研究一下这些标志位具体是卡死哪个标志位,我这主要是预研用你们的板子做上位机
“line 1: syntax error: unexpected ")"的问题之前在做开发的时候也有遇到过,但是具体的细节记不清了,我觉得可以看一下:
1.是否调用了 glibc 的相关库,或者链接库地址没有设置好,可以用ldd命令查一下。
2.板端是否还有空余空间
如果我找到当时解决这个问题的方法,我会第一时间告知您。
关于串口驱动问题这个是由瑞芯微提供的,用的是比较传统的8250驱动,在比较老版本的内核就引入了,存在不兼容新接口的可能,我们会在后续进行测试。
屏幕截图 2024-04-28 163246.png
屏幕截图 2024-04-28 163222.png
串口配置用的也是文档教程里面的
屏幕截图 2024-04-28 163444.png
大佬,这难搞喔