基于AT89C52处理器的二次版本下载方法

2015-09-25 03:06:04徐劲松汤新柱管燕萍
单片机与嵌入式系统应用 2015年4期
关键词:外置存储空间内核

徐劲松,汤新柱,管燕萍

(中兴通讯上海研发中心,上海201203)

引 言

随着通信技术的迅速发展,各种新业务层出不穷,电信运营商对通信设备的功能需求日益增多。因此,通信设备经常需要升级软件版本。而随着功能的日趋完善,软件版本所需的存储空间越来越大。另一方面,激烈的竞争促使各通信设备制造商尽可能采用物美价廉的器件以降低设备成本。一些高性价比的处理器获得了广泛的应用,这类处理器可能内置了少量的FLASH存储空间。为了降低成本,通信设备制造商在制造设备时,可能不再另外添置外置的FLASH,而仅仅是配置一定容量的外置RAM,从外置RAM中划出一部分空间用于存放设备的应用程序,其余的用作设备运行中的数据空间。

以AT89C52[1]处理器为例,它内置有8KB大小的FLASH,另外具备64KB外置FLASH以及64KB外置RAM的寻址能力。通信设备制造商在制造设备时,仅仅是配置64KB的外置RAM,用于存储程序和数据,例如前32KB用于存放数据,后32KB用于存放应用程序。一种常用的实现方式是,内置FLASH用于存储很小的内核程序,在系统上电时,从服务器下载容量更大的应用程序,存放在外置RAM中;下载结束后,跳转外置RAM的程序区执行。然而,随着系统功能的增加,原来用于存放应用程序的32KB空间已经不够存放应用程序,而数据区的使用可能不到32KB,例如只使用了20KB。一种解决办法是重新制作存储在内置FLASH中的内核程序,扩大应用程序区的存放范围,使得内核程序在下载应用程序时将后44KB的空间都作为应用程序存储区。然而,对于现网应用的大量设备而言,要更新内核程序的版本,意味着必须把单板断电、重新烧入内置的FLASH内核程序,显然是不现实的。

1 优化地址空间的版本下载方法

本文提供一种优化地址空间的版本下载方法,应用于通信领域嵌入式系统,以解决应用程序的存储空间不够,而数据的存储空间富余的问题。所述的版本下载方法,包括如下步骤:

①将应用程序版本制作成主版本和辅助版本,并保存在服务器上,使得主版本的大小不超过设备分配给应用程序的存储空间大小;

②设备上电后,该设备内核程序将应用程序的主版本从服务器上下载到设备分配给应用程序的存储空间,下载程序完毕后,跳转到应用程序的主版本运行;

③应用程序的主版本执行了设备的初始化以后,与服务器通信,请求下载应用程序的辅助版本;

④应用程序的主版本将辅助版本下载到设备分配给数据的存储空间中的富余空间内,下载完成后继续往下正常执行。此时,在辅助版本中的新增功能可以正常使用。

2 基于AT89C52处理器的版本下载实现

下面以AT89C52处理器的设备为例来说明上述版本下载方法的实现。

图1是采用AT89C52处理器的设备存储空间的分布图。这里只是一个示例,实际的空间分布大小不一定与此处的示例相同,但不影响本文所述版本下载方法的实现。AT89C52处理器内置的8KB FLASH用于存放内核程序;设备另外配置有64KB的外置RAM,其中,前32KB用于存放数据,后32KB用于存放程序。在系统上电时,内核程序负责从服务器下载应用程序,存放在外置RAM的后32 KB应用程序存储空间中,然后跳转到应用程序执行。

图1 采用AT89C52的设备存储空间分布图

图2是采用本文所述版本下载方法后,采用AT89C52处理器的设备存储空间的分布图。假定设备原用于存放数据的32KB外置RAM实际只用到20KB,还有12KB的剩余空间。在系统上电时,存储在内置FLASH中的内核程序负责从服务器下载应用程序的主版本,存放在外置RAM的后32KB存储空间中。之后,应用程序的主版本负责将辅助版本下载到外置RAM原来用于存放数据的空间中的剩余12KB空间。在制作主版本和辅助版本时,对于主版本和辅助版本之间的功能模块采用绝对定址的方式相互调用。

图2 优化地址空间后采用AT89C52的设备存储空间布图

图3是本文实例采用AT89C52处理器的设备版本下载应用方法流程图,包括如下步骤。

①制作应用程序版本时,根据其功能的划分制作主版本和辅助版本并保存在服务器上,使得主版本的大小不超过32KB,辅助版本的大小不超过12KB;在制作主版本和辅助版本时,对于主版本和辅助版本之间的功能模块采用绝对定址的方式相互调用。

②设备上电后,存储在内置FLASH中的内核程序负责从服务器下载应用程序的主版本,存放在外置RAM的后32 KB存储空间中,然后跳转到应用程序的主版本运行。

③对设备进行初始化,与服务器通信,请求下载应用程序的辅助版本。

④应用程序的主版本负责将辅助版本下载到外置RAM原来用于存放数据的空间中的剩余12KB空间。

⑤下载应用程序的辅助版本成功后,主版本才继续往下正常执行,此时,应用程序的主版本可以正常调用辅助版本的功能模块。

图3 采用AT89C52处理器的设备版本下载应用方法流程图

结 语

本文描述了一种优化地址空间的版本下载方法,即二次版本下载的方法,充分利用现有设备分配给数据的存储空间中的剩余空间,扩大了应用程序的存储空间,避免了必须为现有设备更换内核程序才能扩大应用程序存储空间的弊端。此外,本文所述的方法并不局限于AT89C52处理器。

[1] 8-bit Microcontroller with 8KBytes Flash-AT89C52[EB/OL] .[2014-11] .http://www.atmel.com/images/doc0313.pdf.

猜你喜欢
外置存储空间内核
万物皆可IP的时代,我们当夯实的IP内核是什么?
现代装饰(2022年4期)2022-08-31 01:41:24
基于多种群协同进化算法的数据并行聚类算法
强化『高新』内核 打造农业『硅谷』
今日农业(2021年9期)2021-07-28 07:08:36
苹果订阅捆绑服务Apple One正式上线
综艺报(2020年21期)2020-11-30 08:36:49
PLC可编程控制器相关外置的选择计算研究
电子制作(2019年13期)2020-01-14 03:15:34
用好Windows 10保留的存储空间
车载GSM-R外置抗干扰设备
基于嵌入式Linux内核的自恢复设计
Linux内核mmap保护机制研究
电能表用外置断路器常见失效模式分析