Phytec中国的wiki
support@phytec.cn
热线:0755-61802110-803
我们的开发板预装了gdbserver,可以直接
gdbserver --multi :5000
来在开发板启动gdbserver。此时gdb运行在网络连接的模式,也可以运行在串口模式,请查阅相关的教程。
在网络模式,需要开发板和上位机处于同一个网络,互相可以ping通。另外也需要检查上位机的防火墙配置。
接下来需要运行SDK中的gdb,注意这个gdb不是主机中的,而是开发板SDK中的。怎样用yocto生成SDK,以及SDK使用方法 / yocto how to build SDK and how to use them
然后初始化sdk环境变量。
source sdkpath/environment-setup-cortexa9hf-neon-phytec-linux-gnueabi
以下以编译一个helloworld为例子。
#include <stdio.h> int main (void) { int i; printf ("Enter Programme\n"); for(i=0;i<=10;i++) { printf ("count:%d\n",i); } printf ("exit\n"); return 0; }
保存为gdbtest.c,注意我们的开发板中有一个例子叫hello,请不要以这个为程序名。
$CC -g gdbtest.c -o gdbtest
然后,在上位机启动gdb。
$GDB -q gdbtest
连接开发板
target extended-remote ip地址:5000
复制要调试的文件到开发板,注意如果要调试的文件没有更新则不用复制,你也可以用其他方式将要执行的文件复制到开发板,如用sd卡,scp等。
remote put hostfile targetfile
设置调试的文件名
set remote exec-file 程序名
接下来就可以用gdb调试了。
退出时,可以在上位机输入
monitor exit
来让开发板退出gdbserver。
使用gdbserver也可以使用core dump,可以参考:
Overview
Content Tools
Activity
Tasks