This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

nRF52810 as central doesn't receive BLE events from SoftDevice

Hi All,

Due to chip shortages we have to replace nRF52832 with nRF52810 in our design. Our application has to perform BLE scanning, but no other functionality of a BLE central is needed. Following this blog post and other posts of this forum I've ported our application to nRF5 SDK v14.2.0 and SoftDevice S132 v5.1.0. It compiles and fits nicely to both the nRF52832 and nRF52810 versions of our boards.

The problem I'm facing is that on the nRF52810 my code doesn't receive BLE events from the SoftDevice. Apparently, ble_evt_handler() doesn't get called, therefore I can't process the received advertisements during scanning. It's strange because checking the power consumption of the nRF52810 shows that the radio is turned on periodically and apparently does the scan. Running the same code on the nRF52832 works as expected.

I'm clueless, because nRF52810 and S132 v5.1.0 is claimed to be tested for production, so I expected this to work. Any pointers or ideas what might be wrong?

My problem can be replicated using the ble_app_blinky_c example of SDK v14.2.0 after making the following changes in the SES project file:

arm_fp_abi="Soft"
arm_fpu_type="Soft"
arm_target_device_name="nRF52810_xxAA"
c_preprocessor_definitions="BOARD_PCA10040;CONFIG_GPIO_AS_PINRESET;FLOAT_ABI_HARD;INITIALIZE_USER_SECTIONS;NO_VTOR_CONFIG;NRF52810_XXAA;NRF52_PAN_74;NRF_SD_BLE_API_VERSION=5;S132;SOFTDEVICE_PRESENT;SWI_DISABLE0;"
debug_register_definition_file="$(NRF5_SDK_v14_PATH)/svd/nrf52810.svd"
debug_additional_load_file="$(NRF5_SDK_v14_PATH)/components/softdevice/s132/hex/s132_nrf52_5.1.0_softdevice.hex"
linker_section_placement_macros="FLASH_PH_START=0x0;FLASH_PH_SIZE=0x30000;RAM_PH_START=0x20000000;RAM_PH_SIZE=0x6000;FLASH_START=0x23000;FLASH_SIZE=0x5d000;RAM_START=0x20001ac0;RAM_SIZE=0x4540"
linker_section_placements_segments="FLASH RX 0x0 0x30000;RAM RWX 0x20000000 0x6000"

Thank you,
-Tamás

Related