第三篇:第一个能在开发板上运行的程序

日期:2009-3-6

程序非常的简单,如下所示:

 

#include <stdio.h>
int main(void){
printf("hello,linux!");
return 0;
}
[root@localhost sin]# arm-linux-gcc -o hello –c hello.c

编译提示错误

[root@localhost sin]# arm-linux-gcc -o hello hello.c
/usr/local/arm/2.95.3/arm-linux/bin/ld: cannot find /usr/local/arm/2.95.3/arm-linux/lib/libc.so.6
collect2: ld returned 1 exit status

 

从程序看实在找不出来啥错误,到../lib下看,的确没有libc.so.6这个文件

于是从新解压 cross-2.95.3.tar.bz2,我把它放入/usr/local/arm这个目录

Tar – xjvf cross-2.95.3.tar.bz2

建立环境变量    PATH=/usr/local/arm/2.95.3/bin:$PATH

 

[root@localhost sin]# arm-linux-gcc -o hello –c hello.c

这次OK了

如何把编译好的文件传送到开发板,并且执行呢?

 

传输文件到开发板上:

开发在超级终端先进入 shell模式, 进入 tmp目录下

注意:这里的超级终端是 TCP/IP方式建立的终端哦

    新建一个终端,选择 TCP/IP(winsock),IP设置为开发板的IP地址

在PC机的超级终端开始连接,会出现一个登陆提示

可以以root登陆

如下:

 

Linux 2.4.18-rmk7-pxa1 ((none)) (0)
(none) login: root
BusyBox v0.60.3 (2002.05.13-08:36+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.
 
# ls
bin       etc       linuette  mnt       qt        tmp       var
dev       lib       linuxrc   proc      sbin      usr
# cd tmp
# ls
erase
#

在开发板上,先进入 tmp目录。

开启 telnet服务,并设置 开发板的IP(我不理解的是,在vivi下,net show 查看过了,IP是 192。168。1。2

为什么还要先像下面那样设置下,才能和PC连起来呢???

注意:要和PC的IP在同一个段里,我PC用的是XP系统


# inetd
# ifconfig eth0 192.168.1.2
#

目前,我还是没弄明白嘿嘿,反正知道不这么做就是连接不起来 !。。

 

当连接起来后,可以点“发送”,协议选zmode;进度条结束后,就说明传输OK了

查看(当前应该是在tmp目录下)

# # ls
erase  hello
# ./hello

郁闷,提示: ./hh: Permission denied

别着急,修改下权限吧先。

# chmod 777 hello

# ./hello

哈哈hyper terminal 上显示出来咯


hello,linux!

#


OK,到这里,我们的第一个程序就算成功了。!