Linux 系统下使用 JLink 程序下载相关指导 (linux jlink 下载程序)

Linux系统下使用JLink程序下载相关指导

在嵌入式系统中,调试是一个非常重要的环节,而一个好用的下载工具能够大大提高嵌入式系统的开发效率。JLink是Segger公司开发的一款高性能的下载器,支持JTAG、SWD等多种协议,特别适用于ARM Cortex系列芯片的调试。本文将介绍如何在Linux系统下使用JLink下载器。

1. 软件安装

我们需要安装JLink软件包。在Segger官网上下载对应的包,并解压到指定目录下。然后,通过终端进入该目录,输入以下命令:

“`

./JLink_Linux_V_x86_64.deb

“`

其中,为版本号,根据具体情况修改。这样,我们就可以在Linux系统下使用JLink下载器了。

2. 连接硬件

接下来,我们需要连接JLink下载器和调试的ARM芯片。在硬件上,连接JLink-ARM与ARM芯片的相应引脚即可。需要注意的是,连接时要保证功率安全,不要反接或接错,否则可能对硬件造成永久损坏。

3. 查找设备

接着,我们需要查找连接的设备。在终端中输入以下命令:

“`

lsu

“`

该命令会列出所有与电脑连接的USB设备,其中会有类似于以下内容:

“`

Bus 001 Device 007: ID 1366:0105 SEGGER J-Link

“`

其中,1366为厂商ID,0105为产品ID,可以用于确定连接的设备是否为JLink下载器。如果找不到设备,可以检查连接是否正常,也可以插拔JLink下载器,再次运行该命令查看结果。

4. 运行JLinkExe

确定连接了设备之后,我们可以运行JLinkExe程序进行调试。在终端中输入以下命令:

“`

./JLinkExe

“`

该命令会进入JLink串口调试界面,输入“connect”命令可以连接芯片,如下:

“`

J-Link> connect

“`

此时,JLink将自动识别芯片类型,并启动JTAG或SWD接口。连接成功后,我们可以运行其他命令,如读写寄存器、调试代码等等。

5. JLinkGDBServerCL

另外一个重要的工具是JLinkGDBServerCL,该工具可以实现用户和GDB之间的通信,可以将JLink作为GDB的后端使用。在终端中输入以下命令:

“`

./JLinkGDBServerCL

“`

该命令将启动一个GDB服务端,打印类似于以下内容:

“`

SEGGER J-Link GDB Server V7.12 Command Line Version

JLinkARM.dll V7.12 (DLL compiled Feb 18 2023 17:44:17)

Command line: JLinkGDBServerCL

—–GDB Server start settings—–

GDBInit file: none

GDB Server Listening port: 2331

SWO raw output listening port: 2332

Terminal I/O port: 2333

Accept remote connection: localhost only

Generate logfile: off

Verify download: off

Init regs on start: off

Silent mode: off

Single run mode: off

“`

此时,我们可以在开发环境中配置GDB后端,使用GDB调试代码。在命令窗口中,输入以下命令:

“`

arm-none-eabi-gdb

“`

进入GDB调试环境,在这个环境中,我们可以像普通的Linux程序一样下载、调试代码。例如:

“`

(gdb) tar ext :2331

Remote debugging using :2331

0x00000000 in ?? ()

(gdb) load mn.elf

Loading section .vector_table, size 0x400 lma 0x8000000

Loading section .text, size 0x78c lma 0x8000400

Loading section .rodata, size 0x24 lma 0x8000fe4

Loading section .init_array, size 0x4 lma 0x8001008

Loading section .fini_array, size 0x4 lma 0x800100c

Loading section .data, size 0x74 lma 0x8001010

Start address 0x8000420, load size 2152

Transfer rate: 1 KB/sec, 719 bytes/writesection .bss, size 0x80 lma 0x8001084

Section .comment not loaded due to incorrect section type (6)

(gdb) run

Starting program: /home/user/mn.elf

[Inferior 1 (Remote target) exited normally]

(gdb)

“`

6.

本文介绍了在Linux系统下使用JLink程序下载相关指导,首先介绍了JLink软件的安装和下载器与ARM芯片的连接方法,然后详细介绍了如何使用JLinkExe和JLinkGDBServerCL进行下载和调试。通过本文的介绍,用户可以体验到JLink下载器在Linux系统下的强大功能,从而提高嵌入式系统开发效率。


数据运维技术 » Linux 系统下使用 JLink 程序下载相关指导 (linux jlink 下载程序)