自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(99)
  • 资源 (1)
  • 收藏
  • 关注

转载 如何制作和使用Jffs2文件系统

本文主要介绍如何在AT91SAM9261EK板子上制作和使用jffs2文件系统,使用的是linux-2.6.21内核。首先配置MTD $ make menuconfig 进入 Memory Technology Devices (MTD) ---> Memory Technology Device (

2012-07-28 16:37:16 1182

原创 Setup linux timer for tick/jiffies

1. timer is configured at ba_set_mode() function CLOCK_EVT_MODE_PERIODIC switch(file:arch/ba/kernel/time.c):  mtspr(SPR_TTMR,SPR_TTMR_IE|SPR_TTMR_RT|(LATCH&SPR_TTMR_PERIOD));  LATCH is the clock t

2012-07-13 09:24:53 1441

转载 ffmpeg中对AVInputFormat结构体中函数的调用

opt_input_file()->      avformat_open_input()->             init_input()->                   av_probe_input_format()->                          av_probe_input_format2()->

2012-07-06 16:14:23 3073

转载 怎样写 Linux LCD 驱动程序

作者: 刘鹏 日期: 2008-12-27 本文分析了frame buffer 设备驱动的主要数据结构,在此基础上介绍了LCD驱动程序的开发。 基本原理通过 framebuffer ,应用程序用 mmap 把显存映射到应用程序虚拟地址空间,将要显示的数据写入这个内存空间就可以在屏幕上显示出来; 驱动程序分配系统内存作为显存;实现 file_operations 结构中的接口,为

2012-06-26 23:43:32 540

转载 ubuntu下折腾ffmpeg小记(音视频录制、转换)

前几天编译了个mplayer 1.0rc2,我几乎就找不到播不了的音视频了,正开心中,发现mencoder好像不能转换音频, 提示说非要有视频不可,狂晕,什么玩意儿~反正现在也在乎多折腾一个了,再把最新的ffmpeg装上吧:sudo apt-get build-dep ffmpeg 到http://ffmpeg.mplayerhq.hu下载最新的ffmpeg源代码解压,安装

2012-05-22 22:20:04 2363 2

原创 双核互斥问题

想利用cmpxchg指令来实现双核对临界资源的互斥访问。如下代码:static volatile __com u32 spinlock;void spin_lock(void){ u32 lock = 1; u32 ret0 = 0; u32 ret1 = 1; u32 unlock; s32 ret; while(1){  unlock = 0;

2012-05-18 11:18:00 2626

转载 Linux alsa驱动中的CODEC寄存器配置问题

调试Audio CODEC时,有时候需要读codec寄存器的值以确认是否配置寄存器成功。 记得之前调试wm8978时,发现这个CODEC的寄存器不能读,每次读的结果都是0xff. 后来在linux上调试wm8978时,用snd_soc_read()又能读到所配置的值,感觉很诧异。当时也没有细究。 这两天有空,在linux内核中看了一下相关代码,发现关于通过I2C读写CODEC的代码在

2012-05-04 16:58:34 8488 3

转载 linux内存管理浅析

[地址映射](图:左中)linux内核使用页式内存管理,应用程序给出的内存地址是虚拟地址,它需要经过若干级页表一级一级的变换,才变成真正的物理地址。想一下,地址映射还是一件很恐怖的事情。当访问一个由虚拟地址表示的内存空间时,需要先经过若干次的内存访问,得到每一级页表中用于转换的页表项(页表是存放在内存里面的),才能完成映射。也就是说,要实现一次内存访问,实际上内存被访问了N+1次(N=页表

2012-04-27 23:04:13 760

转载 linux 的 sys_read 在哪里定义?

声明:syscalls.h asmlinkage long sys_read(unsigned int fd, char __user *buf, size_t count);定义: syscalls.hC/C++ code#define SYSCALL_DEFINEx(x, name, ...) \ asmlinka

2012-04-24 09:43:19 2960

转载 解析:signal_pending与返回-ERESTARTSYS

解析:signal_pending与返回-ERESTARTSYS经常我们在睡眠的代码中 会看到这样的例子:    if (signal_pending(current)) {     ret = -ERESTARTSYS;     return ret;    }    关于 -ERESTARTSYS 到底是什么意思?

2012-04-23 21:43:02 1523

转载 ioremap 与 mmap

内存映射    对于提供了MMU(存储管理器,辅助操作系统进行内存管理,提供虚实地址转换等硬件支持)的处理器而言,Linux提供了复杂的存储管理系统,使得进程所能访问的内存达到4GB。  进程的4GB内存空间被人为的分为两个部分--用户空间与内核空间。用户空间地址分布从0到3GB(PAGE_OFFSET,在0x86中它等于0xC0000000),3GB到4GB为内核空间,如下图:

2012-03-31 14:43:02 9463

转载 Linux 下SVN 常用的命令

Linux 下SVN 常用的命令   1、将文件checkout到本地目录svn checkout path(path是服务器上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co        2、往版本库中添加新的文件svn add file例如:svn addtest.php(添加test.ph

2012-02-26 22:20:09 574

转载 语音合成方法的主要分类

语音合成的研究已有多年的历史,现在研究出的语音合成方法的分类,从技术方式讲,可分为波形合成法、参数合成法、和规则合成方法;从合成策略上讲可分为频谱逼近和波形逼近。    1、   波形合成法    波形合成法一般有两种形式,一种是波形编码合成,它类似于语音编码中的波形编解码方法,该方法直接把要合成的语音发音波形进行存储,或者进行波形编码压缩后存储,合成重放时再解码组合输出。另一种是波形编辑

2012-02-09 23:43:15 14190

转载 关于SWAP指令用于实现多CPU的互斥信号量

1楼:提问atomic load and store operation, allowing a MEMORY semaphore to be loaded and alteredwithout interruption. semaphore instructions用于进程同步, 不是很理解。记得操作系统中进程同步用信号量,底层实现用这个指令?atomic load an

2012-02-03 14:25:28 6538 2

转载 VoIP声学回声消除算法研究

0 引 言  近年来,VoIP(Voice over IP)技术及其业务的迅速发展,对传统的电信业务造成了巨大的冲击,与传统电话相比,IP电话以其网络带宽利用率高,通话成本低,可灵活地提供丰富的增值功能而备受市场青睐。然而,由于VoIP的语音在与其他数据一起在网络中传输时要经过压缩、编码、打包等一系列处理,造成回声路径的延迟较大,延迟抖动也较大,严重影响了话音质量,阻碍了VoIP市场的拓展。因

2012-01-30 10:25:22 7572

转载 揭开Σ-ΔADC的神秘面纱

越来越多的应用,例如过程控制、称重等,都需要高分辨率、高集成度和低价格的ADC。新型Σ-Δ转换技术恰好可以满足这些要求。然而,很多设计者对于这种转换技术并不十分了解,因而更愿意选用传统的逐次比较ADC。Σ-Δ转换器中的模拟部分非常简单(类似于一个1bit ADC),而数字部分要复杂得多,按照功能可划分为数字滤波和抽取单元。由于更接近于一个数字器件,Σ-ΔADC的制造成本非常低廉。一、Σ-ΔAD

2012-01-30 10:18:44 5051

转载 声音“三要素”---响度(loudness),音高(pitch),音色(timbre)

由于人耳听觉系统非常复杂,迄今为止人类对它的生理结构和听觉特性还不能从生理解剖角度完全解释清楚。所以,对人耳听觉特性的研究目前仅限于在心理声学和语言声学。 人耳对不同强度、不同频率声音的听觉范围称为声域。在人耳的声域范围内,声音听觉心理的主观感受主要有响度、音高、音色等特征和掩蔽效应、高频定位等特性。其中响度、音高、音色可以在主观上用来描述具有振幅、频率和相位三个物理量的任何复杂的声音,故又称为声

2012-01-29 10:40:07 35972 2

转载 如何消除音频输出端的喀嗒声

喀嗒声指恼人的音频瞬态噪声,在耳机放大器打开或关闭时由耳机产生。通过去掉传统耳机放大器输出端的隔直电容,美信公司的DirectDrive专利技术可去除喀嗒声,同时提供更好的低频响应。本文先阐述DirectDrive原理,如何工作以及带来的优点。然后介绍一个在手机等便携设备上已验证的去除耳机喀嗒声的方法。便携音频产品的差异化一直是个热门话题。什么特点能让产品A相比竞争产品B更出色?通常的

2012-01-17 10:10:22 1929

转载 ALSA驱动、设备函数调用关系

soc_probe==> snd_soc_register_card或者snd_soc_register_dai或者snd_soc_register_platform或者snd_soc_register_codec==> snd_soc_instantiate_cards==> snd_soc_instantiate_card==> codec_dev->probe(uda134x

2011-12-21 16:34:24 649

转载 运用autoconf和automake生成makefile文件

模拟需求假设源文件按如下目录存放,如图1所示,运用autoconf和automake生成makefile文件。图 1文件目录结构假设src是我们源文件目录,include目录存放其他库的头文件,lib目录存放用到的库文件,然后开始按模块存放,每个模块都有一个对应的目录,模块下再分子模块,如apple、orange。每个子目录下又分core,include,shell三个目录

2011-12-21 14:07:46 475

转载 ALSA声音编程介绍(译文)

英文原文:http://www.linuxjournal.com/article/6735period(周期):硬件中中断间的间隔时间。它表示输入延时。声卡接口中有一个指针来指示声卡硬件缓存区中当前的读写位置。只要接口在运行,这个指针将循环地指向缓存区中的某个位置。frame size = sizeof(one sample) * nChannelsalsa中配置的缓存(buffe

2011-12-19 20:44:52 954

转载 kmalloc vmalloc malloc区别

kmalloc()和vmalloc()介绍kmalloc()用于申请较小的、连续的物理内存1. 以字节为单位进行分配,在linux/slab.h>中2. void *kmalloc(size_t size, int flags) 分配的内存物理地址上连续,虚拟地址上自然连续3. gfp_mask标志:什么时候使用哪种标志?如下:———————————

2011-12-16 17:06:47 704

转载 list_head结构的使用

在Linux内核中,提供了一个用来创建双向循环链表的结构list_head。使用list_head提供的相应接口,链表操作将变得相当简单。下面就是kernel中的list_head结构定义:struct list_head {        struct list_head *next, *prev;};#defineLIST_HEAD_INIT(name) { &(n

2011-12-12 13:55:04 7606

转载 交叉编译 Linux 内核 for ARM

交叉编译Linux内核for ARM本文以三星S5PC100芯片为例,采用codesourcery公司出品的ARM平台交叉编译工具链,编译最新的内核源代码2.6.33。1. 交叉编译工具链1) 访问codesourcery官方网站下载最新的ARM交叉编译工具链,当前最新版本是arm-2009q3:http://www.codesourcery.com/sgpp/lite/arm/p

2011-12-11 00:01:06 6266

转载 Alsa驱动移植

作者:程姚根,华清远见嵌入式学院讲师。一. 下载alsa所需要的库和测试alsa的测试工具,此次使使用的是alsa-lib-1.0.24.1.tar.bz2、alsa-utils-1.0.24.2.tar.bz2。二. 默认情况下内核已经支持alsa驱动,保险情况下先去确认一下,如下图:Device Drivers --->            Sound card suppor

2011-12-10 17:38:08 2118

转载 ASoC – ALSA for System on Chip Devices

TheALSA System on Chip (ASoC) framework is the embedded Linux kernel sound system. ASoC is targeted at SoC processors and is designed with embedded system features in mind. ASoC provides advanced

2011-12-09 15:05:56 846

转载 ALSA Soc音频驱动分析

1. Soc audio driver module        注册一个name为”soc-audio”的驱动程序soc_driver       platform_driver_register(soc_driver)       static struct platform_driver soc_driver = {       .driver

2011-12-09 14:05:22 823

转载 linux 2.6内核源代码目录树简介

linux 2.6内核具有O(1)调度算法、改进的NPTL线程模型、内核态抢占等特性,以及良好的响应能力。可以把内核源代码目录树分为系统最核心组件和系统次核心组件:其中,系统最核心组件包括:scripts目录该目录中不包含任何核心代码,该目录下存放了用来配置内核的脚本和应用程序源码。lib目录该目录主要包含两部分内容:gnuzip解压缩算法,用于在系统启动过程中将压缩的内核

2011-12-09 09:20:18 770

转载 linux根目录下各目录的功能

/bin:存入普通用户可以使用的命令文件.目录/usr/bin 也可用来贮存用户命令。/sbin:  一般存放非普通用户使用的命令(有时隔不久普通用户也可能会用到).目录/usr/sbin中也包括了许多系统命令。/etc:系统的配置文件。/root:系统管理员(root或超级用户)的主目录。/usr:包括与系统用户直接相关的文件和目录,一些主要的应用程序了保存在该目

2011-12-09 09:15:02 560

转载 graphic and parameter EQ

Like  什么是均衡器 均衡器简介均衡器是一种可以分别调节各种频率成分电信号放大量的电子设备,通过对各种不同频率的电信号的调节来补偿扬声器和声场的缺陷,补偿和修饰各种声源及其它特殊作用,一般调音台上的均衡器仅能对高频、中频、低频三段频率电信号分别进行调节。均衡器分为三类:图示均衡器,参量均衡器和房间均衡器。1.图示均衡器:亦称图表均衡器,通过面板上推拉键的分布,可直观地反

2011-12-08 11:24:15 1056

转载 Android系统级深入开发之OpenMax系统结构和移植内容

Android系统级深入开发之OpenMax系统结构和移植内容2011-03-01 16:36 | 1169次阅读 | 来源:电子工业出版社 【已有0条评论】发表评论关键词:图书,调试,移植,移动开发,Android | 作者:韩超 梁泉 | 收藏这篇资讯<!--pre {white-space:pre-wrap; font-size:14p

2011-12-05 15:18:21 1659

转载 MP3解码算法分析——MP3帧头(Frame Header)数据结构描述

MP3解码算法分析(2)——MP3帧头(FrameHeader)数据结构描述    1. 帧头(Frame Header)数据结构描述     A    B C     D    E       F    G   H    I       J       K    L    M    AudioData     12   1 2     1    4       2

2011-11-16 14:09:09 2464

转载 vim命令大全

vim命令大全2009-08-04 08:34这时vim最常用的命令大全,没事常阅读,最重要的事,有问题了,尝试用这些东西去解决问题,而不是求助Windows。vim是linux下命令行一款经典编辑器操作简单功能强大,这是很多unix上元老级程序员的挚爱。我本地机器上一直使用的是vim+ctags组合,很受用。进入vi的命令vi filename :打开或新

2011-10-21 23:11:27 446

转载 VI使用总结

本文的目标不是一个VI编辑器的教材。它只是个人在使用VI编程的过程中,对自认为比较有用的一些编辑功能及其它功能的一些整理。有一些功能,比如hjkl键移动光,个人并不习惯使用,同时也并不认为对提高编辑效率有多大帮助,所以没有列入其中。与编程风格,编程规范这些东西恰恰相反,编辑器的使用习惯对程序员来说,是一件很个人化,很个性化的事情。每个人都可以有自己的使用习惯和偏好,只要有利于工作的高效即可

2011-10-21 23:08:51 550

转载 linux的嵌入汇编的一个问题(关于earlyclobber)

linux的嵌入汇编的一个问题"=&a"(retval)这是输出部,把寄存器eax的值放如retval中我想请问的是 &a的前面的&符号是做什么用的呢?albcamus 发表于 2009-06-09 10:41笔记:=========2

2011-09-26 11:12:19 1814 1

转载 GCC Inline Assembly-HOWTO

v0.1, 01 March 2003. This HOWTO explains the use and usage of the inline assembly feature provided by GCC. There are only two prerequisi

2011-09-26 09:48:06 1295

原创 Specialized English(Audio and Videio)

1 ,   double talk               Meaningless speech that consists of nonsense syllables mixed with intelligible words. It's offen used in spe

2011-07-25 17:17:42 909

转载 进位与溢出

对于无符号数来说,不存在溢出的问题,它的进位就相当于有符号数中的溢出而对有符号数来说,不存在进位的问题一个字节(8位) 的数有256个 (2的8次方)一个字(16位) 的数有65536个 (2的16次方)8个二进制位能够表达的无符号数范围是:0 ~ 255  16位表达的无符号数

2011-07-25 13:33:28 1426

转载 AVI格式解析

AVI格式是音频视频交错(Audio Video Interleaved)的英文缩写,它是Microsoft公司开发的一种符合RIFF文件规范的数字音频与视频文件格式,原先用于Microsoft Video for Windows (简称VFW)环境,现在已被Windows 95

2011-07-19 14:11:40 953 4

转载 Audio FomatTag GUID

0x0000WAVE_FORMAT_UNKNOWNMicrosoft Corporation未知或未指定的格式0x0001WAVE_FORMAT_PCMMicrosoft Corporation整数格式的 PCM 音频0x0002WAVE_FORMAT_ADPCMMicrosof

2011-07-18 14:17:09 963

空空如也

空空如也

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

TA关注的人

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