Developing with custom board

I have a simple custom board using Fanstel BM15C module. It is connected to DEBUG OUT connector of the nrf54l15-dk.

I am using VS Code and nRF Connect extension pack, SDK 3.0.2. Debugger works, but I have issues with logging and debugging:

1. Using RTT kind of works if I am using my local machine (Mac Mini M4). JLink asks me for the device type every time I start RTT terminal. Is this expected?

2. When working with VS Code over SSH on a headless Ubuntu, RTT does not work at all. IMO JLink also wants to ask me for device type, but there is no way to display the dialog?

3. I want my MCU app to pause at start, otherwise some of "main()" code is executed before debugger starts. Is adding a button to the custom board and waiting for button press at the top of "main()" the way to go?

4. DK exposes two USB-serial ports to PC. Is there an official way to route an UART from a custom board to any of these two? 

BR,
Marko

Parents
  • Hi,

    1. Using RTT kind of works if I am using my local machine (Mac Mini M4). JLink asks me for the device type every time I start RTT terminal. Is this expected?

    Are you using RTT viewer? How are you viewing the logs?

    2. When working with VS Code over SSH on a headless Ubuntu, RTT does not work at all. IMO JLink also wants to ask me for device type, but there is no way to display the dialog?

    By headless, you mean no trough command line? How are you using VS code in this case?

    3. I want my MCU app to pause at start, otherwise some of "main()" code is executed before debugger starts. Is adding a button to the custom board and waiting for button press at the top of "main()" the way to go?

    Yes.

    4. DK exposes two USB-serial ports to PC. Is there an official way to route an UART from a custom board to any of these two? 

    The interface chip is programmed to send any data that is sent to the UART pins (see silkscreen on the backside of the board) to the USB port. You just need to make sure the nRF54L15 SOC does not reconfigure those pins in the application. The easiest is probably to erase the application on the soc. 

    regards

    Jared 

  • Hi Jared,

    Ad 1) I am using "RTT" under "connected devices" in "nRF Connect for VS Code" extension.

    Ad 2) I have a Ubuntu server LXC on a Proxmox server. Then I connect to it running VS Code on my Mac Mini using "Remote - SSH" extension. Works very well, but not RTT. I am guessing that the problem is that JLink cannot ask me about the connected MCU type, like it does on Mac Mini.

    Ad 4) Do I understand correctly that I should just connect pins from my Fanstel BM15C module to the pins written at the back of the DK (P0.00-P0.01 for port 0 and P1.04-P1.05 for port 1) and make sure that the app executing on the DK MCU does not touch these pins?

    Regards,

    Marko

    1. Yes, it's expected that it will ask you to provide device settings trough a GUI each time you start a new session. 
    2. Would it be possible to run JLinkRTTClient from the command line instead? 
    3.   
    4. Yes, did should be correct. Did you try it?

    regards

    Jared 

  • Hi Jared,

    Ad 1) Do you know why this prompt is needed? To me, it seems unnecessary and a bit annoying Slight smile

    Is there any chance this could be made configurable?

    Ad 2) The JLinkRTTClient socket connection succeeds on both the Mac Mini and the Ubuntu LXC. However:

    • On the Mac Mini, I don’t see any messages until I first connect using the “RTT Terminal” from the VS Code extension.

    • On the Ubuntu LXC, I never see any messages at all.

    Ad 4) This works—thanks! I used the “Erase board” option on the DK, connected to pins P0.00 and P0.01 on the DK rail, changed my app to use UART instead of RTT, and now VCOM0 works.

    The only issue is that in some configurations of my app, I won’t have a spare UART available for logging or console output.

    Regards,
    Marko

  • Hi,

    Marko_P said:

    Ad 1) Do you know why this prompt is needed? To me, it seems unnecessary and a bit annoying Slight smile

    Is there any chance this could be made configurable?

    If I'm not mistaken, VS Code use J-link SW from Segger in the background. Basically this is a design choice by Segger.

    Marko_P said:

    Ad 2) The JLinkRTTClient socket connection succeeds on both the Mac Mini and the Ubuntu LXC. However:

    • On the Mac Mini, I don’t see any messages until I first connect using the “RTT Terminal” from the VS Code extension.

    • On the Ubuntu LXC, I never see any messages at all.

    I'm not that familiar with Linux, but can it be that you are missing some permissions to access the device? 

    regards

    Jared

  • Hi Jared,

    My solution is to use RTT only on Mac Mini and serial port console on Ubuntu LXC. 

    BR,
    Marko

Reply Children
No Data
Related