The STM32MP series of processors are MPUs with MMUs capable of running Linux. The STM32MP135F-DK is a devkit for the 1 GHz Cortex-A7 STM32MP135F MPU. It has a display and lots of high-level IO such as four USB ports and dual ethernet ports. The external SDRAM chip on the board is 512 MB.
You can purchase a STM32MP135F-DK from https://www.st.com/en/evaluation-tools/stm32mp135f-dk.html.
Software rendering using the double-buffered direct LTDC driver.
| Name | Avg. CPU | Avg. FPS | Avg. time | render time | flush time |
|---|---|---|---|---|---|
| Empty screen | 50% | 54 | 9 | 1 | 8 |
| Moving wallpaper | 48% | 56 | 7 | 1 | 6 |
| Single rectangle | 36% | 59 | 5 | 0 | 5 |
| Multiple rectangles | 63% | 56 | 9 | 0 | 9 |
| Multiple RGB images | 45% | 57 | 7 | 0 | 7 |
| Multiple ARGB images | 54% | 54 | 9 | 1 | 8 |
| Rotated ARGB images | 42% | 53 | 8 | 2 | 6 |
| Multiple labels | 64% | 53 | 12 | 1 | 11 |
| Screen sized text | 63% | 60 | 9 | 6 | 3 |
| Multiple arcs | 43% | 59 | 6 | 0 | 6 |
| Containers | 19% | 53 | 8 | 1 | 7 |
| Containers with overlay | 63% | 60 | 10 | 4 | 6 |
| Containers with opa | 24% | 53 | 7 | 1 | 6 |
| Containers with opa_layer | 26% | 50 | 11 | 4 | 7 |
| Containers with scrolling | 27% | 60 | 3 | 3 | 0 |
| Widgets demo | 61% | 49 | 8 | 3 | 5 |
| All scenes avg. | 45% | 55 | 7 | 1 | 6 |
- CPU: ARM Cortex-A7
- RAM: 168 KB internal SRAM, 512 MB external SDRAM
- Flash: Micro SD Card
- Resolution: 480x272
- Display Size: 4.3"
- Interface: RGB
- Color Depth: 16-bit
- Technology: LCD
- DPI: 128 px/inch
- Touch Pad: Capacitive
- 4x USB
- 2x ethernet
- Camera module
- WiFi
- Bluetooth
- USB Type-C
- You will need two USB Type-C cables. Only one needs to be data capable.
- Install a Micro SD Card in the slot. Only a very small capacity is needed as the binary is under 2 MB in size.
- Install STM32CubeIDE. It can be downloaded from here.
- Ensure Python is available on your system.
- Clone this repo and the LVGL submodule.
git clone --recursive https://github.com/lvgl/lv_port_stm32mp135f_disco_bm.git
- Open the project with STM32CubeIDE.
- Build the project by clicking the hammer icon.
- While powered-off, set the four switches on the board to the "OPEN" position.
- Connect first the USB C port labeled CN7 and then the USB C port labeled CN12 (aka PWR_IN).
- In a terminal, change the directory to
Binaryand runProgram_lv_port_stm32mp135_bm.sh(.baton Windows).You will be prompted to choose a "layout" to flash.cd Binary ./Program_lv_port_stm32mp135_bm.shEnterFlashing the device 000080183031510A30333432 1) FlashLayout_lv_port_stm32mp135_deleteall.tsv 2) FlashLayout_lv_port_stm32mp135_bm.tsv Which layout do you want to flash ?1and press enter. Wait for it to finish. - Press the black RESET button, B5.
- Repeat step 6 but choose
2this time. - Unplug both USBs.
- Set the switches to 1:up, 2:down(OPEN), 3:up, 4:down(OPEN).
- Connect the CN12 (aka PWR_IN) USB and the LVGL app should run.
You can launch debugging in STM32CubeIDE by clicking the "bug" icon.
If you find any issues with the development board feel free to open an Issue in this repository. For LVGL related issues (features, bugs, etc) please use the main lvgl repository.
If you found a bug and found a solution too please send a Pull request. If you are new to Pull requests refer to Our Guide to learn the basics.