* differently. on the ****** architectures, we just read/write the
* memory location directly.
writel() 往記憶體對映的 i/o 空間上寫資料,wirtel()
i/o 上寫入 32 位資料 (4位元組)。
原型:
#include
void writel (unsigned char data , unsigned short addr )
readl() 從記憶體對映的 i/o 空間讀取資料,readl 從 i/o 讀取 32 位資料 ( 4 位元組 )。
原型:#include
unsigned char readl (unsigned int addr )
變數 addr
是 i/o 位址。
返回值 :
從 i/o 空間讀取的數值。 定義
#define readb __raw_readb
#define readw(addr) __le16_to_cpu(__raw_readw(addr))
#define readl(addr) __le32_to_cpu(__raw_readl(addr))
#ifndef __raw_readb
static inline u8 __raw_readb(const volatile void __iomem *addr)
#endif
#ifndef __raw_readw
static inline u16 __raw_readw(const volatile void __iomem *addr)
#endif
#ifndef __raw_readl
static inline u32 __raw_readl(const volatile void __iomem *addr)
#endif
#define writeb __raw_writeb
#define writew(b,addr) __raw_writew(__cpu_to_le16(b),addr)
#define writel(b,addr) __raw_writel(__cpu_to_le32(b),addr)
linux中readl 和writel 函式
differently.on the architectures,we just read write the memory location directly.writel 往記憶體對映的 i o 空間上寫資料,wirtel i o 上寫入 32 位資料 4位元組 原型 include void ...
Linux中 bashrc和profile的區別
之前安裝qt 4.7.2,由於習慣了在命令列下編譯原始檔,我在網上搜了一下關於qt環境變數的配置方法,配置很簡單,在 etc profile檔案裡新增下面幾行語句 export qtdir opt qtsdk 2010.05 qt 這個路徑根據自己安裝的位置進行配置 export ld librar...
linux中mutex和semaphore的區別
很多程式設計的書裡在介紹mutex和semaphore的時候都會說,mutex是一種特殊的semaphore.當semaphore的n 1時,就變成了binary semaphore,也就等同與mutex了。但是實際上,在linux中,他們的實現什有區別的,導致最後應用的行為也是有區別的。先看下面這...