生成增量程序更新制造技术

技术编号:2820078 阅读:209 留言:0更新日期:2012-04-11 18:40
生成德耳塔文件的方法,该德耳塔文件包括用于使目标处理装置将当前存储器图像模块变换为更新的存储器图像模块的更新指令。该方法包括:将第一存储器地址的参数化表示合并到德耳塔文件中,该参数化表示关于至少一个参数是参数化的;并将参数解析指令合并到德耳塔文件中,其中该参数解析指令适用于使得目标处理装置确定所述至少一个参数值,并由该参数化表示和所确定的所述至少一个参数的值来确定第一存储器地址的地址值。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及更新存储器图像模块,所述存储器图像模块被存储在与目 标处理装置相关联的存储介质中。本专利技术尤其涉及生成更新的存储器图 像,所述存储器图像要被载入其上存储了当前存储器图像的存储介质 中,例如处理装置的存储器。
技术介绍
很多现代电子装置,例如嵌入式装置,由存储在闪存中的软件控制。 闪存是一类经常在电子装置中使用的存储器,因为它允许进行多次重 写。然而,写操作每一次被限制在被称作页的整个存储器扇区。当前闪存的典型页大小是64k字节。例如为了向软件添加新的特征和/或校正当前软件版本中的错误,当 存储在电子装置闪存中的软件被更新时,闪存的 一些或全部存储器扇区 被重写/重编程或"再闪光(re-flashed)"。通常,为了使安装软件 更新所需的时间和能量消耗最少,希望使在软件更新期间被重写的闪存 页数最少。特别地,其中关心更新时间的 一种应用是移动终端的空中下载 (over-the-air, OTA)更新,例如移动终端固件的更新,所谓的固件 空中下载(F0TA)更新。为了提供资源高效的更新机制,已知分配增量更新,即仅仅把对当前 图像的修改分配到目标装置,而不是分配整个更新图像。修改通常是指 德耳塔(delta)文件。通常,在这种系统中,运行在移动终端上的更 新代理将接收到的修改应用到当前图像上,所述当前图像因此4t变换为 更新版本。为了减小当通过通信信道发送德耳塔文件时所需的加载/传 输带宽,和/或减小在目标装置中的加载过程期间的处理时间和存储需 求,通常希望减小德耳塔文件的大小。并且,通常希望减小为了执行软件更新在移动终端中所需的存储容量 和计算资源的数量。终端可能在更新过程期间不可操作是这种更新系统的另 一普遍问题。因此,希望减小再闪光存储器所需的时间,并因此减小系统的停机时间(downt ime )。为了本说明书的目的,存储介质可在其上存储有一个或更多可^R同时 或单独更新的软件模块,例如较大软件系统的不同部件和/或不同单独 软件应用。对应于特定软件^t块的二进制存储器内容部分也将被称作存 储器图像模块。在已知的德耳塔更新系统中,关于软件模块如何被放置在目标装置存 储器中的信息通常对德耳塔文件生成工具可用。特别地,德耳塔文件生 成工具通常假设要被更新的存储器图像模块的起始地址已知并且固定, 就像当存储器图像包括单个固定图像模块,所述单个固定图像模块总是 被定位在同一起始地址的情况一样。然而,当存储存储器包含可以被定 位在每个目标装置存储器中不同起始地址上的模块时,出现特殊的问 题,使得德耳塔文件生成工具不知道该模块的实际起始地址。特别地,在这种情况下,当前安装的软件模块的准确二进制图像对于 生成更新包的离线工具未知,并且不同目标装置上的单个软件模块版本 的图像很可能不同。并且,新图像将要被加载的位置不一定与所安装图 像的位置相同,因为例如空间要求会迫使目标装置选择不同的位置。因此,这种软件模块的二进制图像完全仅仅在被加载到存储器之后确 定。通常,这种模块由目标装置以可再定位的版本接收,例如以目标码 的格式,所述格式包括对存储器地址的符号的/未解析的参照。为了本 说明书的目的,这种模块也将被称作加载模块。加载模块中的符号参照 由目标装置在加载过程期间解析。不同的符号参照可能需要不同的解 析,例如绝对参照与相对参照不同地被解析。因此,加载模块具有与其相关联的所谓再定位指令,所述指令指导解析过程如何为各个符号参照 计算实际的存储器地址。US专利no. 6, 230, 316公开了在台式计算机系统上增量更新文件的方 法。在某些情况下,不可能或不希望将可执行文件加载到其原始预定的 位置上。可执行代码的起始地址然后被改变,过程被称作重定位基址 (rebasing)。重定位基址在软件;波安装到计算机上之后在目标系统上说是未知的:特别地,桌面系统的可执行文件典型地被存储在次要(secondary )存储器中,典型地是硬盘,并且在文件的一部分被执行之前,其被从次要存储器加载到典型地是随机存取存储器(RAM)的主 要存储器。没有被复制到主要存储器的文件部分包含重定位信息,所述 重定位信息列出依赖于位置的参照。重定位基址文件时,重定位信息被 使用。重定位信息还可以用于恢复重定位基址过程,得到可能对于离线 工具已知的正则(canonical)形式。上述现有4支术方法公开了 一种在重定位基址到预先确定的基地址的形式。在目标系统上,安装版本在德 耳塔文件被应用之前被引入相同的正则形式,且更新版本被生成,其接 下来可被重定位基址为新的基地址。尽管现有技术的方法提供了在台式计算机系统上增量更新重定位基 址文件的方法,但是在提供解决上述一般性问题并适用于由嵌入式软件 控制的便携式装置,诸如移动终端的增量更新系统方面仍存在问题。特别地,与台式系统相反,嵌入式系统中使用的二进制图像通常被"在 适当位置"执行,即其被存储在永久性存储器中并从同一存储器执行。 上述现有技术方法对嵌入式系统的应用将会需要除了可执行代码,也需 要存储在目标装置中的重定位信息。然而,重定位信息的大小可能很重 要,有可能甚至与存储器图像本身的顺序相同。增加的存储器脚注的成 本对大批量生产不利。
技术实现思路
上述和其它问题由生成德耳塔文件的方法解决,该德耳塔文件包括用 于使目标处理装置将当前的存储器图像模块变换为更新的存储器图像 模块的更新指令;该方法包括-将第一存储器地址的参数化表示合并到德耳塔文件中,该参数化表 示关于至少当前存储器图像模块在存储器空间中的位置和更新的存储 器图像^t块在存储器空间中的位置来说是参数化的;和-将参数解析指令合并到德耳塔文件中。因此,这里所述的方法生成参数德耳塔文件,即未被完全指定但关于 目标指定数据被参数化的德耳塔文件。参数化的德耳塔文件被从生成该 德耳塔文件的系统传送到目标系统,例如移动终端。当德耳塔文件被应 用到目标系统上的安装的存储器图像时,相应的参数值神支分配给参数。 这样可以使用同样的与其被应用在哪里和什么环境中无关的德耳塔更新包。并且, 一旦参数值已知,参数化的德耳塔文件可被直接应用到安装图 像,而无需在安装之前将安装图像变换为正则形式。因此,这里所描述 的参数化德耳塔更新程序的好处在于,其提供安装的加载模块到较新版 本的直接更新,而不必首先卸载、重定位基址或重新排列旧版本。因此, 这里所述的方法提供了存储器高效的更新过程。特别地,尽管上面现有技术的系统需要完全重定位信息和要被重定位 基址的文件一起存储,没有重定位信息需要被存储在目标系统上,所述 目标系统允许安装版本重新变换为正则形式。在这里所述方法的实施例 中,足够保持使参照进入到存储器模块中/从存储器模块中引出参照。并且,在更新过程期间,在安装期间所需的暂时存储器量减少,因为 没有安装版本的正则形式需要由目标装置生成。这里所述方法的另一个优点是,加载才莫块可以被简单地更新,而不涉 及来自任何操作系统加载器过程等等。特别地,更新可以由在适当位置 生成更新存储器图像的更新代理完成。因此,该过程可被应用到目标系 统的固件,即使如果该固件在适当的位置被执行,因为该固件不需要在 更新过程期间运4亍。在一个实施例中,该方法包括由包括对存储器地址的符号参照的当前本文档来自技高网
...

【技术保护点】
一种生成德耳塔文件的方法,该德耳塔文件包括用于使目标处理装置将当前存储器图像模块变换为更新的存储器图像模块的更新指令;该方法包括: -将第一存储器地址的参数化表示合并到德耳塔文件中,该参数化表示关于至少当前存储器图像模块在存储器空间中的位置和更新的存储器图像模块在存储器空间中的位置来说是参数化的;和 -将参数解析指令合并到德耳塔文件中。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:J埃克C冯普拉滕
申请(专利权)人:艾利森电话股份有限公司
类型:发明
国别省市:SE[瑞典]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利