自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 资源 (1)
  • 收藏
  • 关注

转载 S3C6410驱动I80接口LCM

在嵌入式的主流 LCD屏中主要支持两大类的硬件接口,一种是常见的RGB接口,另外一种是MCU接口.后面因为最早是针对单片机的领域在使用,因此得名.后在中低端手机大量使用,其主要特点是价格便宜的.MCU-LCD接口的标准术语是Interface 80,因此在很多文档中用I80 来指MCU-LCD屏。   MCU-LCD屏它与RGB-LCD屏主要区别在于显存的位置.RG

2014-06-15 23:19:42 1517

转载 Android LCD(三):Samsung LCD接口篇

关键词:android LCD控制器 Framebuffer PWM 平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:samsung exynos 4210、exynos 4412 、exynos 5250作者:xubin341719(欢迎转载,请注明作者)欢迎指正错误,共同学习、共同进步!!下载链

2014-05-08 23:10:49 849

转载 Android LCD(二):LCD常用接口原理篇

Android LCD(二):LCD常用接口原理篇 关键词:android LCD TFT TTL(RGB)  LVDS  EDP MIPI  TTL-LVDS  TTL-EDP平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:samsung exynos 4210、exynos 4412 、exynos 5250

2014-05-08 22:30:42 798

转载 Android LCD(一):LCD基本原理篇

Android LCD(一):LCD基本原理篇分类: S5PXX(三星) 嵌入式入门 android2013-06-19 09:24 4844人阅读 评论(8) 收藏 举报关键词:android LCD TFT 液晶 偏光片 彩色滤光片  背光平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:samsung ex

2014-05-08 22:28:45 902

原创 android内核启动分析之head.S

内核加载到ramhuo

2014-04-29 00:48:49 923

原创 linearlayout布局中layout_weight使用问题

xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="horizontal"    android:layout_width="fill_parent"    android:layout_height="wrap_content">            and

2014-01-19 16:25:17 852

转载 android LinearLayout布局中layout_weight的使用(二)

一、LinearLayout内的控件的layout_width设置为"wrap_content",请看一下xml配置:  LinearLayout            android:orientation="horizontal"            android:layout_width="fill_parent"            android:lay

2014-01-19 16:13:35 767

转载 android LinearLayout布局中layout_weight的使用(一)

在网上看了一些对Layout_weight的讲解,有些说的比较片面,只列举了一种情况,然后自己通过实验和一些比较好的文章总结了一下,特此记录下来,以备以后所用。Layout_weight是线性布局,也就是LinearLayout里面用到的,下面通过实验来看这个Layout_weight的特性。1.当控件的属性android:layout_width="fill_parent"时,布局文件如下:

2014-01-19 16:08:01 902

转载 android:layout_gravity和android:gravity

1.首先来看看android:layout_gravity和android:gravity的使用区别。android:gravity:这个是针对控件里的元素来说的,用来控制元素在该控件里的显示位置。例如,在一个Button按钮控件中设置如下两个属性,android:gravity="left"和android:text="提交",这时Button上的文字“提交”将会位于Butt

2014-01-19 14:38:05 567

转载 关于subsys_initcall

在linux内核代码里, 到处充满了subsys_initcall,这个调用是用来干吗的呢?有人回答是系统启动时候用来初始化某些系统的,具体怎么初始化的呢,说起来还是有点复杂。以2.6.21内核作为例子。在linux/init.h里,有这样一段代码:#define pure_initcall(fn)  __define_initcall("0",fn,1)#define core_

2013-09-26 13:16:02 725

转载 一线触摸tslib移植完全说明

我已经上传了完善好的源代码,已经加入对一线触摸的支持,如果想直接使用,不用自己加补丁:请到http://code.google.com/p/openwrt-for-embedded/,点击Download页面,下载tslib-one-wire.tar.bz2。但是建议你把下面的内容看完,以便使用这个已经加入对一线触摸支持的tslib。一开始接触时,感觉友善的

2013-09-25 16:30:47 1195

转载 使用diff命令打补丁详解

对于开源源码修改过程中的必经阶段:对源码打补丁,总是不够精通,搜索了补丁的原理的详细过程,如下:在移植或版本升级过程中,手动比对(用比对工具)转换是很费力的事情,特别是发生变化的文件非常多的情况下,“制作补丁、打补丁”可以简化这个过程。主要用到diff和patch。在这里不会把man在线文档上所有的选项都介绍一下,那样也没有必要。在99%的时间里,我们只会用到几个选项。

2013-09-25 14:59:38 1782

转载 ioctl compat_ioctl与unlock_ioctl

区别:ioctl 和 unlock_ioctlioctl 不会lock_kernel() compat_ioctl被使用在用户空间为32位模式,而内核运行在64位模式时。这时候,需要将64位转成32位。 引用http://blog.chinaunix.net/u1/38994/showart_2248151.html对几个ioctl执行顺序的分析 关于i

2013-09-21 11:32:57 1856

转载 platform_device与platform_driver

做Linux方面也有三个多月了,对代码中的有些结构一直不是很明白,比如platform_device与platform_driver一直分不清关系。在网上搜了下,做个总结。两者的工作顺序是先定义platform_device -> 注册 platform_device->,再定义 platform_driver-> 注册 platform_driver。 (1)platform_devic

2013-09-21 02:02:14 759

转载 Linux中__init、__devinit等初始化宏

内核使用了大量不同的宏来标记具有不同作用的函数和数据结构。如宏__init 、__devinit 等。这些宏在include/linux/init.h 头文件中定义。编译器通过这些宏可以把代码优化放到合适的内存位置,以减少内存占用和提高内核效率。下面是一些常用的宏:?  ?__init ,标记内核启动时使用的初始化代码,内核启动完成后不再需要。以此标记的代码位于.init.text

2013-09-20 20:20:34 860

转载 关于EXPORT_SYMBOL

linux2.6的“/proc/kallsyms”文件对应着内核符号表,记录了符号以及符号所在的内存地址。模块可以使用如下宏导出符号到内核符号表:[c-sharp] view plaincopyEXPORT_SYMBOL(符号名);  EXPORT_SYMBOL_GPL(符号名)  导出的符号可以被其他模块使用,不过使用之

2013-09-13 15:57:45 985

原创 关于read函数

调用read函数从打开文件中读数据。如read成功,则返回读到的字节数。如已到达文件结尾,则返回0。有多种情况可使实际读到的字节数少于要求读的字节数:         • 读普通文件时,在读到要求字节数之前已到达了文件尾端。例如,若在到达文件尾端之前还有30个字节,而要求读100个字节,则read返回30,下一次再调用read时,它将返         回0(文件尾端)

2013-08-31 20:41:37 2008

原创 STDIN_FILENO与stdin 的区别

stdin类型为 FILE*,STDIN_FILENO类型为 int使用stdin的函数主要有:fread、fwrite、fclose等C库函数调用,基本上都以f开头,用于高级IO操作,在中有声明;使用STDIN_FILENO的函数有:read、write、close等系统调用,用于低级IO操作;STDIN_FILENO等是文件描述符,是非负整数,一般定义为0, 1, 2,属于没有bu

2013-08-28 01:26:44 750

转载 深入理解Linux内核--信号

深入理解Linux内核--信号(阅读笔记)(原创)第十一章信号     信号用于在用户态进程间通信。内核也用信号通知进程系统所发生的事情。 1、信号的作用     信号(signal)是很短的消息,可以被发送到一个进程或一组进程。发送给进程的唯一信息通常是一个数,以此来标识信号。    使用信号的两个主要目的 :        让进程知道已经发生了一

2013-08-24 21:37:55 906

转载 Linux进程睡眠和唤醒以及无效唤醒

1 Linux进程的睡眠和唤醒在Linux中,仅等待CPU时间的进程称为就绪进程,它们被放置在一个运行队列中,一个就绪进程的状态标志位为TASK_RUNNING。一旦一个运行中的进程时间片用完, Linux 内核的调度器会剥夺这个进程对CPU的控制权,并且从运行队列中选择一个合适的进程投入运行。当然,一个进程也可以主动释放CPU的控制权。函数 schedule()是一个调度函数,它可以

2013-08-22 10:51:09 2536

转载 进程调度

《Linux内核设计与实现》读书笔记(四)- 进程的调度Posted on 2012-09-04 16:10 wang_yb 阅读(442) 评论(0) 编辑 收藏主要内容:什么是调度调度实现原理Linux上调度实现的方法调度相关的系统调用1. 什么是调度现在的操作系统都是多任务的,为了能让更多的任务能同时在系统上更好的运行,需要一个管理程序来管理计算机上同时运

2013-08-21 23:54:20 838

转载 linux下的select函数

select系统调用是用来让我们的程序监视多个文件句柄(file descriptor)的状态变化的。程序会停在select这里等待,直到被监视的文件句柄有某一个或多个发生了状态改变。 文件在句柄在Linux里很多,如果你man某个函数,在函数返回值部分说到成功后有一个文件句柄被创建的都是的,如man socket可以看到“On success, a file descriptor for the

2013-08-19 15:55:20 726

原创 应用层的poll 函数介绍

poll()函数:这个函数是某些Unix系统提供的用于执行与select()函数同等功能的函数,下面是这个函数的声明:#include int poll(struct pollfd fds[], nfds_t nfds, int timeout);参数说明:fds:一个struct pollfd结构类型的数组,用于存放需要检测其状态的Socket描述符;每当调用这个函数之后,系统不

2013-08-19 15:41:51 966

原创 poll系统调用的内核态实现机制分析

字符设备驱动程序之按键—poll机制本节里我们在按键中断机制的基础上添加了poll机制来优化程序我们知道,应用程序中的open、read、write函数会调用内核里的sys_open、sys_read、sys_write函数,而内核里的这些函数又会对应到驱动程序里的.open、.read、.write函数。我们的poll机制也不例外,用户空间里可以采用poll函数或者select函数,他们

2013-08-18 20:36:16 2035

原创 Linux系统调用内核态分析

Linux系统调用的内核态分析

2013-08-18 03:46:55 1870

转载 linux内核中等待队列 (函数wait_event与wake_up)

根据内核3.1.6版本源码、书籍和网上资料,对几个函数进行分析       介绍这几个函数,不得不先介绍等待队列wait_queue_head_t与完成量completion。       等待队列用于使得进程等待某一特定事件的发生,无需频繁的轮询,进程在等待周期中睡眠,当时间发生后由内核自动唤醒。       完成量机制是基于等待队列的,内核利用该机制等待某一操作的结束。这两种经常被

2013-08-15 16:07:57 1658

转载 linux内核中的xx_initcall初始化标号

LINUX内核中有很多的初始化指示标志postcore_initcall(), arch_initcall(), subsys_initcall(), device_initcall(), etc. 这些起什么作用呢?查阅源代码(android goldfish-2.6.29)并搜索网上相关文章,对此做一总结。初始化标号先看这些宏的定义(定义在文件include/linux/ini

2013-08-09 01:50:45 890

转载 进程控制之 fork、wait、exec族函数 及进程资源控制

一,fork//头文件#include //函数定义pid_t fork( void );返回值:子进程中返回0,父进程中返回子进程ID,出错返回-1函数说明:一个现有进程可以调用fork函数创建一个新进程。由fork创建的新进程被称为子进程(child process)。fork函数被调用一次但返回两次。两次返回的唯一区别是子进程中返回0值而父进程中返回子进程ID。子

2013-08-08 13:13:58 1302

转载 线程程序里不准使用fork ?

其实这是 UNIX上C++程序设计守则3准则3:多线程程序里不准使用fork在多线程程序里,在”自身以外的线程存在的状态”下一使用fork的话,就可能引起各种各样的问题.比较典型的例子就是,fork出来的子进程可能会死锁.请不要,在不能把握问题的原委的情况下就在多线程程序里fork子进程.那看看实例吧.一执行下面的代码,在子进程的执行开始处调用doit()时,发生死锁的机率会很高.

2013-08-08 13:08:58 834

转载 深入分析 Linux 内核链表

深入分析 Linux 内核链表杨沙洲 ([email protected])国防科技大学计算机学院简介: 本文详细分析了 2.6.x 内核中链表结构的实现,并通过实例对每个链表操作接口进行了详尽的讲解。发布日期: 2004 年 8 月 01 日 级别: 初级 访问情况 : 40400 次浏览 评论: 1 (查看 | 添加评论 - 登录) 平均分 (1

2013-08-07 23:32:15 764

转载 linux中断下半部实现机制之软中断

软中断保留给系统中对时间要求最严格以及最重要的下半部使用。目前,只有两个子系统---网络和SCSI直接使用软中断。此外,内核定时器和taskelet都是建立在软中断上的。对于时间要求严格并能自己高效完成加锁工作的应用,软中断会是正确的选择。     怎样使用软中断呢? 1.分配索引 在编译期间,可以通过中定义的一个枚举类型来静态声明软中断。索引号小的软中断在索引号大的软

2013-08-05 15:07:13 955

原创 异常 中断上下文 内核抢占

一个中断处理程序既可以抢占其他中断处理程序,也可以抢占异常处理程序,相反,异常处理程序从不抢占中断处理程序。在内核态能触发的唯一异常就是缺页异常。但是,中断处理程序从不执行可以导致缺页(因此意味着进程切换)的操作。

2013-08-04 16:40:57 1080

原创 内核抢占和用户抢占

用户抢占内核即将返回用户空间的时候,如果need_resched被设置,会导致schedule()被调用,此时就会发生用户抢占。在内核返回用户空间的时候,它知道自己是安全的,因为既然它可以继续去执行当前进程,那么它当然可以再去选择一个新的进程去执行。所以内核无论是从中断处理程序还是在系统调用后返回,都会检查need_resched标志。如果它被设置了,那么,内核就会选择一个其他(更合适的)进程

2013-08-04 02:46:01 899

转载 窥探 kernel - 浅析do_exit

本系列文章由张同浩编写,转载请注明出处:http://blog.csdn.net/muge0913/article/details/7483054进程在退出时,必须释放它所拥有的资源,并通过某种方式告诉父进程。进程的退出一般是显示或隐式地调用了eixt(),或者接受了某种信号。不过什么原因退出,最终都调用了do_exit。用于进程退出的系统调用有两个exit

2013-08-03 19:06:22 809

转载 kthread_create和kernel_thread的区别和总结

在看linux驱动代码的时候,经常惠会碰到kthread_create这个函数,google一下,发现很多人在讲二者的区别,但是都在讲源码的区别而已,总结不够,感觉没有说出二者之间的本质区别,自己总结下。    一. 源码分析(linux-2.6.39)1.  kthread_create源码分析#define kthread_create(threadfn, data,

2013-08-03 18:36:03 801

转载 Linux内核spin_lock与spin_lock_irq分析

Linux内核spin_lock与spin_lock_irq分析在Linux内核中何时使用spin_lock,何时使用spin_lock_irqsave很容易混淆。首先看一下代码是如何实现的。spin_lock的调用关系     spin_lock             |           + ----->  raw_spin_lock |+---

2013-08-02 17:50:20 793

转载 自旋锁spin_lock和raw_spin_lock

自旋锁spin_lock和raw_spin_lock/*****************************************************************************************************/声明:本博内容均由http://blog.csdn.net/droidphone原创,转载请注明出处,谢谢!/**

2013-08-02 17:23:40 711

原创 进程调度的时机及阻塞

引起进程调度的原因有以下几类进程调度发生在什么时机呢?这与引起进程调度的原因以及进程调度的方式有关。(1)正在执行的进程执行完毕。这时,如果不选择新的就绪进程执行,将浪费处理机资源。(2)执行中进程自己调用阻塞原语将自己阻塞起来进入睡眠等状态。(3)执行中进程调用了P原语操作,从而因资源不足而被阻塞;或调用了v原语操作激活了等待资源的进程队列。(4)执行中进程提出I/O请求后被

2013-07-31 16:58:13 1650

转载 关于内核进程0和进程1

Kernel Version: Linux 2.6.18_Pro500 (for Arm) Process 0 下面这段对进程0的描述引用自《Understanding The Linux Kernel - Third Edtion》The ancestor of all processes, called process 0, the idle proce

2013-07-31 13:03:41 1262

转载 typeof关键字

typeof关键字  container_of(ptr, type, member)中包含typeof关键字,我们在这分析一下typeoftypeof关键字是C语言中的一个新扩展。只要可以接受typedef名称,Sun StudioC 编译器就可以接受带有typeof的结构,包括以下语法类别:声明 函数声明符中的参数类型链表和返回类型 类型定义 类型操作符s sizeof操作符 复

2013-07-31 12:58:48 666

Linux Kernel Development 3rd Ed

Linux Kernel Development 3rd Ed linux内核设计与实现 英文版 排版完好,无错误,清晰

2013-08-21

空空如也

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

TA关注的人

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