This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

How does RTOS use MPU on Cortex-M?

1. What is more suitable for running RTOS: Cortex-A or Cortex-R or Cortex-M? 

2. I want to make my own RTOS on Cortex-M: How to use MPU for protecting tasks? 

Parents
  • With respect to memory protection the term MMU =~ MPU.

    The "task" concept in SCIOPTA is more like the thread concept in *nix/Windows/MacOS: We have modules and processes. Memory protection (by MPU or MMU) is done between modules. Process within one module share the same memory area and are not protected against each other. So like process/thread in Linux.

    SCIOPTA has no shared memory at all. It uses direct message passing. If messages are sent between protection regimes, then the message contents will be copied by the kernel.

    As for the number of regions: The kernel changes MPU setup on task switch if needed.

    The pity about the MPU (and MMU is even worse) is the granularity, that's why I decided to leave active stack check out.

    Though we might use a data watch point if wanted (and available) to protect against stack overflow.

Reply
  • With respect to memory protection the term MMU =~ MPU.

    The "task" concept in SCIOPTA is more like the thread concept in *nix/Windows/MacOS: We have modules and processes. Memory protection (by MPU or MMU) is done between modules. Process within one module share the same memory area and are not protected against each other. So like process/thread in Linux.

    SCIOPTA has no shared memory at all. It uses direct message passing. If messages are sent between protection regimes, then the message contents will be copied by the kernel.

    As for the number of regions: The kernel changes MPU setup on task switch if needed.

    The pity about the MPU (and MMU is even worse) is the granularity, that's why I decided to leave active stack check out.

    Though we might use a data watch point if wanted (and available) to protect against stack overflow.

Children
No data