自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 编译androidc模块

<br />Android SDK相当强大和全面了,但有时你的应用程序可能需要更多的功能,需要在android的linux基础层面上运行应用程序。今天研究了如何在android环境下编译c模块,提供以下2种方法: <br />一、使用Android.mk自动编译: <br />1、在$(yourAndroid)/development目录下,创建一个hello目录。 <br />         #mkdir $(yourAndroid)/development/hello <br />       其中$

2011-03-28 14:43:00 2677

转载 在Android中访问内置SE和基于SE的卡模拟(二) .

改变SE工作模式在NfcAdapterExtras类中,有两个关于卡模拟的函数,getCardEmulationRoute和setCardEmulationRoute,分别用于得到和设置卡模拟工作模式,其中getCardEmulationRoute返回一个CardEmulationRoute类对象,而setCardEmulationRoute需要构造一个CardEmulationRoute类对

2014-01-16 16:51:52 1245

转载 在Android中访问内置SE和基于SE的卡模拟

在Android中访问内置SE和基于SE的卡模拟(一)2013-10-10 编写 前言在“十问Android NFC手机上的卡模拟”文中仅仅简单的介绍了一下相关的概念,如果需要了解基于SE的卡模拟的更多细节,也就是,究竟在Android的NFC手机上,目前能够做到何种程度的卡模拟,以及如何实现,则需要更深入的讨论。 我们已经了解,NFC RF模块可以支持卡模

2014-01-16 16:48:29 1561

转载 Linux下core文件调试方法

在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息)。使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数。1.core文件的生成开关和大小限制 1)使用ulimit -c命令可查看core文件的生成开关。若结果为0,则表示关闭了此功能,不会生成core文件。 2)使用ulimit -c filesize命令,可以限

2011-10-28 16:59:25 550

转载 数字电视条件接收系统(原理图)

条件接收系统是一个关键技术。国家广电总局之所以将STB作为有线电视产业化改造的主要技术支撑点,就在于希望通过STB系统来解决增值业务的收费问题。具体讲就是通过CA系统实现“加扰到用户”,以彻底解决“加扰到有线台”在收费问题上的困扰。 条件接收基本原理示意图

2011-08-02 15:13:07 2814

转载 解CA过程

CA过程通过CW控制字(节目流进行解扰的钥匙)将TS加密,终端通过它解密.      前端将CW加密后送到终端.      终端通过智卡,解出CW控制字,并将控制字送解码器还原TS的过程.   前端:      ECM内容:         1.由SK

2011-08-02 15:05:02 1239 1

转载 libcamera动态库实现流程总

<br />libcamera.so 流程总结<br />framework/base/include/ui下的CameraHardwareInterface.h 定义了 libCameraService.so需要的所有接口:<br />getPreviewHeap(),startPreview(preview_callback cb, void* user),stopPreview(),previewEnabled(),<br />autoFocus(autofocus_callback, void* u

2011-04-11 22:02:00 2275

转载 Android中使用ALSA声卡

<br />Android中使用ALSA声卡<br />首先,cd到Android源码树根目录下:<br />cd /home/figo/android/Android-2.0<br />从Android主页下载ALSA声卡的相关源码:<br />git clone git://android.git.kernel.org/platform/external/alsa-lib.git<br />git clone git://android.git.kernel.org/platform/external/

2011-04-11 14:58:00 1286

转载 Android中默认不输出stdout stderr,如何输出?最简单的方法

<br />方法一:<br />/root/init.rc中,在需要stdout的服务中添加console关键字即可,例如:<br />service media /system/bin/mediaserver<br />    user media<br />    group system audio camera graphics inet net_bt net_bt_admin<br />    console<br />方法二(不推荐,所有stdout一定要输出):<br />文件system/c

2011-04-11 14:56:00 748

转载 成功移植UT6410的800*480的LCD驱动

<br />在UT6410默认的android内核中是没有7寸屏的LCD驱动的,所以在昨天移植网络之后我们今天接着把LCD的驱动拿移植好。<br />        首先我们在纯linux内核中找到800*480的驱动源文件,根据config选项我找到了源文件的位置,它位于/drivers/video/samsung下面,一个为s3cfb_UT_LCD7A.c的文件,把这个文件拷贝到我们android kernel下面相应的位置。然后修改相应的kconfig和Makefile需要注意的是在drivers/v

2011-04-01 21:54:00 1182

转载 [6410][android]给android cupcake移植FB、Nand、触摸屏和DM9000ae驱动

今天搞了四个驱动,终于把基本功能补全了,累死我咯(1)移植framebufferdrivers/video复制samsung文件夹到cupcake内核line236 增加config FB_S3Ctristate "S3C Framebuffer Support"select FB_CFB_FILLRECTselect FB_CFB_COPYAREAselect FB_CFB_IMAGEBLITdepends on FB && (ARCH_S3C64XX || ARCH_S5PC1XX)default n-

2011-04-01 21:41:00 1316

转载 s3c2410_lcd & frame buffer 驱动分析 (转)

<br />int __init s3c2410fb_probe(struct device *dev)<br />{<br />    struct s3c2410fb_info *info;<br />    struct fb_info       *fbinfo;<br />    struct platform_device *pdev = to_platform_device(dev);<br />    struct s3c2410fb_hw *mregs;<br />    int ret;

2011-04-01 21:37:00 958

转载 6410 LCD驱动移植

<br />移植工作主要有以下部分(仅仅对未作处理的部分做阐述):<br />1.在mach-smdk6410.c这个文件中添加初始化的设备<br />&s3c_device_fb,<br />会根据name 自动关联执行哪个设备的probe的探测函数<br />同时在plat-s3c64XX下面增加dev-fb.c 主要是用来填充platform_fb这个结构体<br />static struct resource s3cfb_resource[] = {<br /> [0] = {<br />  .s

2011-04-01 21:25:00 1400

转载 Android网络资源

<br />Google Android的官方网站:<br />http://www.android.com/<br />此网站上有Google Android的所有资源。主要的内容分成三大块:<br />1 Android源代码工程<br />这个是手机/MID等Android设备制造厂家需要关注的网站,我们称之为“系统开发”,网站如下:<br />http://source.android.com/<br />在此网站上我们能做的工作主要如下:<br />(1)下载android的源代码<br />ht

2011-03-31 11:28:00 615

转载 android全格式多媒体播放器(三:基于ffmpeg架构的具体实现)

<br />本文将基于ffmpeg实现一个多媒体播放的架构,因时间关系,先列个提纲。附上代码供有兴趣的同学参考,代码是基于android2.1写的。附带一个编译完的程序,看看效果(只有音频,并且只能在android2.1上运行)。<br />1,ffmpeg移植<br />2,基于ffmpeg的底层架构的编写<br />3,sdl版本的测试程序,有兴趣朋友可以在linux上编译,并用sdl播放。<br />4,android上surface和audio的抽象及移植<br />5,不同版本android的移植

2011-03-31 09:15:00 1196

转载 android全格式多媒体播放器(二:opencore媒体系统解析)

<br />本文的目的是为了分析android中的多媒体播放体系,在了解了它的播放体系上,抛弃它原先的基于opencore的架构,重新涉及一套基于 ffmpeg的架构。没有时间做详细论述,本文目前先列一个提纲,用来分析android2.1中媒体播放架构,以后得空再进行补充。<br />1,java部分供java应用程序调用的接口为android.media.MediaPlayer。关于此类的详细描述可以参考android的文档MediaPlayer.html。我将接口列在了下面,<br />        

2011-03-31 09:15:00 1095

转载 android全格式多媒体播放器(一:ffmpeg移植)

<br />为了能在android平台上播放全格式的多媒体文件,我们需要自己做一个多媒体播放器。android自带的opencore系统解码格式较少,只支持 mp4和ogg,并且结构不是很好理解。如果要加其他的解码方式实在太费劲。经过考虑,基于ffmpeg实现全功能的播放器比较容易并且成本比较低。(ffmpeg移植后的内容我已经放到[email protected]:windsome/ffmpeg-android.git上,有兴趣的可以直接下载,在android2.1上编过,不知道在其他android版本上能不能

2011-03-31 09:08:00 781

转载 freescale i.mx23平台上移植android2.2-froyo - ethernet移植

<br />freescale i.mx233平台上移植android 2.2 - ethernet移植<br />i.mx233-android平台上以太网卡的移植主要参考了android-x86项目。网址为:http://www.android-x86.org/getsourcecode 。<br />主要分为如下几个部分:<br />1,linux 内核驱动,这个部分简单的说一下。默认的mx233配置就是支持的,mx233是通过usb接以太网的,只需要把相应的以模块方式编译的驱动改成编译进内核。我将.

2011-03-31 09:07:00 1137

转载 freescale i.mx23平台上移植android2.2-froyo - audio 系统

<br />基本上参照了http://blog.csdn.net/tianfeng105/archive/2010/03/28 /5425547.aspx<br />kernel部分不需要改动,只需要在android下面做事情。<br />1: 下载alsa相关代码<br />cd android/external<br />git clone git://android.git.kernel.org/platform/external/alsa-lib.git<br />git clone git://a

2011-03-31 09:05:00 830

转载 freescale i.mx23平台上移植android2.2-froyo (mx23系列)

<br />第一章:  i.mx233环境的搭建, sd卡的准备<br />    1: 主机环境为Ubuntu10.04<br />    2: i.mx233环境的准备工作<br />        a) 下载i.mx233的开放套件,地址为: http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX233&fpsp=1&tab=Design_Tools_Tab<br />            1) 下载其中的L2.6.31

2011-03-31 09:04:00 2058

转载 android系统开发小知识-启动脚本文件内部的执行顺序

<br />我们知道android在启动的时候通过init进程来解析init.rc和init.xxx.rc文件,<br />然后执行这两个文件解析出来的内容,init.rc和init.xxx.rc文件中的内容却并不是<br />按照顺序来执行的,而是有固定的执行顺序,首先,init.rc和init.xxx.rc文件中的内容<br />全部会放在4个关键字下:<br />early-init, init, early-boot, boot<br />所以一个典型的rc文件的写法如下:<br />on earl

2011-03-30 22:14:00 956

转载 android系统开发(十)-audio移植一

<br />1,移植基础:<br />(1)内核声音驱动和alsa驱动<br />(2)alsa-lib和alsa-utils库移植<br />这两部分上一节已经介绍过了。<br />2,android的audio最核心的部分是audioflinger,audioflinger向上处理来自于应用程序的声音相关的所有请求<br />向下通过AudioHardwareInterface访问硬件,android的audio架构如下所示:<br />             Applications<br />  

2011-03-30 22:13:00 962

转载 android系统开发编译过程中的汇编错误

<br />android系统开发移植alsa-lib库的过程中编译的时候出现了如下的错误:<br />错误1<br />/tmp/cckyaR40.s: Assembler messages:<br />/tmp/cckyaR40.s:2763: Error: selected processor does not support `mrs ip,cpsr'<br />/tmp/cckyaR40.s:2764: Error: unshifted register required -- `orr r2,i

2011-03-30 22:12:00 1651

转载 android系统开发(八)-SDCARD

<br />关于android系统开发sdcard移植,主要有如下工作:<br />1,内核驱动开发,完成后每次插入和拔出sdcard系统都会有相关的信息显示,而且sdcard可以手动挂载。<br />2,android的sdcard挂载主要是vold来完成,vold的源代码在/system/vold目录下,编译成/system/bin/vold<br />init.rc文件中有vold系统服务,确保android系统开机后vold有正常运行。<br />3,添加vold的配置文件,先查看/system/b

2011-03-30 22:11:00 1592 1

转载 android系统开发(九)-Audio部分准备工作alsa移植

<br />1,audio内核部分的开发,包含codec驱动,cpu的声音驱动和内核alsa驱动等,<br />这个是完全的嵌入式linux的开发内容,这里跳过,请确保这几部分正确。<br />2,从alsa的官方网站下载最新的alsa-lib-1.0.23和alsa-utils-1.0.23<br />官方网站:http://www.alsa-project.org<br />alsa-lib基于内核alsa驱动,它将对内核alsa接口的操作封装成libasound库<br />alsa-utils是一个

2011-03-30 22:11:00 1253

转载 android系统开发(七)-背光模块

<br />1,总论<br />背光模块属于HAL层开发,HAL层开发,用一句话来概括就是定义一个hardware.h中定义的名称为宏HAL_MODULE_INFO_SYM的hw_module_t结构体,<br />然后实现结构体的相关内容<br />2,驱动方面的准备<br />简单的嵌入式linux驱动,编写LCD背光驱动,并提供接口给上层修改,我所用的是直接修改接口文件,接口如下:<br />/sys/class/backlight/pwm-backlight/brightness  这个是亮度调节<

2011-03-30 22:10:00 853

转载 android系统开发(六)-HAL层开发基础

<br />Android HAL层,即硬件抽象层,是Google响应厂家“希望不公开源码”的要求推出的新概念<br />1,源代码和目标位置<br />源代码: /hardware/libhardware目录,该目录的目录结构如下:<br />/hardware/libhardware/hardware.c编译成libhardware.so,目标位置为/system/lib目录<br />/hardware/libhardware/include/hardware目录下包含如下头文件:<br />hard

2011-03-30 22:09:00 1085 1

转载 android系统开发(五)-tslib移植

<br />1)切换至tslib目录然后执行如下命令(以marvell平台为例)<br />./autogen.sh<br />echo "ac_cv_func_malloc_0_nonnull=yes" > arm-marvell-linux.cache<br />./configure --host=arm-marvell-linux-gnueabi --prefix=/work/svn/ts_build --cache-file=arm-marvell-linux.cache<br />上面三步仅仅是

2011-03-30 22:08:00 1804 1

转载 android系统开发(四)-触摸屏tslib移植(内核)和原理分析

<br />首先了解一下tslib的运行原理,tslib的运行分成两部分<br />(1)校验<br />在LCD固定坐标位置依次显示出5个坐标让用户触摸,把LCD坐标和用户触摸时驱动屏驱动底层的坐标总共5组值保存起来<br />运行tslib库的算法对其进行运算,得出校准用7个值<br /><br />(2)校准<br />每次触摸屏驱动读取到硬件坐标时应用校准用的7个值对该坐标进行一次运算,然后将运算后的坐标作为正常坐标即可。<br /><br />按照上面的原理,<br />(1)我们先修改内核部分,

2011-03-30 22:07:00 1313

转载 android启动过程配置文件的解析与语法

<br />(1)android启动文件系统后调用的第一个应用程序是/init,此文件的很重要的内容是解析了init.rc和init.xxx.rc<br />两个配置文件,然后执行解析出来的任务。相关代码在android源代码/system/core/init/init.c文件中,如下:<br />    parse_config_file("/init.rc");<br />    /* pull the kernel commandline and ramdisk properties file in

2011-03-30 22:06:00 1404

转载 android系统开发小问题-启动过程中android字符没有显示出来

<br />android目标平台可以正常启动,但是启动过程中的android字符没有显示出来,这个是linux内核配置的问题<br />打开内核framebuffer控制台即可。<br />(1)make menuconifg后选择Device Drivers->Graphics support->Console display driver support->Framebuffer Console support<br />然后打开相关的几个配置选项即可。<br />(2)直接修改内核配置文件,如下:<

2011-03-30 22:05:00 738

转载 Android系统移植(三)-按键字符表

<br />上节讲android的Window Manager将内核按键码通过按键映射表转换成android按键码,<br />这节讲的是android按键码向android字符的转换,转换也是通过Window Manager来完成的<br />(1)原始按键字符表,我们知道一个按键是可以显示多个字符的,决定显示字符的是CAPS(大小写),FN,NUNMBER等按键<br />举例如下:<br />[type=QWERTY]                                          

2011-03-30 22:04:00 650

转载 Android系统开发小知识-在android产品开发中添加新的编译模块

<br />Android开发中用户内容定义在vendor目录下,而用户产品的内容都定义在vendor/<company_name>/<board_name>目录下<br />如果需要添加新的内容,可以在该目录下新建子目录,同时修改AndroidBoard.mk文件即可。比如说要添加一个按键映射文件:<br />(1)在vendor/<company_name>/<board_name>目录下建立一个keymaps子目录<br />(2)将我们需要的按键映射文件gpio-keys.kl和power-butt

2011-03-30 22:03:00 634

转载 Android系统移植(二)-按键移植

<br />这一部分主要是移植android的键盘和按键<br />(1)Android使用标准的linux输入事件设备(/dev/input目录下)和驱动,按键定义在内核include/linux/input.h文件中,<br />按键定义形式如下:<br />#define KEY_ESC            1<br />#define KEY_1            2<br />#define KEY_2            3<br />(2)内核中(我的平台是arch/arm/mach-

2011-03-30 22:01:00 913

转载 Android系统移植(一)-让android系统在目标平台上运行起来

<br />Android系统由于用的是linux内核,因此内核移植和嵌入式linux内核移植差异不大,过程如下:<br />(1)移植boot-loader和linux2.6内核到目标平台上,让linux内核可以启动起来,基本的驱动允许正常。<br />此过程完全是嵌入式linux的开发,这里直接跳过。需要注意的是,由于android已经被linux官方开除,因此从<br />网站上(如http://www.kernel.org/)下载的最新linux内核源代码已经不包含android的专有驱动,因此建议

2011-03-30 22:00:00 535

转载 制作ubifs文件系统

<br />1,安装相关的软件包<br />apt-get install liblzo2-dev<br />2,获取相关的工具mkfs.ubifs和ubinize<br />这两个工具是制作ubifs文件系统的时候用到,它们是mtd-utils工具包中的内容,mtd-utils工具包你可以从下面的网站下载和编译出来:<br />官方网站:http://www.linux-mtd.infradead.org/index.html<br />资源下载网站:http://git.infradead.org/<b

2011-03-30 21:58:00 886

转载 android编译系统makefile(Android.mk)写法.txt

<br />android编译系统的makefile文件Android.mk写法如下<br />(1)Android.mk文件首先需要指定LOCAL_PATH变量,用于查找源文件。由于一般情况下<br />Android.mk和需要编译的源文件在同一目录下,所以定义成如下形式:<br />LOCAL_PATH:=$(call my-dir)<br />上面的语句的意思是将LOCAL_PATH变量定义成本文件所在目录路径。<br />(2)Android.mk中可以定义多个编译模块,每个编译模块都是以incl

2011-03-30 21:56:00 747

转载 创建一个新的Android产品项目

<br />从google网站上下载的android源代码编译时默认是编译google设定的产品,如果要开发自己的产品,<br />则需要重新定义一个产品项目,过程如下:<br />首先我们定义产品的规格,举例如下:<br />公司名称 ardent<br />产品名称  MTP<br />主板名称 merlin<br />然后安装下面的步骤新建产品项目:<br />(1)在源代码目录下创建一个用户目录<br />mkdir vendor<br />(2)在用户目录下创建一个公司目录<br />mkdir

2011-03-30 21:55:00 1133

转载 Android系统开发编译环境配置

<br />主机系统:Ubuntu9.04<br />(1)安装如下软件包<br />sudo apt-get install git-core <br />sudo apt-get install gnupg<br />sudo apt-get install sun-java5-jdk<br />sudo apt-get install flex<br />sudo apt-get install bison<br />sudo apt-get install gperf<br />sudo apt-g

2011-03-30 21:54:00 547

转载 Android平台移植应该做两步工作

<br />Android系统的移植工作的目的是为了在特定的硬件上运行Android系统。在移植的过程中,把握关键要点,减少工作量是一个重要的方面。从工作的角度,通常的方法为,首先要熟悉硬件抽象层的接口,其次要集成和复用已有的驱动程序,主要的工作量在硬件抽象层的实现中。为了更好地理解和调试系统,也应该适当地了解上层对硬件抽象层的调用情况。<br />  移植方面主要的工作有两个部分:<br />Linux驱动<br />Android系统硬件抽象层<br />Linux中的驱动工作在内核空间,Android

2011-03-29 20:33:00 485

vlc==包括代码简介等

引用直接网上很多介绍,翻译了部分内容,介绍了编译,编程,源代码等等

2010-03-24

空空如也

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

TA关注的人

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