当前位置: 技术问答>linux和unix
tq2440下可执行程序不能运行
来源: 互联网 发布时间:2016-11-30
本文导语: 我在pc机ubuntu下编译且运行成功的程序复制到tq2440板子上运行有错误 当我用arm-linux-gcc -o ttys0.cgi ttys0.c 放到板子里面执行提示 bin/sh : ./ttys0.cgi not found 网上说是缺少库,可缺少的哪个arm-linux.so.2是动态...
我在pc机ubuntu下编译且运行成功的程序复制到tq2440板子上运行有错误
当我用arm-linux-gcc -o ttys0.cgi ttys0.c 放到板子里面执行提示 bin/sh : ./ttys0.cgi not found
网上说是缺少库,可缺少的哪个arm-linux.so.2是动态链接符号,不能复制到板子上
然后我又用静态编译 arm-linux-gcc -static -o ttys0.cgi ttys0.c 运行时提示Ilegall Instruction 非法指令。
请问大侠们这种问题应该如何解决呢?
附上我的程序,是一个读取串口的c程序
#include
#include
#include
#include
#include
#include
#include
#include
int fd;
/*
* 打开串口1
*/
int open_ttyS0()
{
//O_RDWR:以读写的方式打开设备
//O_NOCTTY:如果欲打开的文件为终端设备时,则不会将该终端当成当前进程控制终端
//O_NDELAY:以不可阻断的方式打开文件,即无论有无数据读取或等待,都会立即返回进程之中
fd = open("/dev/ttyS0", O_RDWR | O_NOCTTY | O_NDELAY); //虚拟机Linux测试
// fd = open("/dev/tq2440_serial0", O_RDWR | O_NOCTTY | O_NDELAY); //tq2440 Linux测试
printf("nfd = %dnn", fd);
if(fd
当我用arm-linux-gcc -o ttys0.cgi ttys0.c 放到板子里面执行提示 bin/sh : ./ttys0.cgi not found
网上说是缺少库,可缺少的哪个arm-linux.so.2是动态链接符号,不能复制到板子上
然后我又用静态编译 arm-linux-gcc -static -o ttys0.cgi ttys0.c 运行时提示Ilegall Instruction 非法指令。
请问大侠们这种问题应该如何解决呢?
附上我的程序,是一个读取串口的c程序
#include
#include
#include
#include
#include
#include
#include
#include
int fd;
/*
* 打开串口1
*/
int open_ttyS0()
{
//O_RDWR:以读写的方式打开设备
//O_NOCTTY:如果欲打开的文件为终端设备时,则不会将该终端当成当前进程控制终端
//O_NDELAY:以不可阻断的方式打开文件,即无论有无数据读取或等待,都会立即返回进程之中
fd = open("/dev/ttyS0", O_RDWR | O_NOCTTY | O_NDELAY); //虚拟机Linux测试
// fd = open("/dev/tq2440_serial0", O_RDWR | O_NOCTTY | O_NDELAY); //tq2440 Linux测试
printf("nfd = %dnn", fd);
if(fd