第三篇:第一个能在开发板上运行的程序
日期: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
建立环境变量 export 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,到这里,我们的第一个程序就算成功了。!