随笔分类 -  linux / 设备驱动

摘要:每个gpio内部有三种状态:上拉、下拉、不拉。 什么时候,需要选择上拉、下拉或不拉呢 1. 如果是output,那个一般选择no pull,这样,引脚才能根据你的output数据,进行正确输出。2. 如果是input,那么需要看具体应用的默认输入值是0还是1. 2.1 如果默认是输入0,则最好配置为 阅读全文
posted @ 2021-02-23 23:05 一代枭雄 阅读(10066) 评论(0) 推荐(3)
摘要:前面的博客已经分析了USB摄像头驱动程序的框架,我们知道了USB摄像头驱动程序的重点在于1)描述符的分析;2)属性的控制(通过VC来设置);3)格式的选择(通过VS来设置);4)数据的获得(通过VS的URB来获得)。后面的博客就会从这4个方面进行深入的分析,本篇博客首先来看一下UVC驱动程序的描述符 阅读全文
posted @ 2020-09-20 14:25 一代枭雄 阅读(1501) 评论(0) 推荐(0)
摘要:UVC是属于USB行业规范中的USB设备类规范,用于USB接口的视频设备的一个统一的数据交换规范。其中UVC官方协议文档 UVC 1.5 Class specification是对整个UVC协议的框架做了规范,USB_Video_Example则规定了描述符等的数据结构和相关的一些其他相关规定。 1 阅读全文
posted @ 2020-09-17 22:35 一代枭雄 阅读(18151) 评论(0) 推荐(2)
该文被密码保护。
posted @ 2020-06-05 23:52 一代枭雄 阅读(6) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2020-05-17 22:28 一代枭雄 阅读(8) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2020-05-17 19:28 一代枭雄 阅读(0) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2020-03-08 18:26 一代枭雄 阅读(111) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2020-03-08 17:49 一代枭雄 阅读(44) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2020-03-08 17:34 一代枭雄 阅读(28) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2020-03-08 16:13 一代枭雄 阅读(37) 评论(0) 推荐(0)
摘要:以前在写驱动程序的时候,需要把驱动分为平台device和平台driver两部分。在平台device中会放入硬件所使用的资源,使用C代码来指定platform_device,当需要修改硬件资源时,比如说想去修改led的引脚时,需要重新修改C文件,重新编译内核。再后来我们使用了设备树,可以在设备树中指定 阅读全文
posted @ 2020-02-25 22:51 一代枭雄 阅读(806) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2020-02-23 21:28 一代枭雄 阅读(48) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2020-02-23 20:36 一代枭雄 阅读(29) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2020-02-23 19:08 一代枭雄 阅读(25) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2020-02-22 20:49 一代枭雄 阅读(25) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2019-10-14 22:40 一代枭雄 阅读(406) 评论(0) 推荐(0)
摘要:1、回顾字符设备驱动程序: 字符设备驱动编写的一般步骤: 1)主设备号 2)构造file_operations结构体体 .open = xxxx .read = xxxxx 3)register_chrdev() 4)入口 5)出口 2、内核中是如何写字符设备驱动程序的呢? 内核中为lcd提供了一个 阅读全文
posted @ 2019-08-18 14:16 一代枭雄 阅读(313) 评论(0) 推荐(0)
摘要:在前面的博客中,使用的像素格式都是16bpp,24bpp(24bpp实际实际上就是32bpp)?如果想使用8bpp时,就需要使用调色板。 在以前的博客中,曾经说过,在framebuffer中如果每个像素用8bpp表示,这8bpp怎么转换成lcd需要的16bpp的数据,需要引入一个调色板。 2的8次方 阅读全文
posted @ 2019-08-18 14:15 一代枭雄 阅读(971) 评论(0) 推荐(0)
摘要:在上篇博客中,实现了画点操作,然后在画点的基础上实现了画线、画圆的操作。实际上显示文字也是在画点的基础上实现的。 文字是由点组成的,那么这些点阵是在哪里获得的呢? 随便打开一个内核文件,搜索font,会出来很多文件。在此,选择font_8*16.c。 字符A就显示出来了,这就是文字的显示原理。 首先 阅读全文
posted @ 2019-08-18 13:33 一代枭雄 阅读(1152) 评论(0) 推荐(0)
摘要:上篇博客中进行了lcd的简单测试,这篇博客将进行更加复杂的测试——画点、画线、画圆。画线和画圆是在画点的基础上实现的,因此本篇博客重点实现画点操作。 先抛出这样的一个问题,已知: (x,y)的坐标; bpp; xres; yres; 那么,如何在framebuffer中获得像素的地址呢? (x,y) 阅读全文
posted @ 2019-08-18 09:27 一代枭雄 阅读(1791) 评论(0) 推荐(0)