<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>

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


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

    主題: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:42:00

    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的對應改動同步。有些參數需在該文件中定義,如處理器類型、編譯工具、目標地址等。下面介紹一些須修改的參數和地址:

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

    3.2.2 修改Config.h

    Config.h文件包含了所有頭文件和與CPU相關的特殊定義。VxWorks內核組件的配置由Config.h文件定義。Config.h中的主要修改內容有定義引導行和修改地址。

    (1)定義引導行

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

    其中,mac(O,0)為AT91RM9200芯片中的EMAC設備;host為主機名;VxWorks為要下載的文件名;h為主機IP地址;e為目標板IP地址;u為用戶名;pw為密碼;tn為目標板名稱。

    (2)修改地址

    該文件中的地址定義,如ROM_TEXT_ADRS、ROM_SIZE、RAM_LOW_ADR、SRAM_HIGH_SIZE等要與Makefik文件中的相關定義一致。本設計中代碼段存儲在連接ARM芯片外部片選CSO上的Flash里面,基地址為Oxl0000000,因此.定義如下:

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

    VxWorks的缺省配置由configAll.h來確定。一般來說,缺省配置的設置與自行開發的硬件系統的配置不同,用戶可通過Cotlfig.h來改變缺省配置。用戶須查看configAll.h,并在Config.h中將不需要的軟硬件配置和初始化去掉。例如,缺省配置中一般包含浮點處理器,而AT9lRM9200中沒有浮點寄存器,因此就要刪掉相關配置。

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

    返回版面帖子列表

    VxWorks在AT91RM9200上的BSP設計








    簽名
    主站蜘蛛池模板: 一级毛片完整版| 四虎影院海外永久| 一级毛片完整版免费播放一区| 欧美一级二级三级视频| 啊灬老师灬老师灬别停灬用力| 2021国产精品自在拍在线播放| 好吊日免费视频| 久久精品aⅴ无码中文字字幕| 欧美疯狂做受xxxxx高潮| 国产18禁黄网站免费观看| 麻豆人妻少妇精品无码专区| 国自产拍91大神精品| 中文字幕在线欧美| 日本黄色小视频在线观看| 亚洲精品国产精品乱码视色| 第一福利在线视频| 国产第一页在线观看| 三级在线看中文字幕完整版| 明星ai人脸替换造梦在线播放| 免费一级毛片完整版在线看| 色狠狠色狠狠综合一区| 国产精品看高国产精品不卡| 三级理论中文字幕在线播放| 日出水了特别黄的视频| 亚洲女成人图区| 狠狠色噜噜狠狠狠狠69| 国产一级在线视频| 黄瓜视频官网下载免费版| 国模无码一区二区三区| 中文国产成人精品久久下载| 日本尤物精品视频在线看| 亚洲成av人片在线观看| 激情内射日本一区二区三区| 四虎影视在线观看2022a| 香蕉大战欧美在线看黑人| 国产精品自在线天天看片| 一本大道高清香蕉中文大在线| 我想看一级毛片免费的| 么公的又大又深又硬想要| 果冻传媒mv在线观看入口免费| 人人妻人人狠人人爽|