fuzidage
专注嵌入式、linux驱动 、arm裸机研究

导航

 

2024年5月29日

摘要: 1 块设备驱动简介 块设备是针对存储设备的,比如 SD 卡、EMMC、NAND Flash、Nor Flash、SPI Flash、机械硬盘、固态硬盘等。因此块设备驱动其实就是这些存储设备驱动。块设备驱动比字符设备复杂,不同类型的存储设备又对应不同的驱动子系统,如MTD(memory technol 阅读全文
posted @ 2024-05-29 16:41 fuzidage 阅读(29) 评论(0) 推荐(0) 编辑
 

2024年5月27日

摘要: 1 USB 接口简介 1.1 USB接口发展历史 USB 全称为 Universal Serial Bus,翻译过来就是通用串行总线。由英特尔与众多电脑公司提出来,用于规范电脑与外部设备的连接与通讯。目前 USB 接口已经得到了大范围的应用,已 经是电脑、手机等终端设备的必配接口,甚至取代了大量的其 阅读全文
posted @ 2024-05-27 16:50 fuzidage 阅读(224) 评论(0) 推荐(0) 编辑
 

2024年5月24日

摘要: 1 CAN总线介绍 1.1 什么是CAN CAN ( Controller Area Network),也就是控制局域网络,简称为 CAN。CAN 最早是 由德国 BOSCH(博世)开发的,目前已经是国际标准(ISO 11898),是当前应用最广泛的现场总线 之一。BOSCH 主要是做汽车电子的,因 阅读全文
posted @ 2024-05-24 11:44 fuzidage 阅读(1255) 评论(0) 推荐(0) 编辑
 

2024年5月22日

摘要: 1 获取 tslib 源码 https://github.com/libts/tslib git clone https://github.com/libts/tslib.git 2 修改 tslib 源码所属用户 sudo chown book:book tslib-1.21 -R 这一步一定要做 阅读全文
posted @ 2024-05-22 16:19 fuzidage 阅读(19) 评论(0) 推荐(0) 编辑
 

2024年5月21日

摘要: 1 引入UART工作原理 uart硬件传输原理。s3c2440裸机编程-UART体系。 2 Linux下TTY驱动框架 可以看到tty框架下不止包含uart,还有display设备,键盘设备。 详细展开如下,tty_driver位于tty_io.c, 调用底下的uart_diver位于serial_ 阅读全文
posted @ 2024-05-21 14:05 fuzidage 阅读(25) 评论(0) 推荐(0) 编辑
 

2024年5月15日

摘要: 1 Linux SPI驱动框架 linux SPI驱动框架层次如上图: 除开硬件和用户态应用程序,由上到下分成3层: 设备驱动层: spi框架使用者 核心层:spi框架搭建者 控制器驱动层: spi框架适配者 1.1 spi核心层 SPI核心层代码位于linux_5.10\drivers\spi目录 阅读全文
posted @ 2024-05-15 20:43 fuzidage 阅读(137) 评论(0) 推荐(0) 编辑
 

2024年5月10日

摘要: Linux下RTC子系统驱动 1 引入RTC CPU内部有很多定时器,像看门狗WDT,PWM定时器,高精度定时器Timer等等, 只在“启动”即“通电时”运行,断电时停止。 当然,如果时钟不能连续跟踪时间,则必须手动设置。那么当关机后就没办法自动计数统计时间了。RTC 就很好的解决了这个问题,RTC 阅读全文
posted @ 2024-05-10 10:28 fuzidage 阅读(31) 评论(0) 推荐(0) 编辑
 

2024年5月9日

摘要: 1 Linux I2C 驱动框架 由上到下分为3层结构: i2c设备驱动层: 作为client使用者使用i2c子系统。提供操作接口给应用层,与应用层交互数据。 I2C核心层:提供transfer send recv函数。把client设备挂载到I2C总线上; 维护i2c driver和i2c cli 阅读全文
posted @ 2024-05-09 20:48 fuzidage 阅读(32) 评论(0) 推荐(0) 编辑
 
摘要: 1 引入Framebuffer s3c2440裸机-LCD编程一、LCD硬件原理介绍了LDC的基本原理。裸机 LCD 驱动编写流程如下: 初始化 I.MX6U 的 eLCDIF 控制器,屏幕宽(width)、高(height)、hspw、 hbp、hfp、vspw、vbp 和 vfp 等信息。 初始 阅读全文
posted @ 2024-05-09 14:20 fuzidage 阅读(88) 评论(0) 推荐(0) 编辑
 

2024年4月4日

摘要: 1 input 子系统介绍 按键、鼠标、键盘、触摸屏等都属于输入(input)设备,Linux 内核为此专门做了一个叫做 input子系统的框架来处理输入事件。 input 子系统分为 input 驱动层、input 核心层、input 事件处理层,最终给用户空间提供可访问的设备节点。 驱动层:输入 阅读全文
posted @ 2024-04-04 17:54 fuzidage 阅读(51) 评论(0) 推荐(0) 编辑