摘要: 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)
摘要: 1. Android 4大组件简介 Android系统中有4大组件: Activity、Service、Broadcast、ContentProvider. 一个Android应用程序(Apk)中可以包含一个或多个组件. 从开发者的角度来说, 当我们想做一个Apk时, 一般会弄一个文件夹, 在文件夹 阅读全文
posted @ 2020-12-06 18:00 johnliuxin 阅读(482) 评论(0) 推荐(0)