
LINUX基础知识
小小程序员1990
这个作者很懒,什么都没留下…
展开
-
Linux-内存管理
Linux-内存管理 分类: LINUX1.地址类型物理地址---CPU地址总线的寻址物理内存的地址信号,地址变换的最终结果线性地址(虚拟地址)逻辑地址---汇编程序中的地址逻辑地址—段式管理单元—虚拟地址—页式管理—物理地址2.段式管理:16位的CPU拥有20位地址线(8086),它的寻址范围是2的20次方,即1M内存空间.但16位CPU寄存器只有16位置能访转载 2013-09-26 10:13:23 · 801 阅读 · 0 评论 -
Android平台上的进程调度探讨
Android平台上的进程调度探讨 随笔之Android平台上的进程调度探讨一由来最近在翻阅MediaProvider的时候,突然想起之前碰到的一个问题,该问题是这样的:一个Pad上有很多媒体文件,然后每次开机后的一段时间内,Home Screen的反应都特别慢,有时候还会报出ANR的错误。从ANR文件/data/anr/traces.txt分析,发现系统打印的cp转载 2012-08-10 16:06:40 · 1115 阅读 · 0 评论 -
bin转换为bmp
http://wenku.baidu.com/view/c89511f1f61fb7360b4c6553.htmlhttp://bbs.eeworld.com.cn/thread-126483-1-1.html http://topic.youkuaiyun.com/u/20100514/11/2d4c1a89-d923-403b-b06a-0d4d48825e6c.htmlhttp://to原创 2012-07-04 21:20:11 · 3299 阅读 · 0 评论 -
调度系统分析
Linux 2.6 调度系统分析 1. 前言Linux 的市场非常广阔,从桌面工作站到低端服务器,它都是任何商用操作系统的有力竞争对手。目前,Linux 正全力进军嵌入式系统和高端服务器系统领域,但它的技术缺陷限制了它的竞争力:缺乏对实时任务的支持,多处理机可扩展性差。在 2.4 内核中,造成这两个弱项的关键原因之一就是调度器设计上的缺陷。2.6 调度系统从设计之初转载 2012-06-14 13:46:05 · 818 阅读 · 0 评论 -
输入子系统分析(shang)
linux输入子系统分析2008年09月23日 星期二 上午 11:29转自http://blog.youkuaiyun.com/colorant/archive/2007/04/12/1561837.aspx1 输入子系统架构Overview 输入子系统(Input Subsystem)的架构如下图所示输入子系统由 输入子系统核心层( Input转载 2012-06-08 17:02:10 · 512 阅读 · 0 评论 -
输入子系统--event层分析(以GPIO_Keys为例)
输入子系统--event层分析(以GPIO_Keys为例)From:http://www.cnitblog.com/luofuchong/archive/2007/11/12/36157.html########################################################################################转载 2012-06-08 17:04:39 · 3525 阅读 · 0 评论 -
s3c2410触摸屏驱动(2.6内核)分析
s3c2410触摸屏驱动(2.6内核)分析转自:http://blog.chinaunix.net/u2/66024/showart_674039.html驱动不是很多,在此把它贴出来然后加上必要的注释:#include #include #include #include #include #include #include #in转载 2012-06-08 17:03:41 · 562 阅读 · 0 评论 -
Makefile学习教程
Makefile学习教程 概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软转载 2012-06-08 16:20:03 · 339 阅读 · 0 评论 -
wait_queue--内核等待队列机制介绍
C语言内核等待队列机制介绍From:http://blog.chinaunix.net/u2/82249/showart_1985324.html 相信很多写程序的人都写过 socket 的程序。当我们 open 一个 socket 之后,接着去读取这个 socket,如果此时没有任何资料可供读取,那 read 就会 block 住。(这是没有加上 O_NON转载 2012-06-08 14:52:22 · 1315 阅读 · 0 评论 -
内核输入子系统分析
.6内核输入子系统分析-续2008年09月23日 星期二 上午 11:43上文介绍了input_dev、input_handle、input_handler三者是如何联系起来了,现在继续介绍如何通过它们来传递信息。在开始之前还是先引用一位大侠的帖子:引:现在看用户获取触摸屏输入的一个流程(以tsdev为例/drivers/input/tsdev.c):转载 2012-06-08 17:01:23 · 511 阅读 · 0 评论 -
linux 较好的网站资料
下载Linux图书:ftp://202.96.64.144/pub/books/开源:http://bbs.linuxpk.com/index.html国内较好的linux网站 http://www.linuxeden.com/ Linux伊甸园 http://www.linuxfans.org/nuke/index原创 2012-06-08 16:08:53 · 518 阅读 · 0 评论 -
container_of 用法解析
container_of 用法解析 在学习Linux驱动的过程中,遇到一个宏叫做container_of。该宏定义在include/linux/kernel.h中,首先来贴出它的代码:/** * container_of - cast a member of a structure out to the containing structure * @pt转载 2012-06-07 16:00:40 · 362 阅读 · 0 评论 -
I2C驱动的4个数据结构间的关系
I2C驱动的4个数据结构间的关系一、i2c_driver, i2c_client, i2c_adapter, i2c_algorithm 这4个数据结构的作用及关系1.i2c_adapter 与 i2c_algorithmi2c_adapter 对应物理上一个适配器,而i2c_algorithm对应一套通信算法。I2C适配器需要i2c_algorithm中提供的通信函数,来转载 2012-06-07 16:00:08 · 630 阅读 · 0 评论 -
Linux驱动中的platform
Linux驱动中的platform从Linux2.6内核起,引入一套新的驱动管理和注册机制:platform_device 和 platform_driver 。Linux 中大部分的设备驱动,都可以使用这套机制,设备用 platform_device 表示;驱动用 platform_driver 进行注册。Linux platform driver 机制和传统的dev转载 2012-06-07 15:59:17 · 385 阅读 · 0 评论 -
震子
文件路径:1: kernel/drivers/frecomm_kernel/marvell_vibrator.c2: hardware/libhardware_legacy/vibrator/vibrator.c3 :framworks/base/services/jni/com_android_server_vibratorservice.cpp原创 2012-08-14 15:02:31 · 674 阅读 · 0 评论 -
Linux下gcc编译中关于头文件与库文件搜索路径相关问题
转】Linux下gcc编译中关于头文件与库文件搜索路径相关问题 2012-06-12 10:51:18| 分类:linux | 标签:|字号大中小 订阅如何指定GCC的默认头文件路径网上偶搜得之,以之为宝:)原地址:http://blog.chinaunix.net/u/28781/showart.php?id=401631==========转载 2012-08-29 09:19:31 · 1877 阅读 · 0 评论 -
static_cast与dynamic_cast转换
static_cast与dynamic_cast转换 static_cast与dynamic_cast转换 一 C语言中存在着两种类型转换:隐式转换和显式转换隐式转换:不同数据类型之间赋值和运算,函数调用传递参数……编译器完成char ch;int i = ch;显示转换:在类型前增转载 2013-08-19 13:34:45 · 668 阅读 · 0 评论 -
中断处理handler不能sleep
1.进入中断处理程序--->2.保存关键上下文---->3.开中断(sti指令)--->4.进入中断处理程序的handler--->5.关中 ...里面很多说法不是很同意, 个人认为中断处理handler不能sleep原因应该不是上面那些.我们都是从理论讲下面这些问题, 因为linux在很多地方做了保护, 所以直接sleep或者schedule()会导致内核异常.首转载 2013-06-24 10:03:55 · 5460 阅读 · 0 评论 -
112212
网线从第一个路由器里分出来的,第一个路由器IP是192.168.1.1。现在我有第二个无线路由,这样的二级路由器怎么设置啊? 一、第二个路由器该怎么设定? 方法一:无线有线上网都行。 首先选择WAN口静态IP连接方式。 1、路由器的WAN设置 ip地址: 192.168.1.X 他分配给你的合法地址 子网掩码: 255.255.255.0 缺省网关转载 2012-10-26 14:05:40 · 760 阅读 · 0 评论 -
海明码计算及其纠错原理详解
海明码计算及其纠错原理详解 hello,大家好!相信很多刚刚学习网络知识或者正在学习的朋友都曾对海明码这个东西迷惑不解!和大家一样,我也是其中一个迷惑的人之一!但是今天我终于明白了其中的道理!特写下来与大家一起分享,不当之处,欢迎指正!这里我从例子入手,给大家讲讲海明码纠错的原理!还有朋友对异或运算不了解吗?好吧!肯定有朋友不知道的,这里我简单给大家说明下!异或算符转载 2012-10-19 14:21:38 · 3035 阅读 · 1 评论 -
Pop Count Problem
ArticlePop Count Problem (二进制数中1的个数)一、问题描述:求一个N位整数x的二进制表示中1的个数,越快越好。据说这是道很著名的面试题。原题是说如何在常量时间内算出32位整数的二进制表示中1的个数。实际上这么问是有漏洞的,因为按照最笨的方法,一个一个数,也不过32次,当然是常量时间。但如果你这么告诉面试官,十有八九会被骂白痴。因为大家一般都会认为32次实际转载 2012-10-19 14:10:46 · 1622 阅读 · 0 评论 -
taglist安装
taglist安装注意:taglist依赖于ctags,所以要先装ctags,否则taglist装了也没法用!1、首先安装ctags1)ubuntu安装sudo apt-get install exuberant-ctags2)centos安装wget http://prdownloads.sourceforge.net/ctags/ctags-5.8-1.i386.r转载 2012-10-18 16:13:50 · 537 阅读 · 0 评论 -
Android深入浅出之Binder机制
Android深入浅出之Binder机制Android深入浅出之Binder机制一 说明 Android系统最常见也是初学者最难搞明白的就是Binder了,很多很多的Service就是通过Binder机制来和客户端通讯交互的。所以搞明白Binder的话,在很大程度上就能理解程序运行的流程。我们这里将以MediaService的例子来分析Binder的使用:l转载 2012-10-17 15:52:18 · 611 阅读 · 0 评论 -
Android的Binder机制浅析
Android的Binder机制浅析1. 引言 一般实际的软件系统中进程间通信(IPC)的实现方法有命名管道(named pipe),共享内存(shared memory),消息队列(message queue),Socket等方法。在Android的框架(Framework)中,以Binder作为框架内进程间(通常如服务和客户间)通信的主要实现手段。这可能是出于效转载 2012-10-17 10:23:00 · 980 阅读 · 0 评论 -
二叉树的遍历方法
不知道在哪篇文章上看过一个二叉树的遍历方法,非常简单。从此不在需要记住那些烦人的前序、中序、后序遍历的顺序了:二叉树的遍历有三种方式,如下:(1)前序遍历(DLR),首先访问根结点,然后遍历左子树,最后遍历右子树。简记根-左-右。(2)中序遍历(LDR),首先遍历左子树,然后访问根结点,最后遍历右子树。简记左-根-右。(3)后序遍历(LRD),首先遍历左子树,然后遍历右子树,最转载 2012-09-26 15:36:08 · 10887 阅读 · 1 评论 -
vim列模式编辑方法
vim列模式编辑方法在使用i600w的编辑脚本时,只想使用其中的拷贝命令,但是还有其他很多行,如果一起运行的话,编译将会花费太多时间,但是如果一行行注释掉又比较麻烦,将来需要从新使用是还要一行行去掉注释,突然想到vi工具的强大,网上搜索看看有没有什么编辑命令,果然发现vi有个列编辑模式:编程的时候需要进行多行注释和删除多行注释,方法如下: 1、注释:ctrl+v 进入列编辑模式转载 2012-10-16 08:41:11 · 12385 阅读 · 0 评论 -
C语言中的整数自动转换原则
C语言中的整数自动转换原则 1、隐式转换 C在以下四种情况下会进行隐式转换: 1、算术运算式中,低类型能够转换为高类型。 2、赋值表达式中,右边表达式的值自动隐式转换为左边变量的类型,并赋值给他。 3、函数调用中参数传递时,系统隐式地将实参转换为形参的类型后,赋给形参。 4、函数有返回值时,系统将隐式地将返回表达式类转载 2012-09-18 09:03:14 · 921 阅读 · 0 评论 -
Android开机界面
Android开机界面Android 开机会出现3个画面: 1. Linux 系统启动,出现Linux小企鹅画面(reboot)(Android 1.5及以上版本已经取消加载图片); 2. Android平台启动初始化,出现"A N D R I O D"文字字样画面; 3. Android平台图形系统启动,出现含闪动的ANDROID字样的动画图片(start)。1、开机转载 2012-08-29 10:05:35 · 772 阅读 · 0 评论 -
android调试 反汇编
android调试 反汇编 转:http://www.apkbus.com/forum.php?mod=viewthread&tid=577在移植Android过程中会遇到很多Crash的情况,尤其是启动Android过程中。一般这些问题都可以通过看代码能解决,当然也有一些比较“妖娆”的问题,非常难找到头绪,在logcat日志也只会打印一些崩溃的堆栈,这些信息很难帮助我们定位问题转载 2012-08-29 09:10:04 · 2432 阅读 · 0 评论 -
GPIO分析
针对该gpio.c的硬件手册是SPRUE25.pdf,可到TI的网站(www.ti.com)上下载,或直接在谷歌里搜索。以下是两个文件gpio.c和gpio.h的浅析。gpio.c/* * TI DaVinci GPIO Support * * Copyright (c) 2006 David Brownell * Copyright (c)转载 2012-06-07 18:15:08 · 922 阅读 · 0 评论 -
GPIO设备虚拟文件结点的创建
GPIO设备虚拟文件结点的创建所谓GPIO设备虚拟文件结点,就是方便用户在应用程序直接操纵GPIO的值。1.首先必须了解static DEVICE_ATTR(GPS_nRST, 0644, gps_reset_show, gps_reset_store); 这个函数的意思。“GPS_nRST“是要操纵的引脚,“0644”创建文件结点的权限,“gps_reset_show”结点的转载 2012-06-07 16:04:26 · 699 阅读 · 0 评论 -
class_create
从linux内核2.6的某个版本之后,devfs不复存在,udev成为devfs的替代。相比devfs,udev有很多优势,在此就不罗嗦了,提醒一点,udev是应用层的东东,不要试图在内核的配置选项里找到它;加入对udev的支持很简单,以作者所写的一个字符设备驱动为例,在驱动初始化的代码里调用class_create为该设备创建一个class,再为每个设备调用 class_device_creat转载 2012-05-03 16:20:04 · 435 阅读 · 0 评论 -
linux下I2C驱动分析2-(1)
linux下I2C驱动分析2-(1) 在前一篇文章中我们分析了I2C设备驱动的写法,下面我们结合IMX27内部I2C总线驱动的例子来分析适配器驱动也就是总线驱动的具体写法。 1. 首先我们看看总线驱动的模块加载函数: static struct platform_driver mxci2c_driver = { .driver转载 2012-05-03 16:19:54 · 1805 阅读 · 0 评论 -
linux下I2C驱动分析2-(2)
linux下I2C驱动分析2-(2) 用法总结上面我们总结了i2c_algorithm的master_xfer成员函数的实现,我们正是调用该函数来实现i2c设备的访问的。一般我们在设备驱动中找到设备所接的适配器以后,同时也找到了该适配器的通信方法,然后我们会根据芯片的datasheet组织i2c消息,然后调用i2c核心提供的函数i2c_transfer来访问芯片。下面我们来跟踪下i2c转载 2012-05-03 16:19:44 · 997 阅读 · 0 评论 -
Makefile 运用小记
Makefile 运用小记 在用Makefile的时候可能会遇到很多小细节,下面将这些细节记录下来。 1.@的用法 makefile在执行的时候会将该命令先打印出来,再执行。可以在命令的前面加上@,这样在执行之前就不会被打印出来了。 2.export登录到系统后,系统将启动一个用户shell。在这个shell中,可以使用shell命令或声明变量,也可以创建转载 2012-05-03 16:19:32 · 352 阅读 · 0 评论 -
task_struct结构
task_struct结构 在linux 中每一个进程都由task_struct 数据结构来定义. task_struct就是我们通常所说的PCB.她是对进程控制的唯一手段也是最有效的手段. 当我们调用fork() 时, 系统会为我们产生一个task_struct结构。然后从父进程,那里继承一些数据, 并把新的进程插入到进程树中, 以待进行进程管理。因此了解task_struct转载 2012-05-03 16:19:22 · 653 阅读 · 0 评论 -
linux下I2C驱动分析1
linux下I2C驱动分析1 分类: LINUX 这几篇文章来分析下linux2.6下I2C驱动的写法,对个人也是一个学习的过程。 在linux系统下,i2c驱动架构分为三个部分:I2C核心、I2C总线驱动、I2C设备驱动,下面首先从设备驱动怎么写开始,主要是分析内核中的代码。本文中分析的内核代码是基于LINUX2.6.19版本。转载 2012-05-02 10:14:38 · 519 阅读 · 0 评论 -
class_create(),device_create自动创建设备文件结点
class_create(),device_create自动创建设备文件结点从linux内核2.6的某个版本之后,devfs不复存在,udev成为devfs的替代。相比devfs,udev有很多优势,在此就不罗嗦了,提醒一点,udev是应用层的东东,不要试图在内核的配置选项里找到它;加入对udev的支持很简单,以作者所写的一个字符设备驱动为例,在驱动初始化的代码里调用class_cre转载 2012-05-02 09:39:14 · 374 阅读 · 0 评论 -
container_of 函数
container_of 2010-05-23 22:34:32| 分类:默认分类 | 标签:|字号大中小 订阅在学习Linux驱动的过程中,遇到一个宏叫做container_of。该宏定义在include/linux/kernel.h中,首先来贴出它的代码:/** * container_of - cast a member of a str转载 2012-05-02 09:22:53 · 3390 阅读 · 0 评论 -
电子工程师必备网站
资料(PDF芯片)查询类网站 IC/PDF查询 www.21icsearch.com 电子元器件查询 www.chinadz.com IC/PDF查询 www.ic37.com 器件手册 www.datasheet5.com 电子技术文章资源下载类 今日电子 www.epc.com.cn 中国电子资源转载 2012-05-02 08:23:20 · 7518 阅读 · 0 评论