nRF52832 application won't start without RTT console

Hi, we're trying to run our nRF52832 without having to connect the RTT console debugger to launch the main application loop. So that an other team could just power the board and interact with the bluetooth firmware using the nRF Connect for Mobile app.

We managed to get the internal clock working and the nRST pin is switched from LOW to HIGH at the board boot (validated using a multimeter).

There's one last thing in our way, we absolutely need to connect to the RTT terminal to launch the main loop. That happens even when the debug option is turned off in the build configuration.

Is there a flag missing from our configuration?

 

Hardware:

  • J-Link programmer
  • USI AzureSphere combo module evaluation board (combines an Azure Sphere and an nRF52832 BLE chip)

Software:

  • nRF Connect SDK v2.3.0
  • nRF Toolchain v2.3.0
  • nRF Connect for VS Code

 

We started from the following example https://github.com/zephyrproject-rtos/zephyr/tree/main/samples/bluetooth/peripheral

proj.conf:

# Enable Bluetooth peripheral
CONFIG_BT=y
CONFIG_BT_PERIPHERAL=y
CONFIG_DEBUG=n

# Config logger
CONFIG_LOG=n
CONFIG_BT_DEBUG_LOG=n
CONFIG_CONSOLE=n
CONFIG_USE_SEGGER_RTT=n
CONFIG_BT_DEBUG_MONITOR_RTT=n
CONFIG_LOG_BACKEND_RTT=n
CONFIG_LOG_BACKEND_UART=n
CONFIG_LOG_PRINTK=n

# Power management
CONFIG_PM=n

# Drivers and peripherals
CONFIG_I2C=n
CONFIG_WATCHDOG=n
CONFIG_PINMUX=n
CONFIG_SPI=n

# Boot
CONFIG_BOOT_BANNER=n
CONFIG_BOOT_DELAY=0

# Increased stack due to settings API usage
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048

# Enable Secure Connections Only mode
# CONFIG_BT_SMP=y
# CONFIG_BT_TINYCRYPT_ECC=y
# CONFIG_BT_SMP_SC_ONLY=y
# CONFIG_BT_SMP_ENFORCE_MITM=y

# Use settings for BLE bonding
CONFIG_BT_SETTINGS=y
CONFIG_SETTINGS=y
CONFIG_FLASH=y
CONFIG_FLASH_PAGE_LAYOUT=y
CONFIG_FLASH_MAP=y
CONFIG_FCB=y
# CONFIG_BT_SIGNING=y
# CONFIG_BT_PRIVACY=y
CONFIG_BT_ATT_PREPARE_COUNT=5

## Battery Service
CONFIG_BT_BAS=y

## Device Information Service
CONFIG_BT_DIS=y
CONFIG_BT_DIS_PNP=n
### Manufacturer
CONFIG_BT_DIS_MANUF="Motion Composites inc."
### Model
CONFIG_BT_DIS_MODEL="Newton Power Assist"
### Revision
CONFIG_BT_DIS_HW_REV=y
CONFIG_BT_DIS_HW_REV_STR="Rev. C"
### Serial number
CONFIG_BT_DIS_SERIAL_NUMBER=n
CONFIG_BT_DIS_SERIAL_NUMBER_STR=""
### Powered Wheelchair
CONFIG_BT_DEVICE_APPEARANCE=3265

## Naming options
CONFIG_BT_DEVICE_NAME="NPA"
### Allows to set a name at runtime (ex: with a random id)
CONFIG_BT_DEVICE_NAME_DYNAMIC=y
CONFIG_BT_DEVICE_NAME_MAX=10
# CONFIG_BT_BONDING_REQUIRED=n
## Used to hide the BT device after connection to a central device.
# CONFIG_BT_FILTER_ACCEPT_LIST=y 

# CONFIG_BT_KEYS_OVERWRITE_OLDEST=y
## Required to set a non random key
# CONFIG_BT_FIXED_PASSKEY=y
CONFIG_NVS=y

CONFIG_BT_GATT_DYNAMIC_DB=y


# TODO: Disable for Release build
CONFIG_ASSERT=n

# This configures the SDK for the BLE NRF chip
# You can find the documentation for each setting here: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/kconfig/index.html
# Search for the setting in the KConfig search engine
CONFIG_CLOCK_CONTROL=y
CONFIG_CLOCK_CONTROL_NRF=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=n
CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC_CALIBRATION=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_500PPM=y

Parents Reply Children
No Data
Related