Forum Discussion
Altera_Forum
Honored Contributor
12 years agoBare-Metal vs RTOS for advanced control systems - Cyclone V SX
Dear community,
I’m fairly new to the SoC-World and I have a few things I would like to discuss with you guys. I have to design a board with the new Cyclone V SXF SoC system for my company. We mostly want to run control algorithms on the FPGA, with the more advanced ones (e.g. model predictive control) being assisted by the HPS. Seeing as real-time is a must, we thought the best way to achieve this integration of the HPS in the control system was by configuring the FPGA to our needs and then making the FPGA run Bare-Metal-Applications on the HPS unit. However, while searching through this forum I learned that Bare-Metal-Applications are actually not recommended, as they do not exploit the full potential of the Cortex-A Class processors, especially given the dual core version of the Cyclone V SXF. So my question is: Would a Real-Time-Operating-System (RTOS) be more suitable for our application? If yes, why, and which one in particular? Many thanks, X Claudia13 Replies
- Altera_Forum
Honored Contributor
It depends on the how 'hard' the real-time requirements are.
If you have very strict real-time requirements you can't afford the randomness that an RTOS will generate. IMHO I'd avoid vxworks ... - Altera_Forum
Honored Contributor
If use 1 thread in any RTOS, come in Baremetal application ! :)
If only that RTOS may will start from any flash ! :) Wait 1-2 year, and Baremetal learn to work on SoC FPGAs ! :) - Altera_Forum
Honored Contributor
Hi Claudia,
I have similar project, according to functionality and demands you described. We choose Threadx as RTOS. It is simple enought and has realtime scheduling. The bare-metal library is actually core part of Threadx drivers for Cyclone V SOC. My answer to the question is yes, the RTOS (like Threadx, vxworks, etc) are more suitable. The reason is multitasking support and scheduling. Gery