加载中
Linux驱动基础开发

目前,Linux软件工程师大致可分为两个层次:  (1)Linux应用软件工程师(Application Software Engineer): 主要利用C库函数和Linux API进行应用软件的编写; 从事这方面的开发工作,主要...

2018/12/30 21:51
21
Framebuffer 驱动学习总结(一) ---- 总体架构及关键结构体

一、Framebuffer 设备驱动总体架构 帧缓冲设备为标准的字符型设备,在Linux中主设备号29,定义在/include/linux/major.h中的FB_MAJOR,次设备号定义帧缓冲的个数,最大允许有32个FrameBuffer...

06/06 07:34
14
Linux的V4L2架构分析

V4L2全名为Video For Linux 2,它是针对Linux系统的视频设备处理架构。视频设备主要包括输入设备(摄像头)及输出设备(显示设备)。 一、 Linux的V4L2架构介绍 V4L2的初衷是想为linux系统建...

02/03 22:08
44
Android - 硬件抽象层(HAL)

出发点:保护厂商利益 Android的硬件抽象层,简单来说,就是对Linux内核驱动程序的封装,向上提供接口,屏蔽低层的实现细节。也就是说,把对硬件的支持分成了两层,一层放在用户空间(User ...

Android硬件抽象层(HAL)深入剖析(一)

作为一个搞android驱动或者说搞底层的人,我觉得对于hal那是必须要掌握的,而且必须达到一定深度,于是我总结了一下,将整个自己的分析思路写下来。 主要是看android源代码,根据源代码得到的...

2018/12/28 10:43
42
adb架构

adb是什么? adb就是Android调试桥,很形象啊。 先来看adb原理的逻辑图: ADB架构 adb由两个物理文件组成: adb/adb.exe 运行于PC端,包括Linux、Windows、Mac OS等系统之中,通常是x86架构上...

Android dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念

DVM指dalivk的虚拟机。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。 而每一个DVM都是在Linux 中的一个进程,所以说可以认为是同一个概念。 什么是and...

inux驱动的异步通知(kill_fasync,fasync)---- 驱动程序向应用程序发送信号

===========================应用程序========================= #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <stdio.h> #include <poll.h> #include <sign...

2018/12/11 14:58
34
Android Camera 调用流程总结

1.总体介绍 Android Camera框架从整体上看是一个client/service架构。有两个进程,一个是client进程,可以看成AP端 ,主要包括Java代码和一些native层的c/c++代码;另一个是service进程,属于...

Android HAL层与Linux Kernel层驱动开发简介

近日稍微对Android中的驱动开发做了一些简要的了解,稍稍理清了一下Android驱动开发的套路,总结一下笔记。 HAL:Hardware Abstract Layer 硬件抽象层,由于Linux Kernel需要遵循GPL开源协议,...

Video4Linux下USB摄像头驱动和视频采集的实现

1 引言 多媒体通信技术的发展为信息的获取和传输提供了丰富的手段,视频采集是其中不可缺少的重要组成部分。视频采集的手段多种多样,随着人们对降低系统成本和提高可靠性的迫切需求,基于嵌...

2018/12/25 11:17
200
追思心中璀璨的明星:杰出内核开发者李少华

我敬佩的兄弟李少华,最杰出的国人Linux内核开发者之一,在操蛋的2018年离开了我们。 2018年最后一天,今天在商场溜娃,忽然看到少华妻子的朋友圈提到李少华于12月28日离开了我们。我知道少华...

初始Android Framework(框架)方面的知识(一)

初始Android Framework(框架)方面的知识 介绍Android Framework(框架)是什么? Android Framework(框架)有什么? 首先介绍一下服务端都有哪些重要的东西: 下面介绍一下客户端比较重要...

06/21 14:29
72
编写驱动的makefile使要

一般在编译linux驱动时,我们需要在交叉编译环境中进行编译,所以要在编译环境中搭建交叉编译环境。编写驱动的makefile使需要制定驱动依赖的内核的路径,makefile写法如下: KERN_DIR = /xx...

2018/12/11 09:31
7
Linux系统调用的运行过程

在Linux中,系统调用是用户空间访问内核的唯一手段,它们是内核唯一的合法入口。 一般情况下,应用程序通过应用编程接口(API)而不是直接通过系统调用来编程,而且这种编程接口实际上并不需要...

03/18 08:16
7
Android中HAL层与内核驱动之间的关系

首先,Android的HAL是为了一些硬件提供商提出的“保护proprietary”的驱动程序而产生的东东,简而言之,就是为了避开linux kernel的GPL license的束缚。Android把控制硬件的动作都放到了use...

Linux内核中ioremap映射的透彻理解

几乎每一种外设都是通过读写设备上的寄存器来进行的,通常包括控制寄存器、状态寄存器和数据寄存器三大类,外设的寄存器通常被连续地编址。根据CPU体系结构的不同,CPU对IO端口的编址方式有两...

01/16 21:19
6
ANDROID驱动LINUX内核、HAL和JNI关系

实际上HAL对于linux内核来说就相当于应用程序,内核驱动提供访问硬件的接口,而HAL的主要目的就是把这些接口进行封装。让用户看不到是如何操作硬件接口的。达到保密的效果。而JNI也就是nativ...

安卓framework开发的初理解

概述 其实我们写的App并不是一个完整的程序。我们写的只是一个套件组,就是一堆Activity,Service等等的组件。这个套件组给Framework框架组合在一起才是一个完整的程序。在这里先说一个概念,...

01/11 23:22
24
对比理解adr,ldr指令

很多人在写简单的裸机代码或分析uboot时,常常遇到adr ldr指令。却分不清这2者的区别,今天就来谈谈adr与ldr指令。 参照韦老师的代码和Makefile写了test_adr.S: .text .globl _start _start...

2018/12/10 13:33
8

没有更多内容

加载失败,请刷新页面

返回顶部
顶部