- 博客(6)
- 资源 (56)
- 收藏
- 关注
原创 关于udelay(); mdelay(); ndelay(); msleep();
这几个函数都是内核的延时函数:1.udelay(); mdelay(); ndelay();实现的原理本质上都是忙等待,ndelay和mdelay都是通过udelay衍生出来的,我们使用这些函数的实现往往会碰到编译器的警告implicitdeclaration offunction 'udelay',这往往是由于头文件的使用不当造成的。在include/asm-???/delay.
2012-10-17 16:19:55 7251
原创 Linux启动参数及实现 __setup与early_param
#define __setup_param(str, unique_id, fn, early) / static char __setup_str_##unique_id[] __initdata = str; / static struct obs_kernel_param __setup_##unique_id / __
2012-10-05 15:53:42 16147 1
转载 System.map解析
第一部分:System.map的作用有关System.map文件的信息好象很缺乏。其实它一点也不神秘,并且在整个事情当中它并不象看上去那么得重要。但是由于缺乏必要的文档说明,使其显得比较神秘。它就象耳垂,我们每个人都有,但却不知道是干什么用的。注意,我并不会是百分之一百正确的。例如,一个系统很可能没有/proc文件系统支持,但是大多数系统肯定有。这里我假定你是“随大流的”,并有一个典型配置的系
2012-10-04 15:52:11 23435
转载 用户空间与内核空间数据交换的方式(3)------模块参数与sysfs
内核子系统或设备驱动可以直接编译到内核,也可以编译成模块,如果编译到内核,可以使用前一节介绍的方法通过内核启动参数来向它们传递参数,如果编译成模块,则可以通过命令行在插入模块时传递参数,或者在运行时,通过sysfs来设置或读取模块数据。Sysfs是一个基于内存的文件系统,实际上它基于ramfs,sysfs提供了一种把内核数据结构、它们的属性以及属性与数据结构的联系开放给用 户态的方式,它与ko
2012-10-04 14:13:24 2209
转载 用户空间与内核空间数据交换的方式(2)------procfs
procfs是比较老的一种用户态与内核态的数据交换方式,内核的很多数据都是通过 这种方式出口给用户的,内核的很多参数也是通过这种方式来让用户方便设置的。除了sysctl出口到/proc下的参数,procfs提供的大部分内核参 数是只读的。实际上,很多应用严重地依赖于procfs,因此它几乎是必不可少的组件。本节将讲解如何使用procfs。Procfs提供了如下API: struc
2012-10-04 14:12:58 1185
转载 用户空间与内核空间数据交换的方式(1)------debugfs
内核开发者经常需要向用户空间应用输出一些调试信息,在稳定的系统中可能根本不需 要这些调试信息,但是在开发过程中,为了搞清楚内核的行为,调试信息非常必要,printk可能是用的最多的,但它并不是最好的,调试信息只是在开发中用 于调试,而printk将一直输出,因此开发完毕后需要清除不必要 的printk语句,另外如果开发者希望用户空间应用能够改变内核行为时,printk就无法实现。因此,需要一种新的
2012-10-04 14:12:21 1164
Android核心分析
2011-12-25
佛山网通EPON的FTTH工程方案设计
2011-12-25
ARM---Cortex-A8处理器
2022-09-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人