linux驱动开发
hello_kitty8888
这个作者很懒,什么都没留下…
展开
-
创建根文件系统
<br />创建根文件系统的目录<br />mkdir rootffs<br />cd rootfs<br />mkdir bin dev etc lib proc sbin sys usr mnt tmp var<br />mkdir usr/bin usr/lib usr/sbin lib/modules原创 2011-05-08 14:33:00 · 507 阅读 · 1 评论 -
linux内存管理
<br />动态内在映射区 <br /> 该区域的地址由内核函数vmalloc来进行分配,其特点是纯属究竟连续,但对应的物理究竟不一定连续。malloc分配的线性地睛所对应的物理页可能处于低端内在,也可能牌高端内存。<br />永久内存映射区:<br />固定映射区:如ACPI_BASE的映射<br /><br /> linux内核链表<br /> 内核定时器:<br /> 定时器用于控制某个函数(定时器处理函数)在未来的某个特定时间执行。内核定时器注册的处理函数只执行一次---不是循环执行的。<br原创 2011-05-08 14:32:00 · 477 阅读 · 0 评论 -
Linux内核模块编程
<br /> 首先就是学习Linux的模块编程,照着书上的例子实现Hello.ko也经历一番波折,凡事只有自己亲自尝试过,才知道个中细节如何啊。以下记录我完成这个简单模块的编写,加载,卸载的全过程及要注意的地方。<br />在任意一个地方创建一个hello.c文件,里面就写如下内容:/* hello.c */ <br />#include<linux/init.h> <br />#include<linux/module.h> <br />MODULE_LICENSE("Dual BS转载 2011-04-25 21:14:00 · 535 阅读 · 0 评论 -
module injection in . kernel
<br />|=-------------------[ module injection in . kernel ]-------------------=| <br />|=------------------------------------------------------------------------=| <br />|=---------------[ CoolQ<qufuping@ercist.iscas.ac.cn> ]-----------------=| <br /转载 2011-04-25 21:15:00 · 782 阅读 · 0 评论 -
编译内核
<br />编译内核模块的方法与编译一般应用程序的方法略有不同. 我们会发现在内核源码树的层层目录中, 都存在有Makefile. 即这些Makefile是分层次组织的. 以往的内核版本中, 编译模块比较麻烦, 需要我们对这些Makefile做出许多更改. 2.6的内核采用了"kbuild"编译系统, 简化了这些问题. 关于kbuild, 可参考内核源码树中 /Documentation/kbuild/modules.txt. <br /> <br />编译之前, 肯定是需要源文件的.转载 2011-04-29 07:27:00 · 606 阅读 · 0 评论