J-Link GDB Server - SEGGER

Hilden, Germany – September 15th, 2011 – SEGGER Microcontroller today announced the free
availability of the J-Link GDB-Server. As the GNU-tool-chain gains ground in terms of performance and usability, GDB continues to grow in popularity. Per the numerous requests of this expanding community, SEGGER is now offering their professionally developed GDB-Server for free to all users of the SEGGER J-Link product line. The free GDB-server is now available for download as part of the J-Link Software and Documentation pack V4.35e.

“With the now free GDB-Server the GNU community has easier access to the fastest debug emulator in the market. For an unlimited debug experience we also offer Flash Breakpoints. This option is included in our non-commercial J-Link EDU, which is especially attractive to educational institutions”, says Dirk Akemann, Partnership Marketing Manager at SEGGER.

Full product specifications are available at: www.segger.com/jlink.html
The J-Link-Software is available at: www.segger.com/download_jlink.html.

J-Link GDB Server

The J-Link GDB Server is a remote server for the GDB which allows to use J-Link with GDB or any toolchain which uses GDB as debugging interface, such as Yagarto and Sourcery G++). The GDB and GDB Server communicate via a TCP/IP connection, using the standard GDB remote serial protocol. The GDB supports a standard set of commands like open elf/bin files, reading/writing memory, etc. Beside this, the GDB also supports so called monitor commands which are passed to the GDB Server and interpreted by it, allowing it to implement J-Link specific commands like reading/writing CP15 registers, enabling flash download via J-Link, using Unlimited Flash Breakpoints, enabling semihosting, etc. In general, the J-Link software and documentation package comes with two versions of the GDB Server: A GUI based one and a command-line version.

 Documentation download

GNU Project Debugger (GDB) overview

The GNU Project Debugger (GDB) is a freely available debugger, distributed under the terms of the GNU Public license (GPL). It connects to an emulator via a TCP/IP connection. It can connect to every emulator for which a GDB server software is available. The latest Unix version of the GDB is freely available from the GNU committee under: http://www.gnu.org/software/gdb/download/

Supported cores

Currently, the J-Link GDB Server can be used with the following CPU cores:

  • ARM7/9/11
  • Cortex-A5/A8/A9
  • Cortex-M0/M0+/M1/M3/M4/M7
  • Cortex-R4
  • Microchip PIC32
  • Renesas RX610, RX621, RX62N, RX62T, RX630, RX631, RX63N

Availability

J-Link GDB Server comes with cross-platform support and is available for Windows, Linux and Mac OS X.

Requirements

To use the J-Link GDB Server, you have to meet the following requirements:

J-Link GDB Server (GUI Version)

The J-Link GDB Server's user interface shows information about the debugging process and allows the user to configure some settings like target endianess, if memory reads should be cached in order to improve performance or if a logfile shall be generated.

J-Link GDB Server (Command Line Version)

The command line version of J-Link GDB Server is a special version of the J-Link GDB Server which does not provide any GUI interface and has been especially developed for J-Link Linux & MAC support. It basically provides the same features as the GUI Version of J-Link GDB Server. The command line version of the J-Link GDB Server is also available for Windows and comes with the regular J-Link software and documentation package.

Setting up the J-Link GDB Server

Typically, most of the GDB and target setup is done from GDB via remote commands (monitor) in the .gdbinit file. The commands used in the .gdbinit file are performed before the download of the application into the target memory is performed. This allows the user to perform initialization steps which might be necessary to enable the access to the target memory. The .gdbinit file also allows to use download into flash memory via J-Link and Unlimited Flash Breakpoints. Nevertheless, some options need to be setup when starting the GDB Server (Target endianess, device name for devices which need a special connect sequence) since this information is needed to guarantee a proper target connection

Protocol extensions

    • SWO support
      GDB Server supports transfer of SWO data (terminal output, instrumentation trace, PC samples, etc.)

J-Link GDB Server

The GNU Project Debugger (GDB) is a freely available and open source debugger. It can be used in command line mode, but is also integrated in many IDEs like emIDE
or Eclipse.
J-Link GDB Server is a remote server for GDB making it possible for GDB to connect to and communicate with the target device via J-Link.

GDB Server and GDB communicate via a TCP/IP connection, using the standard GDB remote protocol. GDB Server receives the GDB commands, does the J-Link communication and replies with the answer to GDB.

With J-Link GDB Server debugging in ROM and Flash of the target device is possible and the Unlimited Flash Breakpoints can be used.

It also comes with some functionality not directly implemented in the GDB. These can be accessed via monitor commands, sent directly via GDB, too.

The GNU Project Debugger (GDB) is a freely available debugger, distributed under the terms of the GPL. The latest Unix version of the GDB is freely available from the
GNU committee under: http://www.gnu.org/software/gdb/download/
J-Link GDB Server is distributed free of charge.

Setting up GDB Server GUI version

The GUI version of GDB Server is part of the Windows J-Link Software Package (JLinkGDBServer.exe).
When starting GDB Server a configuration dialog pops up letting you select the needed configurations to connect to J-Link and the target.

All configurations can optionally be given in the command line options.
Note:

To make sure the connection to the target device can be established corretly, the device, as well as the interface and interface speed have to be given on
start of GDB Server, either via command line options or the configuration dialog. If the target device option (-device) is given, the configuration dialog will not pop up.

GDB Server user interface

The J-Link GDB Server’s user interface shows information about the debugging process and the target and allows to configure some settings during execution.

It shows following information:

  • • The IP address of host running debugger.
  • • Connection status of J-Link.
  • • Information about the target core.
  • • Measured target voltage.
  • • Bytes that have been downloaded.
  • • Status of target.
  • • Log output of the GDB Server (optional, if Show log window is checked).
  • • Initial and current target interface speed.
  • • Target endianess.

These configurations can be made from inside GDB Server:

  • • Localhost only: If checked only connections from 127.0.0.1 are accepted.
  • • Stay on top
  • • Show log window.
  • • Generate logfile: If checked, a log file with the GDB <-> GDB Server <-> J-Link communication will be created.
  • • Verify download: If checked, the memory on the target will be verified afterdownload.
  • • Init regs on start: If checked, the register values of the target will be set to a reasonable value before on start of GDB Server.

Supported remote (monitor) commands

J-Link GDB Server comes with some functionalities which are not part of the standard GDB.

These functions can be called either via a gdbinit file passed to GDB Server or via monitor commands passed directly to GDB, forwarding them to GDB Server.

To indicate to GDB to forward the command to GDB Server ’monitor’ has to be prepended to the call.

For example a reset can be triggered in the gdbinit file with "reset" or via GDB with "monitor reset".

Following remote commands are available:

Following remote commands are deprecated and only available for backward compability:

Note: The remote commands are case-insensitive.

Note: Optional parameters are set into square brackets.

Note: The examples are described as follows:

  • Lines starting with ’#’ are comments and not used in GDB / GDB Server.
  • Lines starting with ’>’ are input commands from the GDB.
  • Lines starting with ’<’ is the output from GDB Server as printed in GDB.

J-Link GDB Server Command的更多相关文章

  1. Linux / UNIX create soft link with ln command

    How to: Linux / UNIX create soft link with ln command by NIXCRAFT on SEPTEMBER 25, 2007 · 42 COMMENT ...

  2. 模拟 2013年山东省赛 J Contest Print Server

    题目传送门 /* 题意:每支队伍需求打印机打印n张纸,当打印纸数累计到s时,打印机崩溃,打印出当前打印的纸数,s更新为(s*x+y)%mod 累计数清空为0,重新累计 模拟简单题:关键看懂题意 注意: ...

  3. 常用SQL Server命令(持续) | Commonly used SQL Server command list (Cont')

    ---------------------------------------------------- 1. 查看某数据库中某表详细信息 SP_HELP USE DB_NAME GO SP_HELP ...

  4. GDB和GDB Server

    gdb是linux c编程标配的调试工具,平时接触比较多的可能是本机随gcc一起安装的调试工具.但是,即使是本机的gdb,也经常被printf代替,所以接触也仅限于知道. 简单程序固然可以用print ...

  5. gdb server调试步骤

    编译gdb/gdbserver 编译arm-linux-gdb 下载gdb-7.12,解压缩进入目录 ./configure --target=arm-linux --program-prefix=a ...

  6. ADAMS与外部程序通信(Adams Command Server)

    The Adams Command Server is an Adams View (or Adams Car) component that manages communication betwee ...

  7. Linux GDB Debugging

    Catalog . GDB Introduction . GDB基本命令 1. GDB Introduction GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具,GDB主要可帮助工程师 ...

  8. IIS FTP Server Anonymous Writeable Reinforcement, WEBDAV Anonymous Writeable Reinforcement(undone)

    目录 . 引言 . IIS 6.0 FTP匿名登录.匿名可写加固 . IIS 7.0 FTP匿名登录.匿名可写加固 . IIS >= 7.5 FTP匿名登录.匿名可写加固 . IIS 6.0 A ...

  9. 学习的例子gcc+gdb+make

    1 小侃GCC 在正式使用gcc之前,我们先来侃侃gcc是啥玩意儿? 历史 如今的GCC是GNU Compiler Collection的简称.既然是Collection,就是指一些工具链的集合. 最 ...

随机推荐

  1. Go语言规格说明书 之 Go语句(Go statements)

    go version go1.11 windows/amd64 本文为阅读Go语言中文官网的规则说明书(https://golang.google.cn/ref/spec)而做的笔记,介绍Go语言的 ...

  2. ThinkPHP使用不当可能造成敏感信息泄露

    ThinkPHP在开启DEBUG的情况下会在Runtime目录下生成日志,如果debug模式不关,可直接输入路径造成目录遍历. ThinkPHP3.2结构:Application\Runtime\Lo ...

  3. webpack文件笔记

    webpack.prod.conf.js里面的ExtractTextPlugin,把css文件提取出来,专门进行打包minify :压缩 依赖的第三方库打包到vendor.js里面 每次项目打包的时候 ...

  4. PHP递归排序

    递归算法对于任何一个编程人员来说,应该都不陌生.因为递归这个概念,无论是在PHP语言还是Java等其他编程语言中,都是大多数算法的灵魂. 对于PHP新手来说,递归算法的实现原理可能不容易理解.但是只要 ...

  5. [PHP] 链表数据结构(单链表)

    链表:是一个有序的列表,但是它在内存中是分散存储的,使用链表可以解决类似约瑟夫问题,排序问题,搜索问题,广义表 单向链表,双向链表,环形链表 PHP的底层是C,当一个程序运行时,内存分成五个区(堆区, ...

  6. python接口自动化测试二十三:文件上传

    # 以禅道为例: 一.创建一个类,类里面写一个登录方法: import requestsclass LoginZentao(): def __init__(self, s): # 初始化 self.s ...

  7. js字符串转换成数字与数字转换成字符串的实现方法

    转载:点击查看地址 js字符串转换成数字 将字符串转换成数字,得用到parseInt函数.parseInt(string) : 函数从string的开始解析,返回一个整数. 举例:parseInt(' ...

  8. python 全栈开发,Day121(DButils,websocket)

    昨日内容回顾 1.Flask路由 1.endpoint="user" # 反向url地址 2.url_address = url_for("user") 3.m ...

  9. python 全栈开发,Day106(结算中心(详细),立即支付)

    昨日内容回顾 1. 为什么要开发路飞学城? 提供在线教育的学成率: 特色: 学,看视频,单独录制增加趣味性. 练,练习题 改,改学生代码 管,管理 测,阶段考核 线下:8次留级考试 2. 组织架构 - ...

  10. 步步为营-64-进程&线程

    1 进程 using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; us ...