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

How to designate one ram block exclusively for radio use?

Hi Devzone:

Is there a way to designate one ram block exclusively for radio use? The reason I'd like to know is the following:

Under nRF52833 AHB multilayer section, there is one statement:

"Some peripherals, such as RADIO, do not have a safe stalling mechanism (no internal data buffering, or opportunity to pause incoming data). Being a low priority bus master might cause loss of data for such peripherals upon bus contention. To avoid AHB bus contention when using multiple bus masters, follow these guidelines:

  • Avoid situations where more than one bus master is accessing the same slave.
  • If more than one bus master is accessing the same slave, make sure that the bus bandwidth is not exhausted."

So is there a way to designate one ram block exclusively for radio use to avoid such bus contention? Right now the pointer to radio data is arbitrarily assigned by the compiler.

Is there an example project that does that?

Thanks.

Parents
  • Hi

    It is possible to create a dedicated RAM section that covers one of the RAM blocks, so that you can control exactly which variables go into that block of the RAM. 

    Then if you only put the radio buffers into this section you are guaranteed that there won't be any conflict on the DMA slave.

    Please look here for an overview of the RAM blocks in the nRF52833. 

    It shouldn't really be necessary for the radio, since it doesn't access the bus very often (the radio is a relatively low bandwidth peripheral), but I can try to find an example if you are interested. 

    Which compiler/IDE are you using?

    Best regards
    Torbjørn

Reply
  • Hi

    It is possible to create a dedicated RAM section that covers one of the RAM blocks, so that you can control exactly which variables go into that block of the RAM. 

    Then if you only put the radio buffers into this section you are guaranteed that there won't be any conflict on the DMA slave.

    Please look here for an overview of the RAM blocks in the nRF52833. 

    It shouldn't really be necessary for the radio, since it doesn't access the bus very often (the radio is a relatively low bandwidth peripheral), but I can try to find an example if you are interested. 

    Which compiler/IDE are you using?

    Best regards
    Torbjørn

Children
Related