配置:
使用 Nucleo-L476RG。使用 GNU ARM Eclipse。我从 STM32CubeMX 生成了一个极简代码。我已经在我的板载 ST-Link 中刷新了 J-link 驱动程序。
一直在尝试为我的代码运行调试器,但我的程序计数器未设置为 main()。相反,它无法读取某个内存地址。错误“在地址“0xXXXXXXXX”中断,没有可用的调试信息,或在程序代码之外。” 出现。
我已经包含了屏幕截图和调试器日志,我们可以在其中看到错误。
请帮忙
图片:
https ://ibb.co/bBRHxn https://ibb.co/mGDKA7 https://ibb.co/mE4gOS https://ibb.co/fh5AHn https://ibb.co/jNFMOS https:// /ibb.co/ibmT3S https://ibb.co/gpJaiS https://ibb.co/jgaMOS
日志:
SEGGER J-Link GDB Server V6.30f Command Line Version
JLinkARM.dll V6.30f (DLL compiled Mar 2 2018 17:29:18)
Command line: -if swd -device STM32L476RG -endian little -speed 1000 -port 2331 -swoport 2332 -telnetport 2333 -vd -ir -localhostonly 1 -singlerun -strict -timeout 0 -nogui
-----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: on
Init regs on start: on
Silent mode: off
Single run mode: on
Target connection timeout: 0 ms
------J-Link related settings------
J-Link Host interface: USB
J-Link script: none
J-Link settings file: none
------Target related settings------
Target device: STM32L476RG
Target interface: SWD
Target interface speed: 1000kHz
Target endian: little
Connecting to J-Link...
J-Link is connected.
Firmware: J-Link STLink V21 compiled Jun 26 2017 10:35:16
Hardware: V1.00
S/N: 770526094
Checking target voltage...
Target voltage: 3.30 V
Listening on TCP/IP port 2331
Connecting to target...
WARNING: T-bit of XPSR is 0 but should be 1. Changed to 1.
Connected to target
Waiting for GDB connection...Connected to 127.0.0.1
Reading all registers
Read 4 bytes @ address 0x00000000 (Data = 0x4C05B510)
Read 2 bytes @ address 0x00000000 (Data = 0xB510)
Received monitor command: speed 1000
Target interface speed set to 1000 kHz
Received monitor command: clrbp
Received monitor command: reset
Resetting target
Received monitor command: halt
Halting target CPU...
...Target halted (PC = 0xB9337822)
Received monitor command: regs
R0 = 00000000, R1 = 00000000, R2 = 00000000, R3 = 00000000
R4 = 00000000, R5 = 00000000, R6 = 00000000, R7 = 00000000
R8 = 00000000, R9 = 00000000, R10= 00000000, R11= 00000000
R12= 00000000, R13= 4C05B510, MSP= 4C05B510, PSP= 00000000
R14(LR) = FFFFFFFF, R15(PC) = B9337822
XPSR 01000000, APSR 00000000, EPSR 01000000, IPSR 00000000
CFBP 00000000, CONTROL 00, FAULTMASK 00, BASEPRI 00, PRIMASK 00
Reading all registers
Received monitor command: speed auto
Select auto target interface speed (2000 kHz)
Received monitor command: flash breakpoints 1
Flash breakpoints enabled
Received monitor command: semihosting enable
Semi-hosting enabled (Handle on BKPT)
Received monitor command: semihosting IOClient 1
Semihosting I/O set to TELNET Client
Received monitor command: SWO DisableTarget 0xFFFFFFFF
SWO disabled successfully.
Received monitor command: SWO EnableTarget 0 0 0x1 0
SWO enabled successfully.
Read 4 bytes @ address 0xB9337822 (Data = 0x00000000)
Read 2 bytes @ address 0xB9337822 (Data = 0x0000)
Downloading 88 bytes @ address 0x08000000 - Verified OK
Downloading 8 bytes @ address 0x08000058 - Verified OK
Downloading 8 bytes @ address 0x08000060 - Verified OK
Comparing flash [....................] Done.
Verifying flash [....................] Done.
Writing register (PC = 0x08000000)
Read 4 bytes @ address 0x08000000 (Data = 0x4C05B510)
Read 2 bytes @ address 0x08000000 (Data = 0xB510)
Received monitor command: clrbp
Received monitor command: reset
Resetting target
Received monitor command: halt
Halting target CPU...
...Target halted (PC = 0xB9337822)
Received monitor command: regs
R0 = 00000000, R1 = 00000000, R2 = 00000000, R3 = 00000000
R4 = 00000000, R5 = 00000000, R6 = 00000000, R7 = 00000000
R8 = 00000000, R9 = 00000000, R10= 00000000, R11= 00000000
R12= 00000000, R13= 4C05B510, MSP= 4C05B510, PSP= 00000000
R14(LR) = FFFFFFFF, R15(PC) = B9337822
XPSR 01000000, APSR 00000000, EPSR 01000000, IPSR 00000000
CFBP 00000000, CONTROL 00, FAULTMASK 00, BASEPRI 00, PRIMASK 00
Reading all registers
Starting target CPU...
WARNING: T-bit of XPSR is 0 but should be 1. Changed to 1.
...Target halted (DBGRQ, PC = 0xF3AF4804)
Reading all registers
WARNING: Failed to read memory @ address 0xF3AF4804
WARNING: Failed to read memory @ address 0x4C05B50C
Reading 64 bytes @ address 0x4C05B500
WARNING: Failed to read memory @ address 0x4C05B500
WARNING: Failed to read memory @ address 0x4C05B508
Reading 64 bytes @ address 0x4C05B500
WARNING: Failed to read memory @ address 0x4C05B500
WARNING: Failed to read memory @ address 0x4C05B508
Reading 64 bytes @ address 0xF3AF4800
WARNING: Failed to read memory @ address 0xF3AF4800
WARNING: Failed to read memory @ address 0xF3AF4804
Reading 64 bytes @ address 0xF3AF4800
WARNING: Failed to read memory @ address 0xF3AF4800
WARNING: Failed to read memory @ address 0xF3AF4804
Reading 64 bytes @ address 0xF3AF4800
WARNING: Failed to read memory @ address 0xF3AF4800
WARNING: Failed to read memory @ address 0xF3AF4806