Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

BusFault at 0x00000A60 only when increased MTU

My project:

FreeRTOS 

SDK 16.0.0

Simultaneous Central + Peripheral Role  

My test case:

device advertises and connects to a central

device performs service discovery for CTS in central

device scans and connects to a peripheral

device performs service discover for  DIS, BAS and a custom service in peripheral

central writes a characteristic in a custom service on the device that initiates an I2C operation

BusFault occurs, CPU stopped at 0x00000A60 

This issue only occurs after I modify sdk_config.h to add

#define NRF_SDH_BLE_GAP_DATA_LENGTH 251

#define NRF_SDH_BLE_GATT_MAX_MTU_SIZE 247

Test proceeds normally with default MTU values.

Any ideas why the MTU value change causes a BusFault?  Is there any other setting that I need to adjust for it to work?

Parents Reply Children
  • Hi,

    I am afraid this is only set in components/softdevice/common/nrf_sdh_freertos.c.

    I will suggest to our SDK team to put it inside of #ifndef guards, so that it can be overridden by preprocessor defines in project settings.

    Regarding increasing this value, it does sound like a reasonable thing to increase the size of the SoftDevice handler task stack when increasing the size of packets to be handled by it.

    Regards,
    Terje

Related