文档详情

LINUX驱动程式架构入门.pdf

发布:2017-04-09约9.26千字共22页下载文档
文本预览下载声明
1LINUX驅動程式架構入門 OpenMoko OpenLab Free Training Instructor: Jim Huang (jserv) jserv @ OpenMoko coreteam 2OpenMoko OpenLab Training. Instructor: Jollen’s Consulting. . 概念 ? UNIX法則 : “Everything is file” – 記憶體亦然 (/dev/mem) ? Linux Device Driver的角色即是將 file operation 映射到實體 Device – 有明確階層概念 – 不限於 kernel-mode driver – 經典的 user-mode driver即 X11 driver ? Linux支援 non-native driver(NDISwrapper) ? 「有時」 Driver完全獨立於 (修改過的 )Linux kernel之外 (RTLinux/L4Linux/RT nanokernel) Module stacking ?New module can use symbol export by yours ?msdos fat, USB device usbcore input modules ?modprobe same as insmod but loads the whole stack OpenMoko OpenLab Training. Instructor: Jollen’s Consulting. . 4OpenMoko OpenLab Training. Instructor: Jollen’s Consulting. . Linux Device Driver Architecture System Call Interface Virture File System(VFS) Buffer Cache Application Character Device Driver Physical Device (Hardware) Network Subsystem Device Interface Kernel Mode User Mode Hardware Block Device Driver Network Device Driver BSD socket inet(AF_INET) Transport(TCP,UDP) Network(IP) 5OpenMoko OpenLab Training. Instructor: Jollen’s Consulting. . Device File (VFS Switch) 6OpenMoko OpenLab Training. Instructor: Jollen’s Consulting. . Types of Device Files Character Device Driver Block Device Driver Network Device Driver crw--w--w- 0 root root 5, 1 Oct 1 1998 console crw-rw-rw- 1 root root 1, 3 May 6 1998 null crw 1 root root 4, 0 May 6 1998 tty crw-rw 1 root disk 96, 0 Dec 10 1998 pt0 crw 1 root root 5, 64 May 6 1998 cua0 brw 1 root floppy 2, 0 May 6 1998 fd0 brw-rw 1 root disk 3, 0 May 6 1998 hda brw-rw 1 root disk 3, 1 May 6 1998 hda1 brw-rw 1 root disk 8, 0 May 6 1998 sda brw-rw 1 root disk 8, 1 May 6 1998 sda1 The major number identifies the driver associated with the device. The minor number is used only by the driver specified by the minor number. U
显示全部
相似文档