嵌入式体系的长途更新该怎么进行?
嵌入式体系在各个领域有着广泛的运用,嵌入式体系的保护与晋级也变得日益重要。由于新技能的不断呈现和对体系功用、功用等要求的不断提高,开发者有必要能够针对体系进行晋级和保护,以延伸体系的运用周期,改善体系功用,增强体系适应性。
传统的嵌入式晋级办法一般由保护人员抵达设备现场进行从头烧写体系或许替换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 “QU%&&&&&%K 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 ,在上面履行的软件都一同共享 CPU ,由于 CPU 速度快,所以咱们感觉好象能够一起履行多支软件,其真实体系内部的同一时刻内都只需一个程序在履行,每个软件都有必要排队,并且规则只能用一小段时刻后就要换下一位,可是由于 CPU 速度够快,很快又能够被履行到,所以人们感觉并不会很明显软件是一段一段在履行。这是一般所谓的非实时性的操作体系运作形式,而实时操作体系具有当即反响并且不能让出资源的特性,例如轿车的 ABS 煞车体系,假如不选用能够当即反响的实时体系,结果可就无法想象。而这类的运用八成多属体积小、功用简略的当地,所以也算是嵌入式体系。 QNX 的 QNX OS 、WindRiver 的 VxWorks、Microware 的 OS9、pSOS 等等,都是有名的嵌入式实时体系公司。
Linux
Linux 不是都用来做服务器吗?否则就是 Cluster,怎么会跟嵌入式体系扯上联系?不要置疑,Linux 除了对伺服作业应付自如外,嵌入式体系也难不倒 Linux。
那么终究 Linux 有怎样共同的本领,能够想变大就变大想缩小就缩小?又用 Linux 来开展嵌入式体系有什么长处?请看底下介绍。
敞开原始码、模块化规划
Linux 选用 GPL 授权,除了把原始码揭露以外,任何人都能够自在运用、修正、分布,而 Linux 中心自身采模块化规划,让人很简略增减功用,例如我的渠道并不需求蓝芽的功用,我只需不把这项功用参加,有需求就参加,不需求就删去,由于这样的高的弹性,咱们能够调校出最合适咱们硬件渠道的中心出来。
相较于 Linux ,Windows 是走关闭原始码道路,所以咱们彻底无法得知或修正它的中心部份。别的由于是选用 GPL 授权天然就没有什么权利金或保密协议的束缚。
安稳性够
Linux 不属于任何一家公司,可是它的开发人员却是全世界最多的,每天在全球都有很多的人参加 Linux Kernel 的改善、除错、测验,这样苛刻的条件造就了安稳度高的 Linux 。
就由于如此,Linux 虽不是商业的产品可是质量却不逊于商业产品。
网络功用强壮
Linux 的架构是参造 UNIX 体系而来,因而 Linux 也秉承了 UNIX 强壮的网络功用。在这个每样工作都讲究网络的时代下,只能说是 Linux 大放异彩 的时代。未来或许家里的电冰箱、凉气、电视机都会连上网络,怎么添加这些家电的网络功用,Linux 能够替他们办到。
跨渠道
Linux 一开始是根据Intel 386 机器而规划,可是跟着网络的分布,林林总总的需求呈现,因而就有许多工程师致力于各式渠道的移植,造成了 Linux 能够在 x86、MIPS、ARM/StrongARM、PowerPC、Motorola 68k、Hitachi SH3/SH4、 Transmeta.。等等渠道上运作的盛况。这些渠道简直涵盖了一切嵌入式体系所需的 CPU,因而挑选 Linux 就能够把更多的硬件渠道归入考量的规模。
嵌入式环境不如 x86 PC 那样单纯,嵌入式环境所选用的 CPU 架构之多,运用 Linux 作开发,就等于有更多硬件的挑选,硬件本钱是商业公司考量的一大要点,挑选多天然能够找到最合适的硬件,关于公司的竞争力是有极大的协助。
运用软件很多
自在软件世界里有个很大的特征就是软件超级多,并且简直都是契合 GPL 规范,换句话说,咱们都能够自在取用,由于这些软件八成是由工程师业余空暇时刻所开展,并且不以盈利为性质,所以并不能担保这些软件彻底没有 BUG ,可是仍旧有许多杀手级的软件呈现,咱们熟知的 KDE 与 GNOME 就是很好的证明,当然与嵌入式体系较为相关如:gcc 编译器、Kdevelop 整合式开发环境等等。
一般咱们都会先在 PC 端造出仿真出嵌入式的环境,并直接在上头开发,因而用的东西也都与开发一般 Desktop 软件相似,杰出的东西能够添加开发的速度。
挑选多样
假如公司有才能能够自己实作 Linux 嵌入式体系,由于程序代码全部都敞开在那里,您能够为所欲为的规划出自己想要的 Embedded Linux 体系,可是有更多的公司的事务要点不在于此,这时候您也能够挑选购买商业版的 Embedded Linux 体系,像是有名的 Redhat 公司、Lineo、MontaVista.。等等,这些都是商业的 Linux 公司,购买他们的产品就能够得到完好的服务。因而商业或非商业全都在于您的需求。
自行开发体系
当然您也能够自行开发体系,严格操控硬件,可是相对的有必要投注更大的本钱在于研制体系上,原则上假如方针简略清晰仅仅一些根本的 I/O 操控,例如:跑马灯。便合适自己开发,可是假如体系过于杂乱则有必要审慎评价自行研制的难度与时程的控管