新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > VxWorks系統(tǒng)的映像及其裝載過(guò)程解析

        VxWorks系統(tǒng)的映像及其裝載過(guò)程解析

        作者: 時(shí)間:2012-03-27 來(lái)源:網(wǎng)絡(luò) 收藏

          跳到位于RAM_LOW_ADRS地址的解壓的VxWorks的入口點(diǎn),引導(dǎo)代碼和堆棧空間將被覆蓋。
          (2)VxWorks_romResident(如圖2)
                    
          該映像包含引導(dǎo)代碼,在重啟時(shí)清空RAM,引導(dǎo)代碼只將data段拷貝到RAM 中的RAM_LOW_ADRS處。而系統(tǒng)的運(yùn)行是在ROM 中進(jìn)行的。
          相對(duì)其他映像,這種映像啟動(dòng)速度快,需要的RAM 空間少,但是運(yùn)行速度慢。
          (3)VxWorks

          該映像本身不包含引導(dǎo)程序,需要一個(gè)獨(dú)立的引導(dǎo)程序從本地存儲(chǔ)器或者經(jīng)由網(wǎng)絡(luò)獲取該映像,然后將其下載到RAM中的RAM_LOW_LADRS處運(yùn)行。這個(gè)獨(dú)立的引導(dǎo)程序就是上文提到的BootRom 類型映像,它可以分為BootRom_res、BootRom_uncmp和BootRom三種。在開(kāi)發(fā)過(guò)程中,獨(dú)立的引導(dǎo)程序需要使用傳統(tǒng)的BSP機(jī)制來(lái)配置和構(gòu)建。
        圖3所示是壓縮型的引導(dǎo)程序映像BootRom的標(biāo)準(zhǔn)啟動(dòng)流程,而B(niǎo)ootRom_uncmp是非壓縮型的引導(dǎo)程序映像,BootRom_res是常駐ROM 型的引導(dǎo)程序映像。
                  
          對(duì)BootRom型的引導(dǎo)映像來(lái)說(shuō),啟動(dòng)過(guò)程稍微復(fù)雜點(diǎn)。它包括壓縮部分跟非壓縮部分,這個(gè)無(wú)壓縮的部分就是romInit.s+ BootInit.c,稱為Bootstrap。一上電時(shí),Bootstrap就在Flash/ROM中執(zhí)行,入口點(diǎn)就是romInit.s的第一條語(yǔ)句。Bootstrap首先把自己拷貝到RAM_LOW_ADRS (因?yàn)榇藭r(shí)還沒(méi)有加載VxWorks主映像,所以先借用一下),然后解壓縮自身到RAM_HIGH_ADRS。然后跳到RAM_HIGH_ADRS運(yùn)行引導(dǎo)程序。引導(dǎo)代碼執(zhí)行后,把VxWorks映像裝入到起始地址為RAM_LOW_ ADRS的RAM 中(覆蓋掉了先前拷貝的bootstrap程序),然后跳轉(zhuǎn)到VxWorks映像裝入點(diǎn)運(yùn)行。
          對(duì)BootRom_uncmp來(lái)說(shuō),過(guò)程與BootRom 相似,只不過(guò)一開(kāi)始就把自身拷貝到RAM_HIGH_ADRS地址上運(yùn)行,省去了解壓縮的過(guò)程。
          對(duì)BootRom_res類型映像來(lái)說(shuō),僅僅將它的數(shù)據(jù)段拷貝到RAM_HIGH_ADRS位置。然后在Flash/ROM中運(yùn)行引導(dǎo)程序。其余過(guò)程同上。
          采用獨(dú)立引導(dǎo)程序的VxWorks系統(tǒng),不但可以通過(guò)本地存儲(chǔ)器(如硬盤(pán))獲取VxWorks主映像,還可以通過(guò)網(wǎng)絡(luò)獲取。圖4所示就是這個(gè)過(guò)程。被下載的VxWorks主映像位于RAM中的RAM_LOW_ADRS處,映像的頂端叫FREE_RAM_ADRS。下載完VxWorks后,引導(dǎo)程序跳到下載映像的sysInit()入口點(diǎn)處(位于RAM_LOW_ADRS)。從這以后,引導(dǎo)程序就完成了它的工作。
                   
        3 結(jié)束語(yǔ)
          總之,VxWorks系統(tǒng)包括多種不同的映像,各自之間的差別造成裝載過(guò)程的不同,正確的理解這些差異,靈活地使用這些映像,將給開(kāi)發(fā)者帶來(lái)事半功倍的效果。
        linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

        上一頁(yè) 1 2 下一頁(yè)

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 城口县| 石台县| 乐山市| 清流县| 阿勒泰市| 磐石市| 太仆寺旗| 佛坪县| 高雄市| 扬中市| 河东区| 曲阜市| 林周县| 咸宁市| 丰城市| 容城县| 耒阳市| 齐河县| 工布江达县| 乐亭县| 怀安县| 鄂尔多斯市| 全州县| 纳雍县| 芜湖市| 迭部县| 建阳市| 革吉县| 郎溪县| 丹寨县| 新民市| 湘潭市| 高尔夫| 定襄县| 常熟市| 罗田县| 会同县| 三原县| 筠连县| 昆明市| 新竹县|