第5章 應(yīng)用系統(tǒng)設(shè)計(jì)與調(diào)試(東北大學(xué)嵌入式課件)_第1頁
第5章 應(yīng)用系統(tǒng)設(shè)計(jì)與調(diào)試(東北大學(xué)嵌入式課件)_第2頁
第5章 應(yīng)用系統(tǒng)設(shè)計(jì)與調(diào)試(東北大學(xué)嵌入式課件)_第3頁
第5章 應(yīng)用系統(tǒng)設(shè)計(jì)與調(diào)試(東北大學(xué)嵌入式課件)_第4頁
第5章 應(yīng)用系統(tǒng)設(shè)計(jì)與調(diào)試(東北大學(xué)嵌入式課件)_第5頁
已閱讀5頁,還剩180頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、ARM 應(yīng)用系統(tǒng)設(shè)計(jì)第五章 應(yīng)用系統(tǒng)設(shè)計(jì)佘黎煌東北大學(xué)信息科學(xué)與工程學(xué)院電子信息工程研究所第5章 目錄q0.概述q1.W90P710簡介q2.最小系統(tǒng)的設(shè)計(jì)q3.ARM應(yīng)用系統(tǒng)的設(shè)計(jì)q4.GPIO的控制q5.外擴(kuò)存儲(chǔ)器管理及存儲(chǔ)重映射q6.中斷的管理華邦的ARM產(chǎn)品網(wǎng)絡(luò)通訊平臺(tái)系列多媒體終端平臺(tái)系列5.1 簡介nW90P710微控制器概述 華邦W90P710采用ARM的ARM7TDMI微處理器核以及0.18 m工藝生產(chǎn),標(biāo)準(zhǔn)工作頻率可達(dá)80 MHz,內(nèi)建一個(gè)Ethernet MAC,采用176/128引腳LQPF封裝,具有省電與低成本的優(yōu)勢。 W90P710還集成了USB 1.1主/設(shè)備控制器

2、,讓各種應(yīng)用可以透過USB接口連接各種計(jì)算機(jī)周邊產(chǎn)品,增添了產(chǎn)品的整體附加價(jià)值。W90P710/W90N745內(nèi)建的4 KB ICache以及4 KB DCache,也可以隨產(chǎn)品開發(fā)人員的需求,設(shè)定為OnChip RAM。w90p710Sm卡FLASHSDRAM電源UARTUSB設(shè)備USB主機(jī)PS2ETHW90P710SD鍵盤晶振JTAG1 網(wǎng)絡(luò)監(jiān)控2 便攜式RFID手持機(jī)n采用W90P710處理器n采用LINUX,3寸TFT顯示n采用MICROWINDOWS 圖形用戶界面nRFID標(biāo)簽卡讀寫頭n無線的CDMA通訊n有線的USB,以太網(wǎng) ,UART通訊2 便攜式RFID手持機(jī)3 數(shù)碼相框方案3

3、 W90p710數(shù)碼相框方案3 數(shù)碼相框方案5.2 最小系統(tǒng)n簡介 一個(gè)嵌入式處理器自己是不能獨(dú)立工作的,必須給它供電、加上時(shí)鐘信號(hào)、提供復(fù)位信號(hào),如果芯片沒有片內(nèi)程序存儲(chǔ)器,則還要加上存儲(chǔ)器系統(tǒng),然后嵌入式處理器芯片才可能工作。這些提供嵌入式處理器運(yùn)行所必須的條件的電路與嵌入式處理器共同構(gòu)成了這個(gè)嵌入式處理器的最小系統(tǒng)。而大多數(shù)基于ARM7處理器核的微控制器都有調(diào)試接口,這部分在芯片實(shí)際工作時(shí)不是必需的,但因?yàn)檫@部分在開發(fā)時(shí)很重要,所以也把這部分也歸入最小系統(tǒng)中。 6.1 最小系統(tǒng)n簡介嵌入式控制器時(shí)鐘系統(tǒng)調(diào)試測試接口復(fù)位及其配置系統(tǒng)存儲(chǔ)器系統(tǒng)供電系統(tǒng)(電源)可選,因?yàn)樵S多面向嵌入式領(lǐng)域的微

4、控制器內(nèi)部集成了程序和數(shù)據(jù)存儲(chǔ)器最小系統(tǒng)框圖可選,但是在樣品階段通常都會(huì)設(shè)計(jì)這部分電路嵌入式控制器時(shí)鐘系統(tǒng)調(diào)試測試接口復(fù)位及其配置系統(tǒng)存儲(chǔ)器系統(tǒng)供電系統(tǒng)(電源)嵌入式控制器時(shí)鐘系統(tǒng)調(diào)試測試接口復(fù)位及其配置系統(tǒng)存儲(chǔ)器系統(tǒng)供電系統(tǒng)(電源)n各部件簡介電源供電系統(tǒng)(電源) 電源系統(tǒng)為整個(gè)系統(tǒng)提供能量,是整個(gè)系統(tǒng)工作的基礎(chǔ),具有極其重要的地位,但卻往往被忽略。如果電源系統(tǒng)處理得好,整個(gè)系統(tǒng)的故障往往減少了一大半。嵌入式控制器時(shí)鐘系統(tǒng)調(diào)試測試接口復(fù)位及其配置系統(tǒng)存儲(chǔ)器系統(tǒng)供電系統(tǒng)(電源)n各部件簡介時(shí)鐘 目前所有的微控制器均為時(shí)序電路,需要一個(gè)時(shí)鐘信號(hào)才能工作,大多數(shù)微控制器具有晶體振蕩器。簡單的方法是

5、利用微控制器內(nèi)部的晶體振蕩器,但有些場合(如減少功耗、需要嚴(yán)格同步等情況)需要使用外部振蕩源提供時(shí)鐘信號(hào)。 時(shí)鐘系統(tǒng)嵌入式控制器時(shí)鐘系統(tǒng)調(diào)試測試接口復(fù)位及其配置系統(tǒng)存儲(chǔ)器系統(tǒng)供電系統(tǒng)(電源)n各部件簡介復(fù)位及其芯片配置 微控制器在上電時(shí)狀態(tài)并不確定,這造成微控制器不能正確工作。為解決這個(gè)問題,所有微控制器均有一個(gè)復(fù)位邏輯,它負(fù)責(zé)將微控制器初始化為某個(gè)確定的狀態(tài)。這個(gè)復(fù)位邏輯需要一個(gè)復(fù)位信號(hào)才能工作。一些微控制器自己在上電時(shí)會(huì)產(chǎn)生復(fù)位信號(hào),但大多數(shù)微控制器需要外部輸入這個(gè)信號(hào)。這個(gè)信號(hào)的穩(wěn)定性和可靠性對(duì)微控制器的正常工作有重大影響。 復(fù)位及其配置系統(tǒng)嵌入式控制器時(shí)鐘系統(tǒng)調(diào)試測試接口復(fù)位及其配置系

6、統(tǒng)存儲(chǔ)器系統(tǒng)供電系統(tǒng)(電源)n各部件簡介存儲(chǔ)器系統(tǒng) 對(duì)于大部分微控制器來說,存儲(chǔ)器系統(tǒng)不是必需的,但如果微控制器沒有片內(nèi)程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),就必須設(shè)計(jì)存儲(chǔ)器系統(tǒng),這一般通過微控制器的外部總線接口實(shí)現(xiàn)。 存儲(chǔ)器系統(tǒng)5.2 ARM系統(tǒng)設(shè)計(jì)5.2 ARM系統(tǒng)設(shè)計(jì)n系統(tǒng)(核心板)n電源n晶振nCPUnFLASHnSDRAMnUARTnJTAGnRTCnUSB(ETH)(可選可選)n主面板(應(yīng)用板):其他所有可外擴(kuò)的功能模塊第5章 目錄q0.概述q1.W90P710簡介q2.最小系統(tǒng)的設(shè)計(jì)最小系統(tǒng)的設(shè)計(jì)q3.ARM應(yīng)用系統(tǒng)的設(shè)計(jì)q4.GPIO的控制q5.外擴(kuò)存儲(chǔ)器管理及存儲(chǔ)重映射q6.中斷的管理W

7、90P710 核心板的設(shè)計(jì)W90p710核心板的設(shè)計(jì)W90P710核心板的設(shè)計(jì)POWERPOWERnLDO是low dropout regulator,意為低壓差線性穩(wěn)壓器.CLOCKPLL的設(shè)置RTC的設(shè)計(jì)晶振RESET復(fù)位:系統(tǒng)中W90P710和以太網(wǎng)控制芯片DM9161等都需要低電平的復(fù)位信號(hào),系統(tǒng)采用STM809芯片來產(chǎn)生復(fù)位信號(hào),產(chǎn)生200ms左右的低脈沖用于整個(gè)系統(tǒng)復(fù)位JTAGn標(biāo)準(zhǔn)的JTAG接口是4線:TMS、TCK、TDI、TDO.分別為測試模式選擇、測試時(shí)鐘、測試數(shù)據(jù)輸入和測試數(shù)據(jù)輸出。用于實(shí)現(xiàn)在線編程的功能,如在線調(diào)試、對(duì)板載FLASH進(jìn)行編程。存儲(chǔ)nBoot flash8

8、/16位寬度O ECSBL S 1D15:8CEO EW EI O 7:0 A a_m :0 BL S 0D7: 0CEO EW EI O 7:0 A a_m :0 A a_b:1 O ECSW ECEO EW EUBLBI O 15:0 A a_m :0 D 15:0 BLS 0A a_b:1 BLS 1a)16 位寬存儲(chǔ)器組連接8位的存儲(chǔ)器芯片a)16位寬存儲(chǔ)器組連接16位的存儲(chǔ)器芯片O ECSBL S 1D15:8CEO EW EI O 7:0 A a_m :0 BL S 0D7: 0CEO EW EI O 7:0 A a_m :0 A a_b:1 O ECSW ECEO EW EUBL

9、BI O 15:0 A a_m :0 D 15:0 BLS 0A a_b:1 BLS 1a)16 位寬存儲(chǔ)器組連接8位的存儲(chǔ)器芯片a)16位寬存儲(chǔ)器組連接16位的存儲(chǔ)器芯片由1片16位寬度的存儲(chǔ)器芯片構(gòu)成16位存儲(chǔ)器由2片8位寬度的存儲(chǔ)器芯片構(gòu)成16位存儲(chǔ)器O EC SBLS 0D 7: 0C EO EW EI O 7: 0A a_m : 0A a_b: 0由1片8位寬度的存儲(chǔ)器芯片構(gòu)成8位存儲(chǔ)器使用字節(jié)定位引腳BLS0作為寫使能信號(hào)BOOT FLASHBOOT FLASHn系統(tǒng)擴(kuò)張了Winboard公司W(wǎng)19B/L320S的2Mx16的并行FLASH,W90P710復(fù)位后訪問的是低地址空間,

10、因此FLASH片選采用nBTCS,默認(rèn)的地址空間是0 x0000 00000 x00FF FFFF,本系統(tǒng)的FLASH地址為0 x0000 00000 x003F FFFFn系統(tǒng)要上拉SDD12,下拉SDD13,啟動(dòng)FLASH總線寬度為16位nsdram32位寬度A a_b:2 BLS 1D 15:8 CEO EW EI O 7:0 A a_m :0 BLS 0D 7:0 CEO EW EI O 7:0 A a_m :0 O ECSBLS3D 31:24CEO EW EI O 7:0 A a_m :0 BLS 2D23:1 6CEO EW EI O 7:0 A a_m :0 a)32 位寬存儲(chǔ)

11、器組連接8位的存儲(chǔ)器芯片b)32位寬存儲(chǔ)器組連接16位的存儲(chǔ)器芯片O ECSW ECEO EW EB3B2B1B0I O 31:0 A a_m :0 D 31:0 BLS 2A a_b:0 BLS 3BLS 0BLS 1c)32 位寬存儲(chǔ)器組連接32位的存儲(chǔ)器芯片O ECSW ECEO EW EUBLBI O 15:0 A a_m :0 D 31:16BLS2CEO EW EUBLBI O 15:0 A a_m :0 D 15:0BLS 0A a_b:2 BLS3BLS 1A a_b:2 BLS 1D 15:8 CEO EW EI O 7:0 A a_m :0 BLS 0D 7:0 CEO E

12、W EI O 7:0 A a_m :0 O ECSBLS3D 31:24CEO EW EI O 7:0 A a_m :0 BLS 2D23:1 6CEO EW EI O 7:0 A a_m :0 a)32 位寬存儲(chǔ)器組連接8位的存儲(chǔ)器芯片b)32位寬存儲(chǔ)器組連接16位的存儲(chǔ)器芯片O ECSW ECEO EW EB3B2B1B0I O 31:0 A a_m :0 D 31:0 BLS 2A a_b:0 BLS 3BLS 0BLS 1c)32 位寬存儲(chǔ)器組連接32位的存儲(chǔ)器芯片O ECSW ECEO EW EUBLBI O 15:0 A a_m :0 D 31:16BLS2CEO EW EUBLB

13、I O 15:0 A a_m :0 D 15:0BLS 0A a_b:2 BLS3BLS 1A a_b:2 BLS 1D 15:8 CEO EW EI O 7:0 A a_m :0 BLS 0D 7:0 CEO EW EI O 7:0 A a_m :0 O ECSBLS3D 31:24CEO EW EI O 7:0 A a_m :0 BLS 2D23:1 6CEO EW EI O 7:0 A a_m :0 a)32 位寬存儲(chǔ)器組連接8位的存儲(chǔ)器芯片b)32位寬存儲(chǔ)器組連接16位的存儲(chǔ)器芯片O ECSW ECEO EW EB3B2B1B0I O 31:0 A a_m :0 D 31:0 BLS

14、2A a_b:0 BLS 3BLS 0BLS 1c)32 位寬存儲(chǔ)器組連接32位的存儲(chǔ)器芯片O ECSW ECEO EW EUBLBI O 15:0 A a_m :0 D 31:16BLS2CEO EW EUBLBI O 15:0 A a_m :0 D 15:0BLS 0A a_b:2 BLS3BLS 1由1片32位寬度的存儲(chǔ)器芯片構(gòu)成32位存儲(chǔ)器由2片16位寬度的存儲(chǔ)器芯片構(gòu)成32位存儲(chǔ)器由4片8位的存儲(chǔ)器芯片構(gòu)成32位存儲(chǔ)器sdramn系統(tǒng)2片1Mx4Bankx16bit的SDRAM。一片是高16位,一片是低16位,組成16MB的內(nèi)存空間。 使用UART0通信需要兩個(gè)引腳,分別為:引腳名稱

15、類型描述RxD0輸入串行輸入,接收數(shù)據(jù)TxD0輸出串行輸出,發(fā)送數(shù)據(jù)n使用UART0通信W90P710的I/O電壓為3.3V(可承受5V),連接時(shí)須注意電平的匹配。與PC機(jī)相連時(shí),由于PC機(jī)串口是RS232電平,所以連接時(shí)需要使用RS232轉(zhuǎn)換器。W90P710其它通信設(shè)備W90P710PC機(jī)串口232電平轉(zhuǎn)換TxD0RxD0TxD0RxD0TxD0RxD0TxD0RxD0UART的電路原理圖n一般都使用最基本的串行通信功能,只需RXD、TXD 和GND 3 根信號(hào)線,但由于RS-232-C 標(biāo)準(zhǔn)與W90P710 系統(tǒng)的LV TTL 電路所定義的通信電平幅值完全不同,LV TTL 的標(biāo)準(zhǔn)邏輯“

16、1”對(duì)應(yīng)2V3.3V 電平,標(biāo)準(zhǔn)邏輯“0”對(duì)應(yīng)00.4V電平,而RS-232-C 標(biāo)準(zhǔn)采用負(fù)邏輯方式,標(biāo)準(zhǔn)邏輯“1”對(duì)應(yīng)515V 電平,標(biāo)準(zhǔn)邏輯“0”對(duì)應(yīng)515V 電平,所以要把W90P710 的UART 信號(hào)轉(zhuǎn)換成RS-232-C 標(biāo)準(zhǔn)的信號(hào),在系統(tǒng)中是通過芯片MAX202C 進(jìn)行電平轉(zhuǎn)換的,然后再連接至DB9 接口。USB 主機(jī)接口電路nUSB 主機(jī)接口電路采用A 型USB 接口端子,USB 信號(hào)通過D1 + 和D1-兩根信號(hào)線進(jìn)行傳輸。在USB 供電方面采用專用的電源芯片AMC3526H,該芯片能提供500mA 電流的供電能力,具有過載保護(hù)功能;CTL1 引腳控制電壓的關(guān)斷和開啟;FLG

17、1 引腳能反饋電源芯片當(dāng)前的工作狀態(tài)USB設(shè)備接口電路nUSB 設(shè)備接口采用B 型微小USB 接口。當(dāng)接到外部USB 主機(jī)時(shí),可由外部USB 主機(jī)對(duì)其供電,并且可以通過系統(tǒng)的復(fù)位信號(hào)拉低D2+信號(hào),給掛接的外部USB 主機(jī)提供一個(gè)上電喚醒信號(hào)第5章 目錄q0.概述q1.W90P710簡介q2.最小系統(tǒng)的設(shè)計(jì)q3.ARM應(yīng)用系統(tǒng)的設(shè)計(jì)應(yīng)用系統(tǒng)的設(shè)計(jì)q4.GPIO的控制q5.外擴(kuò)存儲(chǔ)器管理及存儲(chǔ)重映射q6.中斷的管理5.3 W90P710主板的設(shè)計(jì)W90P710主板的設(shè)計(jì)POWERLCDETHSDSDnCLK:時(shí)鐘信號(hào)nCMD:雙向命令和響應(yīng)信號(hào)nDAT0-3:雙向數(shù)據(jù)信號(hào)nVDD,VSS:電源和

18、地信號(hào)nSD模式下允許有一個(gè)主機(jī), 多個(gè)從機(jī)(即多個(gè)卡), 主機(jī)可以給從機(jī)分別地址. 主機(jī)發(fā)n命令有些命令是發(fā)送給指定的從機(jī),有些命令可以以廣播形式發(fā)送.nSD模式下可以選擇總線寬度, 即選用幾根DAT信號(hào)線, 可以在主機(jī)初始化后設(shè)置.SDI2Sn音響數(shù)據(jù)的采集、處理和傳輸是多媒體技術(shù)的重要組成部分。眾多的數(shù)字音頻系統(tǒng)已經(jīng)進(jìn)入消費(fèi)市場,例如數(shù)字音頻錄音帶、數(shù)字聲音處理器。對(duì)于設(shè)備和生產(chǎn)廠家來說,標(biāo)準(zhǔn)化的信息傳輸結(jié)構(gòu)可以提高系統(tǒng)的適應(yīng)性。I2S(InterIC Sound)總線是飛利浦公司為數(shù)字音頻設(shè)備之間的音頻數(shù)據(jù)傳輸而制定的一種總線標(biāo)準(zhǔn),該總線專責(zé)于音頻設(shè)備之間的數(shù)據(jù)傳輸,廣泛應(yīng)用于各種多媒

19、體系統(tǒng)。n 1.串行時(shí)鐘SCLK,也叫位時(shí)鐘(BCLK),即對(duì)應(yīng)數(shù)字音頻的每一位數(shù)據(jù)n2. 幀時(shí)鐘LRCK,(也稱WS),用于切換左右聲道的數(shù)據(jù)。LRCK為“1”表示正在傳輸?shù)氖亲舐暤赖臄?shù)據(jù),為“0”則表示正在傳輸?shù)氖怯衣暤赖臄?shù)據(jù)。LRCK的頻率等于采樣頻率。n3.串行數(shù)據(jù)SDATA,就是用二進(jìn)制補(bǔ)碼表示的音頻數(shù)據(jù)。I2SI2CnI2C總線是總線是PHLIPS公司推出的一種串行總線,是具備多主機(jī)系公司推出的一種串行總線,是具備多主機(jī)系統(tǒng)所需的包括總線裁決和高低速器件同步功能的高性能串行總線統(tǒng)所需的包括總線裁決和高低速器件同步功能的高性能串行總線nI2C總線只有兩根雙向信號(hào)線。一根是數(shù)據(jù)線總線只

20、有兩根雙向信號(hào)線。一根是數(shù)據(jù)線SDA,另一根是時(shí),另一根是時(shí)鐘線鐘線SCL。I2CPS2PS2PS2第5章 目錄q0.概述q1.W90P710簡介q2.最小系統(tǒng)的設(shè)計(jì)q3.ARM應(yīng)用系統(tǒng)的設(shè)計(jì)q4.GPIO的控制的控制q5.使用EBI來控制LEDq6.外擴(kuò)存儲(chǔ)器管理及存儲(chǔ)重映射q7.中斷的管理5.GPIO的控制n需要掌握的內(nèi)容n1.如何實(shí)現(xiàn)GPIO的復(fù)用功能?n2.如何控制GPIO的輸入輸出?ARM芯片(W90P710)ARM核(ARM7)片外存儲(chǔ)器(SRAM,SDRAM,FLASH)通用寄存器(37個(gè),R0-R15)片內(nèi)存儲(chǔ)器(SRAM,FLASH)特殊功能寄存器地址線數(shù)據(jù)線ARM尋址部件,

21、UART,LCD,I2C等1,片內(nèi)存儲(chǔ)器和片外存儲(chǔ)器通過統(tǒng)一編址進(jìn)行訪問,比如0 x30000000.2,ARM的各個(gè)部件的控制通過讀寫特殊功能寄存器來實(shí)現(xiàn).3,ARM核用來執(zhí)行ARM的指令(加,減,乘,除等),通用積存器是ARM核執(zhí)行指令時(shí)所使用的緩存.部件控制寄存器部件控制寄存器部件控制寄存器設(shè)計(jì)實(shí)例(鍵按下,燈亮)GPIO_CFG0 EQU 0XFFF83000 ;低低10位位GPIO_DIR0 EQU 0XFFF83004;低低5位位GPIO_DATAOUT0 EQU 0XFFF83008 ;低低5位位GPIO_DATAIN0 EQU 0XFFF8300C ;低低5位位P0.0 P0.

22、1引角的復(fù)用GPIO0AC97_nRESETnIRQ4P0.05.5 GPIO(引腳配置)n引腳功能選擇使用示例 w90p710微控制器的引腳一般是多個(gè)功能復(fù)用,但是同一引腳在同一 引腳在同一時(shí)刻只能使用其中一個(gè)功能,這可以通過設(shè)置GPIO_CFG寄存器來選擇,詳細(xì)介紹見“引腳連接模塊”小節(jié)。通過GPIO_CFG控制引腳功能USBPWRENW90P710的GPIOnGPIO(General Purpose Input/Output)nW90P710擁有71個(gè)GPIO分成7個(gè)組W90P710的GPIO配制nGPIO_CFG用于配制是用普通的IO還是用于功能模塊nGPIO_DIR表示用于普通IO時(shí)

23、,是用于輸入還用于輸出nGPIO_DATAOUT,用于輸出時(shí)的輸出寄存器nGPIO_DATAIN,用于輸入時(shí)的輸入寄存器.GPIO_CFG的作用GPIO_CFG的設(shè)置(為GPIO功能)nGPIO_CFG0 EQU 0XFFF83000;定義地址nLDR R0,=GPIO_CFG0 ;讀取GPIO_CFG0地址到R0nLDR R1,R0;讀取GPIO_CFG0的值到R1nBIC R1,0X03;設(shè)置PT0CFG0為0,即為GPIO0nSTR R1,R0 n ;將設(shè)置好的值寫入寄存器 GPIO_DIR的作用GPIO_DIR0的設(shè)置nGPIO_DIR0 EQU 0XFFF83004;定義地址nLDR

24、 R0,= GPIO_DIR0 ;讀取GPIO_DIR0地址到R0nLDR R1,R0;讀取GPIO_CFG0的值到R1nORR R1,0X01 ; BIC R1,0X01;設(shè)置PORT0的GPIO0為輸出nSTR R1,R0 n ;將設(shè)置好的值寫入寄存器 GPIO_DATAOUT的作用GPIO_DATAOUT0的設(shè)置代碼nGPIO_DATAOUT0 EQU 0XFFF83008;定義地址nLDR R0,= GPIO_DATAOUT0;讀取GPIO_DATAOUT0地址到R0nLDR R1,R0;讀取GPIO_DATAOUT0的值到R1n0RR R1,0X01 ; BIC R1,0X01;設(shè)置

25、GPIO0的電平nSTR R1,R0 n ;將GPIO0輸出GPIO_DATAIN的作用GPIO_DATAIN的設(shè)置代碼nGPIO_DATAIN EQU 0XFFF8300C;定義地址nLDR R0,= GPIO_DATAIN ;讀取GPIO_DATAIN地址到R0nLDR R1,R0;讀取GPIO_DATAIN的值到R1nANDS R1,0X01;”1”,NE條件成立,”0”EQ條件成立 ;屏蔽其它的數(shù)據(jù)位,此時(shí)R1為0為低電平 ;R1為1為高電平設(shè)計(jì)實(shí)例(鍵按下,燈亮)GPIO_CFG0 EQU 0XFFF83000 ;低低10位位GPIO_DIR0 EQU 0XFFF83004;低低5位

26、位GPIO_DATAOUT0 EQU 0XFFF83008 ;低低5位位GPIO_DATAIN EQU 0XFFF8300C ;低低5位位P0.0 P0.1GPIO0GPIO1GPIO的配制GPIO_CFG0 EQU 0XFFF83000 GPIO_DIR0 EQU 0XFFF83004GPIO_DATAOUT0 EQU 0XFFF83008GPIO_DATAIN EQU 0XFFF8300CAREA Start, CODE,READONLY ;設(shè)置名稱設(shè)置名稱(Start)及屬性及屬性ENTRYLDR R0,=GPIO_CFG0 ;讀讀GPIO_CFG0地址到地址到R0LDR R1,R0;讀

27、取讀取GPIO_CFG0的值到的值到R1BIC R1,0X0F ; 設(shè)置為設(shè)置為GPIO0:1STR R1,R0 ;將設(shè)置好的值寫入寄存器將設(shè)置好的值寫入寄存器LDR R0,= GPIO_DIR0 ;讀取讀取GPIO_DIR0地址到地址到R0LDR R1,R0;讀取讀取GPIO_CFG0的值到的值到R10RR R1,0X02 ;設(shè)置設(shè)置PORT0的的GPIO1為輸出為輸出BIC R1,0X01;設(shè)置設(shè)置PORT0的的GPIO0為輸入為輸入STR R1,R0 ;將設(shè)置好的值寫入寄存器將設(shè)置好的值寫入寄存器 操作LOOP1LDR R0,= GPIO_DATAIN;讀讀GPIO_DATAIN地址到地

28、址到R0LDR R1,= GPIO_DATAOUT0;讀讀GPIO_DATAOUT0地址到地址到R0LDR R2,R0;讀取讀取GPIO_DATAIN的值到的值到R1LDR R3,R1; GPIO_DATAOUT0TST R2,0X01 ;判斷是否有鍵按下判斷是否有鍵按下ORRNE R3,0X02 ;沒有鍵按下位沒有鍵按下位2置置1BICEQ R3,0X02; 有有鍵按下位有有鍵按下位2置置0STR R3,R1 ;輸出輸出 MOV R2,0X20000LOOP2SUBSR2,R2,#01 BNELOOP2 ;延時(shí)子程序延時(shí)子程序BLOOP1 ;循環(huán)點(diǎn)亮發(fā)光二極管循環(huán)點(diǎn)亮發(fā)光二極管END設(shè)計(jì)實(shí)例

29、(鍵按下,兩個(gè)LED燈同時(shí)亮,鍵松開,同時(shí)滅)GPIO_CFG0 EQU 0XFFF83000 ;低低10位位GPIO_DIR0 EQU 0XFFF83004;低低5位位GPIO_DATAOUT0 EQU 0XFFF83008 ;低低5位位GPIO_DATAIN EQU 0XFFF8300C ;低低5位位P0.0 P0.2P0.3GPIO0GPIO2GPIO3LOOP1LDR R0,= GPIO_DATAIN ;讀讀GPIO_DATAIN地址到地址到R0LDR R1,= GPIO_DATAOUT0 ;讀讀GPIO_DATAOUT0地址到地址到R0LDR R2,R0 ;讀取讀取GPIO_DATA

30、IN的值到的值到R1LDR R3,R1 ; GPIO_DATAOUT0TST R2,0X01 ;判斷是否有鍵按下判斷是否有鍵按下ORRNE R3,0X02 ;沒有鍵按下位沒有鍵按下位2置置1BICEQ R3,0X02 ; 有有鍵按下位有有鍵按下位2置置0STR R3,R1 ;輸出輸出 MOV R2,0X20000LOOP2SUBSR2,R2,#01 BNE LOOP2 BLOOP1 ENDGPIO_CFG0 EQU 0XFFF83000 GPIO_DIR0 EQU 0XFFF83004GPIO_DATAOUT0 EQU 0XFFF83008GPIO_DATAIN EQU 0XFFF8300CA

31、REA Start, CODE,READONLY ;設(shè)置名稱設(shè)置名稱(Start)及屬性及屬性ENTRY LDR R0,=GPIO_CFG0 ;讀讀GPIO_CFG0地址到地址到R0 LDR R1,R0;讀取讀取GPIO_CFG0的值到的值到R1 BIC R1,0X0F ; 設(shè)置為設(shè)置為GPIO0:1 STR R1,R0 ;將設(shè)置好的值寫入寄存器將設(shè)置好的值寫入寄存器 LDR R0,= GPIO_DIR0 ;讀取讀取GPIO_DIR0地址到地址到R0 LDR R1,R0 ;讀取讀取GPIO_CFG0的值到的值到R1 0RR R1,0X02 ;設(shè)置設(shè)置PORT0的的GPIO1為輸出為輸出 BIC

32、 R1,0X01 ;設(shè)置設(shè)置PORT0的的GPIO0為為輸入輸入 STR R1,R0 ;將設(shè)置好的值寫入寄存器將設(shè)置好的值寫入寄存器 GPIO的配制GPIO_CFG0 EQU 0XFFF83000 GPIO_DIR0 EQU 0XFFF83004GPIO_DATAOUT0 EQU 0XFFF83008GPIO_DATAIN EQU 0XFFF8300CAREA Start, CODE,READONLY ;設(shè)置名稱設(shè)置名稱(Start)及屬性及屬性ENTRYLDR R0,=GPIO_CFG0 ;讀讀GPIO_CFG0地址到地址到R0LDR R1,R0;讀取讀取GPIO_CFG0的值到的值到R1B

33、IC R1,0X3F ; 設(shè)置為設(shè)置為GPIO0:2STR R1,R0 ;將設(shè)置好的值寫入寄存器將設(shè)置好的值寫入寄存器LDR R0,= GPIO_DIR0 ;讀取讀取GPIO_DIR0地址到地址到R0LDR R1,R0;讀取讀取GPIO_CFG0的值到的值到R10RR R1,0X06 ;設(shè)置設(shè)置PORT0的的GPIO1:2為輸出為輸出BIC R1,0X01;設(shè)置設(shè)置PORT0的的GPIO0為輸入為輸入STR R1,R0 ;將設(shè)置好的值寫入寄存器將設(shè)置好的值寫入寄存器 操作LOOP1LDR R0,= GPIO_DATAIN;讀讀GPIO_DATAIN地址到地址到R0LDR R1,= GPIO_D

34、ATAOUT0;讀讀GPIO_DATAOUT0地址到地址到R0LDR R2,R0;讀取讀取GPIO_DATAIN的值到的值到R1LDR R3,R1; GPIO_DATAOUT0TST R2,0X01 ;判斷是否有鍵按下判斷是否有鍵按下ORRNE R3,0X06 ;沒有鍵按下位沒有鍵按下位2置置1BICEQ R3,0X06; 有有鍵按下位有有鍵按下位2置置0STR R3,R1 ;輸出輸出 MOV R2,#0X20000LOOP2SUBSR2,R2,#01 BNELOOP2 ;延時(shí)子程序延時(shí)子程序BLOOP1 ;循環(huán)點(diǎn)亮發(fā)光二極管循環(huán)點(diǎn)亮發(fā)光二極管END第5章 目錄q0.概述q1.W90P710簡

35、介q2.最小系統(tǒng)的設(shè)計(jì)q3.AM應(yīng)用系統(tǒng)的設(shè)計(jì)q4.GPIO的控制q5.使用使用EBI來控制來控制LEDq6.外擴(kuò)存儲(chǔ)器管理及存儲(chǔ)重映射q7.中斷的管理使用使用EBI來控制來控制LEDn需要掌握的內(nèi)容n1.理解如何配置EBI的7個(gè)BANK的基地址n2.如何實(shí)現(xiàn)通過EBI控制LED使用EBI總線外擴(kuò)ledn控制采用數(shù)據(jù)總線鎖存的驅(qū)動(dòng)方式,CPU 的數(shù)據(jù)總線低8 位連接到鎖存器74HC273 的信號(hào)輸入端,CPU 外部總線接口(EBI)的nECS0 片選信號(hào)連接到鎖存器的鎖存控制信號(hào),這樣當(dāng)CPU 訪問BANK0 的任一地址空間時(shí),數(shù)據(jù)總線低8 位的數(shù)據(jù)就將被鎖存器鎖存后輸出,作為控制8 個(gè)LED

36、 燈的發(fā)光狀態(tài)的控制信號(hào),使使EBI 的的BANK0 地址空間為地址空間為0 x7800 00000 x783F FFFF。往。往這個(gè)地址空間的任一地址寫這個(gè)地址空間的任一地址寫0 xFF,8 個(gè)個(gè)LED 燈都滅;寫燈都滅;寫0 x00,則則8 個(gè)個(gè)LED 燈都點(diǎn)亮。燈都點(diǎn)亮。External I/O write operation timingExternal I/O read operation timing外擴(kuò)I/O BANK配置寄存器設(shè)計(jì)LED循環(huán)左移程序n控制采用數(shù)據(jù)總線鎖存的驅(qū)動(dòng)方式,CPU 的數(shù)據(jù)總線低8 位連接到鎖存器74HC273 的信號(hào)輸入端,CPU 外部總線接口(EBI)

37、的nECS0 片選信號(hào)連接到鎖存器的鎖存控制信號(hào),這樣當(dāng)CPU 訪問BANK0 的任一地址空間時(shí),數(shù)據(jù)總線低8 位的數(shù)據(jù)就將被鎖存器鎖存后輸出,作為控制8 個(gè)LED 燈的發(fā)光狀態(tài)的控制信號(hào),使使EBI 的的BANK0 地址空間為地址空間為0 x7800 00000 x783F FFFF。往。往這個(gè)地址空間的任一地址寫這個(gè)地址空間的任一地址寫0 xFF,8 個(gè)個(gè)LED 燈都滅;寫燈都滅;寫0 x00,則則8 個(gè)個(gè)LED 燈都點(diǎn)亮。燈都點(diǎn)亮。nREG_EXT0CON EQU 0 xFFF01018 ;EXTBANK0地址nEBI_EXT0_VALUE EQU 0 xF0078003; EXTBAN

38、K0配置n;參數(shù)nEBILED_ADDRESS EQU 0 x78000000;LED掛接的地址 AREA Start, CODE,READONLY ;設(shè)置名稱及屬性ENTRY LDR R0,= REG_EXT0CON ;讀取EXTBANK0配置 ;寄存器地址 LDR R1,= EBI_EXT0_VALUE;讀取EXTBANK0配置參數(shù),設(shè)置EXTBANK0的基地址為為0 x78000000 STR R1,R0 LDR R0,= EBILED_ADDRESS MOV R4,#0X01LOOP1 MVN R3,R4;取反取反,輸出為輸出為”0”燈亮燈亮 STRB R3,R0;往往LED所在的所在

39、的EBI地址發(fā)送地址發(fā)送1字節(jié)字節(jié) MOV R4,R4 LSL 0X01;左移一位左移一位 TST R4,0X100;判斷是否移動(dòng)判斷是否移動(dòng)8次次 MOVNE R4,0X01;如果移動(dòng)如果移動(dòng)8次次,從從0 x01重新開始開始重新開始開始 MOV R2,#0X20000;循環(huán)一定時(shí)間做延遲循環(huán)一定時(shí)間做延遲LOOP2SUBSR2,R2,#01 BNELOOP2 ;延時(shí)子程序延時(shí)子程序BLOOP1 ;循環(huán)點(diǎn)亮發(fā)光二極管循環(huán)點(diǎn)亮發(fā)光二極管END設(shè)計(jì)一個(gè)循環(huán)右移的LED程序nBANK0 的任一地址空間時(shí),數(shù)據(jù)總線低8 位的數(shù)據(jù)就將被鎖存器鎖存后輸出,作為控制8 個(gè)LED 燈的發(fā)光狀態(tài)的控制信號(hào),使

40、使EBI 的的BANK0 地址空間為地址空間為0 x7800 00000 x783F FFFF(0 x4000 00000 x403F FFFF)。往這個(gè)地址空間的任一。往這個(gè)地址空間的任一地址寫地址寫0 xFF,8 個(gè)個(gè)LED 燈都滅;寫燈都滅;寫0 x00,則,則8 個(gè)個(gè)LED 燈都點(diǎn)燈都點(diǎn)亮。亮。nREG_EXT0CON EQU 0 xFFF01018 nEBI_EXT0_VALUE EQU 0 xF0078003nEBILED_ADDRESS EQU 0 x78000000nREG_EXT0CON EQU 0 xFFF01018 ;EXTBANK0地址nEBI_EXT0_VALUE E

41、QU 0 xF0078003; EXTBANK0配置n;參數(shù)nEBILED_ADDRESS EQU 0 x78000000n;LED掛接的地址 AREA Start, CODE,READONLY ;設(shè)置名稱及屬性ENTRY LDR R0,= REG_EXT0CON ;讀取EXTBANK0配置寄存器地址 LDR R1,= EBI_EXT0_VALUE;讀取EXTBANK0配置參數(shù),設(shè)置EXTBANK0的基;地址為為0 x78000000 STR R1,R0 LDR R0,= EBILED_ADDRESS MOV R4,#0X01LOOP1 MVN R3,R4;取反取反,輸出為輸出為”0”燈亮燈亮

42、 STRB R3,R0;往往LED所在的所在的EBI地址發(fā)送地址發(fā)送1字節(jié)字節(jié) MOV R4,R4 LSL 0X01;左移一位左移一位 TST R4,0X100;判斷是否移動(dòng)判斷是否移動(dòng)8次次 MOVNE R4,0X01;如果移動(dòng)如果移動(dòng)8次次,從從0 x01重新開重新開始開始始開始 MOV R2,#0X20000;循環(huán)一定時(shí)間做延遲循環(huán)一定時(shí)間做延遲LOOP2SUBSR2,R2,#01 BNE LOOP2 ;延時(shí)子程序延時(shí)子程序BLOOP1 ;循環(huán)點(diǎn)亮發(fā)光二極管循環(huán)點(diǎn)亮發(fā)光二極管ENDnREG_EXT0CON EQU 0 xFFF01018 ;EXTBANK0地址nEBI_EXT0_VALU

43、E EQU 0 xF0078003; EXTBANK0配置n;參數(shù)EBI_BANK0的地址為0 x78000000n;EBI_EXT0_VALUE EQU 0 x80078003; EXTBANK0配置n;參數(shù)0 x40000000nEBILED_ADDRESS EQU 0 x78000000;LED掛接的地址n;EBILED_ADDRESS EQU 0 x40000000;LED掛接的地址AREA Start, CODE, READONLY ;設(shè)置名稱及屬性ENTRY LDR R0,= REG_EXT0CON ;讀取EXTBANK0配置 ;寄存器地址 LDR R1,= EBI_EXT0_VA

44、LUE;讀取EXTBANK0配置參數(shù),設(shè)置EXTBANK0的基地址為為0 x78000000 STR R1,R0n LDR R0,= EBILED_ADDRESS n MOV R4,#0X100LOOP1 MOV R4,R4 LSR 0X01;左移一位左移一位 MVN R3,R4;取反取反,輸出為輸出為”0”燈亮燈亮 STRB R3,R0;往往LED所在的所在的EBI地址發(fā)送地址發(fā)送1字節(jié)字節(jié) TST R4,0X01;判斷是否移動(dòng)判斷是否移動(dòng)8次次 MOVNE R4,0X100;如果移動(dòng)如果移動(dòng)8次次,從從0 x01重新開始開始重新開始開始 MOV R2,#0X20000;循環(huán)一定時(shí)間做延遲循

45、環(huán)一定時(shí)間做延遲LOOP2SUBSR2,R2,#01 BNELOOP2 ;延時(shí)子程序延時(shí)子程序BLOOP1 ;循環(huán)點(diǎn)亮發(fā)光二極管循環(huán)點(diǎn)亮發(fā)光二極管END第5章 目錄q0.概述q1.W90P710簡介q2.最小系統(tǒng)的設(shè)計(jì)q3.ARM應(yīng)用系統(tǒng)的設(shè)計(jì)q4.外擴(kuò)存儲(chǔ)器管理及存儲(chǔ)重映射q5.GPIO的控制q6.中斷的管理4.外擴(kuò)存儲(chǔ)器管理及存儲(chǔ)重映射n需要的掌握的內(nèi)容1.W90P710(或ARM)在復(fù)位的時(shí)候,如何來識(shí)別外部固態(tài)存儲(chǔ)器的類型,總線寬度,并讀取代碼?2. W90P710如何來外擴(kuò)存儲(chǔ)器的,比如,FLASH、SDRAM、SRAM?3.什么是特殊功能寄存器,如何讀寫?4.內(nèi)存映射如何實(shí)現(xiàn)?5.

46、4.1 W90P710的存儲(chǔ)組織nW90P710提供2G Bytes 的cacheable address space(0 x0000_0000 0 x7FDF_FFFF)和2G Bytes 的non-acheable (0 x8000_00000 xFFDF_FFFF) n內(nèi)部的特殊功能寄存器的地址為1M Bytes在 0 xFFF0_0000 0 xFFFF_FFFF的地址nW90P710內(nèi)部SRAM的地址是0XFFE0_0000地址n W90P710的EBI (External BUS interface)nEBI用于對(duì)外部存儲(chǔ)的訪問控制,包括可選的1 BANK的ROM/FLASH BA

47、NK (256KB16MB)2 BANK的SDRAM BANK (2MB64MB)4 BANK的External I/O bank (256KB16MB)n每個(gè)BANK有22個(gè)地址線,支持8位,16位,32位讀寫存儲(chǔ)重新映射nSDRAM的讀寫速度比FLASH快nUCLINUX,LINUX都是把代碼拷貝到SDRAM中,然后運(yùn)行n異常向量總是放在0X0地址開始的8個(gè)字的存儲(chǔ)單元。FLASHSDRAM0X0000_00000X0040_0000SDRAMFLASH0X0000_00000X0100_0000復(fù)位時(shí)初始化完成EBI控制寄存器FLASH的讀寫時(shí)序正常分頁SDRAM的控制 基地址為基地址為

48、SDCONF0的的31:19左移左移18,相當(dāng)把低相當(dāng)把低19位清位清0,整整個(gè)數(shù)右移個(gè)數(shù)右移1位位; SDTIME存儲(chǔ)重新映射nSDRAM的讀寫速度比FLASH快nUCLINUX,LINUX都是把代碼拷貝到SDRAM中,然后運(yùn)行n異常向量總是放在0X0地址開始的8個(gè)字的存儲(chǔ)單元。FLASHSDRAM0X0000_00000X0040_0000SDRAMFLASH0X0000_00000X0100_0000復(fù)位時(shí)初始化完成EBI控制寄存器基地址為基地址為ROMCON 的的31:19左移左移18,相當(dāng)把低相當(dāng)把低19位清位清0,整個(gè)數(shù)整個(gè)數(shù)右移右移1位位; 0 x02040084的 基地址為多少

49、?,4M開始的地址應(yīng)該為什么數(shù)? 基地址為基地址為SDCONF0的的31:19左移左移18,相當(dāng)把低相當(dāng)把低19位清位清0,整整個(gè)數(shù)右移個(gè)數(shù)右移1位位; 設(shè)置EBI總線 基地址為基地址為ROMCON 或或SDCONF0的的31:19左移左移18,相當(dāng)把相當(dāng)把低低19位清位清0,整個(gè)數(shù)右移整個(gè)數(shù)右移1位位nEBICONEQU0 xFFF01000;EBI control registernROMCONEQU0 xFFF01004;ROM/FLASH control registernSDCONF0EQU0 xFFF01008;SDRAM bank 0 configuration register

50、nSDCONF1EQU0 xFFF0100C;SDRAM bank 1 configuration registernSDTIME0EQU0 xFFF01010;SDRAM bank 0 timing control registernSDTIME1EQU0 xFFF01014;SDRAM bank 1 timing control registerFLASHSDRAM0X0000_00000X0040_0000SDRAMFLASH0X0000_00000X0100_0000復(fù)位時(shí)初始化完成如何設(shè)置EBI總線(復(fù)位時(shí))n;Flash 04Mn;SDRAM 420Mn ADRL r0, Init

51、_SystemMemoryn LDMIA r0, r1-r6n LDR r0, =EBICONn STMIA r0, r1-r6nInit_SystemMemorynDCD0 x000530C1 ;EBICOMnDCD0 x00040084 ;ROMCOM 基址 0 x0000_0000nDCD0 x008090E4 ;SDCONF0 基址 0 x0040_0000nDCD0 x200090E4 ;SDCONF1nDCD0 x0000014B ;SDTIME0nDCD0 x0000014B ;SDTIME0FLASHSDRAM0X0000_00000X0040_0000如何設(shè)置EBI總線(復(fù)位

52、之后)n;Flash 1620Mn;SDRAM 016MnADRL r0, Remap_SystemMemoryn LDMIA r0, r1-r6n LDR r0, =EBICONn STMIA r0, r1-r6nRemap_SystemMemoryn DCD0 x000530C1 ;EBICOMnDCD 0 x02040084;ROMCOM 基址 0 x01000000 , 16M開始nDCD0 x000090E4;SDCONF0 基址 0 x00000000 , 0開始nDCD0 x200090E4 ;SDCONF1nDCD0 x0000014B ;SDTIME0nDCD0 x00000

53、14B ;SDTIME0SDRAMFLASH0X0000_00000X0100_0000n;Initialise the system memoryn;Flash 04Mn;SDRAM 420MnADRL r0, Init_SystemMemoryn LDMIA r0, r1-r6n LDR r0, =EBICONn STMIA r0, r1-r6nLDR r0, =0 x0;the start address of romnLDRr1, =0 x300000;the size of romnLDRr2, =0 x400000;the start address of sdramnCopy_L

54、oopLDRr3, r0, #4nSTRr3, r2, #4nSUBSr1, r1, #4nBNECopy_Loopnn;Remap the system memoryn;Flash 1620Mn;SDRAM 016MnADRL r0, Remap_SystemMemoryn LDMIA r0, r1-r6n LDR r0, =EBICONn STMIA r0, r1-r6 Init_SystemMemoryDCD0 x000530C1DCD0 x00040084DCD0 x008090E4DCD0 x200090E4 DCD0 x0000014BDCD0 x0000014BRemap_Sys

55、temMemoryDCD0 x000530C1DCD0 x02040084DCD0 x000090E4DCD0 x200090E4 DCD0 x0000014B DCD0 x0000014BEBICONEQU0 xFFF01000 ROMCONEQU0 xFFF01004SDCONF0EQU0 xFFF01008SDCONF1EQU0 xFFF0100CSDTIME0EQU0 xFFF01010SDTIME1EQU0 xFFF01014n;Initialise the system memoryn;Flash 04Mn;SDRAM 1632MnADRL r0, Init_SystemMemor

56、yn LDMIA r0, r1-r6n LDR r0, =EBICONn STMIA r0, r1-r6nLDR r0, =0 x0;the start address of romnLDRr1, =0 x400000 ;the size of romnLDRr2, =0 x1000000 ;the start address of sdramnCopy_LoopLDRr3, r0, #4nSTRr3, r2, #4nSUBSr1, r1, #4nBNECopy_Loopnn;Remap the system memoryn;Flash 3236Mn;SDRAM 016MnADRL r0, R

57、emap_SystemMemoryn LDMIA r0, r1-r6n LDR r0, =EBICONn STMIA r0, r1-r6 Init_SystemMemoryDCD0 x000530C1DCD0 x00040084DCD0 x020090E4DCD0 x200090E4 DCD0 x0000014BDCD0 x0000014BRemap_SystemMemoryDCD0 x000530C1DCD0 x04040084DCD0 x000090E4DCD0 x200090E4 DCD0 x0000014B DCD0 x0000014BEBICONEQU0 xFFF01000 ROMC

58、ONEQU0 xFFF01004SDCONF0EQU0 xFFF01008SDCONF1EQU0 xFFF0100CSDTIME0EQU0 xFFF01010SDTIME1EQU0 xFFF01014第5章 目錄q0.概述q1.W90P710簡介q2.最小系統(tǒng)的設(shè)計(jì)q3.ARM應(yīng)用系統(tǒng)的設(shè)計(jì)q4.外擴(kuò)存儲(chǔ)器管理及存儲(chǔ)重映射q5.GPIO的控制q6.中斷的管理6.中斷的管理n需要掌握的內(nèi)容nW90P710如何識(shí)別中斷源,即為那個(gè)部件引起的中斷?nW90P710如何跳到相應(yīng)的中斷服務(wù)函數(shù)?n中斷向量表是如何設(shè)定的?n最終的目的學(xué)會(huì)如何設(shè)計(jì)ARM的中斷處理程序5.6 W90P710的中斷控制器(AI

59、C)n向量中斷控制器概述 ARM7TDMI內(nèi)核具有兩個(gè)中斷輸入,分別為IRQ中斷和FIQ中斷。但是芯片內(nèi)部有許多中斷源,最多可以有32個(gè)中斷輸入請(qǐng)求。向量中斷控制器的作用就是允許哪些中斷源可以產(chǎn)生中斷、可以產(chǎn)生哪類中斷、產(chǎn)生中斷后執(zhí)行哪段服務(wù)程序。ARM7TDMI-SIRQFIQAIC中斷請(qǐng)求輸入0中斷請(qǐng)求輸入31. . .W90P710的中斷控制器(AIC)nARM7TDMI處理器提供兩種中斷模式, 快速中斷快速中斷 (FIQ) 模式用于緊急事件處理,而中斷模式中斷模式 (IRQ) 用于普通事件處理。n可以處理32個(gè)不同的中斷源,可獨(dú)立開啟或屏蔽,每個(gè)中斷源有一個(gè)唯一的中斷號(hào).n支持8個(gè)不同

60、的優(yōu)先級(jí),當(dāng)優(yōu)先級(jí)為0時(shí),表示處理的是FIQ中斷,為17時(shí),表示的是IRQ中斷n支持的中斷觸發(fā)方式n低電平n高電平n下降沿觸發(fā)n上升沿觸發(fā)中斷的任務(wù)n1.判斷是產(chǎn)生的中斷是IRQ還是FIQ.n2.應(yīng)該執(zhí)行的是31個(gè)中的那個(gè)中斷.n3.找到相應(yīng)的中斷服務(wù)程序去執(zhí)行n4.返回,判斷下一個(gè)中斷.幾個(gè)概念n中斷時(shí)的電平中斷時(shí)的電平n中斷條件滿足標(biāo)志中斷條件滿足標(biāo)志n中斷條件滿足中斷條件滿足,并且相應(yīng)的中斷號(hào)的使能的并且相應(yīng)的中斷號(hào)的使能的n中斷條件滿足中斷條件滿足,并且相應(yīng)的中斷號(hào)的使能并且相應(yīng)的中斷號(hào)的使能,并且優(yōu)并且優(yōu)先級(jí)最高先級(jí)最高n中斷屏蔽中斷屏蔽(MASK)標(biāo)志標(biāo)志n中斷屏蔽的設(shè)置中斷屏蔽的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論