linux驱动开发
寄意兰州
书山有路勤为径,学海无涯苦作舟。
展开
-
linux内核中asmlinkage的含义
相信大家在看linux的source code的时候,都会注意到asmlinkage这个宏,它是用来做什么的呢? The asmlinkage tag is one other thing that we should observe about this simple function. This is a #define for some gcc magic that tells转载 2015-04-16 16:37:25 · 1259 阅读 · 0 评论 -
内核中一些宏操作的定义
#define DUMP_WRITE(addr,nr) do { memcpy(bufp,addr,nr); bufp += nr; } while(0) 读者想必知道,do-while循环是先执行后判断循环条件。所以这个定义意味着每次引用这个宏操作是会执行循环体一次,而且只执行一次,可是,为什么要这样通过一个do-while循环来定义呢?这似乎有点怪。我们不妨看看其他几种可能。首先,能不能改成转载 2015-04-17 14:59:16 · 585 阅读 · 0 评论 -
Linux设备模型(1)_基本概念
1. 前言 在“Linux内核的整体架构”中,蜗蜗有提到,由于Linux支持世界上几乎所有的、不同功能的硬件设备(这是Linux的优点),导致Linux内核中有一半的代码是设备驱动,而且随着硬件的快速升级换代,设备驱动的代码量也在快速增长。个人意见,这种现象打破了“简洁就是美”的理念,是丑陋的。它导致Linux内核看上去非常臃肿、杂乱、不易维护。但蜗蜗也知道,这不是Linux的错,Linux转载 2015-04-13 23:54:31 · 621 阅读 · 0 评论