编写Linux下的设备驱动程序-Read.pptVIP

  • 2
  • 0
  • 约4.46千字
  • 约 20页
  • 2019-08-03 发布于天津
  • 举报
编写下的设备驱动程序用实现设备驱动程序设备也是文件设备由主设备号次设备号唯一标识登记注销设备实现结构中指定的操作拷贝数据用户空间使用计数每个保留一个宏的几个关键字段调用时机等待队列类型中断处理程序尽量短小实际响应中断的例程被调度并在稍后更安全的时候运行的例程将任务延迟到以后处理内核定时器解决办法使用循环缓冲区并避免共享变量使用自旋锁强制实行互斥访问使用原子操作递增或递减锁变量尽量不要在中断处理程序中将信号量用于互斥

编写Linux下的设备驱动程序 What we have learned? 用module实现设备驱动程序 init_module, cleanup_module 设备也是文件;设备由主设备号、次设备号唯一标识 mknod /dev/status c major_num 0 登记/注销设备 register_chrdev, unregister_chrdev struct file_operations (include/linux/fs.h) 实现file_operations结构中指定的操作 What we have learned? (cont’d) 拷贝数据to/from用户空间 copy_to_user, copy_from_user 使用计数(usage count) 每个module保留一个usage count 宏:MOD_INC_USE_COUNT, MOD_DEC_USE_COUNT, MOD_IN_USE linux/fs.h: int register_chrdev(unsigned int major, const char *name, struct file_operations *fops); int unregister_chrdev(unsigned int major, const char *name); asm/uaccess.h: un

文档评论(0)

1亿VIP精品文档

相关文档