When I am in Keil Debug mode, the RTT work well. But If I start
JLinkRTTViewer without in Keil debug mode, then the JLinkRTTViewer can't
find the RTT CB, and it will find it again and again.Below is some jlink log:
SEGGER J-Link V4.98e Log File
DLL Compiled: May 5 2015 11:00:52
Logging started @ 2016-02-23 15:34
T0474 000:000 JLINK_OpenEx(...)
Firmware: J-Link ARM V8 compiled Nov 28 2014 13:44:46
Hardware: V8.00
S/N: 286370559
Feature(s): RDI,FlashDL,FlashBP,JFlash returns O.K. (0270ms, 0270ms total)
T0474 000:270 JLINK_ExecCommand("device = STM32F091RC", ...)Device "STM32F091RC" selected. returns 0x00 (0003ms, 0273ms total)
T0474 000:273 JLINK_TIF_Select(JLINKARM_TIF_SWD) returns 0x00 (0001ms, 0274ms total)
T0474 000:274 JLINK_SetSpeed(4000) (0000ms, 0274ms total)
T0474
000:274 JLINK_Connect() >0x108 TIF>Found SWD-DP with ID
0x0BB11477 >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x28
TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF> >0x28
TIF> >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x28
TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF> >0x21
TIF> >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x21
TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF> >0x28
TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF> >0x21
TIF> >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x21
TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF> >0x28
TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF>
>0x21
TIF> >0x108 TIF>Found SWD-DP with ID 0x0BB11477 >0x0D
TIF> >0x21 TIF> >0x0D TIF> >0x28 TIF> >0x0D
TIF> >0x28 TIF> >0x0D TIF> >0x21 TIF> >0x0D
TIF> >0x28 TIF> >0x0D TIF> >0x21 TIF> >0x0D
TIF> >0x21 TIF> >0x0D TIF> >0x21 TIF> >0x0D
TIF> >0x21 TIF> >0x0D TIF> >0x28 TIF> >0x0D
TIF> >0x28 TIF> >0x0D TIF> >0x21 TIF> >0x0D
TIF> >0x28 TIF> >0x0D TIF> >0x28 TIF> >0x0D
TIF> >0x28 TIF> >0x0D TIF> >0x21 TIF> >0x0D
TIF> >0x21 TIF> >0x0D TIF> >0x28 TIF> >0x0D
TIF> >0x21 TIF> >0x0D TIF> >0x21 TIF>
Found
Cortex-M0 r0p0, Little endian. -- CPU_WriteMem(4 bytes @ 0xE0002000) --
CPU_ReadMem(4 bytes @ 0xE000EDF0) -- CPU_ReadMem(4 bytes @
0xE0002000)FPUnit: 4 code (BP) slots and 0 literal slots --
CPU_ReadMem(4 bytes @ 0xE000EDFC) -- CPU_ReadMem(4 bytes @ 0xE0001000)
-- CPU_WriteMem(4 bytes @ 0xE0001000)CoreSight components:ROMTbl 0 @
E00FF000 -- CPU_ReadMem(16 bytes @ 0xE00FF000) -- CPU_ReadMem(16 bytes @
0xE000EFF0) -- CPU_ReadMem(16 bytes @ 0xE000EFE0)
ROMTbl 0 [0]:
FFF0F000, CID: B105E00D, PID: 000BB008 SCS -- CPU_ReadMem(16 bytes @
0xE0001FF0) -- CPU_ReadMem(16 bytes @ 0xE0001FE0)ROMTbl 0 [1]: FFF02000,
CID: B105E00D, PID: 000BB00A DWT -- CPU_ReadMem(16 bytes @ 0xE0002FF0)
-- CPU_ReadMem(16 bytes @ 0xE0002FE0)ROMTbl 0 [2]: FFF03000, CID:
B105E00D, PID: 000BB00B FPBT-bit of XPSR is 0 but should be 1. Changed
to 1. -- CPU_WriteMem(32768 bytes @ 0x20000000) returns 0x00 (0250ms,
0524ms total)
T0474 000:524 JLINK_RTTERMINAL_Control(Cmd = JLINKARM_RTTERMINAL_CMD_START) returns 0x00 (0000ms, 0524ms total)
T1FC0
000:524 -- CPU_ReadMem(1024 bytes @ 0x20000000) -- CPU_ReadMem(1024
bytes @ 0x20000400) -- CPU_ReadMem(1024 bytes @
0x20000800)JLINK_RTTERMINAL_Read(BufferIndex = 0, BufferSize =
0x000FFFFF) returns 0 (0000ms, 0524ms total)
T1FC0 000:631 --
CPU_ReadMem(1024 bytes @ 0x20000C00) -- CPU_ReadMem(1024 bytes @
0x20001000) -- CPU_ReadMem(1024 bytes @ 0x20001400) -- CPU_ReadMem(1024
bytes @ 0x20001800)JLINK_RTTERMINAL_Read(BufferIndex = 0, BufferSize =
0x000FFFFF) returns 0 (0000ms, 0524ms total)
JLinkRTTViewer without in Keil debug mode, then the JLinkRTTViewer can't
find the RTT CB, and it will find it again and again.Below is some jlink log:
SEGGER J-Link V4.98e Log File
DLL Compiled: May 5 2015 11:00:52
Logging started @ 2016-02-23 15:34
T0474 000:000 JLINK_OpenEx(...)
Firmware: J-Link ARM V8 compiled Nov 28 2014 13:44:46
Hardware: V8.00
S/N: 286370559
Feature(s): RDI,FlashDL,FlashBP,JFlash returns O.K. (0270ms, 0270ms total)
T0474 000:270 JLINK_ExecCommand("device = STM32F091RC", ...)Device "STM32F091RC" selected. returns 0x00 (0003ms, 0273ms total)
T0474 000:273 JLINK_TIF_Select(JLINKARM_TIF_SWD) returns 0x00 (0001ms, 0274ms total)
T0474 000:274 JLINK_SetSpeed(4000) (0000ms, 0274ms total)
T0474
000:274 JLINK_Connect() >0x108 TIF>Found SWD-DP with ID
0x0BB11477 >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x28
TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF> >0x28
TIF> >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x28
TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF> >0x21
TIF> >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x21
TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF> >0x28
TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF> >0x21
TIF> >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x21
TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF> >0x28
TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF>
>0x21
TIF> >0x108 TIF>Found SWD-DP with ID 0x0BB11477 >0x0D
TIF> >0x21 TIF> >0x0D TIF> >0x28 TIF> >0x0D
TIF> >0x28 TIF> >0x0D TIF> >0x21 TIF> >0x0D
TIF> >0x28 TIF> >0x0D TIF> >0x21 TIF> >0x0D
TIF> >0x21 TIF> >0x0D TIF> >0x21 TIF> >0x0D
TIF> >0x21 TIF> >0x0D TIF> >0x28 TIF> >0x0D
TIF> >0x28 TIF> >0x0D TIF> >0x21 TIF> >0x0D
TIF> >0x28 TIF> >0x0D TIF> >0x28 TIF> >0x0D
TIF> >0x28 TIF> >0x0D TIF> >0x21 TIF> >0x0D
TIF> >0x21 TIF> >0x0D TIF> >0x28 TIF> >0x0D
TIF> >0x21 TIF> >0x0D TIF> >0x21 TIF>
Found
Cortex-M0 r0p0, Little endian. -- CPU_WriteMem(4 bytes @ 0xE0002000) --
CPU_ReadMem(4 bytes @ 0xE000EDF0) -- CPU_ReadMem(4 bytes @
0xE0002000)FPUnit: 4 code (BP) slots and 0 literal slots --
CPU_ReadMem(4 bytes @ 0xE000EDFC) -- CPU_ReadMem(4 bytes @ 0xE0001000)
-- CPU_WriteMem(4 bytes @ 0xE0001000)CoreSight components:ROMTbl 0 @
E00FF000 -- CPU_ReadMem(16 bytes @ 0xE00FF000) -- CPU_ReadMem(16 bytes @
0xE000EFF0) -- CPU_ReadMem(16 bytes @ 0xE000EFE0)
ROMTbl 0 [0]:
FFF0F000, CID: B105E00D, PID: 000BB008 SCS -- CPU_ReadMem(16 bytes @
0xE0001FF0) -- CPU_ReadMem(16 bytes @ 0xE0001FE0)ROMTbl 0 [1]: FFF02000,
CID: B105E00D, PID: 000BB00A DWT -- CPU_ReadMem(16 bytes @ 0xE0002FF0)
-- CPU_ReadMem(16 bytes @ 0xE0002FE0)ROMTbl 0 [2]: FFF03000, CID:
B105E00D, PID: 000BB00B FPBT-bit of XPSR is 0 but should be 1. Changed
to 1. -- CPU_WriteMem(32768 bytes @ 0x20000000) returns 0x00 (0250ms,
0524ms total)
T0474 000:524 JLINK_RTTERMINAL_Control(Cmd = JLINKARM_RTTERMINAL_CMD_START) returns 0x00 (0000ms, 0524ms total)
T1FC0
000:524 -- CPU_ReadMem(1024 bytes @ 0x20000000) -- CPU_ReadMem(1024
bytes @ 0x20000400) -- CPU_ReadMem(1024 bytes @
0x20000800)JLINK_RTTERMINAL_Read(BufferIndex = 0, BufferSize =
0x000FFFFF) returns 0 (0000ms, 0524ms total)
T1FC0 000:631 --
CPU_ReadMem(1024 bytes @ 0x20000C00) -- CPU_ReadMem(1024 bytes @
0x20001000) -- CPU_ReadMem(1024 bytes @ 0x20001400) -- CPU_ReadMem(1024
bytes @ 0x20001800)JLINK_RTTERMINAL_Read(BufferIndex = 0, BufferSize =
0x000FFFFF) returns 0 (0000ms, 0524ms total)