一种生成镜像文件的方法及编译器的制造方法

文档序号:6515490阅读:184来源:国知局
一种生成镜像文件的方法及编译器的制造方法
【专利摘要】本发明实施例公开了一种生成镜像文件的方法及编译器。本发明实施例的方法包括:将多个目标文件中的每个目标文件进行单独编译,得到多个目标文件中每个目标文件的体积,根据每个目标文件的内容在多个目标文件中查找起始地址为0的第一目标文件,根据多个目标文件中每个目标文件的体积和内容,使用第一脚本在多个目标文件的代码中对多个目标文件中每个剩余的目标文件的起始地址的数据进行修改,使用第二脚本将多个目标文件合成一个镜像文件,这样在编译时,根据每个目标文件的体积和内容确定每个目标文件在闪存中的起始地址,从而使得目标文件之间没有空闲的空间,使得生成的镜像文件小,避免浪费闪存的空间。
【专利说明】一种生成镜像文件的方法及编译器
【技术领域】
[0001]本发明实施例涉及通信领域,尤其涉及一种生成镜像文件的方法及编译器。
【背景技术】
[0002]人们往往通过高级语言,如C语音,C++等进行代码的编写,然后通过对编写的代码进行编译生成镜像文件。
[0003]现有技术中,引导装载程序(bootloader) —般由多个目标文件合并在一个闪存(norflash)中,但是在对每个目标文件编译时,都会在norflash中分配固定且足够大的空间,并不能保证每个目标文件的体积与其对应在norflash分配的空间大小相适应,这样往往会导致norflash中大量的空间被浪费,而且编译后生成的镜像文件大。

【发明内容】

[0004]本发明实施例提供了一种生成镜像文件的方法及编译器,能够使得生成的镜像文件小,避免浪费norflash的空间。
[0005]本发明实施例提供的数据传输方法,包括:将多个目标文件中的每个所述目标文件进行单独编译,得到多个所述目标文件中每个所述目标文件的体积,根据每个所述目标文件的内容在多个所述目标文件中查找起始地址为O的第一目标文件,根据多个所述目标文件中每个所述目标文件的体积和内容,使用第一脚本在多个所述目标文件的代码中对多个所述目标文件中每个剩余的所述目标文件的起始地址的数据进行修改,其中剩余的目标文件为多个目标文件中除了第一目标文件的目标文件,使用第二脚本将多个所述目标文件合成一个镜像文件。
[0006]本发明实施例提供的编译器,包括:第一编译单元将多个目标文件中的每个目标文件进行单独编译,得到多个目标文件中每个目标文件的体积,查找单元根据每个目标文件的内容在多个目标文件中查找起始地址为O的第一目标文件,修改单元根据多个目标文件中每个目标文件的体积和内容,使用第一脚本在多个目标文件的代码中对多个目标文件中每个剩余的目标文件的起始地址的数据进行修改,其中剩余的目标文件为多个目标文件中除了第一目标文件的目标文件,第二编译单元使用第二脚本将多个目标文件合成一个镜像文件。
[0007]从以上技术方案可以看出,本发明实施例具有以下优点:
[0008]将多个目标文件中的每个目标文件进行单独编译,得到多个目标文件中每个目标文件的体积,根据每个目标文件的内容在多个目标文件中查找起始地址为O的第一目标文件,根据多个目标文件中每个目标文件的体积和内容,使用第一脚本在多个目标文件的代码中对多个目标文件中每个剩余的目标文件的起始地址的数据进行修改,其中剩余的目标文件为多个目标文件中除了第一目标文件的目标文件,使用第二脚本将多个目标文件合成一个镜像文件,这样在编译时,根据每个目标文件的体积和内容确定每个目标文件在闪存中的起始地址,从而使得目标文件之间没有空闲的空间,使得生成的镜像文件小,避免浪费norflash的空间。
【专利附图】

【附图说明】
[0009]图1为本发明实施例中生成镜像文件一个实施例示意图;
[0010]图2为本发明实施例中生成镜像文件另一实施例示意图;
[0011]图3为本发明实施例中烧写前闪存的空间的示意图;
[0012]图4为本发明实施例中烧与后闪存的空间的不意图;
[0013]图5为本发明实施例中编译器一个实施例逻辑结构参考图;
[0014]图6为本发明实施例中编译器另一实施例的示意图。
【具体实施方式】
[0015]本发明实施例提供了一种生成镜像文件的方法及编译器,能够使得生成的镜像文件小,避免浪费norflash的空间。
[0016]请参阅图1,本发明实施例中一种生成镜像文件的方法的一个实施例包括:
[0017]101、将多个目标文件中的每个目标文件进行单独编译,得到多个目标文件中每个目标文件的体积;
[0018]本实施例中,对多个目标文件中的每一目标文件均进行单独编译,使用的编译语言不做限定,可以为汇编语言,也可以为C语言,当然本领域技术人员可以根据汇编语言及C语言所显而易见其它编译语言,然后通过编译得到每一个目标文件的体积,其中,目标文件的体积实际为目标文件的大小,例如,一个目标文件的体积为IOKB。
[0019]102、根据每个目标文件的内容在多个目标文件中查找起始地址为O的第一目标文件;
[0020]本实施例中,目标文件的内容决定在norflash中的先后顺序,根据每个目标文件的内容在多个目标文件中查找起始地址为O的第一目标文件,例如,bootstrap文件中包括系统初始化的数据,所以bootstrap文件的起始地址为O,在实际应用中,程序在启动时,均是从O地址开始启动,起始地址为O的数据无需存储在目标文件的代码中。
[0021]需要说明的是,第一目标文件为一个目标文件。
[0022]103、根据多个目标文件中每个目标文件的体积和内容,使用第一脚本在多个目标文件的代码中对多个目标文件中每个剩余的目标文件的起始地址的数据进行修改;
[0023]本实施例中,剩余的目标文件为多个目标文件中除了第一目标文件的目标文件,例如,共有四个目标文件,目标文件A、目标文件B、目标文件C和目标文件D,若在步骤102中查找到目标文件A的起始地址为0,则剩余的目标文件为目标文件B、目标文件C和目标文件D,然后,使用第一脚本在多个目标文件的代码中对多个目标文件中每个剩余的目标文件的起始地址的数据进行修改,脚本的选用为现有技术,此处不做赘述,在现有技术中,由于第一目标文件(即,起始地址为O的目标文件)的起始地址的数据不存储在目标文件之外,剩余的目标文件的起始地址的数据均对应存储在目标文件的代码中,例如,bootloader的四个目标文件,在闪存中从地址O开始依次为目标文件A、目标文件B、目标文件C和目标文件D,目标文件A的起始地址为0,目标文件A的代码中包括目标文件B的起始地址的数据,目标文件B的代码中包括目标文件C和目标文件D的起始地址的数据,此处起始地址对应在哪个目标文件的代码中为现有技术,此处不做赘述。
[0024]104、使用第二脚本将多个目标文件合成一个镜像文件。
[0025]本实施例中,当在步骤103中修改完起始地址的数据之后,使用第二脚本将多个目标文件合成一个镜像文件,此处如何使用第二脚本将多个目标文件合成一个镜像文件为现有技术,此处不做赘述。
[0026]本实施例中,将多个目标文件中的每个目标文件进行单独编译,得到多个目标文件中每个目标文件的体积,根据每个目标文件的内容在多个目标文件中查找起始地址为O的第一目标文件,根据多个目标文件中每个目标文件的体积和内容,使用第一脚本在多个目标文件的代码中对多个目标文件中每个剩余的目标文件的起始地址的数据进行修改,其中剩余的目标文件为多个目标文件中除了第一目标文件的目标文件,使用第二脚本将多个目标文件合成一个镜像文件,这样在编译时,根据每个目标文件的体积和内容确定每个目标文件的在闪存中的起始地址,从而使得目标文件之间没有空闲的空间,进而使得生成的镜像文件小,避免浪费norflash的空间。
[0027]为了便于理解,下面以一具体实例对本发明实施例的生成镜像文件的方法中进行描述,请参阅图2,本发明实施例中生成镜像文件的方法另一实施例包括:
[0028]201、将多个目标文件中的每个目标文件进行单独编译,得到多个目标文件中每个目标文件的体积;
[0029]本实施例中,对多个目标文件中的每一目标文件均进行单独编译,在实际应用中,使用的编译语言不做限定,可以为汇编语言,也可以为C语言,当然本领域技术人员可以根据汇编语言及C语言所显而易见其它编译语言,然后通过编译得到每一个目标文件的体积,其中,目标文件的体积实际为目标文件的大小,例如,一个目标文件的体积为IOKB。
[0030]202、根据每个目标文件的内容在多个目标文件中查找起始地址为O的第一目标文件;
[0031]本实施例中,目标文件的内容决定在norflash中的先后顺序,根据每个目标文件的内容在多个目标文件中查找起始地址为O的第一目标文件,例如,bootstrap文件中包括系统初始化的数据,所以bootstrap文件的起始地址为O,在实际应用中,程序在启动时,均是从O地址开始启动,起始地址为O的数据无需存储在目标文件的代码中。
[0032]需要说明的是,第一目标文件为一个目标文件。
[0033]203、根据多个目标文件中每个目标文件的体积和内容确定多个目标文件中每个目标文件在闪存中所占闪存地址的空间;
[0034]本实施例中,在步骤202查找到起始地址为O的第一目标文件后,根据多个目标文件中每个目标文件的体积和内容确定多个目标文件中每个目标文件在闪存中所占闪存地址的空间,在实际应用中,根据每个目标文件的内容可以确定每个目标文件在闪存中的排列,例如,四个目标文件分别为用于系统初始化的Bootstrap文件、用于启动内核的U-Boot(Universal Boot Loader)文件、内核(Kernel)和根文件系统(Rootfs),根据该四个目标文件的内容,在闪存中从地址O开始依次为Bootstrap、U-Boot> Kernel、Rootfs,假设以目标文件的体积为IOOK为单位,那么Bootstrap的体积为l,Bootstrap文件在闪存中所占闪存地址的空间为0-1,U-Boot的体积为2,U-Boot文件在闪存中所占闪存地址的空间为1_3,Kernel的体积为3,Kernel文件在闪存中所占闪存地址的空间为3_6,Rootfs的体积为4,Rootfs文件在闪存中所占闪存地址的空间为6-10。
[0035]204、使用第一脚本在多个目标文件的代码中对多个目标文件中剩余的每个目标文件的起始地址数据进行修改;
[0036]本实施例中,剩余的目标文件为多个目标文件中除了第一目标文件的目标文件,例如,共有四个目标文件,目标文件A、目标文件B、目标文件C和目标文件D,若在步骤102中查找到目标文件A的起始地址为0,则剩余的目标文件为目标文件B、目标文件C和目标文件D,然后,使用第一脚本在多个目标文件的代码中对多个目标文件中每个剩余的目标文件的起始地址的数据进行修改,脚本的选用为现有技术,此处不做赘述,在现有技术中,由于第一目标文件(即,起始地址为O的目标文件)的起始地址的数据不存储在目标文件之外,剩余的目标文件的起始地址的数据均对应存储在目标文件的代码中,例如,有四个目标文件,在闪存中从地址O开始依次为目标文件A、目标文件B、目标文件C和目标文件D,目标文件A的起始地址为0,目标文件A的代码中包括目标文件B的起始地址的数据,目标文件B的代码中包括目标文件C和目标文件D的起始地址的数据,在现有技术中,此处根据目标文件种类的不同,起始地址的数据在目标文件中存储位置也不同,此处不做限定。
[0037]205、使用第二脚本将多个目标文件合成一个镜像文件;
[0038]本实施例中,当在步骤204中修改完起始地址的数据之后,使用第二脚本将多个目标文件合成一个镜像文件,此处如何使用第二脚本将多个目标文件合成一个镜像文件为现有技术,此处不做赘述。
[0039]206、将镜像文件烧写到闪存中。
[0040]本实施例中,将在步骤205中生成的镜像文件烧写到norflash中。
[0041]本实施例中,将多个目标文件中的每个目标文件进行单独编译,得到多个目标文件中每个目标文件的体积,根据每个目标文件的内容在多个目标文件中查找起始地址为O的第一目标文件,根据多个目标文件中每个目标文件的体积和内容确定多个目标文件中每个目标文件在闪存中所占闪存地址的空间,使用第一脚本在多个目标文件的代码中对多个目标文件中剩余的每个目标文件的起始地址数据进行修改,使用第二脚本将多个目标文件合成一个镜像文件,将镜像文件烧写到闪存中,这样在编译时,根据每个目标文件的体积和内容确定每个目标文件在闪存中的起始地址和所占闪存地址的空间,从而使得目标文件之间没有空闲的空间,避免浪费norflash的空间,而且生成的镜像文件小,缩短了烧写到闪存中的时间。
[0042]为了便于上述实施例的理解,下面以bootloader的四个目标文件为例,该四个目标文件分别为目标文件A (Bootstrap)、目标文件B (U-Boot)、目标文件C (kernel)和目标文件D (Rootfs),对本发明实施例的生成镜像文件的方法中进行描述,请参阅图3和图4。
[0043]需要说明的是,本实施例中,假设目标文件A (Bootstrap)、目标文件B (U-Boot),目标文件C (kernel)和目标文件D (Rootfs)的体积以100K为单位进行说明。
[0044]首先对四个目标文件Bootstrap、U_Boot、kernel和Rootfs分别进行单独编译,分别得到Bootstrap文件、U-Boot文件、kernel文件和Rootfs文件的体积,假设Bootstrap文件的体积1,U-Boot文件的体积为2,kernel文件的体积为3,Rootfs文件的体积为4。
[0045]由于Bootstrap文件是用于系统初始化的文件,U-Boot文件是用于启动内核的文件,Kernel文件为内核,Rootfs文件为根文件系统,所以在操作系统(如,Linux)启动时,必须先进行系统初始化,所以Bootstrap文件的起始地址为O。
[0046]根据该四个目标文件的体积和内容就可以确定Bootstrap文件在闪存中所占闪存地址空间为0-l,U-Boot文件在闪存中所占闪存地址空间为l-3,Kernel文件在闪存中所占闪存地址空间为3-6,Rootfs文件在闪存中所占闪存地址空间为6-10。
[0047]使用第一脚本将Bootstrap文件的代码中的U-Boot文件的起始地址进行修改,将U-Boot文件的代码中Kerne文件的起始地址进行修改,将Kernel文件的代码中的Rootfs文件的起始地址进行修改。
[0048]然后,使用第二脚本将目标文件Bootstrap、U_Boot、kernel和Rootfs合成一个镜像文件,如图3中的虚线框为norflash的空间,然后将该生成的镜像文件烧写到如图3中的norflash中,烧写后,如图4,黑色框为目标文件A (Bootstrap)、目标文件B (U-Boot),目标文件C (kernel)和目标文件D (Rootfs)实际占用闪存的体积,该四个目标文件合起来是一个镜像文件,当系统启动时,从O地址开始运行Bootstrap文件,当Bootstrap文件运行完后,将Bootstrap文件的代码中的U-Boot文件的起始地址加载到norflash,然后运行U-Boot文件,当U-Boot文件运行完后,将U-Boot文件的代码中的kernel文件的起始地址加载到norflash,然后运行kernel文件,当kernel文件运行完后,将kernel文件的代码中的Rootfs文件的起始地址加载到norflash,在Rootfs文件运行完后,系统启动完毕,这样在编译时,根据每个目标文件的体积和内容确定每个目标文件在闪存中的起始地址和所占闪存地址的空间,从而使得目标文件之间没有空闲的空间,避免浪费norflash的空间,而且生成的镜像文件小,缩短了烧写到闪存中的时间。
[0049]下面对用于执行上述生成镜像文件的方法的本发明实施例的编译器进行说明,其基本逻辑结构参考图5,本发明实施例中编译器一个实施例包括:
[0050]第一编译单元501、查找单元502、修改单元503和第二编译单元504 ;
[0051]第一编译单元501,用于将多个目标文件中的每个目标文件进行单独编译,得到多个目标文件中每个目标文件的体积;
[0052]查找单元502,用于根据每个目标文件的内容在多个目标文件中查找起始地址为O的第一目标文件;
[0053]修改单元503,用于根据多个目标文件中每个目标文件的体积和内容,使用第一脚本在多个目标文件的代码中对多个目标文件中每个剩余的目标文件的起始地址的数据进行修改,其中剩余的目标文件为多个目标文件中除了第一目标文件的目标文件;
[0054]第二编译单元504,用于使用第二脚本将多个目标文件合成一个镜像文件。
[0055]本实施例中,第一编译单元501将多个目标文件中的每个目标文件进行单独编译,得到多个目标文件中每个目标文件的体积,查找单元502根据每个目标文件的内容在多个目标文件中查找起始地址为O的第一目标文件,修改单元503,用于根据多个目标文件中每个目标文件的体积和内容,使用第一脚本在多个目标文件的代码中对多个目标文件中每个剩余的目标文件的起始地址的数据进行修改,其中剩余的目标文件为多个目标文件中除了第一目标文件的目标文件,第二编译单元504使用第二脚本将多个目标文件合成一个镜像文件,这样在编译时,根据每个目标文件的体积和内容确定每个目标文件在闪存中的起始地址,从而使得目标文件之间没有空闲的空间,使得生成的镜像文件小,避免浪费norflash的空间。
[0056]为了更好的理解上述的实施例,下面以一具体实施例对编译器中包括的各个元件的交互对编译器中的数据交互方式进行说明,请参阅图6,本发明实施例中编译器另一实施例包括:包括:
[0057]第一编译单元601、查找单元602、修改单元603、第二编译单元604和烧写单元605 ;
[0058]其中修改单元603包括:确定模块6031和修改模块6032。
[0059]第一编译单元601将多个目标文件中的每个目标文件进行单独编译,得到多个目标文件中每个目标文件的体积,使用的编译语言不做限定,可以为汇编语言,也可以为C语言,当然本领域技术人员可以根据汇编语言及C语言所显而易见其它编译语言,其中,目标文件的体积实际为目标文件的大小,例如,一个目标文件的体积为10KB,然后第一编译单元601将得到的每个目标文件的体积发送至确定模块6031。
[0060]查找单元602根据每个目标文件的内容在多个目标文件中查找起始地址为O的第一目标文件,在实际应用中,目标文件的内容决定在norflash中的先后顺序,例如,bootstrap文件中包括系统初始化的数据,所以bootstrap文件的起始地址为O,在实际应用中,程序在启动时,均是从O地址开始启动,起始地址为O的数据无需存储在目标文件的代码中,需要说明的是,第一目标文件为一个目标文件,然后查找单元602告知确定模块6031第一目标文件的起始地址为O。
[0061]确定模块6031根据多个目标文件中每个目标文件的体积和内容确定多个目标文件中每个目标文件在闪存中所占闪存地址的空间,在实际应用中,确定模块6031根据每个目标文件的内容可以确定每个目标文件在闪存中的排列,例如,四个目标文件分别为用于系统初始化的Bootstrap文件、用于启动内核的U-Boot文件、内核(Kernel)和根文件系统(Rootfs),根据该四个目标文件的内容,在闪存中从地址O开始依次为Bootstrap、U-Boot、Kernel、Rootfs,假设以目标文件的体积为IOOK为单位,Bootstrap的体积为I,则在闪存中所占闪存地址的空间为0-l,U-Boot的体积为2,则在闪存中所占闪存地址的空间为1-3,Kernel的体积为3,则在闪存中所占闪存地址的空间为3_6,Rootfs的体积为4,则在闪存中所占闪存地址的空间为6-10,然后将确定的每个目标文件在闪存中所占闪存地址的空间发送到修改模块6032。
[0062]修改模块6032使用第一脚本在多个目标文件的代码中对多个目标文件中剩余的每个目标文件的起始地址数据进行修改,其中剩余的目标文件为多个目标文件中除了第一目标文件的目标文件,例如,共有四个目标文件,目标文件A、目标文件B、目标文件C和目标文件D,若查找单元602查找到目标文件A的起始地址为0,则剩余的目标文件为目标文件B、目标文件C和目标文件D,然后,修改模块6032使用第一脚本在多个目标文件的代码中对多个目标文件中每个剩余的目标文件的起始地址的数据进行修改,脚本的选用为现有技术,此处不做赘述,在现有技术中,由于第一目标文件(即,起始地址为O的目标文件)的起始地址的数据不存储在目标文件之外,剩余的目标文件的起始地址的数据均对应存储在目标文件的代码中,例如,有四个目标文件,在闪存中从地址O开始依次为目标文件A、目标文件
B、目标文件C和目标文件D,目标文件A的起始地址为0,目标文件A的代码中包括目标文件B的起始地址的数据,目标文件B的代码中包括目标文件C和目标文件D的起始地址的数据,在现有技术中,此处根据目标文件种类的不同,起始地址的数据在目标文件中存储位置也不同,此处不做限定,然后修改模块6032将修改后的多个目标文件发送至第二编译单元 604。
[0063]第二编译单元604使用第二脚本将从修改模块6032中得到的多个目标文件合成一个镜像文件,并将该镜像文件发送到烧写单元605,此处如何使用第二脚本将多个目标文件合成一个镜像文件为现有技术,此处不做赘述。
[0064]烧写单元605将接收到的镜像文件烧写到闪存中。
[0065]本实施例中,第一编译单元601将多个目标文件中的每个目标文件进行单独编译,得到多个目标文件中每个目标文件的体积,查找单元602根据每个目标文件的内容在多个目标文件中查找起始地址为O的第一目标文件,确定模块6031根据多个目标文件中每个目标文件的体积和内容确定多个目标文件中每个目标文件在闪存中所占闪存地址的空间,修改模块6032使用第一脚本在多个目标文件的代码中对多个目标文件中剩余的每个目标文件的起始地址数据进行修改,第二编译单元604使用第二脚本将多个目标文件合成一个镜像文件,烧写单元605将镜像文件烧写到闪存中,这样在编译时,根据每个目标文件的体积和内容确定每个目标文件在闪存中的起始地址和所占闪存地址的空间,从而使得目标文件之间没有空闲的空间,避免浪费norflash的空间,而且生成的镜像文件小,缩短了烧写到闪存中的时间。
[0066]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0067]以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【权利要求】
1.一种生成镜像文件的方法,其特征在于,所述方法包括: 将多个目标文件中的每个所述目标文件进行单独编译,得到多个所述目标文件中每个所述目标文件的体积; 根据每个所述目标文件的内容在多个所述目标文件中查找起始地址为O的第一目标文件; 根据多个所述目标文件中每个所述目标文件的体积和内容,使用第一脚本在多个所述目标文件的代码中对多个所述目标文件中每个剩余的所述目标文件的起始地址的数据进行修改,其中,剩余的所述目标文件为多个所述目标文件中除了所述第一目标文件的目标文件; 使用第二脚本将多个所述目标文件合成一个镜像文件。
2.根据权利要求1所述的方法,其特征在于,所述根据多个所述目标文件中每个所述目标文件的体积和内容,使用第一脚本在多个所述目标文件的代码中对多个所述目标文件中剩余的每个所述目标文件的起始地址的数据进行修改的具体步骤包括: 根据多个所述目标文件中每个目标文件的体积和内容确定多个所述目标文件中每个目标文件在闪存中所占闪存地址的空间; 使用第一脚本在多个所述目标文件的代码中对多个所述目标文件中剩余的每个所述目标文件的起始地址的数据进行修改。
3.根据权利要求1所述的方法,其特征在于,使用第二脚本将多个所述目标文件合成一个镜像文件之后的步骤还包括: 将所述镜像文件烧写到闪存中。
4.根据权利要求3所述的方法,其特征在于,所述闪存为非易失闪存norflash,所述镜像文件为引导装载程序bootloader。
5.一种编译器,其特征在于,所述编译器包括: 第一编译单元,用于将多个目标文件中的每个所述目标文件进行单独编译,得到多个所述目标文件中每个所述目标文件的体积; 查找单元,用于根据每个所述目标文件的内容在多个所述目标文件中查找起始地址为O的第一目标文件; 修改单元,用于根据多个所述目标文件中每个所述目标文件的体积和内容,使用第一脚本在多个所述目标文件的代码中对多个所述目标文件中每个剩余的所述目标文件的起始地址的数据进行修改,其中剩余的所述目标文件为多个所述目标文件中除了所述第一目标文件的目标文件; 第二编译单元,用于使用第二脚本将多个所述目标文件合成一个镜像文件。
6.根据权利要求4所述的编译器,其特征在于,所述修改单元包括: 确定模块,用于根据多个所述目标文件中每个目标文件的体积和内容确定多个所述目标文件中每个目标文件在闪存中所占闪存地址的空间; 修改模块,用于使用第一脚本在多个所述目标文件的代码中对多个所述目标文件中剩余的每个所述目标文件的起始地址的数据进行修改。
7.根据权利要求4所述的编译器,其特征在于,所述编译器还包括: 烧写单元,用于将所述镜像文件烧写到闪存中。
8.根据权利要求7所述的编译器,其特征在于, 所述闪存为非易失闪存norf lash,所述镜像文件为引导装载程序bootloader。
【文档编号】G06F9/45GK103544042SQ201310482386
【公开日】2014年1月29日 申请日期:2013年10月15日 优先权日:2013年10月15日
【发明者】张涛 申请人:广东威创视讯科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1