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

基于S3C2440的VxWorks NandFlash啟動設計與實現

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

賀翔,胡俊祥,戴鈺

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

0 引言

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

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

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

1 VxWorks啟動過程分析

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

(1)禁止中斷;

(2)初始化堆棧;

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

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

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

圖1 Vxworks啟動流程

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

把代碼段和數據段復制到RAM當中;

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

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

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

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

2 Nand Flash啟動VxWorks實現

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

該函數的部分主要代碼如下:

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

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

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

3 系統驗證及應用

完成上述過程后,進行通過移植相應的外設驅動程序完成BSP開發。VxWorks下支持兩個形式的網卡驅動,一種是兼容BSD4.4的網卡驅動,另一種是END(Enhanced Network Drivers)網卡驅動,由于后者使用比較簡單而且VxWorks對該種驅動支持性好[6],本文采用END網卡驅動。本系統可通過網卡下載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的設計思路,按照上述步驟進行代碼編寫與調試,從網絡下載VxWorks映像,實現了VxWorks的正常啟動。相比傳統的Nor Flash用于存儲程序、Nand Flash用于存儲數據的系統,降低了硬件設計復雜度、提高了穩定性、節約了開發成本。

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

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

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

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

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

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

猜你喜歡
嵌入式程序系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
搭建基于Qt的嵌入式開發平臺
“程序猿”的生活什么樣
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
主站蜘蛛池模板: 色视频久久| 久久亚洲综合伊人| 99999久久久久久亚洲| 国产精品免费p区| 狠狠做深爱婷婷综合一区| 黄色成年视频| 毛片大全免费观看| 亚洲视频四区| 色婷婷啪啪| 黄色网站在线观看无码| 国产在线视频导航| 少妇露出福利视频| 热99精品视频| 亚洲无码91视频| аⅴ资源中文在线天堂| 亚洲无码一区在线观看| 久久免费成人| 91亚洲国产视频| 精品国产香蕉伊思人在线| 国产麻豆精品久久一二三| 伊人久久大香线蕉综合影视| 国产高清在线丝袜精品一区 | 国产精品深爱在线| 一级高清毛片免费a级高清毛片| 欧美日韩一区二区三| 亚洲成人动漫在线| 亚洲天堂在线视频| 在线视频一区二区三区不卡| 亚洲综合18p| 精品视频在线观看你懂的一区| 亚洲有码在线播放| 亚洲欧美另类专区| 人人澡人人爽欧美一区| av在线无码浏览| 欧美综合中文字幕久久| 国产美女免费| 国产成人亚洲综合A∨在线播放| 国产精品视频公开费视频| 国产精品男人的天堂| 国产av色站网站| 国产制服丝袜91在线| 国产情精品嫩草影院88av| 91精品国产无线乱码在线 | 亚洲成A人V欧美综合| 国产精品午夜福利麻豆| 中文字幕亚洲电影| 91丝袜乱伦| 亚洲色图欧美视频| 欧美无遮挡国产欧美另类| www中文字幕在线观看| 午夜福利亚洲精品| 欧美伦理一区| 97视频免费看| 国产91视频观看| 国产男人天堂| 毛片免费视频| 一级成人a毛片免费播放| 五月婷婷综合网| 国产激情在线视频| 亚洲欧美日韩久久精品| 乱色熟女综合一区二区| 毛片a级毛片免费观看免下载| 永久天堂网Av| 亚洲成人精品| a毛片在线| 直接黄91麻豆网站| 亚洲成人免费看| 国产99视频精品免费观看9e| 欧美在线国产| 永久免费精品视频| 国产精品视频999| 97在线碰| 国产v欧美v日韩v综合精品| 中文字幕亚洲精品2页| 又黄又爽视频好爽视频| 精品撒尿视频一区二区三区| 国产成人综合亚洲网址| 不卡无码网| 亚洲精品无码人妻无码| 亚洲 欧美 日韩综合一区| 欧美高清国产| 久久熟女AV|