一、前言
前文中,通过eclipse的remote systems可以连接到本地及BBB的文件系统,因此可以实现本地与BBB之间的文件交换,该交换可以用复制粘贴的形式完成,非常简单方便,本节以移植前文编译完成的gdbserver为例来说明该功能。
二、移植gdbserver
1. 本地文件系统中查找gdbserver
通过前节可知,gdb的下载路径为/home/用户名/Download
下,打开该文件可以看到gdb文件夹,已经编译好的gdbserver在gdb-8.1/gdb/gdbserver
路径下,打开后右键复制,如下图:
2. 将gdbserver复制到BBB中
在本地文件系统中将前文中已经交叉编译生成的gdbserver进行复制,接下来粘贴到BBB远程文件系统中:
修改gdbserver的文件属性:
3. 移植gdbserver相关lib到BBB中
仅仅将gdbserver移植到BBB是不够的,其运行还需要库的支撑,因此要将相关的库移植到BBB中,并修改其属性。在BBB文件系统中,我们可以查看编译完成的gdbserver
的文件属性及依赖库。
查看文件类型命令:
file gdbserver
如下图:
可以通过以下命令来查看gdbserver的依赖文件:
ldd gdbserver
可以看到gdbserver依赖的库有:
ld-linux.so.3 ---> ld-2.23.so
libdl.so.2 ---> libdl-2.23.so
libstdc++.so.6 ----> libstdc++.so.6.0.21
libgcc_s.so.1
libc.so.6 --> libc-2.23.so
libm.so.6 ---> libm-2.23.so
这些库文件均在主机安装的交叉编译器下可以找到:
/usr/arm-linux-gnueabi/lib
通过移植gdbserver
同样的方式可以将这些依赖的库文件移植到BBB文件系统中:
/lib/
在BBB系统中修改这些库的读写属性:
这时运行gdbserver,效果如下: