Linux内核
Seamon_zhou
这个作者很懒,什么都没留下…
展开
-
内核的移植
1. Uboot的移植清除之前的配置文件:make distclean配置U-Boot:makeTQ2440_config(TQ2440_config来自根目录的Makefile 不同的开发板命令也不同)编译U-Boot:make ARCH=arm(只对ARM体系结构)CROSS_COMPILE=arm-linux-(指定交叉编译器,其中linux后面不加表示执行有这些前缀原创 2015-09-21 11:28:25 · 198 阅读 · 0 评论 -
内核模块的开发
1.内核模块的三大要素1.1头文件 和(和模块相关的)1.2加载模块函数module_init():在insmod模块是会调用这个函数ps它的返回值为0,如果返回非零值,就会认为出错1.3卸载模块函数module_exit();同上而在模块程序编写中不使用printf而使用printk。例printk(KERN_WARNING”Hello World\n”)2.Ma原创 2015-09-21 19:27:03 · 278 阅读 · 0 评论 -
#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER);
offsetof(TYPE, MEMBER)该宏在Linux内核代码(版本2.6.22)中定义如下:#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER); 分析:(TYPE *)0,将 0 强制转换为 TYPE 型指针,记 p = (TYPE *)0,p是指向TYPE的指针,它的值是0。那么 p转载 2015-09-24 15:21:08 · 719 阅读 · 0 评论