内核
hedtao
这个作者很懒,什么都没留下…
展开
-
Linux内核定时器原理
转自:http://hi.baidu.com/eygaqurchnbhsyq/item/939630a06c27907d6cd455b0一、定义:/include/linux/timer.hstruct timer_list {struct list_head entry;unsigned long expires;void (*function)(unsign转载 2013-04-12 14:19:04 · 864 阅读 · 0 评论 -
Linux I2C驱动分析 S3C6410
转自:http://www.linuxidc.com/Linux/2011-08/39948p1.htmLinux中I2C体系结构如下图所示(图片来源于网络)。图中用分割线分成了三个层次:用户空间(也就是应用程序),内核(也就是驱动部分)和硬件(也就是实际物理设备,这里就是6410中的i2c控制器和at24xx)。这个够清晰了吧?我们主要研究的是中间那一层。中间一层又分为i2c转载 2013-05-11 21:29:45 · 1110 阅读 · 0 评论 -
Linux I2C驱动源码分析(二)
转自 http://www.cnblogs.com/nick123/archive/2010/09/06/1819037.html下面开始分析linux/drivers/i2c/busses/i2c-s3c2410.c,在设备与驱动匹配成功后,会执行s3c24xx_i2c_probe()函数,此处传给s3c_i2c_probe 的参数就是 我们注册的i2c 平台设备 s3c_device_转载 2013-05-08 14:20:34 · 579 阅读 · 0 评论 -
container_of 用法解析
在学习Linux驱动的过程中,遇到一个宏叫做container_of。该宏定义在include/linux/kernel.h中,首先来贴出它的代码:/** * container_of - cast a member of a structure out to the containing structure * @ptr: the pointer to the转载 2013-05-11 17:15:17 · 445 阅读 · 0 评论 -
实例解析linux内核I2C体系结构(2)
转自 :http://blog.csdn.net/hongtao_liu/article/details/5260739四、在内核里写i2c设备驱动的两种方式前文介绍了利用/dev/i2c-0在应用层完成对i2c设备的操作,但很多时候我们还是习惯为i2c设备在内核层编写驱动程序。目前内核支持两种编写i2c驱动程序的方式。下面分别介绍这两种方式的实现。这里分别称这两种方式为“Adapte转载 2013-05-09 10:52:30 · 419 阅读 · 0 评论 -
实例解析linux内核I2C体系结构(1)
转载:http://blog.csdn.net/hongtao_liu/article/details/4964244一、概述谈到在linux系统下编写I2C驱动,目前主要有两种方式,一种是把I2C设备当作一个普通的字符设备来处理,另一种是利用linux I2C驱动体系结构来完成。下面比较下这两种驱动。第一种方法的好处(对应第二种方法的劣势)有: ●转载 2013-05-09 10:50:45 · 559 阅读 · 0 评论 -
I2C设备驱动的编写
前面我们说了如何I2C用户模式驱动,这种驱动基于I2C子系统,但是他对于应用程序开发人员的要求较高,需要应用程序开发人员了解硬件的一些东西,比如时序,地址等等,而多数时候应用程序开发人员是按照操作文件的方法操作设备,所以我们更希望用一些更简单的接口去访问。也就是我们今天的内容——基于I2C子系统的字符驱动。I2C子系统的代码分为三部分如图:Host:主机控制器驱动Device:转载 2013-05-09 10:30:21 · 528 阅读 · 0 评论 -
Linux I2C驱动源码分析(一)
内核版本:2.6.31.6 转自http://www.cnblogs.com/nick123/archive/2010/09/05/1818471.html首先在S3C2440平台的初始化函数中,主要是将开发平台的设备注册进了系统,也就是将device注册到了platform虚拟的总线上,并进行了一些初始化的工作,这里我们只关注I2C的部分。 static void __init转载 2013-05-08 14:15:45 · 468 阅读 · 0 评论 -
struct nand_ecclayout 之解义 ,eccbytes,eccpos,eccfree
【转帖请注明出处:blog.csdn.net/lanmanck】内核的nand flash驱动真可谓用“日新月异”来形容,今儿个刚写完的驱动,等到明天下个新内核放进去,又不好使了,shit!这里讨论下struct nand_ecclayout,即nand 的ecc布局问题,基于2.6.32-rc2.该结构体定义如下:struct nand_ecclayout {转载 2013-05-17 15:38:02 · 626 阅读 · 0 评论 -
【简介】如何编写linux下nand flash驱动
转自 :http://www.cnblogs.com/shenhaocn/archive/2011/03/10/1980310.html1. 硬件特性:【Flash的硬件实现机制】Flash全名叫做Flash Memory,属于非易失性存储设备(Non-volatile Memory Device),与此相对应的是易失性存储设备(Volatile Memory Device)。转载 2013-05-15 20:10:24 · 541 阅读 · 0 评论 -
Unable to handle kernel NULL pointer dereference.
这几天调试Wlan遇到的错误,有必要记录一下....Thu Jan 1 00:00:59 UTC 1970rt73 driver version - 1.0.4.0rt73 driver step1 loki**RT2573**--> PortCfgInit**RT2573****RT2573**--> RTMPInitAdapterBlock**RT2573**转载 2013-04-18 17:05:09 · 1004 阅读 · 0 评论 -
Linux驱动头文件说明
http://hi.baidu.com/%BB%F0%D0%C7%C6%B0%B3%E6911/blog/item/3c01cb8c3c5bccab0f244491.html驱动程序: #include 是在linux-2.6.29/include/linux下面寻找源文件。#include 是在linux-2.6.29/arch/arm/include/asm下面寻找源文件。转载 2013-04-13 21:32:47 · 351 阅读 · 0 评论 -
wait_event_interruptible() 和 wake_up()的使用
http://www.newsmth.net/nForum/#!article/KernelTech/20731 1. 关于 wait_event_interruptible() 和 wake_up()的使用 读一下wait_event_interruptible()的源码,不难发现这个函数先将 当前进程的状态设置成TASK_INTERRUPTIBLE,然后调用schedu转载 2013-04-13 21:14:41 · 575 阅读 · 0 评论 -
linux设备驱动归纳总结(一):内核的相关基础概念
原文地址:linux设备驱动归纳总结(一):内核的相关基础概念 作者:diytvgylinux设备驱动归纳总结(一):内核的相关基础概念xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx一.linux设备驱动的作用内核:用于管理软硬件资源,并提供运行转载 2013-09-11 14:42:18 · 523 阅读 · 0 评论