- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I'm trying to perform a simple SGDMA transaction. Memory to Memory. The data is transferred. I use IORD on both memories and read the data to check. But the status code returned is 'c' in hex. i.e. 12. which shows "#define ENOMEM 12 /* Not enough core */" in errorno.h Any idea what that is and how I can make sure the transactions are correct. Also, any idea how I can measure the throughput of the system? I run performance counter and check. Would it be a good idea to run the counters again and again? or should one counter suffice? Thanks ZubairLink Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
That's not one of the error codes enumerated in errno.h, but it's the value from the sgdma status register: bits 2 and 3 are set and this tells you the dma transfer has correctly completed. See page 23-13 of the sgdma controller datasheet for thorough status register information.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks a lot! no wonder it was working correctly :)
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page