CN114281383A - 一种程序升级方法 - Google Patents
一种程序升级方法 Download PDFInfo
- Publication number
- CN114281383A CN114281383A CN202111614586.7A CN202111614586A CN114281383A CN 114281383 A CN114281383 A CN 114281383A CN 202111614586 A CN202111614586 A CN 202111614586A CN 114281383 A CN114281383 A CN 114281383A
- Authority
- CN
- China
- Prior art keywords
- application
- upgrading
- area
- data
- program
- 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
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000012546 transfer Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 claims description 3
- 238000012795 verification Methods 0.000 abstract description 3
- 230000005540 biological transmission Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本申请提供一种程序升级方法,颠覆CPU程序升级的现有逻辑,使得只有数据正确时才在升级区进行升级,而其他情况均在应用区进行运行应用。主要包括步骤:S1,先向CPU的应用区(APP)中写入E2升级数据;S2,CPU进入升级区(BOOT),升级区读取应用区中的E2升级数据并进行判断校验,若有升级数据,则擦除应用区的应用程序并在升级区等待程序升级,若没有升级数据,则进入应用区进行运行应用。
Description
技术领域
本发明涉及CPU技术领域,更具体地,涉及一种程序升级方法。
背景技术
CPU(central processing unit,中央处理单元),它可以被简称为微处理器(Microprocessor),也经常被直接成为处理器(processor)。CPU是处理、运算数据的核心,控制着数据的交换。CPU包括升级区(BOOT)和应用区(APP),CPU进入升级区,升级区读取应用区中的flash数据,并判断校验应用区的程序是否正确,若正确则跳到应用区进行运行应用,若不正确则在升级区等待程序升级。但是,在刚上电或者断电重启时,电源不太稳定,容易误触发;或者在升级区(BOOT)读取APP中的flash数据时,由于flash数据很大,通常为64K或128K,容易校验出错,一旦校验出错就会误触发,导致在升级区等待程序升级。我们需要进行运行应用,只有当真正需要程序升级的时候才在升级区等待升级,而现有技术的实际情况是经常因为误触发等各种原因使得在升级区等待升级。
有鉴于此,本申请提供一种程序升级方法,颠覆CPU程序升级的现有逻辑,使得只有数据正确时才在升级区进行升级,而其他情况均在应用区进行运行应用。
发明内容
本发明的目的在于,提供一种程序升级方法,颠覆CPU程序升级的现有逻辑,使得只有数据正确时才在升级区进行升级,而其他情况均在应用区进行运行应用。
在现有技术中,CPU程序升级的逻辑是只有数据正确时才在应用区(APP)进行运行应用,而其他情况均在升级区(BOOT)等待程序升级。而本申请先在应用区中写入E2升级数据,然后升级区读取应用区中的E2升级数据并进行判断校验,若有升级数据,则擦除应用区的应用程序并在升级区等待程序升级,若没有升级数据,则进入应用区进行运行应用。CPU程序升级的逻辑颠覆,实现了只有数据正确时才在升级区进行升级,而其他情况均在应用区进行运行应用。本申请人在此基础上完成了本申请。
一种程序升级方法,所述方法包括步骤:
S1,先向CPU的应用区(APP)中写入E2升级数据;
S2,CPU进入升级区(BOOT),升级区读取应用区中的E2升级数据并进行判断校验,若有升级数据,则擦除应用区的应用程序并在升级区等待程序升级,若没有升级数据,则进入应用区进行运行应用。
在一些实施方式中,所述方法还包括步骤S3:程序升级成功后,清除应用区中的E2升级数据,并进行CPU的自动复位。
在一些实施方式中,CPU的应用区(APP)是应用执行运用环境,程序应用在此区域执行运行命令,完成相应工作指令。
在一些实施方式中,CPU的升级区(BOOT)是应用升级环境,在应用程序需要升级时,推送或拉取升级数据到该区域,应用在升级时将从应用区(APP)暂时停用,在升级区(BOOT)完成升级动作后,应用区(APP)再次启用应用。
进一步的,BOOT(bootloader)负责将串行或并行的flash数据或E2数据搬运至SDRAM,再将PC指针切换至SDRAM的映射地址。
在一些实施方式中,由于某些应用升级会需要重置运行环境参数,在此类应用程序升级时,为了保证CPU及相关应用程序正常运行工作,在应用程序完成升级后,同时擦除升级区(BOOT)的E2升级数据和执行CPU重启自动复位命令,从何完成执行环境初始化,应用区(APP)应用正常运行,升级区(BOOT)无E2升级数据。
在一些实施方式中,E2升级数据是特指升级命令发送时,带有E2特征的数据会被验证判定为升级数据,运行区间为升级区(BOOT),遇到该特征数据时,CPU会开始执行应用程序升级动作。
在一些实施方式中,CPU利用Xmodem协议或Ymodem协议进行传输,其中,XModem是一种在串口通信中广泛使用的异步文件传输协议,分为XModem和1k-XModem协议两种,前者使用128字节的数据块,后者使用1024字节即1k字节的数据块;Ymodem每包数据能够达到1024字节,是一个非常高效的文件传输协议。
具体实施方式
描述以下实施例以辅助对本申请的理解,实施例不是也不应当以任何方式解释为限制本申请的保护范围。
在以下描述中,本领域的技术人员将认识到,在本论述的全文中,组件可描述为单独的功能单元(可包括子单元),但是本领域的技术人员将认识到,各种组件或其部分可划分成单独组件,或者可整合在一起(包括整合在单个的系统或组件内)。
同时,组件或系统之间的连接并不旨在限于直接连接。相反,在这些组件之间的数据可由中间组件修改、重格式化、或以其它方式改变。另外,可使用另外或更少的连接。还应注意,术语“联接”、“连接”、或“输入”“固定”应理解为包括直接连接、通过一个或多个中间媒介来进行的间接的连接或固定。
实施例1:
一种程序升级方法,所述方法包括步骤:S1,先向CPU的应用区(APP)中写入E2升级数据;S2,CPU进入升级区(BOOT),升级区读取应用区中的E2升级数据并进行判断校验,若有升级数据,则擦除应用区的应用程序并在升级区等待程序升级,若没有升级数据,则进入应用区进行运行应用。所述方法还包括步骤S3:程序升级成功后,清除应用区中的E2升级数据,并进行CPU的自动复位。
CPU的应用区(APP)是应用执行运用环境,程序应用在此区域执行运行命令,完成相应工作指令。CPU的升级区(BOOT)是应用升级环境,在应用程序需要升级时,推送或拉取升级数据到该区域,应用在升级时将从应用区(APP)暂时停用,在升级区(BOOT)完成升级动作后,应用区(APP)再次启用应用。BOOT(bootloader)负责将串行或并行的flash数据或E2数据搬运至SDRAM,再将PC指针切换至SDRAM的映射地址。
由于某些应用升级会需要重置运行环境参数,在此类应用程序升级时,为了保证CPU及相关应用程序正常运行工作,在应用程序完成升级后,同时擦除升级区(BOOT)的E2升级数据和执行CPU重启自动复位命令,从何完成执行环境初始化,应用区(APP)应用正常运行,升级区(BOOT)无E2升级数据。E2升级数据是特指升级命令发送时,带有E2特征的数据会被验证判定为升级数据,运行区间为升级区(BOOT),遇到该特征数据时,CPU会开始执行应用程序升级动作。CPU利用Xmodem协议进行传输,其中,XModem是一种在串口通信中广泛使用的异步文件传输协议,分为XModem和1k-XModem协议两种,前者使用128字节的数据块,后者使用1024字节即1k字节的数据块。
尽管本申请已公开了多个方面和实施方式,但是其它方面和实施方式对本领域技术人员而言将是显而易见的,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。本申请公开的多个方面和实施方式仅用于举例说明,其并非旨在限制本申请,本申请的实际保护范围以权利要求为准。
Claims (7)
1.一种程序升级方法,其特征在于,所述方法包括步骤:
S1,先向CPU的应用区中写入E2升级数据;
S2,CPU进入升级区,升级区读取应用区中的E2升级数据并进行判断校验,若有升级数据,则擦除应用区的应用程序并在升级区等待程序升级,若没有升级数据,则进入应用区进行运行应用。
2.如权利要求1所述的程序升级方法,其特征在于,所述方法还包括步骤S3:程序升级成功后,清除应用区中的E2升级数据,并进行CPU的自动复位。
3.如权利要求1所述的程序升级方法,其特征在于,CPU的应用区是应用执行运用环境,程序应用在此区域执行运行命令,完成相应工作指令。
4.如权利要求1所述的程序升级方法,其特征在于,CPU的升级区是应用升级环境,在应用程序需要升级时,推送或拉取升级数据到该区域,应用在升级时将从应用区暂时停用,在升级区完成升级动作后,应用区再次启用应用。
5.如权利要求1所述的程序升级方法,其特征在于,由于某些应用升级会需要重置运行环境参数,在此类应用程序升级时,为了保证CPU及相关应用程序正常运行工作,在应用程序完成升级后,同时擦除升级区的E2升级数据和执行CPU重启自动复位命令,从何完成执行环境初始化,应用区应用正常运行,升级区无E2升级数据。
6.如权利要求1所述的程序升级方法,其特征在于,E2升级数据是指升级命令发送时,带有E2特征的数据会被验证判定为升级数据,运行区间为升级区,遇到该特征数据时,CPU会开始执行应用程序升级动作。
7.如权利要求1所述的程序升级方法,其特征在于,CPU利用Xmodem协议或Ymodem协议进行传输,其中,XModem是一种在串口通信中广泛使用的异步文件传输协议,分为XModem和1k-XModem协议两种,前者使用128字节的数据块,后者使用1024字节即1k字节的数据块;Ymodem每包数据能够达到1024字节,是一个非常高效的文件传输协议。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111614586.7A CN114281383A (zh) | 2021-12-27 | 2021-12-27 | 一种程序升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111614586.7A CN114281383A (zh) | 2021-12-27 | 2021-12-27 | 一种程序升级方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114281383A true CN114281383A (zh) | 2022-04-05 |
Family
ID=80876164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111614586.7A Pending CN114281383A (zh) | 2021-12-27 | 2021-12-27 | 一种程序升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114281383A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106227572A (zh) * | 2016-08-30 | 2016-12-14 | 深圳市蓝海华腾技术股份有限公司 | 一种变频器控制系统程序升级方法 |
CN106843943A (zh) * | 2017-01-03 | 2017-06-13 | 恒鸿达信息技术有限公司 | 一种stm32微处理器程序架构设计方法 |
CN110231952A (zh) * | 2019-06-17 | 2019-09-13 | 合肥巨一动力系统有限公司 | 一种ecu程序备份及循环升级控制方法及装置 |
CN113127035A (zh) * | 2021-04-15 | 2021-07-16 | 沃太能源股份有限公司 | 一种基于单片机的可回溯的升级方法 |
-
2021
- 2021-12-27 CN CN202111614586.7A patent/CN114281383A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106227572A (zh) * | 2016-08-30 | 2016-12-14 | 深圳市蓝海华腾技术股份有限公司 | 一种变频器控制系统程序升级方法 |
CN106843943A (zh) * | 2017-01-03 | 2017-06-13 | 恒鸿达信息技术有限公司 | 一种stm32微处理器程序架构设计方法 |
CN110231952A (zh) * | 2019-06-17 | 2019-09-13 | 合肥巨一动力系统有限公司 | 一种ecu程序备份及循环升级控制方法及装置 |
CN113127035A (zh) * | 2021-04-15 | 2021-07-16 | 沃太能源股份有限公司 | 一种基于单片机的可回溯的升级方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9052916B2 (en) | System ROM with an embedded disk image | |
US10120694B2 (en) | Embedded system boot from a storage device | |
US7313685B2 (en) | Unattended BIOS recovery | |
CN101329632B (zh) | 一种使用boot启动cpu的方法与装置 | |
US7562360B2 (en) | Method and system for firmware downloads | |
CN102945173B (zh) | 用户程序在线升级系统和升级方法 | |
CN109960523B (zh) | 一种嵌入式设备的固件升级方法及装置 | |
CN100570558C (zh) | 一种芯片固件升级方法 | |
KR101211503B1 (ko) | 부팅 시스템, 그 시스템을 구비한 화상형성장치 및 그제어방법 | |
US9514070B2 (en) | Debug control circuit | |
CN107567629B (zh) | 在可信执行环境容器中的动态固件模块加载器 | |
WO2021136200A1 (zh) | 引导程序的加载方法、存储介质及嵌入式终端 | |
US9411605B2 (en) | Device-less and system agnostic unified extensible firmware interface (UEFI) driver | |
JP2009252194A (ja) | データ処理装置、ハードウェアアクセス方法、及びハードウェアアクセスプログラム | |
JP4052265B2 (ja) | 情報処理装置とデバイスドライバのロード方法並びにプログラム | |
CN114860279A (zh) | 一种快速空片升级方法 | |
CN113656076A (zh) | 一种基于硬件复用通道的bios启动方法及装置 | |
US20090006835A1 (en) | Electronic device and control method thereof | |
US7360074B2 (en) | Method for remote flashing of a bios memory in a data processing system | |
US6751569B2 (en) | System and method for receiving information from a test apparatus | |
US6973564B2 (en) | Automatically initiating a manufacturing mode of a system firmware | |
CN114281383A (zh) | 一种程序升级方法 | |
CN116627472A (zh) | 高速外围组件设备的固件程序升级方法及服务器 | |
US20030217222A1 (en) | Calibration method implementing segmented flash memeory and RAM overlay | |
US8230198B2 (en) | System for synchronous code retrieval from an asynchronous source |
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 |