cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Adventurer
Adventurer
3,735 Views
Registered: ‎04-14-2017

VDMA's SDK code

Hi,

I tried the project below (see the attached design), i succeded it withut the vdma, but when i added the VDMA i didn't know what to write on the SDK code to program this VDMA.

Please anyone give me the SDK code for the VDMA.1.PNG

Tags (2)
0 Kudos
9 Replies
Highlighted
Xilinx Employee
Xilinx Employee
3,727 Views
Registered: ‎08-02-2007

You can find a lot reference design on xilinx.com, which contains SDK codes : xapp742, xapp1218, xapp1205,xapp794,xapp890,xapp1167,xapp1250,xapp1218

0 Kudos
Highlighted
Adventurer
Adventurer
3,674 Views
Registered: ‎04-14-2017

Hi @xud,

Which project is working on Vivado 2015.4 please ?, because I'm using this version

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
3,671 Views
Registered: ‎08-02-2007

xapp1285 is working on v2015.4, it contains VDMA as well
0 Kudos
Highlighted
Adventurer
Adventurer
3,669 Views
Registered: ‎04-14-2017

ok Thanks

 

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
3,527 Views
Registered: ‎08-02-2007

Hi @mkooli,

 

If you have all the information you need, please close the thread by marking one of the responses as good answer.

 

Thanks,

Xu

0 Kudos
Highlighted
Adventurer
Adventurer
3,523 Views
Registered: ‎04-14-2017

Hi,

Sorry, I still have the same problem, no VDMA configuration found for my design, still searching...

0 Kudos
Highlighted
2,693 Views
Registered: ‎11-21-2017

@mkooli did you find a proper guide or tutorial to configure VDMA using SDK (C code)? I am facing the same problem!

0 Kudos
Highlighted
Moderator
Moderator
2,309 Views
Registered: ‎11-09-2015

Hi @mkooli,

 

xapp1285 contains the HW + SW design. What more do you need?

 

Regards,

 

Florent


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
0 Kudos
Highlighted
2,298 Views
Registered: ‎11-21-2017

As a beginner I faced the same problem in getting the VDMA to work. So I would like to share my experience of a workaround to get something started, hoping this might help other beginners as well. What I did was getting the VDMA to work as a triple buffering VDMA. A well guided C code was located in the VDMA example in SDK [Xilinx\SDK\{version}\data\embeddedsw\XilinxProcessorIPLib\drivers\axivdma_v6_1\examples]. vdma.c contains all the information, but still as an absolute beginner still I found this a bit too much of information. So what I did was without thinking how this code actually works I just tried to get the VDMA based on this code. The easiest way was to make the other c file vdma_api.c a header file (saved the c file as vdma_api.h). Then I included it in my c code and just called the run_triple_frame_buffer() method. I know this is not much but it is enough to get VDMA running at least.

 

Hope this might help other beginners as well. :-)

 

#include <stdio.h>
#include "platform.h"
#include "xil_printf.h"
#include "xparameters.h"
#include "xaxivdma.h"
#include "vdma_api.h"
#include "xil_types.h"
#include "xil_io.h"


XAxiVdma 								AxiVdma;


int main()
{
    init_platform();

    int status;


	//Checking and configuring VDMA
	status = run_triple_frame_buffer(&AxiVdma, 0, 1920, 1080, XPAR_PS7_DDR_0_S_AXI_BASEADDR + 0x1000000, 100,0);
	if (status != XST_SUCCESS) {
		xil_printf("VDMA Transfer of frames failed with error = %d\r\n",status);
		return XST_FAILURE;
	} else {
		xil_printf("VDMA Transfer of frames started \r\n");
	}


    cleanup_platform();

    while (1) {

    }
    return 0;
}