一种支持固件在线升级的芯片系统及其在线升级方法

文档序号:6650241阅读:250来源:国知局
专利名称:一种支持固件在线升级的芯片系统及其在线升级方法
技术领域
本发明涉及固件升级技术领域,尤其是涉及一种支持固件在线升级的芯片系统及其在线升级方法。
背景技术
固件(Firm Ware)是具有软件功能的硬件,在早期这种器件一般都是存有软件的EROM或EPROM(电可擦除可编程只读存储器)等。固件发展到今天,已经有了重新的定义,更倾向的认为是一种软件体,其承担着一个系统最基础、最底层工作(正如BOIS对于电脑的作用),并且以设备中的FLASH作为载体,与设备其他硬件部分同时存在,不过硬件是有形的,而固件对于我们来说是无形的,虽然为看不见的东西,但固件的作用却不容小视,其担任着一个系统最基础、最底层工作,支持系统运行。
固件广泛存在于数码领域,比如,手机有,数码相机有,MP3随身听也有,而且很多厂家的产品支持固件升级。固件常常需要进行更新升级,例如由于其故障,要向有关用户提供更新的固件;固件周期性地进行更新升级以修复缺陷并增加新的功能。升级固件带来的不仅是硬件性能的提升,还能为硬件增添许多崭新的功能。例如,数码相机进行固件升级后,LCD上能提供更多的信息,并可获得更多的预设特性;而安装了官方升级文件后的打印机能很大程度改善打印质量,并能提升进纸速度。
传统的固件在线升级(DFU,Device Firmware Upgrade)方法,通常使用一块专用的RAM来进行。由于需要在芯片内部额外增加这样一个专用RAM部分,这种方法对于芯片的设计,无论是在面积还是功率方面,其付出的代价都很大,将造成芯片面积增加及功率增大,从而影响芯片的性能指标。此外,额外的专用RAM也会增加芯片的成本。

发明内容
本发明所要解决的技术问题在于提供一种支持固件在线升级的芯片系统及其在线升级方法,对支持固件升级的芯片进行特殊设计,利用RAM共享机制,无需增加专用RAM,只需利用芯片上现有的RAM或寄存器组来进行固件在线升级。
本发明提供一种支持固件在线升级的芯片系统,包括固件、存储固件升级程序的程序存储器、业务模块,以及与业务模块相连的存储业务模块数据的数据存储器,其中,所述数据存储器还与程序存储器相连,用于存储从程序存储器中复制来的固件升级程序。
其中,所述数据存储器通过接口转换电路与所述程序存储器相连,所述数据存储器可以是随机存取存储器,也可以是寄存器组;所述程序存储器可以是FLASH存储器,其可以在芯片内部,也可以在芯片外部。
本发明还提供一种利用本发明所述的芯片系统进行固件在线升级的方法,包括如下步骤固件收到在线升级指令后,将存储于程序存储器中的固件在线升级程序复制到所述数据存储器中;将芯片中MCU的程序空间映射到所述数据存储器;在数据存储器中运行固件在线升级程序,将新版的固件写入程序存储器中。
其中,所述在线升级指令,由用户在计算机端通过串口触发。
所述将新版固件写入程序存储器中的步骤,是通过与计算机端的通讯完成的。
所述将存储于程序存储器中的固件在线升级程序复制到所述数据存储器中的步骤,由程序存储器通过接口转换电路将固件在线升级程序复制到数据存储器。
所述数据存储器可以是随机存取存储器,也可以是寄存器组;所述程序存储器可以是FLASH存储器,其可以在芯片内部,也可以在芯片外部。
利用本发明所述的芯片及其在线升级方法,无需采用专用的RAM,只需要利用芯片上已有的RAM或是寄存器组来进行固件在线升级。在相同的接口复杂度下,应用本发明,可以节省芯片面积和功率,同时降低芯片固件在线升级成本,能以比较低廉地成本来实现芯片固件的在线升级。


图1是根据本发明实施例所述的实现固件在线升级的硬件结构图;图2是根据本发明实施例所述的固件在线升级过程的流程图。
具体实施例方式
下面结合附图和具体实施例对本发明作进一步描述。
本发明提供了一种支持固件在线升级的芯片系统,包括固件、存储固件升级程序的程序存储器、业务模块,以及与业务模块相连的存储业务模块数据的数据存储器,其中,所述数据存储器还与程序存储器相连,用于存储从程序存储器中复制来的固件升级程序。
其中,所述数据存储器通过接口转换电路与所述程序存储器相连,所述数据存储器可以是随机存取存储器,也可以是寄存器组;所述程序存储器可以是FLASH存储器,其可以在芯片内部,也可以在芯片外部。
如图1所示,为本发明实施例中实现固件在线升级的硬件结构图,图中示出了芯片中的共享数据存储器及其输入输出的数据与信号。
在图1中,DFU所使用的共享RAM原本是视频处理模块的缓冲区,在这里只需使用很简单的接口转换电路便实现了RAM的共享。视频处理模块的缓冲区RAM,原本只有用于视频管道的控制、地址和数据输入,以及用于视频管道的数据输出;在其被设置为共享RAM后,增加了用于DFU的控制、地址和数据输入,以及用于DFU的数据输出。这样就使所述共享RAM既可以被用于视频处理,也可以被用于固件在线升级,视频处理模块的缓冲区就成为了共享的数据存储器。
根据本发明实施例,DFU过程由用户在PC端通过串口触发,芯片中的固件接到指令后,首先,将存于FLASH存储器中的DFU的子程序复制到共享的RAM中;然后,将芯片中MCU的程序空间映射到共享的RAM,切换共享的RAM为程序空间;之后,开始运行DFU子程序,DFU子程序运行起来后,通过与PC之间的通讯将新版的固件写入到FLASH之中,从而完成固件的升级。
如图2所示,为本发明实施例中固件在线升级(DFU)过程的流程图,DFU过程包括如下步骤步骤201,通过固件串口中断服务例程(ISR)等待DFU的中断;步骤202,用户通过PC总机发出用于固件在线升级的中断指令后,所述固件串口中断服务例程对是否要进行固件在线升级进行判断;步骤203,如果不是要升级,则继续进行正常工作;步骤204,如果是要升级,则开始进行固件在线升级,芯片中的固件接到升级指令后,将存储在FLASH中的DFU的子程序拷贝到共享的RAM中;步骤205,将芯片中微处理器(MCU)的程序空间映射到共享的RAM,并切换共享的RAM为MCU的程序空间;步骤206,开始运行共享RAM中的DFU子程序,通过与PC之间的通讯,将新版的固件写入到FLASH之中,从而完成固件的升级。
在固件升级完成后,只需重新上电,芯片就会运行新升级的固件。
权利要求
1.一种支持固件在线升级的芯片系统,包括固件、存储固件升级程序的程序存储器、业务模块,以及与业务模块相连的存储业务模块数据的数据存储器,其特征在于,所述数据存储器还与程序存储器相连,用于存储从程序存储器中复制来的固件升级程序。
2.如权利要求1所述的芯片系统,其特征在于,所述数据存储器通过接口转换电路与所述程序存储器相连。
3.如权利要求1所述的芯片系统,其特征在于,所述数据存储器是随机存取存储器。
4.如权利要求1所述的芯片系统,其特征在于,所述数据存储器是寄存器组。
5.如权利要求1所述的芯片系统,其特征在于,所述程序存储器是FLASH存储器。
6.如权利要求1所述的芯片系统,其特征在于,所述程序存储器位于芯片内部或外部。
7.一种利用如权利要求1所述的芯片系统进行固件在线升级的方法,其特征在于,包括如下步骤固件收到在线升级指令后,将存储于程序存储器中的固件在线升级程序复制到所述数据存储器中;将芯片中MCU的程序空间映射到所述数据存储器;在数据存储器中运行固件在线升级程序,将新版的固件写入程序存储器中。
8.如权利要求7所述的方法,其特征在于,所述在线升级指令,由用户在计算机端通过串口触发。
9.如权利要求7所述的方法,其特征在于,所述将新版固件写入程序存储器中的步骤,是通过与计算机端的通讯完成的。
10.如权利要求7所述的方法,其特征在于,所述将存储于程序存储器中的固件在线升级程序复制到所述数据存储器中的步骤,由程序存储器通过接口转换电路将固件在线升级程序复制到数据存储器。
全文摘要
本发明公开了一种支持固件在线升级的芯片系统及其在线升级方法,利用RAM共享机制,在所述芯片系统中,共享数据存储器,所述数据存储器与程序存储器相连,用于存储从程序存储器中复制来的固件升级程序。进行固件升级时,将存储于程序存储器中的固件在线升级程序复制到所述数据存储器中;再将芯片中MCU的程序空间映射到所述数据存储器;运行固件在线升级程序,将新版的固件写入程序存储器中。本发明无需增加专用RAM,只需利用芯片上现有的RAM或寄存器组就可以进行固件在线升级,节省了芯片面积和功率,降低了芯片固件在线升级成本。
文档编号G06F9/445GK1752933SQ20051011766
公开日2006年3月29日 申请日期2005年11月8日 优先权日2005年11月8日
发明者吴大畏, 吴大斌 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1