基於ok6410:
led驅動程式:
vim led.c
#include
#include
#include
#include
#include
#include
#include"led.h"
#include
#define gpmcon 0x7f008820
#define gpmdat 0x7f008824
unsigned int *led_config;
unsigned int *led_data;
struct cdev cdev;
dev_t devno;
long led_loctl(struct file *filp, unsigned int cmd, unsigned long arg) //實現對硬體的控制
}int led_open(struct inode *node, struct file *filp) //open中實現硬體初始化
const struct file_operations led_fops =
;static int led_init() //模組入口函式
static void led_exit() //模組登出
cmd = atoi(ar**[1]);
fd = open("/dev/myled",o_rdwr);
if(cmd == 1)
ioctl(fd,led_on);//裝置驅動程式中對裝置的i/o通道進行管理的函式。
else
ioctl(fd,led_off);
return 0;}
安裝模組,安裝裝置檔案,執行編譯好的應用程式。
LED驅動程式設計
通用輸入輸出介面的簡稱,s2440一共有130個gpio口,分為a j共9組 gpa,gpb,gpc gpj 通過設定相應的暫存器,可以選擇某個gpio口是用於輸入,輸出還是特定其他特殊功能。例如可以設定gph6口用於輸入輸出,或者是串列埠 每組gpio gpa gpj 都可以通過3個暫存器來控制與...
驅動開發3 簡單的led驅動
一 字元裝置驅動框架 字元裝置驅動的編寫主要就是驅動對應的open close read。其實就是file operations結構體的成員變數的實現。二 驅動模組的載入與解除安裝 1 linux驅動程式有兩種存在形式 編譯到kernel裡面,也就是zimage 編譯為模組,ko。tip 1 編譯驅...
驅動篇 乙個簡單的led驅動
1.構造裝置結構體 struct light dev cdev結構體 struct cdev 2.設定裝置資訊 struct light dev light devp 設定裝置結構體變數 int light major light major 設定主裝置號3.設定並填充file operations...