2024年5月5日发(作者:)
基于ARM11在Linux平台下网络通信的设计与实现
摘要:arm11系列微处理器是arm公司近年推出的新一代risc处
理器,其性能得到全面的提高。嵌入式linux有着微型的内核、可
裁剪的模块以及高性能的网络通信等功能。两者的结合能满足消费
类电子、无线设备、网络应用、汽车电子等嵌入式应用的需求。
关键词:arm11;linux;网络通信
中图分类号:tp316 文献标识码:a 文章编号:1009-3044(2013)
07-1553-03
随着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目录
下的用户配置文件:。即每次登陆时都以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所
示。
本文就目前对于嵌入式linux及其网络通信进行阐述,以嵌入式
为知识背景,该设计主要由六个过程(nfs、交叉编译器、网络编
程实验、linux引导程序 、linux内核、嵌入式linux文件系统)
组成。其他嵌入式linux应用程序的编写过程也与此类似。
参考文献:
[1] mark ,包战,孔向华,等.linux命令、编辑器与
shell编程[m]. 2版.北京:清华大学出版社,2010.
[2] 冯军,杨艳资,高岩,等.嵌入式linux下网络设备驱动程
序的开发[j].江南大学学报,2004,10(5).
[3] 周安栋,张伽伟,石鸿萍.arm11嵌入式系统实时网络通信和
lcd显示的实现[j].现代电子技术,2011,8(16).
[4] 杨铸,唐攀.深入浅出:嵌入式底层软件开发[m].北京:北
京航空航天大学出版社,2011:45-213.
发布评论