Jump to content
zhuantou215

Transplantation of ugfx

Recommended Posts

First of all, thank you very much. I like ugfx. very much. I've solved a lot of problems with your help. Now I want to migrate ugfx to any development board. For example, I'm now going to be transplanted to im6ul, and my LCD doesn't know what type it is, of course that's not the point of the problem. I've seen a lot of Wiki's official website.Because I just started, can you tell me the specific steps?

Share this post


Link to post
Share on other sites

Hi,

The workflow usually looks like this:

  1. Create a bare hello-world project on your target that runs without any µGFX stuff at all
  2. Integrate µGFX into the build system. Therefore, creating a bare hello-world project for your target that runs with µGFX. It's important to disable all the modules (no GDISP, no GINPUT, ...)
  3. Enable the GDISP module. Use the TestStub driver to test the compilation process. Then determine whether you have to write your own display driver or whether you can use an existing one and just modify the board files.
  4. Enable the GINPUT module (if required). Determine whether you have to write your own mouse/touch driver or whether you can use an existing one and just modify the board files.
  5. Enable GWIN, enjoy.

Most of the stuff that happens is outside of µGFX (eg writing the board files, setting up peripherals and so on). The goal is to create an environment that already does everything (correct peripherals initialization and so on) and then just put µGFX on top of that.

Share this post


Link to post
Share on other sites

There are three ways to run µGFX on Linux:

  • Directly on the framebuffer
  • On top of the X window manager
  • As an SDL2 application

Which one you choose depends on your needs. If you want to run µGFX directly on the framebuffer then you certainly need a Linux kernel with framebuffer support. The µGFX GDISP driver will simply render into the framebuffer device provided by Linux.

Share this post


Link to post
Share on other sites

Usually that shouldn't be necessary. First of all, the µGFX makefiles have certain variables that you can modify in your own application specific makefile. Furthermore, there are platform specific makesfiles if the variables are not enough. But you certainly shouldn't modify anything else.

Share this post


Link to post
Share on other sites

Thank you very much。If I run ugfx on IM6UL. I'd like to describe my understanding. Would you check it correctly?

1. transplant ugfx into the development board.

2. execute makefile

Maybe there are some details that I don't describe, such as enabling Framebuffer.

I sincerely hope that you can give me some guidance.

Edited by zhuantou215

Share this post


Link to post
Share on other sites

Thank you very much for your help to me before, because I am a novice. Can you help me to answer it? I still don't have the implementation of porting ugfx to my development board.

  • My development board is: Linux system, can I compile the SDL with arm-linux-gcc and transplant it into the development board.

Share this post


Link to post
Share on other sites

Thank you very much. My development board is also the Linux system.What should I do if my development board kernel doesn't support Framebuffer?

Edited by zhuantou215

Share this post


Link to post
Share on other sites

Re-compile the kernel with framebuffer enabled :) 

Alternatively, you can run µGFX on top of the X window manager or as an SDL application. But whether you want that or not depends on your application.

Share this post


Link to post
Share on other sites

Thanks very much。 I want to emphasize that my development board is not a computer. Let me state what I do. Do you think it's right?
1. transplant ugfx into the development board.
2. cross - compile and transplant SDL into the development board
3 execute makefile

Edited by zhuantou215

Share this post


Link to post
Share on other sites

The first thing you need to do is deciding whether you want to run µGFX directly on the Linux framebuffer or not. In most embedded applications you do want to do that. Because otherwise you need a full blown window manager and usually even a desktop environment to run µGFX as an SDL application. In embedded applications you usually use µGFX on Linux because you want to avoid all of that so there's no way around the framebuffer.

You can (and probably must) (re)compile your Linux kernel on a desktop computer if you want to enable framebuffer support.
However, I haven't seen any development board that runs Linux that didn't get compiled with framebuffer enabled while still offering the ability to drive a display. Are you sure that your kernel doesn't support that?

Share this post


Link to post
Share on other sites
On Mon Jan 29 2018 at 21:01, zhuantou215 said:

Thanks very much。 I want to emphasize that my development board is not a computer. Let me state what I do. Do you think it's right?
1. transplant ugfx into the development board.
2. cross - compile and transplant SDL into the development board
3 execute makefile

 

 

Edited by zhuantou215

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

×