嵌入式Linux之我行——LED驅動在2440上的實例開發(fā)
- 主
機:VMWare--Fedora 9 - 開發(fā)板:Mini2440--64MB Nand
- 編譯器:arm-linux-gcc-4.3.2
二、實現(xiàn)步驟
本文引用地址:http://2s4d.com/article/201611/319004.htm1. 硬件原理圖分析。由原理圖得知LED電路是共陽極的,并分別由2440的GPB5、GPB6、GPB7、GPB8口控制的
2. 去掉內(nèi)核已有的LED驅動設置,因為IO口與mini2440開發(fā)板的不一致,根本就不能控制板上的LED。
#gedit arch/arm/plat-s3c24xx/common-smdk.c |
static |
void |
3. 編寫適合mini2440開發(fā)板的LED驅動,代碼如下,文件名稱:my2440_leds.c
|
4. 把LED驅動代碼部署到內(nèi)核中去
#cp -f my2440_leds.c /linux-2.6.30.4/drivers/char |
#gedit /linux-2.6.30.4/drivers/char/Kconfig |
config MY2440_LEDS |
#gedit /linux-2.6.30.4/drivers/char/Makefile |
obj-$(CONFIG_MY2440_LEDS) |
5. 配置內(nèi)核,選擇LED設備選項
#make menuconfig |
Device Drivers ---> |
6. 編譯內(nèi)核并下載到開發(fā)板上,查看已加載的設備:#cat /proc/devices,可以看到my2440_leds的主設備號為231
7. 編寫應用程序測試LED驅動,文件名:leds_test.c
|
8. 在開發(fā)主機上交叉編譯測試應用程序,并復制到文件系統(tǒng)的/usr/sbin目錄下,然后重新編譯文件系統(tǒng)下載到開發(fā)板上
#arm-linux-gcc -o leds_test leds_test.c |
9. 在開發(fā)板上的文件系統(tǒng)中創(chuàng)建一個LED設備的節(jié)點,然后運行測試程序,效果圖如下,觀測開發(fā)板上的LED燈,可以看到每一步的操作對應的LED會點亮或者熄滅
評論