System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种智能座舱MCU的BootLoader升级方法和系统技术方案_技高网

一种智能座舱MCU的BootLoader升级方法和系统技术方案

技术编号:40077859 阅读:6 留言:0更新日期:2024-01-17 01:50
一种智能座舱MCU的BootLoader升级方法,包括:TOOL向MCU发送升级请求信号,MCU将指定内存写入升级标识,并进行重启;MCU重启完毕后,MCU回复应答开始升级;TOOL通过串口向MCU发送文件信息,并计算CRC校验值;MCU校验完毕后,循环向TOOL请求升级数据;TOOL向MCU发送收据包,收据包发送完成后,MCU将收到的长度数据包校验info内容,继续向TOOL请求MCU的app内容;MCU接收到的完整一包数据,并对接收的数据按预设规则进行处理;MCU向TOOL发送校验请求,TOOL回复校验值,校验通过后MCU将info信息写入分区并应答升级成功;MCU回读flash中的app数据,计算出crc32校验值,读取info中的crc32校验合格后,启动硬件复位,完成BootLoader升级。本发明专利技术可以大大节省系统的护成本,并对设备的寿命和可靠性都有明显的提实性。

【技术实现步骤摘要】

本专利技术涉及的是智能座舱领域,特别涉及一种智能座舱mcu的bootloader升级方法和系统。


技术介绍

1、对于嵌入式mcu来说,当产品稳定投产,程序烧录后,mcu我们一般是看不到的,因为外面被外壳等材料覆盖,那造成后期产品需要升级无法使用烧录口的问题,bootloader就是为了解决这样的问题来设计的,它相当于一个引导程序。这段程序比较特殊,他可以通过一定方式,比如用按键触发或者uds协议指令(汽车行业触发进入运行,bootloader运行后,他可以通过串口接收新的代码并写入flash,从而在不能使用烧录器的情况下,升级程序。在嵌式系统中,系统在上电或复位时通常从地址0x0000出开始执行,bootloader即从该地址开始执行,即上电或复位后执行的第一段代码。

2、bootloader是硬件启动的引导程序,是运行操作系统的前提。在操作系统内核或用户应用程序运行之前运行的一段小代码。对硬件进行相应的初始化和设定,最终为操作系统准备好环境其实bootloader主要的必须的作用只有一个:就是把操作系统映象文件拷贝到ram中去,然后跳转到它的入口处去执行。为了实现这个功能(以及其它附加功能)。除了这个必须的现在的bootloader还常常会加入以下功能1.将操作系统映像文件写入flash/硬盘等:读取过来的操作系统文件,除了可以拷贝到ram中直接运行,还可以烧录到flash,或者写入硬盘永久保存,这样下次就可以直接从本机来读取操作系统映像。2.硬件诊断:如同pc的bios一样,检测硬件是否正常功能。3.显示一个logo,因为拷贝操作系统文件和启动操作系统需要时间,所以产品化的设备一般需要在这段时间显示一个logo。

3、通常情况下,bootloader程序比较可靠、不会发生改变,因此会在mcu出厂前,通过烧录方式将bootloader程序写入mcu中。若出现问题,需要将车辆召回,从车辆上取下mcu,以在mcu上重新烧录bootloader程序。然而,对于智能座舱mcu,mcu封装在器件内部且该器件无预留升级接口时,拆卸mcu将导致器件受到破坏,增加升级成本。


技术实现思路

1、鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的一种智能座舱mcu的bootloader升级方法和系统。

2、为了解决上述技术问题,本申请实施例公开了如下技术方案:

3、一种智能座舱mcu的bootloader升级方法,包括:

4、s100.tool平台向mcu发送升级请求信号,mcu将指定内存写入升级标识,并进行重启;

5、s200.mcu重启完毕后,mcu回复应答开始升级;

6、s300.tool平台通过串口向mcu发送文件信息,并计算crc校验值;mcu校验完毕后,循环向tool平台请求升级数据;

7、s400.tool平台向mcu发送收据包,收据包发送完成后,mcu将收到的长度数据包校验info内容,继续向tool平台请求mcu的app内容;

8、s500.mcu接收到的完整一包数据,并对接收的数据按预设规则进行处理;处理完成后,mcu向tool平台发送校验请求,tool平台回复校验值,校验通过后mcu将info信息写入分区并应答升级成功;

9、s600.mcu回读flash中的app数据,计算出crc32校验值,读取info中的crc32校验合格后,启动硬件复位,完成bootloader升级。

10、进一步地,s200中,当mcu重启完毕后,mcu根据升级标识进入boot并清除升级标识,mcu回复应答开始升级。

11、进一步地,s300中,tool平台通过串口向mcu发送文件信息,文件信息包括文件的类型和文件的长度,其中,文件的类型至少包括:bin文件、hex文件和s19文件。

12、进一步地,s300中,计算crc校验值的方法包括:

13、选定一个k位二进制数据串作为标准除数;

14、在要发送的m位数据后面加上k-1位0,然后将这个新数以模2除法的方式除以上面这个标准除数,所得到的余数也就是该数据的crc校验码;其中,余数必须比除数少且只少一位,不够就补0;

15、将这个校验码附在原m位数据后面,构成新的m+k-1位数据,发送给接收端;

16、接收端将接收到的数据除以标准除数,如果余数为0则认为数据正确。

17、进一步地,s400中,tool平台将收到的长度数据包校验info内容,验证成功后,还会擦除app和info分区,继续向tool请求mcu的app内容。

18、进一步地,s500中,mcu接收到的完整一包数据,并对接收的数据按预设规则进行处理,处理的预设规则包括:mcu将收到的完整一包数据写入到对应flash地址中,每次写入一页,全部接收完毕后,计算app程序的crc32校验值,并计算完整数据的md5值。

19、本专利技术还公开了一种智能座舱mcu的bootloader升级系统,包括:toop平台和mcu,其中:

20、toop平台,用于向mcu发送升级请求信号,用于通过串口向mcu发送文件信息,并计算crc校验值;还用于向mcu发送收据包,向mcu回复校验值,校验通过后mcu将info信息写入分区并应答升级成功;

21、mcu,用于将指定内存写入升级标识,并进行重启;重启完毕后,回复应答开始升级;用于接收crc校验值;校验完毕后,循环向tool平台请求升级数据;用于将收到的长度数据包校验info内容,继续向tool平台请求mcu的app内容;还用于接收到的完整一包数据,并对接收的数据按预设规则进行处理;处理完成后,向tool平台发送校验请求,校验通过后mcu将info信息写入分区并应答升级成功;还用于回读flash中的app数据,计算出crc32校验值,读取info中的crc32校验合格后,启动硬件复位,完成bootloader升级。

22、进一步地,tool平台通过串口向mcu发送文件信息,文件信息包括文件的类型和文件的长度,其中,文件的类型至少包括:bin文件、hex文件和s19文件。

23、进一步地,mcu接收到的完整一包数据,并对接收的数据按预设规则进行处理,处理的预设规则包括:mcu将收到的完整一包数据写入到对应flash地址中,每次写入一页,全部接收完毕后,计算app程序的crc32校验值,并计算完整数据的md5值。

24、进一步地,tool平台将收到的长度数据包校验info内容,验证成功后,还会擦除app和info分区,继续向tool请求mcu的app内容。

25、本专利技术实施例提供的上述技术方案的有益效果至少包括:

26、本专利技术公开的一种智能座舱mcu的bootloader升级方法,包括:tool平台向mcu发送升级请求信号,mcu将指定内存写入升级标识,并进行本文档来自技高网...

【技术保护点】

1.一种智能座舱MCU的BootLoader升级方法,其特征在于,包括:

2.如权利要求1所述的一种智能座舱MCU的BootLoader升级方法,其特征在于,S200中,当MCU重启完毕后,MCU根据升级标识进入boot并清除升级标识,MCU回复应答开始升级。

3.如权利要求1所述的一种智能座舱MCU的BootLoader升级方法,其特征在于,S300中,TOOL平台通过串口向MCU发送文件信息,文件信息包括文件的类型和文件的长度,其中,文件的类型至少包括:bin文件、hex文件和s19文件。

4.如权利要求1所述的一种智能座舱MCU的BootLoader升级方法,其特征在于,S300中,计算CRC校验值的方法包括:

5.如权利要求1所述的一种智能座舱MCU的BootLoader升级方法,其特征在于,S400中,TOOL平台将收到的长度数据包校验info内容,验证成功后,还会擦除app和info分区,继续向TOOL请求MCU的app内容。

6.如权利要求1所述的一种智能座舱MCU的BootLoader升级方法,其特征在于,S500中,MCU接收到的完整一包数据,并对接收的数据按预设规则进行处理,处理的预设规则包括:MCU将收到的完整一包数据写入到对应flash地址中,每次写入一页,全部接收完毕后,计算app程序的crc32校验值,并计算完整数据的md5值。

7.一种智能座舱MCU的BootLoader升级系统,其特征在于,包括:TOOP平台和MCU,其中:

8.如权利要求7所述的一种智能座舱MCU的BootLoader升级系统,其特征在于,TOOL平台通过串口向MCU发送文件信息,文件信息包括文件的类型和文件的长度,其中,文件的类型至少包括:bin文件、hex文件和s19文件。

9.如权利要求7所述的一种智能座舱MCU的BootLoader升级系统,其特征在于,MCU接收到的完整一包数据,并对接收的数据按预设规则进行处理,处理的预设规则包括:MCU将收到的完整一包数据写入到对应flash地址中,每次写入一页,全部接收完毕后,计算app程序的crc32校验值,并计算完整数据的md5值。

10.如权利要求7所述的一种智能座舱MCU的BootLoader升级系统,其特征在于,TOOL平台将收到的长度数据包校验info内容,验证成功后,还会擦除app和info分区,继续向TOOL请求MCU的app内容。

...

【技术特征摘要】

1.一种智能座舱mcu的bootloader升级方法,其特征在于,包括:

2.如权利要求1所述的一种智能座舱mcu的bootloader升级方法,其特征在于,s200中,当mcu重启完毕后,mcu根据升级标识进入boot并清除升级标识,mcu回复应答开始升级。

3.如权利要求1所述的一种智能座舱mcu的bootloader升级方法,其特征在于,s300中,tool平台通过串口向mcu发送文件信息,文件信息包括文件的类型和文件的长度,其中,文件的类型至少包括:bin文件、hex文件和s19文件。

4.如权利要求1所述的一种智能座舱mcu的bootloader升级方法,其特征在于,s300中,计算crc校验值的方法包括:

5.如权利要求1所述的一种智能座舱mcu的bootloader升级方法,其特征在于,s400中,tool平台将收到的长度数据包校验info内容,验证成功后,还会擦除app和info分区,继续向tool请求mcu的app内容。

6.如权利要求1所述的一种智能座舱mcu的bootloader升级方法,其特征在于,s500中,mcu接收到的完整一包数据,并对接收的数据按预设规则进行处理,...

【专利技术属性】
技术研发人员:鄢浩陈星
申请(专利权)人:南斗六星系统集成有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1