全部博文(40)
2011年(40)
分类: LINUX
2011-09-05 10:00:57
(1)编辑源代码
程序的源代码位于/1B/examples 目录下的demo_hello.tgz 中
首先解压hello.tgz
#tar zxvf hello.tgz
代码清单如下:
#include
int main(void)
{
printf("Hello, world !\n");
return 0;
}
(2)交叉编译hello
使用以下命令编译:
#mipsel-linux-gcc –o hello hello.c
将生成 hello 可执行文件。
可以查看文件属性:
#file hello
6-2 应用程序的移植方式
应用程序的移植方式目前主要有四种:
第一种:复制到介质(以 U 盘为例)
第二种:通过网络(tftp)传输文件到开发板 (文件较小,推荐使用)
第三种:置于根文件系统目录下制作文件系统镜像,再烧写于开发板
(文件很大,可以使用)
第四种:通过NFS(网络文件系统)直接运行
6-2-1复制到介质(以 U 盘为例)
把 U 盘插入PC 的USB,然后执行以下命令把 hello 复制到U 盘
#fdisk -l
#mount /dev/sdb1 /mnt
#cp hello /mnt
#umount /mnt
把 U 盘取出再插入到目标板的 USB HOST 端口,按照以下命令操作:
#fdisk -l
#mount /dev/sda1 /mnt //挂接U 盘
#cp /mnt/hello /bin //把 hello 复制到 bin 目录 #./hello //执行 hello
6-2-2通过网络(tftp)传输文件到开发板
通过网络下载程序的主要步骤是:通过 tftp 协议通过网络将远程主机上的文件下载到目标板上,并修改执行权限,如下:
在PC 端执行:
打开tftp 服务(“3-2-4 安装tftp”,安装完成后默认打开)。
改变服务共享目录/srv/tftp的权限:
chmod 777 /srv/tftp
并把hello 放到tftp 的共享目录下:
cp hello /srv/tftp
测试网络连同是否完好 :
#ping tftp 服务器端的IP 地址
#ping tftp 192.168.0.244
通过tftp 协议登陆 远程主机并下载hello 到本地目标板 :
#tftp –r 要下载文件名 -g tftp 服务器端的IP 地址
#tftp -r hello -g tftp 192.168.0.244
传输完毕后,更改hello 的可执行权限 :
#chmod u+x hello
执行 hello:
#./hello
6-2-3 置于根文件系统目录下制作文件系统镜像
详解参考“4-3-3 制作文件系统镜像文件”
6-2-4 通过NFS(网络文件系统)直接运行
详解参考“附录8 NFS网络文件系统搭建”
6-3启动脚本想要应用程序在启动进入文件系统后,能自动地配置好相应的环境或能灵活地操作,需要相应的启动脚本。
在应用程序相同目录下创建SHELL脚本文件:
vi hello.sh
内容为:
./hello& //在后台运行hello
运行启动脚本:
在“附录4 制作根文件系统——步骤6 创建系统配置文件”的“etc/profile”最后一行顶格添加“sh hello.sh的绝对路径”。
sh /hello.sh
这样在启动开发板后,系统将会自动地后台运行hello。