LED燈驅動的編寫

2021-07-15 05:10:04 字數 1315 閱讀 2317

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使用的引腳進行配置,引腳的模式只用配置一次,所以該部分工作放在開啟裝置檔案時進行,因...