本發明專利技術涉及程序控制裝置,特別涉及VxWorks系統的引導啟動技術。本發明專利技術解決了現有BootRom引導系統占用存儲器空間大,影響啟動速度,硬件成本高的問題,提供了一種嵌入式設備引導方法,以降低硬件成本,簡化啟動程序,提高啟動速度。本發明專利技術在VxWorks操作系統中提供的BootRom軟件包中,去掉TFFS和DOS文件系統,節約了存儲器空間,降低了設備的硬件成本。由于不使用TFFS和DOS文件系統,不需要分配大塊的內存,BootRom自身初始化時,可以只初始化比較小的一塊內存。另外,由于加載應用程序的映像時減少了拷貝次數,提高了系統的啟動速度。
【技術實現步驟摘要】
本專利技術涉及程序控制裝置,特別涉及VxWorks系統的引導啟動技術。
技術介紹
美國Wind River公司的實時嵌入式系統VxWorks已經廣泛的應用在通信行業的通信產品中,VxWorks提供的BootRom已經被廣泛應用于各類嵌入式系統設備的引導。在用VxWorks系統進行開發時,會生成兩個文件,一個是BootRom映像文件,完成基本硬件的初始化并最終引導VxWorks系統啟動;另外一個是VxWorks映像文件,此文件中包括VxWorks操作系統內核及上層應用程序,可以簡稱為應用程序映像文件。現有VxWorks系統的BootRom加載應用程序時,一般使用VxWorks操作系統的TFFS和DOS文件系統,這樣使得BootRom本身要占用比較大的存儲器空間,一般需要512K的空間,有的甚至超過了512K,這就增加了硬件成本。同時BootRom運行時也需要比較大的內存空間,因此BootRom文件空間的大小影響系統的啟動速度。
技術實現思路
本專利技術所要解決的技術問題,就是針對現有BootRom引導系統占用存儲器空間大,影響啟動速度,硬件成本高的缺點,提供一種,以降低硬件成本,簡化啟動程序,提高啟動速度。本專利技術解決所述技術問題,采用的技術方案是,,包括以下步驟a.構建應用程序映像文件的頭文件信息,包括應用程序的入口地址及其駐留內存的起始地址;b.BootRom引導程序啟動后,讀取所述頭文件信息,并記錄在內存中; c.BootRom引導文件根據所述頭文件信息,讀取應用程序映像文件并寫入到內存中的相應位置,并跳轉到應用程序的入口地址執行;d.啟動程序完成。本專利技術的有益效果是,在VxWorks操作系統提供的BootRom軟件包中,去掉TFFS和DOS文件系統,節約了存儲器空間,降低了設備的硬件成本。由于不使用TFFS和DOS文件系統,不需要分配大塊的內存,BootRom自身初始化時,可以只初始化比較小的一塊內存。另外,由于加載應用程序的映像時減少了拷貝次數,提高了系統的啟動速度。附圖說明圖1是本專利技術引導程序流程圖。具體實施例方式本專利技術的技術方案是,,包括以下步驟a.構建應用程序映像文件的頭文件信息,包括應用程序的入口地址及其駐留內存的起始地址;b.BootRom引導程序啟動后,讀取所述頭文件信息,并記錄在內存中;c.BootRom引導文件根據所述頭文件信息,讀取應用程序映像文件并寫入到內存中的相應位置,并跳轉到應用程序的入口地址執行;d.啟動程序完成;進一步的是,步驟a中,所述頭文件信息還包括應用程序映像文件的大小和壓縮屬性;進一步的是,步驟c中,BootRom引導文件讀取壓縮的應用程序映像文件后,先將應用程序映像文件解壓縮再寫入內存;更進一步的是,步驟a中應用程序入口地址為固定地址。本專利技術在BootRom源程序的編譯選項中,去掉TFFS和DOS文件系統;同時分析VxWorks的應用程序的ELF映像文件結構,構建應用程序映像文件的頭文件信息headInfo,構建的頭文件信息headInfo中,包含應用程序的入口地址和應用程序駐留內存的開始地址等信息;抽取出應用程序映像文件的有效部分validApp,無論是否對validApp進行壓縮,確定validApp的大小后,所構建的頭文件信息headInfo還包括validApp的大小和壓縮屬性(壓縮與非壓縮)信息。很多情況下使用VxWorks提供的壓縮命令,對validApp進行壓縮。由headInfo和validApp或者壓縮了的validApp,組成新的映像文件newApp。把newApp燒寫在FLASH中的固定區域,而且validApp在FLASH中的入口地址固定。BootRom運行時,由于沒有TFFS文件系統,如果要讀應用程序的映像文件,則可以直接從FLASH的映像文件區域的固定入口地址讀取。BootRom先從FLASH的映像文件區域讀出頭文件信息headInfo0,并保存在內存中。根據headInfo中的壓縮屬性和應用程序在內存中駐留的起始地址信息(一般是內存低端地址),分兩種情況1)若應用程序映像文件沒有壓縮,則根據validApp的大小直接拷貝validApp到內存中;2)若應用程序映像文件是壓縮的,則根據validApp的大小使用BootRom中的解壓函數,把FLASH中的壓縮部分解壓到內存中。然后根據headInfo0中的應用程序的入口地址信息,跳轉到應用程序的入口地址。BootRom引導應用程序的操作由一個函數完成。這個函數按下面的流程引導應用程序。1)從FLASH中應用程序的固定起始位置,讀取頭部信息,取出validApp的大小、壓縮屬性、應用程序在內存中駐留的起始地址和應用程序入口地址等信息,并寫入內存中;2)根據頭部信息中的壓縮屬性判斷應用程序映像部分是否是壓縮的,如果沒有壓縮,執行步驟3),否則執行步驟4);3)根據validApp的大小,直接拷貝validApp映像文件到應用程序在內存中駐留的起始地址開始的內存區域,然后執行步驟5) 4)根據BootRom中的解壓函數,將validApp解壓縮后,根據映像大小解壓壓縮映像到應用程序在內存中駐留的起始位置開始的一段連續的內存區域。5)跳轉到應用程序入口地址,啟動應用程序。BootRom引導程序的流程如圖1所示。本專利技術的技術方案,減少了映像的拷貝次數。同時,不需要定義映像文件的大小,也不需要分配大塊內存,從而提高了系統的性能。本文檔來自技高網...
【技術保護點】
嵌入式設備引導方法,包括以下步驟:a.構建應用程序映像文件的頭文件信息,包括應用程序的入口地址及其駐留內存的起始地址;b.BootRom引導程序啟動后,讀取所述頭文件信息,并記錄在內存中;c.BootRom引導文件根 據所述頭文件信息,讀取應用程序映像文件并寫入到內存中的相應位置,并跳轉到應用程序的入口地址執行;d.啟動程序完成。
【技術特征摘要】
1.嵌入式設備引導方法,包括以下步驟a.構建應用程序映像文件的頭文件信息,包括應用程序的入口地址及其駐留內存的起始地址;b.BootRom引導程序啟動后,讀取所述頭文件信息,并記錄在內存中;c.BootRom引導文件根據所述頭文件信息,讀取應用程序映像文件并寫入到內存中的相應位置,并跳轉到應用程序的入口地址執行;d.啟動程序完成。2.根據權利要求1所述...
【專利技術屬性】
技術研發人員:何三波,
申請(專利權)人:邁普四川通信技術有限公司,
類型:發明
國別省市:90[中國|成都]
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。