自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(91)
  • 资源 (9)
  • 收藏
  • 关注

转载 Andriod PM suspend&resume

源出处:http://www.61ic.com/Mobile/Android/201102/29414.htmlAndroid 的电源管理还是比较简单的 , 主要就是通过锁和定时器来切换系统的状态 , 使系统的功耗降至最低 , 整个系统的电源管理架构图如下 : ( 注该图来自 Steve Guo)  1 、初始化 suspend

2012-11-27 11:55:27 1286

原创 EXPORT_SYMBOL 与 extern的区别

这两种方法都可以让被 修饰的函数 能被内核其他程序调用。简单地说说区别,EXPORT_SYMBOL是通过宏,建立一个新的这个函数的入口,包括它址,名称。这个函数会被放到kernel image的__ksymtab section中。当用到这个函数的模块在runtime时被加载的时候,loader就会从__ksymtab section解析这个函数。extern 是将 非

2012-08-31 15:16:35 3679

转载 宏(#define),枚举型(enum)和const常量

源出处:http://eetimes.com/discussion/programming-pointers/4023858/Symbolic-ConstantsThere's more than one way to define symbolic constants in C and C++. It helps to know what all of your choices

2012-08-23 15:39:32 2937

原创 【整理】struct device的初始化

/** * struct device - The basic device structure * @parent:     The device's "parent" device, the device to which it is attached. *              In most cases, a parent device is some sort of bu

2012-08-17 15:11:24 1761

原创 英语写作, 句子

support...so that...be adequately served... 例句:A single chip package(SCP) is a package that supports a single microelectronic device so that its electrical, mechanical, thermal, and chemical p

2012-08-16 09:03:29 1035

原创 自旋锁使用的注意点

1. 自旋锁保护的临界区里,不能有引起睡眠的函数,如kmalloc,copy_from_user等。    因为如果某进(线)程获得锁并进入了临界区,但它却在临界区里睡着了,那么别的需要这把锁的进(线)程将可能要等待一段很久的时间,最坏的情况是死锁。    所以,在自旋锁里的临界区代码应是原子性的,不可睡眠的。2. 在LDD3里说到这样的一种情况: 在单CPU环境里,如果某进(线)程获

2012-08-14 11:27:01 1452

转载 解析Linux内核的同步与互斥机制(七)

源出处:http://www.startos.com/linux/tips/2011011921499_7.html5.3 手工休眠的具体函数执行流  特殊睡眠要求程序员手动处理所有上面的步骤. 它是一个繁琐的过程, 包含相当多的易出错的样板式的代码. 程序员如果愿意还是可能用那种方式手动睡眠。  (1)创建和初始化一个等待队列。常由宏定义完成: DEFINE_

2012-08-10 15:11:49 1739

转载 解析Linux内核的同步与互斥机制(六)

源出处: http://www.startos.com/linux/tips/2011011921499_6.html4.2 wake_up 的实现细节  \kernel \sched.c  /*  * The core wakeup function. Non-exclusive wakeups (nr_exclusive == 0) just

2012-08-10 15:10:57 1788

转载 解析Linux内核的同步与互斥机制(五)

源出处:http://www.startos.com/linux/tips/2011011921499_5.html/**  * wait_event_interruptible - sleep until a condition gets true  * @wq: the waitqueue to wait on  * @condition: a C expres

2012-08-10 15:09:48 876

转载 解析Linux内核的同步与互斥机制(四)

源出处:http://www.startos.com/linux/tips/2011011921499_4.html2.3.3 prepare_to_wait和finish_wait  /*  * Used to distinguish between sync and async io wait context:  * sync i/o typical

2012-08-10 15:08:50 1205

转载 解析Linux内核的同步与互斥机制(三)

源出处:http://www.startos.com/linux/tips/2011011921499_3.html在决定调用sleep_on系列函数到真正调用schedule系列函数期间,若等待的条件为真,若此时继续schedule,相当于丢失了一次唤醒机会。因此sleep_on系列函数会引入竞态,导致系统的不安全。  另外对于interruptible系列函数,其返

2012-08-10 15:08:06 1496

转载 解析Linux内核的同步与互斥机制(二)

源出处:http://www.startos.com/linux/tips/2011011921499_2.html全局或者在栈中定义一个wait_queue_t类型变量的同时对其初始化,这保证了系统的可靠性,避免因用户忘记初始化时导致的问题。通用的初始化宏,tsk为任意指针。分两步:  1) 内部宏__WAITQUEUE_INITIALIZER初始化相应成员;当wq内嵌在别的结构

2012-08-10 15:07:21 1421

转载 解析Linux内核的同步与互斥机制(一)

源出处:http://www.startos.com/linux/tips/2011011921499.html1 休眠与同步  一个驱动当它无法立刻满足请求应当如何响应? 一个对 read 的调用可能当没有数据时到来, 而以后会期待更多的数据。或者一个进程可能试图写, 但是你的设备没有准备好接受数据, 因为你的输出缓冲满了。调用进程往往不关心这种问题; 程序员只希望调用 read

2012-08-10 15:06:25 932

原创 linux内核常用头文件作用简介

与framebuffer相关的宏定义如FB_EVENT_BLANK, extern一些常用的函数如fb_blank(), 结构体定义如 struct fb_fix_screeninfo,fb_var_screeninfo 定义了一些用于判断某一个字符是否为大写字母、小写字母、数字、控制字符、标点符号等宏,如,isdigit(c)判定参数c是否为数字,此外还有大小写转换宏,如tolower(c)

2012-08-10 13:42:55 5270

原创 雅思技巧(True , False , Not given)

True , False , Not given中心词概念在范围,限定,时间前后,动作状态,肯定与否定情形,如果是对,答案是False, 如果是irrelevant,答案是NOT GIVEN。绝对不考整篇文章都有的NOT GIVEN,考原文中的一句话。NOT GIVEN不等于没有提到,中心词在概念,在范围限定之间无关。According to the aut

2012-07-14 22:17:16 1625

原创 git rebase 的活用

转载请注明出处:Alvin Lee的博客:http://blog.csdn.net/lihaoweiVgit rebase 命令的功能很强大, 在《git 权威指南》一书里,改变提交(commit)的顺序,书中教了一种很复杂的方法,运用了git reset ... git cherry-pick...等等命令。但如果用git rebase 命令,则一下就搞定。以下面的例子来讲解

2012-07-12 14:21:04 13999 1

转载 VIM/VI 查找与替换

出处:http://blog.sina.com.cn/s/blog_40cccb2f0100nwi3.html查找命令:要自当前光标位置向上搜索,请使用以下命令:/pattern Enter其中,pattern 表示要搜索的特定字符序列。要自当前光标位置向下搜索,请使用以下命令:?pattern Enter按下 Enter 键后,vi 将搜索指定的

2012-07-11 17:18:56 1063

原创 basename 与 basename_r 函数

此函数是获得directory中的basename, 比如basename(“android/system/core"),返回的是"core" 37 basename(const char*  path) 38 { 39     static char*  bname = NULL; 40     int           ret; 41 42     if

2012-07-06 09:56:48 2650

原创 LINUX 标准 错误号(ERRNO)

此内容位于头文件: include/asm-generic/errno.h#ifndef _ASM_GENERIC_ERRNO_H#define _ASM_GENERIC_ERRNO_H#include #define EDEADLK         35      /* Resource deadlock would occur */#define E

2012-05-14 18:47:59 1542

转载 CONST整理

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://endyion.blogbus.com/logs/75483089.html作者:康建东 一 const基础如果const关键字不涉及到指针,我们很好理解,下面是涉及到指针的情况:int b = 500;const int* a = &b; [1]int const *a =

2012-04-27 13:18:45 679

转载 如何在vim里面把空格缩进改为tab缩进

源出处:http://www.2cto.com/os/201110/107286.html有些同学喜欢用空格做缩进。因此很多代码的行首都带有连续重复的空格,有些是四个空格,有些甚至是八个空格。真是叔叔可忍婶婶不可忍。 vim有一些retab之类的选项可以对所有vim处理的文档做缩进转换,不过那太野蛮了,我们不打算让vim自动处理所有文件。   因此比较合

2012-04-26 10:19:23 1096

原创 英文单词,短语

data - manupulateinstruction - executedistinguish: Distinguish between instruction and data.occur: Instruction and data fetches can occur concurrentlytransfer: 可作名词,电子转移,迁移

2012-04-22 14:14:43 650

转载 什么是上拉电阻,什么是下拉电阻?它们的作用是什么?

出处:http://www.elecfans.com/dianzichangshi/2009062872843.html什么是上拉电阻,什么是下拉电阻?它们的作用是什么?上拉电阻一般是一端接电源,一端接芯片管脚的电路中的电阻,下拉电阻一般是指一端接芯片管脚一端接地的电阻。如下图的两个Bias Resaitor 电阻就是上拉电阻和下拉电阻。图中,上部的一个Bias Resaito

2012-04-13 09:32:41 1542

转载 GPIO驱动分析 & GPIO使用方法 -- S5PC110

[参考http://hi.baidu.com/macroliu%5F/blog/item/8025218db64008a50e244477.html]参考文件:arch\arm\mach-s5pv210\include\mach\gpio.h , \drivers\gpio\gpiolib.c , arch/arm/plat-s3c/include/plat/gpio-core.h , arc

2012-04-13 09:19:41 2792

转载 电器元件

SINGLE-BIT DUAL-SUPPLY BUS TRANSCEIVER 总线收发器This single-bit noninverting bus transceiver uses two separate configurable power-supply rails. The A port isdesigned to track VCCA. VCCA accept

2012-04-13 09:02:00 1663

原创 杂记,整理

MMU的作用: 提供虚拟地址和物理地址的映射, 内存访问权限保护和Cache缓存控制等硬件支持。TLB: Translation Lookaside Buffer,转换旁路缓存,TLB是MMU的核心部件,它缓存少量的虚拟地址与物理地址的转换关系,是转换表的cache,因此也经常被称为"快表"TTW: Translation Table Walk, 转换表漫游,当TLB中没有缓冲对应的地址转

2012-03-20 09:22:33 696

转载 Android的Linux内核的电源管理:Early Suspend

1. 用户空间的接口        在kernel/power/main.c中,定义了一组sysfs的属性文件,其中一个定义是:        power_attr(state);        把这个宏展开后:?  ?<span style="color:

2012-03-15 16:32:58 1890

转载 Browsing programs with tags

When editing programs, there is often a need to jump to another location, for example, to see how a function is defined. To help, Vim uses a tags file that lists each word you are likely to want, and

2012-03-14 14:55:21 925

原创 在公司学到的东西

1. 做事严谨 (韩振求,姜熙成)2. 做事认真负责到底(李尚贤)3. 为人宽容,和善(李一浩)4. 学会勤奋工作,适应加班生活5. 体验到在一个大公司里,如何和其他部门合作做一个项目6. 如何忍耐,即使上司说得不对,再用行动证明他是错的,而不是用说话来反驳。    因为他教训你的时候,他已经认定这件事情是你的错而他是对的了,你说再多的话也不能根本上改变他眼前的看法。说话反

2012-01-31 09:46:40 1160

转载 浅析linux内核驱动的代码风格

源出处:http://top.akaedu.org/index.php/index/bookdetail/id/2890最近在向Linux内核提交一些驱动程序,在提交的过程中,发现自己的代码离Linux内核的coding style要求还是差很多。当初自己对内核文档里的CodingStyle一文只是粗略的浏览,真正写代码的时候在很多细节上会照顾不周。不过, 在不遵守规则的程序员队伍里,

2012-01-20 09:30:55 1207

转载 函数参数的传递问题(一级指针和二级指针)

出处:http://www.newsmth.net/pc/pccon.php?id=10002501&nid=337392原以为自己对指针掌握了,却还是对这个问题不太明白。请教!  程序1:  void  myMalloc(char  *s)  //我想在函数中分配内存,再返回  {       s=(char  *)  malloc(100);  }

2011-11-30 15:59:32 1530 1

转载 指针使用前应先初始化

使用未初始化的指针是非常危险的。通过一个未初始化的指针会很容易覆盖随机的内存区域。造成的损害取决于如何倒霉,所以初始化指针不仅仅是一个好主意。通过指向一个已经被定义变量的地址 很容易初始化一个指针。以下可以看到,通过使用运算符 & 及变量的名称来用变量number的地址对指针pnumber进行初始化:int number = 0;                  // Initializ

2011-11-30 15:48:46 16357

原创 各种常用头文件的作用(转载整理)

stdio.hstdio 就是指 “standard buffered input&output"   意思就是说带缓冲的标准输入输出!  所以了,用到标准输入输出函数时,就要调用这个头文件!stdio.h中的标准输入输出函数  int getchar() //从标准输入设备读入一个字符,显示  int putchar() //向标准输出设备写一个字符  i

2011-11-30 15:24:14 1305

转载 Android/linux(earlysuspend、lateresume)睡眠唤醒机制简介

本文属于原创!!如要转载,请注明来源处 http://blog.sina.com.cn/s/blog_759dc36b0100stax.html  背景介绍:睡眠/唤醒是嵌入式Linux非常重要的组成部分,因为优秀的睡眠唤醒机制可以是嵌入式设备尽可能的进入休眠状态,来延长电池的续航时间(这在移动终端消费类电子设备中是非常重要和有意义的!!)。但标准的Linux睡眠唤醒机制有其自身的

2011-11-25 09:30:14 1557

转载 新版linux系统设备架构中关于电源管理方式的变更

出处:http://blog.csdn.net/coolraining/article/details/6678759新版linux系统设备架构中关于电源管理方式的变更based on linux-2.6.32 一、设备模型各数据结构中电源管理的部分  linux的设备模型通过诸多结构体来联合描述,如struct device,struct device_type,

2011-11-24 12:20:00 857

转载 Run-time PM 详解

源出处:http://blog.csdn.net/coolraining/article/details/6677901Run-time PM.  每个device或者bus都会向run-time PM core注册3个callbackstruct dev_pm_ops {...int (*runtime_suspend)(struct device

2011-11-24 12:19:01 1067

原创 嵌入式linux中关于device的电源管理

在platform_device_register()中调用device_initialize(),在device_initialize()中调用device_pm_init(),device_pm_init() 在drivers/base/power/main.c里, 详细如下:/** * device_pm_init - Initialize the PM-related pa

2011-11-24 09:28:58 3097

原创 early suspend 过程

在wakelock.c中声明了一个工作队列suspend_work_queue        struct workqueue_struct *suspend_work_queue;然后创建它,这个工作队列是earlysuspend的核心 suspend_work_queue = create_singlethread_workqueue("suspend");在ear

2011-11-24 08:42:06 2995

原创 三星SOC的显示控制器及framebuffer驱动s3c-fb.c中probe函数分析

三星SOC芯片上集成了显示控制器(有称作fimd的,Fully Interactive Mobile Display)。它的驱动分为mainline版本的和legacy版本的,mainline版本的是通用的,由Ben Dooks 管理着的,代码比较规范。下面我们来分析一下这个驱动,这个驱动在driver/video/里,文件名是s3c-fb.c 与其相关的,主要还有arch/arm/plat-s

2011-11-18 15:59:18 4697 2

转载 Linux内核通知链 notifier chain

源出处:http://fangjian0518.blog.163.com/blog/static/5591965620118295401816/1.内核通知链表简介(引用网络资料)    大多数内核子系统都是相互独立的,因此某个子系统可能对其它子系统产生的事件感兴趣。为了满足这个需求,也即是让某个子系统在发生某个事件时通知其它的子系统,Linux内核提供了通知链的机制。通知

2011-11-14 12:21:16 2405

Principles of mobile communication second edition

Principles of mobile communication second edition by Gordon L. Stüber 蓝色封皮的, 上面印着蜂窝model

2008-10-09

数字信号处理 原理 算法 与应用

Digital signal processing principles, algorithms, and applications John G.Proakis Dimitris G.Manolakis

2008-09-30

NeXt generation/dynamic spectrum access/cognitive radio wireless networks

authors: Ian F. Akyildiz, Won-Yeol Lee, Mehmet C. Vuran *, Shantidev Mohanty Abstract Today’s wireless networks are characterized by a fixed spectrum assignment policy. However, a large portion of the assigned spectrum is used sporadically and geographical variations in the utilization of assigned spectrum ranges from 15% to 85% with a high variance in time. The limited available spectrum and the inefficiency in the spectrum usage necessitate a new communication paradigm to exploit the existing wireless spectrum opportunistically. This new networking paradigm is referred to as NeXt Generation (xG) Networks as well as Dynamic Spectrum Access (DSA) and cognitive radio networks. The term xG networks is used throughout the paper. The novel functionalities and current research challenges of the xG networks are explained in detail. More specifically, a brief overview of the cognitive radio technology is provided and the xG network architecture is introduced. Moreover, the xG network functions such as spectrum management, spectrum mobility and spectrum sharing are explained in detail. The influence of these functions on the performance of the upper layer protocols such as routing and transport are investigated and open research issues in these areas are also outlined. Finally, the cross-layer design challenges in xG networks are discussed.  2006 Elsevier B.V. All rights reserved.

2008-09-20

计算机程序设计艺术(第二卷)

计算机程序设计艺术(第二卷) Donald E.Knuth著 苏运霖译 国防工业出版社 The art of computer programmitng 半数值数法

2008-09-16

数字通信—基础与应用 答案

digital communications fundamentals and applications Bernard Sklar著 课后答案 英文版

2008-09-15

WIRELESS COMMUNICATIONS

WIRELESS COMMUNICATIONS 斯坦福大学经典教材 教授Andrea Goldsmith 著 英文版,谁有中文版给我传一份吧

2008-09-09

数字通信—基础与应用(第二版)

经典通信教材,中文版 digital communications fundamentals and applications Bernard Sklar著

2008-09-02

数字识别系统源代码

数字识别系统源代码, 原创

2008-05-13

空空如也

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

TA关注的人

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