自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 android Wifi/LCD/Camera调试总结

http://www.360doc.com/content/11/1125/17/8157643_167337011.shtml

2017-08-07 10:04:44 538 1

转载 LINUX SCSI I/O分析

2012-12-11 21:30 5187人阅读 评论(1) 收藏 举报 分类:网络存储(9) 概述LINUX 内核中 SCSI 子系统由 SCSI 上层,中间层和底层驱动模块 [1] 三部分组成,主要负责管理 SCSI 资源和处理其他子系统,如文件系统,提交到 SCSI 子系统中的 IO 请求。因此,理解 SCSI 子系统的 IO 处理机制对理

2017-03-01 11:07:28 893

转载 如何快速对系统重启问题进行归类

原文:http://xiaobai.m.blog.chinaunix.net/uid-29728680-id-5567130.html[DESCRIPTION]  当手机发生系统重启,即导致kernel重启的异常时,会在手机中的/data/aee_exp目录下保存异常重启的db。工程师可以通过GAT的bug report功能,或者直接通过adb pull,把对应的db从手机中抓

2017-02-04 17:50:49 631

转载 USB 枚举和设备描述符之学习笔记

无论何时,当USB设备连接到USB总线时, USB子系统都会进行枚举 (Enumeration) 操作。USB设备被分配到一个唯一的设备编号值 ( 1 ~ 127 ) , 然后设备描述符被读出。 USB设备描述符是一个包含有设备信息和属性的数据结构。USB规范定义描述符的层次结构如下:标准描述符:设备描述符描述

2015-11-26 15:28:45 943

转载 sd卡驱动(初识)

这段时间突然要弄sd卡,先了解一下基础概念。块设备和驱动模型还没看呢,只是了解了一个字符设备,压力有点大呀,不过还是硬着头皮看吧!加油一.SD/MMC卡介绍1.1.什么是MMC卡MMC:MMC就是MultiMediaCard的缩写,即多媒体卡。它是一种非易失性存储器件,体积小巧(24mm*32mm*1.4mm),容量大,耗电量低,传输速度快,广泛应用于消

2015-09-15 16:00:20 554

转载 busybox详解

2013-10-11 10:24 3435人阅读 评论(0) 收藏 举报目录(?)[+]根文件系统及Busybox详解之一根文件系统及Busybox简介目录1.根文件系统简介…22.Busybox简介…22.1Busybox简介…22.2Busybox目录结构简介…22.3init进程简介…33.构建自己的根文件系统…9

2015-08-20 18:09:13 616

转载 git 用法

一、提交步骤1:首先,跳转到项目根目录2:查看当前状态3:把我们要提交的文件的信息添加到索引库中4: 提交文件到本地库5:合并到远程代码库(首先要将远程库,pull到本地,否则不能push)5.1:没有将远程库pull到本地,报错:6:pull远程到本地7:设置 git ignore 过滤文件,.class 后缀文件不提交到远程

2015-08-03 15:00:19 701

转载 Linux中变量$#,$@,$0,$1,$2,$*,$$,$?的含义

我们先写一个简单的脚本,执行以后再解释各个变量的意义 # touch variable# vi variable 脚本内容如下: #!/bin/shecho "number:$#"echo "scname:$0"echo "first :$1"echo "second:$2"echo "argume:$@"

2015-07-09 10:52:57 286

转载 基于linux-2.6.38.8内核的SDIO/wifi驱动分析

转自:http://blog.csdn.net/wh_19910525/article/details/73925181、sdio接口层解析SDIO总线     SDIO总线 和 USB总线 类似,SDIO也有两端,其中一端是HOST端,另一端是device端。所有的 通信 都是 由HOST端 发送 命令 开始的,Device端只要能解析命令,就可以相互通信。  C

2015-07-03 14:20:35 511

转载 linux SD卡驱动分析

1. 硬件基础:SD/MMC/SDIO 概念区分概要SD (Secure Digital )与 MMC (Multimedia Card )SD 是一种 flash memory card 的标准,也就是一般常见的 SD 记忆卡,而 MMC 则是较早的一种记忆卡标准,目前已经被 SD 标准所取代。 SDIO 是目前我们比较关心的技术,SDIO 故名思义,就是 SD

2015-07-03 14:18:30 344

转载 Linux内核调试方法总结

目录[-]一  调试前的准备二  内核中的bug三  内核调试配置选项1  内核配置2  调试原子操作四  引发bug并打印信息1  BUG()和BUG_ON()2  dump_stack()五  printk()1  printk函数的健壮性2  printk函数脆弱之处3  LOG等级4  记录缓冲区5  syslogd/klog

2015-07-01 11:16:52 515

转载 svn常用命令

global arguments--username 用户名--password 密码--quiet(-q) 安静模式e.g.[plain] view plaincopyprint?svn -q --username mjn --password mjn co http://192.168.1.2/svn/sr

2015-06-30 16:15:56 290

转载 [svn] 解决SVN冲突攻略(手册)

zccst翻译 This tutorial is walkthough on how to resolve a conflict in svn (subversion) 这个手册是解决svn冲突的攻略 First I will make a test.txt 首先,我创建了一个名为test.txt的文件(在svn服务器端),并录入如下内容 test Now

2015-06-30 16:13:59 272

转载 字符操作函数大全

函数名: strstr功 能: 在串中查找指定字符串的第一次出现用 法: char *strstr(char *str1, char *str2);程序例:#include #include int main(void){   char *str1 = "Borland International", *str2 = "nation", *ptr; 

2015-06-16 17:18:28 415

转载 Android linux的休眠和唤醒

1. Early suspend/ late resume 是android 添加的机制,用户关闭LCD, TS, Sensors等为了省电。可称之为浅度休眠2. Linux的Suspend/resume 仍然有效,可称之为深度休眠3. echo mem > sys/power/state 会触发early suspend,    echo on > sys/power/s

2015-05-19 11:42:28 274

转载 sscanf函数的用法

头文件 #include            定义函数 int sscanf (const char *str,const char * format,........);            函数说明             sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。格式转换形式请参考scanf()。转换后的结果存于对应的参数内。

2015-05-05 19:36:53 376

转载 linux c字符测试篇

isalnum(测试字符是否为英文或数字)相关函数 isalpha,isdigit,islower,isupper表头文件 #include定义函数 int isalnum (int c)函数说明 检查参数c是否为英文字母或阿拉伯数字,在标准c中相当于使用“isalpha(c) || isdigit(c)”做测试。返回值 若参数c为字母或数字,则返回TRUE,否则返回NUL

2015-04-09 13:12:22 373

转载 Linux信号深度解剖

!声明:按照Linux的习惯, 我的这篇文档也遵循GPL 协议: 你可以随意应用并修改本文档,必须发布你的修改,使其他人可以获得一份Copy,尤其是给我一份Copy! 我的mail :[email protected] | [email protected] 均可。欢迎论坛转载! 目前有些内容已经在 www.linuxforum.net中进行过讨论,可以前往:http://ww

2015-04-02 15:47:47 447

转载 Linux Kernel and Android 休眠与唤醒(request_suspend_state)

http://blog.chinaunix.net/uid-21091200-id-1830745.htmlTable of Contents简介国际化版本信息对于休眠(suspend)的简单介绍Linux Suspend 的流程相关的文件:准备, 冻结进程让外设进入休眠ResumeAndroid 休眠(suspend

2015-03-04 11:33:06 519

转载 PF_NETLINK应用实例NETLINK_KOBJECT_UEVENT具体实现--udev实现原理

原文地址:http://www.cnblogs.com/hoys/archive/2011/04/09/2010759.html相对于linux来说,udev还是一个新事物。然而,尽管它03年才出现,尽管它很低调(J),但它无疑已经成为linux下不可或缺的组件了。udev是什么?它是如何实现的?最近研究Linux设备管理时,花了一些时间去研究udev的实现。      udev是

2015-03-04 11:30:35 340

转载 linux core dump学习

1. core dump是什么?core dump又叫核心转储,当操作系统收到特定的signal时,会生成某个进程的core dump文件。这样程序员可以根据已经生成的core dump文件来debug查错。gdb -c core_file ./mainbt这样就能看到函数的调用栈了,不过很多时候这个调用栈信息对debug来讲可能是没用的。2. 如何确认linu

2015-03-04 10:05:45 335

转载 Ubuntu环境下挂载新硬盘

Ubuntu系统的硬盘空间不够用了,需要增加新的硬盘扩容。将硬盘分区、格式化、自动挂载配置的整个过程记下来,备忘。一、硬盘分区 | Hard disk add new partition1、显示硬盘及所属分区情况。在终端窗口中输入如下命令:sudo fdisk -lu显示当前的硬盘及所属分区的情况。如下图所示:系统提示:DIsk /dev/sdb doesn

2015-02-25 10:50:40 314

转载 关于Linux系统调用,内核函数

早上听人说到某个程序的一部分是内核态,另一部分是用户态,需要怎么怎么。当时突然想知道,用户的程序可以直接调用内核函数吗?(现在突然发觉这问题有点可笑,若是可以随便调,那系统岂不是乱套了)从网上找到下面这篇文章,讲的还算透彻。现在自己的理解是,用户程序不可用直接调用内核函数,除非通过系统调用接口。如果想调用哪个内核函数(或自己写的内核函数),怎么办?增加一个系统调用就行了。原文如下:

2015-02-14 11:02:04 477

转载 等待队列wait_queue_head_t使用

当你在用户空间需要读写一大片数据的时候,这个就用上了。以下来自:http://www.yuanma.org/data/2006/1207/article_1916.htm假设我们在 kernel 里产生一个 buffer,user 可以经由 read,write 等 system call 来读取或写资料到这个 buffer 里。如果有一个 user 写资料到 buffer 时,此

2015-02-08 15:20:39 476

转载 Linux多线程编程 - sleep 和 pthread_cond_timedwait

摘要:多线程编程中,线程A循环计算,然后sleep一会接着计算(目的是减少CPU利用率);存在的问题是,如果要关闭程序,通常选择join线程A等待线程A退出,可是我们必须等到sleep函数返回,该线程A才能正常退出,这无疑减慢了程序退出的速度。当然,你可以terminate线程A,但这样做很不优雅,且会存在一些未知问题。采用pthread_cond_timedwait(pthread_cond_t

2015-02-05 16:58:14 489

转载 pthread_cond_signal

pthread_cond_signal函数的作用是发送一个信号给另外一个正在处于阻塞等待状态的线程,使其脱离阻塞状态,继续执行.如果没有线程处在阻塞等待状态,pthread_cond_signal也会成功返回。但使用pthread_cond_signal不会有“惊群现象”产生,他最多只给一个线程发信号。假如有多个线程正在阻塞等待着这个条件变量的话,那么是根据各等待线程优先级的高低确定哪个线

2015-02-05 16:56:40 325

转载 如何增加虚拟机ubuntu的硬盘

一前言:我们刚开始在虚拟机上安装ubuntu的时候,总是舍不得分配太多的硬盘空间。但用着用着时间久了硬盘就不够了。一种最笨的方法就是重装系统,但却费时费神。如果能够在不重装系统的情况下增加硬盘就好了。下面就来实现它。二.1.首先把ubuntu shutdown.2.在VMware里点击菜单VM——>Settings3.在Hardware里面单击底下的Add按钮,然后

2015-02-02 17:58:12 401

转载 Linux内核regulator架构和编写

电源种类介绍      (百度百科)LDO是low dropout regulator,意为低压差线性稳压器,是相对于传统的线性稳压器来说的。传统的线性稳压器,如78xx系列的芯片都要求输入电压要比输出电压高出2v~3V以上,否则就不能正常工作。但是在一些情况下,这样的条件显然是太苛刻了,如5v转3.3v,输入与输出的压差只有1.7v,显然是不满足条件的。针对这种情况,才有了LDO类的电源

2015-01-28 19:44:28 457

转载 Android应用程序框架层和系统运行库层日志系统源代码分析

在开发Android应用程序时,少不了使用Log来监控和调试程序的执行。在上一篇文章Android日志系统驱动程序Logger源代码分析中,我们分析了驱动程序Logger的源代码,在前面的文章浅谈Android系统开发中Log的使用一文,我们也简单介绍在应用程序中使Log的方法,在这篇文章中,我们将详细介绍Android应用程序框架层和系统运行库存层日志系统的源代码,使得我们可以更好地理解Andr

2015-01-08 14:59:39 343

转载 Android日志系统驱动程序Logger源代码分析

我们知道,在Android系统中,提供了一个轻量级的日志系统,这个日志系统是以驱动程序的形式实现在内核空间的,而在用户空间分别提供了Java接口和C/C++接口来使用这个日志系统,取决于你编写的是Android应用程序还是系统组件。在前面的文章浅谈Android系统开发中LOG的使用中,已经简要地介绍了在Android应用程序开发中Log的使用方法,在这一篇文章中,我们将更进一步地分析Logger

2015-01-08 14:53:55 537

转载 浅谈Android系统开发中LOG的使用

在程序开发过程中,LOG是广泛使用的用来记录程序执行过程的机制,它既可以用于程序调试,也可以用于产品运营中的事件记录。在Android系统中,提供了简单、便利的LOG机制,开发人员可以方便地使用。在这一篇文章中,我们简单介绍在Android内核空间和用户空间中LOG的使用和查看方法。 一. 内核开发时LOG的使用。Android内核是基于Linux Kerne 2.36的,因此,Linux Ker

2015-01-08 14:51:37 338

转载 Android移植busybox

http://www.cnblogs.com/cslunatic/p/3196014.htmlAndroid 的toolbox没有自动补齐,命令少,对于开发人员还是需要busybox,直接移植官方的busybox会有很多问题,主要是因为基于Android的交叉编译工具并没有采用glibc作为C库,而是采用了Google自己开发的Bionic Libc,它的官方Toolchain也是基于

2015-01-07 09:20:10 393

转载 在Linux和Android中用C语言写系统日志

写程序难免需要用到调试信息,由于某些原因,有的调试信息想把它放到系统日志中去。因此今天试验了一下分别在Linux和Android中用C语言写系统日志。首先是在Linux中尝试写系统日志,关于这方面的资料网上已经很多了,我先把我的代码贴到下面吧。/****************************** syslog.c *****************************

2015-01-06 11:48:02 449

转载 android NDK的android.mk文件的详解

[xhtml] view plaincopyLOCAL_PATH := $(call my-dir)    include $(CLEAR_VARS)    LOCAL_MODULE    := tun    LOCAL_SRC_FILES := tunemu.c tun.c    LOCAL_CFLAGS := /  -I/ho

2015-01-06 09:47:07 313

转载 makefile 中 $@ $^ %< 使用

这篇文章介绍在LINUX下进行C语言编程所需要的基础知识。在这篇文章当中,我们将会学到以下内容:源程序编译Makefile的编写程序库的链接程序的调试头文件和系统求助1.源程序的编译在Linux下面,如果要编译一个C语言源程序,我们要使用GNU的gcc编译器。 下面我们以一个实例来说明如何使用gcc编译器。假设我们有下面一个非

2015-01-05 20:18:10 234

转载 嵌入式 ntp国内可用校时服务器地址

time-b.timefreq.bldrdoc.gov 132.163.4.102 NIST, Boulder, Colorado time.asia.apple.comtime-c.timefreq.bldrdoc.gov 132.163.4.103 NIST, Boulder, Coloradoutcnist.colorado.edu 128.138.140.44 Un

2015-01-05 19:43:08 1692

转载 嵌入式 NtpClient 选项用法详解

用法:程序NtpClient[选项]选项:-c count count时间计数后停止(默认为0意味直到永远)-d      打印诊断(功能可以在编译时关闭)-g 选项会导致程序NtpClient后得到的结果更准确,而不仅仅是(微秒,默认为0意味直到永远停止)-h 主机名(ip地址)(强制)NTP服务器,对系统时间来衡量-i 间隔时间 每隔一定时间检查时间(默认值为600)

2015-01-05 19:39:49 5316

转载 CFLAGS参数详解(Desktop cflags)

CFLAGS 是决定 Gentoo 系统效能与稳定的关键之一。恰当的 CFLAGS 能在效能、编译时间、与系统稳定度中取得平衡,失败的 CFLAGS 可能导致编译失败,甚至系统损毁。那么,在茫茫 CFLAGS 海中,如何才能捞到命中注定那根针呢? 此文件的 CFLAGS 针对 x86 与 x86-64 平台上的 GCC 3.4 (GNU Compiler Collections - htt

2015-01-05 11:51:22 2825

转载 grep用法

grep一般格式为:[Copy to clipboard] [ - ]CODE:grep [选项]基本正则表达式[文件]这里基本正则表达式可为字符串。单引号双引号在g r e p命令中输入字符串参数时,最好将其用双引号括起来。在调用模式匹配时,应使用单引号。例如:“m y s t r i n g”。这样做有两个原因,一是以防被误解为s h e l l命令

2014-12-11 11:55:04 418

转载 网络数据包收发流程(一):从驱动到协议栈

一、硬件环境intel82546:PHY与MAC集成在一起的PCI网卡芯片,很强大bcm5461:   PHY芯片,与之对应的MAC是TSECTSEC:      Three Speed Ethernet Controller,三速以太网控制器,PowerPc 架构CPU里面的MAC模块            注意,TSEC内部有DMA子模块  话说现在的CPU越来越牛

2014-12-09 15:37:38 434

空空如也

空空如也

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

TA关注的人

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