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++

VIP lcd demo

Altera_Forum
Honored Contributor II
981 Views

Hello there! 

 

I am trying to run the demonstration I downloaded from there: 

http://www.nioswiki.com/Nios2EmbeddedEvaluationKit/Altera's_Video_and_Image_Processing_Suite_Demo_on_the_NEEK 

 

I cannot say it does not work, actually it does something. However, there is absolutely 

no interactivity with the source code provided. 

 

In the main.c, there is a loop which (I suppose) should provide some interactivity. 

But this loop is never reached. 

 

When I set breakpoints, I can go step by step until Mixer_init(); 

This starts the video display, but that's the last function I can step over. 

If I try to step into one of the functions after this line, the debugger seems to be 

lost. 

 

Basically what I would like to do first is: 

 

- Have some interactivity (draw menus, etc), and have actions caused by these menus; 

- Grab a frame's data buffer; 

- Do some processing on it. 

 

Some questions: 

 

- What is the minimal configuration? If I comment out the lines Clipper_init() or 

Scaler_init() that are before Mixer_init(), then the image does not show. But I don't need 

a scaler and a clipper. 

 

- Is there some free IP with full source code around? For instance showing hot to 

get an interrupt, read a frame from some memory buffer, return a pointer to it, etc, 

working on NIOS? The problem with the prebuilt elements is that there is no access 

to the source code. I would be happy to know for instance, what is in Mixer_init(). 

Well, I know that it's a wrapper function managing an object, but I would like to know 

what exactly happens in the object itself. 

 

Thanks. 

 

By the way, could somebody at Altera filter the irrelevant comments at this link: 

http://www.nioswiki.com/Nios2EmbeddedEvaluationKit/Altera's_Video_and_Image_Processing_Suite_Demo_on_the_NEEK 

 

Pascal
0 Kudos
2 Replies
Altera_Forum
Honored Contributor II
274 Views

I downloaded and modified this one (http://www.nioswiki.com/@api/deki/files/421/=neek_vip_demo_lcd_svga_v91_2.zip) (it doesn't compile out of the box, but the fixes are really simple)...comes with source. As far as the debug behavior you describe, that's caused by optimization. "-O0" is what you want to use. 

 

Cheers, 

 

-slacker
0 Kudos
Altera_Forum
Honored Contributor II
274 Views

Hello! 

 

Thanks for your reply! 

 

I downloaded the same one. Actually it was the program I was already using. 

It compiles out of the box in my case, but the image is swept by an horizontal 

line a few times, then the top blue band is replaced by a white band, then after 

a while the image disappears completely and is replaced by a color pattern (the 

image is split horizontally, the top half is a gradient from blue to lime green, 

and the bottom part is a gradation from red to yellow). 

 

Now I'm not sure how to set the option -O0. I right-clicked the project, went 

to properties -> C/C++ build and added -O0 (minus capital-O zero) in the 

field "compiler invocation command". Is this right? 

Anyway it does not change anything, I still cannot enter the functions I want to 

jump into (at least after the mixer is started). 

 

By the way, I am using quartus 9.1 sp2 and NIOS 9.1 IDE. Both were downloaded 

at the same time, so I guess they fit. 

 

Now I have rebuilt the same program from scratch (as you tell me it works fine), 

but I get the same result as before: no interactivity at all. 

 

Could you describe how your program works? 

As for mine, the image (roughly 640 x 480) is centered and it displays live video. 

The top margin (from the top of the screen to the top of the picture) has been replaced 

by a blue rectangle. That's it. No interaction although the touch panel is enabled. 

It never enters the while loop. As there are issues with the debugger, I print a marker 

everytime the loop is entered, but nothing is printed on the console, so the loop is not 

reached. Any idea? 

 

Thanks, 

 

Pascal
0 Kudos
Reply