linux驅動之 led驅動

2021-05-22 10:50:20 字數 1076 閱讀 6413

練手, 第乙個字元驅動.

用模組載入方法

華清遠見《嵌入式linux裝置驅動開發詳解》的**拿來改的.  

編譯過程發現很多錯誤.

最後發現 這本書帶的驅動**都是基於linux2.4的...目前我用的linux2.6, **部分需要做修改.

我的板子是 友善之臂的 2410.  vmware+ubuntu  nfs交叉編譯

首先

linux2.6核心編譯裡面要開啟loadable modules,  以及 unload 的選項也要選上 否則用不到rmmod命令 呵呵.

第二 (和上面第一條一樣,今後寫驅動都會要用到這個)

要製作linux 核心樹(linux2.6必須)

在linux2.6.14.1的**目錄

make bzimage 

會生成乙個新檔案 vmlinux 

然後 make modules   //編譯模組

make modules install //安裝模組

結束之後會在/lib/modules下生成2.6.14.1資料夾,  這個就是核心樹了.  主要用到的就是裡面的標頭檔案.

第三

注意會用到ioremap()函式,  絕對位址到虛擬位址的轉換, 然後用指標來對portb的暫存器賦值

第四

測試..

交叉編譯, 在開發板串列埠終端上  insmod ./led.ko   出現提示符,   rmmod led 也出現退出訊息.

這個時候注意了, 要新增裝置節點, 否則 test程式是打不開裝置的.

mknod /dev/leds c 231 0  //建立裝置節點

然後執行./test    ,  可以看到開發板上4個led全亮, 全黑, 輪流....說明這個驅動弄成功了. 

感謝老何.

Linux驅動 LED驅動測試

環境 主機 fedora12 目標板 mini6410 目標板linux核心版本 2.6.38 實現功能 驅動目標板4個led.說明 led與6410引腳對應連線 led1 gpk4 led2 gpk5 led3 gpk6 led4 gpk7 驅動源 led driver.c cpp view pl...

(一)linux驅動之led

我採用的是正點原子的linux板子,覺得原子的板子還是很不錯的。由於正點原子使用的設計是通過電平拉低是點亮led,拉高則是關閉led。1.構建驅動載入和解除安裝函式 2.申請裝置號,裝置號可以指定,或者讓系統自動分配 3.初始化建立的cdev結構體。4.最後自動建立裝置節點 include incl...

Linux驅動 12 LED驅動

2.呼叫led驅動 1.1 led管腳的呼叫配置函式 gpio request gpio申請函式 gpio set value gpio賦值函式 s3c gpio cfgpin gpio配置函式,比如配置成輸入模式或者輸出模式 三星平台 s3c gpio output gpio配置成輸出模式的巨集定...