一、MMC简介 eMMC在封装中集成了一个控制器,提供标准接口并管理Nand Flash,使得手机厂商就能专注于产品开发的其它部分,并缩短向市场推出产品的时间。 对于我们来说,eMMC就是在Nand Flash上添加负责ECC、管理坏块等功能的控制器。 在内核中,使用MMC子系统统一管理MMC、SD ...
分类:
其他好文 时间:
2019-07-28 15:58:55
阅读次数:
408
Twisted 框架概况 Twisted 是一个有着10多年历史的开源事件驱动框架。Twisted 支持很多协议,包括传输层的TCP、UDP、TLS,以及应用层的HTTP、FTP等。对所有这些协议,Twisted提供了 客户端和服务器方面的开发工具。 Twisted 是一个高性能的编程框架。在不同的 ...
分类:
其他好文 时间:
2019-06-18 21:55:05
阅读次数:
118
应用 i2c_driver层 (自己编写) i2c_core层 i2c_bus_type (i2c_core.c) i2c_adapter层 (i2c_xxx.c) 硬件 < 结构体> struct i2c_msg { __u16 addr; //数据是传送个哪个从设备 __u16 flags; _ ...
分类:
其他好文 时间:
2019-06-09 09:34:13
阅读次数:
130
为什么要学习Netty? 目前基于Netty实现的一些优秀的开源框架:Dubbo、RocketMQ、Spark、Spring5、Flink、ElasticSearch、gRPC……这些还说明不了为什么要学习netty吗?! Netty是什么? 异步事件驱动框架,用于快速开发高性能服务端和客户端; 封 ...
分类:
Web程序 时间:
2019-05-26 18:07:35
阅读次数:
141
今天正好赶上要放五一长假了,正好把自己在这段时间看的关于驱动方面的知识做一个回顾。 驱动是操作系统的一部分,linux操作系统内核中的85%左右都是关于驱动的代码,之前也断断续续看过一段时间的驱动源码,但是都是匆匆看过,大致熟悉了以下,对其中的脉络其实掌握的不是十分清楚,这一次重新看了字符设备驱动程 ...
分类:
其他好文 时间:
2019-04-30 19:47:31
阅读次数:
142
块设备和字符设备的差异(1)块和字符是两种不同的访问设备的策略(2)同一个设备可以同时支持块和字符两种访问策略(3)设备本身的物理特性决定了哪一种访问策略更适合(4)块设备本身驱动层支持缓冲区,而字符设备驱动层没有缓冲(5)块设备驱动最适合存储设备 块设备驱动的特点(1)字符设备只能顺序访问(如串口 ...
分类:
其他好文 时间:
2019-04-08 01:12:21
阅读次数:
175
一、USB摄像头驱动框架如下所示:1.构造一个usb_driver2.设置 probe: 2.1. 分配video_device:video_device_alloc 2.2. 设置 .fops .ioctl_ops (里面需要设置11项) 如果要用内核提供的缓冲区操作函数,还需要构造一个video ...
分类:
其他好文 时间:
2019-03-31 09:26:25
阅读次数:
209
vivi 相对于后面要分析的 usb 摄像头驱动程序,它没有真正的硬件相关层的操作,也就是说抛开了复杂的 usb 层的相关知识,便于理解 V4L2 驱动框架,侧重于驱动和应用的交互。 前面我们提到,V4L2 的核心是 v4l2-dev.c 它向上提供统一的文件操作接口 v4l2_fops ,向下提供 ...
分类:
其他好文 时间:
2019-03-01 18:41:37
阅读次数:
244
字符设备驱动框架 #include <linux/init.h> //定义了module_init#include <linux/module.h> //最基本的头文件,其中定义了MODULE_LICENSE这一类宏#include <linux/fs.h> // file_operations结构 ...
分类:
其他好文 时间:
2019-02-26 11:49:35
阅读次数:
205
以用i2c通信的实时时钟为例 框架入口源文件:i2c_m41t11.c (可根据入口源文件,再按着框架到内核走一遍) 内核版本:linux_2.6.22.6 硬件平台:JZ2440 以下是驱动框架: 以下是驱动代码 i2c_m41t11.c : 以下是编译驱动的Makefile: KER_DIR=/ ...
分类:
其他好文 时间:
2019-02-17 22:16:36
阅读次数:
261