一种嵌入式设备程序烧录处理方法和系统的制作方法

文档序号:6632652阅读:245来源:国知局
一种嵌入式设备程序烧录处理方法和系统的制作方法
【专利摘要】本申请提供了一种嵌入式设备程序烧录处理方法和系统,在启动烧录工具之前,利用预存的ECC算法对所读取到的各分区数据进行处理,得到与各分区数据一一对应的ECC数据后,启动烧录工具,利用配置得到的各分区数据及其一一对应的ECC数据的起始地址和长度,将各分区数据和ECC数据成功烧录到嵌入式设备的Nand-flash存储器中,可见,本发明在启动烧录工具之前,就得到了嵌入式设备的Nand-flash存储器data区和00B区将要烧录的数据,无需烧录工具预存ECC算法,从而降低了对烧录工具的功能要求,即本发明利用任意烧录工具都能够将待烧录程序文件成功烧录到嵌入式设备的Nand-flash存储器中。
【专利说明】一种嵌入式设备程序烧录处理方法和系统

【技术领域】
[0001]本发明主要涉及嵌入式软件【技术领域】,更具体地说是涉及一种嵌入式设备程序烧录处理方法和系统。

【背景技术】
[0002]目前,具有容量大、改写速度快、成本低等优点的Nand-flash存储器被广泛应用到嵌入式设备中,如智能手机、数码相机、MP3随身听记忆卡、体积较小的U盘等,在实际生产中,需要将技术人员编写的程序烧录到这些嵌入式设备中的Nand-flash存储器,才能够使这些嵌入式设备实现所需要的功能,由此可见,如何将所编写的用于实现各种功能的待烧录程序成功烧录到嵌入式设备的Nand-flash存储器中,是保证所生产的嵌入式设备功能能够实现的基础。


【发明内容】

[0003]有鉴于此,本发明提供了一种嵌入式设备程序烧录处理方法和系统,保证了烧录工具将待烧录程序文件成功烧录到该嵌入式设备的Nand-flash存储器中。
[0004]为了实现上述目的,本申请提供了以下技术方案:
[0005]一种嵌入式设备程序烧录处理方法,包括:
[0006]读取外接存储设备中的待烧录程序文件中的各分区数据;
[0007]利用预存的ECC算法对所读取到的各分区数据进行处理,得到与所述各分区数据一一对应的ECC数据;
[0008]启动烧录工具,并配置所述各分区数据及其一一对应的ECC数据的起始地址和长度;
[0009]利用配置得到的所述起始地址和长度,将所述各分区数据及其一一对应的ECC数据烧录到嵌入式设备的Nand-flash存储器中。
[0010]优选的,在读取外接存储设备中的待烧录程序文件中的各分区数据之后,且利用预存的ECC算法对所读取到的各分区数据进行处理,得到与所述各分区数据一一对应的ECC数据之前,还包括:
[0011]判断所述待烧录程序文件中的各分区数据是否完整;
[0012]如果是,则进入所述利用预存的ECC算法对所读取到的各分区数据进行处理,得到与所述各分区数据一一对应的ECC数据步骤继续执行;
[0013]如果否,则输出待烧录程序文件不完整的提示信息。
[0014]优选的,利用配置得到的所述起始地址和长度,将所述各分区数据及其一一对应的ECC数据烧录到嵌入式设备的Nand-flash存储器中包括:
[0015]利用配置得到的所述各分区数据的起始地址和长度,将所述各分区数据烧录到嵌入式设备的Nand-flash存储器中的data区,并利用配置得到的所有ECC数据的起始地址和长度,将所述ECC数据烧录到所述Nand-flash存储器中的OOB区。
[0016]优选的,在启动烧录工具之前,还包括:
[0017]对所述各分区数据及其一一对应的ECC数据进行编译,生成镜像文件。
[0018]优选的,还包括:
[0019]判断所述各分区数据及其一一对应的ECC数据是否成功烧录到所述嵌入式设备的Nand-flash存储器中;
[0020]如果否,则返回所述利用配置得到的所述起始地址和长度,将所述各分区数据及其一一对应的ECC数据烧录到嵌入式设备的Nand-flash存储器中步骤继续执行。
[0021]优选的,当所述各分区数据及其一一对应的ECC数据成功烧录到所述嵌入式设备的Nand-flash存储器中时,输出烧录成功的提示信息。
[0022]一种嵌入式设备程序烧录处理系统,包括:
[0023]读取模块,用于读取外接存储设备中的待烧录程序文件中的各分区数据;
[0024]处理模块,用于利用预存的ECC算法对所读取到的各分区数据进行处理,得到与所述各分区数据一一对应的ECC数据;
[0025]启动配置模块,用于启动烧录工具,并配置所述各分区数据及其一一对应的ECC数据的起始地址和长度;
[0026]烧录模块,用于利用配置得到的所述起始地址和长度,将所述各分区数据及其一一对应的ECC数据烧录到嵌入式设备的Nand-flash存储器中。
[0027]优选的,还包括:
[0028]第一判断模块,用于判断所述待烧录程序文件中的各分区数据是否完整,如果是,则触发所述处理模块;
[0029]第一提示模块,用于在所述第一判断模块的判断结果为否时,输出待烧录程序文件不完整的提示信息。
[0030]优选的,所述烧录模块具体用于利用配置得到的所述各分区数据的起始地址和长度,将所述各分区数据烧录到嵌入式设备的Nand-flash存储器中的data区,并利用配置得到的所有ECC数据的起始地址和长度,将所述ECC数据烧录到所述Nand-flash存储器中的OOB 区。
[0031]优选的,还包括:
[0032]第二判断模块,用于判断所述各分区数据及其一一对应的ECC数据是否成功烧录到所述嵌入式设备的Nand-flash存储器中,如果否,触发所述烧录模块。
[0033]由此可见,与现有技术相比,本申请提供了一种嵌入式设备程序烧录处理方法和系统,在启动烧录工具之前,读取外接存储设备中的待烧录程序文件中的各分区数据,并利用预存的ECC(Elliptic Curves Cryptography,椭圆曲线加密)算法对所读取到的各分区数据进行处理,得到与所述各分区数据一一对应的ECC数据后,再启动烧录工具,利用配置得到的所述各分区数据及其一一对应的ECC数据的起始地址和长度,将所述各分区数据和ECC数据成功烧录到嵌入式设备的Nand-flash存储器中,由此可见,本发明在启动烧录工具之前,就得到了嵌入式设备的Nand-flash存储器data区和OOB区将要烧录的数据,无需烧录工具预存ECC算法,从而降低了对烧录工具的功能要求,也就是说,本发明利用任意烧录工具都能够将待烧录程序文件成功烧录到嵌入式设备的Nand-flash存储器中。

【专利附图】

【附图说明】
[0034]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0035]图1为本发明一种嵌入式设备程序烧录处理方法实施例的流程示意图;
[0036]图2为本发明一种嵌入式设备程序烧录处理系统实施例的结构示意图。

【具体实施方式】
[0037]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0038]目前,在嵌入式系统已经广泛应用到各电子设备中,如智能手机、数码相机、掌上电脑、机电设备、MP3随身听记忆卡、体积较小的U盘等,从软件角度看一个嵌入式系统通常可分为:
[0039]引导程序:包括固化在固件中的引导代码即Boot代码和引导装载程序即BootLoader两部分,其中,Boot代码为可选;
[0040]内核:用于管理系统给定的进程、内存、设备驱动程序、文件等,决定着系统的性能和稳定性;
[0041]文件系统:包括根文件系统和建立于FLASH内存设备之上的文件系统,通常用ram和disk作为根文件系统;
[0042]用户应用程序:特定于用户的应用程序。
[0043]在实际应用中,将二进制程序文件即待烧录程序文件写入存储设备中是嵌入式系统的程序烧录时必不可少的步骤,该待烧录程序文件通常包括上述引导程序、内核、文件系统及应用程序等,因此,为了将该待烧录程序文件成功烧录到上述嵌入式设备的Nand-flash存储器中, 申请人:通过在装有Linux系统的PC机上通过编译器编译出各分区数据的镜像文件,启动烧录工具后,配置该镜像文件中各分区数据的起始地址和长度,并据此将该镜像文件中的各分区数据烧录到Nand-flash存储器的data区,同时利用该烧录工具中的ECC(Elliptic Curves Cryptography,椭圆曲线加密)算法对该镜像文件进行处理,生成相应的ECC数据后,将该ECC数据写入该Nand-flash存储器的00B区,从而完成上述二进制程序的烧录。其中,该镜像文件包括引导程序、内核、文件系统以及应用程序等文件。
[0044]然而,在实际应用中,有时嵌入式设备中读写Nand-flash存储器所使用的ECC算法是烧录工具中没有的,所以,该烧录工具将无法对上述镜像文件进行处理生成ECC数据,从而也就无法完成烧录任务,也就是说,上述的嵌入式设备程序烧录处理方法要求烧录工具必须具有ECC算法,这大大限制了该方法的应用范围。
[0045]基于此,为了降低对烧录工具的功能要求,以便利用任意烧录工具都能够将待烧录程序文件成功烧录到嵌入式设备的Nand-flash存储器中,本发明提供了一种嵌入式设备程序烧录处理方法和系统,在启动烧录工具之前,读取到外接存储设备中的待烧录程序文件中的各分区数据时,利用预存的ECC算法对所读取到的各分区数据进行处理,得到与所述各分区数据一一对应的ECC数据后,再启动烧录工具,并利用配置得到的所述各分区数据及其一一对应的ECC数据的起始地址和长度,将所述各分区数据和ECC数据成功烧录到嵌入式设备的Nand-flash存储器中。由此可见,本发明在启动烧录工具之前,就得到了嵌入式设备的Nand-flash存储器data区和OOB区将要烧录的数据,无需烧录工具预存ECC算法对各分区数据进行处理以得到ECC数据,从而降低了对烧录工具的功能要求,也就是说,本发明利用任意烧录工具都能够将待烧录程序文件成功烧录到嵌入式设备的Nand-flash存储器中。
[0046]参照图1所示的本发明一种嵌入式设备程序烧录处理方法实施例的流程示意图,该方法可以包括以下步骤:
[0047]步骤SllO:读取外接存储设备中的待烧录程序文件中的各分区数据。
[0048]在本实施例的实际应用中,技术人员可根据嵌入式设备的实际应用需要编写实现该嵌入式设备各种功能的待烧录程序,并将所编写的待烧录程序文件保存在一存储设备中,应用于嵌入式系统的该待烧录程序文件可分为引导程序、内核、文件系统以及应用程序等各分区数据,当系统与该存储设备连接后,系统可直接读取该存储设备中的待烧录程序文件中的各分区数据。
[0049]可选的,在完成步骤SllO后,还可以判断所读取的待烧录程序文件中的各分区数据是否完整,如果是,则继续后续步骤;如果否,则输出待烧录程序文件不完整的提示信息,以便工作人员对待烧录程序进行及时修正。
[0050]其中,该提示信息可以以文字形式显示在预设窗口内,也可以以语音播报形式输出等,本发明对此不作具体限定。
[0051]步骤S120:利用预存的ECC算法对所读取到的各分区数据进行处理,得到与各分区数据--对应的ECC数据。
[0052]其中,ECC算法是一种现有的加密算法,则步骤S120中利用该ECC算法对各分区数据进行处理得到相应的ECC数据的具体处理过程可参见现有技术中自带的ECC算法对由各分区数据构成的镜像文件的处理过程,本发明在此不再详述。
[0053]可选的,本实施例可利用开源的MTD工具(Memory Technology Device,存储器技术设备)将待烧录程序文件中的各分区数据逐一读取出来,并在得到相应的ECC数据后,据此生成二进制的镜像文件,其中,需要说明的是,本发明中的镜像文件不同于上述实施例得到镜像文件,本发明实施例生成的镜像文件除了包括上述各分区数据,还包括上述得到的ECC数据。
[0054]步骤S130:启动烧录工具,并配置所述各分区数据及其一一对应的ECC数据的起始地址和长度。
[0055]结合上述分析可知,本发明是在得到嵌入式设备的Nand-flash存储器的data区数据(即上述各分区数据)和OOB区数据(即上述ECC数据)后,才启动烧录工具,因此,无需该烧录工具自带ECC算法,只需根据所得到的上述各分区数据和ECC数据的具体信息,对该各分区数据及其一一对应的ECC数据配置相应的起始地址和长度即可,大大降低了对烧录工具的功能要求。
[0056]其中,关于对上述各分区数据和对应的ECC数据的起始地址和长度的具体配置过程,属于本领域公知常识,本领域技术人员可根据所得到的各分区数据及其对应的ECC数据的具体信息,以及嵌入式设备的Nand-flash存储器的地址信息,灵活配置上述各类数据的起始地址和长度,本发明并不限定各类数据的具体起始地址和长度。
[0057]步骤S140:利用配置得到的上述起始地址和长度,将各分区数据及其一一对应的ECC数据烧录到嵌入式设备的Nand-flash存储器中。
[0058]其中,烧录工具如何利用已知的各类数据将要烧录到Nand-flash存储器中的起始地址和长度完成烧录任务属于本领域公知常识,本发明在此不再详述。
[0059]在本实施例的实际应用中,在对得到的各分区数据及其对应的ECC数据完成起始地址和长度的配置后,可利用该各分区数据配置的起始地址和长度,将该各分区数据烧录到嵌入式设备的Nand-flash存储器中的data区,并利用所有ECC数据配置的相应的起始地址和长度,将该ECC数据烧录到Nand-flash存储器中的OOB区。
[0060]可选的,在完成步骤S140后,系统还可以进一步判断所得到的各分区数据及其一一对应的ECC数据是否成功烧录到嵌入式设备的Nand-flash存储器中,如果否,则返回上述步骤S140继续执行直至烧录成功。
[0061]其中,当判断出各分区数据及其一一对应的ECC数据成功烧录到嵌入式设备的Nand-flash存储器中时,还可以输出烧录成功的提示信息,可选的,该提示信息可以以文字形式显示在预设窗口内,也可以以语音播报形式输出等,本发明对此不作具体限定。
[0062]基于上述分析可知,本发明实施例在启动烧录工具之前,就得到了嵌入式设备的Nand-flash存储器data区和OOB区将要烧录的数据,即各分区数据及其相应的ECC数据,无需烧录工具自带ECC算法对各分区数据进行处理以得到ECC数据,从而降低了对烧录工具功能的要求,也就是说,本发明利用任意烧录工具都能够将待烧录程序文件成功烧录到嵌入式设备的Nand-flash存储器中,扩大了本实施例所提供的嵌入式设备程序烧录处理方法的应用范围。
[0063]参照图2所示的一种嵌入式设备程序烧录处理系统实施例所示的结构示意图,该系统可以包括:
[0064]读取模块210,用于读取外接存储设备中的待烧录程序文件中的各分区数据。
[0065]处理模块220,用于利用预存的ECC算法对所读取到的各分区数据进行处理,得到与所述各分区数据一一对应的ECC数据。
[0066]启动配置模块230,用于启动烧录工具,并配置所述各分区数据及其一一对应的ECC数据的起始地址和长度。
[0067]烧录模块240,用于利用配置得到的所述起始地址和长度,将所述各分区数据及其一一对应的ECC数据烧录到嵌入式设备的Nand-flash存储器中。
[0068]在实际应用中,由于嵌入式设备的Nand-flash存储器分为data区和OOB区,则本实施例的烧录模块具体利用配置得到的各分区数据的起始地址和长度,将该各分区数据作为data区数据烧录到嵌入式设备的Nand-flash存储器中的data区,并利用配置得到的所有ECC数据的起始地址和长度,将该ECC数据作为OOB区数据烧录到该Nand-flash存储器中的OOB区。
[0069]由此可见,本发明实施例在启动烧录工具之前,通过读取模块读取外接存储设备中的待烧录程序文件中的各分区数据,并由处理模块利用预存的ECC算法对所读取到的各分区数据进行处理,得到与所述各分区数据一一对应的ECC数据,即得到了嵌入式设备的Nand-flash存储器data区和OOB区将要烧录的数据,当启动烧录工具之后,即可直接将所得data区数据和OOB区数据直接烧录到该Nand-flash存储器相应的data区和OOB区,无需烧录工具自带ECC算法对各分区数据进行处理以得到ECC数据,从而降低了对烧录工具功能的要求,使得本发明利用任意烧录工具都能够将待烧录程序文件成功烧录到嵌入式设备的Nand-flash存储器中,扩大了本实施例所提供的嵌入式设备程序烧录处理系统的应用范围。
[0070]可选的,在上述实施例的基础上,本发明的嵌入式设备程序烧录处理系统还可以包括:
[0071]第一判断模块,用于判断待烧录程序文件中的各分区数据是否完整,如果是,则触发上述处理模块220继续执行。
[0072]第一提示模块,用于在第一判断模块的判断结果为否时,输出待烧录程序文件不完整的提不?目息。
[0073]此外,系统还可以包括第二判断模块,用于判断各分区数据及其一一对应的ECC数据是否成功烧录到嵌入式设备的Nand-flash存储器中,如果否,触发上述烧录模块重新进行烧录操作。
[0074]需要说明的是,关于上述各实施例中,诸如第一、第二等之类的关系术语仅仅用来将一个操作或单元与另一个操作或单元区分开来,而不一定要求或者暗示这些单元或操作之间存在任何这种实际的关系或者顺序。
[0075]本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0076]对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
【权利要求】
1.一种嵌入式设备程序烧录处理方法,其特征在于,包括: 读取外接存储设备中的待烧录程序文件中的各分区数据; 利用预存的ECC算法对所读取到的各分区数据进行处理,得到与所述各分区数据一一对应的ECC数据; 启动烧录工具,并配置所述各分区数据及其一一对应的ECC数据的起始地址和长度;利用配置得到的所述起始地址和长度,将所述各分区数据及其一一对应的ECC数据烧录到嵌入式设备的Nand-flash存储器中。
2.根据权利要求1所述的方法,其特征在于,在读取外接存储设备中的待烧录程序文件中的各分区数据之后,且利用预存的ECC算法对所读取到的各分区数据进行处理,得到与所述各分区数据一一对应的ECC数据之前,还包括: 判断所述待烧录程序文件中的各分区数据是否完整; 如果是,则进入所述利用预存的ECC算法对所读取到的各分区数据进行处理,得到与所述各分区数据一一对应的ECC数据步骤继续执行; 如果否,则输出待烧录程序文件不完整的提示信息。
3.根据权利要求2所述的方法,其特征在于,利用配置得到的所述起始地址和长度,将所述各分区数据及其一一对应的ECC数据烧录到嵌入式设备的Nand-flash存储器中包括: 利用配置得到的所述各分区数据的起始地址和长度,将所述各分区数据烧录到嵌入式设备的Nand-flash存储器中的data区,并利用配置得到的所有ECC数据的起始地址和长度,将所述ECC数据烧录到所述Nand-flash存储器中的OOB区。
4.根据权利要求3所述的方法,其特征在于,在启动烧录工具之前,还包括: 对所述各分区数据及其一一对应的ECC数据进行编译,生成镜像文件。
5.根据权利要求3所述的方法,其特征在于,还包括: 判断所述各分区数据及其一一对应的ECC数据是否成功烧录到所述嵌入式设备的Nand-flash存储器中; 如果否,则返回所述利用配置得到的所述起始地址和长度,将所述各分区数据及其--对应的ECC数据烧录到嵌入式设备的Nand-flash存储器中步骤继续执行。
6.根据权利要求5所述的方法,其特征在于,当所述各分区数据及其一一对应的ECC数据成功烧录到所述嵌入式设备的Nand-flash存储器中时,输出烧录成功的提示信息。
7.一种嵌入式设备程序烧录处理系统,其特征在于,包括: 读取模块,用于读取外接存储设备中的待烧录程序文件中的各分区数据; 处理模块,用于利用预存的ECC算法对所读取到的各分区数据进行处理,得到与所述各分区数据--对应的ECC数据; 启动配置模块,用于启动烧录工具,并配置所述各分区数据及其一一对应的ECC数据的起始地址和长度; 烧录模块,用于利用配置得到的所述起始地址和长度,将所述各分区数据及其一一对应的ECC数据烧录到嵌入式设备的Nand-flash存储器中。
8.根据权利要求7所述的系统,其特征在于,还包括: 第一判断模块,用于判断所述待烧录程序文件中的各分区数据是否完整,如果是,则触发所述处理模块; 第一提示模块,用于在所述第一判断模块的判断结果为否时,输出待烧录程序文件不完整的提不?目息。
9.根据权利要求8所述的系统,其特征在于,所述烧录模块具体用于利用配置得到的所述各分区数据的起始地址和长度,将所述各分区数据烧录到嵌入式设备的Nand-flash存储器中的data区,并利用配置得到的所有ECC数据的起始地址和长度,将所述ECC数据烧录到所述Nand-flash存储器中的OOB区。
10.根据权利要求9所述的系统,其特征在于,还包括: 第二判断模块,用于判断所述各分区数据及其一一对应的ECC数据是否成功烧录到所述嵌入式设备的Nand-flash存储器中,如果否,触发所述烧录模块。
【文档编号】G06F9/445GK104317622SQ201410603663
【公开日】2015年1月28日 申请日期:2014年10月30日 优先权日:2014年10月30日
【发明者】唐健, 李昕, 孙海英 申请人:深圳市捷顺科技实业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1