About | Requirements | Installation | Usage | References | License
This project acts as a foundational template for initiating development with STM32 microcontrollers utilizing the Amazon FreeRTOS kernel, providing a basic framework that can be readily adapted and expanded.
STM32_FreeRTOS-Kernel is a simple project designed to build projects for STM32 microcontrollers.
This project uses Amazon's FreeRTOS kernel middleware in the form of a git submodule rather than that offered by STMicroelectronics with the STM32CubeMX software.
-
A command line interface (CLI) allowing basic functions, but adaptable to any use.
-
A "Heartbeat" FreeRTOS task flashing the user LED.
-
(In FreeRTOS-Sensors application only) Two FreeRTOS tasks:
a. A task that reads the temperature sensor value and sends it to a FreeRTOS queue.
b. A task that reads the temperature value from the FreeRTOS queue and displays it on an OLED screen.
Board Family Adaptability: The project is structured to allow easy adaptation to different STM32 family boards (such as U5, L4, H7, etc.).
Important
Driver Compatibility: Switching between different STM32 families involves updating the drivers (HAL/BSP and CMSIS Device) to match the specific requirements of the target board.
STM32_FreeRTOS-Kernel follows the topology of the official packages provided by STMicroelectronics, known as "STM32Cube."
This means that the project is compatible with various STM32Cube Firmware Packages such as STM32Cube Firmware Packages (e.g., STM32CubeH7, STM32CubeWB) or STM32Cube Extension Softwares (e.g., X-CUBE-AZURE, X-CUBE-FREERTOS), enabling further expansion and customization for specific applications.
This Software Bill Of Materials (SBOM) itemizes the software components included in this package, detailing the copyright holder and licensing terms for each.
Component | Version | Copyright | License |
---|---|---|---|
CMSIS Core | x | ARM Limited | Apache License 2.0 |
CMSIS Device STM32WB5 | x | ARM Limited | Apache License 2.0 |
Drivers HAL/LL STM32WB5 | x | STMicroelectronics | BSD-3-Clause |
BSP STM32WB5MM-DK Board | x | STMicroelectronics | BSD-3-Clause |
BSP Components | x | STMicroelectronics | BSD-3-Clause |
FreeRTOS-Kernel | x | Amazon.com | MIT |
Applications projects | x | Amazon.com, STMicroelectronics, Orel138 | MIT |
- STM32WB55
Before you begin, ensure you have met the following softwares installed on your computer :
- STM32CubeIDE v1.14.1
- STM32CubeMX v6.11.0
- STM32CubeProgrammer v2.16.0
To install STM32_FreeRTOS-Kernel, follow these steps:
- Clone the repository
git clone https://github.com/Orel138/STM32_FreeRTOS-Kernel.git
- Navigate to the project directory
cd STM32_FreeRTOS-Kernel
- Run the following command.
git submodule update --init
- Open the project with STM32CubeIDE (open the .project or .cproject file)/ Projects for STM32CubeIDE are located in Projects/{Board}/Applications/{FreeRTOS-xxxxxxxx}/STM32CubeIDE/
- Build the project in STM32CubeIDE.
- Debug in the IDE or use STM32cubeProgrammer to flash the executable.
- The executable (
.elf
file) for the example will be inProjects/{Board}/Applications/{FreeRTOS-xxxxxxxx}/STM32CubeIDE/Debug
folder.
- You can now drag and drop the
.elf
file in your board and see the user LED blink. - Or you can modify the project for your STM32 target with STM32CubeIDE and STM32CubeMX.
- WIP
- WIP
We welcome your contributions to STM32_FreeRTOS-Kernel.
To contribute:
- Fork the repository.
- Create a new branch: git checkout -b [branch-name].
- Make your changes and commit them: git commit -m '[commit-message]'.
- Push to the original branch: git push origin [project-name]/[location].
- Create the pull request.
STM32_FreeRTOS-Kernel is released under the MIT license © Orel138.
Tip
I trust you'll find this project enjoyable. Should you appreciate the project, bestowing a small ⭐ on it is a meaningful gesture, signifying: My efforts are recognized. Your support would be greatly valued. Many thanks!