CN112269589B - Bootloader在线刷写方法 - Google Patents

Bootloader在线刷写方法 Download PDF

Info

Publication number
CN112269589B
CN112269589B CN202011107005.6A CN202011107005A CN112269589B CN 112269589 B CN112269589 B CN 112269589B CN 202011107005 A CN202011107005 A CN 202011107005A CN 112269589 B CN112269589 B CN 112269589B
Authority
CN
China
Prior art keywords
flash
bootloader
application
online
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.)
Active
Application number
CN202011107005.6A
Other languages
English (en)
Other versions
CN112269589A (zh
Inventor
丰建敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JIANGSU GTAKE ELECTRIC CO Ltd
Original Assignee
JIANGSU GTAKE ELECTRIC CO Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by JIANGSU GTAKE ELECTRIC CO Ltd filed Critical JIANGSU GTAKE ELECTRIC CO Ltd
Priority to CN202011107005.6A priority Critical patent/CN112269589B/zh
Publication of CN112269589A publication Critical patent/CN112269589A/zh
Application granted granted Critical
Publication of CN112269589B publication Critical patent/CN112269589B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates 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

Bootloader在线刷写方法
技术领域
本发明涉及测速技术领域,具体涉及一种自适应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软件分配的地址空间,其中的文字指示当前空间中写入的软件,没有文字表示空间被擦除了,没有软件。
CN202011107005.6A 2020-10-16 2020-10-16 Bootloader在线刷写方法 Active CN112269589B (zh)

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 CN112269589A (zh) 2021-01-26
CN112269589B true 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)

* Cited by examiner, † Cited by third party
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的在线烧写方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
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
CN112269589A (zh) 2021-01-26

Similar Documents

Publication Publication Date Title
US20200110595A1 (en) Method and device for updating software executed from non-volatile memory
CN102629237B (zh) 非易失性半导体存储器及搜索最后写入地址的方法
US7631301B2 (en) Customizing binary content files
TWI439931B (zh) 用於增加三角差動效能之目的碼之產生
EP1909184A2 (en) Mapping information managing apparatus and method for non-volatile memory supporting different cell types
CN102385509A (zh) 一种图形化嵌入式开发方法和平台
US10261918B2 (en) Process running method and apparatus
CN106020905B (zh) 一种微控制器固件开发与更新的方法及系统
CN103064797A (zh) 数据处理方法和虚拟机管理平台
TWI229291B (en) Device and method for updating contents of flash memory unit
CN101166229A (zh) 一种电视软件更新的方法
WO2007020083A2 (en) Feedback linker for increased delta performance
CN102033811A (zh) 用于管理闪存多个区块的方法和相关记忆装置及其控制器
CN112269589B (zh) Bootloader在线刷写方法
US7055083B2 (en) Method and apparatus for allocating CRC codes in a flash ROM
CN104461859A (zh) 一种支持nvm软断点调试的仿真器和方法
KR20210041972A (ko) 차량 ecu 소프트웨어 업데이트 장치
CN101464986A (zh) 一种创建广告位的方法、系统及装置
CN103560934A (zh) 一种电力猫生产测试方法及装置
CN1383565A (zh) 预测闪速存储器擦写时间的方法与装置
CN103761118B (zh) 一种智能卡及智能卡内部署应用的方法
JP3829905B2 (ja) プログラマブル・コントローラ
JP2004295589A (ja) 制御装置及びプログラムの更新方法
CN115794239A (zh) 一种网卡固件刷新方法、装置、设备及介质
CN111475178B (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