基于ARMLinux的网络通讯设计实验(下位机)..docVIP

基于ARMLinux的网络通讯设计实验(下位机)..doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于ARMLinux的网络通讯设计实验(下位机)..doc

基于ARM-Linux的网络通讯设计实验 一. 实验目的 1. 了解ARM-Linux操作系统的基本构成。 2. 掌握ARM-Linux下的网络通讯程序的设计与编译。 . 掌握ARM-Linux的文件系统的修改及构建方法。 二. 实验内容 下位机程序设计。在Linux环境下用C语言编写基于TCP协议的收发的下位机程序,可实现从上位机接收并回传给上位机。然后,对程序进行交叉编译,修改及构建ARM-Linux的文件系统,使之能在ARM模块上运行。 三. 预备知识 1. C语言。 2. TCP网络传输协议的原理及工作方式。 四. 实验设备与工具 硬件:测试技术与嵌入式系统综合实践平台,微型计算机。 软件:WindowsVMware(预装Linux操作系统Fedora 6及ARM-Linux开发环境)。 五. 实验原理. ARM实验模块 ARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对微处理器的通称,还可以认为是一种技术的名字。ARM处理器是一个32位元精简指令集RISC)处理器架构其广泛地使用在许多嵌入式系统设计。指令集RISC)处理器体积小、低功耗、低成本、高性能;支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;大量使用寄存器,指令长度固定指令执行速度快;大多数数据操作都在寄存器中完成;寻址方式灵活简单,执行效率高;。AT91RM9200,配置了16MB的SDRAM,4MB的FLASH,USB Host端口,RS232接口,以及以太网接口等。 实验模块的硬件框图如下: 其中,SDRAM提供ARM-Linux系统运行所需放入内存,FLASH作为非易失性的存储器,用于存放ARM-Linux系统的引导程序Uboot以及ARM-Linux的内核镜像和文件系统镜像。AT91RM9200自带了以太网接口的MAC层,设计者可根据具体的物理传输介质选用相应的物理层芯片,本实验模块选用的是针对双绞线传输介质的物理层芯片DM9161。AT91RM9200自带的UART(通用异步收发器)接口并不支持计算机的RS232电平,因此,本实验模块采用了MAX232芯片来实现UART接口到RS232接口的转换。另外,AT91RM9200自带了USB2.0全速(Full Speed)接口,可以直接引出。 ARM实验模块采用了四层PCB布版设计,实物图如下所示。 2. ARM-Linux交叉编译环境 在本实验中,我们需要设计程序并在ARM上运行,但由于受到ARM处理器资源(包括人机接口、存储器容量等)的限制,我们无法在ARM 上编写源程序以及将其编译成目标程序,因此,我们需要在PC机平台上编写并编译能在ARM上运行的目标程序。 在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,这个编译过程就叫交叉编译。简单地说,就是在一个平台上生成另一个平台上的可执行代码。这里需要注意的是所谓平台,实际上包含两个概念:体系结构(Architecture)、操作系统(Operating System)。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。举例来说,我们常说的x86 Linux平台实际上是Intel x86体系结构和Linux for x86操作系统的统称;而x86 WinNT平台实际上是Intel x86体系结构和Windows NT for x86操作系统的简称。 交叉编译这个概念的出现和流行是和嵌入式系统的广泛发展同步的。我们常用的计算机软件,都需要通过编译的方式,把使用高级计算机语言编写的代码(比如C代码)编译(compile)成计算机可以识别和执行的二进制代码。比如,我们在Windows平台上,可使用Visual C++开发环境,编写程序并编译成可执行程序。这种方式下,我们使用PC平台上的Windows工具开发针对Windows本身的可执行程序,这种编译过程称为ative Compilation,中文可理解为本机编译。然而,在进行嵌入式系统的开发时,运行程序的目标平台通常具有有限的存储空间和运算能力,比如常见的 ARM 平台,其一般的静态存储空间大概是16到32MB,而CPU的主频大概在100MHz到500MHz之间。这种情况下,在ARM平台上进行本机编译就不太可能了,这是因为一般的编译工具链(ompilation Tool Chain)需要很大的存储空间,并需要很强的CPU运算能力。为了解决这个问题,交叉编译工具就应运而生了。通过交叉编译工具,我们就可以在CPU能力很强、存储足够的主机平台上(比如PC上)编译出针对其他平台的可执行程序。 要进行交叉编译,我们需要在主机平台上安装对应的交叉编译工具链(ross Compi

文档评论(0)

我的文档 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档