資料介紹
2.4 I/O管理
ARM系統完成I/O功能的標準方法是使用存儲器映射I/O。這種方法使用特定的存儲器地址。當從這些地址加載或向這些地址存儲時,它們提供I/O功能。某些ARM系統也可能有直接存儲器訪問(DMA,Direct Memory Access)硬件。
外圍設備(如串行線控制器)中包含一些寄存器。在存儲器映射系統中,這些寄存器就像特定地址的存儲器一樣。(在其他的系統組織中,I/O功能可能與存儲器件有不同的尋址空間。)串行線控制器可能有以下5種寄存器。
?、?發(fā)送數據寄存器(只寫):寫入這個位置的數據被送往串行線。
?、?接受數據寄存器(只讀):保存從串行線送來的數據。
?、?控制寄存器(讀/寫):設置數據速率,管理RTS(請求發(fā)送)和其他類似信號。
?、?中斷使能寄存器(讀/寫):控制中斷的硬件事件。
⑤ 狀態(tài)寄存器(讀/寫):指示讀數據是否有效、寫緩存是否滿等。
要接受數據,必須用軟件適當地設置器件。通常在接收到有效數據或檢測到錯誤時產生一個中斷。中斷程序必須將數據復制到緩存器中并進行錯誤檢測。
應該注意的是,存儲器映射外圍寄存器的行為與存儲器不同。連續(xù)兩次讀數據寄存器,即使對該寄存器沒有寫操作,其結果也很可能不同。而對真正存儲器的讀是冪等的(idempotent)(可多次重復讀,結果一致)。對外圍寄存器的讀操作可能清除當前值,致使下一次讀結果不同。這種寄存器稱為讀敏感(read-sensitive)的。
當涉及讀敏感寄存器時,編程必須小心。特別是不能將這種寄存器的數據復制到Cache存儲器。
在許多ARM系統中,不能在用戶模式下訪問I/O寄存器。要訪問這些器件,只能通過監(jiān)控調用(SWI)或通過使用這種調用的C庫函數。
注意在ARM編程中,通常將存儲器的I/O區(qū)域標記為非Cache區(qū)(uncacheable),并繞過Cache訪問。通常Cache與讀敏感(read-sensitive)器件相互排斥。顯示幀緩存器(DisplayFrame Buffers)也需要仔細考慮,通常也設為不可Cache的。
?
ARM系統完成I/O功能的標準方法是使用存儲器映射I/O。這種方法使用特定的存儲器地址。當從這些地址加載或向這些地址存儲時,它們提供I/O功能。某些ARM系統也可能有直接存儲器訪問(DMA,Direct Memory Access)硬件。
外圍設備(如串行線控制器)中包含一些寄存器。在存儲器映射系統中,這些寄存器就像特定地址的存儲器一樣。(在其他的系統組織中,I/O功能可能與存儲器件有不同的尋址空間。)串行線控制器可能有以下5種寄存器。
?、?發(fā)送數據寄存器(只寫):寫入這個位置的數據被送往串行線。
?、?接受數據寄存器(只讀):保存從串行線送來的數據。
?、?控制寄存器(讀/寫):設置數據速率,管理RTS(請求發(fā)送)和其他類似信號。
?、?中斷使能寄存器(讀/寫):控制中斷的硬件事件。
⑤ 狀態(tài)寄存器(讀/寫):指示讀數據是否有效、寫緩存是否滿等。
要接受數據,必須用軟件適當地設置器件。通常在接收到有效數據或檢測到錯誤時產生一個中斷。中斷程序必須將數據復制到緩存器中并進行錯誤檢測。
應該注意的是,存儲器映射外圍寄存器的行為與存儲器不同。連續(xù)兩次讀數據寄存器,即使對該寄存器沒有寫操作,其結果也很可能不同。而對真正存儲器的讀是冪等的(idempotent)(可多次重復讀,結果一致)。對外圍寄存器的讀操作可能清除當前值,致使下一次讀結果不同。這種寄存器稱為讀敏感(read-sensitive)的。
當涉及讀敏感寄存器時,編程必須小心。特別是不能將這種寄存器的數據復制到Cache存儲器。
在許多ARM系統中,不能在用戶模式下訪問I/O寄存器。要訪問這些器件,只能通過監(jiān)控調用(SWI)或通過使用這種調用的C庫函數。
注意在ARM編程中,通常將存儲器的I/O區(qū)域標記為非Cache區(qū)(uncacheable),并繞過Cache訪問。通常Cache與讀敏感(read-sensitive)器件相互排斥。顯示幀緩存器(DisplayFrame Buffers)也需要仔細考慮,通常也設為不可Cache的。
?
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- STM32(F407)—— 存儲區(qū)映射和存儲器重映射
- PLC系統存儲器與用戶存儲器的功能
- 存儲器介紹
- 如何配置存儲器保護單元(MPU) 13次下載
- 存儲器映射和多功能LCD控制/驅動芯片VK2C21 7次下載
- 單片機的片內存儲器和片外存儲器到底有什么區(qū)別
- 什么是存儲器和寄存器映射?如何訪問STM32寄存器內容? 58次下載
- SDRAM存儲器相關資料下載 50次下載
- 嵌入式軟件開發(fā)之映像文件存儲器映射調整分析 0次下載
- ARM存儲器 1次下載
- 淺談ARM之片上存儲器 4次下載
- ARM基礎應用實驗_Flash存儲器 0次下載
- 存儲器及I/O空間
- 存儲器.ppt 0次下載
- 存儲器的分類及原理
- 內存儲器主要用來存儲什么 3.8k次閱讀
- 內存儲器分為隨機存儲器和什么 4.3k次閱讀
- 內存儲器與外存儲器的主要區(qū)別 9.3k次閱讀
- 只讀存儲器(ROM)和隨機讀寫存儲器(RAM)的區(qū)別 8.3k次閱讀
- 存儲器的定義和分類 3.9k次閱讀
- 存儲器和寄存器的區(qū)別 5.5k次閱讀
- 隨機訪問存儲器(RAM)和只讀存儲器(ROM)的區(qū)別 4.4k次閱讀
- PLC的存儲器、I/O單元、I/O擴展接口、外設接口和電源簡介 4k次閱讀
- 半導體存儲器有哪些類型 1.7w次閱讀
- 只讀存儲器有哪些類型及相變存儲器的詳細介紹 9.2k次閱讀
- SYS/BIOS修改存儲器映射的詳細步驟 4.5k次閱讀
- 寄存器和存儲器的區(qū)別 1.6w次閱讀
- 計算機的存儲器主要作用_計算機的存儲器的分類介紹 1.2w次閱讀
- STM32的存儲器映射詳解 2.4w次閱讀
- 常見的五大ARM存儲器之一:協處理器CP15 1.7w次閱讀
下載排行
本周
- 1MDD品牌三極管BC807數據手冊
- 3.00 MB | 次下載 | 免費
- 2MDD品牌三極管BC817數據手冊
- 2.51 MB | 次下載 | 免費
- 3MDD品牌三極管D882數據手冊
- 3.49 MB | 次下載 | 免費
- 4MDD品牌三極管MMBT2222A數據手冊
- 3.26 MB | 次下載 | 免費
- 5MDD品牌三極管MMBTA56數據手冊
- 3.09 MB | 次下載 | 免費
- 6MDD品牌三極管MMBTA92數據手冊
- 2.32 MB | 次下載 | 免費
- 7STM32G474 HRTIME PWM 丟波問題分析與解決
- 1.00 MB | 次下載 | 3 積分
- 8新能源電動汽車高壓線束的銅鋁連接解決方案
- 2.71 MB | 次下載 | 2 積分
本月
- 1愛華AIWA HS-J202維修手冊
- 3.34 MB | 37次下載 | 免費
- 2PC5502負載均流控制電路數據手冊
- 1.63 MB | 23次下載 | 免費
- 3NB-IoT芯片廠商的資料說明
- 0.31 MB | 22次下載 | 1 積分
- 4H110主板CPU PWM芯片ISL95858HRZ-T核心供電電路圖資料
- 0.63 MB | 6次下載 | 1 積分
- 5UWB653Pro USB口測距通信定位模塊規(guī)格書
- 838.47 KB | 5次下載 | 免費
- 6技嘉H110主板IT8628E_BX IO電路圖資料
- 2.61 MB | 4次下載 | 1 積分
- 7蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
- 0.04 MB | 4次下載 | 1 積分
- 8蘇泊爾DCL6909(即CHK-S009)單芯片電磁爐原理圖資料
- 0.08 MB | 2次下載 | 1 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191439次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183353次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73822次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論