arm-linux-gdb+gdbserver环境搭建以及远程调试

发布者:PositiveEnergy最新更新时间:2020-01-30 来源: eefocus关键字:arm-linux-gdb+gdbserver  环境搭建  远程调试 手机看文章 扫描二维码
随时随地手机看文章

0) gdb源码下载:http://ftp.gnu.org/gnu/gdb/

1) 编译arm-linux-gdb

    指定交叉编译工具链的位置

    export PATH=$PATH:/usr/local/arm/3.4.1/bin
    开始配置和编译

    $cd gdb-6.6
    $./configure --target=arm-linux --prefix=/usr/local/arm/gdb -v
   $make
   

中间会出现一些地方编译过去,如

gdb declared with attribute warn_unused_result

 检查了下,发现是由于检查太严格了,把 Makefile 里面 -Wall 类似的强制警告检查都去掉就可以过了

 

2) 编译gdbserver
    $cd gdb/gdbserver
    $./configure --target=arm-linux --host=arm-linux
      target含义同前,host指明编译生成的gdbserver运行在arm-linux上,前者没有设定host的原因是
      arm-linux-gdb是在pc linux上运行的,就像arm-linux-gcc (很好理解的:))
    $make CC=/usr/local/arm/3.4.1/bin/arm-linux-gcc

 

   #gdbserver 192.168.1.200:7777 test
     Process test created; pid                                                                                   
     Listening on port 7777

   主机shell下
   $cd ~/tftpboot
   $arm-linux-gdb test
    GNU gdb 6.6 
    Copyright (C) 2006 Free Software Foundation, Inc.
    GDB is free software, covered by the GNU General Public License, and you are
    welcome to change it and/or distribute copies of it under certain conditions.
    Type "show copying" to see the conditions.
    There is absolutely no warranty for GDB. Type "show warranty" for details.
    This GDB was configured as "--host=i686-pc-linux-gnu --target=arm-linux"...
    (gdb)
    注意一下显示信息的最后--host=i686-pc-linux-gnu --target=arm-linux,明白了吧。。。
    target remote 192.168.1.168:7777   --连接gdbserver
    Remote debugging using 192.168.1.168:7777
    0x40000dd0 in _start () from /lib/ld-linux.so.2
    表示连接上了服务器,:),接下来就可以调试了。arm-linux-gdb和GDB的用法一样,只是没有r这个命   
   令,运行程序用c命令。
    (gdb) l
   1       #include
   2
   3       int main()
   4       {
   5               char *ptr = "csdn";
   6               printf("%c/n",*(ptr++));
   7               return 0;
   8       }
    (gdb) b 3
   Breakpoint 1 at 0x83d0: file test.c, line 3.

   另外由于程序是在目标板上运行,调试是在PC下,程序的结果还是会在目标板上显示的, 
   例如:minicom,lcd等。
   btw,附近一篇介绍GDB使用的文章:http://blog.csdn.net/haoel/archive/2003/07.aspx,这下全了吧。哈


关键字:arm-linux-gdb+gdbserver  环境搭建  远程调试 引用地址:arm-linux-gdb+gdbserver环境搭建以及远程调试

上一篇:arm linux中添加开机启动
下一篇:ARM 开发板嵌入式linux系统与主机PC通过串口传输文件

推荐阅读最新更新时间:2024-11-08 13:31

STM32F030 Nucleo-开发环境搭建和工程建立
个人比较喜欢Keil,所以就装个MDK513!环境安装好了!包括如果在电脑中还有其他ARM的开发工具,那么Keil5就需要在环境变量中修改路径。不过这点不需要说了,度娘里面资料非常多!搜搜就好! 环境搭好后,为了验证,我就迫不及待的解压前面下载的标准外设库STM32F0xx_StdPeriph_Lib_V1.5.0,然后再路径:......STM32F0xx_StdPeriph_Lib_V1.5.0ProjectsSTM32F0xx_StdPeriph_TemplatesMDK-ARM 中打开标准外设库提供的工程模板,然后就是编译了! 然后,然后,悲催的事情出现了:报错!报错!报了很多的错!!但是基本上都是一个错误如下:
[单片机]
STM32F030 Nucleo-开发<font color='red'>环境</font>的<font color='red'>搭建</font>和工程建立
51单片机开发环境搭建方法
前言 上至航天,下至儿童玩具,凡事沾一点智能的东西,都离不开单片机的身影......,本文开始,我们学习单片机的相关知识,我们采用的是由普中科技开发的A7开发板,该开发板搭载了STC89C52或STC89C516两块芯片,这款单片机属于8051系列和STC8系列的单片机,51单片机作为入门级单片机不仅在教学实验中应用广泛,在实际项目中应用亦是十分广泛。 一、基础知识 1.什么是单片机? 单片机是一个单片微型计算机,由中央处理器CPU、数据存储器RAM、程序存储器ROM、输入/输出设备(键盘、显示屏等)等集成到一块芯片上组成。 2.单片机能做什么? 前言中开篇便比较好的阐释了单片机的功能,凡是沾点智能的影子的东西,都离不开单片机
[单片机]
51单片机开发<font color='red'>环境</font><font color='red'>搭建</font>方法
【单片机笔记】NodeMcu入坑—ESP8266开发环境搭建
NodeMcu简介 NodeMCU是一个开源的物联网平台, 它使用Lua脚本语言编程。该平台基于eLua开源项目,底层使用ESP8266 sdk 0.9.5版本。该平台使用了很多开源项目, 例如 lua-cjson, spiffs. NodeMCU包含了可以运行在 esp8266 Wi-Fi SoC芯片之上的固件,以及基于ESP-12模组的硬件。 入手的的是一个CP2102版本的板卡 第一步、安装CP2102的串口驱动 第二步、下载相关的工具 1.配置java环境 2.烧录软件:nodemcu-flasher 3.基础固件下载 4.下载ESplorer 附上所有用到的工具和固件点击打开链接
[单片机]
【单片机笔记】NodeMcu入坑—ESP8266开发<font color='red'>环境</font><font color='red'>搭建</font>
在KEIL下搭建基于 STM32 和 rt-thread 的开发环境
RT_thread开发人员是用MDK(Keil)进行开发管理的,当然也提供了IAR等开发环境的配置。针对初学者都提供了相关的教程和案例,不过项目开发,还是得讲究一下如何有效搭建开发环境和配置。 MDK(Keil)的安装和配置(破解)就略过了。能进行开发移植系统的程序员如果还不会最基础的开发环境搭建,那……去闭关修炼吧。 芯片选择:ST(意法半导体)-STM32F103ZE 原因: 开发必备。大多单片机爱好者,学习过程基本是:菜鸟52- 逐步深入stm32- 深度中毒ARM。 ST芯片应用广泛。ST的性价比(点赞)和高性能在各领域都发挥着重要作用(好用吖)。 ST开发容易。固件库和资料都很全,网上大把教程和学习板(
[单片机]
在KEIL下<font color='red'>搭建</font>基于 STM32 和 rt-thread 的开发<font color='red'>环境</font>
STM32 FreeRTOS Keil环境搭建
由于FreeRTOS的官方已经支持STM32F1X系列的Cortex-M3的移植,所以只需要在Keil IDE中设置相关即可了; 在Keil中新建一工程,在工程中新建3个组,分别对应3个目录用来存放:user、rtos、stmlib user中添加用户自己的代码和头文件; rtos中添加rots的文件主要有:list.c、task.c、queue.c、head_2.c、port.c stmlib中添加STM32官方提供的STM32操作的lib库(注意stm32f10x_md.s中的内容和替换为FreeRTOS Demo 中的STM32F10X.s否则系统调度不能正常工作) 另外需要把FreeRTOS/source/inc
[单片机]
开发环境搭建 (一) OK6410A 开发环境 1官方环境 OK
从nand中 的 u-boot(1.1.6) 启动 u-boot load nand 中的kernel(3.0.1),然后kernel 启动 kernel 挂载 nand 中的第三个分区(被格式化为yaff2)为根文件系统,并执行 /linuxrc /linuxrc 作为 进程1 启动 u-boot 与 启动模式 u-boot(版本 U-Boot 1.1.6,u-boot.bin,4062204 bytes) u-boot镜像在nand(device 0 offset 0x500000, size 0x500000)中, 设置启动模式为nand 启动 环境变量 bootargs 为 root=/dev/m
[单片机]
Cortex-M3 (NXP LPC1788)之开发环境搭建
一,开发环境介绍 最近有幸从NXP的代理商获得一块开发板OM13001,该开发板使用NXP LPC1788的处理器,主要特性如下: Data Memory: 32 MB SDRAM + 96 KB internal Ethernet: 100/10M Ethernet interface based on SMSC LAN8720 Ethernet PHY Clock Crystals: 12.000 MHz crystal for CPU , 32.768 kHz crystal for RTC Connectors: 200 pos expansion connector (SODIMM standard),
[单片机]
Cortex-M3 (NXP LPC1788)之开发<font color='red'>环境</font><font color='red'>搭建</font>
Linux系统下搭建C/C++开发的IDE环境
  RedHat Linux上面没有提供Anjuta软件包,上面提供了一个Glade应用程序界面设计工具。Linux上面使用Anjuta和Glade以及 Glademm软件包可以搭建一个Linux下面进行C/C++软件开发的IDE环境,可以进行GTK+/Gnome的应用程序开发。   以前开发 Linux 程序时写出好的图形化用户界面比较难。 在 GIMP 工具包 (GTK)诞生之后,这件事就变得比较容易了。当 Damon Chaplin 写出 GLADE 这个用于在 GTK 环境下生成图形化用户界面的工具后,就更容易了。但是 GLADE 仍然不能算是一个“集成开发环境”(如 Visual Basic 等等。), 因为程序员不能
[嵌入式]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved