摘要: 基于Linux的动态电源管理:使嵌入式设备更节能 为了在产品众多、竞争激烈的市场上使产品与众不同,手持设备的制造商们往往把电池寿命和电源管理作为手机、PDA、多媒体播放器、游戏机、其它便携式消费类设备等产品的关键卖点来考虑。用户是从电池寿命这方面来看待电源管理的成效,其实它是多种因素共同作用的结果,这些因素包括 CPU 功能、系统软件、中间件,以及使用户可以在更长的充电或更换电池的间隔时间内享用各自设备的策略。电源管理范围 任何拥有笔记本电脑的人都会感觉到,他们的这种便携式设备依靠电池运行时,与依靠交流电(主电源)运行对比,行为表现不一样,屏幕变暗了,处理器时钟变慢了,并且系统只要有可能,.. 阅读全文
posted @ 2013-01-18 21:29 lsx_007 阅读(515) 评论(0) 推荐(0) 编辑
摘要: 最近几年的电源供应设计和电源管理发展趋势已经反映出整个电子产业都能见到的许多动态,例如零件整合度日益增加、利用数字组件来加强或取代传统模拟电路的做法更加普遍、以及在前两个趋势影响下,越来越多智能型功能开始分布至整个电源系统;毫无疑问的,这些力量将在未来的几年内继续影响电源零件。此外,某些特殊应用的电源系统设计技巧也已出现,它们也将塑造电源零件的本质和功能。 在这些特殊应用的众多发展趋势当中,最主要的趋势是把行动电话设计技巧和方法应用到其它行动通讯、运算和消费性电子装置的电源系统,例如PDA、数字相机、混合式智能型手机和其它产品。 电源系统单芯片 (power-system-on-a-c... 阅读全文
posted @ 2013-01-18 21:28 lsx_007 阅读(229) 评论(0) 推荐(0) 编辑
摘要: linux低功耗研究也有一段时间了,基本把低功耗的实现方式想清楚了(主要分成机制和策略),这段时间的工作主要在机制上。暂时想实现的主要的机制有:cpu级,设备驱动级,系统平台级。管理颗粒度不断递增,形成三驾马车齐驱的形势。 cpu级:主要实现比较容易的在系统处于目标在于频繁发生、更高粒度的电源状态改变,主要的实现方式为idle,包括今天的主要想讲的动态主频。 设备驱动级:主要实现对单个设备驱动的管理(suspend,resume等),通过系统监测将闲置的设备,通过从用户态对sys文件目录动态进行单个驱动设备的管理,置于省电模式。 系统平台级:目标在于管理较大的、非常见的重大电源状态改变,用于. 阅读全文
posted @ 2013-01-18 21:26 lsx_007 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 1.内核选项: Linux 动态变频管理 cpufreq 提供了操作系统级别的变频功能,同时需要用户层来制定和执行策略。cpufreq后台进程cpufreqd 就是用来监测系统的运行状况,并根据不同的状况设定 CPU 的工作频率的。 要想在用户层使用后台进程cpufreqd,首先需要在配置linux内核编译选项时选择CPU Frequency scaling功能选项, 其内有一些子选项,包含governor的选择和是否Enable CPUfreq debugging。 cpufreq有五种governor(将在10.1.3中介绍),要使cpufreqd正常运行,至少需要选择perform... 阅读全文
posted @ 2013-01-18 21:10 lsx_007 阅读(794) 评论(0) 推荐(1) 编辑
摘要: 编译新内核的原因:在做无线自组网实验时,发现pc机(作为asterisk服务器)先启动,其他终端后启动时(pc机与所有的终端的网卡都配置为adhoc模式)。所有的终端不能相互ping通,都是都可以与pc机ping通;如果是终端先启动,再启动pc机,终端之间以及终端与pc机之间都可以相互ping通。 分析原因: 尝试1 :有可能是pc机linux发行版商的网络管理软件导致。所以,更改网络设置,设置为手动配置网络。重新启动后,测试,问题还是一样。 尝试2 :pc机 与 终端还有一点是不相同的 --- 驱动程序。所以重新编译内核,去掉原先的驱动程序,编译rt3070sta驱动程序。 测试,... 阅读全文
posted @ 2012-12-27 20:03 lsx_007 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 陈工程师一直做Linux的嵌入式开发,作为在开发一线的工程师,他对很多问题的看法可能更切合实际需求,于是,通过邮件,就嵌入式开发方面的问题,请他谈了一下自己的看法: 问:关于嵌入式开发,我们准备给同学们讲解一些入门知识,从你一线开发经验来说,给我们一些建议: 陈工回答: 对于嵌入式Linux入门,如果有一定基础,可以从驱动开始;如果没有基础,我个人建议还是从应用程序开始。因为从应用程序开始是最容易的,也是 最直观的。而驱动程序运行在内核态,驱动本身的结构就比较复杂,如果要彻底弄明白驱动的运行机制,必定牵涉内核,对于高年级的学生恐怕问题会少一些,而 对于低年级的学生,问题估计较多。我曾经遇到过一 阅读全文
posted @ 2012-12-09 13:51 lsx_007 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 右左法则不是C标准里面的内容,它是从C标准的声明规定中归纳出来的方法。C标准的声明规则,是用来解决如何创建声明的,而右左法则是用来解决如何辩识一个声明的,两者可以说是相反的。 右左法则原文: The right-left rule:Start reading the declaration from the innermost parentheses,go right,and then go left.When you encounter parentheses, the direction should be reversed.Once everything in the parenthes 阅读全文
posted @ 2012-12-05 20:03 lsx_007 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 在c语言标准中定义了32个关键字,这32个关键字描述了有数据类型,或修饰数据类型,代码控制等。因此,深度学习c语言首先得把这32个关键字分析透彻,好现在就一个个来看这些关键字。首先看看数据类型。我们先要问为什么c语言中要加入int,float,char等数据类型,以及什么是数据类型?在汇编语言中是没有这个概念的。 1 基本数据类型 1.1 什么是数据类型? 答:数据类型是固定内存大小的别名,比如在32位机器中,int代表4个字节,char代表1个字节。数据类型是创建变量的模子 1.2 什么要有数据类型? 答:数据类型是创建变量的模子。这就好比生活中的鞋子,小孩子脚小,那么作鞋使用的模具... 阅读全文
posted @ 2012-12-03 11:49 lsx_007 阅读(413) 评论(0) 推荐(1) 编辑
摘要: #include <stdio.h>int main(){ printf("hello world ,my name's legend\n"); return 0;} 阅读全文
posted @ 2012-12-03 11:42 lsx_007 阅读(159) 评论(0) 推荐(0) 编辑