CN112269589A - Bootloader在线刷写方法 - Google Patents
Bootloader在线刷写方法 Download PDFInfo
- Publication number
- CN112269589A CN112269589A CN202011107005.6A CN202011107005A CN112269589A CN 112269589 A CN112269589 A CN 112269589A CN 202011107005 A CN202011107005 A CN 202011107005A CN 112269589 A CN112269589 A CN 112269589A
- Authority
- CN
- China
- Prior art keywords
- flash
- bootloader
- online
- application
- address space
- 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
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
- G06F8/656—Updates while running
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
本发明公开了一种Bootloader在线刷写方法,包括以下步骤:制作在线刷写应用数据;将在线刷写应用数据刷写到产品中的flash的应用地址空间中;在PC上的上位机和在线刷写应用的通讯协议控制下,在线刷写应用调用Flashdriver擦除产品中位于bootloader地址空间中的原bootloader数据,擦除完成后,微控制器中flash地址空间分布,将新bootloader数据下载到微控制器RAM空间中后,在线刷写应用调用Flash driver将新bootloader数据刷写到产品中bootloader的地址空间中去,刷写完成后,微控制器中flash地址空间分布。本发明不用拆机,不用断电,利用已有的上位机在线刷写bootloader,刷写迅速,减少了刷写时间,提高了工作效率。
Description
技术领域
本发明涉及测速技术领域,具体涉及一种自适应MT过渡测速方法。
背景技术
目前,大多数的产品的bootloader是在产线上用上位机刷写后再也不能更新了。随着后期的需求变更,产品的bootloader功能也随着扩展了。但是如果控制器不支持bootloader在线自编程的话,bootloader的重新刷写将需要产品断电退出运行,拆机,将控制器硬件电路通过物理线路配置为BOOT模式后才能刷写bootloader。需要耗费大量的人力和时间成本,工作效率低。
发明内容
本发明的目的在于提供一种自适应MT过渡测速方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种bootloader在线刷写方法,包括以下步骤:
A)、复制一个完整的bootloader工程,删除该bootloader工程中的脚本文件,复制产品的应用软件工程中的脚本文件到bootloader中,修改bootloader工程源码中的地址配置,使其和脚本文件配置一致,删除源码中当接收到PC上的上位机刷写应用指令后的复位操作,然后将该bootloader工程改名为在线刷写应用工程,编译链接该在线刷写应用工程,最后生成在线刷写应用数据;
B)、利用产品中的原bootloader和PC机上的上位机将在线刷写应用刷写到产品中的flash的应用地址空间中,完成本步骤后Flash地址空间分布(如图1的3);
C)、在PC上的上位机和在线刷写应用的通讯协议控制下,在线刷写应用调用Flashdriver擦除产品中位于bootloader地址空间中的原bootloader数据,擦除完成后,微控制器中flash地址空间分布(如图1的4);
D)、通过PC上的上位机和在线刷写应用之间的通讯协议将新bootloader数据下载到微控制器RAM空间中,后在线刷写应用调用Flash driver将新bootloader数据刷写到产品中bootloader的地址空间中去,刷写完成后,微控制器中flash地址空间分布(如图1的5),至此,bootloader在线以新替老完成了;
其中所述在线刷写应用的功能设计和bootloader功能相同,但存储在微控制器中Flash中的地址空间却保持和应用软件相同;
所述原bootloader为产品中正在使用的bootloader,功能不足,需要更新的bootloader;
所述微控制器为产品中运行bootloader和应用软件的主控制器;
所述flash driver为Flash擦除,Flash写入,Flash写入校验等功能的函数集合,可通过PC上的上位机和bootloader间的通讯协议下载到微控制器中的RAM空间,由bootloader调用;
所述脚本文件为工程编译链接时,调用的指定输出段地址和变量,堆栈地址空间的描述文件;如CMD,LCF等文件
所述在线编写应用数据:在线编写应用工程编译链接后生成的out或hex等文件通过转换生成的bin文件;
所述bootloader数据为bootloader工程编译链接后生成的out或hex等文件通过转换生成的bin文件;
Flash地址空间:包含应用软件和bootloader,其中应用软件分为应用软件和标定数据两部分,Flash分布方框图中左半部分恒指代应用软件分配的地址空间,右边恒指代bootloader软件分配的地址空间,其中的文字指示当前空间中写入的软件,没有文字表示空间被擦除了,没有软件。
本发明的技术效果和优点:
本方法通过产品中的原bootloader和PC上的上位机之间的原有通讯协议先刷写一个在线刷写应用,之后该在线刷写应用调用flash driver擦除产品中的Flash中的原bootloader,随后,PC上的上位机和在线刷写应用在通讯协议控制下下载新bootloader到产品微控制器中RAM空间中,之后在线刷写应用调用flash driver将新bootloader数据刷写到微控制器中FLASH中的bootloader地址空间中,最终实现了在线bootloader以新替老的目地;本方法不用拆机,不用断电,利用已有的上位机在线刷写bootloader,减少了刷写时间,提高了工作效率。
附图说明
图1为Bootloader和应用的流程图;
图2为bootloader和应用在flash中的地址空间分布图;
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1-图2示出了本发明一种Bootloader在线刷写方法的具体实施方式:包括以下步骤:
A)、复制一个完整的bootloader工程,删除该bootloader工程中的脚本文件,复制产品的应用软件工程中的脚本文件到bootloader中,修改bootloader工程源码中的地址配置,使其和脚本文件配置一致,删除源码中当接收到PC上的上位机刷写应用指令后的复位操作,然后将该bootloader工程改名为在线刷写应用工程,编译链接该在线刷写应用工程,最后生成在线刷写应用数据;
B)、利用产品中的原bootloader和PC机上的上位机将在线刷写应用刷写到产品中的flash的应用地址空间中,完成本步骤后Flash地址空间分布如图1的3所示;
C)、在PC上的上位机和在线刷写应用的通讯协议控制下,在线刷写应用调用Flashdriver擦除产品中位于bootloader地址空间中的原bootloader数据,擦除完成后,微控制器中flash地址空间分布如图1的4所示;
D)、通过PC上的上位机和在线刷写应用之间的通讯协议将新bootloader数据下载到微控制器RAM空间中,后在线刷写应用调用Flash driver将新bootloader数据刷写到产品中bootloader的地址空间中去,刷写完成后,微控制器中flash地址空间分布如图1的5所示,至此,bootloader在线以新替老完成了;
其中所述在线刷写应用的功能设计和bootloader功能相同,但存储在微控制器中Flash中的地址空间却保持和应用软件相同;
所述原bootloader为产品中正在使用的bootloader,功能不足,需要更新的bootloader;
所述微控制器为产品中运行bootloader和应用软件的主控制器;
所述flash driver为Flash擦除,Flash写入,Flash写入校验等功能的函数集合,可通过PC上的上位机和bootloader间的通讯协议下载到微控制器中的RAM空间,由bootloader调用;
所述脚本文件为工程编译链接时,调用的指定输出段地址和变量,堆栈地址空间的描述文件;如CMD,LCF等文件
所述在线编写应用数据:在线编写应用工程编译链接后生成的out或hex等文件通过转换生成的bin文件;
所述bootloader数据为bootloader工程编译链接后生成的out或hex等文件通过转换生成的bin文件;
Flash地址空间:包含应用软件和bootloader,其中应用软件分为应用软件和标定数据两部分,Flash分布方框图中左半部分恒指代应用软件分配的地址空间,右边恒指代bootloader软件分配的地址空间,其中的文字指示当前空间中写入的软件,没有文字表示空间被擦除了,没有软件。
本发明通过产品中的原bootloader和PC上的上位机之间的原有通讯协议先刷写一个在线刷写应用,之后该在线刷写应用调用flash driver擦除产品中的Flash中的原bootloader,随后,PC上的上位机和在线刷写应用在通讯协议控制下下载新bootloader到产品微控制器中RAM空间中,之后在线刷写应用调用flash driver将新bootloader数据刷写到微控制器中FLASH中的bootloader地址空间中,最终实现了在线bootloader以新替老的目地;本方法不用拆机,不用断电,利用已有的上位机在线刷写bootloader,减少了刷写时间,提高了工作效率。
申请人又一声明,本发明通过上述实施例来说明本发明的实现方法及装置结构,但本发明并不局限于上述实施方式,即不意味着本发明必须依赖上述方法及结构才能实施。所属技术领域的技术人员应该明了,对本发明的任何改进,对本发明所选用实现方法等效替换及步骤的添加、具体方式的选择等,均落在本发明的保护范围和公开的范围之内。
本发明并不限于上述实施方式,凡采用和本发明相似结构及其方法来实现本发明目的的所有方式,均在本发明的保护范围之内。
Claims (2)
1.一种Bootloader在线刷写方法,其特征在于:包括以下步骤:
A)、复制一个完整的bootloader工程,删除该bootloader工程中的脚本文件,复制产品的应用软件工程中的脚本文件到bootloader中,修改bootloader工程源码中的地址配置,使其和脚本文件配置一致,删除源码中当接收到PC上的上位机刷写应用指令后的复位操作,然后将该bootloader工程改名为在线刷写应用工程,编译链接该在线刷写应用工程,最后生成在线刷写应用数据;
B)、利用产品中的原bootloader和PC机上的上位机将在线刷写应用刷写到产品中的flash的应用地址空间中,完成本步骤后Flash地址空间分布;
C)、在PC上的上位机和在线刷写应用的通讯协议控制下,在线刷写应用调用Flashdriver擦除产品中位于bootloader地址空间中的原bootloader数据,擦除完成后,微控制器中flash地址空间分布;
D)、通过PC上的上位机和在线刷写应用之间的通讯协议将新bootloader数据下载到微控制器RAM空间中,后在线刷写应用调用Flash driver将新bootloader数据刷写到产品中bootloader的地址空间中去,刷写完成后,微控制器中flash地址空间分布,至此,bootloader在线以新替老完成了;
其中所述在线刷写应用的功能设计和bootloader功能相同,但存储在微控制器中Flash中的地址空间却保持和应用软件相同;
所述原bootloader为产品中正在使用的bootloader,功能不足,需要更新的bootloader;
所述微控制器为产品中运行bootloader和应用软件的主控制器;
所述flash driver为Flash擦除,Flash写入,Flash写入校验功能的函数集合,通过PC上的上位机和bootloader间的通讯协议下载到微控制器中的RAM空间,由bootloader调用;
所述脚本文件为工程编译链接时,调用的指定输出段地址和变量,堆栈地址空间的描述文件;
所述在线编写应用数据:在线编写应用工程编译链接后生成的bin文件;
所述bootloader数据为bootloader工程编译链接后生成的的bin文件。
2.根据权利要求1所述的一种bootloader在线刷写方法,其特征在于:Flash地址空间:包含应用软件和bootloader,其中应用软件分为应用软件和标定数据两部分,Flash分布方框图中左半部分恒指代应用软件分配的地址空间,右边恒指代bootloader软件分配的地址空间,其中的文字指示当前空间中写入的软件,没有文字表示空间被擦除了,没有软件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011107005.6A CN112269589B (zh) | 2020-10-16 | 2020-10-16 | Bootloader在线刷写方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011107005.6A CN112269589B (zh) | 2020-10-16 | 2020-10-16 | Bootloader在线刷写方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112269589A true CN112269589A (zh) | 2021-01-26 |
CN112269589B CN112269589B (zh) | 2022-07-26 |
Family
ID=74338912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011107005.6A Active CN112269589B (zh) | 2020-10-16 | 2020-10-16 | Bootloader在线刷写方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112269589B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110244966A (zh) * | 2019-06-18 | 2019-09-17 | 广东戈兰玛汽车系统有限公司 | 一种基于uds的bootloader程序在线更新方法 |
CN110457058A (zh) * | 2019-08-09 | 2019-11-15 | 北京万东医疗科技股份有限公司 | 控制节点在线升级方法、装置、上位机、系统及电子设备 |
CN110825403A (zh) * | 2019-09-29 | 2020-02-21 | 浙江合众新能源汽车有限公司 | 一种汽车电子控制单元ecu刷写的方法及系统 |
CN111679839A (zh) * | 2020-06-09 | 2020-09-18 | 电子科技大学 | 一种mcu flash的在线烧写方法 |
-
2020
- 2020-10-16 CN CN202011107005.6A patent/CN112269589B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110244966A (zh) * | 2019-06-18 | 2019-09-17 | 广东戈兰玛汽车系统有限公司 | 一种基于uds的bootloader程序在线更新方法 |
CN110457058A (zh) * | 2019-08-09 | 2019-11-15 | 北京万东医疗科技股份有限公司 | 控制节点在线升级方法、装置、上位机、系统及电子设备 |
CN110825403A (zh) * | 2019-09-29 | 2020-02-21 | 浙江合众新能源汽车有限公司 | 一种汽车电子控制单元ecu刷写的方法及系统 |
CN111679839A (zh) * | 2020-06-09 | 2020-09-18 | 电子科技大学 | 一种mcu flash的在线烧写方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112269589B (zh) | 2022-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200110595A1 (en) | Method and device for updating software executed from non-volatile memory | |
US5778234A (en) | Method for downloading programs | |
CN106020905B (zh) | 一种微控制器固件开发与更新的方法及系统 | |
CN104102518A (zh) | 一种双cpu系统及其程序升级方法 | |
CN103064797A (zh) | 数据处理方法和虚拟机管理平台 | |
EP3252595A1 (en) | Method and device for running process | |
WO2007020083A2 (en) | Feedback linker for increased delta performance | |
US20190220272A1 (en) | Binary image differential patching | |
US7055083B2 (en) | Method and apparatus for allocating CRC codes in a flash ROM | |
CN104461859A (zh) | 一种支持nvm软断点调试的仿真器和方法 | |
CN112269589B (zh) | Bootloader在线刷写方法 | |
KR20210041972A (ko) | 차량 ecu 소프트웨어 업데이트 장치 | |
CN110716721A (zh) | 兼容网口和串口的tms320c6748程序加载方法 | |
CN103560934A (zh) | 一种电力猫生产测试方法及装置 | |
KR20010001869A (ko) | 펌웨어 보드의 프로그램을 변경하기 위한 장치 및 방법 | |
CN110471675B (zh) | 一种程序烧录方法、系统、装置及计算机可读存储介质 | |
JP3829905B2 (ja) | プログラマブル・コントローラ | |
CN112199109A (zh) | 一种固件升级方法、装置、设备及介质 | |
CN111459468A (zh) | 高可靠性串口通讯的dsp程序在线升级系统和方法 | |
JP2004295589A (ja) | 制御装置及びプログラムの更新方法 | |
CN115794239A (zh) | 一种网卡固件刷新方法、装置、设备及介质 | |
CN111475178B (zh) | 一种嵌入式系统固件烧写的进度计算方法及系统 | |
CN114138278A (zh) | 基本输入输出系统的参数配置方法、装置、设备及介质 | |
CN110990018B (zh) | 一种嵌入式系统的编译方法及编译系统 | |
CN111522572A (zh) | 一种用于嵌入式软件的在线升级方法及系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |