Linux 設備驅動入門核心概念整理,以問答形式釐清設備分類、驅動定義、I/O 端口架構。
A:
open/read/write/ioctl) 統一介面,應用程式視其為線性位元組流。A:核心中負責控制、管理特定硬體控制器的軟體模組,提供標準檔案操作介面給 VFS (Virtual File System),處理中斷、DMA、電源管理等硬體細節。
A:
load/store 指令存取 (ARM、RISC-V、x86_64 主流)。IN/OUT 指令 (x86 傳統)。| 類型 | 函數 | 適用 |
|---|---|---|
| I/O Port (x86) | inb/outb, inw/outw, inl/outl | 8/16/32-bit 端口讀寫 |
| I/O Memory (MMIO) | ioread8/16/32, iowrite8/16/32 | 映射後虛擬位址讀寫 |
| 舊版相容 | readb/writeb, readw/writew, readl/writel | 2.6 仍支援 |
掌握分類與存取基礎,是撰寫或分析驅動程式的起點。