摘要:
一、触摸屏种类 触摸屏的基本原理是,用手指或其他物体触摸安装在显示器前端的触控屏时,所触摸的位置(以坐标形式)由触摸屏控制器检测,并通过接口(如RS-232串行口)送到CPU,从而确定输入的信息。 触摸屏系统一般包括触摸屏控制器(卡)和触摸检测装置两个部分: 触控屏控制器(卡)的主要作用是从触摸点检 阅读全文
摘要:
由于我使用的Mini2440开发板采用的LCD为TFT屏,型号为LCD-T35(TD035STEB4)。这一节,我们将参考s3c2410fb.c编写LCD驱动程序。 一、LCD驱动编写基础函数 1.1 dma_alloc_wc 该函数定义在include/linux/dma-mapping.h: s 阅读全文
摘要:
一、LCD基础知识 1.1 LCD硬件原理 在Mini2440裸机开发之LCD基础我们介绍了LCD的硬件原理,有兴趣的可以去看看,这里我们仅仅简述一下LCD的原理。 下图是LCD示意图,里面的每个点就是一个像素点。它里面有一个电子枪,一边移动,一边发出各种颜色的光。用动态图表示如下: 电子枪是如何移 阅读全文
摘要:
内核版本:linux 5.2.8根文件系统:busybox 1.25.0u-boot:2016.05 在上一节我们介绍了总线设备驱动模型的由来,以及platform总线设备驱动模型,并介绍了如何编写platform设备驱动。 如果我们学过面向对象编程的话,我们可以将总线-设备-驱动看做基类,而pla 阅读全文
摘要:
一、概述 在看到platform总线时,不知道你心里有没有疑问?platform总线是什么,有什么用?在解答这个问题之前,我们先聊点linux驱动的分离。 1.1 linux驱动的分离 我们知道linux操作系统可以运行在各种SOC上,比如我们熟知的SOC芯片S3C2440 S3C6410和S5PV 阅读全文
摘要:
在上一节我们介绍了linux系统的输入子系统的基本框架,并进行了源码分析。 这一节我们将尝试向input子系统注册设备驱动,这里我们编写按键驱动,通过MIni2440上的6个按键来模拟键盘中的A、B、C、D、E、F。 一、按键硬件资源 1.1 硬件接线 查看Mini2440原理图、S3C2440数据 阅读全文
摘要:
一、基本概念 在之前的章节,我们已经介绍了简单驱动的编写,并通过对应查询方式的按键驱动程序的不断改进,逐渐在程序中引入中断、poll、异步通知、互斥机制来完善驱动程序。 虽然我们编写的驱动也实现了读、写等功能,但是确很难被别人的应用程序无缝的链接,纵然别人的应用程序打开了/dev/button设备, 阅读全文
摘要:
yolo v4源码是开源的,在github上可以下载,并且有很详细的使用说明,本文只是针对windows下环境的安装进行介绍。 一、环境搭建 本节将进行windows下环境的搭建,我们将需要安装下面各个软件,并且需要注意安装的软件是有版本要求的: Requirements for Windows, 阅读全文
摘要:
一、中断顶-底半部分 1.1 什么是中断顶-底半部分 linux操作系统是多个进程执行,宏观上达到并行运行的状态,外设中断则会打断内核中任务调度和运行,如果中断函数耗时过长则使得系统实时性和并发性降低。 为保证系统实时性,中断服务程序必须足够简短,但实际应用中某些时候发生中断时必须处理大量的事务,这 阅读全文
摘要:
在之前我们介绍了linux中断子系统向驱动程序提供了注册中断的API: request_threaded_irq; request_irq; 这一节我们将从源码层面介绍讲解它们的实现。 一、cascade IRQ和nested IRQ linux中断子系统在注册中断的时候,根据中断控制器的结构实际上 阅读全文