![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
源码分析
aaronychen
性格适中,爱好运动
展开
-
MTD源码学习报告001
MTD源码分析001本文以2.6.10的内核及s3c2410的nand flash驱动为例,按本人的理解通过对read系统调用的流程来对MTD模块的源码进行分析,不对之处欢迎指正。更详细的MTD源码分析可以参考Jim Zeus的分析文章,本文有些内容也是直接通过拿来主义获取的。 一 MTD介绍MTD(memorytechnology device内存技术设备)是原创 2008-08-01 14:59:00 · 3054 阅读 · 0 评论 -
MTD学习报告004
接着看s3c2410_nand_add_partition(), 这是重点, Drivers/mtd/nand/s3c2410.c:static int s3c2410_nand_add_partition(struct s3c2410_nand_info *info, struct s3c2410_nand_mt原创 2009-03-12 14:55:00 · 6799 阅读 · 0 评论 -
mtd学习报告003
下面我们就以s3c2410和 nand flash为例来讲解如何在flash上划分分区, 及划分分区后的实现原理. 假设我们要在64M的flash上建立四个分区分别用来做不同的共用, 具体如下: 分区 名称 大小 偏移 1 bootloader 0x00100000 0x原创 2009-03-12 14:46:00 · 3414 阅读 · 0 评论 -
mtd学习报告002
三 初始化 这里我们先说一下几个重要的全局变量: /drivers/mtd/mtdcore.c struct mtd_info *mtd_table[MAX_MTD_DEVICES]; 该数组中保存了所有的MTD原始设备, 以学习报告001的编译配置为前提,该部分的初始化主要包括mtd部分的和nand部分的。我们要分析的就是前面提到的几个重要原创 2009-03-12 14:39:00 · 3450 阅读 · 0 评论 -
Linux下USB suspend/resume源码分析
Linux下USBsuspend/resume源码分析Author:aaron 本文主要从自己开发的一个USB驱动的例子来深入讲解linux内核是如何支持USB设备的休眠和唤醒的, 最近我在为我们公司的一个模块写linux下的驱动, 其中之一就是要支持USB的休眠唤醒问题, 实际上linux内核对USB的这个功能的支持还是比较新的, 也就是最近几年的事. 一 打开/关原创 2009-02-23 14:56:00 · 11366 阅读 · 0 评论 -
arm linux 下中断流程简要分析--中断处理流程
三 响应中断首先在分析源码之前,让我们了解一些原理性的东西, 我们都知道在处理中断要保存当前现场状态,然后才能处理中断,处理完之后还要把现场状态恢复过来才能返回到被中断的地方继续执行,这里要说明的是在指令跳转到中断向量的地方开始执行之前,CPU帮我们做了哪些事情: R14_irq = 要执行的下条指令地址 + 4 //这里的下条指令是相对于被中断指令的下条。即返回原创 2008-09-08 14:14:00 · 5628 阅读 · 1 评论 -
arm linux 下中断流程简要分析--初始化
arm linux 下中断流程简要分析author: aaron (cyjtan@163.com)这篇文档准备简要的分析下arm平台上linux下的中断是如何运行的,本文将先分析初始化时的中断是如何建立的,然后以一个例子来注册一个中断,并详细分析中断触发到调用我们自己的中断例程的整个流程。不对之处,欢迎指正! 本文linux2.6.18的源码和s3c2410的CPU及s原创 2008-09-03 17:03:00 · 4451 阅读 · 1 评论 -
arm linux 下中断流程简要分析--注册中断
二 注册中断这部分我们以3sc2410下的watchdog的中断为例来讲解中断的注册及调用过程。drivers/char/watchdog/s3c2410_wdt.c:static int s3c2410wdt_probe(struct platform_device*pdev){…… /*注册中断*/ ret =requ原创 2008-09-03 17:27:00 · 4365 阅读 · 0 评论 -
linux kernel 从入口到start_kernel 的代码分析
linux kernel 从入口到start_kernel 的代码分析本文的很多内容是参考了网上某位大侠的文章写的>,有些东西是直接从他那copy过来的。最近分析了一下u-boot的源码,并写了分文档, 为了能够衔接那篇文章,这次又把arm linux的启动代码大致分析了一下,特此写下了这篇文档。一来是大家可以看看u-boot到底是如何具体跳转到linux下跑的,二来也为自己更深入原创 2008-08-27 15:16:00 · 18428 阅读 · 4 评论 -
MTD学习报告005
Drivers/mtd/mtd_blkdevs.c:static int blktrans_open(struct inode *i, struct file *f){ struct mtd_blktrans_dev*dev; struct mtd_blktrans_ops*tr; int ret = -ENODEV;原创 2009-04-03 09:19:00 · 5742 阅读 · 0 评论