申請:
struct resource *request_mem_region(start,len,*name)
本函式申請乙個從start開始,長度為len位元組的記憶體區,成功返回 非null;否則返回null,所 有已經在使用的i/o內存在/proc/iomem中列出。
void *ioremap(phys_addr,size)
從i/o記憶體讀:
unsigned ioread8(void *addr)
unsigned ioread16(void *addr)
unsigned ioread32(void *addr)
從i/o記憶體寫:unsigned iowrite8(void *addr)
unsigned iowrite16(void *addr)
unsigned iowrite32(void *addr)
釋放:void iounmap(void *addr)
本函式接收ioremap函式申請的虛擬位址作為引數
void release_mem_region(start,len)
釋放申請的記憶體資源
int s3c_gpio_cfgpin(unsigned
int pin,unsigned
int to)
pin代表引腳,to代表乙個功能,例如下面程式:表示將gpj2_0配置成特殊功能0x01,此功能是output;s3c_gpio_cfgpin(s5pv210_gpj2(0) , s3c_gpio_sfn(1) )
int s3c_gpio_setpull(pin , pull)
設定管腳為上拉或下拉狀態
int gpio_request(gpio, *lable)
申請乙個管腳gpio,並使用label去描述它,成功返回0,失敗返回-1;
void gpio_free(gpio)
釋放乙個已經申請的引腳gpio
int gpio_direction_output(gpio, value)
在管腳gpio中輸出乙個電平value
int gpio_direction_input(gpio)
在管腳gpio中讀取乙個電平0/1
裝置I O 埠和I O 記憶體的訪問
幾乎每一種外設都是通過讀寫裝置上的暫存器來進行的,通常包括控制暫存器 狀態暫存器和資料暫存器三大類,外設的暫存器通常被連續地編址。根據cpu體系結構的不同,cpu對io埠的編址方式有兩種 典型地,如x86處理器為外設專門實現了乙個單獨的位址空間,稱為 i o位址空間 或者 i o埠空間 cpu通過專...
c 獲取埠裝置全名
通過下面 可以獲取埠選項下面的裝置全名 using system.management namespace 2014 10 21 var search new managementobjectsearcher root cimv2 select from win32 serialport forea...
LDD裝置訪問控制
裝置訪問控制 1,獨佔方式訪問,一次只能有乙個程序訪問裝置,其他程序開啟裝置的時候,在open方法中均返回 ebusy,告訴使用者空間裝置忙 int open struct inode i node struct file filp 2,單個使用者多個程序訪問裝置 a,非阻塞open int ope...