保护膜 东莞网站建设,asp网站打开很慢的原因,网站制作域名是免费的吗,平阳住房和城乡建设厅网站很多嵌入式 linux 开发者都能熟练的使用 gdb/lldb 调试应用程序#xff0c;但是还有不少朋友在调试开发板上的程序时#xff0c;仍然在使用原始的 printf。本文介绍一下使用 gdbserver 通过网络调试开发板上的 AWTK 应用程序的方法#xff0c;供有需要的朋友参考。 1. 下载 …很多嵌入式 linux 开发者都能熟练的使用 gdb/lldb 调试应用程序但是还有不少朋友在调试开发板上的程序时仍然在使用原始的 printf。本文介绍一下使用 gdbserver 通过网络调试开发板上的 AWTK 应用程序的方法供有需要的朋友参考。 1. 下载 gdb 源代码
通常工具链里都会带有 gdb但是没有带 gdbserver这时候就需要下载 gdb 源代码并自己编译 gdbserver 了。为了和工具链的版本保持一致最好下载和工具链版本一致的 gdb 源代码。比如这里我们使用的是 arm-openwrt-linux-gdb 8.0 版本。
arm-openwrt-linux-gdb --versionGNU gdb (GDB) 8.0那就下载 8.0 版本的 gdb 源代码。
wget https://ftp.gnu.org/gnu/gdb/gdb-8.0.tar.gz
tar xf gdb-8.0.tar.gz2. 编译 gdbserver
cd gdb-8.0/gdb/gdbserver
./configure --hostarm-openwrt-linux --prefix$HOME/work/awtk-root/gdbserver
make
make install生成的 gdbserver 位于
~/work/awtk-root/gdbserver/bin/gdbserver将生成的 gdbserver 拷贝到开发板上并设置成可执行建议放在 /usr/bin 目录下。 3. 编译 AWTK 应用程序的调试版本 DEBUGTrue 表示编译调试版本TOOLS_PREFIX 为工具链的前缀请根据实际情况修改。 scons TOOLS_PREFIXarm-openwrt-linux- DEBUGTrue生成 release.tar.gz, 将 release.tar.gz 拷贝到开发板上并解压。 ./release.sh 4. 启动开发板的网络 请根据实际情况修改 IP 地址。我这里的 IP 地址是 192.168.8.161。使用 wifi 也是可以的只要能和开发板通信就行。 ifconfig eth0 192.168.8.161 netmask 255.255.255.0 up
route add default gw 192.168.8.1 eth0ifconfig
route -n5. 启动 gdbserver
cd release
./gdbserver 192.168.8.161:7890 bin/demoui6. 本地调试
启动 gdb
arm-openwrt-linux-gdb bin/demoui连接 gdbserver
target remote 192.168.8.161:7890设置断点
b main运行
c这时候就可以在本地调试开发板上的 AWTK 应用程序了调试方法和调试本地应用程序一样。 7. 其它
如果网络比较慢可以在本地放一个rootfs并在 gdb 中指定sysroot:
set sysroot /home/meetyoo/work/awtk-root/rootfs/rootfs如果嫌每次输入同样命令麻烦可以把初始化命令放到文件中
gdbinit
set sysroot /home/meetyoo/work/awtk-root/rootfs/rootfsb lcd_mem_set_double_fb_bitmap
b lcd_mem_create_single_fbtarget remote 192.168.8.161:7890启动 gdb 时指定初始化脚本文件名:
arm-openwrt-linux-gdb bin/demoui -x gdbinit