資料介紹
2.4 I/O管理
ARM系統(tǒng)完成I/O功能的標(biāo)準(zhǔn)方法是使用存儲器映射I/O。這種方法使用特定的存儲器地址。當(dāng)從這些地址加載或向這些地址存儲時,它們提供I/O功能。某些ARM系統(tǒng)也可能有直接存儲器訪問(DMA,Direct Memory Access)硬件。
外圍設(shè)備(如串行線控制器)中包含一些寄存器。在存儲器映射系統(tǒng)中,這些寄存器就像特定地址的存儲器一樣。(在其他的系統(tǒng)組織中,I/O功能可能與存儲器件有不同的尋址空間。)串行線控制器可能有以下5種寄存器。
?、?發(fā)送數(shù)據(jù)寄存器(只寫):寫入這個位置的數(shù)據(jù)被送往串行線。
?、?接受數(shù)據(jù)寄存器(只讀):保存從串行線送來的數(shù)據(jù)。
③ 控制寄存器(讀/寫):設(shè)置數(shù)據(jù)速率,管理RTS(請求發(fā)送)和其他類似信號。
④ 中斷使能寄存器(讀/寫):控制中斷的硬件事件。
?、?狀態(tài)寄存器(讀/寫):指示讀數(shù)據(jù)是否有效、寫緩存是否滿等。
要接受數(shù)據(jù),必須用軟件適當(dāng)?shù)卦O(shè)置器件。通常在接收到有效數(shù)據(jù)或檢測到錯誤時產(chǎn)生一個中斷。中斷程序必須將數(shù)據(jù)復(fù)制到緩存器中并進(jìn)行錯誤檢測。
應(yīng)該注意的是,存儲器映射外圍寄存器的行為與存儲器不同。連續(xù)兩次讀數(shù)據(jù)寄存器,即使對該寄存器沒有寫操作,其結(jié)果也很可能不同。而對真正存儲器的讀是冪等的(idempotent)(可多次重復(fù)讀,結(jié)果一致)。對外圍寄存器的讀操作可能清除當(dāng)前值,致使下一次讀結(jié)果不同。這種寄存器稱為讀敏感(read-sensitive)的。
當(dāng)涉及讀敏感寄存器時,編程必須小心。特別是不能將這種寄存器的數(shù)據(jù)復(fù)制到Cache存儲器。
在許多ARM系統(tǒng)中,不能在用戶模式下訪問I/O寄存器。要訪問這些器件,只能通過監(jiān)控調(diào)用(SWI)或通過使用這種調(diào)用的C庫函數(shù)。
注意在ARM編程中,通常將存儲器的I/O區(qū)域標(biāo)記為非Cache區(qū)(uncacheable),并繞過Cache訪問。通常Cache與讀敏感(read-sensitive)器件相互排斥。顯示幀緩存器(DisplayFrame Buffers)也需要仔細(xì)考慮,通常也設(shè)為不可Cache的。
?
ARM系統(tǒng)完成I/O功能的標(biāo)準(zhǔn)方法是使用存儲器映射I/O。這種方法使用特定的存儲器地址。當(dāng)從這些地址加載或向這些地址存儲時,它們提供I/O功能。某些ARM系統(tǒng)也可能有直接存儲器訪問(DMA,Direct Memory Access)硬件。
外圍設(shè)備(如串行線控制器)中包含一些寄存器。在存儲器映射系統(tǒng)中,這些寄存器就像特定地址的存儲器一樣。(在其他的系統(tǒng)組織中,I/O功能可能與存儲器件有不同的尋址空間。)串行線控制器可能有以下5種寄存器。
?、?發(fā)送數(shù)據(jù)寄存器(只寫):寫入這個位置的數(shù)據(jù)被送往串行線。
?、?接受數(shù)據(jù)寄存器(只讀):保存從串行線送來的數(shù)據(jù)。
③ 控制寄存器(讀/寫):設(shè)置數(shù)據(jù)速率,管理RTS(請求發(fā)送)和其他類似信號。
④ 中斷使能寄存器(讀/寫):控制中斷的硬件事件。
?、?狀態(tài)寄存器(讀/寫):指示讀數(shù)據(jù)是否有效、寫緩存是否滿等。
要接受數(shù)據(jù),必須用軟件適當(dāng)?shù)卦O(shè)置器件。通常在接收到有效數(shù)據(jù)或檢測到錯誤時產(chǎn)生一個中斷。中斷程序必須將數(shù)據(jù)復(fù)制到緩存器中并進(jìn)行錯誤檢測。
應(yīng)該注意的是,存儲器映射外圍寄存器的行為與存儲器不同。連續(xù)兩次讀數(shù)據(jù)寄存器,即使對該寄存器沒有寫操作,其結(jié)果也很可能不同。而對真正存儲器的讀是冪等的(idempotent)(可多次重復(fù)讀,結(jié)果一致)。對外圍寄存器的讀操作可能清除當(dāng)前值,致使下一次讀結(jié)果不同。這種寄存器稱為讀敏感(read-sensitive)的。
當(dāng)涉及讀敏感寄存器時,編程必須小心。特別是不能將這種寄存器的數(shù)據(jù)復(fù)制到Cache存儲器。
在許多ARM系統(tǒng)中,不能在用戶模式下訪問I/O寄存器。要訪問這些器件,只能通過監(jiān)控調(diào)用(SWI)或通過使用這種調(diào)用的C庫函數(shù)。
注意在ARM編程中,通常將存儲器的I/O區(qū)域標(biāo)記為非Cache區(qū)(uncacheable),并繞過Cache訪問。通常Cache與讀敏感(read-sensitive)器件相互排斥。顯示幀緩存器(DisplayFrame Buffers)也需要仔細(xì)考慮,通常也設(shè)為不可Cache的。
?
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- STM32(F407)—— 存儲區(qū)映射和存儲器重映射
- PLC系統(tǒng)存儲器與用戶存儲器的功能
- 存儲器介紹
- 如何配置存儲器保護(hù)單元(MPU) 13次下載
- 存儲器映射和多功能LCD控制/驅(qū)動芯片VK2C21 7次下載
- 單片機(jī)的片內(nèi)存儲器和片外存儲器到底有什么區(qū)別
- 什么是存儲器和寄存器映射?如何訪問STM32寄存器內(nèi)容? 58次下載
- SDRAM存儲器相關(guān)資料下載 49次下載
- 嵌入式軟件開發(fā)之映像文件存儲器映射調(diào)整分析 0次下載
- ARM存儲器 1次下載
- 淺談ARM之片上存儲器 4次下載
- ARM基礎(chǔ)應(yīng)用實驗_Flash存儲器 0次下載
- 存儲器及I/O空間
- 存儲器.ppt 0次下載
- 存儲器的分類及原理
- 內(nèi)存儲器與外存儲器的主要區(qū)別 2566次閱讀
- 存儲器的工作原理及基本結(jié)構(gòu) 1169次閱讀
- 只讀存儲器(ROM)和隨機(jī)讀寫存儲器(RAM)的區(qū)別 1712次閱讀
- 存儲器的定義和分類 862次閱讀
- 存儲器和寄存器的區(qū)別 1193次閱讀
- 隨機(jī)訪問存儲器(RAM)和只讀存儲器(ROM)的區(qū)別 1582次閱讀
- PLC的存儲器、I/O單元、I/O擴(kuò)展接口、外設(shè)接口和電源簡介 2686次閱讀
- PLC系統(tǒng)的存儲器分類介紹 5847次閱讀
- 半導(dǎo)體存儲器有哪些類型 1.5w次閱讀
- 只讀存儲器有哪些類型及相變存儲器的詳細(xì)介紹 7794次閱讀
- SYS/BIOS修改存儲器映射的詳細(xì)步驟 3700次閱讀
- 寄存器和存儲器的區(qū)別 1.4w次閱讀
- 計算機(jī)的存儲器主要作用_計算機(jī)的存儲器的分類介紹 1.1w次閱讀
- STM32的存儲器映射詳解 2.2w次閱讀
- 常見的五大ARM存儲器之一:協(xié)處理器CP15 1.5w次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1490次下載 | 免費
- 2單片機(jī)典型實例介紹
- 18.19 MB | 92次下載 | 1 積分
- 3S7-200PLC編程實例詳細(xì)資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關(guān)電源原理及各功能電路詳解
- 0.38 MB | 10次下載 | 免費
- 6基于AT89C2051/4051單片機(jī)編程器的實驗
- 0.11 MB | 4次下載 | 免費
- 7藍(lán)牙設(shè)備在嵌入式領(lǐng)域的廣泛應(yīng)用
- 0.63 MB | 3次下載 | 免費
- 89天練會電子電路識圖
- 5.91 MB | 3次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關(guān)電源設(shè)計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537791次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論
查看更多