《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于VxWorks的BSP概念與開發
基于VxWorks的BSP概念與開發
互聯網
摘要: 本文以VxWorks操作系統為例闡述了BSP的概念和系統啟動流程,并描述了BSP的開發過程。關鍵詞:BSP;VxWorks;...
關鍵詞: BSP Vxworks 鏡像 boot Rom
Abstract:
Key words :
摘 要:本文以VxWorks操作系統為例闡述了BSP的概念和系統啟動流程,并描述了BSP的開發過程。
關鍵詞:BSP;VxWorks;鏡像;boot Rom
概述
VxWorks操作系統是美國WindRiver公司于1983年設計開發的一種嵌入式實時操作系統(RTOS),它采用微內核的結構,具有支持多種處理器,豐富的網絡協議,良好的兼容性和裁減性等特點,同時具有程序動態鏈接和下載的功能。

BSP(Board Support Packet——板級支持包)是介于底層硬件和上層軟件之間的底層軟件開發包,它主要功能為屏蔽硬件,提供操作系統的驅動及硬件驅動,具體功能包括:
·單板硬件初始化,主要是CPU的初始化,為整個軟件系統提供底層硬件支持;
·為操作系統提供設備驅動程序和系統中斷服務程序;
·定制操作系統的功能,為軟件系統提供一個實時多任務的運行環境;
·初始化操作系統,為操作系統的正常運行做好準備;
BSP在VxWorks系統中的地位見圖1。
BSP文件在vxworks/target/config/all和vxworks/target/config/bspname文件夾里。其中,all文件夾里的文件是所有BSP的通用文件,bspname文件夾的文件是用戶自己定制的BSP文件。
經過編譯、鏈接,并在makefile和depend. bspname等文件的控制下,原程序最后將生成鏡像。VxWorks的鏡像可分為兩類:可下載鏡像和可引導鏡像。
·可下載鏡像(Loadable Image):實際包括兩部分,一是vxWorks,二是boot ROM,兩部分是獨立創建的。其中boot ROM包括被壓縮的boot ROM鏡像(bootrom)、非壓縮的boot ROM鏡像(bootrom_uncmp)和駐留ROM的boot ROM鏡像(bootrom_res)三種類型;
·可引導鏡像(Bootable Image):是將引導程序和vxWorks融為一體的鏡像,它常常是最終產品,包括不駐留ROM的鏡像和駐留ROM的鏡像兩種類型。

VxWorks系統啟動流程
一般來說,所有處理器的VxWorks系統啟動流程都是相似的,但有些處理器會有一些特殊的步驟,而另一些處理器會跳過幾個步驟。
下面以CPU為ARM7TDMI為例具體描述(見表1)。
對于可引導鏡像在usrConfig.c文件里執行,對于可下載鏡像在bootConfig.c文件里執行。
圖2為壓縮的可引導鏡像的啟動過程圖示,其中所用到的地址的說明見表2。

BSP的開發過程
建立開發環境
主要是以目標板CPU的BSP文件為模板,在 ornado argetconfig目錄下創建用戶的BSP目錄bspname,把 ornado argetconfigall下的文件和BSP模板文件拷貝到該目錄下,根據具體情況選擇合適的VxWorks鏡像類型。
修改模板程序
Makefile
Makefile文件控制鏡像的創建,在Makefile文件里使用了將近135個宏,最簡單的Makefile文件要包含以下的宏:
·CPU:目標板CPU的類型;
·TOOL:主機的make工具,為GNU;
·TGT_DIR:target路徑,默認為$(WIND_BASE)/target;
·TARGET_DIR:BSP目錄名;
·VENDER:目標板生產商名;
·BOARD:目標板名;
·ROM_TEXT_ADRS:boot ROM的入口地址(以16進制表示,并且與config.h文件定義相同);
·ROM_SIZE:ROM的大??;
·RAM_LOW_ADRS:加載vxWorks的目標地址;
·RAM_HIGH_ADRS:boot ROM拷貝到RAM的目標地址;
·HEX_FLAGS:特殊結構的標記,用于產生S-記錄文件;
·MACH_EXTRA:擴展文件,用戶可以加入自己的目標模塊;
·除此以外,Makefile文件還需要包括以下文件:
·$(TGT_DIR)/h/make/defs.bsp:Vxworks系統運行的標準變量定義;
·$(TGT_DIR)/h/make/make.$(CPU)$(TOOL):提供了特別的目標機結構和一套編譯工具,如make. ARM7TDMI_Tgnu;
·$(TGT_DIR)/h/make/defs.$(WIND_HOST_TYPE):提供了與主機系統有關的定義;
·rules.bsp:在創建目標文件時所需要的規則;
·rules. $(WIND_HOST_TYPE):指出創建目標文件時所需的從屬文件表;
·如果沒有用all目錄下的文件而是拷貝到bspname下修改并使用,需要定義與這些文件有關的宏,如
BOOTINIT=bootInit.c
這樣在創建鏡像時就不會用all目錄下的文件而使用bspname目錄下的相應文件了;
·在Makefile文件里凡是16進制數前面都無需加“0x”;
bspname.h
根據具體目標板設置串行接口、時鐘以及I/O設備等。在該文件中必須包含以下內容:
·中斷向量/級別
·I/O設備地址
·設備寄存器位的含義
·系統和附加時鐘參數(最大和最小速率)
config.h
根據目標板的具體情況配置宏定義,注意ROM_TEXT_ADRS、ROM_SIZE、RAM_LOW_ADRS、RAM_HIGH_ADRS要與Makefile文件里定義的一致,LOCAL_MEM_LOCAL_ADRS和LOCAL_MEM_SIZE要正確。
romInit.s
這是系統上電后運行的第一個程序,根據具體目標板對寄存器和CPU進行設置;以CPU為ARM7TDMI為例,romInit.s 需要進行的工作有:
·保存啟動方式:對于冷啟動,如果CPU配置的是HIGH VECTORS,就設置入口地址為0xFFFF0000,否則設置入口地址為0x00000000;
·屏蔽中斷:通過設置cpsr的I_BIT和F_BIT都為1來實現,還要設置中斷寄存器為關模式,同時設定運行模式為SVC32模式;
·初始化堆棧指針pc和sp:堆棧指針sp指向STACK_ADRS,這個宏的定義為當鏡像為駐留ROM時,該宏值為_sdata,當鏡像為非駐留ROM時該宏值為_romInit,這兩個地址經過地址映射后都指向被拷貝鏡像在RAM的目標地址;
·初始化cache,屏蔽cache;
·根據具體目標板的需要初始化其他寄存器;
·指針跳轉到romStart()函數并執行;
bootConfig.c
一般不需要用戶修改,也可以根據具體情況做適當修改;
sysALib.s
與romInit.s文件實現的功能相似,但如果在romInit.s文件里對DRAM和內存控制器進行了初始化在這里不再進行這項工作;
創建VxWorks鏡像
根據具體需要在命令行環境下利用Makefile創建各種鏡像,也可以在Tornado的集成環境下Build菜單中選擇Build Boot ROM來創建各種類型的Boot ROM;
除此以外,如果系統硬件包括串口,還要根據具體情況修改sysSerial.c文件;如果包含網絡部分要修改configNet.h;如果包含NVRAM要修改bootnv.h文件。總之,BSP的開發要根據具體目標板的硬件進行。

結語
我們已經利用基于VxWorks的BSP開發包成功的進行了線纜調制解調器的底層軟件開發。在開發過程中深感BSP在整個系統軟件中的重要性——沒有正確的BSP軟件,整個系統的啟動和運行也不會正確。另外需要強調的是:BSP的概念只是針對嵌入式操作系統而言的,而像DOS、WINDOWS、UNIX等BIOS操作系統是無BSP可言的。對同一目標板而言,不同操作系統的BSP在本質上是一樣的,但是不同的操作系統將提供不同的支持庫,另外在BSP結構上也可能會有所不同,在做BSP移植的時候應該注意?!?br />
參考文獻
1. Tornado BSP Developer誷 Kit for VxWorks User誷 Guide,Tornado 2.0,Edition 1,1999
2. Tornado BSP Developer誷 Kit for VxWorks User誷 Guide,Tornado 1.0.1,Edition 1,1997
3. VxWorks Programmer誷 Guides,Edition 1,1999
此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          欧美一区在线看| 久久精品视频在线| 一区二区久久久久| 男人的天堂成人在线| 欧美日韩国产美女| 在线日本高清免费不卡| 欧美成人一区二区在线| 久久久久久久一区| 亚洲一二三区视频在线观看| 99日韩精品| 欧美日韩视频在线一区二区观看视频| 亚洲国产视频一区| 亚洲一区欧美一区| 中文欧美字幕免费| 亚洲风情在线资源站| 国产一区二区久久| 国产亚洲福利社区一区| 亚洲第一天堂无码专区| 久久激情五月丁香伊人| 欧美色综合网| 欧美日产一区二区三区在线观看| 国产欧美日韩精品一区| 欧美日韩国产页| 好看的日韩视频| 99国产精品久久久久老师| 91久久国产精品91久久性色| 在线日韩av片| 国产日韩高清一区二区三区在线| 欧美午夜精品久久久久久超碰| 国产片一区二区| 国产精品午夜av在线| 免费在线看一区| 久久午夜电影| 欧美精品久久久久久久| 久久亚洲私人国产精品va| 一区二区三区久久久| 国产精品国产三级国产普通话蜜臀| 国产精品美女久久| 美国成人直播| 亚洲成人中文| 国产精品久久久久久久免费软件| 欧美女激情福利| 欧美激情综合五月色丁香| 妖精视频成人观看www| 欧美日本一区二区高清播放视频| 日韩视频在线免费| 欧美色道久久88综合亚洲精品| 欧美日韩亚洲视频一区| 亚洲国产一区二区精品专区| 久久国产精品72免费观看| 欧美99在线视频观看| 国产精品色婷婷| 久久免费一区| 久久久久久成人| 亚洲国产人成综合网站| 一区二区三区视频在线播放| 亚洲午夜影视影院在线观看| 国产精品日韩欧美大师| 亚洲天堂av图片| 亚洲精品乱码久久久久久| 影音先锋日韩有码| 夜夜嗨av一区二区三区四区| 精品动漫3d一区二区三区免费版| 亚洲电影毛片| 国产欧美一区二区精品仙草咪| 日韩亚洲成人av在线| 国内久久精品| 中文亚洲视频在线| 欧美另类在线观看| 国产精品日韩一区二区| 亚洲国产欧美一区二区三区久久| 国产精品一国产精品k频道56| 亚洲韩国青草视频| 国产精品日韩久久久| 欧美华人在线视频| 久久久精品免费视频| 国模精品一区二区三区色天香| 一本色道88久久加勒比精品| 国产日韩1区| 久久午夜国产精品| 欧美大片18| 亚洲特黄一级片| 亚洲国产成人久久| 亚洲午夜精品福利| 久久久久久久久蜜桃| 久久这里只精品最新地址| 麻豆视频一区二区| 亚洲国产精品一区| 欧美日韩一区在线观看视频| 国产一区二区三区免费在线观看| 国产亚洲精品高潮| 亚洲国产成人精品视频| 国产精品久久久久久妇女6080| 国产一区二三区| 一本一本久久a久久精品综合妖精| 免费中文字幕日韩欧美| 欧美激情精品久久久久久大尺度| 欧美在线一区二区三区| 欧美大胆成人| 老司机精品福利视频| 亚洲国产精品va在线观看黑人| 亚洲精品永久免费| 亚洲欧美中文日韩在线| 亚洲天堂成人| 国产一区二区视频在线观看| 午夜精品美女久久久久av福利| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美激情视频一区二区三区不卡| 国产精品国产三级国产aⅴ无密码| 亚洲永久免费av| 久久国产精品久久精品国产| 在线欧美电影| 精品盗摄一区二区三区| 欧美人在线观看| 国内综合精品午夜久久资源| 国产精品区一区| 国产精品美女久久久久av超清| 亚洲视频狠狠| 亚洲欧美日韩综合一区| 精品成人国产在线观看男人呻吟| 国产一区二区三区电影在线观看| 欧美成人日本| 欧美在线国产精品| 麻豆av一区二区三区久久| 欧美中文在线字幕| 亚洲一区三区在线观看| 99精品热视频只有精品10| 国产精品theporn88| 一色屋精品亚洲香蕉网站| 国产中文一区二区| 一区在线电影| 激情91久久| 欧美在线日韩在线| 欧美国产日韩免费| 欧美激情视频网站| 免费看av成人| 牛牛精品成人免费视频| 久久精品五月婷婷| 一个色综合av| 日韩午夜电影在线观看| 国产区精品在线观看| 欧美激情亚洲另类| 欧美va亚洲va日韩∨a综合色| 六月婷婷一区| 9久re热视频在线精品| 美脚丝袜一区二区三区在线观看| 国产日韩欧美在线视频观看| 国产精品美女久久福利网站| 国产日韩欧美a| 欧美日韩ab片| 久久精品在线视频| 国产午夜精品在线| 亚洲人人精品| 欧美精品一区二区三区四区| 亚洲欧美日韩综合| 极品尤物一区二区三区| 国产在线不卡精品| 国产性天天综合网| 免费在线观看一区二区| 国产乱子伦一区二区三区国色天香| 国产精品捆绑调教| 一片黄亚洲嫩模| 亚洲第一搞黄网站| 亚洲经典在线看| 樱花yy私人影院亚洲| 久久aⅴ乱码一区二区三区| 亚洲第一主播视频| 欧美日韩卡一卡二| 亚洲夫妻自拍| 欧美精品激情blacked18| 亚洲欧美国产精品桃花| 久久综合网hezyo| 欧美激情一区二区三级高清视频| 国产欧美一区二区视频| 欧美日本国产一区| 在线看欧美日韩| 国产精品久久婷婷六月丁香| 精品成人国产在线观看男人呻吟| 欧美黄色精品| 亚洲第一成人在线| 久久精品99| 国产一区二区三区精品欧美日韩一区二区三区| 欧美婷婷六月丁香综合色| 久久免费的精品国产v∧| 在线观看国产日韩| 亚洲女女女同性video| 久久久999精品| 国产精品国内视频| 国产精品女人网站| 日韩午夜电影| 国产精品99久久久久久有的能看| 久久亚洲精品中文字幕冲田杏梨| 欧美一区二区三区日韩| 久久综合伊人77777| 一区二区日韩精品| 国产日本欧美一区二区三区在线| 亚洲激情在线观看| 亚洲三级视频| 国产精品自拍网站| 国产精品国产馆在线真实露脸| 香蕉久久一区二区不卡无毒影院| 欧美日韩午夜在线| 欧美日本国产一区| 久久免费国产精品| 欧美日韩综合不卡| 国产欧美一区二区视频| 久久综合中文| 国产精品理论片在线观看| 亚洲欧美综合一区| 久久se精品一区二区| 国产精品激情av在线播放| 最新亚洲视频| 伊甸园精品99久久久久久| 亚洲国产日韩欧美在线动漫| 久久露脸国产精品| 亚洲天堂网站在线观看视频| 国产精品久久久久久久久久直播| 亚洲国产日韩欧美在线动漫| 欧美成人免费全部| 欧美不卡三区| 国产精品羞羞答答| 亚洲视频在线免费观看| 欧美日韩国产首页在线观看| 亚洲美女淫视频| 欧美激情在线狂野欧美精品| 久久裸体艺术| 一区福利视频| 99re成人精品视频| 亚洲狼人精品一区二区三区| 久久九九精品99国产精品| 韩国成人理伦片免费播放| 精品1区2区3区4区| 国产精品欧美日韩一区| 亚洲精品在线观看免费| 欧美高清一区二区| 亚洲在线免费| 一区二区免费在线视频| **网站欧美大片在线观看| 亚洲美女诱惑| 新67194成人永久网站| 99精品视频免费观看| 欧美11—12娇小xxxx| 国产永久精品大片wwwapp| 亚洲最新视频在线播放| 国产综合激情| 国产一区二区三区奇米久涩| 国产午夜亚洲精品不卡| aa成人免费视频| 影音先锋中文字幕一区| 有坂深雪在线一区| 可以免费看不卡的av网站| 国产一区二区三区在线观看网站| 欧美在线1区| 国产精品一区免费视频| 久久精品麻豆| 欧美日韩三级电影在线| 欧美在线影院在线视频| 欧美一区二区在线免费观看| 久久综合九色欧美综合狠狠| 亚洲日本精品国产第一区| 夜夜嗨av一区二区三区四季av| 免费成人高清视频| 樱桃国产成人精品视频| 国产精品久久久久久亚洲毛片| 亚洲欧美日韩视频一区| 国产精品第十页| 日韩一二在线观看| 影音先锋亚洲电影| 欧美日韩精品二区第二页| 亚洲午夜久久久久久尤物| 久久久久久综合| 久久在线免费观看| 国产欧美一区二区三区视频| 免费国产自线拍一欧美视频| 亚洲一区一卡| 99re热这里只有精品免费视频| 精品动漫av| 一本久久青青| 欧美fxxxxxx另类| 欧美激情va永久在线播放| 久久久女女女女999久久| 亚洲免费观看| 亚洲日本中文| 国产在线视频不卡二| 日韩亚洲国产欧美| 欧美大尺度在线| 亚洲综合电影一区二区三区| 亚洲欧美高清| 99国产精品久久| 尤物网精品视频| 国产欧美视频在线观看| 韩国一区二区三区美女美女秀| 欧美日韩大陆在线| 欧美午夜片欧美片在线观看| 国产亚洲一区在线播放| 中文精品99久久国产香蕉| 亚洲女女女同性video| 久久九九99| 国产伦一区二区三区色一情| 欧美日本国产| 国产精品色婷婷久久58| 欧美日韩在线视频首页| 性欧美大战久久久久久久免费观看| 在线观看欧美激情| 欧美日本在线视频| 亚洲女人天堂成人av在线| 久久夜色精品国产噜噜av| 久久久久久综合| 99香蕉国产精品偷在线观看| 亚洲美女视频在线免费观看| 国产精品视区| 在线不卡亚洲| 99re亚洲国产精品| 在线视频欧美日韩精品| 国产精品日日摸夜夜摸av| 欧美成人一区二免费视频软件| 亚洲高清视频中文字幕| 欧美日韩国产美女| 亚洲一区一卡| 亚洲女同同性videoxma| 午夜日韩视频| 国产精品女主播一区二区三区| 国产精品高潮在线| 国产精品久久久久91| 亚洲欧洲日本专区| 欧美黄色一区二区| 欧美一级黄色录像| 国产欧美视频在线观看|