linux驱动与vim

997阅读 0评论2011-11-27 Benquike
分类:

1.内核编译


Fedora15,内核版本2.6.38.8


编译内核,,下载内核,解压缩到/usr/src/kernels/linux-2.6.38.8/
进行编译
利用当前版本的fedora进行配置
  1. cp cp /boot/config-2.6.38.6-26.rc1.fc15.i686 /usr/src/kernels/linux-2.6.38.8/.config
  2. make menuconfig
然后一步一步对内核进行编译配置
遇到配置时直接skip
  1. make all
  2. make modules_install
  3. make install
花费时间大约在1个小时内。

2.加载驱动


建立 hello.c
  1. #include "linux/init.h"
  2. #include "linux/module.h"

  3. static int hello_init(void)
  4. {
  5. printk(Kern_ALERT "Hello World linux_driver_module\n");
  6. return 0;
  7. }

  8. static void hello_exit(void)
  9. {
  10. printk(KERN_ALERT "Goodbey linux_driver_module\n");
  11. }

  12. module_init(hello_init);
  13. module_exit(hello_exit);
Makefile(内核2.6版本以上都得用Makefile)
  1. #Makefile 2.6
  2. ifneq ($(KERNELRELEASE),)
  3. #kbuild syntax dependency relationship of files and target modules are listed here.
  4. mymodule-objs:=hello.o
  5. obj-m:=hello.o
  6. else
  7. PWD:=$(shell pwd)
  8. KVER?=$(shell uname -r)
    KDIR:=/lib/modules/$(KVER)/build
  9. all:
  10. $(MAKE) -C $(KDIR) M=$(PWD)
  11. clean:
  12. rm -rf .*.com *.o *.mod.c *.ko .tmp_versions
  13. endif
终端进入hello.c 与Makefile文件夹
  1. make
加载
  1. sudo insmod hello.ko
显示
  1. dmesg
卸载
  1. sudo rmmod hello

3.vim
vim插件ctags tilelist的安装与配置

首先, 下载ctags安装包, 然后解压并安装:
tar -xzvf ctags-5.6.tar.gz
cd ctags-5.6
make
make install   // 需要root权限

源码目录,运行命令: ctags -R
运行命令: ctags -R,会生成一个 tags 文件,即可

配合taglist的使用

下载taglist压缩包, 然后把解压的两个文件taglist.vim 和 taglist.txt 分别放到
/usr/share/vim/vim73/plugin/与/usr/share/vim/vim73/doc/文件夹中


简单配置taglist
将文件夹中taglist.vim复制到~/.vimrc

  1. cp /usr/share/vim/vim73/plugin/ ~/.vimrc

在.vimrc中加入下列语句

  1. let Tlist_Ctags_Cmd = '/usr/bin/ctags'
  2. let Tlist_Show_One_File = 1
  3. let Tlist_Exit_OnlyWindow = 1
  4. let Tlist_Use_Right_Window = 0

进入vim后用命令打开taglist窗口
:Tlist
左右切换窗口
ctrl+ww
上下左右
j k h l

参考资料:

linux驱动开发环境的搭建
http://blog.sina.com.cn/s/blog_62467c4b0100gye2.html

Fedora 12 编译内核linux-2.6.32.2



上一篇:linux 搭建apache resin jdk网站服务器
下一篇:linux 下信号处理