如果你还在研究如果在linux下编译交叉编译工具痛苦,那么我现在解脱你哈哈!
先说gdb的使用:
一般的,假设进入一个文件夹之后呢,有一个c程序:c1.c,编译:gcc-o c1 c1.c
生成一个.o文件,用gdb调试之,gdb只可以调试可执行文件,如果直接gdb c1,是不可以的,会提示c1不是可执行文件哦.
其实很简单,gcc的时候注意一点,要生成gdb认识的.o文件,故要加上命令-g 也就是:gcc-g -o c1 c1.c
再gdb c1就可以了,之后的具体操作网上有.
再说toolchain,交叉编译工具,其实不用自己编译,到网上下载就可以拉,ftp://ftp.arm.linux.org.uk/pub/armlinux/上有.
下载后,tar xzvf *.tar.bz2就可以了,里面有usr目录,下面再有local目录,里面就是arm目录了,把arm文件夹烤到linux本身系统的/usr/local下去.
但是这个时候如果你要对一个c文件执行arm-linux-gcc是不可以的,系统不晓得的这个东西在那里的,先把arm-linux-gcc添加到系统的PATH里面去,如下操作:
export PATH=/usr/local/arm/bin:$PATH
再echo $PATH就可以看到arm-linux-gcc所在的/usr/local/arm/bin已经加到系统的默认的路径里面去了,再就可以执行命令了.
但是有一点疑问,不指导为什么我在关了命令窗口以后,PATH又还原了,没有新加进去的arm-linux-gcc的bin的路径了,希望高手可以指导我一下,如果让arm-linux-gcc的bin路径一直存在linux系统里面.
谢谢.晚安.