一种利用cpld在嵌入式系统中实现多程序相互切换的方法

文档序号:6466056阅读:413来源:国知局
专利名称:一种利用cpld在嵌入式系统中实现多程序相互切换的方法
技术领域
本发明的方法提供了一种税控收款机开发技术,具体地说是一种没有程序重 定向及程序分段管理机制条件下实现多个应用程序即时切换的方法。
背景技术
在不带操作系统的嵌入式系统开发中, 一个比较通用的方法是将编译好的二 进制文件写到程序芯片中,CPU复位之后从起始位置读取第一条指令并执行。在这
种情况下,硬件与软件紧密结合,不可分割, 一旦硬件有所改动,就要把程序芯 片中旧有的二进制文件擦除,重新写入新的二进制文件。在系列产品开发过程中, 需要频繁的在不同的硬件版本之间进行切换,因此需要频繁的更换二进制文件, 效率低下且容易搞错。

发明内容
本发明的目的是提供一种没有程序重定向及程序分段管理机制条件下实现多 个应用程序即时切换的方法。
具体步骤如下首先对程序芯片进行规划,如0 — 512K byte地址空间存放冷 启动及选择功能程序,512K—1024K byte地址空间存放程序文件l,完成A功能, 1024K— 1536K byte地址空间存放程序文件2,完成B功能。。。以此类推。规 划结束后,将各程序空间的边界地址线(比如0 — 512K byte与512K—1024K byte 地址的边界地址线是A19, 512K—1024K byte与1024K —1536K byte的边界地址 线是A20,等等)连至CPLD,通过CPLD的硬件逻辑设置边界地址线,即可实现地 址空间的重新映射,地址空间映射完毕后,配合看门狗的操作,实现系统的热启 动,即可方便的实现不同程序之间的切换。
本发明方法的有益效果是,提供了一种利用CPLD进行虚拟地址转换和安全可 靠的切换文件的方法,使用改方法可以很方便的在不同的二进制文件之间进行切 换,提高了工作效率和准确性。主要适用于任何没有程序重定向及程序分段管理 机制架构的系统中实现多个程序共存的场合。


附图1是不同程序之间进行切换的示意图。
具体实施例方式
参照说明书附图对本发明的方法作以下详细的说明。
实现本发明的一种利用CPLD在嵌入式系统中实现多程序相互切换的方法,首 先对程序芯片进行规划,设定0 —512Kbyte地址空间存放冷启动及选择功能程序, 512K—1024K byte地址空间存放程序文件1,完成A功能,1024K— 1536Kbyte 地址空间存放程序文件2,完成B功能以此类推,规划结束后,设置各程序空间的 边界地址线,0 — 512K byte与512K—1024K byte地址的边界地址线设定为A19, 512K—1024K byte与1024K —1536K byte的边界地址线设定为A20,依此类推, 将各程序空间的边界地址线连至CPLD,通过CPLD的硬件逻辑设置边界地址线,实 现地址空间的重新映射,地址空间映射完毕后,配合看门狗的操作,实现系统的 热启动,即实现不同程序之间的相互切换。 实施例
如图1所示,冷启动时,A19、 A20、 A21均通过CPLD拉低,此时CPU从冷启 动程序中读取可执行二进制代码,完成功能选择,硬件初始化功能。
如需选择功能程序1 (假设功能程序1存放在512K 1024K byte地址空间中), 则在CPLD中,将A19拉高,A20、 A21拉低,并通过看门狗重启,重新启动后,CPU 实际上是从512K byte处读取二进制代码,从而完成功能程序的跳转。
如选择功能程序2或功能程序3,则以此类推。
本发明方法已经在浪潮RE-370FB高档税控收款机主板上试用应用,因浪潮 RE-370FB税控收款机与浪潮RE-330FB税控收款机共用一块PCB板,只是支持硬件 稍有不同,因此应用本发明之后,可以很方便的在两款税控收款机之间进行切换 而无需重写程序,大大提高了系列产品的兼容性。
权利要求
1.一种利用CPLD在嵌入式系统中实现多程序相互切换的方法,其特征在于切换步骤如下首先对程序芯片进行规划,设定0—512K byte地址空间存放冷启动及选择功能程序,512K—1024K byte地址空间存放程序文件1,完成A功能,1024K—1536Kbyte地址空间存放程序文件2,完成B功能以此类推,规划结束后,设置各程序空间的边界地址线,0—512K byte与512K—1024K byte地址的边界地址线设定为A19,512K—1024K byte与1024K—1536K byte的边界地址线设定为A20,依此类推,将各程序空间的边界地址线连至CPLD,通过CPLD的硬件逻辑设置边界地址线,实现地址空间的重新映射,地址空间映射完毕后,配合看门狗的操作,实现系统的热启动,即实现不同程序之间的相互切换。
全文摘要
本发明提供一种利用CPLD在嵌入式系统中实现多程序相互切换的方法该方法是首先对程序芯片进行规划,设定0-512K byte地址空间存放冷启动及选择功能程序,512K-1024K byte地址空间存放程序文件1,完成A功能,1024K-1536Kbyte地址空间存放程序文件2,完成B功能以此类推,规划结束后,设置各程序空间的边界地址线,0-512K byte与512K-1024K byte地址的边界地址线设定为A19,512K-1024K byte与1024K-1536K byte的边界地址线设定为A20,依此类推,将各程序空间的边界地址线连至CPLD,通过CPLD的硬件逻辑设置边界地址线,实现地址空间的重新映射,地址空间映射完毕后,配合看门狗的操作,实现系统的热启动,即实现不同程序之间的相互切换。
文档编号G06F12/02GK101364208SQ20081014000
公开日2009年2月11日 申请日期2008年9月12日 优先权日2008年9月12日
发明者于治楼, 毕研山, 王永军 申请人:浪潮齐鲁软件产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1