自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (11)
  • 收藏
  • 关注

转载 recovery 英文介绍

This article discusses how to create update.zip file and how Android Over-The-Air updates use such file to update the operating system on the device.Creating update.zipTipThe fol

2012-05-31 19:13:44 661

转载 U-Boot and MMC/SDIO

U-Boot supports MMC Cards with multiple paritions, with the FAT file system. For general information onMMC Cards - see the MMC Cards page.To initialize the mmc/sdio subsystem, use the mmcinit ca

2012-05-28 21:20:09 1703

转载 JNI接口函数<三>

字符串操作 NewStringjstring   NewString(JNIEnv *env, const jchar *unicodeChars,jsize len);利用 Unicode 字符数组构造新的 java.lang.String 对象。参数:env:JNI 接口指针。unicodeChars:指向 Unicode 字符串的指

2012-05-25 14:53:14 499

转载 JNI接口函数<二>

对象操作 AllocObjectjobject  AllocObject(JNIEnv *env, jclass clazz);分配新 Java 对象而不调用该对象的任何构造函数。返回该对象的引用。clazz 参数务必不要引用数组类。参数:env:JNI 接口指针。clazz:Java 类对象。返回值:返回 Java

2012-05-25 14:51:48 626

转载 JNI接口函数<一>

本章为 JNI 函数提供参考信息。其中列出了全部 JNI 函数,同时也给出了 JNI 函数表的准确布局。注意:“必须”一词用于约束 JNI 编程人员。例如,当说明某个 JNI 函数必须接收非空对象时,就应确保不要向该 JNI 函数传递 NULL。这时,JNI 实现将无需在该 JNI 函数中执行 NULL 指针检查。本章的部分资料改编自 Netscape 的 JRI 文档。该

2012-05-25 14:50:31 485

转载 Android 根文件系统启动过程

在Android系统启动时,内核引导参数上一般都会设置“init=/init”, 这样的话,如果内核成功挂载了这个文件系统之后,首先运行的就是这个根目录下的init程序。这个程序所了什么呢? 我们只有RFSC(Read the Fucking Source code)!!init程序源码在Android官方源码的system/core/init中,main在init.c里。我们的分析就从mai

2012-05-25 14:48:48 417

转载 在Android系统中修改Android.mk使其同时编译rgb2565和rgb2888(向out/host/linux-x86/bin/下新增加一个工具命令)

修改对应的Android.mk文件使其在源码编译时能够同时编译出rgb2565和rgb2888,rgb2888的源码文件已有,其实实现很简单,这里只是将我在具体测试中不同模块标签的模块在不同编译模式下的所采取的编译方式列举一下,因为我们的改动最好能和源码进行无缝的结合。               一、           Android系统的四种编译模式         Andr

2012-05-25 14:47:52 1257

转载 Android系统Recovery工作原理之使用update.zip升级过程分析(九)---updater-script脚本语法简介以及执行流程

目前update-script脚本格式是edify,其与amend有何区别,暂不讨论,我们只分析其中主要的语法,以及脚本的流程控制。一、update-script脚本语法简介:        我们顺着所生成的脚本来看其中主要涉及的语法。        1.assert(condition):如果condition参数的计算结果为False,则停止脚本执行,否则继续执行脚本。

2012-05-25 14:45:49 825

转载 Android系统Recovery工作原理之使用update.zip升级过程分析(八)---解析并执行升级脚本updater-script

一、update_binary的执行过程分析       上一篇幅中的子进程所执行的程序binary实际上就是update.zip包中的update-binary。我们在上文中也说过,Recovery服务在做这一部分工作的时候是先将包中update-binary拷贝到内存文件系统中的/tmp/update_binary,然后再执行的。update_binary程序的源码位于gingerbrea

2012-05-25 14:44:55 639

转载 Android系统Recovery工作原理之使用update.zip升级过程分析(七)---Recovery服务的核心install_package函数

一、       Recovery服务的核心install_package(升级update.zip特有)              和Recovery服务中的wipe_data、wipe_cache不同,install_package()是升级update.zip特有的一部分,也是最核心的部分。在这一步才真正开始对我们的update.zip包进行处理。下面就开始分析这一部分。还是先看

2012-05-25 14:44:07 664

转载 Android系统Recovery工作原理之使用update.zip升级过程分析(六)---Recovery服务流程细节

Recovery服务毫无疑问是Recovery启动模式中最核心的部分。它完成Recovery模式所有的工作。Recovery程序对应的源码文件位于:/gingerbread0919/bootable/recovery/recovery.c。一、 Recovery的三类服务:         先看一下在这个源码文件中开始部分的一大段注释,这将对我们理解Recovery服务的主要功能有

2012-05-25 14:43:12 663

转载 Android系统Recovery工作原理之使用update.zip升级过程分析(五)---update.zip包怎样从上层进入Recovery服务

文章开头我们就提到update.zip包来源有两种,一个是OTA在线下载(一般下载到/CACHE分区),一个是手动拷贝到SD卡中。不论是哪种方式获得update.zip包,在进入Recovery模式前,都未对这个zip包做处理。只是在重启之前将zip包的路径告诉了Recovery服务(通过将--update_package=CACHE:some_filename.zip或--update_pack

2012-05-25 14:42:11 610

转载 Android系统Recovery工作原理之使用update.zip升级过程分析(四)---Android系统Recovery模式的工作原理

使用update.zip包升级时怎样从主系统(main system)重启进入Recovery模式,进入Recovery模式后怎样判断做何种操作,以及怎样获得主系统发送给Recovery服务的命令,这一系列问题的解决是通过整个软件平台的不同部分之间的密切通信配合来完成的。为此,我们必须要了解Recovery模式的工作原理,这样才能知道我们的update.zip包是怎样一步步进入Recovery中升

2012-05-25 14:41:04 429

转载 Android系统Recovery工作原理之使用update.zip升级过程分析(三)---Android系统的三种启动模式

以下的篇幅开始分析我们在上两个篇幅中生成的update.zip包在具体更新中所经过的过程,并根据源码分析每一部分的工作原理。一、       系统更新update.zip包的两种方式    1.  通过上一个文档,我们知道了怎样制作一个update.zip升级包用于升级系统。Android在升级系统时获得update.zip包的方式有两种。一种是离线升级,即手动拷贝升级包到SD卡(或NAN

2012-05-25 14:40:05 550

转载 Android系统Recovery工作原理之使用update.zip升级过程分析(二)---update.zip差分包问题的解决

在上一篇末尾提到的生成差分包时出现的问题,现已解决,由于最近比较忙,相隔的时间也比较长,所以单列一个篇幅提示大家。这个问题居然是源码中的问题,可能你已经制作成功了,不过我的这个问题确实是源码中的一个问题,不知道是不是一个bug,下文会具体分析!一、生成OTA增量包失败的解决方案           在上一篇中末尾使用ota_from_target_files脚本制作update.zip

2012-05-25 14:37:05 510

转载 Android系统Recovery工作原理之使用update.zip升级过程分析(一)---update.zip包的制作

这篇及以后的篇幅将通过分析update.zip包在具体Android系统升级的过程,来理解Android系统中Recovery模式服务的工作原理。我们先从update.zip包的制作开始,然后是Android系统的启动模式分析,Recovery工作原理,如何从我们上层开始选择system update到重启到Recovery服务,以及在Recovery服务中具体怎样处理update.zip包升级的

2012-05-25 14:35:49 1146

转载 Android Recovery模式

Recovery简介Android利用Recovery模式,进行恢复出厂设置,OTA升级,patch升级及firmware升级。升级一般通过运行升级包中的META-INF/com/google/android/update-script脚本来执行自定义升级,脚本中是一组recovery系统能识别的UI控制,文件系统操作命令,例如write_raw_image(写FLASH分区),copy_

2012-05-22 11:38:46 2026

转载 android 重启流程

我这边主要是讲下android reboot走的流程以及所设计的代码,我这边直接从framework层开始。framework会提供系统重启的接口:代码路径:frameworks/base/core/java/android/os/Power.java    public static void reboot(String reason) throws IOException

2012-05-18 16:24:11 1033

转载 Linux 原子操作

所谓原子操作,就是该操作绝不会在执行完毕前被任何其他任务或事件打断,也就说,它的最小的执行单位,不可能有比它更小的执行单位,因此这里的原子实际是使用了物理学里的物质微粒的概念。   原子操作需要硬件的支持,因此是架构相关的,其API和原子类型的定义都定义在内核源码树的include/asm/atomic.h文件中,它们都使用汇编语言实现,因为C语言并不能实现这样的操作。  原子操作主要

2012-05-17 15:59:02 577

转载 Linux输入子系统分析 -- 输入子系统初始化

Linux输入子系统分析 (1) -- 输入子系统初始化[linux-3.0 http://lxr.linux.no/#linux+v3.0]输入子系统:2173subsys_initcall(input_init);其源代码如下:2133static const struct file_operations input_fops = {2134 .owner

2012-05-15 18:24:35 694

转载 USB multi gadget 支持问题

USB multi gadget 支持问题昨天,试了USB的gadget各项功能。当尝试USB multi gadget的时候,在加载驱动的时候出现了下面错误。-----------------------------------------------------------------------# insmod g_multi.ko file=test.imgg_

2012-05-15 18:20:34 1773

转载 Linux USB subsystem -- initialize

Linux USB subsystem -- initialize[Linux 3.2] [driver/usb/core/usb.c]USB作为Linux系统的一个子系统,其初始化函数被subsys_initcall修饰。其初始化代码如下:[cpp] view plaincopy/*  * Init  */  static int

2012-05-15 18:18:07 593

转载 Linux USB subsystem --- USB Debug File System Initialize

Linux USB subsystem --- USB Debug File System Initialize[Linux 3.2] [driver/usb/core/usb.c]首先来分析USB子系统初始化的第一个函数usb_debugfs_init()[cpp] view plaincopystatic int usb_debugfs_

2012-05-15 18:17:17 494

转载 Linux USB subsystem --- USB File System initialize

Linux USB subsystem --- USB File System initialize[Linux 3.2] [driver/usb/core/inode.c]函数:usbfs_init()USB文件系统的初始化取决于是否CONFIG_USB_DEVICEFS. (make menuconfig ---> Device Drivers ---> USB sup

2012-05-15 18:16:19 1089

转载 Linux USB subsystem --- USB bus registration

Linux USB subsystem --- USB bus registration[Linux 3.2] [driver/usb/core/driver.c] 定义:usb_bus_type[cpp] view plaincopystruct bus_type usb_bus_type = {      .name =     "usb",

2012-05-15 18:15:04 437

转载 Linux USB subsystem --- USBFS driver registration

Linux USB subsystem --- USBFS driver registration[Linux 3.2] [driver/usb/core/devio.c] 定义:usbfs_driver[cpp] view plaincopystruct usb_driver usbfs_driver = {      .name =     "usb

2012-05-15 18:13:35 687

转载 Linux USB subsystem --- USB Hub initialize

Linux USB subsystem --- USB Hub initialize[Linux 3.2] [driver/usb/core/hub.c] 函数:usb_hub_init [cpp] view plaincopyint usb_hub_init(void)  {      if (usb_register(&hub_driver)

2012-05-15 18:12:30 485

转载 Linux USB subsystem --- register generic usb driver

Linux USB subsystem --- register generic usb driver[Linux 3.2] [driver/usb/core/driver.c]函数:usb_register_device_driver[cpp] view plaincopy/**  * usb_register_device_driver

2012-05-15 18:11:40 527

转载 Linux USB subsystem --- EHCI host controller register

Linux USB subsystem --- EHCI host controller register[Linux 3.2] [driver/usb/host/ehci-hcd.c]函数:ehci_hcd_init()[cpp] view plaincopystatic int __init ehci_hcd_init(void)  {

2012-05-15 18:10:23 1079

转载 Linux USB subsystem --- USB create HCD

Linux USB subsystem --- USB create HCD[Linux-3.2][drivers/usb/core/hcd.c]函数:usb_create_hcd(const struct hc_driver *driver, struct device *dev, const char *bus_name)其中hc_driver是ehci_atmel_h

2012-05-15 18:09:23 888

转载 linux usb初始化

一.前言对于usb的普通驱动,我们了解了不少,但是对于usb的真正核心还是不是太理解。该文中对于usb的初始化进行一定的学习,如有不对之处,请各位多多指教。 二.usb子系统初始化。话说在linux启动之初,就会将usb子系统初始化完成,亦如input子系统和V4L2一样。usb_init就完成了初始化以及启动usb hub守护进程。那来看usb_init中的各个函数的实现。2

2012-05-15 18:01:06 900

转载 linux usb 鼠标(2)

4.2.1 usb_endpoint_is_int_in判断端点是否为中断in类型static inline int usb_endpoint_is_int_in(const struct usb_endpoint_descriptor *epd){ return (usb_endpoint_xfer_int(epd) && usb_endpoint_dir_in(epd));

2012-05-15 17:59:20 763

转载 linux usb鼠标(1)

一.前言众所周知,usb子系统是个庞然大物,这个里面涉及的东西很多,网上也有很好的资料,如复旦ABC的,堪称经典。不过这儿仅以此文来记录学习的历程,不能和那些大牛比啊,各位不要见笑。二.usb设备描述符usb子系统很大,从哪儿下手呢。以前学习过usb hub的注册,现在主要看一个设备插入hub后的种种特征。在这个之前需要理解部分usb协议,关于usb的电气等等都不管,只关注usb驱

2012-05-15 17:58:18 678

转载 浅析usbhid驱动如何源源不断的获取usb鼠标数据

浅析usbhid驱动如何源源不断的获取usb鼠标数据hid_probe==>usb_hid_configure    pipe = usb_rcvintpipe(dev, endpoint->bEndpointAddress);    usb_fill_int_urb(usbhid->urbin, dev, pipe, usbhid->inbuf, insize, // 首先申

2012-05-15 15:37:57 3613

原创 ALSA调试总结

刚刚解决了一个播放不出声音的问题,这里总结一下,在TI平台上调试ALSA的一些方法和步骤。平台ALSA信息ls /dev/snd/controlC0controlC1pcmC0D0cpcmC0D0ppcmC0D10ppcmC0D11cpcmC0D12ppcmC0D13ppcmC0D14cpcmC0D14ppcmC0D15cpcmC0D15p

2012-05-02 15:45:26 4739 1

IntelCoreSeries21

IntelCoreSeries21 在win7上显示温度频率等小挂件工具。

2013-01-20

image2lcdv2.8

将一张图片转换为.h等文件 图片支持bmp等常见格式 可支持32位色

2012-06-07

system.img 解压工具unyaffs

unyaffs windowsxp system.img 解压

2011-12-02

TFT液晶显示彩色图片转换工具bmp

本人已经将bmp格式的图片转化并且显示成功!

2010-10-06

DAC0832用c输出三角波仿真示例

解压后 装好软件的朋友直接可以打开看仿真结果,里有程序

2010-05-01

声光控制器的设计与制作

声光控制器的设计和制作 下载来的~~(非原创)

2010-02-02

温度传感器DS18B20中文

DS18B20温度传感器!中文资料!有好东西大家一起分享!

2009-11-03

74LS573锁存器

74LS573锁存器芯片英文的! 单片机的爱好啊!大家有要什么资料可以留言!本人根据需要及时上传!

2009-11-03

ATmega16中文

ATmega16单片机中文资料 大家还有什么需要的可以留言 本人有就会提供!

2009-11-03

时钟芯片DS12C887中文

时钟芯片DS12C887中文的 大家还需要什么评论中可以留言!

2009-11-03

s3c2440中文手册

翻译了有15章节!有arm和thumb指令!

2009-10-12

空空如也

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

TA关注的人

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