自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(79)
  • 收藏
  • 关注

转载 ARM内核全解析,从ARM7,ARM9到Cortex-A7,A8,A9,A12,A15到Cortex-A53,A57

前不久ARM正式宣布推出新款ARMv8架构的Cortex-A50处理器系列产品,以此来扩大ARM在高性能与低功耗领域的领先地位,进一步抢占移动终端市场份额。Cortex-A50是继Cortex-A15之后的又一重量级产品,将会直接影响到主流PC市场的占有率。围绕该话题,我们今天不妨总结一下近几年来手机端较为主流的ARM处理器。   以由高到低的方式来看,ARM处理器大体

2016-11-22 11:38:49 1999

转载 ARM体系结构

1. ARM概述1.1 Application Cortex Processors (ARM Cortex 应用处理器 )       • Cortex™-A 系列 - 开放式操作系统的高性能处理器      Cortex 应用处理器在先进工艺节点中可实现高达 2GHz+ 标准频率的卓越性能,从而可支持下一代的移动 Internet 设备。这些处理器具有单核和多核种类,最多提供四个

2016-11-22 11:37:28 505

转载 ARM Introduction

ArchitectureProcessor Architecture = Instruction Set + Programmer’s modelArchitecture4T5TE67coreARM7TDMIARM922TThumb instruc

2016-11-22 11:36:29 619

转载 Windows下如何获取usb device信息

Windows provided some API to get the device's detail information, include USB STORAGE HID PCI etc#include #include // for GUID_DEVCLASS_CDROM etc#include #include // for MAX_DEVICE_ID_

2016-09-01 18:18:01 16049 7

转载 xHCI spec 1.0

extensible host controller interface for universal serial bushttps://www.baidu.com/link?url=z2hfp3-c-cOXawkxSPYRriOUlyUcuSE0ZQHK-4G4o3LaqF_FltA35ncxy3F3cU8uL5QHaFIophw-DRHGMRq8NLWB6gRRDP505Y_QLVJ9IH

2016-07-03 14:18:23 1836

原创 debugfs dump usb device info

使用kernel自带的debugfs来dump usb device信息:1.   mount debugfsmount –t debugfsnone /sys/kernel/debug2.   Dump USB devicecat/sys/kernel/debug/usb/devices

2016-05-12 11:25:28 652

原创 SCSI work flow

static int queuecommand_lck(structscsi_cmnd *srb,                            void(*done)(struct scsi_cmnd *)){         structus_data *us = host_to_us(srb->device->host);          /*check for

2016-05-03 16:11:43 580

转载 Linux 内核 SCSI IO 子系统分析

Linux 内核 SCSI IO 子系统分析研究 LINUX 内核中 SCSI 子系统处理 IO 的过程本文基于 LINUX2.6.18 内核,从 SCSI 设备访问请求的提交,SCSI 命令的处理、错误恢复几个方面浅析了 LINUX 内核中 SCSI 子系统的 IO 的处理机制。概述LINUX 内核中 SCSI

2016-04-29 13:31:07 920

转载 script/ shell脚本 callstack如何dump

将script加入到需要check的脚本中即可。例如需要check ins_all_mod.sh的callstack,将附档中script加入到其最后即可。# FILE       : sctrace.sh# LICENSE    : GPL v2.0 (only)# PURPOSE    : print the recursive callers' list for a sc

2016-04-08 09:07:09 851

转载 insmod过程详解

转自 http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=27717694&id=3971861一、前言对于现在编译的一些module要insmod在系统上时,可能会报各种各样的错误。这些错误仔细研读内核源码,都能找出原因。2.6 内核以前的insmod部分主要依赖于modutils源码包,在用户层基本将工作完成,加载

2016-04-07 18:56:45 13645 1

原创 获取driver导出的所有symbol

echo 0 > /proc/sys/kernel/kptr_restrict // shell cmd; su权限 cat /proc/kallsyms | grep xxx // shell cmd, xxx is the symbol name, and we can find the detail address of xxx r 0xxxxx //

2016-04-07 17:11:45 366

转载 USB Mass Storage大容量存储的基本知识

转自: http://www.crifan.com/files/doc/docbook/usb_disk_driver/release/htmls/ch02_msc_basic.html第 2 章 USB Mass Storage大容量存储的基本知识目录2.1. USB Mass Storage相关的协议2.1.1. USB Mass Storage相关

2016-03-30 20:13:13 4373

原创 kmalloc fail导致系统异常

如果在中断ISR中间有作memory alloc的动作,有可能会遇到如下的BUG log信息,分析如下:1  ISR中不能存在任何可调度的动作,如sleep等2  在ISR中申请memory时,最好尽量使用 kmalloc(xxx, GFP_ATOMIC), 而不要使用kmalloc(xxx, GFP_KERNEL), 因为GFP_KERNEL是可以被打断的,如果因memory not e

2016-03-29 15:11:22 2403

转载 Device Tree(三):代码分析

Device Tree(三):代码分析作者:郭健 发布于:2014-6-6 16:03 分类:统一设备模型一、前言Device Tree总共有三篇,分别是:1、为何要引入Device Tree,这个机制是用来解决什么问题的?(请参考引入Device Tree的原因)2、Device Tree的基础概念(请参考DT基础概念)3、ARM linux中和D

2016-02-24 10:43:05 593

转载 Device Tree(二):基本概念

Device Tree(二):基本概念作者:郭健 发布于:2014-5-30 16:47 分类:统一设备模型一、前言一些背景知识(例如:为何要引入Device Tree,这个机制是用来解决什么问题的)请参考引入Device Tree的原因,本文主要是介绍Device Tree的基础概念。简单的说,如果要使用Device Tree,首先用户要了解自己的硬件配置和系统运

2016-02-24 10:38:18 460

转载 Device Tree(一):背景介绍

Device Tree(一):背景介绍作者:郭健 发布于:2014-5-22 16:46 分类:统一设备模型一、前言作为一个多年耕耘在linux 2.6.23内核的开发者,各个不同项目中各种不同周边外设驱动的开发以及各种琐碎的、扯皮的俗务占据了大部分的时间。当有机会下载3.14的内核并准备学习的时候,突然发现linux kernel对于我似乎变得非常的陌生了,各种新的机制,

2016-02-24 10:11:37 331

转载 Kmemleak Introduction

Kernel Memory Leak Detector===========================Introduction------------Kmemleak provides a way of detecting possible kernel memory leaks in away similar to a tracing garbage collector(h

2016-01-20 19:26:49 1300

转载 一张图看尽 Linux 内核运行原理

2016-01-18 18:49:00 632

转载 vim 常用命令

基本命令:e filenameOpen filename for edition:wSave file:qExit Vim:q!Quit without saving:xWrite file (if changes has been made) and exit

2016-01-11 15:01:27 365

转载 usb host controller & usb core & usb device driver之间的关系

使用USB设备时,两个模块是必须的:usb核心模块:usbcore      usb主机控制器驱动( host controller driver ),如ehci_hcd、ohci_hcd、uhci_hcd、xhci、musb等等usbcore:       usbcore负责实现一些核心的功能,为别的设备驱动程序提供服务,提供一个专用于访问和控制usb硬件的接口,

2016-01-05 10:44:27 2409

转载 Linux用户空间与内核空间

Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,两者不能简单地使用指针传递数据,因为Linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,对应的数据可能不在内存中。Linux内核地址映射模型x86 CPU采用了段页式地址映射模型。进程代码中的地址为逻辑地址,经过段页式地址映射后,才真正访问物理内存。段

2016-01-04 16:22:35 401

转载 CMA Introduce

CMA(Contiguous Memory Allocator)是智能连续内存分配技术,是Linux Kernel内存管理系统的扩展,目的在于解决视频播放(特别对于4K视频)需要预留大量连续内存导致运行内存紧张的问题。1、 简介连续内存分配器(CMA - Contiguous Memory Allocator)是一个框架,允许建立一个平台无关的配置,用于连续内存的管理。然后,设备所需内

2015-12-31 17:58:08 604

原创 Mount usb device

mount -t vfat /dev/sda1 /mnt/usb/sda1

2015-12-25 17:43:01 453

转载 Android getevent / sendevent的用法

Android 自带了 getevent 和 sendevent,分别用于获取设备报送的事件和模拟产生事件,前者用于辅助设备驱动的验证,后者用于模拟事件进行上层应用的验证。关于event设备的获取,在 /proc/bus/input/devices 下面:$ adb shell cat /proc/bus/input/devicesgetevent和sendevent用法:

2015-12-01 17:43:27 555

原创 CDC: 配置USB为Gadget serial device

Linux支持连接各种USB从设备,同时也支持自己作为设备插入到其他主机当中。最典型的例子就是Android OS的手机,插入电脑可以被识别为U盘之类的设备。对于SOC来说,这部分直接对应了USB Device部分的操作。为了避免与作为主机时支持的"设备驱动 (USB Device Driver)"一词混淆, Linux给这部分的实现取名为"Gadget" (小玩具)。内核源码的目录为\d

2015-11-17 10:59:29 7874 1

转载 persist: usb persist config

usb driver support suspend / resume 如果suspend完成之前,usb VBUS未掉电,resume之后usb driver会对device作reset动作,来重新开始与设备的通信。疑问:为什么不是resume之后对设备重新作枚举呢 ? suspend完成之前device未掉电,因此resume时系统仍旧认为有device接入。相应的driver维护的数

2015-11-16 16:43:24 2086

转载 diff命令生成补丁

1、使用diff生成补丁;diff是Linux下的文件比较命令,参数这里就不说了,直接man一下就行了,不仅可以比较文件,也可以比较两个目录,并且可以将不同之处生成补丁文件,其实就是一种打补丁的命令。使用方法如下:diff -rNu a b > diff.patch

2015-11-13 10:34:55 789

转载 如何区分U盘和硬盘

According to  Mass Storage spec, the  SCSI command INQUIRY can distinguish USB HDD from USB flash memory.After INQUIRY is send, data format of  device returns is asbelow:The field RMB (bit7 of byt

2015-10-22 11:36:02 687

转载 如何使用Mediawiki搭建个人wiki系统、以及wiki的部分基本操作和设置

本文讲述如何使用Mediawiki搭建个人wiki系统、以及wiki的部分基本操作和设置Mediawiki Wamp php pdf导出目录[-]Wiki安装基本配置常用插件备份及优化    日常开发中总会有许多东西需要记录,很多软件都可以做到这一点,例如有道云笔记,或者写博客。但个人偏爱于Mediawiki,因为wiki可定制性强,

2015-09-28 11:16:36 14677

转载 USB OTG规范的SRP和HNP协议

OTG设备首先应该是符合USB2.0规范的设备,此外它还具有以下特征[1]:1. 有限的主机性能2. 像外围设备一样能进行全速操作(可选高速)3. 像主机一样支持全速(可选低速和高速)4. 可连接的外围设备清单(Targeted Periphral List)5. 会话请求协议SRP6. 主机交换协议HNP7. 只有一个Min

2015-09-25 15:13:10 10412

原创 常用工具下载链接

串口终端工具ttermpro:http://external.informer.com/ttssh2.sourceforge.jp/

2015-09-18 14:32:55 1138

转载 fcntl使用及FD_CLOEXEC详解

fcntl使用说明转自 http://www.cppblog.com/mysileng/archive/2013/01/15/197279.aspx功能描述:根据文件描述词来操作文件的特性。#include #include  int fcntl(int fd, int cmd); int fcntl(int fd, int cmd, long arg); in

2015-09-18 14:00:29 4083

转载 addr2line objdump命令使用方法

在Linux下写C/C++程序的程序员,时常与Core Dump相见。在内存越界访问,收到不能处理的信号,除零等错误出现时,我们精心或不精心写就的程序就直接一命呜呼了,Core Dump是Linux仁慈地留下的程序的尸体,帮助程序员们解决了一个又一个问题。有时配置不给力,Linux直接毁尸灭迹,没有了Core文件;又有时,刚好磁盘空间不足,Core文件写不下了。没有Core文件的时候,如何知道

2015-08-27 20:47:45 7821

原创 学习USB需要知道的几件事

藉由本版面,来记录一下自认为USB学习过程中所需要知道的几件事情,这中间的知识点有从网上摘录,也有自己总结的一部分,一并整理出来以更为系统清晰的理解USB driver 藉由本版面,来记录一下自认为USB学习过程中所需要知道的几件事情,这中间的知识点有从网上摘录,也有自己总结的一部分,一并整理出来以更为系统清晰的理解USB driver 1       USB driver部分的构

2015-08-25 15:01:34 588

转载 USB系统设备模型建立流程

USB设备模型建立流程概览S3c2440处理器中集成有USB控制器,该主控制器作为平台设备s3c_device_usb添加到内核,该设备与驱动ohci_hcd_s3c2410_driver匹配后调用函数usb_hcd_s3c2410_probe。在函数usb_hcd_s3c2410_probe中获取硬件资源,为USB主控制器结构体usb_hcd分配内存,调用函数usb_add_hcd填

2015-08-24 15:41:59 464

转载 为什么WiFi和USB3.0会互相干扰?

补充:关于基准频率的问题,根据评论里的说法有一定争议,USB3.0规范里给出过基准频率是2.5GHz的说法(up to the fundamental frequency of 2.5 GHz),但规范里给出的信号图里换算过来是5GHz,至少可以得知的是,USB3.0芯片里有2.5GHz的东西,是这东西产生的干扰,总线上是否以 2.5GHz传输还存疑。原回答:首先,需要

2015-08-17 09:41:07 30432 3

转载 Unix 與 MS-DOS 指令對照表

UnixMS-DOS 說   明  例          子 cdcd進入目錄cd ..mkdirmd開子目錄mkdir hellopwdcd顯示目前目錄pwdenvset顯示目前環境變數envsetenvset設定環境變數setenv pp pwd

2015-08-03 20:13:44 745

转载 常见内存分配算法及优缺点

常见内存分配算法及优缺点常见内存分配算法及优缺点如下:  (1)首次适应算法。使用该算法进行内存分配时,从空闲分区链首开始查找,直至找到一个能满足其大小需求的空闲分区为止。然后再按照作业的大小,从该分区中划出一块内存分配给请求者,余下的空闲分区仍留在空闲分区链中。  该算法倾向于使用内存中低地址部分的空闲分区,在高地址部分的空闲分区非常少被利用,从而保留了高地址部分的大空闲区。显然

2015-07-21 17:16:28 1404

原创 Build error handing

1  initialization makes pointer from integer without a cast->  该error多半是在做类型强转时操作不当引起,譬如将某一地址赋值给指针变量时,如果按如下操作,则会引发该erroruint8_t *pBase = 0xf0053000正确的写法应当是uint8_t *pBase =(uint8_t *)0xf005

2015-07-10 09:39:25 481

原创 如何将linux ko档copy至android

android_definintion.mak

2015-06-11 19:29:46 520

空空如也

空空如也

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

TA关注的人

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