驱动编程
文章平均质量分 65
cuihaina2010
这个作者很懒,什么都没留下…
展开
-
驱动编程之hello
驱动编程之hello 1).hello.c模块代码如下 #include #include MODULE_LICENSE("Dual BSD/GPL"); static int py_init(void) { printk("welcome to you!!!\n"); return 0; } static void py_exit(原创 2013-11-03 20:28:16 · 481 阅读 · 0 评论 -
驱动编程之“导出符号”
驱动编程之“导出符号” 1) 文件代码main.c: #include #include #include"include/pymath.h" MODULE_LICENSE("Dual BSD/GPL"); static int num=30; module_param(num,int,S_IRUGO); static int __init py_init(voi原创 2013-11-03 20:25:13 · 450 阅读 · 0 评论 -
自己添加一个系统调用
自己添加一个系统调用 自己添加一个系统调用要依照一下步骤完成,不过在产考的过程中还要根据自己的机器来操作。 1)前提:一个干净的系统 2)把redhat下的/usr/src/kernels/2.6.18-164.el5-i686/.config拷到自己下的内核中如(linux-2.6.28) 3)Cd linux-2.6.28 4)Make后接着一路回车 5)编辑/kernel/sys原创 2013-11-11 11:30:20 · 553 阅读 · 0 评论 -
内核的烧写步骤
内核的烧写步骤 1.解压linux2.6.28的内核到redhat下 2.进入解压后的目录 3.Make distclean 4.Cp /usr/src/kernel/…/.config到linux内核的根目录(来源是redhat的usr下的) 5.Make menuconfig 6.Make bzImage,会出现如下信息 Setup is 12568 bytes (padded原创 2013-11-03 20:23:05 · 1003 阅读 · 0 评论 -
深入浅出linux内核源代码之双向链表list_head(上)
前言:在linux源代码中有个头文件为list.h。很多linux下的源代码都会使用这个头文件,它里面定义了一个结构,以及定义了和其相关的一组函数,这个结构是这样的: struct list_head{ struct list_head *next, *prev; }; 那么这个头文件又是有什么样的作用呢,这篇文章就是用来解释它的作用,虽然这是linux下的源代码,但对于学习C语言转载 2013-11-13 19:05:50 · 400 阅读 · 0 评论