一、前言
前节中主要介绍了编译虚拟机上主机gdb、编译可以BBB上运行的gdbserver、eclipse连接BBB的shell及文件系统,同时通过eclipse将gdbsesrver移植到BBB中,此时基本的调试的条件已经具备,可以通过在虚拟机主机中的eclipse与BBB进行联调,对程序的调试非常方便。
二、eclipse新建工程
在虚拟机主机中,打开eclipse新建C++工程:
工程名就叫BBBtest
,选择建立一个空工程:
向工程中添加C++文件,名称就叫做test.cpp
:
将前节中操作BBB普通IO口中的C++程序复制到test.cpp
文件中:
三、工程配置
如果要在宿主机即虚拟机上安装的ubuntu系统中通过eclipse来编译并运行BBB目标板上的程序时主要要完成以下三种配置:
- eclipse配置默认编译器为交叉编译器
- eclipse配置通过ssh来访问BBB来run程序
- eclipse配置通过ssh来访问BBB及gdbserver来debug程序
1. 配置交叉编译器
配置交叉编译器主要是完成配置默认GCC编译器、G++编译器、链接器,汇编器的命令、默认路径及命令参数,同时配置工程参考库搜索路径。
右键选择工程属性:
首先配置GCC命令参数:
-c -fmessage-length=0 -lpthread
其次配置GCC路径:
/usr/arm-linux-gnueabi/include
最后填写GCC命令:
arm-linux-gnueabi-gcc
以同样的方法配置G++编译器、链接器、编译器:
配置系统路径:
配置完成后,点击编译程序,可以生成交叉编译后的程序:
2. 配置运行程序环境
右键工程选择运行配置:
选择运行远程程序,右键新建配置:
在下图配置中,配置是在本地系统中运行程序,此时要新建BBB远程系统,配置BBB ssh远程连接:
配置BBB的ssh,和前节相同。
配置ssh完成后,需要指定程序在BBB上的运行路径,同时运行程序时要改变其属性使其可执行:
/root/Desktop/BBBtest
chmod +x /root/Desktop/BBBtest
此时,可以在eclipse上运行已经交叉编译好的程序:
3. 配置debug环境
右键工程选择debug配置,主要配置同运行配置,如下图:
因为要debug,所以要配置gdb及gdbserver:
此时debug本程序:
可以设置断点、单步运行,非常方便调试: