[ linux驱动 ]
过去不再从来
反应有点慢
展开
-
封装后的一个简单字符设备
//将数据封装后#include #include #include #include #includeMODULE_LICENSE("GPL");MODULE_AUTHOR("you");struct mycdev{struct cdev cdev;dev_t devno;unsigned char data[1024];}原创 2013-10-08 21:41:55 · 569 阅读 · 0 评论 -
ioremap
//在内核中,要访问寄存器;先将物理地址,转换成虚拟地址#include #include #include #include #include MODULE_LICENSE("GPL");MODULE_AUTHOR("bunter");unsigned long virt;unsigned long *gpmcon, *gpmdat;原创 2013-10-14 23:59:31 · 586 阅读 · 0 评论 -
字符驱动框架hellop
文件放在/linux-3.0/drivers/char/hellop***********************************************************hellop.c #include#include#includestatic char *whom = "world";static int howmany = 1;modul原创 2014-02-21 19:34:03 · 689 阅读 · 0 评论 -
UART和RS232/RS485的关系,RS232与RS485编程
UART和RS232/RS485的关系是什么? 2013-09-04 12:31:56| 分类: 计算机 | 标签:rs232 uart rs485 |举报|字号 订阅 串口通讯是电子工程师和嵌入式开发工程师面对的最基本问题,RS232则是其中最简单最常用的通讯方式。但是初学者往往搞不清有关的名词如UART和RS232或RS485之转载 2014-08-06 11:24:50 · 1222 阅读 · 0 评论 -
在回首——arm-linux内核编译
2013年09月10日再搭建环境:os==》linux环境:redhat 6.31.bootloader设置2.首先得到zImage3.制作根文件系统4.各种服务:tftp,nfs,arm-gcc**********************************1.设置bootloader ==>ipaddr serverip bootargs bootcmd让我原创 2013-09-10 21:40:01 · 653 阅读 · 0 评论 -
linux内核中的那些链表
内核中的链表操作:单链表,单向循环链表,双链表,双向循环链表,struct list_head {struct list_head *next, *prev;};链表的操作: 1.初始化链表=》循环链表static inline void INIT_LIST_HEAD(struct list_head *list){list->next = list;原创 2013-09-26 01:45:36 · 519 阅读 · 0 评论 -
第一个简单的cdev
2013-09-09第一个cdev简单的函数:wangcai 与catMknod wangcai c 9 1Mknod cat c 9 2 #include#include#include#include#include#include#includeMODULE_LICENSE("GPL");MODULE_AUTHOR("you");原创 2013-09-10 00:08:32 · 790 阅读 · 0 评论 -
ioremap相关的人函数
2013年09月09日uplooking 106 天1.打印这个所有当前动行的进程的名字 #include #include #include #include MODULE_LICENSE("GPL"); MODULE_AUTHOR("you"); int test_init() { int i;原创 2013-09-09 23:58:30 · 1382 阅读 · 0 评论 -
tasklet-内核机制
注册中断后,调用小任务机制来处理中断:#include #include #include #include #include #include MODULE_LICENSE("GPL");MODULE_AUTHOR("bunter"); irqreturn_t do_irq(int irq, void *data);void function(u原创 2013-10-10 23:34:29 · 494 阅读 · 0 评论 -
linux内核机制中的中断
2013年10月08日国庆回来第二天:学习流程:基础: 1.linux2.开发板 ,arm汇编, c, 数据结构3.C++,工具应用: 1.posix(open,fork)2.内核机制3.网络* 驱动: 1.arm体系结构。 2.(设备)LCD驱动,网络驱动,触屏驱动,声卡驱动项目: 1.bootloader(vivi三星公司中的两个boot原创 2013-10-08 20:23:18 · 693 阅读 · 0 评论 -
串口通信原理
http://cs.nju.edu.cn/yangxc/dcc2003.files/jszc-sub/comif-09.htm转载 2014-09-23 12:50:28 · 441 阅读 · 0 评论 -
(触摸屏)内核模块的定时器--来做中断源2
//在触摸屏上可以划动的打印,x,y坐标#include #include #include #include #include #include #include MODULE_LICENSE("GPL");MODULE_AUTHOR("bunter");void function(unsigned long data);irqreturn_t原创 2013-10-14 23:26:03 · 558 阅读 · 0 评论 -
142day:LCD驱动1
2013年10月14日LCD1.LCD==>/dev/fb02.LCD是一种折射光的液体 ==>最好的LCD公司夏普3.LCD:长宽比例:4:316:916:10s3c6410:480:27230:174.app-------------------------os-------------------------hw原创 2013-10-14 23:05:00 · 700 阅读 · 0 评论 -
一个简单的字符设备驱动
//一个简单字符设备驱动内核中:test.c ;Makefile;应用层:read.c ;write.c#include #include #include #include #include #include #include MODULE_LICENSE("GPL");MODULE_AUTHOR("bunter");int my_原创 2013-10-08 21:30:11 · 531 阅读 · 0 评论 -
设备驱动模型
2013年10月09日 /proc中是系统中的信息/sys/class按功能化分,内核中的/dev/是用户可用的/sys/misc放杂货的类题:1.1==>灯亮;0==>灯灭;app /dev/led 10 atoi:字符串转换为整数2题:自已写一个:从总线,设备,驱动三个文件。注意:两个文件(A,B)中的两个变量(a,b),如果A文件中要原创 2013-10-09 21:40:35 · 528 阅读 · 0 评论 -
/sys/bus一个总线设备驱动
2013年10月10日1.udev不会将/sys/bus下面的设备放到/dev下面;udev会将/sys/class下面的设备放到/dev下面,给应用层提供接口。2.*** 当设备移出的时候,调用release函数;当驱动作用于设备的时候,调用probe函数;当驱动不在作用设备的时候,调用remove函数。insmod bus/bus.koinsmod device原创 2013-10-10 23:05:02 · 2082 阅读 · 0 评论 -
四大驱动之-触摸屏
四大驱动之触摸屏:我们按一下,来模拟实现触摸屏的中断处理。按下去打印:down松开就打印:up;Arm中断处理过程:1.Cpsr2.中断控制器3.中断源 #include "up.h" int (*printf)(char *,...) = 0x57e11d4c;void do_irq();int main(){ *(unsigned l原创 2013-10-10 23:24:18 · 593 阅读 · 0 评论 -
四大驱动之-触摸屏(小例子-裸版2)
将一封装成函数;并实现按一下,打印按下点的x,y坐标。up.h:#define VIC0IRQSTATUS (*(volatile unsigned long *)0x71200000)#define VIC0RAWINTR (*(volatile unsigned long *)0x71200008)#define VIC0INTSELECT (*(volatile原创 2013-10-12 00:09:41 · 637 阅读 · 0 评论 -
内核模块的定时器--来做中断源
//内核模块的定时器#include #include #include #include #include #include MODULE_LICENSE("GPL");MODULE_AUTHOR("bunter");void function(unsigned long data);struct timer_list t;in原创 2013-10-12 00:17:13 · 771 阅读 · 0 评论 -
四大驱动之-触摸屏(小例子-裸版)
//62和63好中断,触摸屏和模数转换当我们在触摸屏上按下一个键的时候:打印down,x,y坐标,放手后打印:test.c,up.h,Makefile,vector.S#include "up.h"int (*printf)(char *,...) = 0x57e11d4c;void do_irq();int main(){*(unsigned lo原创 2013-10-11 23:00:31 · 596 阅读 · 0 评论 -
四大驱动—触模屏(内核模块小例子)
//首先得重新编译内核,将内核原有的触摸屏驱动移除:make menuconfig: device_driver==>Input device support ==>touchscreenmake==>编译生成zImag内核文件cp arch/arm/boot/zImage /tftpboot==> 启动时自动从这个文件中引导启动内核后插入:insmod test.ko原创 2013-10-11 23:48:11 · 685 阅读 · 0 评论 -
四大驱动—触模屏(内核模块小例子2)
#include #include #include #include #include MODULE_LICENSE("GPL");MODULE_AUTHOR("you");irqreturn_t do_irq(int irq,void *data);unsigned long ts_virt;unsigned long *adctsc原创 2013-10-12 00:01:37 · 625 阅读 · 0 评论 -
四大驱动—触模屏(内核模块小例子3封装成函数)
#include #include #include #include #include MODULE_LICENSE("GPL");MODULE_AUTHOR("you");irqreturn_t do_irq(int irq,void *data);void wait_for_up();void wait_for_down();v原创 2013-10-12 00:02:51 · 660 阅读 · 0 评论 -
linux内核编译开始第一天
2013年09月06日uplooking 103 天今天跟着老刘进入内核编译:/**********************************************************************************************************************************************************原创 2013-09-06 23:50:35 · 614 阅读 · 0 评论