資料介紹
2.4 I/O管理
ARM系統(tǒng)完成I/O功能的標(biāo)準(zhǔn)方法是使用存儲(chǔ)器映射I/O。這種方法使用特定的存儲(chǔ)器地址。當(dāng)從這些地址加載或向這些地址存儲(chǔ)時(shí),它們提供I/O功能。某些ARM系統(tǒng)也可能有直接存儲(chǔ)器訪問(wèn)(DMA,Direct Memory Access)硬件。
外圍設(shè)備(如串行線控制器)中包含一些寄存器。在存儲(chǔ)器映射系統(tǒng)中,這些寄存器就像特定地址的存儲(chǔ)器一樣。(在其他的系統(tǒng)組織中,I/O功能可能與存儲(chǔ)器件有不同的尋址空間。)串行線控制器可能有以下5種寄存器。
?、?發(fā)送數(shù)據(jù)寄存器(只寫):寫入這個(gè)位置的數(shù)據(jù)被送往串行線。
?、?接受數(shù)據(jù)寄存器(只讀):保存從串行線送來(lái)的數(shù)據(jù)。
?、?控制寄存器(讀/寫):設(shè)置數(shù)據(jù)速率,管理RTS(請(qǐng)求發(fā)送)和其他類似信號(hào)。
?、?中斷使能寄存器(讀/寫):控制中斷的硬件事件。
?、?狀態(tài)寄存器(讀/寫):指示讀數(shù)據(jù)是否有效、寫緩存是否滿等。
要接受數(shù)據(jù),必須用軟件適當(dāng)?shù)卦O(shè)置器件。通常在接收到有效數(shù)據(jù)或檢測(cè)到錯(cuò)誤時(shí)產(chǎn)生一個(gè)中斷。中斷程序必須將數(shù)據(jù)復(fù)制到緩存器中并進(jìn)行錯(cuò)誤檢測(cè)。
應(yīng)該注意的是,存儲(chǔ)器映射外圍寄存器的行為與存儲(chǔ)器不同。連續(xù)兩次讀數(shù)據(jù)寄存器,即使對(duì)該寄存器沒有寫操作,其結(jié)果也很可能不同。而對(duì)真正存儲(chǔ)器的讀是冪等的(idempotent)(可多次重復(fù)讀,結(jié)果一致)。對(duì)外圍寄存器的讀操作可能清除當(dāng)前值,致使下一次讀結(jié)果不同。這種寄存器稱為讀敏感(read-sensitive)的。
當(dāng)涉及讀敏感寄存器時(shí),編程必須小心。特別是不能將這種寄存器的數(shù)據(jù)復(fù)制到Cache存儲(chǔ)器。
在許多ARM系統(tǒng)中,不能在用戶模式下訪問(wèn)I/O寄存器。要訪問(wèn)這些器件,只能通過(guò)監(jiān)控調(diào)用(SWI)或通過(guò)使用這種調(diào)用的C庫(kù)函數(shù)。
注意在ARM編程中,通常將存儲(chǔ)器的I/O區(qū)域標(biāo)記為非Cache區(qū)(uncacheable),并繞過(guò)Cache訪問(wèn)。通常Cache與讀敏感(read-sensitive)器件相互排斥。顯示幀緩存器(DisplayFrame Buffers)也需要仔細(xì)考慮,通常也設(shè)為不可Cache的。
?
ARM系統(tǒng)完成I/O功能的標(biāo)準(zhǔn)方法是使用存儲(chǔ)器映射I/O。這種方法使用特定的存儲(chǔ)器地址。當(dāng)從這些地址加載或向這些地址存儲(chǔ)時(shí),它們提供I/O功能。某些ARM系統(tǒng)也可能有直接存儲(chǔ)器訪問(wèn)(DMA,Direct Memory Access)硬件。
外圍設(shè)備(如串行線控制器)中包含一些寄存器。在存儲(chǔ)器映射系統(tǒng)中,這些寄存器就像特定地址的存儲(chǔ)器一樣。(在其他的系統(tǒng)組織中,I/O功能可能與存儲(chǔ)器件有不同的尋址空間。)串行線控制器可能有以下5種寄存器。
?、?發(fā)送數(shù)據(jù)寄存器(只寫):寫入這個(gè)位置的數(shù)據(jù)被送往串行線。
?、?接受數(shù)據(jù)寄存器(只讀):保存從串行線送來(lái)的數(shù)據(jù)。
?、?控制寄存器(讀/寫):設(shè)置數(shù)據(jù)速率,管理RTS(請(qǐng)求發(fā)送)和其他類似信號(hào)。
?、?中斷使能寄存器(讀/寫):控制中斷的硬件事件。
?、?狀態(tài)寄存器(讀/寫):指示讀數(shù)據(jù)是否有效、寫緩存是否滿等。
要接受數(shù)據(jù),必須用軟件適當(dāng)?shù)卦O(shè)置器件。通常在接收到有效數(shù)據(jù)或檢測(cè)到錯(cuò)誤時(shí)產(chǎn)生一個(gè)中斷。中斷程序必須將數(shù)據(jù)復(fù)制到緩存器中并進(jìn)行錯(cuò)誤檢測(cè)。
應(yīng)該注意的是,存儲(chǔ)器映射外圍寄存器的行為與存儲(chǔ)器不同。連續(xù)兩次讀數(shù)據(jù)寄存器,即使對(duì)該寄存器沒有寫操作,其結(jié)果也很可能不同。而對(duì)真正存儲(chǔ)器的讀是冪等的(idempotent)(可多次重復(fù)讀,結(jié)果一致)。對(duì)外圍寄存器的讀操作可能清除當(dāng)前值,致使下一次讀結(jié)果不同。這種寄存器稱為讀敏感(read-sensitive)的。
當(dāng)涉及讀敏感寄存器時(shí),編程必須小心。特別是不能將這種寄存器的數(shù)據(jù)復(fù)制到Cache存儲(chǔ)器。
在許多ARM系統(tǒng)中,不能在用戶模式下訪問(wèn)I/O寄存器。要訪問(wèn)這些器件,只能通過(guò)監(jiān)控調(diào)用(SWI)或通過(guò)使用這種調(diào)用的C庫(kù)函數(shù)。
注意在ARM編程中,通常將存儲(chǔ)器的I/O區(qū)域標(biāo)記為非Cache區(qū)(uncacheable),并繞過(guò)Cache訪問(wèn)。通常Cache與讀敏感(read-sensitive)器件相互排斥。顯示幀緩存器(DisplayFrame Buffers)也需要仔細(xì)考慮,通常也設(shè)為不可Cache的。
?
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- STM32(F407)—— 存儲(chǔ)區(qū)映射和存儲(chǔ)器重映射
- PLC系統(tǒng)存儲(chǔ)器與用戶存儲(chǔ)器的功能
- 存儲(chǔ)器介紹
- 如何配置存儲(chǔ)器保護(hù)單元(MPU) 13次下載
- 存儲(chǔ)器映射和多功能LCD控制/驅(qū)動(dòng)芯片VK2C21 7次下載
- 單片機(jī)的片內(nèi)存儲(chǔ)器和片外存儲(chǔ)器到底有什么區(qū)別
- 什么是存儲(chǔ)器和寄存器映射?如何訪問(wèn)STM32寄存器內(nèi)容? 58次下載
- SDRAM存儲(chǔ)器相關(guān)資料下載 49次下載
- 嵌入式軟件開發(fā)之映像文件存儲(chǔ)器映射調(diào)整分析 0次下載
- ARM存儲(chǔ)器 1次下載
- 淺談ARM之片上存儲(chǔ)器 4次下載
- ARM基礎(chǔ)應(yīng)用實(shí)驗(yàn)_Flash存儲(chǔ)器 0次下載
- 存儲(chǔ)器及I/O空間
- 存儲(chǔ)器.ppt 0次下載
- 存儲(chǔ)器的分類及原理
- 內(nèi)存儲(chǔ)器主要用來(lái)存儲(chǔ)什么 998次閱讀
- 內(nèi)存儲(chǔ)器分為隨機(jī)存儲(chǔ)器和什么 1354次閱讀
- 內(nèi)存儲(chǔ)器與外存儲(chǔ)器的主要區(qū)別 5552次閱讀
- 只讀存儲(chǔ)器(ROM)和隨機(jī)讀寫存儲(chǔ)器(RAM)的區(qū)別 4417次閱讀
- 存儲(chǔ)器的定義和分類 1465次閱讀
- 存儲(chǔ)器和寄存器的區(qū)別 2422次閱讀
- 隨機(jī)訪問(wèn)存儲(chǔ)器(RAM)和只讀存儲(chǔ)器(ROM)的區(qū)別 2726次閱讀
- PLC的存儲(chǔ)器、I/O單元、I/O擴(kuò)展接口、外設(shè)接口和電源簡(jiǎn)介 3196次閱讀
- 半導(dǎo)體存儲(chǔ)器有哪些類型 1.6w次閱讀
- 只讀存儲(chǔ)器有哪些類型及相變存儲(chǔ)器的詳細(xì)介紹 8311次閱讀
- SYS/BIOS修改存儲(chǔ)器映射的詳細(xì)步驟 3893次閱讀
- 寄存器和存儲(chǔ)器的區(qū)別 1.5w次閱讀
- 計(jì)算機(jī)的存儲(chǔ)器主要作用_計(jì)算機(jī)的存儲(chǔ)器的分類介紹 1.1w次閱讀
- STM32的存儲(chǔ)器映射詳解 2.2w次閱讀
- 常見的五大ARM存儲(chǔ)器之一:協(xié)處理器CP15 1.5w次閱讀
下載排行
本周
- 1DC電源插座圖紙
- 0.67 MB | 2次下載 | 免費(fèi)
- 2AN158 GD32VW553 Wi-Fi開發(fā)指南
- 1.51MB | 2次下載 | 免費(fèi)
- 3AN148 GD32VW553射頻硬件開發(fā)指南
- 2.07MB | 1次下載 | 免費(fèi)
- 4AN111-LTC3219用戶指南
- 84.32KB | 次下載 | 免費(fèi)
- 5AN153-用于電源系統(tǒng)管理的Linduino
- 1.38MB | 次下載 | 免費(fèi)
- 6AN-283: Σ-Δ型ADC和DAC[中文版]
- 677.86KB | 次下載 | 免費(fèi)
- 7SM2018E 支持可控硅調(diào)光線性恒流控制芯片
- 402.24 KB | 次下載 | 免費(fèi)
- 8AN-1308: 電流檢測(cè)放大器共模階躍響應(yīng)
- 545.42KB | 次下載 | 免費(fèi)
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 450次下載 | 免費(fèi)
- 2免費(fèi)開源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 138次下載 | 1 積分
- 3基于STM32單片機(jī)智能手環(huán)心率計(jì)步器體溫顯示設(shè)計(jì)
- 0.10 MB | 130次下載 | 免費(fèi)
- 4使用單片機(jī)實(shí)現(xiàn)七人表決器的程序和仿真資料免費(fèi)下載
- 2.96 MB | 44次下載 | 免費(fèi)
- 53314A函數(shù)發(fā)生器維修手冊(cè)
- 16.30 MB | 31次下載 | 免費(fèi)
- 6美的電磁爐維修手冊(cè)大全
- 1.56 MB | 24次下載 | 5 積分
- 7如何正確測(cè)試電源的紋波
- 0.36 MB | 17次下載 | 免費(fèi)
- 8感應(yīng)筆電路圖
- 0.06 MB | 10次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935121次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191367次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73810次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評(píng)論