应用程序编写和驱动编写流程
时间:2016-12-14作者:华清远见
应用程序编写流程: 图 1 int main(int argc, const char *argv[]) 图 2 打开设备设备: 图 3 为当前进程注册SIGIO信号; 图 4 handler 图 5 1、 图 6 fcntl(fd, F_SETFL, oflags | FASYNC); 图 7 进程睡眠; 图 8 void handler(int signo) 驱动编写流程: 图 9 static int s5pc100_key_init(void) 图 10 根据主、次设备号生成设备号 图 11 向内核注册设备号 图 12 初始化cdev、注册cdev; 图 13 &cdev 图 14 &s5pc100_key_fops 图 15 &cdev 图 16 结束 图 17 struct cdev cdev; 图 18 struct file_operations s5pc100_key_fops = { 图 19 s5pc100_key_open, 图 20 s5pc100_key_release, 图 21 s5pc100_key_read, 图 22 s5pc100_key_fasync, 图 23 static int s5pc100_key_open(struct inode *inode, struct file *file) 图 24 key_interrupt, 图 25 static int s5pc100_key_release(struct inode *inode, struct file *file) 图 26 static ssize_t s5pc100_key_read(struct file *file, char __user *buf, size_t count, loff_t *loff) 图 27 static int s5pc100_key_fasync(int fd, struct file *file, int on) 图 28 irqreturn_t key_interrupt( int irqno, void *devid ) 图 29 kill_fasync( &key_struct, SIGIO, POLL_IN ); 流程图
相关资讯
发表评论
|