HI3516A交叉编译gdb-7.8


海思HI3516A腾空出炉,


官方提供了v300和v400两款交叉编译工具,

其中v300是uclibc,体积较小,考虑日后产品成本,选用之,


编译器路径放在/opt/arm-hisiv300-linux/下面,


交叉编译gdb需要额外一个开源库termcap支持,在下面下载termcap-1.3.1.tar.gz,

ftp://ftp.gnu.org/gnu/termcap/


另外就是我们的主角gdb-7.8.tar.gz,在下面路径下载,

ftp://ftp.gnu.org/gnu/gdb/


下载完后,首先编译目录/home/frank/gdb_hi3516a,

分别把termcap-1.3.1.tar.gz与gdb-7.8.tar放到该目录下解压,

并创建install目录用作编译生成路径,


首先进入termcap目录进行交叉编译,

# cd termcap-1.3.1/

# ./configure --host=/opt/arm-hisiv300-linux/bin/arm-hisiv300-linux-uclibcgnueabi-  --prefix="../install"

# make CC=/opt/arm-hisiv300-linux/bin/arm-hisiv300-linux-uclibcgnueabi-gcc


编译完毕后,会在输出目录下面新增了内容,

其中libtermcap.a是我们需要的,


然后开始我们的主角gdb-7.8,

# cd gdb-7.8

# ./configure --host=arm-linux CC=/opt/arm-hisiv300-linux/bin/arm-hisiv300-linux-uclibcgnueabi-gcc AR=/opt/arm-hisiv300-linux/bin/arm-hisiv300-linux-uclibcgnueabi-ar --prefix="$(pwd)/../install/" LDFLAGS="-L$(pwd)/../install/lib -ltermcap -lm"

# make

# make install

编译时间有点长,需要耐心等待:),

大家可以根据各自的需求关闭一些选项,我只是懒得理它而已。


编译完之后,输出目录多出了gdb的执行命令,

其中install/bin目录下面是我们需要的。


一切就绪了!


下面是目录下面的交叉编译脚本,可供大家参考

#!/bin/sh


# Create Output Folder

mkdir -p ./install
 

# Cross Compile termcap-1.3.1
rm -Rf ./termcap-1.3.1
tar zxvf termcap-1.3.1.tar.gz
cd ./termcap-1.3.1
./configure --host="/opt/arm-hisiv300-linux/bin/arm-hisiv300-linux-uclibcgnueabi-"  --prefix="$(pwd)/../install"
make CC=/opt/arm-hisiv300-linux/bin/arm-hisiv300-linux-uclibcgnueabi-gcc
make install
cd ..

# Cross Compile GDB
rm -Rf ./gdb-7.8
tar zxvf gdb-7.8.tar.gz
cd ./gdb-7.8
./configure --host=arm-linux --prefix="$(pwd)/../install/" CC="/opt/arm-hisiv300-linux/bin/arm-hisiv300-linux-uclibcgnueabi-gcc" AR="/opt/arm-hisiv300-linux/bin/arm-hisiv300-linux-uclibcgnueabi-ar" LDFLAGS="-L$(pwd)/../install/lib -ltermcap -lm"
make
make install
cd ..


大功告成。。。


你可能感兴趣的:(HI3516A交叉编译gdb-7.8)