FX3 Slave FIFO Buffer Size

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hey all -

   

 

   

How does buffer space work in the FX3 for Slave FIFO mode?  Are buffers allocated per physical thread, or per logical socket?

   

 

   

How much buffer space is there total for Slave FIFO?  If I use four physical threads, with only one socket per thread, how much buffer space does each physical thread have?  If I attach 2 logical sockets to each physical thread, does each logical socket now only have half as much space?

0 Likes
6 Replies
Anonymous
Not applicable

The RAM is shared by both code and buffer. So the amount of buffer that you can use depends on the firmware size and how you configure the buffer for the DMA channel.

   

Regards,

   

Anand

0 Likes
Anonymous
Not applicable

  Aasi -

   

 

   

Thank you for the response.  Can you answer one more question then:

   

 

   

When you configure the buffer size, how does the 'buffer count' value passed into the DMA configuration struct map to actual memory?  If I set dma_config.count = 2, and thus allocate 2 buffers to that DMA channel, how much memory is that?

0 Likes
Anonymous
Not applicable

 Anand -

   

 

   

Do you have any documentation on how setting the buffer count in the DMA configuration maps to memory?

0 Likes
Anonymous
Not applicable

 I'm going to keep bumping this until I get a response from Cypress.

0 Likes
Anonymous
Not applicable

 Anand -

   

 

   

Bump!

0 Likes
Anonymous
Not applicable

 Okay, I figured it out.

   

 

   

Buffer sizes are configured by the 'size' parameter in DMA config, and then you tell each DMA config how many buffers they get.

   

 

   

Now, 'thread stack size' is still a total mystery.

0 Likes