Chap6-11 Linux设备驱动程序[借鉴].pptVIP

  • 2
  • 0
  • 约1.76万字
  • 约 111页
  • 2020-10-27 发布于福建
  • 举报
注册驱动程序 如果使用模块(module)方式加载驱动程序,需要在模块初始化时把设备注册到系统设备表里去 不再使用时,把设备从系统中卸除 定义在drivers/net/net_init.h里的两个函数完成这个工作 Int register_netdev(struct device *dev); void unregister_netdev(struct device *dev); * 精品ppt·实用可编辑 调试 很多Linux的驱动程序都是编译进内核的,形成一个大的内核文件。但对调试来说,这是相当麻烦的。调试驱动程序可以用module方式加载。 支持模块方式的驱动程序必须提供两个函数:int init_module(void)和void cleanup_module(void)。 init_module()在加载此模块时调用,在这个函数里可以register_netdev()注册设备。init_module()返回0表示成功,返回负表示失败。 cleanup_module()在驱动程序被卸载时调用,清除占用的资源,调用unregister_netdev()。 * 精品ppt·实用可编辑 模块可以动态地加载、卸载。在2.0.xx版本里,还有kerneld自动加载模块,但是2.2.xx中已经取消了kerneld。手工加载使用insmod命令,卸载用rmmod命令,看内核中的

文档评论(0)

1亿VIP精品文档

相关文档