- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
对arm11在linux平台下网络通信的设计与实现
对ARM11在Linux平台下网络通信的设计与实现
; 随着CPU制造工艺的飞速发展,越来越多的高性能、低功耗的嵌入式微处理器应用到我们生活中的各个方面,ARM11采用ARM公司新一代的指令架构ARMv6,其主频最高可达到1GHz,功耗低至0.4mW/MHz,采用8级流水线技术。另一方面,它对存储器系统进行改善,使其更加适用于操作系统对硬件上的需求。; Linux是在Unix的基础上发展起来的,它是一种安全、稳定、免费并且能移植到多种架构的处理器平台。Linux分为多个模块,可裁剪一些次要的模块以减小程序量,从而更好地满足微处理器对功耗和成本的要求。; 1 嵌入式Linux软件开发环境的搭建; 1.1 嵌入式Linux开发环境简述; 嵌入式Linux驱动程序的开发需在以Linux为内核的操作系统系统下进行,为方便开发时的数据传输及信息反馈,安装VMware虚拟机软件,并且在其中安装Ubuntu 10.10操作系统。需要注意的是,操作系统的版本不能太低,因为版本过低,很多工具都无法找到对应的支持包,导致一些软件的失效。; Ubuntu是以Linux为内核的操作系统,在Ubuntu安装之初,系统会要求你输入要新建的账户和密码,这个新建的账户用于Ubuntu第一次启动时的默认登录账户。Ubuntu10.10支持图形用户界面,但Linux中还有很多功能都不能以图形界面的形式表达。因此,要学好Linux,就必须对Linux的命令行有比较深入的了解。; Ubuntu10.10会自动安装VMware工具,用于虚拟机系统与宿主机之间的文件传输等,即用户可以直接拖动宿主机的文件到虚拟机中。若没有自动安装,则选择VM项下的Install VMware Tools进行安装。; Linux对普通用户有一定的权限限制,如安装一些支持包时就必须以根用户的权限才能进行操作。为方便每次启动Linux时都以根用户登陆,可在第一次登陆时进入超级终端,并打开/etc/gdm目录下的用户配置文件:custom.conf。即每次登陆时都以root的权限进行登陆。; 1.2 交叉编译器; 交叉编译器是一种计算机环境中运行的编译程序,能编译出可在另外一种环境下运行的代码,我们就称这种编译器为交叉编译器。该文中,我们要在CISC X86架构的普通个人电脑中编写代码,编译后的程序在RISC ARMv6架构的ARM11微处理器中运行。; 1.3 网络文件系统; NFS是Network File System的简写,即网络文件系统。NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。 在嵌入式开发中,NFS使得开发时硬件平台和电脑间文件的传输极为方便。; 1.4 网络编程实验; 实现典型的客户机/服务器程序。客户机、服务器模式要求每个应用程序应由两部分组成:一个部分负责启动通信,另一个部分负责对它进行应答。他们通常运行在不同的主机上,分别被称为客户机和服务器。服务器是指能在网络上可提供服务的任何程序.客户机是指用户为了得到某种服务所需要运行的应用程序。一个服务器接受网络上客户机的请求,完成服务后将结果返回给客户机。; 2 嵌入式Linux硬件平台的搭建; 2.1 linux引导程序; 嵌入式linux引导程序一般选用u-boot,全称 Universal Boot Loader ,是遵循GPL条款的开放源码项目。首先设置拨码开关配置ARM11从SD卡中读取u-boot,再通过超级终端,将读取到的u-boot拷贝到ARM11板载的NAND Flash中,再设置启动方式配置ARM11从Flash中启动,至此,完成嵌入式linux在ARM11平台下引导程序的加载。; 2.2 linux内核; 完成u-boot的加载后,内核文件可以直接通过超级终端从PC中传输到嵌入式开发平台中。通常是把内核文件传输到nand flash特定的地址中暂存起来,再通过烧写命令将该内核文件烧写到特定的内核地址中去即完成嵌入式linux内核的烧写。; 2.3 嵌入式Linux文件系统; 嵌入式Linux文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux 用户和程序看到的文件、目录、软连接及文件保护信息等都存储在其中。常用的文件系统为yaffs2文件系统和cramfs文件系统。Yaffs是第一个专门为Nandflash存储器设计的嵌入式文件系统,适用于大容量的存储设备,并且是在GPL协议下发布的。Cramfs文件系统是专门为NorFlash设计的只读压缩的文件系统,采用实时解压缩方式,小巧且快速。; 3 结束语; 基于ARM11在Linux平台下网络通信程序的流程图总结如图2所示。; 本文就目
文档评论(0)