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


曙海教育集團(tuán)論壇VxWorks專區(qū)VxWorks BSP開發(fā) → VxWorks在AT91RM9200上的BSP設(shè)計


  共有10618人關(guān)注過本帖樹形打印

主題:VxWorks在AT91RM9200上的BSP設(shè)計

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


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

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

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

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

圖片點(diǎn)擊可在新窗口打開查看

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

2 VxWorks的引導(dǎo)過程
   
在編寫B(tài)SP之前,首先要了解整個系統(tǒng)的啟動過程。VxWorks的映像由代碼段、數(shù)據(jù)段和BSS段3部分組成。VxWotks內(nèi)核可以分為3種:可加載類型映像、基于ROM的VxWorks映像和RoM駐留型映像。這3種類型的映像組織是不一樣的,因此啟動過程有所區(qū)別。

    可加載映像包括VxWorks和Boot ROM兩部分內(nèi)容,兩部分是獨(dú)立創(chuàng)建的。首先,由系統(tǒng)引導(dǎo)代碼把ROM引導(dǎo)程序搬到RAM_HIGH_ADRS。然后,ROM引導(dǎo)程序開始運(yùn)行,將VxWorks映像加載到RAM_LOW_ADRS,之后跳轉(zhuǎn)到VxWorks映像裝入點(diǎn)。

    基于ROM的VxWorks映像在BSP初始化時,會把lmage完全搬到RAM中執(zhí)行,包括代碼段和數(shù)據(jù)段。在拷貝執(zhí)行完畢后,系統(tǒng)控制權(quán)轉(zhuǎn)移給RAM中VxWorks映像的初始化代碼。

    ROM駐留型映像只是將ROM中VxWorks映像的數(shù)據(jù)段和BSS段拷貝到RAM中,完成后系統(tǒng)控制權(quán)轉(zhuǎn)移給ROM/Flash里VxWorks映像的初始化代碼,代碼段留在ROM中并在ROM中運(yùn)行。在ROM中運(yùn)行的VxWorks映像主要足為了節(jié)省RAM空間,帶來的不利則是運(yùn)行速度慢。

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

圖片點(diǎn)擊可在新窗口打開查看

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

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

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

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

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

圖片點(diǎn)擊可在新窗口打開查看

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

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

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

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

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


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

返回版面帖子列表

VxWorks在AT91RM9200上的BSP設(shè)計








簽名
毛片网站在线看_天堂俺去俺来也www久久婷婷_日韩av免费网站_18性欧美xxxⅹ性满足_一区二区三区韩国免费中文网站 _性xx色xx综合久久久xx_999亚洲国产精
日韩中文字幕亚洲一区二区va在线| 精品国产乱码久久| 色综合天天综合网国产成人综合天| 欧美一二三四在线| 亚洲高清不卡在线| 欧美日本国产视频| 亚洲午夜国产一区99re久久| 色婷婷综合久久久久中文一区二区| 国产精品全国免费观看高清| 成人三级伦理片| 中文字幕一区在线观看视频| 99精品国产一区二区三区不卡| 国产精品久久久久久久久图文区| 成人开心网精品视频| 亚洲人午夜精品天堂一二香蕉| 99在线热播精品免费| 亚洲精品久久久蜜桃| 欧美日韩视频一区二区| 精品一区二区在线视频| 国产丝袜欧美中文另类| 一本色道亚洲精品aⅴ| 亚洲国产成人91porn| 欧美一区中文字幕| 国产精品中文字幕日韩精品| 中文字幕免费不卡在线| 欧美伊人久久大香线蕉综合69| 首页国产丝袜综合| 国产午夜精品美女毛片视频| 91黄色激情网站| 久久电影国产免费久久电影| 国产日本一区二区| 欧美丝袜自拍制服另类| 国产一区二区在线免费观看| 亚洲另类一区二区| 精品久久一区二区| 一本大道久久a久久精品综合| 热久久免费视频| 国产欧美一区二区三区网站| 日本韩国视频一区二区| 国产在线精品不卡| 夜夜爽夜夜爽精品视频| 欧美大片一区二区三区| 国产 欧美在线| 日产精品久久久久久久性色| 久久精品一区蜜桃臀影院| 91福利国产精品| 国产一区二区免费在线| 午夜精品一区在线观看| 亚洲欧洲日韩综合一区二区| 精品日韩一区二区三区| 在线亚洲人成电影网站色www| 久久99热国产| 亚洲综合在线电影| 最新久久zyz资源站| 精品国产伦一区二区三区观看方式 | 亚洲精品亚洲人成人网| 久久新电视剧免费观看| 欧美美女bb生活片| 日本韩国一区二区三区| 国产.欧美.日韩| 国产精品综合久久| 亚洲女与黑人做爰| 久久久精品日韩欧美| 欧美一级片在线看| 欧美二区乱c少妇| 欧美午夜精品一区| 北条麻妃国产九九精品视频| 国产成人av电影在线播放| 精品在线免费观看| 国产乱码精品一区二区三区忘忧草 | 中文字幕在线不卡一区二区三区 | 色综合久久综合| 99在线精品免费| av在线播放成人| 99天天综合性| 99re热视频这里只精品| 成人福利视频在线| 91啪在线观看| 色8久久人人97超碰香蕉987| 91精品91久久久中77777| 欧美综合一区二区| 欧美日韩一卡二卡三卡| 欧美吻胸吃奶大尺度电影| 欧美三级一区二区| 日韩欧美在线1卡| 精品久久久三级丝袜| 久久精品人人做人人爽人人| 中文字幕一区二区三区四区不卡| 伊人性伊人情综合网| 天堂久久一区二区三区| 另类人妖一区二区av| 国产成人免费视| 一本色道久久综合亚洲精品按摩| 欧美日韩一区不卡| 久久亚洲精精品中文字幕早川悠里 | 成人毛片老司机大片| 一本久道久久综合中文字幕| 欧美日韩在线一区二区| 欧美tickling挠脚心丨vk| 日本一区二区综合亚洲| 亚洲黄色在线视频| 极品尤物av久久免费看| 91浏览器打开| 欧美变态tickle挠乳网站| 国产精品婷婷午夜在线观看| 亚洲一区在线观看视频| 激情六月婷婷久久| 92精品国产成人观看免费| 欧美一卡2卡3卡4卡| 亚洲女同一区二区| 国产乱子伦一区二区三区国色天香| 91蜜桃网址入口| 欧美大胆人体bbbb| 亚洲人吸女人奶水| 激情综合色播五月| 91豆麻精品91久久久久久| 久久综合狠狠综合久久综合88 | 国产精品亚洲一区二区三区在线| 色哟哟日韩精品| 欧美不卡123| 亚洲综合免费观看高清完整版在线| 久久国内精品自在自线400部| 色综合久久综合网97色综合| 久久精品夜色噜噜亚洲a∨| 亚洲成av人在线观看| 国产剧情在线观看一区二区| 欧美老肥妇做.爰bbww视频| 国产精品欧美一级免费| 麻豆精品在线播放| 欧美日韩综合在线免费观看| 国产精品人妖ts系列视频| 精品在线播放午夜| 337p亚洲精品色噜噜| 亚洲一区二区视频在线| av成人免费在线观看| 国产欧美综合在线观看第十页| 日本视频一区二区三区| 欧美日韩久久久一区| 一区二区三区.www| 色先锋资源久久综合| 中文字幕制服丝袜一区二区三区| 国产美女一区二区| xf在线a精品一区二区视频网站| 日韩激情视频网站| 欧美日韩一区高清| 亚洲丰满少妇videoshd| 91精品福利在线| 依依成人精品视频| 欧美午夜精品免费| 午夜欧美一区二区三区在线播放| 欧美在线|欧美| 亚洲成人综合在线| 777午夜精品视频在线播放| 亚洲6080在线| 欧美一级高清大全免费观看| 日本不卡一二三| 亚洲精品一线二线三线 | 夜色激情一区二区| 欧美日韩精品电影| 日韩激情视频网站| 久久精品人人爽人人爽| 成人av在线网站| 夜夜操天天操亚洲| 91精品国产91久久综合桃花| 国产一区二区三区蝌蚪| 欧美极品另类videosde| 色综合天天在线| 亚洲一卡二卡三卡四卡无卡久久| 欧美在线观看一区| 久久99精品久久久久婷婷| 国产日韩欧美亚洲| 色悠悠久久综合| 麻豆精品一区二区av白丝在线| 久久综合九色综合97婷婷| 色综合天天综合在线视频| 三级欧美在线一区| 久久亚洲综合色| 欧美视频一二三区| 国产精品一二三四区| 一区二区三区欧美日| 亚洲精品一区二区三区影院| 一本色道久久综合亚洲91| 日本三级韩国三级欧美三级| 中文在线资源观看网站视频免费不卡| 97精品久久久久中文字幕 | 成人在线一区二区三区| 亚洲乱码日产精品bd| 精品国偷自产国产一区| 99综合电影在线视频| 久久不见久久见免费视频1| 亚洲欧美激情视频在线观看一区二区三区 | 成人激情免费网站| 日韩成人一级大片| 国产精品夫妻自拍| 久久综合九色综合欧美亚洲| 在线观看欧美精品| 丁香六月综合激情| 美女国产一区二区| 亚洲国产一区二区三区青草影视| 国产欧美中文在线|