一种电子系统程序加载方法

文档序号:6559922阅读:173来源:国知局
专利名称:一种电子系统程序加载方法
技术领域
本发明属于电子技术领域,特别涉及一种电子系统程序的加载方法。
背景技术
现代电子系统一般包括CPU、非易失存储器和通信接口等部分。应用程序存放于非易失存储器中。在设备的生产、维修和升级的过程中,需要将应用程序加载到非易失存储器中。
目前有如下五种加载方式。
现有方式一如图1所示,使用编程器将应用程序加载到非易失存储器102中,而后将非易失存储器102安装至设备内部。其缺点是设备的维修和升级过程中如需重新加载应用程序至非易失存储器,则需要开启设备外壳,拆卸非易失存储器,用编程器加载应用程序至该非易失存储器,最后重新安装非易失存储器至设备内部。操作过程繁琐,多次拆装给产品带来不可靠性,而且不适合焊接安装的非易失存储器。
现有方式二如图2所示,设备内增置一BOOTROM 204,BOOTROM内含启动程序,启动程序通过通信接口203和外界设备205通信,将应用程序加载至非易失存储器202中。其缺点是内置包含启动程序的BOOTROM会显著增加设备成本,而且这一启动程序在设备制造完成之后将不能修改。
现有方式三如图3所示,外界设备305通过CPU 301内置的JTAG接口控制CPU,将应用程序加载至非易失存储器302中。其缺点是,外界设备,例如个人电脑,由于不具备JTAG接口控制器,因而需要配备专门的时序转换电路306,不适合普通消费者以及销售商使用。
现有方式四如图4所示,作为方式二的改进,将启动程序和应用程序均存放于非易失存储器402中,与方式二相比,降低了物料成本。其缺点是健壮性欠佳。由于误操作,干扰或突然掉电等原因,非易失存储器中的启动程序容易遭到破坏。非易失存储器中的启动程序一旦容易遭到破坏,则需要通过方式一或者方式三重新加载启动程序,否则设备将无法启动。
现有方式五如图5所示,将启动程序固化至CPU 501内部。其缺点是,缺乏灵活性,一旦更换了需要不同加载协议的非易失存储器,则此方式失效。
上面所说的外界设备,包括但不限于个人电脑、信息家电和工控计算机。
如上所述,现有的五种方式都有这样那样的缺点,因此有必要寻找一种更加健壮灵活和操作简便的应用程序加载方法。

发明内容
本发明的目的就是针对现有技术的不足,提供一种更加健壮灵活和操作简便的应用程序加载方法。
为了实现上述目的,本发明的电子系统程序加载方法将启动程序分解为两部分,两部分共同完成对非易失存储器中应用程序的加载。
启动程序的第一部分固化于CPU中。启动程序的第二部分不是永久存储于电子系统中,而是在需要时从外界设备获得。
启动程序的第一部分工作流程为A.通过通信接口与外界设备通信来判断是否需要对非易失存储器中应用程序进行加载,如不需要则转入步骤B,如需要则转入步骤C;B.执行非易失存储器中的应用程序;C.通过通信接口从外界设备接收启动程序的第二部分,存放于RAM中,而后执行启动程序的第二部分。
启动程序的第二部分的工作流程为D.通过通信接口从外界设备接收应用程序,并将其写入非易失存储器中;E.执行非易失存储器中的应用程序。
另外,启动程序的第一部分固化的方法,包括CPU设计制造时使用硬连线、使用掩膜ROM、CPU初次使用时对CPU内部只读存储器加载等方法。
本发明的电子系统程序加载方法具有如下优点1.加载过程中使用通信接口,无需开启设备外壳,无需拆装非易失存储器。克服了现有方式一的不足。
2.电路板上无需安装BOOTROM,克服了现有方式二的不足。
3.加载过程中只使用通信接口,无需专用的JTAG时序转换器。克服了现有方式三的不足。
4.启动程序的第一部分固化于CPU中,即使非易失存储器遭到擦除,也可启动并通过通信接口重新加载应用程序至非易失存储器。克服了现有方式四的不足。
5.启动程序的第二部分在需要时从外界设备获得,具有很大的灵活性,可以适应不同的非易失存储器和通信接口。克服了现有方式五的不足,并节省CPU面积。
本发明通过把启动程序分解为两部分,而且启动程序的第二部分在必要时才从外界设备获得,与现有的各种加载方法相比,本发明的电子系统程序加载方法更加健壮,更加灵活,操作更加简便。


图1是现有方式一系统结构示意图;图2是现有方式二系统结构示意图;图3是现有方式三系统结构示意图;图4是现有方式四系统结构示意图;图5是现有方式五系统结构示意图;图6是本发明的系统结构示意图;图7是本发明的一种具体实施方式
的流程图;图8是本发明的一种具体实施方式
的硬件结构示意图。
具体实施例方式
下面结合说明书附图6和7说明本发明的一种具体实施方式

具体实施方式
涉及一台路由器,其硬件结构包括CPU 801、非易失存储器802、RS232串行通信接口803、SDRAM 806以及若干以太网口807。
具体实施方式
以个人电脑805充当外界设备。
在CPU设计时,在CPU中固化入启动程序A部分,A部分的详细流程如图7中的711~717所示,并会在后文叙述。
在设计电路板时,根据产品定位和器件价格选择特定容量和品牌型号的SDRAM和非易失存储器。并针对该特定容量和品牌型号的SDRAM和非易失存储器编写应用程序和启动程序B部分。
在维修升级过程中,按如下流程加载应用程序至非易失存储器。
1.启动所述电子系统;2.CPU 801执行固化于CPU内部的启动程序A部分;3.启动程序A部分初始化RS232串口711;4.启动程序A部分向外界设备,也就是本具体实施方式
中的个人电脑805,发送询问字712;5.启动程序A部分等待外界设备,也就是本具体实施方式
中的个人电脑805,返回应答。如果等待超时(例如没有连接个人电脑)时,或者返回的应答为不需要加载(例如电子系统维护人员认为不需要加载)时,跳转至非易失存储器802,执行应用程序714,启动程序流程结束。如果返回的应答为需要加载则继续执行后续流程;6.启动程序A部分先接收启动程序B部分的长度715,然后依据长度接收启动程序B部分。将B部分存放于CPU片内的SRAM中716;7.跳转至CPU片内的SRAM,执行启动程序B部分717;8.启动程序B部分初始化SDRAM 720;9.启动程序B部分接收应用程序长度721;
10.启动程序B部分依据长度接收应用程序,并存放于SDRAM中722,由于应用程序长度较大,为检测传输过程中的错误,增加了校验信息;11.应用程序接收完成后,启动程序B部分对接收到的应用程序进行校验723。如果校验错误,则进行出错处理725,启动程序流程结束。如果校验正确,则继续执行后续流程;12.启动程序B对非易失存储器进行擦除操作,以便加载新的数据727;13.启动程序B将SDRAM中的应用程序加载到非易失存储器中728;14.跳转到非易失存储器中,执行应用程序。启动程序流程结束。
所述的电子系统程序加载方法,具有如下优点1.加载过程中使用通信接口,无需开启设备外壳,无需拆装非易失存储器。
2.电路板上无需安装BOOTROM,克服了技术背景中方式二的不足。
3.加载过程中只使用通信接口,无需专用的JTAG时序转换器。
4.启动程序A部分固化于CPU中,即使非易失存储器遭到擦除,也可启动并通过通信接口重新加载应用程序至非易失存储器5.启动程序A只和RS232串口和CPU片内的SRAM有关,RS232串口也往往集成于CPU内部,因而启动程序A部分在不同设备中是普遍适用的。
6.启动程序B部分在需要时从外界设备获得,具有很大的灵活性。修改电子系统配置,更换不同容量和品牌型号的SDRAM和非易失存储器时,只需要修改启动程序B部分即可适应新的SDRAM和非易失存储器。
总之,所述方法是一种强壮的,灵活的,操作简便的电子系统程序加载方法。
尽管本发明是参照其优选实施例来具体描述的,但本领域的技术人员应该理解,在不脱离有所附权利要求限定的本发明的精神和范围的情况下,可以对其进行形式和细节的各种修改。
权利要求
1.一种电子系统程序加载方法,其特征在于该方法将启动程序分解为两部分,两部分共同完成对非易失存储器中应用程序的加载;启动程序的第一部分固化于CPU中;启动程序的第二部分不是永久存储于本电子系统中,而是在必要时从外界设备获得;启动程序的第一部分工作流程为A.通过通信接口与外界设备通信来判断是否需要对非易失存储器中应用程序进行加载,如不需要则转入步骤B,如需要则转入步骤C;B.执行非易失存储器中的应用程序;C.通过通信接口从外界设备接收启动程序B部分,存放于RAM中,而后执行启动程序的第二部分;启动程序的第二部分的工作流程为D.通过通信接口从外界设备接收应用程序,并将其写入非易失存储器中;E.执行非易失存储器中的应用程序。
全文摘要
本发明涉及一种电子系统程序的加载方法。本发明中将启动程序分解成两部分,一部分固化于CPU中,另一部分通过通用串行接口按需从外界设备获得。两部分共同完成对板上非易失存储器中应用程序的加载。由于启动程序的一部分固化于CPU中,另一部分从上位机加载,而不是完全固化于CPU或者完全存储在可能被意外擦除的非易失存储器中,因而,本方法兼具强壮性与灵活性。另外,由于通过通用串行接口而不是JTAG接口,因而整个加载过程中不需要任何时序转换电路,通用性强。
文档编号G06F9/445GK1936841SQ200610098908
公开日2007年3月28日 申请日期2006年7月14日 优先权日2006年7月14日
发明者梁坚, 曾荣跃, 黄智杰 申请人:杭州国芯科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1