自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

转载 内核升级

ubuntu内核升级,亲测

2016-12-02 15:53:43 262

原创 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

原创 mipis汇编指令

http://www.cnblogs.com/SA226343/p/3272275.html

2016-12-02 15:53:07 1016

原创 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

stm8代码生成器

一个STM8S的代码生成小工具,很好用,可以当库文件的说明看,也可以生成各个函数,使用方便

2016-11-29

风驰电子STM8S开发

STM8S系列的使用官方库实现简单功能的示例代码,可以加快开发

2016-11-29

SD2.0 SD3.0规范

SD2.0 和SD3.0的规范文档,英文

2016-11-29

Android深入浅出之AudioTrack

Android深入浅出之AudioTrack

2012-07-01

可编程逻辑器件系统设计制作训练 fpga最小系统

FPGA最小系统板电路原理图如图5.1.3~5.1.6所示,最小系统板由XC2S100E 、50MHz晶振、电源部分、插针、指示部分、PROM和开关组成。电源部分将5V直流经过TPS70451转换得到+3.3V和+1.8V的直流电。PROM(XC18V02)是一个掉电存储器,在掉电时可自动保存数据。四个40脚双列插针用于和其它外部设备连接

2010-05-24

FPGA工程师面试试题.doc

如题 FPGA工程师面试试题57、用D触发器做个4进制的计数.(华为) 58、实现N位Johnson Counter,N=5.(南山之桥) 59、用你熟悉的设计方式设计一个可预置初值的7进制循环计数器,15进制的呢?(仕兰 微电子)

2010-05-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除