1.1 Configuración y modo de compilación de Nuttx
Nuttx tiene tres configuraciones de construcción diferentes
Ø Compilación PLANA: esta compilación es donde reside todo el código en el espacio de direcciones públicas.
1) La aplicación, el kernel y la lógica de la placa se encuentran en un entorno de direcciones planas;
2) Todos los espacios de direcciones tienen los mismos atributos;
Ø Compilación PROTEGIDA: esta compilación utiliza una unidad de protección de memoria (MPU) para separar la memoria en un modo privilegiado para el sistema operativo y un modo no privilegiado para todas las aplicaciones.
1) La aplicación funciona en modo usuario;
2) El programa del kernel funciona en modo kernel;
3) La memoria se divide en núcleo y montón de aplicaciones;
Ø Construcción KERNEL: esta compilación utiliza una unidad de administración de memoria (MMU) para colocar el sistema operativo en un espacio de direcciones privado y colocar la tarea (o proceso) en su propio espacio de direcciones virtuales.
1) La aplicación funciona en modo usuario;
2) El programa del kernel funciona en modo kernel;
3) La memoria se divide en núcleo y montón de aplicaciones;
4) Mayor aislamiento entre los procesos del usuario, cada aplicación funciona en su propio espacio;
Para compilaciones PROTEGIDAS versus compilaciones KERNEL, la aplicación reside fuera del espacio de direcciones del sistema operativo y en ninguna de estas compilaciones la aplicación tiene acceso a ningún recurso interno del sistema operativo.