ARM平台下:hello内核模块的编译加载

3302阅读 0评论2011-06-03 songtao0728
分类:LINUX

开发环境:VMware虚拟机下的Fedora9
试验平台:mini2440(64M)
 
1.解压mini2440光盘中的linux-2.6.32.2-mini2440-2010-921.tar.gz到/opt/FriendlyARM/mini2440/.
 
2.由于此内核源代码顶层目录中的Makefile中的ARCH=arm,CROSS_COMPILE=arm-linux-已被修改,所以在此不用重复此步骤.
 
3.创建.config文件,这里复制config_mini2440_n35(我的开发板的屏)并重命名为.config
 
4.编写hello.c文件,具体内容如下图.
                    
5.将编写好的hello.c文件放到内核源代码的/drivers/char/目录下,然后修改/drivers/char/Makefile文件,如下图.
             
 
6.编译内核模块.make modules
  编译结束后,将会在源代码目录下的/drivers/char/下生成我们所需要的hello.ko文件,将其通过串口下载到mini2440的开发板上.(具体有关串口下载请查看mini2440的用户手册,这里千万不要用ftp传送,经试验用ftp传递的文件大小会发生变化).
 
7.串口终端下操作开发板,将hello.ko文件转移到/lib/modules/2.6.32.2-FriendlyARM/目录下.
 
8.加载模块.insmod hello.ko
 
9.查看挂载的模块. lsmod
 
10.查看模块信息.modinfo hello(由于开发析上的buybox里没有加入modinfo命令,所以这里不可用)
 
11.卸载模块.rmmod hello(注意这里不是hello.ko)
               
             
上一篇:C语言之 位域
下一篇:ARM平台下:LED内核模块的编译加载