笔记参考了宋宝华老师的《Linux设备驱动开发详解:基于最新的Linux 4.0内核》以及韦东山老师的嵌入式驱动教程 笔记开发环境: 单板:第一章到第八章使用TINY4412-1611;第九章及之 ...
笔记参考了宋宝华老师的《Linux设备驱动开发详解:基于最新的Linux 4.0内核》以及韦东山老师的嵌入式驱动教程 笔记开发环境: 单板:第一章到第八章使用TINY4412-1611;第九章及之 ...
在读者学习本章以及后续章节之前,最好拥有中断裸机基础,可以参考:中断编程。 一、内核中断分析 通过裸机系列的学习,我们可以知道异常的触发分为下面几个过程: 1. 在规定地址设置异常向 ...
在读者学习本章之前,最好拥有部分裸机程序基础(如点亮LED、arm-linux-gcc、中断等),初学者可以查看:ARM裸机加强版 本章使用的平台为TINY4412,移植等过程课查看之前的 ...
一、MMC简介 eMMC使用BGA封装了Nand Flash和Flash控制器,向外提供MMC标准接口,其结构图如下图所示(图来自《eMMC5.1官方标准协议》)。eMMC的出现使得手机厂商就能专注 ...
和手机一样,开发板中也带有调整背光亮度的功能。 调整背光亮度依赖于PWM,它通过调节脉冲宽度来控制背光亮度,此方式需要使用PWM驱动。本章将对其进行讲解。 一、用户空间调整背光亮 ...
一、并发与竞态 并发是指一段时间内有多个程序执行,但任一个时刻点上只有一个程序在运行 并发就会导致一个问题:假设程序A对一个文件写入3000个字符“a”,而另一个程序B对这个文件写入3000 ...
一、V4L2框架主要结构体分析 V4L2(video for linux version 2),是内核中视频设备的驱动框架,为上层访问视频设备提供统一接口。 V4L2整体框架如下图: ...
在读者学习本章以及后续章节之前,最好拥有ADC和触摸屏裸机基础,可以参考:ADC和触摸屏编程。 和按键驱动类似,触摸屏也是通过电平来体现按下或松开。因此如果想要写出通用的触摸屏驱动,需要 ...
由于之后的触摸屏驱动分析中使用到了GPIO子系统和i2c子系统,因此在分析触摸屏驱动之前我准备把这两个子系统进行简单分析。 在读者学习本章以及后续i2c相关章节之前,最好了解i2c通信方 ...
一、DMA简介 DMA(Direct Memory Access,直接内存存取),DMA传输将数据从一个地址空间复制到另外一个地址空间。传输过程由DMA控制器独立完成,它并没有拖延CPU的工作,可以 ...