h9200_int

所属分类:处理器开发
开发工具:MultiPlatform
文件大小:10KB
下载次数:107
上传日期:2006-03-28 17:28:25
上 传 者ykyk
说明:  Atmel公司的at91rm9200芯片的中断驱动例程。
(Atmel's chips at91rm9200 Interrupt-driven routines.)

文件列表:
leddrv_irq\leddrv.c (4252, 2006-01-05)
leddrv_irq\leddrv.o (3244, 2006-01-05)
leddrv_irq\Makefile (221, 2005-12-30)
leddrv_irq\test (13986, 2006-01-05)
leddrv_irq\test.c (556, 2006-01-05)
leddrv_irq (0, 2006-01-04)

***********************驱动设计&使用说明****************************** 作者:flyerwing 硬件平台:h9200开发板(基于AT91RM9200) 操作系统:linux-2.4.27-vrs1-ATMEL 描述:定时点亮h9200开发板pc14&pc15的led 主要硬件模块: 1。定时器:采用9200 tc1,中断工作方式 2。led:工作在gpio模式的pc14&pc15 ********************************************************************** ***驱动设计说明*** 1。实现字符设备驱动 2。模块动态加载 3。实现的主要系统调用: 3.1 open A:初始化tc1,tc1_init() B:pc14&pc15的gpio模式配置 C:向内核申请中断 request_irq(AT91C_ID_TC1,tc1_irq_handler,SA_INTERRUPT,"tc1",NULL) 参数1:中断号(体系结构相关):定义在include/asm/arch/AT91RM9200.H,9200可以管理32个中断 参数2:中断向量入口函数指针 参数3:标志,SA_INTERRUPT表示独享中断 参数4:中断设备名,出现在/proc/interrupt中 3.2 close A:关闭tc1中断 disable_irq(AT91C_ID_TC1); B:释放中断 free_irq(AT91C_ID_TC1,NULL); 3.3 ioctl A:实现点亮和熄灭led B:打开和关闭tc中断 3.4模块的注册和注销 采用devfs文件系统注册方法,静态分配设备号,无需手动创建设备文件。注意 使用中需要内核在fs中支持devfs文件系统 3.5中断服务函数说明 中断中点亮led,并打印消息表示中断发生的次数。 ***驱动使用说明*** step1: 启动目标板,进入系统shell setp2:通过nfs方式或其它方式拷贝leddrv.o到/lib/modules/ step3:输入insmod leddrv.o step4:运行测试程序 ./test 100000 效果:可以看到pc14&pc15的led在调试串口打印消息的同步下闪烁,ctrl+C退出 ***特别说明*** test 的输入参数为定时器的定时值,该值没有经过换算,完全是为了演示中断的 使用和定时器的配置,因此输入值不代表实际的定时时间。 ***文件说明*** leddrv.c:驱动源文件 leddrv.o:驱动模块 Makefile: 编译文件 test: 测试程序可执行文件 test.c: 测试程序源文件

近期下载者

相关文件


收藏者