版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、嵌入式系統(tǒng)硬件設(shè)計(jì)教程第十一講嵌入式硬件體系的調(diào)試編著與講演:怯肇乾一.知識(shí)準(zhǔn)備與上述相關(guān)講義的回顧知識(shí)準(zhǔn)備:電路測(cè)試、系統(tǒng)的模擬與仿真等;相關(guān)講義的回顧:CPU器件的模擬與仿真、測(cè)量控制電路、系統(tǒng)基礎(chǔ)電路。二.常用電路測(cè)試工具及其使用直流電源示波器:模擬示波器、數(shù)字示波器多功能數(shù)字萬(wàn)用表邏輯分析儀三.常用調(diào)試手段與技巧介紹1.用雙路直流電源得到正負(fù)電源供給-+-+負(fù)源地正源2.PCB 板的板級(jí)測(cè)試板上各種電源的短路測(cè)試;首次加電測(cè)試,各種主要電源測(cè)試、主要IC 的運(yùn)行發(fā)熱狀況觀察等; CPU 之時(shí)鐘電路測(cè)試、復(fù)位電路測(cè)試;3.模擬信號(hào)源的實(shí)驗(yàn)板制作主要是對(duì)信號(hào)發(fā)生器所產(chǎn)生信號(hào)的調(diào)理,包括縮放
2、、零點(diǎn)調(diào)整等;ADJST 321411DB4A LM 324RB528k RB512kRB541kRB535k CB2104CB1104-12V+12V +12V CB31047CB5104CB61044.逐一電路模塊的測(cè)試:飛線、割線等手段的使用CPU 之各種外擴(kuò)存儲(chǔ)器測(cè)試;CPU之主要外設(shè)測(cè)試;系統(tǒng)接口電路、通訊電路測(cè)試;5.模擬干擾、振動(dòng)實(shí)驗(yàn)等可靠性測(cè)試使用可調(diào)的模擬干擾儀器、振動(dòng)器,或自制的相應(yīng)工具,得到相應(yīng)的惡劣環(huán)境,置所設(shè)計(jì)系統(tǒng)于其中,進(jìn)行測(cè)試、調(diào)整、完善。四.PC機(jī)測(cè)試程序及其書(shū)寫(xiě)DOSDebug測(cè)試,VB、VC或C+Builder可視化應(yīng)用測(cè)試程序書(shū)寫(xiě)等。例:1.DOS Deb
3、ug的并口測(cè)試:在DOS或Windows DOS窗口下,可通過(guò)Debug軟件的I(讀或O(寫(xiě)命令對(duì)三個(gè)寄存器的狀態(tài)進(jìn)行觀察改寫(xiě),如:C:>Debug-O 378 5A-I 3785A-I 37978-O 37a 55-I 37a552.使用嵌入式匯編語(yǔ)言書(shū)寫(xiě)可視化測(cè)試程序下面是用C+Builder書(shū)寫(xiě)的ISA收發(fā)卡的初始化和收發(fā)函數(shù)char TForm1:initial(void /ISA卡的初始化函數(shù) asm mov dx,211h /0xff->Port(211hmov al,0ffhout dx,almov bx,2fffhloop1: asm dec bxjz endmov
4、 dx,211h /Port(211h.3=1?in al,dxtest al,008hjz loop1asm mov dx,211h /0x00->Port(211hmov al,000hout dx,almov bx,2fffhloop2: asm dec bxjz endmov dx,211h /Port(211h.3=0?in al,dxtest al,008hjnz loop2return 0;end: return -1;char TForm1:ByteReceive(void /字節(jié)接收函數(shù)char z;asm mov bx,0fffhloop: asm dec bxjz
5、nnnmov dx,211hin al,dxtest al,002hjnz loopasm mov dx,210hin al,dxmov z,algoto eee;nnn: z=0x20;eee: return (z;void TForm1:ByteSend(char z /字節(jié)發(fā)送函數(shù)loop: asm mov dx,211h /Port(211h.0=1?in al,dxtest al,001hjz loopasm mov dx,210h /Port(210hmov al,zout dx,al3.用WinAPI函數(shù)進(jìn)行串行異步通信HANDLE hCom;DCB dcb;BOOL fSucc
6、ess,bResult; unsigned long nBytesWritten,nBytesRead; COMMTIMEOUTS timeouts;/-void _fastcall TForm1:initial(void/open the serial port to read or writehCom=CreateFile(port,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL;if (hCom=INV ALID_HANDLE_V ALUEShowMessage("not Open Serial Port Selec
7、ted!"/set the sizes of in&out buffer,in bytesfSuccess=SetupComm(hCom,2000,2000;if(!fSuccess ShowMessage("Setup Communication Fail!" /set timeouts parameters to read serial porttimeouts.ReadIntervalTimeout=MAXDWORD;timeouts.ReadTotalTimeoutMultiplier=MAXDWORD;timeouts.ReadTotalTime
8、outConstant=1000;/65000;fSuccess=SetCommTimeouts(hCom,&timeouts;if(!fSuccessShowMessage("Set Communication Timeouts Fail!"set serial communication parametersfSuccess=GetCommState(hCom,&dcb;if(!fSuccess ShowMessage("Get Communication Fail!" dcb.BaudRate=9600;dcb.ByteSize=8
9、;dcb.Parity=NOPARITY;dcb.StopBits=ONESTOPBIT;fSuccess=SetCommState(hCom,&dcb;if (!fSuccess ShowMessage("Set Communication fail!"/-void _fastcall TForm1:readport(void/read the serial portbResult=ReadFile(hCom,&inBuffer,1952,&nBytesRead,NULL;if (!bResultswitch(GetLastError(case E
10、RROR_INV ALID_USER_BUFFER:ShowMessage("Error Invalid User Buffer!"break;default: ShowMessage(GetLastError(+"Read Data Fail!"break; /deal with datum received and display bResult=WriteFile(hCom,end,2,&nBytesWritten,NULL; if (!bResult exit(0; /close serial port break; default: S
11、howMessage(GetLastError(+"Write ID Fail!" break; */ /*switch(GetLastError( case ERROR_INVALID_USER_BUFFER: ShowMessage("Error Invalid User OutBuffer!" CloseHandle(hCom; 五底層設(shè)備驅(qū)動(dòng)程序及其書(shū)寫(xiě) Win2000DDK、VToolsD、WinDriver 等對(duì)常規(guī)硬件接口驅(qū)動(dòng)程序的書(shū)寫(xiě)。 1用 Win2000DDK 開(kāi)發(fā)驅(qū)動(dòng)程序 驅(qū)動(dòng)程序包括即插即用和電源管理功能,對(duì)內(nèi)核模式驅(qū)動(dòng)程序、內(nèi)核
12、流驅(qū)動(dòng)程序、圖形驅(qū)動(dòng)程序、虛擬設(shè)備驅(qū)動(dòng)程序等有特殊的寫(xiě)法要求。 開(kāi)發(fā)步驟: 編寫(xiě)驅(qū)動(dòng)程序代碼,應(yīng)包括條件編譯標(biāo)記的調(diào)試檢查。 測(cè)試和調(diào)試,檢查構(gòu)建的驅(qū)動(dòng)程序。 測(cè)試和調(diào)試,自由構(gòu)建的驅(qū)動(dòng)程序。 調(diào)整,自由構(gòu)建的驅(qū)動(dòng)程序。 附加測(cè)試和調(diào)試,檢查構(gòu)建與自由構(gòu)建的驅(qū)動(dòng)程序和操作系統(tǒng)。 測(cè)試和檢查,最終的自由構(gòu)建的驅(qū)動(dòng)程序。 2用 VToolD 開(kāi)發(fā)驅(qū)動(dòng)程序 6 3用 WinDriver 開(kāi)發(fā)驅(qū)動(dòng)程序 WinDriver 的特點(diǎn):從用戶層訪問(wèn)硬件;支持 I/O 讀寫(xiě)、中斷處理、物理內(nèi)存讀寫(xiě);支持各廠家的 PCI、ISA、EISA、ISAnP、PCMCIA、USB 總線接口; 支持主流 PCI 接口芯片
13、: PLX9050 /9054 /9060 /9080、 AMCC、 Galileo、 V3 等 PCI 橋; 支持通用 Win32 軟件開(kāi)發(fā)平臺(tái),如:Visual C+、 C+Builder,Visual B、Dephi、Java 等;應(yīng)用程序?qū)?Win9X 與 NT/2000 二進(jìn)制代碼級(jí)兼容,對(duì) Win9X、NT2000/CE、Linux 源代碼級(jí)兼容;提 供核心插件功能,可用于開(kāi)發(fā)高性能驅(qū)動(dòng)程序(對(duì)調(diào)試無(wú)誤的要求苛刻的部分軟件通過(guò) WinDriver 提供的 API 插入到核心態(tài)運(yùn)行;編程向?qū)Ы?面友好,可進(jìn)行編程前的硬件診斷,可自動(dòng)生成大部分驅(qū)動(dòng)程序代碼。 開(kāi)發(fā)步驟: 利用編程向?qū)ч_(kāi)
14、發(fā):插入設(shè)計(jì)好的板卡,打開(kāi) WinDriver Wizard,待開(kāi)發(fā)板卡資源自動(dòng)分析,生成驅(qū)動(dòng)程序框架代碼;修改代碼,加入定 制功能;在用戶態(tài)執(zhí)行與調(diào)試代碼;將性能苛刻部分插入到核心態(tài); 直接利用 WinDriver 提供的 API 函數(shù)書(shū)寫(xiě):將 windriver.h 拷貝到應(yīng)用程序的源代碼目錄中,以使應(yīng)用程序可以找到它;在應(yīng)用程序 的源文件中包含 windows.h、winioctl.h、windriver.h 三個(gè)頭文件;調(diào)用 WD_Open(函數(shù),打開(kāi) WinDriver 設(shè)備驅(qū)動(dòng)程序,獲得設(shè)備文件句柄; 調(diào)用 WD_CardRegister(函數(shù),向 WinDriver kernal
15、 登記板卡信息;調(diào)用 WD_Transfer(函數(shù),進(jìn)行 I/O 和內(nèi)存數(shù)據(jù)的存取.當(dāng)然,也可直接用 WD_CardRegister(函數(shù)返回的內(nèi)存映像的線性地址存取硬件上的地址空間;若使用中斷的話,可調(diào)用 WD_IntEnable(函數(shù)使能中斷,此后可 調(diào)用 WD_IntWait( 函數(shù)等待中斷的到來(lái) , 停止中斷響應(yīng)可調(diào)用 WD_IntDisable( 函數(shù)予以實(shí)現(xiàn);當(dāng)不需要硬件操作時(shí) , 可調(diào)用 WD_ CardUnregister(函數(shù)取消登記,而后調(diào)用 WD_Close(函數(shù)關(guān)閉 WinDriver 設(shè)備驅(qū)動(dòng)程序。 ISA/PCI 板卡驅(qū)動(dòng)程序的 WinDriver 開(kāi)發(fā)演示 舉例:
16、WinWriver 產(chǎn)生的 C+builder 的 EPP 并口 API: 并口開(kāi)關(guān)函數(shù) BOOL LPT_Open (LPT_HANDLE *phLPT; void LPT_Close(LPT_HANDLE hLPT; 并口讀寫(xiě)函數(shù) BYTE LPT_Readstrobe_addr (LPT_HANDLE hLPT /用于讀并口地址; void LPT_Writestrobe_addr (LPT_HANDLE hLPT, BYTE data /用于寫(xiě)并口地址; BYTE LPT_Readstrobe_data_0 (LPT_HANDLE hLPT /用于讀并口數(shù)據(jù); void LPT_Wri
17、testrobe_data_0 (LPT_HANDLE hLPT, BYTE data /用于寫(xiě)并口數(shù)據(jù); BYTE LPT_Readcontrol (LPT_HANDLE hLPT; /讀并口控制寄存器 void LPT_Writecontrol (LPT_HANDLE hLPT, BYTE data; /寫(xiě)并口控制寄存器 并口中斷函數(shù) 7 void LPT_IntADisable (LPT_HANDLE hLPT; /用于禁止并口中斷 /用于使能并口中斷, funcIntHandler 是中斷處理函數(shù),其函數(shù)原型如下: BOOL LPT_IntAEnable (LPT_HANDLE hLP
18、T, LPT_IntA_HANDLER funcIntHandler; void (*LPT_IntA_HANDLER(LPT_HANDLE hLPT, LPT_IntA_RESULT *intResult. 六8/16/32 位單片機(jī)系統(tǒng)的模擬與仿真 ICE 環(huán)境(Keil C51、Keil C166、ADS1.2的應(yīng)用、開(kāi)發(fā)板的使用、目標(biāo)板的仿真運(yùn)行等。 特別注意:NMI 中斷、軟件陷阱的軟硬件聯(lián)合調(diào)試, CPU 器件的運(yùn)行方式設(shè)置等。 ICE 環(huán)境的配置:仿真環(huán)境配置,外部存儲(chǔ)器映射,編譯優(yōu)化選項(xiàng)的合理設(shè)置等。 CPU 系統(tǒng)的前期逐步測(cè)試:時(shí)鐘的輸入/輸出控制測(cè)試,復(fù)位電路的運(yùn)行測(cè)試,I/O 口測(cè)試,存儲(chǔ)器的讀讀寫(xiě)測(cè)試等。 CPU
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 礦產(chǎn)資源提取蒸發(fā)器技術(shù)方案
- 妊娠期脂肪肝護(hù)理查房好
- 2024年辦公室文員合同范本
- 2024年農(nóng)田水利基礎(chǔ)設(shè)施貸款合同
- 2024年城市交通規(guī)劃咨詢合同
- 2024年臨時(shí)雇傭合同范例
- 2024年發(fā)布:Q房地產(chǎn)公司與R裝修公司關(guān)于住宅裝修項(xiàng)目的合作合同
- 2024年城市公共服務(wù)設(shè)施維護(hù)合同
- 2024年加強(qiáng)版:倉(cāng)儲(chǔ)租賃合同補(bǔ)充協(xié)議
- 2024年城市清潔服務(wù)電動(dòng)三輪車(chē)采購(gòu)合同
- 人生規(guī)劃主題班會(huì)總結(jié)與反思
- 護(hù)理實(shí)習(xí)生實(shí)習(xí)匯報(bào)
- 鍍鋅線專(zhuān)業(yè)詞匯表
- 混凝土攪拌站安全風(fēng)險(xiǎn)分級(jí)管控資料
- 股權(quán)代持股東會(huì)決議
- 文化旅游安全培訓(xùn)
- 血管麻痹綜合征
- 2024年考研英語(yǔ)真題及答案(完整版)
- 注塑產(chǎn)品成本計(jì)算
- 安全意識(shí)遠(yuǎn)離危險(xiǎn)
- 凱樂(lè)石行業(yè)分析
評(píng)論
0/150
提交評(píng)論