自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 资源 (4)
  • 收藏
  • 关注

转载 Android Building System 分析

想要了解一个系统,我常会从 makefile 或是building system 下手, 以了解系统组成元素为何? 目录结构为何? 对于Android ,我也不例外。 透过了解building system ,我们能知道如何新增、修改、删除程序, 并保有完整性,顺利编译出结果。配置文件 Android building system 包括几种重要的配置文件,Androi

2012-01-08 17:21:43 1571

转载 How VSync works, and why people loathe it

How VSync works, and why people loathe itI recently learned that how I thought vsync worked was wrong, and now knowing the way it really does work, I think it would be worthwhile to make sure ever

2011-11-23 18:23:50 767

转载 Linux 压缩解压命令备忘

01-.tar格式解包:[*******]$ tar xvf FileName.tar 打包:[*******]$ tar cvf FileName.tar DirName(注:tar是打包,不是压缩!) 02-.gz格式 解压1:[*******]$ gun

2011-08-09 09:19:20 769

原创 Android开发入门之五—Android HAL

Android开发入门之四—Android HAL 1 HAL产生的原因Android HAL(Hardware Abstraction Libraries)是处于user space的最下层,是Android定义的要求Linux内核空间来具体实现的驱动接口。根据Goog

2011-08-07 14:37:50 1963

原创 Android开发入门之四—Android Build System

想了解Android系统,从Build System入手是不错的选择。通过android.mk,能清楚地看到各个文件所生成的库之间的依存和调用关系。但如果自己写文章来描述这个编译系统,这种类似于说明文档的东西,质量怎么也赶不上官方的说明文档的,直接贴链接吧,虽然这样赚分太不厚道,

2011-08-05 10:22:54 1066

原创 Android Location and Maps

1 Maps API Key申请要使用Google提供的map服务,必须先申请一个Maps API Key。步骤如下:Step1:申请MD5 (1)打开eclipse,然后选择Window-->Preferences-->Android-->Build,这时候我们可以查找debug.keystore的路径,如下图:(2)将debug.keystore拷贝到keytool所在目录,如果安装JDK是按

2011-06-25 19:29:00 2297 1

转载 geoCoder.getFromLocationName returns null

”The Geocoder class requires a backend service that is not included in the core android framework. The Geocoder query methods will return an empty list if there no backend service in the platform.“这

2011-06-14 17:23:00 2575

原创 Android开发入门之三--Android Overview

【内容导航】 Android Overview Android的学习内容和方法 1 Android Overview Android就是架构在Linux Kernel上一套GUI系统,而Android中间层的完备强大远远强于传统GUI系统,比如MiniGui,QtEmbedded之类。当然其最最精华之处是引进了虚拟机,让广大的JAVA开发人员非常容易转到Android应用开发上,帮助其打造一个强悍的应用商店。这个应用商店就是粘住用户最最关键的东西。Android Market和App St

2011-05-29 16:32:00 1521

原创 Android开发入门之二--Android编译环境搭建(Vmawre+Ubuntu10.04+SecureCRT)

//未写完 1 Ubuntu虚拟机安装 1.1 VMware安装 VMware-7.0.0-203739英文原版下载地址:http://dl-sh-ctc-2.pchome.net/03/lt/VMware-workstation-full-7.0.0-203739.rar 序列号:FU74U-ATZ12-M89AY-LYNZV-NGHG0  GA5DH-8AEE4-H8EFZ-0MMNX-X7KDF  FV3WU-2CFD4-H85LQ-VFYNV-ZKUYF 1.2 Ubuntu安装(1

2011-05-11 22:39:00 3337

转载 Android开机流程

1. 系统引导bootloader1) 源码:bootable/bootloader/*2) 说明:加电后,CPU将先执行bootloader程序,此处有三种选择a) 开机按Camera+Power启动到fastboot,即命令或SD卡烧写模式,不加载内核及文件系统,此处可以进行工厂模式的烧写b) 开机按Home+Power启动到recovery模式,加载recovery.img,recovery.img包含内核,基本的文件系统,

2011-05-06 08:55:00 1370

转载 Android 2.1 源码结构

<br /><br />Android 2.1 <br />|-- Makefile <br />|-- bionic                        (bionic C库) <br />|-- bootable                (启动引导相关代码) <br />|-- build                        (存放系统编译规则及generic等基础开发包配置) <br />|-- cts                        (Android兼容性测试

2011-05-04 20:26:00 1432

原创 Android开发入门之一--在Windows上构建Android应用开发环境( SDK Anroid 2.3 + eclipse3.6.2 + ADT-10.0.0)

1 JDK安装 官方下载地址:http://download.oracle.com/otn-pub/java/jdk/6u25-b06/jdk-6u25-windows-i586.exe 2 SDK安装 官方下载地址:http://dl.google.com/android/android-sdk_r08-windows.zip 第一步: install package 解压,双击SDK Manager.exe安装,默认会选择install package,会安装比较长时间。 过程中

2011-04-24 22:27:00 5406 4

原创 蓝牙核心协议,芯片结构,源码和移植

1 Bluetooth Core System Protocol(蓝牙核心协议) 蓝牙技术规范(specification)包括核心协议(protocol)和应用规范(profile)两个部分。 核心协议包含蓝牙协议栈中最低的4个Layer,和一个基本的服务协议SDP(Service Discover Protocol),以及所有应用profile的基础Profile GAP(General Acess Profile)。核心协议是蓝牙协议栈中必不可少的。 除了核心协议外,蓝牙规范必须包含一些其他的应

2011-04-11 22:41:00 5720 7

转载 android JNI编程技巧

本篇将介绍在JNI编程中如何传递参数和返回值。首先要强调的是,native方法不但可以传递Java的基本类型做参数,还可以传递更复杂的类型,比如String,数组,甚至自定义的类。这一切都可以在jni.h中找到答案。1. Java基本类型的传递用过Java的人都知道,Java中的基本类型包括boolean,byte,char,short,int,long,float,double 这样几种,如果你用这几种类型做native方法的参数,当你通过javah -jni生成.h文件的时候,只要看一下生成

2011-04-06 11:46:00 1436

原创 Bluetooth Overview(IEEE 802.15.1)

1 简介 1998年,IEEE 802.15 工作组成立, 专门从事WPAN标准化工作。它的任务是开发一套适用于短程无线通信的标准,通常我们称之为无线个人局域网(WPANs)。IEEE 802.15 WPAN共拥有4个工作组,而蓝牙WPAN工作组便是其中之一。 1.1 蓝牙的应用领域 移动电话和免提设备之间的无线通讯,这也是最初流行的应用 特定距离内电脑间的无线网络 电脑与外设的无线连接,如:鼠标,耳麦,打印机等 蓝牙设备之间的文件传输 传统有线设备的无线化,如:医用器材

2011-03-28 11:40:00 5394

原创 HDMI与DiiVA

1 HDMI 1.1 HDMI简介 高清晰度多媒体界面(High Definition Multimedia Interface,简称HDMI)是一种全数字化图像和声音传送接口,可以传送无压缩的音频信号及视频信号。HDMI可用于机顶盒、DVD播放机、个人电脑、电视游乐器、综合扩大机、数字音响与电视机。 HDMI是被设计来取代较旧的模拟影音传送接口如SCART或RCA等端子的。它支持各类电视与电脑图像格式,包括SDTV、HDTV视频画面,再加上多声道数字音频,音频传输同时支持压缩和非压缩信号。在传送时,

2011-03-27 22:49:00 1947

转载 USB基础

原文地址:http://longer.spaces.eepw.com.cn/articles/article/item/73261# 1.拓扑结构 USB是我们经常用的,只是看到USB线一头接着主机,一头接着USB设备。但是设备是如何通信的呢?电气上的连接是怎么样的还不是很清楚?USB的可见的拓扑结构很好理解,就是一个USB host 接若干个Hub, hub下面接若干个USB Device。 2.枚举步骤 USB协议定义了设备的6种状态,仅在枚举过程种,设备就经历了4个状态的迁移:上电状态(Pow

2011-03-26 21:54:00 977

原创 软件工程师面试经典问题

/* 大部分内容来自《高质量C++/C 编程指南》 和《嵌入式程序员应知道的0x10个问题》的补充整理 */ 1 如何避免重复包含头文件? 答:使用#ifndef/#define/endif. 2 #include 和 #include “filename.h” 有什么区别? 答:对于#include ,编译器从标准库路径开始搜索 filename.h       对于#include “filename.h” ,编译器从用户的工作路径开始搜索 filename.h 3 用

2011-03-13 17:34:00 1457

原创 CDMA基础

1 蜂窝技术简介 无线移动传输的传统方法是在覆盖区域的中心位置设置具有较高天线的大功率发射机将信号发射至整个区域。而通信的传输方法放弃了中心广播的方法,而是将整个区域划分成很多较小的区域,用许多小功率的发射机来覆盖每个小的区域,这样的区域叫蜂窝小区。 在服务区面积一定的情况下,正六边形的覆盖需要较小的小区,和较少的发射站。因为正六边形形同蜂窝,因此把小区形状为六边形的小区制移动通信网称为蜂窝网。一个特定小区的话务量增加时,需要分裂成更小的小区以增加信道。 蜂窝系统的典型系统结构如下: BS为基站

2011-03-12 21:15:00 2584

原创 Qualcomm QTV Player

1 QTV Architecture QTV的高通的音视频解码方案,来自packetvideo的PV:Player。Architecture如下: (1)QCT Mediaplayer Application:为OEM提供的播放器,使用Brew API;通常若OEM移植上自己的UI后,不会使用原生的播放器。而是调用IMedia API实现自己的播放器。 (2)IMedia API:Brew API的一部分,如IMEDIA_RegisterNotify,IMEDIA_SetMediaParam,

2011-02-27 17:08:00 1344

转载 RTP/RTCP/RTSP/SIP/SDP

原文地址:http://www.cnblogs.com/whyandinside/archive/2009/08/30/1556572.html RTP Real-time Transport Protocol)是用于Internet上针对多媒体数据流的一种传输层协议。RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式。RTP 协议常用于流媒体系统(配合RTCP协议),视频会议和一键通(Push to Talk)系统(配合H.323或SIP),使它成为IP电话产业的技术基础。RTP协议和RT

2011-02-27 16:07:00 5154 1

原创 高通baseband多媒体简介

由于baseband并不会拥有像AP一样强大完整的多媒体功能,所以高通的baseband方案(如QSC6075)并不会像Packetvideo、Nextreaming那样一套统一框架下的完整多媒体解决方案,多媒体相关的各个模块之间是比较零散和独立的。大致如下: CMX 是基于MIDI的引擎,是一套提供给上层应用的API,供brew或者APP直接调用。最主要的工作是音频处理。 3D Sound Solution:音效处理 略 Qcamera 包括拍照和图像编解码。上层应用通过BREW接口访问Ser

2011-01-22 20:39:00 1849

转载 Android binder详解

原文地址:http://tech.it168.com/a2009/0331/270/000000270388.shtml 【内容导航】 第一部分 Binder的组成 第二部分 Binder的运作 第三部分 程序中Binder的具体实现 1Binder的组成 1.1 驱动程序部分 驱动程序的部分在以下的文件夹中: kernel/include/linux/binder.h kernel/drivers/misc/binder.c     binde

2010-12-26 16:15:00 1355

转载 Android的多媒体框架OpenCore介绍

原文地址:http://tech.it168.com/a2009/0331/270/000000270422.shtml 【内容导航】 1 OpenCore概述 2 OpenCore的代码结构 3 OpenCore OSCL简介 4 文件格式处理和编解码部分简介   1 OpenCore概述 OpenCore的另外一个常用的称呼是PacketVideo,它是Android的多媒体核心。事实上,PacketVideo是一家公司的名称,而OpenCore是这套多媒体框架的软件层的名称。

2010-12-25 16:17:00 742

转载 FAT文件系统存储原理

FAT表(File Allocation Table 文件分配表),是Microsoft在FAT文件系统中用于磁盘数据(文件)索引和定位引进的一种链式结构。假如把磁盘比作一本书,FAT表可以认为相当 于书中的目录,而文件就是各个章节的内容。但FAT表的表示方法却与目录有很大的不同。 在FAT文件系统中,文件的存储依照FAT表制定的簇链式数据结构来进行。同时,FAT文件系统将组织数据时使用的目录也抽象为文件,以简化对数据的管理。 1存储过程假想 我们模拟对一个分区存储数据的过程来说明FAT文件

2010-12-19 20:38:00 9512 1

原创 FAT硬盘及分区结构

1 硬盘的物理结构 硬盘存储数据是根据电磁转换原理来实现的。硬盘工作时,盘片以设计速度高速旋转,设置在盘片表面的磁头则在电路控制下径向移动到指定位置将数据存储或读取出来。只要将盘片表面设计得更平滑、磁头设计得更精密以及尽量提高盘片旋转速度,就能造出容量更大,存储速度更快的硬盘。 2 硬盘的逻辑结构 硬盘首先分成很多个盘片platter,每个盘片有2面,每面对应一个磁头head;每个盘片被划分若干个同心圆磁道,这多个同心圆就形成了一个柱面cylinder;每个盘面的每个磁道又被分成几十个扇区sector

2010-12-19 20:22:00 3477

转载 什么是1G, 2G, 3G, GSM, EDGE, CDMA, WCDMA, TD-SCDMA, CDMA2000

现如今,我国已经完全进入3G时代,但是什么是3G呢?3G代表什么?进入3G对我们大众有什么好处?3G之前我们用的是什么网络?2G, 3G, GSM, EDGE, CDMA, GPRS, CDMA2000, WCDMA, TDMA, TD-SCDMA 这一大堆名词是不是把你搞晕了,今天我来给大家补充一下知识。 什么是1G、2G、3G? 其实用通俗的话来说就是手机上网的速度不同了,越来越快了,功能越来越多了。下边详细说一下1G, 2G, 3G之间的区别。 1G (First Generat

2010-12-14 21:35:00 2691

原创 Froyo编译问题

<br />错误1:Install: out/host/linux-x86/framework/droiddoc.jar  target Generated: libclearsilver-jni <= out/host/common/obj/JAVA_LIBRARIES/clearsilver_intermediates/javalib.jar  host C: libclearsilver-jni <= external/clearsilver/java-jni/j_neo_util.c  

2010-11-22 11:07:00 1196

原创 Android和Android Linux kernel源码获取

1 git和repo简介 Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的分布式版本控制软件,它不同于Subversion、CVS这样的集中式版本控制系统。在集中式版本控制系统中只有一个仓库(repository),许多个工作目录(working copy),而像Git这样的分布式版本控制系统中(其他主要的分布式版本控制系统还有BitKeeper、Mercurial、GNU Arch、Bazaar、Darcs、SVK、Monotone等),每一个工作目录都

2010-11-21 13:38:00 4012

原创 Linux学习笔记(linux 0.11完全注释)

第一章:概述 GNU计划:旨在开发一个类似UNIX并且是自由软件的完整操作系统。 POSIX标准:是由IEEE和ISO/IEC开发的一簇标准。该标准基于UNIX的实践和经验,描述了操作系统的调用和服务接口。用来保证编制的应用程序能在源代码一级上在多个操作系统上移植和运行。 Linux-0.11 版本发布时包括以下文件: bootimage.Z     --  具有美国键盘代码的压缩启动映像文件 rootimage.Z     --  以 1200KB 压缩的根文件系统映像文件 linux-0.1

2010-11-14 16:10:00 6387

原创 android kernel和标准linux kernel的区别

将从google 官网(http://code.google.com/p/android/downloads/list )下载的Android 的Linux Kernel 和标准的Linux 2.6.25 版本的Kernel 比较,Android 系统的Kernel 主要增加如下内容“ 1. 基于 ARM 架构增加 Gold-Fish 平台 , 相应增加的目录如下 : kernel/arch/arm/mach-goldfish kernel/include/asm-arm/arch-go

2010-11-10 14:58:00 6783

原创 ARM嵌入式系统

1 基于ARM的嵌入式系统 在这一章讨论ARM是如何采用RISC设计了一个灵活的嵌入式处理器;然后通过介绍一个嵌入式设备的实例,讨论围绕ARM处理器的典型的软硬件技术。 1.1 RISC设计思想 ARM采用RISC体系结构。RISC的目标在于设计出一套能在高时钟频率下单周期执行,简单而有效的指令集。RISC的设计重点在于降低硬件执行指令的复杂度,因为软件比硬件能提供更高的灵活性和更高的智能。因此,RISC对编译器有更高的要求。 RISC的设计思想主要由以下4个准则来实现: (a)RISC指令

2010-10-23 23:02:00 2617

转载 嵌入式系统 Boot Loader 技术内幕

  1. 引言 在专用的嵌入式板子运行 GNU/Linux 系统已经变得越来越流行。一个嵌入式 Linux 系统从软件的角度看通常可以分为四个层次: 1. 引导加载程序。包括固化在固件(firmware)中的 boot 代码(可选),和 Boot Loader 两大部分。 2. Linux 内核。特定于嵌入式板子的定制内核以及内核的启动参数。 3. 文件系统。包括根文件系统和建立于 Flash 内存设备之上文件系统。通常用 ram disk 来作为 root fs。 4. 用户应用程序。

2010-10-22 00:04:00 756

原创 基于ARM的SOC设计入门(学习笔记)

一个典型的基于ARM的SOC结构: 从图可以得知,这个soc的基本构成为: ARM Core:ARM966E AMBA总线:AHB + APB 外设IP:VIC、DMA、UART、RTC、SSP、WDT... Stroage Device:SRAM、FLASH 模拟IC:ADC、PLL、CODEC 1 我们该选择何种内核? ARM提出的参考意见如下: 如果开发适时嵌入式系统,如汽车电子、工控、网络应用,选择Embedded core。 如果开发应用程序为主并且要使用操作系统,

2010-10-21 23:58:00 4185

转载 图形图像处理-之-高质量的快速的图像缩放 下篇 三次线性插值和MipMap链

A:对于前一篇文章中的二次线性插值、三次卷积插值算法,但它们处理缩小到0.5倍以下的 时候效果就会越来越差;这是因为插值的时候自考虑了附近点的原因;如下图:            原图          近邻取样 缩放到0.4倍     缩放到0.2倍     缩放到0.1倍                      二次线性插值 缩放到0.4倍     缩放到0.2倍     缩放到0.1倍                      三次卷积插值 缩放到0.

2010-10-18 21:51:00 1061

转载 图形图像处理-之-高质量的快速的图像缩放 中篇 二次线性插值和三次卷积插值

tag:图像缩放,速度优化,定点数优化,近邻取样插值,二次线性插值,三次线性插值,    MipMap链,三次卷积插值,MMX,SSE,SSE2,CPU缓存优化 摘要:首先给出一个基本的图像缩放算法,然后一步一步的优化其速度和缩放质量; 高质量的快速的图像缩放 全文 分为:      上篇 近邻取样插值和其速度优化      中篇 二次线性插值和三次卷积插值      下篇 三次线性插值和MipMap链 正文:   为了便于讨论,这里只处理32bit的ARGB颜色;  

2010-10-18 21:44:00 1426

转载 图形图像处理-之-高质量的快速的图像缩放 上篇 近邻取样插值和其速度优化

tag:图像缩放,速度优化,定点数优化,近邻取样插值,二次线性插值,三次线性插值,    MipMap链,三次卷积插值,MMX,SSE,SSE2,CPU缓存优化 摘要:首先给出一个基本的图像缩放算法,然后一步一步的优化其速度和缩放质量; 高质量的快速的图像缩放 全文 分为:      上篇 近邻取样插值和其速度优化      中篇 二次线性插值和三次卷积插值      下篇 三次线性插值和MipMap链 正文:    为了便于讨论,这里只处理32bit的ARGB颜色;  

2010-10-18 21:24:00 1103

原创 AAC文件格式与解码流程(未完待续)

1 文件格式 1.1 概述及分类 AAC“Advanced Audio Coding”的缩写,中文称为“高级音频编码”,被手机界称为“21世纪数据压缩方式”,AAC所采用的运算方式是与MP3的运算有所不同,AAC同时可以支持多达48个音轨,15个低频音轨,更多种取样率和比特率与及有多种言语的兼容能力,更高的译码效率,总括来说,AAC可以在对比MP3文件缩小30%的前题下提供更好的音质。 AAC帧与帧之间编码完全独立,所以其广泛运用于流媒体。 由于对AAC有重要贡献的公司比较多,如Fraunhofer

2010-10-17 12:08:00 7505 4

原创 MP4 文件格式 -- MPEG4-Part14

1 Summary MPEG-4 Part 14 or MP4 file format, formally ISO/IEC 14496-14:2003, is a multimedia container format standard specified as a part of MPEG-4. It is most commonly used to store digital video and digital audio streams, especially those defined by MP

2010-10-10 23:13:00 13525 2

原创 Head First Design Parttern学习笔记(to be continued)

一、策略模式(Strategy Pattern) 设计一个父类Duck,定义并实现了fly()和quack()方法,定义abstract方法Display。子类MallardDuck和RedheadDuck继承Duck,并实现各自的Display方法。如下图: 图1 1 继承的缺点 step 1:增加子类RubberDuck(橡皮鸭),继承Duck。如下图: 图2 于是问题1出现了:橡皮鸭会fly(),会quack()(嘎嘎叫)。--------------------------- 继承

2010-08-24 22:28:00 1152

史上最明白晓畅的git文档

语言简单准确的文档啊,读起来很轻松。并且很容易查找

2012-02-16

想成为嵌入式程序员应知道的0x10个基本问题

想成为嵌入式程序员应知道的0x10个基本问题,最经典古老的问题

2011-03-06

head first设计模式源码

这是head first设计模式的源码,书中的源码例子就是从这儿截取下来的,可以作为学习设计模式的参考

2010-08-07

空空如也

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

TA关注的人

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