15 jiajie961

尚未进行身份认证

暂无相关简介

等级
TA的排名 3w+

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

2010-12-01 11:04:00

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

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

2010-12-01 10:27:00

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 -- `

2010-11-30 14:54:00

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

<br />1,audio内核部分的开发,包含codec驱动,cpu的声音驱动和内核alsa驱动等,<br />这个是完全的嵌入式linux的开发内容,这里跳过,请确保这几部分正确。<br /><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 /

2010-11-30 14:53:00

android系统开发(八)-SDCARD

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

2010-11-25 16:59:00

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

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

2010-11-23 18:09:00

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

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

2010-11-22 11:47:00

Ubuntu下svn安装和使用

<br />1 第一步:安装软件。<br />安装客户端<br />sudo apt-get install subversion<br />安装服务器端<br />sudo apt-get install libapache2-svn<br /><br /><br />2 svn的基本操作<br />(1)从服务器上下载代码:svn checkout<br />举例:<br />svn checkout svn://192.168.6.10/project/Source_c

2010-11-18 10:40:00

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

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

2010-11-12 17:11:00

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

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

2010-11-11 19:16:00

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

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

2010-11-11 15:39:00

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)直接修改内核配

2010-11-11 11:33:00

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

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

2010-11-11 10:25:00

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和powe

2010-11-10 17:10:00

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 /><br />(2)内核中(我

2010-11-10 16:35:00

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

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

2010-11-10 11:41:00

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

2010-11-09 11:37:00

制作ubifs文件系统

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

2010-11-08 10:32:00

创建一个新的Android产品项目

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

2010-11-07 13:31:00

Ubuntu下tftp服务器的创建

<br />实验平台:Ubuntu9.04<br /><br />(1)安装tftp服务<br />sudo apt-get install tftp tftpd openbsd-inetd<br /><br />(2)在根目录下创建文件夹 tftpboot文件夹并修改权限<br />cd /<br />sudo mkdir tftpboot<br />sudo chmod 777 tftpboot<br /><br />(3)修改/etc/inetd.conf文件如

2010-11-05 11:20:00

查看更多

勋章 我的勋章
    暂无奖章