上传者: jillpotti 
                                    |
                                    上传时间: 2023-12-05 18:11:20
                                    |
                                    文件大小: 5.42MB
                                    |
                                    文件类型: PDF
                                
                            
                                
                            
                                Prentice.Essential Linux Device Drivers.2008
一个老外写的,写的非常详细
Chapter 1. Introduction
	Evolution
	The GNU Copyleft
	Kernel.org
	Mailing Lists and Forums
	Linux Distributions
	Looking at the Sources
	Building the Kernel
	Loadable Modules
	Before Starting
Chapter 2. A Peek Inside the Kernel
	Booting Up
	Kernel Mode and User Mode
	Process Context and Interrupt Context
	Kernel Timers
	Concurrency in the Kernel
	Process Filesystem
	Allocating Memory
	Looking at the Sources
Chapter 3. Kernel Facilities
	Kernel Threads
	Helper Interfaces
	Looking at the Sources
Chapter 4. Laying the Groundwork
	Introducing Devices and Drivers
	Interrupt Handling
	The Linux Device Model
	Memory Barriers
	Power Management
	Looking at the Sources
Chapter 5. Character Drivers
	Char Driver Basics
	Device Example: System CMOS
	Sensing Data Availability
	Talking to the Parallel Port
	RTC Subsystem
	Pseudo Char Drivers
	Misc Drivers
	Character Caveats
	Looking at the Sources
Chapter 6. Serial Drivers
	Layered Architecture
	UART Drivers
	TTY Drivers
	Line Disciplines
	Looking at the Sources
Chapter 7. Input Drivers
	Input Event Drivers
	Input Device Drivers
	Debugging
	Looking at the Sources
Chapter 8. The Inter-Integrated Circuit Protocol
	What's I2C/SMBus?
	I2C Core
	Bus Transactions
	Device Example: EEPROM
	Device Example: Real Time Clock
	I2C-dev
	Hardware Monitoring Using LM-Sensors
	The Serial Peripheral Interface Bus
	The 1-Wire Bus
	Debugging
	Looking at the Sources
Chapter 9. PCMCIA and Compact Flash
	What's PCMCIA/CF?
	Linux-PCMCIA Subsystem
	Host Controller Drivers
	PCMCIA Core
	Driver Services
	Client Drivers
	Tying the Pieces Together
	PCMCIA Storage
	Serial PCMCIA
	Debugging
	Looking at the Sources
Chapter 10. Peripheral Component Interconnect
	The PCI Family
	Addressing and Identification
	Accessing PCI Regions
	Direct Memory Access
	Device Example: Ethernet-Modem Card
	Debugging
	Looking at the Sources
Chapter 11. Universal Serial Bus
	USB Architecture
	Linux-USB Subsystem
	Driver Data Structures
	Enumeration
	Device Example: Telemetry Card
	Class Drivers
	Gadget Drivers
	Debugging
	Looking at the Sources
Chapter 12. Video Drivers
	Display Architecture
	Linux-Video Subsystem
	Display Parameters
	The Frame Buffer API
	Frame Buffer Drivers
	Console Drivers
	Debugging
	Looking at the Sources
Chapter 13. Audio Drivers
	Audio Architecture
	Linux-Sound Subsystem
	Device Example: MP3 Player
	Debugging
	Looking at the Sources
Chapter 14. Block Drivers
	Storage Technologies
	Linux Block I/O Layer
	I/O Schedulers
	Block Driver Data Structures and Methods
	Device Example: Simple Storage Controller
	Advanced Topics
	Debugging
	Looking at the Sources
Chapter 15. Network Interface Cards
	Driver Data Structures
	Talking with Protocol Layers
	Buffer Management and Concurrency Control
	Device Example: Ethernet NIC
	ISA Network Drivers
	Asynchronous Transfer Mode
	Network Throughput
	Looking at the Sources
Chapter 16. Linux Without Wires
	Bluetooth
	Infrared
	WiFi
	Cellular Networking
	Current Trends
Chapter 17. Memory Technology Devices
	What's Flash Memory?
	Linux-MTD Subsystem
	Map Drivers
	NOR Chip Drivers
	NAND Chip Drivers
	User Modules
	MTD-Utils
	Configuring MTD
	eXecute In Place
	The Firmware Hub
	Debugging
	Looking at the Sources
Chapter 18. Embedding Linux
	Challenges
	Component Selection
	Tool Chains
	Embedded Bootloaders
	Memory Layout
	Kernel Porting
	Embedded Drivers
	The Root Filesystem
	Test Infrastructure
	Debugging
Chapter 19. Drivers in User Space
	Process Scheduling and Response Times
	Accessing I/O Regions
	Accessing Memory Regions
	User Mode SCSI
	User Mode USB
	User Mode I2C
	UIO
	Looking at the Sources
Chapter 20. More Devices and Drivers
	ECC Reporting
	Frequency Scaling
	Embedded Controllers
	ACPI
	ISA and MCA
	FireWire
	Intelligent Input/Output
	Amateur Radio
	Voice over IP
	High-Speed Interconnects
Chapter 21. Debugging Device Drivers
	Kernel Debuggers
	Kernel Probes
	Kexec and Kdump
	Profiling
	Tracing
	Linux Test Project
	User Mode Linux
	Diagnostic Tools
	Kernel Hacking Config Options
	Test Equipment
Chapter 22. Maintenance and Delivery
	Coding Style
	Change Markers
	Version Control
	Consistent Checksums
	Build Scripts
	Portable Code
Chapter 23. Shutting Down
	Checklist
	What Next?
Appendix A. Linux Assembly
	Debugging
Appendix B. Linux and the BIOS
	Real Mode Calls
	Protected Mode Calls
	BIOS and Legacy Drivers
Appendix C. Seq Files
	The Seq File Advantage
	Updating the NVRAM Driver
	Looking at the Sources