预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

综合实践项目六-嵌入式Linux系统简单应用软件开发一.实践目的1.熟悉嵌入式Linux开发环境学会基于UP-CUP经典2440教学科研平台的Linux开发交叉环境的配置和使用2.利用arm-linux-gcc交叉编译器编译程序使用基于NFS的挂载方式进行简单应用软件开发和测试了解嵌入式开发的基本过程二.实践内容1.在宿主机上虚拟机上安装Linux操作系统发行版本次项目使用前期安装的redhat操作系统使用前期编译内核使用arm-linux-gcc交叉编译器编译器的版本使用3.4的编译器。设置好环境变量。2.在宿主机Linux系统下新建开发目录编写hello.c程序。新建工作目录为目标版开发应用软件。编写hello.c程序编写配套的makefile文件设置交叉编译器环境变量交叉编译。结果如下:此时产生的hello可执行程序就是可以在arm开发板上运行调试的程序。三.交叉调试1.第一种方法在前面的工作中已经完成了应用程序开发编译剩下的工作就是将hello可执行程序下载到ARM开发板上运行测试在把应用程序下载到开发板中有多种方式可以实现可以将制作好的hello可执行程序存放在U盘上然后将U盘卸载后插入开发板U在超级终端将U盘挂载进行运行测试。执行#./hello1/5如果程序正确则会显示相关结果!注意:这种通过移动存储来进行交叉开发测试是不合理的一种方法当我们开发的程序很负责规模很大也许一次开发并不能成功那就要求我们反复的在主机上开发目标板上运行测试这个过程会进行很多次想象一下都是很悲催的事情那有没有什么办法不需要我们来回插拔我们可怜的U盘虐待我们的usb接口呢?答案是有!通常采用如下节所示的方法来进行交叉开发和调试!2.NFS文件系统共享〔典型常用的方法文件共享的原理是在宿主机Linux系统下安装配置一个NFS服务器设置一个共享目录该目录被ARM开发板挂载后和宿主机Linux系统共享当我们在宿主机端完成软件开发后将程序拷贝到共享目录下ARM目标板可以直接在共享目录下运行应用程序这是一个很好的解决办法。常见的问题是NFS容易掉线!详细的配置过程如下:第一步:查看是否安装了nfs服务器默认系统是安装的!第二步:设置虚拟机IP地址测试与开发板是否连通。第三步:建立NFS共享目录第四步:修改配置文件设置共享目录编辑/etc/exports文件添加共享目录第五步:重启nfs服务第六步:网络连通性测试关闭windows防火墙关闭虚拟机防火墙〔必须得!测试网络连通性也就是windowsLinux和目标板都要互相能ping通!以上图示为ping虚拟机。上图为开发板pingwindows系统显示连通!以上为开发板ping虚拟机Linux。注意以上两步都是在超级终端进行!第七步:挂载共享目录在开发板超级终端中挂载/home/forarm目录到开发板的/mnt/nfs目录下。详细挂载命令见下图:执行虚拟机linux下交叉编译好的hello程序!2/5四.简单应用软件开发在/home/forarm/led目录下用vi编辑器输入如下程序#include<stdio.h>#include<stdlib.h>#include<fcntl.h>#include<unistd.h>#include<sys/ioctl.h>#include<sys/mman.h>///#include<linux/delay.h>#defineTUBE_IOCTROL0x11#defineDOT_IOCTROL0x12voidjmdelay<intn>{intijk;for<i=0;i<n;i++>for<j=0;j<100;j++>for<k=0;k<100;k++>;}intmain<>{intfd;intijk;unsignedintLEDWORD;unsignedintMLEDA[8];unsignedcharLEDCODE[10]={0xc00xf90xa40xb00x990x920x820xf80x800x90};unsignedchardd_data[16][10]={{0xff000000000}{