历史上的今天
返回首页

历史上的今天

今天是:2025年01月11日(星期六)

2021年01月11日 | 基于ARM11在Linux平台下网络通信的设计与实现

2021-01-11 来源:21ic

随着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中传输到嵌入式开发平台中。通常是把内核文件传输到nandflash特定的地址中暂存起来,再通过烧写命令将该内核文件烧写到特定的内核地址中去即完成嵌入式linux内核的烧写。


2.3 嵌入式Linux 文件系统


嵌入式Linux文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux 用户和程序看到的文件、目录、软连接及文件保护信息等都存储在其中。常用的文件系统为yaffs2文件系统和cramfs文件系统。Yaffs是第一个专门为Nandflash存储器设计的嵌入式文件系统,适用于大容量的存储设备,并且是在GPL协议下发布的。Cramfs文件系统是专门为NorFlash设计的只读压缩的文件系统,采用实时解压缩方式,小巧且快速。


3 结束语


基于ARM11在Linux平台下网络通信程序的流程图总结如图2所示。

本文就目前对于嵌入式linux及其网络通信进行阐述,以嵌入式为知识背景,该设计主要由六个过程(NFS、交叉编译器、网络编程实验、linux引导程序、linux内核、嵌入式Linux文件系统)组成。其他嵌入式Linux应用程序的编写过程也与此类似。


推荐阅读

史海拾趣

Daykin Electric Corp公司的发展小趣事

1969年,大金成功开发了一台室外机连接多台室内机的家用多联系统空调。这一创新产品不仅提高了空调的能效比,还满足了大型住宅和办公场所的多样化需求。多联系统空调的诞生,使得大金在家用中央空调领域取得了领先地位。

Asian Best Components Co Ltd公司的发展小趣事

Asian Best Components Co Ltd在电子行业的初期,凭借一支富有创新精神的技术团队,成功研发出了一款高效能的电子元件。这款产品以其稳定性和高性价比迅速在市场上占据了一席之地。公司借此契机,不断扩大生产规模,提升产品质量,逐渐在电子元件领域建立了良好的口碑。随着技术的不断进步,Asian Best不断推陈出新,陆续开发出多款领先行业的产品,为公司的发展奠定了坚实的基础。

Advanced Technology Corp公司的发展小趣事

为了进一步提升市场份额和品牌影响力,ATC公司积极开展市场拓展活动。公司加强与国际市场的联系,与多家知名企业建立了战略合作关系,共同开拓新的市场领域。同时,ATC公司还注重品牌塑造,通过参加行业展会、举办技术研讨会等方式,提升品牌知名度和美誉度。这些努力使得ATC公司在全球电子市场中占据了一席之地。

ABI Electronics公司的发展小趣事

ABI Electronics公司的起点可以追溯到其对电路板测试技术的深入研究。在创立初期,ABI便以开发出高精度、高效率的电路板故障检测仪为目标。通过对电路板测试技术的不断钻研和创新,ABI成功推出了一系列性能卓越的测试设备,这些设备不仅提高了电路板测试的准确性和效率,也极大地降低了测试成本,赢得了市场的广泛认可。

Hartmann Codier GmbH公司的发展小趣事

随着业务的不断发展和产品的不断升级,ABI Electronics公司的品牌影响力也逐渐提升。其产品在市场上获得了良好的口碑和声誉,成为了电子行业内的知名品牌。同时,ABI还积极参与行业内的交流和合作,为行业的发展做出了积极的贡献,进一步提升了其在行业内的地位和影响力。

这五个故事展示了ABI Electronics公司在电子行业里的发展历程,从电路板测试技术的突破,到集成电路测试技术的创新,再到全球市场布局和合作伙伴关系的建立,以及研发实力的持续增强和品牌影响力的提升,都体现了ABI Electronics公司不断进取、不断创新的精神。

博众电气(BZCN)公司的发展小趣事

博众电气深知人才是企业发展的核心力量。因此,公司高度重视人才培养和团队建设。通过引进优秀人才、建立完善的培训体系、营造良好的企业文化等措施,博众电气成功打造了一支高素质、专业化的团队。这支团队不仅为公司的发展提供了有力的人才保障,还为公司不断创新和进步注入了源源不断的动力。

这五个故事只是博众电气发展起来的冰山一角。在电子行业的激烈竞争中,博众电气凭借技术突破、质量管理体系建设、环保理念、国际化战略以及人才培养与团队建设等举措,不断壮大自身实力,逐步成为行业内的佼佼者。未来,博众电气将继续秉持创新、质量、环保、国际化和人才的理念,不断追求卓越,为实现更加辉煌的成就而努力拼搏。

问答坊 | AI 解惑

推荐CPLD+单片机开发板。。。

联华众科CPLD开发板 CA127 北京联华众科科技有限公司 http://www.lianhua-zhongke.com.cn Abstract  摘 要:联华众科CPLD开发板CA127核心器件为 Altera MAX II系列的EPM1270,CA127具有丰富的板载资源,由于板载有51 ...…

查看全部问答>

发几个红外解码程序

发几个红外解码程序…

查看全部问答>

交叉编译疑问:Windows PC上,利用ADS(ARM 开发环境),使用gcc 和armcc编译器

开发环境: 在Windows PC上,利用ADS(ARM 开发环境),使用gcc 和armcc编译器; 查看编译命令中的makefile文件,有用的是\"gcc ******\"(此处省略掉编译的文件名), 也有\"armcc ******\"(此处省略掉编译的文件名),最后用armlink链接。 以前学 ...…

查看全部问答>

在WinCE设备上设置了开机和屏保密码后,用ActiveSync与PC机同步时要求输入密码

我在WinCE设备上设置了开机和屏保密码,开机和屏保密码均正常,但是用ActvieSync与PC机同步时在PC端提示要输入密码,输入前面设置的开机和屏保密码后提示密码错误,连续三次出错后就停止连接了,请问该如何解决?客户要求WinCE设备必须要设置开机和 ...…

查看全部问答>

关于学习ARM嵌入式

一,学习嵌入式系统前提        (1)语言基础:较为熟悉C语言的开发,例如头文件的编写管理,一工程多文件协调编程的经验。另外由于很多芯片或者其他资料都是英文而并没那么快汉化,故学习者应有一定的英语阅读基 ...…

查看全部问答>

请教高手模电知识

题目与问题都在附件里,麻烦各位高手不吝赐教,详细帮我分解分解,谢谢…

查看全部问答>

感言

从此eeworld 有了我的影踪啦,,努力…

查看全部问答>

计算机控制系统输入/输出通道联合仿真(A/D、D/A联合仿真)

AD转换芯片采用ADC0809,DA转换芯片采用DAC0832。 用4位数码管显示ADC0809采集的温度(假设为0~100°C,用电位器来模拟,3位整数,1位小数。) 将采集的电压值(数字量00~FFH)不经过PID运算直接送DAC0832输出。对比输出的电压值是否等于 ...…

查看全部问答>

Flash读写控制

最近在研究图像方面,需要用flash存储数据,但是驱动起来不是很容易,麻烦各位给我介绍点资料,感激!…

查看全部问答>