文档详情

利用Eclipse开发Linux驱动..doc

发布:2017-01-10约字共35页下载文档
文本预览下载声明
?利用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
显示全部
相似文档