Welcome 微信登录

首页 / 操作系统 / Linux

Android中对多媒体操作阶段总结

Android中对多媒体操作阶段总结

1.多媒体存储机制:当Android的系统启动的时候,系统会自动扫描sdcard内的(包括大容量存储)跟系统内存的多媒体文件,并把获得的信息保存在两个系统数据库中,以后在其他程序中如果想要访问多媒体文件的信息,其实就是在这两个数据库中进行的,而不是直接去sdcard中或者手机内存里取。两张数据库都是位于/data/data/com.android.providers.media/databases目录下。如下图所示:名为external.db里面存储的是s...
S3C2440的SPI控制器

S3C2440的SPI控制器

S3C2440包含有两个串行外围设备接口(SPI口),每个SPI口都有两个分别用于发送和接收的8位移位寄存器,在一次SPI通信当中数据被同步发送(串行移出)和接收(串行移入)。8位串行数据的速率由相关的控制寄存器的内容决定。如果只想发送,接收到的是一些虚拟的数据。另外,如果只想接收,发送的数据也可以是一些虚拟的“1”。结构框图如下:1、SPI接口特性:与SPI接口协议v2.11兼容; 8位用于发送的移位寄存器; 8位用于接收的移位寄存器; 8位预分频逻辑;...
I2C总线学习—查缺补漏—S3C2440的I2C控制器

I2C总线学习—查缺补漏—S3C2440的I2C控制器

学习了IIC总线协议的理论部分,觉得应该学习具体操作2440的IIC控制器,毕竟最终都是为了学习S3C2440,所以就把这一部分补上。 S3C2440的I2C接口有四种工作模式:主机发送器、主机接收器、从机发送器、从机接收机。其内部结构如下图所示。 从上图可以看出,S3C2440提供4个寄存器来完成所有的IIC操作。SDA线上的数据从IICDS寄存器经过移位寄存器发出,或通过移位寄存器传入IICDS寄存器;IICADD寄存器中保存S3C2440当做...
S3C2440的存储器映射(27根地址线如何寻找1G的地址)

S3C2440的存储器映射(27根地址线如何寻找1G的地址)

查S3C2440的数据手册可知S3C2440可寻址1G的地址范围,但是S3C2440的地址线只有27根,理论上只能寻址2的27次方等于128M的地址范围。通过细致的分析可知:S3C2440通过一个BANK来解决了这个问题。S3C2440有8个存储器BANK,引出了8根BANK线(对应nGCS0~ nGCS7),通过这个8根线来选通和关闭不同的存储器,这样S3C2440最多就可以连接8个128M的存储器。对某个BANK地址的访问实际上就是选通该BANK,于是...
对S3C2440特殊功能寄存器地址的深入挖掘

对S3C2440特殊功能寄存器地址的深入挖掘

S3C2440集成了丰富了外设控制器(LCD控制器、USB Device控制器、USB Host控制器、NAND FLASH控制器、I2C控制器、SPI控制器等)。要控制这些外设就要设置相应控制器的寄存器以产生相应的驱动时序。学习S3C2440,主要是如何配置寄存器。下面是S3C2440特殊功能寄存器地址:#define rBANKCON0 (*(volatileunsigned *)0x48000004) //Boot ROM control#defin...
狙击野鸭:一个HTML5 + JavaScript游戏

狙击野鸭:一个HTML5 + JavaScript游戏

当“愤怒的小鸟”这款游戏红遍全球、挣得盆满钵盈时,相信很多程序员都对游戏开发有蠢蠢欲动之想,但我也相信的大部分从未开发过游戏的程序员会对这个深不可测的领域望而却步。其实,会者不难,难者不会。只要你去尝试一下,就会发现,游戏开发其实很简单。如果你不相信我说的,今天向你介绍的这款游戏就是个例证。Javascript一直被编程界认为是不能做大事的语言:),大部分的程序员都会这种语言,因为它很好学。那我告诉你了,只要你会js,你就能开发游戏,不错的游戏,上得了台面...
TQ2440 GPIO口控制驱动的编写中的一些问题

TQ2440 GPIO口控制驱动的编写中的一些问题

按照天嵌Linux移植手册的第23步,发现修改arch/arm/plat-s3c24xx/common-smdk.c中的内容,未能出现描述的1、3灯亮,2、4灯灭,检查下来是因为我NFS根文件系统直接使用了天嵌官方做好的根文件系统,开发板启动便已经加载了EmbedSky-gpio驱动,只要进入menuconfig将其勾选掉就可以了。还有/etc/init.d/rcS中可以将/etc/rc.d/init.d/leds start这一行注释掉,这是开机就调用脚...
使用jQuery和JSON动态添加表格

使用jQuery和JSON动态添加表格

jQuery相信大家都有使用过,这个库对于程序的开发很有用,有时我们会把jQuery和xml结合起来,通过xml交换数据。实际应用中我们也可以使用JSON这种数据格式来进行数据的交换。要使用JSON就要先下载下面这6个开发包。为了防止出错这几个jar包也把他们放在tomcat的lib目录下面。这几个包在csdn上都可以找到,大家自己去下载就OK了。如下图所示;下载好之后拷贝在lib下面就可以了,如果有需要就放在构建路径下面。之后就可以开始操作了,这里会使用...
Java之Caesar与Vigenere实现

Java之Caesar与Vigenere实现

1背景介绍话说目前做所谓"企业"开发的语言基本就集中在运用.Net和J2EE上了。又话说,在下很不幸又和Java"同流合污"了一把。现在回想起来,真是感慨万千啊~遥想公瑾当年,小乔初嫁了,雄姿英发,羽扇纶巾,谈笑间,强虏灰飞烟灭。~ 额,下面插播一下正题。其实,目前国内用Java做真正的"企业级"得其实并不是很多,绝大多数都是用个SSH1就觉得这就是Java之企业级开发了,之后就开始沾沾自喜了。这你说让Servlet和EJB3情何以堪啊~所以说,目前国内大...
Java之唯一无序数生成

Java之唯一无序数生成

1背景介绍在许多项目中ID号是一个永恒的主题。在绝大多数情况下,这个唯一ID产生相对比较容易,毕竟现在众多的项目都是基于数据库的,只要把数据库的主键拿出来作为ID就可以确保ID在整个系统中的唯一性了。但也存在一些特殊情况。比如,一个在线订单生成。考虑到订单的特殊性,有时候会被要求订单号要没有规律不连续。但是我们也知道订单号是必须具有唯一性的。然而,一般数据库的主键都是采用自增数作为主键的。因此,这里如果再用主键作为订单号就会存在问题。当然,除了这个情况外,...
Android实现任务管理器

Android实现任务管理器

任务管理器可以实现的功能有:1.查看当前系统下运行的所有的进程2.可以查看每个进程的进程号、版本号以及内存占用情况3.杀死进程(可以杀死全部进程或者杀死指定的进程)4.查看系统剩余内存效果图: 杀死全部进程实现思路:ActivityManager类可以获取到当前系统的所有进程,以及每个进程的信息,也可以杀死某个进程,ActivityManager.getRunningAppProcesses(); 获取系统的所有进程ActivityManager.ge...
U-Boot源码分析之Makefile

U-Boot源码分析之Makefile

之前用过两个版本u-boot,分析过它的Start.S文件(PowerPC、ARM)源代码,也移植过内部的各部分硬件驱动及组件(串口、I2C、SPI、Flash文件系统、USB、DMA等)源码,自我感觉比较熟悉了。但最近逛CSDN论坛发现有不少人在问U-Boot中的Makefile的一些参数含义及配置方法,这才觉得忽视了U-Boot源码中最重要的组织者。这里分析2011.6版,FreeScale的mpc83xx系列处理器平台。 u-boot的源代码包含了对...
Linux内核特性之VDSO

Linux内核特性之VDSO

这段时间看Linux内核源码的时候,经常碰到vdso这个东西(像在Feature-fixup中,获取时间等操作时),网上搜了一下,才知道了含义,原来这是Linux为了解决和glibc兼容而想出的绝招啊。下面是从Fedora中文邮件列表转过来的,和大家分享一下。 往往内核添加了一个功能,glibc要花很久才会用上。本来linux那边为这个功能是否进入内核已经吵半天了,glibc这边又要为是否使用这个内核新特性再次吵架半天(glibc不是Linux专有的,还得...
基于PowerPC的Linux内核之旅:early_init

基于PowerPC的Linux内核之旅:early_init

很早之前就有写基于PowerPC架构的Linux源代码分析的文章的想法,但无奈于Linux源码量太大,逻辑也很复杂,再加上本身对PowerPC汇编了解不多,闲暇时间也没有太多,一直都没有什么机会。上个月,工作上的事情因为硬件的耽误稍微少了些,再加上自己之前分析U-Boot的源码时学了不少PowerPC汇编的知识,又移植了Linux中的SPI和Nand Flash的驱动源码到vxWorks,感觉时机比较成熟了,踉踉跄跄的开始了尝试性的分析,一点点的来,还望不...
<< 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 >>