I want to debug STM32 but I have a problem

Hi,
My project was modified a little, platformio could not be programmed, which showed “ERROR: Failed to prepare for programming.” it could enter the debugging interface, but debugging was abnormal.But I erased the chip, and platformio was programmed and debugged.Before use is normal, but not now, how should I solve this problem excuse me?

undefinedWarning! `env_default` configuration option in section [platformio] is deprecated and will be removed in the next release! Please use `default_envs` instead
Preparing firmware for debugging...
Warning! `env_default` configuration option in section [platformio] is deprecated and will be removed in the next release! Please use `default_envs` instead
Processing STM32F1 (platform: https://github.com/platformio/platform-ststm32.git; framework: arduino; board: genericSTM32F103RC)
--------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/ststm32/genericSTM32F103RC.html
PLATFORM: ST STM32 5.7.0 #cad41e7 > STM32F103RC (48k RAM. 256k Flash)
HARDWARE: STM32F103RCT6 72MHz, 48KB RAM, 256KB Flash
DEBUG: Current (jlink) External (blackmagic, jlink, stlink)
PACKAGES: toolchain-gccarmnoneeabi 1.70201.0 (7.2.1), framework-arduinoststm32-maple 1.10000.190819 (1.0.0)
Converting Marlin.ino
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 37 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <LiquidCrystal> 1.3.4
|   |-- <Wire> 1.0
|-- <TMCStepper> 0.4.5
|   |-- <SPI> 1.0
|-- <30aa480>
|   |-- <Wire> 1.0
|-- <Arduino-L6470> 0.7.0
|-- <SailfishLCD> #e35d62c
|-- <SailfishRGB_LED> #4d0c888
|   |-- <Wire> 1.0
|-- <SlowSoftI2CMaster> #3a18be5
|-- <STM32ADC> 1.0
|-- <SPI> 1.0
|-- <EEPROM>
|-- <Wire> 1.0
Building in debug mode
Checking size .pioenvs\STM32F1\firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
DATA:    [====      ]  44.6% (used 21936 bytes from 49152 bytes)
PROGRAM: [========  ]  75.0% (used 196732 bytes from 262144 bytes)
========================= [SUCCESS] Took 14.50 seconds =========================

Environment           Status    Duration
--------------------  --------  ------------
megaatmega2560        IGNORED
megaatmega1280        IGNORED
at90usb1286_cdc       IGNORED
at90usb1286_dfu       IGNORED
DUE                   IGNORED
DUE_USB               IGNORED
DUE_debug             IGNORED
LPC1768               IGNORED
LPC1769               IGNORED
melzi                 IGNORED
melzi_optiboot        IGNORED
rambo                 IGNORED
sanguino_atmega644p   IGNORED
sanguino_atmega1284p  IGNORED
STM32F1               SUCCESS   00:00:14.498
STM32F4               IGNORED
ARMED                 IGNORED
mks_robin             IGNORED
teensy35              IGNORED
malyanm200            IGNORED
esp32                 IGNORED
fysetc_f6_13          IGNORED
linux_native          IGNORED
========================= 1 succeeded in 00:00:14.498 =========================
SEGGER J-Link GDB Server V6.52 Command Line Version

JLinkARM.dll V6.52 (DLL compiled Sep 27 2019 17:50:11)

Command line: -singlerun -if SWD -select USB -device STM32F103RC -port 2331
-----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:               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:                 STM32F103RC
Target interface:              SWD
Target interface speed:        4000kHz
Target endian:                 little

Connecting to J-Link...
Reading symbols from d:\Documents\Desktop\Testmini\Marlin-bugfix-2.0.x\.pioenvs\STM32F1\firmware.elf...
done.
PlatformIO Unified Debugger -> http://bit.ly/pio-debug
PlatformIO: debug_tool = jlink
PlatformIO: Initializing remote target...
J-Link is connected.
Firmware: J-Link V9 compiled Jun  2 2222 22:22:22
Hardware: V9.00
S/N: 30000299
Feature(s): GDB, RDI, FlashBP, FlashDL, JFlash, RDDI
Checking target voltage...
Target voltage: 3.35 V
Listening on TCP/IP port 2331
Connecting to target...
0x0801617a in Temperature::isCoolingHotend (e=0 '\000') at Marlin\src\module/temperature.h:602
602	      return temp_hotend[HOTEND_INDEX].target < temp_hotend[HOTEND_INDEX].current;
Connected to target
Waiting for GDB connection...Connected to 127.0.0.1
Reading all registers
Read 2 bytes @ address 0x08019FAC (Data = 0xB508)
Read 2 bytes @ address 0x08022F04 (Data = 0x4770)
Read 4 bytes @ address 0x0801617A (Data = 0xF9FFF003)
Received monitor command: clrbp
Received monitor command: speed auto
Select auto target interface speed (2000 kHz)
Select auto target interface speed (2000 kHz)
Loading section .text, size 0x2b064 lma 0x8000000
Downloading 15952 bytes @ address 0x08000000
Downloading 16160 bytes @ address 0x08003E50
Downloading 16208 bytes @ address 0x08007D70
Downloading 16128 bytes @ address 0x0800BCC0
Downloading 16144 bytes @ address 0x0800FBC0
Downloading 16080 bytes @ address 0x08013AD0
Downloading 16080 bytes @ address 0x080179A0
Downloading 15968 bytes @ address 0x0801B870
Downloading 16016 bytes @ address 0x0801F6D0
Downloading 16064 bytes @ address 0x08023560
Downloading 15428 bytes @ address 0x08027420
Downloading 400 bytes @ address 0x0802B068
Downloading 4160 bytes @ address 0x0802B1F8
Loading section .ARM.exidx, size 0x190 lma 0x802b068
Loading section .data, size 0x1040 lma 0x802b1f8
Downloading 15940 bytes @ address 0x0802C238
Loading section .rodata, size 0x3e44 lma 0x802c238
Start address 0x80003f8, load size 196728
Transfer rate: 5192 KB/sec, 14052 bytes/write.
ERROR: Failed to prepare for programming.
RAM check failed @ addr 0x20001458.
RAM check failed while testing 0x1060 bytes @ addr 0x2000075C.
Writing register (PC = 0x 80003f8)
Read 2 bytes @ address 0x08019FAC (Data = 0xB508)
Read 2 bytes @ address 0x08022F04 (Data = 0x4770)
Received monitor command: reset
Resetting target
Temporary breakpoint 1 at 0x8003b9e: file C:\users\sengong\.platformio\packages\framework-arduinoststm32-maple\STM32F1\cores\maple\main.cpp, line 38.
Resetting target
Received monitor command: halt
Halting target CPU...
...Target halted (PC = 0x080003F8)
Read 4 bytes @ address 0x080003F8 (Data = 0x468D4901)
Read 2 bytes @ address 0x080003F8 (Data = 0x4901)
Reading 64 bytes @ address 0x08003B80
Read 2 bytes @ address 0x08003B9E (Data = 0xF001)
PlatformIO: Initialization completed
Reading 64 bytes @ address 0x08014AC0
Read 2 bytes @ address 0x08014ACE (Data = 0x4805)
PlatformIO: Resume the execution to `debug_init_break = tbreak main`
PlatformIO: More configuration options -> http://bit.ly/pio-debug
Setting breakpoint @ address 0x08003B9E, Size = 2, BPHandle = 0x0001
Setting breakpoint @ address 0x08014ACE, Size = 2, BPHandle = 0x0002
Starting target CPU...
...Breakpoint reached @ address 0x08003B9E
Reading all registers
Removing breakpoint @ address 0x08003B9E, Size = 2
Removing breakpoint @ address 0x08014ACE, Size = 2
Read 4 bytes @ address 0x08003B9E (Data = 0xFA33F001)

Temporary breakpoint 1, main () at C:\users\sengong\.platformio\packages\framework-arduinoststm32-maple\STM32F1\cores\maple\main.cpp:38
38	    setup();

What kind of board are you using? Does it really have a STM32F103RCT6 chip on it?

There is potentially a mismatch between J-Link’s idea of where RAM starts and ends and the effective start and end.

This is the chip, J_LINK in which file to set the start address and end address?