赞
踩
驱动程序框架:
①确定主设备号,也可以让内核分配。
②定义自己的file_operations结构体。
③实现对应的drv_open/drv_read/drv_write等函数,填入file_operations结构体。
④把file_operations结构体告诉内核:register_chrdev。
⑤谁来安装驱动程序?得有一个入口函数,安装驱动程序时,会去调用这个入口函数。
⑥有入口函数就应该有出口函数,卸载驱动程序时,出口函数调用unregister_chrdrv。
⑦其他完善:提供设备节点,自动创建设备节点:class_craete,device_create。
te,device_create。
通过 ioremap 映射寄存器的物理地址得到虚拟地址,读写虚拟地址。(驱动程序在Linux系统中,不可以直接操作寄存器的物理地址)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。