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.