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

NRF_ERROR_NO_MEM after increased GPIOTE and PPI allocation

Hi, I'm having an apparent memory issue after increasing my PPI channel and GPIOTE allocation.  Here's the basic setup:

  1. nRF52840 with SoftDevice 6.1.0
  2. SDK 15.3

I have not experienced this issue before.  I increased my GPIOTE  up from one to the max of 8 channels per the nRF52840 spec and increased the number of PPI channels from 4 to 20, which is the the max number of PPI channels per the nRF52840 spec.

I have copied part of the debug printout below.  It appears that the memory error is generated as the 18th of the PPI channels is allocated.

As far as I can tell this should be legal, though I don't know if there are other peripherals that may eat away at this theoretical maximum value when they are allocated.

I've read in other posts that this could be a RAM issue, but I'm not sure how to go about fixing it, if so.

Any help is greatly appreciated.  Thanks.

<info> TIMER: Function: nrfx_timer_init, error code: NRF_SUCCESS.
<info> TIMER: Timer id: 1, capture value set: 5600, channel: 2.
<info> TIMER: Timer id: 1, capture value set: 6400, channel: 5.
<info> TIMER: Timer id: 1, capture value set: 16000, channel: 3.
<info> TIMER: Timer id: 1, capture value set: 16000, channel: 3.
<info> PPI: Allocated channel: 0.
<info> PPI: Function: nrfx_ppi_channel_alloc, error code: NRF_SUCCESS.
<info> PPI: Allocated channel: 1.
<info> PPI: Function: nrfx_ppi_channel_alloc, error code: NRF_SUCCESS.
<info> PPI: Allocated channel: 2.
<info> PPI: Function: nrfx_ppi_channel_alloc, error code: NRF_SUCCESS.
<info> PPI: Allocated channel: 3.
<info> PPI: Function: nrfx_ppi_channel_alloc, error code: NRF_SUCCESS.
<info> PPI: Allocated channel: 4.
<info> PPI: Function: nrfx_ppi_channel_alloc, error code: NRF_SUCCESS.
<info> PPI: Allocated channel: 5.
<info> PPI: Function: nrfx_ppi_channel_alloc, error code: NRF_SUCCESS.
<info> PPI: Allocated channel: 6.
<info> PPI: Function: nrfx_ppi_channel_alloc, error code: NRF_SUCCESS.
<info> PPI: Allocated channel: 7.
<info> PPI: Function: nrfx_ppi_channel_alloc, error code: NRF_SUCCESS.
<info> PPI: Allocated channel: 8.
<info> PPI: Function: nrfx_ppi_channel_alloc, error code: NRF_SUCCESS.
<info> PPI: Allocated channel: 9.
<info> PPI: Function: nrfx_ppi_channel_alloc, error code: NRF_SUCCESS.
<info> PPI: Allocated channel: 10.
<info> PPI: Function: nrfx_ppi_channel_alloc, error code: NRF_SUCCESS.
<info> PPI: Allocated channel: 11.
<info> PPI: Function: nrfx_ppi_channel_alloc, error code: NRF_SUCCESS.
<info> PPI: Allocated channel: 12.
<info> PPI: Function: nrfx_ppi_channel_alloc, error code: NRF_SUCCESS.
<info> PPI: Allocated channel: 13.
<info> PPI: Function: nrfx_ppi_channel_alloc, error code: NRF_SUCCESS.
<info> PPI: Allocated channel: 14.
<info> PPI: Function: nrfx_ppi_channel_alloc, error code: NRF_SUCCESS.
<info> PPI: Allocated channel: 15.
<info> PPI: Function: nrfx_ppi_channel_alloc, error code: NRF_SUCCESS.
<info> PPI: Allocated channel: 16.
<info> PPI: Function: nrfx_ppi_channel_alloc, error code: NRF_SUCCESS.
<info> PPI: Function: nrfx_ppi_channel_alloc, error code: NRF_ERROR_NO_MEM.
<error> app: ERROR 4 [NRF_ERROR_NO_MEM] at ~\test\main.c:837
PC at: 0x0002AFC7
<error> app: End of error report

Related