Hi!
I have a eval board about STM32F407ZG. I want to test segger RTT print. I have used segger RTT before. I am using Segger jlink edu v10.Today i download SEGGER Embedded Studio for ARM 4.18 at home and want to learn to use. I use the last jlink package. It's JLink v6.46i.
But i have a problem about RTT. when i use RTT in attach mode, it's ok. I start to debug at Embedded Studio and will print log message normally at Debug Terminal. But i use RTT in Stand-alone mode
and print no message. I use JLinkRTTViewer.exe connect to jlink and select USB connection ,then select the target device(eg: STM32F407ZG), the target interface(eg: SWD) and its speed(eg: 4000Khz) and RTT control block is Auto detection.
Terminal 0 print no message.
The JLinkRTTViewer.exe log is shown:
The JLinkRTTViewer.exe connection is shown:
The JLinkRTTViewer.exe Channel infos is shown:
My example code is shown:
Display All
I think jlink don't scan the address of the RTT Control Block rightly.
Best regards,
Long
I have a eval board about STM32F407ZG. I want to test segger RTT print. I have used segger RTT before. I am using Segger jlink edu v10.Today i download SEGGER Embedded Studio for ARM 4.18 at home and want to learn to use. I use the last jlink package. It's JLink v6.46i.
But i have a problem about RTT. when i use RTT in attach mode, it's ok. I start to debug at Embedded Studio and will print log message normally at Debug Terminal. But i use RTT in Stand-alone mode
and print no message. I use JLinkRTTViewer.exe connect to jlink and select USB connection ,then select the target device(eg: STM32F407ZG), the target interface(eg: SWD) and its speed(eg: 4000Khz) and RTT control block is Auto detection.
Terminal 0 print no message.
The JLinkRTTViewer.exe log is shown:
The JLinkRTTViewer.exe connection is shown:
The JLinkRTTViewer.exe Channel infos is shown:
My example code is shown:
Source Code
- //RTT PRINT
- #ifdef __SEGGER_RTT_
- uint8_t rttTemp[100] = {0};
- uint8_t RTT_Channel = 0;
- uint16_t rttLen = 0;
- #endif
- #ifdef __SEGGER_RTT_
- rttLen = sprintf((char*)rttTemp, "STM32407ZG LED\r\n");
- SEGGER_RTT_Write(RTT_Channel, rttTemp, rttLen);
- #endif
- while (1)
- {
- #ifdef __SEGGER_RTT_
- rttLen = sprintf((char*)rttTemp, "LED: %d\r\n", num++);
- SEGGER_RTT_Write(RTT_Channel, rttTemp, rttLen);
- #endif
- LED1_TOGGLE();
- LL_mDelay(300);
- LED0_TOGGLE();
- }
I think jlink don't scan the address of the RTT Control Block rightly.
Best regards,
Long
embedded software engineer, live in shanghai.