嵌入式端交叉编译GDB并运行
·
嵌入式端交叉编译GDB
调试时有时需要分析coredump文件,设备没配置网线,就需要导出coredump文件再分析,是在麻烦得很。于是选择交叉编译gdb源码,直接在开发板上运行。
1. 交叉编译GDB
1. 1 获取与当前SDK提供的一致的gdb版本
arm-oe-linux-gnueabi-gdb -version
查看到版本后,去下载对应版本的源码:
http://ftp.gnu.org/gnu/gdb/
1.2 执行交叉编译GDB
./configure --prefix=/mnt/d/ubuntu_share/gdb-7.9.1/gdb7.9.1-arm_build --host=arm-linux CC=arm-oe-linux-gnueabi-gcc CXX=arm-oe-linux-gnueabi-g++ LD=arm-oe-linux-gnueabi-ld AR=arm-oe-linux-gnueabi-ar
make
make install
编译出来的文件在配置的目录下的bin目录,拷贝gdb到开发板即可
1.3 交叉编译依赖的ncurses
在开发板上运行大概率缺少依赖库libncurses.so,因为一般的嵌入式设备不会集成显示界面的库,因此需要单独集成
下载ncurser源码:http://ftp.gnu.org/pub/gnu/ncurses/
./configure --prefix=/mnt/d/ubuntu_share/ncurses-5.9/ncurses-arm_build --host=arm-linux CC=arm-oe-linux-gnueabi-gcc CXX=arm-oe-linux-gnueabi-g++ LD=arm-oe-linux-gnueabi-ld AR=arm-oe-linux-gnueabi-ar --with-shared
因为我依赖的是so文件,因此添加–with-shared参数
make
make install
在配置目录下lib目录中拷贝对应的so文件到开发板即可运行gdb
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)