参考文章:
http://qiusuoge.com/15831.html
c出错的时候:
https://blog.csdn.net/bailyzheng/article/details/7488664
在对嵌入式进行调试之前,必须要生成调试器。经典地,Linux平台下的调试器为gdb。
1、下载gdb:
下载地址为:
http://www.gnu.org/software/gdb/download/
我们以gdb-8.3.tar.gz 这个文件为例。
2、解压缩:
tar -vxf gdb-8.3.tar.gz
注:小技巧:Linux下一般压缩文件后缀为.tar.bz2和.tar.gz,它们解压命令有两三个选项是一致的:
xf(v),前者再加上j选项,后者再加上z选项。
3、进入该目录:
cd gdb-8.3/
4、配置:
3536:
CC=arm-hisiv400-linux-gcc ./configure --host=arm-hisiv400-linux --target=arm-hisiv400-linux --program-prefix=arm-hisiv400-linux- --prefix=/home1/zhugeyifan/tools/gdb/output/3536
3519:
CC=arm-hisiv600-linux-gcc ./configure --host=arm-hisiv600-linux --target=arm-hisiv600-linux --program-prefix=arm-hisiv600-linux- --prefix=/home1/zhugeyifan/tools/gdb/output/3519a
3519av100:
CC=arm-himix200-linux-gcc ./configure --host=arm-himix200-linux --target=arm-himix200-linux --program-prefix=arm-himix200-linux- --prefix=/home1/zhugeyifan/tools/gdb/output/3519av100
开发机:
./configure --prefix=/home1/zhugeyifan/tools/gdb/output/pc
编译参数说明:
1) CC:编译gdb使用的交叉编译工具链,3536和3519的工具不一样
2) --host:编译出来的gdb运行在什么机器上
3) --target:要调试的目标板
4) --program-prefix:编译生成可执行文件的前缀
5) --prefix:make install的的位置
注:–target=arm-linux意思是说目标平台是运行于ARM体系结构的linux内核;–program-prefix=arm-linux-是指生成的可执行文件的前缀,比如arm-linux-gdb,–prefix是指生成的可执行文件安装在哪个目录,这个目录需要根据实际情况作选择。如果该目录不存在,会自动创建,当然,权限足够的话。
5、编译、安装
make
make install
注:在“make install”的时候可能会报错:“WARNING: 'makeinfo' is missing on your system.”。原因是因为当前环境中缺少“makeinfo”命令,安装一下就好了,如下
sudo apt-get install texinfo
幸运的话,会在–prefix指定的目录下生成三个子目录:bin、lib、share,我们需要的arm-linux-gdb就在其中的bin目录下。
在—prefix指定目录下生成arm-hisiv600-linux-gdb,同时还生成了arm-hisiv600-linux-gdbserver,因为gdb是直接运行在3519上,这里只关注arm-hisiv600-linux-gdb。
如果你不小心查看它的大小的话,会发觉它有14MB那么大!天呐!怎么会占这么多空间?没关系,我们可以为它瘦身。没错!就是使用strip命令!
3519av100:
arm-himix200-linux-strip arm-himix200-linux-gdb -o hi3519av100-gdb