摘要:
最近从网上买了一块NanoPC-T4开发板,主控芯片是Rockchip RK3399,这块板子也是友善之家的,并且官方有很详细的文档,NanoPC-T4/zh。 这篇博客主要是对这块板子进行一个介绍,大部分内容也都来自官方手册,由于官方手册是实时更新的,因此,更详细的内容介绍请移步官网。 一、介绍 阅读全文
摘要:
一、V4L2 1.1 介绍 V4L2是video for Linux 2的缩写,是一套Linux内核视频设备的驱动框架,该驱动框架为应用层提供一套统一的操作接口(一系列的ioctl)。 V4L2在设计时,是要支持很多广泛的设备的,它们之中只有一部分在本质上是真正的视频设备,可以支持多种设备,它可以有 阅读全文
摘要:
在前面的章节我们已经介绍了usb鼠标驱动的移植,那我们是不是通过该usb接口扩展一些其它的外设呢,比如usb键盘、usb声卡、usb摄像头;正好我手上有一款usb摄像头,同时带有麦克风功能,我们尝试一下能不能自己移植一个usb摄像头驱动。 一、前言 S3C2440内核采用的ARM9架构,型号为ARM 阅读全文
摘要:
一、CCF子系统概述 计算机硬件通过许多时钟设备提供时钟。从进入系统内部的 cpu core 时钟开始,使用数十种时钟,如 timer、i2c、uart 等。每个 ARM SoC都通过多个时钟设备驱动程序设置时钟,硬件千差万别。 linux内核采用了一个时钟子系统来解决这个问题。在linux 3.4 阅读全文
摘要:
一、 知识回顾 在前面的几篇博客中,我们已经介绍了如下内容: usb子系统的初始化; usb主机控制器驱动的创建; 根hub设备的创建和注册,匹配hub接口驱动hub_driver,并执行hub_probe; 开启根hub端口监测,usb主机控制器通过定时轮询判断根hub端口是否有usb设备插入; 阅读全文
摘要:
在linux驱动移植-usb驱动基础中我们介绍了USB主机控制器主要有OHCI、UHCI,EHCI,xHCI,其中HCI表示Host Controller Interface。usb主机控制器通过usb根集线器和其他的usb设备相连。 在linux驱动移植-usb总线设备驱动中我们介绍了usb子系统 阅读全文
摘要:
我们之前在设备总线模型中介绍过,linux包含I2C、SPI、USB、UART、platform等总线,其中platform总线我们已经学习过了,这一些我们将会介绍USB总线。 一、usb总线 1.1 usb总线定义 在linux 设备模型中,总线由bus_type 结构表示,我们所用的 I2C、S 阅读全文
摘要:
一、USB总线介绍 1.1 简介 我们之前接触过的通信协议有串口、I2C、SPI以及CAN总线,这里我们又去学习USB总线,那USB和之前我们介绍过那些总线有什么区别呢。 通用串行总线(英语:Universal Serial Bus,缩写:USB)是连接计算机系统与外部设备的一种串口总线标准,也是一 阅读全文
摘要:
一、触摸屏种类 触摸屏的基本原理是,用手指或其他物体触摸安装在显示器前端的触控屏时,所触摸的位置(以坐标形式)由触摸屏控制器检测,并通过接口(如RS-232串行口)送到CPU,从而确定输入的信息。 触摸屏系统一般包括触摸屏控制器(卡)和触摸检测装置两个部分: 触控屏控制器(卡)的主要作用是从触摸点检 阅读全文
摘要:
由于我使用的Mini2440开发板采用的LCD为TFT屏,型号为LCD-T35(TD035STEB4)。这一节,我们将参考s3c2410fb.c编写LCD驱动程序。 一、LCD驱动编写基础函数 1.1 dma_alloc_wc 该函数定义在include/linux/dma-mapping.h: s 阅读全文