字元裝置驅動之Buttons 中斷

2021-05-28 04:47:13 字數 1201 閱讀 6992

buttons.c

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

static int major = 0;

static struct class *cls;

/* gpecon 0x56000040 */

/* gpfcon 0x56000050 */

/* gpgcon 0x56000060 */

static volatile unsigned long *gpecon;

static volatile unsigned long *gpedat;

static volatile unsigned long *gpfcon;

static volatile unsigned long *gpfdat;

static volatile unsigned long *gpgcon;

static volatile unsigned long *gpgdat;

static irqreturn_t buttons_irq(int irq, void *dev_id)/*中斷處理函式*/

int buttons_open(struct inode *inode, struct file *file)

ssize_t buttons_read(struct file *inode, char __user *buf, size_t size, loff_t *offset)

static const struct file_operations buttons_fops = ;

char *id = "k10";

int buttons_init(void)

void buttons_exit(void)

module_init(buttons_init);

module_exit(buttons_exit);

module_license("gpl"); 

makefile參考上個程式,測試程式不用寫了,註冊的中斷服務程式有顯示!主要把握框架,怎麼寫中斷。

字元裝置驅動之Buttons 迴圈緩衝佇列

buttons.c include include include include include include include include include include include include include include static int major 0 static st...

Linux裝置驅動之《字元裝置驅動》

linux裝置中最大的特點就是裝置操作猶如檔案操作一般,在應用層看來,硬體裝置只是乙個裝置檔案。應用程式可以像操作檔案一樣對硬體裝置進行操作,如open close read write 等。下面是乙個字元裝置驅動程式的簡單實現test.c 模組分析 1.初始化裝置驅動的結構體 struct fil...

Linux裝置驅動之字元裝置驅動

一 linux裝置的分類 linux系統將裝置分成三種基本型別,每個模組通常實現為其中某一類 字元模組 塊模組或網路模組。這三種型別有 字元裝置 字元裝置是個能夠像位元組流 類似檔案 一樣被訪問的裝置,由字元裝置驅動程式來實現這種特性。字元裝置可以通過檔案系統節點來訪問,比如 dev tty1等。這...