安全计算机系统、插件及其软件换装方法
技术领域
本发明涉及安全计算机系统,更具体地,涉及用于安全计算机系统的插件及其软件换装方法。
背景技术
安全计算机也叫做安全关键计算机系统或者安全计算机平台,指的是以计算机为核心子系统的安全关键系统,被广泛应用于航空航天、军事军工、化工能源、轨道交通等安全苛求领域。安全计算机在列车控制和信号系统中的应用对整个轨道交通行业产生了巨大的推动作用,计算机联锁控制、区域控制器、车载设备的实现都使得轨道交通中的自动化程度大大提高。
传统安全计算机中的各系统都具有一些通用的功能,例如安全信号的采集功能,但对于这些通用的功能,传统安全计算机对每个系统都是单独配置,降低了设备的利用率,而安全计算机平台则能够将各功能模块化,通过模块的配置将各控制系统整合在一起,使其共享部分通用的功能模块,从而使整个平台的通用性有效提升。在新一代的列车运行控制系统所采用的安全计算机平台中,各个功能模块开始采用插件形式,以利于硬件的安装/卸载和功能的扩展/卸载。每个插件具有用于实现其相应功能的硬件和嵌入式软件。其中,随着外部环境的变化,插件的嵌入式软件经常需要更新,即所谓的软件换装。目前我国全路共有机车两万多台,因此软件换装的工作量也极为庞大,耗费大量人力物力。
一般来说,插件的嵌入式软件使用编程器或者仿真器实现。使用编程器的方式,需要通过编程器烧录软件到芯片上,然后将芯片安装到插件的方式。此种方法需要大量芯片备用,增加的运行成本,同时更换芯片容易导致芯片损坏。使用仿真器的方式,需要通过仿真器与插件连接,然后将插件写入插件指定芯片的。此种方法需要安装开发环境,使用仿真器建立与插件的连接,操作较复杂,不便于进行大批量更换。
因此,期望有一种新的软件换装方法,无需改变插件硬件,不需要使用仿真头以及专业开发环境,操作简单,适合现场进行软件更换。
发明内容
提供本发明内容以便以简化形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
本发明提供了一种用于安全计算机平台的插件的软件换装方法,所述软件包括底层软件和应用软件,所述底层软件用于实现软件换装功能,而所述应用软件用于实现所述插件的软件的功能,所述方法包括:所述底层软件确定是否需要进行应用软件更换;当确定需要进行应用软件更换时,所述底层软件经由通信接口从外部计算设备接收用于更换的应用软件;当成功接收所述用于更换的应用软件之后,所述底层软件对所述用于更换的应用软件进行特征码识别;当特征码识别成功时,所述底层软件进行应用软件更换。
本发明还提供了一种用于安全计算机平台的便于软件换装的插件,所述插件包括:通信接口;以及Flash芯片,其上烧录有用于所述插件的软件,所述软件进一步包括底层软件和应用软件,所述底层软件用于实现软件换装功能,而所述应用软件用于实现所述插件的软件的功能,其中当所述底层软件确定所述插件需要进行应用软件更换时,所述底层软件经由所述通信接口从外部计算设备接收用于更换的应用软件,当成功接收所述用于更换的应用软件之后,所述底层软件对所述用于更换的应用软件进行特征码识别,并且当特征码识别成功时,所述底层软件进行应用软件更换。
本发明还提供了一种插件式安全计算机系统,所述安全计算机系统包括具有用于实现其相应功能的硬件和嵌入式软件的多个插件,其中每一个所述插件进一步包括:通信接口;以及Flash芯片,其上烧录有用于所述插件的软件,所述软件进一步包括底层软件和应用软件,所述底层软件用于实现软件换装功能,而所述应用软件用于实现所述插件的软件的功能,其中当所述底层软件确定所述插件需要进行应用软件更换时,所述底层软件经由所述通信接口从外部计算设备接收用于更换的应用软件,当成功接收所述用于更换的应用软件之后,所述底层软件对所述用于更换的应用软件进行特征码识别,并且当特征码识别成功时,所述底层软件进行应用软件更换。
采用本发明的软件换装方法在现场软件换装时,无需编程器或仿真器,操作简单,方便快捷。
通过阅读下面的详细描述并参考相关联的附图,这些及其他特点和优点将变得显而易见。应该理解,前面的概括说明和下面的详细描述只是说明性的,不会对所要求保护的各方面形成限制。
附图说明
为了能详细地理解本发明的上述特征所用的方式,可以参照各实施例来对以上简要概述的内容进行更具体的描述,其中一些方面在附图中示出。然而应该注意,附图仅示出了本发明的某些典型方面,故不应被认为限定其范围,因为该描述可以允许有其它等同有效的方面。
图1是根据本发明的实施例的示例性嵌入式软件布置示意图。
图2是根据本发明的实施例的软件换装接线示意图。
图3是根据本发明的实施例的软件换装方法的流程图。
具体实施方式
下面结合附图详细描述本发明,本发明的特点将在以下的具体描述中得到进一步的显现。
针对现有技术中存在的缺陷,本发明的目的在于提供一种新的软件换装方法。
图1是根据本发明的实施例的示例性嵌入式软件布置示意图。如图1中所示,为了方便嵌入式软件的换装,将嵌入式软件分为两个独立的软件,即底层软件与应用软件。底层软件进行插件SRAM芯片、Flash芯片、CPU内部RAM(未示出)的自检,实现软件换装功能,不实现软件的功能需求。应用软件实现嵌入式软件的功能需求。底层软件与应用软件都烧录到插件的同一块Flash芯片上,底层软件从Flash芯片首地址开始存放,应用软件从固定的偏移地址开始存放。
底层软件实现软件换装的功能,仅在插件出厂时使用仿真器或者烧录工具写入插件指定芯片,以后无需更换。应用软件实现插件的功能,在需要更换时通过通信方式发送到插件,由底层软件接收并验证后写入插件指定芯片,即可实现插件软件的换装。采用此方法,仅需要携带计算机与通信接线,软件换装时间短,方便快捷。
图2是根据本发明的实施例的软件换装接线示意图。在进行软件换装时,可通过例如PC等通用计算设备经由通信线将PC机的通信接口连接到安全计算机平台上的各插件的通信接口。通信接口可以是通用接口,诸如RS232通信、RS485通信、RS422通信、以太网通信接口或其它任何合适的通用通信接口。插件上电前,先使用通信线将插件与PC机进行链接,并且运行PC机端的通信软件。在插件上电后,底层软件通过通信方式从PC机获取应用软件,在校验成功后将应用软件写入插件的Flash芯片。
图3是根据本发明的一个实施例的软件换装方法的流程图。如图1所示,首先,在框302,底层软件进行自检。作为非限制性示例,自检可包括对插件SRAM芯片、Flash芯片以及CPU内部RAM(未示出)等的自检。接着,在框304,确定是否要进行应用软件更换。如果不需要更换应用软件,则在框316,跳转到应用软件入口,并执行应用软件。如果在框304处确定需要进行应用软件更换,则在框306处,接收应用软件。根据本发明的一个实施例,待更新的应用软件可由计算机通过通信线发送到底层软件。在框308,确定应用软件是否接收成功。如果未成功接收,则流程前进到框318,应用软件更换失败。如果成功接收了应用软件,则在框310,进一步识别应用软件特征码。识别应用软件特征码的目的是让底层软件能够判断接收的应用软件是否为本插件的应用软件,防止使用非法应用软件或者其它应用软件导致错误换装。在框312,确定应用软件特征码是否被成功识别。作为一个示例,应用软件特征码可以是一个多字节特征码,例如可在应用软件文件中设置固定的内容0x11223344,底层软件在接收到应用软件时搜索该文件是否包括0x11223344。如果文件中不包括此内容,则应用软件特征码识别失败,则流程前进到框320,应用软件更换失败。如果成功识别了应用软件特征码,则在框314,进行应用软件更换。
以上所已经描述的内容包括所要求保护主题的各方面的示例。当然,出于描绘所要求保护主题的目的而描述每一个可以想到的组件或方法的组合是不可能的,但本领域内的普通技术人员应该认识到,所要求保护主题的许多进一步的组合和排列都是可能的。从而,所公开的主题旨在涵盖落入所附权利要求书的精神和范围内的所有这样的变更、修改和变化。