12 pengliang528

尚未进行身份认证

暂无相关简介

等级
TA的排名 12w+

逻辑开发之LCD

概述本节主要阐述LCD的工作原理、控制器特性及使用方法以掌握LCD驱动的编写工作原理常见LCD主要分为4类:TN(扭曲项列型)、STN(超扭曲项列型)、DSTN(双层超扭曲项列型)、TFT(薄膜晶体管型)。其中TN、STN、DSTN基本原理相同,只是晶体的扭曲角度不同;TFT则完全不同工作原理:http://www.szjunxian.com/Article/yjpztnstnt....

2019-10-09 22:06:01

裸机开发-spi

概述本节主要分析spi的工作原理,并以eeprom为例详述其操作机制spi原理spi简介SPI,是Serial Peripheral interface的缩写,即串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,同...

2019-09-30 10:16:15

MP4文件格式解析

https://www.cnblogs.com/ranson7zop/p/7889272.html文件格式规范-概述MP4文件格式系列

2019-09-09 15:55:14

FLV封装格式介绍及解析

flv封装格式FLV(Flash Video)是Adobe公司推出的一种流媒体格式,由于其封装后的音视频文件体积小、封装简单等特点,非常适合于互联网上使用。目前主流的视频网站基本都支持FLV。采用FLV格式封装的文件后缀为.flv。FLV封装格式是由一个文件头(flie header)和 文件体(file Body)组成。其中,FLV body由一对对的(Previous Tag Size...

2019-09-06 11:02:51

MTD子系统剖析

概念MTD:Memory Technology Device即内存技术设备作用: 1.引入MTD层为NOR FLASH和NAND FLASH设备提供统一接口 2.MTD将文件系统与底层FLASH存储器进行了隔离MTD分层图及对应作用:MTD设备通常可分为四层,从上到下依次是:设备节点、MTD设备层、MTD原始设备层、硬件驱动层1.Flas...

2019-09-05 15:38:56

驱动模块分析之NANDFLASH

硬件原理:NAND FLASH是一个存储芯片引脚图 主芯片连接引脚 NAND FLASH引脚: 引脚说明: 需求分析思考: 那么:这样的操作很合理“都地址A的数据,把数据B写道地址A”问1.原理图上NAND FLASH和S3C2440之间只有数据线, 怎么传输地址?答1.在DATA0~DATA7上及传输数据,又传输地址 当ALE为高电平时传输...

2019-09-05 15:21:28

framebuffer子系统

概述本系列文章将分析framebuffer的驱动作用(需求)、框架、接口实现和使用。按笔者一直倡导的Linuc学习理念---从软件需求的角度去理解Linux,对于Linux各个子系统,我们首要理解其软件需求,从中自然会清楚其存在的价值和作用;接下来是理解子系统在 Linux整个驱动框架中的层次、角色和如何交换;最后是理解驱动的接口如何实现软件需求,明确接口如何在各场景中使用。Linux设...

2019-09-05 14:50:27

平台设备驱动详解

概念:平台总线只是一种设备模型,其管理的设备本质不变,因此应用访问平台总线上的设备通过/dev这个通道也不会发生改变,只是将设备(符合平台总线设备共性)塞入驱动框架的平台总线来管理,相比字符设备而言只是增加了sys目录下的视图关系。本章将以平台设备的添加、驱动的注册为切入点,逐步分析总线、平台总线设备的软件层次、组成框架来展示平台总线设备的详情。应用示例平台备添加设: stat...

2019-09-05 13:42:50

字符设备详解

概述本章节以应用开始访问字符设备为切入点,逐步深入分析字符设备的软件层次、组成框架和交互、如何编写字符设备驱动、设备文件的创建和mdev原理,并对相关接口及涉及到的结构体做一个简要介绍,展示字符设备驱动的全面详情应用示例int main(void) { char buf[10] = {0,}; int fd = open("/dev/led",O_RDWR); ...

2019-09-05 12:50:13

设备驱动模型与sysfs之间的关系

概述本节将对比分析字符设备驱动、平台设备驱动、设备驱动模型、sysfs文件系统,以此揭露之间的关系设备驱动linux设备驱动分为三种,字符设备驱动、块设备驱动、网络设备驱动字符设备驱动:只能按字节流先后顺序访问设备内存,不能随机访问(示例:鼠标、触摸屏、LCD等) 块设备驱动:可以随机访问设备内存的任意地址(示例:硬盘、SD卡、NAND FLASH等) 网络设备驱动:示例:网卡...

2019-09-04 15:50:09

linux VFS文件系统(二)

概述本节将从VFS文件系统的挂载、打开并操作本地文件来详述其具体实现和机制VFS作用VFS只是一个基于软件的适配层,作用如下:提供文件系统的管理集,即文件系统注册管理列表缓存 提供文件的管理策略,即inode、dentry管理列表缓存、对缓存的管理以便高效、实时定位文件 提供文件系统的抽象管理集,用于重定向文件操作至具体文件系统下对应的操作文件系统的挂载操作分属具体文件系...

2019-09-03 14:04:02

linux VFS文件系统(一)

概述本节重在讨论VFS文件系统的设计目标、涉及结构体的相关联系视图。unix标准文件类型有5种:普通文件、目录文件、符号链接文件、设备文件、管道文件,本节集中讨论前3者,后2者将另外分析。VFS的作用Linux宗旨是一切皆“文件”,广义的讲,凡是可以产生或者消耗信息的都是文件。文件系统是指操作系统用来管理文件以及对文件进行操作的机制和实现。将各文件按照上述分类即形成了不同的文件系统,为...

2019-09-01 17:04:16

linux内核框架

概述本节将介绍linux操作系统的分层模型,并简述各层的作用,以便后续分析子模块时搭建一个整体的视图Linux操作系统分层视图内核作用:对下管理所有的硬件 对上提供系统调用接口以供应用访问(shell、库函数调用的本质依然是系统调用)内核切分为5大子系统以满足上述需求Process Scheduler(进程管理子系统):合理分配CPU资源,让各进程以合理的方式...

2019-09-01 17:03:00

printf简介

概述本章节通过示例阐述printf分级控制打印实现细节注意事项必要的地方加: 日志输出是有代价的,特别是针对嵌入式这类实时性要求较高的系统 需要有宏开关,调试版本打开,发布版本关闭 需要有级别控制,便于调试输出 使用宏替换printf、printk,以便修改宏即可修改所有地方 针对各个模块可以单独控制 打印内容意义清晰,便于排查问题具体实现公共头文件定义宏开关...

2019-09-01 16:06:45

linux之UART

概述linux下设备分几种:    1.协议类:UART,I2C,SPI,NAND,LCD    2.类似内存的接口:NOR,SDRAM,网卡    针对协议类设备,那么需要满足2个要求:    1.双方约定信号的协议    2.双方满足时序的要求一.UART原理简介        通用异步收发器简称UART,即Universal Asynchronous Receiver/Transmitter...

2018-04-08 14:53:08

linux之文件系统

概述:    1.应用层访问具体文件的层次图    2.    3.    4.    5.    6.一.应用层访问具体文件的层次图结构图:文件与文件系统的关系:    从上图中我们看出,文件首先分类,归属于不同的文件系统文件与进程之间的关系:    进程与文件的连接,即"已打开文件"是进程的私有财产,归具体进程所有,那么这种连接的file结构必然与进程的task_struct结构存在着联系st...

2018-03-29 15:28:33

linux字符设备驱动

一. 概述本章节以应用开始访问字符设备为切入点,逐步深入分析字符设备的软件层次、组成框架和交互、如何编写字符设备驱动、设备文件的创建和mdev原理,并对相关接口及涉及到的结构体做一个简要介绍,展示字符设备驱动的全面详情二.应用示例int main(void) { char buf[10] = {0,}; int fd = open("/dev/led",O_RDWR...

2018-03-15 15:28:03

linux设备树及设备添加

要点:    1.设备树概念:http://blog.csdn.net/smcdef/article/details/77387975    2.传统方式添加设备            方式:arm/mach/mach-s3c2410/mach-s3c2440.c                        在代码里面添加设备描述符并有machine-init时调用添加             ...

2018-03-13 17:40:58

Linux I2C总线详解

概述:  1.I2C概念  2.I2C硬件结构图  3.I2C总线初始化  4.I2C控制器device节点添加及driver注册  5.I2C设备节点添加及driver注册  5.adapter设备及驱动添加要点及绑定过程  6.client设备及驱动添加要点及绑定过程  7.设备是如何使用I2C通讯的一.I2C概念:  I2C是philips提出的外设总线. ...

2018-03-12 09:13:51

linux设备加载分析

要点:1.设备注册2.设备驱动注册3.设备与驱动如何绑定4.驱动如何初始化设备资源当内核版本:linux 4.6.3以led为例(leds-sunfire.c)在设备树中创建led设备节点,在内核初始化时将所有节点创建出来(内核采用先创建节点,后初始化对应驱动,有设备无驱动则设备不工作,无设备则驱动初始化不起来)当前篇幅我们只分析驱动的加载:一.内核调用sunfire_leds_init流程:在编...

2018-03-08 17:14:02

查看更多

勋章 我的勋章
  • 新人勋章
    新人勋章
    用户发布第一条Blink获赞超过3个即可获得
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。