摘要:
1. 文档结构介绍 首先会在第2章对内核模块做一个宏观上的介绍, 并给出一个demo, 让我们可以快速上手体验一下如何编译使用内核模块. 接下来会在第3章对内核模块的细节做更多详细的分析, 以便我们能深入理解内核模块, 并编写出专业的内核模块. 这一章需要反复阅读理解. 可能过段时间或者遇到具体项目 阅读全文
posted @ 2020-12-13 17:47
johnliuxin
阅读(585)
评论(0)
推荐(0)
摘要:
1 中断处理流程 2 RefLink link comment 综述 从硬件的角度, 描述了中断控制器的架构, 以及多个中断控制器级联的情况 IRQ Domain介绍 描述了如何建立一个map, 以便把HW interrupt ID转换为IRQ Number, 这个过程与dts中的interrupt 阅读全文
posted @ 2020-12-13 17:45
johnliuxin
阅读(175)
评论(0)
推荐(0)
摘要:
1 V4L2架构简述 V4L2是Linux社区定义的Linux内核的多媒体框架, 本质上来说它就是一个字符设备, 然后社区定义了一系列标准的ioctl来与内核交互. 1.1 框图 首先注意框图的实线部分, 对应的是只需要驱动片上外设的情景, 例如mtk的vdec, 或者atmel的lcd overl 阅读全文
posted @ 2020-12-13 17:38
johnliuxin
阅读(2978)
评论(3)
推荐(0)
摘要:
1. 概念介绍:终端 在Linux系统中, 与终端相关的概念很容易让人迷糊. 首先有终端这个概念, 然后还有各种类型的终端(串口终端, 伪终端, 控制台终端, 控制终端), 还有一个概念叫console. 那么什么是终端? 什么是控制台终端? 什么是console? 为了理清这些疑问, 我们来依次介 阅读全文
posted @ 2020-12-13 17:37
johnliuxin
阅读(2319)
评论(0)
推荐(0)
摘要:
1. 架构介绍 Clock统是Linux内核中专门管理时钟的子系统. 时钟在嵌入式系统中很重要, 它就像人的脉搏一样, 驱动器件工作. 任何一个CPU, 都需要给它提供一个外部晶振, 这个晶振就是用来提供时钟的; 任何一个CPU内部的片上外设, 也需要工作时钟: 例如GPIO控制器, 首先得给它提供 阅读全文
posted @ 2020-12-13 17:36
johnliuxin
阅读(2050)
评论(0)
推荐(0)
摘要:
1 ALSA 1.1 架构简述 ALSA是Advanced Linux Sound Architecture 的缩写, 官网 : http://www.alsa-project.org. 在内核设备驱动层, ALSA提供了alsa-driver. 同时在应用层, ALSA为我们提供了alsa-lib 阅读全文
posted @ 2020-12-13 17:34
johnliuxin
阅读(902)
评论(0)
推荐(0)
摘要:
1. 文档结构介绍 首先简介uboot, 给出uboot的官网. 然后介绍uboot的编译系统, 让你能了解到SPL和u-boot.bin是如何编译出来的, 哪些C代码会被编译进SPL和u-boot.bin. 接着会介绍uboot的启动流程, 从第一行汇编代码开始, 梳理一遍代码的运行流程. 最后一 阅读全文
posted @ 2020-12-13 17:29
johnliuxin
阅读(5569)
评论(21)
推荐(2)
摘要:
1 概述 Android的input系统获取用户输入, 分发给特定的接收者(Framework或应用程序)进行处理, 这个流程涉及到以下一些模块: InputReader.cpp : 负责从硬件获取输入, 转换成事件(Event), 并分发给Input Dispatcher. InputDi 阅读全文
posted @ 2020-12-13 17:26
johnliuxin
阅读(434)
评论(0)
推荐(0)
摘要:
1. 进程间通信的本质(2个进程) 用户空间的进程如果想相互通信, 必须经过内核, 因为不同进程的用户地址空间是独立的, 但是共享同一个内核空间. 内核为了支持进程间通信, 一般会有一个驱动, 以字符设备的形式存在(也可以是其它形式, 这个驱动的本质就是在不同的进程间传递数据). 两个进程间通信一般 阅读全文
posted @ 2020-12-13 17:23
johnliuxin
阅读(1285)
评论(0)
推荐(1)

浙公网安备 33010602011771号