使用USRP免不了要对上位机源码的研究,UHD驱动的源码是由C和C++进行编写的。然而在Linux系统环境下,每次都使用终端通过调用g++/gcc编译器进行程序编译可以说是费时又费力,特别如果想调试程序的话,可能就更麻烦了。
本文将介绍通过Linux下一款开发环境Eclipse,搭建UHD源码编译的开发与调试环境,为进一步的源码研究做一下准备工作。其实整个过程很简单,主要就是Eclipse的安装与环境的配置。先上一张运行uhd_usrp_probe程序的界面
一、Eclipse的安装
1.安装JRE支持
打开终端,输入: apt-get install jre
2.安装Eclipse
apt-get install eclipse-cdt
3.运行Eclipse
在终端中输入:eclipse
PS:这里默认大家已经装好了g++和gcc编译器了,如果未安装过可以在终端输入以下命令安装
sudo apt-get update
sudo apt-get install gcc
sudo apt-get install g++
二、建立工程与环境配置
1.新建工程
打开Eclipse之后,依次点击File→new→project打开新建工程的对话框,选择C/C++ Project建立一个Empty Project,这将建立一个空的C++工程
2.加入源文件
建立工程之后可以在Project Explorer中右键工程名字,选择新建一个文件夹(Folder)起名为source,然后将你要编译的源文件直接拖入source文件夹中即可(选择copy the file),这时我们的工程应该是这样的。
3.进行必要的环境配置
如果仅完成上述两步就点击Project→build all的话,将会报错,看错误主要应该是函数以及宏找不到定义,这里主要是因为没有链接到我们所需要的boost库以及uhd库的原因。
虽然在第二步我们也看到,Eclipse已经自动为我们添加了必要的头文件目录,但实际测试过程中发现,编译的时候并没有真的链接到这些目录中,导致我们虽然可以方便的看到函数的原型,但编译的时候不通过。这时我们需要对环境进行配置,在编译的时候链接到我们所需要的函数库。选择Project→Propeties选项进行如下配置。
这里相当于我们在使用命令行编译时候的 -luhd -lboost_system一样。至此我们就可以进行编译与调试了。
最后工程在运行之前先要点击Project→bulid all,然后在点击RUN或者Debug。最后贴一张连接设备Debug的截图: