欢迎来到天天文库
浏览记录
ID:29430663
大小:69.00 KB
页数:15页
时间:2018-12-19
《tq210 led驱动 流水灯》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、.TQ210LED驱动及测试1. 编写led驱动1.1在系统中创建目录/home/share/led/1.#mkdir–p/home/share/led复制代码进入led目录1.#cd/home/share/led复制代码1.2创建源码文件led_driver.c1.#vimled_driver.c复制代码源码内容见附件一。保存退出.1.3创建并编辑Makefile在该目录下创建Makefile文件,将驱动程序编译成模块。#vimMakefile内容如下:1.oj-m+=led_driver.o2.CURRENT_P
2、ATH:=/home/share/led页.1.LINUX_KERNEL?=/home/share/learning/linux-2.6.352.#LINUX_KERNEL_PATH:=$(LINUX_KERNEL)3.default:4. $(MAKE)-C$(LINUX_KERNEL)m=$(CURRENT_PATH)modules5.clean:6. $(MAKE)-C$(LINUX_KERNEL)M=$(CURRENT_PATH)clean复制代码2. 编译TQ210使用天嵌提供交叉编译器
3、,路径:/home/share/tmp/opt/EmbedSky/4.4.6/bin在该目录下直接make即可#make3. 测试led驱动测试代码:见附件二使用交叉编译工具编译程序:1.#arm-linux-gcc-oled_testled_test.c将生成的可执行程序led_test复制到nfs文件系统/home/share/nfsboot/rootfs中/mnt目录下;在超级终端上控制开发板。挂载好nfs文件系统:页.1.#mount–tnfs10.10.84.41:/home/share/nfsboot/root
4、fs–onolock/mnt进入挂载在/mnt目录下的nfs文件系统内并且进入内部/mnt目录下:#cd/mnt //此目录是开发版的子目录#cd/mnt //此目录是挂载的宿主机上的nfs文件系统的子目录执行可执行文件:1.#./led_test出现段错误提示,原因参数不正确,还需要输入led的序号,以及开关指令。测试程序没有做好参数检查,所以会段错误在代码中对argc进行判断即可。#./led_test 2 on //打开第二个led#./led_test 2 off //关掉第二个
5、led开发板上两个LED灯均能正确控制,至此led驱动及测试代码试验完成。附件一led驱动源码/************************************************************************************drivers/char/tq210_leds.c*功能简要:* 该驱动注册一个字符设备“/dev/led”,用于2个LED。*函数简介:* staticvoidtq210_debug_leds(unsignedintcmd,unsignedlonga
6、rg),用于内核驱动调试*提供的外部接口:页.* ioctol(structinode*inode,structfile*file,unsignedintbrightness);* 用于LED的亮,灭。*调用实例:* 提供控制台,命令式的测试程序。*1.#include2.#include3.#include4.#include5.#include6.#incl
7、ude7.#include8.#include9.//#include10.#include11.#include12.#include13.#include14.#defineDEVICE_NAME"led"15./*应用程序执行ioctl(fd,cmd
8、,arg)时的第2个参数*/16./*thesecondparameterthatapplicationprogramexecute*/17.#defineIOCTL_GPIO_ON 118.#defineIOCTL_GPIO_OFF 019./*用来指定LED所用的GPIO引脚*/
此文档下载收益归作者所有