在测试led驱动之前,需要搭建nfs服务器,和配置ip
1.配置ip,保证arm板,虚拟机(Ubuntu),windows(pc)机三网联通。中间使用路由器连接。
2.搭建nfs服务器,将虚拟机挂载到arm板上。这个过程详见上一章博客。
http://blog.csdn.net/adaixiaoxiao/article/details/50916758
3.搭建好nfs及网络之后,可以开始编译linux内核了。
(1)首先需要对内核进行打补丁,将linux-2.6.22.6.tar.bz2 和linux-2.6.22.6_jz2440.patch拷贝到Ubuntu下的/home/work/system文件夹下。
(2)解压linux-2.6.22.6.tar.bz2 ,进入linux-2.6.22.6文件夹下打补丁
执行命令:$ patch -p1 < ../linux-2.6.22.6_jz2440.patch
$cp config_ok .config
$ make uImage
编译成功
(3将驱动测试代码drivers_and_test.tar.bz2全部拷贝到nfs的共享文件夹/home/work/nfs_root 下进行解压
进入 drivers_and_test/first_drv/
修改makefile文件,将第一句的目录改为你编译内核代码的目录
然后执行$make ,编译出.ko文件
再执行arm-linux-gcc -o firstdrvtest firstdrvtest.c ,生成执行文件firstdrvtest
4.在arm板上加载firstdrvtest 驱动,在执行firstdrvtest 程序(我用的putty)
在putty的nfs共享文件夹下执行
#insmod firstdrvtest.ko
# ./firstdrvtest on (或者off)
可以看到板子上的灯亮或灭。