海思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 ..
大功告成。。。