Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
13 years ago

SGDMA status return code 'C'

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

2 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    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.