随笔分类 - [1.0].Linux 内核和驱动
摘要:转自:http://biancheng.dnbcw.info/linux/336240.html Linux OS的设备驱动有相当经典的抽象思想以及分层思想。与通信世界里面的思想相一致。 一、在Linux os中,一个设备驱动文件是对一个实际设备的抽象,不管这个设备是电脑的外设,还是某段虚拟内存读写
阅读全文
摘要:转自:http://www.cnblogs.com/Jezze/archive/2011/12/23/2299861.html 简单归纳:fd只是一个整数,在open时产生。起到一个索引的作用,进程通过PCB中的文件描述符表找到该fd所指向的文件指针filp。 open:文件描述符的操作(如: op
阅读全文
摘要:转自:http://www.wowotech.net/linux_kenrel/183.html 目录: 1 首先分析设备驱动的注册 1.1 uart_register_driver分析 1.2 tty_register_driver分析 1.3 serial8250_register_ports(
阅读全文
摘要:以下是在include/uapi/linux/tty.h中定义了现有的线规号,如果需要定义新的,则需要在后面添加新的 1.应用层发送数据 -->write() -->file_operation.tty_write /* file_operation函数集在何时被赋值? */ -->do_tty_w
阅读全文
摘要:转自:http://developer.51cto.com/art/201209/357501_all.htm 目录 1.tty框架 2.uart框架 3.自底向上 4.自顶向下 5.关系图 在这期间有一个问题困扰着我,那就是来自用户空间的针对uart设备的操作意图是如何通过tty框架逐层调用到ua
阅读全文
摘要:转自:http://blog.chinaunix.net/uid-7332782-id-3268801.html 1. Version2.6内核启动过程 start_kernel( ) //板子上电启动后进入start_kernel( ),相当于程序的main入口 -->setup_arch(&co
阅读全文
摘要:转自:http://blog.csdn.net/thl789/article/details/6723350 Linux 2.6的设备驱动模型中,所有的device都是通过Bus相连。device_register() / driver_register()执行时通过枚举BUS上的Driver/De
阅读全文
摘要:转自:http://www.cnblogs.com/haimeng2010/p/3582403.html 目录: 1、platform_device注册过程 2、platform_driver注册过程 从 Linux 2.6 起引入了一套新的驱动管理和注册机制 :Platform_device 和
阅读全文
摘要:此篇源文件arch/arm/boot/dts/imx6sx.dtsi 1. dts和dtsi完成的功能 以下是两段较为常见的dtsi和dts代码 以上这段代码更多出现在*.dtsi中 一般会在*.dtsi中将芯片的外设接口资源都做定义, 如uart5作为该外设的label,node-name@uni
阅读全文
摘要:转自:http://blog.csdn.net/machiner1/article/details/47805069 Based on linux 3.10.24 source code 参考/documentation/devicetree/Booting-without-of.txt文档 目录
阅读全文
摘要:转自:http://blog.csdn.net/airk000/article/details/21345159 目录: 1. 作用 2. 基本数据格式 3. 一些基本概念 4. 工作方式 a. 地址 b. 中断 c. 其他 5. 进阶例子 Device Tree常用方法解析 Device Tree
阅读全文
摘要:注:原博文地址http://blog.sina.com.cn/s/blog_4ba5b45e0102v25h.html 本文将直接了当的带你进入linux的模块编译。当然在介绍的过程当中,我也会添加一些必要的注释,以便初学者能够看懂。之所以要写这篇文章,主要是因为从书本上学的话,可能要花更长的时间才
阅读全文
摘要:1.platform device是怎么"自动"关联到platform driver上的? 转向linux driver有些时间了,前段时间碰到个问题,在Linux kernel 3.10的drivers/tty/serial/imx.c中,注册driver的时候调用platform_driver_
阅读全文