MATLAB: Can atomic subsystem pre-empts with higher priority tasks/interrupts

MATLAB: Can atomic subsystem pre-empts with higher priority tasks/interrupts

atomicautoboxEmbedded Coderpre-emptionsimulinksub-system

Hello,
I am working with a multi-tasking system on dSPACE microautobox. I am confused with ‘atomic’ keyword in Simulink subsystem block. Does the higher priority tasks can pre-empt the lower priority atomic subsystem?
Note: In definition of atomic unit, there is no information about the execution status when an higher priority task/ interrupt occurred.
“Cause Simulink software to treat the subsystem as a unit when determining the execution order of block methods. For example, when it needs to compute the output of the subsystem, Simulink software invokes the output methods of all the blocks in the subsystem before invoking the output methods of other blocks at the same level as the subsystem block.”
Regards, Ajith

Best Answer

  • I got reply from MATLAB: “Yes, a higher priority atomic subsystem’s task can preempt another lower priority atomic subsystem’s task. A single rate atomic subsystem can be preempted by blocks or other systems running in a higher priority task. So, atomic system doesn’t imply the system execution is atomic in multitasking environment in real-time deployment. It’s execution can be preempted.”
  • Add a Comment

    Your email address will not be published. Required fields are marked *