led燈驅動的編寫:
一、原理圖
led2 gpx2_7
led3 gpx1_0
led4 gpf3_4
led5 gpf3_5
輸出---0滅、1亮
二、晶元手冊
gpx2con 0x11000c40
[31:28] <===0x1
gpx2dat 0x11000c44
[7] <==== 0/1
gpx1con 0x11000c20
[3:0] <==0x1
gpx1dat 0x11000c24
[0] <=== 0/1
gpf3con 0x114001e0
[23:16] <== 0x11
gpf3dat 0x114001e4
[5:4] <===0/1/2/3
三、寫驅動
1、許可證宣告
2、載入函式
1) 申請裝置號
2) 註冊裝置
3) 裝置的初始化
a) 暫存器的對映
void __iomem * ioremap(phy_addr_t addr, ssize size);
例:void __iomeme *gpf3_base = ioremap(0x114001e0, 0x8);
b) 暫存器初始化
writel/writew/writeb
readl/readw/readb00
unsigned long readl(void __iomem *);
writel(unsigned long, voi __iomem *);
例:unsigned long data = readl(gpf3_base + 0x00);
writel((data & ~(0xff << 16)) | 0x11 << 16, gpf3_base + 0x00);
3、解除安裝函式
3) 取消對映
void iounmap(void __iomem *);
2) 登出裝置
1) 釋放裝置號
4、實現file_operations為應用程式提供訪問介面
open/release
ioctl
1、定義命令
2、識別命令--完成不同的操作
write
。。。四、編譯
makefile:kerneldir == fs4412核心
obj-m = ....o
五、測試
寫測試程式---arm-linux-gcc
insmod
mknod
LED燈驅動編寫全過程
led驅動實驗步驟 準備工作 led驅動 1 準備測試的工具 2 準備相關字元裝置驅動的知識 3 準備相關驅動 led 檔案 4 準備相關的硬體知識,獲取硬體開發人員提供的led介面。driver char psled player 701 kill 701 ledtest 0 0 ledtest ...
android驅動例子(LED燈控制)
2011 04 12 09 34 994人閱讀 收藏舉報 本例子,講述在android2.1上完全自已開發乙個驅動去控制硬體口並寫應用測試該驅動,通過這樣乙個例子,解析android下的驅動開發流程的應用呼叫流程,可以說是很好的入門引導 要達到的效果 通過android的應用,呼叫驅動程式,在開發板...
使用驅動程式點亮LED燈
在最開始之前先來梳理一下點亮led程式的框架 1 通過對驅動程式的框架分析,我們知道第一步都要從入口函式開始,第乙個驅動裡我寫的入口函式很簡單,只是完成了必要操作 這裡的話就要進行改進。2 要點亮led首先要對led使用的引腳進行配置,引腳的模式只用配置一次,所以該部分工作放在開啟裝置檔案時進行,因...