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


曙海教育集團論壇VxWorks專區VxWorks BSP開發 → Vxworks bsp的制作


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

主題:Vxworks bsp的制作

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


加好友 發短信
等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
Vxworks bsp的制作  發帖心情 Post By:2010-12-1 9:23:21

用開始寫的驅動程序的文檔替代此文檔.

從該設備的概要開始.指出該驅動實現整個設備的部分還是全部細節.

描述所有該設備的操作模式,指出該驅動所實現的是哪種.

寫出該設備在BSP中創建和初始化的步驟.寫出可把該驅動定制為特殊硬件環境的所有宏(macros).

寫出所有可幫助用戶理解該設備如何工作和設備的接口.

模板概要:

這是一個串口驅動模板.可用來作為寫Vxworks5.3或更新版本的新驅動的起點.

這些驅動支持舊串口驅動沒有的新功能,首先,它們提供一個設置硬件選項的接口;

例如,停止位數,數據位,奇偶,等等.

其次,它們提供可用來提供串口線上的外部模式調試(如,ROM監視器調試)的輪巡通訊(polled communication)接口.通常只支持異步模式驅動. 貫穿整個文件,單詞"template"用來替換一個真實的設備名,按慣例采用廠商名的第一個字母加產品編號.例如,Zilog 8530 串口設備應一個名為Z8530——DUSAART

數據結構,好過TEMPLATE_DUSART.

數據結構

設備數據結構在文件 h/drv/sio/templateSio.h里定義。一個數據結構——TEMPLATE_CHAN被定義,為每個通道。具有多串口通道的設備也為整個芯片定義了一個數據結構.例如,此驅動有一個芯片級的,有兩個通道結構作為成員數據結構叫TEMPLATE_DUSART。

回調

傳輸準備就緒(transmitter ready)中斷調用服務采用回調至高層庫以獲得一個字符來傳送。 默認地,此驅動安裝不做任何事情的傀儡回調程序。使用此驅動的高層庫(例如,ttyDrv)將用SIO_INSTALL_CALLBACK控制命令(ioctl command)安裝自己的回調程序. 同樣,一個接受中斷處理采用回調來將字符傳給高層庫。

模式

理想模式下該驅動應支持輪巡和中斷模式,并可動態切換模式。但這并非必須。Vxworks可支持此設備上的tty設備,即使該驅動只支持

中斷模式.

增加動態模式切換允許當信息送至時將外部代理激活(例如,在第一楨時中斷). 對允許動態模式切換的驅動,注意驅動將在其輸入ISR中間被要求切換模式.一個驅動的輸入ISR看起來應如此: inChar = *pDev->dr;/@ 從數據寄存器里讀一個字符 @/ *pDev->cr = GOT_IT;/@ 承認中斷@/ pDev->putRcvChar (...);/@ 發送字符到高層 @/ /@ give the character to the higher layer @/ 如果該通道用作外部模式調試的通訊路徑,且接收的該字符是"幀結束"字符,則代理的回調會鎖定中斷,切換設備到輪巡模式,并使用輪巡模式下的設備片刻.此后代理會解鎖中斷,切換模式到中斷模式,并返回ISR. 特別地,回調能使兩模式切換,首先到輪巡模式然后到中斷模式,后返回. 這要求小心處理中斷處理內的回調。例如,在調用回調前你必須先承認中斷。

用法:

該驅動通常為BSP調用.該模塊里直接調用程序是 templateDevInit(), templateDevInit2(),templateIntRcv(), templateIntTx(), and templateIntErr(). BSP調用templateDevInit()來初始化或重啟芯片.它用intConnect()連接中斷處理(templateIntRcv, templateIntTx,和 templateIntErr). 連接中斷處理后,BSP調用templateDevInit2()來告訴驅動中斷模式操作已可行.

BSP: 按常規所有BSP特定的串口初始化在sysSerial.c(被sysLib.c包含)里進行, sysSerial.c實現至少4個函數:sysSerialHwInit(),sysSerialHwInit2(), sysSerialChanGet(),和sysSerialReset(),如下工作: sysSerialHwInit被sysHwInit調用來初始化串口設備.此程序將在調用能復位設備及安裝驅動函數指針的templateDevinit前初始化TEMPLATE_DUSART結構的所有板特定的區域(如,寄存器的I/O地址,等等).sysSerialHwInit還將執其他所有串口驅動所需要的過程,比如適當配置板上的中斷控制器. sysSerialHwInit2被sysHwInit2調用來用intConnect連接驅動的中斷處理.連接好中斷處理后,templateDevInit2的調用允許中斷模式操作開始. sysSerialChanGet被usrRoot調用來取得與串口通道號相關的串口通描述.該程序使用一個0-NUM_TTY之間的一個數為單一的參數.它返回一個指向相應通道描述——SIO_CHAN * 的指針,它正好是TEMPLATE_CHAN結構的地址. sysSerialReset被sysToMonitor()調用且會復位串口設備到一個不活動的狀態. 該驅動可通過重定義TEMPLATE_REG_READ和TEMPLATE_REG_WRITE宏來定制.這兩個宏用來訪問實際的芯片.如不定義,源代碼會假定用對所有寄存的read/write訪問來對設備進行簡單內存映射.

測試:

中斷驅動接口可用通常方法來測試.當它(測試信息,譯者如是猜測)來到時Vxworks打印到串口控制臺,于是看到加電后VxWorks輸出表示該驅動基本開始工作. VxWorks的Portkit測試也可用來進行更嚴格的測試. 輪巡接口容易被檢驗——你可調用通道的SIO_MODE_SET ioctllai使它進入輪巡模式.注意通常的打印工具不能在輪巡模式下與串口通道一起工作.一些代理必須執行輪巡循環來處理基于字符的字符輸入/輸出.這不是自動進行.當切換WDB串口線到輪巡模式時,WDB代理執行它自己的輪巡循環. 動態模式切換可用tornado工具來檢查.重新配置代理使用WDB_COMM_UDLP_SLIP通訊路徑(詳見VxWorks run_time Guide的配置章節). 如下開始wtxtcl %wtxtcl 從tcl提示符,連接到target server: wtxtcl.ex> wtxToolAttach 通知代理來轉換外部模式檢查回應是OK(0). wtxtcl.ex>wtxAgentModeSet 2 0 要求代理掛起系統(請求會以中斷模式傳到,但回應會以輪巡模式被傳送): wtxtcl.ex>wtxContextSuspend 0 0 0 在此時目標將被掛起.控制臺將顯示凍結(果板卡有一個控制臺設備),你不能"ping"目標的網絡接口.

恢復目標:

wtxtcl.ex>wtxContextResume 0 0 0 現在目標將重新運行,于是你能敲信息到控制臺(如果板卡有一個控制臺設備)并可從主機"ping"目標的網絡接口.

vxworks下bsp制作教程

1 vxworks概述

vxworks是WIND RIVER公司的產品。作為一種商用的嵌入式操作系統?vxworks擁有強大的功能和友好的用戶界面。與免費的嵌入式操作系統相比?商用操作系統經過嚴格的測試?具有良好的實時性?易用性和大量的文檔支持?但是它的源碼是不公開的并且價格昂貴;免費的嵌入式操作系統有很多?大都是linux的移植?公開源代碼?但缺乏文檔?要對照源碼進行開發。

2 BSP的流程

BSP流程分成兩部分。首先是位于BootRom中的Boot代碼?它的作用是實現配置硬件和啟動vxworks下載程序。接下來是下載后跳轉到vxworks的入口地址運行操作系統和應用程序。

流程入圖:

ROM中的啟動代碼部分:RomInit在文件在文件romInit.s中。它是運行的開始?實現這一部分是首先的。它實現判斷啟動類型?配置內核和非內核寄存器以及內存和外圍設備的讀寫時序?因此可以在此處加入內存檢測功能。在BSP中無法進行調試?只能通過閃燈實現云信正確與否的判斷。閃燈功能函數也要在此加入。判斷啟動類型和配置寄存器?這一部分不需要改動。配置內存和外圍設備讀寫時序?要進行改動。這一部分的SDRAM?ROM?FLASH?FPGA有相應的模板可以參考。它的實現是通過使用宏定義來實現的。但是要改動的話也不難?一般是改動空間大小的屏蔽位?讀寫位數?以及片選寄存器OR和BR。至于特殊外設的讀寫有待討論。內存檢測在這里實現較復雜?它根據相應的內存檢測算法實現。主要是對地址線和數據線的檢測。通過寫入數據再會讀出數據來判斷。使用"走步1"和"走步0"
算法。這一部分較多的依賴硬件?可移植性較差?根據自己的單板改動。閃燈在這一部分是強烈推薦的。因為閃燈才能定位程序的運行位置。閃燈函數可移植?一般要改動?因為燈可能接在不同的I/O口上。另外注意860SAR的PORT B是32位的。具體的端口見相應的CPU的I/O口的參數?配置相應的寄存器。

RomInit在函數結尾跳入RomStart。

RomStart在BootInt.c文件中。它是系統運行的第一個C函數。這一部分是Wind River公司提供的標準程序?一般不需改動。該函數是C的入口函數,由匯編程序調用,主要完成清內存,將ROM中的程序拷貝到RAM,解壓并跳至解壓后的程序處運行。UsrInit在BootConfig.c文件中。它主要是實現硬件的初始化。其中涉及到串口?網口的初始化?CONSOLE的配置等。其中串口和網口的配置BSP的重要部分?但860CPU對串口和王口有很好的支持?只要做很小的改動即可?串口很簡單?網口較復雜一些。UsrRoot在BootConfig.c文件中。它主要是實現vxworks文件的下載?并且跳轉到vxworks的入口地址。從而進入到操作系統中去。

VXWORKS文件中的代碼部分:

SysInit在sysAlib.s中。它是vxworks的啟動代碼。它與RomInit的作用相同?對于這個文件?我們一般不需要去改動它。UsrInit在Usrconfig.c中。它的作用與Boot中的UsrInit的作用相同?他們都調用SysLib.c中的子函數。實現相同的硬件初始化功能。UsrRoot在UsrConfig.c中。它的作用與Boot中的UsrRoot的作用類似。但是這里的UsrRoot是最終進入到應用程序中去。


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

返回版面帖子列表

Vxworks bsp的制作








簽名
久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
不卡视频一二三| 国产精品盗摄一区二区三区| 久久久99国产精品免费| 97免费资源站| 99精品国产热久久91蜜凸| 91小视频免费看| 麻豆免费看一区二区三区| 亚洲欧美日韩国产中文在线| 国产免费成人在线视频| 久久这里只有精品6| 欧美精品一区二| 久久综合久久综合久久综合| www.性欧美| 成人福利在线看| 91在线丨porny丨国产| 99久久综合精品| 99电影在线观看| 久久精品中文字幕一区二区三区| 精品日本一线二线三线不卡| 精品国产污污免费网站入口 | 成人欧美一区二区三区视频xxx| 国产精品久久久久永久免费观看 | 欧洲成人一区二区| 亚洲最大免费| 欧美日韩精品电影| 欧美成人乱码一区二区三区| 久久精品欧美日韩| 一区二区三区在线视频观看58 | 亚洲精品在线观看网站| 中文字幕免费不卡| 亚洲最快最全在线视频| 蜜桃av一区二区| 成人av一区二区三区| 国产欧美日韩亚洲| 色综合久久中文字幕| 日韩欧美在线不卡| 亚洲人成7777| 国产主播一区二区三区| 91视频.com| 在线观看一区二区三区三州| 91麻豆精品91久久久久久清纯| 韩国一区二区三区美女美女秀| 成人免费高清在线观看| 国产一区二区三区高清视频| 在线免费观看不卡av| 欧美精彩视频一区二区三区| 日韩精品欧美成人高清一区二区| 亚洲国产欧美在线| 国产成a人无v码亚洲福利| 国产精品99久久久久久久 | 国产一区 二区| 久久99久久99| 高清视频在线观看一区| 欧美中文字幕亚洲一区二区va在线| 亚洲欧洲日韩精品| 国产成人超碰人人澡人人澡| 久久综合九色综合网站| 欧美剧情电影在线观看完整版免费励志电影| 中文字幕av日韩精品| 日韩欧美一二三| 亚洲第四色夜色| av一区二区三区四区电影| 欧美日韩一区二区在线视频| 亚洲美女屁股眼交3| 成人午夜激情视频| 色欧美片视频在线观看| 中文字幕一区二区视频| 国产成人av一区二区三区在线观看| 成人午夜碰碰视频| 亚洲一区二区在线看| 中文字幕国产精品一区二区| 国内精品久久久久影院一蜜桃| 国产一区二区福利视频| 日韩电影大全在线观看| 久久综合丝袜日本网| 激情五月播播久久久精品| 神马影院一区二区| 成人欧美一区二区三区1314| 国产a久久麻豆| 欧美性猛交xxxx乱大交退制版 | 日本va欧美va瓶| 精品国产综合区久久久久久| 欧美tk—视频vk| 美日韩一级片在线观看| 亚洲电影一二三区| 亚洲色大成网站www久久九九| 免费不卡在线视频| 欧美一级爱爱| 国产精品欧美一区二区三区| 99久久99久久免费精品蜜臀| 制服丝袜成人动漫| 国产在线视视频有精品| 欧美性猛片xxxx免费看久爱| 日韩国产在线观看| 亚洲午夜精品福利| 午夜欧美大尺度福利影院在线看| 成人午夜看片网址| 欧美日本一区二区三区四区| 另类小说图片综合网| 色婷婷综合在线| 天堂av在线一区| 色综合久久综合| 亚洲国产sm捆绑调教视频 | 91精品国产综合久久香蕉的特点 | 中文字幕成人av| 日韩美一区二区三区| 久久精品av麻豆的观看方式| 91精品福利在线| 久久精品二区亚洲w码| 欧美亚洲国产一区二区三区va | 日韩精品一区二区三区四区| 国产成人综合自拍| 精品三级在线看| av电影在线观看一区| 欧美精品一区二区在线播放| 99精品在线直播| 国产精品夫妻自拍| 日韩精品av一区二区三区| 亚洲成av人**亚洲成av**| 亚洲精品免费在线看| 香蕉久久一区二区不卡无毒影院| 99九九视频| 国产精品欧美经典| 久久久久综合一区二区三区| 亚洲精品高清视频在线观看| 亚洲国产精品一区二区第四页av| 久久综合色之久久综合| 91久久国产自产拍夜夜嗨| 欧美韩国日本一区| 欧洲亚洲一区二区三区四区五区| 国产嫩草影院久久久久| 精品久久久久久中文字幕动漫| 精品久久久影院| 91九色在线观看| 中文字幕在线一区免费| 亚洲国产日韩欧美| 精品一区二区综合| 欧美一区欧美二区| 成人av资源网| 性做久久久久久久免费看| 宅男在线国产精品| 国产乱码精品一区二区三区卡| 久久久亚洲国产美女国产盗摄| 久久99精品国产| 精品乱人伦小说| 精品免费视频123区| 婷婷一区二区三区| 日韩一级精品视频在线观看| 国产精品推荐精品| 免费观看30秒视频久久| 精品国产一区二区亚洲人成毛片| 青青草国产成人av片免费| 欧美一区二区三区不卡| 欧美裸体网站| 国产精品资源在线看| 日韩一卡二卡三卡四卡| 91麻豆国产在线观看| 亚洲精品第1页| 欧美日韩激情一区二区| 成人欧美一区二区| 日韩不卡免费视频| 久久久亚洲高清| 色爱区综合激月婷婷| 91精品网站| 日韩不卡一区二区三区| 国产日韩欧美精品在线| 欧美在线视频你懂得| 国产在线资源一区| 国产一区欧美二区| 亚洲综合色视频| 高清不卡一二三区| 亚洲一级二级三级| 久久久久久9999| 欧美在线播放高清精品| 国产伦一区二区三区色一情| 国产中文字幕一区| 一区二区视频在线| 精品国产91洋老外米糕| 一本一道久久a久久精品综合| 亚洲色图欧美在线| 日韩精品专区在线影院重磅| 一区二区三区欧美在线| 91美女片黄在线观看91美女| 美国一区二区三区在线播放| 自拍偷自拍亚洲精品播放| 日韩欧美一区在线观看| 91久久精品一区二区| 蜜桃传媒视频麻豆一区| 91丨九色丨国产| 岛国精品在线观看| 免费在线观看日韩欧美| 亚洲综合精品久久| 中文字幕va一区二区三区| 91精品国产福利在线观看| 色哦色哦哦色天天综合| 日韩欧美在线电影| 久久国产精品高清| 91久久精品一区二区别| 国产成人av电影在线观看| 经典三级视频一区|