新聞中心

ARM IO端口/內(nèi)存

作者: 時(shí)間:2016-11-11 來源:網(wǎng)絡(luò) 收藏
linux在arm中并沒有IO端口概念,寄存器和內(nèi)存位于內(nèi)存空間的時(shí)候稱作IO內(nèi)存。

這里簡單說一下操作步驟:

本文引用地址:http://butianyuan.cn/article/201611/316619.htm

1、申請

2、映射

3、訪問

4、釋放

具體操作操作步驟如下:

1、申請——request_mem_region

申請后在系統(tǒng)相當(dāng)于對已有資源做了個(gè)標(biāo)記,即本資源已經(jīng)申請占用,若相同資源再申請時(shí)內(nèi)核會報(bào)錯(cuò)。

2、映射———ioremap
通過ioremap才能將物理寄存器地址映射成虛擬地址方能于內(nèi)核中應(yīng)用,這里的好處是,可以通過基地址加偏移來訪問寄存器。

3、訪問

這里有特定的讀寫操作函數(shù)如writel etc.

4、釋放

映射完后要釋放資源使用到的函數(shù)為iounmap+release_mem_region

說明:有時(shí)不通過申請而直接映射訪問,只不過,這樣有點(diǎn)不規(guī)范,但內(nèi)核中的應(yīng)用還是很多,而且容易相互影響。



關(guān)鍵詞: ARMIO端口內(nèi)

評論


技術(shù)專區(qū)

關(guān)閉