一种out文件加载方法、装置及系统的制作方法_3

文档序号:8258104阅读:来源:国知局
[0091]out文件是直接存储在存储器上的,本申请实施例不使用文件系统,无需打开文件,而是通过访问存储器中的绝对地址读取out文件到内存,并获取out文件相对于存储器基地址的偏移量和文件大小。
[0092]在本申请实施例中,构造模块2调用系统函数memDevCreate O将加载到内存的out文件映像制作成一个伪内存I/O设备文件,制造成伪内存I/O设备文件后就可以使用文件系统中的I/O接口。
[0093]在本申请实施例中,加载模块3调用vxWorks系统函数1adModule O加载所述伪I/O设备文件时,首先由获取单元调用系统接口函数open O,打开伪内存1/0设备文件,获得文件描述符,然后由加载单元调用1adModuleO函数,加载生成的伪内存1/0设备文件并执行其接口函数,完成out文件的加载。
[0094]制作出来的伪内存1/0设备文件可以被接口函数open()打开并获得文件描述符,得到文件描述符之后,就可以使用系统函数1adModuleO加载所述伪1/0设备文件,实现对所述out文件的加载。
[0095]本申请提供的技术方案,将需要加载的out文件从存储器中读取到内存;调用vxfforks系统函数memDrvCreate O将所述内存中的所述out文件构造成伪1/0设备文件;调用vxWorks系统函数1adModule O加载所述伪1/0设备文件,实现对所述out文件的加载。这样,直接从存储器读取out文件到内存,并利用系统函数memDevCreate O将内存中的out文件制作成一个伪1/0设备文件,使其能够被1adModuleO函数调用,完成out文件的加载,该方案不需要使用文件系统,可以有效的节省存储器的存储空间,并且由于在加载out文件时不使用文件系统,可以避免文件系统损坏时导致的out文件丢失或者损坏等问题,提高了嵌入式系统的整体可靠性。
[0096]而且,相对于现有的不基于文件系统的out文件加载方法,本申请的技术方案直接从存储器读取out文件到内存,并利用系统函数memDevCreate O将将加载到内存文件中的out文件映像模拟成一个伪1/0设备文件,实现open O函数对其的访问,获得文件描述符,使其能够被系统函数1adModuleO访问,最终实现out文件的加载。这种方法原理简洁,不需要增加新的接口函数,复杂度低,维护难度低,可靠性好。该方法使用简便,原理清晰易懂,可以便捷地实现不基于文件系统的vxWorks操作系统的out文件的加载。
[0097]需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0098]专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能宄竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0099]结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程R0M、电可擦除可编程R0M、寄存器、硬盘、可移动磁盘、CD-R0M、或技术领域内所公知的任意其它形式的存储介质中。
[0100]最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0101]以上对本发明所提供的方案进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
【主权项】
1.一种out文件加载方法,其特征在于,包括: 将需要加载的out文件从存储器中读取到内存; 调用vxWorks系统函数memDrvCreate ()将所述内存中的所述out文件构造成伪I/O设备文件; 调用vxWorks系统函数1adModule ()加载所述伪I/O设备文件,实现对所述out文件的加载。
2.根据权利要求1所述的方法,其特征在于,所述将需要加载的out文件从存储器中读取到内存,包括: 对所述存储器中的out文件的数据结构进行初始化; 将文件指针指向所述存储器中的out文件的起始地址; 获取所述起始地址在所述存储器中相对于存储器基地址的偏移地址和大小。
3.根据权利要求1所述的方法,其特征在于,在所述调用vxWorks系统函数1adModule ()加载所述伪I/O设备文件之前,还包括: 调用接口函数open()打开所述伪内存I/O设备文件,并获取文件描述符; 贝>],所述调用vxWorks系统函数1adModule ()加载所述伪I/O设备文件,包括: 调用vxWorks系统函数1adModule ()根据所述文件描述符加载所述伪内存I/O设备文件。
4.一种out文件加载装置,其特征在于,包括: 读取模块,与所述读取模块相连接的构造模块,与所述构造模块相连接的加载模块; 所述读取模块将需要加载的out文件从存储器中读取到内存; 所述构造模块调用vxWorks系统函数memDrvCreate ()将所述内存中的所述out文件构造成伪I/O设备文件; 所述加载模块调用vxWorks系统函数1adModule ()加载所述伪I/O设备文件,实现对所述out文件的加载。
5.根据权利要求4所述的装置,其特征在于,所述读取模块,包括: 初始化单元,所述初始化单元对所述存储器中的out文件的数据结构进行初始化; 指向单元,所述指向单元将文件指针指向所述存储器中的OUt文件的起始地址; 获取单元,所述获取单元获取所述起始地址在所述存储器中相对于存储器基地址的偏移地址和大小。
6.根据权利要求4所述的装置,其特征在于,所述加载模块,包括: 获取单元,所述获取单元调用接口函数open ()打开所述伪内存I/O设备文件,并获取文件描述符; 加载单元,所述获取单元调用vxWorks系统函数1adModule ()根据所述文件描述符加载所述伪内存I/O设备文件。
7.—种out文件加载系统,其特征在于,包括:out文件加载装置,与所述out文件加载装置相连的存储器,所述存储器用于存储out文件; 所述out文件加载装置包括: 读取模块,与所述读取模块相连接的构造模块,与所述构造模块相连接的加载模块; 所述读取模块将需要加载的OUt文件从所述存储器中读取到内存; 所述构造模块调用vxWorks系统函数memDrvCreate ()将所述内存中的所述out文件构造成伪I/O设备文件; 所述加载模块调用vxWorks系统函数1adModule ()加载所述伪I/O设备文件,实现对所述out文件的加载。
8.根据权利要求7所述的系统,其特征在于,所述读取模块,包括: 初始化单元,所述初始化单元对所述存储器中的OUt文件的数据结构进行初始化; 指向单元,所述指向单元将文件指针指向所述存储器中的OUt文件的起始地址; 获取单元,所述获取单元获取所述起始地址在所述存储器中相对于存储器基地址的偏移地址和大小。
9.根据权利要求7所述的系统,其特征在于,所述加载模块,包括: 获取单元,所述获取单元调用接口函数open ()打开所述伪内存I/O设备文件,并获取文件描述符; 加载单元,所述获取单元调用vxWorks系统函数1adModule ()根据所述文件描述符加载所述伪内存I/O设备文件。
【专利摘要】本申请公开了一种out文件加载方法、装置及系统,将需要加载的out文件从存储器中读取到内存;调用vxWorks系统函数memDrvCreate()将内存中的out文件构造成伪I/O设备文件;调用vxWorks系统函数loadModule()加载伪I/O设备文件,实现对out文件的加载。这样,从存储器读取out文件到内存,利用系统函数memDevCreate()将内存中的out文件制作成一个伪I/O设备文件,使其能够被loadModule()函数调用,完成out文件的加载,不需要使用文件系统,可以有效的节省存储器的存储空间,并且可以避免文件系统损坏时导致的out文件丢失或者损坏等问题。
【IPC分类】G06F9-445
【公开号】CN104572224
【申请号】CN201510057397
【发明人】曹海浪, 刘永阳, 杨卫峰, 粟爱军, 肖家博, 郝波
【申请人】南车株洲电力机车研究所有限公司
【公开日】2015年4月29日
【申请日】2015年2月4日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1