本发明涉及数据处理,更具体地说,它涉及一种嵌入式软件数字标识符计算方法、系统、设备及存储介质。
背景技术:
1、ecu(electronic control unit)电子控制单元,作为汽车智能控制的核心部件,被广泛称为“行车电脑”、“车载计算机”或“汽车控制器”,随着ecu软件功能需求的持续演进和多元化升级,对ecu内部程序进行适时更新与升级成为必然,在此过程中,为了确保发动机系统计算数据的准确性和验证软件完整性的关键指标,诞生了一种名为“软件数字标识符”的概念,它在ecu开发至生产下线全周期内,伴随着频繁的程序更迭,扮演着识别并表征ecu程序身份的重要角色。
2、目前ecu通常包括集成微控制器(mcu)、存储器(如rom、ram)、输入/输出接口(i/o)以及其他多样化外围电路的嵌入式系统。从软件架构层面剖析,该系统主要由引导加载程序、操作系统及用户应用程序三层构建而成。当企业需要对车辆控制系统软件进行迭代更新时,必须精准计算出这一独特的软件数字标识符,以实现对车辆数据的有效管理和校验。
3、由于整车特性各异,同一型号的发动机可能适配多个不同的整车车型,因此任何主程序或标定数据的调整,都将触发软件数字标识符的变化,因此面对硬件状态的不确定性,以及基础标定变更的可能性,需要保证数据完整性与适应性实现整车耐久验证显得尤为关键。然而,当前对于细分市场需求的理解尚不够深入,现存的标定难以完全满足客户个性化需求,且细分市场的整车耐久验证无法做到全面覆盖,往往需要依赖市场实际反馈来补充和完善。
技术实现思路
1、本发明提供一种嵌入式软件数字标识符计算方法、系统、设备及存储介质,解决上述背景技术中的技术问题。
2、本发明提供了一种嵌入式软件数字标识符计算方法,包括以下步骤:
3、步骤s101,自定义m个功能区,每个功能区包括n个功能区变量名,每个功能区对应一个功能区名称、起始地址、长度和功能区下标;
4、步骤s102,按照预设赋值规则赋予每个功能区变量名对应的地址常量的初始值;
5、步骤s103,初始化电子控制单元以及相关组件;
6、步骤s104,分别对每个功能区变量名的初始值进行编译得到机器码,再将机器码进行循环冗余校验计算,获得位数为32的数字标识符;
7、步骤s105,将生成的数字标识符存储在电子控制单元的内部存储器或者外部存储介质中;
8、步骤s106,将数字标识符发送给控制器,用于验证程序的完整性和正确性。
9、进一步地,m和n均为自定义参数。
10、进一步地,功能区名称和功能区变量名均为用户自定义,起始地址的位数为32,长度的位数为32,功能区下标的起始值为0,终止值为m-1。
11、进一步地,预设赋值规则通过遍历每个功能区的功能区变量名,将每个功能区的起始地址和长度所存储的常量做校验和,获得位数为32的数字表示作为该功能区的第一个功能区变量名的地址常量的初始值,再将该功能区的第一个功能区变量名的地址常量的初始值与该功能区的长度所存储的常量做校验和,获得第二个功能区变量名的地址常量的初始值,直至为m*n个功能区变量名都赋予一个地址常量的初始值。
12、进一步地,在电子控制单元上电或者复位后,初始化电子控制单元以及相关组件,确保电子控制单元及其相关组件处于正常工作状态,包括以下步骤:
13、步骤s201,配置时钟信号;配置时钟分频器和锁相环来生成系统时钟;
14、步骤s202,启动电源电路;对电源管理单元进行设置和配置;
15、步骤s203,初始化内存;对随机访问存储器的清零;
16、步骤s204,初始化外设接口;对于每个外设接口设置相应的寄存器和配置参数。
17、进一步地,将机器码通过循环冗余校验32位算法计算获得位数为32的数字标识符。
18、进一步地,控制器根据当前的接收的位数为32的数字标识符通过相同的循环冗余校验计算获得当前的计算结果,并将当前的计算结果与存储在内部的结果进行对比,如果当前的计算结果与存储在内部的结果不匹配,则判断程序是否被篡改或异常修改。
19、本发明提供一种嵌入式软件数字标识符计算系统,包括:
20、功能区自定义模块,其用于自定义m个功能区,每个功能区包括n个功能区变量名,每个功能区对应一个功能区名称、起始地址、长度和功能区下标;
21、功能区变量名初始化模块,其用于按照预设赋值规则赋予每个功能区变量名对应的地址常量的初始值;
22、组件初始化模块,其用于初始化电子控制单元以及相关组件;
23、数字标识符生成模块,其用于分别对每个功能区变量名的初始值进行编译得到机器码,再将机器码进行循环冗余校验计算,获得位数为32的数字标识符;
24、数字标识符存储模块,其用于将生成的数字标识符存储在电子控制单元的内部存储器或者外部存储介质中;
25、数字标识符校验模块,其用于将数字标识符发送给控制器,用于验证程序的完整性和正确性。
26、本发明提供一种嵌入式软件数字标识符计算设备,包括:一个或多个处理器、输入接口、输出接口、网络接口和内存。
27、本发明提供一种存储介质,存储有非暂时性计算机可读指令,当所述非暂时性计算机可读指令由计算机执行如权利要求8所述的一种嵌入式软件数字标识符计算系统。
28、本发明的有益效果在于:本发明通过自定义划分功能区,并结合循环冗余校验算法对功能区进行异步计算获得软件数字标识符并进行存储,从而有效保护车辆数据的安全性和完整性。
1.一种嵌入式软件数字标识符计算方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种嵌入式软件数字标识符计算方法,其特征在于,m和n均为自定义参数。
3.根据权利要求1所述的一种嵌入式软件数字标识符计算方法,其特征在于,功能区名称和功能区变量名均为用户自定义,起始地址的位数为32,长度的位数为32,功能区下标的起始值为0,终止值为m-1。
4.根据权利要求1所述的一种嵌入式软件数字标识符计算方法,其特征在于,预设赋值规则通过遍历每个功能区的功能区变量名,将每个功能区的起始地址和长度所存储的常量做校验和,获得位数为32的数字表示作为该功能区的第一个功能区变量名的地址常量的初始值,再将该功能区的第一个功能区变量名的地址常量的初始值与该功能区的长度所存储的常量做校验和,获得第二个功能区变量名的地址常量的初始值,直至为m*n个功能区变量名都赋予一个地址常量的初始值。
5.根据权利要求1所述的一种嵌入式软件数字标识符计算方法,其特征在于,在电子控制单元上电或者复位后,初始化电子控制单元以及相关组件,确保电子控制单元及其相关组件处于正常工作状态,包括以下步骤:
6.根据权利要求1所述的一种嵌入式软件数字标识符计算方法,其特征在于,将机器码通过循环冗余校验32位算法计算获得位数为32的数字标识符。
7.根据权利要求1所述的一种嵌入式软件数字标识符计算方法,其特征在于,控制器根据当前的接收的位数为32的数字标识符通过相同的循环冗余校验计算获得当前的计算结果,并将当前的计算结果与存储在内部的结果进行对比,如果当前的计算结果与存储在内部的结果不匹配,则判断程序是否被篡改或异常修改。
8.根据权利要求1-7所述的一种嵌入式软件数字标识符计算方法,提供一种嵌入式软件数字标识符计算系统,其特征在于,包括:
9.一种嵌入式软件数字标识符计算设备,其特征在于,包括:一个或多个处理器、输入接口、输出接口、网络接口和内存。
10.一种存储介质,其特征在于,存储有非暂时性计算机可读指令,当所述非暂时性计算机可读指令由计算机执行如权利要求8所述的一种嵌入式软件数字标识符计算系统。