在类u
ix操作系统中,驱动加载方式一般分为:动态加载和静态加载,下面分别对其详细论述。一、动态加载动态加载是将驱动模块加载到内核中,而不能放入libmodules下。在24内核中,加载驱动命令为:i
smod删除模块为:rmmod;在26以上内核中,除了i
smod与rmmod外,加载命令还有modprobe;i
smod与modprobe不同之处:i
smod绝对路径××o,而modprobe××即可,不用加ko或o后缀,也不用加路径;最重要的一点是:modprobe同时会加载当前模块所依赖的其它模块;lsmod查看当前加载到内核中的所有驱动模块,同时提供其它一些信息,比如其它模块是否在使用另一个模块。二、静态加载(一)概念在执行makeme
uco
fig命令进行内核配置裁剪时,在窗口中可以选择是否编译入内核,还是放入libmodules下相应内核版本目录中,还是不选。(二)操作步骤li
ux设备一般分为:字符设备、块设备和网络设备,每种设备在内核源代码目录树drivers下都有对应的目录,其加载方法类似,以下以字符设备静态加载为例,假设驱动程序源代码名为ledcc,具体操作步骤如下:第一步:将ledcc源程序放入内核源码driverschar下;第二步:修改driverscharCo
figi
文件,具体修改如下:按照打开文件中的格式添加即可;在文件的适当位置(这个位置随便都可以,但这个位置决定其在makeme
uco
fig窗口中所在位置)加入以下任一段代码:tristateLedDriverCONFIG_LEDCif