Jump to content
emeb

uGFX for Xilinx Zynq in Vivado SDK?

Recommended Posts

I've got a personal project running on a Zynq, development under the Xilinx XSDK. I've got an ILI9341 display running with my own bare-bones graphics so I know the hardware aspect is sound. I'd like to add some nicer graphics and I'm looking over uGFX as an option. Since XSDK is based on Eclipse I should be able to add uGFX as described in the Eclipse section - is this the best way to do so? Has anyone else had any experience with this?

(There's a strong chance that this project may lead to a commercial product, so if I can get it to work I'll be recommending my client purchase a license.)

Share this post


Link to post
Share on other sites

Hello & welcome to the µGFX community!

You will certainly be able to run µGFX on that hardware with that SDK.
There's not really much to it. As expected: Setup a working project and then add µGFX to it. As you've mentioned there are guides for that (you might want to have a look at the agnostic guide as well).

Share this post


Link to post
Share on other sites

Thanks Joel. I'll give it a try.

I notice that XSDK has an option for building a static library as a separate project that can then be referenced by other projects. Would there be any advantage to do that vs simply pulling all of uGFX into the main project?

Share this post


Link to post
Share on other sites

In general you don't want to build µGFX as a static library because there is A LOT of pre-processor magic happening that optimizes tons of things during compile time. We've had many customer projects where they wanted to build µGFX as a static library. After some short argumentations they usually dropped that idea fast - except for one customer. And from there on it was a constant pain in the butt. A lot of time was lost due to different problems that only arose due to building µGFX as a static library.

I'm currently on the road so I've limited comfort to write down detailed reasons. But in general: No you don't want to do that except some very specific special cases where you'd know that you want that and why.

I hope that helps.

Share this post


Link to post
Share on other sites

OK - no sense swimming upstream. I followed the single-file inclusion method described in the Using Eclipse page and it worked right out of the box so I'll move ahead with that. I recall reading in the Getting Started page that pixmaps don't work with single-file inclusion so I may have to find a workaround for that at some point.

Thanks for the advice.

Share this post


Link to post
Share on other sites

Just a quick follow-on: I built another project using single-file inclusion only this time I started with v3 from the git repo instead of the v2.8 tarball. It worked just fine and the OS & SPI shims I did for the 2.8 project required no edits. My understanding is that starting w/ v3 means I won't have trouble with pixmaps. Happy so far.

uGFX_minized.jpg

Share this post


Link to post
Share on other sites

Glad to hear that you got it working!

I'm not sure about what v3 repo you're talking about tho. You should be using the master branch of the official uGFX git repository: https://git.ugfx.io/uGFX/uGFX
That branch will become v2.9 which contains the new type systems and other things to prepare for the v3.0 major update.

Share this post


Link to post
Share on other sites

Yes - that's the git repo I used. I misunderstood the 2 vs 3 wiki page to imply that v3 was already in git. At any rate, I'm better prepared for v3.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×