2013年11月27日
摘要: android系统一段时间没有操作, 屏幕(screen)将从高亮(bright)变为暗淡(dim),如果再过段时间还是没有操作,屏幕(screen)从暗淡(dim)变为关闭(off).这时,系统将进入休眠. 而对于某些需要保持系统唤醒甚至屏幕唤醒的应用(比如视频播放器和音乐播放器)来说,就必须要有一个机制,使得系统不进入休眠状态,设置保持屏幕亮屏状态. wakelock即用来实现以上目的 先上网... 阅读全文
posted @ 2013-11-27 13:33 joseph_伽拉 阅读(9712) 评论(0) 推荐(0) 编辑
  2013年10月24日
摘要: android休眠唤醒流程:power按键事件上报给android系统,最终由windownmanager接收到,当有按键事件时判断是否需要休眠后唤醒系统,然后调用powermanager系统服务去写/sys/power/state节点. 此节点的写函数里判断收到的内容,来执行android的休眠e... 阅读全文
posted @ 2013-10-24 15:25 joseph_伽拉 阅读(24863) 评论(0) 推荐(0) 编辑
  2013年10月6日
摘要: 阅读全文
posted @ 2013-10-06 14:50 joseph_伽拉 阅读(948) 评论(0) 推荐(1) 编辑
  2013年9月13日
摘要: 程序员的自我修养: 全名(程序员的自我修养:链接、装载与库) 知其然,更知其所以然——潘爱民 这本书主要介绍系统软件的运行机制和原理,涉及在Windows和Linux两个系统平台上,一个应用程序在编译、链接和运行时刻所发生的各种事项,包括:代码指令是如何保存的,库文件如何与应用程序代码静态链接,应用程序如何被装载到内存中并开始运行,动态链接如何实现,C/C++运行库的工作原理,以及操作系统提供的... 阅读全文
posted @ 2013-09-13 10:04 joseph_伽拉 阅读(578) 评论(1) 推荐(0) 编辑
  2013年9月12日
摘要: 一、概论 ld: GNU的链接器. 用来把一定量的目标文件跟档案文件链接在一起,并重新定位它们的数据,链接符号引用. 一般编译一个程序时,最后一步就是运行ld进行链接 每一个链接都被一个链接脚本所控制,这个脚本是用链接命令语言书写的. 二、链接脚本 链接脚本的一个主要目的是描述输入文件中的各个段(数据段,代码段,堆,栈,bss)如何被映射到输出文件中,并控制输出文件的内存排布. 链接器总是使用... 阅读全文
posted @ 2013-09-12 17:27 joseph_伽拉 阅读(6987) 评论(2) 推荐(1) 编辑
摘要: 在linux中,进程在内存中一般会分为5个段,用来存放从磁盘载入的程序代码,等. 这五个段分别是: BSS段: 通常用来存放程序中未初始化的全局变量的一块内存区域.属于静态内存分配. 问题:全局变量不都是默认被初始化为0吗? (data)数据段: 通常是指用来存放程序中已初始化的全局变量的一块内存区域.数据段属于静态内存分配. (text)代码段: 通常指用来存放程序执行代码的一块内存区... 阅读全文
posted @ 2013-09-12 15:12 joseph_伽拉 阅读(1406) 评论(1) 推荐(0) 编辑
  2013年9月11日
摘要: 一直以来对于所学的东西都是会而不精,今天从makefile开始,深入的学习一下一些基础的内容.参考:gunmake.htmMakefilemake 可以自动判断一个大程序中哪些文件需要编译,并编译它们. 如何判断? make程序根据Makefile文件中的数据和每个文件更改的时间戳决定哪些文件需要更新. 使用make 必须要有对应的Makefile文件 它根据makefile文件来决定干什么 makefile的规则: 目标 target : 依赖1 prerequiries ....() 编译的命令1(cmd) .... 以tab开... 阅读全文
posted @ 2013-09-11 15:56 joseph_伽拉 阅读(773) 评论(0) 推荐(0) 编辑
  2012年8月20日
摘要: 平台信息: 内核:linux2.6/linux3.0 系统:android/android4.0 平台:S5PV310(samsung exynos 4210)以goodix的gt8105为例一、总体架构硬件部分:先看一个总体的图吧,其实触摸屏原理也比较简单,触摸屏和主控芯片间的联系,如下主要有三部分:1、IIC部分,初始化gt8105的数据和传回主控制的坐标位置信息就是通过IIC这条线传输的;2、INT,当gt8105初触摸时,会发出中断通知主控接收信息(坐标数据);3、gt8105电源、复位这一部分,不同芯片有所不同,可以根据触摸屏芯片来配置。二、电容触摸屏的主要参数(这部分面试的时候也许 阅读全文
posted @ 2012-08-20 14:36 joseph_伽拉 阅读(2772) 评论(1) 推荐(0) 编辑
  2012年8月17日
摘要: 工作队列的作用:用来代替任务队列. 他们允许内核函数(像可延迟的函数)激活,而且稍后由一种叫做工作者线程的特殊内核线程来执行.和可延迟函数的不同: 可延迟函数运行在中断上下文中,不一定在创建它的进程当中运行. 工作队列中的函数运行在进程上下文中.(但是由内核线程来执行) 执行可阻塞函数的唯一方式是在进程上下文中运行.相同点: 可延迟函数运行时不可能有任何正在运行的进程,而工作队列又是由内核线程来执行的,所以他们都不能访问用户态地址空间.工作队列的使用.1. 创建2. 提交队列3. 删除创建: 创建分为工作队列的创建和工作函数(任务)的创建. (1) 工作队列的创建需要有其... 阅读全文
posted @ 2012-08-17 10:20 joseph_伽拉 阅读(4774) 评论(0) 推荐(0) 编辑