[国嵌攻略][127][tty驱动程序架构]】的更多相关文章

tty概念解析 在Linux系统中,终端是一类字符型设备,它包括多种类型,通常使用tty来简称各种类型的终端设备. 1.串口终端(/dev/ttyS*) 串口终端是使用计算机串口连接的终端设备.Linux把每个串口端口都看作是一个字符设备.这些串口设备所对应的设备名称是/dev/ttySAC0,/dev/ttySAC1... 2.控制台终端(/dev/console) 在Linux系统中,计算机的输出设备通常被称为控制台终端(console),这里特指printk信息输出到的设备./dev/co…
LCD裸机驱动回顾 1.LCD初始化 1.1.控制器初始化 1.2.端口初始化 1.3.指明了帧缓冲 2.LCD图形显示 2.1.将图形数据写入帧缓冲 Linux帧缓冲体验 把图片转换成开发板屏对应的宽高像素和颜色深度,然后把图片放到开发板文件系统中.通过cat image.bin > /dev/fb0命令把图片写入LCD帧缓冲,这样就可以在LCD屏上看到对应的图片.这个实验说明Linux下面一样使用了帧缓冲,并且帧缓冲变成了一个设备文件. Linux帧缓冲架构 应用程序通过把图像数据写入/de…
软件系统架构 1.主机端软件架构 USB设备驱动->USB核心->USB主控制器驱动->USB主控制器 2.设备端软件架构 Gadget驱动->Gadget API->UDC驱动->USB控制器 MassStrorage驱动体验(host 接口) 可以让主机挂载大容量存储器 1.主控器驱动配置 make menuconfig ARCH=arm device drivers->usb support->[*]support for host-side usb-…
MTD设备概述 Flash在嵌入式系统中是必不可少的,它是bootloader.Linux内核和文件系统的最佳载体.在Linux内核中引入了MTD子系统为NOR Flash和Nand FLash设备提供了统一的接口,从而使得Flash驱动的设计大为简化. MTD使用体验 把系统烧写到Nand Flash后,通过命令cat /proc/mtd可以查看到Nand Flash的不同分区.每一个分区都是一个块设备,通过命令ls -l /dev/mtd* 可以查看到不同的分区块设备. 块设备驱动系统架构…
LCD驱动程序分析 LCD驱动程序代码在/drivers/video/s3c2410fb.c文件中,在该驱动的s3c2410fb_init中注册了平台驱动,该驱动的初始化代码在s3c24xxfc_probe函数中. 1.分配fb_info结构,使用framebuffer_alloc 2.获取LCD控制器的物理地址,并将其转化为虚拟地址 3.初始化fb_info结构 3.1.设置fb_ops 4.分配帧缓冲内存,LCD控制器通过DMA来访问帧缓冲,使用dam_alloc_writecombine…
Linux系统架构 1.用户空间:应用程序.C函数库 2.内核空间:系统调用接口.内核.体系结构相关代码 Linux系统利用处理器不同的工作模式,使用其中的两个级别分别来运行Linux内核与应用程序,这样使操作系统本身得到了充分的保护.内核空间与用户空间是程序执行的两种不同的状态,通过系统调用和硬件中断能够完成从用户空间到内核空间的切换. Linux内核架构 1.系统调用接口 2.进程管理模块 3.内存管理模块 4.虚拟文件系统 5.网络协议模块 6.设备驱动模块 7.体系结构相关 Linux内…
USB驱动模型 1.USB host controller driver(主控器驱动):为USB主控制器提供驱动程序 2.USB core(USB核心):连接USB主控制器驱动和USB设备驱动 3.USB client driver:为USB外部设备提供驱动程序 USB设备模型 device(设备)->config(配置)->interface(接口)->endpoint(端点),构成了USB设备的四个层次.一个usb driver(驱动)对应的是一个interface(接口).一个接口…
SPI 子系统架构 1.SPI core核心:用于连接SPI客户驱动和SPI主控制器驱动,并且提供了对应的注册和注销的接口. 2.SPI controller driver主控制器驱动:用来驱动SPI控制器. 3.SPI protocol drvier客户驱动:用来驱动SPI设备 SPI控制器驱动分析 1.SPI控制器驱动对应的内核文件在/drivers/spi/spi_s3c24xx.c中.找到模块初始化函数s3c24xx_spi_init,从中可以看出控制器驱动是平台驱动. 2.找到初始化函…
SPI总线架构 SPI(serial peripheral interface)串行外设接口,是一种高速,全双工,同步的通信总线.采用主从模式(master slave)架构,支持多个slave,一般仅支持一个master. SPI信号线 SPI接口共有4根信号线,分别是:设备选择线(SS).时钟线(SCK).串行输出数据线(MOSI),串行输入数据线(MISO). 数据传输过程 主节点通过MOSI线输出数据,从节点在SIMO处从主节点读取数据.同时也在通过SOMI输出MSB(最高位),主节点会…
用户态驱动模型 用户态驱动模型首先是一个应用程序,其次是在这个用户程序中通过内核调用来驱动设备. IIC通用驱动代码 IIC通用驱动程序的代码在/drivers/i2c/i2c-dev.c中.一次读操作或者一次写操作就是一条消息. EEPROM用户态驱动 IIC通用设备对应/dev/i2c-0设备文件. 1.打开通用设备驱动 2.构造写数据到eeprom的消息 3.使用ioctl写入数据 4.构造从eeprom读数据的消息 5.使用ioctl读出数据 6.关闭设备 配置IIC驱动 make me…