1. 程式人生 > >Linux硬體裝置訪問

Linux硬體裝置訪問

mmap裝置操作

mmap系統呼叫(功能)





例項分析:mmap系統呼叫
虛擬記憶體區域:虛擬記憶體區域是程序的虛擬地址空間中的一個同質區間,即具有同樣特性的連續地址範圍。一個程序的記憶體映像由下面幾部分組成:程式程式碼、資料、bss和棧區域,以及記憶體對映的區域











硬體訪問

暫存器與記憶體的區別在哪裡呢? 暫存器和RAM的主要不同在於暫存器操作有副作用(side effect或邊際效果):讀取某個地址時可能導致該地址內容發生變化,比如很多裝置的中斷狀態暫存器只要一讀取,便自動清零。 記憶體與I/O 在X86處理器中存在I/O空間的概念,I/O空間是相對 記憶體空間而言的,他們是彼此獨立的地址空間,在32位的x86系統中,I/O空間為64K,記憶體空間大小為4G。















混雜裝置驅動

定義:在Linux系統中,存在一類字元裝置,他們共享一個主裝置號(10),但次裝置號不同,我們稱這類裝置為混雜裝置(miscdevice)。所有的混雜裝置形成一個連結串列,對裝置訪問時核心根據次裝置號查詢到相應的miscdevice裝置。

LED驅動程式設計

上拉電阻/下拉電阻 上拉是將不確定訊號通過一個電阻與電源相連,固定在高電平。下拉是將不確定訊號通過一個電阻與地相連線,固定在低電平。上拉是對器件注入電流,下拉是輸出電流。當一個接有上拉電阻的I/O埠設為輸入狀態時,他的常態為高電平,可用於檢測低電平的輸入。
LED驅動程式