自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 收藏
  • 关注

转载 Media开发之铃声设置(RingtoneManager)

public class Media_RingTongActivity extends Activity { //定义三个按钮 private Button mRingtongButton; private Button mAlarmButton; private Button mNotificationButton;

2013-04-11 16:02:56 900

转载 Java中参数传递类型只有值传递

java核心技术卷I里有一个结论我觉得挺有意思的:java中没有引用传递,只有值传递 首先看定义: 值传递,是指方法接收的是调用者提供的值 引用传递,是指方法接收的是调用者提供的变量地址 以前学习C++时把参数传递分为值传递和引用传递,国内的不少java教材愿意把对象的传递理解是引用传递,为什么它们会这么说呢?可以看下面一个例子:  import java.util.Calen

2013-04-11 08:33:42 557

原创 Android5个进程等级

1. 前端进程  正处于Activity onResume状态  正处于bound服务交互状态  服务在前端运行startForeground()被调用  Service函数正在被执行onCreate,onStart,onDestroy  Receiver函数正在被执行onReceive2. 可见进程  不在最前端,Activity被对话框覆盖  bound到一个v

2013-04-10 08:46:04 722

原创 Android Manifest解析

在系统启动的时候PacketedManegerService会解析manifest.xml并将其保存到内存中,相当于建立一张表,供后面的应用程序来调用在启动应用程序的时候,在内存表中查找到合适的组件进行实例化

2013-04-09 20:27:41 607

原创 i++和++i哪个效率高

只有在必要时才使用后置操作符因为前置操作需要做的工作更少,只需要加1后返回加1后的结果即可。而后置操作符则必须先保存操作数原来的值,以便返回未加1之前的值作为操作的结果。对于int对象和指针,编译器可优化掉这项额外工作。但是对于更多的复杂迭代器类型,这种额外工作可能会花费更大代价。因此,养成使用前置操作这个好习惯,就不必担心性能差异的问题。这个问题是分两种情况的:1、对于内置数据类型,

2013-04-07 14:51:09 1645

转载 ADN FDN SDN

ADN        Abbreviated dialing numberFDN        Fixed dialer numberBDN        Barred dialing numbersLND        Last number dialedSDN        Service dialing numberADN(SI

2012-12-11 09:25:50 3569

转载 \r是回车符,\n是换行符

\r是回车符,\n是换行符计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。 于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在

2012-12-06 18:30:10 603

原创 Linux应用 - 时间编程

时间类型Coordinated Universal Time(UTC):世界标准时间,也就是格林威治时间Greenwhich Mean Time(GMT)Calendar Time日历时间,从一个标准时间点到此时经历过的秒数1. 获取日历时间#includetime_t time(time_t *tloc)获取日历时间,即从1970年1月1日0点到现在经历的秒数#inc

2012-12-05 16:54:48 358

原创 库函数-访问文件

库函数-访问文件1. 库函数-创建和打开#FILE *fopen(const char *filename, const char *mode)filename: 要打开的文件名mode: 打开模式r,rb: 只读方式打开w,wb: 只写方式打开,如果文件不存在,则创建该文件a,ab: 追加方式打开,如果文件不存在,则创建该文件r+,r+b,rb+: 读写方

2012-12-05 15:44:14 460

原创 系统调用访问文件

系统调用访问文件1. 系统调用-创建int creat(const char *filename, mode_t mode)filename 要创建的文件名(包含路径,缺省为当前路径)mode 创建模式S_IRUSR 可读 0100 4S_IWUSR 可写 0010 2S_IXUSR 可执行 0001 1S_IRWXU 可读、可写、可执行

2012-12-05 14:11:00 449

原创 Wifi测试

Wifi测试步骤1. 写配置文件system("echo "" > /data/misc/wifi/user_priority.conf");system("chown wifi.wifi /data/misc/wifi/user_priority.conf");if(access("/data/misc/wifi/wpa_supplicant.conf",F_OK)){sys

2012-11-23 09:44:57 1321

转载 strtok和strsep函数详解

函数原型:char *strtok(char *s, const char *delim);                            char *strsep(char **s, const char *delim);       功能:strtok和strsep两个函数的功能都是用来分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。

2012-11-22 10:32:55 593

原创 strcpy/strncpy/sprintf/_snprintf/snprintf的区别

1. char *strcpy(char *str1, char *str2); 串拷贝#include #include int main(void) { char string[10]; char *str1 = "abcdefghi"; strcpy(string, str1); printf("%s\n", string); return

2012-11-19 10:55:08 1862

原创 查看User模式还是Eng模式

1. 查看User模式还是Eng模式shell@android:/ $ cat default.propcat default.prop## ADDITIONAL_DEFAULT_PROPERTIES#ro.secure=1ro.allow.mock.location=0ro.debuggable=0persist.sys.usb.config=mass_sto

2012-11-17 11:02:28 2215

原创 静态区、堆、栈区别

静态区:保存自动全局变量和static 变量(包括static 全局和局部变量)。静态区的内容在总个程序的生命周期内都存在,由编译器在编译的时候分配。栈:保存局部变量。栈上的内容只在函数的范围内存在,当函数运行结束,这些内容也会自动被销毁。其特点是效率高,但空间大小有限。堆:由malloc 系列函数或new 操作符分配的内存。其生命周期由free 或delete 决定。在没有释放之前一

2012-11-12 11:26:43 538

原创 嵌入式Linux文件系统

1. 嵌入式Linux中,主要的存储设备为   1). RAM   2). FLASHNOR 存放程序 读的速度较快,价格较高,存储容量较小NAND 存放数据 写的速度较快,价格较低,存储容量较大,容易出现坏块。2. 文件系统分类   1).基于Flash的文件系统    a). Jffs2 主要用于NOR型Flash,基于MTD驱动层。可读写、支持数据压缩的日

2012-11-11 20:39:24 524

原创 嵌入式Linux内核启动流程

1. .config 配置启动的命令行   1). 使用nfs作为根文件系统   CONFIG_CMDLINE="root=/dev/nfs rw nfsroot=192.168.0.10:/home/King/mini2440/rootfs ip=192.168.0.13 console=ttySAC0 mem=64M"root=/dev/nfs 指名使用哪种系统作为根文

2012-11-11 15:38:01 635

原创 制作根文件系统

步骤1. 创建文件系统目录   mkdir bin dev etc lib proc sbin sys urs tmp var   mkdir usr/bin usr/lib usr/sbin lib/modules2. 创建设备文件   cd dev/   mknod -m 666 console c 5 1   mknod -m 666 null c 1 3

2012-11-11 15:18:12 336

原创 Uboot命令

1. 查看Uboot环境变量printenv [name]2. 添加、修改、删除环境变量setenv name [value]3. 保存环境变量saveenv : 有的没有提供4. 文件下载 - tftp1). 配置网络a). setenv ethaddr 12:34:56:78:9A:BC设置网卡地址b). setenv ipaddr 192.16

2012-11-10 21:12:12 499

原创 Uboot介绍

1. U-boot的来源德国DENX小组开发的2. 作用1). 可以用于多种嵌入式CPU(ARM, x86, MIPS, XScale等)的bootloader程序2). 支持Linux, VxWorks, QNX等多种嵌入式操作系统3. 源码下载ftp://ftp.denx.de/pub/u-boot/4. 目录结构board : 和开发板有关的文件。

2012-11-10 19:47:47 439

原创 增加ldo regulator震动驱动

增加ldo regulator震动驱动//LDO的声明和初始化TC4_Kernel_3.0/arch/arm/mach-exynos/mach-smdk4x12.c1. 为ldo提供名字static struct regulator_consumer_supply s5m8767_ldo19_supply[] = {-       REGULATOR_SUPPLY("dvdd2

2012-11-10 18:16:19 1517

原创 Bootloader介绍

1. 软件角度看嵌入式系统,分为三个层次1). 引导加载程序a). 包含在固件(firmware)中的boot程序,如PC机上的BIOS【可选的,有的没有】b). Bootloader: 将内核从硬盘上读到内存中,然后跳到内核的入口点去运行,即启动操作系统Lilo Linux磁盘引导程序 支持x86,不支持ARM、PowerPCGrub GNU的Lili代替程序 支持x86

2012-11-10 09:53:34 490

原创 内核模块开发基础

1. hello module Makefile的编写# Makefile2.6obj-m += hellomod.o        # 产生hellomod 模块的目标文件hellomod-objs := add.o xxx.o#依赖的文件CURRENT_PATH := $(shell pwd)   #模块所在的当前路径LINUX_KERNEL := $(shell

2012-11-09 16:43:29 430

原创 内核代码结构

arch | architecture的缩写,架构相关的代码,内核所支持的每种CPU体系,在该目录下都有对应的子目录。arm | arm处理器mach-xxx | 代表着一款开发板mach-s3c2410mach-s3c2440mach-s5p64x0mach-exynosmach-smdk4x12 | 正在使用的开发版本...powerpc | p

2012-11-09 10:44:14 411

原创 Shell编程

1. 指定shell脚本的解析程序#!/bin/sh符号#!用来指定该脚本文件的解析程序可以指定sh使用的命令,一般/bin/sh -> bash,我们服务器上就是/bin/sh -> dash2. 注释符号#开头表示注释3. 自定义变量所有变量都由字符串组成,不能加入数字。如a1=“xxx”是错误的变量赋值时左右两边都不要加空格,如a = 1是错误的

2012-11-08 19:29:22 365

原创 Linux使用

1. 切换用户Ctrl + Alt + F7切换到图形界面Ctrl + Alt + F1/F2/F3/F4/F5/F6 切换到字符界面2.

2012-11-07 15:34:11 360

原创 kill和killall的区别

kill对象是进程IDkill -9 proc_idkillall对象是进程名字killall -9 proc_name注:信号代码可以省略;我们常用的信号代码是 -9 ,表示强制终止;

2012-11-07 14:19:22 8182

原创 uboot命令

1. 查看分区fdisk -p 02. 执行分区 fdisk -c 03. flash 分区fdiskall 0

2012-11-06 15:32:49 421

转载 Ubuntu下更改gcc版本的简便方法

1. 下载指定版本:sudo apt-get install gcc-4.42. 使用指定版本// 首先须移除原有的gcc快捷方式,然后把新安装的gcc指定到原有的位置 // 该方法在11.04下测试可用# rm /usr/bin/gcc # ln -s /usr/bin/gcc-4.4 /usr/bin/gcc其实当你到 /usr/bin 目录下ls时,你就会发现Linux的

2012-11-01 10:40:48 1068

原创 Shell中显示时间差

begintime=`date +%s`                                                                                                                sleep 2sendtime=`date +%s`duration=$(($endtime-$begintime))

2012-10-31 16:02:33 844 2

原创 解压/制作Android Bootimg

一、 解压boot.img1.先下工具。 split.pl2.解压boot.img文件去到boot.img所在的文件夹,输入下面的命令:split.pl boot.img           Page size: 2048 (0x00000800)Kernel size: 2240184 (0x00222eb8)Ramdisk size: 221504 (0x00036

2012-10-29 14:50:26 1886 1

原创 制作/解压android ramdisk.img镜像

一、解包Ramdisk.img1 查看文件格式: file ramdisk.imgramdisk.img: gzip compressed data, from Unix可知ramdisk.img是一个压缩包,当然ramdisk.img的压缩不是必需的2 解压ramdisk.img压缩包: gunzip -S .img ramdisk.img由于文件名不是.gz,所以要加-

2012-10-29 14:48:51 4670 1

原创 构建根文件系统-initramfs

用initramfs方式构建根文件系统步骤:0) set envenimenta) $ export PATH=$PATH:/usr/local/arm/arm-2009q3/bin1) make busybox.a) $ cd busybox-1.20.2b) $ make menuconfigBusybox Settings--> Build Options

2012-10-18 10:31:28 1071

原创 构建根文件系统-initrd

1. 用initrd方式构建根文件系统操作步骤:0) set envenimenta) $ export PATH=$PATH:/usr/local/arm/arm-2009q3/bin1) make busybox.a) $ cd busybox-1.20.2b) $ make menuconfigBusybox Settings--> Build Optio

2012-10-18 10:29:50 717

原创 Android中xx.mk解读

1. LOCAL_CFLAGS := -DHHH 这个等价于头文件中 #define HHH 2.

2012-07-12 16:34:12 812

原创 git patch

1) 创建从HEAD^到HEAD的patch:    git format-patch HEAD^..HEAD2) 打补丁    git am -3 [PATCH]=======================在用git am提交patch时,有时在提交失败后,继续提交时会出现/.git/rebase-apply still exists

2012-06-27 17:17:41 373

原创 二维char数组与二维char指针

char**的内存结构可以看成有多个连续的char*类型的元素构成,而二维字符数组是由M*N个字符组成。1. 以下函数将出现段错误:#include #define M 2#define N 100void test(const char** pstr){int i = 0;for(i = 0; i {printf("array[%d]= %

2012-06-18 11:29:43 11660

原创 Linux驱动bug记录 - 2.开机时手机一直在震动

现象:手机开机,马达一直震动分析:uboot正常启动后,没有设置震动关闭解决:在震动200ms后关闭马达相关代码:u-boot/property/normal_mode.cvoid normal_mode(void){    //MMU_Init(CONFIG_MMU_TABLE_ADDR);vibrator_hw_init();set_vibrator(1

2012-06-06 11:11:12 1186

原创 Linux驱动bug记录 - 1. Android数据无法显示到LCD上

现象:uboot启动正常,kernel启动能显示第一帧画面,以后的画面无法显示,停留在第一帧分析:由于启动的时候开启了,Fmark同步功能,Fmark等待LCD的同步确认,但是有的LCD panel不支持这一功能,或者没有开启这个功能解决:关闭Fmark功能,不要求LCD panel的同步相关代码:kernel/drivers/video/sc8810/fb_main.cstati

2012-06-06 10:50:22 676

原创 Windows搭建Trac

1. 安装 Python- Trac使用python语言编写,自然需要这个环境我安装的是python-2.7.1.msi,官方的打不开,我是在网上搜索的这个安装文件所选安装目录是D:\Trac\Python272. 安装数据库If you're using Python 2.5 or 2.6, you already have everything you need.

2012-06-04 17:22:23 3072

空空如也

空空如也

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

TA关注的人

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