2013年9月20日

字符设备驱动笔记——中断方式按键驱动之linux异常处理结构(四)

摘要: 1.中断方式获取按键值单片机:1)按键按下2)cup发生中断,跳转到异常向量入口执行3)b 函数 a.保存被中断的现场 b.执行中断处理函数 c.恢复linux:1)trap_init()函数构造异常向量2)vector_irq + stubs_offset 跳转,vector_irq用宏来实现 a.保存寄存器的值 b.asm_do_IRQ c.恢复2.linux异常处理结构分析---------------------------------------------trap_init()函数构造了异常向量把__vectors_start代码复制到vecto... 阅读全文

posted @ 2013-09-20 22:40 屁屁侠 阅读(854) 评论(0) 推荐(0) 编辑

字符设备驱动笔记——查询方式按键驱动(三)

摘要: second_drv.c#include #include #include #include #include #include #include #include #include #include static struct class *seconddrv_class;static struct class_device *seconddrv_class_dev;volatile unsigned long *gpfcon;volatile unsigned long *gpfdat;volatile unsigned long *gpgcon;volatile unsigned... 阅读全文

posted @ 2013-09-20 15:22 屁屁侠 阅读(469) 评论(0) 推荐(0) 编辑

字符设备驱动笔记(二)

摘要: 怎么写LED驱动:①写框架②完善硬件的操作1>看原理图2>看2440手册3>单片机:直接操作物理地址 驱动程序:操作虚拟地址,物理地址用iorremap映射为虚拟地址myleds.c#include #include #include #include #include #include #include #include #include #include #define DEVICE_NAME "leds" /* 加载模式后,执行”cat /proc/devices”命令看到的设备名称 */#define LED_MAJOR 231 /* 主设备号 * 阅读全文

posted @ 2013-09-20 11:28 屁屁侠 阅读(667) 评论(0) 推荐(0) 编辑

导航