自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (56)
  • 收藏
  • 关注

转载 理解printk函数

理解printk函数Printk函数是在开发驱动过程中经常用到的一个函数,作用就是在串口上输出内核的信息。这个常用的函数的执行过程未必大家都和清楚,下面的文章分析一下printk的执行过程,并说明printk函数的一些特点。 下面是printk的执行过程,重要的步骤有如下几个1. printk调用vprintk函数,首先是禁止抢占,并且关闭中断;2. 调用v

2013-11-29 16:17:43 2423

转载 linux clk模型

本模块是对平台(CPU 内部集成)的所有时钟源进行建模,提供对时钟源(clk)的操作接口。Clocking rate (Crystal/DPLL/ARM core): 26.0/332/500 MHz clk,clocksource, 锁相环(phase lock loops: pll.),多个时钟源,晶振,脉冲频率,时钟频率,晶振漂移,clk表示C

2013-11-28 17:33:12 3168

转载 Linux设备模型之tty驱动架构分析

Linux设备模型之tty驱动架构分析 一:前言Tty这个名称源于电传打字节的简称。在linux表示各种终端。终端通常都跟硬件相对应。比如对应于输入设备键盘鼠标。输出设备显示器的控制终端和串口终端.也有对应于不存在设备的pty驱动。在如此众多的终端模型之中,linux是怎么将它们统一建模的呢?这就是我们今天要讨论的问题.二:tty驱动概貌Tty架

2013-11-28 12:25:28 8396

转载 Linux中tty框架与uart框架之间的调用关系剖析

那就是来自用户空间的针对uart设备的操作意图是如何通过tty框架逐层调用到uart层的core驱动,进而又是如何调用到真实对应于设备的设备驱动的,本文中的对应设备驱动就是8250驱动,最近我想将这方面的内容搞清楚。在说明这一方面问题之前我们先要大致了解两个基本的框架结构,tty框架和uart框架。首先看看tty框架:在linux系统中,tty表示各种终端。终端通常都跟硬件

2013-11-27 19:09:02 1767

原创 printk打印到LCD

command_line="initrd=0x30800000,0x440000 root=/dev/ram init=/linuxrc console=tty0";这样就可以改变系统的控制台了. 还是在setup_arch函数中找到了以下代码,以后会用到的.#ifdef CONFIG_VT#if defined(CONFIG_VGA_CONSOLE) conswitchp = &

2013-11-27 18:46:22 3232 1

转载 Android之 BatteryService

电池的信息,电压,温度,充电状态等等,都是由BatteryService来提供的。BatteryService是跑在system_process当中,在系统初始化的时候启动,如下     在BatteryService.java中:          Log.i(TAG, "Starting Battery Service.");          BatteryService b

2013-11-22 10:59:51 1302

转载 ANDROID Porting系列十一、Power Management

介绍 wake_locksWake Locks类型探索Wake Lock例子PowerManager的类PM驱动注册驱动程序早期挂起 介绍Android支持其自己的电源(标准的Linux电源管理)设计的前提是的CPU不应该消耗功率,如果没有应用程序或服务需要电源。欲了解更多有关标准的Linux电源管理的信息,请参见Linux的电源管理支持http:/ / k

2013-11-21 16:44:32 1279

转载 Android linux的休眠和唤醒

1. Early suspend/ late resume 是android 添加的机制,用户关闭LCD, TS, Sensors等为了省电。可称之为浅度休眠2. Linux的Suspend/resume 仍然有效,可称之为深度休眠3. echo mem > sys/power/state 会触发early suspend,    echo on > sys/power/s

2013-11-21 16:43:51 1402

转载 android电源管理

Android 的电源管理也是很重要的一部分。比如在待机的时候关掉不用的设备,timeout之后的屏幕和键盘背光的关闭,用户操作的时候该打开多少设备等等,这些都直接关系到产品的待机时间,以及用户体验。在网上可以找到一篇到处转载的关于power management的文章http://blog.csdn.net/hzdysymbol/archive/2009/03/19/4004791.aspx,不

2013-11-21 16:15:02 1343

转载 Android 电源管理——gotosleep和userActivity关注

一、Android power management应用层分析     Android提供了android.os.PowerManager类,该类用于控制设备的电源状态的切换.    该类对外有三个接口函数:    1、void goToSleep(long time);        强制设备进入Sleep状态       要注意权限问题。    2、

2013-11-21 15:50:50 8560

转载 android sensor

0. 总论本文希望分别从动态角度(应用程序进程)以及静态角度(框架体系架构)两方面来理解传感器系统。1. 上层应用从编写应用程序的角度来看,比较简单,大体分如下4步,便可得到一个传感器实时上报的数值并作处理,1) 得到传感器服务  getSystemService(SENSOR_SERVICE);得到一个SensorManager,用来管理分配调度处理Sen

2013-11-21 11:21:49 1457

转载 ALSA 驱动分析

目录1.    Abstract2.    Introduction3.    音频驱动框架介绍3.1      音频设备的注册3.2     音频驱动的注册3.2.1       Probe函数的调用3.2.2       Soc_probe函数4.    通常的使用流程的分析4.1.1       open过程介绍

2013-11-19 17:27:29 1842

转载 ALSA架构简介

ALSA (Advanced Linux Sound Architecture(高级Linux声音体系)的缩写)是为声卡提供驱动的Linux内核组件,以替代原先的OSS(开放声音系统)。ALSA除了像OSS那样提供一组内核驱动程序模块以外,还专门为简化应用程序的编写提供了相应的库函数,与OSS提供的基于ioctl的原始编程接口相比,ALSA函数库使用起来要更加方便一点。ALSA的主要特点如下:

2013-11-19 09:54:54 2057 1

转载 PCM data flow之一:概述

Linux kernel version:3.4.5SoC:Samsung exynosUserspace:tinyalsa音频驱动主要有三部分组成:1、 Platform:通常指某款SoC平台,如exynos、omap等等。Platform又可细分两部分:1.1、CPU DAI:在嵌入式系统里面通常指CPU的I2S、PCM总线接口,负责将音频数据从AIF FIFO搬运

2013-11-15 16:15:44 5540

转载 Linux ALSA声卡驱动之八:ASoC架构中的Platform

1.  Platform驱动在ASoC中的作用前面几章内容已经说过,ASoC被分为Machine,Platform和Codec三大部件,Platform驱动的主要作用是完成音频数据的管理,最终通过CPU的数字音频接口(DAI)把音频数据传送给Codec进行处理,最终由Codec输出驱动耳机或者是喇叭的音信信号。在具体实现上,ASoC有把Platform驱动分为两个部分:snd_soc_plat

2013-11-15 15:13:39 1682

转载 Linux ALSA声卡驱动之七:ASoC架构中的Codec

1.  Codec简介在移动设备中,Codec的作用可以归结为4种,分别是:对PCM等信号进行D/A转换,把数字的音频信号转换为模拟信号对Mic、Linein或者其他输入源的模拟信号进行A/D转换,把模拟的声音信号转变CPU能够处理的数字信号对音频通路进行控制,比如播放音乐,收听调频收音机,又或者接听电话时,音频信号在codec内的流通路线是不一样的对音频信号做出相应的

2013-11-15 15:12:41 1495

转载 Linux ALSA声卡驱动之六:ASoC架构中的Machine

前面一节的内容我们提到,ASoC被分为Machine、Platform和Codec三大部分,其中的Machine驱动负责Platform和Codec之间的耦合以及部分和设备或板子特定的代码,再次引用上一节的内容:Machine驱动负责处理机器特有的一些控件和音频事件(例如,当播放音频时,需要先行打开一个放大器);单独的Platform和Codec驱动是不能工作的,它必须由Machine驱动把它们结

2013-11-15 15:12:01 1294

转载 Linux ALSA声卡驱动之五:移动设备中的ALSA(ASoC)

1.  ASoC的由来ASoC--ALSA System on Chip ,是建立在标准ALSA驱动层上,为了更好地支持嵌入式处理器和移动设备中的音频Codec的一套软件体系。在ASoc出现之前,内核对于SoC中的音频已经有部分的支持,不过会有一些局限性:   Codec驱动与SoC CPU的底层耦合过于紧密,这种不理想会导致代码的重复,例如,仅是wm8731的驱动,当时Lin

2013-11-15 15:11:28 1169

原创 Linux ALSA声卡驱动之四:Control设备的创建

Control接口Control接口主要让用户空间的应用程序(alsa-lib)可以访问和控制音频codec芯片中的多路开关,滑动控件等。对于Mixer(混音)来说,Control接口显得尤为重要,从ALSA 0.9.x版本开始,所有的mixer工作都是通过control接口的API来实现的。 ALSA已经为AC97定义了完整的控制接口模型,如果你的Codec芯片只支持AC97

2013-11-15 15:10:35 1500

转载 Linux ALSA声卡驱动之三:PCM设备的创建

1. PCM是什么PCM是英文Pulse-code modulation的缩写,中文译名是脉冲编码调制。我们知道在现实生活中,人耳听到的声音是模拟信号,PCM就是要把声音从模拟转换成数字信号的一种技术,他的原理简单地说就是利用一个固定的频率对模拟信号进行采样,采样后的信号在波形上看就像一串连续的幅值不一的脉冲,把这些脉冲的幅值按一定的精度进行量化,这些量化后的数值被连续地输出、传输、处理或

2013-11-15 15:07:31 1641

转载 Linux ALSA声卡驱动之二:声卡的创建

1. struct snd_card 1.1. snd_card是什么snd_card可以说是整个ALSA音频驱动最顶层的一个结构,整个声卡的软件逻辑结构开始于该结构,几乎所有与声音相关的逻辑设备都是在snd_card的管理之下,声卡驱动的第一个动作通常就是创建一个snd_card结构体。正因为如此,本节中,我们也从 struct cnd_card开始吧。 1.2. snd_c

2013-11-15 15:06:46 1371

转载 Linux ALSA声卡驱动之一:ALSA架构简介

一.  概述    ALSA是Advanced Linux Sound Architecture 的缩写,目前已经成为了linux的主流音频体系结构,想了解更多的关于ALSA的这一开源项目的信息和知识,请查看以下网址:http://www.alsa-project.org/。    在内核设备驱动层,ALSA提供了alsa-driver,同时在应用层,ALSA为我们提供了alsa-lib,

2013-11-15 15:06:05 1277

转载 应用层的poll 函数介绍

poll()函数:这个函数是某些Unix系统提供的用于执行与select()函数同等功能的函数,下面是这个函数的声明:#include int poll(struct pollfd fds[], nfds_t nfds, int timeout);参数说明:fds:一个struct pollfd结构类型的数组,用于存放需要检测其状态的Socket描述符;每当调用这个

2013-11-13 15:47:14 1204

转载 JellyBean的VSync与三级buffer的入门介绍(外文翻译)

天我们来探讨一些不同的,来研究一些对于所有人都很实用的一个话题:性能。大家可以看到JellyBean非常的快,在GalaxyNexus测试它可以感到它变成了一台全新的手机。滚动变得非常平滑和更快了,而且相应点击也变得高度敏感。另外,这些平滑的表现体现在了各个方面。   我不清楚你们是否都已经看到了这些改变,不过这些都很无趣呀,真正有趣的东西是——他们怎么做到这些的?这就是我们这里要探究的。因此

2013-11-05 18:00:07 1803

转载 Make menuconfig错误解决

Ubuntu 12.04下执行make menuconfig的时候报如下错误:www.linuxidc.com @www.linuxidc.com:~/work/linux_3.9.5/linux-3.9.5$ make menuconfigHOSTLD  scripts/kconfig/mconfscripts/kconfig/mconf.o: In function `show_h

2013-11-04 17:09:24 1374

转载 GDB远程调试技术(应用层调试)

GDB调试器提供了两种不同的调试代理用于支持远程调试,即gdbserver方式和stub(插桩)方式。   这两种远程调试方式是有区别的。gdbserver本身的体积很小,能够在具有很少存储容量的目标系统上独立运行,因而非常适合于嵌入式环境;而stub方式则需要通过链接器把调试代理和要调试的程序链接成一个可执行的应用程序文件,如果程序运行在没有操作系统的机器上,那么stub需要提供异常和中断处

2013-11-04 15:17:46 2189

转载 Android kernel wakelock分析

1. Linux kernel wakelock 定义A wake_lock prevents the system from entering suspend or other low power states when active. If the type is set to WAKE_LOCK_SUSPEND, the wake_lock prevents a full system

2013-11-04 14:25:51 2312

UNIX环境高级编程

UNIX环境高级编程

2012-01-31

android内核移植文档整理

android内核移植文档整理,我移植时参考过的文档,论文,资料,等待资料.学习andoid内核移植的好文章

2011-12-26

Uboot启动和移植

Uboot启动和移植

2011-12-25

uboot分析和笔记

uboot分析和笔记 详细的分析 uboot分析和笔记 详细的分析

2011-12-25

Android面试题

Android面试题

2011-12-25

android底层相关模块介绍

android底层相关模块介绍供14章 包括android驱动所有模块,学习的好资料啊

2011-12-25

Android核心分析

Android核心分析 Zygote Service - maxleng的专栏 Service深入分析 IPC框架分析 Binder,Service,Service manager

2011-12-25

Android编译系统

Android_build_systemAndroid_build_systemAndroid_build_system

2011-12-25

android编译大全_完全指南

android编译大全_完全指南

2011-12-25

Android的编译系统

Android的编译系统

2011-12-25

FPGA学习经验

FPGA学习经验共享FPGA学习经验共享FPGA学习经验共享FPGA学习经验共享

2011-12-25

matlab书籍整理

matlab书籍整理

2011-12-25

超声波测距资料打包

超声波测距资料

2011-12-25

嵌入式系统设计开发流程

嵌入式系统设计开发流程嵌入式系统设计开发流程嵌入式系统设计开发流程嵌入式系统设计开发流程

2011-12-25

ucos 2内核结构

ucos 2内核结构

2011-12-25

嵌入式操作系统介绍

嵌入式操作系统介绍

2011-12-25

任务管理 时间管理 内存管理

任务管理 时间管理 内存管理

2011-12-25

uCOSII移植

uCOSII移植

2011-12-25

C语言实现FFT

C语言实现FFT

2011-12-25

C2000与单片机对比分析

C2000与单片机对比分析

2011-12-25

基于DSP的FFT算法实现

基于DSP的FFT算法实现

2011-12-25

TMS320C2000 DSP硬件结构

TMS320C2000 DSP硬件结构

2011-12-25

TMS320C2000 DSP指令系统

TMS320C2000 DSP指令系统

2011-12-25

CCS的技术概述

CCS的技术概述

2011-12-25

做DSP最应该懂得157个问题

做DSP最应该懂得157个问题

2011-12-25

基于TMS320C240湿度传感器测试系统设计

基于TMS320C240湿度传感器测试系统设计

2011-12-25

Jabber(XMPP)服务协议的概述中文版

Jabber(XMPP)服务协议的概述中文版

2011-12-25

AVR实现MP3,歌曲放在U盘.

AVR实现MP3,歌曲放在U盘,原理图,代码都有,还有说明哦

2011-12-25

XMPP协议简介

XMPP协议简介

2011-12-25

佛山网通EPON的FTTH工程方案设计

如今,更多用户关注多样化、个性化的通信服务,宽带服务的需求已经上升到了一个新的台阶。随着IPTV视频组播、点播业务的全面展开,对接入网提出了更高的带宽需求。 现有宽带接入方式,如xDSL,已越来越不能满足用户高带宽、多业务接入的需求。随着光接入技术的发展,光纤到户的综合成本比以前有大幅度下降。目前进行FTTH技术和业务的试验条件已经具备。 本文主要讨论了佛山网通EPON的FTTH工程设计方案,对工程涉及的试验业务、网络结构、小区布线、带宽设计、IP地址规划、VLAN划分、设备特性、ODN设置等进行了详细的描述,并对该工程采用EPON的FTTH技术进行了详细的分析。本次试验工程为佛山进行大规模的FTTH商用奠定了基础。

2011-12-25

03_Android的Linux内核与驱动程序

03_Android的Linux内核与驱动程序

2011-12-25

BootLoader_与Linux_内核的参数传递

BootLoader_与Linux_内核的参数传递

2011-12-25

linux 内核启动过程以及挂载android 根文件系统的过程

linux 内核启动过程以及挂载android 根文件系统的过程

2011-12-25

Eclipse_OpenOCD_OpenJTAGv3嵌入式开发教程

Eclipse_OpenOCD_OpenJTAGv3嵌入式开发教程Linux

2011-12-25

超宽带无线通信技术 ppt

超宽带无线通信技术 超宽带无线通信技术

2022-09-11

ARM---Cortex-A8处理器

ARM---Cortex-A8处理器, PPT版本, 非常好的参考资料。 欢迎下载 Cortex-A8处理器 技术特点; Cortex-A8内部 功能及特点; Cortex-A8内核工作模式; Cortex-A8存储系统。

2022-09-11

opencl SVM例程

opencl SVM例程

2016-08-16

linux设备启动char_dev2

linux设备启动char_dev2

2012-01-31

linux设备启动char_dev1

linux设备启动char_dev

2012-01-31

linux字符设备驱动

linux字符设备驱动

2012-01-31

空空如也

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

TA关注的人

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