久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区


曙海教育集團論壇VxWorks專區(qū)VxWorks技術討論區(qū) → VxWorks在AT91RM9200上BSP設計方案


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

主題:VxWorks在AT91RM9200上BSP設計方案

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


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

vxworks是美國wind river公司研發(fā)嵌入式實時操作方法系統(tǒng),具有高性能,可裁減性好等特性,能支持幾種微處理器(如powerpc,x85,arm,sparc);自問世對來,對其良好町靠性與卓越實時性被廣泛地使用于通信,航空,航天等高精尖技術信息及實時性條件極高領域中。bsp(board support package,板級支持包)用處是針對特殊硬件平臺,為操作方法系統(tǒng)內(nèi)核供應操作方法接口,使操作方法系統(tǒng)能夠獨立于底層硬件。對上層使用屏蔽具體硬件,vxworks高可移植性就是通過bsp解決方案。at91rm9200是atmel公司生產(chǎn)一款arm9核IC,本文重點說明將vxworks移植到該IC過程中bsp定制過程。
1 bsp理念
  bsp通常是指針對具體硬件平臺,用戶所編寫運行源代碼與部分設備軟件驅(qū)動程序集合。它所解決方案功能包括初始化與軟件驅(qū)動部分設備。最基本bsp僅需支持處理器復位,初始化,軟件驅(qū)動串口與必要時鐘處理。bsp是相對于操作方法系統(tǒng)而言,不同操作方法系統(tǒng)對應不同形式bsp,因此,在寫bsp時一定要按照條件操作方法系統(tǒng)對bsp定義形式來寫。在vxworks系統(tǒng)中,bsp是介于底層硬件環(huán)境與vxworks的間一個軟件接口,它主要功能是系統(tǒng)加電后初始化目標機硬件與vxworks,并供應部分硬件軟件驅(qū)動程序。bsp在vxworks系統(tǒng)中層次關系如圖1所示。
  bsp為各種板卡硬件功能供應了統(tǒng)一軟件接口,包括硬件初始化,中斷捕捉與處理,硬件時鐘與定時器管理,內(nèi)存地址映射,對及內(nèi)存分配等。每個bsp還包括一個rom運行或其他運行機制。
2 vxworks引導過程
  在編寫bsp的前,首先要了解整個系統(tǒng)運行過程。vxworks映像由源代碼段,數(shù)據(jù)段與bss段3部分結(jié)合。vxwotks內(nèi)核能分為3種:可加載種類映像,romvxworks映像與rom駐留型映像。這3種種類映像組織是不一樣,因此運行過程有所差別。
  可加載映像包括vxworks與boot rom兩部分內(nèi)容,兩部分是獨立建立。首先,由系統(tǒng)引導源代碼把rom引導程序搬到ram_high_adrs。然后,rom引導程序開始啟動,將vxworks映像加載到ram_low_adrs,的后跳轉(zhuǎn)到vxworks映像裝入點。
  romvxworks映像在bsp初始化時,會把lmage完全搬到ram中執(zhí)行,包括源代碼段與數(shù)據(jù)段。在拷貝執(zhí)行完畢后,系統(tǒng)控制權轉(zhuǎn)移給ram中vxworks映像初始化源代碼。
  rom駐留型映像僅僅是將rom中vxworks映像數(shù)據(jù)段與bss段拷貝到ram中,完成后系統(tǒng)控制權轉(zhuǎn)移給rom/flash里vxworks映像初始化源代碼,源代碼段留在rom中并在rom中啟動。在rom中啟動vxworks映像主要足為了節(jié)省ram空間,帶來不利則是啟動速度慢。
  圖2與圖3分別是下載型與rom型vxworks映像初始化過程。
下面臨rom型vxworks內(nèi)核運行過程為例,說明各文件用處:
  romlnit()保存運行種類,屏蔽中斷;初始化內(nèi)存與寄存器,屏蔽cache;初始化cpu,將堆棧指針定位于被拷貝boot rom映像在ram地址;跳到romstart()。
  rorastart()根據(jù)不同映像種類將vxworks映像不同部分解壓縮<如果需)并加載到ram中。
  usrinit() 對vxworks映像bss段清零;調(diào)用intvecbaseset()設置中斷矢量基地址表;調(diào)用excvecinit()初始化異常中斷矢量;調(diào)用syshwinit()初始化系統(tǒng)硬件;調(diào)用usrkernelinit()初始化wind內(nèi)核;調(diào)用kernellnit()運行wind內(nèi)核,運行usrroot()任務。
  usrroot()設置操作方法系統(tǒng)時鐘,建立設備,安裝軟件驅(qū)動,調(diào)用syshwinit2()安裝系統(tǒng)時鐘與輔助時鐘中斷對及串口等設備中斷,初始化i/o,文件系統(tǒng),調(diào)用應用程序軟件。
3 vxworks在at91rm9200上bsp設計方案
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控制器能達到122個可編程代碼i/o引腳(每個都有輸入控制,可中斷及開路輸出能力);帶有8個優(yōu)先級,可單獨屏蔽中斷源先進中斷控制器,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)硬件密切關聯(lián)。
3.2.1 修改makeflie
  makefile文件定義編譯與鏈接整個bsp規(guī)則,如編譯工具選擇,編譯選項與包含文件路徑等;控制生成vxworks映像文件種類,同時含有存儲區(qū)大小資料,對于存儲區(qū)大小資料改動必須及config.h對應改動同步。有些型號參數(shù)需在該文件中定義,如處理器種類,編譯工具,目標地址等。下面說明一些須修改型號參數(shù)與地址:
3.2.2 修改config.h
  config.h文件包含了所有頭文件與及cpu關聯(lián)特殊定義。vxworks內(nèi)核組件設置由config.h文件定義。config.h中主要修改內(nèi)容有定義引導行與修改地址。
(1)定義引導行
  其中,mac(o,0)為at91rm9200IC中emac設備;host為主機名;vxworks為要下載文件名;h為主機ip地址;e為目標板ip地址;u為用戶名;pw為密碼;tn為目標板名稱。
(2)修改地址
  該文件中地址定義,如rom_text_adrs,rom_size,ram_low_adr,sram_high_size等要及makefik文件中關聯(lián)定義一致。本設計方案中源代碼段存儲在連接armIC外部片選cso上flash里面,基地址為oxl0000000,因此.定義如下:
  vxworks缺省設置由configall.h來確定。普通來說,缺省設置設置及自行研發(fā)硬件系統(tǒng)設置不同,用戶可通過cotlfig.h來改變?nèi)笔≡O置。用戶須查看configall.h,并在config.h中將不需軟硬件設置與初始化去掉。例如,缺省設置中普通包含浮點處理器,而at9lrm9200中沒有浮點寄存器,因此就要刪掉關聯(lián)設置。
3.2.3 修改integrator920t.c
  該文件中設置所有非可選,及at91rm9200IC關聯(lián)資料,如各硬件關聯(lián)寄存器地址定義,設備寄存器中對應位定義,各硬件中斷矢量與中斷優(yōu)先級定義,dbug與usart控制,網(wǎng)口定義,系統(tǒng)時鐘與輔助時鐘型號參數(shù)設置等。vxworks所要運用目標板包含設備軟件驅(qū)動程序頭文什應當包含在該文件開始。該文件中各項宏定義均是at91rm9200IC,并根據(jù)具體條件定義。例如,電源管理控制器中用到兩個鎖相環(huán)plla與pllb,對它們部分型號參數(shù)設定源代碼如下:
3 2.4 修改rornlnit.s
  該文件包含引導rom與romvxworks映像入口初始化匯編源代碼。入口點為rominit()函數(shù),是系統(tǒng)加電運行后首先執(zhí)行源代碼。主要功能是:保存運行種類,使處理器復位;初始化flash與sdram;設置mmu到已知狀態(tài);指令cache使能;初始化mmu控制寄存器(指令32位,數(shù)據(jù)32位,寫緩沖使能);開漏寫緩沖,并且使指令與數(shù)據(jù)cache都兀效;通過設置cpsrirq禁止位,fir禁止位與先進中斷控制器aic中中斷禁止寄存器來屏蔽中斷,跳轉(zhuǎn)到bootinit.c中rom-start(),同時傳遞運行種類。其中,中斷屏蔽源代碼如下:
  在調(diào)試這段源代碼時,由于串口與網(wǎng)口都沒有運行,因此僅僅能通過點燈程序來跟蹤程序執(zhí)行情況,設置不同led亮來顯示程序執(zhí)行到哪一步。例如,如果要并行輸入/輸出口c32位中第15位亮,則能編程代碼為;
  在編寫本文件時,需注意地方是:不要在該文件里進行過多初始化操作方法,大部分硬件初始化操作方法在syslib.c文件中syshwinit()函數(shù)中進行。
3.2.5 修改syslib c
  syslib.c是bsp初始化核心源代碼。在這個文件中,必須復位所有硬件,使其處于初始化狀態(tài),保證后面開中斷后不會產(chǎn)生假中斷。這個文件包含了由目標機體系構造決定,及系統(tǒng)關于c程序。這些c程序供應板級接口。這些接口,vxworks與應用程序軟件構造及系統(tǒng)無關。該文件功能包括:定義了rram,sram,rom,外部片選IC物理地址與虛擬地址;定義中斷優(yōu)先級寄存器中各個位對應優(yōu)先級;調(diào)用syshwinit()初始化串口與網(wǎng)口,安裝irq/svc中斷堆棧分配程序;總線中斷功能等。本文件中有兩個顯要函數(shù):syshwinit()與syshwinit2()。syshwinit()源代碼如下:
  syshwinit2()用來連接系統(tǒng)中斷,安裝isr,進行其他設置。它在初始化系統(tǒng)時鐘時,由sysclkconnect()調(diào)用,主要用來初始化中斷庫與中斷軟件驅(qū)動,安裝系統(tǒng)時鐘與輔助時鐘中斷對及串口等設備中斷。
4 編譯生成映像
  系統(tǒng)定制完成后,有兩種編譯方法:一種是在tornado下進行編譯,生成映像文件;另一種是直接用make工具編譯,但要寫好腳本文件。裝載到目標板中vxworks映像取決于運用下載方法,其中主要包括對下多種:
  ①vxworks。這是ram映像,vxworks需通過目標板上引導程序從串口或網(wǎng)口把它下載到目標板ram中啟動。在tornado研發(fā)環(huán)境下,這是一個默認選項,主要用在調(diào)試階段。運用宿主機上windsh工具與符號表。
  ②vxworks.st。這也是ram映像,需通過引導rom把vxworks映像下載到目標機內(nèi)存中才能執(zhí)行。該對象文件內(nèi)置符號表。
  ③vxworks_rom。這是一個非壓縮,rom映像。在這個對象文件執(zhí)行前,先把自己拷貝到目標機ram中。這種種類映像通常在運行階段速度相比較慢,因為源代碼在rom中執(zhí)行,但執(zhí)行階段比rom駐留型映像要快。
  ④vxworks.st_rom。這是rom壓縮vxworks映像。它在執(zhí)行前先把自己解壓并拷貝到目標機ram中執(zhí)行。
  ⑤vxworks.res_rom。這是rom駐留型非壓縮vxworks映像。它在執(zhí)行前把數(shù)據(jù)段拷貝到目標機ram中。這種種類映像在運行階段相比較快,但在目標機上執(zhí)行速度比rom種類映像慢(因為cpu訪問rom比訪問ram要慢)。通常在ram空間相比較小目標機上運用這種種類映像。
5 需注意難題
  首先,應該避免在rominit.s中進行過多初始化操作方法。該史件中僅僅是進行必要最小硬件初始化,大部分硬件初始化都是在syshwinit()中完成。另外,romtnit.s中源代碼不應當被其他模塊或函數(shù)調(diào)用。
  其次,應該避免sysalib.s中工作太少。bsp研發(fā)人員通常錯誤地認為在rominit.s里初始化過設備不需在sysalib.s中從新初始化。實際上,vxworks映像并不認為它是由引導映像程序引導,因此,它必須從新設置與初始化所有它自己需運用設備。sysinit()是該文件中最主要一個函數(shù),也是第一個函數(shù)。該例程中很多工作及rominit()是相同,目是保證內(nèi)核映像在啟動及冷運行時,軟硬件環(huán)境高度一致。
  最后,對特定bsf。軟件驅(qū)動程序修改,僅僅能在特定bsp目錄下。此設計方案中目錄為target/config/integra-tor920t,不要直接在target/src/drv對及target/h/drv中修改。僅僅有風河公司源程序才能存放在這些目錄下。
6 結(jié)論
  本文在說明bsp理念,用處與vxworks映像類別對及系統(tǒng)運行過程基礎上,對atmel公司生產(chǎn)arm9處理器at91rm9200為例,重點說明了vxworksbsp設計方案中需修改幾個顯要文件,最后提出了需注意難題。盡管目標板硬件不同,bsp解決方案也不盡相同,但基本思想是一樣。本設計方案對各類研發(fā)板系統(tǒng)移植與后續(xù)應用程序軟件研發(fā)有一定參考價值

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

返回版面帖子列表

VxWorks在AT91RM9200上BSP設計方案








簽名
久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
91免费观看| 日韩一区不卡| 国产一区二区视频在线免费观看| 欧美日韩一区在线视频| 欧美日韩在线精品一区二区三区激情| 久久久久国产精品人| 午夜婷婷国产麻豆精品| 99精品国产91久久久久久| 亚洲自拍三区| 国产午夜精品一区二区三区嫩草| 日韩vs国产vs欧美| 成人自拍视频网站| 欧美影院一区二区| 一区二区在线观看视频在线观看| 国产中文字幕一区| 日韩精品国内| 欧美国产激情一区二区三区蜜月 | 亚洲综合色在线| 99久久国产综合色|国产精品| 亚洲欧美国产一区二区| 亚洲国产精品传媒在线观看| 激情久久五月天| 亚洲国产一区二区精品视频| 中文字幕成人网| 成人动漫视频在线| 欧美性感一类影片在线播放| 亚洲男人的天堂在线aⅴ视频| 99r国产精品| 欧美一级艳片视频免费观看| 麻豆精品精品国产自在97香蕉| 日本一区视频在线| 成人免费一区二区三区视频| 91丨九色丨蝌蚪丨老版| 日韩免费电影网站| 激情久久五月天| 色哦色哦哦色天天综合| 亚洲图片欧美色图| 久久综合九色99| 国产精品乱子久久久久| 91网站最新地址| 久久女同精品一区二区| 国产v综合v亚洲欧| 91精品国产乱码久久蜜臀| 老司机精品视频在线| 中文网丁香综合网| 香蕉久久夜色精品国产使用方法| 欧美成人一区二区在线| 亚洲欧美电影院| 鲁丝一区二区三区免费| 中文字幕日韩av资源站| 国产精品一区二区三区观看| 久久色.com| 99久久久精品免费观看国产| 久久午夜电影网| 97超级碰碰| 日本一区二区三区dvd视频在线| 91麻豆免费视频| 欧美国产丝袜视频| 国产综合欧美在线看| 亚洲日本在线观看| 日韩免费电影一区二区三区| 亚洲午夜久久久| 一区高清视频| 久久99久久久欧美国产| 欧美福利视频一区| 成人美女在线观看| 久久久久国产免费免费| 国产精品乱码视频| 亚洲色图制服诱惑| 亚洲人成网站在线观看播放| 日韩精品一二三区| 欧美三级电影精品| 国产成人在线视频网址| 久久综合色之久久综合| 成人片在线免费看| 一区二区三区四区在线免费观看| 一区二区三区欧美在线| 麻豆成人久久精品二区三区红| 欧美三级电影在线看| jiyouzz国产精品久久| 欧美韩日一区二区三区| 精品蜜桃传媒| 亚洲成av人影院在线观看网| 欧美视频一区二区三区| 成人午夜短视频| 欧美高清在线精品一区| 亚洲春色综合另类校园电影| 蜜臀久久99精品久久久久宅男 | 国产亚洲美州欧州综合国| 国产一区在线免费观看| 亚洲国产另类av| 在线不卡中文字幕| 69174成人网| 一二三四社区欧美黄| 欧美日韩色一区| 91av免费看| 亚洲第一会所有码转帖| 在线播放日韩导航| 国产精品手机在线| 日韩精品欧美精品| 精品国产成人系列| 精品一区二区国产| 美脚の诱脚舐め脚责91| 精品欧美一区二区久久| 欧美精品免费观看二区| 国产一区二区成人久久免费影院| 99久久夜色精品国产网站| 自拍偷拍亚洲欧美日韩| 欧美三级三级三级爽爽爽| 97se在线视频| 日产精品久久久久久久性色| 日韩免费在线观看| 快播亚洲色图| 国产宾馆实践打屁股91| 亚洲欧美aⅴ...| 欧美日韩中文字幕一区二区| 国产日本一区二区三区| 久久69国产一区二区蜜臀| 中文字幕一区免费在线观看| 欧美三级一区二区| 欧美一区二区三区四区五区六区| 国产大陆精品国产| 亚洲一区二区视频在线观看| 日韩视频在线你懂得| 亚洲国产一区在线| 俄罗斯精品一区二区| 国产一区二区视频在线播放| 亚洲少妇中出一区| 精品99久久久久久| 欧美性感一类影片在线播放| 麻豆成人小视频| av在线播放不卡| 免费成人在线网站| 日韩一区在线看| 精品人在线二区三区| 一本一本大道香蕉久在线精品 | 国内精品视频666| 亚洲私人影院在线观看| 日韩精品一区二区三区中文不卡 | 日韩三级伦理片妻子的秘密按摩| 色综合久久久久久久久五月| av一区二区三区免费| 国产在线一区二区| 婷婷亚洲久悠悠色悠在线播放| 国产农村妇女毛片精品久久麻豆 | 久久综合av免费| 欧美视频一区二区三区四区| 欧美大香线蕉线伊人久久| 91免费观看国产| 国产不卡视频一区二区三区| 日韩1区2区日韩1区2区| 一区二区久久久久久| 久久久午夜精品| 日韩欧美国产一区二区在线播放 | 美腿丝袜一区二区三区| 亚洲精品第一国产综合野| 中文字幕的久久| 久久久91精品国产一区二区三区| 欧美一区二区三区在线观看视频| 色综合久久综合网97色综合| 日韩精品久久一区| 久久国产手机看片| 国产女人水真多18毛片18精品 | 欧美日韩国产经典色站一区二区三区| 四虎影院一区二区三区| 蜜桃视频日韩| 国产区日韩欧美| 国产伦精品一区| 成人av电影免费| 99在线影院| 97久久天天综合色天天综合色hd | 欧美日韩成人一区| 色偷偷88欧美精品久久久| 亚洲欧洲精品一区| 污视频在线免费观看一区二区三区 | 亚洲精品视频在线看| 亚洲欧洲www| 亚洲欧美视频在线观看| 18成人在线观看| 亚洲裸体xxx| 一区二区激情视频| 亚洲va欧美va人人爽| 亚洲成a天堂v人片| 亚洲午夜电影在线观看| 亚洲韩国一区二区三区| 婷婷久久综合九色国产成人| 图片区小说区区亚洲影院| 午夜国产不卡在线观看视频| 日韩精品国产欧美| 激情亚洲综合在线| 成人免费视频一区| 91在线观看污| 国产乱人伦精品一区二区| 久久久一本精品99久久精品66| 欧美视频1区| 91久久久免费一区二区| 91麻豆精品国产91久久久久久 | 奇米一区二区三区av| 国产综合色精品一区二区三区| 国产精品一二一区|