Linux设备驱动最通俗的解释就是“驱使硬件设备行动”。驱动与底层硬件直接打交道,按照硬件设备的具体工作方式,读写设备的寄存器,完成设备的轮询、中断处理、DMA通信,进行物理内存向虚拟内存的映射等,最终让通信设备能收发数据,让显示设备能显示文字和画面,让存储设备能记录文件和数据。驱动开发涉及重点与难点:
这个专题研究基于Linux2.6,整个环境配套搭建过程大概如下
文件系统制作中已经具体讲解了如何在进行系统SND搭建,搭建以后可以直接通过网络方式将开发测试的文件通过网络传递到测试单板而不需要反复的从新编译内核。正常启动了文件系统以后将需要测试的驱动文件拷贝到共享目录中,在开发版中一般共享在/mnt目录,在这个目录中查看相关的文件然后拷贝到开发板根目录,之后就可以insmod安装和测试了。需要注意的是如果文件系统是最简答的文件系统,可能驱动代码中写了相关的设备节点创建方式,但系统安装以后却没有办法真正常见节点,这个时候需要mknod方式来手动创建设备节点进行测试。