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


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


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

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

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


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

vxworks是美國wind river公司研發嵌入式實時操作方法系統,具有高性能,可裁減性好等特性,能支持幾種微處理器(如powerpc,x85,arm,sparc);自問世對來,對其良好町靠性與卓越實時性被廣泛地使用于通信,航空,航天等高精尖技術信息及實時性條件極高領域中。bsp(board support package,板級支持包)用處是針對特殊硬件平臺,為操作方法系統內核供應操作方法接口,使操作方法系統能夠獨立于底層硬件。對上層使用屏蔽具體硬件,vxworks高可移植性就是通過bsp解決方案。at91rm9200是atmel公司生產一款arm9核IC,本文重點說明將vxworks移植到該IC過程中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種:可加載種類映像,romvxworks映像與rom駐留型映像。這3種種類映像組織是不一樣,因此運行過程有所差別。
  可加載映像包括vxworks與boot rom兩部分內容,兩部分是獨立建立。首先,由系統引導源代碼把rom引導程序搬到ram_high_adrs。然后,rom引導程序開始啟動,將vxworks映像加載到ram_low_adrs,的后跳轉到vxworks映像裝入點。
  romvxworks映像在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)為at91rm9200IC中emac設備;host為主機名;vxworks為要下載文件名;h為主機ip地址;e為目標板ip地址;u為用戶名;pw為密碼;tn為目標板名稱。
(2)修改地址
  該文件中地址定義,如rom_text_adrs,rom_size,ram_low_adr,sram_high_size等要及makefik文件中關聯定義一致。本設計方案中源代碼段存儲在連接armIC外部片選cso上flash里面,基地址為oxl0000000,因此.定義如下:
  vxworks缺省設置由configall.h來確定。普通來說,缺省設置設置及自行研發硬件系統設置不同,用戶可通過cotlfig.h來改變缺省設置。用戶須查看configall.h,并在config.h中將不需軟硬件設置與初始化去掉。例如,缺省設置中普通包含浮點處理器,而at9lrm9200中沒有浮點寄存器,因此就要刪掉關聯設置。
3.2.3 修改integrator920t.c
  該文件中設置所有非可選,及at91rm9200IC關聯資料,如各硬件關聯寄存器地址定義,設備寄存器中對應位定義,各硬件中斷矢量與中斷優先級定義,dbug與usart控制,網口定義,系統時鐘與輔助時鐘型號參數設置等。vxworks所要運用目標板包含設備軟件驅動程序頭文什應當包含在該文件開始。該文件中各項宏定義均是at91rm9200IC,并根據具體條件定義。例如,電源管理控制器中用到兩個鎖相環plla與pllb,對它們部分型號參數設定源代碼如下:
3 2.4 修改rornlnit.s
  該文件包含引導rom與romvxworks映像入口初始化匯編源代碼。入口點為rominit()函數,是系統加電運行后首先執行源代碼。主要功能是:保存運行種類,使處理器復位;初始化flash與sdram;設置mmu到已知狀態;指令cache使能;初始化mmu控制寄存器(指令32位,數據32位,寫緩沖使能);開漏寫緩沖,并且使指令與數據cache都兀效;通過設置cpsrirq禁止位,fir禁止位與先進中斷控制器aic中中斷禁止寄存器來屏蔽中斷,跳轉到bootinit.c中rom-start(),同時傳遞運行種類。其中,中斷屏蔽源代碼如下:
  在調試這段源代碼時,由于串口與網口都沒有運行,因此僅僅能通過點燈程序來跟蹤程序執行情況,設置不同led亮來顯示程序執行到哪一步。例如,如果要并行輸入/輸出口c32位中第15位亮,則能編程代碼為;
  在編寫本文件時,需注意地方是:不要在該文件里進行過多初始化操作方法,大部分硬件初始化操作方法在syslib.c文件中syshwinit()函數中進行。
3.2.5 修改syslib c
  syslib.c是bsp初始化核心源代碼。在這個文件中,必須復位所有硬件,使其處于初始化狀態,保證后面開中斷后不會產生假中斷。這個文件包含了由目標機體系構造決定,及系統關于c程序。這些c程序供應板級接口。這些接口,vxworks與應用程序軟件構造及系統無關。該文件功能包括:定義了rram,sram,rom,外部片選IC物理地址與虛擬地址;定義中斷優先級寄存器中各個位對應優先級;調用syshwinit()初始化串口與網口,安裝irq/svc中斷堆棧分配程序;總線中斷功能等。本文件中有兩個顯要函數:syshwinit()與syshwinit2()。syshwinit()源代碼如下:
  syshwinit2()用來連接系統中斷,安裝isr,進行其他設置。它在初始化系統時鐘時,由sysclkconnect()調用,主要用來初始化中斷庫與中斷軟件驅動,安裝系統時鐘與輔助時鐘中斷對及串口等設備中斷。
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為例,重點說明了vxworksbsp設計方案中需修改幾個顯要文件,最后提出了需注意難題。盡管目標板硬件不同,bsp解決方案也不盡相同,但基本思想是一樣。本設計方案對各類研發板系統移植與后續應用程序軟件研發有一定參考價值

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

返回版面帖子列表

VxWorks在AT91RM9200上BSP設計方案








簽名
久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
韩日欧美一区二区三区| 伊人久久大香线蕉av一区| 亚洲精品成人在线| 成人欧美一区二区三区白人 | 国产精品女主播av| 国产亚洲成aⅴ人片在线观看| 久久综合久久久久88| 久久婷婷国产综合精品青草 | 91精品久久久久久久久99蜜臂| 欧美精品久久一区二区三区 | 中文字幕亚洲成人| 亚洲精品免费在线播放| 午夜精品一区在线观看| 久久99国产精品免费网站| 国产精品91一区二区| 成人丝袜视频网| 懂色中文一区二区三区在线视频| 精品卡一卡二| 亚洲开发第一视频在线播放| 欧美影视一区在线| 精品国产乱码久久久久久蜜臀| 久久亚洲欧美国产精品乐播| 国产精品久久久久久久久快鸭 | 午夜视频久久久| 在线观看国产一区二区| 91精品国产乱| 中文字幕免费在线观看视频一区| 一区二区三区91| 精品一区二区在线播放| jiyouzz国产精品久久| 久久精品人人做人人爽电影| 在线观看欧美一区| 欧美一区二区三区喷汁尤物| 国产精品热久久久久夜色精品三区| 一区二区三区免费在线观看| 精品系列免费在线观看| 不卡视频一区| 色综合久久久久| 精品国产123| 亚洲综合成人在线| 丰满少妇久久久久久久| 麻豆av一区二区| 欧美日韩第一区日日骚| 中文字幕一区二区在线观看| 午夜不卡av在线| 成人国产精品免费观看动漫| 欧美日韩精品免费看| 日韩午夜三级在线| 亚洲一区在线观看网站| 福利视频网站一区二区三区| 欧美亚洲国产免费| 欧美精品在线观看一区二区| 中文字幕一区免费在线观看| 久久99久久精品欧美| 极品校花啪啪激情久久| 欧美精品粉嫩高潮一区二区| 一区二区三区在线播放| 国产成人h网站| 亚洲日本精品国产第一区| 久久色在线视频| 麻豆精品在线观看| 欧美精品二区三区四区免费看视频| 欧美一级片在线看| 丝袜美腿亚洲色图| 国模精品娜娜一二三区| 精品欧美一区二区久久| 喷白浆一区二区| 欧洲亚洲一区| 国产亚洲污的网站| 国产一区二区三区免费在线观看| 午夜精品一区二区三区在线观看| 中文字幕 久热精品 视频在线| 国产精品一级在线| 一区二区三区四区在线视频 | 亚洲图片有声小说| 99国精产品一二二线| 欧美一区二区成人| 美女爽到高潮91| 日本日本精品二区免费| 国产精品女同一区二区三区| 成人av一区二区三区| 91国产丝袜在线播放| 亚洲一卡二卡三卡四卡五卡| 国内精品国语自产拍在线观看| 欧美va亚洲va在线观看蝴蝶网| 久久精品国产免费| 亚洲欧美日产图| 一区二区三区四区高清精品免费观看| 3d动漫啪啪精品一区二区免费| 日韩一区二区三区电影| 一区二区三区不卡视频| 另类小说图片综合网| 成人动漫精品一区二区| 爱情岛论坛亚洲入口| 日韩一级完整毛片| 视频一区视频二区在线观看| 久久狠狠久久综合桃花| 久久久99精品免费观看| 成人看片黄a免费看在线| 欧美性色黄大片| 日韩和欧美一区二区| 一本色道久久综合亚洲精品婷婷| 亚洲人123区| 久久av免费一区| 中文字幕在线观看不卡| 精品无人乱码一区二区三区的优势| 国产亚洲精品中文字幕| 国产一区二区精品久久| 成人综合av网| 亚洲区一区二区三区| 亚洲福利一二三区| 亚洲一区二区三区精品视频| 亚洲123区在线观看| 亚洲国产精品毛片| 日本欧洲一区二区| 在线观看国产一区二区| 久久99久久精品| 9191精品国产综合久久久久久| 精品一区二区免费在线观看| 制服丝袜成人动漫| 成人高清视频免费观看| 国产亚洲成年网址在线观看| 国产日韩欧美一区二区| 亚洲一线二线三线视频| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 本田岬高潮一区二区三区| 欧美日韩三级在线| 国产精品资源站在线| 久久伊人蜜桃av一区二区| 国产自产精品| 午夜在线成人av| 欧美日韩国产美| 成人中文字幕合集| 亚洲国产精华液网站w | 91视频精品在这里| 国产精品女人毛片| 日本三级中国三级99人妇网站| 日韩高清在线电影| 91精品国产综合久久香蕉的特点| 成a人片亚洲日本久久| 中文字幕亚洲欧美在线不卡| 亚洲国产一区二区在线| 国内精品免费**视频| 精品欧美久久久| 精品在线观看一区二区| 国产成人免费视频网站| 日本美女一区二区三区| 亚洲人成网站在线| 国产一区二区伦理片| 精品国产电影一区二区| 国内一区二区三区在线视频| 亚洲国产一区二区三区| 91麻豆精品国产91久久久久久| 高清视频一区二区三区| 水蜜桃久久夜色精品一区的特点 | 色婷婷久久久久swag精品| 不卡在线视频中文字幕| 亚洲一区在线观看网站| 日韩女优电影在线观看| 欧美精品久久| 国内精品国产成人国产三级粉色| 国产日韩欧美精品在线| 一本久久精品一区二区| 91成人伦理在线电影| 日本视频免费一区| 中文字幕av资源一区| 欧美中文字幕一区二区三区| 99中文字幕| 蜜乳av一区二区三区| 国产精品理论在线观看| 欧美日本韩国一区二区三区视频 | 99精品在线免费| 婷婷成人激情在线网| 中文在线免费一区三区高中清不卡| 一区二区在线观看网站| 国产精品视频免费观看| 国产一区欧美一区| 亚洲成人动漫一区| 国产欧美精品一区二区色综合 | 国产剧情一区二区三区| 一区二区成人在线| 精品国产乱码久久久久久图片| 亚洲免费久久| 韩国精品一区二区三区六区色诱| 国产精品一二二区| 日韩国产精品久久久久久亚洲| 国产精品毛片高清在线完整版| 欧美日韩在线播放三区四区| 日本福利一区二区三区| 97免费资源站| 国产精品一区专区| 日韩av二区在线播放| 亚洲精品国产高清久久伦理二区| 久久久精品免费网站| 555夜色666亚洲国产免| 色婷婷国产精品综合在线观看| 久久久久高清| 国产成人一区二区三区免费看| 国产高清不卡一区二区| 毛片不卡一区二区|