上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 45 下一页

2011年8月20日

摘要: 每次打开开发板都会出现Partially written block xxx detected 而且会越来越多解决方法:方法一,修改yaffs_fs.c中yaffs_auto_checkpoint改成值2方法二,修改fs/yaffs2/yaffs_guts.cstatic int yaffs_ScanBackwards(yaffs_Device * dev) 函数中在。。。。 T(YAFFS_TRACE_ALWAYS, /*YAFFS_TRACE_SCAN*/ (TSTR("Partially written block %d detected" TENDSTR), blk 阅读全文
posted @ 2011-08-20 12:51 yming0221 阅读(164) 评论(0) 推荐(0)

2011年7月30日

摘要: 硬件平台:FL2440 (s3c2440)内核版本:2.6.35主机平台:Ubuntu 11.04内核版本:2.6.39原创作品,转载请标明出处http://blog.csdn.net/yming0221/article/details/66458211、DMA的功能和工作原理这里就不多说了,可以查看s3c2440的手册2、在正式分析DMA驱动之前,我们先来看一下DMA的注册和初始化过程系统设备:(翻译自源码注释)系统设备和系统模型有点不同,它不需要动态绑定驱动,不能被探测(probe),不归结为任何的系统总线,所以要区分对待。对待系统设备我们仍然要有设备驱动的观念,因为我们需要对设备进行基本 阅读全文
posted @ 2011-07-30 00:31 yming0221 阅读(507) 评论(0) 推荐(0)

2011年7月28日

摘要: 硬件平台:FL2440内核版本:2.6.39主机平台:Ubuntu 11.04内核版本:2.6.35交叉编译器:arm-linux-gcc 4.3.2原创作品,转载请标明出处http://blog.csdn.net/yming0221/article/details/66415791、DM9000网卡驱动的分析请见http://blog.csdn.net/yming0221/article/details/66097422、如果想自己调试DM9000网卡驱动,那么在编译内核之前将网卡驱动不要编译进内核,启动后自己编译并加载内核由于一般的驱动或者程序是通过NFS挂载到开发板上的,所以,如果没有网 阅读全文
posted @ 2011-07-28 17:18 yming0221 阅读(173) 评论(0) 推荐(0)

2011年7月23日

摘要: 硬件平台:FL2440 (S3C2440)内核版本:2.6.35主机平台:Ubuntu 11.04内核版本:2.6.39交叉编译器:arm-linux-gcc 4.3.2原创作品,转载请标明出处http://blog.csdn.net/yming0221/article/details/6628624本文接上文ARM-Linux驱动--DM9000网卡驱动分析(一)ARM-Linux驱动--DM9000网卡驱动分析(二)ARM-Linux驱动--DM9000网卡驱动分析(三)1、接下来接着分析DM9000网卡驱动的数据接收函数/* * Received a packet and pass .. 阅读全文
posted @ 2011-07-23 21:42 yming0221 阅读(326) 评论(0) 推荐(0)

2011年7月18日

摘要: 硬件平台:FL2440(s3c2440)内核版本:2.6.35主机平台:Ubuntu11.04内核版本:2.6.39交叉编译器:arm-linuc-gcc4.3.2原创作品,转载请标明出处http://blog.csdn.net/yming0221/article/details/6615027本文接上文ARM-Linux驱动--DM9000网卡驱动分析(一)ARM-Linux驱动--DM9000网卡驱动分析(二)下面开始看网卡设备的打开、关闭函数和操作函数static const struct net_device_ops dm9000_netdev_ops = { .ndo_open .. 阅读全文
posted @ 2011-07-18 21:33 yming0221 阅读(363) 评论(0) 推荐(0)

2011年7月17日

摘要: 硬件平台:FL2440(s3c2440)内核版本:2.6.35主机平台:Ubuntu 11.04内核版本:2.6.39原创作品,转载请标明出处http://blog.csdn.net/yming0221/article/details/6612623下面开始分析具体的代码,这里由于使DM9000驱动更容易理解,在不影响基本的功能的前提下,这里将尽可能的简化该驱动(如:去掉该驱动中支持电源管理的功能)分析该驱动1、首先看一下该驱动的平台设备驱动的结构体定义/*平台设备驱动的结构体定义 *在该结构体中可以定义有关Power Management的管理函数 *该驱动中将其省略,侧重分析dm9000的 阅读全文
posted @ 2011-07-17 21:18 yming0221 阅读(227) 评论(0) 推荐(0)

2011年7月15日

摘要: 硬件平台:FL2440(s3c2440)内核版本:2.6.35主机平台:Ubuntu11.04内核版本:2.6.39原创作品,转载请标明出处http://blog.csdn.net/yming0221/article/details/66097421、下图是DM9000的引脚图2、这里我们结合具体的开发板FL2440下面是FL2440和DM9000的引脚链接图本人移植DM9000的时候将设备的资源定义放在了arch/arm/plat-s3c24xx/devs.c中,详情点击上一篇博文linux内核移植-移植2.6.35.4内核到s3c2440下面是设备的资源定义/*DM9000*/ /* 定义 阅读全文
posted @ 2011-07-15 23:02 yming0221 阅读(410) 评论(0) 推荐(0)
摘要: 在内核中sk_buff表示一个网络数据包,它是一个双向链表,而链表头就是sk_buff_head,在老的内核里面sk_buff会有一个list域直接指向sk_buff_head也就是链表头,现在在2.6.32里面这个域已经被删除了。而sk_buff的内存布局可以分作3个段,第一个就是sk_buff自身,第二个是linear-databuff,第三个是paged-databuff(也就是skb_shared_info)。ok.我们先来看sk_buff_head的结构。它也就是所有sk_buff的头。structsk_buff_head{/*Thesetwomembersmustbefirst.* 阅读全文
posted @ 2011-07-15 22:57 yming0221 阅读(250) 评论(0) 推荐(0)
摘要: 【摘要】本文详解了Linux内核抢占实现机制。首先介绍了内核抢占和用户抢占的概念和区别,接着分析了不可抢占内核的特点及实时系统中实现内核抢占的必要性。然后分析了禁止内核抢占的情况和内核抢占的时机,最后介绍了实现抢占内核所做的改动以及何时需要重新调度。【关键字】内核抢占,用户抢占,中断, 实时性,自旋锁,抢占时机,调度时机,schedule,preempt count1 内核抢占概述2.6新的可抢占式内核是指内核抢占,即当进程位于内核空间时,有一个更高优先级的任务出现时,如果当前内核允许抢占,则可以将当前任务挂起,执行优先级更高的进程。在2.5.4版本之前,Linux内核是不可抢占的,高优先级的 阅读全文
posted @ 2011-07-15 12:41 yming0221 阅读(163) 评论(0) 推荐(0)

2011年7月14日

摘要: 硬件平台:FL2440主机平台:Ubuntu 11.04交叉编译器:arm-linux-gcc 4.3.2原创作品,转载请标明出处http://blog.csdn.net/yming0221/article/details/6604616本来是想移植最新的内核2.6.39但是总是在编译快完成的时候报错,有人说是新的内核对arm平台的支持不好,所以就降低了一下版本,这里移植2.6.35.4内核一、准备工作1、下载 解压内核从官网上下载linux-2.6.35的内核, ftp://ftp.kernel.org/pub/linux/kernel/v2.6/ ,文件不大,约85M。新建一个工作目录s3 阅读全文
posted @ 2011-07-14 09:31 yming0221 阅读(213) 评论(0) 推荐(0)
上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 45 下一页

导航