嵌入式Linu系统简单应用软件开发.docVIP

  • 2
  • 0
  • 约3.17千字
  • 约 6页
  • 2018-11-23 发布于广东
  • 举报
嵌入式Linu系统简单应用软件开发.doc

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

文档评论(0)

1亿VIP精品文档

相关文档