- 博客(61)
- 资源 (7)
- 收藏
- 关注
转载 usb基础知识
USB 基本知识USB的重要关键字:1、端点:位于USB设备或主机上的一个数据缓冲区,用来存放和发送USB的各种数据,每一个端点都有惟一的确定地址,有不同的传输特性(如输入端点、输出端点、配置端点、批量传输端点)2、帧:时间概念,在USB中,一帧就是1MS,它是一个独立的单元,包含了一系列总线动作,USB将1帧分为好几份,每一份中是一个USB的传输动作。3、上行、下行:设备到主
2016-12-28 10:45:07 286
转载 usb工作过程
USB的工作原理及数据包格式 一 概述 对于USB的工作我这里做个比方,主机好比一个公司,你就是USB设备,要进入公司首先要面试(枚举),你到了面试现场(第一次插入设备),面试官首先了解到你的外表,性别已经你要应聘的岗位(设备描述符),然后给你一个号,以后就开始按号叫人,当你被叫到就开始问你的专业知识,性格等(配置描述符),如果你比较合适(通过了枚举)你就会录取了,并且注册一个你的信息到公司(驱
2016-12-28 10:40:22 861
转载 USB枚举过程图解
USB 最主要的的是要理解 USB主机发送命令给设备,设备要对主机的命令进行响应, USB通讯的基本单位为 “包” 理解好“包”这个概念是学习USB的关键所在。包有如下分类:分别是令牌包、数据包、握手包和特殊包(其实是由PID决定的)令牌包:可分为输入包、输出包、设置包和帧起始包(注意这里的输入包是用于设置输入命令的,输出包是用来设置输出命令的,而不是放据数的)其
2016-12-28 10:37:54 1699
原创 scatter/gether的知识点 struct scatterlist
struct scatterlist *sglist { unsigned long page_link;//page 位置,大约就是虚拟地址page的位置 unsigned int offset;//偏移量 unsigned int length;//长度 dma_addr_t dma_address;//dma的地址,应该就是总线地址 unsi
2016-12-27 17:17:23 1420
转载 usb urb接口
一. 简介 usb总线是一种轮询式总线,协议规定所有的数据传输都必须由主机发起,usb主机与设备之间是通过管道(pipe)传输的,管道两边分别对应主机中的数据缓冲区和设备侧的端点(endpoint),端点是通信的发送和接收点,要发送数据,只要把数据发到对应的端点就可以,而这个数据发送的动作由usb主机实现,驱动中只需确定接收端点,然后把数据提交给主机控制器,主机会把数据发送
2016-12-27 11:29:42 946
转载 pci简单接口函数
/* dev and priv zeroed in alloc_etherdev */ dev = alloc_etherdev (sizeof (*tp)); if (dev == NULL) { dev_err(&pdev->dev, "Unable to alloc new net device/n"); return
2016-12-26 14:37:32 4849
原创 如何向kernel提交patch
1。安装msmtpmsmtp 是一款专门负责邮件发送的客户端软件,基于GPL发布,支持TLS/SSL、DNS模式、IPv6、服务器端认证、多用户等特性。其主页是 msmtp.sourceforge.net:直接用sudo apt-get install msmtp安装安装好后,进行基本配置$ cat .msmtprc# Set default values fo
2016-12-09 16:28:03 2290
原创 下载安装sparse,进行代码检查编译
使用sparse进行代码检查,参考文章: https://lwn.net/Articles/87538/可以在https://www.kernel.org/pub/software/devel/sparse/dist/下载sparse的版本,解压后,make make installmake C=2
2016-12-09 10:55:29 498
转载 Linux ALSA声卡驱动之八:ASoC架构中的Platform
1. Platform驱动在ASoC中的作用前面几章内容已经说过,ASoC被分为Machine,Platform和Codec三大部件,Platform驱动的主要作用是完成音频数据的管理,最终通过CPU的数字音频接口(DAI)把音频数据传送给Codec进行处理,最终由Codec输出驱动耳机或者是喇叭的音信信号。在具体实现上,ASoC有把Platform驱动分为两个部分:snd_soc_plat
2016-12-05 17:06:38 268
转载 Linux ALSA声卡驱动之三:PCM设备的创建
1. PCM是什么 PCM是英文Pulse-code modulation的缩写,中文译名是脉冲编码调制。我们知道在现实生活中,人耳听到的声音是模拟信号,PCM就是要把声音从模拟转换成数字信号的一种技术,他的原理简单地说就是利用一个固定的频率对模拟信号进行采样,采样后的信号在波形上看就像一串连续的幅值不一的脉冲,把这些脉冲的幅值按一定的精度进行量化,这些量化后的数值被连续地输
2016-12-02 16:15:59 422
转载 git 怎么用命令发送patch补丁…
http://blog.csdn.net/V__KING__/article/details/14122409
2016-12-02 15:54:05 290
转载 SD mmc
现在讨论SD卡的硬件驱动:1、首先对于SD卡,采取的是一答一应的模式(主机没发一次命令,SD卡就回应一次)。而对于SD卡的操作基于两方面:命令+内部寄存器,并且对于寄存器的操作也还是通过命令,所以命令是SD卡的心脏。SD卡只有几个寄存器而已,不过这些寄存器很重要,具体如下:CID寄存器,有128位,用于:卡识别号,每张卡都有唯一的识别号;RCA寄存器 ,有16位,用于: 发布卡的地址,卡的
2016-12-02 15:54:02 398
原创 查看patch在哪次内核版本生效
If I go to look to see what release it was in, I normally do: $ git describe --contains 0136db586c028f71e7cc21cc183064ff0d5919 v3.6-rc1~59^2~56^2~76However, it really showed up first
2016-12-02 15:53:59 1707
原创 制作RPM
原文链接:http://blog.chinaunix.net/uid-21123336-id-1830527.html一 RPM介绍RPM 前是RedHat Package Manager 的缩写,本意是RedHat 软件包管理,顾名思义是RedHat 贡献出来的软件包管理;现在应为RPMPackage Manager的缩写。在Fedora、Redhat、Mandriva、S
2016-12-02 15:53:57 379
转载 DKMS简介
DKMS简介DKMS on UbuntuDKMS全称是DynamicKernel ModuleSupport,它可以帮我们维护内核外的驱动程序,在内核版本变动之后可以自动重新生成新的模块。在使用dkms之前首先需要确保系统中已经安装了DKMS,在Ubuntu下可以执行下面这个命令安装。sudo apt-get install dkmsDKMS要求我们的代码目录必须以
2016-12-02 15:53:54 39495 1
原创 ubuntu--访问PC/SC读卡器
因为PC/SC是Windows的体系,以系统API的层面服务应用。所以一直以来智能卡相关的读卡器和工具都集中在Windows上,而在unix体系下则一直水土不服。值得庆幸的是随着开源组织M.U.S.C.L.E (Movment for the Use ofSmart in LinuxEnvironment)的积极努力下,pcsclite作为Xnix下的PC/SC设备框架和应用接口已经成为了事
2016-12-02 15:53:51 4898 1
转载 修复grub
在使用Ubuntu系统或者安装双系统时,有时天有不测风云。或是找不到grub2引导,或是整个硬盘的mbr搞坏掉,使电脑瘫痪。怎么办?今天向大家介绍一个非常好用的方法,可以修复引导,当然也能修复硬盘的mbr.OS:Ubuntu12.04/12.10我们需要准备的是:1、ubuntu的启动盘CD/USB都可以2、就是网络 INTERNET,你必须有网络环境。接下来要做的就是:启动ubunt
2016-12-02 15:53:48 371
原创 linux网络配置
redhat下配置网络主要有两种方式:敲setup命令图形界面配置和通过修改网络配置文件的方式。前者的本质也是修改配置文件。下面重点介绍修改网络配置文件的方式。一、IP的配置:第一(二)块网卡的配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0(1)DEVICE=eth0BOOTPROTO=none //指定是静态分配IP还
2016-12-02 15:53:46 169
原创 Taglist安装 ctags直接用apt-…
Taglist是以tags文件为基础,需要ctags生成tags文件。安装ctags,Redhat和CentOS可以执行yum installctags,Debian和Ubantu可以执行apt-get install ctags下载Taglist,地址是http://sourceforge.net/projects/vim-taglist/files/vim-taglist/解压tagl
2016-12-02 15:53:40 458
原创 dev_dbg dynamic dbg使用
debugfs 默认路径sys/kernel/debug log输出机制0.注意该机制只对 dev_dbg ->dynamic_dev_dbg 定义的debug log输出加以控制1.如何使用:(kernel/Documentation/dynamic-debug-howto.txt) mkdir /data/debugfs
2016-12-02 15:53:38 514
原创 debugfs
在进行系统调试的时候,有可能会使用到debug file system。下面讲解如何具体使用debug file system1. 在kernel中使用debug file system[On Linux 2.6.39] make menuconfig -->Kernel hacking --> 选中Debug Filesystem (CONFIG_DEBUG_FS)选项。[On
2016-12-02 15:53:35 566
原创 github 更新
github上有个功能叫fork,可以将别人的工程复制到自己账号下。这个功能很方便,但其有一个缺点是:当源项目更新后,你fork的分支并不会一起更新,需要自己手动去更新。以github用户名:micmiu ,fork 项目sql-parser(原始地址https://github.com/FoundationDB/sql-parser)到自己账号下 https://github.com/mi
2016-12-02 15:53:33 242
原创 SD卡寄存器
SD Card RegistersName Width DescriptionCID 128 Card identification number:individual card number for identification.RCA 16 Relativecard
2016-12-02 15:53:30 5110
原创 struct device dev;&nbs…
一:dma_mask与coherent_dma_mask的定义在linux内核中,引入了platform_device与platform_driver,这样就很方便了平台的设备与驱动。在include\linux\platform_device.h下:struct platform_device { const char * name; int id; structdevice d
2016-12-02 15:53:27 407
原创 自动创建设备节点 ,手动创建…
error: implicit declaration of ‘class_device_create’这个代码在Kernel 2.6.18下面编译的时候没有任何问题。为什么在2.6.34下面会出现这个错误呢?难道class_device_create这个kernel API已经从新版kernel里面移除了?google了一下,发现确实是已经被移除了,在新版的kernel里面,可以使
2016-12-02 15:53:24 782
原创 SD读写
http://www.cnblogs.com/scnutiger/p/3776170.htmlmmc io的读写从mmc_queue_thread()的获取queue里面的request开始。 先列出调用栈,看下大概的调用顺序, 下面的内容主要阐述这些函数如何工作。host->ops->request() // sdhci_request()mmc_start_request()mm
2016-12-02 15:53:21 374
原创 CMAKER
CMAKE 的一些命令http://www.cnblogs.com/coderfenghc/archive/2012/10/20/2712806.html假设有一个TestHttpClientSolution,这个Solution下分别有TestHttpClient工程(可执行程序)和HttpClient工程(动态库)。这样我们需要三个CMakeLists.txt文件。其中HttpCl
2016-12-02 15:53:19 1099
原创 git pull冲突
今天用git pull来更新代码,遇到了下面的问题:[html] view plain copy pull冲突" />pull冲突" />error: Your local changes to the following files would be overwritten by merge: xxx/xxx/xxx.java Please, commit yo
2016-12-02 15:53:16 200
原创 mmc子系统
drivers\mmc\host\rtsx-icr.cmodule_platform_driverdriver_register(&rtsx_icr_driver);rtsx_icr_probemmc = mmc_alloc_host(sizeof(*icr), dev);request_irq(host->irq, s3c2410sdi_irq, 0, DRIVER_NAME,hos
2016-12-02 15:53:13 653
原创 pci设备的初始化
pci设备的初始化这里讨论系统上电时的情况, 热插拔的情况应该差不多.首先是从根总线开始, 然后就是扫描这个根总线上的每一条子BUS, 如下:unsigned int pci_scan_child_bus(struct pci_bus *bus){ unsigned intdevfn, pass, max = bus->secondary; structpci_dev
2016-12-02 15:53:10 2986
原创 ubuntu常用工具安装
最近在重装ubuntu12.04的环境。因为之前的ubuntu环境被我删掉一个文件后就不能进入系统了(悲慛)。重装ubuntu的过程是无比艰难的,几乎每一个小的进度都是通过在网上查阅大量的资料,以及向周围的同事请教才能达成。比如下面一些工具软件的安装过程,以及一些问题的解决过程,还真的来之不易。1、linux与windows共享目录设置中,/mnt/hgfs/下显示不出windows的共享目录
2016-12-02 15:53:05 1845
原创 ubantu搭建android编译平台
Android源码:官方下载Android编译版本: PLATFORM_VERSION=4.2.2OS 操作系统平台: Linux carson-pc 3.0.0-12-generic #20-Ubuntu SMP Fri Oct7 14:56:25 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux(Ubuntu11.04 64bit)1. 要用jdk1.6
2016-12-02 15:53:02 253
原创 ubantu安装JDK
Installing default JRE/JDKsudo apt-get updatesudo apt-get install default-jresudo apt-get install default-jdkInstalling Oracle JDKsudo apt-get install python-software-propertiessudo add-apt-re
2016-12-02 15:52:59 258
原创 rtl8169网卡驱动
原文:http://www.bubuko.com/infodetail-844822.html本文通过学习RealTek8169/8168/8101网卡的驱动代码(drivers/net/r8169.c),梳理一下Linux下网卡的收包过程。在下水平相当有限,有不当之处,还请大家斧正^_^ 驱动的初始化如下的rtl8169_init_module函数是此驱动的初始化代码,此函数只干了一
2016-12-02 15:52:56 3592 2
原创 uboot流程
http://blog.chinaunix.net/uid-23193900-id-3184107.htmlhttp://wenku.baidu.com/link?url=4uWQwfh3hCsXR2V3kdDDzTGxwbsfyTV4h7IxF78ccyCoxqST2efsoLjUPkiryokFicwtnONzap-ZVCMb7jGH-GkA00kxPIelnXLuYsiLOYqhttp
2016-12-02 15:52:54 215
原创 Sphinx 使用手册
http://zh-sphinx-doc.readthedocs.org/en/latest/rest.html#id44http://www.cnblogs.com/seayxu/p/5603876.html
2016-12-02 15:52:51 225
原创 mtk驱动
转载:http://blog.csdn.net/cbk861110/article/details/93854391. LCD1.1怎样新建一个LCD驱动LCD模组主要包括LCD显示屏和驱动IC。比如LF040DNYB16a模组的驱动IC型号为NT35510。要在MT577平台上新建这个lcd的驱动,步骤如下:A. 新建文件夹nt35510:\mediatek\custo
2016-12-02 15:52:48 1131
原创 ubuntu 下安装 texlive&…
http://www.cnblogs.com/lienhua34/p/3675027.htmlhttp://kkdevs.tumblr.com/post/38275843739/使用-sphinx-透過-latex-輸出中文-pdfhttp://seisman.info/chinese-support-for-sphinx.html#id1http://blog.sina.com.cn/
2016-12-02 15:52:45 231
可编程逻辑器件系统设计制作训练 fpga最小系统
2010-05-24
FPGA工程师面试试题.doc
2010-05-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人