自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Bloom and Grow

with pain……

  • 博客(227)
  • 资源 (8)
  • 收藏
  • 关注

原创 2012年计划

2012年计划现在是2012-3-11,离这年结束还有9个月,270天左右的时间!要在这些天完成以下目标: 学习英语,考IELTS               保证每天至少1小时RossetStone,这样八月份可以达到Level5. 换工作,工资必须达到自己的最低要求,这个要在5月1号前完成               从LDD开始,LINUX经典的几

2012-03-11 18:49:28 768 1

转载 Device Tree

原文地址            http://www.wowotech.net/linux_kenrel/why-dt.html(一)一、前言作为一个多年耕耘在linux 2.6.23内核的开发者,各个不同项目中各种不同周边外设驱动的开发以及各种琐碎的、扯皮的俗务占据了大部分的时间。当有机会下载3.14的内核并准备学习的时候,突然发现linux kernel对于我似乎变得非常的

2015-06-10 10:55:27 2016

转载 WIFI基本知识整理 .

这里对wifi的802.11协议中比较常见的知识做一个基本的总结和整理,便于后续的学习。因为无线网络中涉及术语很多,并且许多协议都是用英文描述,所以有些地方翻译出来会有歧义,这种情况就直接英文来描述了。 主要内容:一、基本概述二、实践基础三、一些原理四、补充五、其它  一、基本概述 ============================1、有线和无

2015-06-04 10:53:07 2427

转载 Linux进程地址空间的进一步探究

我们知道,在32位机器上linux操作系统中的进程的地址空间大小是4G,其中0-3G是用户空间,3G-4G是内核空间。其实,这个4G的地址空间是不存在的,也就是我们所说的虚拟内存空间。还经常看到下面这个图(来源,不详):                                                                   注意:进程切换时,只是切换

2015-05-10 17:39:50 1885

转载 对进程地址空间的一点认识

对进程地址空间的一点认识在进入正题前先来谈谈操作系统内存管理机制的发展历程,了解这些有利于我们更好的理解目前操作系统的内存管理机制。一 早期的内存分配机制在早期的计算机中,要运行一个程序,会把这些程序全都装入内存,程序都是直接运行在内存上的,也就是说程序中访问的内存地址都是实际的物理内存地址。当计算机同时运行多个程序时,必须保证这些程序用到的内存总量要小于计算机实际物理内存的大小。那当

2015-05-10 17:18:22 3961 1

转载 想成为嵌入式程序员应知道的0x10个基本问题

想成为嵌入式程序员应知道的0x10个基本问题:预处理器(Preprocessor)1 . 用预处理指令#define声明一个常数,用以表明1年中有多少秒(忽略闰年问题)         #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL我在这想看到几件事情:1) #define 语法的基本知识(例如:不能以分号结束,括号的使用,等

2015-05-05 10:28:50 2247

转载 ISR之不能做什么

11 、中断是嵌入式系统中重要的组成部分,这导致了很多编译开发商提供一种扩展—让标准C支持中断。具代表事实是,产生了一个新的关键字 __interrupt。下面的代码就使用了__interrupt关键字去定义了一个中断服务子程序(ISR),请评论一下这段代码。__interrupt double compute_area (double radius) {    double

2015-04-19 19:58:52 4466

转载 Band/Bandwidth

频带(Band) 所谓的频带就是指分配给特定应用的频率范围. 无线设备被限定在某个特定的频带(Frequency Band) 上操作.每个频带都有相应的带宽(Bandwidth),即该频带可供使用的频率总和.带宽是评断链路(Link)数据传输能力的基准.种种理论证明较高的带宽可以传输更多的信息. ISM 频带(2.4GHZ)即工业(Industrial),科学(Sc

2013-10-15 18:34:16 3777

转载 linux下wifi编程(基于netlink和nl80211.h)

http://blog.csdn.net/ljy1988123/article/details/9263983写用户空间程序时,现在官方推荐的唯一编程方式就是基于netlink的nl80211.h编程。       netlink是一种linux下的用户空间和内核空间通信的方式,传输的都是一个个的帧。用户空间程序通过生成预定义好的结构帧,与内核达到传递消息的目的。   

2013-09-29 20:36:36 11657

转载 802.11(wi-fi)的PHY层

版本概要:         802.11-2007是目前的基础版本,之前的过时版本不考虑。         2009是较新的版本,就是目前最普及的802.11n。(100Mb/s)         2012就是传说中的802.11ac,工作在5G,速度牛逼哄哄的,但穿透力不咋的。各种PHY总览:        2007里给出了5种PHY,也就是5

2013-09-29 20:35:08 3939

转载 802.11(wifi)的MAC层功能

MAC层是802.11的主要功能部分。上层应用通过调用MAC层提供的接口原语调用MAC层的功能。     MAC一共向上提供了2大类接口原语,共30种。数据(1)和管理(29)。数据部分就是提供普通数据包的收发接口,管理部分是主要功能部分,例如发起认证、连接、信道扫描等其它所有管理功能,如下表所示:(并非所有的原语都是可调用的,一部分是indication形式的向上通知。有request的

2013-09-29 20:34:17 8445

转载 网卡中的MAC与PHY芯片定义

网卡工作在osi的最后两层,物理层和数据链路层,物理层定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口。物理层的芯片称之为PHY。数据链路层则提供寻址机构、数据帧的构建、数据差错检查、传送控制、向网络层提供标准的数据接口等功能。以太网卡中数据链路层的芯片称之为MAC控制器。很多网卡的这两个部分是做到一起的。他们之间的关系是pci总线接ma

2013-09-29 20:28:42 3348

转载 Why and How to Use Netlink Socket

Why and How to Use Netlink Socket作者:Kevin He,2005-01-05原文地址:http://www.linuxjournal.com/article/7356 译者:Love. Katherine,2007-03-23译文地址:http://blog.csdn.net/lovekatherine/archive/2007/03/23/1

2013-09-22 20:48:47 2047

转载 Linux内核哈希表分析与应用

应用例子kernel\kernel\workqueue.cstruct global_cwq {struct hlist_headbusy_hash[BUSY_WORKER_HASH_SIZE];...}struct worker {/* on idle list while idle, on busy hash table wh

2013-06-24 02:13:22 2072

转载 unsigned long 的用法

unsigned long 的用法在很多函数调用里面都有 unsigned long 参数,事实上他不只是传递一个数(当然大多数情况下就传递一个数),更重要的是通过强转他还能代表一个地址,即当一个指针使用,下面就举例说明。(指针与unsigned long什么关系?没有关系,C中值的类型并非值本身的属性,而是取决于它的使用方式。)一,内核定时器的使用。

2013-06-21 21:12:20 9460

转载 work_queue变化

Linux自从2.6.20之后,工作队列发生了一些变化,目前从网络上搜索的资料一般都是介绍老版本的工作队列,很少见到对新版本的介绍。本文对新老版本都做了简要概述,并分别提供了简单的实作案例。工作队列(work queue)是Linux kernel中将工作推后执行的一种机制。这种机制和BH或Tasklets不同之处在于工作队列是把推后的工作交由一个内核线程去执行,因此工作队列的优势就在于它

2013-06-17 01:29:10 2194

转载 linux2.6内核SD Card Driver详细解析之一

http://blog.csdn.net/wavemcu/article/details/7366852***************************************************************************************************************************作者:EasyWave

2013-06-09 19:49:46 2436

转载 Linux MMC/SD/SDIO体系结构

Linux MMC/SD/SDIO体系结构有关MMC/SD/SDIO相关的知识这里就不多讲了,请参考相关资料。这里主要涉及Linux下MMC相关内容。内核版本(2.6.36)首先说一下Linux相关MMC的代码分布,主要有两个目录,一个头文件目录和一个源代码目录。分别位置如下:include/linux/mmcdrivers/mmc要阅读MMC相关代码就必须要看

2013-06-03 02:14:30 2511

转载 数据读写SD卡下半部分析

在上一文中,作者已经将Read 整个调用过程从Linux 系统调用(SCI,system call interface)至IO调度的整个流程已经讲解的非常清晰明了,在此对作者表示致敬!那这里我接着以Android SD卡为例子,分析IO调度后数据的处理流向!  本文代码基于linux kernel 3.0.4.1. mmcqd mmcqd 是kernel在/kernel

2013-06-03 01:50:38 4703

转载 linux sd卡驱动分析

http://blog.csdn.net/zwj0403/article/details/66545421. 硬件基础:http://blog.ednchina.com/yelov/198217/message.aspxSD/MMC/SDIO 概念区分概要SD (Secure Digital )与 MMC (Multimedia Card )SD 是一种

2013-06-03 01:48:10 1909

转载 SD/MMC 内部寄存器及上电时序

SD/MMC 内部寄存器SD Card RegistersName    Width                                         DescriptionCID      128   Card identification number: individual card number for identification.

2013-05-26 20:49:50 4166

原创 msensor-hal-crash

【现象】  安装微信4.5版本,运行微信后在等待登陆界面(地球界面)停留3-5s手机重启【分析】D/Sensors (  223): SensorBase:setEnable: mEnabled[0]=1, mEnabled[1]=0,mEnabled[2]=0  D/Sensors (  223): activate:handle=2; drv=-22,enable=1E

2013-03-27 10:34:36 1921

原创 FM引起的softdog

[现象]10063   BRCM4330,进入FM,可以收听没有问题,但是点击界面的关闭按钮————>点击界面的关闭按钮再次打开,系统重启。必现。[分析] 重启后adb pull /proc/last_kmsg  .      导出log 如下[  639.510000] > [730]pre_touch:00, finger:80.[  639.520000] e

2013-03-27 09:34:34 1741 1

转载 What should we do when meet a crash in android

What should we do when meet a crash in android?原帖地址:http://leave001.blog.163.com/blog/static/1626912932011226105512484/制造一个crash为了演示的目的,我在libsensors的open_sensors_device中故意制造了一个crash:static int

2013-03-22 19:41:15 1146

转载 Android调试的必杀技——反汇编

在移植Android过程中会遇到很多Crash的情况,尤其是启动Android过程中。一般这些问题都可以通过看代码能解决,当然也有一些比较“妖娆”的问题,非常难找到头绪,在logcat日志也只会打印一些崩溃的堆栈,这些信息很难帮助我们定位问题。根据个人一个实例来介绍一下在Android移植过程中反汇编的用法。     首先先看一下我遇到的一个logcat关于Crash的打印信息:

2013-03-22 19:35:36 1845

转载 如何分析HCI的Command Packet和Event Packet包

HCI Packet包括四种,即Command,Event,ACL和SCO/eSCO,对应到MS-Stack中的定义,即为COMMAND_PACKET ,EVENT_PACKET,DATA_PACKET_ACL和DATA_PACKET_SCO。如下(详细参照bt_hcip.h):enum HCI_TYPE {         COMMAND_PACKET  = 1,

2013-01-23 22:31:20 1512

转载 Core Architecture Blocks (核心架构模块)(二)

Core Architecture Blocks (核心架构模块)(二)CoreArchitecture BlocksChannel ManagerThe channel manager isresponsible for creating, managing, and destroying L2CAP channels for thetransport of servic

2013-01-21 21:10:30 1303

翻译 Bluetooth Core Architecture Blocks (蓝牙核心架构)(一)

Bluetooth Core Architecture Blocks (蓝牙核心架构)(一) 首先,第一幅图是蓝牙官网上的图示,对应蓝牙4.0版本。(2012年7月份最新更新)因为该图不很清楚,有人重画了下,稍微修改了其中一部分,如下图:   在硬件层和软件层之间,蓝牙规范定义了一个HCI层,即主机控制器接口,它提供了一个调用下层BB,LM、状态和控制器寄存

2013-01-21 21:04:31 2502 2

原创 linux内核分析之rbtree的使用

一、理论基础      红黑树是每个节点都带有颜色属性的二叉查找树,颜色为红色或黑色。在二叉查找树强制一般要求以外,对于任何有效的红黑树我们增加了如下的额外要求:性质1. 节点是红色或黑色。性质2. 根是黑色。性质3. 所有叶子都是黑色(叶子是NIL节点)。性质4. 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)性质5. 从任一节点

2013-01-06 00:00:25 10781 1

原创 Android2.3上横竖屏切换

一、Android2.3上横竖屏切换的逻辑详细分析android2.2怎么根据重力感应来改变布局呢,我们来详细分析一下WindowOrientationListener.java这个文件这个文件里有个重要的概念和两个重要的数组,对于我们理解翻转手机带来屏幕布局变化有很大帮助一个概念:布局方式在android2.2官方系统中有三种布局方式,分别叫做ROTATION_0,ROTATIO

2012-12-30 10:54:50 1083

转载 linux时间管理

Linux核心几个重要跟时间有关的名词或变数,底下将介绍HZ、tick与jiffies。1)HZLinux核心每隔固定周期会发出timer interrupt (IRQ 0),HZ是用来定义每一秒有几次timerinterrupts。举例来说,HZ为1000,代表每秒有1000次timer interrupts。HZ可在编译核心时设定,如下所示(以核心版本2.6.20-15

2012-12-29 01:48:27 904

原创 gsensor导致oops分析

[复现场景]MC3230(Gsensor)正常后,image文件下载到没贴MC3230的板子上,系统反复重启。CUSDB00055082[分析过程]实验及log带来的疑惑:1.删掉gsensor的kfree(mc3xx0)不会再有重启现象,2.从log看是死在FM的register_early_suspend,为什么修改gsensor代码会有影响gsensor代码m

2012-12-27 01:09:16 4414 1

转载 关于oop定位错误的学习

6.4 必修实验3--内核异常分析(3)接下来的这些信息,和这个模块的调试没多大关系,它们是虚拟内存页目录、页表信息、oops错误号以及最后访问的sysfs文件等。pgd = c39d8000 [00000000] *pgd=339cf031, *pte=00000000, *ppte=00000000 Internal error: Oops: 817 [#1]  last sysf

2012-12-17 01:21:04 1532

转载 oops信息的分析

oops是英语口语"糟糕"的意思,当LINUX 内核发生严重错误时,比如内存段错误时,将会提示一大段信息。就提示 Oops(也称 panic),因此得名,Oops提示信息相当多,包括出问题时的,各个常用寄存器的值,调用的堆栈,以及出错的可能原因1.oops 的格式  内核的文档里的详细的Oops的说明,的名字是  Documentation/oops-tracing

2012-12-17 01:18:10 8921

转载 linux 内核分析之等待队列

等待队列头定义: include/linux/wait.hstruct __wait_queue_head { spinlock_t lock; struct list_head task_list; }; typedef struct __wait_queue_head wait_queue_head_t;二、作用:在内核里面,等待队列是有很多用处的,尤其是在中断

2012-12-17 00:48:38 797

转载 ARM Linux内核驱动异常定位方法分析--反汇编方式

原创作品,转载请以超链接形式说明出处! 原文链接:http://blog.csdn.net/hunhunzi/article/details/7052032最近在搞Atmel 的SAM9x25平台,Linux系统,用于工业设备。这也是我首次参与工业设备的研发。在调试Atmel SAM9x25的Linux串口设备的时候,发现无论是读还是写,都会产生异常。相关的异常信息如下

2012-12-15 00:02:44 1433

转载 linux 内核分析之list_head

文详细分析了 2.6.x 内核中链表结构的实现,并通过实例对每个链表操作接口进行了详尽的讲解。一、 链表数据结构简介链表是一种常用的组织有序数据的数据结构,它通过指针将一系列数据节点连接成一条数据链,是线性表的一种重要实现方式。相对于数组,链表具有更好的动态性,建立链表时无需预先知道数据总量,可以随机分配空间,可以高效地在链表中的任意位置实时插入或删除数据。链表的开销主要是访问的顺序性

2012-11-25 19:45:10 690

原创 C语言位操作

位操作bit mask  --位屏蔽位屏蔽的含义是:从包含多个位集的一个或一组字节中选出指定的一(些)位。作用分以下几类1)为了检查一个字节中的某些位,可以让这个字节和屏蔽字(bit mask)进行按位与操作(C的按位与运算符为&)——屏蔽字中与要检查的位对应的位全部为1,而其余的位(被屏蔽的位)全部为0。例如,为了检查变量 flags的最低位,你可以让flag

2012-11-21 23:28:26 1818

转载 FIFO和DMA

FIFO  SPI端口增加了FIFO,使得传输数据有了缓冲区间。   FIFO存储器是一个先入先出的双口缓冲器,即第一个进入其内的数据第一个被移出,其中一个存储器的输入口,另一个口是存储器的输出口。主要有三个方面的作用:1)对连续的数据流进行缓存,防止在进机和存储操作时丢失数据;2)数据集中起来进行进机和存储,可避免频繁的总线操作,减轻CPU的负担;3)允许系统进行DMA操作,提高数据的传

2012-11-21 02:04:04 17065

转载 linux进程管理

1.linux进程状态浅析R -TASK_RUNNINGS-TASK_INTERRUPTIBLE  不可中断的睡眠状态D-TASK_UNINTERRUPTIBLE  不可中断的睡眠状态2.睡眠--TASK_INTERRUPTIBLE and TASK_UNINTERRUPTIBLEhttp://www.cnblogs.com/parrynee/archive

2012-11-18 13:54:34 756

I2C协议标准 中文PDF

周立功公司的I2C介绍,中文PDF 参考非常实用

2011-07-16

INSIDE BREW

国内BREW 高手写的经典之作,对初学brew的人来说可以很好的理解brew的机制。 放在这里是为了以后方便查看,象征性的1分,呵呵

2011-03-25

深入BREW APP创建,运行,退出机制

2011-03-19

深入BREW APP创建,运行,退出机制.pdf

解释BREW APP的管理机制

2011-03-19

毕业设计之图书管理(采用ASP.NET2.0+SQL2005实现)

实现了图书管理的基本功能,包括开题报告、源码、演示PPT、最终论文,都是本人亲力所为,希望给大家提供帮助!

2010-03-07

文件系统(c语言实现,在linux下编译)

模拟了多级文件系统的基本功能:创见用户、建立 修改 读写 删除 拷贝 粘贴 重命名文件……对初学者理解文件系统很有帮助!

2008-09-20

音乐彩灯的设计及实现

可以实现播放两首歌曲,并在PC机与试验箱之间切换

2008-07-03

空空如也

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

TA关注的人

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