驱动就是通过特定的程序驱使硬件响应一些特定的功能,也就是实现操作系统与硬件设备的通信。
Linux系统将设备分成三种基本类型:
字符设备:能够像字节流一样被访问的设备,由字符设备驱动程序实现这种特性,通常实现open、close、read、write等系统调用,字符设备可以通过文件系统节点来访问,以后要学习的LED驱动就是字符设备。
块设备:块设备也是通过文件系统节点访问,在内核中,块驱动程序具有与字符驱动程序完全不同的接口。
网络接口:由内核中的网络子系统驱动,负责发送和接受数据包。
Hello World模块,解释已经备注上:
- /*********************************************************************************
- 2 * Copyright: (C) 2017 minda
- 3 * All rights reserved.
- 4 *
- 5 * Filename: hello.c
- 6 * Description: This file
- 7 *
- 8 * Version: 1.0.0(04/09/2017)