<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > ARM體系結構之:I/O管理

ARM體系結構之:I/O管理

作者: 時(shí)間:2013-09-13 來(lái)源:網(wǎng)絡(luò ) 收藏

2.4

系統完成I/O功能的標準方法是使用存儲器映射I/O。這種方法使用特定的存儲器地址。當從這些地址加載或向這些地址存儲時(shí),它們提供I/O功能。某些系統也可能有直接存儲器訪(fǎng)問(wèn)(DMA,Direct Memory Access)硬件。

本文引用地址:http://dyxdggzs.com/article/257090.htm

外圍設備(如串行線(xiàn)控制器)中包含一些。在存儲器映射系統中,這些就像特定地址的存儲器一樣。(在其他的系統組織中,I/O功能可能與存儲器件有不同的尋址空間。)串行線(xiàn)控制器可能有以下5種。

① 發(fā)送數據寄存器(只寫(xiě)):寫(xiě)入這個(gè)位置的數據被送往串行線(xiàn)。

② 接受數據寄存器(只讀):保存從串行線(xiàn)送來(lái)的數據。

③ 控制寄存器(讀/寫(xiě)):設置數據速率,管理RTS(請求發(fā)送)和其他類(lèi)似信號。

④ 中斷使能寄存器(讀/寫(xiě)):控制中斷的硬件事件。

⑤ 狀態(tài)寄存器(讀/寫(xiě)):指示讀數據是否有效、寫(xiě)緩存是否滿(mǎn)等。

要接受數據,必須用軟件適當地設置器件。通常在接收到有效數據或檢測到錯誤時(shí)產(chǎn)生一個(gè)中斷。中斷程序必須將數據復制到緩存器中并進(jìn)行錯誤檢測。

應該注意的是,存儲器映射外圍寄存器的行為與存儲器不同。連續兩次讀數據寄存器,即使對該寄存器沒(méi)有寫(xiě)操作,其結果也很可能不同。而對真正存儲器的讀是冪等的(idempotent)(可多次重復讀,結果一致)。對外圍寄存器的讀操作可能清除當前值,致使下一次讀結果不同。這種寄存器稱(chēng)為讀敏感(read-sensitive)的。

當涉及讀敏感寄存器時(shí),編程必須小心。特別是不能將這種寄存器的數據復制到。

在許多系統中,不能在用戶(hù)模式下訪(fǎng)問(wèn)I/O寄存器。要訪(fǎng)問(wèn)這些器件,只能通過(guò)監控調用(SWI)或通過(guò)使用這種調用的C庫函數。

注意

在A(yíng)RM編程中,通常將存儲器的I/O區域標記為非Cache區(uncacheable),并繞過(guò)Cache訪(fǎng)問(wèn)。通常Cache與讀敏感(read-sensitive)器件相互排斥。顯示幀緩存器(DisplayFrame Buffers)也需要仔細考慮,通常也設為不可Cache的。

存儲器相關(guān)文章:存儲器原理




關(guān)鍵詞: I/O管理 寄存器 ARM Cache存儲器

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>