1.9.1 Hello,World!
Hello,World源代码位于位于/opt/FriendlyARM/mini6410/linux/examples/hello目录,其源代码如下:
#include <stdio.h> int main(void) { printf("hello, FriendlyARM!\n"); }
Step1:编译Hello,World 进入源代码目录,并执行make: #cd /opt/FriendlyARM/mini6410/linux/examples/hello #make 最后将生成hello可执行文件,使用file命令可以检查你生成的hello可执行文件是否为ARM体系和格式版本,能在开发板上正常运行的可执行文件一般如图所示:
第- 85 -页
Step2: 把Hello,World下载到开发板运行将编译好的可执行文件下载到目标板目前主要四种方式: 第一种:通过ftp传送文件到开发板(推荐使用) 第二种:复制到介质(如优盘) 第三种:通过串口传送文件到开发板 第四种:通过NFS(网络文件系统)直接运行下面分别进行介绍: (1) 使用ftp传送文件(推荐使用) 说明:使用ftp登录目标板,把编译好的程序上传;然后修改上传后目标板上的程序的可执行属性,并执行。首先,在PC端执行,如图所示
然后,在目标板一端执行,如图所示
第- 86 -页
(2) 使用优盘说明:先把编译好的可执行程序复制到优盘,再把优盘插到目标板上并挂载它,然后把程序拷贝到目标板的可执行目录/bin 步骤:
1. 复制程序到优盘
把优盘插到PC的USB接口,执行以下命令把程序复制到优盘#mount /dev/sda1 /mnt ;挂接优盘 #cp hello /mnt ;复制刚才编译好的程序到优盘 #umount /mnt ;卸载优盘
2. 把程序从优盘拷贝到目标板并执行
把优盘插入到开发板的USB Host接口,优盘会自动挂载到/udisk目录,执行以下命令就可以运行hello程序了。#cd /udisk #./hello ;执行hello程序注意:如果此时强制拔出优盘,需要退回到根目录,再执行umount /udisk方可为下一次做好自动挂载的准备。
第- 87 -页
(3)通过串口传送文件到开发板通过前面的章节我们学会了如何通过串口传送文件到开发板,你也可以通过相同的方法传送hello可执行程序,具体步骤在此不再详细描述,记得传送完毕把文件的属性改为可执行才能正常运行。#chmod +x hello 说明:有些用户使用USB转串口线,因为有些转接器性能是不太好的,所以有时会出现“传输超时”或者根本无法传输到开发板的现象,因此我们建议使用ftp传送到开发板。(4)通过网络文件系统NFS执行Linux中最常用的方法就是采用NFS来执行各种程序,这样可以不必花费很多时间下载程序,虽然在此下载hello程序用不了多久,一旦您的应用程序变得越来越大,您就会发现使用NFS运行的方便所在。如同前面所讲述的那样,请先按照1.3.4一节搭建好NFS服务器系统,然后在命令行输入以下命令(假定服务器的IP地址为192.168.1.111): #mount –t nfs –o nolock 192.168.1.111:/opt/FriendlyARM/mini6410/linux/rootfs_qtopia_qt4 /mnt 挂接成功,您就可以进入/mnt目录进行操作了,在您的PC Linux终端把hello复制到opt/FriendlyARM/mini6410/linux/rootfs_qtopia_qt4目录,然后在开发板的串口终端执行#cd /mnt #./hello
[root@tom exer_mine]# export PATH=/opt/FriendlyARM/toolschain/4.5.1/bin/:$PATH
[root@tom exer_mine]# vi hello.c
[root@tom exer_mine]# arm-linux-gcc -o hello hello.c
[root@tom exer_mine]# ./hello
-bash: ./hello: cannot execute binary file
[root@tom exer_mine]# chmod +x hello
[root@tom exer_mine]# ./hello
-bash: ./hello: cannot execute binary file
[root@tom exer_mine]# pwd
/opt/exer_mine