(驱动)简单定时器编写练习(2014/8/23)
来源:互联网 发布:js获取svg元素属性值 编辑:程序博客网 时间:2024/05/17 13:41
/*定时点亮LED然后定时熄灭*/#include <linux/init.h>#include <linux/module.h>#include <linux/fs.h>#include <linux/delay.h>#include <linux/jiffies.h>#include <linux/timer.h>#include <asm/uaccess.h>#include <asm/io.h>volatile unsigned long virt,phys = 0xe0200280;volatile unsigned long *GPJ2CON,*GPJ2DAT;struct timer_list time1;struct timer_list time2;static void init(void){virt = (unsigned long)ioremap(phys,0x8);GPJ2CON = (unsigned long *)(virt + 0x00);GPJ2DAT = (unsigned long *)(virt + 0x04);*GPJ2CON &= 0xffff0000;*GPJ2CON |= 0x00001111;*GPJ2DAT |= 0x0f;}static void led1(unsigned long data)//点亮LED{ *GPJ2DAT &= 0xf0;}static void led2(unsigned long data)//熄灭LED{*GPJ2DAT |= 0x0f;}static __init int test_init(void){init();
setup_timer(&time1,led1,NULL);time1.expires = jiffies + 1000;add_timer(&time1); //定时器启动,等待触发。setup_timer(&time2,led2,NULL); time2.expires = jiffies + 2000; add_timer(&time2);return 0;}static __exit void test_exit(void){}module_init(test_init); module_exit(test_exit); MODULE_LICENSE("GPL");MODULE_AUTHOR("henry");MODULE_DESCRIPTION("This is test demo");
在kernel/drivers/char下的Kconfig里面添加
config LED_TIME
tristate "LED TIME"
default y
在kernel/drivers/char下的Makefile里面添加
obj-m += led-time.o
在kernel下编译:$ make menuconfig
$ make modules
把 led-time.ko下载到开发板上:
$ tftp -g -r led-time.ko 192.168.x.x
装载模块:$ insmod led-time.ko
卸载模块:$ rmmod led-time.ko
0 0
- (驱动)简单定时器编写练习(2014/8/23)
- ARM-linux驱动学习:led驱动程序编写练习(2014-8-22)
- Linux输入设备简单驱动程序编写练习(2014-8-27)
- 基于sysfs的LED驱动编写以及应用程序的编写(定时器操作)
- 简单定时器(协程)
- 简单的PWM定时器驱动
- 简单驱动编写
- 编写简单的驱动
- linux 简单驱动编写
- ARM M0+各种定时器驱动的编写
- Linux 字符设备驱动开发基础(一)—— 编写简单 LED 设备驱动
- Linux 字符设备驱动开发基础(二)—— 编写简单 PWM 设备驱动
- Linux 字符设备驱动开发基础(二)—— 编写简单 PWM 设备驱动
- Linux 字符设备驱动开发基础(一)—— 编写简单 LED 设备驱动
- Linux 字符设备驱动开发基础(一)—— 编写简单 LED 设备驱动
- Linux 字符设备驱动开发基础(二)—— 编写简单 PWM 设备驱动
- 随想录(编写用户侧定时器)
- 简单的定时器(setInterval)
- hash入门题
- C++Primer学习笔记《5》
- Android中实现蓝牙录放音
- 马云清华经管毕业典礼演讲:世界正在从IT走向DT
- Qt编码风格
- (驱动)简单定时器编写练习(2014/8/23)
- 取消Linux下VIM和gedit的自动备份功能
- 互联网时代的四个关键词
- 一个很难明白的题目
- nginx: [alert] mmap(MAP_ANON|MAP_SHARED, 536870912) failed (12: Cannot allocate memory)解决方法
- 自实现json解析库
- POJ 3169 Layout (差分约束系统)
- android系统的分区结构
- 徜徉在宋词里的女子