- 博客(16)
- 收藏
- 关注
原创 LDD: Ch 4 调试技术
LDD ch 4 1. 内核调试的困难:内核不和特定的进程关联,所以无法很容易的用调试器来调试,而且很难跟踪。增加了debugfs内容。
2015-12-17 20:12:50
866
原创 LDD:Ch 1 设备驱动程序简介
机制和策略(mechanism/policy)机制是指要提供什么样的功能。 策略是指如何使用这些功能。内核功能划分为以下的几个部分:进程管理,内核进程管理就是在单个/多个cpu上实现了多个进程的抽象。内存管理文件系统设备控制,也就是设备如何驱动的。网络功能。注意,所有的陆游和地址解析也是由内核来完成的。Linux模块linux有个很好的特性,内核提供的特性可以在运行时候扩展,也就是在内
2015-07-30 20:07:37
763
原创 LDD:Ch 2 构造和运行模块
LDD ch2 小结。Sample Code可以在https://github.com/ykdsea/linux-ldd-samples.git 下载。
2015-07-30 19:57:02
836
原创 Linux real-time signal (实时信号)
linux中的Signal分为两种,一种是standard signal,标准信号的定义在signal.h中我们都可以看到,而另外一种信号叫做real-time signal(实时信号)。实时信号实时信号是由Posix标准引入的,信号的取值区间是SIGRTMIN~SIGRTMAX (signal real-time min)。如在arm linux中,SIGRTMIN在sign
2015-07-20 16:08:27
7872
原创 Linux magic sysrq key
sysrq key是什么sysrq key是一组kernel在任何时候都可以响应的组合热键。在嵌入式设备上我们一般没法使用组合按键,而是通过访问proc文件来发送command给kernel。配置sysrq的enable需要配置Magic SysRq key (CONFIG_MAGIC_SYSRQ)。/proc/sysrq-trigger操作该目录来触发对应的功
2015-07-17 20:25:42
1918
原创 android fence sync
android fence sync是android中引入的一个同步的机制,主要用在display的graphic buffer的同步管理上,可以让对buffer的操作可以并行执行以减少时间。在BufferQueue中每个buffer都有一个对应的fence fd,他对应了一个fence object,它表明有角色在操作这块buffer,当fence object变为siganled状态的时候
2014-10-11 15:32:21
6881
原创 android graphic classes
android graphic相关的class很多,如果不搞清楚每个class的作用,在使用的时候经常搞不清楚怎么用,到底用哪个class,这里写一下常见的类的说明。BufferQueuenative class。BufferQueue是最重要的一个class,它维护了一个graphic buffer的list,并连接了producer和consumer两端。BufferQueue
2014-10-09 17:08:58
1259
原创 android Binder详解(3)
三,binder场景分析写完SampleService,我们已经有一些基本概念了,下面我们通过一些场景的分析来理解一下整个binder的实现架构。在这部分首先了解下/dev/binder的驱动,分析ServiceManager的实现,然后我们分几个具体的场景来分析:
2014-09-28 14:13:16
2710
原创 android Binder详解 (2)
2.3 SampleService启动(main函数实现)service的启动实际就是需要编写一个可执行程序来运行service。还是以surfaceflinger为例,surfaceflinger的main函数在frameworks/native/service/surfacefllinger/main_surfaceflinger.cpp:
2014-09-14 18:08:35
2168
1
原创 android Binder详解 (1)
做android的同学们都应该知道有个叫做binder的东西,它是android的ipc机制,是一个核心的组成部分。一直以来,我对于binder只有一个概念,对细节不清楚,特别是核心的binder device。最近有空,完整的学习下android binder,这篇文章,基本上是整个学习过程的一个记录,如有错误的问题,请大家指正。
2014-09-14 17:16:08
2040
原创 android dalvik heap 管理
最近遇到了一个dalvik memory相关的问题,对dalvik的heap管理部分做了一些了解,在此总结一下,主要是下面3个方面的内容:1,java heap的实现,和native heap的差异。2,gc的实现。3,配置heap的相关prop的含义。davlik java heapjava的heap一般是和Native heap独立开来,因为java对象的回收,
2014-08-12 19:06:41
1773
原创 dlmalloc 简析
本文基于android kitkat所用的dlmalloc版本进行分析。malloc/free work flowmalloc/free是libc库提供的函数,主要是用户层的操作,而不是内核的系统调用。一般的heap管理是通过sbrk或者mmap函数来向系统获取大量的内存(只是虚拟的内存地址),然后由特定的heap管理算法来管理用户程序申请/释放内存(比如dlmalloc)。有
2014-08-12 18:53:01
3477
原创 android ART 简介
android L中正式将ART设为默认的runtime了,有必要对art做一下简单的了解。主要参考android网站上的介绍:http://source.android.com/devices/tech/dalvik/art.htmlhttp://developer.android.com/guide/practices/verifying-apps-art.htmlAOT
2014-08-12 18:46:35
785
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人