Why We Use Zephyr RTOS in Our Products
Introduction
When designing our industrial data acquisition (DAQ) devices, we focused not only on hardware capability but also on software reliability and sustainability. We want to share the reasons behind choosing Zephyr RTOS as the operating system for our ZMA series products and the advantages this choice enables.
The key factors that led us to this modern Real-Time Operating System (RTOS) were security, modularity, and compliance with industrial standards.
Streamlined Development with T2 Workspace Topology
One of Zephyr's greatest strengths is how it manages complex dependencies. In our projects, we utilize the "T2 Workspace" topology pattern. Thanks to the west tool and the west.yml manifest file, we manage all project requirements from a central point.
Instead of importing the entire Zephyr codebase, we selectively import only the modules we need:
- cmsis_6 and hal_stm32: For processor architecture and hardware abstraction layers.
- mcuboot: For the secure bootloader.
- mbedtls: For cryptographic operations and security.
This approach keeps our codebase clean and allows for controlled updates.
Custom Board Support
Our ZMA data acquisition devices (v1 and v2) feature custom-designed STM32-based boards. Zephyr's flexible "Device Tree" structure allows us to easily create .dts files and Kconfig configurations specific to our hardware.
This structure provides us with:
- Hardware Abstraction: We can switch between hardware revisions without changing the core logic of our code.
- Rapid Prototyping: We can test the exact same code on standard development boards like
Nucleousing overlay files.
Robust Driver Infrastructure
Instead of writing drivers at the register level one by one, we leverage Zephyr's rich subsystem and driver support. This allows us to abstract hardware complexity and focus on our primary task: data processing.
Key driver advantages we utilize include:
- GPIO & PWM: Precise control for system status LEDs and alert mechanisms.
- ADC Integration: We use Zephyr's standard ADC API to communicate with high-precision external ADC sensors via SPI. This ensures our upper-layer software remains unchanged even if the sensor model changes.
- UART & Console: A robust serial communication infrastructure for logging and Modbus RTU.
- EEPROM: Standardized storage drivers for securely saving device configurations in non-volatile memory.
Security and MCUboot
Security is not an option in industrial devices; it is a necessity. As part of the Zephyr ecosystem, we integrated MCUboot to provide "Secure Boot" capabilities to our devices.
- Signature Verification: Our devices only run software that has been signed and verified by us using an RSA-2048 key.
- Secure Updates: It offers a resilient structure against errors that might occur during software updates.
Quality and Standards
Another reason for choosing Zephyr is the quality assurance it provides:
- Built-in Tools: A powerful toolset for debugging and analysis.
- Hardening Tools: Tools that take proactive measures against security vulnerabilities.
- MISRA Compliance: Adherence to industrial coding standards that enhance code quality and safety.
Conclusion
Zephyr RTOS offers the ZMA product family more than just an operating system; it provides a modern, secure, and sustainable development ecosystem. This translates into more stable, secure, and long-lasting products for our customers. The future of the industry lies in open-source, secure, and modular structures, and we are ready for this future with Zephyr.
Visit our product page to explore the ZMA Data Acquisition device powered by Zephyr RTOS.