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 Zubair
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.