1.一种嵌入式设备版本文件打包的方法及打包工具,其特征在于,包括以下步骤:S1、当需要对文件进行打包时,使用打包工具新建一个打包目录,并将需要打包的文件目录路径置于打包目录中,然后收集待打包的文件,并进行读取,其中,每个文件由至少一个文件项来描述,每个文件项包含多个用于描述文件内容的文件信息,在读取过程中,对文件的顺序进行采集并记录为文件顺序列表,同时根据文件的属性判断出文件为普通文件还是需要进行加密的文件,然后将普通文件的内容进行对比,去除冗余数据,如果一个文件对应两个或者多个位置,可生成用于访问同一文件的索引编码,然后再以同样的方法对加密文件内的内容进行处理;
S2、然后对加密文件进行单独处理,先确定加密算法并生成加密密钥,然后使用该加密密钥对加密文件的各个模块分别进行加密,然后对文件进行嵌入式系统裁剪,编译后生成标准Linux内核文件和rootfs文件系统镜像,然后对不同的裁剪需求产生的标准Linux内核文件进行对比,去除标准Linux内核文件头部的相同部分,在设备升级过程中,将截取出的相同部分组回标准Linux内核文件头部,最后打包bin文件,并对打包后的bin文件进行CRC校验计算,将得到的CRC校验值写入bin文件尾部,然后从节点标记文件中读取所有需要打包的节点,其中位于所述节点的更新包内包含有不同版本的更新文件,对标记文件中需要打包的节点进行基础节点、普通节点和重要节点划分,然后对所有需要打包的节点按照倒序方式进行外层遍历;
S3、当遍历至某一节点时,导出该节点的更新文件并保存在打包文件列表中,当遍历所有重要节点之后,判断所有文件是否均已被读取,如果是,则停止打包,如果否,则查询没有被读取的文件并重新进行读取,读取完成之后停止打包,然后在打包系统中插入抗冗余插件,所述抗冗余插件包括增设对比模块、索引编码生成模块和关联模块,有文件新增时,增设对比模块可以自动将增设的文件与之前打包的档案进行对比,如果增设的文件中具有与之前文件重复时,自动将重复文件删除,同时索引编码生成模块可以生成新的索引编码,然后关联模块可以将新的索引编码和重复的唯一文件进行关联,使得相关人员通过索引编码即可对重复文件进行查询。
2.根据权利要求1所述的一种嵌入式设备版本文件打包的方法及打包工具,其特征在于:所述相邻的两个需要打包的节点之间未选中需要打包的节点按照倒序方式进行内层遍历。
3.根据权利要求1所述的一种嵌入式设备版本文件打包的方法及打包工具,其特征在于:所述打包bin文件时进行加密算法加密,所述加密算法为MD5加密算法。
4.根据权利要求1所述的一种嵌入式设备版本文件打包的方法及打包工具,其特征在于:所述增设对比模块的输出端与索引编码生成模块的输入端电连接,所述索引编码生成模块的输出端与关联模块的输入端电连接。
5.根据权利要求4所述的一种嵌入式设备版本文件打包的方法及打包工具,其特征在于:所述增设对比模块的作用是用于将增设的文件与之前的文件进行对比,确定是否存在重复文件。
6.根据权利要求4所述的一种嵌入式设备版本文件打包的方法及打包工具,其特征在于:,所述索引编码生成模块可以将文件自动生成一组编码,所述关联模块可以将索引编码与文件进行关联。
7.根据权利要求1所述的一种嵌入式设备版本文件打包的方法及打包工具,其特征在于:所述CRC校验计算的具体方法如下:采用32位循环冗余算法,用待打包的二进制数据t(x)除以生成多项式g(x),最后的余数作为CRC校验值,将计算结果写入bin文件尾部。
8.根据权利要求1‑7所述的一种嵌入式设备版本文件打包的方法及打包工具,其特征在于:所述打包工具为Webpack打包工具。
9.根据权利要求8所述的一种嵌入式设备版本文件打包工具,其特征在于:所述Webpack打包工具可以同时进行多个打包任务。