久久99爰这里有精品国产-久久99这里只有精品国产-久久99中文字幕-久久99中文字幕久久-国产福利免费观看-国产福利免费视频


曙海教育集團(tuán)論壇VxWorks專(zhuān)區(qū)VxWorks BSP開(kāi)發(fā) → Vxworks bsp的制作


  共有10035人關(guān)注過(guò)本帖樹(shù)形打印

主題:Vxworks bsp的制作

美女呀,離線(xiàn),留言給我吧!
wangxinxin
  1樓 個(gè)性首頁(yè) | 博客 | 信息 | 搜索 | 郵箱 | 主頁(yè) | UC


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

用開(kāi)始寫(xiě)的驅(qū)動(dòng)程序的文檔替代此文檔.

從該設(shè)備的概要開(kāi)始.指出該驅(qū)動(dòng)實(shí)現(xiàn)整個(gè)設(shè)備的部分還是全部細(xì)節(jié).

描述所有該設(shè)備的操作模式,指出該驅(qū)動(dòng)所實(shí)現(xiàn)的是哪種.

寫(xiě)出該設(shè)備在BSP中創(chuàng)建和初始化的步驟.寫(xiě)出可把該驅(qū)動(dòng)定制為特殊硬件環(huán)境的所有宏(macros).

寫(xiě)出所有可幫助用戶(hù)理解該設(shè)備如何工作和設(shè)備的接口.

模板概要:

這是一個(gè)串口驅(qū)動(dòng)模板.可用來(lái)作為寫(xiě)Vxworks5.3或更新版本的新驅(qū)動(dòng)的起點(diǎn).

這些驅(qū)動(dòng)支持舊串口驅(qū)動(dòng)沒(méi)有的新功能,首先,它們提供一個(gè)設(shè)置硬件選項(xiàng)的接口;

例如,停止位數(shù),數(shù)據(jù)位,奇偶,等等.

其次,它們提供可用來(lái)提供串口線(xiàn)上的外部模式調(diào)試(如,ROM監(jiān)視器調(diào)試)的輪巡通訊(polled communication)接口.通常只支持異步模式驅(qū)動(dòng). 貫穿整個(gè)文件,單詞"template"用來(lái)替換一個(gè)真實(shí)的設(shè)備名,按慣例采用廠商名的第一個(gè)字母加產(chǎn)品編號(hào).例如,Zilog 8530 串口設(shè)備應(yīng)一個(gè)名為Z8530——DUSAART

數(shù)據(jù)結(jié)構(gòu),好過(guò)TEMPLATE_DUSART.

數(shù)據(jù)結(jié)構(gòu)

設(shè)備數(shù)據(jù)結(jié)構(gòu)在文件 h/drv/sio/templateSio.h里定義。一個(gè)數(shù)據(jù)結(jié)構(gòu)——TEMPLATE_CHAN被定義,為每個(gè)通道。具有多串口通道的設(shè)備也為整個(gè)芯片定義了一個(gè)數(shù)據(jù)結(jié)構(gòu).例如,此驅(qū)動(dòng)有一個(gè)芯片級(jí)的,有兩個(gè)通道結(jié)構(gòu)作為成員數(shù)據(jù)結(jié)構(gòu)叫TEMPLATE_DUSART。

回調(diào)

傳輸準(zhǔn)備就緒(transmitter ready)中斷調(diào)用服務(wù)采用回調(diào)至高層庫(kù)以獲得一個(gè)字符來(lái)傳送。 默認(rèn)地,此驅(qū)動(dòng)安裝不做任何事情的傀儡回調(diào)程序。使用此驅(qū)動(dòng)的高層庫(kù)(例如,ttyDrv)將用SIO_INSTALL_CALLBACK控制命令(ioctl command)安裝自己的回調(diào)程序. 同樣,一個(gè)接受中斷處理采用回調(diào)來(lái)將字符傳給高層庫(kù)。

模式

理想模式下該驅(qū)動(dòng)應(yīng)支持輪巡和中斷模式,并可動(dòng)態(tài)切換模式。但這并非必須。Vxworks可支持此設(shè)備上的tty設(shè)備,即使該驅(qū)動(dòng)只支持

中斷模式.

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

用法:

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

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

測(cè)試:

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

恢復(fù)目標(biāo):

wtxtcl.ex>wtxContextResume 0 0 0 現(xiàn)在目標(biāo)將重新運(yùn)行,于是你能敲信息到控制臺(tái)(如果板卡有一個(gè)控制臺(tái)設(shè)備)并可從主機(jī)"ping"目標(biāo)的網(wǎng)絡(luò)接口.

vxworks下bsp制作教程

1 vxworks概述

vxworks是WIND RIVER公司的產(chǎn)品。作為一種商用的嵌入式操作系統(tǒng)?vxworks擁有強(qiáng)大的功能和友好的用戶(hù)界面。與免費(fèi)的嵌入式操作系統(tǒng)相比?商用操作系統(tǒng)經(jīng)過(guò)嚴(yán)格的測(cè)試?具有良好的實(shí)時(shí)性?易用性和大量的文檔支持?但是它的源碼是不公開(kāi)的并且價(jià)格昂貴;免費(fèi)的嵌入式操作系統(tǒng)有很多?大都是linux的移植?公開(kāi)源代碼?但缺乏文檔?要對(duì)照源碼進(jìn)行開(kāi)發(fā)。

2 BSP的流程

BSP流程分成兩部分。首先是位于BootRom中的Boot代碼?它的作用是實(shí)現(xiàn)配置硬件和啟動(dòng)vxworks下載程序。接下來(lái)是下載后跳轉(zhuǎn)到vxworks的入口地址運(yùn)行操作系統(tǒng)和應(yīng)用程序。

流程入圖:

ROM中的啟動(dòng)代碼部分:RomInit在文件在文件romInit.s中。它是運(yùn)行的開(kāi)始?實(shí)現(xiàn)這一部分是首先的。它實(shí)現(xiàn)判斷啟動(dòng)類(lèi)型?配置內(nèi)核和非內(nèi)核寄存器以及內(nèi)存和外圍設(shè)備的讀寫(xiě)時(shí)序?因此可以在此處加入內(nèi)存檢測(cè)功能。在BSP中無(wú)法進(jìn)行調(diào)試?只能通過(guò)閃燈實(shí)現(xiàn)云信正確與否的判斷。閃燈功能函數(shù)也要在此加入。判斷啟動(dòng)類(lèi)型和配置寄存器?這一部分不需要改動(dòng)。配置內(nèi)存和外圍設(shè)備讀寫(xiě)時(shí)序?要進(jìn)行改動(dòng)。這一部分的SDRAM?ROM?FLASH?FPGA有相應(yīng)的模板可以參考。它的實(shí)現(xiàn)是通過(guò)使用宏定義來(lái)實(shí)現(xiàn)的。但是要改動(dòng)的話(huà)也不難?一般是改動(dòng)空間大小的屏蔽位?讀寫(xiě)位數(shù)?以及片選寄存器OR和BR。至于特殊外設(shè)的讀寫(xiě)有待討論。內(nèi)存檢測(cè)在這里實(shí)現(xiàn)較復(fù)雜?它根據(jù)相應(yīng)的內(nèi)存檢測(cè)算法實(shí)現(xiàn)。主要是對(duì)地址線(xiàn)和數(shù)據(jù)線(xiàn)的檢測(cè)。通過(guò)寫(xiě)入數(shù)據(jù)再會(huì)讀出數(shù)據(jù)來(lái)判斷。使用"走步1"和"走步0"
算法。這一部分較多的依賴(lài)硬件?可移植性較差?根據(jù)自己的單板改動(dòng)。閃燈在這一部分是強(qiáng)烈推薦的。因?yàn)殚W燈才能定位程序的運(yùn)行位置。閃燈函數(shù)可移植?一般要改動(dòng)?因?yàn)闊艨赡芙釉诓煌腎/O口上。另外注意860SAR的PORT B是32位的。具體的端口見(jiàn)相應(yīng)的CPU的I/O口的參數(shù)?配置相應(yīng)的寄存器。

RomInit在函數(shù)結(jié)尾跳入RomStart。

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

VXWORKS文件中的代碼部分:

SysInit在sysAlib.s中。它是vxworks的啟動(dòng)代碼。它與RomInit的作用相同?對(duì)于這個(gè)文件?我們一般不需要去改動(dòng)它。UsrInit在Usrconfig.c中。它的作用與Boot中的UsrInit的作用相同?他們都調(diào)用SysLib.c中的子函數(shù)。實(shí)現(xiàn)相同的硬件初始化功能。UsrRoot在UsrConfig.c中。它的作用與Boot中的UsrRoot的作用類(lèi)似。但是這里的UsrRoot是最終進(jìn)入到應(yīng)用程序中去。


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

返回版面帖子列表

Vxworks bsp的制作








簽名
日韩中文字幕在线亚洲一区| 九九久久国产精品大片| 台湾美女古装一级毛片| 欧美日本国产| 尤物视频网站在线观看| 久久精品大片| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 欧美电影免费| 欧美一级视频高清片| 精品视频在线观看视频免费视频 | 精品国产香蕉伊思人在线又爽又黄| 亚洲女初尝黑人巨高清在线观看| 久久国产精品自由自在| 日日日夜夜操| 91麻豆tv| a级毛片免费全部播放| 国产成人精品综合| 午夜家庭影院| 天天色成人| 日韩av片免费播放| 日韩在线观看免费| 精品国产香蕉在线播出| 国产伦精品一区二区三区无广告| 一级女性大黄生活片免费| 黄色免费三级| 香蕉视频久久| 亚洲爆爽| 国产麻豆精品hdvideoss| 天天做日日爱| 国产精品自拍一区| 精品视频在线观看免费| 尤物视频网站在线观看| 欧美激情一区二区三区视频高清| 国产视频在线免费观看| 麻豆污视频| 精品国产亚一区二区三区| 日韩中文字幕在线亚洲一区| 国产一区二区精品| 免费一级片在线| 亚洲第一页色| 成人影院一区二区三区| 欧美爱爱动态| 美国一区二区三区| 亚洲不卡一区二区三区在线| 麻豆污视频| 成人免费高清视频| 欧美一区二区三区在线观看| 九九精品影院| 欧美日本免费| 国产成人啪精品| 欧美日本免费| 国产国产人免费视频成69堂| 天堂网中文在线| 欧美一级视频免费观看| 午夜激情视频在线播放| 亚欧视频在线| 午夜在线观看视频免费 成人| 久久久久久久久综合影视网| 一级片免费在线观看视频| 久久久久久久网| 国产视频久久久| 九九久久99| 欧美激情影院| 麻豆网站在线看| 国产成a人片在线观看视频| 一本伊大人香蕉高清在线观看| 久久成人性色生活片| 精品视频在线观看免费| 欧美日本免费| 久久国产精品自由自在| 国产91精品露脸国语对白| 毛片的网站| 精品国产香蕉伊思人在线又爽又黄| 99色视频在线观看| 黄视频网站在线观看| 毛片高清| 人人干人人插| 九九久久99| 日韩一级黄色| 日本在线不卡视频| 日韩av成人| 日本特黄特黄aaaaa大片| 韩国毛片基地| 成人影院一区二区三区| 久久久久久久免费视频| 亚飞与亚基在线观看| 亚洲天堂在线播放| 日韩免费在线| 日本免费区| 久久国产精品自线拍免费| 欧美激情在线精品video| 精品国产一区二区三区免费 | 天天做人人爱夜夜爽2020| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产麻豆精品hdvideoss| 999久久狠狠免费精品| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 欧美国产日韩一区二区三区| 青青久热| 国产不卡在线观看| 人人干人人插| 精品久久久久久中文| 精品国产香蕉伊思人在线又爽又黄| 毛片的网站| 99热视热频这里只有精品| 深夜做爰性大片中文| 麻豆系列 在线视频| 九九精品久久久久久久久| 91麻豆tv| 国产亚洲免费观看| 999精品影视在线观看| 成人高清视频免费观看| 91麻豆国产| 香蕉视频一级| 亚欧乱色一区二区三区| 欧美日本免费| 日韩字幕在线| 国产一区二区福利久久| 国产一区二区精品久久| 91麻豆精品国产片在线观看| 国产激情一区二区三区| 午夜家庭影院| 国产韩国精品一区二区三区| 国产网站免费观看| 欧美激情伊人| 一级毛片视频播放| 韩国三级视频网站| 在线观看导航| 99色视频| 成人免费一级纶理片| 国产成人精品综合| 国产精品1024在线永久免费| 欧美a级片视频| 韩国毛片免费大片| 精品视频在线观看一区二区| 国产网站在线| 成人高清视频免费观看| 国产国语在线播放视频| 青青久热| 美女免费精品高清毛片在线视| 可以免费在线看黄的网站| 香蕉视频久久| 国产成人精品综合久久久| 久久国产一区二区| 免费国产在线视频| 国产精品免费精品自在线观看| 国产成人精品综合| 国产精品自拍一区| 欧美爱色| 久久国产精品自由自在| 精品视频在线观看一区二区| 日韩中文字幕在线观看视频| 久草免费在线色站| 美女免费精品视频在线观看| 沈樵在线观看福利| 91麻豆精品国产自产在线 | 精品国产一区二区三区免费| 亚洲wwwwww| 麻豆午夜视频| 国产伦久视频免费观看 视频| 久久99爰这里有精品国产| 久久成人综合网| 日韩在线观看视频免费| 亚洲第一色在线| 国产国语在线播放视频| 日韩字幕在线| 亚洲女初尝黑人巨高清在线观看| 国产成人女人在线视频观看| 91麻豆精品国产高清在线| 亚洲女人国产香蕉久久精品| 国产精品1024在线永久免费| 美女免费精品高清毛片在线视| 亚洲精品久久久中文字| 美女免费精品高清毛片在线视| 亚洲第一视频在线播放| 国产国产人免费视频成69堂| 亚欧成人乱码一区二区| 国产极品白嫩美女在线观看看| 国产原创中文字幕| 日韩中文字幕一区| 免费国产在线观看不卡| 一本高清在线| 四虎久久精品国产| 99久久精品国产片| 国产欧美精品| 欧美一级视频免费观看| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 色综合久久天天综合观看| 99久久精品国产国产毛片| 色综合久久天天综线观看| 精品国产香蕉在线播出| 日日爽天天| 久久久久久久免费视频| 韩国三级视频网站| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 国产精品自拍在线| 亚洲精品影院久久久久久| 精品国产一区二区三区免费| 亚洲 国产精品 日韩| 日本伦理网站|