Eclipse开发ZYNQ驱动程序

在虚拟机中的ubuntu中开发linux系统驱动程序,往往直接使用gedit编辑,makefile编译,而这种方法比较麻烦;Eclipse是开源软件框架,编辑器比较好用,配置好编译器后可以更加方便快捷的开发程序,本文介绍如何使用Eclipse开发Linux的驱动程序。

本文的前提:安装按arm-xilinx-linux-gnueabi-编译器工具链。

1. 建立C/C++项目工程,配置编译器为arm-xilinx-linux-gnueabi-gcc

右键单击空白的工程文件名,Properties->Discovery Options->Cross G++ Compiler 

 同理,Cross GCC Compiler中的Compiler invocation command设置成arm-xilinx-linux-gnueabi-gcc。

2. 选择C/C++ General->Paths and Symbols->Includes->GNU C,在包含文件中添加liunx内核的头文件目录,arm架构头文件目录和开发变所对应的mach目录:

3. 将设置导出为Symbol.xml文件(点击下方的Export Settings),先临时存储在桌面即可。

 

4. 内核文件编译后,进入/include/generated文件夹中,其中有一个autoconf.h,将其中的宏定义导出到xml文件中存储起来:

$: cd workspace/zynq/kernel/linux-xlnx/include/generated

$: cat autoconf.h | grep define |awk '{print "<macro><name>" $2 "</name><value>" $3 " </value></macro>"}' > symbol.xml

5. 打开之前导出的symbol.xml,在

<language name="C Source File">


</language>

中间添加(如果有两个则在最下面那个添加)

<macro>

<name>__KERNEL__</name>

<value>1</value>

</macro>

6. 将从autoconf.h导出的xml文件中所有内容复制到刚才添加的

<macro>

<name>__KERNEL__</name>

<value>1</value>

</macro>

下一行, 最后symbol.xml文件内容是这样的:

7. 保存上述的symbol.xml,导入到Eclipse的配置中

 

在Symbols中可以看到_STDC_PREDEF_H以下是新导入的宏。

8. 添加编译器的路径

Properties->C/C++ Build->Environment,在PATH字符串的Value中添加xilinx交叉编译器的bin目录路径。

9. 将Eclipse生成的makefile删掉,使用自定义的makefile对文件进行编译,反勾选Generate makefiles automatically

 

10. Makefile文件的内容:

export ARCH=arm

export CROSS_COMPILE=arm-xilinx-linux-gnueabi-

CC = $(CROSS_COMPILE)gcc

obj-m := ZYNQ_LED.o

KDIR :=/home/biac/workspace/zynq/kernel/linux-xlnx

PWD :=$(shell pwd)

all:

$(MAKE) -C $(KDIR) M=$(PWD) modules

clean:

$(MAKE) -C $(KDIR) M=$(PWD) clean

注意:如果需要修改使用的编译器,修改CROSS_COMPILE即可,如果编译其他名称的文件,修改ZYNQ_LED.o即可。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值