基于Flash的嵌入式系统自动升级的实现
2005年第6期福建电脑73基于的嵌入式系统自动升级的实现蔡作英(实达电脑设备有限公司福建福州350002)摘要介绍了嵌入式系统自动升级的实现方法,重点论述了引导程序中]写入的实现和中断向量表处理。关键词1跳转中断向量表嵌入式系统具有可靠性高、成本低、功耗小等特点.在行业中得到了广泛应用。早期的嵌入式系统监控程序固化在或中,当程序出错或用户的需求变更时。需要专门维修服务人员更换新监控片,费用高且效率低下。网络的普及为新监控程序发布提供了经济便捷的可能。让普通用户都能快捷的进行监控升级越发突显重要。用可直接擦写器件代替是实现自动升级的先决条件。
是一种可在线进行电擦写,掉电后信息不丢失的存储器,它具有低功耗、大容量、擦写速度快等特点。
并且内部嵌入算法完成对芯片的操作,因而采用实现嵌入式系统监控程序升级。
1系统简介由专用、等构成一个简单的实例见图1,将引导程序固化到后,在需新监控程序时.可以通过接收来自于主机的新监控程序数据.将之写入到中实现程序升级。图中是采用东芝95内核的专用芯片。用于存放监控,用于存放运算过程中的中间数据和结果数据。图1系统实例1.1具有16位寻址功能,复位中断入1:3地址为00,相应的地址空间见表1:表1程序地址分配地址(16进制传奇网络游戏)意义容量000000一0080内部寄存器地址0080一01+080地址128~监控地址2561.2存储器39020是公司生产的存储器。其主要特点有:3单电源供电,可使内部产生高电压进行编程和擦除操作;支持单电源存储器标准:只需向其命令寄存器写入标准的微处理器指令。具体编程、擦除操作由内部嵌入的算法实现,并且可以通过查询特定的引脚或数据线监控操作是否完成;可以对任一扇区进行读、写或擦除操作,而不影响其它部分的数据。
39020映射为东芝的片外数据存储空间。
地址为:00000?0,数据总线8位。2引导程序的写入实现在中专门开辟一空间用于存储引导程序.引导程序实现接收新的应用程序数据。
而后将数据写入。由于39020最小扇区是4.且复位中断向量表处于最后一扇区中。所以就将自动下载的引导程序固定在最后扇区内4(物理地址:0000一),程序流程图见图2。该方案的关键是写入的实现。图2引导程序流程图2.1存储器的操作命令向存储器的特定寄存器写入地址和数据命令。
就可对存储器编程,但要按一定的顺序操作。由于编程指令不能使””写为”1”,只能使””变为”0”。而擦除命令可使”0”变为”1”,所以正确顺序是先擦除,后编程。对存储器的操作命令有:编程命令、擦除命令、读数据命令。2.1.1编程命令该命令向的指定地址中写入数据。需要四个总线周期,第1、2是解锁周期,第3是建立编程命令,最后一个周期完成向编程地址中写入编程数据,如表2所列。表2编程命令周期1(解锁)2(解锁)3(建立)4(编程)地址055550)2)5555(编程地址1数据005500编程数据的首地址为00000。故05555对应物理地址就为05555,02对应的物理地址为02。2.1.2擦除命令该命令有片擦除和扇区擦除两种,都需6个总线周期,第1、2是解锁周期,第3是建立周期,4、5是解锁周期,最后是片擦除或扇区擦除周期.如表3所列。一旦执行编程或擦除命令后。就启动的内部编程或擦除算法。自动完成编程或擦除操作。表3擦除命令周期(解锁)2俾锁)3(建立)4(解锁)5(解锁)6(片擦除)6(扇区擦除)地址0555525555055552015555(扇区地址)数据055080550302.1.3读数据命令上电或内部编程、擦除操作结束后就进入读数据状态。写入要读取的地址即可读出该地址的数据。
2.1.4的操作检测内部的编程或擦除算法可自动完成编程或擦除操作,但必须了解其内部的操作检测机制。以便知道操作是否完成或正确。常用检测的状态位有:关于传奇跳变位(6)、数据查询位(7)和引脚。检测的方法有三种。第二称是判断引脚的状态,在编程、擦除或擦除挂起操作过程中,斟脚一直为”0”,操作完成后变为””(39020未采用)。第二种是检74福建电脑2005年第6期测跳变位6,在编程或擦除时对任何地址进行连续的读均引起6连续跳变,直至操作结束才停止跳变。第三种是使用数据线的7:7位在编程或擦除过程中输出的数是写入该位数据的反码,当操作完成时输出才变为写入该位的数据。
2.2操作实现操作程序编写后。由操作检测可知在读写操作时7、6一直在变换,接收到的数据是不稳定的,即不能由运行里的程序来写.虽然理论上是可以状态判断外加延时来实现数据的写入。但实际上不易控制故不采用,而是用程序跳转,将中的程序拷贝至,运行程序来写。开机初始化判断进入下载状态时,将读、编程、擦除操作的功能函数拷贝至。而后运行中的擦除指令进行擦除www.stock1818.com,接收到监控程序的数据后调用中的编程函数进行的写操作.实现监控程序数据的写入。3中断向量表的设计实现新监控程序数据写入后,由于最后扇区的内容为引导程序不更改,应用程序的实际中断向量表未正确建立,所以引导程序需进行网民真愿意玩中断向量表设计以保证应用程序正常运行。
3.1中断向量表结构东芝共有32个中断.机制约定了中断向量表的位置固定在00?083,用4个字节表示相应的中断服务人地址如图3所示。如复位中断发生时程序跳转至000,获得复位中断服务程序入地址:00000,程序进入000001实行相应的代码,其它的中断也是类似实行。00:0100005000000:100900100230020:002"00320037330:300410060070040.5000550050050050:601369013613073060:700700日哇00日9:!塑!旦旦!。塑!80:!图3中断向量表示意图3.2二级中断向量表每个应用程序中断服务实际入地址不一,最直观的方法就是将中断服务人地址刷新。但由于无法按位改写,且引导程序处于该扇区不能删除,由于中断表位置是固定的。
第个中断地址就是000+4,查相应的4字节就是实际人地址,所以可以进行程序跳转,将中断表拷贝至000开始建立二级中断地址表。而在二级中断表中实行:);:表示实际中断服务入地址4字节表示进入应用程序的实际中断服务程序。二级中断表结构为:11121314212223241表示,随后的4字节表示相应的人地址,第个中断的实际人地址为234。二级中断表中的每个中断用5字节来实现进入中断服务程序。
设计时将二级中断表物理起始地址定为:00000。故引导程序中的中断向量表更改后见图3。复位中断由于多了判断是否需下载,处理时多跳转了一步,跳转至二级中断表位置(0000)前先跳转至00001运行相应程序。对于采用轮询接收数据(如并查询方式)以上能很好的实现数据的接收和下载,但对于需采用中断接收数据(如串方式)由于无相应中断服务程序,所以只能采用将接收数据中断服务程序写入4内容中,在下载前亦将该程序拷贝至,接收中断发生时调用中相应函数来实现。该方式下中断时需增加是下载状态还是正常工作状态判断,以区别进入相应的中断服务。4结束语引导程序物理地址为:000~0,容量为4,二级中断表的物理地址为:000~0000,容量为0.25,所以实际的监控程序不可用空间为,4.25,实际有效容量为251.75。在设计中注意要保证二级中断表位置00?000区域为空,以避免程序的丢失。该方案研究成功后在我司的多款机器中得到应用,用户反映良好.证明了该方案的可行.本文论述的设计思想和方法具有良好的普遍性和通用性。PK强者
对其它嵌入式产品的设计也有较好的参考和利用价值。参考文献11,16一艮艮一900,-900,19972116一上-900(1),199731(.),19974唐冰.3205410烧写1实现并行自举引导,单片机及嵌入式系统应用,2003.4539020?。2002(上接第14页)6、服务完整性检测:检测程序自动记录目录中所有服务的基本属性及内容校验和。通过定期进行校验和的有效性检测,可以达到验证服务完整性的目的。防止用户系统服务原状被非法篡改,以确保系统安全。7、页面监测过滤:监测所有用户提交的、请求。监测服务器的返回信息,防止非法的请求和返回非法的信息。从而杜绝来自网络内外的扫描与攻击试探。通过以上功能的实现。即使非法入侵者拥有了系统管理员的最高权限也不能对经过内核加固技术保护的系统一切核心或重要内容进行任何破坏和操作。四、总结目前,我国电子信息建设需要的大量基础设备仍然需要依靠从国外引进,引进设备中的核心芯片和系统内核逻辑编程都掌握在他人之手,这种状况在今后若不能彻底改变。将无法从根本上保证信息的安全性。有调查证实:美国国家安全局对销往全球的信息产品,尤其是大规模集成电路芯片和操作系统安装了所需要的技术后门,用于平时搜集这些信息产品使用国的敏感信息和数据;战时启动后门程序,瘫痪对方的政治、经济、军事等运行系统,使其不战自败。
这是令人触目惊心的国家安全和民族经济的巨大隐患!面对各式各样的数字威胁和攻击,我们必须采取有力的安全机制进行保护、防御和反应(反击)。但目前信息安全工作还集中在应用层及传输通信层。可以说,没有操作系统的安全,信息的安全是”沙地上的城堡”。
因此,采用国产的安全操作系统已成为电子信息安全工程的必然选择。
在操作系统上安装了自主知识产权的加固产品后,就等于给未加任何防护的操作系统加装了一个安全的外壳,从而使国家政府机关、银行、军事指挥系统等急需高等级信息安全防护的系统在暂时没有国产安全操作系统的情况下,从提高操作系统内核级的安全性来保证计算机和网络安全水平的全面提升。基于的嵌入式系统自动升级的实现作者:蔡作英作者单位:实达电脑设备有限公司,福建,福州,350002刊名:福建电脑英文刊名:年,卷(期):2005(6)被引用次数:1次参考文献(5条)1.39020-20022.唐冰3205410烧写实现并行自举引导[期刊论文]-单片机与嵌入式系统应用2003(04)3.19974.16-900(1)19975.16-900/,-900/1997引证文献(1条)1.陈波.石旭刚.李栋嵌入式设备软件自动升级技术[期刊论文]-计算机时代2008(4)。
上一篇:基于Matlab的同步电机三相突然短路的仿真
下一篇:基于属性论的核事故应急决策支持系统