![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
驱动
文章平均质量分 88
龙图腾
驱动工程师真心喜欢学习真心喜欢技术
展开
-
解决hisi编译器出错nl_intern_locale_data: Assertion
遇到问题:编译uboot与内核过程中出现:arm-himix200-linux-gcc: loadlocale.c:130: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed.百度答案:1,首...原创 2020-05-06 17:10:35 · 2836 阅读 · 8 评论 -
register_chrdev & devfs_register_chrdev
设备,到处都是设备Devfs,也叫设备文件系统(Device Filesystem),设计它的唯一目的就是提供一个新的(更理性的)方式管理通常位于 /dev 的所有块设备和字符设备。您也许知道,典型的 /dev 树包含数百个块特殊文件和字符特殊文件,它们全都在根文件系统上。每个特殊文件都可以让用户空间进程轻松地与内核设备实现交互。举例来说,通过对这些特殊文件执行操作,您的 X 服务器就能够访问转载 2013-03-20 12:04:17 · 1444 阅读 · 0 评论 -
关于H.264开源 三种类型
1、JM库各种参考资料相对齐全,而其各种算法实现丰富,http://iphome.hhi.de/suehring/tml/暂时参考此类。2、MPEG-4 AVC/H.264 VIDEO CODECShttp://forum.doom9.org/showthread.php?t=959393、x264,http://www.videolan.org/developers/x264.htm转载 2013-03-15 17:25:31 · 866 阅读 · 0 评论 -
ARM-Linux配置DHCP自动获取IP地址
备注:内核版本:2.6.30.9busybox版本:1.15.2PC Linux和开发板Linux的工作用户:root1. 配置内核:[*] Networking support ---> Networking options ---> Packet socket Unix domain sockets [*] TCP/IP netwo转载 2013-03-11 17:42:27 · 3283 阅读 · 0 评论 -
6410移植RT3070无线模块,WPA加密方式,并开机自动加载
6410移植RT3070无线模块,WPA加密方式,并开机自动加载一. wireless-tools安装wireless-tools是一组无线网络扫描器及监控工具,可以用于监控、分析、以及测试WiFi网络,支持几乎所有的无线网卡和驱动,它可以支持WEP的AP,但它不能连接到那些只支持WPA的AP。连接AP需要使用它所编译出来的工具。1、资源下载下载wireless_tools.29.转载 2013-03-11 10:52:21 · 1101 阅读 · 0 评论 -
rt3070 wifi arm+linux移植
软硬件平台: 宿主机:fedora10vmware虚拟机目标版:tiny6410,linux2.6.38交叉编译工具:arm-linux-4.5.1网卡:Ralink3070模块步骤: 1、编译驱动的预操作:编译arm版本的内核源码。从tiny6410的光碟中获取内核源码,此内核源码已经经过友善之臂的移植,可以直接转载 2013-03-11 10:51:24 · 1448 阅读 · 0 评论 -
移植OpenSSH 到嵌入式操作系统当中
我一直在寻找这样的一个ipnc模组:通用的38板,TI方案,并且开放了系统串口。可惜不是没有开发串口,就是非TI方案的,我觉得有这样的一个板子,可以做很多事情,一是这样的板子很便宜1080p dm368的才350左右,二是自己可以开发一些特定的程序在板子里运行。我觉得这样的需求应该是很多的,有时候 常规的ipc并不能满足需要。后来我问一家小板的厂家,没有串口你们怎么调试程序的。他们说不用串转载 2013-03-08 11:29:18 · 1366 阅读 · 0 评论 -
RGB、YUY2、YUYV、YVYU、UYVY、AYUV格式详解
计算机彩色显示器显示色彩的原理与彩色电视机一样,都是采用R(Red)、G(Green)、B(Blue)相加混色的原理:通过发射出三种不同强度的电子束,使屏幕内侧覆盖的红、绿、蓝磷光材料发光而产生色彩。这种色彩的表示方法称为RGB色彩空间表示(它也是多媒体计算机技术中用得最多的一种色彩空间表示方法)。根据三基色原理,任意一种色光F都可以用不同分量的R、G、B三色相加混合而成。F = r [转载 2013-03-07 10:41:59 · 2241 阅读 · 0 评论 -
关于YUV和RGB之间的转换公式
总结了一下网上关于YUV的一些东西先区分一下YUV和YCbCrYUV色彩模型来源于RGB模型,该模型的特点是将亮度和色度分离开,从而适合于图像处理领域。应用:模拟领域Y'= 0.299*R' + 0.587*G' + 0.114*B'U'= -0.147*R' - 0.289*G' + 0.436*B' = 0.492*(B'- Y')V'= 0.615*R' - 0.转载 2013-03-06 15:13:37 · 1045 阅读 · 0 评论 -
yuv 格式基础
YUV 格式通常有两大类:打包(packed)格式和平面(planar)格式。前者将 YUV 分量存放在同一个数组中,通常是几个相邻的像素组成一个宏像素(macro-pixel);而后者使用三个数组分开存放 YUV 三个分量,就像是一个三维平面一样。几种常见的yuv格式1.YUV422 Planar这里,Y\U\V数据是分开存放的,每两个水平Y采样点,有一个Cb和一转载 2013-03-06 15:12:56 · 1005 阅读 · 0 评论 -
YUV4:2:2和YUV4:2:0 区别
1) YUV 4:4:4YUV三个信道的抽样率相同,因此在生成的图像里,每个象素的三个分量信息完整(每个分量通常8比特),经过8比特量化之后,未经压缩的每个像素占用3个字节。下面的四个像素为: [Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3]存放的码流为: Y0 U0 V0 Y1 U1 V1 Y2 U2 V2 Y3 U3 V3(2) YUV 4转载 2013-03-06 15:12:20 · 5933 阅读 · 0 评论 -
Linux下的USB总线驱动(三) u盘驱动分析
版权所有,转载请说明转自http://my.csdn.net/weiqing19811274.U盘驱动分析USB Mass Storage是一类USB存储设备,这些设备包括USB磁盘、USB硬盘、USB磁带机、USB光驱、U盘、记忆棒、智能卡和一些USB摄像头等,这类设备由USB协议支持。首先我想去看看/driver/usb/storage/MakefileEXTR转载 2013-07-17 17:26:05 · 7591 阅读 · 0 评论 -
USB子系统学习之基础篇三(host controller)
理所当然,我们需要开始分析usb host controller了。位置linux-2.6.32.21/drivers/usb/host,哇塞,怎么这么多xhci啊,什么ehci,uhci,fhci甚至还真的有xhci,看来搞host controller的人,自已都绝了索性以x来命名了。其实walfred查过资料之后才发现,或许readme其实早就有提示(请看USB子系统学习二中的readm转载 2013-07-22 16:27:21 · 8107 阅读 · 0 评论 -
USB子系统学习之基础篇一(相关术语及设备)
搞好linux usb设备驱动,吃尽linux设备都不怕 --写在前面话说基础要打牢,莫要闲扯蛋,那好本节的usb基础入门学习,咱们就不打岔了。请听我慢慢绕来----蛋疼的术语usb设备基础usb设备是非常复杂的,它由许多不同的逻辑单元组成,这些逻辑单元是设备 (device)、功能(function)、配置 (configration) 、接口 (interfaces) 和端点 (E转载 2013-07-22 16:26:24 · 1216 阅读 · 0 评论 -
USB子系统学习之基础篇二(驱动组织和结构)
很快就要学习usb的驱动,心中很是激动,但是还会想起早上一兄弟,竟然“人肉”到walfred的姓名/住址/邮箱,nnd什么世道,我招谁惹谁了?带着忐忑不安的心,还是现阅读下usb的readme文档吧。这个readme文档算是一个引导性的玩意,只有usb才有资格拥有,其他的,至少我上次看的mmc子系统就没有,那时看的walfred晕头转向的。现在好了,我们就跟着readme的步伐,走转载 2013-07-22 16:26:55 · 1344 阅读 · 0 评论 -
Linux下的Input子系统(一)
版权所有,转载请说明转自 http://my.csdn.net/weiqing1981127 一.系统理论1.1 Input子系统概述Input子系统是对不同类型的输入设备进行统一处理的驱动程序。一个输入事件,如按键,是通过驱动层到系统核心层到事件处理层到用户空间的顺序到达用户空间并传给应用程序使用。Input子系统由驱动层、输入子系统核心层和事件处理层三部分组成。此子系统主要转载 2013-07-17 20:00:27 · 876 阅读 · 0 评论 -
Linux下的Input子系统(二)
版权所有,转载请说明转自 http://my.csdn.net/weiqing1981127二.内核代码2.1输入子系统设备驱动层我们先从设备驱动层进行讲解首先设备驱动层调用input_allocate_device进行申请input_dev结构体,接着对该结构体进行赋值,然后调用input_register_device进行注册设备。同时我们在open函数里定义中断函数,中断转载 2013-07-17 20:01:12 · 956 阅读 · 0 评论 -
Linux下的Input子系统(三)
版权所有,转载请说明转自 http://my.csdn.net/weiqing1981127三.测试代码至此为止,我们已经讲完了输入子系统的设备驱动层,核心层,事件处理层的关系和相关代码,现在,我们通过基于Mini2440的开发板,将输入子系统融入按键驱动,编写设备驱动程序,动态加载到内核,并且编写应用层程序,测试按键驱动。我们已经配置了mini2440的串口配置,然后根据mini转载 2013-07-17 20:01:56 · 770 阅读 · 0 评论 -
Linux下的USB总线驱动(一) USB驱动框架usb-skeleton.c分析
版权所有,转载请说明转自 http://my.csdn.net/weiqing1981127一.USB理论1.USB概念概述USB1.0版本速度1.5Mbps(低速USB) USB1.1版本速度12Mbps(全速USB) USB2.0版本速度480Mbps(高速USB)USB驱动由USB主机控制器驱动和USB设备驱动组成。USB主机控制器是用来控制USB设备和CPU之间转载 2013-07-17 17:24:24 · 5018 阅读 · 0 评论 -
Linux下的USB总线驱动(二) 鼠标驱动分析
版权所有,转载请说明转自 http://my.csdn.net/weiqing19811272.USB鼠标驱动 usbmouse.c下面我们分析下USB鼠标驱动,鼠标输入HID类型,其数据传输采用中断URB,鼠标端点类型为IN。好了,我们先看看这个驱动的模块加载部分。static int __init usb_mouse_init(void){int retval转载 2013-07-17 17:25:20 · 2560 阅读 · 0 评论 -
YUV2格式转换成RGB24格式解析
我们从CMOS摄像头采集到的数据一般是YUV2格式的,YUV2是YUYV,YVYU,VYUY,UYVY,四种格式的统称,在源代码中,采用YUYV格式的数据转换为RGB24格式的数据,当然,通过修改某些参数,YUV2所有格式的数据都可以转换成RGB24即RGB888格式的数据。首先,我们采集到的数据是以Y0,V0,Y1,U0, Y2,V2,Y3,U2 …的格式存放在内存中,这里,我是通过串口将该转载 2013-03-06 15:02:27 · 5902 阅读 · 1 评论 -
YCrCb/YUV/RGB
颜色空间是一个三维坐标系统,每一种颜色由一个点表示。在 RGB 颜色空间中,红,绿,蓝是基本元素。RGB 格式是显示器通常使用的格式。在 YUV 空间中,每一个颜色有一个亮度信号 Y,和两个色度信号 U 和 V。亮度信号是强度的感觉,它和色度信号断开,这样的话强度就可以在不影响颜色的情况下改变。YUV 格式通常用于 PAL制,即欧洲的电视传输标准,而且缺省情况下是图像和视频压缩的标准。YUV转载 2013-03-06 15:14:36 · 1572 阅读 · 0 评论 -
libusb开发者指南
libusb开发者指南本文档描述libusb的API,以及如何开发USB应用。目录1 介绍1.1 概览 1.2 当前OS支持 2 API2.1 设备与接口 2.2 超时 2.3 数据类型 2.4 同步 2.5 返回值 3 函数3.1 核心函数 3.2 设备操作 3.3 控制传输 3.4 块传转载 2011-12-08 18:01:03 · 2913 阅读 · 1 评论 -
VC知识库文章 - 详谈调用winpcap驱动写arp多功能工具
导读: [ 原创文档本文适合高级读者 已阅读41323次 ] 详谈调用winpcap驱动写arp多功能工具 作者:TOo2y 一 winpcap驱动简介 二 Packet.dll相关数据结构及函数 三 T-ARP功能及原理介绍 四 T-ARP主要代码分析 五 T-ARP源代码 一、winpcap驱动简介 winpcap转载 2011-12-08 17:57:07 · 667 阅读 · 0 评论 -
[讨论]有关usb数据的读写
[讨论]有关usb数据的读写 请教各位,在vc++中对u盘的数据读写用到了DDK,而在vb中却不需要,请问xp系统的DDK哪里能下载,我在网上没有找到下载的地方。在XP系统作是怎样用VC来进行U盘的数据的读写? 找来的答案:这是部分代码:主要就是找到USB,打开它,通讯的方法和串口一样!UINT CommProcOne(LPVOID pParam转载 2011-12-08 17:56:12 · 648 阅读 · 0 评论 -
支持 PS/2 与 USB 的键盘过滤驱动(可卸载)
导读: /******************************************************************* 这个键盘过滤驱动是一个定时锁定计算机程序的功能部分,以前 lgx 写过一个 linux 版,现在我们需要实现一个 windows 版。这部分的 功能要求如下: 1、强制锁定键盘/鼠标。 2、可动态加/解锁转载 2011-12-08 17:55:28 · 2703 阅读 · 0 评论 -
USB设备的Bulk模式驱动程序设计
导读: 摘要:在虚拟设备驱动程序(vxd)的设计中,两个尤为关键,且又令人困扰的问题是vxd的虚拟化和vxd与应用程序间的通信机制。下面,对这两个问题作一详细的探讨。 一、vxd的虚拟化 由于windows允许同时运行多个任务,所以出现多个进程试图同时访问同一物理设备的情况时,如果多个应用程序通过同一个dll驱动程序(注意和虚拟设备驱动程序vxd的区别)访问设备,......转载 2011-12-08 17:54:39 · 732 阅读 · 0 评论 -
驱动向应用程序发送消息
驱动向应用程序发送消息这里介绍一下常见的两种办法。 1、驱动程序调用API SendNotifyMessage,发送特定的消息给应用程序,这就要求应用程序要有消息循环机制并且要事先做好消息的处理。参数 1为窗口句柄,可以设置HWND_BROADCAST表示广播消息。要注意的是不要在参数中传递指针(虚拟地址),因为执行驱动程序的线程和应用程序并不在同一个进程空间中。解决办法可以利用内存转载 2011-12-08 11:38:26 · 1478 阅读 · 0 评论 -
USB设备驱动程序
一. USB加载式流接口驱动要点分析为了支持不同类型的外围设备,WinCE平台提供了具有定制接口的流接口驱动程序模型。因为大部分USB外围设备由于功能性更适合流接口驱动的结构,所以一般都采用加载式流接口驱动程序模型来开发USB设备驱动程序。(1)USB系统结构分析WinCE下USB系统软件由两层组成:较高USB设备驱动程序层和较低的USB函数层。较低的USB函数层本身又由两部分组成:较转载 2011-12-08 11:32:32 · 1007 阅读 · 0 评论 -
通用USB设备驱动源码分析
前段时间写了篇 的文章 , 描述了自己如何为高通的一个 usb modem 设备写驱动的过程 , 最近发现实际上可以使用 linux 自带的一个叫 usbserial 的模块作为这个 modem 的驱动并能良好的工作 , 所以写了这片文章来详细的分析下 usbserial 模块的源码 (2.6.16.3).应该来说 , 对于那些仅仅是用 USB 来通信 , 在上层可看作 tty 设备 , 不转载 2011-12-05 12:03:25 · 846 阅读 · 0 评论 -
用VC++ 6.0来编译WDM驱动(限于2K DDK)
Version 1.02如果转贴,务必加上以下内容:***************************************作者:Arthur Tu出处:驱动开发网 www.driverdevelop.com***************************************内容:用VC++ 6.0来编辑(不是编译)Driver的源文件是转载 2011-11-17 18:35:28 · 695 阅读 · 0 评论 -
驱动程序简单入门
我们学习程序设计,都是从“Hello World”开始的,驱动程序也不例外,今天我就写一个驱动版的“Hello World”来热热身,目的希望大家能对驱动程序的基本框架有所了解。驱动程序分为2类,一个是Kernel模式驱动,另一个是Windows模式驱动,2种模式本质是相同,但细节不同,本文介绍的是内核模式驱动和驱动程序的安装、使用。驱动程序同普通的EXE,DLL一样,都属原创 2011-11-17 18:17:11 · 534 阅读 · 0 评论 -
学习写一个Hello World驱动
导读: ☆─────────────────────────────────────☆ hellguard (小四★北渡北汉江⊙) 于 (Wed Jun 11 15:44:48 2003) 提到:学习笔记,没有技术含量,高手勿Ctrl-F了日期: 2003-06-10 21:50更新:-------------------------------转载 2011-12-08 17:52:55 · 1137 阅读 · 0 评论 -
libusb 介绍
驱动开发向来是内核开发中工作量最多的一块,随着USB设备的普及,大量的USB设备的驱动开发也成为驱动开发者手头上做的最多的事情。本文主要介绍Linux平台下基于libusb的驱动开发,希望能够给从事Linux驱动开发的朋友带来些帮助,更希望能够给其他平台上的无驱设计带来些帮助。文章是我在工作中使用libusb的一些总结,难免有错误,如有不当的地方,还请指正。 Linux 平台上的u转载 2011-12-08 17:59:59 · 918 阅读 · 0 评论 -
关于Driver Studio 3.2 的安装详解
经过对VC、WINDDK、Driver Studio这三个软件反复的安装,终于可以使Driver Studio能在VC环境下正常编译了。俗话说久病成医,遇到的问题多了,自然就有了很多解决问题的方法,现在拿出来和大家一起分享一下。1、分别安装VC、WINDDK、Driver Studio,为:VC-〉WINDDK-〉 Driver Studio。其实顺序也可以变一下的,笔者曾试过VC-〉 Dri转载 2012-11-26 18:28:36 · 774 阅读 · 0 评论 -
字符杂项设备 misc_register
字符杂项设备 misc_register #include #include #include #include /* misedevice 结构:struct miscdevice { int minor; //次设备号,若为 MISC_DYNAMIC_MINOR 自动分配 const char *name; //设备名原创 2012-10-17 00:00:08 · 717 阅读 · 0 评论 -
ARM所有常用指令的实例与说明
ARM所有常用指令的实例与说明:程序跳转类指令:====================BX, 语法: bx Rn 此指令执行程序跳转,执行后,cpu从Rn这个寄存器里面所存的内存地址处开始继续执行。由于是跳转,因此也会同时刷新管道线。另外,如果此Rn的最低位为1的话,随后的指令将被译作thumb指令,如果最低位为0的话,随后的指令将被译作arm32位指令。因此,原创 2012-09-17 22:30:25 · 4517 阅读 · 0 评论 -
Framebuffer Driver
中文名为:帧缓冲驱动 一、FrameBuffer的原理 FrameBuffer 是出现在 2.2.xx 内核当中的一种驱动程序接口。 Linux是工作在保护模式下,所以用户态进程是无法象DOS那样使用显卡BIOS里提供的中断调用来实现直接写屏,Linux抽象出FrameBuffer这个设备来供用户态进程实现直接写屏。Framebuffer机制模仿显卡的功能,将显卡硬件转载 2012-08-14 22:29:36 · 578 阅读 · 0 评论 -
什么是FrameBuffer?(转载)
什么是FrameBuffer?(转载)FrameBufferFrameBuffer 是出现在 2.2.xx 内核当中的一种驱动程序接口。这种接口将显示设备抽象为帧缓冲区。用户可以将它看成是显示内存的一个映像,将其映射到进程地址空间之后,就可以直接进行读写操作,而写操作可以立即反应在屏幕上。该驱动程序的设备文件一般是 /dev/fb0、/dev/fb1 等转载 2012-08-14 22:25:04 · 486 阅读 · 0 评论 -
SD/MMC 内部寄存器 介绍
SD Card Registers Name Width Description CID 128 Card identification number: individual card number for identification.RCA 16 Relative原创 2012-03-13 17:52:59 · 1629 阅读 · 0 评论