飛凌ok6410開發板的按鍵驅動改程式

2021-06-22 21:54:35 字數 1382 閱讀 6723

因為飛凌開發板自己在核心裡面整合了矩陣鍵盤的驅動,所以要用按鍵做實驗必須先禁用之前的驅動模組,否則的話無法註冊中斷,去檢視free_irq的**(在kernel/irq/manage.c中),可以發現,出現這個trying to free already-free irq 101 告警的原因是  存在該中斷號對應的中斷描述符desc ,而相印的中斷服務程式卻不存在。  說明有驅動程式占用了該中斷號。 因而,我們要去掉這個驅動程式,方法:make menuconfig->device drivers->input device support->key boards->gpio buttons 去掉前面的*,即不選該項即可。

重新編譯核心,就好了。

下面是簡單的驅動程式

/*標頭檔案的選取可以參照核心中其他驅動程式的例項*/

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include static ssize_t third_driver_write(struct file *file, const char __user * buf

, size_t count, loff_t * ppos)

static int major; 

static struct class *third_driver_class; 

static struct device *third_driver_device; 

static irqreturn_t key_pressed(int irq, void *dev_id)  /*這是中斷處理函式 只是列印一些語句*/

static int third_driver_open(struct inode *inode, struct file *file) /*open中申請中斷 列印出中斷號*/

static ssize_t third_driver_read(struct file *file, char __user *buf, size_t 

count, loff_t *ppos)

static struct file_operations third_driver_fops = ;

static int third_driver_init(void)

static void third_driver_exit(void)

module_init(third_driver_init);

module_exit(third_driver_exit);

module_license("gpl");

實驗方法,載入了核心之後,可以通過使用exec 5

OK6410開發板使用交換機搭建NFS

由於電腦只有乙個網口,所以如果和開發板直接網路連線的話,就無法聯網查詢資料了,對於向我這樣自學的人來說是件很痛苦的事情,還好宿舍有個交換機,就試了下看能不能通過交換機搭建nfs,這樣既不耽誤上網又可以通過nfs和開發板傳遞檔案,最後竟然成功了,現在分享下方法。本方法是將宿主機的某個目錄對映到開發板的...

OK6410開發環境的搭建

1 製作sd卡啟動卡 sd 過讀卡器插入pc機的usb口,快速格式化sd卡,設為fat32模式。用管理員模式開啟sd write.exe。按照步驟製作好sd啟動卡。2 設定為sd卡啟動 sd卡插入ok6410開發板,然後設定撥碼開關調為sd卡啟動。3 設定好串列埠通訊 連線好串列埠線,開啟 moba...

OK6410 A開發板串列埠程式設計總結

在linux下裝置操作跟檔案操作是相似的,基本步驟無非就是開啟,讀寫,關閉。首先包含上基本的標頭檔案 include include include先來看開啟串列埠 int open port int comport else if comport 1 else printf fd open d n...