diferencias entre el modo privilegiado y el modo no privilegiado en el RTX RTOS

2

Como dije en el título, ¿cuáles son las diferencias entre el modo privilegiado y el modo no privilegiado en el RTX RTOS? ¿Y por qué en los subprocesos en modo privilegiado ha permitido el acceso completo al procesador Cortex M?

    

1 respuesta

4

De la Documentación RTX

  

Modo de procesador para la ejecución de subprocesos

     

CMSIS-RTOS RTX permite ejecutar subprocesos en modo de procesador sin privilegios o privilegiado. El modo del procesador se controla con #define OS_RUNPRIV .

     

En el modo de procesador sin privilegios, el software:

     
  • tiene acceso limitado a las instrucciones de MSR y MRS, y no puede usar la instrucción CPS.
  •   
  • no puede acceder al temporizador del sistema, NVIC ni al bloque de control del sistema.
  •   
  • puede tener acceso restringido a la memoria o periféricos.
  •   

En el modo de procesador privilegiado, el software puede usar todas las instrucciones y tiene acceso a todos los recursos.

     

Nota   Se recomienda utilizar el modo de procesador privilegiado.

El modo Privilegiado y No Privilegiado es realmente una característica del núcleo ARM y RTX simplemente hace que esa característica esté disponible. Si su aplicación tiene una razón para restringir privilegios para subprocesos, puede elegir el modo sin privilegios. Pero sospecho que la mayoría de las aplicaciones utilizan el modo privilegiado y permiten que todos los subprocesos tengan pleno privilegio.

    
respondido por el kkrambo

Lea otras preguntas en las etiquetas