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

nRF52810 SPI and Dfubuttonless

Hi

I have some issues with nRF52810.

I am trying to use SPI as a Master on a custom board. I saw here that nRF52810 does not support legacy SPI : https://devzone.nordicsemi.com/f/nordic-q-a/36430/legacy-direct-spi-mode-on-nrf52810 . So which variable should be 1 in config file? SPI

1-  Which varibale should be 1 in config file? 

SPI_ENABLED,SPI0_ENABLED,  SPI0_USE_EASY_DMA, NRFX_SPI_ENABLED, NRFX_SPIM_ENABLED, NRFX_SPIM0_ENABLED. Shoule I remove all other legacy  layer varibales? For example UART_ENABLED et etc?

 

2- Can I use DFU buttonless on nRF52810?

3- My project has been developped base on ble_blinky example. I added a new ble service, battery medurement and dfu buttonless and everything is fine on nRF52832. Do I have any problem with nRF52810 due to flash size?

Thanks :)

PS:

I tried to remove SPI on legacy layer. But I receive:

.\_build\nrf52810_xxaa.axf: Error: L6218E: Undefined symbol nrfx_spi_init (referred from nrf_drv_spi.o).
.\_build\nrf52810_xxaa.axf: Error: L6218E: Undefined symbol nrfx_spi_xfer (referred from bno085_spi.o).

  • Hi Tai, 
    1. If you have SPI0_USE_EASY_DMA = 1 in sdk_config.h then the legacy SPI will not be used. Don't get confused with the "legacy mode"  or "legacy layer" they meant the legacy nrf _drv software library we had in the SDK, not the legacy SPI. 

    2. I assume you are asking about buttonless DFU with BLE OTA  ? Then the answer is yes, you can configure the nRF52810 with buttonless service. The buttonless service is simply the software to jump from application to bootloader and enter DFU mode. I got some explanation here

    3. It depends on how large your application is. The NRF52810 has only 192kB of flash. If you have the bootloader this would leave you maybe 60kB for application. The obvious limitation here is that you can't do softdevice DFU update. 

Related