
Linux下底层驱动开发
文章平均质量分 91
天才2012
天生我‘才’必有用
展开
-
Linux下DM644x设备驱动I2C之总线驱动(一)详解
本文均属自己阅读源码的点滴总结,转账请注明出处谢谢。欢迎和大家交流。qq:1037701636 email:200803090209@zjut.com,gzzaigcn2012@gmail.com linux DM6441下I2C设备驱动的开发前言:和常用的Linux I2C的驱动开发一样,主要包括总线Bus驱动,以及相应的设备驱动开发。总线驱动和CPU的关系较为密切,原创 2012-07-04 22:04:36 · 4694 阅读 · 0 评论 -
linux中断子系统:中断号的映射与维护初始化mmap过程
写在前沿:好久好久没有静下心来整理一些东西了,开始工作已有一个月,脑子里想整理的东西特别多。记录是一种很好的自我学习方式,静下来多思考多总结,三年的工作目标不能发生变化,作为职场菜鸟即将进入全世界半导体第一的Intel working,是机遇更是一种挑战,困难也是可想而知。脚踏实地、仰望星空,以结果为导向,以目标为准则,争取每天进步一点点。Linux内核版本:3.4.39一. linux中断子系统原创 2015-08-11 21:38:02 · 6011 阅读 · 0 评论 -
linux V4L2驱动中新旧版本下video buffer alloc与mmap的处理区别
首先需要说明目前在比较新的内核中已经采用了vb2_queue与vb2_buffer来替代旧版本内核中经常使用到的videobuf_queue与videobuf_buffer。两者主要用于对用户层申请VIDIOC_REQBUF时的使用。从用户层Request的Memory的类型区分,典型的两种是:V4L2_MEMORY_USERPTR以及V4L2_MEMORY_MMAP,前者的内存主动权位于用户层,原创 2015-11-25 18:45:51 · 5481 阅读 · 0 评论 -
基于linux自动创建设备节点而引入的疑问
1. 自动创建设备节点时mknod做了哪些事情?mknod会在内部自动创建一个inode,代表设备文件节点的物理磁盘属性,该inode存在于devtmpfs或者tmpfs等ramfs文件系统中,inode会记录下建立时传入的设备文件节点char/block等类型以及相应的设备号等信息,通过父目录的ramfs_dir_inode_operations来决定,调用ramfs_mknod生成当前设备节点原创 2015-08-18 17:47:13 · 2126 阅读 · 0 评论 -
全志A31下5M的CMOS Camera移植修改记录表
最近一段时间都在用A31评估几颗5M的摄像头,包括ov5640、MT9P001、ov2710。A31下移植不同的摄像头驱动的好处在于,驱动结构规范化,采用video_device下的suddev的架构方式来处理sensor。A31下的移植主要关注几个配置文件+对硬件驱动的初始化配置即可。调试的目的是先跑起来后优化。以下面的COMS为列,我们需要主要摄像头的以下几个电压值:典型5M摄像头的芯片电压配原创 2014-08-26 15:09:50 · 6742 阅读 · 1 评论 -
linux3.3 v4l2视频采集驱动框架(vfe, camera i2c driver,v4l2_subdev等之间的联系)
本文均属自己阅读源码的点滴总结,转账请注明出处谢谢。欢迎和大家交流。qq:1037701636 email:gzzaigcn2012@gmail.com 前沿:2014年的博文就从这篇文章开始吧,又一次回到linux,过去的一年从dm3730再到dm6437,这次来到了全志的A31 4核处理器,每一次都是全新的事物,但是偶然间还是可以感受到对新事物的消化能力更强了,学习的速度也更原创 2014-01-02 13:14:21 · 8872 阅读 · 1 评论 -
TI的DM3730之dvsdk中uboot时钟配置初始化深入解析
本文均属自己阅读源码的点滴总结,转账请注明出处谢谢。欢迎和大家交流。qq:1037701636 email:200803090209@zjut.com,gzzaigcn2012@gmail.com 过去的一周,一直处在纠结的时刻中,一周过去了,基本问题和疑惑也在渐渐的解决中,回过头去想想,原来问题的出现,只是一个小小的地方就可以解决。也觉得出现问题定位不到问题的所在也是只身能原创 2013-03-10 20:44:46 · 4891 阅读 · 0 评论 -
DM6446的视频前端VPFE驱动之ioctl控制(视频缓存区,CCDC,decoder)解析之一
本文均属自己阅读源码的点滴总结,转账请注明出处谢谢。欢迎和大家交流。qq:1037701636 email:200803090209@zjut.com,gzzaigcn2012@gmail.com 在这里分析驱动的ioctl的内容时,需要结合相关的应用层的操作,之前我已经说过,这块V4L2的控制都是Ioclt实现的,在完成前期的驱动后,后续的系统调用都由他来完成,主要通过应用层发送一定的原创 2012-07-16 11:08:12 · 5484 阅读 · 0 评论 -
linux下设备device_register和驱动driver_register先后注册的影响和关系
本文均属自己阅读源码的点滴总结,转账请注明出处谢谢。欢迎和大家交流。qq:1037701636 email:200803090209@zjut.com,gzzaigcn2012@gmail.com 开始我的博文之前,最近一天来的感受,我只想说一下,Linux的世界,玩在表面是轻松的,但是玩在内部那就是找死。佩服那些写源码的人。真的佩服。 这段世界大概半个月了,开始linu原创 2012-07-08 22:40:53 · 8773 阅读 · 6 评论 -
beagelboard-xm上dvsdk移植2:Bug出现的原因和解决。
本文均属自己阅读源码的点滴总结,转账请注明出处谢谢。欢迎和大家交流。qq:1037701636 email:gzzaigcn2009@163.com,gzzaigcn2012@gmail.com 在前面移植1中,本文主要介绍了bb-xm 上dvsdk移植出现的几个Bug和我的解决方法。主要来自于xload. 编译完成后,xload启动不了,原因如下:1.下载的补丁脚本原创 2012-10-28 20:31:42 · 3851 阅读 · 0 评论 -
DM6446的视频前端VPFE的驱动大框架解析
本文均属自己阅读源码的点滴总结,转账请注明出处谢谢。欢迎和大家交流。qq:1037701636 email:200803090209@zjut.com,gzzaigcn2012@gmail.com dm6446是基于Davinci架构设计的多媒体处理器。在这里我们分析的Linux源码是montavista的2.6.10的版本,该源码中使用的视频驱动架构为V4L2的框架。对这个框架原创 2012-07-16 09:53:20 · 6721 阅读 · 0 评论 -
Android之binder驱动个人学习小结
本文均属自己阅读源码的点滴总结,转账请注明出处谢谢。欢迎和大家交流。qq:1037701636 email: gzzaigcn2009@163.com,gzzaigcn2012@gmail.com 前言:Read the fucking Source Code.这段时间,大概花了两个星期(期间还偷懒了好几天),深入学习了一下Android的Binder驱动。话说上半年在看Med原创 2012-08-15 16:16:38 · 4738 阅读 · 1 评论 -
DM6446的视频前端VPFE驱动之ioctl控制(视频缓存区,CCDC,decoder)解析之二
本文均属自己阅读源码的点滴总结,转账请注明出处谢谢。欢迎和大家交流。qq:1037701636 email:200803090209@zjut.com,gzzaigcn2012@gmail.com 本文承接上文的主要内容,对视频缓存区队列的相关执行过程进行一个解析。先给出之前的应用层的调用流程本文主要涉及到的命令为VIDIOC_QBUF,VIDIOC_DQBUF,VIDIOC_ST原创 2012-07-17 11:40:00 · 6434 阅读 · 0 评论 -
linux驱动的并发控制和阻塞和非阻塞
Linux设备驱动中的并发控制手段:中断屏蔽,原子操作,自旋锁,信号量。中断屏蔽:local_irq_save和local_irq_restore:前者表示禁止中断的操作(还保存当前CPU的中断信息)后者是使能中断原子操作包括:atomic_set自旋锁操作:初始化自旋锁spin_lock_init(),获取自旋锁spin_lock,释放自旋锁spin_unlock为防止中断的原创 2012-07-15 16:47:55 · 2091 阅读 · 0 评论 -
Linux下DM644x设备驱动I2C之设备驱动架构详解
本文均属自己阅读源码的点滴总结,转账请注明出处谢谢。欢迎和大家交流。qq:1037701636 email:200803090209@zjut.com,gzzaigcn2012@gmail.com 2.I2C之设备驱动开发在I2C的驱动开发中,另一块主要内容是设备的驱动开发。在这里以tlv320ai23.c来分析主要的驱动架构。在前面的博文中,主要介绍了I2C驱动开发下的总线开发架原创 2012-07-05 13:23:04 · 2626 阅读 · 0 评论 -
Linux下DM644x设备驱动I2C之总线驱动(二)详解
本文均属自己阅读源码的点滴总结,转账请注明出处谢谢。欢迎和大家交流。qq:1037701636 email:200803090209@zjut.com,gzzaigcn2012@gmail.com I2总线驱动的另一块内容就是适配器对应的algorithm结构体,在这个结构体中的主要内容是完成I2C控制器数据的传输与接收和硬件密切相关static struct i2c_algori原创 2012-07-05 10:36:39 · 3353 阅读 · 0 评论 -
Linux驱动开发盲点笔记1
1. vim中在找到搜索目标后,使用n与N进行定位查找2. vim中使用gg到最好第一行,使用xxxG到某一行,否则G直接到最后一行;3. ln -s 产生的链接文件最终指向的目标文件src 新产生的当前软链接文件dst。ln -s project(磁盘上实际存在的文件或者目录) a.lnkln -s src dst(新产生的文件dst,dst链接到src)symlink功能类似4 tar -cz原创 2016-02-05 18:32:07 · 4041 阅读 · 0 评论