System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及控制器,尤其涉及到一种控制器主、辅mcu boot刷新方法及系统。
技术介绍
1、目前汽车上电子控制器软件有问题或者功能升级时,需要对控制器软件进行刷新,通常是连接汽车上obd口通过can总线进行刷新的。整车电子架构,一个控制器只有一个can接口,而基于国产芯片开发的sdm控制器为了提升功能安全等级,采用双mcu系统。两颗mcu只有一颗挂在can总线上,如图3所示,sdm控制器的双mcu中,主mcu通过can总线与外部相连,辅mcu仅与主mcu通信,不与can总线相连,这导致辅mcu无法通过常规方式进行软件刷新。
2、如何实现sdm控制器的双mcu刷新,成为亟待解决的问题。
技术实现思路
1、针对上述问题,本专利技术提供了一种控制器主、辅mcu boot刷新方法及系统,使控制器对外只通过一个can接口、一个刷写流程实现双mcu的软件升级。
2、本专利技术公开了一种控制器主、辅mcu boot刷新方法,包括:将控制器的刷新文件分为主mcu刷新文件和辅mcu刷新文件;
3、设置主mcu刷新文件的起始地址a和辅mcu刷新文件的起始地址b;
4、主mcu接收所述刷新文件并解析地址信息;
5、当解析到地址信息为所述起始地址a时,判断该部分文件为主mcu刷新文件,对所述主mcu进行刷新;
6、当解析到地址信息为所述起始地址b时,判断该部分文件为辅mcu刷新文件,所述主mcu将所述起始地址b运算至与所述起始地址
7、所述辅mcu接收到运算后的所述辅mcu刷新文件,从所述起始地址a开始,对所述辅mcu进行刷新。
8、作为本专利技术的进一步改进,对所述主mcu进行刷新,包括:
9、从所述起始地址a开始,将所述主mcu刷新文件中数据按地址对应写入主mcuflash中。
10、作为本专利技术的进一步改进,所述主mcu通过uart将运算后的所述辅mcu刷新文件发送到所述辅mcu。
11、作为本专利技术的进一步改进,所述主mcu将运算后的所述辅mcu刷新文件发送到辅mcu后进行响应等待,当收到所述辅mcu的肯定响应或否定响应时退出。
12、作为本专利技术的进一步改进,预设响应等待时间;
13、若所述主mcu在所述预设响应等待时间内没有收到所述辅mcu的肯定响应或否定响应,所述主mcu先回复否定响应消息并继续进行响应等待;
14、循环3次后没有收到所述辅mcu的肯定响应或否定响应,则强制退出。
15、作为本专利技术的进一步改进,所述辅mcu接收到运算后的所述辅mcu刷新文件,从所述起始地址a开始,对所述辅mcu进行刷新;包括:
16、所述辅mcu接收到运算后的辅mcu刷新文件,获取地址和数据信息,判断地址范围是否有效,若地址范围有效,所述辅mcu向所述主mcu回复肯定响应,并将数据按地址写入辅mcu flash中。
17、作为本专利技术的进一步改进,若地址范围无效,所述辅mcu向所述主mcu回复否定响应。
18、作为本专利技术的进一步改进,在所述主mcu和所述辅mcu之间设置两个口,通过两个gpio口控制所述辅mcu与所述主mcu同时工作在boot状态或app状态。
19、作为本专利技术的进一步改进,设置两个gpio口分别为gpioa和gpiob;
20、当gpioa为高、gpiob为低时,所述主mcu在boot状态,若所述辅mcu在app状态,则将辅mcu强制复位切换至boot状态;
21、当gpioa为低、gpiob为高时,所述主mcu在app状态,若所述辅mcu在boot状态,则将辅mcu强制复位切换至app状态。
22、本专利技术还提供了一种控制器主、辅mcu boot刷新系统,包括刷新文件配置模块、刷新文件解析模块、主mcu刷新模块、辅mcu刷新文件运算模块和辅mcu刷新模块;
23、所述刷新文件配置模块,用于:
24、将控制器的刷新文件分为主mcu刷新文件和辅mcu刷新文件;
25、设置主mcu刷新文件的起始地址a和辅mcu刷新文件的起始地址b;
26、所述刷新文件解析模块,用于:
27、主mcu接收所述刷新文件并解析地址信息;
28、所述主mcu刷新模块,用于:
29、当解析到地址信息为所述起始地址a时,判断该部分文件为主mcu刷新文件,对所述主mcu进行刷新;
30、所述辅mcu刷新文件运算模块,用于:
31、当解析到地址信息为所述起始地址b时,判断该部分文件为辅mcu刷新文件,所述主mcu将所述起始地址b运算至与所述起始地址a相同,并采用相同运算方法对所述辅mcu刷新文件中的所有地址进行运算,再将运算后的所述辅mcu刷新文件发送到辅mcu;
32、所述辅mcu刷新模块,用于:
33、所述辅mcu接收到运算后的所述辅mcu刷新文件,从所述起始地址a开始,对所述辅mcu进行刷新。
34、与现有技术相比,本专利技术的有益效果为:
35、本专利技术通过将刷新文件设置成两部分,并通过不同起始地址进行区分,可以实现通过一个刷新流程使刷新文件的两部分分别刷新升级控制器的主mcu和辅mcu,不用额外增加can接口,也不用将主mcu和辅mcu分两次刷新,提高了刷新效率。
36、本专利技术通过设置两个gipo口连接双mcu,通过控制两个gipo口的电平高低,使双mcu中的辅mcu和主mcu工作在相同状态,进而使主mcu工作在boot状态时,辅mcu也跳转至boot状态,实现主mcu和辅mcu的软件同时刷新。
37、本专利技术通过设置辅mcu在接收到地址信息和数据信息时先进行地址范围判断,确定地址范围与辅mcu地址范围相同,可在辅mcu更新前及时避免错误更新,确保辅mcu的准确更新。
38、本专利技术借助主mcu和辅mcu的通信窗口uart将辅mcu刷新文件发送至辅mcu,无需建立其他通信协议及通信窗口即可实现刷新文件的传输,以及进一步使辅mcu实现boot刷新,无需增加can总线,结构更加简洁。
39、本专利技术sdm控制器对外只通过一个can接口,实现对控制器内部主、辅两颗mcu的软件进行刷新。
本文档来自技高网...【技术保护点】
1.一种控制器主、辅MCU Boot刷新方法,其特征在于,包括:
2.根据权利要求1所述的控制器主、辅MCU Boot刷新方法,其特征在于:对所述主MCU进行刷新,包括:
3.根据权利要求1所述的控制器主、辅MCU Boot刷新方法,其特征在于:所述主MCU通过UART将运算后的所述辅MCU刷新文件发送到所述辅MCU。
4.根据权利要求1所述的控制器主、辅MCU Boot刷新方法,其特征在于:所述主MCU将运算后的所述辅MCU刷新文件发送到辅MCU后进行响应等待,当收到所述辅MCU的肯定响应或否定响应时退出。
5.根据权利要求4所述的控制器主、辅MCU Boot刷新方法,其特征在于:预设响应等待时间;
6.根据权利要求1所述的控制器主、辅MCU Boot刷新方法,其特征在于:所述辅MCU接收到运算后的所述辅MCU刷新文件,从所述起始地址A开始,对所述辅MCU进行刷新;包括:
7.根据权利要求6所述的控制器主、辅MCU Boot刷新方法,其特征在于:若地址范围无效,所述辅MCU向所述主MCU回复否定响应。
>8.根据权利要求1所述的控制器主、辅MCU Boot刷新方法,其特征在于:在所述主MCU和所述辅MCU之间设置两个口,通过两个GPIO口控制所述辅MCU与所述主MCU同时工作在Boot状态或APP状态。
9.根据权利要求8所述的控制器主、辅MCU Boot刷新方法,其特征在于:设置两个GPIO口分别为GPIOA和GPIOB;
10.一种控制器主、辅MCU Boot刷新系统,用于实现如权利要求1~9中任一项所述的控制器主、辅MCU Boot刷新方法,其特征在于:包括刷新文件配置模块、刷新文件解析模块、主MCU刷新模块、辅MCU刷新文件运算模块和辅MCU刷新模块;
...【技术特征摘要】
1.一种控制器主、辅mcu boot刷新方法,其特征在于,包括:
2.根据权利要求1所述的控制器主、辅mcu boot刷新方法,其特征在于:对所述主mcu进行刷新,包括:
3.根据权利要求1所述的控制器主、辅mcu boot刷新方法,其特征在于:所述主mcu通过uart将运算后的所述辅mcu刷新文件发送到所述辅mcu。
4.根据权利要求1所述的控制器主、辅mcu boot刷新方法,其特征在于:所述主mcu将运算后的所述辅mcu刷新文件发送到辅mcu后进行响应等待,当收到所述辅mcu的肯定响应或否定响应时退出。
5.根据权利要求4所述的控制器主、辅mcu boot刷新方法,其特征在于:预设响应等待时间;
6.根据权利要求1所述的控制器主、辅mcu boot刷新方法,其特征在于:所述辅mcu接收到运算后的所述辅mcu刷新文件,从所...
【专利技术属性】
技术研发人员:刘昌业,李宾,赫磊,张洪铭,韦建阳,
申请(专利权)人:上汽通用五菱汽车股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。