CN107678765A - 一种基于c8051f系列单片机的在线升级方法 - Google Patents
一种基于c8051f系列单片机的在线升级方法 Download PDFInfo
- Publication number
- CN107678765A CN107678765A CN201710947206.9A CN201710947206A CN107678765A CN 107678765 A CN107678765 A CN 107678765A CN 201710947206 A CN201710947206 A CN 201710947206A CN 107678765 A CN107678765 A CN 107678765A
- Authority
- CN
- China
- Prior art keywords
- cpu
- upgrading
- instruction
- information
- sent
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于C8051F系列单片机的在线升级方法,包括上位机升级软件和单片机升级引导软件,上位机升级软件负责读取、解析可执行文件,并通过UART串行总线与单片机进行通信,将数据打包后传输给单片机升级引导软件;单片机升级引导软件主要负责升级状态的判断,可执行文件数据的接收、校验、存储,并将操作结果反馈给上位机。本发明的方法可以在无需拆卸设备的情况下通过常用的UART串行总线完成C8051F系统单片机的程序更新,接口简单,软件硬件实现复杂度低,为C8051F系统单片机系统的在线升级提供了一种简洁有效的方法。
Description
技术领域
本发明涉及一种基于C8051F系列单片机的在线升级方法。
背景技术
C8051F系列单片机在进行程序更新通常用两种方法:(1)通过仿真器直接将程序仿真下载到单片机内部FLASH中运行;(2)通过专用烧录器在单片机焊接前将程序烧录到单片机内部FLASH中。方法(1)适用于产品研制阶段,该阶段需要对程序功能进行验证修改;方法(2)适用于定型后阶段,该阶段程序已经固化,为提高生产效率在贴片前固化程序。方法(1)、(2)未能解决产品交付后,用户变更需求后的程序变更升级的方法,而通过方法(1)、(2)均需要对产品进行拆卸,这两种方法均费时费力、程序更新成本较高。
发明内容
本发明的目的是根据上述现有技术的不足之处,提供一种能够适用于C8051F系列单片机的在线升级方法。本发明在无需拆卸设备的情况下通过常用的UART串行总线完成C8051F系统单片机的程序更新,接口简单,软件硬件实现复杂度低,为C8051F系统单片机系统的在线升级提供了一种简洁有效的方法。
本发明是主要由两部分软件方法构成:(1)上位机升级软件、(2)单片机升级引导软件。其中上位机升级软件负责读取、解析HEX格式可执行文件,并通过UART串行总线与单片机进行通信,将数据打包后传输给单片机升级引导软件;单片机升级引导软件主要负责升级状态的判断,可执行HEX文件数据的接收、校验、存储,并将操作结果反馈给上位机。
一种其于C8051F系列单片机的在线升级方法,其特征在于,包括如下步骤:
步骤一:上位机升级软件读取可执行文件,同时打开所选择通信端口,等待C8051F系列单片机的中央处理器CPU在线升级通信连接指令;
步骤二:CPU上电后启动,首先运行升级引导程序,发送建立升级通信连接请求命令给上位机,若接收到上位机反馈的确认建立升级通信连接命令,则转至步骤三,否则转至步骤十;
步骤三:CPU请求上传特征信息,当CPU接收到允许上传特征信息的指令后,将特征信息传送至上位机升级软件;
步骤四:上位机升级软件接收到特征信息后,对特征信息进行判别,与可执行文件中的特征信息一致时,发送信息确认指令,使能升级按钮;
步骤五:用户触发确认升级按钮,发送命令开始升级;
步骤六:CPU获取发送获取页信息请求指令,上位机升级软件接收到该指令后判断是否还存在未发送的页数据,若存在则发送页数据的存储地址信息,若无则发送升级结束指令;CPU对反馈的页信息进行判断,若为页地址信息则跳转到步骤七,否则转至步骤十;
步骤七:CPU发送请求页擦除命令给上位机,在接收到上位机反馈的擦允许指令后对内部Flash进行擦除操作;
步骤八:擦除成功后CPU发送获取页数据请求指令给上位机,上位机将一页数据打包后发送给CPU;
步骤九:CPU对接收到的页数据进行校验,若校验成功,则将该页数据写入到内部Flash中,操作完成对写入的数据进行写正确校验,校验正确后转至步骤六;
步骤十:通过绝对指地址跳转方式,将程序跳转至应用代码区,运行应用程序。
可执行文件为HEX格式可执行文件。
特征信息包括:CPU类型、当前程序版本和应用代码程序地址。
特征信息位于CPU内部的Flash特征信息区。
CPU对接收到的页数据进行校验时,校验方式采用CRC校验。
上述CPU即C8051F系列单片机的中央处理器。
上位机升级软件通过UART串行总线与单片机进行通信。
本发明所达到的有益效果:
本发明提供一种能够适用于C8051F系列单片机的在线升级方法,可以在无需拆卸设备的情况下通过常用的UART串行总线完成C8051F系统单片机的程序更新,接口简单,软件硬件实现复杂度低,为C8051F系统单片机系统的在线升级提供了一种简洁有效的方法。
附图说明
图1为上位机升级软件图;
图2 为CPU内部Flash存储分布图;
图3 为程序升级流程图;
图4 为程序升级步骤图;
图5 为程序过程所使用的技术指标;
图中:1、上位机UART串行端口配置区;2、可执行文件HEX选择按钮;3、用户确认升级按钮;4、信息提示清空按钮;5、升级进度条;6、升级提示信息。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
结合图4,本发明的升级步骤如下:
步骤一:如图1所示,上位机升级软件界面包括上位机UART串行端口配置区1、可执行文件HEX选择按钮2、用户确认升级按钮3、信息提示清空按钮4、升级进度条5、升级提示信息6。用户首先选择可执行HEX文件,选择操作端口品并打开,根据信息提示,可判断操作结果,并等待用户给产品上电;
步骤二:用户给产品上电,上电后首先执行升级引导代码,如图3所示的流程图,在接收到上位机反馈的通信确认命令后转至步骤三;
步骤三:CPU请求上传特征信息,该信息位于图2所示的Flash特征信息区,包括:CPU类型、当前程序版本、应用代码程序地址,如图5所示。当CPU接收到允许上传指令后,将信息传送至上位机;
步骤四:上位机接收到特征信息后,对特征信息进行判别,确保与可执行文件中的特征信息一致,并发送信息确认指令,使能图1所示的确认升级按钮;
步骤五:用户点击确认升级按钮,发送命令开始升级;
步骤六:CPU获取发送获取页信息请求指令,上位机升级软件接收到该指令后判断是否还存在未发送的页数据,若存在则发送页数据的存储地址信息,若无则发送升级结束指令;CPU对反馈的页信息进行判断,若为页地址信息则跳转到步骤七,否则转至步骤十。
步骤七:CPU发送请求页擦除命令,在接收到升级上位机反馈的擦允许指令后才能对内部Flash进行擦除操作,同时擦除后要进行擦空校验;
步骤八:擦除成功后CPU发送获取页数据请求指令,上位机将一页数据打包后发送给CPU;
步骤九:CPU对接收到的页数据进行校验,校验方式采用CRC校验,若校验成功,则将该页数据写入到内部Flash中,操作完成需要对写入的数据进行写正确校验,校验正确后转至步骤六。
步骤十:通过绝对指地址跳转方式,将程序跳转至应用代码区,运行应用程序。
上述只为说明本发明的操作过程,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。
Claims (6)
1.一种基于C8051F系列单片机的在线升级方法,其特征是,包括如下步骤:
步骤一:上位机升级软件读取可执行文件,同时打开所选择通信端口,等待C8051F系列单片机的中央处理器CPU在线升级通信连接指令;
步骤二:CPU上电后启动,首先运行升级引导程序,发送建立升级通信连接请求命令给上位机,若接收到上位机反馈的确认建立升级通信连接命令,则转至步骤三,否则转至步骤十;
步骤三:CPU请求上传特征信息,当CPU接收到允许上传特征信息的指令后,将特征信息传送至上位机升级软件;
步骤四:上位机升级软件接收到特征信息后,对特征信息进行判别,与可执行文件中的特征信息一致时,发送信息确认指令,使能升级按钮;
步骤五:用户触发确认升级按钮,发送命令开始升级;
步骤六:CPU获取发送获取页信息请求指令,上位机升级软件接收到该指令后判断是否还存在未发送的页数据,若存在则发送页数据的存储地址信息,若无则发送升级结束指令;CPU对反馈的页信息进行判断,若为页地址信息则跳转到步骤七,否则转至步骤十;
步骤七:CPU发送请求页擦除命令给上位机,在接收到上位机反馈的擦允许指令后对内部Flash进行擦除操作;
步骤八:擦除成功后CPU发送获取页数据请求指令给上位机,上位机将一页数据打包后发送给CPU;
步骤九:CPU对接收到的页数据进行校验,若校验成功,则将该页数据写入到内部Flash中,操作完成对写入的数据进行写正确校验,校验正确后转至步骤六;
步骤十:通过绝对指地址跳转方式,将程序跳转至应用代码区,运行应用程序。
2.根据权利要求1所述的一种基于C8051F系列单片机的在线升级方法,其特征是,可执行文件为HEX格式可执行文件。
3.根据权利要求1所述的一种基于C8051F系列单片机的在线升级方法,其特征是,特征信息包括:CPU类型、当前程序版本和应用代码程序地址。
4.根据权利要求1或3所述的一种基于C8051F系列单片机的在线升级方法,其特征是,特征信息位于CPU内部的Flash特征信息区。
5.根据权利要求1所述的一种基于C8051F系列单片机的在线升级方法,其特征是,CPU对接收到的页数据进行校验时,校验方式采用CRC校验。
6.根据权利要求1所述的一种基于C8051F系列单片机的在线升级方法,其特征是,上位机升级软件通过UART串行总线与单片机进行通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710947206.9A CN107678765A (zh) | 2017-10-12 | 2017-10-12 | 一种基于c8051f系列单片机的在线升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710947206.9A CN107678765A (zh) | 2017-10-12 | 2017-10-12 | 一种基于c8051f系列单片机的在线升级方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107678765A true CN107678765A (zh) | 2018-02-09 |
Family
ID=61140469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710947206.9A Pending CN107678765A (zh) | 2017-10-12 | 2017-10-12 | 一种基于c8051f系列单片机的在线升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107678765A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109358887A (zh) * | 2018-12-17 | 2019-02-19 | 武汉精立电子技术有限公司 | 一种单片机程序的在线升级方法、装置及系统 |
CN110647339A (zh) * | 2019-09-19 | 2020-01-03 | 中国兵器工业集团第二一四研究所苏州研发中心 | 一种嵌入式产品软件在线升级方法 |
CN110941445A (zh) * | 2019-11-30 | 2020-03-31 | 航天科技控股集团股份有限公司 | 一种双芯片系统仪表单片机升级的方法 |
CN111008010A (zh) * | 2019-11-14 | 2020-04-14 | 天津航空机电有限公司 | 一种基于rs485总线的单片机应用软件在线编程方法及装置 |
CN113849212A (zh) * | 2021-09-30 | 2021-12-28 | 蜂巢能源科技有限公司 | 一种软件升级控制方法、装置及电子设备 |
CN114546453A (zh) * | 2022-04-27 | 2022-05-27 | 成都凯天电子股份有限公司 | Fpga配置项在线升级方法、系统、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103763351A (zh) * | 2014-01-03 | 2014-04-30 | 中达电通股份有限公司 | 基于上位机与下位机的软件在线升级方法 |
CN105302612A (zh) * | 2015-11-18 | 2016-02-03 | 西南技术物理研究所 | 快速升级电子系统机箱内单片机软件程序的方法 |
CN106897088A (zh) * | 2017-01-19 | 2017-06-27 | 深圳市沃特玛电池有限公司 | 软件升级系统及软件升级方法 |
-
2017
- 2017-10-12 CN CN201710947206.9A patent/CN107678765A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103763351A (zh) * | 2014-01-03 | 2014-04-30 | 中达电通股份有限公司 | 基于上位机与下位机的软件在线升级方法 |
CN105302612A (zh) * | 2015-11-18 | 2016-02-03 | 西南技术物理研究所 | 快速升级电子系统机箱内单片机软件程序的方法 |
CN106897088A (zh) * | 2017-01-19 | 2017-06-27 | 深圳市沃特玛电池有限公司 | 软件升级系统及软件升级方法 |
Non-Patent Citations (1)
Title |
---|
杨光海,彭文渊等: "利用RS422串口实现微控制器程序在线升级的方法", 《电子世界》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109358887A (zh) * | 2018-12-17 | 2019-02-19 | 武汉精立电子技术有限公司 | 一种单片机程序的在线升级方法、装置及系统 |
CN109358887B (zh) * | 2018-12-17 | 2021-10-22 | 武汉精立电子技术有限公司 | 一种单片机程序的在线升级方法、装置及系统 |
CN110647339A (zh) * | 2019-09-19 | 2020-01-03 | 中国兵器工业集团第二一四研究所苏州研发中心 | 一种嵌入式产品软件在线升级方法 |
CN111008010A (zh) * | 2019-11-14 | 2020-04-14 | 天津航空机电有限公司 | 一种基于rs485总线的单片机应用软件在线编程方法及装置 |
CN110941445A (zh) * | 2019-11-30 | 2020-03-31 | 航天科技控股集团股份有限公司 | 一种双芯片系统仪表单片机升级的方法 |
CN113849212A (zh) * | 2021-09-30 | 2021-12-28 | 蜂巢能源科技有限公司 | 一种软件升级控制方法、装置及电子设备 |
CN113849212B (zh) * | 2021-09-30 | 2024-05-14 | 蜂巢能源科技有限公司 | 一种软件升级控制方法、装置及电子设备 |
CN114546453A (zh) * | 2022-04-27 | 2022-05-27 | 成都凯天电子股份有限公司 | Fpga配置项在线升级方法、系统、设备及存储介质 |
CN114546453B (zh) * | 2022-04-27 | 2022-09-09 | 成都凯天电子股份有限公司 | Fpga配置项在线升级方法、系统、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107678765A (zh) | 一种基于c8051f系列单片机的在线升级方法 | |
CN104102518B (zh) | 一种双cpu系统及其程序升级方法 | |
CN109189445B (zh) | 一种物联网设备程序升级的方法 | |
CN104407878B (zh) | C6000数字信号处理器在线升级方法 | |
CN109358887B (zh) | 一种单片机程序的在线升级方法、装置及系统 | |
CN110187909B (zh) | 一种基于安卓系统的单片机固件升级方法 | |
CN104156237B (zh) | 单片机的在线升级方法 | |
CN105045626A (zh) | 程序的烧录方法、烧录设备和控制器 | |
CN106227572A (zh) | 一种变频器控制系统程序升级方法 | |
CN109614126B (zh) | 一种嵌入式系统在线程序升级方法及装置 | |
CN109284117A (zh) | 基于闪存微控制器的固件升级方法和系统及闪存微控制器 | |
CN106897090B (zh) | 一种嵌入式设备程序升级方法及系统 | |
KR20100041447A (ko) | 테스트 자동화 장치 및 테스트 자동화 방법 | |
CN109842523A (zh) | 一种固件升级方法、装置、设备及存储介质 | |
CN101216773A (zh) | 一种嵌入式Linux系统固件下载方法和装置 | |
CN102945173A (zh) | 用户程序在线升级系统和升级方法 | |
CN105677398A (zh) | 一种通用的嵌入式计算机软件在线升级方法 | |
CN108108193A (zh) | 一种安全易用的固件升级方法及系统 | |
CN112152846B (zh) | 一种基于物联网的计量仪表远程升级方法 | |
CN107908417A (zh) | 固件升级方法及电子设备 | |
CN105487890A (zh) | 一种基于c51系列单片机内核的固件下载方法 | |
CN101344853A (zh) | 用于空中编程的系统和方法 | |
CN103677943A (zh) | 一种缝纫机控制器软件升级方法 | |
CN111679839B (zh) | 一种mcu flash的在线烧写方法 | |
CN106789210A (zh) | 一种基于can总线的多dsp智能节点软件在线升级方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180209 |