CN1598772A - 单片机程序升级方法 - Google Patents
单片机程序升级方法 Download PDFInfo
- Publication number
- CN1598772A CN1598772A CN 200410040580 CN200410040580A CN1598772A CN 1598772 A CN1598772 A CN 1598772A CN 200410040580 CN200410040580 CN 200410040580 CN 200410040580 A CN200410040580 A CN 200410040580A CN 1598772 A CN1598772 A CN 1598772A
- Authority
- CN
- China
- Prior art keywords
- program
- single chip
- scm
- chip microcomputer
- outside
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
单片机程序升级方法,涉及计算机技术,特别涉及单片机技术。本发明包括以下步骤:a.将需要升级的程序用外部LOADER载入外部SDRAM;b.将内部LOADER拷贝到MCU片内RAM;c.擦除FLASH原有内容,并从外部SDRAM拷贝升级程序到FLASH。本发明的有益效果是,可以方便的实现软件升级,采用本发明的背投电视程序升级无需打开机箱,具有可以降低硬件成本,可多次编程等优点,使得产品更具有竞争力。
Description
技术领域
本发明涉及计算机技术,特别涉及单片机技术。
背景技术
目前电器产品中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秒左右。
Claims (6)
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所述的单片机程序升级方法,其特征在于,若新程序不能正常运行,则取消升级操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100405803A CN1294489C (zh) | 2004-08-31 | 2004-08-31 | 单片机程序升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100405803A CN1294489C (zh) | 2004-08-31 | 2004-08-31 | 单片机程序升级方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1598772A true CN1598772A (zh) | 2005-03-23 |
CN1294489C CN1294489C (zh) | 2007-01-10 |
Family
ID=34664723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100405803A Expired - Fee Related CN1294489C (zh) | 2004-08-31 | 2004-08-31 | 单片机程序升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1294489C (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100368995C (zh) * | 2006-01-17 | 2008-02-13 | 华为技术有限公司 | 一种单片机***在运行中升级的装置和方法 |
CN100370423C (zh) * | 2006-04-12 | 2008-02-20 | 华为技术有限公司 | 一种51单片机在***升级方法及*** |
CN102063318A (zh) * | 2010-12-22 | 2011-05-18 | Tcl通力电子(惠州)有限公司 | 一种供电mcu的升级方法 |
CN103809995A (zh) * | 2012-11-15 | 2014-05-21 | 海尔集团公司 | 单片机及其在线升级方法和在线升级装置 |
CN104200181A (zh) * | 2014-08-13 | 2014-12-10 | 上海无线电设备研究所 | 一种双功能智能烧写模块及方法 |
CN109542532A (zh) * | 2018-10-29 | 2019-03-29 | 中国科学院西安光学精密机械研究所 | 一种从fpga配置芯片向单片机进行程序加载的方法 |
CN112764379A (zh) * | 2021-01-18 | 2021-05-07 | 四川长虹电器股份有限公司 | 一种基于dsp***的iap控制方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2752631B1 (fr) * | 1996-08-22 | 1999-01-22 | Schneider Automation | Procede de chargement d'un systeme d'exploitation |
US6604235B1 (en) * | 1999-01-06 | 2003-08-05 | Icebox, Llc | Operating system upgrading |
CN100426220C (zh) * | 2001-12-29 | 2008-10-15 | 中兴通讯股份有限公司 | 在通信***中利用单片机实现软件下载的装置及其方法 |
-
2004
- 2004-08-31 CN CNB2004100405803A patent/CN1294489C/zh not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100368995C (zh) * | 2006-01-17 | 2008-02-13 | 华为技术有限公司 | 一种单片机***在运行中升级的装置和方法 |
CN100370423C (zh) * | 2006-04-12 | 2008-02-20 | 华为技术有限公司 | 一种51单片机在***升级方法及*** |
CN102063318A (zh) * | 2010-12-22 | 2011-05-18 | Tcl通力电子(惠州)有限公司 | 一种供电mcu的升级方法 |
CN103809995A (zh) * | 2012-11-15 | 2014-05-21 | 海尔集团公司 | 单片机及其在线升级方法和在线升级装置 |
CN104200181A (zh) * | 2014-08-13 | 2014-12-10 | 上海无线电设备研究所 | 一种双功能智能烧写模块及方法 |
CN104200181B (zh) * | 2014-08-13 | 2017-04-05 | 上海无线电设备研究所 | 一种双功能智能烧写模块及方法 |
CN109542532A (zh) * | 2018-10-29 | 2019-03-29 | 中国科学院西安光学精密机械研究所 | 一种从fpga配置芯片向单片机进行程序加载的方法 |
CN112764379A (zh) * | 2021-01-18 | 2021-05-07 | 四川长虹电器股份有限公司 | 一种基于dsp***的iap控制方法 |
CN112764379B (zh) * | 2021-01-18 | 2022-05-03 | 四川长虹电器股份有限公司 | 一种基于dsp***的iap控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1294489C (zh) | 2007-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100383737C (zh) | 单片机在线加载升级方法及*** | |
CN103049405B (zh) | 一种安卓设备文件的管理方法和*** | |
CN103246534B (zh) | 操作***迁移方法及装置 | |
CN106569839B (zh) | 电路板及其固件烧录方法 | |
CN102063320A (zh) | 工作模式切换方法、usb设备和主机设备 | |
CN101634960A (zh) | 一种修改bios参数及重新生成校验和的方法 | |
CN1185579C (zh) | ***关机时及待机状态以串行口进行排错的方法 | |
CN1294489C (zh) | 单片机程序升级方法 | |
CN1979438A (zh) | 计算机主板开关机测试***及方法 | |
CN103019797A (zh) | 一种通过usb接口升级广告机终端固件的方法 | |
CN102446141B (zh) | 用于实现写保护控制的装置和方法 | |
CN101625644B (zh) | 闪存芯片操作方法、在线仿真器和闪存芯片操作*** | |
CN1873632A (zh) | 热插拔的***装置识别***及其方法 | |
CN1199108C (zh) | 使用cf卡自动更新嵌入式设备操作***的方法 | |
CN100531048C (zh) | 在智能平台管理接口动态设定管理功能的方法 | |
CN101615127B (zh) | 一种基于策略的操作***自动安装方法 | |
CN100578477C (zh) | 一种实现复合设备正常工作的方法及*** | |
CN102135896B (zh) | 一种基于嵌入式***实现软件升级的方法和*** | |
CN102147739A (zh) | 多主机板服务器***及其网络驱动方法 | |
CN113377404B (zh) | 一种新能源车域控制器安全监控芯片程序更新方法及*** | |
CN112988465A (zh) | 一种单片机升级失败自动恢复运行的方法 | |
CN1291314C (zh) | 储存装置控制器驱动程序安装方法与*** | |
CN114661326B (zh) | 一种多处理器嵌入式***软件快速更新方法 | |
CN111506332A (zh) | 可被远程控制的数据储存装置及远程控制*** | |
CN1180869A (zh) | 控制具有热切换功能的计算机***的设备和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070110 Termination date: 20170831 |
|
CF01 | Termination of patent right due to non-payment of annual fee |