一种VxWorksimage文件添加和读取版本号的方法及装置制造方法

文档序号:6512461阅读:482来源:国知局
一种VxWorks image文件添加和读取版本号的方法及装置制造方法
【专利摘要】本发明提供一种VxWorks?image文件添加和读取版本号的方法及装置,包括:在VxWorks?image目标文件的指定位置写入版本号标识,所述版本号标识用于标注在所述版本号标识的存储地址之后的地址中存储的数据为版本信息;在存储所述版本号标识的地址之后的地址内写入所述目标文件的版本信息。通过以上方法,可以实现将版本信息直接写入VxWorks?image目标文件中,在需要读取版本信息时,直接读取版本号标识之后的版本信息,而不需要再使用变量进行保存,避免了现有技术中为了读取版本信息需要把版本全局变量编译到VxWorks?image中并且只有启动后才能观察到版本的问题,方便在软件发布后对文件版本的直观的查看。
【专利说明】—种VxWorks image文件添加和读取版本号的方法及装置
【技术领域】
[0001]本发明涉及文件信息修改【技术领域】,特别涉及一种VxWorks image文件添加和读取版本号的方法及装置。
【背景技术】
[0002]Vxfforks image是VxWorks操作系统的映像文件,也是典型的ELF文件。
[0003]参见图1,该图为VxWorks image文件的逻辑结构图。
[0004]该文件的特点是最前面是ELF文件头,该ELF头是编译器编译的时候自动生成的。一般ELF文件头的长度是固定的,不同的体系结构可能会不一样,但对于同一种CPU结构是一样的,例如,对于运行在P0WERPC-32 (—种CPU架构)系列的VxWorks image的ELF文件头长度为0x80。
[0005]在ELF文件头后面是代码段,以及后面的数据段、其他段等。
[0006]由于VxWorks image文件可能存在多次编译的情况,因此在正常情况下VxWorksimage文件一般都设有版本号,以便于软件发布和管理。
[0007]在现有技术中,VxWorks image文件添加版本信息的方法通常为:
[0008]使用变量来保存版本信息,即在VxWorks代码里面定义一个字符串常量或者其他的整型变量,将版本信息设置在变量里面。在VxWorks image启动之后便可以从变量中读到版本信息。
[0009]但在以上的方法中存在一定的问题:
[0010]虽然可以使用变量来保存版本信息,但该方法不能使用户直接的查看到VxWorksimage文件的版本信息。因为,对于通过编译得到的用变量来保存版本信息的文件,如二进制文件,只有使用软件运行起来加载该文件后才能看到其中的版本信息。而且,如果之后对软件进行了发布,则从二进制文件中核对和检查版本信息变得更加困难,对软件的后续管理和维护带来不便。

【发明内容】

[0011]本发明要解决的技术问题是提供一种VxWorks image文件添加和读取版本号的方法及装置,将版本信息直观地写入在目标文件中,可以直接在二进制文件中查看版本,也可方便的在运行过程中查看版本信息,避免了现有技术中为了读取版本信息需要把版本全局变量编译到VxWorks image中且只有启动后才能观察到版本的问题。
[0012]一种VxWorks image文件添加版本号的方法,包括:
[0013]在目标文件的指定位置写入版本号标识,所述版本号标识用于标注在所述版本号标识的存储地址之后的地址中存储的数据为版本信息;
[0014]在存储所述版本号标识的地址之后的地址内写入所述目标文件的版本信息。
[0015]优选地,还包括:
[0016]在写入所述目标文件的版本信息之后的地址中,写入所述目标文件的文件信息。[0017]优选地,所述指定位置为所述目标文件的代码段的起始地址。
[0018]优选地,所述版本号标识具体为:跳转指令;
[0019]所述跳转指令是指在执行目标文件时能够将读取指针指向代码存储地址的指令。
[0020]一种VxWorks image文件版本号的读取方法,包括:
[0021]读取所述目标文件中指定地址存储的数据;
[0022]判断若所述指定地址存储的数据为版本号标识,则读取存储在所述版本号标识存储地址之后的地址中的版本信息;所述版本号标识用于标注在所述版本号标识的存储地址之后的地址中存储的数据为版本信息。
[0023]优选地,还包括:
[0024]读取存储所述版本信息的地址之后的地址中存储的所述目标文件的文件信息。
[0025]优选地,所述读取存储在所述版本号标识存储地址之后的地址中的版本信息之后,还包括:
[0026]判断读取到的所述版本信息是否符合版本信息要求;
[0027]若判断所述版本信息不符合版本信息要求,则向用户进行提示。
[0028]优选地,所述指定位置为所述目标文件的代码段的起始地址。
[0029]优选地,所述版本号标识具体为跳转指令;
[0030]所述跳转指令是指在执行目标文件时能够将读取指针指向代码存储地址的指令。
[0031]一种VxWorks image文件添加版本号的装置,包括:
[0032]版本标识写入单元和版本信息写入单元;
[0033]所述版本标识写入单元,用于在目标文件的指定位置写入版本号标识,所述版本号标识用于标注在所述版本号标识的存储地址之后的地址中存储的数据为版本信息;
[0034]所述版本信息写入单元,用于在存储所述版本号标识的地址之后的地址内写入所述目标文件的版本信息。
[0035]优选地,还包括:文件信息写入单元;
[0036]所述文件信息写入单元,用于在写入所述目标文件的版本信息之后的地址中写入所述目标文件的文件信息。
[0037]一种VxWorks image文件读取版本号的装置,包括:
[0038]读取单元、版本标识判断单元和获取版本信息单元;
[0039]所述读取单元,用于读取所述目标文件的指定地址存储的数据;
[0040]所述版本标识判断单元,用于判断所述起始地址的数据是否为版本号标识;
[0041]所述获取版本信息单元,用于若判断所述起始地址的数据为版本号标识,则读取存储在所述版本号标识存储地址之后的地址中的版本信息;所述版本号标识用于标注在所述版本号标识的存储地址之后的地址中存储的数据为版本信息。
[0042]优选地,还包括:文件信息读取单元;
[0043]所述文件信息读取单元,用于读取存储所述版本信息的地址之后的地址中存储的所述目标文件的文件信息。
[0044]优选地,还包括:信息验证单元和消息提示单元;
[0045]所述信息验证单元,用于对读取到的所述版本信息判断是否符合版本信息要求;
[0046]所述消息提示单元,用于若判断所述版本信息不符合版本信息要求,则向用户进行提示。
[0047]与现有技术相比,本发明具有以下优点:
[0048]在目标文件的指定位置写入版本号标识,所述版本号标识用于标注在所述版本号标识的存储地址之后的地址中存储的数据为版本信息。在存储所述版本号标识的地址之后的地址内写入所述目标文件的版本信息。通过以上方法,可以实现将版本信息直接写入目标文件中,在需要读取版本信息时,直接根据版本号标识读取版本信息,避免了现有技术中为了读取版本信息需要把版本全局变量编译到VxWorks image中且只有启动后才能观察到版本的问题,方便在软件发布后对文件版本的直观的查看。
【专利附图】

【附图说明】
[0049]图1是VxWorks image文件的逻辑结构图;
[0050]图2是本发明提供的文件添加版本号方法的第一实施例的流程图;
[0051]图3是本发明提供的文件添加版本号方法的第二实施例的流程图;
[0052]图4是本发明提供的文件读取版本号方法的第一实施例的流程图;
[0053]图5是本发明提供的文件读取版本号方法的第二实施例的流程图;
[0054]图6是本发明提供的文件读取版本号方法的第三实施例的流程图;
[0055]图7是本发明提供的文件添加版本号装置的第一实施例的原理框图;
[0056]图8是本发明提供的文件添加版本号装置的第二实施例的原理框图;
[0057]图9是本发明提供的文件读取版本号装置的第一实施例的原理框图;
[0058]图10是本发明提供的文件读取版本号装置的第二实施例的原理框图;
[0059]图11是本发明提供的文件读取版本号装置的第三实施例的原理框图。
【具体实施方式】
[0060]为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的【具体实施方式】做详细的说明。
[0061]参见图2,该图为本发明提供的VxWorks image文件添加版本号方法的第一实施例的流程图。
[0062]在本实施例中,包括:
[0063]S201:在目标文件的指定位置写入版本号标识,所述版本号标识用于标注在所述版本号标识的存储地址之后的地址中存储的数据为版本信息。
[0064]S202:在存储所述版本号标识的地址之后的地址内写入所述目标文件的版本信
肩、O
[0065]在实际需要对目标文件进行写入时,首先找到目标文件的指定位置,在指定位置内写入版本号标识。
[0066]该版本号标识用于标注在所述版本号标识的存储地址之后的地址中存储的数据为版本信息。
[0067]在本说明书中,以VxWorks image文件为例进行说明。
[0068]在实施时,可以将指定位置设置为代码段的起始地址,在写入版本号时可以在代码段的起始地址处写入版本号标识。[0069]在写入版本号标识的操作之后,在存储版本号标识的地址后面写入目标文件的版本信息。
[0070]该版本信息的存储长度可以由用户自行定义,只要是符合目标文件的规格即可。
[0071]在需要读取目标文件的版本信息时,读取的指针也会先读取目标文件的指定地址,即代码段的起始地址,再在判断起始地址存储的数据为版本号标识后,读取存储在版本号标识的地址之后的版本信息。从而实现对目标文件的版本信息的正确读取。
[0072]在目标文件的指定位置写入版本号标识,在存储所述版本号标识的地址之后的地址,写入所述目标文件的版本信息。通过以上方法,可以实现将版本信息直接写入目标文件中,在需要读取版本信息时,直接根据版本号标识读取版本信息,而不需要再使用变量进行保存避免了现有技术中为了读取版本信息需要把版本全局变量编译到vxWorks image中且只有启动后才能观察到版本的问题,方便在软件发布后对文件版本的直观的查看。
[0073]参见图3,该图为本发明提供的VxWorks image文件添加版本号方法的第二实施例的流程图。
[0074]在本实施例中的S301和S302步骤中的内容与第一实施例中的S201和S202的步骤相同,在此不再进行描述。
[0075]在本实施例中还包括:
[0076]S303:在写入所述目标文件的版本信息之后的地址中写入所述目标文件的文件信
肩、O
[0077]有些时候,为了更详细的描述目标文件的版本信息,可能还需要写入编译日期和时间等文件信息。因此,在将目标文件的版本信息写入后,还可以写入目标文件的其它文件信息。这样使得目标文件可以携带更多的信息。
[0078]在具体写入目标文件的文件信息时,可以紧邻目标文件的版本信息地址之后写入,也可以为版本信息预留一定字段空间后进行写入。
[0079]这样,在需要读取目标文件的文件信息时,只需要在读取目标文件的版本信息后继续进行读取,即可将目标文件的更多文件信息读取出来,方便用户的使用。
[0080]在以上方法中,还可以写入更多的用户信息。其写入信息的格式、内容等要求可以由用户进行定义。
[0081]在本实施例中,通过在目标文件的版本信息存储地址之后,再写入文件的文件信息或其它信息,可以实现目标文件携带更多的数据信息,方便用户使用。
[0082]本实施例为本发明提供的VxWorks image文件添加版本号的方法的第三实施例。
[0083]在本实施例中,所述指定位置为所述目标文件的代码段的起始地址,所述版本号标识为跳转指令。
[0084]由于ELF文件中代码段有很多函数,可以将指定某个函数为代码段的起始函数地址,这样,在读取或写入目标文件时,很容易直接找到版本号标识,提高读取和写入版本信息时的效率。
[0085]其中,版本号标识还可以是一个跳转指令。跳转指令可以在执行目标文件时能够将读取指针指向真正的代码存储地址。
[0086]在需要读取目标文件的版本信息时,则只需要判断在目标文件代码段的起始地址中的数据为版本号标识(即跳转指令),就可以直接读取跳转指令之后的版本信息。[0087]而在执行目标文件的代码段内容时,读取的指针会先读取目标文件的代码段起始地址,从而首先读取到版本号标识(即跳转指令),这时读取的指针就会跳转到跳转指令所指向的某一地址,之后从该地址继续读取后续的代码数据,从而不影响到代码段中其它正常数据的读取。
[0088]参见图4,该图为本发明提供的VxWorks image文件读取版本号方法的第一实施例的流程图。
[0089]在本实施例中,包括:
[0090]S401:读取所述目标文件的指定地址存储的数据。
[0091]S402:判断所述指定地址的数据是否为版本号标识。
[0092]S403:判断若所述指定地址的数据为版本号标识,则读取存储在所述版本号标识存储地址之后的地址中的版本信息;所述版本号标识用于标注在所述版本号标识的存储地址之后的地址中存储的数据为版本信息。
[0093]对于使用前文所提出的添加版本号的方法所形成的目标文件,可以使用本方法读取目标文件中的相关信息。
[0094]在需要读取目标文件中的版本信息时,首先读取目标文件的指定位置的存储的数据。
[0095]根据读取到的数据,判断读取到的数据是否为版本号标识。
[0096]如果存储的数据为版本号标识,则认为在存储版本号标识的地址之后的地址中存储的数据是目标文件的版本信息。
[0097]读取存储在跳转指令的地址之后的地址中存储的目标文件的版本信息。
[0098]在实施时,假设使用上文的版本信息添加方法在VxWorks image文件中存储有文件版本信息。因此,在VxWorks系统中如果需要读取这个目标文件时,使用d命令查看版本信息。
[0099]d命令是VxWorks下的一个调试命令,用来显示某个内存地址的内容,d命令带一个整型参数addr,该参数为需要查看的内存地址。
[0100]如果是在VxWorks image启动之后查看版本信息,可以直接使用d (RAM_L0W_ADRS)来查看,其中RAM_L0W_ADRS中的地址为VxWorksimage文件在内存中的地址。
[0101]在本实施例中,通过读取所述目标文件的指定地址存储的数据,判断若所述指定地址的数据为版本号标识,则读取存储在所述版本号标识存储地址之后的地址中的版本信息,实现对目标文件版本信息的直接读取,避免了现有技术中需要对目标文件进行加载后再读取版本信息的复杂操作。
[0102]参见图5,该图为本发明提供的VxWorks image文件读取版本号方法的第二实施例的流程图。
[0103]在本实施例中,S501、S502和S503的步骤内容与读取版本号方法第一实施例中的S40US402和S403步骤内容相同,在此不再进行描述。
[0104]在本实施例中,还包括:
[0105]S504:读取存储所述版本信息的地址之后的地址中存储的所述目标文件的文件信
肩、O
[0106]在现实中,可能目标文件中既携带版本信息又携带文件信息。[0107]此时,可以先读取目标文件的指定地址,在判断指定地址处存储的是版本号标识时,继续读取存储在版本号标识之后的目标文件的版本信息,以及存储在版本信息之后的文件信息。
[0108]其中,文件信息可以为编译日期和时间等文件信息,还可以为其它用户需要保存的其它信息。文件信息的长度也可由用户进行自由设定。
[0109]在本实施例中,在目标文件已经将版本信息和文件信息保存在目标文件中的情况下,通过在读取到目标文件的版本信息后继续读取存储在版本信息之后的目标文件的文件信息或其它用户写入的信息,从而实现在目标文件中的多种类、多规格的信息携带,用户在调取目标文件版本信息或文件信息时,只需要按照步骤逐步读取就可以直接得到目标文件的信息,而不再需要对目标文件先进行加载后再读取版本信息的操作,方便用户的使用。
[0110]参见图6,该图为本发明提供的VxWorks image文件读取版本号方法的第三实施例的流程图。
[0111]在本实施例中,S601、S602和S603的步骤内容与读取版本号方法第一实施例中的S40US402和S403步骤内容相同,在此不再进行描述。
[0112]在所述读取存储在所述跳转指令后面的版本信息之后,还包括:
[0113]S604:判断读取到的所述版本信息是否符合版本信息要求。
[0114]S605:若判断所述版本信息不符合版本信息要求,则向用户进行提示。
[0115]在正常情况下,在目标文件中的版本信息应该是以规定格式正常存储的,但在一些特殊情况下,比如读写错误,输入错误或者存储介质问题,可能会造成版本信息存储不正确。
[0116]因此,为了能够得到正确的版本信息,可以对读取到的所述版本信息判断是否符合版本信息要求。其中,版本信息要求可以为用户预置的对版本信息规定的格式或内容要求,例如:字段格式的要求、字段中数值的取值区间等。
[0117]在本实施例实施时,首先读取到目标文件的指定地址的数据,在判断该数据为版本号标识后,直接读取存储在版本号标识之后的文件版本信息。
[0118]在读到目标文件的文件版本信息后,对版本信息的格式和内容进行验证,如验证信息格式是否标准、信息内字段数值的取值区间等。
[0119]如果发现版本信息中的内容不正确或不符合预定的格式,则向用户进行提示。如使用弹出窗口告知用户读取的版本信息错误,或对界面中的某些关键字进行闪烁提示。
[0120]以上验证方法还可以包括对存储在目标文件版本信息之后的文件信息进行验证处理,提高文件信息的标准化和准确性。
[0121]在本实施例中,对读取到的所述版本信息判断是否符合版本信息要求,如果所述版本信息不符合预置的版本信息内容要求,则向用户进行提示。通过使用以上方法,可以对读取出的版本信息进行有效的验证,提高了目标文件中携带信息的准确性,避免因为错误的版本号对用户的误导。
[0122]本实施例为本发明提供的VxWorks image文件读取版本号方法的第四实施例。
[0123]在本实施例中,所述指定位置为所述目标文件的代码段的起始地址。所述版本号标识为跳转指令。
[0124]所述跳转指令是指在读取文件时能够将读取指针指向代码存储地址的指令。[0125]在本实施例中,所述指定位置为所述目标文件的代码段的起始地址,所述版本号标识为跳转指令。
[0126]由于ELF文件的代码段有很多函数,因此,可以将指定函数设置为代码段的起始地址,这样,在读取或写入目标文件时,很容易直接找到版本号标识,提高读取和写入版本信息时的效率。
[0127]其中,版本号标识还可以是一个跳转指令。跳转指令可以在读取文件时能够将读取指针指向其后的真正的代码存储地址的指令。
[0128]在需要读取目标文件的版本信息时,则只需要判断在目标文件代码段的起始地址中的数据是版本号标识(即跳转指令),就可以直接读取跳转指令之后的版本信息。
[0129]而在需要读取目标文件的代码段内容时,读取的指针会先读取目标文件的代码段起始地址,从而首先读取到版本号标识(即跳转指令),这时读取的指针就会跳转到跳转指令所指向的某一地址,之后从该地址继续读取后续的代码数据,从而不影响到代码段中其它正常数据的读取。
[0130]基于上述添加和读取VxWorks image文件版本号的方法,本发明还提供了添加和读取VxWorks image文件版本号的装置,下面结合具体实施例来详细说明其组成部分。
[0131]参见图7,该图为本发明提供的VxWorks image文件添加版本号装置的第一实施例的原理框图。
[0132]在本实施例中,包括:
[0133]版本标识写入单元701和版本信息写入单元702。
[0134]所述版本标识写入单元701,用于在目标文件的指定位置写入版本号标识,所述版本号标识用于标注在所述版本号标识的存储地址之后的地址中存储的数据为版本信息。
[0135]所述版本信息写入单元702,用于在存储所述版本号标识的地址之后的地址内写入所述目标文件的版本信息。
[0136]在实际需要对目标文件进行写入时,版本信息写入单元701首先找到目标文件的指定位置,在指定位置内写入版本号标识,该版本号标识用于标注在所述版本号标识的存储地址之后的地址中存储的数据为版本信息。
[0137]在写入跳转指令的操作之后,版本信息写入单元702在存储版本号标识的地址后面写入目标文件的版本信息。
[0138]该版本信息的存储长度可以由用户自行定义,只要符合目标文件的规定即可。
[0139]在需要读取目标文件的版本信息时,读取的指针也会先读取目标文件的指定地址,在判断指定地址存储的数据是版本号标识后,读取版本号标识之后的版本信息。从而实现对目标文件的版本信息的正确读取。
[0140]版本标识写入单元在目标文件的指定地址写入版本号标识,版本信息写入单元在存储所述版本号标识的地址之后的地址中版本信息写入单元写入所述目标文件的版本信息。通过以上装置,可以实现将版本信息直接写入目标文件中,在需要读取版本信息时,直接读取版本号标识之后的版本信息,而不需要再使用变量进行保存,方便在软件发布后对文件版本的直观的查看。
[0141]参见图8,该图为本发明提供的VxWorks image文件添加版本号装置的第二实施例的原理框图。[0142]在本实施例中还包括:文件信息写入单元801。
[0143]所述文件信息写入单元801,用于在写入所述目标文件的版本信息之后的地址中,写入所述目标文件的文件信息。
[0144]有些时候,为了更详细的描述目标文件的版本信息,可能还需要写入编译日期和时间等文件信息。
[0145]因此,在将目标文件的版本信息写入后,文件信息写入单元801还可以写入目标文件的其它文件信息。这样使得目标文件可以携带更多的信息。
[0146]在具体写入目标文件的文件信息时,可以紧邻目标文件的版本信息地址之后写入,也可以在数据段、其它段中的其它地址写入。
[0147]这样,在需要读取目标文件的文件信息时,只需要在读取目标的版本信息后继续进行读取,即可将目标文件的更多文件信息读取出来,方便用户的使用。
[0148]文件信息写入单元801,还可以写入更多的用户信息。其写入的格式、内容等要求可以由用户进行定义。
[0149]在本实施例中,通过文件信息写入单元在目标文件的版本信息存储地址之后,再写入文件的文件信息或其它信息,可以实现目标文件携带更多的数据信息,方便用户使用。
[0150]参见图9,该图为本发明提供的VxWorks image文件读取版本号装置的第一实施例的原理框图。
[0151]在本实施例中,包括:读取单元901、版本标识判断单元902和获取版本信息单元903。
[0152]所述读取起始地址单元901,用于读取所述目标文件的指定地址存储的数据。
[0153]所述版本标识判断单元902,用于判断所述起始地址的数据是否为版本号标识。
[0154]所述获取版本信息单元903,用于若所述起始地址的数据为版本号标识,则读取存储在所述版本号标识存储地址之后的地址中的版本信息;所述版本号标识用于标注在所述版本号标识的存储地址之后的地址中存储的数据为版本信息。
[0155]对于使用前文所提出的添加版本号的装置所形成的目标文件,可以使用本装置读取目标文件中的相关信息。
[0156]在需要读取目标文件中的版本信息时,读取单元901首先读取目标文件的指定地址存储的数据。
[0157]版本标识判断单元902,判断读取到的目标文件指定地址处所存储的数据是否为版本号标识。
[0158]如果存储的数据为版本号标识,则认为在版本号标识之后存储的是目标文件的版本信息。获取版本信息单元903继续读取在版本号标识之后的目标文件的版本信息,以实现对目标文件中版本信息的直接读取。
[0159]其中,所述版本号标识用于标注在所述版本号标识的存储地址之后的地址中存储的数据为版本信息,以保证版本信息的正常读取。
[0160]在实际使用时,可以使用VxWorks系统中的d命令查看版本信息。
[0161]d命令是VxWorks下的一个调试命令,用来显示某个内存地址的内容,d命令带一个整型参数addr,该参数就是想要查看的内存地址。
[0162]如果是在VxWorks image启动之后查看版本信息,可以直接使用d (RAM_L0W_ADRS)来查看,其中RAM_LOW_ADRS中的地址为VxWorks image文件在内存中的地址。
[0163]在本实施例中,读取单元首先读取代码段的起始地址处存储的数据,读取所述目标文件的指定地址存储的数据,版本标识判断单元判断所述起始地址的数据是否为版本号标识,获取版本信息单元用于若所述起始地址的数据为版本号标识,则读取存储在所述版本号标识存储地址之后的地址中的版本信息,通过以上装置,实现对目标文件版本信息的直接读取,避免了现有技术中需要先对目标文件进行加载再读取版本信息的复杂操作。
[0164]参见图10,该图为本发明提供的VxWorks image文件读取版本号装置的第二实施例的原理框图。
[0165]在本实施例中,还包括:文件信息读取单元1001。
[0166]所述文件信息读取单元1001,用于读取存储所述版本信息的地址之后的地址中存储的所述目标文件的文件信息。
[0167]在现实中,可能目标文件中既携带版本信息又携带文件信息。
[0168]此时,读取起始地址单元1001可以先读取目标文件的指定地址,版本标识判断单元1002在判断指定地址处存储的是否为版本号标识后,获取版本信息单元1003继续读取存储在版本号标识之后的目标文件的版本信息,文件信息读取单元1004则读取存储在版本信息之后的文件信息。
[0169]其中,文件信息可以为编译日期和时间等文件信息,还可以为其它用户需要保存的其它信息。文件信息的长度也可由用户进行自由设定。
[0170]在本实施例中,在目标文件已经将版本信息和文件信息保存在目标文件中的情况下,文件信息读取单元通过在读取到目标文件的版本信息后继续读取存储在版本信息之后的目标文件的文件信息或其它用户写入的信息,从而实现在目标文件中的多种类、多规格的信息携带,用户在调取目标文件版本信息或文件信息时,可以直接得到目标文件的信息,而不再需要先对目标文件进行加载再读取版本信息的操作,方便用户的使用。
[0171]参见图11,该图为本发明提供的VxWorks image文件读取版本号装置的第三实施例的原理框图。
[0172]在本实施例中,还包括:信息验证单元1101和消息提示单元1102。
[0173]所述信息验证单元1101,用于对读取到的所述版本信息判断是否符合版本信息要求;
[0174]所述消息提示单元1102,用于若判断所述版本信息不符合版本信息要求,则向用户进行提示。
[0175]在正常情况下,在文件中的版本信息应该是正确格式存储的正常数据,但在一些特征情况下,比如读写错误,输入错误或者存储介质问题,可能会造成版本信息存储不正确。
[0176]因此,为了能够得到正确的版本信息,可以使用信息验证单元1101对读取到的所述版本信息判断是否符合版本信息要求。其中,版本信息要求可以为用户预置的对版本信息规定的格式或内容要求,例如:字段格式的要求、字段中数值的取值区间等。
[0177]在本实施例实施时,首先读取到目标文件的指定位置数据,在判断为版本号标识后,直接读取存储在版本号标识之后的文件版本信息。
[0178]信息验证单元1101对版本信息的格式和内容进行验证,如验证信息格式是否标准、信息内字段数值的取值区间等。
[0179]如果发现版本信息中的内容不正确或不符合预定的格式,则消息提示单元1102向用户进行提示,告知用户读取的版本信息错误。
[0180]以上验证方法还可以包括对存储在目标文件版本信息之后文件信息进行验证处理,提闻文件/[目息的标准化和准确性。
[0181]在本实施例中,信息验证单元对读取到的所述版本信息判断是否符合版本信息要求,如果所述版本信息不符合预置的版本信息内容要求,则消息提示单元向用户进行提示。通过使用以上装置,可以对读取出的版本信息进行有效的验证,提高了目标文件中携带信息的准确性,避免因为错误的版本号对用户的误导。
[0182]以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
【权利要求】
1.一种VxWorks image文件添加版本号的方法,其特征在于,包括: 在目标文件的指定位置写入版本号标识,所述版本号标识用于标注在所述版本号标识的存储地址之后的地址中存储的数据为版本信息; 在存储所述版本号标识的地址之后的地址内写入所述目标文件的版本信息。
2.根据权利要求1所述的方法,其特征在于,还包括: 在写入所述目标文件的版本信息之后的地址中,写入所述目标文件的文件信息。
3.根据权利要求1所述的方法,其特征在于,所述指定位置为所述目标文件的代码段的起始地址。
4.根据权利要求3所述的方法,其特征在于,所述版本号标识具体为:跳转指令; 所述跳转指令是指在执行目标文件时能够将读取指针指向代码存储地址的指令。
5.—种VxWorks image文件版本号的读取方法,其特征在于,包括: 读取所述目标文件中指定地址存储的数据; 判断若所述指定地址存储的数据为版本号标识,则读取存储在所述版本号标识存储地址之后的地址中的版本信息;所述版本号标识用于标注在所述版本号标识的存储地址之后的地址中存储的数据为版本信息。
6.根据权利要求5所述的方法,其特征在于,还包括: 读取存储所述版本信息的地址之后的地址中存储的所述目标文件的文件信息。.
7.根据权利要求5所述的方法,其特征在于,所述读取存储在所述版本号标识存储地址之后的地址中的版本信息之后,还包括: 判断读取到的所述版本信息是否符合版本信息要求; 若判断所述版本信息不符合版本信息要求,则向用户进行提示。
8.根据权利要求5所述的方法,其特征在于,所述指定位置为所述目标文件的代码段的起始地址。
9.根据权利要求8所述的方法,其特征在于,所述版本号标识具体为跳转指令; 所述跳转指令是指在执行目标文件时能够将读取指针指向代码存储地址的指令。
10.一种VxWorks image文件添加版本号的装置,其特征在于,包括: 版本标识写入单元和版本信息写入单元; 所述版本标识写入单元,用于在目标文件的指定位置写入版本号标识,所述版本号标识用于标注在所述版本号标识的存储地址之后的地址中存储的数据为版本信息; 所述版本信息写入单元,用于在存储所述版本号标识的地址之后的地址内写入所述目标文件的版本信息。
11.根据权利要求10所述的装置,其特征在于,还包括:文件信息写入单元; 所述文件信息写入单元,用于在写入所述目标文件的版本信息之后的地址中写入所述目标文件的文件信息。
12.—种VxWorks image文件读取版本号的装置,其特征在于,包括: 读取单元、版本标识判断单元和获取版本信息单元; 所述读取单元,用于读取所述目标文件的指定地址存储的数据; 所述版本标识判断单元,用于判断所述起始地址的数据是否为版本号标识; 所述获取版本信息单元,用于若判断所述起始地址的数据为版本号标识,则读取存储在所述版本号标识存储地址之后的地址中的版本信息;所述版本号标识用于标注在所述版本号标识的存储地址之后的地址中存储的数据为版本信息。
13.根据权利要求12所述的装置,其特征在于,还包括:文件信息读取单元; 所述文件信息读取单元,用于读取存储所述版本信息的地址之后的地址中存储的所述目标文件的文件信息。
14.根据权利要求12所述的装置,其特征在于,还包括:信息验证单元和消息提示单元; 所述信息验证单元,用于对读取到的所述版本信息判断是否符合版本信息要求; 所述消息提示单元,用于若判断所述版本信息不符合版本信息要求,则向用户进行提示。
【文档编号】G06F9/44GK103473066SQ201310432107
【公开日】2013年12月25日 申请日期:2013年9月22日 优先权日:2013年9月22日
【发明者】刘永阳, 郝波, 肖家博, 曹海浪 申请人:南车株洲电力机车研究所有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1