[SOLVED] IMXRT1020 Segger RTT Auto Search not working

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • [SOLVED] IMXRT1020 Segger RTT Auto Search not working

    Hello,

    I included Segger RTT in our IMXRT1020 firmware.

    If I specify the exact address of the _SEGGER_RTT control block in RTT Viewer Jlink is able to find the block and the communication works, but there is no Terminal output with Auto Search and Search Range.
    I tried
    • running to main, connecting RTT Viewer and run the code
    • run code to the address after RTT block gets initialized, connect RTT Viewer and run rest of the code
    • let the code execute and connect RTT Viewer while code is executing
    The connection to the existing debug session is working. The output after connectin with Auto Search, specific control block address and Search Range is always

    J-Link V6.70c - Real time terminal output
    SEGGER J-Link ARM V9.1, SN=........... (I removed the serial number)
    Process: IarIdePm.exe

    Is the Auto Search not possible on RT1020 or am I missing something?

    Kind regards,
    Stefan

    The post was edited 1 time, last by imxrtuser ().

  • Hi Stefan,
    Thank you for your inquiry.
    Such an issue is not known to us.

    Regarding the auto detection feature, please refer to the following article:
    wiki.segger.com/RTT#Troubleshooting

    Could you please send us a screenshot of the RTT Viewer Configuration dialog?
    Could you please make sure, that the J-Link DLL used by IAR is up to date?
    You can use the J-Link DLL Updater for this. It is a part of the J-Link Software and Documentation Pack.
    Could you please send us a J-Link log file? How to enable:
    wiki.segger.com/J-Link_DLL#Enable_J-Link_Log_File

    Best regards,
    Fabian
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.
  • Hello Fabian,

    I followed the troubleshooting and J-Link DLL Update steps above and made sure everything is up to date (which it already was because I downloaded and installed the new JLink software a few weeks ago). I found some bugs in my code (flash access while configuring FlexSPI) which led to other undefined behaviour. After resolving them auto detection works.

    In case I run into reproducable problems with auto detection again I will open a new thread with a J-Link log file and RTT Viewer Configuration dialog screenshot.

    For now I think that the troubles were related to a misconfigured processor so the thread can be closed.

    Thank you for your help,
    Stefan
  • Hi Stefan,
    Good to hear that you are up and running again.

    We will consider this thread as closed.

    Best regards,
    Fabian
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.
  • Hello, sorry to bother again.

    After changing to another project I have the same issues again. Could you please take a look at the log files I sent to you if it gives some hint on why the auto search is not working?
    We are using the IMXRT1020EVK with 2 Macronix MX25L3233F connected to FlexSPI Port A1 and B1 instead of the default ISSI chip.

    The Segger RTT Viewer configuration dialog is attached to this post.

    Thank you,
    Stefan
    Images
    • rttviewerConfigDialog.png

      10.22 kB, 346×399, viewed 380 times
  • Hi Stefan,
    Don't worry.

    Please refer to the following link (bullet point: "Make sure that the RTT Control Block can be located by the J-Link DLL"):
    wiki.segger.com/RTT#Troubleshooting

    Adding the address or the search range under "RTT Control Block" in the Configuration dialog should be sufficient.

    Best regards,
    Fabian
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.
  • Hi Fabian,

    yes you are right if I specify the exact address for the control block it is working correctly. Using a range (you have to use the correct range e.g. OCRAM address range - that was my first mistake) works sometimes, but not always. For ease of use I still would like to find out why auto detection is not working on the new project, but for the old one it works.

    We are planning on using RTT for debugging and it would make it a lot easier to use if we do not have to type in the address & address range every time we want to get some output. Another option would be to have some kind of configuration file where I can specify a default address and then map the RTT confguration block to that address in our linker input file.

    Kind regards,
    Stefan
  • Hi Stefan,

    imxrtuser wrote:

    Using a range (you have to use the correct range e.g. OCRAM address range - that was my first mistake) works sometimes, but not always.
    Such an issue is not known to us. Using search range should work reliably.
    Could you provide us with a simple sample project this is reproducible with?

    You can also call the J-Link RTT Viewer by command line.
    That way you could e.g. make a .bat file where you just select all available RAM as search ranges, so you would not have to type it in the configuration dialog and start the RTT Viewer by executing the .bat script.

    The probably easiest way would be place the RTT Control block in the RAM range we can auto-detect.For the device you are using this would be from address 0x20000000 to 0x20010000.

    Best regards,
    Fabian
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.
  • Hi Fabian,

    sorry I can not send you the project I'm working on and I don't know how to make a reliably not working example, but you are right the easiest and until now reliable working way is to switch the placement of the configuration structure to the auto-detect range. This solved my problem!

    I did not see a note on the website or in the user manual which mentions the auto-detect range of RTT Viewer. Maybe it makes sense to add this information somewhere on the website (e.g. with the supported devices).

    Thank you very much,
    Stefan
  • Hi Stefan,
    Good to hear that you are up and running again.

    I will suggest this on our next internal meeting.

    We will consider this thread as closed.

    Best regards,
    Fabian
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.