zl程序教程

您现在的位置是:首页 >  系统

当前栏目

linux设备驱动程序--类class的实现

Linux设备 实现 -- Class 驱动程序
2023-09-27 14:28:47 时间
.name = "test-cla", //将类的名字设置为test-cla .owner = THIS_MODULE, //该类的拥有者为这个模块
ret = register_chrdev(major, DEV_NAME, fops); //如果注册不成功返回错误值并撤销类的实现 if(IS_ERR_VALUE(ret)) class_unregister( cla); return ret; major = ret; //printk("major = %d\n", major); //申请主设备号与次设备号 dev.devt = MKDEV(major, minor); //将设备进行注册 ret = device_register( dev); //如果设备注册不成功,撤销类设备注册并解除字符设备驱动的注册 if(IS_ERR_VALUE(ret)) class_unregister( cla); unregister_chrdev(major, DEV_NAME); return ret; return 0; void test_exit(void) printk("test exit\n"); //解除字符设备的注册 unregister_chrdev(major, DEV_NAME); //解决类设备注册 device_unregister( dev); class_unregister( cla); module_init(test_init); module_exit(test_exit); MODULE_LICENSE("GPL"); MODULE_AUTHOR("yangyx"); MODULE_VERSION("1.1");
Linux设备驱动程序学习----1.设备驱动程序简介 Linux设备驱动程序学习----1.设备驱动程序简介设备驱动程序简介更多内容请参考Linux设备驱动程序学习----目录 简介  Linux系统的优点是,系统内部实现细节对所有人都是公开的。Linux内核由大量复杂的代码组成,设备驱动程序可以作为进入Linux内核世界大门的切入口。
《精通Linux设备驱动程序开发》——导读 在Linux内核源代码树提供的各个子系统中,drivers/目录是其中最大的一个分支,它比其他子系统大数倍。随着各种新技术的广泛应用,内核中新的设备驱动程序的开发工作正在稳步加速。最新的Linux内核支持多达70余种设备驱动程序。
《精通Linux设备驱动程序开发》——1.8 可加载的模块 内核模块减小了内核的大小,并缩短了开发——编译——测试的周期。为了让一次修改生效,你仅仅需要重新编译特定的模块并重新加载它。在第21章中,我们将学习模块调试技术。
《精通Linux设备驱动程序开发》——1.7 编译内核 menuconfig是内核配置菜单的文本界面,使用make xconfig可以产生一个图形界面。所选择的配置信息被存放在内核源码树根目录的.config文件中。如果不想从头开始进行配置,可以使用 arch/your-arch/defconfig作为起点或者若你的体系架构支持多个平台,也可以用)arch/your-arch/ configs/your-machine_defconfig文件作为起点。
《精通Linux设备驱动程序开发》——1.6 查看源代码 drivers。这个目录包含了大量设备类和外设控制器的驱动,包括字符、串口、内置集成电路(I)、个人计算机存储卡国际联盟(PCMCIA)、外围组件互连(PCI)、通用串行总线(USB)、视频、音频、块、集成驱动电子设备(IDE)、小型计算机系统接口(SCSI)、CD-ROM、网络适配器、异步传输模式(ATM)、蓝牙和内存技术设备(MTD)等。
morixinguan ITGEGE在线教育嵌入式开发讲师。 CSDN博客专家、CSDN-Linux特邀编辑、CSDN博乐、CSDN学院讲师,目前从事嵌入式开发领域,从事与单片机,Linux,android相关的产品开发。