如何移植gdb到freescale i.MX6?

一,预备知识

交叉编译工具路径在/opt/fsl-imx-x11/3.14.52-1.1.1/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi。

交叉编译工具默认寻找的静态库位置:/opt/fsl-imx-x11/3.14.52-1.1.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/lib。

i.MX6的交叉编译工具没有封装好,使用gcc的时候,必须加上命令参数,如下面所示:

arm-poky-linux-gnueabi-gcc  -march=armv7-a -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 --sysroot=/opt/fsl-imx-x11/3.14.52-1.1.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi test.c -o test


二,开始编译

1,老规矩,因为gdb依赖libtermcap,所以先编译libtermcap。

这边要注意,需要把在hisi3716上编译过的termcap-1.3.1里的configure拷贝过来,再进行修改。

原因是termcap在configure的时候不会检查交叉编译,在make的时候会recheck,然后修改configure脚本,

生成新的configure。针对i.MX6需要加上后缀的特殊性,我们可以跳过recheck,直接拿新的configure来用。

修改时,把ac_link和ac_compile的定义加上该交叉编译gcc的命令参数。

configure过后,生成Makefile,

修改该Makefile,把CC定义后面加上该交叉编译gcc的命令参数。

make & make install即可。


2,将编译好的libtermcap.a放到交叉编译工具链默认寻找的静态库位置。开始编译gdb,

先修改configure脚本,将ac_link,ac_compile,we_are_ok这三处地方都加上该交叉

编译gcc的命令参数。

执行configure时,加上--disable-werror。

顺利生成Makefile后,修改它,在CC和CXX定义的地方加上该交叉编译gcc的命令参数,

然后make & make install即可。


下面是传送门,需要我上述修改的脚本可以到这里下载哦,

http://download.csdn.net/download/yuhengyue/10105503

祝君好运。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值