![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux Driver&Kernel
文章平均质量分 68
lixinlu2000
这个作者很懒,什么都没留下…
展开
-
转:ubuntu下编译2.6内核
http://www.cublog.cn/u/13991/showart.php?id=79823在X86, Ubuntu 上编译Linux2.6内核,总结如下:基础知识在介绍如何编译内核之前, 需要对内核相关概念有一定的了解. 关于Linux kernel的介绍浩如烟海, 这里只介绍系统中相关的目录, 文件及命令./boot/boot/vmlinuz- : 用于启原创 2009-11-27 09:56:00 · 1979 阅读 · 1 评论 -
LDD3_No1.:Hello,World的问题
都说是经典,忍不住, 前几天看了LDD3。老习惯,开篇总是HELLO,WORLD。按照作者的提示:使用标准内核,到kernel.org上下载了最新的稳定版本,make oldconfig,不成功,make menuconfig,不成功。晕!想想算了,我的vmware中安装的ubuntn即是2.6内核,不编译也应该可的。(编译内核忒麻烦,在我的所有经历中,不成功是正常的,个人感觉有时候翻译 2009-11-27 21:49:00 · 618 阅读 · 0 评论 -
LDD3_NO.2:Kernel Modules Versus Applications
深入学习之前,比较内核模块和应用程序。大多数的中小型应用程序都是单一的任务,自始至终。而内核模块首先要注册,目的是为以后提供某些服务。它的初始化也非常简短,迅速。换句话说,内核模块的初始化是为了以后能够提供某种服务的,貌似告诉系统,我已经在这里,我可以提供一些服务!当内核模块要卸载(unload)的时候,其退出函数会被调用,表明:我现在不在这里了,以后别找我!从这点看,内核模块的编程有翻译 2009-11-30 09:22:00 · 413 阅读 · 0 评论 -
LDD3_NO.3:Compiling and Loading
Compiling and Loading 编译和加载本节阐述更多的细节,如何把源代码变成内核中执行的子系统。 1. Compiling Modules 编译模块 首先,我们看看模块如何必须被建立,模块的建立过程区别于用户空间的应用程序;内核是一个大型的、独立的程序,它对于组成的各个部分都有详细的、明确的要求。模块建立过程也区别于旧版本的内核;新的建立过程对于用户翻译 2009-12-01 16:02:00 · 490 阅读 · 0 评论 -
LDD3_NO.4:The Kernel Symbol Table
The Kernel Symbol Table 内核符号表 我们知道了insmod如何对应内核公共符号表来解决模块中的未定义的符号。表中包含了内核全局项(函数、变量)的地址,这些项要执行模块化驱动。当模块加载时,任何被模块输出的符号都变成内核符号表中的一部分。通常情况下,模块只是执行自己的功能,而不需要输出任何符号。不过,你需要输出模块,任何别的模块会得益于此。新的模块可以使用你的翻译 2009-12-08 09:19:00 · 884 阅读 · 0 评论 -
LDD3_NO.5:Initialization and Shutdown
Initialization and Shutdown初始化和关闭 模块初始化函数注册由模块提供的任何功能。这些新的功能(整个驱动、新的软件抽象)可以被应用程序访问。实际的初始化定义是这样的:static int _ _init initialization_function(void){ /* Initialization code here */}mod原创 2009-12-12 20:23:00 · 599 阅读 · 0 评论 -
Linux 驱动开发方法论
<br />有一种感动,叫泪流满面,有一种机制,叫模块机制。显然,这种模块机制给那些Linux 的发烧友们带来了方便,因为模块机制意味着人们可以把庞大的Linux内核划分为许许多多个小的模块。对于编写设备驱动程序的开发者来说,从此以后他们可以编写设备驱动程序却不需要把她编译进内核,不用reboot机器,她只是一个模块,当你需要她的时候,你可以把她抱入怀中(insmod),当你不再需要 她的时候,你可以把她一脚踢开(rmmod)。<br /> 于是,忽如一夜春风来,内核处处是模块。让我们从一个伟转载 2010-06-17 22:20:00 · 803 阅读 · 0 评论 -
保护模式和实模式
<br />实地址模式<br />当我们说CPU是16位或者32位的,是指处理器中ALU的宽度。系统总线中数据线部分,称为“数据总线”,通常与ALU具有相同的宽度。那么地址总线的宽度最自然的是和数据总线一致,但是,从CPU的寻址能力上来说是不现实的,8位的CPU,如果这样设计,只能访问2的8次方,256个不同的地址单元。所以一般8位CPU的地址总线是16位的,寻址空间为64K。<br />INTEL 8086的ALU宽度为16位,即数据总线16位,但是地址总线20为,可以寻址空间达到1G,如何设计?<br原创 2010-06-17 16:09:00 · 545 阅读 · 0 评论 -
linux上安装了qt-sdk-linux-x86-opensource-2010.05.1具体步骤
具体安装过程如下:1,http://qt.nokia.com/downloads/,我们把Qt SDK for Linux/X11 32-bit**这个包下载下来,使其具有可执行权限,再执行安装: # chmod u+x qt-sdk-linux-x86-opensource-2010.05.1.bin # ./qt-sdk-linux-x86-opensource-2010.05.1.bin 接下来是图形界面安装,默认即可。转载 2011-05-04 14:08:00 · 6249 阅读 · 3 评论