https://github.com/elmot/ctest-unity-stm32-testing-example
A demo repository for conference talk "Unit Testing for Embedded Development: From Real Silicon to Emulated Environments"
https://github.com/elmot/ctest-unity-stm32-testing-example
cicd clion clion-cmake clion-ide cmake ctest gcc gcc-complier gcc-cross-compiler openocd qemu stm32 stm32f4 throwtheswitch
Last synced: 2 months ago
JSON representation
A demo repository for conference talk "Unit Testing for Embedded Development: From Real Silicon to Emulated Environments"
- Host: GitHub
- URL: https://github.com/elmot/ctest-unity-stm32-testing-example
- Owner: elmot
- License: mit
- Created: 2025-10-05T16:11:06.000Z (3 months ago)
- Default Branch: master
- Last Pushed: 2025-10-05T17:04:30.000Z (3 months ago)
- Last Synced: 2025-10-05T18:27:15.139Z (3 months ago)
- Topics: cicd, clion, clion-cmake, clion-ide, cmake, ctest, gcc, gcc-complier, gcc-cross-compiler, openocd, qemu, stm32, stm32f4, throwtheswitch
- Language: C
- Homepage: https://www.jetbrains.com/clion/
- Size: 645 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Unit Testing for Embedded Development: From Real Silicon to Emulated Environments
This repository contains demonstrations and examples related to unit testing practices for embedded systems. It covers
various testing methodologies, including development testing, emulator testing, and on-device testing, addressing the
unique challenges and considerations for embedded software.
Target Device: STM32F405RGxx(STM32F407RGxx) (ARM Cortex-M4)
### Testing Approaches
Explores three primary testing methods:
1. Development Testing
- Synthetic tests run on a computer or CI server
2. Emulator Testing
- Synthetic tests cross-compiled for the target processor and run on an emulator
3. On-device Testing
- Tests cross-compiled and executed directly on the target device
The code in this repository is designed to work seamlessly on both local development machines and TeamCity CI/CD
servers, ensuring consistent testing environments across different platforms.