Re: 交叉编译应用程序无法运行
Posted: 2024-04-26 10:30
我是先用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 值以方便问题的进一步推断。