999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于Flash的VxWorks操作系統快速引導方法設計

2016-11-25 09:00:26肖二寧張興明
電子設計工程 2016年18期
關鍵詞:嵌入式信息系統

肖二寧,張興明,李 晗,魏 帥

(國家數字交換系統工程技術研究中心 河南 鄭州 450000)

一種基于Flash的VxWorks操作系統快速引導方法設計

肖二寧,張興明,李 晗,魏 帥

(國家數字交換系統工程技術研究中心 河南 鄭州 450000)

針對在嵌入式系統中缺少NVRAM并對讀寫速度要求不是很高的情況下,以VxWorks操作系統Workbench3.1為平臺,設計了一種基于Flash的VxWorks操作系統快速引導方法,該方法通過用NOR Flash存儲器代替NVRAM保存引導信息,并運用了1+1容錯機制,經驗證,該方法實現了VxWorks操作系統的快速引導,并有效降低了Flash的擦除頻率,延長了Flash壽命,提高了系統的穩定性。

Flash存儲器;VxWorks;接口函數;快速引導

在嵌入式系統中,如交換機、路由器、各種PDA設備等,NVRAM一般用來保存操作系統配置信息,而Flash通常用來存儲數據[1]。在引導操作系統時,需要配置引導參數,如主機名,主機IP,目標機名,用戶名,口令等信息,可以通過把配置信息寫入NVRAM來降低引導時間,同時,也不用每次系統重啟就需要配置引導信息,大大方便了開發人員的調試,但并不是每個硬件系統都配備有NVRAM,而一般的嵌入式硬件都有Flash,由于Flash工作機制與NVRAM相似,都為掉電非易失,在實時性要求不是很高的情況下,可以考慮用Flash實現NVRAM的功能[2]。

VxWorks是美國WindRiver公司設計開發的一種嵌入式實時操作系統,該系統有良好的可靠性和卓越的實時性,在通信、軍事、航空、電力等方面有廣泛的應用[2-4],本系統采用Wind River Workbench3.1作為交叉編譯工具。在Vxworks的低級集成開發環境版本Tornado中可以通過修改autoboot函數來進行配置,但在VxWroks高級版本WorkBench[5-6]中,此函數已被封裝,但VxWorks6.7(以下簡稱VxWorks)提供了nvRamToFlash驅動代碼接口,但有很大缺陷:1)該驅動所寫Flash偏移量為固定值,即頻繁的對一塊Flash進行擦除操作,但每塊Flash擦除次數有限[7],但在調試過程中需要多次配置啟動信息,在同一塊進行頻繁擦除,縮短了Flash壽命[8]。2)一旦該塊變為無效塊,配置的啟動信息將無法寫入Flash,容錯性差。

在VxWorks操作系統的基礎上,本文設計了一種新的Flash代替NVRAM的驅動程序算法,該驅動程序算法不僅能實現快速引導操作系統,降低了Flash擦除頻率,延長了Flash壽命,并且運用了1+1的冗余保護機制,提高了系統的穩定性。

1 系統硬件組成

本系統的硬件為交換機板卡,采用FreescaleCDS8548[9]作為CPU,核時鐘頻率為800 MHz,把1 G DDR2 SDRAM作為內存,其上帶有兩片NumonyxAxcell M29EW Nor Flash芯片[10],每片大小為128 MB,片上一塊為128 KB,本系統將兩片Flash拼接起來看作一片,大小為256 MB,片上一塊為256 KB,地址劃分為0xE00000000~0xEFFFFFFF,取最后兩塊作為保存啟動信息塊,記為塊0、塊1,其中每塊第一個區域用作保存參數信息偏移量,塊 0地址區域為 0xEFF80000~0xEFFAFFFF,塊1地址區域為0xEFFB0000~0xEFFFFFFF,塊0用作默認塊,塊1做為備用塊,若塊0無效,則啟用塊1,這種1+1冗余保護機制大大降低了系統宕機率。

2 VxWorks引導啟動信息過程分析

Flash中的引導啟動參數是以字符串的形式寫入的,存放在BOOT_LINE中,字符串長度一般默認為255[11],也可以在config.h中進行修改,因本系統設定的每個區域為256字節,把最后一字節統一設定為常數0,代表該塊已存信息,在查找空白塊時,只需讀取每區域中的最后一字節是否為0即可,若為0則不為空,若為1則為空,Flash地址與大小也在config.h中定義,本系統把宏NV_RAM_ADRS定義為Flash起始基地址,在VxWorks引導操作系統啟動過程中,引導程序執行到usrNet.c中的usrbootlineInit()函數時,該函數首先讀取Flash中是否有配置信息,若有,則把配置信息讀取到BOOT_LINE中,如沒有,則把config.h中定義的DEFAULT_BOOT_LINE賦給BOOT_LINE,在引導操作系統啟動[12]過程中,調試人員有7 s時間輸入命令,當輸入命令c后,可以配置BOOT_LINE信息,配置完成后,寫入Flash。由此過程可以看出,實現快速引導的關鍵在于設計Flash代替NVRAM的接口函數[13-14]。引導過程流程圖如圖1所示。

圖1 VxWorks操作系統引導過程流程圖

3FLASH配置成NVRAM的接口函數設計

VxWorks引導程序啟動過程中通過兩個接口函數讀寫FLASH代替NVRAM,下面介紹下接口函數的設計:

函 數 1:extern STATUS sysNvRamSet(char*string,intstrLen,int offset)

該函數實現向Flash中寫入字符串,3個輸入參數分別為寫入NVRAM字符串,字符串長度,寫入地址偏移量,若寫入成功返回OK,不成功則返回ERROR。

函數1的C語言實現算法如下:

算法說明:

首先選擇要寫入的塊,默認情況下選擇0塊,把NVRAM地址NV_RAM_ADRS配置成0xEFF80100,如塊0無效,則選擇塊1,把NVRAM地址配置成0xEFFB0100,然后判斷字符串長度是否合法,如不合法,返回ERROR,然后從NV_RAM_ADRS往上查找,若檢查到某區域最后一個字節為0,則該區域為空白,則在Flash中更新為該區域offset,若沒有找到空白區域,證明該塊已滿,調用Flash擦除函數擦除Flash塊,并把offset置為0,然后根據offset往Flash中寫入BOOT_LINE。

函 數 2:extern STATUS sysNvRamGet(char*string,intstrLen,int offset)

該函數3個輸入參數分別為讀入配置信息存放字符串,讀取配置信息長度,讀取地址偏移量,若讀取成功則返回OK,不成功則返回ERROR。

函數2的C語言實現算法為:

算法說明:

首先根據NV_RAM_ADRS基地址讀取引導參數偏移量信息offset,然后根據offset讀去Flash中的引導參數,然后判斷該引導參數字符串是否合法,如不合法,則返回ERROR,合法,則返回OK。

接口函數1,2流程如圖2所示。

圖2 讀寫引導參數流程圖

4 系統測試與分析

在系統測試時,首先,Flash中沒有存儲Boot信息,需要通過手動輸入 BOOT_LINE信息,接著進行重啟,此時,BOOT_LINE信息已經存入Flash中,可以直接進行啟動,正常啟動圖如圖3所示,但在配置的過程中需要注意在config.h頭文件中不要使能宏定義INCLUDE_NV_RAM,因為系統本身并沒有使用NVRAM,使能NVRAM有可能引起系統意想不到的錯誤,只需要配置NVRAM地址和大小就可以實現功能[15]。必須注釋系統中定義的sysNvRamGet()與sysNvRamSet()函數,因為如若不注釋,則會引起重復定義警告,導致自己編寫的函數無效。由于VxWorks把啟動前輸入引導配置信息這一部分封裝起來,故必須嚴格按照VxWorks引導啟動流程進行配置,而不能使用自己定義的函數名,只能修改VxWorks提供的函數。無論引導參數信息有多少字節,每個存放引導參數信息的區域必須嚴格按照256字節進行分塊,因為查找空白塊,讀取引導參數信息等操作都是對齊操作。

圖3 VxWorks系統通過Flash正常啟動圖

5結 論

在VxWorks環境下,采用本文設計的Flash代替NVRAM保存引導參數信息雖然在讀取、擦除Flash,查詢空白區域時額外需要一定時間(2~5 s),但該方法操作方便,穩定性好,而且有效減少了Flash擦除次數,經驗證在驗證板卡上運行穩定,讀寫BOOT_LINE正常,給調試人員帶來了很大方便。

[1]蔡衛平.VxWorks系統下的NVRAM To Flash驅動程序編寫[J].電子工程師,2007(1):52-54.

[2]潘燕梅.基于Nucleus的閃存文件系統研究和改進[J].計算機測量與控制,2011(1):80-81.

[3]胡明民.基于實時操作系統VxWorks的驅動程序開發[D].西安:西安電子科技大學,2012.

[4]周勇軍.關于VxWorks系統及其研究現狀的評述[J].測控技術,2015(3):89-90.

[5]陳懷民.VxWorks下設備驅動程序開發技術研究[J].現代電子技術,2015(10):79-80.

[6]宗起振.基于Vxworks的智能變壓器在線監測系統設計與應用[J].計算技術與自動化,2014(4):12-15.

[7]肖磊.VxWorks下基于socket的網絡通信設計[J].計算機與網絡,2012(9):13-15.

[8]石煒.基于VxWorks的星載控制計算機動態可重構研究[J].電子設計工程,2013(6):12-14.

[9]風河為賽靈思Zync-7000可拓展處理平臺提供軟件支持[J].電信技術,2012(8):18-20.

[10]呂赟.嵌入式文件系統在NOR和NAND型flash上的實現和改進[D].武漢:武漢工程大學,2008.

[11]樓楊.基于MPC8548的嵌入式設備光通信接口設計與實現[J].計算機測量與控制,2011(4):45-50.

[12]康鳳舉.基于VxWorks的無人機飛控計算機快速啟動導引技術研究[J].計算機測量與控制,2013(3):98-100.

[13]Sooyong Kang.Performance trade-offs in using NVRAM write buffer for flash memory-based storage devices[J].IEEE Transactions on Computers,2012(8):76-80.

[14]Siqiang FAN.Enhanced offset averaging technique for flash ADC design[J].清華大學學報(英文版),2011(3):78-80.

[15]邵富杰.用NOR Flash建立VxWorks TrueFFS文件系統[J].單片機與嵌入式系統應用,2012(4):56-60.

[16]熊金.基于CH376實現TMS320LF240x片內Flash在線編程[J].工業儀表與自動化裝置,2014(6):37-39.

[17]周彬,劉保錄,王永喜.基于VxWorks的油井多參量采集系統設計[J].工業儀表與自動化裝置,2014(1):66-68.

Design of a fast boot method of VxWorks embedded system based on NOR Flash

XIAO Er-ning,ZHANG Xing-ming,LI Han,WEI Shuai
(National Digital Switching System Engineering Technology Research Center,Zhengzhou 450000,China)

Pointing to the condition that the embedded system is lack of NVRAM and the write&read speed request is not strict,a fast boot method of operation system based on Flash is designed on the platform of Vxworks operating system,the method uses NOR Flash storage for taking place of NVRAM to store boot information,and a 1+1 fault-tolerant mechanism is used.The test results show that it realizes the fast boot of operation system,and can effectively reduce the erase frequency,

Flash storage;VxWorks;interface function;fast boot

TN02

A

1674-6236(2016)18-0082-03

2016-01-23 稿件編號:201601219

國家自然科學基金創新群體項目(61521003)

肖二寧(1990—),男,河南開封人,碩士。研究方向:嵌入式技術。

extend the service life of Flash,improves the system stability.

猜你喜歡
嵌入式信息系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
搭建基于Qt的嵌入式開發平臺
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
Altera加入嵌入式視覺聯盟
倍福 CX8091嵌入式控制器
自動化博覽(2014年4期)2014-02-28 22:31:15
主站蜘蛛池模板: 亚洲人成网址| 中文字幕在线看| 欧美翘臀一区二区三区| 欧美成人精品一级在线观看| 四虎影视国产精品| 热久久综合这里只有精品电影| 日韩一二三区视频精品| 国产又大又粗又猛又爽的视频| 99精品国产高清一区二区| 亚洲av日韩av制服丝袜| 国内熟女少妇一线天| 免费视频在线2021入口| 欧美不卡视频在线观看| 黄片一区二区三区| 人妻中文久热无码丝袜| 欧美精品成人一区二区在线观看| 亚洲成人播放| 国产在线观看一区二区三区| 亚洲欧美成人网| 欧美黄网站免费观看| 亚洲一区二区三区国产精品| 日韩人妻少妇一区二区| 亚洲视频免费在线| 丝袜美女被出水视频一区| 欧美日韩第二页| 国产剧情国内精品原创| 欧美成人一区午夜福利在线| 少妇精品久久久一区二区三区| 91国内外精品自在线播放| 91麻豆精品国产高清在线| 在线欧美一区| 直接黄91麻豆网站| 一区二区午夜| 51国产偷自视频区视频手机观看| 亚洲天堂网视频| 欧美在线天堂| 亚洲bt欧美bt精品| 婷婷综合在线观看丁香| 一级毛片中文字幕| 熟妇无码人妻| 免费无码又爽又黄又刺激网站| 精品国产一区91在线| 国产三级国产精品国产普男人| 3p叠罗汉国产精品久久| 亚洲一区波多野结衣二区三区| 97视频在线观看免费视频| 欧美成人精品在线| 国产精品伦视频观看免费| 97在线观看视频免费| 久久综合国产乱子免费| 国产精品一老牛影视频| 九九视频免费看| 激情六月丁香婷婷四房播| 国产精品极品美女自在线看免费一区二区| 久久久久久午夜精品| 免费国产无遮挡又黄又爽| 成人综合在线观看| www.99精品视频在线播放| 国产福利小视频在线播放观看| 久久性视频| 麻豆国产精品| 国产精品无码制服丝袜| 嫩草影院在线观看精品视频| 99精品高清在线播放| 熟妇人妻无乱码中文字幕真矢织江 | 成人精品免费视频| 成人午夜网址| 欧洲极品无码一区二区三区| 国产免费人成视频网| 国产欧美视频在线观看| 色偷偷男人的天堂亚洲av| www.亚洲国产| 精品伊人久久久久7777人| 国产美女免费| 午夜国产在线观看| 国产成人无码Av在线播放无广告| 久久福利片| 久草中文网| 粉嫩国产白浆在线观看| 欧洲精品视频在线观看| 91视频青青草| 亚洲一级色|