Bootloader在线刷写方法与流程

文档序号:23724189发布日期:2021-01-26 14:41阅读:196来源:国知局
Bootloader在线刷写方法与流程
bootloader在线刷写方法
技术领域
[0001]
本发明涉及测速技术领域,具体涉及一种自适应mt过渡测速方法。


背景技术:

[0002]
目前,大多数的产品的bootloader是在产线上用上位机刷写后再也不能更新了。随着后期的需求变更,产品的bootloader功能也随着扩展了。但是如果控制器不支持bootloader在线自编程的话,bootloader的重新刷写将需要产品断电退出运行,拆机,将控制器硬件电路通过物理线路配置为boot模式后才能刷写bootloader。需要耗费大量的人力和时间成本,工作效率低。


技术实现要素:

[0003]
本发明的目的在于提供一种自适应mt过渡测速方法,以解决上述背景技术中提出的问题。
[0004]
为实现上述目的,本发明提供如下技术方案:一种bootloader在线刷写方法,包括以下步骤:
[0005]
a)、复制一个完整的bootloader工程,删除该bootloader工程中的脚本文件,复制产品的应用软件工程中的脚本文件到bootloader中,修改bootloader工程源码中的地址配置,使其和脚本文件配置一致,删除源码中当接收到pc上的上位机刷写应用指令后的复位操作,然后将该bootloader工程改名为在线刷写应用工程,编译链接该在线刷写应用工程,最后生成在线刷写应用数据;
[0006]
b)、利用产品中的原bootloader和pc机上的上位机将在线刷写应用刷写到产品中的flash的应用地址空间中,完成本步骤后flash地址空间分布(如图1的3);
[0007]
c)、在pc上的上位机和在线刷写应用的通讯协议控制下,在线刷写应用调用flash driver擦除产品中位于bootloader地址空间中的原bootloader数据,擦除完成后,微控制器中flash地址空间分布(如图1的4);
[0008]
d)、通过pc上的上位机和在线刷写应用之间的通讯协议将新bootloader数据下载到微控制器ram空间中,后在线刷写应用调用flash driver将新bootloader数据刷写到产品中bootloader的地址空间中去,刷写完成后,微控制器中flash地址空间分布(如图1的5),至此,bootloader在线以新替老完成了;
[0009]
其中所述在线刷写应用的功能设计和bootloader功能相同,但存储在微控制器中flash中的地址空间却保持和应用软件相同;
[0010]
所述原bootloader为产品中正在使用的bootloader,功能不足,需要更新的bootloader;
[0011]
所述微控制器为产品中运行bootloader和应用软件的主控制器;
[0012]
所述flash driver为flash擦除,flash写入,flash写入校验等功能的函数集合,可通过pc上的上位机和bootloader间的通讯协议下载到微控制器中的ram空间,由
driver擦除产品中位于bootloader地址空间中的原bootloader数据,擦除完成后,微控制器中flash地址空间分布如图1的4所示;
[0026]
d)、通过pc上的上位机和在线刷写应用之间的通讯协议将新bootloader数据下载到微控制器ram空间中,后在线刷写应用调用flash driver将新bootloader数据刷写到产品中bootloader的地址空间中去,刷写完成后,微控制器中flash地址空间分布如图1的5所示,至此,bootloader在线以新替老完成了;
[0027]
其中所述在线刷写应用的功能设计和bootloader功能相同,但存储在微控制器中flash中的地址空间却保持和应用软件相同;
[0028]
所述原bootloader为产品中正在使用的bootloader,功能不足,需要更新的bootloader;
[0029]
所述微控制器为产品中运行bootloader和应用软件的主控制器;
[0030]
所述flash driver为flash擦除,flash写入,flash写入校验等功能的函数集合,可通过pc上的上位机和bootloader间的通讯协议下载到微控制器中的ram空间,由bootloader调用;
[0031]
所述脚本文件为工程编译链接时,调用的指定输出段地址和变量,堆栈地址空间的描述文件;如cmd,lcf等文件
[0032]
所述在线编写应用数据:在线编写应用工程编译链接后生成的out或hex等文件通过转换生成的bin文件;
[0033]
所述bootloader数据为bootloader工程编译链接后生成的out或hex等文件通过转换生成的bin文件;
[0034]
flash地址空间:包含应用软件和bootloader,其中应用软件分为应用软件和标定数据两部分,flash分布方框图中左半部分恒指代应用软件分配的地址空间,右边恒指代bootloader软件分配的地址空间,其中的文字指示当前空间中写入的软件,没有文字表示空间被擦除了,没有软件。
[0035]
本发明通过产品中的原bootloader和pc上的上位机之间的原有通讯协议先刷写一个在线刷写应用,之后该在线刷写应用调用flash driver擦除产品中的flash中的原bootloader,随后,pc上的上位机和在线刷写应用在通讯协议控制下下载新bootloader到产品微控制器中ram空间中,之后在线刷写应用调用flash driver将新bootloader数据刷写到微控制器中flash中的bootloader地址空间中,最终实现了在线bootloader以新替老的目地;本方法不用拆机,不用断电,利用已有的上位机在线刷写bootloader,减少了刷写时间,提高了工作效率。
[0036]
申请人又一声明,本发明通过上述实施例来说明本发明的实现方法及装置结构,但本发明并不局限于上述实施方式,即不意味着本发明必须依赖上述方法及结构才能实施。所属技术领域的技术人员应该明了,对本发明的任何改进,对本发明所选用实现方法等效替换及步骤的添加、具体方式的选择等,均落在本发明的保护范围和公开的范围之内。
[0037]
本发明并不限于上述实施方式,凡采用和本发明相似结构及其方法来实现本发明目的的所有方式,均在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1