Sistema Operativo embebido Linux - Linux para Microcontroladores
Sistema Operativo embebido Linux -Linux para Microcontroladores - Linux y uclinux
Linux se ha vuelto muy popular debido a que se lanzó como un proyecto de código abierto desarrollado por un grupo de programadores muy apasionados. Puede funcionar en diferentes sistemas, desde PDAs a ordenadores. Ahora se le describe como un sistema operativo totalmente portable y versátil.
Linux embebido se refiere principalmente al Kernel de Linux que es la base de cada sistema operativo. Para aplicaciones integradas se personaliza para cada microprocesador. ARM es uno de los procesadores ampliamente usado en Linux como un sistema aplicación de procesador. Algunas de las grandes ventajas son el soporte para sistemas multiprocesador y ejecutar simultáneamente varias aplicaciones.
Linux embebido es utilizado por muchas empresas de hardware para plataformas de aplicación específica, por ejemplo, Freescale lo utiliza para plataformas i.MX.
uClinux (Linux Microcontrolador) es una variante del sistema Linux sin una unidad de gestión de memoria (MMU). En primer lugar, se creó a partir del kernel de Linux 2.0. Hoy uClinux está disponible para los kernel de Linux 2.0, 2.4 y 2.6. Cuando no hay soporte MMU, el espacio del usuario y el espacio del kernel es la misma cosa, además no se requiere ningún subsistema de memoria virtual porque todos los códigos se ejecutantambién del subsistema de memoria virtual no es necesaria porque todos los códigos se
ejecutan a nivel de privilegio 0. Un sistema operativo básico tiene diferentes niveles de privilegio: el espacio del kernel se ejecuta en modo supervisor y las aplicaciones de usuarios en modo de usuario. Sólo el espacio del kernel tiene acceso directo a los recursos, la memoria y I / O.
Fig1. Linux en hardware
¿Cómo hacer la diferencia entre Linux para PC y Linux para aplicaciones embebidas?
En primer lugar usted debe saber que un sistema embebido normalmente no tiene un monitor y teclado / ratón para la interacción con el usuario. Las aplicaciones embebidas usan conexiones con el mundo real analógicas / digitales de entrada y salida, botones y switches para introducir datos, UART / LAN / USB / etc protocolos para la transferencia de datos.
Fig. 2 Entrada / Salida en el PC vs Sistema Embvebido (Ejemplo)
El gestor de arranque
Uno de los componentes más importantes de cualquier aplicación embebida es el gestor de arranque. Sus funciones principales son: la inicialización de de placa hardware, la carga y el inicio del Kernel desde la memoria ROM. La memoria ROM se utiliza porque es una memoria no volátil (no requiere energía para mantener el contenido).
Fig.3 El gestor de arranque está situado en las primeras direcciones.
Cómo escribir un controlador de Linux
Cada controlador de Linux, también llamado módulo, necesita tener dos funciones básicas: init_module () y cleanup_module ().
Ejemplo de un básico Hello eLinux:
#define MODULE
#include
int init_module(void)
{
printk("Hello eLinux \n");
return 0;
}
void cleanup_module(void)
{
printk("Goodbye eLinux\n");
}
Para la integración en el Kernel de Linux tenemos que hacer una operación más:
- Insmod (insertar el driver)
Para eliminar el driver se debe ejecutar el siguiente comando:
- Rmmod (quitar el driver)
Para comprobar si el driver fue correctamente integrado:
- Lsmod (listar todos los drivers actuales)
Tabla de Evaluación
Una gran tabla de desarrollo con el procesador ARM es provista por la compañía Cirrus. El EP9312 es un sistema basado en ARM920T-on-chip que funciona a 200MHz. Se proveen algunos periféricos para la interfaz con el mundo real: Ethernet, Hosts USB, Pantalla, ADC.
Enlace de Documentación
Fig.4 EP9312: ARM9, Procesador System-on-chip con IDE integrado
- blog de kaldearan
- Inicie sesión o regístrese para enviar comentarios
- %count lecturas

