- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
So i am having difficulty getting with my SGDMA both sending and receiving. So from doing some debugging it looks like even after i call: alt_avalon_sgdma_do_sync_transfer(transmit_DMA, &transmit_descriptors[0]); the current descriptor or even the next descriptor of the DMA dose not change. i don't know what could be causing this. Attached is the debug window i get right after that call and the descriptors are clearly not set.
what could be causing this?Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It is difficult to see anything on your screenshot. Are the SGDMA's read and write Avalon masters connected to the correct memory, the one holding your descriptors? You could use signaltap to figure out what the SGDMA is doing and if it is waiting for something.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
right now the sgdma is connected to the main memory. should i have it connected to another memory?. I also have two more sgdma for the TSE_mac witch is connected to a descriptor memory witch work fine. should i have a third memory for the other sgdma?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If your transmit_descriptors variable is also located in the main memory, then it should work. You can also place them in the TSE's descriptor memory if you want (just make sure you aren't using the first two positions, which are used by the TSE driver!) but then you will need to connect the two SGDMA descriptor masters to that memory.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page