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

Problem running nrf52 SDK 0.9.1 uart example.

Hi,

I'm trying to run the uart loopback example in the nrf52 0.9.1 SDK with DMA enabled but it is being caught in an error catch. It runs fine without DMA enabled though. I'm enabling DMA with the following change to the project:

nRF52_SDK_0.9.1_3639cc9\examples\peripheral\uart\config\uart_pca10036/nrf_drv_config.h

Replace line 179 with: #define UART0_CONFIG_USE_EASY_DMA true

And I'm enabling loopback in main by uncommenting #define ENABLE_LOOPBACK_TEST on line 32


This is our error:

error code: 0x11 NRF_ERROR_BUSY

line num: 123

file name: main.c

And it is being thrown at:

line 357 of nrf_drv_uart.c


What is going on here? Am I enabling DMA for the project correctly and is this expected to work?

  • Hi,

    The engineer of the driver team explained that this is not necessarily a bug, it is the implementation limitation because of the way how app_uart works. So the app_fifo library is not ready to work with EasyDMA. Anyhow I see that the nrf_driver_uart (layer below app_uart) has full capabilities to woth with easydma and with the workaround I provided above (in app_uart), it works just fine. In the next SDK release, the driver team promised to update documentation for this and will also TRY to support app_uart with easydma.

Related