lvgl/lv_port_stm32f769_disco

with a "start from scratch" tutorial `.md` file will be better

r00t1900 opened this issue · 7 comments

I am a big fan of LVGL and I've successfully clone this porting repository and burn into my f769-disco board. The LVGL is pretty good, and I would like to make more things on it.

problem

However:

  • with the porting project, I still can not create a stm32f769 project with LVGL from scratch totally, especially with ST official development kit STM32CubeIDE.

    The start from sctatch tutorial means that beginner can know every single steps within IDE, LVGL, real board operation and by following the instrcution beginner can disaply a simple "hello world" label and "click me" button on LCD screen.

  • for now the popular 3rd-party LVGL design tool squareline studio did not publish any tutorial that can tell beginner how to load LVGL project into a real board.
  • the stm32 part in current LVGL documentation are still a blank.

So I am a little desperated because LVGL is so nice but I can not find a suitable tutorial to start from scratch.

question

  • If I would like to use LVGL on my embedded project, which mcu are your official recommending? NXP, STM32 or ESP32?
  • with the recommended mcu, what is the corresponding development kit, such as OS, IDE, compiler and tricks?

more

In a word, I'm a typical software developer as well as a hardware beginner, so I have so many confuses on the hardware development flow. But from my point of view, everything can get started quickly with proper documentation, tools, practice and a correct direction.

I would like to seek all the require elements to get started with LVGL, thank you very much.

Hi,

True, we could have better platform specific docs. The good news is that we stated to work on a new unified driver system which will be an integral part of LVGL. This way you will be able to pick a driver from lv_conf.h (e.g. STM32 LTDC) and create a display using it. But it's still work in progress.

For now you can take a deeper look at the files here. Here tft_init initializes SRAM and LTDC but you can initialize them in CubeMX instead.

Note that, once you have a working display (you can set a pixel to red) it's very simple to write a basic driver for LVGL.

See here.

Hi,

True, we could have better platform specific docs. The good news is that we stated to work on a new unified driver system which will be an integral part of LVGL. This way you will be able to pick a driver from lv_conf.h (e.g. STM32 LTDC) and create a display using it. But it's still work in progress.

For now you can take a deeper look at the files here. Here tft_init initializes SRAM and LTDC but you can initialize them in CubeMX instead.

Note that, once you have a working display (you can set a pixel to red) it's very simple to write a basic driver for LVGL.

See here.

That's so good and I am looking forward to it!

Before that feature be released, can I have a complete lv_port_stm32f769_disco project which is an origin STM32CubeIDE Project with .ioc file? With .ioc file I can modify the GPIO usage in graphic view thanks to the STM32CubeIDE Code Generation Tool.

Currently this repository does not contain a .ioc file that are generated by STM32CubeMX or STM32CubeIDE, which cause developer can not modify the pins as they wish.

Sorry, but I can't immerse in creating and ioc project now. 🙁

However, I believe if you create an ioc project from a template for this board, you can copy past the drivers found in hal_stm_lvgl and if needed from Utilities/STM32F769I-Discovery.

Let me know if you get any questions meanwhile.

@r00t1900
I think this is easy to be done, I wish I had time to try this but unfortunately..
Like @kisvegabor said, have a look to the hal_stm_lvgl folder. You can do the same with CubeMx.
Honestly, I would avoid using CubeMx. I would rather copy some generated stuff to this project to enable functionalities, rather than having a CubeMx project for a project. Anyways, If you need any help, please let me know as well.

stale commented

This issue or pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.