会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~

嵌入式系统

阅读:949发布:2020-05-13

IPRDB可以提供嵌入式系统专利检索,专利查询,专利分析的服务。并且本发明涉及嵌入式系统,其在无须其他记忆装置的状况下实时对多数软件进行日常修补;其中包括:存储装置,它被分为带有应用软件相关程序被修补平台的应用代码领域和带有修补代码、修补应用软件地址相关修补平台的修补代码领域;从主系统中下载传送流的下载传送流装置;微型计算机,其从传送流中提取修补代码记入存储装置相应的修补代码领域,当现在指示的地址是错误地址时,产生违法指令除外程序,以此判断存储装置的被修补平台以及修补平台中是否存在错误地址,然后根据判断结果执行相关程序。本发明可以简化系统硬件的构成,还可以减少制造费用,另外无须初始化过程就可以提高系统效率,而且同时可以执行多个修补,因此可以大大提高系统性能。,下面是嵌入式系统专利的具体信息内容。

1、一种嵌入式系统,其包括:存储装置,它使用的闪存被分为带 有被修补平台的应用代码领域和带有修补平台的修补代码领域;从主 系统中下载传送流的下载传送流装置;微型计算机,该计算机通过对 存储装置的控制执行以下工作:从通过下载传送流装置下载的传送流 中提取修补代码记入到存储装置的相应修补代码领域,当程序计数器 指示的地址是错误地址时,由违法指令除外发生装置产生违法指令除 外程序,以此判断上述存储装置的被修补平台以及修补平台中是否存 在错误地址,然后根据判断结果执行相关程序。

2、如权利要求1所述的嵌入式系统,还包括:上述被修补平台由 多个项目(entry 1-entry m)组成,各项目则由‘修补地址’‘被修 补地址指令复制件’以及‘被修补地址往下分支(branch)指令’组 成。

3、如权利要求1所述的嵌入式系统,还包括:上述修补平台由多 个项目(entry 1-entry n)组成,各项目则由‘应用代码领域内的被 修补地址’、‘修补代码领域内的修补代码地址’以及‘修补代码领 域内的修补信息地址’组成。

4、如权利要求1所述的嵌入式系统,其中,上述微型计算机由以 下几个部件组成:指示要执行程序地址的程序计数器;根据上述程序 计数器指示的地址为错误地址时,发生违法指令除外程序的违法指令 除外发生装置。

说明书全文

技术领域

本发明涉及一种软件升级比较容易的嵌入式系统

背景技术

最近随着回路直接技术的发展,硬件以及软件嵌入式(Embedded) 技术也得到了急速发展;现在设有OS(Operating System)、应用软件 (Application Software)以及微型程序的多种家庭用平台设备得到 了广泛开发和普及。
例如,卫星广播接收器、数码广播接收器以及移动电话终端设备 等都可以说是嵌入式系统。
这种嵌入式系统的OS以及应用程序相对复杂;为了克服上述缺点 趋向于使用带有软件可升级式闪存的ROM。
另外这种嵌入式系统可以通过下载传送流从卫星、中转器接收数 据,并通过上述功能下载新编译软件,以此完成闪存上的程序升级。
最近应用软件规格的增加也导致了下载传送流的带幅增加,因此 比起整体应用软件的升级,那些辅助软件或者辅助类型的修补(Patch) 却成了一种趋势。
上述这种应用现有技术的嵌入式系统10正如图1所示,由以下几 个部件构成:EEPROM、与硬盘等外部存储器20相连的外部存储器接口 逻辑装置11、包括程序计数器13和断点(Breakpoint)寄存器14的 程序12;指令接口逻辑装置15;修补RAM16;ROM17;修补与否决定装 置18;应用逻辑装置19。
查看上述嵌入式系统10的工作原理,首先在启动(Booting)系 统时重装(reload)修补代码,接着利用修补与否决定装置18判断修 补的必要性,如果需要修补,程序12从保存有上述修补代码的外部存 储器20中向修补RAM16下载上述修补代码,并将其记入到闪存中的相 应地址中,以此进行修补。
这时,程序12使用2个以下的断点寄存器14,因此只能对2个以 下的软件程序进行实时修补。
上述现有技术中存在以下几个问题。
第一,断点寄存器数被限制,无法实时对多个软件程序进行修补。
第二,除基本存储器之外,还需要保存修补代码用装置。
第三,启动系统时,需要重装修补代码的初始化过程。

发明内容

本项发明的目的就是要解决上述种种问题;通过本项发明提供无 须单独记忆装置也可以对多个软件程序进行实时修补的嵌入式系统。
为了达到上述目的,本项发明需要以下几个部件:存储装置,它 被分为带有应用软件相关程序被修补平台的应用代码领域和带有修补 代码、修补应用软件地址相关修补平台的修补代码领域;从主系统中 下载传送流的下载传送流装置;微型计算机,该计算机通过对存储装 置的控制执行以下工作:从通过下载传送流装置下载的传送流中提取 修补代码记入到存储装置的相应修补代码领域,当现在指示的地址是 错误地址时,产生违法指令除外程序,以此判断存储装置的被修补平 台以及修补平台中是否存在错误地址,然后根据判断结果执行相关程 序。
本项发明中的嵌入式系统有以下优点。
第一,可以在自身存储器中实现所有软件的修补,无须其他存储 器,因此简化了系统硬件构成,而且还节俭了制造费用。
第二,由于修补代码直接记入到存储器中,系统启动时无须重装 修补代码的初始化操作,因此可以提高系统效率。
第三,可以在存储器容许的范围内同时进行多个修补,因此提高 了系统性能。

附图说明

图1是应用现有技术的嵌入式系统构成模块图。
图2是应用本项发明的嵌入式系统构成模块图。
图3是显示应用代码领域被修补平台形式的图面。
图4是显示修补代码领域被修补形式的图面。
图5是本项发明中嵌入式系统软件修补方法的流程图。
图6是显示修补代码数据形式的图面。
图7是修补之前初始代码中的功能A以及B的程序流程图。
图8是新修补后的应用代码以及修补代码领域状态的图面。
图9是本项发明中违法指令除外常规被修补方法的流程图。
图10是显示违法指令除外日常程序流程图。
图11是与所有修补删除动作相关的应用代码领域程序流程图。
*附图主要部分符号说明*
30:主系统            40:嵌入式系统
41:下载传送流        42:微型计算机
43:程序计数装置      44:违法指令除外发生装置
45:存储装置          46:应用代码领域
47:被修补平台        48:修补代码领域
49:修补平台

具体实施方式

下面参照附图,对本项发明中的嵌入式系统实例进行详细的说明。
图2是应用本项发明的嵌入式系统构成模块图;图3是显示应用 代码领域被修补平台形式的图面;图4是显示修补代码领域被修补形 式的图面;图5是本项发明中嵌入式系统软件修补方法的流程图;图6 是显示修补代码数据形式的图面;图7是修补之前初始代码中的功能A 以及B的程序流程图;图8是新修补后的应用代码以及修补代码领域 状态的图面;图9是本项发明中违法指令除外常规被修补方法的流程 图;图10是显示违法指令除外日常程序流程图;图11是与所有修补 删除动作相关的应用代码领域程序流程图。
本项发明中的嵌入式系统40如图2所示,由以下几个部件组成: 存储装置45,它使用的闪存被分为带有被修补平台47的应用代码领域 46和带有修补平台49的修补代码领域48;从主系统30中下载传送流 的下载传送流装置41;微型计算机42,该计算机42通过对存储装置 45的控制执行以下工作:从通过下载传送流装置41下载的传送流中提 取修补代码记入到存储装置45的相应修补代码领域,当程序计数器43 指示的地址是错误地址时,由违法指令除外发生装置44产生违法指令 除外程序,以此判断上述存储装置45的被修补平台47以及修补平台 49中是否存在错误地址,然后根据判断结果执行相关程序。
这时,存储装置45中应用代码领域46的被修补平台47如图3所 示,由多个项目(entryl-entry m)组成,各项目则由‘修补地址’、 ‘被修补地址指令复制件’以及‘被修补地址往下分支(branch)指 令’组成。另外,修补代码领域48的修补平台49如图4所示,由多 个项目(entry 1-entry n)组成,各项目则由‘应用代码领域内的被 修补地址’、‘修补代码领域内的修补代码地址’以及‘修补代码领 域内的修补信息地址’组成。
读取时读取各比特单元的值,而编写时则变更各比特单元的值, 就是说将比特单元值从‘1’变更为‘0’;删除时则把比特单元值从 ‘0’变更为‘1’。
首先对本项发明中的嵌入式系统软件修补操作进行详细的说明。
如图5所示,微型计算机42通过下载传送流装置41下载修补代 码数据(S51)。
这时,修补代码数据如图6所示,由以下几个内容组成:定义被 修补辅助程序代码地址的‘被修补地址’、在修补代码领域中定义修 补代码地址的‘修补代码地址’、定义修补代码内修补信息点的‘修 补信息点(Ptr)’、定义即将记入到修补代码领域中的修补代码大小 的‘修补代码规格n’以及定义即将记入修补代码领域的n字节修补代 码的‘修补代码’。
当修补代码数据被下载后,微型计算机42就会从中获取修补代码 数据中的被修补地址(Patched Address),即将要修补的辅助程序代 码的地址(以下称之为欲修补地址)(S52)。
然后判断通过上述阶段(S52)获取的欲修补地址是不是‘-1’ (S53);如果是‘-1’就说明要删除整个现有修补内容,因此执行所 有修补代码领域(图2的‘48’)中的删除操作(S63)。
如果上述判断结果(S53),欲修补地址不是‘-1’,就要判断修 补平台中是否已经存在欲修补地址(S54)。就是说,要判断欲修补地 址是新修补(New-Patch)还是旧修补(Re-Patch)。
上述判断结果(S54),修补平台(图2的‘49’)中不存在欲修 补地址时,即新修补,就要判断被修补平台(图2的‘47’)中是否 存在欲修补地址(S55)。
上述判断结果(S55),如果被修补平台中不存在欲修补地址,在 被修补平台中生成新项目(S56),然后将已下载修补代码记入到修补 代码领域中的相应地址中(S57)。
一方面,上述判断结果(S55),如果被修补平台中存在欲修补地 址,将已下载修补代码记入到修补代码领域中的相应地址中(S57)。
在上述阶段(S57)中,修补代码领域的修补平台上生成关于新记 入修补代码的项目后(S58),应用代码领域的欲修补地址指示的位置 上记入‘0’。就是说,以‘0X0’记入与应用代码领域被修补辅助程 序的开始命令代码相对应的字节。
相应于辅助程序开始指令代码的字节被记入为‘0’,就意味着相 关辅助程序经过了修补,对相关指令正处于无法解释状态。因此,经 过修补后掉出(Call)相关辅助程序时,就会发生违法指令除外程序, 并执行相应的操作;对此在后面进行说明。
一方面,上述判断结果(S54),修补平台(图2的‘49’)中存 在欲修补地址,即旧修补(Re-Patch),将修补代码记入修补代码领域 的相对应地址中。(S60)
在上述阶段(S60)中,修补代码领域的修补平台上生成关于新记 入修补代码的项目后(S61),将现有的修补平台项目记入为‘0’。
经过上述过程完成软件的修补,上述新修补以及旧修补在修补代 码领域(图2的‘48’)容许的限度内可以反复执行。
下面对修补后的违法指令除外程序的执行以及应用代码领域和修 补代码领域中的程序流程进行详细说明。
为了有助于对本项发明的理解,首先参照图7.查看修补之前的程 序流程。
就是说,图7是关于修补之前初始代码功能A和功能B的程序流 程;如‘1’一样,功能A的指令执行的过程中,如果掉出(Call)功 能B就移动到功能B的辅助程序中,然后像‘2’一样,从功能B的第 一个指令(first inst)依次执行。然后根据‘返回’指令,重新返 回到功能A的下一个指令,接着如‘3’一样,依次执行功能A的指令。
一方面,功能B用叫做功能B`的新代码完成新修补后,应用领域 以及修补代码领域的状态如图8。
就是说,查看图8的功能代码领域,被修补平台(patched table) 项目的第一个领域中记入被修补功能B的地址,第二领域中复制被记 入功能B的最初指令,而第三领域中则记入跳跃(Jump)到被修补功 能B第二指令为止的分支指令(branch instruction)。
另外,查看图8中的修补代码领域,则记入有作为修补代码的功 能B`;修补平台项目的第一个领域中记入被修补功能B的地址,第二 个领域中记入功能B`的开始地址,第三领域中保存功能B`内的修补信 息位置。
正如前面所述,功能B修补为功能B`的状态下,调出功能B,就 会经过如图9中的流程发生‘违法指令除外’,并执行相关程序。
就是说,如图9所示,功能B修补为功能B`的状态下调出功能B, 由于是处于功能B`的最初地址指令记入为‘0’的状态,因此获取错误 地址(S91)。
接着,就会判断修补平台中是否存在上述错误地址(S92);如果 确实存在,就说明是已修补状态,就会返回到修补平台项目的第二个 领域值(S95)并违法指令除外程序中返回到原来程序,然后再执行相 关程序。
这时,如图8中的说明一样,修补平台项目的第二个领域中记入 功能B`的开始地址。如果修补平台中存在错误地址,就以功能B`的开 始地址执行程序。
参照图10,如‘1’一样,功能A的指令执行的过程中,如果调出 (Call)功能B就移动到功能B的辅助程序中。
移动到功能B的辅助程序后,由于功能B的开始地址指令被记入 为‘0’,因此会发生违法指令除外程序。这时,错误地址都会记入到 修补平台以及被修补平台中,因此就会分支为功能B`的最初地址。
接着如‘2’一样,依次执行功能B`修补代码内的指令,并根据返 回指令恢复为功能A的下一个指令,然后依次执行功能A的指令。
一方面,上述判断结果(S92),修补平台中不存在错误地址,就 判断被修补平台中是否存在(S93);如果被修补平台中也不存在,就 说名是程序错误,并执行相关的违法指令除外程序(S96)。
一方面,上述判断结果(S93),错误程序不存在于修补平台,但 却存在于被修补平台,就说明正处于上述所有修补代码领域扇区中的 数据被删除(图6的‘S63’)的状态,接着恢复到被修补平台细节项 目中的第二个领域地址中(S94),并从违法指令除外程序中恢复到原 来程序,并执行相关程序。
参照图11,如‘1’一样,功能A的指令执行的过程中,如果调出 (Call)功能B就移动到功能B的辅助程序中。
移动到功能B的辅助程序后,由于功能B的开始地址指令被记入 为‘0’,因此会发生违法指令除外程序,接着恢复到被修补平台项目 的第二个领域地址中。
由于被修补平台项目的第二个领域复制有上述错误地址中的原来 指令,因此执行该指令,然后再执行到第三个领域。
由于第三个领域中存在‘分支为功能B第二个指令’的分支指令, 因此就会恢复到功能B第二个指令中,并依次执行下一个指令。
接着根据返回指令恢复为功能A,并如‘3’一样依次执行下一个 指令。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用