How to port lvgl to a embedded platform?


I’m new to porting in general. I went through the documentation for porting LVGL to STM platform but it’s empty.

Can anyone explain how to compile the library after cloning from github? The porting section just says to adjust defines and some settings. Steps to compile and run application is missing.

I’ve tried the simulator already and I want to run it on hardware platform.

What MCU/Processor/Board and compiler are you using?

STM32F769 Discovery and GCC

What LVGL version are you using?

How do I know this? Just cloned master.

What do you want to achieve?

Compile LVGL and run my application on my hardware platform.

What have you tried so far?

Experimented on simulator.

Code to reproduce


Screenshot and/or video


You can use the premade example project for STM32F769 Discovery.

@embeddedt Thanks for your reply. I’ve just tried that and it works fine. I’m able to run examples on my hardware platform. I’m more interested in how to port the project. I’m a DIY guy :slight_smile:

It’s designed to mostly compile out of the box. I think all the steps you need to follow should be written here (and there are links on that page about drivers, etc.).

I did read that page. As I said, I was able to compile and execute my application on my hardware platform but modifying defines. The page doesn’t tell which makefile to invoke to compile lvgl. For example, if you are coming from an existing project with Makefile setup which builds application only, I want to know which Makefiles to invoke from my Makefile to compile lvgl.

I understand that this work has been done in the pre-existing port repositories. But I wish there is some documentation about how it’s done.

Also, the pre-existing port repositories have empty lvgl folders where the user has to clone the respective repository. I’d like to follow a similar setup.

Actually, you just need to make sure you checkout submodules.

LVGL doesn’t include or rely upon Makefiles. This is done to make it usable with any build system.

Using your existing Makefile, you need to add the C files under lvgl/src to your list of source files to compile, and add the lvgl folder to your include path.

1 Like

I’ll give that a try. Thanks!