单片机程序升级方法技术

技术编号:2864614 阅读:312 留言:0更新日期:2012-04-11 18:40
单片机程序升级方法,涉及计算机技术,特别涉及单片机技术。本发明专利技术包括以下步骤:a.将需要升级的程序用外部LOADER载入外部SDRAM;b.将内部LOADER拷贝到MCU片内RAM;c.擦除FLASH原有内容,并从外部SDRAM拷贝升级程序到FLASH。本发明专利技术的有益效果是,可以方便的实现软件升级,采用本发明专利技术的背投电视程序升级无需打开机箱,具有可以降低硬件成本,可多次编程等优点,使得产品更具有竞争力。(*该技术在2024年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及计算机技术,特别涉及单片机技术。
技术介绍
目前电器产品中MCU的应用非常广泛,但是,无片内ROM的MCU程序升级相当繁琐。以背投电视为例,作为近段时间的热门畅销产品,功能日新月异,软件需求越来越多,软件版本也不断更新。目前对软件的升级需要打开机箱操作,因此需要用户送维修站维修升级或售后服务人员上门服务。但是当整机出厂后,送维修站维修升级或售后服务人员上门服务都会增加成本,也会给用户带来不便。如果遇到产品在线上生产时需要更新软件版本,或当商返机器需要升级软件版本时,打开整机后盖会是件较麻烦的事,也会影响生产效率。传统的做法一般是在方案中要么在MCU内部有ROM区域,内部Loader程序就处在其中,上电后先到相应的内部ROM区域运行,如果有升级请求则进入升级状态,如果没有请求则程序跳转到相应区域继续执行。其系统构成如图1所示。这种情况下只需上电后MCU去判定是否有升级请求,然后再与外部通过如I2C(或称IIC、I2C)一类的通讯方式获取新的程序,这种方式优点是安全可靠,即如果升级过程中遇到掉电等异常情况时,重新上电仍可进行软件的升级,不存在太大的风险,缺点是内部Loader部份的程序需要事先掩膜,成本会增加,另外如果内部程序若需要改动则需要重新掩膜,不仅周期长且费用继续升高。
技术实现思路
本专利技术所要解决的技术问题是,提供一种,能够通过外部计算机通过接口实现软件升级。本专利技术解决所述技术问题所采用的技术方案是,提供一种,包括以下步骤a.将升级程序载入外部SDRAM;b.将内部LOADER拷贝到MCU片内RAM;c.执行内部LOADER程序擦除FLASH原有内容,并从外部SDRAM拷贝升级程序到FLASH。在步骤a之前,先对现存的程序进行检测,确定是否需要升级,若需要则进入步骤a。所述步骤b由外部计算机控制完成。所述外部计算机通过IIC方式将新程序倒入SDRAM,并进行测试,若新程序不能正常运行,则取消升级操作。本专利技术的有益效果是,可以方便的实现软件升级,采用本专利技术的背投电视程序升级时无需打开机箱,无需打开机箱,具有可以降低硬件成本,可多次编程等优点,使得产品更具有竞争力。以下结合附图和具体实施方式对本专利技术作进一步说明。附图说明图1是现有技术示意图。图2是本专利技术的示意图。图3是本专利技术流程图。图4是本专利技术的转接电路示意图。具体实施例方式如图2,以背投电视为例,实现软件的升级,由外部LOADER通过转接器完成计算机和背投电视之间的通信,由内部LOADER完成MCU内的升级工作。如图3,程序升级包括以下步骤a.将升级程序载入外部SDRAM;b.将内部LOADER拷贝到MCU片内RAM;c.擦除FLASH原有内容,并从外部SDRAM复制升级程序到FLASH。在步骤a之前,先对现存的程序进行检测,确定是否需要升级,若需要则进入步骤a。在步骤a之前,读取现存的程序版本信息并显示。所述外部计算机通过IIC方式,经过MCU和解码器(DECODER)将新程序倒入SDRAM,然后在SDRAM中测试新程序,若新程序不能正常运行,则取消升级操作。外部Loader利用电脑并口(中断地址为0×378/0×379或0×278/0×279或0×3BC/0×3BD,以下以0×378为例)的输入输出功能,完成了I2C总线的SDA、SCL输出及SDA线路上的ACK反馈等,在电脑并口写地址0×378上,实际上为打印机设计的是8bit的并行方式输出,引脚为DSUB的Pin2~Pin9,由于IIC总线是串行方式,因此只用了8bit的BIT0和BIT1来作SDA和SCL,然后用了读地址0×379的Bit3和Bit4来反馈SDA和SCL总线上的高低电平状态,引脚为DSUB的Pin13和Pin14。电路原理图如图4所示。以下以TOSHIBA的MCU TC93CS45与ATMEL的FLASHAT49F040为例说明内部Loader的实现。要能实现在线升级,对整机硬件有一定的要求,存储MCU指令代码的IC必须能够多次写入,能通过MCU的指令进行擦除,更新等操作。因TOSHIBA的MCU无片内ROM,所有ROM都是外部的,存在FLASH(AT49F040)内,而FLASH的特点是只能由ERASE命令将“0”状态变为“1”状态,而ERASE命令是将AT49F040的全部空间清空,需要找到一个存储空间来存储当执行了ERASE命令后的LOADER程序。由于外部没有其它可供程序暂时运行的空间,而TMP93CS45系列MCU内部也无片内ROM,而MCU内部有2KBytes的RAM空间可能能供程序暂时运行。因此,本专利技术将LOADER程序放入2K的RAM空间来运行。图4为IIC到计算机之间的转接电路,其中,T1为与计算机并口连接的25P DSUB插头,T2为74LS05N,T3为三芯插头。具体实施步骤如下1、整机上电后遥控开机进入Loader模式,再进入I2C OFF状态,此时MCU的串行I2C总线停止工作,大概需时12秒左右;2、外部Loader程序通过I2C总线方式从MCU板上的I2C接口或主板上的I2C接口(需与DPTV相通),用PC将512K程序通过I2C方式倒入MCU,大概需时30秒左右(包括整个插线过程);3、结束后退出I2C OFF状态,即MCU恢复正常操作,此时内部Loader程序代码被搬移到RAM中,需要时间为微秒级;4、RAM中的内部Loader程序发出擦除命令;5、等待Polling位检测是否处于忙状态;6、指定要读数的首地址,并请求读数;7、读数并将程序写入FLASH,需时30秒左右。权利要求1.,其特征在于,包括以下步骤a.将需要升级的程序用外部LOADER载入外部SDRAM;b.将内部LOADER拷贝到MCU片内RAM;c.擦除FLASH原有内容,并从外部SDRAM拷贝升级程序到FLASH。2.如权利要求1所述的,其特征在于,在步骤a之前,先对现存的程序进行检测,确定是否需要升级,若需要则进入步骤a。3.如权利要求1所述的,其特征在于,在步骤a之前,读取现存的程序版本信息并显示。4.如权利要求1所述的,其特征在于,所述步骤a由外部计算机与MCU控制完成。5.如权利要求4所述的,其特征在于,所述外部计算机通过IIC方式将新程序倒入SDRAM。6.如权利要求5所述的,其特征在于,若新程序不能正常运行,则取消升级操作。全文摘要,涉及计算机技术,特别涉及单片机技术。本专利技术包括以下步骤a.将需要升级的程序用外部LOADER载入外部SDRAM;b.将内部LOADER拷贝到MCU片内RAM;c.擦除FLASH原有内容,并从外部SDRAM拷贝升级程序到FLASH。本专利技术的有益效果是,可以方便的实现软件升级,采用本专利技术的背投电视程序升级无需打开机箱,具有可以降低硬件成本,可多次编程等优点,使得产品更具有竞争力。文档编号G06F9/445GK1598772SQ200410040580公开日2005年3月23日 申请日期2004年8月31日 优先权日2004年8月31日专利技术者刘 东, 施薇 申请人:四川长虹电器股份有限公司 本文档来自技高网...

【技术保护点】
单片机程序升级方法,其特征在于,包括以下步骤:    a.将需要升级的程序用外部LOADER载入外部SDRAM;    b.将内部LOADER拷贝到MCU片内RAM;    c.擦除FLASH原有内容,并从外部SDRAM拷贝升级程序到FLASH。

【技术特征摘要】

【专利技术属性】
技术研发人员:刘东施薇
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:51[中国|四川]

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

1