Android系统开发
文章平均质量分 72
jeffreyliu
这个作者很懒,什么都没留下…
展开
-
android双屏显示的一些修改与尝试
转载时请注明出处和作者文章出处:http://www.cnblogs.com/xl19862005作者:Xandy用的是android2.3的代码这些天来一直在看android display相关的代码和资料并作了一些尝试,现在将这些天来的工作记录如下,有错误的地方希望广大同行指正,谢谢!经过阅读代码和查到的相关一些资料,对android双屏的支持总体思转载 2012-04-19 08:33:02 · 656 阅读 · 0 评论 -
Android修改LCD、DDR、NAND的位置
telechips方案:1:修改LCD参数:用的是ATA070TN93的7寸屏①:修改:MYSDK\kernel\drivers\video\tcc\lcd_at070tn93.c②:修改:MYSDK\bootable\bootloader\lk\target\m801_evm\rules.mk2:修改DDR型号的位置:(参考:manual\DOC\tcc88xx\转载 2012-03-14 22:53:34 · 1133 阅读 · 0 评论 -
ERROR: Invaled boot image pagesize. Device pagesize: 4096, Image pagesize: 16384
无法启动内核,出现以下提示:ERROR: Invaled boot image pagesize. Device pagesize: 4096, Image pagesize: 16384ERROR: Could not do normal boot. Reverting to fastboot mode.Diplay initializedfastboot_init()ept转载 2012-03-14 23:00:07 · 762 阅读 · 0 评论 -
TCC89XX方案上的ADC触摸屏驱动分析
static char banner[] __initdata = KERN_INFO "Telechips Touchscreen driver, (c) 2009 Telechips\n";static int __init tcc_ts_init(void){ printk(banner); return platform_driver_register(&t原创 2012-03-14 09:21:17 · 860 阅读 · 0 评论 -
S3C6410开发全纪录(一)《还原SD卡启动的真相》
前章我们也大致分析了SD卡的启动过程,在具体进行问题的定位及解决的过程中,发现还是有很多不明确的地方,网上的文章也多是人云亦云让我们来一步一步搞清楚S3C6410 SD卡启动的步骤及过程(我这里的开发板为OK6410,256M+1G的配置,SD卡为2G,MMC)一、开发板跳线,从SD卡启动[cpp] view plaincopy查看《OK6410开发板LINUX2.转载 2012-03-29 00:14:18 · 1753 阅读 · 0 评论 -
android2.1修改状态栏
向android 的状态栏中加入快捷按钮(home,back,menu等等)的方法(续)上一篇文章中谈到的加入快捷按钮的方法,实际上还是太过麻烦。那篇博客是在我刚接触android源代码没几天时,参考网上的介绍方法,自己看了下源代码尝试着写了一个。 不过那个方法,是我直接用贴图的方法实现了按钮特效,这实在是太浪费了,最近一直仍有朋友问我那篇文章中的问题,我想还是重写一下,用一个更简单点的方法,转载 2012-03-28 14:59:00 · 1027 阅读 · 0 评论 -
在Android 2.3状态栏中添加menu,home和back快捷键的方法
在Android 2.3状态栏中添加menu,home和back快捷键的方法1、准备资源,修改XML文准备几张图,这里我们准备添加home back和menu图标,就需要准备6张图,三张普通状态,三张按下的高亮状态图标:stat_home.pngstat_home_pressed.pngstat_back.pngstat_back_pressed.pngstat_men转载 2012-03-28 13:36:47 · 651 阅读 · 0 评论 -
S3C6410开发全纪录(三)《UBOOT中添加DM9000AE网卡驱动》
我们获得的UBOOT的代码中实际是有DM9000的网口驱动的,位于:driver/dm9000x.c在S3C6410的配置中,中并没有将之打开,而其他的芯片中有使用特别需要注意的是dm9000的驱动与dm9000AE的驱动还是有区别的,如果直接使用代码中自带的dm9000驱动流程,会出现无法收到数据的情况一、添加dm9000AE的驱动[cpp] view plainco转载 2012-03-29 00:15:39 · 534 阅读 · 0 评论 -
S3C6410开发全纪录(二)《如何计算内存大小,并在UBOOT中调整内存大小》
前章我们已经可以制作出用来启动的SD卡了,并将自己编译的UBOOT烧录到了SD卡中这份UBOOT代码中的内存配置肯定和手头的开发板不一致,这里我们将搞清楚如何修改内存大小,并说清楚内存大小到底是如何计算的一、关于内存大小的计算1)硬件的型号,在飞凌的开发板中128M内存 采用的是 K4X51163PC 可以看出来 这颗芯片是 总大小为512 bit 位宽 为16256M内存 采转载 2012-03-29 00:15:04 · 780 阅读 · 0 评论 -
如何修改Android应用程序能够使用的默认最大内存值
如何修改Android应用程序能够使用的默认最大内存值参考:Android Bitmap内存限制OOM,Out Of Memory分析:当应用程序分配内存时,会调用到dalvik/vm/alloc/HeapSource.c中的 dvmTrackExternalAllocation()方法,继而调用到externalAllocPossible()方法,该方法要求当前堆已使用的大小转载 2012-03-28 12:46:43 · 832 阅读 · 0 评论 -
Android下运行c程序
在android的设计中,谷歌设计了一套专门为嵌入式设备使用的bionic C库,以替换原有的GUN Libc,这个精简的bionic库据说只有200多K,所以如果只想使用这个精简的C库像在linux下一样 开发C程序,基本是不可能的。当然如果只想让其在shell中运行还是可以做到的。因为编译完的目标程序是在android下运行,就要使用交叉编译的工具,在下面地址下载:http://www转载 2012-04-01 20:59:52 · 699 阅读 · 0 评论 -
Android环境下直接测试驱动程序的方法(Android_OK6410)
之前我们在Linux环境下可以通过编写一个C语言来测试驱动程序,那么在Android环境下,我们是否也可一采用相同的方法呢?上一篇文章我们介绍了如何将驱动程序编译进内核的方法http://blog.csdn.net/embedded_hunter/article/details/7166757之前我写过一篇文章,介绍了驱动程序和测试程序的编写步骤。http://blog.csdn.net/转载 2012-04-01 21:00:34 · 597 阅读 · 0 评论 -
android串口通信
转载时请注明出处和作者文章出处:http://www.cnblogs.com/xl19862005作者:Xandy 最近段时间一直在做android下串口通信的东东,大概功能是android系统端的ARM和系统外的一个MCU通信,通过android界面控制MCU上挂的设备,如radio、TV、BT等等,下面对这个过程作一个浅显的阐述,有错之处还望大家斧正……先来看一张图转载 2012-04-19 08:31:50 · 585 阅读 · 0 评论 -
android recovery模式及ROM制作
转载时请注明出处和作者文章出处:http://www.cnblogs.com/xl19862005作者:Xandy1 总述为了方便客户日后的固件升级,本周研究了一下android的recovery模式。网上有不少这类的资料,但都比较繁杂,没有一个系统的介绍与认识,在这里将网上所找到的和自己通过查阅代码所掌握的东西整理出来,给大家一个参考!2 An转载 2012-04-19 08:30:00 · 863 阅读 · 0 评论 -
android I/DEBUG堆栈信息
堆栈错误信息:I/DEBUG ( 30): r0 afd4d4a4 r1 ffffffff r2 7fffffff r3 afd4d4a4I/DEBUG ( 30): r4 00000000 r5 ffffffff r6 00000001 r7 be9f6cccI/DEBUG ( 30): r8 00000000 r9 00000000 10 000转载 2012-04-18 18:18:54 · 447 阅读 · 0 评论 -
android中的recovery模式
这里使用基于freescale的imx_r9.2 patch的android源码分析.android中的recovery模式,作为android的开发者或者用户都应该清楚和了解。android利用recovery模式完成整个系统的升级和恢复出厂设置。这里先讲讲怎么进入recovery模式,这个工作是由bootloader完成。freescale使用的uboot.bootloader每次转载 2012-04-18 18:25:32 · 763 阅读 · 0 评论 -
在ubuntu下烧写映像文件到nand--基于三星210开发板
第一步:安装编译android系统必要的软件; 第二步:安装交叉编译工具链; 第三步:编译uboot 编译支持nand flash启动的uboot,执行如下指令: ./mk nand第四步:编译内核 确保内核已支持yaffs文件系统; 第五步:编译android文件系统将android编译脚本build_androi转载 2012-04-15 16:50:33 · 2201 阅读 · 0 评论 -
在ubuntu下烧写映像文件到SD卡--基于三星210开发板
第一步:安装编译android系统必要的软件; 第二步:安装交叉编译工具链; 第三步:编译uboot uboot的配置文件为smdkv210single.h,复制两份,一份命名为smdkv210_nand.h,一份命名为smdkv210_sd.h,smdkv210_nand.h中做如下修改://#define CFG_FASTBOOT_ONENAN转载 2012-04-15 16:49:45 · 1768 阅读 · 0 评论 -
S5PC110/V210 Booting Sequence
Q: S5PC110/V210是否支持eMMC启动模式?A: 支持eMMC4.4设备的eMMC4.3和SDMMC(ver.4.2)启动。不支持eMMC4.4启动. 支持8-bit SDR, 但不支持8-bit DDR.Q: S5PC110如何使用secure booting?A: 1) General Policy Only secured Chip wit转载 2012-04-15 17:25:37 · 1106 阅读 · 0 评论 -
为Android应用程序读取/dev下设备而提权(二)
为Android应用程序读取/dev下设备而提权(二) 在为Android应用程序读取/dev下设备而提权(一)中,简单总结了提权的两种方法: device_init和init.rc 。在此篇文章中,我将详细总结的是稍一不留神,就容易把人弄晕乎的init.c、device_init和init.rc三者之间的关系,TA们到底是如何工作的。转载 2012-03-28 12:44:33 · 730 阅读 · 0 评论 -
为Android应用程序读取/dev下设备而提权(一)
为Android应用程序读取/dev下设备而提权(一) 倘若应用程序需要对/dev/xxx进行读写操作,就需要提升其权限。提权方法不唯一,需要根据具体需求情况而选择。归根结底,终究都落到chmod 777 /dev/xxx 上,不同的是,chmod操作被执行在何时何地,在此做个分析总结。 内核启动后会执行/system/init,传说中的系统1号进程,转载 2012-03-28 12:43:52 · 998 阅读 · 0 评论 -
Android GSM驱动模块(rild)详细分析(二)
Android GSM驱动模块(rild)详细分析(二)request流程熊猫哥哥 发表于IT168和Opendroid 转载请注明1. 多路复用I/O机制的运转上文说到request是接收,是通过ril_event_loop中的多路复用I/O,也对初始化做了分析.现在我们来仔细看看这个机制如何运转.ril_event_set负责配置一个event,主要有两种event:r转载 2012-03-23 19:05:11 · 592 阅读 · 0 评论 -
Android Bluetooth 移植(上)
原文链接地址:http://source.android.com/porting/bluetooth.html#androidBluetoothPorting本文涵盖以下方面· 移植· 编译· 疑难解答· 工具· 支持特性 Android 的蓝牙协议栈使用BlueZ实现来对GAP, SDP以及R转载 2012-03-23 18:53:55 · 996 阅读 · 0 评论 -
Android lk bootloader中相关修改指南
1.主要功能,红色部分是android特有的一些功能,如fastboot,recovery模式等: * Variety of nand devices for bootup* USB driver to enable upgrading images over usb during development* Keypad driver to enable developers en转载 2012-03-08 00:12:00 · 1152 阅读 · 0 评论 -
MTD坏块管理(二)-内核获取Nandflash的参数过程
MTD坏块管理机制中,起着核心作用的数据结构是nand_chip,在此以TCC8900-Linux中MTD的坏块管理为例作一次介绍。MTD在Linux内核中同样以模块的形式被启用,TCC_MTD_IO_Init()函数完成了nand_chip初始化、mtd_info初始注册,坏块表的管理机制建立等工作。nand_chip在TCC_MTD_IO_Init函数中的实例名称是this,mtd转载 2012-03-07 23:19:18 · 692 阅读 · 0 评论 -
MTD的坏块管理(一)-快速了解MTD的坏块管理
由于NAND Flash的现有工艺不能保证NAND的Memory Array在其生命周期中保持性能的可靠,因此在NAND芯片出厂的时候,厂家只能保证block 0不是坏块,对于其它block,则均有可能存在坏块,而且NAND芯片在使用的过程中也很容易产生坏块。因此,我们在读写NAND FLASH 的时候,需要检测坏块,同时还需在NAND驱动中加入坏块管理的功能。 NAND驱动在加载的时转载 2012-03-07 23:18:08 · 692 阅读 · 0 评论 -
u-boot中mkimage工具的具体使用
通常,u-boot为kernel提供一些kernel无法知道的信息,比如ramdisk在RAM中的地址。Kernel也必须为U-boot提供必要的信息,如通过mkimage这个工具(在u-boot代码的tools目录中)可以给zImage添加一个header,也就是使得通常编译的内核zImage添加一个数据头,把添加头后的image通常叫uImage,uImage是可以被U-boot直接引导的内核转载 2012-03-07 23:16:37 · 419 阅读 · 0 评论 -
Telechips快速编译system.img和boot.img的方法
快速编译system.img,可以使用这个命令:#make systemimage 快速编译boot.img,可以使用以下命令:#make bootimage 快速编译userdata.img,可以使用以下命令:# make userdataimage-nodeps但是,对于bootimage, 在不改变内存布局的情况下,可以使用以下命令:#cp ./arch/arm/转载 2012-03-07 23:15:34 · 1528 阅读 · 0 评论 -
[Android]构建boot.img(三):boot.img的生成与结构
在前两篇同一系列的文章中都提到了以下一段语句:1#build/core/Makefile2 3INTERNAL_BOOTIMAGE_ARGS := \4 5 --kernel $(INS转载 2012-03-07 23:14:05 · 1075 阅读 · 0 评论 -
[Android]构建boot.img(二):kernel的拷贝与打
上文已经对boot.img其中组成部分之一ramdisk.img做了分析,boot.img另外一个重要的组成部分就是kernel了,这里所说的kernel,可以只理解为位于out/target/product/tcc8800/中的kernel文件,本文主要分析kernel的拷贝过程以及如何被打包到boot.img中。经过分析得知位于out/target/product/tcc8800/中的转载 2012-03-07 23:13:01 · 699 阅读 · 0 评论 -
Android GSM驱动模块(rild)详细分析(三)
Android GSM驱动模块(rild)详细分析(三)response流程熊猫哥哥 发表于IT168和Opendroid 转载请注明前文对request的分析, 终止在了at_send_command_full_nolock里的writeline操作,因为这里完成命令写出到硬件设备的操作,接下来就是等待硬件响应,也就是response的过程了。我们的分析也是从这里开始。respo转载 2012-03-23 19:05:47 · 529 阅读 · 0 评论 -
Android SDCard Filesystem
Opendroid原创,转载请注明参与讨论的朋友请加入qq群81410571 关键字:android,linux,sdcard,S3C2440,armv4,filesystem android的在s3c2440的移植,编译过程清参照熊猫哥哥的大作《s3c2410/2440(armv4t) 移植教程》。本文所讲述的是将android的根目录置于sd卡上。 1. lin转载 2012-03-23 19:09:39 · 646 阅读 · 0 评论 -
Ubuntu 10.04环境下载&编译Android-2.1_r2源代码【20110527更新说明】
注:本文撰写于1年之前,目的是为弥补当时Android官网文档不够详细确切的问题。目前Android Open Source Project上的文档已经今非昔比,相当完善与准确。从Android2.2(含)起,需要使用JDK1.6,并在64bit Linux系统上编译源码(网络上虽有文章给出在32bit系统上编译的方法,但毕竟不是官方推荐的,因此我个人不赞同这种workaround),照此看来,本转载 2012-03-09 13:32:52 · 447 阅读 · 0 评论 -
Android源码编译工具集
sudo apt-get install build-essential sudo apt-get install make sudo apt-get install gcc sudo apt-get install g++ sudo apt-get install libc6-dev sudo apt-get install原创 2012-03-09 11:10:34 · 544 阅读 · 0 评论 -
Android编译脚本之telechips方案
#!/bin/sh## Description : Build Telechips Android Script.# Authors : joyse - sky191_lxin@yahoo.cn# Version : 1.0# Notes : None#export原创 2012-03-09 16:12:06 · 1509 阅读 · 0 评论 -
Android Bluetooth 移植(下)
支持特性下面这一节总结了Android各个release版本所支持得蓝牙特性的变化情况,并对未来可能支持的特性做了一个粗略的展望。Android 1.0 release平台特性(Platform features)· 基于 Bluez 3.36 和 Linux Kernel 2.6.25· Bluetooth 2.0+EDR 主机协议栈· HSP 1.0 (作为转载 2012-03-23 18:55:01 · 1109 阅读 · 0 评论 -
Android GSM驱动模块(rild)详细分析(一)基本架构及初始化
Android GSM驱动模块(rild)详细分析(一)基本架构及初始化熊猫哥哥 发表于IT168和Opendroid 转载请注明Android的RIL驱动模块, 在hardware/ril目录下,一共分rild,libril.so以及librefrence_ril.so三个部分,另有一radiooptions可供自动或手动调试使用。都依赖于include目录中ril.h头文件。目前c转载 2012-03-23 19:04:29 · 706 阅读 · 0 评论 -
基于Android 的GPS 移植 Android内部调用方式
android内部调用方式在linux系统中有一个deamon程序等待上层android层的调用转载 2012-03-23 19:00:23 · 663 阅读 · 0 评论 -
基于Android 的GPS 移植 主要结构体及接口介绍
最近负责 Android 驱动的GPS部分,所谓Android驱动 我觉得可以说成是linux应用之前发了一个图描述了 Android GPS 架构GPS芯片大多采用串口通信,所以只要CPU能够提供一个UART 驱动, 那么跟GPS芯片通信是没有问题的, 但是现在很多GPS功能不是一个单独的芯片,大部分都是一个芯片上有好几种无线模块 比如 Blletoo转载 2012-03-23 18:59:37 · 872 阅读 · 0 评论 -
linux serial构架分析及驱动开发(5)
uart_close主要在tty_release和do_tty_hundup中调用,做与uart_pen相反的操作,具体源码如下:/* * In 2.4.5, calls to this will be serialized via the BKL in * linux/drivers/char/tty_io.c:tty_release() * linux/drivers/ch转载 2012-03-23 18:47:40 · 559 阅读 · 0 评论