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

基于S3C2440的VxWorks NandFlash啟動設計與實現(xiàn)

2018-05-03 08:33:42賀翔胡俊祥戴鈺
電子制作 2018年7期
關鍵詞:嵌入式程序系統(tǒng)

賀翔,胡俊祥,戴鈺

(1.廣州海格通信集團股份有限公司,廣東廣州,510000;2.廣東廣播電視臺,廣東廣州,510000)

0 引言

VxWorks操作系統(tǒng)作為常用的高性能實時操作系統(tǒng)之一,在衛(wèi)星通信系統(tǒng)中有著其獨特的優(yōu)勢。其開放式結構和對工業(yè)標準的支持,使得開發(fā)人員更易于設計高效的嵌入式系統(tǒng),并可以以很小的工作量移植到其它不同的處理器上;該操作系統(tǒng)軟件為程序員提供了高效的任務調度、中斷管理、實時的系統(tǒng)資源以及實時的任務間通信,使得程序員可以將盡可能多的精力放在應用程序本身,而不再關心系統(tǒng)資源的管理[1]。

Nor Flash及Nand Flash是嵌入式系統(tǒng)中主流的兩種Flash類型。Nor Flash的優(yōu)點在于支持芯片內執(zhí)行(XIP,eXecute In Place),這樣應用程序就可以直接在 fl ash閃存內運行,而不必把代碼讀到系統(tǒng)RAM中。Nor Flash的傳輸效率很高,但是很低的寫入和擦除速度大大影響了它的性能。另外,由于其容量小,同等容量下價格貴,一般情況下往往配合Nand Flash一同使用。Nand Flash的單元尺寸幾乎是Nor器件的一半,由于生產(chǎn)過程更為簡單,Nand 結構可以在給定的模具尺寸內提供更高的容量,也就相應地降低了價格。但是Nand 器件使用復雜的I/O口來串行地存取數(shù)據(jù),只有8個引腳用來傳送控制、地址和數(shù)據(jù)信息,不支持芯片內執(zhí)行。故Nor Flash一半用于存儲程序,而Nand Flash一般用于存儲數(shù)據(jù)。

s3c2440是samsung公司的一款常用的ARM9系列處理器,由于該處理器里有一個內置的SRAM,叫做stepping stone,系統(tǒng)啟動加電后,能夠把Nand Flash上的起始4KB的內容拷貝到SRAM里執(zhí)行,這樣就可以實現(xiàn)從Nand Flash啟動。本文采用該款處理器,以及K9F2G08U0B型號的Nand Flash、K4S561632N型號的SDRAM、DM9000網(wǎng)卡芯片等作為硬件平臺,并在該平臺下完成VxWorks操作系統(tǒng)的移植,改造了VxWorks啟動過程,實現(xiàn)了采用Nand Flash啟動該操作系統(tǒng)。本嵌入式系統(tǒng)方案對于提升綜合性能、減少硬件復雜度、節(jié)約硬件成本有著重要意義。

1 VxWorks啟動過程分析

VxWorks的啟動流程如圖1所示。系統(tǒng)上電之后,從romInit.S開始運行。首先調用的函數(shù)就是romInit( ),該函數(shù)主要完成以下功能:

(1)禁止中斷;

(2)初始化堆棧;

(3)保存啟動類型(冷/熱啟動);

(4)初始化CPU相關寄存器;

(5)跳轉到bootInit.c中的romStart()函數(shù);

圖1 Vxworks啟動流程

函數(shù)romStart()主要完成以下功能:

把代碼段和數(shù)據(jù)段復制到RAM當中;

如果映像是壓縮版本的,則需要完成程序映像的解壓縮。

跳轉到bootCon fi g.c的usrInit( )函數(shù)。

函數(shù)usrInit( )設置cache的工作模式,完成板級硬件初始化后,調用sysHwInit( )、usrKernelInit( )、KernelInit( ),初始化內核,產(chǎn)生根任務usrRoot( )。在usrRoot根任務中解析Bootline,產(chǎn)生bootCmdLoop任務,用于啟動、加載VxWorks映像。

在加載VxWorks映像完成后,程序跳轉到sysAlib.S文件中的VxWorks image的入口點_sysInit。此時系統(tǒng)再次進行了一次初始化,進入了第二階段啟動過程[2-4]。本文主要對第一階段啟動過程進行改造,以實現(xiàn)在啟動時能夠調用NandFlash上的程序完成VxWorks操作系統(tǒng)的正常啟動過程。

2 Nand Flash啟動VxWorks實現(xiàn)

由于s3c2440處理器內置的SRAM僅能拷貝Nand Flash上的前4k代碼運行,根據(jù)上述VxWorks啟動過程分析可知,程序必須在romInit( )函數(shù)完成硬件初始化之后,在romStart( )函數(shù)完成映像解壓縮之前完成把Nand Flash上程序拷貝到內存中的過程,即修改替換原romStart( )函數(shù)中完成把程序拷貝到RAM中的過程。系統(tǒng)在Make fi le和con fi g.h中通過三個宏定義來確定系統(tǒng)在什么內存地址運行BOOTROM,分別是:ROM _TEXT _ADRS(ROM起始地址)、ROM_LOW_ADRS(VxWorks啟動地址)和RAM_HIGH_ADRS(Bootrom程序入口地址)。這里需要添加從Nand Flash把程序拷貝入內存的函數(shù)[5],定義在nand.c文件中。定義該函數(shù):

該函數(shù)的部分主要代碼如下:

在完成該部分函數(shù)的添加修改之后,為了在編譯中把RdNF2SDRAM函數(shù)一同編譯進去,需要在make fi le文件中加入:

由于SRAM空間只有4k,為了保證在前4k代碼內完成程序的復制,需要保證該段拷貝程序在前4k代碼內,這就需要通過修改rules.bsp文件修改編譯順序,如:

修改使$(BOOT_EXTRA)較先編譯,鏈接到程序靠前的位置,或者也可以直接使nand.o較先編譯、鏈接,可保證在前4k代碼內完成程序的復制。

3 系統(tǒng)驗證及應用

完成上述過程后,進行通過移植相應的外設驅動程序完成BSP開發(fā)。VxWorks下支持兩個形式的網(wǎng)卡驅動,一種是兼容BSD4.4的網(wǎng)卡驅動,另一種是END(Enhanced Network Drivers)網(wǎng)卡驅動,由于后者使用比較簡單而且VxWorks對該種驅動支持性好[6],本文采用END網(wǎng)卡驅動。本系統(tǒng)可通過網(wǎng)卡下載VxWorks映像。

如圖2所示,使用Tornado生成好boorom,然后通過H-JTAG燒寫到NandFlash上,跳線設置S3C2440從NandFlash啟動。

打開服務器端WFTPD,設置好VxWorks鏡像的路徑、用戶名及密碼后,重新上電啟動S3C2440,打開超級終端,修改啟動引導行,主要包括板子IP地址、主機IP地址、FTP用戶名及密碼、VxWorks鏡像文件路徑等。然后輸入@啟動,在WFTPD窗口上看到VxWorks鏡像下載的信息,如圖3所示。

VxWorks鏡像下載完成后,超級終端上變顯示了熟悉的VxWorks啟動畫面,如圖4所示。至此,完成了整個啟動過程。

圖3 VxWorks鏡像下載

圖4 VxWorks啟動畫面

4 結語

本文分析了VxWorks啟動過程,提出了使用Nand Flash啟動Vxworks的設計思路,按照上述步驟進行代碼編寫與調試,從網(wǎng)絡下載VxWorks映像,實現(xiàn)了VxWorks的正常啟動。相比傳統(tǒng)的Nor Flash用于存儲程序、Nand Flash用于存儲數(shù)據(jù)的系統(tǒng),降低了硬件設計復雜度、提高了穩(wěn)定性、節(jié)約了開發(fā)成本。

* [1]Wind River System Inc.VxWorks 6.0 Device Driver Develop—er’s Guide [Z].2004

* [2]孔祥營,柏桂枝.嵌入式實時操作系統(tǒng)VxWorks及其開發(fā)環(huán)境Tornado[M].北京:中國電力出版社.2002

* [3]徐少毅,李君龍. 基于VxWorks的BSP概念與開發(fā)[J].電子產(chǎn)品世界,2002,03(B)

* [4]馮榮尉.基于ARM9的嵌入式硬件設計和VxWorks操作系統(tǒng)移植[D].北京理工大學,2008

* [5] Samsung Electronics Co.LTD. K9XXG08 U0B User’s Manu—al[Z].2005

* [6] 周啟平,張揚.VxWorks下設備驅動程序及BSP開發(fā)指南[M].北京:中國電力出版社,2004

猜你喜歡
嵌入式程序系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
搭建基于Qt的嵌入式開發(fā)平臺
“程序猿”的生活什么樣
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
英國與歐盟正式啟動“離婚”程序程序
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應用
創(chuàng)衛(wèi)暗訪程序有待改進
主站蜘蛛池模板: 狠狠亚洲五月天| 国产精品美乳| 91精品国产91久无码网站| 黄色污网站在线观看| 日本在线亚洲| 色婷婷综合在线| 噜噜噜综合亚洲| 在线日韩日本国产亚洲| 国产特级毛片aaaaaaa高清| 精品视频一区二区三区在线播| 成人综合在线观看| 久久中文字幕不卡一二区| 69精品在线观看| 一区二区三区成人| 91久久国产成人免费观看| 国产91小视频在线观看| 国产乱论视频| 国产微拍一区二区三区四区| 欧美啪啪网| 99久久国产综合精品2023| 欧美一级99在线观看国产| 乱色熟女综合一区二区| 中文成人在线视频| 高潮爽到爆的喷水女主播视频| 国产精品自在自线免费观看| 国产av无码日韩av无码网站| 青青青国产精品国产精品美女| 99在线视频网站| 国产精品粉嫩| 国产手机在线观看| 老司国产精品视频91| 成人免费黄色小视频| 亚洲免费黄色网| 超级碰免费视频91| 亚洲性视频网站| 欧美亚洲香蕉| 欧美三级视频网站| 日本三级欧美三级| 日本午夜视频在线观看| 久久久受www免费人成| 狼友视频一区二区三区| 午夜日b视频| 国产欧美自拍视频| 日本一本在线视频| 国产97视频在线| 欧美色视频日本| 免费a在线观看播放| 一级做a爰片久久免费| 日韩欧美91| 亚洲最大综合网| 国产成人精品男人的天堂下载 | 久久精品无码专区免费| 亚洲最大看欧美片网站地址| 欧美一级色视频| 日韩人妻少妇一区二区| 毛片免费视频| 久久久久久久蜜桃| 国产一区在线观看无码| 免费一看一级毛片| 成人免费一级片| а∨天堂一区中文字幕| 国产精品区视频中文字幕| 亚洲一区二区三区在线视频| 亚洲第七页| 日本亚洲国产一区二区三区| hezyo加勒比一区二区三区| 亚洲人成网站18禁动漫无码| 成AV人片一区二区三区久久| 香蕉久久永久视频| 思思99思思久久最新精品| 国产精品偷伦在线观看| 扒开粉嫩的小缝隙喷白浆视频| 99re视频在线| 东京热一区二区三区无码视频| 国产精品林美惠子在线观看| 中文字幕亚洲精品2页| 成年人久久黄色网站| 亚洲色无码专线精品观看| 精品一区二区久久久久网站| 国产精品极品美女自在线看免费一区二区| 免费午夜无码18禁无码影院| a级免费视频|