嵌入式系统的远程更新该如何进行?常见的嵌入式操作系统有哪些?
嵌入式系统的远程更新该如何进行?
嵌入式系统在各个领域有着广泛的应用,嵌入式系统的维护与升级也变得日益重要。由于新技术的不断涌现和对系统功能、性能等要求的不断提高,开发者必须能够针对系统进行升级和维护,以延长系统的使用周期,改善系统性能,增强系统适应性。
传统的嵌入式升级方式通常由维护人员到达设备现场进行重新烧写系统或者更换Flash存储部件,当设备数量庞大并且分布范围广泛时,这种升级维护方式的工作量将非常大,而且耗费的时间长、成本高。随着嵌入式技术的迅速发展,嵌入式系统的远程升级技术得到了快速发展。参考文献提出了一种基于GPRS的嵌入式系统软件的远程在线升级,通过GPRS网络实现对ARM嵌入式终端的系统软件进行在线升级。这种方法的不足在于无法实现系统本身的远程升级。参考文献实现了一种在Bootloader中实现嵌入式系统自动升级的方法,这种方法是将映像文件存储在CF卡中,系统重启时Bootloader将检测CF卡中的映像文件,读取映像文件并烧写到目标板的Flash中,实现升级。如果终端的数量较大且分布广泛,采用这种方法会增加很大的工作量。
本文针对嵌入式Linux操作系统提出了一种新的更新机制,并且基于ARM9微处理器和NAND Flash存储器,对uboot和Linux内核进行修改,实现了对嵌入式Linux系统的远程自动更新。克服了传统方法工作量大的缺点,具有操作简单、更新速度快的特点。
1 基本原理
1.1 总体结构
支持远程自动更新的嵌入式Linux系统机构,它可以分为嵌入式终端和远程管理系统两部分。系统的总体结构如图1所示,嵌入式终端采用基于ARM9架构的AT91RM9200微处理器,采用扩展的32MB SDRAM,由2片16位数据宽度的SDRAM芯片HY57V281620并连而成,采用64MB NANDFla sh存储芯片K9F1208,运行嵌入式Linux系统。远程管理系统选用PC机。嵌入式终端通过以太网连接到远程管理系统,管理人员可以通过telne t即可对各个嵌入式终端进行监控、管理和远程更新。
1.2 系统更新流程
本设计对uboot和Linux内核进行改造,使其支持YAFFS2文件系统,对系统添加ftp、telnet等应用服务。系统更新流程如图2所示。系统正常运行时管理人员可以通过telnet远程登录到嵌入式终端进行监控和管理。当需要对系统进行更新时,通过远程管理系统的ftp客户端登录到嵌入式终端,将需要更新的内核映像和文件系统上传到NAND Flash。上传完毕后对原有的内核映像和文件系统进行备份并重启系统。系统重启后uboot将NAND Flash中更新后的内核映像和文件系统搬运到SDRAM中,然后跳转到SDRAM中启动Linux系统,挂载YAFFS2文件系统,启动各种应用服务。
常见的嵌入式操作系统有哪些?
DOS
微软一开始选用了派特森的Q-DOS "QUICK AND DISK OPERATING SYSTEM "为基础然后再扩充功能而成 MS-DOS,主要是采用由IBM 提供的使用8088 微处理器的计算机作开发平台,它是以16 字节单人单工操作系统,特别适合一些功能简单装置使用。
Windows CE
虽然微软 Windows 系统已经称霸了 PC Desktop 环境。但是对于嵌入式系统这块大饼,微软也是垂涎已久,桌上型的 Windows 桌业系统对于嵌入式系统来说自然是太过于肥大的产物,于是微软推出精简版的 Windows CE 作为进攻嵌入式系统的主力。目前主要应用于 PDA 上头,但是跟微软一系列 Windows 系统一般,Windows CE也承袭了原有的缺点:耗系统资源、不稳定、效率不佳等等。毛病实在太多,后来将整个架构重新改写后推出 Windows CE 3.0 版,或称为 Pocket PC。改版之后的确改进了不少缺点。
Windows CE 可应用于 PDA 、WebPAD、Thin Client等等。是采用 Windows CE 为操作系统的 SIMPad (西门子公司所有)。
Palm
由 Palm CompuTIng 公司的嵌入式操作系统,目前最大的应用在 PDA ,是市场占有率最高的 PDA 操作系统,Palm 操作系统架构非常简洁,因为少去了很多功能,如内存管理、多任务等等,使得 Palm 可以非常不耗系统资源,硬件需求低,连带的整体耗电量便可压缩到非常低,因此采用 Palm 操作系统的 PDA 都有待机时间长的优点。
EPOC
由英国手持装置大厂 Psion 所开发,常用于 PDA 与手机结合的场合。最有名的例子 Nokia 9110 系列手机,它就是采用 EPOC 系统。
著名的嵌入式实时系统
实时系统是嵌入式系统里头非常重要的一环,很多人都误以为实时系统执行速度非常快的系统,事实上不然,所谓实时代表的意义是『实时反应』,一般多人多任务操作系统如:Windows 、 UNIX ,在上
- 工控机在IC卡加油工程中的应用(05-13)
- 联网汽车为什么选择Linux开源平台?(07-10)
- 多网络和Linux代理的Android无线远程控制系统(02-02)
- 基于嵌入式Linux的家居监控系统设计(02-22)
- 基于嵌入式Linux系统的导航软件设计思路(03-17)
- 新型嵌入式机器视觉系统的设计研究(04-21)