All Projects → lvgl → lv_port_stm32f746_disco

lvgl / lv_port_stm32f746_disco

Licence: MIT License
LVGL ported to STM32F746G-DISCO using STM32CubeIDE

Programming Languages

c
50402 projects - #5 most used programming language
HTML
75241 projects
assembly
5116 projects
Makefile
30231 projects
CMake
9771 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to lv port stm32f746 disco

stm32-cube-cmake-vscode
STM32, VSCode and CMake detailed tutorial
Stars: ✭ 346 (+1135.71%)
Mutual labels:  stm32, stm32cubeide
STM32CubeIDE-Workshop-2019
STM32CubeIDE Workshop (Taipei, 22 May 2019)
Stars: ✭ 42 (+50%)
Mutual labels:  stm32, stm32cubeide
OpenOCD
STMicroelectronics customized version of OpenOCD supporting STM32 MCUs and MPUs
Stars: ✭ 34 (+21.43%)
Mutual labels:  stm32, stm32cubeide
async-stm32f1xx
Abstractions for asynchronous programming on the STM32F1xx family of microcontrollers.
Stars: ✭ 24 (-14.29%)
Mutual labels:  stm32
O7
Oberon → ARMv{6,7E}-M compiler
Stars: ✭ 27 (-3.57%)
Mutual labels:  stm32
MCUCapture
Utility for plotting array data from MCU RAM
Stars: ✭ 22 (-21.43%)
Mutual labels:  stm32
i2c-sniffer
Debugging tool for I2C networks, built for STM32 microcontrollers
Stars: ✭ 22 (-21.43%)
Mutual labels:  stm32
MPU60X0
Fast, Lightweight STM32 I2C HAL Driver for the MPU6000/MPU6050 IMU
Stars: ✭ 15 (-46.43%)
Mutual labels:  stm32
STM32 HAL FREEMODBUS RTU
FreeMODBUS RTU port for STM32 HAL library
Stars: ✭ 111 (+296.43%)
Mutual labels:  stm32
STM32 XPD
STM32 eXtensible Peripheral Drivers
Stars: ✭ 38 (+35.71%)
Mutual labels:  stm32
STM32-Bare-Metal
STM32F103C8 bare metal template
Stars: ✭ 26 (-7.14%)
Mutual labels:  stm32
STM32-RFM95-PCB
STM32 and AVR128 Printed Circuit Board for creating IOT nodes with the RFM95 LORA chip
Stars: ✭ 14 (-50%)
Mutual labels:  stm32
android-stm32-dfu-programmer
Android application programmer for STM32 microcontrollers using the DFU protocol
Stars: ✭ 77 (+175%)
Mutual labels:  stm32
platformio-libopencm3-freertos
Sample blinky project for PlatformIO using libopencm3 and FreeRTOS
Stars: ✭ 14 (-50%)
Mutual labels:  stm32
nanoFramework.WebServer
📦 Web server for nanoFramework packed with features: REST api using attributes, multithread requests, parameters in query URL, static files serving.
Stars: ✭ 15 (-46.43%)
Mutual labels:  stm32
px-fwlib
open source bare-metal C firmware and documentation for microcontrollers
Stars: ✭ 247 (+782.14%)
Mutual labels:  stm32
MPU6050
STM32 HAL library for GY-521 (MPU6050) with Kalman filter
Stars: ✭ 114 (+307.14%)
Mutual labels:  stm32
stm32f10x makefile freertos
stm32f10x gcc makefile freertos
Stars: ✭ 28 (+0%)
Mutual labels:  stm32
stm32-external-loader
Provides drivers, examples, loader files and testing routines for external loaders for STM32 series of microcontrollers.
Stars: ✭ 54 (+92.86%)
Mutual labels:  stm32
UA3REO-DDC-Transceiver
DDC/DUC SDR Tranceiver project
Stars: ✭ 93 (+232.14%)
Mutual labels:  stm32

LVGL ported to STM32F746 Discovery

This is LVGL ported to STM32F746G-DISCO using CubeIDE or IAR Embedded Workbench.

Try it with just a few clicks!

  1. Download lv_stm32f746.bin.zip and extract the binary inside.
  2. Plug in the Discovery board.
  3. Copy the binary to the DIS_F746NG drive provided by the board's USB interface.

image

How to compile and make changes

  1. Clone (or download) this GitHub repository to a folder on your computer and update the submodules: git clone --recursive https://github.com/lvgl/lv_port_stm32f746_disco.git
  2. Open/Import the project
  • CubeIDE

    1. Install CubeIDE.
    2. Import the project into your workspace.
  • IAR Embedded Workbench

    • Open IAR workspace at ide/iar/stm32f746_disco_lvgl.eww

      NOTE: LVGL does NOT support the 'multi-file compilation' mode.

  1. Connect the Discovery board
  2. Build and run!

How to build using VSCode and Devcontainers

Prerequisits

Using Devcontainers

For the background to Microsoft's Development containers see here

At the project root, open the project using VSCode

$ code .

VSCode will then pop up a dialog:

Folder contains a Dev Container configuration file. Reopen folder to develop in a container

Select Reopen in Container

First time through this will build a Docker image from scratch using .devcontainer/Dockerfile - this may take a couple of minutes as it includes downloading the gcc-arm-none-eabi toolset from developer.arm.com. This build is a one-off operation.

Once VSCode has created the Docker image and launched the container, open a new Terminal window (using the VSCode menu). You are now working in an Ubuntu based envrionment.

To Build

There is a build script supplied. Simply run

$ ./build.sh

This will create the artifacts:

  • build/debug/lv_stm32f746.elf
  • build/debug/lv_stm32f746.bin

To rebuild, simple repeat:

$ ./build.sh

If you add new files, then run:

$ ./build.sh reset

Debugging

To debug from within the container, OpenOCD need to run locally to connect to the target board.

In a terminal window run

openocd -f Release/stm32f7.cfg

OpenOCD will then wait on port 3333 for a gdb connection

Info : starting gdb server for stm32f7x.cpu on 3333
Info : Listening on port 3333 for gdb connections

In VSCode/devcontainer select the Run/Debug option Debug (Remote OpenOCD).

The container uses arm-none-eabi-gdb to connect to OpenOCD on port 3333 to reflash the board and support source-level debug.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].