1. Quick start STM32 FreeRTOS
In this example I used STM32F401CCU6 and STM32CubeIDE (Version: 1.17.0)
Create Project
File -> New -> STM32 Project
Select MCU
Setup Project
Setup PC13 as GPIO_Output
PC13 is connected to LED on the board
Setup RCC Low Speed Clock (LSE)
Setup SYS Timebase source
“При использовании FreeRTOS, в качестве базового таймера для HAL рекомендуется выбрать не SysTick (стоит по умолчанию), а другой.”
Select FREERTOS with CMSIS_V2
Create Tasks
Enable USE_NEWLIB_REENTRANT
Save project and Generate Code
File -> Save
Include some code into task functions
void StartTask01(void *argument) { /* USER CODE BEGIN StartTask01 */ /* Infinite loop */ for(;;) { HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13); osDelay(500); } /* USER CODE END StartTask01 */ }
Save changes
File -> Save
Build and Run Project