Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
11 years ago

Bare-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 Claudia

13 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    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 ...

    --- Quote End ---

    If you're finding that whatever RTOS you are using is not meeting your "strict real-time requirements", then you are using the wrong RTOS. A RTOS should not be introducing "randomness", it should be introducing order and predictability. mAbassi from Code Time is another one to consider, and was designed specifically for multicore applications.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    If you're finding that whatever RTOS you are using is not meeting your "strict real-time requirements", then you are using the wrong RTOS. A RTOS should not be introducing "randomness", it should be introducing order and predictability. mAbassi from Code Time is another one to consider, and was designed specifically for multicore applications.

    --- Quote End ---

    Thanks for the tip, I will try mAbassi! Do you know if there is an educational license?

    Cheers,

    Adam
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Claudia,

    Hi, can you recommend any vendors for RTOS? Which one do you like?

    Thanks