- 博客(97)
- 资源 (1)
- 收藏
- 关注
原创 基于smdk4412在android4.0上分析充电logo
最近手头上开始倒腾smdk4412 android的开发,以前都是研究S5PC110 android2.3,拿到样机就发现logo和以前有很多的不一样的,这一次kernel的logo差不多是在程序一进入kernel就显示了,而第二张logo是系统下的*.lre文件,之后才是动画,尤其是充电的logo更是和以前不一样了,以前android2.3的时候我都是在uboot的时候初始化LCD之后,将图片转
2013-10-31 14:24:40
825
原创 从foxmail导入邮件到outlook,并对邮件创建相应的过滤规则自动分配到自定义文件夹中
最近公司由于加域的原因,原先的foxmail邮箱不能用了,必须得通过outlook收发邮件。先来看看 Foxmail邮件导入Outlook 1、 在本地磁盘新建一个文件夹用于保存foxmail导出的文件,打开foxmail选中你需要导出的邮件(点击收件箱----选中文件),2、 通过菜单选择导出邮件,如下图(我这里以收件箱为例)
2013-10-31 14:15:33
6891
原创 androi 系统优化
最近手头上有一款基于android4.0下开发的PND产品,同时也在这款机器上开发了WINCE平台的,毕竟在PND这块大多数用的还是WINCE平台,又便宜又稳定。然后对比发现开机速度、流畅度和wince比起来。。就不多说了,你懂得的, O(∩_∩)O 毕竟android比wince复杂多了,同时对于PND产品来说很多功能都是不需要的,然后想想得对当前系统优化,至少不能让用户体验说这款机器很卡什么的
2013-10-31 14:15:31
717
原创 由request_irq()函数引发对中断的理解
1、 中断的理解 中断你可以理解为就是一种电信号,是由硬件设备产生的然后发送给处理器,处理器接收到中断后,就会马上向操作系统反映此信号,之后就是系统的工作了。 这里有两个注意的地方,第一中断是随时都可以产生,意味着中断的处理程序随时都可以执行,所以得保证中断处理程序能够快速执行,才可能尽快的恢复中断代码执行,所以中断代码尽量简短。第二每一个中断都有自己唯一的数字标记,
2013-10-31 14:15:29
942
原创 通过SPI协议初始化LCD屏
主控: Samsung Cortex ARM A8 smdkc110 1G 系统: android 2.3 LCD: 信利HX8357-C 3.2寸显示屏最近手上需要通过SPI协议来点亮LCD显示屏,这里得好好反思一下,基础不扎实啊。以前没接触过SPI协议,最开始一头茫然,不知道如何下手,万事开头难,首先理解一下关于SPI的定义: SPI,是英语
2013-10-31 14:15:27
2457
1
原创 android4.0编译系统时候遇到的错误集
1、Android library 'XXX.so' not in prelink map 错误解决在编译自己的Android library时可能会出现library 'XXX.so' not in prelink map 错误,这是由于Android的预编译设置引起的,/build/core/prelink-linux-arm.map文件描述了预编译的模块需要修改所在文
2013-10-31 14:15:24
1374
原创 双系统在ubuntu12.04下如何修改grub的启动项
笔记本开机之后我发现默认引导的命令并不是我想要的,这时要如何修改系统自动进入自己想要的系统?最开始我打开sudo gedit /etc/default/grub 修改 GRUB_DEFAULT = N(N代表自己想要进入的操作系统,从0开始) 重新启动之后发现无效果。最后我试试sudo gedit /boot/grub/grub.cfg文件修改set default =
2013-10-31 14:15:22
604
原创 android下支持pdf、ppt等格式的下载
点击(此处)折叠或打开 private static void checkCanHandleDownload(Context context, String mimeType, int destination, boolean isPublicApi) throws GenerateSaveFil
2013-10-31 14:15:20
665
原创 ubuntu下关于git的配置和使用
以前对git仅限于敲敲git commit、git diff、git push等等,从来没有试过如果创建.git 到服务器给其他人共享。最近我要整理好新平台代码到服务器共享,期间遇到一些很头疼的问题,所以记录下来,方便查用 1、 安装配置git服务器 安装git和openssh: sudo apt-get install git-core openss
2013-10-31 14:15:18
1166
原创 android下camera数据流的分析
Camera应用部分: Packages/apps/camera/src/com/android/camera/camera.java Camera本地框架: frameworks/base/core/java/android/hardware/camera.java Camera服务部分: frameworks/base/service
2013-10-31 14:15:15
622
原创 android下制作开机logo
在android机器里一般会显示以下图片 1、 Uboot logo 2、 Kernel logo 3、 动画 4、 关机 logo 下面针对以上四种logo说明下如何制作 一、 Uboot logo Uboot logo 这里的图片一般很采用比较小,用24bit的图片然后用BMPInfo.exe转换成数组
2013-10-31 14:15:13
874
原创 ubuntu下终端显示中文为乱码的问题
打开gedit /etc/environment 修改如下PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"LANGUAGE="zh_CN.GBK"LANG="zh_CN.UTF-8"重启之后OK 管理员在2009年8月13日
2013-10-31 14:15:11
611
原创 android下camera的分析
主控: Samsung Cortex ARM A8 smdkc110 1G Camera: OV5640(500W) 系统: android 2.3一、Camera 工作原理介绍 1. 结构 . 一般来说,camera 主要是由 lens 和 sensor IC 两部分组成,其中有的 sensor IC 集成 了 DSP
2013-10-31 14:15:08
915
原创 android关于高精度GPS模块
主控: Samsung Cortex ARM A8 smdkc110 1G Gps: UNI-HRG001 GPS模块,单频12通道的,20hz定位数据更新率 单机:(2DRMS) DGPS: 系统: android 2.3 犹豫了很久自己总结的这边文档要不要发出来,主要是因为高
2013-10-31 14:15:06
706
原创 android关于GPS hal层的分析
主控: Samsung Cortex ARM A8 smdkc110 1G Gps: Ublox-G6010 系统: android 2.3 以下篇幅都是本人的一些建议以及做法 在android里关于普通GPS模块(俗称硬GPS)相对来说是比较简单的,因为android都帮你封装好了,我们要做的稍后做详解。 1
2013-10-31 14:15:04
1706
原创 S5PC110增加APN的设置
<!--/*** Copyright 2006, Google Inc.**** Licensed under the Apache License, Version 2.0 (the "License");** you may not use this file except in compliance with the License.** You may obtain
2013-10-31 14:15:01
931
原创 android关于蓝牙不能传送APK文件
可以在packages/apps/Bluetooth/src/com/android/bluetooth/opp/Constants.java里修改 public static final String[] ACCEPTABLE_SHARE_INBOUND_TYPES = new String[] { "image/*", "video/*",
2013-10-31 14:14:59
2223
原创 修改第一次开机时的默认壁纸
静态壁纸Android V2.3版本上:替换frameworks/base/core/res/res/drawable/default_wallpaper.jpg图片Android V4.0版本上:替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.jpg图片 动态壁纸 修改frame
2013-10-31 14:14:57
694
原创 android关于蓝牙MAC地址唯一的问题
关于同型号的机器蓝牙不能互传文件,是因为BT的MAC地址都是一样的,而代码是否可以修改MAC地址不唯一!答案是可以的,首先考虑的是拿什么做为MAC地址,而且还不能一样,想来想去有一个办法可以去通过movnand的ID号,它的ID号都是唯一的。 1、 在drivers\mmc\core\mmc.c中可以加入如下代码来检验代码ID是否唯一点击(此处)折叠或打开#if 0
2013-10-31 14:14:51
3688
原创 android 内核对S5PC110睡眠模式的支持
在s5pc110平台发现一个现象,睡眠的时候过了一段时间系统自动唤醒了,然后马上就又睡眠下去,期间LCD,backligh都没有亮。当初以为是哪个中断触发了系统唤醒,可细想想不对啊,如果按键中断唤醒话怎么马上就睡下去了呢!带着这个问题大致看了下代码,原来是RTC造成的!这bug不过现在还不知道要不要改!!^_^ 首先得清楚平台下支持哪些模式 了解在睡眠的模式的时候支持哪些wak
2013-10-31 14:14:49
686
原创 Android中G-Sensor流程
1.使G-sensor正常工作需要做的事:G-sensor driver文件包括:driver/i2c/chips/lis331dl.cdriver/i2c/chips/sensorioctl.hinclude/linux/lis331dl.h并在/kernel/arch/arm/mach-s3c6410/mach-ur6410.c文件中i2c chanel1的结构变量i2c_devs1[] __
2013-10-31 14:14:47
784
原创 DVFS--动态电压频率调整
linux低功耗研究也有一段时间了,基本把低功耗的实现方式想清楚了(主要分成机制和策略),这段时间的工作主要在机制上。暂时想实现的主要的机制有:cpu级,设备驱动级,系统平台级。管理颗粒度不断递增,形成三驾马车齐驱的形势。 cpu级:主要实现比较容易的在系统处于目标在于频繁发生、更高粒度的电源状态改变,主要的实现方式为idle,包括今天的主要想讲的动态主频。设备驱动级:主要实现对单个设
2013-10-31 14:14:45
819
原创 android下调试温度、气压计(应用篇)
驱动、hal层写好了,得拿一个apk来验证程序是否正确,我就在网上找了好几个测试的apk都得联什么网啥的,后来干脆就自己弄一个得了!其实说白了就是注册一个监听就可以了点击(此处)折叠或打开import android.app.Activity;import android.hardware.Sensor;import android.hardware.SensorEvent;i
2013-10-31 14:14:42
2190
原创 android下调试光感、温度、气压计(hal篇)
从上一篇这几个简单的sensors应该可以成功获取数据了,这里就再来看看hal层是如何实现的点击(此处)折叠或打开#include fcntl.h>#include errno.h>#include math.h>#include poll.h>#include unistd.h>#include dirent.h>#include sys/sele
2013-10-31 14:14:40
1072
原创 android下调试光感、温度、气压计(驱动篇)
前一段时间刚好要调试几个sensors,最开始手头上啥代码也没有,最后花了几天的时间熟悉了这一块,最后感觉sensors相对其他的模块还是要简单的多! 第一步: 完成相关驱动的编写,这里最开始我挺犹豫的,我驱动的数据如何上报??通过ioctl??我不想那么麻烦,最好在网上找到一个关于用input机制上报对应的值,这样就简单多了,先贴下代码点击(此处)折叠或打开
2013-10-31 14:14:38
2076
原创 LCD驱动分析(三): framebuffer驱动的注册
这里最好牵涉到几个文件S3cfb.c、S3cfb_fimd6x.c setuo-fb.c fb_mem.c在这里之前最好知道pci,和memio一些术语的意思S3cfb.c中的s3cfb_probe设备探测,是驱动注册的主要函数 点击(此处)折叠或打开/*定义一个结构体用来维护驱动程序中各函数中用到的变量 先别看结构体要定义这些成员,到各函数使用的地方
2013-10-31 14:14:36
553
原创 LCD驱动分析(二):framebuffer结构的介绍
基于S5PV210下Framebuffer驱动的分析1. 知道Framebuffer的工作原理2. 了解Framebuffer的架构3. Framebuffer的注册,驱动实现的机制Frame: 你所看到的屏幕的图像,或者在一个窗口中的图像,就叫一帧Buffer: 一段ram,用来暂存图像的数据,这些数据会被直接写入到先试显示设备从上得知
2013-10-31 14:14:33
653
原创 LCD驱动分析(一):时序的分析
第一次调试lcd驱动的话是不是对下面的结构有点陌生,不知道那些值是如何得来的,当然我就属于其中的一个 点击(此处)折叠或打开 static struct s3cfb_lcd lte480wv = { .width = 1024,//800,
2013-10-31 14:14:29
832
原创 smdkc110 在uboot下测试LCD
最近在开发板上飞了一块新的lcd,不晓得是不是因为飞线太复杂的缘故,通过kernel的时候屏幕就是不亮,通过spec配置基本都一样。然后就想通过最原始的方式来验证lcd,就是在uboot里初始化lcd,smdkc110里默认的是没有初始化lcd的,而且编译的话好像还有错,所以就自己写了一个lcd.c。用到以下两个文件就可以了核心源码是/common/lcd.c /cpu/s5pc11x /
2013-10-31 14:14:27
772
原创 基于android下测试串口的程序
1,在linux环境下写好如下代码:点击(此处)折叠或打开#include termios.h>#include cutils/log.h>#include fcntl.h>#include time.h>static int fd=-1;static struct termios termios;int main(){ cha
2013-10-31 14:14:25
840
原创 init.rc解析与chmod 改变文件属性没用
android的init.rc语法是独有的,可以说是一种语言吧。 init.rc的语法分为行为(Actions),、命令(Commands) 、服务(Services)、选项(Options)。类别名称描述SECTIONon触发条件同上..service解析serviceCOMMANDchdir更改
2013-10-31 14:14:23
4269
原创 linux之GPIO的使用
SMDKC110的GPIO引脚相对来说比较多,而且大部分引脚都具有多重复用功能,如何在linux上用最简单的方式来控制GPIO这需要我们好好研究一下底层的代码了,其实方法有很多种,鉴于在操作系统端控制GPIO并不像控制传统的单片机那样。这里我将提及一种方法来讲述,这种方法也是我至今看到最简单的方法首先我们打开linux-3.0.1\arch\arm\plat-samsung\include
2013-10-31 14:14:20
609
原创 input子系统学习笔记 按键驱动实例分析下
本文接着input子系统学习笔记五 按键驱动实例分析上接续分析这个按键驱动实例! input_report_key()向子系统报告事件 在 button_interrupt()中断函数中,不需要考虑重复按键的重复点击情况,input_report_key()函数会自动检查这个问题,并报告一次事件给输入子系统。该函数的代码如下:C++代码stati
2013-10-31 14:14:18
620
原创 input子系统学习 按键驱动实例分析上
下面是按键驱动的简单例子,这个输入设备只有一个按键,按键被连接到一条中断线上,当按键被按下时,将产生一个中断,内核将检测到这个中断,并对其进行处理。代码含注释如下:C++代码#include #include static struct input_dev *button_dev;/*输入设备结构体*/ static irqreturn_t button_in
2013-10-31 14:14:16
478
原创 input子系统学习笔记一 软件设计流程及相关API
input子系统的软件设计流程 软件设计流程如下所示: 分配一个输入设备——注册一个输入设备——上报输入事件——注销一个输入设备——释放一个输入设备设计有关的API分配一个输入设备:struct input_dev *input_allocate_device*(void); 注册一个输入设备:int input_r
2013-10-31 14:14:14
516
原创 驱动注册的probe函数
probe的调用 从driver_register看起:int driver_register(struct device_driver * drv){ klist_init(&drv->klist_devices, klist_devices_get, klist_devices_put); init_completion(&drv->unloaded);
2013-10-31 14:14:11
1201
原创 android获取URLConnection和HttpClient网络请求响应码
前段时间,有朋友问我网络请求怎么监听超时,这个我当时也没有没有做过,就认为是try....catch...获取异常,结果发现没有获取到,今天有时间,研究了一下,发现是从响应中来获取的对象中获取的,下面我把自己写的URLConnection和HttpClient网络请求响应码的实体共享给大家,希望对大家有帮助!package com.zhangke.product.platform.
2013-10-31 14:14:09
686
原创 推荐ALSA一个很好的网站
http://blog.csdn.net/doom66151/article/details/6573256里面有一个大牛讲解的非常详细!! http://blog.csdn.net/sepnic/article/category/778492 管理员在2009年8月13日编辑了该文章文章。 -->
2013-10-31 14:14:06
567
原创 基于platform机制的驱动模型
1、 哪些适用于plarform驱动?platform机制将设备本身的资源注册进内核,由内核统一管理,在驱动程序中使用这些资源时通过platform device提供的标准接口进行申请并使用。这样提高了驱动和资源管理的独立性,这样拥有更好的可移植性。platform机制的本身使用并不复杂,由两部分组成:platform_device和platfrom_driver。Platform driver
2013-10-31 14:14:04
483
原创 U-Boot简单流程
下面我们就来修改出一个简单的uboot,实现快速更新系统。一、首先简单的说明uboot的启动过程:1)、从文件层面上看主要流程是在两个文件中:cpu/xxxx/start.s,lib_arm/board.c。Start.s 在flash中执行的引导代码,也就是bootloader中的stage1,负责初始化硬件环境,把u-boot从flash加载到RAM中去,然后跳到lib_arm/board.c
2013-10-31 14:14:01
677
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人