Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++

SGDMA status return code 'C'

Altera_Forum
Honored Contributor II
1,099 Views

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
0 Kudos
2 Replies
Altera_Forum
Honored Contributor II
390 Views

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.

0 Kudos
Altera_Forum
Honored Contributor II
390 Views

Thanks a lot! no wonder it was working correctly :)

0 Kudos
Reply