自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 驱动注册的probe函数

probe的调用 从driver_register看起:int driver_register(struct device_driver * drv){        klist_init(&drv->klist_devices, klist_devices_get, klist_devices_put);        init_completion(&drv->unload

2012-03-19 13:24:41 350

转载 中断与异常

中断分为同步中断与异步中断。同步中断也叫异常是CPU执行特定的指令产生的事件,他打断CPU正常执行的指令而执行设定好的指令。异步中断也叫中断是由CPU外部中断信号产生的,每个CPU都有一个或多个中断引脚,当引脚上出现中断中断信号的时候,CPU就会停止执行当前的指令而去执行特定的代码。在linux中,中断处理至关重要,它影响着整个系统的性能。中断程序运行时,当前进程Current宏无效,所以中断程序

2012-03-08 11:13:01 293

转载 进程

进程是多道程序设计的操作系统的基本概念。进程是程序运行的实体。他是描述程序已经执行到了何种程度的数据结构的汇集,也是操作系统分配系统资源(cpu时间,内存,磁盘)的实例。一. 进程描述符        进程是比较抽象的概念,linux下描述进程的数据结构为进程描述符。进程描述符代表了一个进程所有的数据结构,文件,以及运行上下文。进程描述符是这么的复杂,在linux中大约占用1.7K个字节,

2012-03-08 11:12:19 294

转载 内核寻址

内存地址分为三种:逻辑地址,线性地址,物理地址。在分段的CPU结构中,程序中引用的地址都是逻辑地址,逻辑地址经过分段单元成为线性地址。然后经过分页单元成为物理地址,物理地址就是硬件电路寻址的实际地址。如果CPU体系结构不支持分段,那么逻辑地址等于物理地址。一般RSIC指令的CPU都不支持分段,如arm。复杂指令的CPU支持分段,如x86。一.分段        1.硬件中的分段:因为x86

2012-03-08 11:11:55 523 1

转载 内核同步

linux内核中运行的程序,时刻都要防止并发引起的竞态。这将会导致数据结构被破话,严重的时候会引起内核崩溃。所以内核同步技术对内核开发的驱动程序来说非常重要。不懂内核同步技术的人,是写不出安全健壮的内核驱动程序来的。在学习内核同步技术之前需要掌握一下几个概念。        1 并行,并发与竞态:在SMP运行的linux内核是真正的并行运行程序,多个CPU可以同时访问同一数据结构,而在单处理器

2012-03-08 11:11:13 504

转载 基于mini2440的ov9650摄像头裸机测试

mini2440提供了一个摄像头接口,可以输出RGB24,RGB16的原始图像还可以输出编码的如YUV格式的图像,并提供了偏移翻转,放大缩小的功能。与开发板配套的摄像头模块为CAM130,采用ov9650的芯片。操作摄像头接口实现视频的采集与显示,主要配置两个部分的寄存器:ov9650的寄存器,摄像头接口寄存器。        ov9650寄存器在模块的内部,s3c2440是以sccb总线来与

2012-03-08 11:10:11 962 2

转载 HAL开发基础

Android HAL层,即硬件抽象层,是Google响应厂家“希望不公开源码”的要求推出的新概念1,源代码和目标位置源代码: /hardware/libhardware目录,该目录的目录结构如下:/hardware/libhardware/hardware.c编译成libhardware.so,目标位置为/system/lib目录/hardware/libhardware/inc

2012-02-29 14:53:26 298

原创 虚拟机出现的一些问题

今天早上上班开虚拟机时出现错误unable to open kernel device"\\.\Global\vmx86",google后找到了解决办法:1.在出现 Unable to open kernel device "\\.\Global\vmx86"后关闭VMWARE2.运行 net start vmx86 提示:发生系统错误 1275。    此驱动程序被阻止加载3.去c:

2012-02-20 09:52:59 2329

转载 在Ubuntu上下载、编译和安装Android最新源代码

看完了前面说的几本书之后,对Linux Kernel和Android有一定的认识了,是不是心里蠢蠢欲动,想小试牛刀自己编译一把Android源代码了呢?一直习惯使用Windows系统,而Android源代码是不支持在Windows上编译上,于是决定使用虚拟机安装Ubuntu,然后下载、编译和安装Android源代码。     一. 环境准备。     1. 磁盘空间预留20G左右,内存3G

2012-02-08 13:56:55 343

转载 linux内核input子系统解析

Android、X windows、qt等众多应用对于linux系统中键盘、鼠标、触摸屏等输入设备的支持都通过、或越来越倾向于标准的input输入子系统。    因为input子系统已经完成了字符驱动的文件操作接口,所以编写驱动的核心工作是完成input系统留出的接口,工作量不大。但如果你想更灵活的应用它,就需要好好的分析下input子系统了。一、input输入子系统框架    下图是

2012-01-04 11:31:33 266

转载 android 电阻触摸屏

1.触摸屏硬件原理1.1电阻触摸屏    中断产生。触摸屏芯片根据触摸按下时电阻分压值发生变化而产生中断,该中断输入给CPU。产生的条件很简单,主要有VDD,GND信号即可。因此,我们在调试时,可以在没有驱动的情况下去测量中断脚,是否在有触摸时发生变化,以前验证模块的好坏。 1.2电容触摸屏    中断产生和电阻屏类似,只不过电容屏是由于人体接触时形成耦合电容,从而电流发生变化。

2011-12-27 17:04:20 728

转载 Android系统编译环境

编译Native C的hello,world模块    Android 编译环境本身比较复杂,且不像普通的编译环境:只有顶层目录下才有Makefile文件,而其他的每个component都使用统一标准的 Android.mk. Android.mk文件本身是比较简单的,不过它并不是我们熟悉的Makefile,而是经过了Android自身编译系统的很多处理,因此要真正理清楚其中的联系还比较复杂,

2011-12-09 15:10:34 509

转载 Android平台开发指导(Android Porting Guide)(一)

本文为Android平台开发人员和Android设备制造商提供了底层开发指导。如果你对Android的上层应用开发很感兴趣,请访问Android Developers Site。关于这份指导书这份指导书按照逻辑划分为几个部分(见目录)。在一个持续的开发过程中,Android是一个复杂的工程项目,随着版本和API的改变,这份指导书将会不断更新。至使用者对于精通嵌入式Linux的工程师

2011-12-09 14:40:47 1011

转载 boot.img的生成

在制作android烧写镜像时,boot.img是一个很重要的文件boot.img在一般情况下包括了ramdisk、kernel,  KERNEL_CMDLINE, FLASH_PAGE_SIZE四个部分。从Android/build/core/Makefile文件中可以看到boot.img的生成过程.INSTALLED_BOOTIMAGE_TARGET:=$(PRODUCT_OUT)

2011-12-09 13:53:03 2308

转载 ramdisk.img的生成过程

ramdisk.img是组成boot.img的重要部分,从Android/build/core/Makefile中可以看到ramdisk.img的生成该过程.    # the ramdisk    INTERNAL_RAMDISK_FILES := $(filter $(TARGET_ROOT_OUT)/%, \  $(ALL_PREBUILT) \ $(ALL_COPIED_HEADE

2011-12-09 13:52:28 2809

转载 MTD的坏块管理

由于NAND Flash的现有工艺不能保证NAND的Memory Array在其生命周期中保持性能的可靠,因此在NAND芯片出厂的时候,厂家只能保证block 0不是坏块,对于其它block,则均有可能存在坏块,而且NAND芯片在使用的过程中也很容易产生坏块。因此,我们在读写NAND FLASH 的时候,需要检测坏块,同时还需在NAND驱动中加入坏块管理的功能。  NAND驱动在加载的

2011-12-09 13:51:56 980

转载 Android开机画面制作(Bootloader阶段)

Android开机画面由三部分组成,第一部分在bootloader启动时显示(在Android1.5版本以前是显示一个小企鹅,1.5版本及之后取消了);第二部分是在Kernel启动初始化时,出现“A N D R I O D”文字字样画面;第三部分是在平台图形系统启动后,出现含闪烁的ANDROID字样的动画。在bootloader阶段,aboot_init函数中,调用了display_init完

2011-12-09 10:32:38 609

转载 关于android启动过程中logo

android开机启动会有3个logo出现:1. bootable启动,出现Android机器人图像;             修改目标:用自定义的ppm图片替代/drivers/video/logo/logo_linux_clut224.ppm,同时删除logo_linux_clut224.c logo_linux_clut224.o文件这样才能使编译的使用logo_linux_clut

2011-12-08 14:50:06 954

转载 关于图片显示质量的细节问题

5mbox v1.55改进了很多问题,其中一个非常重要的问题就是图片显示中的色差问题。具体点来说,就是颜色的损失。比如现在我有一张png的图片,它是24 bpp的(24 bpp的意思是:图片中的每个像素都由24个bit来表示,这也就是我们常见的RGB888模式,用二进制来表示就是0000 0000 rrrr rrrr gggg gggg bbbb bbbb)当然了,根据图片解码器的

2011-12-05 09:54:14 858

转载 platform设备驱动

platform设备驱动1.platform总线、设备与驱动在Linux 2.6的设备驱动模型中,关心总线、设备和驱动这3个实体,总线将设备和驱动绑定。在系统每注册一个设备的时候,会寻找与之匹配的驱动;相反的,在系统每注册一个驱动的时候,会寻找与之匹配的设备,而匹配由总线完成。一个现实的Linux设备和驱动通常都需要挂接在一种总线上,对于本身依附于PCI、USB、I2 C、SPI等的设

2011-12-02 17:53:03 269

转载 Linux打包压缩

zip 老了一些,但是所有系统都支持(.zip)。格式  zip 压缩后的文件名 要被压缩的文件 参数参数  -1                    压缩比,1-9可选,9为最大压缩率。  -c                    增加注释。  -d                    解压出一个文件。  -D                    不存储文件的

2011-12-02 17:46:23 1685

空空如也

空空如也

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

TA关注的人

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