- 博客(67)
- 资源 (107)
- 收藏
- 关注
转载 LIVE555 概述
liveMedia项目(http://www.live555.com/)的源代码包括四个基本的库,各种测试代码以及Media Server。四个基本的库分别是: UsageEnvironment&TaskScheduler, groupsock, liveMedia和BasicUsageEnvironment。UsageEnvironment和TaskScheduler类用于事件的调度
2012-12-15 16:43:44
1419
转载 ISP DSP diff
ISP 是Image Signal Processor 的简称,也就是图像信号处理器。而DSP是Digital Signal Processor 的缩写,也就是数字信号处理器。ISP一般用来处理Image Sensor(图像传感器)的输出数据,如做AEC(自动曝光控制)、AGC(自动增益控制)、AWB(自动白平衡)、色彩校正、Lens Shading、Gamma 校正、祛除坏点、Auto Bl
2012-12-08 01:28:08
3068
转载 request_region
void request_region(unsigned long from, unsigned long num, const char *name) 这个函数用来申请一块输入输出区域。 如果这段I/O端口没有被占用,在我们的驱动程序中就可以使用它。在使用之前,必须向系统登记,以防止被其他程序占用。登记后,在/proc/ioports文件中可以看到你登记的io口。
2012-10-31 22:48:37
935
转载 系统启动后的 wifi 加载过程
============================ Wifi 启动代码流程 ====================1、系统启动 首先加载init.rc,这个文件 会加载所有service,init是linux启动的 第一个 用户空间 的应用(属于linux进程,不属于Android应用)。2、init.rc里有以下这句话:Service wpa_supp
2012-10-12 16:22:25
1543
1
原创 Ubuntu11.04解决外接显示器分辨率低的问题
我的笔记本是thinkpad,外接显示器设置分辨率为1680x1050.首先,熟悉一下命令:xrandr 命令行可以很方便地切换双屏,常用方式如下,其他的可以自己探索:xrandr --output VGA --same-as LVDS --auto打开外接显示器(最高分辨率),与笔记本液晶屏幕显示同样内容(克隆)xrandr --output VGA --same-as LV
2012-10-04 11:09:39
2639
1
转载 cvs用法总结(4)--cvs命令checkout,commit,update
一.checkout 签出 cvs checkout [-ANPRcflnps] [-r rev| -D date] [-d dir] [-j rev1] [-j rev2] [-k kopt] modules... -A 重置所有粘性标记/日期/kopts -N 如果指定了-d选项,不要使用短模块路径 -P 删除空目录
2012-09-09 16:28:35
2744
转载 开机自动启动 Ubuntu iBus 输入法
Ubuntu的默认输入法是ibus,但是发现系统启动时它不会自动启动。Google 的说法是:Ubuntu 系统安装后虽然自带了 ibus输入法,但在英语环境下默认不启动。要开机启动,其实也很简单,只要在〔System〕->〔administration〕->〔LanguageSupport〕里选择〔Keyboard input methodsystem〕为〔ibus〕就可
2012-09-05 22:00:05
924
转载 A2DP
Android系统中,应用程序只能看到AudioSystem这个接口,AudioFlinger是一个实现类,主要用于音频选路和PCM包的混音与重采样,并把PCM数据包传送给底层。AudioFlinger在所有进程中只有一个实体,其他进程如需要访问通过Binder进程间通信的方式进行访问。 AudioHardware是一层硬件抽象层,主要负责音频数据的收发与控制。AudioFlinger把他看
2012-08-11 21:03:51
1884
转载 WIRELESS MAC AND PHY SPECIFICATIONS FOR WPANS
<!--.ft00 {font-size:12px; font-family:Times; color:rgb(0,0,0)}.ft01 {font-size:15px; font-family:Times; color:rgb(0,0,0)}.ft02 {font-size:19px; font-family:Times; color:rgb(0,
2012-08-05 14:28:45
2426
转载 Linux下Bluetooth编程
1. HCI层协议概述:HCI提供一套统一的方法来访问Bluetooth底层。如图所示: 从图上可以看出,Host Controller Interface(HCI) 就是用来沟通Host和Module。Host通常就是PC, Module则是以各种物理连接形式(USB,serial,pc-card等)连接到PC上的bluetooth
2012-08-03 15:42:46
1010
转载 如何分析HCI的Command Packet和Event Packet包
HCI Packet包括四种,即Command,Event,ACL和SCO/eSCO,对应到MS-Stack中的定义,即为COMMAND_PACKET ,EVENT_PACKET,DATA_PACKET_ACL和DATA_PACKET_SCO。如下(详细参照bt_hcip.h):enum HCI_TYPE { COMMAND_PACKET = 1,
2012-08-03 14:41:33
3421
转载 android 蓝牙
BluetoothService里定义的Native方法都在android_server_BluetoothServer.cpp里建立jni调用。开启:由BluetoothEnabler控制,在构造里会先调用 LocalBluetoothManager.getInstance(context),在getInstance里会调用init()函数,BluetoothAdapter.ge
2012-08-03 10:24:44
829
转载 Bluetooth的Security概述
涉及到Bluetooth的Security相关的概念很多,并分散到不同的文档(Specification, Whitepaper)中,甚至Specification中不同的部分都零散着Security的论述。导致给理解Bluetooth的Security带来不少的困难。也许是因为大家理解不够的缘故吧,使得各种Bluetooth产品的对于Security的UI有很大的差异。从而对于用户来说,本来
2012-08-02 15:22:00
2318
转载 蓝牙耳机复位
二、蓝牙连接方法第一次使用需要用手机与蓝牙耳机配对,配对成功后才能够使用。配对方法:1.启动蓝牙耳机:按住蓝牙开关键,等蓝灯变长亮(一直亮)状态(有的蓝牙耳机是红蓝灯交替闪烁),此时蓝牙耳机处于配对状态(此过程大概需要按住10秒左右,按的时候中间一定不能松手,否则需要关机后重新操作);2.启动手机的蓝牙功能,然后设置手机搜索蓝牙设备;3.从搜索到的设备列表中选择产品的型号,按提
2012-08-02 15:03:54
10604
转载 ubuntu bluetooth 配对过程
bluetoothd运行时(main函数启动时),加载plugin(调用plugin_init函数):[cpp] view plaincopyprint?gboolean plugin_init(GKeyFile *config) { GSList *list; GDir *dir; const gchar *file; gch
2012-07-31 19:46:19
3853
转载 linux蓝牙驱动代码阅读笔记
linux蓝牙驱动代码阅读笔记昨天看了一下介绍蓝牙协议文档,今天索性对照看了看kernel里的代码(bluez),这里记点笔记,还是继承了老毛病,只关注整体流程而忽略细节,先了解个大概,等真正需要时再仔细分析。net/hci_core.cHCI 在主机端的驱动主要是为上层提供一个统一的接口,让上层协议不依赖于具体硬件的实现。HCI在硬件中的固件与HCI在主机端的驱动通信方式
2012-07-31 19:42:19
1381
转载 LIST of HCI cmd
HCI Commands Link Control Commands (OGF = 0x01)NoCommand NameOpCodeDescription1Inquiry0x0001Command used to enter Inquiry
2012-07-27 15:26:27
4585
转载 蓝牙
BccmdBccmd是用来和CSR的芯片进行BCCMD(Bluecore command protocol)通讯的一个工具。BCCMD并非蓝牙协议栈的标准,而是CSR芯片的专属协议Bccmd的调用格式为:bccmd [-t ] [-d ] []Tansport类型包括 HCI USB BCSP H4等,常用的估计就是HCI和BCSP两种。需要注意一下他们的使用场合:HCI是一个抽
2012-07-26 12:07:14
4176
转载 蓝牙配对
所谓的配对与连接,打个比方:你与某人认识了,互相留手机号码,这就是配对; 然后你给他打电话,这就是连接,相当于用蓝牙传文件。所以没有传送文件的时候是没有连接的。hcidump 工具和tcpdump(1) 非常相像。它可以用来显示蓝牙数据包的内容, 并将其记录到文件中。Bluetooth (蓝牙) 是一项无线技术, 用于建立带宽为 2.4GHZ,波长为 10米的私有网络。不象
2012-07-24 08:09:18
1866
转载 cvs用法
一.checkout 签出 cvs checkout [-ANPRcflnps] [-r rev| -D date] [-d dir] [-j rev1] [-j rev2] [-k kopt] modules... -A 重置所有粘性标记/日期/kopts -N 如果指定了-d选项,不要使用短模块路径 -P 删除空目录
2012-07-23 17:56:25
684
原创 VOIP技术架构
H.323协议存在一些问题(不支持群播,只有有限的MCU;其IP电话网络在接入端仍需经过当地PSTN电路交换网),之后定制了MGCP,目的在于将H.323在功能上进行分解,划分成负责媒体处理的媒体网关(MG),掌控呼叫建立与控制的媒体网关控制器(MGC)两部分。VoIP架构4元素:媒体网关,媒体网关控制器,语音服务器,信号网关器(在交换过程中进行相关控制,以决定通话建立与否,及相关增值
2012-07-21 08:08:32
3518
原创 shell复习
find pathname -options [-print -exec -ok]-exec find命令对匹配的文件执行该参数所给出的s h e l l命令。相应命令的形式为' c o m m -and' {} \;,注意{ }和\;之间的空格。-ok 和- e x e c的作用相同。c p i o命令可以用来向磁带设备备份文件或从中恢复文件。可以使用f i n d命令在整个
2012-07-21 00:55:19
637
转载 Asterisk
Asterisk允许您同时实时连接到PSTN和VoIP网络。Asterisk服务器不需要任何特殊的硬件即可提供VoIP的服务,只需服务器有网络连接即可。它支持主流VoIP协议,包括会话发起协议(SIP)、H.323,既可作为IP电话服务器也可以作IP电话和PSTN之间的转接。Asterisk系统还设计了一个新协议,IAX,用于在Asterisk服务器之间维护话路通道。如果需要连接普通电话或PS
2012-07-16 17:20:57
981
转载 android recovery模式
Android手机开机后,会先运行 bootloader。Bootloader会根据某些判定条件(比如按某个特殊键)决定是否进入 recovery模式。Recovery模式会装载recovery分区,该分区包含recovery.img。recovery.img包含了标准内核(和boot.img中的内核相同)以及recovery根文件系统。菜单说明:Opt
2012-07-16 16:14:30
17628
2
原创 netlink知识
(1)netlink使用cb字段传输数据。(sk_buff是Linux在其协议栈里传送的结构体,也就是所谓的“包”)(2)用户空间的netlink套接字很简单,和传统的网络套接字类似,只是修改了一些参数: sd = socket(AF_NETLINK, SOCK_RAW, NETLINK_GENERIC); 第三个参数指定netlink协议类型,可以是用户自定义
2012-07-10 16:27:02
2443
2
转载 alsa结构体流程3
/* SoC Audio Codec device */struct snd_soc_codec { const char *name; /* Codec的名字*/ const char *name_prefix; int id; struct device *dev; /* 指向Codec设备的指针 *
2012-07-06 14:53:00
1184
转载 alsa结构体流程2
Control接口主要让用户空间的应用程序(alsa-lib)可以访问和控制音频codec芯片中的多路开关,滑动控件等。我们需要在我们的驱动程序初始化时主动调用snd_pcm_new()函数创建pcm设备,而control设备则在snd_card_create()内被创建,snd_card_create()通过调用snd_ctl_create()函数创建control设备节点。所以
2012-07-06 09:32:52
2578
转载 alsa数据结构流程
以声卡驱动的数据结构为切入点分析:/* SoC card */struct snd_soc_card { const char *name; struct device *dev; struct snd_card *snd_card; //在snd_soc_instantiate_card中利用snd_card_create创建声卡 struct module
2012-07-06 08:41:23
2781
转载 DAPM之二:audio paths与dapm kcontrol
转载:http://blog.youkuaiyun.com/sepnic/article/details/6334922备注:仅作个人学习资料保存使用,请移步原作者链接进行讨论。在用alsa_amixer controls时,除了我们之前提到的snd_soc_add_controls添加的kcontrols外,还有一些多出来的controls。其实多出来的那些都是属于dapm kc
2012-07-05 17:19:55
981
原创 ALSA各文件作用
sound/core/pcm_native.c 对下层的PCM驱动提供包装,为上层提供统一的接口,snd_pcm_f_ops_playback文件操作结构提供播放功能的函数,snd_pcm_f_ops_capture文件操作结构提供录音功能的函数。sound/core/control.c对下层的Control驱动提供包装,为上层提供统一的接口,snd_ctl_f_ops文件操作结构提供
2012-06-27 15:51:07
2744
原创 tlv320aic3104
寄存器0:页选择寄存器D0,0或1,选择页1或者页0。寄存器1:软复位,D7=1复位。寄存器2:采样率选择寄存器。包括ADC,DAC,它们的选择必须相等。3456:PLL相关寄存器。Page 0/Register 14: Headset/Button Press Detection Register BPage 0/Register 15: Left-ADC PGA G
2012-06-27 15:19:09
5315
转载 ALSA相关
音频数据流向: | DMA | | I2S/PCM/AC97 |RAM -------------> I2SControllerFIFO ---------------------------> CODEC ----> SPK/HeadsetPCM模块初始化:struct snd_soc_pl
2012-06-24 21:45:20
2149
转载 DAI:Digital Audio Interfaces(音频设备的硬件接口)
1 PCM接口 针对不同的数字音频子系统,出现了几种微处理器或DSP与音频器件间用于数字转换的接口。最简单的音频接口是PCM(脉冲编码调制)接口,该接口由时钟脉冲(BCLK)、帧同步信号(FS)及接收数据(DR)和发送数据(DX)组成。在FS信号的上升沿,数据传输从MSB(Most Significant Bit)字开始,FS频率等于采样率。FS信号之后开始数据字的传输,单个的数据位
2012-06-22 21:34:33
12395
转载 FXS FXO
FXS (Foreign Exchange Station)FXS is an interface which drives a telephone. FXS interfaces get phones plugged into them, deliver battery, and provide ringing. The FXS interface initiates and sends a
2012-06-19 13:44:15
2217
原创 ubuntu10.10 later install jdk6
sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"add-apt-repository ppa:ferramroberto/javasudo apt-get update sudo apt-get install sun-java6-jdk
2012-05-24 10:13:41
552
原创 linux系统移植 书
第五章flash硬件方案比较,nor,nand。基于flash的文件系统有jffs2(日志文件系统,主要用于nor,基于mtd驱动层),yaffs(主要用于nand),cramfs(使用时解压缩到ram,因此写操作困难,它是只读的),romfs(只读,顺序)。ramdisk是划分一块内存作分区使用,不是一个实际的FS,而是将实际FS装入内存的一种策略。第六章 LCD驱动程序移植st
2012-04-08 20:22:42
708
原创 设备驱动开发技术及应用 书
第七章:#include 硬件设备驱动程序中可能存在以不同目的使用相同资源的情况,为了避免冲突,linux内核提供了管理输入输出空间的函数:check_region 确认是否属于可注册的IO空间;request_region 注册IO空间;release_region;输入输出使用的内存空间也需要竞争处理:check_mem_region(); request_mem_re
2012-04-08 11:25:25
476
原创 模块测试函数基于linux2.6
#include #include #include static int hello_init(void){ printk("....\n"); return 0;}static void hello_exit(){ printk("...");}module_init(hello_init);module_exit(hello_e
2012-04-07 20:42:58
489
原创 源码控制工具
CVS,SVN,GitGit使用多个分布式存储库,基于改变集进行历史跟踪。步骤:安装,建立Git存储库,向库中添加内容,操作库中文件,合并,其他。GNU/Linux环境编程一书 Gnuplot古老但流行的可视化程序,可与Ruby,Python,Smalltalk绑定。 pause会把进程挂起,直到接收到信号。返回继续运行。kill向一个或多个进程发送信号
2012-04-07 16:14:50
565
原创 编译命令
编译三个.c文件:gcc initapi.c randapi.c test.o -o test 编译成可执行映像编译成库的形式:gcc -c -Wall initapi.c (-c 表示只编译不链接,-Wall打开全部警告设置)gcc -c -Wall randapi.car -cru libmyrand.a initapi.o randapi.o (产生一个库,c指明构建静
2012-04-07 14:31:41
487
glib gtk+ makefile snack saolei
2011-09-23
jrtplib-3.9.0 scanalyze-1.0.3.linux jthread-1.3.0.tar.gz
2011-09-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人