李迟的专栏

何日抱娃归家去,山头斜照读牛经。文章可能会更新,以www.latelee.org内容为准。...

排序:
默认
按更新时间
按访问量
RSS订阅

我的内核学习笔记14:内核设备树学习

李迟按: 上一篇内核的文章是2年半前,期间因工作转行而停止研究,最近又重新捡起。这个系列从2013年起间断地更新,本来想从系统角度逐步写的,但工作量十分庞大,现在也想通了,在适合的时间写,不带目的,不强迫自己完成什么任务。不强调什么平台/芯片、内核版本。一篇文章针对一、两个知识点即可。 ...

2019-06-12 21:52:23

阅读数 211

评论数 0

Linux内核小笔记:spin_lock锁内不能使用sleep休眠

有一个字符驱动,内部ioctl函数不同的分支均使用spin_lock和spin_unlock,以保证对外设操作的原子性。但是,有一个功能需要对一个GPIO引脚设置上下沿,于是就使用msplee来延时。结果应用层程序在多个线程中调用该驱动提供的ioctl接口时,发现系列卡死了,只能手动复位。原来不能...

2017-01-12 19:32:53

阅读数 1993

评论数 0

我的内核学习笔记13:x86平台linux系统重启流程跟踪

一直以来,笔者只知道重启Linux系统性使用reboot,但对其过程却无所知,涉及到哪些知识点也无概念。本文就跟踪一下重启的流程,平台为Intel x86,Linux内核版本为3.17。

2017-01-12 19:16:04

阅读数 1510

评论数 0

我的内核学习笔记12:linux i2c-gpio驱动应用实例

linux内核的i2c-gpio是使用GPIO模拟I2C协议的驱动,只需要配置2根GPIO即可使用。Linux的I2C子系统比较复杂,笔者暂时还没有研究。本着“实用”的目的,介绍一下如何使用这个驱动及一些注意事项。

2016-12-09 21:15:48

阅读数 1741

评论数 0

我的内核学习笔记11:linux leds-gpio驱动应用实例

linux内核的leds-gpio是使用GPIO控制LED的驱动,只要将板子上LED灯对接的GPIO引脚号进行适当的配置,就能使用这个驱动了,十分方便。网上有很多文章分析这个驱动,就不献丑——或者后面闲时再写写吧。

2016-12-08 21:13:02

阅读数 6505

评论数 0

我的内核学习笔记10:Intel GPIO驱动源码分析

本文对intel e3800的GPIO驱动源码进行分析。

2016-12-07 21:12:43

阅读数 2717

评论数 0

我的内核学习笔记9:Intel内部看门狗iTCO_wdt驱动

本文对intel e3800内部看门狗驱动源码进行分析。

2016-12-06 22:40:20

阅读数 3943

评论数 0

我的内核学习笔记8:多功能设备mfd驱动

前段时间分析了Intel的lpc驱动,里面涉及了mfd,但网络上关于mfd的资料少之又少。所以就自己分析一下代码。本文对Linux内核的mfd设备注册过程进行分析,并结合2个实例,加深对其概念。

2016-12-05 22:18:21

阅读数 3171

评论数 0

我的内核学习笔记7:Intel LPC驱动lpc_ich分析

接触这么久的内核代码,还没有真正分析一个完整的驱动源码,都是零零散散写只言片字。本文就作一个尝试,写一写Linux内核源码分析层面的文章。 本文介绍基于Intel baytrail系列的e3800系列的SOC的LPC驱动。后续文章将进行该系列的WDT和GPIO驱动分析。

2016-12-05 21:12:09

阅读数 2142

评论数 0

我的内核学习笔记6:PCI驱动probe的一点认知

对于PCI的学习,在文章《初识PCI》和《再识PCI:一个PCI驱动实例》中有介绍,文中使用大量代码进行演示。但总觉得有些认知不到位。于是就再写一文。

2016-12-03 13:14:50

阅读数 4132

评论数 0

一个内核调试函数的实现

最近在研究内核,主要使用printk来跟踪函数的调用过程。但直接使用printk来打印的话,各种信息太多太杂。而且又不想把已经加了的东西删除。于是决定使用打印等级的方式来实现不同各类信息的显示。

2016-11-15 23:25:04

阅读数 407

评论数 0

我的内核学习笔记5:proc目录文件创建及读写

上一篇内核学习笔记《我的内核学习笔记4:sysfs学习》是2013年写的,彼时至今,随着工作的展开和安排,内核方面的知识可谓突飞猛进,当然,其它方面亦是如此。关于内核方面,积累的笔记大大小小有几十篇了,但只是笔记形式或代码片段,无法形成文章,不敢献艺,怕贻笑大方。

2016-10-13 22:46:31

阅读数 2493

评论数 0

记一次由PCI BAR配置不正确引发的硬盘IO调度io_schedule阻塞的经历

五一前,接到一个bug,大意是说设备接固态硬盘时跑新内核会出现卡死导致WDT复位,使用旧内核没问题。新内核是去年年底别人编译的,旧内核是3年前现在已离职2年的人编译的,现在安排我解决这个问题。但其时正在进行其他部门的紧急测试任务,于是请求节后解决。我最近的计划是学习以太网驱动,而五一没什么计划就去...

2015-05-08 13:05:36

阅读数 869

评论数 0

再识PCI:一个PCI驱动实例

之前写了第一篇关于PCI的文章,当时只是作为入门的接触笔记,后来对PCI又研究了一下,主要包括PCI设备的扫描过程及PCI驱动注册过程。 本文主要给出一个PCI实例,并在内核中做很多的打印以便跟踪其过程。代码参考i2c-i801.c文件,在intel平台上试验。

2015-05-06 13:24:47

阅读数 3242

评论数 0

PHY驱动:代码注解

本文对通用PHY的主要函数进行注解。

2015-04-20 19:51:39

阅读数 868

评论数 0

关于以太网PAUSE的一点研究

在学习自动协商时,发现有以太网PAUSE帧这个东西,很网上资料很少,有讲到的也是很简略,似乎这是一个神秘的不想让人知道的东西。这里将自己对PAUSE帧的一些研究,对于太术语的方面,直接参考网上资料,不在这里提及。

2015-04-11 20:10:02

阅读数 9066

评论数 0

以太网的phy寄存器分析

一直唠叨说要系统地学习Linux网络驱动,一直没去做。今天终于下决定写篇关于PHY寄存器的文章了,写了这个,再写篇关于PHY驱动的文章,就算给自己交差了。后面的事再议。这篇文章讲述PHY寄存,大部分属于资料收集,但也夹杂着个人的经验、见解。文中结合IEEE802.3标准、网络的分析及对驱动的理解进...

2015-04-11 17:38:59

阅读数 13191

评论数 0

ethtool的内核流程跟踪

这些天开始下决心写写Linux网络方面的文章。由于能力和时间有限,当前还没有对Linux的网络有深入的了解。我一开始打算从网卡基本知识到PHY寄存器,到MAC控制器,到以太网协议栈,一步一步地学习。但实际中发现不能如此,在公司不同在学校,不可能有集中的时间精力去学习的,比如,刚刚使用了iperf来...

2015-03-30 19:29:41

阅读数 3273

评论数 0

Linux内核生成版本号的一些研究

真正在工作接触内核,其实仅仅是一年前的事情。在使用git管理代码时,发现编译出来的版本会自动带个加号“+”,或者带有“dirty”字样,当时查了些资料解决了。现在隔了那么久,觉得还是有必要写点笔记出来。 上面所提到的,实际上是和Linux内核的管理有关的(比如git本地有修改,但未提交,则有“d...

2015-03-28 08:39:40

阅读数 2474

评论数 0

一个x86平台的spi flash驱动移植笔记

最近一个项目,要用到flash存放一些数据,所以要内核支持。于是就

2014-11-21 13:00:54

阅读数 1322

评论数 0

提示
确定要删除当前文章?
取消 删除