Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lvgl/lv_port_stm32h7b3i_disco
This repository contains the Light and Versatile Graphics Library (LVGL) port for the STM32H7B3I-DK development board.
https://github.com/lvgl/lv_port_stm32h7b3i_disco
embedded-systems gui lvgl stm32 stm32h7
Last synced: 2 months ago
JSON representation
This repository contains the Light and Versatile Graphics Library (LVGL) port for the STM32H7B3I-DK development board.
- Host: GitHub
- URL: https://github.com/lvgl/lv_port_stm32h7b3i_disco
- Owner: lvgl
- License: mit
- Created: 2022-08-23T04:52:25.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-10-29T13:38:31.000Z (2 months ago)
- Last Synced: 2024-10-29T16:11:14.855Z (2 months ago)
- Topics: embedded-systems, gui, lvgl, stm32, stm32h7
- Language: C
- Homepage:
- Size: 28.4 MB
- Stars: 14
- Watchers: 4
- Forks: 4
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# lv_port_stm32h7b3i_disco
This repository contains the Light and Versatile Graphics Library (LVGL) port for the STM32H7B3I-DK development board.
![demo_pic](/pics/demo_pic.jpg)
This project uses LVGL v8.3.1
For the most up-to-date version of LVGL please visit: https://github.com/lvgl/lvgl
The STM32H7B3I-DK is an affordable development board with:
- STM32H7B3LIH6QU Arm®-based microcontroller featuring 2 Mbytes of Flash memory and 1.4 Mbyte of RAM in BGA225 package
- 4.3" (480x272 pixels) TFT color LCD module including a capacitive touch panel with RGB interface
- Wi‑Fi® module compliant with 802.11 b/g/n
- USB OTG HS
- Audio codec
- 512-Mbit Octo-SPI NOR Flash memory
- 128-Mbit SDRAM
- 2 user LEDs
- User and Reset push-buttons
- Fanout daughterboard
- 1x FDCAN
- Camera (8 bit)
- USB with Micro-AB
- Stereo headset jack including analog microphone input
- Audio jack for external speakers
- microSD™ card
- TAG-Connect 10-pin footprint
- Arm® Cortex® 10-pin 1.27mm-pitch debug connector over STDC14 footprint
- ARDUINO® Uno V3 expansion connector
- STMod+ expansion connector
- Audio daughterboard expansion connector
- External I2C expansion connector## How to import this project to STM32CUBEIDE:
1. Clone this respository:
```
git clone https://github.com/epichl25/lv_port_stm32h7b3i_disco.git
```
2. Open STM32CUBEIDE
3. Create a new workspace
4. Import the project: File => Import => General => Existing Projects into Workspace => Browse => Select the "lv_port_stm32h7b3i_disco" folder => Finish
5. Build the project: Project => Build all
6. Upload the firmware to the development board: Run## Update Information
### 26.8.2022
DMA2D support was added to the project.This method uses the Chrom-Art Accelerator found in STM32H7B3I-DK's MCU for rendering. Compared to the "simple" mode, this mode significantly improves performance and reduces stuttering.
### 2.9.2022
1. The project defaults to using the "simple" mode to render. Using STM32's DMA2D must now be enabled by changing the value of the define "LV_USE_GPU_STM32_DMA2D" found in lv_conf.h.2. The project was re-formatted to confrom with LVGL's project structure for stm32 projects.
## Benchmark Results
The benchmark demo firmware found in LVGL's demos was used to benchmark performance.| Rendering method | simple | dma2d |
| :--- | :---: | :---: |
| Weighted FPS | 40 | 76 |
| Opa. speed | 92% | 83% |## How to change rendering mode from default to DMA2D mode
NOTE: The simple rendering method is set by default. For better performance, please enable DMA2D mode.
1. Navigate to "lv_conf.h"
2. Locate the define "LV_USE_GPU_STM32_DMA2D" found in the GPU section.
3. Change '0' to '1' to enable DMA2D.## Troubleshooting
Below lists some common problems users might face when using this project.1. The project fails to build due to include errors.
- Solution 1
Check the workspace is named "lv_port_stm32h7b3i_disco". If it is not, rename it by right-clicking on the workspace and selecting rename.- Solution 2
1. If you do not wish to rename the workspace, go to "Project=>Properties=>C/C++ General=>Paths and Symbols=>Includes=>GNU C=>Include directories".
2. Remove the included directory "/lv_port_stm32h7b3i_disco".
3. Add a new inlcude directory "Add=>Workspace" and click on the workspace.
4. Ensure "Is a workspace path" is checked and press "OK".
5. Build and run the project again.## TODO
Add support for SDRAM buffers and test performance.## Credits
- epichl25
Original creator of this repository.
GitHub page link: https://github.com/epichl25- kisvegabor
Creator of LVGL.
GitHub page link: https://github.com/kisvegabor