CN1294489C - 单片机程序升级方法 - Google Patents
单片机程序升级方法 Download PDFInfo
- Publication number
- CN1294489C CN1294489C CNB2004100405803A CN200410040580A CN1294489C CN 1294489 C CN1294489 C CN 1294489C CN B2004100405803 A CNB2004100405803 A CN B2004100405803A CN 200410040580 A CN200410040580 A CN 200410040580A CN 1294489 C CN1294489 C CN 1294489C
- Authority
- CN
- China
- Prior art keywords
- single chip
- program
- scm
- need
- chip microcomputer
- 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.)
- Expired - Fee Related
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利用电脑并口(中断地址为0x378/0x379或0x278/0x279或0x3BC/0x3BD,以下以0x378为例)的输入输出功能,完成了I2C总线的SDA、SCL输出及SDA线路上的ACK反馈等,在电脑并口写地址0x378上,实际上为打印机设计的是8bit的并行方式输出,引脚为DSUB的Pin2~Pin9,由于IIC总线是串行方式,因此只用了8bit的BIT0和BIT1来作SDA和SCL,然后用了读地址0x379的Bit3和Bit4来反馈SDA和SCL总线上的高低电平状态,引脚为DSUB的Pin13和Pin14。电路原理图如图4所示。
以下以TOSHIBA的MCU TMP93CS45与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 CN1598772A (zh) | 2005-03-23 |
CN1294489C true 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) |
Families Citing this family (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 | 海尔集团公司 | 单片机及其在线升级方法和在线升级装置 |
CN104200181B (zh) * | 2014-08-13 | 2017-04-05 | 上海无线电设备研究所 | 一种双功能智能烧写模块及方法 |
CN109542532A (zh) * | 2018-10-29 | 2019-03-29 | 中国科学院西安光学精密机械研究所 | 一种从fpga配置芯片向单片机进行程序加载的方法 |
CN112764379B (zh) * | 2021-01-18 | 2022-05-03 | 四川长虹电器股份有限公司 | 一种基于dsp系统的iap控制方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6205513B1 (en) * | 1996-08-22 | 2001-03-20 | Schneider Automation | System and process for load an operating system of an information processing device |
CN1430142A (zh) * | 2001-12-29 | 2003-07-16 | 深圳市中兴通讯股份有限公司上海第二研究所 | 在通信系统中利用单片机实现软件下载的装置及其方法 |
US6604235B1 (en) * | 1999-01-06 | 2003-08-05 | Icebox, Llc | Operating system upgrading |
-
2004
- 2004-08-31 CN CNB2004100405803A patent/CN1294489C/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6205513B1 (en) * | 1996-08-22 | 2001-03-20 | Schneider Automation | System and process for load an operating system of an information processing device |
US6604235B1 (en) * | 1999-01-06 | 2003-08-05 | Icebox, Llc | Operating system upgrading |
CN1430142A (zh) * | 2001-12-29 | 2003-07-16 | 深圳市中兴通讯股份有限公司上海第二研究所 | 在通信系统中利用单片机实现软件下载的装置及其方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1598772A (zh) | 2005-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100383737C (zh) | 单片机在线加载升级方法及系统 | |
CN101414264B (zh) | 一种软件版本的更新方法 | |
CN101295255B (zh) | 固件更新系统及方法 | |
CN101038563A (zh) | 一种通过网络远程自动恢复cmos数据的方法和装置 | |
CN1294489C (zh) | 单片机程序升级方法 | |
CN102063320A (zh) | 工作模式切换方法、usb设备和主机设备 | |
CN1185579C (zh) | 系统关机时及待机状态以串行口进行排错的方法 | |
CN102446141B (zh) | 用于实现写保护控制的装置和方法 | |
CN101634960A (zh) | 一种修改bios参数及重新生成校验和的方法 | |
CN109582341A (zh) | 一种机车信号车载系统设备的主机系统及其程序变更方法 | |
CN101166229A (zh) | 一种电视软件更新的方法 | |
CN106708586A (zh) | 一种用于嵌入式系统程序自动在线更新的手持式仪器及方法 | |
CN110727255B (zh) | 一种整车控制器软件升级测试系统及车辆 | |
CN107315607B (zh) | 一种驱动自适应加载系统 | |
CN107748670A (zh) | 电动汽车直流充电模块控制器程序在线升级系统 | |
CN1199108C (zh) | 使用cf卡自动更新嵌入式设备操作系统的方法 | |
CN101178660A (zh) | 存储器数据自动更新方法 | |
CN102508676A (zh) | 嵌入式系统启动方法及装置 | |
CN101001167A (zh) | 在智能平台管理接口动态设定管理功能的方法 | |
CN101615127A (zh) | 一种基于策略的操作系统自动安装方法 | |
CN201869296U (zh) | 一种电视机 | |
CN103617063A (zh) | 一种移动终端的软件更新方法和装置 | |
CN100514293C (zh) | 韧体更新方法 | |
CN1273903C (zh) | 通用串行总线多功能转接控制器 | |
CN102929647B (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 |