1.一种嵌入式设备版本文件打包的方法,其特征在于,包括以下步骤:
步骤S1:嵌入式系统裁剪,编译后生成标准Linux内核文件和rootfs文件系统镜像;
步骤S2:对标准Linux内核文件进行去标识操作;
步骤S3:打包bin文件并对打包后的bin文件进行CRC校验计算,将得到的CRC校验值写入bin文件尾部;
所述步骤S2的具体方法如下:对不同的裁剪需求产生的标准Linux内核文件进行对比,去除标准Linux内核文件头部的相同部分;在设备升级过程中,将截取出的相同部分组回标准Linux内核文件头部;
所述步骤S3中打包bin文件时进行加密算法加密;所述加密算法为MD5加密算法;
所述加密的具体方法如下:在对bin文件打包时,先确定加密算法并生成加密密钥,然后使用该加密密钥对bin文件的各个模块分别进行加密,并将加密的版本信息存储在bin文件的文件头中,加密密钥存储在嵌入式设备的本地存储中;第一次使用bin文件升级之前,设备上不会存有各个模块进行MD5算法的计算结果,第一次升级会对各个模块都进行升级,并在升级过程中将各个模块的MD5计算结果存储在设备本地, 第二次及以后使用bin文件升级时,在各个模块从bin文件中分离出以后,对各个模块进行MD5算法计算,将计算结果与上一次设备升级时存储在设备本地的对应模块的MD5摘要信息进行比对,如果一致,则该模块在新版本bin文件中没有改动,不需要升级,如果比对结果不一致或者嵌入式设备中并未存储对应模块的MD5文件,则对该模块进行解密,升级该模块,并将该模块的MD5摘要信息存储在嵌入式设备本地,供下次升级对比使用。
2.根据权利要求1所述的嵌入式设备版本文件打包的方法,其特征在于,所述bin文件的各个模块包括文件头、标准Linux内核文件和rootfs文件系统镜像和缺省配置模块。
3.根据权利要求1所述的嵌入式设备版本文件打包的方法,其特征在于,所述步骤S3中CRC校验计算的具体方法如下:采用32位循环冗余算法,用待打包的二进制数据t(x)除以生成多项式g(x),最后的余数作为CRC校验值,将计算结果写入bin文件尾部。