自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

longshan_2009的专栏

嵌入式学习

  • 博客(249)
  • 资源 (31)
  • 收藏
  • 关注

原创 匹配电话号码是不是有效

package com.example.phonenumber;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.telephony.PhoneNumberUtils;import android.view.Menu;import an

2016-07-04 22:07:21 1574

原创 binder第二课

binder demo测试:test_client.c/* Copyright 2008 The Android Open Source Project */#include #include #include #include #include#include #include #include "binder.h"#include "test_serv

2016-03-30 21:08:46 591

原创 binder第一课

Binder系统核心1.      RPC2.      IPC  IPC:源头:A目的:1.      B向serviceManager注册Led服务2.      A向serviceManager查询led服务,得到一个handle数据:char buf[512 RPC:远程过程调用问题:调用哪一个函数:server的函数编号传给

2016-03-29 21:26:40 481

转载 Android触摸屏事件派发机制详解与源码分析三(Activity篇)

转载地址:http://blog.csdn.net/yanbober/article/details/45932123PS一句:最终还是选择CSDN来整理发表这几年的知识点,该文章平行迁移到CSDN。因为CSDN也支持MarkDown语法了,牛逼啊!【工匠若水 http://blog.csdn.net/yanbober】该篇承接上一篇《Android触摸屏事

2015-11-12 09:53:03 526

转载 Android触摸屏事件派发机制详解与源码分析二(ViewGroup篇)

转载地址:http://blog.csdn.net/yanbober/article/details/45912661PS一句:最终还是选择CSDN来整理发表这几年的知识点,该文章平行迁移到CSDN。因为CSDN也支持MarkDown语法了,牛逼啊!【工匠若水 http://blog.csdn.net/yanbober】该篇承接上一篇《Android触摸屏事件派

2015-11-12 09:52:06 510

转载 Android触摸屏事件派发机制详解与源码分析一(View篇)

转载地址:http://blog.csdn.net/yanbober/article/details/45887547PS一句:最终还是选择CSDN来整理发表这几年的知识点,该文章平行迁移到CSDN。因为CSDN也支持MarkDown语法了,牛逼啊!【工匠若水 http://blog.csdn.net/yanbober】Notice:阅读完该篇之后如果想继续深入阅读Andr

2015-11-12 09:50:35 459

原创 java学习笔记(韦东山)

1. 引用数据类型的变量被置为null后,java的垃圾处理机制会将引用数据类型所指向的堆空间释放。2. short s = 1;s = s + 1; // 出错,因为对于byte,short的运算,为了保证精度,会自动转换为int类型3.构造块:class Person {    {        // 构造块        // 每实例化

2015-10-24 10:44:11 1600

转载 WiFi Display

本文转载于:http://blog.csdn.net/dnfchan/article/details/8558552#comments WiFI Display(WFD)是WiFI Alliance 开发出的一种规范,使多媒体设备之间建立和维持一个基于WiFi的连接,并且利用这个连接推进视频/音频的在目标设备的呈现播放。以下是原话The Wi-Fi Alliance is deve

2014-01-16 12:55:13 1232

转载 C++中的一些关键点

一、∷”是作用域限定符(field qualifier)或称作用域运算符,用它声明函数是属于哪个类的。如果在作用域运算符“∷”的前面没有类名,或者函数名前面既无类名又无作用域运算符“∷”,比如如∷display( )或display( )则表示display函数不属于任何类,这个函数不是成员函数,而是全局函数,即非成员函数的一般普通函数。二、参数初始化表来实现对数据成员的初

2014-01-14 17:31:09 726

转载 多线程

多线程是实现并发机制的一种有效手段。进程和线程一样,都是实现并发的一个基本单位。线程和进程的主要差别体现在以下两个方面:(1)同样作为基本的执行单元,线程是划分得比进程更小的执行单位。(2)每个进程都有一段专用的内存区域。与此相反,线程却共享内存单元(包括代码和数据),通过共享的内存单元来实现数据交换、实时通信与必要的同步操作。所谓的线程(Thread)是指程序的运行流程,

2014-01-14 15:21:24 654

转载 包及访问权限

包(package)的基本概念当一个大型程序由数个不同的组别或人员开发共同开发时,用到相同的类名称是很有可能的事。如果这种情况发生,还要确保程序可以正确运行,就必须通过package关键字来帮忙了。package是在使用多个类或接口时,为了避免名称重复而采用的一种措施。那么具体应该怎么使用呢?在类或接口的最上面一行加上package的声明就可以了。声明格式:package 包名

2014-01-14 13:00:04 562

转载 异常处理

即使在编译时没有错误信息产生,但在程序运行时,经常会出现一些运行时的错误,这种错误对Java而言是一种异常。有了异常就要有相应的处理方式。异常的基本概念异常也称为例外,是在程序运行过程中发生的、会打断程序正常执行的事件,下面是几种常见的异常;1、算术异常(ArithmeticException)。2、没有给对象开辟内存空间时会出现空指针异常(NullPointerExc

2014-01-14 12:17:10 759

转载 多态性

重载的最终效果就是调用同一个方法名称,却可以根据传入参数的不同而得到不同的处理结果,这其实就是多态性的一种体现。class Person{ public void fun1() { System.out.println("1.Person{fun1()}") ; } public void fun2() { System.out.println("2.Person{fun

2014-01-14 11:49:46 1346

转载 接口(interface)

接口(interface)是Java所提供的另一种重要技术,它的结构和抽象类非常相似,也具有数据成员与抽象方法,但它与抽象类又有以下两点不同:1、接口里的数据成员必须初始化,且数据成员均为常量。2、接口里的方法必须全部声明为abstract,也就是说,接口不能像抽象类一样保有一般的方法,而必须全部是“抽象方法”。接口的定义格式如下:interface 接口名称 // 定

2014-01-13 22:16:07 668

转载 抽象类

通过继承,可以从原有的类派生出新的类。原有的类称为基类或父类,而新的类则称为派生类或子类。通过这种机制,派生出的新的类不仅可以保留原有的类的功能,而且还可以拥有更多的功能。除了上述的机制之外,Java也可以创建一种类专门用来当作父类,这种类称为“抽象类”。抽象类的作用有点类似“模版”,其目的是要设计者依据它的格式来修改并创建新的类。但是并不能直接由抽象类创建对象,只能通过抽象类派生出新的类,再

2014-01-13 21:59:12 641

转载 类的继承

class 父类 // 定义父类{}class 子类extends 父类 // 用extends关键字实现类的继承{}范例:class Person{ String name ; int age ;}class Student extends Person{ String school ;}public class TestPersonSt

2014-01-13 21:41:46 576

转载 类基础

类的封装性(private)封装属性:private 属性类型 属性名封装方法:private 方法返回类型 方法名称(参数)注意:用private声明的属性或方法只能在其类的内部被调用,而不能在类的外部被调用。匿名对象:可以简单的理解为只使用一次的对象,即没有任何一个具体的对象名称引用它。System.out.println(new Person().

2014-01-13 21:12:42 578

转载 字符串

String类:在Java中字符串不仅仅是字符数组,而且是String类的一个实例。可以使用String类来构建。例如可以使用下面的方式来声明并初始化一个字符串变量:String text = "字符串的使用";System.out.println(text);字符串的串联在Java中可以直接使用+运算符,+本来是加法运算符,而它被改写(Override)为可以直接用于字符串的串联。

2014-01-13 16:38:05 512

转载 数组

数组在Java中要看作一个对象。在Java中,可以顶一个数组并初始化数组内容:int[] score = {90, 85, 55, 94, 77};下面举例:public class SimpleArray { public static void main(String[] args) { int[] score = {90, 85, 55, 94, 77}; fo

2014-01-13 16:20:29 522

转载 autoboxing和unboxing

在Java中,所有要处理的东西几乎都是对象(Object),例如之前所使用的Scanner是对象,字符串(String)也是对象,之后还会看到更多的对象。有时需要将基本类型转换为对象。例如使用Map对象要操作put方法时,需要传入的参数是对象而不是基本数据类型。要使用打包类型(Wrapper Types)才能将基本数据类型包装为对象。比如:在J2SE 5.0 之前,要使用以下语句才

2014-01-13 15:50:45 682

转载 使用Scanner取得输入

在命令行模式下要输入数据至程序中时,可以使用标准输入串对象System.in。然而实际上很少直接使用它,因为System.in对象所提供的read()方法,是从输入串中取得一个字节的数据,并返回该字节的整数值,但通常您要取得的输入会使一个字符串,或是一组数字。所以,System.in对象的read()方法一次只读入一个字节数据的方式并不适用。在J2SE 5.0中,可以使用java.ut

2014-01-13 15:38:03 1431 1

转载 VirtualBox下ubuntu和本机win7共享文件夹

1. 安装增强功能包(VBoxGuestAdditions)打开虚拟机,设置ubuntu 9。04,找到光驱选项加载VBoxGuestAdditions。iso.(该镜像就在虚拟机的安装目录下面),确定运行ubuntu,在光驱下就会有VBoxGuestAdditions镜像,打开镜像,运行autorun.sh,系统就会自动安装,安装完毕后会提示要重启Ubuntu。2. 设置

2014-01-13 13:22:15 698

转载 阅读前的准备

Android的系统架构:从上图可以看出,Android系统大体可以分为4层,从下往上依次是:1. Linux内核层:包含了Linux内核和一些驱动模块(eg: USB驱动,Camera驱动,蓝牙驱动等)。2. Libraries层: 这一层提供动态库(也叫共享库),Android运行时库,Dalvik虚拟机等。从编程语言角度来说,这一层大部分都是用C或C++写的,所以也可以简

2014-01-10 10:47:11 650

转载 Binder机制(4)

纯Native的Service纯Native的Service表示代码都在Native层。Native层有很多Service,前面的MS不就是一个重量级的吗?假设Service叫ITest,我们该如何实现呢?完全可以模仿MS!具体实现过程如下所示:Test是怎么定义的呢?我们是跨进程的C/S,所以本地需要一个BnTest,对端需要提供一个代理BpTest。为了不暴露Bp的

2014-01-10 10:11:05 575

转载 Binder机制(3)

StartThreadPool和joinThreadPool分析:startThreadPool()的实现如下所示:上面spawnpooledThread()函数的实现如下所示:PoolThread是在IPCThreadState中定义的一个Thread子类,它的实现如下所示:下面看看IPCThreadState的joinThreadPool的实现,因为

2014-01-09 15:58:22 687

转载 Binder机制(2)

注册MediaPlayerService下面分析MediaPlayerService,代码如下:根据前面的分析可知,defaultServiceManager()实际返回的对象是BpServiceManager,它是IServiceManager的后代,代码如下所示:这里addService函数中把请求数据打包为data后,传给了BpBinder的transac

2014-01-08 16:13:23 523

转载 Binder机制(1)

参考:http://www.cnblogs.com/innost/archive/2011/01/09/1931456.html基于Binder通信的C/S架构体系中,除了C/S架构所包括的Client端和Server端外,Android还有一个全局的ServiceManager端,它的作用是管理系统中的各种服务(Service)。这三者的关系如下:注意:一个Ser

2014-01-07 14:44:48 579

转载 logcat源码分析

参考:http://blog.csdn.net/luoshengyang/article/details/6606957 Logcat工具内置在Android系统中,可以在主机上通过adb logcat命令来查看模拟机上日志信息。主要是介绍Logcat读取日志的主线,即从打开日志设备文件到读取日志设备文件的日志记录到输出日志记录的主要过程. Logcat工具源代码位于system/co

2014-01-07 13:17:36 801

转载 Android应用层日志分析

参考:http://blog.csdn.net/luoshengyang/article/details/6598703我们在Android应用程序,一般是调用应用程序框架层的Java接口(android.util.Log)来使用日志系统,这个Java接口通过JNI方法和系统运行库最终调用内核驱动程序Logger把Log写到内核空间中。按照这个调用过程,我们一步步介绍Android应用程序框架

2014-01-07 11:29:51 757

转载 Android日志驱动程序分析

参考:http://blog.csdn.net/luoshengyang/article/details/6595744内核中的日志文件:kernel/common/drivers/staging/android/logger.hkernel/common/drivers/staging/android/logger.c一、Logger的数据结构:#ifndef

2014-01-06 16:13:28 660

转载 Android日志系统

参看:http://blog.csdn.net/luoshengyang/article/details/6581828内核空间工具:printk 配合 cat  /proc/kmsg用户空间:可以配合logcat进行查看1. 查看C/C++的Log只要定义自己的LOG_TAG宏和包含头文件system/core/include/cutils/log.h就可以了:

2014-01-06 14:51:25 523

转载 Android中的常见类

本节源码位置:framework\native\include\utils\RefBase.hframework\native\libs\utils\RefBase.cpp framework\native\libs\utils\Threads.cpp framework\native\include\utils\Threads.hframework\base\co

2014-01-03 17:13:37 538

转载 SystemService

SystemServer的进程名叫“system_server”SystemServer的创建:systemServer是由Zygote通过Zygote.forkSystemServer函数来fork诞生出来的。SystemServer的重要使命.SS(SystemServer)诞生后,便和Zygote分裂了。它有自己的使命:SS调用handle

2014-01-03 15:28:23 721

转载 zygote和system_server分析

使用的源码: framework\base\cmds\app_process\App_main.cpp  framework\base\include\android_runtime\AndroidRuntime.h  framework\base\core\jni\android_debug_JNITest.cpp   framework\base\core\java

2014-01-02 15:41:10 1155

原创 第一章 文件IO的操作

1. 在对文件进行读写操作前,需要先打开该文件。 内核为每个进程维护了一个打开文件的列表,该表为文件表(file table),该表由一些叫做文件描述符(file descriptiors)的非负整数进行索引。列表的每一项都包含了一个打开文件的信息,用于空间和内核空间都把文件描述符作为每个进行的唯一cookies. 每个Linux进程有一个打开文件数的上限,fd从0开始,直到比上限小1.默认的上限

2013-11-25 10:34:47 494

原创 no permissions fastboot

shanl@shanl-E430:~$ fastboot devicesno permissions fastboot解决sudo chmod -R 777 /dev/bus/usb,让普通用户有使用usb权限

2013-10-29 15:38:34 532

转载 Android init启动理解

本节涉及源码有:根目录为system:Init.c (core\init)Parser.c (core\init)Builtins.c (core\init)Keywords.h (core\init)Init.rc (core\rootdir)Property_service.c (core\init)Properties.c (cor

2013-08-22 12:08:44 881

转载 JNI层理解

涉及的源码:MediaScanner.java (base\media\java\android\media)             -------------------------    >               JAVA层android_media_MediaScanner.cpp (base\media\jni)              -------------

2013-08-21 14:46:46 1153

翻译 led-class.txt

Leds-class.txt (documentation\leds)翻译:LED在Linux下处理:LED类只允许来自用户空间的LED控制。led的操作节点出现在/ sys /class/leds/。的LED的最大亮度值在max_brightness文件中定义。该的亮度文件将设置的LED的亮度(范围在:0-max_brightness之间)。大多数LED没有硬件亮度支

2013-08-21 13:32:03 745

翻译 linux led子系统(1)

Leds-class.txt (documentation\leds)翻译:LED在Linux下处理:LED类只允许来自用户空间的LED控制。led的操作节点出现在/ sys /class/leds/。的LED的最大亮度值在max_brightness文件中定义。该的亮度文件将设置的LED的亮度(范围在:0-max_brightness之间)。大多数LED没有硬件亮度支持,所以只要

2013-08-21 12:21:02 1210

使用cmake来在Android studio中调用三方so文件

使用cmake来在Android studio中调用三方so文件 使用cmake来在Android studio中调用三方so文件

2019-07-27

6410rootfs

可以直接使用的rootfs,用于各种系统

2013-08-12

qt6410 uboot

可以直接在QT6410上面使用的uboot

2013-08-12

QT6410 nand裸板程序

调试好久韦老大的程序就是没有找到如何解决,从网上下载了一个成功了!

2013-08-08

数据结构c语言版答案

数据结构c语言版答案,可以配合数据结构c语言版一起看

2013-05-23

Linux内核修炼之道

Linux内核修炼之道,作者说了自己的相关经历和linux学习方法

2013-05-15

DownLoad文件

DownLoad代码文件,以后做参考使用,不想分析了。

2013-05-15

busybox工具集

busybox工具代码,建立新的根文件系统,供移植使用

2013-05-08

jffs2文件系统镜像

jffs2文件系统镜像 可以直接烧写使用

2013-05-08

i2c的中文规范

i2c的中文规范,简单易懂,忘记的时候可以拿出来复习一下

2013-05-07

uboot支持DM9000

uboot支持DM9000网络下载功能,可以使用tftp

2013-05-03

uboot支持nandflash读写

uboot支持nandflash读写,支持nandflash启动

2013-05-03

uboot支持nand启动

uboot,只支持nand启动,其他功能还未实现

2013-05-02

支持nand启动的uboot

只是支持nand启动的uboot,其他功能还没有实现

2013-05-02

nand(init.c)

移植支持nand启动的nandflash初始化文件

2013-04-28

2440bootloader

参照韦东山视频手写的bootloader,

2013-04-25

input系统笔记

自己总结的input子系统的笔记,还未完善

2013-03-28

gcc内嵌汇编

内嵌汇编,网上下载的文档,讲解__asm__ __volatile__ ()

2013-03-28

sys_poll分析

韦东山老师的sys_poll的分析,可以根据这个文档自行分析

2013-03-25

kernel代码

韦东山视频的kernel代码和补丁,需要下载的可以在这下载

2013-03-20

uboot启动源码

2440uboot源码,韦东山老师提供,含有patch

2013-03-20

TQ2440开发手册和nand

天嵌2440开发板手册和nandflash的文档

2013-03-19

S3C2440中文

S3C2440中文手册,英语不好可以参考

2013-03-19

s3c2440的用户手册

s3c2440英文用户手册,学习arm的必读文档

2013-03-19

arm920t cpu文档

arm920t cpu文档,在移植uboot的时候会使用到

2013-03-19

TQ2440 uboot移植

一份TQ2440 uboot移植不错的文档

2013-03-19

TPLINK TL-WN725N驱动

TPLINK TL-WN725N驱动给需要的人

2013-03-19

自己使用的vim配置文件vimrc

自己使用的vim配置文件vimrc,下载后放在/home/**/.vimrc即可

2013-03-18

空空如也

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

TA关注的人

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