自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Allen.Yao的专栏

Android linux 学习

  • 博客(34)
  • 收藏
  • 关注

原创 关于linux/android的休眠唤醒比较好的博客

http://blog.csdn.net/lizhiguo0532/article/details/6453567

2014-05-26 00:22:31 585

转载 标准linu休眠和唤醒机制分析(四)

suspend第三、四、五阶段:platform、processor、corestatic int suspend_enter(suspend_state_t state){       int error;        if (suspend_ops->prepare) { // 平台特定的函数,mtkpm.c,有定义,对pmic和cpu dll的一些设置   

2014-05-26 00:20:34 654

转载 标准linu休眠和唤醒机制分析(三)

五、suspend和resume代码走读    下面对suspend分的几个阶段都是按照pm test的5中模式来划分的:freezer、devices、platform、processors、core。suspend第一阶段:freezerint enter_state(suspend_state_t state){       int error;       

2014-05-26 00:18:28 650

转载 标准linu休眠和唤醒机制分析(二)

三、pm_test属性文件读写int pm_test_level = TEST_NONE; static const char * const  pm_tests[__TEST_AFTER_LAST] = {       [TEST_NONE] = "none",       [TEST_CORE] = "core",       [TEST_CPUS] = "proces

2014-05-26 00:16:36 658

转载 标准linu休眠和唤醒机制分析(一)

说明:1. Based on linux2.6.32,  only for mem(SDR)2. 有兴趣请先参考阅读: 电源管理方案APM和ACPI比较.docLinux系统的休眠与唤醒简介.doc3. 本文先研究标准linux的休眠与唤醒,android对这部分的增改在另一篇文章中讨论4. 基于手上的一个项目来讨论,这里只讨论共性的地方 虽然linux支持三种省电模式

2014-05-26 00:14:58 729

转载 linux内核定时器使用及原理

下面只是原文的一部分,全文参考网址:http://wenku.baidu.com/view/cab7028fcc22bcd126ff0c58.html 内核定时器使用 内核定时器是内核用来控制在未来某个时间点(基于jiffies)调度执行某个函数的一种机制,其实现位于  和 kernel/timer.c 文件中。被调度的函数肯定是异步执行的,它类似于一种“软件中断”,而且是

2014-05-25 23:51:51 1967

转载 Linux命令exit - 退出当前shell

exit命令用于退出当前shell,在shell脚本中可以终止当前脚本执行。 常用参数格式:exit n退出。设…用途说明exit命令用于退出当前shell,在shell脚本中可以终止当前脚本执行。 常用参数格式:exit n退出。设置退出码为n。(Cause the shell to exit with a status of n.) 格式:exit退出。退出

2014-05-25 23:46:41 25511

原创 在线内核代码网站

http://lxr.free-electrons.com/ident?i=init_timer

2014-05-25 23:43:17 925

转载 《深入理解Linux内核》软中断/tasklet/工作队列

软中断、tasklet和工作队列并不是Linux内核中一直存在的机制,而是由更早版本的内核中的“下半部”(bottom half)演变而来。下半部的机制实际上包括五种,但2.6版本的内核中,下半部和任务队列的函数都消失了,只剩下了前三者。本文重点在于介绍这三者之间的关系。(函数细节将不会在本文中出现,可以参考文献,点这里)(1)上半部和下半部的区别上半部指的是中断处理程序,下半部则指的是一

2014-05-25 23:38:16 728

转载 Linux——Shell管理脚本(二)

在Shell脚本中执行使用if语句的好处是:可以根据特定的条件(eg:判断备份目录是否存在)来决定是否执行某项操作,当满足不同的条件时执行不同的操作(eg:备份目录不存在则创建该目录,否则跳过操作)。该文将分别从条件测试操作,if语句结构,应用示例这三个方面讲解if语句在Shell脚本中的应用。1、条件测试操作:需要在Shell脚本中有选择性地执行任务时,首先面临的问题就是,如何设置命令执

2014-05-25 23:35:02 923

转载 shell 中使用grep 来判断

在shell中,经常会用到grep 检索某个文件,查询是否有字符匹配, 用来判断流程:如:查询打印出来的log中,是否有想要的字符串:[cpp] view plaincopy/usr/app/startup > /usr/config.log  grep "NETMASK" /usr/config.log  if [ $? -ne 0 ]; then        

2014-05-25 23:29:17 27920 1

转载 Linux下grep命令

grep -- Global Regular Expression Print (全局搜索正则表达式并把行打印出来)1. grep简介grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。工作方式:       在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到屏幕,不影响原文

2014-05-25 23:26:57 663

转载 linux定时器和Jiffies

1.linux HZ Linux核心几个重要跟时间有关的名词或变数,以下将介绍HZ、tick与jiffies。 HZ Linux核心每隔固定周期会发出timer interrupt (IRQ 0),HZ是用来定义每一秒有几次timer interrupts。举例来说,HZ为1000,代表每秒有1000次timer interrupts。 HZ可在编译核心时设定,如下所示(以核心版本2.

2014-05-20 19:57:32 1783

原创 关于中断函数

1.中断函数里面不允许休眠,例如调用sleep函数

2014-05-20 19:43:56 1344

转载 linux内核定时器原理以及内核延时函数

Linux内核定时器一、定义:/include/linux/timer.hstruct timer_list {struct list_head entry;unsigned long expires;void (*function)(unsigned long);unsigned long data;struct tvec_t_base_s *base;#

2014-05-20 19:30:20 2609

转载 内核定时器

有奖征资内核定时器分类: LINUX设备驱动程序第三版 2013-01-21 20:57 475人阅读 评论(0)收藏 举报内核定时器如果我们需要在将来的某个时间点调试执行某个动作,同时在该时间点到达之前不会阻塞当前里程,则可以使用内核定时器。内核定时器可以在未来的某个时间点(基于时间滴答)调度执行某个函数。如硬件无法产和中断,则可以周期

2014-05-20 19:20:15 843

原创 内核定时器的使用

From dc7013bdf97c15b8438370d70979628e1dd87f05 Mon Sep 17 00:00:00 2001From: raymond.wang Date: Mon, 28 Apr 2014 12:25:18 +0800Subject: [PATCH] Fix #1 issue on bitbucket that we add a workaround

2014-05-20 19:17:22 595

转载 SourceInsight 扩展文件类型

今天在用SourceInsight搜索文件时,发现找不到Android.mk文件。问了同事,才知道在建立工程文件时,SourceInsight不识别.mk后缀的文件,因而没有加入到工程中。能否扩展SourceInsight的文件类型,比如添加.mk类型的文件?答案是肯定的。    打开工程文件,选择菜单 Options -> Document Options,点击 Add Type按钮,填写新

2014-05-15 23:48:21 1865

原创 当文件系统挂在不上的时候,如何拿回文件系统里面的数据??

diff --git a/src/preview-kit/linux-2.6.34/fs/yaffs2/yaffs_guts.c b/src/preview-kit/linux-2.6.34/fs/yaffs2/yaffs_guts.cindex 968223e..ec677a5 100755--- a/src/preview-kit/linux-2.6.34/fs/yaffs2/yaff

2014-05-15 16:58:46 759

转载 ubuntu 10.04下的配置tftp服务器

ubuntu 10.04下的配置tftp服务器第1步:安装tftp所需的软件。首先需要安装tftp-hpa,tftpd-hpa,前者是客户端,后者是服务程序,在终端下输入 sudo apt-get install tftp-hpa tftpd-hpa,安装tftp-hpa和tftpd-hpa。然后还需要安装xinetd,在终端下输入 sudo apt-get install xin

2014-05-13 18:09:56 530

转载 ubuntu tftp服务的配置

ubuntu tftp服务的配置步骤:1、安装相关软件包:Ubuntu tftp(服务端),tftp(客户端),xinetdsudo apt-get install tftpd tftp xinetd  2、建立配置文件在/etc/xinetd.d/下建立一个配置文件tftpsudo vim tftp在文件中输入以下内容:service tftp{ so

2014-05-13 18:07:24 591

转载 GSM MODEM

简介2功能3接口4配件5电路▪ 5.1 GSM模块▪ 5.2 外围电路▪ 5.3 电路板1简介编辑GSM Modem是一种使用移动通讯系统的调制解调器。GSM Modem就像一部手机一样通过SIM卡注册到运营商,当GSM Modem连接到电脑上的时候,电脑可以通过它与移动网络进行通讯,用户还可以

2014-05-09 18:52:23 2656

转载 GSM模块

GSM模块,是将GSM射频芯片、基带处理芯片、存储器、功放器件等集成在一块线路板上,具有独立的操作系统、GSM射频处理、基带处理并提供标准接口的功能模块。目录1说明2应用因此,GSM模块具有发送SMS短信,语音通话,GPRS数据传输等基于GSM网络进行通信的所有基本功能。简单来讲,GSM模块加上键盘、显示屏和电

2014-05-09 18:51:00 7873

转载 嵌入式Linux下通过PPP拨号上网(上)

这里记录在嵌入式Linux环境下,通过PPP拨号,先GPRS上网,后面再写3G上网。    一般的过程,先参考了【1】。本人使用FriendlyARM开发板(miniARM2440)与GPRS模块(其实只要有GPRS功能的上网卡或者其它模块都行。本人采用移动cmnet 连接,Linux内核是2.6.32的),PPP的拨号上网,方法如下:1.首先得让内核支持PPP,进入Linux 内核目

2014-05-09 18:49:48 1978

转载 内核request_mem_region 和 ioremap的理解

几乎每一种外设都是通过读写设备上的寄存器来进行的,通常包括控制寄存器、状态寄存器和数据寄存器三大类,外设的寄存器通常被连续地编址。根据CPU体系结构的不同,CPU对IO端口的编址方式有两种:  (1)I/O映射方式(I/O-mapped)  典型地,如X86处理器为外设专门实现了一个单独的地址空间,称为"I/O地址空间"或者"I/O端口空间",CPU通过专门的I/O指令

2014-05-09 17:59:32 581

转载 linux mmap 详解

linux mmap 详解谨以此文纪念过往的岁月一.前言mmap的具体实现以前在学习内核时学习过,但是对于其中的很多函数是一知半解的,有些只能根据其函数名来猜测其具体的功能,在本文中,一起来重新深入理解其具体的实现。二.mmap的用户层应用void *mmap(void *start,size_t length,int prot,int flags,int fd,o

2014-05-09 17:56:45 515

转载 linux中mmap系统调用原理分析与实现

原文地址:linux中mmap系统调用原理分析与实现 作者:Deem_passion1、mmap系统调用(功能)      void* mmap ( void * addr , size_t len , int prot , int flags ,int fd , off_t offset )      内存映射函数mmap, 负责把文件内容映射到进程的虚拟内存空间

2014-05-09 17:52:25 639

转载 alloc_netdev()与alloc_etherdev()

alloc_netdev()函数生成一个net_device结构体,对其成员赋值并返回该结构体的指针。第一个参数是设备私有成员的大小,第二个参数为设备名,第三个参数为net_device的setup()函数指针。setup()函数接收的参数为struct net_device指针,用于预置net_device成员的值。linux-2.6.22/net/core/dev.c-----

2014-05-09 17:47:52 1048

转载 网络驱动移植之解析Linux网络驱动的基本框架

内核源码:linux-2.6.38.8.tar.bz2     概括而言,编写Linux网络驱动其实只要完成两件事即可,一是分配并初始化网络设备,二是注册网络设备。    1、分配并初始化网络设备    动态分配网络设备(从C语言角度来看,其实就是定义了一个struct net_device结构体变量,并对这个结构体变量的某些成员进行了初始化而已)及其私有数据的大致

2014-05-09 17:43:36 1238

转载 Linux网络设备驱动程序——alloc_netdev()与alloc_etherdev()

Linux网络设备驱动程序——alloc_netdev()与alloc_etherdev()分类: 我自己的学习日志 Linux驱动相关2013-11-07 20:27 115人阅读 评论(0) 收藏 举报Linux 网络设备驱动alloc_netdev与alloc_e前一段时间一直在看FCoE交换机方面的的代码,忽然老师让把前一段时间看过的师兄写的关于一个CN

2014-05-09 17:41:11 2122

转载 linux网卡驱动分析之驱动加载

本文以Intel e1000e网卡驱动为例,分析网卡驱动的基本流程,内核版本为2.6.18。一、驱动注册网卡是一种PCI设备,为了正确的注册到内核,所有的PCI设备驱动都必须创建一个主要的结构体struct pci_driver:[cpp] view plaincopystruct pci_driver {    

2014-05-09 17:39:02 4761

转载 linux网卡驱动分析之probe函数

linux网卡驱动分析之probe函数分类: linux内核学习2013-03-16 10:11 576人阅读 评论(0) 收藏 举报probe函数中一般完成一下任务:1、通知内核设备执行DMA的寻址能力,说明设备支持64位还是32位的DMA地址。如果不支持64位的地址,则尝试32位的:[cpp] view plaincopy

2014-05-09 17:35:43 2609

转载 网络设备驱动基础

http://blog.sina.com.cn/s/blog_6e5b342e0100m87g.html

2014-05-09 17:33:55 1545

转载 yaffs2文件系统的工作流程和checkpoint机制

本文主要讲解一下一个具体的文件系统,yaffs2文件系统,当然针对需要深入研究的人或者说对文件系统完全不了解的读者可以先看一下以下两篇推荐文章。http://www.ibm.com/developerworks/cn/linux/l-vfs/    解析 Linux 中的 VFS 文件系统机制http://www.cnblogs.com/yuyijq

2014-05-09 10:12:32 2527

空空如也

空空如也

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

TA关注的人

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