海思GDB + GDB Server调试(适用于小内存设备)

1.简介

在设备上调试程序的时候,经常使用GDB进行调试,很方便也很容易追踪到问题所在。但是有些设备内存较小,直接使用GDB经常因为内存不够导致GDB无法运行,因此采用GDB + GDB Server这种方式会消耗设备的内存较小,在一些较少内存的设备上,可以使用这种方式进行调试。

2.编译

2.1 GDB源码下载

地址:
http://www.gnu.org/software/gdb/download/
目前最新版本为8.3.1

2.2 GDB编译

解压源码,进入源码主目录,使用下面命令编译:

./configure --target=arm-hisiv500-linux --prefix=/home/gdb/gdb-8.3/__install -v
make
make install

其中:
arm-hisiv500-linux 为设备的交叉编译工具链
/home/gdb/gdb-8.3/__install 是程序安装路径,可以随意设置
编译成功后,会在__install/bin下生成arm-hisiv500-linux-gdb可执行程序

2.3 GDB Serve编译

在主目录,进入到gdb\gdbserver目录,使用下面命令进行编译:

./configure --target=arm-hisiv500-linux --host=arm-hisiv500-linux
make  CC=arm-hisiv500-linux-gcc 

编译成功后,会在gdb\gdbserver下生成可执行程序gdbserver

3.设备程序编译

编译设备程序时候,需要在编译命令上加上-ggdb选项,同时注意不要使用strip命令来strip编译好的设备端程序

4.运行

4.1 设备端

将编译好的gdbserver拷贝到设备上,执行如下命令:

./gdbserver 192.168.22.100:2345 hisi_demo

其中:
192.168.22.100 为PC的IP
2345 为端口号
hisi_demo 为编译的设备端程序

在PC端的程序运行之后,会在设备上有如下打印:

Remote debugging from host 192.168.22.100, port 46154

4.2 PC

在编译好的arm-hisiv500-linux-gdb目录,执行如下命令:

./arm-hisiv500-linux-gdb 
(gdb) target remote 192.168.22.101:2345
(gdb) c(小写c运行程序)

其中:
192.168.22.101 为设备的IP
2345 为端口号

随后可以使用其它GDB命令进行程序的调试。

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
海思3516和ST7789是两个不同的产品。海思3516是一种处理器芯片,主要用于视频监控领域,而ST7789是一种液晶屏幕主控芯片,用于驱动液晶显示屏。这两个芯片在功能和应用方面是不同的。所以,海思3516芯片并不直接与ST7789液晶屏主控芯片相关联。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [海思3516系列芯片SPI速率慢问题深入研究与优化(基于PL022 SPI 控制器)](https://blog.csdn.net/u013062709/article/details/127470255)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [海思3516系列芯片SPI速率慢问题深入分析与优化(基于PL022 SPI 控制器)](https://blog.csdn.net/qq_38334677/article/details/127482498)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [undefined](undefined)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值