Skip to content

Content of this repo demonstrates how to set use LCD display on STM32F769I-DISCO board with LVGL embedded graphics library and no OS (bare-metal) and set up VS Code development environment including build and OCD step debugging.

Notifications You must be signed in to change notification settings

tdjastrzebski/STM32F769I-DISCO-LVGL

Repository files navigation

STM32F769NI Discovery Kit (STM32F769I-DISCO) LCD Demo with LVGL and DMA2D aka Chrom-ART support

Content of this repo demonstrates how to use LCD display on STM32F769I-DISCO board with LVGL embedded graphics library without OS (bare-metal). Example shows how to set up VS Code development environment, including build and OCD step debugging.

This repo uses submodules, to clone execute:
git clone --recursive https://github.com/tdjastrzebski/STM32F769I-DISCO-LVGL

hello world

VS Code Environment Setup

Prerequisites

  • NodeJS + NPM
  • Python + PIP
  • Git
  • VS Code

pyOCD

  • pip install pyocd --upgrade On Windows install as admin, otherwise install is local and PATH setting is required.
  • pyocd pack update
  • pyocd pack find stm32f769
  • pyocd pack install STM32F769NIHx

OpenOCD

  • Download the latest version from https://github.com/xpack-dev-tools/openocd-xpack/releases or build it yourself following this guide
  • Unzip it to OpenOCD folder in C:\Program Files
  • Set OpenOCD system variable to 'C:\Program Files\OpenOCD'
  • Add %OpenOCD%\bin to system PATH variable
  • Set XDG_CACHE_HOME env variable to %USERPROFILE%\AppData\Local\Temp to prevent symbol cache path error

Note: xpm utility does not really support global installations (yet), hence I suggest the above approach.

SVD file - MPU specific

Download from https://github.com/posborne/cmsis-svd/tree/master/data/STMicro and place in the root folder.

GNU Arm Embedded Toolchain

  • Required version: arm-none-eabi (bare-metal target) 10.3-2021.07
  • Do NOT use latest versions 11.x and 12.x. Newer versions currently have known bugs which may impact build and/or debug process.
  • Set MBED_GCC_ARM_PATH env variable to C:\Program Files (x86)\Arm GNU Toolchain arm-none-eabi\10.3 2021.07\bin
  • Add MBED_GCC_ARM_PATH env variable to Windows Path env variable (%MBED_GCC_ARM_PATH%) - if not set by the installer.

Required NPM packages

  • npm install -g cppbuild
  • npm install -g shx
  • npm install -g @serialport/terminal

Required VS Code plug-ins

VS Code config

  • Set the default VS Code terminal to Git Bash. Otherwise, VS Code may try to execute task NPM packages as (e.g.) PowerShell scripts.

Recommended VS Code plug-ins

  • LinkerScript (Zixuan Wang)
  • Arm Assembly (dan-c-underwood)
  • Code Spell Checker (Street Side Software)
  • Build++ (Tomasz Jastrzębski)

Optional

References

Discovery kit with STM32F769NI MCU docs

STM32F769NI MPU docs

How to add a BSP (Board Support Packages) to an STM32CubeIDE project?

https://st.force.com/community/s/article/how-to-add-a-bsp-to-an-stm32cubeide-project

About

Content of this repo demonstrates how to set use LCD display on STM32F769I-DISCO board with LVGL embedded graphics library and no OS (bare-metal) and set up VS Code development environment including build and OCD step debugging.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages