利用Eclipse开发Linux驱动..doc
文本预览下载声明
?利用Eclipse开发Linux驱动
Eclipse CDT 的使用
第一步:下载cygwin(选择从网络直接安装的包)
第二步:安装cygwin(如果不做任何配置,将默认安装Cygwin运行最少的程序组件)
1, Devel目录: gcc-g++ ,点击“default”,使其选中最新版本
2, Devel目录: gcc-core ,点击“default”,使其选中最新版本
3, Libs目录: win32api,点击“default”,使其选中最新版本
4, Editor目录:vim,点击“default”,使其选中最新版本
然后各种确定继续。
第三步:配置环境变量
PATH: cygwin存放目录的bin目录下,如:F:/cygwin/bin,如果PATH有多个配置项,此项放在最前面。
第四步:装cdt插件即可,两种方式(在线或者离线)
Restart eclipse, all done!
设置
Eclipse具有很强大的自动补全功能,在浏览代码和编辑代码的时候用起来十分得心应手,下面我将介绍如何配置Eclipse,让它来帮助我们开放linux驱动。
(注意,此处说的Eclipse是Eclipse IDE for C/C++ Developers 。而不是Eclipse IDE for Java Developers 安装CDT插件后)。
1、新建一个c project。此项目专门为驱动使用。
在右侧project explorer列表中,右键单击刚才新建的项目,选择properties.
依次选择c/c++ general - paths and symbols, 在右面选择includes选项卡,languages中选择 GNU C
此时在右侧会显示出编译器默认的include路径,好的添加以下内容(mini6410为例)
/path/of/kernel/dir/include
/path/of/kernel/dir/arch/arm/include
/path/of/kernel/dir/arch/arm/plat-samsung/include
/path/of/kernel/dir/arch/arm/mach-s3c64xx/include
(如果写的是x86下的驱动,用/path/of/kernel/dir/arch/x86/include)
再选择Symbols选项卡, 点击下方Export Settings,将设置导出为xml文件.
打开该xml文件, 在language name=C Source File /language标签中,添加
macroname__KERNEL__/namevalue1/value/macro
之后我们还需要将autoconf.h中的宏定义加入到Eclipse中,执行如下步骤
[plain]?view plaincopy
cd?/path/of/kernel/dir/include/generated/??
cat?autoconf.h?|grep?define?|awk?{print?macroname?$2?/namevalue?$3?/value/macro}??symbol.xml??
打开symbol.xml, 将里面的全部内容复制到 刚才xml文件/macro的后面
保存文件,点击Import Settings 导入该文件(如果在导入的时候经常提示解析错误,那么应该是xml的格式写错了,一定要好好地检查一下到底是错在哪里了。)
点击OK退出properties,再右击项目,选择 Index - Rebuild
但是配置到此以后,还是没有办法自动编译。只好使用自己编写的Makefile来编译了。
选择项目properties.
依次选择c/c++ build - Makefile Generation,将build Direcotry指定为Makefile位置。如${workspace_loc:/HelloDriver}。其中的HelloDriver是我的项目根目录。
然后自己手动编写Makefile文件。并放置到项目的根目录下。
Makefile示例
[css]?view plaincopy
pwd?=?$(shell?pwd)??
KERNEL_SRC?=?/lib/modules/$(shell?uname?-r)/build??
obj-m?:=?hello.o??
module-objs?:=?hello.o??
all:??
????????$(MAKE)?-C?$(KERNEL_SRC)?M=$(PWD)?modules??
clean:??
?????????rm?-f?*o?*~?.*cmd?*o?*ko?*~?.*cmd??h
显示全部