【技术实现步骤摘要】
一种数据文件拼接方法
[0001]本专利技术涉及文件拼接
,尤其涉及一种数据文件拼接方法。
技术介绍
[0002]当前嵌入式行业蓬勃发展,单片机被用到越来越多的场景之中。相关芯片在出厂时会刷入预置的程序。对于某些嵌入式芯片,其数据文件分为APP和Bootloader两部分,其中BootLoader为引导区,APP为程序的主要部分,格式均为S19格式文件,S19格式文件的组成格式如下:
[0003]记录类型记录长度存储地址代码/数据校验和
[0004](1)当前的文件拼接技术主要还是使用手动拼接的方式,通过依次打开各个文件,手工复制各个文件的内容,并将相关内容添加到一个文件中,并对文件头、文件尾进行手工删除处理。
[0005]在进行文件拼接时,随着文件数的增多,该方法将花费大量的时间用于文件复制上,同时采用手工方式对数据文件处理,随着数据的增多,找到特定位置数据并进行处理变得越发地困难。与此同时,文件的拼接时的复制粘贴也变的比较困难,极容易产生错误,烧录错误的程序,造成程序烧录进单片机后单片机无法
【技术保护点】
【技术特征摘要】
1.一种数据文件拼接方法,其特征在于,该方法包括以下步骤:步骤1、读取APP数据和Bootloader数据,并对其进行加载和处理;步骤2、对APP数据和Bootloader数据进行处理,根据芯片的内存地址将APP数据和Bootloader数据分别放到指定的地址上,处理方法包括:采用并发遍历算法遍历所有文档,地址识别,同类数据归并,地址数据去重;步骤3、对处理后的数据进行合并并输出成文件;步骤4、加载生成的文件,调用烧录程序将程序一次性烧录到MCU中。2.根据权利要求1所述的数据文件拼接方法,其特征在于,所述步骤1中进行数据加载的方法为:APP数据和Bootloader数据的源文件为S19格式文件,S19格式文件为文本文件,编码格式为ASCII,采用Python的内部函数open进行直接读取调用,读取后获得对应的数据流。3.根据权利要求2所述的数据文件拼接方法,其特征在于,所述步骤1中进行数据处理的方法为:将所有数据流分别加载至已经设定的好的列表中,列表数量通过读取工程文件下S19文件的数量进行确定,列表长度随文件数据的长度的变化而进行变化,通过设定数据文件的数量,读取多个文件数据流。4.根据权利要求1所述的数据文件拼接方法,其特征在于,所述步骤2中遍历所有文档的方法为:加快遍历算法的并发算法为:通过python的OS模块监控CPU负载,在负载低于90%时,每查找一个文件,便进行一次2^n运算,其中n表示文件的数量,生成一个新的文件读取线程;通过该方式,遍历文件的时间复杂度O(log(n)),对比逐文件读取的时间复杂度O(n),速度大幅提高。5.根据权利要求1所述的数据文件拼接方法,其特征在于,所述步骤2中地址识别的方法为:每行数据的第三段为数据的地址端,存储地址为2、3、...
【专利技术属性】
技术研发人员:王正,娄坤帅,康厚芹,
申请(专利权)人:东风汽车集团股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。