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系统下的强大功能,从而提高嵌入式系统开发效率。