- 博客(40)
- 资源 (2)
- 收藏
- 关注

原创 修改linux内核开机logo并居中全屏显示
修改linux内核开机logo并居中全屏显示1.准备图片 使用ubuntu自带的绘图软件GIMP是最为快捷的方式,使用命令进行转换也可以,实际测试中用命令转换图片老提示错误,所以就用GIMP的方式处理了。具体流程如下: (1)打开GIMP软件并加载图片资源(file->open),自己的原图片格式应该不限制,我的是bmp格式的。 (2)点击Image->mode->I
2013-01-07 16:03:05
5636
3

原创 在Android系统中修改Android.mk使其同时编译rgb2565和rgb2888(向out/host/linux-x86/bin/下新增加一个工具命令)
在Android系统中修改Android.mk使其同时编译rgb2565和rgb2888(向out/host/linux-x86/bin/下新增加一个工具命令) 修改对应的Android.mk文件使其在源码编译时能够同时编译出rgb2565和rgb2888,rgb2888的源码文件已有,其实实现很简单,这里只是将我在具体测试中不同模块标签的模块在不
2012-04-26 15:43:49
7338
1

原创 Android系统Recovery工作原理之使用update.zip升级过程分析(九)---updater-script脚本语法简介以及执行流程
Android系统Recovery工作原理之使用update.zip升级过程分析(九)---updater-script脚本语法简介以及执行流程 目前update-script脚本格式是edify,其与amend有何区别,暂不讨论,我们只分析其中主要的语法,以及脚本的流程控制。一、update-script脚本语法简介: 我们顺着
2012-04-16 14:24:30
21508
32

原创 Android系统Recovery工作原理之使用update.zip升级过程分析(八)---解析并执行升级脚本updater-script
Android系统Recovery工作原理之使用update.zip升级过程分析(八)---升级程序update_binary的执行过程一、update_binary的执行过程分析 上一篇幅中的子进程所执行的程序binary实际上就是update.zip包中的update-binary。我们在上文中也说过,Recovery服务在做这一部分工作的时候是先将包中update
2012-04-16 14:11:49
15089
2

原创 Android系统Recovery工作原理之使用update.zip升级过程分析(七)---Recovery服务的核心install_package函数
Android系统Recovery工作原理之使用update.zip升级过程分析(七)---Recovery服务的核心install_package函数一、 Recovery服务的核心install_package(升级update.zip特有) 和Recovery服务中的wipe_data、wipe_cache不同,install
2012-04-16 13:55:41
15532
1

原创 Android系统Recovery工作原理之使用update.zip升级过程分析(六)---Recovery服务流程细节
Android系统Recovery工作原理之使用update.zip升级过程分析(六)---Recovery服务流程细节 Recovery服务毫无疑问是Recovery启动模式中最核心的部分。它完成Recovery模式所有的工作。Recovery程序对应的源码文件位于:/gingerbread0919/bootable/recovery/recovery.c。
2012-04-16 13:44:02
18891
9

原创 Android系统Recovery工作原理之使用update.zip升级过程分析(五)---update.zip包怎样从上层进入Recovery服务
Android系统Recovery工作原理之使用update.zip升级过程分析(五)---update.zip包从上层进入Recovery服务 文章开头我们就提到update.zip包来源有两种,一个是OTA在线下载(一般下载到/CACHE分区),一个是手动拷贝到SD卡中。不论是哪种方式获得update.zip包,在进入Recovery模式前,都未对这
2012-04-16 13:06:00
17501
10

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

原创 Android系统Recovery工作原理之使用update.zip升级过程分析(三)---Android系统的三种启动模式
Android系统Recovery工作原理之使用update.zip升级过程分析(三)---Android系统的三种启动模式 以下的篇幅开始分析我们在上两个篇幅中生成的update.zip包在具体更新中所经过的过程,并根据源码分析每一部分的工作原理。一、 系统更新update.zip包的两种方式 1. 通过上一个文档,我们知道了怎样
2012-04-16 10:51:40
18417
2

原创 Android系统Recovery工作原理之使用update.zip升级过程分析(二)---update.zip差分包问题的解决
Android系统Recovery工作原理之使用update.zip升级过程分析(二)---update.zip差分包问题的解决 在上一篇末尾提到的生成差分包时出现的问题,现已解决,由于最近比较忙,相隔的时间也比较长,所以单列一个篇幅提示大家。这个问题居然是源码中的问题,可能你已经制作成功了,不过我的这个问题确实是源码中的一个问题,不知道是不是一个bug,下文会具体分析!一、生
2012-04-16 10:13:26
18295
5

原创 Android系统Recovery工作原理之使用update.zip升级过程分析(一)---update.zip包的制作
Android系统Recovery工作原理之使用update.zip升级过程分析(一)---update.zip包的制作 这篇及以后的篇幅将通过分析update.zip包在具体Android系统升级的过程,来理解Android系统中Recovery模式服务的工作原理。我们先从update.zip包的制作开始,然后是Android系统的启动模式分析,Recovery工作原
2012-03-27 17:27:54
74161
33

转载 Linux进程的状态转换图
◆运行状态(TASK_RUNNING)当进程正在被CPU执行,或已经准备就绪随时可由调度程序执行,则称该进程为处于运行状态(running)。进程可以在内核态运行,也可以在用户态运行。当系统资源已经可用时,进程就被唤醒而进入准备运行状态,该状态称为就绪态。这些状态(图中中间一列)在内核中表示方法相同,都被成为处于TASK_RUNNING状态。◆可中断睡眠状态(TASK_INTERRUPTI
2012-03-13 14:11:53
9702
2

原创 C语言中的32个关键字
auto :声明自动变量 一般不使用 double :声明双精度变量或函数 int: 声明整型变量或函数 struct:声明结构体变量或函数 break:跳出当前循环 else :条件语句否定分支(与 if 连用) long :声明长整型变量或函数 switch :用于开关语句 case:开关语句分支 enum :声明枚举类型 regis
2012-03-12 15:33:36
1574
1

转载 嵌入式Linux驱动工程师笔试题(转载)
一、来自Q群友】 1. linux内核里面,内存申请有哪几个函数,各自的区别? 2. IRQ和FIQ有什么区别,在CPU里面是是怎么做的? 3. int *a;char *b;a 和 b本身是什么类型?a、b里面本身存放的只是一个地址,难道是这两个地址有不同么? 4. 中断的上半部分
2012-03-12 14:12:33
3273
1

转载 嵌入式C语言面试题汇总
此篇为转载,原文地址:http://blog.youkuaiyun.com/jecan123/article/details/6888789C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相当有趣的。 从被面试者的角度来讲,你能了解许多关于
2012-03-12 13:59:16
1912
1

转载 C语言中运算符优先级
转载过来的,收藏备用!优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右 ()圆括号(表达式)/函数名(形参表) .
2012-03-02 15:18:14
1049
1

原创 在Ubuntu11.10中一步步安装Ubuntu Tv详解
Ubuntu Tv的安装目录第1章 目标平台.... 2第2章 安装Ubuntu Tv.. 22.1 下载Ubuntu Tv源码... 22.2 编译Ubuntu Tv源码... 22.3 下载编译安装unity视频系统... 22.4 下载安装gstreamer视频编解码组件... 3第3章
2012-02-29 18:03:27
4893
1

原创 获得Android系统所有已安装的应用并联网自动检测升级更新
一、 说明:本示例是在上一个示例(Android应用自身升级)的基础上完成的。环境配置也同上一个demo一样。只是增加了一些功能用来检测Android系统中所有需要升级的应用程序,并从服务器上下载更新。二、 功能需求说明: a) 检测出Android系统中所有已安装的应用(区别与Android系统自带的应用),并获得每个应用的信息。 b)
2012-02-06 11:05:05
5853
5

原创 Android应用程序的自动更新升级(自身升级、通过tomcat)
刚入手android一个多月,因公司需要提交技术文档,才写了这个demo测试,想保存下来,以备后用!有什么不对的地方欢迎大家指正,这个示例也是参考了网上别人的demo自己做的。 Android应用程序的升级(自身升级)
2012-01-16 13:13:28
30848
13

转载 JNI接口函数<三>
字符串操作 NewStringjstring NewString(JNIEnv *env, const jchar *unicodeChars,jsize len);利用 Unicode 字符数组构造新的 java.lang.String 对象。参数:env:JNI 接口指针。unicodeChars:指向 Unicode 字符串的指
2012-01-06 17:29:57
3124
1

转载 JNI接口函数<二>
对象操作 AllocObjectjobject AllocObject(JNIEnv *env, jclass clazz);分配新 Java 对象而不调用该对象的任何构造函数。返回该对象的引用。clazz 参数务必不要引用数组类。参数:env:JNI 接口指针。clazz:Java 类对象。返回值:返回 Java
2012-01-06 17:20:14
1899
1

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

转载 Linux中编译动态库
类似Windows系统中的动态链接库,Linux中也有相应的共享库用以支持代码的复用。Windows中为*.dll,而Linux中为*.so,我来详细的告诉你如何在linux下编写动态库,以及如何使用它.在linux下编写动态链接库的步骤: 1. 编写库的头文件和源文件.2. 把所有涉及到的源文件用如下方式编译为目标文件: g++/gcc -g -c -
2012-01-06 16:56:09
1985
1

转载 Android 根文件系统启动过程
在Android系统启动时,内核引导参数上一般都会设置“init=/init”, 这样的话,如果内核成功挂载了这个文件系统之后,首先运行的就是这个根目录下的init程序。这个程序所了什么呢? 我们只有RFSC(Read the Fucking Source code)!!init程序源码在Android官方源码的system/core/init中,main在init.c里。我们的分析就从mai
2012-01-05 18:15:44
2036
1
原创 数据结构与算法分析之排序算法总结
十大常用排序算法总结1.冒泡排序2.选择排序3.插入排序4.希尔排序5.堆排序6.归并排序7.快速排序8.计数排序9.桶排序10.基数排序
2017-06-24 16:09:39
1371
原创 数据结构与算法分析之优先队列(堆)
1.优先队列,也叫二叉堆,简称堆。2.同二叉查找树一样,堆也有两个性质,即结构性和堆序性。3.堆的结构性质堆是一棵被完全填满的二叉树,有可能的例外在底层,底层上的元素从左到右填入。这样的树称为完全二叉树(complete binary tree)。4.一棵高度为h的完全二叉树有2^h到2^(h+1) - 1个节点5.由于完全二叉树的规律性,它可以
2017-05-15 15:26:39
1698
原创 数据结构与算法分析之散列概念总结
1.散列是一种用于以常数平均时间执行插入,删除和查找的技术。但是,那些需要元素间任何排序信息的操作将不会得到有效的支持。2.散列函数每个关键字被映射到从0到TableSize - 1范围内的某个数,并且被放到适当的单元中。这个映射就叫做散列函数。好的散列函数应该是关键字均匀的分配到表中。3.散列函数的选择a.如果关键字是整数,一般做法是返回key mod T
2017-04-22 17:54:12
1175
原创 数据结构与算法分析之伸展树(splaytree)
1.伸展树,它保证从空树开始任意连续M次对树的操作最多花费O(MlogN)的时间。2.伸展树的基本思想是,当一个节点a被访问后,通过一系列的AVL树的旋转将a移动到根节点上,这样下次访问时会被快速击中只需要O(1)的时间。通常一个节点被访问时,它就很可能不久再次被访问。3.构造伸展树的一个简单方法是从下向上进行单旋转,也就是将访问路径上的每个节点和他们的父节点都实施旋转
2017-04-15 18:05:18
6700
原创 数据结构与算法分析之AVL平衡树
AVL树定义: AVL(Adelson-Velskii和Landis)树是带有平衡条件的二叉查找树。平衡条件是:其每个节点的左子树和右子树的高度差最多等于1的二叉查找树。AVL ADT操作:Find操作:AVL树的查找操作跟非AVL二叉查找树的查找是一样的,查找最小值沿左子树寻找,查找最大值沿右子树查找Insert操作:AVL树的插入操作除了新建节点
2017-04-14 16:58:38
1127
原创 数据结构与算法分析之树的概念总结
1.二叉查找树的大部分操作运行时间平均为O(logN)2.树是N个节点和N-1条边的集合,其中一个节点叫做根。存在N -1条边的结论由下面的事实得出:每条边都将某个节点连接到它的父亲,除根节点以外每个节点都有一个父亲3.没有儿子的节点称为树叶4.路径定义:从节点n1到nk的路径定义为节点n1,n2,...nk的一个序列,使得对于1ni是n(i+1)的父亲
2017-04-12 19:29:15
1036
原创 尾递归总结
1.普通递归 也称线性递归,在递归过程中会为每一层的调用在栈中开辟空间用于存储返回点和变量。所以递归次数过多容易造成栈的溢出。 2.尾递归 顾名思义,在函数尾部调用自身,并且不需要为返回点开辟新的栈空间,但往往需要将当层的计算结果作为参数传递到下一层的调用中去。所以需要为参数开辟额外但恒量的空间。不需要传递当层计算结果的尾递归调用习惯是极为不好的。 二者区别:...
2017-04-08 16:16:16
1077
原创 android中handler,message,message queue,looper底层实现机制
原帖记录:http://www.programering.com/a/MjM2QDMwATc.html
2016-09-27 22:28:53
1418
原创 多目录工程的makefile示例
本文来源于:http://www.360doc.com/content/12/0403/08/1317564_200410720.shtml转载请注明出处本文代码虽简单,但涉及比较复杂的各种调用关系,欲研究者需有耐心及清醒头脑。 切切!背景交待:1、正在移植U-Boot,并对其源代码进行了一些分析,感觉它的Makefile十分强劲;2、以前写的Makefile模板不
2015-07-25 11:12:01
4318
转载 ld编译选项以及lds链接文件格式
原文地址:http://blog.chinaunix.net/uid-526461-id-3169810.html1. 概论2. 基本概念3. 脚本格式4. 简单例子5. 简单脚本命令6. 对符号的赋值7. SECTIONS命令8. MEMORY命令9. PHDRS命令10. VERSION命令11. 脚本内的表达式12. 暗含的连接脚本1.
2014-12-27 14:23:30
4230
转载 linux中class_create和class_register分析
原文地址:http://www.cnblogs.com/skywang12345/archive/2013/05/15/driver_class.html
2014-11-17 22:12:32
2656
转载 蓝牙技术原理之术语简介
什么是蓝牙(BLUETOOTH) 蓝牙是一种技术规范,可在任何地方实现短距离的无线语音和数据通讯,是由爱立信公司发明,取自丹麦国王的名字,蓝牙,98年,爱立信联合IBM、东芝等四个公司,成立了SIG蓝牙特殊利益集团,负责蓝牙技术标准制定,测试,应用等。现在已有3000多家成员。什么是跳频技术 蓝牙是工作在开发的2.4G工业频段,将2.402---2.480G频段分成79个频点,每个
2014-05-12 14:45:48
2949
转载 函数可重入性
1.什么是可重入性重入一般可以理解为一个函数在同时多次调用,例如操作系统在进程调度过程中,或者单片机、处理器等的中断的时候会发生重入的现象。可重入的函数必须满足以下三个条件:(1)可以在执行的过程中可以被打断;(2)被打断之后,在该函数一次调用执行完之前,可以再次被调用(或进入,reentered)。(3)再次调用执行完之后,被打断的上次调用可以继续恢复执行,并正确执行。可
2014-04-17 10:52:19
2179
原创 C语言文件操作函数详解
C语言文件操作函数大全clearerr(清除文件流的错误旗标) 相关函数 feof表头文件 #include 定义函数 void clearerr(FILE * stream); 函数说明 clearerr()清除参数stream指定的文件流所使用的错误旗标。 返回值 fclose(关闭文件) 相关函数 close,fflush,fopen,setbuf
2014-02-08 10:44:06
2549
原创 linux下各种文件格式的压缩以及解压缩命令(长期更新)
-----------------------------------------华丽分割线--------------------------.tar.gz 解压:tar zxvf FileName.tar.gz 压缩:tar zcvf FileName.tar.gz dirNamesolaris下解压 *.tar.gz可能有些不同,按照以下两步实现解压:1、
2014-01-01 10:50:11
4716
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人