自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (5)
  • 收藏
  • 关注

转载 linux输入子系统

1、为何引入input system? 以前我们写一些输入设备(键盘、鼠标等)的驱动都是采用字符设备、混杂设备处理的。问题由此而来,Linux开源社区的大神们看到了这大量输入设备如此分散不堪,有木有可以实现一种机制,可以对分散的、不同类别的输入设备进行统一的驱动,所以才出现了输入子系统。 输入子系统引入的好处:(1)统一了物理形态各异的相似的输入设备的处理功能。例如,各种

2016-11-01 20:15:09 340

转载 SD/MMC 初始化及热插拔检测机制

SD卡的技术是基于MultiMedia卡(MMC)格式上发展而来,SD卡与MMC卡保持着向上兼容。SD卡的内部结构主要分两部分:SD控制器和NAND存储器。        SD卡类型总共分成三种:MMC卡,结构类似SD卡,采用MMC协议;SD1.0,SD1.0卡最大支持2Gbyte;SD2.0,SD2.0卡最大容量HCSD可达32Gbyte。从MMC到SD1.0再到SD2.0协议是向上兼容

2015-07-22 16:03:01 5510

转载 在ubuntu下获取对应内核源码命令

输入:apt-cache search linux-source //查看内核版本输入:apt-get install linux-source-3.0.0 //获取对应版本的内核,默认安装在/usr/src目录下见:Ubuntu下构建内核源码树的方法 ubuntu下编译本机模块是否需要下载内核源码呢?答案是可以的。

2015-02-02 14:32:39 603

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

1、sdio接口层解析SDIO总线     SDIO总线 和 USB总线 类似,SDIO也有两端,其中一端是HOST端,另一端是device端。所有的 通信 都是 由HOST端 发送 命令 开始的,Device端只要能解析命令,就可以相互通信。  CLK信号:HOST给DEVICE的 时钟信号,每个时钟周期传输一个命令。  CMD信号:双向 的信号,用于传送 命令

2014-08-26 22:48:27 917

原创 QUALCOMM MDM9X15 LCD初始化流程

先来看一下 board-9615.c 文件MACHINE_START(MSM9615_CDP, "QCT MSM9615 CDP").map_io = msm9615_map_io,.init_irq = msm9615_init_irq,.handle_irq = gic_handle_irq,.timer = &msm_timer,.init_machine =

2014-07-31 10:57:28 2679 5

转载 QCom MSM平台显示屏Framebuffer设备注册过程

本文是Android Display部分分析的一部分,描述屏Framebuffer设备注册过程。QC MSM7xxx/MSM8xxx平台本身就提供了很多接口的屏的支持,每种屏对应一个驱动文件。由于QC MSM平台显示驱动架构做了绝大部分的工作,驱动一块新的屏仅需要做很少量的工作。下面的过程是屏Framebuffer注册过程的分析。设备资源申请是在MACHINE_DESC中实现的。示

2014-07-31 10:20:19 1299

原创 linux popen函数学习

popen() 函数 用 创建管道 的 方式启动一个 进程, 并调用 shell. 因为 管道是被定义成单向的, 所以 type 参数 只能定义成 只读或者 只写, 不能是 两者同时, 结果流也相应的 是只读 或者 只写.command 参数 是 一个 字符串指针, 指向的是一个 以 null 结束符 结尾的字符串, 这个字符串包含 一个 shell 命令. 这个命令 被送到 /bin

2014-07-30 14:39:56 600

转载 USB枚举过程

1. 枚举是什么?       枚举就是从设备读取一些信息,知道设备是什么样的设备,如何进行通信,这样主机就可以根据这些信息来加载合适的驱动程序。调试USB设备,很重要的一点就是USB的枚举过程,只要枚举成功了,那么就已经成功大半了。       USB架构中, hub负责检测设备的连接和断开,利用其中断IN端点(Interrupt IN Endpoint)来向主机(Host)报告。在系统

2014-06-04 12:55:56 569

转载 执行shell脚本的三种不同情况

shell 脚本执行是一个很有意思的事情,有三种不同的基本情况。这也是linux系统灵活性的一种体现。在我开始做LFS之前,我只会做一种shell脚本的执行 方式。那就是在当前目录下 ./shell-script.sh。哈哈,最近看了一些文章的解释之后,发现我真是太土了。以前看过一些linux programming的书,知道fork的概念。fork是一种主要的linux创建子进程的方式。fo

2014-04-09 13:44:33 1647

转载 TR069协议向导—— 一个帮助你了解TR069协议的简明教程(二)

您也可以通过以下链接下载该文:http://download.csdn.net/source/994937 上接“TR069协议向导(一)”6.TR069协议的RPC函数(或称RPC方法)  如上所述ACS与CPE之间通过TR069协议特有的RPC方法进行互操作。  CPE函数由ACS调用,用来对CPE进行管理如:设置CPE参数、获取CPE参数、硬件升级

2014-02-13 10:07:24 1083

转载 TR069协议向导——一个帮助你了解TR069协议的简明教程(一)

您也可以到以下地址下载:http://download.csdn.net/source/993034 1.为什么需要TR069   随着VoIP、IPTV等越来越多IP终端设备的普及(尤其在家庭中的普及),大量设备的配置和维护变得越来越困难,大大提高了网络产品运营商的成本,传统的基于SNMP的网管系统面对众多的终端设备时显得力不从心,限制了宽带接入市场的发展速度和规模。

2014-02-13 10:06:07 827

原创 使用Eclipse调试Android Launcher

使用Eclipse调试AndroidLauncher使用Eclipse新建一个AndroidProject    选择File->New->Android Project出现下面对话框填写Project Name,选择Createproject from existing source,点击Browse添加Launcher2的源代码路径packages\apps\Lau

2013-12-31 17:31:16 768

原创 Linux设备驱动初始化流程

Linux设备驱动初始化的流程一直不是很清楚,今天仔细看了一下linux初始化部分的代码才真正的搞明白,记录下来。         做过驱动的同学都知道,在arch/arm/目录下有和板级配置相关的文件,我使用的是Fresscale i.MX28开发板,在arch/arm/mach-mx28/目录下有mx28evk.c文件,该文件中有开发板初始化需要调用的函数。MACHINE_STAR

2013-09-17 17:49:11 3025

原创 Linux mdelay与msleep的区别以及中断中不能休眠的原因

在linux driver开发中,经常要用到延迟函数:msleep,mdelay.虽然msleep和mdelay都有延迟的作用,但他们是有区别的:mdelay是忙等待函数,在延迟过程中CPU无法运行其他任务。最好用于短时间的延时,否则太浪费CPU资源。msleep会使当前进程进入休眠状态,CPU可以去执行其他任务。由于msleep涉及到进程调度,延时误差比较大(进程调度需要耗费时间

2013-06-05 14:11:56 2575 1

转载 Linux LCD驱动(四)--驱动的实现

基本原理通过 framebuffer ,应用程序用 mmap 把显存映射到应用程序虚拟地址空间,将要显示的数据写入这个内存空间就可以在屏幕上显示出来;驱动程序分配系统内存作为显存;实现 file_operations 结构中的接口,为应用程序服务;实现 fb_ops 结构中的接口,控制和操作 LDC 控制器;驱动程序将显存的起始地址和长度传给 LCD 控制器的寄存器 (一般由 fb

2013-05-29 23:31:24 619

转载 Linux LCD驱动(三)--图形显示

3. BMP和JPEG图形显示程序3.1 在LCD上显示BMP或JPEG图片的主流程图首先,在程序开始前。要在nfs/dev目录下创建LCD的设备结点,设备名fb0,设备类型为字符设备,主设备号为29,次设备号为0。命令如下:mknod fb0 c 29 0在LCD上显示图象的主流程图如图3.1所示。程序一开始要调用open函数打开设备,然后调用ioctl获取设备相关信息,接下来就

2013-05-29 23:13:46 687

转载 linux LCD驱动(二)--FrameBuffer

2. Linux 驱动2.1 FrameBufferLinux是工作在保护模式下,所以用户态进程是无法像DOS那样使用显卡BIOS里提供的中断调用来实现直接写屏,Lin仿显卡的功能,将显ux抽象出FrameBuffer这个设备来供用户态进程实现直接写屏。Framebuffer机制模卡硬件结构抽象掉,可以通过Framebuffer的读写直接对显存进行操作。用户可以将Framebuffer看成

2013-05-29 23:12:37 886

转载 linux LCD驱动(一)--硬件分析

一 实验内容简要描述1.实验目的学会驱动程序的编写方法,配置S3C2410的LCD驱动,以及在LCD屏上显示包括bmp和jpeg两种格式的图片2.实验内容(1)分析S3c2410实验箱LCD以及LCD控制器的硬件原理,据此找出相应的硬件设置参数,参考xcale实验箱关于lcd的设置,完成s3c2410实验箱LCD的设置(2)在LCD上显示

2013-05-29 23:10:46 636

转载 关于android不能启动的问题 untracked pid exited

ok6410nandflash init: untracked pid  exited init: cannot find '/system/etc/init.OK6410.sh', disabling 'OK6410-setup'/system/bin/sh: can't access tty; job control turned off/ # enabling adbad

2013-05-09 15:49:03 5309

转载 LINUX系统休眠与唤醒

系统挂起(Suspend)是电源管理(APM&ACPI)的一个特性,给用户带来了很大的方便。Linux在2.6系列核心中对电源管理有了较好的支持,下面就谈谈Linux对系统挂起的支持情况。Linux对系统挂起的支持  Linux同时提供了对APM和ACPI的支持,当时两者是不兼容的,同一时刻只能有一种机制工作。由于ACPI的优越性,所以现在Linux将ACPI设为缺省的电源管理方案。对于一

2013-03-07 14:28:51 909

原创 ubuntu安装samba实现与windows共享文件

最近重新在ubuntu上安装了samba服务器,记录下来,防止以后忘了怎么安装。 1、安装samba软件包  sudo apt-get install samba   sudo apt-get install smbfs 2、给samba添加用户  sudo smbpasswd  -a username(username必须是已存在的) 3、修改/e

2013-01-06 10:04:43 650

原创 linux中断下半部机制

Linux内核可以有三种方法来实现中断下半部:sotfirq、tasklet 和workqueue1、softirq软中断一般很少用于实现中断下半部,但tasklet是通过软中断实现的,所以先介绍软中断。字面理解,软中断就是软件实现的异步中断,它的优先级比硬中断低,但比普通进程优先级高,同时,它和硬中断一样不能休眠。 在kernel/softirq.c文件中有这样一个数组

2012-12-21 16:49:29 724

原创 Linux中console初始化流程

Linux中console初始化流程在init/main.c文件asmlinkage void __init start_kernel(void)函数中调用console_init()函数 (该函数位于driver/char/tty_io.c文件中) /* * Initialize the console device. This is called *earl

2012-12-18 16:42:01 1564

转载 ubuntu /mnt/hgfs目录下什么都没有

今天突然发现虚拟机ubuntu中 /mnt/hgfs/目录下什么都没有了,经常使用的与windows共享的文件夹竟然消失了。在网上苦苦寻找原因,发现通过下面的命令可以解决:          sudo apt-get install open-vm-dkms          sudo mount -t vmhgfs .host:/ /mnt/hgfs

2012-11-04 11:36:58 1368

原创 DNW中显示乱码

DNW中显示乱码[root@rootfs /]#ls[1;34mbin [0m [1;34mdev [0m [1;34metc [0m [1;34mhome [0m [1;34mlib [0m [1;34mmnt [0m [1;34mproc [0m [1;34msbin [0m [1;34msys [0m [1;34mtmp [0m [1;34musr [0m [1;34mvar [0m

2012-08-18 18:20:06 1411

原创 pppd移植

pppd的移植分为两个部分:1、内核的配置    Device Drivers  --->       [*] Network device support  --->               PPP (point-to-point protocol) support                               [*]     PPP multilink s

2012-06-16 17:52:47 1842

原创 minicom移植

1、ncurses源码包下载(ncurses-5.5.tar.gz)   ncurses提供字符终端处理库,包括面板和菜单,minicom配置时生成菜单就是由ncurses生成的。  2、minicom源码包下载(minicom-2.4.tar.gz)3、解压nucrses源码包,切换目录进去。配置ncurses   ./configure CC=arm-none-li

2012-05-12 11:52:52 2457

原创 linux中tar命令

tar命令参数:-c    创建一个压缩包(creat)-x     解压一个压缩包(extract)-z     .tar.gz格式,使用gzip解压或压缩-j     .tar.bz2格式,使用bzip2解压或压缩-v     显示文件(verbose)-f      使用文档名-C    设置路径对于.tar.gz或者.tgz的压缩包使用

2012-05-06 22:55:29 588

转载 指定初始化(designated initialize)

对linux内核代码中的结构体的初始化如:struct device my_dev ={   .bus = &my_bus_type,   .parent = &my_bus,   .release = my_dev_release,};   上面这种方式称为指定初始化(designated initialize)。它源自ISO C99标准。

2012-05-05 23:55:09 943

SD/SDIO 协议

SD/SDIO 协议 学习SD/SDIO驱动的必备文档 1、Simplified_Physical_Layer_Spec 2、Simplified_SD_Host_Controller_Spec 3、Simplified_SDIO_Card_Spec

2014-09-01

linux usb

linux那些事儿 学习linux usb子系统的必备文档,新人值得一看。

2014-08-28

ADS1.2经典教材 PDF

ADS1.2 经典教材 PDF ARM ADS集成开发环境的使用手册

2011-05-17

MTK 内部培训资料 nucleus

MTK 内部培训资料 nucleus nucleus操作系统参考手册、源码分析

2011-05-17

MTK MT6253 MT6252芯片数据手册

MTK MT6253 MT6252芯片数据手册 datasheet 给想研究MTK平台的同学看看

2011-05-17

空空如也

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

TA关注的人

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