毛片网站在线看_天堂俺去俺来也www久久婷婷_日韩av免费网站_18性欧美xxxⅹ性满足_一区二区三区韩国免费中文网站 _性xx色xx综合久久久xx_999亚洲国产精


曙海教育集團論壇VxWorks專區VxWorks BSP開發 → VxWorks在AT91RM9200上的BSP設計


  共有10593人關注過本帖樹形打印

主題:VxWorks在AT91RM9200上的BSP設計

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發短信
等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
VxWorks在AT91RM9200上的BSP設計  發帖心情 Post By:2010-12-1 10:33:20

闡述VxWorks實時操作系統中板級支持包BSP的概念和作用;研究VxWorks映像的生成和分類,以及系統的啟動流程;著重介紹VxWorks操作系統在ARM9芯片AT9lRM9200上的BSP設計。
關鍵詞 VxWorks BSP 映像 ARM AT91RM9200

    VxWorks是美國Wind River公司開發的嵌入式實時操作系統,具有高性能、可裁減性好等特點,能支持多種微處理器(如PowerPC、X85、ARM、SPARC);自問世以來,以其良好的町靠性和卓越的實時性被廣泛地應用于通信、航空、航天等高精尖技術及實時性要求極高的領域中。BSP(Board Support Package,板級支持包)的作用是針對特殊的硬件平臺,為操作系統內核提供操作接口,使操作系統能夠獨立于底層硬件。對上層應用屏蔽具體硬件,VxWorks的高可移植性就是通過BSP實現的。AT91RM9200是Atmel公司生產的一款ARM9核芯片,本文重點介紹將VxWorks移植到該芯片過程中BSP的定制過程。

1 BSP概念
    BSP通常是指針對具體的硬件平臺,用戶所編寫的啟動代碼和部分設備驅動程序的集合。它所實現的功能包括初始化和驅動部分設備。最基本的BSP僅需要支持處理器復位、初始化、驅動串口和必要的時鐘處理。BSP是相對于操作系統而言的,不同的操作系統對應不同形式的BSP,因此,在寫BSP時一定要按照要求的操作系統對BSP的定義形式來寫。在VxWorks系統中,BSP是介于底層硬件環境和VxWorks之間的一個軟件接口,它的主要功能是系統加電后初始化目標機硬件和VxWorks,并提供部分硬件驅動程序。BSP在VxWorks系統中的層次關系如圖1所示。

圖片點擊可在新窗口打開查看

   BSP為各種板卡的硬件功能提供了統一的軟件接口,包括硬件初始化、中斷的捕捉和處理、硬件時鐘和定時器管理、內存地址映射,以及內存分配等。每個BSP還包括一個ROM啟動或其他啟動機制。

2 VxWorks的引導過程
   
在編寫BSP之前,首先要了解整個系統的啟動過程。VxWorks的映像由代碼段、數據段和BSS段3部分組成。VxWotks內核可以分為3種:可加載類型映像、基于ROM的VxWorks映像和RoM駐留型映像。這3種類型的映像組織是不一樣的,因此啟動過程有所區別。

    可加載映像包括VxWorks和Boot ROM兩部分內容,兩部分是獨立創建的。首先,由系統引導代碼把ROM引導程序搬到RAM_HIGH_ADRS。然后,ROM引導程序開始運行,將VxWorks映像加載到RAM_LOW_ADRS,之后跳轉到VxWorks映像裝入點。

    基于ROM的VxWorks映像在BSP初始化時,會把lmage完全搬到RAM中執行,包括代碼段和數據段。在拷貝執行完畢后,系統控制權轉移給RAM中VxWorks映像的初始化代碼。

    ROM駐留型映像只是將ROM中VxWorks映像的數據段和BSS段拷貝到RAM中,完成后系統控制權轉移給ROM/Flash里VxWorks映像的初始化代碼,代碼段留在ROM中并在ROM中運行。在ROM中運行的VxWorks映像主要足為了節省RAM空間,帶來的不利則是運行速度慢。

    圖2和圖3分別是下載型和ROM型VxWorks映像的初始化流程。

圖片點擊可在新窗口打開查看

下面以ROM型VxWorks內核啟動流程為例,說明各文件的作用:
    romlnit()保存啟動類型,屏蔽中斷;初始化內存和寄存器,屏蔽Cache;初始化CPU,將堆棧指針定位于被拷貝Boot ROM映像在RAM的地址;跳到romStart()。
    roraStart()根據不同的映像類型將VxWorks映像的不同部分解壓縮<如果需要)并加載到RAM中。
    usrInit() 對VxWorks映像的BSS段清零;調用intVecBaseSet()設置中斷矢量基地址表;調用excVecInit()初始化異常中斷矢量;調用sysHwInit()初始化系統硬件;調用usrKernelInit()初始化wind內核;調用kernellnit()啟動wind內核,啟動usrRoot()任務。
    usrRoot()設置操作系統時鐘,創建設備,安裝驅動,調用sysHwInit2()安裝系統時鐘和輔助時鐘中斷以及串口等設備的中斷,初始化I/O、文件系統、調用應用程序。

3 VxWorks在AT91RM9200上的BSP設計
3.1 AT91RM9200簡介
    AT91RM9200的片上資源包括:ARM920T處理器棱、16KB的內部SRAM和128KB的內部ROM存儲器;支持SDRAM、SRAM、Burst Flash和CompactFlash、SmartMedia以及NANDFlash的無縫連接;16KB的數據Cache,16KB的指令Cache,完全可編程的外部總線接口EBI,4個32位的PIO控制器可以達到122個可編程I/O引腳(每個都有輸入控制、可中斷及開路的輸出能力);帶有8個優先級、可單獨屏蔽中斷源的先進中斷控制器、6組硬件定時器、4個通用同步/異步收發器USART。

3.2 BSP中幾個重要文件的修改

    由于AT91RM9200的內核是ARM920T,所以BSP文件主要在VxWorks編澤環境Tornado的目錄target/config/all和target/config/integrator920t文件夾里。其中,a11文件夾里的文件對于絕大多數BSP都是共用的,一般來說不需要修改,特別是“configAll.h”;integrator920t文件夾里的文件就是所要編寫的BSP文件,這些文件往往與系統硬件密切相關。

3.2.1 修改Makeflie
    Makefile文件定義編譯和鏈接整個BSP的規則,如編譯工具的選擇、編譯選項和包含文件路徑等;控制生成VxWorks映像文件的類型,同時含有存儲區大小的信息,對于存儲區大小信息的改動必須與Config.h的對應改動同步。有些參數需在該文件中定義,如處理器類型、編譯工具、目標地址等。下面介紹一些須修改的參數和地址:

圖片點擊可在新窗口打開查看

4 編譯生成映像
   
系統定制完成后,有兩種編譯方式:一種是在Tornado下進行編譯,生成映像文件;另一種是直接用Make工具編譯,但要寫好腳本文件。裝載到目標板中的VxWorks映像取決于使用的下載方式,其中主要包括以下幾種:
    ①VxWorks。這是基于RAM的映像,VxWorks需要通過目標板上的引導程序從串口或網口把它下載到目標板的RAM中運行。在Tornado開發環境下,這是一個默認選項,主要用在調試階段。使用宿主機上的WindSh工具和符號表。
    ②VxWorks.st。這也是基于RAM的映像,需要通過引導ROM把VxWorks映像下載到目標機內存中才能執行。該對象文件內置符號表。
    ③VxWorkS_rom。這是一個非壓縮、基于ROM的映像。在這個對象文件執行前,先把自己拷貝到目標機RAM中。這種類型的映像通常在啟動階段速度比較慢,因為代碼在ROM中執行,但執行階段比ROM駐留型的映像要快。
    ④VxWorks.st_rom。這是基于ROM壓縮的VxWorks映像。它在執行前先把自己解壓并拷貝到目標機RAM中執行。
    ⑤VxWorks.res_rom。這是ROM駐留型的非壓縮VxWorks的映像。它在執行前把數據段拷貝到目標機RAM中。這種類型的映像在啟動階段比較快,但在目標機上執行的速度比基于ROM類型的映像慢(因為CPU訪問ROM比訪問RAM要慢)。通常在RAM空間比較小的目標機上使用這種類型的映像。

5 需要注意的問題
   
首先,應該避免在romInit.s中進行過多的初始化操作。該史件中只是進行必要的最小硬件初始化,大部分硬件的初始化都是在sysHwInit()中完成的。另外,romTnit.s中的代碼不應當被其他模塊或函數調用。

    其次,應該避免sysAlib.s中工作太少。BSP開發人員通常錯誤地認為在romInit.s里初始化過的設備不需要在sysAlib.s中重新初始化。實際上,VxWorks映像并不認為它是由引導映像程序引導的,因此,它必須重新設置和初始化所有它自己需要使用的設備。sysInit()是該文件中最主要的一個函數,也是第一個函數。該例程中很多工作與romInit()是相同的,目的是保證內核映像在運行與冷啟動時,軟硬件環境高度一致。

    最后,對特定的BSF。驅動程序的修改,只能在特定的BSP目錄下。此設計中目錄為target/config/integra-tor920t,不要直接在target/src/drv以及target/h/drv中修改。只有風河公司的源程序才能存放在這些目錄下。

6 結論
   
本文在介紹BSP的概念、作用和vxWorks映像分類以及系統啟動流程的基礎上,以Atmel公司生產的ARM9處理器AT91RM9200為例,重點介紹了VxWorks的BSP設計中需要修改的幾個重要文件,最后提出了需要注意的問題。盡管目標板硬件不同,BSP的實現也不盡相同,但基本思想是一樣的。本設計對各類開發板的系統移植和后續的應用程序開發有一定的參考價值。


支持(0中立(0反對(0單帖管理 | 引用 | 回復 回到頂部

返回版面帖子列表

VxWorks在AT91RM9200上的BSP設計








簽名
毛片网站在线看_天堂俺去俺来也www久久婷婷_日韩av免费网站_18性欧美xxxⅹ性满足_一区二区三区韩国免费中文网站 _性xx色xx综合久久久xx_999亚洲国产精
精品美女一区二区三区| 日韩激情视频在线观看| 风流少妇一区二区| 亚洲国产精品嫩草影院| 久久久777精品电影网影网 | 日韩一区二区三区电影在线观看 | 欧美影院一区二区三区| 国产盗摄视频一区二区三区| 亚洲自拍另类综合| 国产精品美女久久久久久| 日韩女优电影在线观看| 欧美伦理影视网| 欧洲精品视频在线观看| 国产99久久久国产精品潘金网站| 美国毛片一区二区| 日韩精品乱码av一区二区| 亚洲午夜久久久久久久久久久 | 成人中文字幕在线| 极品少妇xxxx精品少妇| 日韩va亚洲va欧美va久久| 亚洲一区二区不卡免费| 亚洲一区av在线| 亚洲成人资源网| 亚洲国产中文字幕在线视频综合| 亚洲欧美影音先锋| 亚洲精品欧美激情| 一区二区三区电影在线播| 亚洲自拍另类综合| 日韩精品五月天| 亚洲成人www| 亚洲福中文字幕伊人影院| 亚洲国产婷婷综合在线精品| 亚洲国产一区在线观看| 天堂av在线一区| 久久精品国产精品亚洲红杏| 久久精品72免费观看| 精品一区二区成人精品| 国产一区二区三区在线观看精品| 激情综合网天天干| 精品系列免费在线观看| 国产成人欧美日韩在线电影| 成人国产免费视频| 欧洲精品在线观看| 欧美成人在线直播| 国产欧美日本一区视频| 国产精品福利电影一区二区三区四区| 久久久www免费人成精品| 国产欧美精品一区| 亚洲大尺度视频在线观看| 日韩精品国产欧美| 国产乱码精品一品二品| 色综合久久88色综合天天6 | 欧美一级二级在线观看| 久久久久久久久免费| 欧美激情一区在线观看| 樱桃视频在线观看一区| 男女男精品网站| 福利91精品一区二区三区| 欧美性大战久久| 337p日本欧洲亚洲大胆精品| 一区二区三区四区乱视频| 乱中年女人伦av一区二区| 粉嫩aⅴ一区二区三区四区五区| 99r国产精品| 日韩一级免费一区| 亚洲精品国产视频| 国产在线精品一区二区三区不卡 | 日韩专区欧美专区| 不卡影院免费观看| 欧美日韩aaa| 中文字幕一区av| 免费在线成人网| 欧美性生活久久| 国产色一区二区| 日韩和的一区二区| 91看片淫黄大片一级在线观看| 精品福利视频一区二区三区| 亚洲欧美福利一区二区| 黑人巨大精品欧美一区| 欧美日韩在线播放三区四区| 国产精品美女久久久久aⅴ| 日韩成人伦理电影在线观看| 成人18视频日本| 久久久夜色精品亚洲| 日本亚洲电影天堂| 欧美麻豆精品久久久久久| 一区二区三区欧美| 99久久精品国产观看| 精品成人免费观看| 久久国内精品自在自线400部| 欧美视频日韩视频| 一区二区三区欧美日韩| 色综合天天综合给合国产| 国产精品视频一二| 国产成人av资源| 精品国产免费人成电影在线观看四季| 亚洲成人黄色影院| 欧美肥妇bbw| 日韩一区欧美二区| 欧美一级欧美三级在线观看| 午夜精品视频一区| 欧美精品123区| 日本va欧美va精品发布| 日韩一区二区三区av| 五月激情综合婷婷| 欧美高清视频www夜色资源网| 亚洲国产美女搞黄色| 欧美性猛片aaaaaaa做受| 亚洲第一av色| 欧美高清性hdvideosex| 日韩精品免费专区| 日韩午夜激情电影| 精品亚洲国产成人av制服丝袜| 欧美成人精品3d动漫h| 国内精品久久久久影院薰衣草 | 亚洲日本电影在线| 一本色道**综合亚洲精品蜜桃冫| 亚洲欧美在线视频| 精品视频在线免费| 久久不见久久见免费视频1| 2024国产精品| 成人国产一区二区三区精品| 伊人一区二区三区| 日韩一区二区视频在线观看| 国产曰批免费观看久久久| 久久久蜜桃精品| 不卡的av中国片| 性做久久久久久久免费看| 日韩美女在线视频| 国产成a人亚洲| 136国产福利精品导航| 欧美日本一道本| 国产剧情在线观看一区二区| 1024精品合集| 正在播放一区二区| 国产ts人妖一区二区| 亚洲一线二线三线视频| 日韩欧美一级二级三级| gogo大胆日本视频一区| 香蕉影视欧美成人| 国产精品婷婷午夜在线观看| 欧美日韩高清一区二区不卡| 另类小说图片综合网| 中文一区二区在线观看| 欧美肥妇bbw| 91在线观看免费视频| 水蜜桃久久夜色精品一区的特点| 国产午夜精品一区二区三区四区| 色天使久久综合网天天| 精彩视频一区二区| 午夜av电影一区| 国产精品亲子伦对白| 欧美日韩国产大片| av不卡一区二区三区| 久久成人羞羞网站| 亚洲一级二级在线| 中文字幕va一区二区三区| 欧美一区欧美二区| 色呦呦国产精品| 久久er精品视频| 午夜精品福利久久久| 国产精品久久久久久久蜜臀 | 91久久国产最好的精华液| 国产一区二区0| 美国毛片一区二区三区| 亚洲成人av福利| 亚洲乱码国产乱码精品精可以看| 精品久久久久久久久久久院品网| 欧美午夜精品久久久久久超碰| 成人午夜在线视频| 久久99精品久久久久婷婷| 免费视频一区二区| 国产精品福利在线播放| 国产午夜精品久久久久久免费视 | 日韩亚洲电影在线| 欧美日韩一区二区欧美激情| 成人av网站免费观看| 国产激情一区二区三区四区| 免费在线观看日韩欧美| 午夜精品福利一区二区蜜股av| 亚洲综合丝袜美腿| 一区二区在线看| 亚洲黄色性网站| **欧美大码日韩| 亚洲免费视频成人| 亚洲美女屁股眼交| 亚洲女爱视频在线| 一区二区高清在线| 一区二区三区在线影院| 亚洲最新视频在线播放| 一区二区三区免费在线观看| 亚洲美女视频在线| 亚洲成人av福利| 蜜臀久久久久久久| 韩国女主播一区二区三区| 国产一区二区三区免费观看| 国产高清精品在线| jvid福利写真一区二区三区| 色噜噜偷拍精品综合在线| 欧洲视频一区二区|