This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

RTT not appearing in modified ble_app_uart example

    Hello,

I have been developing software on the ble_app_uart example in Segger Embedded Studio with sdk 17.0.2.  The example has RTT enabled but I noticed when I try to use RTT in my modified version that no RTT shows up in the debugging window.  I added various libraries and changed the config file, but did not remove anything or turn off anything in the config file from the example.  I wasn't sure how to troubleshoot this and was wondering what potential problems might be interfering with RTT outputs in the debugging terminal.  Here is my main() code, I can add more if necessary.  

int main(void)
{
    bool erase_bonds;
    ret_code_t rc;

    // Initialize.
    twi_init();
    uart_init();
    log_init();
    timers_init();
    buttons_leds_init(&erase_bonds);
    power_management_init();
    ble_stack_init();
    gap_params_init();
    gatt_init();
    services_init();
    advertising_init();
    conn_params_init();


    /* Register first to receive an event when initialization is complete. */
    (void) fds_register(fds_evt_handler);


    rc = fds_init();
    APP_ERROR_CHECK(rc);

    /* Wait for fds to initialize. */
    wait_for_fds_ready();

    // Start execution.
    printf("\r\nUART started.\r\n");



    //turn on LED3 while on and not in sleep mode
    nrf_gpio_cfg_output(LED2);
    nrf_gpio_pin_clear(LED2);

    NRF_LOG_INFO("Debug logging for UART over RTT started.");



    //button press waits for a button press event or times out and goes to sleep mode if no button press is received in 15 seconds
   
    
    buttonPress(); 

    nrf_delay_ms(100);

    advertising_start(); 

    //advertise for 15 seconds then try to send the data
    nrf_delay_ms(5000);

    //SendTime sends the entire memory, should add a condition to make sure that it's connected to BLE, potentially only send new entries etc.
    SendTime(); 

    //wait 5 seconds after sending the data before entering sleep mode, just here to give time to read in devtools for debugging
    nrf_delay_ms(5000);

    sleep_mode_enter_wakeup_enabled();
    
   


    // Enter main loop.
    for (;;)
    {
        idle_state_handle();
    }
}

Parents
  • Hi

    Sorry, I was referring to defines like NRF_LOG_CLI_CMDS and  NRF_CLI_ENABLED, which are set to 0 (and need to be enabled to use the CLI) in the ble_app_uart sdk_config.h file. I'm not sure if this is what's causing the lack of RTT logging, but it's worth a shot.

    As I'm running out of leads as to what is causing this, I think I might need to try reproducing this on my end, as looking at it first hand usually makes it easier to spot what's causing it. Can you upload a .zip file with your project that can be placed in the SDK and run, so I don't have to use time reproducing the exact project you have?

    Best regards,

    Simon

  • I was referring to defines like NRF_LOG_CLI_CMDS and  NRF_CLI_ENABLED, which are set to 0 (and need to be enabled to use the CLI) in the ble_app_uart sdk_config.h file. I'm not sure if this is what's causing the lack of RTT logging, but it's worth a shot.

    I tried that out but still no luck.  

    Can you upload a .zip file with your project that can be placed in the SDK and run, so I don't have to use time reproducing the exact project you have?

    Sure, although when I give the paths for library locations to the preprocessor, those paths will be based on the location of my SDK on my hard drive.  How do I get around this?  I think what I did should work as I made sure all the referenced locations were just to the SDK and the SDK is just sitting at the top of a directory on my drive.  Let me know if you have issues with it.  It worked for me but it had to be within a folder within examples.  On my machine the path is: D:\nRF5SDK1702d674dde\nRF5_SDK_17.0.2_d674dde\examples\peripheral\RebuildDemoV1.0.  I added a chart of the logic too which should hopefully make it easier to follow what's going on.

    One thing I noticed rebuilding was that when I was adding the necessary sections for fstorage/fds/twi/crc16 to the config file that there were duplicates of some statements.  All the files I added to the config file are commented at the top of the page but I was wondering if there might be some issues from things being defined twice/turned on at the top/back off later.

    RebuildDemoV1.0.zipSoftware Logic Chart.pdf

Reply
  • I was referring to defines like NRF_LOG_CLI_CMDS and  NRF_CLI_ENABLED, which are set to 0 (and need to be enabled to use the CLI) in the ble_app_uart sdk_config.h file. I'm not sure if this is what's causing the lack of RTT logging, but it's worth a shot.

    I tried that out but still no luck.  

    Can you upload a .zip file with your project that can be placed in the SDK and run, so I don't have to use time reproducing the exact project you have?

    Sure, although when I give the paths for library locations to the preprocessor, those paths will be based on the location of my SDK on my hard drive.  How do I get around this?  I think what I did should work as I made sure all the referenced locations were just to the SDK and the SDK is just sitting at the top of a directory on my drive.  Let me know if you have issues with it.  It worked for me but it had to be within a folder within examples.  On my machine the path is: D:\nRF5SDK1702d674dde\nRF5_SDK_17.0.2_d674dde\examples\peripheral\RebuildDemoV1.0.  I added a chart of the logic too which should hopefully make it easier to follow what's going on.

    One thing I noticed rebuilding was that when I was adding the necessary sections for fstorage/fds/twi/crc16 to the config file that there were duplicates of some statements.  All the files I added to the config file are commented at the top of the page but I was wondering if there might be some issues from things being defined twice/turned on at the top/back off later.

    RebuildDemoV1.0.zipSoftware Logic Chart.pdf

Children
No Data
Related