ECE471/571 (RTOS) STM32 FreeRTOS Examples
Key examples -- see "Create a FreeRTOS project" first
More examples are added as course progresses.
STM32F74 Nucleo-144 board (NUCLEO-F746ZG) documents
FreeRTOS documentation
Create a FreeRTOS project
- Run STM32CubeMX
- New project
- Choose Board Selector
- Search for F746
- From the list select board Nucleo-F746GZ (may require downloading components)
- Select tab "Features" -- Verify the picture of the board if the choice is correct
- Select tab "Docs and Resources" -- Download the board user manual UM1974
- LED1 (green) - PB0
- LED2 (blue) - PB7
- LED3 (red) - PB14
- B1 (user) - PC13
- Select "Docs and Resources" -- Download the getting started manual UM1727 (in case you get lost)
- Start Project (first time requires downloading the board expansion pack)
- initialize all peripherals with in default mode? - yes
- find PB0, PB7, PB14, PC13, verify that they are configured correctly
- enable Middleware - FreeRTOS
- choose Interface: CMSIS V1
- enable vTaskDelay (already enabled)
- enable vTaskDelayUntil (if you are using it in your code)
- enable USE_PREEMTPTION (already enabled)
- choose System Core - SYS - Timebase Source: TIM2
- disable Ethernet
- configure additional features per each project specification
- Project Manager / Project
- select name for your project
- select a directory for your project - create a directory for your project as needed
- select Toolchain/IDE: STM32CubeIDE
- Project Manager / Code Generator (verify correct settings)
- Copy only the necessary library files
- Keep User Code when re-generated
- Generate Code (first time requires downloading the board expansion pack)
- Open project - yes (STM32CubeIDE, if not selected then run the STM32CubeIDE from start menu)
- File / Close Project
- Close STM32CubeMX
Adapt and compile a project
- Run STM32CubeIDE
- File / Open Project from file system -- select directory for scanning, select project for importing
- Project / Build All -- to test if it builds; if it does not, check why, potentially delete it and generate again with correct platform settings
- edit files and create new files as needed per each project specification
- Connect the board, use micro USB opposite to the Ethernet connector
- Project / Build All
- Run as... STM32 Cortex-M C/C++ Application (or Debug as...)