Hi, I would like to know if it is possible to split a SRAM block into smaller blocks (f28m35x processor). I need two SRAM blocks but I have only one SRAM block available so I wonder if I could separate this SRAM into two blocks.
Thanks, Juan.
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi, I would like to know if it is possible to split a SRAM block into smaller blocks (f28m35x processor). I need two SRAM blocks but I have only one SRAM block available so I wonder if I could separate this SRAM into two blocks.
Thanks, Juan.
Hi Juan,
I would like to know if it is possible to split a SRAM block into smaller blocks
To extend DSP processing RAM on Concerto you have the option to allocate more of the Shared Memory to the C28. Did you notice the Shared Memory that both the M3 and C28 have access to? There are (8) blocks of the Shared RAM (S0-S7) that can be allocated to either M3 or C28 for write access. So this gives you 64 KB of additional RAM allocation to C28.
If this is not enough, then you have the option to manage external RAM with the M3 DMA transferring blocks of data between EPI and Shared RAM. Not ideal, but this is an option.
Regards,
Gautam
Hi Gautam, thanks for your reply.
I know that Concerto offers shared memory for exchanging data between M3 and C28x processors. What I want to know (and that is my question) is if SRAM blocks (S0-S7) can be splitted into smaller blocks. For example, create two blocks of 4KB from the S0 SRAM block which has a size of 8KB.
Thanks, Juan.
Juan,
You can split or combine memory blocks however you want in the linker .cmd file for your project. Realize however that for a given physical block of SARAM, there is only one access allowed per cycle. So, even if you split a block into two blocks in the .cmd file, the processor can only access one of the two blocks in any given cycle.
This begs the question as to why you need to split a memory block. What do you need to achieve?
Regards,
David
David,
I want to use two SRAM blocks to exchange data between the M3 and C28x processors in a similar way as the example ram_management_m3 does. I need two SRAM blocks: one block should be owned by the C28x and is read-only for M3, the other one should be owned by the M3 and is read-only for C28x. Unfortunately, I have only one SRAM block available because the remaining seven SRAM blocks are used for other purposes. So, I wonder if I can split the SRAM block into two block and assign one of these two new blocks to the C28x and the other one to the M3 processor.
Thanks, Juan
Hi Juan,
I understand what you're asking now. No, you cannot split a RAM block and assign half to the M3 and the other half to the C28x. You'll have to figure some other method out.
If data throughput (i.e., speed) is not a concern, I have seen people use two serial ports to send data between the two CPUs. Seems weird, but it works. You could hook the DMA up to the ports to keep CPU overhead down. Just a thought.
Regards,
David