
linux kernel
liangdapo
1321321
展开
-
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获取设备相关信息,接下转载 2015-02-13 16:31:39 · 602 阅读 · 0 评论 -
自定义u-boot启动logo的方法
分类: LINUX 此文是对早期文章《U-boot开机logo的制作方法》 的更新。~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 如果在uboot中实现了LCD等显示设备的驱动,uboot在启动的时候会在屏幕的左上角显示一个logo,如下图: 这个logo默认情况(只定义了CONFI转载 2015-02-10 09:36:08 · 2053 阅读 · 0 评论 -
android WIFI 架构和控制流程
一、WIFI的基本架构 1、wifi用户空间的程序和库: external/wpa_supplicant/ 生成库libwpaclient.so和守护进程wpa_supplicant。 2、hardware/libhardware_legary/wifi/是wifi管理库。 3、JNI部分: frameworks转载 2015-02-10 11:16:39 · 554 阅读 · 0 评论 -
Android FrameWork——ActivityManager框架
1.ActivityManager是android框架的一个重要部分,它负责一新ActivityThread进程创建,Activity生命周期的维护,本blog就是着手对ActivityManager框架作一个整体的了解 2.先看一个静态类结构图: 该图摘自 曹文斌blog 上图很清楚地描述了ActivityManager框架的几个主要类之转载 2015-02-10 11:12:50 · 549 阅读 · 0 评论 -
Android FrameWork——PackageManager框架
1.接着前面讲的ActivityManager框架,继续说一下系统另一个重要的框架,PackagerManager同样先看一下静态类结构图:大部分情况我们是在Activity中使用getPackageManager方法获取一个ApplicationPackageManager的对象,ApplicationPackageManager实际上是包装了一个IPackageManager.St转载 2015-02-10 11:11:53 · 648 阅读 · 0 评论 -
配置 Linux 的访问控制列表(ACL)
使用拥有权限控制的Liunx,工作是一件轻松的任务。它可以定义任何user,group和other的权限。无论是在桌面电脑或者不会有很多用户的虚拟Linux实例,或者当用户不愿意分享他们之间的文件时,这样的工作是很棒的。然而,如果你是在一个大型组织,你运行了NFS或者Samba服务给不同的用户,然后你将会需要灵活的挑选并设置很多复杂的配置和权限去满足你的组织不同的需求。Linux(和其他U转载 2015-02-10 10:53:34 · 3257 阅读 · 0 评论 -
Linux文件权限详解
Linux文件权限详解文件和目录权限概述在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问;允许一个预先指定的用户组中的用户访问;允许系统中的任何用户访问。同时,用户能够控制一个给定的文件或目录的访问程度。一个文件活目录可能有读、写及执行权限。当创建一个文件时,系统会自转载 2015-02-10 10:38:55 · 350 阅读 · 0 评论 -
基于android4.0 USB gadget框架分析
基于android4.0 USB gadget框架分析2012-04-13 11:57:48分类: LINUX 转眼间,看usb gadget代码看的有一段时间了,把其中的层次关系大致的理了一遍,就写出来和大家分享下,不对之处敬请指出,了解层次结构嘛,当然是代码越简单越好,俗话说“柿子专拣软的捏”,就拿最简单的zero.c开涮啦!首先说下整体流程:一个UDC(转载 2015-02-10 10:36:54 · 983 阅读 · 0 评论 -
android usb流程
这是关于USB Mass Storage的架构图。 上图关系为: StorageManager为Client,MountService是Server,通过AIDL进行进程间通信。 MountService是一个Android Service,由systemserver启动。 Volume Daemon(Vold)是一个Native Service,有Ini转载 2015-02-10 10:16:05 · 3151 阅读 · 0 评论 -
Linux USB Gadget--软件结构 .
USB Gadget是分层的软件结构,本文分析的是2.6.32.2版本的Gadget软件结构,这个软件结构与以前版本的变化很大。USB Gadget软件结构总共分为三层:一. UDC层 这一层是与硬件相关层。相关文件s3c2410_udc.c s3c2410_udc.h。s3c2410设备控制器作为一个linux设备在这一层是作为platform设备而注册到linux设备转载 2015-02-10 10:07:33 · 863 阅读 · 0 评论 -
Storage框架整理
一 storage功能相关模块MountService.java base/services/java/com/android/server/MountService.javaPackageManagerService.java base/services/java/com/android/server/pm/PackageM转载 2015-02-10 10:35:31 · 1215 阅读 · 0 评论 -
Vold工作流程分析学习
一 Vold工作机制分析 vold进程:管理和控制Android平台外部存储设备,包括SD插拨、挂载、卸载、格式化等; vold进程接收来自内核的外部设备消息。Vold框架图如下: Vold接收来自内核的事件,通过netlink机制。 Netlink 是一种特殊的 socket;转载 2015-02-10 10:08:52 · 913 阅读 · 0 评论 -
linux LCD驱动(二)--FrameBuffer
2. Linux 驱动2.1 FrameBufferLinux是工作在保护模式下,所以用户态进程是无法像DOS那样使用显卡BIOS里提供的中断调用来实现直接写屏,Lin仿显卡的功能,将显ux抽象出FrameBuffer这个设备来供用户态进程实现直接写屏。Framebuffer机制模卡硬件结构抽象掉,可以通过Framebuffer的读写直接对显存进行操作。用户可以将Framebuffer转载 2015-02-13 16:07:27 · 539 阅读 · 0 评论 -
linux LCD驱动(一)--硬件分析
一 实验内容简要描述1.实验目的学会驱动程序的编写方法,配置S3C2410的LCD驱动,以及在LCD屏上显示包括bmp和jpeg两种格式的图片2.实验内容 (1)分析S3c2410实验箱LCD以及LCD控制器的硬件原理,据此找出相应的硬件设置参数,参考xcale实验箱关于lcd的设置,完成s3c2410实验箱LCD的设置 (2)在LCD上显示转载 2015-02-13 15:52:43 · 423 阅读 · 0 评论 -
Android FrameWork——Activity启动过程详解
2011-07-11 09:55 16989人阅读 评论(16)收藏 举报androidstringsystemnullthreadapplication 前面发了blog分析了ActivityManager框架的大体结构,主要就是一个进程通信机制,今天我通过深入Activity的启动过程再次深入到ActivityManager框架,对其进行一个更深入的了解转载 2015-02-10 11:10:54 · 765 阅读 · 0 评论 -
module_param 模块参数
模块参数引导模块时,可以向它传递参数。要使用模块参数加载模块,这样写:insmod module.ko [param1=value param2=value ...]为了使用这些参数的值,要在模块中声明变量来保存它们,并在所有函数之外的某个地方使用宏MODULE_PARM(variable, type) 和 MODULE_PARM_DESC(variable转载 2015-02-10 10:05:52 · 586 阅读 · 0 评论 -
android logo、android开机动画改变详解
android logo:内核、android开机动画 android开logo,这一块在工作改动的也是比较多的,也比较简单,不同的公司,不同型号的产品,开机的标识不一样。 我们平时目测的开机logo一般是两种:静态的和动画的。其实在实现logo的过程中,有四幅图片:(1)、uboot显示;(2)、kernel显示logo_lin转载 2015-02-10 11:15:33 · 924 阅读 · 0 评论 -
Android AIDL——实现机制浅析
Android AIDL——实现机制浅析 1.基于前面写的aidl使用,这段时间准备研究ActivityManager框架,对aidl进行了更深入的研究,因为android框架大量使用了进程通信机制,所以,在研究android framework前认真研究一下AIDL的实现机制十分有必要的 2.前面讲了aidl是 Android Interface definition lan转载 2015-02-10 11:14:41 · 376 阅读 · 0 评论 -
Android FrameWork——Binder机制详解(1)
1.前面我曾经发表过一篇blog介绍了aidl实现机制(aidl实现机制浅析),不过那只是停留在java表层,并遗留了一个问题,那就是BinderProxy.transact 该方法本地化实现,同时我指出了它的具体代码位置:\frameworks\base\core\jni\android_util_Binder.cpp->static jboolean android_os_BinderPr转载 2015-02-10 11:07:41 · 473 阅读 · 1 评论 -
Android FrameWork——Binder机制详解(2)
6.前面5个段落我主要说明了BinderProxy是如何把数据发送出去的,Ok,那么接下来,我们肯定想要知道服务端是怎么接收数据并传递给相应的BBinder进行处理的,有没有注意到前面waitForResponse我标注为蓝色的代码,这给我们一个启示,也许接收返回数据(进程作为客户端)和接收命令(进程作为服务端)处理的是同一个函数,但这是我的一个猜测,而实际上我参阅其它blog和代码后并非这么回事转载 2015-02-10 11:07:05 · 456 阅读 · 0 评论 -
Java打印文件名、函数名、行号
Log.d(TAG,new Exception().getStackTrace()[0].getMethodName()); //函数名Log.d(TAG, Thread.currentThread().getStackTrace()[2].getMethodName()); //函数名Log.d(TAG, ""+Thread.currentThread().getStackTrace()[2转载 2015-02-10 10:12:53 · 9031 阅读 · 0 评论 -
USB协议架构及驱动架构
1. USB协议1.1 USB主机系统 在USB主机系统中,通过根集线器与外部USB从机设备相连的处理芯片,称为USB主机控制器。USB主机控制器包含硬件、软件和固件一部分。1.2 USB设备系统 USB设备按功能分为两部分:集线器(Hub)和功能部件。从下图可知,主机通过根集线器连接到各种外围设备(集线器和功能部件)。1.3 主机和设备之间通信模转载 2015-02-10 10:09:37 · 6869 阅读 · 0 评论 -
浅析如何添加自己的ko到make menuconfig中
浅析如何添加自己的ko到make menuconfig中其实向make menuconfig添加自己的选项,仅仅是为了向driver传递由用户自己决定的几个不同的宏值.1.luther@gliethttp:/vobs/works/lnx2625pxa/drivers/net/wireless$ mkdir bcmxxx2.luther@gliethttp:/vobs/w转载 2015-02-10 10:01:31 · 560 阅读 · 0 评论 -
android wifi驱动移植详细过程
对于刚入手android没多久的人来说,android wifi 驱动的移植确实还是有难度的,不过参考了网友的相关帖子后,最终还是移植成功了,,以便自己和他人查看学习:&&&& WIFI的基本架构 &&&&(这一部分比较重要,是一直wifi驱动的基础)1、wifi用户空间的程序和库:external/wpa_supplicant/生成库libwpaclient.so和守护进程w转载 2014-12-13 14:39:55 · 545 阅读 · 0 评论 -
input 子系统架构总结
Linux输入子系统(Input Subsystem) Linux 的输入子系统不仅支持鼠标、键盘等常规输入设备,而且还支持蜂鸣器、触摸屏等设备。本章将对 Linux 输入子系统进行详细的分析。一 前言 输入子系统又叫 input 子系统。其构建非常灵活,只需要调用一些简单的函数,就可以将一个输入设备的功转载 2014-12-13 14:35:28 · 434 阅读 · 0 评论 -
tar 打包压缩目录
评论2 楼 Durian 2010-07-23 很有用,解决问题了。1 楼 verytiny 2008-04-13 Linux下常用压缩格式的压缩与解压方法日期:2005-01-20 来源: LinuxByte 作者: Linux爱好者 .tar解包: tar xvf FileName.tar打包:tar cvf FileName转载 2015-01-16 15:15:35 · 587 阅读 · 0 评论 -
uboot移植与源码分析总结(3)-Serial驱动分析
之前简单实现过s5pv210的串口驱动,能正常使用,不过只能支持一个串口。串口驱动的实现还是比较简单的。UBoot的Serial驱动主要功能有如下几点:输出各种调试信息、启动信息;提供命令交互接口;支持低速的文件传输;不过,现在新出的电脑很多都不再提供串口,所以需要自己配一个USB转RS232的转接线。质量建议选好的,相应的驱动也要装个稳定点的,否则一不小心电脑就容易蓝屏死转载 2015-01-16 15:13:02 · 693 阅读 · 0 评论 -
串口协议
收藏 545189串口通信协议编辑本词条缺少名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!串口通信指串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。中文名串口通信协议作 用发送和接收字节转载 2015-01-16 15:14:06 · 1690 阅读 · 0 评论 -
DDR信号测量方法及信号完整性验证面临的挑战与建议
文章(5608) 访问(5188932) 评论(208) 投票(140) 订阅本博 博文列表查看方式: DDR信号测量方法及信号完整性验证面临的挑战与建议发布时间:2009-09-22 19:27:46技术类别:电子制造转载 2014-12-19 13:39:43 · 7317 阅读 · 0 评论 -
sdram/ddr 功耗计算
在进行嵌入式系统设计过程中总功耗的计算是一个无法绕开的问题,在总功耗的计算过程中尤其以SDRAM、DDR、DDR2等动态随机存储器件的功耗难以把握和计算。本人在进行电源IC选型时采用估算措施,一般嵌入式系统总电流不会超过400mA,所以选择电源IC只要在500mA以上即可;电子工程师在选电源IC计算系统总功耗时,总是会在计算DRAM器件功耗时难以下手而不得不对其进行估算。本人本着将革命进行到底的精转载 2014-12-19 13:44:29 · 12996 阅读 · 0 评论 -
Linux系统下CPU频率的调整
☆★省电or流畅★☆root@android:/sys/devices/system/cpu/cpu0/cpufreq # cat scaling_available_governorshotplug conservative ondemand userspace powersave interactive performance为了可以对几种常见的CPU频率调节模式有个基本的转载 2014-12-19 13:37:57 · 1060 阅读 · 0 评论 -
linux & android平台WIFI休眠唤醒问题
android设备在屏幕关掉之后一段时间会进入睡眠状态,这个时候cpu进入休眠,网络也会中断;如何让其在进入休眠之后依然保持网络连接?// 电源管理PowerManager pm = (PowerManager) TalkMessageServer.this.getSystemService(Context.POWER_SERVICE); wakeLock = pm.newWakeLo转载 2014-12-13 14:42:11 · 6719 阅读 · 0 评论 -
详解Top命令 输出命令行选项及代码
Linux中的top命令显示系统上正在运行的进程。它是系统管理员最重要的工具之一。被广泛用于监视服务器的负载。在本篇中,我们会探索top命令的细节。top命令是一个交互命令。在运行top的时候还可以运行很多命令。我们也会探索这些命令。 (译注:不同发行版的top命令在各种细节有不同,如果发现不同时,请读你的帮助手册和命令内的帮助。) 1. Top 命令输出 首先,让我们了解一下输转载 2014-12-13 14:48:49 · 2931 阅读 · 0 评论 -
Android WIFI 驱动移植
在 Android 2.2上移植了2个wifi模块,vt6656和rt2070,总结一下要点。首先,将wifi linux驱动编译成模块,并将驱动(vntwusb.ko或rt3070sta.ko放到/system/lib/modules/中。然后,做如下修改:1。修改 init.rc:很多文章都有描述,但还是有些说明不清的地方,我先列出增加项,然后作些说明。增加: mkdir转载 2014-12-13 14:42:59 · 971 阅读 · 0 评论 -
Linux SVN 命令详解
1、将文件checkout到本地目录svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co2、往版本库中添加新的文件 svn add file 例如:svn add test.php(添加test.php) svn add转载 2015-02-10 09:42:30 · 442 阅读 · 0 评论 -
Android Wifi驱动--底层
Android Wifi驱动--底层从framework到wpa_supplicant的适配层(wifi.c)网上介绍的帖子很多,而且本身也并不复杂,其中framework部分需要注意的是wifiService和wifiMoniter两部分,这两快一个是转发AP的CMD另一个是接收来自wpa_supplicant的CMD。他们与本地库的连接都是通过JNI方法,具体实现方法在andr转载 2014-12-13 14:43:45 · 1209 阅读 · 0 评论 -
如何让android设备进入休眠时保持网络不断开?
android设备在屏幕关掉之后一段时间会进入睡眠状态,这个时候cpu进入休眠,网络也会中断;如何让其在进入休眠之后依然保持网络连接?// 电源管理PowerManager pm = (PowerManager) TalkMessageServer.this.getSystemService(Context.POWER_SERVICE); wakeLock = pm.newWakeLo转载 2014-12-13 14:40:49 · 24211 阅读 · 7 评论 -
android的Log输出
一个android应用程序运行后 并不会在 ide的控制台内输出任何信息. 不能在控制台输出。但是android提供的Log类。 在程序中输出日志, 使用 android.util.Log 类. 该类提供了若干静态方法 Log.v(String tag, String msg); Log.d(String tag, String msg); Log.i(String tag转载 2014-12-13 14:38:01 · 360 阅读 · 0 评论 -
linux top命令详解
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombie转载 2014-12-13 14:38:59 · 432 阅读 · 0 评论 -
HDMI基础篇
平台信息:内核:linux3.0系统:android4.0.3平台:S5PV310(samsung exynos 4210) 说到android的HDMI,从android 2.2、android2.3到android4.0,三星的芯片也做过3sc2440、s5pc110、s5pv210、s5pv310再加上新案四核的samsung exynos 4412转载 2014-12-13 14:38:02 · 1913 阅读 · 0 评论