- 博客(4)
- 收藏
- 关注
原创 字符驱动之LED驱动
一般来说驱动的编写都是在一个模版上面进行修改。 在驱动程序中一般包括两部分1.内核模块 2.字符驱动 内核模块的很简单 static int led_init() //加载函数 { } static void led_exit() //卸载函数 { } module_init(led_init); module_exit(led_exit); 而字符驱动也有它的
2015-10-09 10:19:14 310
转载 #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
原创 内核模块的开发
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 280
原创 内核的移植
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 199
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人