- 博客(43)
- 资源 (1)
- 收藏
- 关注

原创 利用qemu进行内核源码级调试
=================================本文系本站原创,欢迎转载!转载请注明出处:http://blog.youkuaiyun.com/gdt_a20=================================概要:看kernel代码的时候,变量多了,就记不清楚了,尤其是读内存部分代码的时候,传来传去,常常不知道改成什么样子了,内存布局到底变成什么了,也
2012-02-03 15:45:07
13319
1

原创 linux设备模型之spi子系统
相比于前面介绍的i2c子系统,spi子系统相对简单,和i2c的结构也很相似,这里主要介绍一下平台无关部分的代码。先概括的说一下,spi总线或者说是spi控制器用结构体struct spi_master来表述,而一般不会明显的主动实现这个结构而是借助板级的一些信息结构,利用spi的模型填充,存在板级信息的一条链表board_list,上面挂接着板级spi设备的描述信息,其挂接的结构是struct boardinfo,这个结构内部嵌入了具体的板级spi设备所需信息结构struct spi_board_info,
2011-05-22 16:22:00
4578

原创 linux设备模型之i2c子系统
===============================本文系本站原创,欢迎转载!转载请注明出处:http://blog.youkuaiyun.com/gdt_a20=============================== I2c子系统将i2c控制器(i2c寄存器所在的那块电路)抽象出来,用adapter(适配器)这个结构来描述,可以说一个适配器就代表一条i2c总线,而挂
2011-05-20 00:00:00
3274

原创 linux设备模型之platform
platform可以说是内核抽象出来的一条虚拟总线平台,内核开发者原意是想把硬件层次上的结构关系用软件抽象模拟出来,但是对一些硬件,这样做往往不太合适,例如对于片上soc,外围设备的控制器都集成在处理器上,如果过度的剥离抽象,会使得原本物理上紧密的结构而在软件上变成的偏于独立,因此有了platform,对于联系紧密的soc这往往再合适不过,另外对于从soc上直接引出的引脚,难于独立出来,都可以利用platform来表述。 有了前面关于bus,driver,device的理解,platf
2011-05-18 14:18:00
2637
2

原创 linux设备模型之bus,device,driver分析二
===============================本文系本站原创,欢迎转载!转载请注明出处:http://blog.youkuaiyun.com/gdt_a20=============================== 上篇分析了bus,driver的注册过程,这篇主要分析device的注册,并总结给出个流程图。三、device的注册 还是照例先看一下device
2011-05-17 16:40:00
6119
3

原创 linux设备模型之bus,device,driver分析一
===============================本文系本站原创,欢迎转载!转载请注明出处:http://blog.youkuaiyun.com/gdt_a20=============================== 内核的开发者将总线,设备,驱动这三者用软件思想抽象了出来,巧妙的建立了其间的关系,使之更形象化。结合前面所学的知识,总的来说其三者间的关系为bus有两条链表,分别用于挂接设备和驱动,指定了其自身bus的device或者driver最后都会分别连接到对应
2011-05-17 02:15:00
5868

原创 关于linux设备模型kobject,kset,ktype
--------------------------------------------------------本文系本站原创,欢迎转载!转载请注明出处:http://blog.youkuaiyun.com/gdt_a20-------------------------------------------------------- 一、sysfs文件系统下的每个目录对应于一个kobj,k
2011-05-16 15:52:00
5524
1
转载 Hardware Acceleration
http://developer.android.com/guide/topics/graphics/hardware-accel.htmlHardware AccelerationBeginning in Android 3.0 (API level 11), the Android 2D rendering pipeline is designed to better su
2012-08-05 23:24:11
1887
原创 linux中断之下半部
一、概要 中断是内核不可缺少的一部分,但是中断处理程序本身存在一些局限性, a.中断方式以异步方式执行并且有可能会打断期待其他重要代码,甚至包括其它中断处理程序的执行,因此为了避免被打断的代码停止的时间过长,中断处理程序应该执行得越快越好。 b.如果当前有一个中断处理程序在运行,在最好的情况下(如果设置了SA_INTERRUPT),与该中断同级的其它中断会被屏蔽,在最坏的情况下
2012-03-19 23:03:27
2093
原创 linux内核同步之相关概念
摘要:说明一下同步相关的几个概念1、临界区:访问和操作共享数据的代码段2、同步原因:用户空间之所以需要同步,是因为用户程序会被调度程序抢占和重新调度,这会造成对临界区的再次访问,这样就会产生竞争。严格意义上这不是真正的并发,仍然是串行,我们可以称之为伪并发,在smp上,则会真正的出现两个进程在临界区中同事执行,也就是真并发3.造成并发执行的原因: a.中断:
2012-03-14 11:41:13
1488
原创 linux同步之相关工具
=================================本文系本站原创,欢迎转载!转载请注明出处:http://blog.youkuaiyun.com/gdt_a20=================================摘要: 以前文为基础,看一下kernel中相关的同步工具;1.原子操作 原子操作可以保证指令以原子方式执行,执
2012-03-13 14:34:20
1536
原创 linux设备模型之input子系统
==================================本文系本站原创,欢迎转载!转载请注明出处:http://blog.youkuaiyun.com/gdt_A20==================================摘要:input子系统是kernel中比较简单的一个子系统,主要用来管理输入设备(触摸屏,键盘等等),个人感觉可以作为driver
2012-03-11 22:17:42
4145
原创 linux同步之spinlock
=================================本文系本站原创,欢迎转载!转载请注明出处:http://blog.youkuaiyun.com/gdt_A20=================================简单浏览一下spinlock,以arm为例,一、spincklock结构:include/linux/spinlock_t
2012-03-11 18:50:17
3219
原创 linux内存模型之buddy(伙伴)系统二分配与释放
===================================本文系本站原创,欢迎转载!转载请注明出处:http://blog.youkuaiyun.com/gdt_A20===================================一、摘要 最重要的还是分配与释放,下面看一下相关的几个函数;分配函数: 1.alloc_pages(gfp
2012-03-08 22:33:20
3717
原创 linux内存模型之buddy(伙伴)系统三从bootmem到buddy的过渡
===================================本文系本站原创,欢迎转载!转载请注明出处:http://blog.youkuaiyun.com/gdt_A20=================================== 摘要: buddy基本模型建立起来后,bootmem也将要退出历史舞台了,boomem管理的内存都要过渡到buddy中,同样高端
2012-03-08 20:03:49
4756
原创 linux内存模型之buddy(伙伴)系统一概览及相关数据结构
==================================本文系本站原创,欢迎转载!转载请注明出处:http://blog.youkuaiyun.com/gdt_A20==================================一、摘要 前面说过的bootmem分配器只不过是早期内存分配的一种方法,linux最终底层是以伙伴系统为模型,伙伴系统的基本
2012-03-07 00:28:13
3437
原创 ubuntu 中安装java jdk 1.6
--------------------------------------------------------------------------------------------本文系本站原创,欢迎转载!转载请注明出处:http://blog.youkuaiyun.com/gdt_a20/article/details/7307681-----------------------------
2012-02-29 20:54:35
2459
转载 DMA的控制方式
转自:http://www.worlduc.com/blog.aspx?bid=3791093DMA的控制方式DMA方式的基本概念 直接内存访问(DMA)是一种完全由硬件执行I/O交换的工作方式。在这种方式中,DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU,而直接在内存和I/O设
2012-02-24 11:20:21
7775
转载 晶体三极管工作原理讲解方法探讨(转载:此文无解)
转自:http://blog.sina.com.cn/s/blog_60c4c4e90100fg23.html晶体三极管作为一个常用器件,是构成现代电子世界的重要基石。然而,传统的教科书对其工作原理的讲述却存在有很大问题,使初学者对三极管的工作原理无法正常理解,感到别扭与迷茫。 晶体三极管原理问题的关键在于:集电结为什么会反向导通?这与晶体二极管原理中强调的PN结单向导电特性(
2012-02-06 18:05:32
2782
原创 三极管非门电路原理(反相器)
----------------------------------------------------------------------------------------------本文系本站原创,欢迎转载!转载请注明出处:http://blog.youkuaiyun.com/gdt_a20/article/details/7233264---------------------------
2012-02-04 14:09:36
27517
原创 三极管工作原理(表现形式)
----------------------------------------------------------------------------------------------本文系本站原创,欢迎转载!转载请注明出处:http://blog.youkuaiyun.com/gdt_a20/article/details/7232899-----------------------
2012-02-04 10:36:26
4223
1
原创 二极管或门电路原理
----------------------------------------------------------------------------------------------本文系本站原创,欢迎转载!转载请注明出处:http://blog.youkuaiyun.com/gdt_a20/article/details/7232540---------------------------
2012-02-03 22:20:41
14250
1
原创 二极管与门电路原理
----------------------------------------------------------------------------------------------本文系本站原创,欢迎转载!转载请注明出处:http://blog.youkuaiyun.com/gdt_a20/article/details/7229989---------------------------
2012-02-03 00:56:00
56275
8
原创 linux内存模型之bootmem分配器<二>
-----------------------------------------------------------本文系本站原创,欢迎转载!转载请注明出处:http://blog.youkuaiyun.com/gdt_a20----------------------------------------------------------- 简介:介绍一下上文遗留的两个结构memblo
2012-02-02 23:15:36
3270
原创 linux内存模型之bootmem分配器<一>
==================================本文系本站原创,欢迎转载!转载请注明出处:http://blog.youkuaiyun.com/gdt_a20==================================简介:bootmem分配器是系统启动初期的内存分配方式,在耳熟能详的伙伴系统,slab系统建立前内存都是利用bootmem分配器来
2012-02-02 18:24:44
3864
原创 linux设备模型之mmc,sd子系统<三>
-----------------------------------------------------------本文系本站原创,欢迎转载!转载请注明出处:http://blog.youkuaiyun.com/gdt_a20-----------------------------------------------------------####看一下重要的卡扫描函数,mmc_r
2012-02-01 22:55:02
6092
1
原创 linux设备模型之mmc,sd子系统<二>
-----------------------------------------------------------本文系本站原创,欢迎转载!转载请注明出处:http://blog.youkuaiyun.com/gdt_a20-----------------------------------------------------------继续上一篇文章,先看一个重点结构,平台相关,真正对
2012-02-01 18:31:16
3286
原创 linux设备模型之mmc,sd子系统<一>
------------------------------------------------------------本文系本站原创,欢迎转载!转载请注明出处:http://blog.youkuaiyun.com/gdt_a20------------------------------------------------------------sd卡driver最关键的是host部分,
2012-02-01 14:41:32
4718
1
转载 SPI/I2C总线
转自:http://hi.baidu.com/narshben/blog/item/300dc82ec60eba4c4ec2264b.html虽然现实世界中的信号都是模拟信号,但是越来越多的模拟IC产品通过数字接口实现通讯。微处理器通过几条总线控制周边的设备,比如:模/数转换器(ADC),数/模转换器(DAC),智能电池,端口扩展,EEPROM以及温度传感器。串行接口在提供串行
2012-01-31 09:55:27
3847
转载 SD卡协议学习点滴(三)
转自:http://hi.baidu.com/narshben/blog/item/98f3e008a778b83fe8248849.html宽总线选择/取消选择:宽总线(4bit)模式可以通过ACMD6选择/取消选择,默认工作模式为1bit模式。为了改变总线宽度,以下两个条件须满足:1. SD卡处于Transfer 状态 2.SD卡未被锁定2Gbyte SD卡:
2012-01-31 09:50:58
2204
转载 SD卡协议学习点滴(二)
转自:http://hi.baidu.com/narshben/blog/item/cfcb983e52e36c3271cf6cb2.html数据传输模式:在SD卡识别模式结束之前,控制器使用的时钟频率均为Fod。在数据传输模式,控制器可能会使用Fpp频率。控制器发送一条SSEND_CSD(CMD9)命令来获取SD卡CSD寄存器(Card Specific Data)里面的描述
2012-01-31 09:49:36
1896
转载 SD卡协议学习点滴(一)
转自:http://hi.baidu.com/narshben/blog/item/b427a416dd2bea4520a4e992.html首先SD卡有所谓操作模式(operation mode)的概念,每种操作模式又具体对应一种或多种状态,主机通过发送命令可以使SD卡在不同的状态间转换,SD卡则接受命令,并根据自己现在所处状态做出不同的响应。系统上电时刻或者搜寻SD卡时,S
2012-01-31 09:48:17
2404
转载 sd卡调试关键点
转自:http://tescte.blog.163.com/blog/static/48515294201023930279/SD卡调试关键点:1. 上电时要延时足够长的时间给SD卡一个准备过程,在我的程序里是5秒,根据不同的卡设置不同的延时时间。SD卡初始化第一步在发送CMD命令之前,在片选有效的情况下首先要发送至少74个时钟,否则将有可能出现SD卡不能初始化的问题。
2012-01-31 09:42:58
1657
原创 linux启动流程导读(arm为例)<二>
==============================================本文系本站原创,欢迎转载!转载请注明出处:http://blog.youkuaiyun.com/gdt_a20/article/details/7220389==============================================进入init/main.cstart_ke
2012-01-30 18:21:58
2812
1
原创 linux启动流程导读(arm为例)<一>
==============================================本文系本站原创,欢迎转载!转载请注明出处:http://blog.youkuaiyun.com/gdt_a20/article/details/7220389==============================================以arm为例,分析一下kernel的启动过程;
2012-01-30 18:10:36
4216
1
转载 MIPI display standards for mobile Internet devices
原文地址:http://www2.electronicproducts.com/MIPI_display_standards_for_mobile_Internet_devices-article-FAJH_CMD_May2009-html.aspxThe latest display interface aids handheld designsBY ALLEN TUNGCali
2012-01-30 14:52:19
1871
原创 linux中断导读之--处理流程
==================================本文系本站原创,欢迎转载!转载请注明出处:http://blog.youkuaiyun.com/gdt_a20==================================前面大致把处理流程都稍代说了,这里总结下大概过程,跳过前面的已经说过的中断汇编部分,asm_do_IRQ ----handle_IRQ
2012-01-30 14:28:43
1335
1
原创 linux中断导读之--注册部分
==================================本文系本站原创,欢迎转载!转载请注明出处:http://blog.youkuaiyun.com/gdt_a20==================================前面介绍了中断的初始化代码,稍带着执行流程也过的差不多了这里看下我们经常碰到的中断的注册,看看和前面是怎么关联起来的,也就是request_i
2012-01-30 14:21:12
2030
1
原创 linux中断导读之--初始化<2>
==================================本文系本站原创,欢迎转载!转载请注明出处:http://blog.youkuaiyun.com/gdt_a20==================================继续上一篇,看一下中断向量表初始化部分:代码在init/main.c-start_kernel/setup_arch(&command_line)
2012-01-30 13:03:49
1954
1
原创 linux中断导读之--初始化<1>
==================================本文系本站原创,欢迎转载!转载请注明出处:http://blog.youkuaiyun.com/gdt_a20==================================看一下linux中断部分,分为三部分,初始化,处理流程以及注册流程。先看第一部分初始化:在======= init/mai
2012-01-30 11:47:53
3695
u-boot-2010.09 for mini2440
2011-05-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人