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

Cortex-M0+ privileged/unprivileged extensions

Hi all,

According with ARMv6-M architecture reference manual, it supports two operation modes, handler mode and thread mode.

- "execution in handler mode is always privileged."

- "execution in thread mode can be privileged or unprivileged, depending on the value of CONTROL.nPRIV."

My question is where does the CONTROL.nPRIV comes from? This is a static RTL hardware config? or we just can switch it dynamically via software?

Thanks

Parents
  • Hi Jorge,

    CONTROL is a special purpose register that controls the mode(user/privileged) and stack(psp/msp). If the privileged mode extension is implemented, we can change it by software. Otherwise, it is no use. You can read or write it by instruction MRS or MSR.

    This section is described in architecture reference manual B1.4.4.

    Best regards,

    Wenchuan

Reply
  • Hi Jorge,

    CONTROL is a special purpose register that controls the mode(user/privileged) and stack(psp/msp). If the privileged mode extension is implemented, we can change it by software. Otherwise, it is no use. You can read or write it by instruction MRS or MSR.

    This section is described in architecture reference manual B1.4.4.

    Best regards,

    Wenchuan

Children
No data