嵌入式爱好者

查看: 50888|回复: 5

[Linux] OKMX6UL-C2 eMMC版 远程调试

[复制链接]

1

主题

3

帖子

19

积分

i.MX6UL通行证i.MX6Q通行证

扫一扫,手机访问本帖
发表于 2020-3-30 15:10:15 | 显示全部楼层 |阅读模式
我想在Ubuntu下使用QT通过gdb远程调试板子,结果gdb编译后无法在板子上运行。
虚拟机:Linux ubuntu 3.2.0-126-generic #169-Ubuntu SMP Fri Mar 31 14:15:21 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
gdb版本:7.4.0
板子:Linux imx6ulevk 4.1.15-00025-gc980b04 #1 SMP PREEMPT Wed Jan 15 11:16:10 CST 2020 armv7l armv7l armv7l GNU/Linux

交叉编译步骤:
1. 尝试使用/opt/fsl-imx-x11/4.1.15-2.0.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++ 编译器
   ./configure --prefix=/usr/local/arm-gdb
   make CC=/opt/fsl-imx-x11/4.1.15-2.0.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++

2.使用OKMX6UL-C(eMMC&Nand版)用户资料-20190905\工具\gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12.tar.gz 编译器
  ./configure --prefix=/usr/local/arm-gdb
  make CC=/usr/local/arm/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-gcc

结果编译出来移植到板子上都无法使用,error: cannot execute binary file: Exec format error
这是编译器选择的问题么?怎么可以远程调试?谢谢
回复

使用道具 举报

0

主题

1173

帖子

2202

积分

发表于 2020-3-30 15:16:40 | 显示全部楼层
您看看这个帖子能否帮到你,https://blog.csdn.net/lijingshan34/article/details/72764020/

点评

不是,应该是编译的问题。板子自带gdb可以使用 file gdb 我编译的:gdb: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.  详情 回复 发表于 2020-3-30 15:33
点评回复 支持 反对

使用道具 举报

1

主题

3

帖子

19

积分

i.MX6UL通行证i.MX6Q通行证

 楼主| 发表于 2020-3-30 15:33:46 | 显示全部楼层
zhichao 发表于 2020-3-30 15:16
您看看这个帖子能否帮到你,https://blog.csdn.net/lijingshan34/article/details/72764020/

不是,应该是编译的问题。板子自带gdb可以使用
file gdb
我编译的:gdb: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.24, BuildID[sha1]=6ad31dbe1bb4a9cb690e0fde9016d8ff48c1fa73, not stripped
自带的:/usr/bin/gdb: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 2.6.32, BuildID[sha1]=46739e506fd2c457560dbabaf0845d7b44d99e27, stripped

一个是 x86-64,一个是ARM
点评回复 支持 反对

使用道具 举报

0

主题

1173

帖子

2202

积分

发表于 2020-3-30 16:39:08 | 显示全部楼层
您得使用ARM架构的才行,x86-64编译出来的格式不识别

点评

是的,这个我知道,gdb是源码,就是编译器的问题,我用的编译器都是你们资料里提供的。是我使用的方法不对么?  详情 回复 发表于 2020-3-30 16:48
点评回复 支持 反对

使用道具 举报

1

主题

3

帖子

19

积分

i.MX6UL通行证i.MX6Q通行证

 楼主| 发表于 2020-3-30 16:48:18 | 显示全部楼层
zhichao 发表于 2020-3-30 16:39
您得使用ARM架构的才行,x86-64编译出来的格式不识别

是的,这个我知道,gdb是源码,就是编译器的问题,我用的编译器都是你们资料里提供的。是我使用的方法不对么?
点评回复 支持 反对

使用道具 举报

0

主题

1173

帖子

2202

积分

发表于 2020-3-30 17:13:06 | 显示全部楼层
手册上提供了编译可执行二进制文件的方法,您可以再看看
点评回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-11-22 16:13

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表