Can't get RTT working on L15 using J-Link Plus.

I can flash the chip. I can run the debugger. I can go to the connected devices, select the device, go to the little "plug" symbol on the RTT, and select it. That brings up a window asking me to select a device. I select the j-tag device, and then select the processor. It appears to work, but then when I try to run the debugger, I get this:

[00:00:00.390,843] <inf> eeprom_drvr: EEPROM initialized
[00:00:00.391,242] <inf> rgb_led_drvr: LED driver initialized
*** Booting nRF Connect SDK v3.0.0-3bfc46578e42 ***
*** Using Zephyr OS v4.0.99-3e0ce7636fa6 ***
[00:00:00.391,493] <inf> sp_log: Initializing Device: smartpac_l15_eval

[00:00:00.393,514] <inf> fs_nvs: 2 Sectors of 4096 bytes
[00:00:00.393,521] <inf> fs_nvs: alloc wra: 0, f10
[00:00:00.393,525] <inf> fs_nvs: data wra: 0, 120
[00:00:00.393,614] <inf> bt_sdc_hci_driver: SoftDevice Controller build revision:
c7 53 7d bc 06 12 f7 c0 b3 3a 3e 28 8e 56 1e d7 |.S}..... .:>(.V..
a0 be 95 b0 |....
[00:00:00.395,368] <inf> bt_hci_core: HW Platform: Nordic Semiconductor (0x0002)
[00:00:00.395,386] <inf> bt_hci_core: HW Variant: nRF54Lx (0x0005)
0m
m

And then nothing else. A colleague has repeated the process, and the RTT works fine on their system. I'm running nrfutil-device 2.11.0. The nRF connect toolchain and SDK are both 3.0.

Any thoughts?

Parents
  • Hi

    I think you might be looking in the wrong place here. The RTT terminal in VS Code selects a generic M33 as the target in the gdb server, and needs to be changed to nRF54L15. Here are some images:

    Best regards,

    Simon

  • Hi Simon,

    We've discovered more information. The location of the RTT seems to shift around from the Boot loader to the Core. Here's a snapshot of the mcuboot and core map files. It appears that something is adding nrf_kmu_reserved_push_area to the core version, which is causing the RTT memory area to get remapped.

    We are able to use J-Link RTT Viewer to explicitly set the RTT memory, but we have to disconnect and reconnect each time we run in order to get it to work. I haven't figured out a way to make it work in the nRF Connect IDE.

    Please advise.

  • I think we're talking apples and oranges. The contents of the launch.json in the .vscode subdirectory are as follows:

    {
        // Use IntelliSense to learn about possible attributes.
        // Hover to view descriptions of existing attributes.
        // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
        "version": "0.2.0",
        "configurations": [
            {
                "type": "nrf-connect",
                "request": "launch",
                "name": "Launch the active build configuration",
                "config": "${activeConfig}",
                "runToEntryPoint": "main"
            }
        ]
    }

    There's no "executable." I'm using nRF Connect and Toolchain 3.0, just in case that makes a difference.

  • Hi Calvin,

    I tested RTT debugging & logging with MCUBoot + BLE and do not see the same issues with my j-link plus, with the config to the .exe that Simon mentioned earlier.

    For example, I quickly wrote a BLE application, and modified my launch executable to…

     

    {
    
        "version": "0.2.0",
    
        "configurations": [
    
            {
    
                "type": "nrf-connect",
    
                "request": "launch",
    
                "name": "Launch basicble",
    
                "config": "c:/nrf/basicble/build/basicble",
    
                "runToEntryPoint": "main",
    
                "gdbServer": {
    
                    "address": "127.0.0.1:${port}",
    
                    "args": {
    
                        "if": "SWD",
    
                        "speed": 4000,
    
                        "device": "${device}",
    
                        "select": "usb=${snr}",
    
                        "port": "${port}",
    
                        "rtos": "${rtosPlugin}",
    
                        "jlinkscriptfile": "${jlinkScript}",
    
                        "additionalArgs": [
    
                            "singlerun",
    
                            "nogui",
    
                            "halt",
    
                            "noir",
    
                            "silent"
    
                        ]
    
                    }
    
                }
    
            }
    
        ]
    
    }

    And each time I step, RTT is still printing logs as I step through

     (with a sdc assert if I sit in a bp too long, since it's a bluetooth application)

    Could you try modifying your debug configuration to see if the problem persists?

    BR,

  • Gave it a try. Does that script get invoked when you select >Debug Launch build under the "Actions" menu in the nRF Connect tab?

    I get asked whether I want to debug the core or the boot loader. I select "core," and get the same results I've been having (i.e. no RTT):

    I think it's invoking the script...at least, when I look at the debug console, I see the options we have in the script:

  • So I tried launching from the debug menu instead (up in the top left corner of the debug menu):

    ...instead of from the nRF Connect menu. So...progress! Still--same results: the log messages don't come through when I step.

  • Hello,

    Just keeping this ticket up to date,

    I've provided a minimal project and .hex (link) that has debugging and RTT logging enabled with a j-link plus, as well as steps on setting up the debug session and logging.

    Can you try to recreate my setup and remove hardware/tool setup ambiguity?

    Best regards,

Reply Children
No Data
Related