国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種out文件加載方法、裝置及系統(tǒng)的制作方法

      文檔序號(hào):8258104閱讀:945來(lái)源:國(guó)知局
      一種out文件加載方法、裝置及系統(tǒng)的制作方法
      【技術(shù)領(lǐng)域】
      [0001]本申請(qǐng)涉及嵌入式技術(shù)領(lǐng)域,特別是涉及一種out文件加載方法、裝置及系統(tǒng)。
      【背景技術(shù)】
      [0002]嵌入式vxWorks操作系統(tǒng)的模塊可執(zhí)行文件為out文件,類似于Windows環(huán)境下的exe可執(zhí)行文件,out文件為嵌入式vxWorks操作系統(tǒng)環(huán)境下的目標(biāo)文件格式。嵌入式vxfforks操作系統(tǒng)使用out文件模塊來(lái)進(jìn)行軟件發(fā)布,這樣做有利于代碼保密、系統(tǒng)裁剪等。
      [0003]傳統(tǒng)的嵌入式vxWorks操作系統(tǒng)中,out文件的加載依賴于基于嵌入式vxWorks操作系統(tǒng)構(gòu)建的文件系統(tǒng),out文件的加載是將各個(gè)OUt文件放在文件系統(tǒng)下,啟動(dòng)的時(shí)候根據(jù)配置文件加載OUt文件或者在啟動(dòng)代碼里將out文件的加載和順序固定設(shè)置好。
      [0004]通常情況下,嵌入式vxWorks操作系統(tǒng)的資源有限,并不是所有的嵌入式vxWorks操作系統(tǒng)都有大容量的存儲(chǔ)器用于構(gòu)建文件系統(tǒng),因此out文件的加載會(huì)受到存儲(chǔ)器的容量限制,并且基于嵌入式vxWorks操作系統(tǒng)構(gòu)建的文件系統(tǒng)本身存在著容易損壞的風(fēng)險(xiǎn),因此加載在文件系統(tǒng)中的out文件也容易丟失或者損壞。

      【發(fā)明內(nèi)容】

      [0005]有鑒于此,本申請(qǐng)?zhí)峁┮环Nout文件加載方法、裝置及系統(tǒng),以有效的解決嵌入式vxfforks操作系統(tǒng)中的out文件加載受到存儲(chǔ)器的容量限制、以及加載在文件系統(tǒng)中的out文件容易丟失或損壞的問(wèn)題。
      [0006]為了實(shí)現(xiàn)上述目的,本申請(qǐng)實(shí)施例提供的技術(shù)方案如下:
      [0007]一種out文件加載方法,包括:
      [0008]將需要加載的out文件從存儲(chǔ)器中讀取到內(nèi)存;
      [0009]調(diào)用vxWorks系統(tǒng)函數(shù)memDrvCreate O將所述內(nèi)存中的所述out文件構(gòu)造成偽1/0設(shè)備文件;
      [0010]調(diào)用vxWorks系統(tǒng)函數(shù)1adModuleO加載所述偽1/0設(shè)備文件,實(shí)現(xiàn)對(duì)所述out文件的加載。
      [0011]優(yōu)選地,所述將需要加載的out文件從存儲(chǔ)器中讀取到內(nèi)存,包括:
      [0012]對(duì)所述存儲(chǔ)器中的out文件的數(shù)據(jù)結(jié)構(gòu)進(jìn)行初始化;
      [0013]將文件指針指向所述存儲(chǔ)器中的out文件的起始地址;
      [0014]獲取所述起始地址在所述存儲(chǔ)器中相對(duì)于存儲(chǔ)器基地址的偏移地址和大小。
      [0015]優(yōu)選地,在所述調(diào)用vxWorks系統(tǒng)函數(shù)1adModuleO加載所述偽1/0設(shè)備文件之前,還包括:
      [0016]調(diào)用接口函數(shù)openO打開(kāi)所述偽內(nèi)存1/0設(shè)備文件,并獲取文件描述符;
      [0017]貝丨」,所述調(diào)用vxWorks系統(tǒng)函數(shù)1adModuleO加載所述偽1/0設(shè)備文件,包括:
      [0018]調(diào)用vxWorks系統(tǒng)函數(shù)1adModuleO根據(jù)所述文件描述符加載所述偽內(nèi)存1/0設(shè)備文件。
      [0019]—種out文件加載裝置,包括:
      [0020]讀取模塊,與所述讀取模塊相連接的構(gòu)造模塊,與所述構(gòu)造模塊相連接的加載模塊;
      [0021]所述讀取模塊將需要加載的out文件從存儲(chǔ)器中讀取到內(nèi)存;
      [0022]所述構(gòu)造模塊調(diào)用vxWorks系統(tǒng)函數(shù)memDrvCreate O將所述內(nèi)存中的所述out文件構(gòu)造成偽I/O設(shè)備文件;
      [0023]所述加載模塊調(diào)用vxWorks系統(tǒng)函數(shù)1adModule O加載所述偽1/0設(shè)備文件,實(shí)現(xiàn)對(duì)所述out文件的加載。
      [0024]優(yōu)選地,所述讀取模塊,包括:
      [0025]初始化單元,所述初始化單元對(duì)所述存儲(chǔ)器中的out文件的數(shù)據(jù)結(jié)構(gòu)進(jìn)行初始化;
      [0026]指向單元,所述指向單元將文件指針指向所述存儲(chǔ)器中的out文件的起始地址;
      [0027]獲取單元,所述獲取單元獲取所述起始地址在所述存儲(chǔ)器中相對(duì)于存儲(chǔ)器基地址的偏移地址和大小。
      [0028]優(yōu)選地,所述加載模塊,包括:
      [0029]獲取單元,所述獲取單元調(diào)用接口函數(shù)open O打開(kāi)所述偽內(nèi)存1/0設(shè)備文件,并獲取文件描述符;
      [0030]加載單元,所述獲取單元調(diào)用vxWorks系統(tǒng)函數(shù)1adModule O根據(jù)所述文件描述符加載所述偽內(nèi)存1/0設(shè)備文件。
      [0031]—種out文件加載系統(tǒng),包括:out文件加載裝置,與所述out文件加載裝置相連的存儲(chǔ)器,所述存儲(chǔ)器用于存儲(chǔ)out文件;
      [0032]所述out文件加載裝置包括:
      [0033]讀取模塊,與所述讀取模塊相連接的構(gòu)造模塊,與所述構(gòu)造模塊相連接的加載模塊;
      [0034]所述讀取模塊將需要加載的out文件從所述存儲(chǔ)器中讀取到內(nèi)存;
      [0035]所述構(gòu)造模塊調(diào)用vxWorks系統(tǒng)函數(shù)memDrvCreate O將所述內(nèi)存中的所述out文件構(gòu)造成偽1/0設(shè)備文件;
      [0036]所述加載模塊調(diào)用vxWorks系統(tǒng)函數(shù)1adModule O加載所述偽1/0設(shè)備文件,實(shí)現(xiàn)對(duì)所述out文件的加載。
      [0037]優(yōu)選地,所述讀取模塊,包括:
      [0038]初始化單元,所述初始化單元對(duì)所述存儲(chǔ)器中的out文件的數(shù)據(jù)結(jié)構(gòu)進(jìn)行初始化;
      [0039]指向單元,所述指向單元將文件指針指向所述存儲(chǔ)器中的out文件的起始地址;
      [0040]獲取單元,所述獲取單元獲取所述起始地址在所述存儲(chǔ)器中相對(duì)于存儲(chǔ)器基地址的偏移地址和大小。
      [0041]優(yōu)選地,所述加載模塊,包括:
      [0042]獲取單元,所述獲取單元調(diào)用接口函數(shù)open O打開(kāi)所述偽內(nèi)存1/0設(shè)備文件,并獲取文件描述符;
      [0043]加載單元,所述獲取單元調(diào)用vxWorks系統(tǒng)函數(shù)1adModule O根據(jù)所述文件描述符加載所述偽內(nèi)存I/O設(shè)備文件。
      [0044]由以上本申請(qǐng)?zhí)峁┑募夹g(shù)方案,將需要加載的out文件從存儲(chǔ)器中讀取到內(nèi)存;調(diào)用vxWorks系統(tǒng)函數(shù)memDrvCreate O將所述內(nèi)存中的所述out文件構(gòu)造成偽I/O設(shè)備文件;調(diào)用vxWorks系統(tǒng)函數(shù)1adModuleO加載所述偽I/O設(shè)備文件,實(shí)現(xiàn)對(duì)所述out文件的加載。這樣,直接從存儲(chǔ)器讀取out文件到內(nèi)存,并利用系統(tǒng)函數(shù)memDevCreateO將內(nèi)存中的out文件制作成一個(gè)偽I/O設(shè)備文件,使其能夠被1adModuleO函數(shù)調(diào)用,完成out文件的加載,該方案不需要使用文件系統(tǒng),可以有效的節(jié)省存儲(chǔ)器的存儲(chǔ)空間,并且由于在加載out文件時(shí)不使用文件系統(tǒng),可以避免文件系統(tǒng)損壞時(shí)導(dǎo)致的out文件丟失或者損壞等問(wèn)題,提高了嵌入式系統(tǒng)的整體可靠性。
      【附圖說(shuō)明】
      [0045]為了更清楚地說(shuō)明本申請(qǐng)實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本申請(qǐng)中記載的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
      [0046]圖1為本申請(qǐng)?zhí)峁┑囊环Nout文件加載方法的流程示意圖;
      [0047]圖2為本申請(qǐng)?zhí)峁┑囊环Nout文件加載裝置的結(jié)構(gòu)示意圖;
      [0048]圖3為本申請(qǐng)?zhí)峁┑囊环Nout文件加載系統(tǒng)的結(jié)構(gòu)示意圖。
      【具體實(shí)施方式】
      [0049]相關(guān)術(shù)語(yǔ)解釋:
      [0050]vxfforks:vxfforks操作系統(tǒng)是美國(guó)WindRiver公司于1983年設(shè)計(jì)開(kāi)發(fā)的一種嵌入式實(shí)習(xí)操作系統(tǒng)(RTOS),是嵌入式開(kāi)發(fā)環(huán)境的關(guān)鍵組成部分,該操作系統(tǒng)具有良好的持續(xù)發(fā)展能力、高性能的內(nèi)核以及友好的用戶開(kāi)發(fā)環(huán)境,在嵌入式實(shí)時(shí)操作系統(tǒng)領(lǐng)域占據(jù)一席之地;
      [0051]out文件:屬于ELF文件類型,可通過(guò)ftp工具將它加載到文件系統(tǒng)(比如使用copy命令加載到RAM盤)中,再調(diào)用Id或者1adModule函數(shù)加載到操作系統(tǒng)中運(yùn)行;
      [0052]1adModule:vxfforks操作系統(tǒng)提供的系統(tǒng)接口函數(shù),用于目標(biāo)文件的加載;
      [0053]Id:vxfforks操作系統(tǒng)提供的系統(tǒng)接口函數(shù),用于目標(biāo)文件的加載。
      [0054]為了使本技術(shù)領(lǐng)域的人員更好地理解本申請(qǐng)中的技術(shù)方案,下面將結(jié)合附圖,對(duì)本申請(qǐng)的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本申請(qǐng)保護(hù)的范圍。
      [0055]下面結(jié)合附圖,對(duì)本申請(qǐng)的實(shí)施方案進(jìn)行詳細(xì)描述。
      [0056]圖1為本申請(qǐng)?zhí)峁┑囊环Nout文件加載方法的流程示意圖。
      [0057]請(qǐng)參照?qǐng)D1所示,本申請(qǐng)實(shí)施例提供的out文件加載方法,包括:
      [0058]步驟SlOO:將需要加載的out文件從存儲(chǔ)器中讀取到內(nèi)存;
      [0059]在本申請(qǐng)實(shí)施例中,將需要加載的out文件從存儲(chǔ)器中讀取到內(nèi)存,可以包括:對(duì)所述存儲(chǔ)器中的OUt文件的數(shù)據(jù)結(jié)構(gòu)進(jìn)行初始化;將文件指針指向所述存儲(chǔ)器中的out文件的起始地址;獲取所述起始地址在所述存儲(chǔ)器中相對(duì)于存儲(chǔ)器基地址的偏移地址和大小。
      [0060]out文件是直接存儲(chǔ)在存儲(chǔ)器上的,本申請(qǐng)實(shí)施例不使用文件系統(tǒng),無(wú)需打開(kāi)文件,而是通過(guò)文件指針訪問(wèn)存儲(chǔ)器中的絕對(duì)地址讀取out文件到內(nèi)存,并獲取OUt文件相對(duì)于存儲(chǔ)器基地址的偏移量和文件大小。
      [0061]步驟S200:調(diào)用vxWorks系統(tǒng)函數(shù)memDrvCreate ()將所述內(nèi)存中的所述out文件構(gòu)造成偽1/0設(shè)備文件;
      [0062]在本申請(qǐng)實(shí)施例中,調(diào)用系統(tǒng)函數(shù)memDevCreateO將加載到內(nèi)存的out
      當(dāng)前第1頁(yè)1 2 3 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1