NCS SDK 3.4.0
NRF54LM20DK
The nRF54LM20A data sheet warns against using the same RAM subordinate by more than one bus manager. From section 4.2.1,
Avoid situations where more than one bus manager is accessing the same RAM subordinate
There is an example for how to set up an EasyDMA transfer in section 4.2.2.1.
READERBUFFER_SIZE 5 WRITERBUFFER_SIZE 6 uint8_t readerBuffer[READERBUFFER_SIZE] __at__ 0x20000000; uint8_t writerBuffer[WRITERBUFFER_SIZE] __at__ 0x20000005; // Configuring the READER channel MYPERIPHERAL->READER.MAXCNT = READERBUFFER_SIZE; MYPERIPHERAL->READER.PTR = &readerBuffer; // Configure the WRITER channel MYPERIPHERAL->WRITER.MAXCNT = WRITEERBUFFER_SIZE; MYPERIPHERAL->WRITER.PTR = &writerBuffer;
However, if I add the buffer declaration to my project, the compiler gives an error. It does not recognize the __at__ directive.
Why are you giving an example that doesn't compile with your tools?
How does one actually specify a particular RAM location for a buffer in order to avoid the conflict between bus managers?
Mary