简单的LED程序主要步骤如下:
一:首先创建led驱动的设备文件
1.使用cdev_init函数初始化cdev
2.指定设备号
3.使用cdev_add函数将字符设备添加到内核中的字符设备数组中
4.使用class_create宏创建struct_class
5.使用device_create函数创建设备文件
二:卸载LED驱动的设备文件
三:设置寄存器与初始化LED驱动
四:控制LED(及所谓的代码编写——linuxC语言)
举例一种实现方法,如下:
混杂设备驱动中需要实现的是填充file_operations结构,然后设置miscdevices的各个字段值,然后注册到内核即可。详细流程如下:
1.编写ioctl接口函数
2.填充file_operations结构,主要是将ioctl函数注册进去
3.填充miscdevice结构,主要是次设备号、fops和设备名称。
4.编写要提供给module_init宏使用的初始化代码,设置LED端口为输出,注册到内核。
5.编写要提供给module_exit宏使用的注销代码,主要是注销掉初始化中注册到内核的miscdevice设备
LED驱动包括了Linux驱动所必要的部分。一个完整的Linux驱动主要是由内部处理和与硬件交互两部分组成。其中内部处理主要是指Linux驱动的装载、卸载、与设备文件相关的动作处理以及业务逻辑等。
地址:http://www.cnblogs.com/zpm123123
时间: 2024-10-14 01:06:36