- 博客(64)
- 资源 (23)
- 收藏
- 关注
原创 蓝牙驱动和Profile
昨天看了一下介绍蓝牙协议文档,今天索性对照看了看kernel里的代码(bluez),这里记点笔记,还是继承了老毛病,只关注整体流程而忽略细节,先了解个大概,等真正需要时再仔细分析。net/hci_core.cHCI 在主机端的驱动主要是为上层提供一个统一的接口,让上层协议不依赖于具体硬件的实现。HCI在硬件中的固件与HCI在主机端的驱动通信方式有多种,比如像 UART、USB和PC Card等等。hci_core.c相当于一个框架,用于把各种具体通信方式胶合起来,并提供一些公共函数的实现。hci_cmd_t
2010-05-31 20:15:00 6332 3
原创 内存调试技巧
本文将带您了解一些良好的和内存相关的编码实践,以将内存错误保持在控制范围内。内存错误是 C 和 C++ 编程的祸根:它们很普遍,认识其严重性已有二十多年,但始终没有彻底解决,它们可能严重影响应用程序,并且很少有开发团队对其制定明确的管理计划。但好消息是,它们并不怎么神秘。引言C 和 C++ 程序中的内存错误非常有害:它们很常见,并且可能导致严重的后果。来自计算机应急响应小组(请参见参考
2010-05-31 10:42:00 1797 3
原创 C 语言中的指针和内存泄漏
在使用 C 语言时,您是否对花时间调试指针和内存泄漏问题感到厌倦?如果是这样,那么本文就适合您。您将了解可能导致内存破坏的指针操作类型,您还将研究一些场景,了解要在使用动态内存分配时考虑什么问题。引言对于任何使用 C 语言的人,如果问他们 C 语言的最大烦恼是什么,其中许多人可能会回答说是指针和内存泄漏。这些的确是消耗了开发人员大多数调试时间的事项。指针和内存泄漏对某些开发人员来说似乎
2010-05-31 10:36:00 1318 1
原创 ARM平台上蓝牙协议栈Bluez的移植使用和配置
Bluez作为当前最成熟的开源蓝牙协议栈,在Linux的各大发行版中已经得到了广泛的应用。在桌面环境下,使用Bluez应该已经没有太大的问题,本文的主要目的是介绍在嵌入式平台上,搭建和配置Bluez的各个Profile运行所需做的工作,讨论可能遇到的问题,介绍一些工具的使用和工作原理。因为本人的能力和测试时间有限,可能下文中有些理解、分析不一定准确,欢迎联系指正。 1 相关说明
2010-05-28 17:45:00 2768
原创 android工具之TraceView学习笔记
如何分析android应用性能,java函数调用关系。1.mksdcard -l sdcard 512M /root/.android/sdcard.img2.在应用程序中加入trace 的开始和结束函数(详细说明参考开发文档) // start tracing to "/sdcard/calc.trace" Debug . startMethodTracing
2010-05-28 11:21:00 1535
原创 Android调试工具及方法
LogcatDump一份系统消息的日志。这些消息包括模拟器抛出错误时的堆栈跟踪。Android Log一个记录日志的类,用来将消息写入模拟器上的日志文件中。如果你在DDMS上运行logcat的话你可以就实时查看消息。在你的代码中加入几个写日志方法的调用。为了使用Log类,你只需要调用Log.v()(详细),Log.d()(debug),Log.i()(information),Lo
2010-05-28 11:15:00 2718
原创 linux HZ Tick Jiffies
linux HZLinux核心几个重要跟时间有关的名词或变数,底下将介绍HZ、tick与jiffies。 HZLinux核心每隔固定周期会发出timer interrupt (IRQ 0),HZ是用来定义每一秒有几次timer interrupts。举例来说,HZ为1000,代表每秒有1000次timer interrupts。 HZ可在编译核心时设定,如下所示
2010-05-27 14:12:00 1688
原创 Android Resource Framework
Reference:Available Resource Types - Android SDKResource and i18n - Android SDKTOPResource TypeAndroid resources are extracted and externalized from code and packages of applications.
2010-05-26 12:05:00 4257
原创 标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast(转载
C 风格(C-style)强制转型如下:(T) exdivssion // cast exdivssion to be of type T函数风格(Function-style)强制转型使用这样的语法:T(exdivssion) // cast exdivssion to be of type T 这两种形式之间没有本质上的不同,它纯粹就是一个把括号放在哪的问题。我把这两种
2010-05-25 15:59:00 1305
原创 static_cast、dynamic_cast、reinterpret_cast和const_cast之间的区别
C-style cast举例: int i; double d; i = (int) d; 上面的代码就是本来为double类型的d,通过(int)d将其转换成整形值,并将该值赋给整形变量i (注意d本身的值并没有发生改变)。这就是典型的c-style类型转换。 下面是一个简单的程序:#include using namespace std; int
2010-05-25 15:54:00 930
原创 ARM中MIPS与MHz的联系
MIPS即Million Instruction Per Second 的简写--计算机每秒种执行的百万指令数。是衡量计算机速度的指标。 MIPS/MHz 表示 CPU 在每 MHz 的时钟频率下可以执行多少个 MIPS ,如 10MIPS/MHz ,表示如果 CPU 运行在 1MHz 的频率下,每秒可执行一千万条指令,如果 CPU 运行在 5MHz 的频率下,每秒可执行五千万
2010-05-25 15:09:00 2766
原创 ARM处理器选型指南:选ARM7还是选Cortex-M3
要使用低成本的 32位处理器,开发人员面临两种选择,基于Cortex-M3内核或者ARM7TDMI内核的处理器。如何做出选择?选择标准又是什么?本文主要介绍了ARM Cortex-M3内核微控制器区别于ARM7的一些特点,帮助您快速选择。1.ARM实现方法ARM Cortex-M3是一种基于ARM V7架构的最新ARM嵌入式内核,它采用哈佛结构,使用分离的指令和数据总线( 冯诺伊曼结构
2010-05-25 15:08:00 4164
原创 uC/OS和uClinux的比较
摘 要: 嵌入式操作系统是嵌入式系统应用的核心。本文通过对两种典型的开源嵌入式操作系统的对比,分析和总结了嵌入式操作系统应用中的若干问题,归纳了嵌入式操作系统的选型依据。引言 随着现代计算机技术的飞速发展和互联网技术的广泛应用,从PC时代过渡到了以个人数字助理、手持个人电脑和信息家电为代表的3C(计算机、通信、消费电子)一体的后PC时代。后PC时代里,嵌入式系统扮演了越来越重要的
2010-05-25 15:04:00 1522
原创 50款流行安全软件的开源替代品
当您将商业办公软件替换成开源版本时,可能没有什么难度,但是当您想将商业安全产品替换为开源版本时,您还真得做点儿工作。您可能需要整合数个开源工具还能获得一个商业软件中的功能。或者,在使用开源程序之前,您需要学习一些基础技术才行。然而,开源安全工具也提供了很大的灵活性——更不要说成本优势了。对源码的访问可以使您获得对网络功能的完全控制。在这份列表中,我们编辑整理了一个开源安全工具集,以
2010-05-21 10:27:00 3349
原创 关于Linux的视频编程(v4l2编程)
一.什么是video4linuxVideo4linux2(简称V4L2),是linux中关于视频设备的内核驱动。在Linux中,视频设备是设备文件,可以像访问普通文件一样对其进行读写,摄像头在/dev/video0下。二、一般操作流程(视频设备):1. 打开设备文件。 int fd=open(”/dev/video0″,O_RDWR);2. 取得设备的capability,看看设备具有什么
2010-05-20 16:50:00 1930
原创 S/PDIF接口规范详解
S/PDIF(Sony/Philips Digital Interface Format)是一种数字音频传输接口,普遍使用光纤和同轴线输出,将音频信号输出值解码器上,能保持高保真度的输出结果,广泛应用在DTS(Digital Theatre System,数字化影院系统)和杜比数字中。S/PDIF基本上是以AES/EBU(也称为AES3)专业用数字接口为参考然后做了一些小变动而成的家用
2010-05-20 14:40:00 18085
转载 做嵌入式经典网站!(转)
关于嵌入式开发的站点,提供非常多关于嵌入式开发的资料。包括开发公司,技术文档,免费资源等等。版面包括busses & boards,embedded software,dsp,embedded systems,open source,rtos,embedded chips,system-on-a-chip 等等。强烈推荐http://www.eg3.com/- 外文 2. The First
2010-05-19 17:38:00 3159 1
原创 Android PMEM驱动研究 在应用程序中使用PMEM
Android PMEM主要有两个作用(来自android mail list): 1. GPU or VPU buffers shared with CPU core 2. Android service heap. 其中1是不能cache的,2可以cache,平台设备注册中 cached = X即控制是否可以被cache。 =====================
2010-05-17 16:02:00 12467 1
原创 Android的多媒体框架OpenCore介绍
Android的多媒体框架OpenCore(PacketVideo)介绍 本文为个人总结,不代表官方观点。 分为几个阶段: 1、整个Android的多媒体框架OpenCore 2、Player和Author的详细介绍 2、OpenCore和Android其他部分的集成 第一部分 OpenCore概述: OpenCore的另外一个常用的称呼是Packet
2010-05-17 15:56:00 2634
转载 嵌入式系统的动态电源管理技术
嵌入式系统的动态电源管理技术作者:刘旭晖 Raymond转载请注明出处Email:colorant@163.comBLOG:http://blog.csdn.net/colorant/主页:http://sites.google.com/site/rgbbones/ 在嵌入式系统中,电源的管理和功耗的控制,始终是一个非常重要的任务。所以通常面向嵌入式应用的CPU都
2010-05-15 12:12:00 1888
转载 Yaffs 文件系统分析
1 Yaffs文件系统结构1.1 简介1.1.1 应用场合 Yaffs(Yet Another Flash File System)文件系统是专门针对NAND闪存设计的嵌入式文件系统,目前有YAFFS和YAFFS2两个版本,两个版本的主要区别之一在于YAFFS2能够更好的支持大容量的NAND FLASH芯片。Yaffs文件系统有些类似于JFFS/JFFS2文件系统,与
2010-05-15 11:32:00 1198
转载 yaffs and ecc
1. yaffs文件系统中yaffs自身的ECC与MTD的ECC之间联系分析: 从yaffs_mtdif.c文件中的这个函数,可以很容易看出它们的联系:int nandmtd_ReadChunkFromNAND(yaffs_Device *dev,int chunkInNAND, __u8 *data, yaffs_Spare *spare){ struct mtd_info *mtd
2010-05-15 11:29:00 2830
转载 NAND Flash上均匀损耗与掉电恢复在线测试
NAND Flash以其大容量、低价格等优势迅速成为嵌入式系统存储的新宠,因此其上的文件系统研究也日益广泛 本文简要介绍了常用的NAND Flash文件系统YAFFS,并针对YAFFS在均匀损耗和掉电恢复方面进行在线测试在给出测试结果的同时,着重研究嵌入式软件测试方案和方法;对测试结果进行分析,并提出改进方案和适用环境 引 言 随着嵌入式技术在各种电子产
2010-05-15 11:16:00 4146
原创 Android内核和驱动篇-Android内核介绍
已经有一些的文章介绍Android内核了,本系列篇将从Linux内核的角度来分析Android的内核,希望给初学者提够有用的信息。本章将简单的介绍Android内核的全貌,起到一个抛砖引玉的作用。从下一篇开始将详细介绍每一个Android内核驱动程序及其作用。Android内核是基于Linux 2.6内核的(目前最新开发版本是2.6.31),它是一个增强内核版本,除了修改部分Bug外,它提供了用于
2010-05-14 15:30:00 5381 6
原创 dlopen中几个flag的区别
dlopen中几个flag的区别:RTLD_LAZY RTLD_NOW RTLD_GLOBAL void *dlopen(const char *filename, int flag);其中flag有:RTLD_LAZY RTLD_NOW RTLD_GLOBAL,其含义分别为:1、RTLD_LAZY:在dlopen返回前,对于动态库中存在的未定义的变量(如
2010-05-13 17:56:00 1219
转载 FFMpeg对MPEG2 TS流解码的流程分析--一
FFMpeg对MPEG2 TS流解码的流程分析1.引子gnxzzz广告都打出去了,不能没有反应.现在写东西很少了,一是年纪大了,好奇心少了许多,;二则是这几天又犯了扁桃体炎,每天只要是快睡觉或刚起床,头晕脑涨,不过功课还是的做的,是吧:)2.从简单说起说道具体的音频或者视频格式,一上来就是理论,那是国内混资历的所谓教授的做为,对于我们,不合适,还是用自己的方式理解这些晦涩不已的理论吧。其实MPEG
2010-05-13 11:21:00 2489
转载 FFMpeg的解码流程
FFMpeg的解码流程1. 从基础谈起先给出几个概念,以在后面的分析中方便理解Container:在音视频中的容器,一般指的是一种特定的文件格式,里面指明了所包含的 音视频,字幕等相关信息Stream:这个词有些微妙,很多地方都用到,比如TCP,SVR4系统等,其实在音视频,你 可以理解为单纯的音频数据或者视频数据等Frames:这个概念不是很好明确的表示,指的是Stream中的一个数
2010-05-13 11:20:00 1464 2
转载 [zz] 视频解码优化
以下通过剖析一些经验来了解视频解码优化1. 在嵌入式系统中实现MPEG4的视频解码有两种方法可行(1)采用ffmpeg(mplayer 的核心就是采用ffmpeg),然后对ffmpeg mp4解码优化1).对IDCT汇编化,并优化VLD的实现 ->inline&汇编化2).根据ARM9 cache&cache line的大小做MB的分组,使得每次可以同时处理多个MB 即对多个MB在一个循环内
2010-05-13 11:18:00 25619
转载 A-V同步
AV同步的一些问题:先转载一份Arpi的邮件:Ive "developed" a new a-v sync engine in g2 code, which produces A-V: 0.0000for most mpeg1/vob streams i have.The video part is relative easy, but a bit tricky: when a PS pa
2010-05-13 11:18:00 1307
转载 [zz]YUV Formats
YUV formats fall into two distinct groups, the packed formats where Y, U (Cb) and V (Cr) samples are packed together into macropixels which are stored in a single array, and the pl
2010-05-13 11:12:00 1134
转载 Third party libraries used by VLC
Youll find a complete list on the wiki.But, here are the most important libraries.Audio/Video codecsliba52 - an ATSC A/52 (aka AC3) audio decoderlibmad - an MPEG audio decoderlibmpeg2 - an MP
2010-05-13 11:07:00 1046
转载 mplayer 用法大全 转
1,录音:mplayer mms://202.***.***.***/test.asf -dumpstream -dumpfile MyMovie.asf可以把mms ,rtsp.http.ftp….等协议的视频流录制下来,保存为 MyMovie.asf 文件.2,把mplayer可以播放的文件转化为avi格式:mencoder yourfile.rm -o
2010-05-13 11:04:00 3830
转载 ffmpeg+mencoder环境搭建和视频处理总结
ffmpeg+mencoder几乎可以完成目前基于web的播客平台任何音视频处理的操作.如果还需要添加一些什么的话,那么就是视频在线录制功能了,这个也可以用ffmpeg+fms来完成,因此一般的类似于YouTube的一些可见功能都可以在ffmpeg+mencoder+fms来做后台实现.由于fms没有实践,因此这里不描述. 本文档有三部分: 1)ffmpeg+mencoder环境搭建 2)常见操作
2010-05-13 11:01:00 1886
转载 libavformat/libavcodec 学习
为什么需要两个库文件 libavformat 和 libavcodec :许多视频文件格式(AVI就是一个最好的例子)实际上并没有明确指出应该使用哪种编码来解析音频和视频数据;它们只是定义了音频流和视频流(或者,有可 能是多个音频视频流)如何被绑定在一个文件里面。这就是为什么有时候,当你打开了一个AVI文件时,你只能听到声音,却不能看到图象--因为你的系统没
2010-05-13 10:59:00 1529
转载 x264参数解释
x264参数解释本文对应的是x264命令行模式,VFW方式也用相同的参数,不过是图形界面,可以自己找对应的英文。使用格式:x264 默认选项 -o 输出文件 输入文件 [长x宽]输入支持格式:RAW/y4m/avi/avs(编译时可选)输出支持格式:264/mkv/mp4(编译时可选)x264的许多参数可以有-/--两种输入法,笔者也不知道为什么。以下等价参数用“参数1/参数2 ”表示,参数尾部(
2010-05-13 10:57:00 953
转载 [转]ffmpeg的编译大全
最近互联网视频共享的网站很火,公司也想搞类似的网站,初步是用fms+ffmpeg形式fms负责在线录制,播放,ffmpeg则在后台处理上传的资源转换成一定的格式。为了让ffmpeg支持的格式尽量多,所以特把我的编译笔记分享一下环境:redhat as41。首先获取ffmpeg很多人找不到怎么下载,其实之前ffmpeg可以通过cvs下载,不过最近他已经换成了更加强大的svn如何使用SVN我这里不再介
2010-05-13 10:55:00 990
转载 ffmpeg 配置与编译
本文标签(Tag) ffmpeg 配置 编译1 ffmpeg介绍 ffmpeg是音视频的分离,转换,编码解码及流媒体的完全解决方案,其中最重要的就是libavcodec库。它被mplayer或者xine使用作为解码器。还有,国内比较流行的播放器影音风暴或MyMPC的后端ffdshow也是使用ffmpeg的解码库的。 ffmpeg软件
2010-05-13 10:53:00 1870
转载 FFMpeg 中比较重要的函数以及数据结构
FFMpeg 中比较重要的函数以及数据结构如下:1. 数据结构:(1) AVFormatContext(2) AVOutputFormat(3) AVInputFormat(4) AVCodecContext(5) AVCodec(6) AVFrame(7) AVPacket(8) AVPicture(9) AVStream2. 初始化函数:(1
2010-05-13 10:44:00 1571
转载 FFMpeg框架代码阅读
简介 FFmpeg是一个集录制、转换、音/视频编码解码功能为一体的完整的开源解决方案。FFmpeg的开发是基于Linux操作系统,但是可以在大多数操作系统中编译和使用。FFmpeg支持MPEG、DivX、MPEG4、AC3、DV、FLV等40多种编码,AVI、MPEG、OGG、Matroska、ASF等90多种解码.TCPMP, VLC, MPlaye
2010-05-13 10:21:00 949
转载 RTSP协议分析
Network Working Group H. SchulzrinneRequest for Comments: 2326 Columbia U.Category: Standards Track A. RaoNetscapeR. LanphierRealNetworksApril 1998翻译: radium 2005.1实时流协议(RTSP) ( Real Time Streaming Pr
2010-05-12 14:57:00 2431
WebKit 研究报告(侯炯)
2012-05-10
ALSA 驱动架构说明
2012-04-06
Android 高效编程注意事项
2012-04-06
android系统vold透析
2012-04-06
android 核心学习资料
2010-09-09
MPEG-2 压缩编码技术原理应用
2010-05-12
Pthreads Programming
2010-03-24
The Linux Kernel API
2010-03-24
The Linux TCP/IP Stack: Networking for Embedded Systems
2010-03-24
usb 鼠标驱动注解及测试
2010-03-24
用 FPGA 如何自己设计 CPU 和制作计算机
2010-03-24
avs 标准文档中的源码
2009-10-13
项目管理知识体系指南
2009-10-06
PMP项目管理原版书籍
2009-10-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人