基于AT91产品的Linux开发入门介绍.pptVIP

  • 20
  • 0
  • 约3.46万字
  • 约 61页
  • 2016-12-08 发布于重庆
  • 举报
基于AT91产品的Linux开发入门介绍

1. 这里我们使用register_chrdev函数注册我们的驱动程序ioreg,register_chrdev函数中的 参数254为主设备号,“ioreg”为设备名,fops为包含基本函数入口点的file_operations结构 体指针,当加载ioreg驱动时内核将调用io_init函数,register_chrdev就向内核注册254号设备, 并把该设备的驱动程序的基本入口点指针存放在内核的字符设备地址表中,在用户进程对该设 备执行系统调用时提供入口地址。完成注册后并申请512Byte的内存。 * 与模块初始化函数对应的就是模块卸载函数,需要调用register_chrdev()的“反函数” unregister_chrdev()。 当我们使用rmmod 函数卸载ioreg驱动模块时,内核会自动调用 io_cleanup函数,我们在io_cleanup里调用unregister_chrdev从内核注销掉ioreg设备,并释放我们在io_init函数里使用kmalloc申请的512Byte内存区域。 * * 当结束使用ioreg设备时使用close时内核将调用该函数,这里没有作什么具体工作,只是打印一串 信息标示该函数被调用了 * * * * * 通过file_operations类型结构体fops设置ioreg设备支持的系统调用函数接口: read系统调用时

文档评论(0)

1亿VIP精品文档

相关文档