Linux驅動開發7 gpiolib驅動led

2021-09-25 08:29:19 字數 1161 閱讀 6895

——————————————————————  學習記錄—————————————————————————

1 為什麼需要gpiolib

(1)乙個事實:很多硬體都要用到gpio、gpio會復用

(2)如果同乙個gpio被2個驅動同時控制了,就會出現bug

(3)核心提供gpiolib來統一管理系統中所有gpio

(4)gpiolib本身屬於驅動框架的一部分

2 **演示

#include // module_init  module_exit

#include // __init __exit

#include #include #include #include #include #include #define gpj0con s5pv210_gpj0con

#define gpj0dat s5pv210_gpj0dat

static struct led_classdev mydev; // 定義結構體變數

// 這個函式就是要去完成具體的硬體讀寫任務的

static void s5pv210_led_set(struct led_classdev *led_cdev,

enum led_brightness value)

else }

static int __init s5pv210_led_init(void)

return 0;

}static void __exit s5pv210_led_exit(void)

module_init(s5pv210_led_init);

module_exit(s5pv210_led_exit);

// module_***這種巨集作用是用來新增模組描述資訊

module_license("gpl"); // 描述模組的許可證

module_author("aston <[email protected]>"); // 描述模組的作者

module_description("s5pv210 led driver"); // 描述模組的介紹資訊

module_alias("s5pv210_led"); // 描述模組的別名資訊

linux驅動開發

這兩天在公司由於一直沒有太過於繁重的任務,於是便給分配了驅動開發的任務,之前一直不明白驅動開發和普通的嵌入式開發到底有什麼區別,然後有沒有經過系統的學習,於是就一直愣在那裡。不過慢慢的還是經過查資料,雖然 沒有編寫出來,但是對於系統的一些東西學習的終於有了一定的了解,感覺這個十分的重要,也為了給自己...

菜鳥之驅動開發7

驅動是ring0的程式 我們ring3代的程式如果想控制ring0級的功能,那麼就需要學會ring0與ring3之間的通訊。今天就開始學習驅動與應用程式之間的通訊。我們需要在驅動產現乙個加法運算,然後我們在應用程式將兩個運算數傳入到驅動層,由驅動層計算了結果返回給應用程。我們向驅動傳輸命令需要用到 ...

Linux驅動開發之DRM驅動

qq群 852283276 b站 主頁 drm 驅動程式開發 開篇 drm 驅動程式開發 vkms 最簡單的drm應用程式 single buffer drm 驅動是如何建立 fb device 的 linux中的drm 介紹 linux graphic dri 顯示子系統 介紹1 xilinx d...