Está en la página 1de 35

Linux para

dispositivos móviles
(MiDs, UMPCs,
Smartphones,…)

Asignatura: Prototipado de Sistemas Empotrados.


Profesor: Marco A. Peña.
Alumnos: Juan Ballesteros Cano.
Jaime Ciria Forero.
Guillem Sans Solsona.
1. Introducción ............................................................................................................ 3
1.1. Dispositivo empotrado...................................................................................... 4
1.2. Ejemplos de dispositivos empotrados .............................................................. 5
1.3. Requisitos básicos de un sistema operativo para dispositivos empotrados ..... 8
1.3.1. Capacidad multiprocesador……………………………………………………….8

1.3.2. Sistema operativo en tiempo real .................................................................. 9


1.3.3. Arquitectura modular ..................................................................................... 9

2. Linux Empotrado ...................................................................................................10


3. µCLinux .................................................................................................................12
3.1. ¿Qué es µCLinux? ......................................................................................... 12
3.2. Características µCLinux ................................................................................. 13
3.3. Microcontroladores y microprocesadores que utilizan µCLinux ..................... 14
3.4. Proyecto iPodLinux ........................................................................................ 16
3.5. µCLinux para PSP ......................................................................................... 17
3.6. Empresas que comercializan dispositivos que trabajan bajo µCLinux ........... 18

4. Ubuntu Mobile & Embedded Edition ......................................................................19


4.1. Introducción ................................................................................................... 19
4.2. Ubuntu Desktop Vs Ubuntu Mobile ................................................................ 23
4.3. Características ............................................................................................... 24
4.4. Aplicaciones móviles ...................................................................................... 25

5. Otros Sistemas de Linux empotrado .....................................................................26


5.1. Android........................................................................................................... 26
5.2 Mobilinux ......................................................................................................... 27
5.3 Familiar Linux .................................................................................................. 29

6. Computadores en una tarjeta que ejecutan linux empotrado ................................31


6.1 µCsimm Hardware .......................................................................................... 31
6.2 Gumstix ........................................................................................................... 32
6.3 ECB AT91 ....................................................................................................... 33
7. Conclusiones .........................................................................................................34
8. Bibliografía ............................................................................................................35

2
1. Introducción
En la actualidad, los sistemas embebidos han logrado un gran auge, gracias a sus amplios campos
de aplicación y a su vez, por los bajos costes comparados con los sistemas de cómputo tradicionales.
Por este motivo, hemos decidido realizar un proyecto de documentación respecto al tema, y más
concretamente, sobre Linux empotrado (Embedded Linux).
En la siguiente documentación, podréis encontrar la descripción de diferentes sistemas Linux
empotrado, cómo Ubuntu o µClinux y a su vez ver, que dispositivos de hoy en día lo utilizan.

Figura 1. Evolución del desarrollo en SO empotrados

Como podemos ver en la figura 1. Evolución del desarrollo de SO empotrados. En el periodo de


tiempo que va des del año 2001 al año 2002, hubo un cambio importante en la tendencia de
desarrollo de estos sistemas operativos. Mientras que en el 2001 los principales sistemas operativos
implementados en sistemas empotrados eran Home Grown, DOS y VxWorks, en 2002 solamente
VxWorks había incrementado ligeramente su cuota de mercado, mientras que, DOS y Home Grown
habían perdido un 75% y un 90% respectivamente sobre la cuota del año 2001. Cuota que fue
“absorbida” principalmente por los sistemas operativos de reciente aparición de Microsoft. Linux, por
aquel entonces no se había asomado a éste mercado aún.

3
1.1 Dispositivo empotrado
¿Qué es un dispositivo empotrado? Entendemos por sistema empotrado la traducción del inglés de
Embedded System, que también podemos encontrar como sistema integrado, embedido o incrustado.
Nosotros nos referiremos a él como dispositivo empotrado.
Un sistema empotrado, es un sistema informático construido dentro de otro dispositivo, generalmente
más grande, con una funcionalidad concreta, que suele complementar a la del dispositivo anfitrión.
Además, al contrario que un ordenador personal los dispositivos empotrados están destinados a una
función específica y por lo tanto tienen unos requisitos de memoria y procesador reducidos, aunque
no tanto como muchos desearían, pues este es el talón de Aquiles para los programadores de
aplicaciones para este tipo de dispositivos, ya que hacerlas correr con una limitada cantidad de
memoria y capacidad de proceso no siempre es tarea fácil.

4
1.2 Ejemplos de dispositivos empotrados con Linux.
Para más aclaración adjuntamos en las figuras 2 y 3 ejemplos de dispositivos empotrados
funcionando bajo alguna distribución de Linux.
En la figura 2 podemos ver una Sony PSP y en la figura 3 una Nintendo DS corriendo uClinux. Como
se puede deducir, esto son iniciativas surgidas de la comunidad Linux, y que han sido realizadas sin
ánimo de lucro para demostrar las posibilidades de implementación de este sistema operativo. En la
PSP disponemos de una versión completa de uclinux con todas las características de la PSP en
funcionamiento. Pero en el caso de la Nintendo DS el funcionamiento es muy limitado ya que la
memoria solo permite lectura, pero por ejemplo dispone de conexión wifi.

Figura 1: ucLinux corriendo en PSP.

5
Figura 2: Nintendo DS con ucLinux.
En las figuras 4 y 5 podemos ver 2 ejemplos de Ubuntu Linux operativo. Aunque comercialmente no
han salido a la luz se espera que a lo largo de este año ya dispongamos de dispositivos comerciales.

Figura 3: Samsung Q1 funcionando con Ubuntu Mobile.

6
Figura 4: Teléfono Benq‐Siemens con ubuntu mobile 

7
1.3 Requisitos básicos de un sistema operativo para dispositivos empotrados.

1.3.1. Capacidad Multiprocesador.


Una característica muy importante para adaptarse al mayor número de dispositivos disponibles en el
mercado, es la capacidad de utilizar varios tipos de procesadores y de utilizar más de uno a la vez en
un mismo sistema operativo. Para que nos hagamos una idea en la figura 4 podemos ver las ventas
de procesadores a nivel mundial del año 2002.

Figura 4: Datos de ventas en % de procesadores del 2002

También debemos tener en cuenta que en los dispositivos empotrados es normal encontrarnos que
disponen de más de un procesador, o incluso más de 5. Y además no suelen ser iguales, al contrario
de lo que pasa con los PCs donde es frecuente el uso de multiprocesador ( o multi-núcleo) pero
donde siempre son copias idénticas los unos de los otros. Esto es fruto de la necesidad de optimizar,
no solo el software, si no también el hardware. En este segundo caso, por motivos como el tamaño o
calor, que des del punto de vista de la salud o comercial pueden ser clave. De forma que a veces,
puede interesar por ejemplo, combinar 5 procesadores distintos con arquitecturas de 16 a 64 bits aún
al precio de una programación de software mas difícil y costosa, pero que pueda convertir el
dispositivo en el más pequeño del mercado o el mejor con la relación prestaciones/autonomía, y es
que, no lo olvidemos que al final todo esto se ha de vender y alguien tiene que ganar dinero.

8
1.3.2. Sistema operativo en tiempo real.
Un sistema operativo en tiempo real debe responder a entradas externas y ser capaz de generar
respuestas a las mismas, en un tiempo acotado y suficientemente corto para garantizar el correcto
funcionamiento del sistema. Este requisito no formaba parte de los SOs para dispositivos
“tradicionales” como los PCs, pero para los dispositivos empotrados ha supuesto uno de los mayores
retos para los desarrolladores, ya que para algunos servicios como por ejemplo la telefonía, que
acapara la mayor parte de dispositivos empotrados comerciales, este tiempo de respuesta es
indispensable. Si no, imagínense que su Smartphone no reciba una llamada porqué está ocupado
reproduciendo un wmv… No podría competir ni siquiera con un teléfono móvil de primera generación,
que hoy en día cualquiera confundiría con un walkie-talkie, por su tamaño, peso y falta de cosas “tan
necesarias” como una pantalla a todo color, cámara de video o un tono como mínimo polifónico…
Para conseguir este objetivo, el sistema operativo debe estar diseñado para ello, como demuestra el
hecho que los primeros intentos de realizar un sistema operativo en tiempo real por parte de Microsoft
fracasaron. Pues, partían de sistemas operativos de escritorio que no tienen esta característica, o
bien no proporcionaban los tiempos de respuesta necesarios, o lo hacían a un precio demasiado alto.
Se pueden clasificar los sistemas en tiempo real como “suaves” o como “duros”: Soft real time
systems / Hard Real Time systems.
Podemos considerar suaves, aquellos sistemas donde las tareas críticas reciben una prioridad más
alta que las demás y donde normalmente se obtiene el tiempo de respuesta necesario. Por ejemplo
controlando un aparato multimedia donde no pasa nada si perdemos un frame o una sílaba en una
película.
Y consideraremos duros, aquellos sistemas en tiempo real donde la respuesta a un tarea prioritaria
debe computarse en un límite de tiempo determinado o en caso contrario causará un fallo en el
sistema. Por ejemplo, en el sistema de control de un vehículo, donde si el tiempo de respuesta es
demasiado grande podemos colisionar contra otro objeto e incluso se podría perder una vida humana.

1.3.3. Arquitectura modular


Además de las anteriores características, es importante que para adaptarse a las diferentes
plataformas de hardware disponibles y hacerlo sin desperdiciar recursos innecesariamente, el sistema
operativo sea lo mas modular posible. De forma que, el fabricante que elija implantar este sistema
operativo en su dispositivo, pueda personalizarlo según las características y necesidades del
hardware que como hemos comentado anteriormente puede cambiar mucho entre 2 fabricantes
cualesquiera.

9
2. Linux Empotrado
Linux empotrado (Embedded Linux) se refiere al uso del sistema operativo Linux en un sistema
empotrado, como por ejemplo PDA's (como el Opie de mobilinux, que aparece en la figura 5),
teléfonos móviles, robots, enrutadores, servidores, dispositivos electrónicos y aplicaciones
industriales con microcontroladores y microprocesadores.

Figura 5. Opie, un entorno gráfico para PDA’s bajo Mobilinux.

Tradicionalmente, el desarrollo de software para sistemas empotrados, fue llevado a cabo en su


mayoría utilizando código propietario escrito en assembler. Los desarrolladores, debían escribir los
controladores para los dispositivos de hardware y las interfaces desde cero. Hoy en día esto ya no es
así, entre otros motivos porqué la competencia en este mercado ha obligado a los desarrolladores de
sistemas operativos a poner un poco más de su parte si quieren seducir a los fabricantes de
dispositivos. Que aún siendo muchos, disponen de suficiente cuota de mercado individualmente como
para que los desarrolladores de SOs tengan que “seducirlos” de alguna manera.
El núcleo de Linux, combinado con un conjunto de algunas otras utilidades de Software Libre, puede
ajustarse dentro del limitado espacio de hardware de los sistemas embebidos y además tiene unos
requisitos de hardware muy reducidos, que lo convierten en la mejor opción coste/
hardware/prestaciones, pero que en contrapartida no dispone del soporte a nivel de software que
ofrece un sistema operativo propietario como Windows CE. Una instalación típica de un Linux
empotrado ocupa en promedio 2 MB y puede ofrecer las mismas aplicaciones o equivalentes con un
procesador la mitad de potente que para Windows CE 6.0, que aunque puede ocupar menos de 1MB
sin funcionalidades apenas, en una instalación media con interfaz gráfica no bajará de unos 20MB.

El 15 de Julio de 2003 en San Francisco (California) se creó el Consorcio de Linux Empotrado


(ELC: Embedded Linux Consortium). Del que forman parte empresas como IBM, Intel, LynuxWorks,

10
Motorola, Panasonic, Samsung, Sharp, Siemens y Sony, y que anunció una nueva fase en la
actividad de estandarización, para crear especificaciones que ayuden a los desarrolladores de
productos a controlar el consumo de energía, diseñar interfaces de usuario y lograr alto rendimiento
en tiempo real para las aplicaciones de Linux. El propósito de estos estándares es crear una
plataforma globalmente aceptada que ofrezca suites para pruebas y branding para elevar la
aceptación del producto en el mercado. ¿No será para competir con el Platform Builder de Microsoft?
En 2003, el ELC presentó la Especificación de Plataforma del Consorcio de Linux Empotrado
(ELCPS, Embedded Linux Consortium Platform Specification). I en mayo de 2004 presentó las
primeras APIs específicas para Linux Empotrado.

11
3. µCLinux

3.1 ¿Qué es µCLinux?


El SO empotrado µClinux, se basó inicialmente en el Kernel de Linux versión2.0. Y se desarrolló para
microcontroladores sin unidades de gestión de memoria (MMUs). Sin embargo, este proyecto se ha
ido ampliando a medida que ha crecido su reconocimiento, y el µClinux de hoy, es un sistema
operativo que incluye versiones desarrolladas a partir del Kernel de Linux 2.0 2.4 y 2.6. Así como una
buena colección de aplicaciones y librerías. En la figura 6, podemos observar un esquema con la
arquitectura de µClinux.

Figura 6. Esquema de dispositivo bajo µClinux

12
3.2. Características de µCLinux.
• Linux Kernel 2.0, 2.4 o 2.6
o S.O. Multitarea. Arquitectura modular
o Protocolos de red (TCP/IP, PPP, SLIP)
o Sistema de ficheros (NFS, Ext2, FAT32)
o Ausencia de gestión de memoria (MMU)
• Gestión de memoria (MMU)
Parte de microcontrolador cuyas funciones son:
o Conversión direcciones lógicas a físicas
o Comprobar que se puede hacer la conversión
o Comprobar que el proceso tiene permiso
o NO memoria virtual
o NO protección de memoria
• API Linux
o Biblioteca estándar de C (libc): uClibc
o Pthreads (concurrencia), sockets (comunicación de procesos)
• Programas sistema: shell, cp, mkdir, mount
• Aplicaciones de usuario: servidor web, cliente de correo, servidor FTP
• Portar código fuente
o Sustituir llamadas no existentes en uCLinux: fork, brk vfork, mmap
o Modificar Makefile para compilación correcta

Figura 7. µClinux en PALM


En la figura 7 podemos observar el código necesario para cargar en una PALM el sistema µClinux.

13
3.3. Microcontroladores y microprocesadores que utiliza µCLinux.

• Motorola DragonBall, y otros derivados 68K.


El Motorola DragonBall (Bola de Dragón) es un diseño de microprocesador basado en el
núcleo 68k, pero implementado en un chip de bajo consumo para dispositivos empotrados.
µClinux hizo su primera aparición pública gracias al Motorola DragonBall (M68EZ328),
Motorola M68328, y la M68EN322. Y Desde entonces, su implementación ha ido creciendo
de manera exponencial.

• Motorola ColdFire.
El Freescale ColdFire es un microprocesador con arquitectura de 68k, fabricado para
sistemas empotrados de la mano de Freescale, la antigua división de Motorola dedicada al
desarrollo de semiconductores.

• ETRAX
ETRAX son una familia de microprocesadores diseñados y fabricados por Axis
Communications, para su uso en sistemas empotrados desde 1993.

• Aplio/TRIO
El Aplio/TRIO es un procesador diseñado por Smart Internet Appliances. Proporciona la
conexión a Internet (módem interno), mientras que al mismo tiempo proporcionar en tiempo
real la compresión de voz y cancelación de eco. Alternativamente, puede proporcionar dos
canales de compresión de voz y no módem.

• Sigma Design DVD.


Sigma Design DVD utiliza un sistema de chips ARM que hace uso de µClinux para reproducir
DVDs.

• Intel i960
1
El Intel i960 (también llamado 80960) es un microprocesador basado en RISC que fue muy
popular a principios de los años 90 como microcontrolador empotrado, desbancando el
AMD 29000 como el microcontrolador empotrado más vendido del mercado.

1
RISC es una Computadora con Conjunto de Instrucciones Reducido. Es un tipo de microprocesador
con las siguientes características fundamentales:
• Instrucciones de tamaño fijo presentadas en un reducido número de formatos.
• Sólo las instrucciones de carga y almacenamiento acceden a la memoria por datos.

14
• Microblaze
Microblaze es un parametrizador de RISC de núcleo blanco de Xilinx FPGAs. Tiene la
capacidad de personalizar el procesador (por ejemplo, la aritmética de hardware, algoritmos
de encendido/apagado, arquitectura de bus) ofreciendo nuevas posibilidades de configuración
para el Kernel de Linux. Fue creado por el Dr John Williams en el grupo de Sistemas
Empotrados de la Universidad de Queensland en Brisbane, Australia.

• NEC V850E
El V850E es un pequeño procesador RISC diseñado por NEC, que habitualmente se utilizan
en aplicaciones embebidas H8.

15
3.4. Proyecto iPodLinux.
iPodLinux es un proyecto basado en µCLinux, que como indica su nombre consiste en implementar
este sistema operativo en el conocido hardware de Apple iPod que originalmente solo reproduce
audio y visualmente solamente muestra la lista de reproducción en su pantalla. La interface usada
para el proyecto es llamada podzilla y no es más que una modificación de la interfaz original del iPod.
Las principales características del iPodLinux son:

• Una interfaz similar al iPod original de Apple.


• Reproducción de video con sonido.
• Soporte para formatos AAC, MP3 y reproducción básica de formato OGG.
• Una gran cantidad de juegos incluyendo TuxChess, Bluecube (un clon del Tetris), Chopper,
StepMania (un clon del Dance Dance Revolution) y muchos más.
• Grabación de audio con mayor calidad que el iPod original.
• La capacidad para ejecutar los conocidísimos juegos Doom I y II, así como también los
juegos de la Nintendo Game Boy. (instalando los plugins necesarios).

El proyecto soporta la primera, segunda y tercera generación de iPod, mientras que la 4ª y 5ª


generación e iPod nano están en fase de pruebas. En la figura 8. µClinux en iPod. Podemos ver una
muestra de la implementación en un iPod de las primeras generaciones.
Uno de los logros más importantes del proyecto es el reproductor de video, que fue lanzado meses
antes de que Apple presentara su Video iPod.

Figura 8. µClinux en iPod

16
3.5. µCLinux para PSP.
La PSP no tiene memoria de unidad de gestión, por lo que µClinux, nos permite o aprovechar una
gran cantidad de los beneficios de un sistema operativo Linux (abstracción de hardware, multitarea,
memoria, etc) en sistemas que no tienen MMUs.
Para un programador de aplicaciones, µClinux le permite trabajar como si programara para una
plataforma de sistema operativo Linux de escritorio. En la figura 9. µClinux en PSP. Podemos ver
como se carga µClinux en una PSP.

Figura 9. µClinux en PSP.

17
3.6. Empresas que comercializan dispositivos que trabajan bajo µCLinux.

• Arcturus Networks cuenta con un módulo de microcontrolador diseñado específicamente


para funcionar sobre µClinux. Se llama el µCsimm (explicado en el punto 6.1).

• SnapGear Inc se dedica al desarrollo de productos basados en µClinux. Ofrece servicios


que van des del diseño conceptual, hasta la fabricación y distribución a nivel mundial. Entre
sus asociados figuran Motorola e Hitachi.

• Aplio tiene varios productos basados en µClinux, como el Aplio/Phone, basado en el Atmel
ARM7TDMI y que es un teléfono de VoIP. O la Aplio AT91 Development Board que incluye
todo lo necesario para empezar a desarrollar aplicaciones para µClinux.

• AXIS ha dotado de µClinux a su chip ETRAX que implementa su AXIS 2100 Network
Camera. Se trata de una cámara digital de interior y con acceso directo red que puede enviar
incluso archivos adjuntos.

• ADOMO tiene una línea de productos con el objetivo de comunicar electrodomésticos con
dispositivos empotrados como PDA’s, Pc’s y Smartphones basados en µClinux.

• TABO software ha desarrollado un controlador lógico programable que utiliza Arcturus


Networks uCsimm y funciona sobre µClinux.

• Atmel tiene un procesador ARM basado en la evaluación del AT91, que se ejecuta sobre
µClinux.

• Inc Arnewsh crea placas de evaluación que se ejecutan sobre µClinux.

• CISCO 2500/3000/4000 Koen De Vleeschauwer ha creado un parche que permite que


funcione µClinux en los routers CISCO más antiguos basados en MC68EC030
(2500/3000/4000). Y que requiere 4MB de RAM.

18
4. Ubuntu Mobile & Embedded Edition.

4.1. Introducción.
Ubuntu Mobile es una edición especial de Ubuntu para dispositivos de Internet móviles (Mobile
Internet Devices, "MID" altamente flexible y personalizable, que entre muchas otras cosas, soporta
comandos y gestos táctiles para control y navegación, como por ejemplo:

• Pulsar sobre una aplicación la ejecuta y luego te permite pulsar sobre sus menús y botones.
• Arrastrar el dedo sobre una página web la mueve en los ejes horizontal y vertical.
• Arrastrar el dedo sobre un video, fotografía o canción pasa a la siguiente.
• Integración con sitios Web 2.0 (Facebook, MySpace, YouTube, DailyMotion, etc.)
• Interface gráfica en HTML, Flash, Java, Python y C/C++ con GTK+.

Figura 10. Interfaz gráfica de Ubuntu Mobile.

En la figura 10. Podemos ver el aspecto de la interfaz gráfica de Ubuntu Mobile. Y en la figura 11 el
un dispositivo corriendo bajo este sistema operativo.

19
Figura 11. Terminal bajo Ubuntu Mobile.

La idea de llevar a cabo este proyecto se originó a raíz del lanzamiento de un nuevo procesador de
Intel, con una arquitectura de bajo consumo que permitía funcionalidades de Internet completas. Los
nuevos dispositivos, pequeños, portátiles y táctiles van a cambiar la forma en que nos comunicamos.
Estos dispositivos plantean nuevos desafíos al software de Código Abierto, ya que requieren
interfaces gráficas innovadoras, una mejor administración de energía y mejores tasas de respuesta.
En respuesta al desafío técnico que implican estos dispositivos, surgió el proyecto Ubuntu Mobile &
Embedded desarrollado en colaboración con Intel.
Este proyecto se desarrolla paralelamente a un proyecto también patrocinado por intel, con el nombre
de GNOME Mobile & Embedded Initiative (GMAE). El proyecto GMAE está abierto a
desarrolladores, fabricantes y otros interesados en el desarrollo de aplicaciones para dispositivos
móviles de código abierto basados en GNOME. En la figura 12 podemos ver un esquema de la
arquitectura de GNOME mobile platform.

20
Figura 12. Arquitectura GNOME Mobile Platform.

Aunque la penetración de Linux en teléfonos inteligentes es todavía comparativamente baja - tan sólo
un 6% del mercado de sistemas operativos de smartphones en 2006, la demanda de código abierto
aumentará a medida que los fabricantes de dispositivos empotrados vayan abandonando sus
sistemas operativos propietarios, en favor de plataformas estándar, de mayor demanda entre los
usuarios y que permitan simplificar un poco la oferta y así aumentar la demanda, que a día de hoy
está concentrada en un pequeño grupo de usuarios avanzados que disponen de los conocimientos
necesarios para valorar este tipo de producto y las diferencias técnicas que ofrecen respecto a un
teléfono móvil convencional.
Aunque Ubuntu Mobile sigue en fase de desarrollo, en la figura 13 podemos ver unos pantallazos de
la interfaz gráfica en los que se pueden ver sus principales funcionalidades.

21
Figura 13. Ejemplos visuales e Ubuntu

22
4.2 Ubuntu Desktop Vs Ubuntu Mobile
Podríamos destacar algunos de los criterios a tener en cuenta para adaptar una aplicación a su
versión mobile:
• Los desarrolladores deben centrarse en hacer lo más sencillo y fácil posible el funcionamiento
de cualquier programa, eliminando todas las opciones que no sean estrictamente necesarias.

Algunas de estas sentencias son:


• Interfaz apropiada para manejarlas con los dedos.
• Integración con el resto de aplicaciones en cuanto al aspecto visual, iconos y tema.
• Todas las aplicaciones deben tener un sistema de autoguardado y recuperación de datos,
para evitar que el usuario tenga que estar pensando en ello.
• El usuario no debe ver nombres de ficheros, sólo datos y metadatos. No hay diálogos de abrir
y guardar archivos.
• Aplicaciones inteligentemente configuradas por defecto, para minimizar el número de posibles
opciones.
• Las aplicaciones no pueden requerir de un cursor de ratón. Y no debe existir click derecho
para ninguna funcionalidad importante.
• Los programas deben colgarse elegantemente: guardando y recuperando datos, sin perder
información.

23
4.3. Características.
La versión de Ubuntu Mobile está orientada a tener conectividad total a internet basándose en
herramientas libres de pago, aunque con la posibilidad de incluir codecs bajo licencia.
Como ya hemos comentado, Ubuntu Mobile ofrecerá soporte completo para la web 2.0 y Ajax, junto a
los hoy infaltables Java y Flash. También GPS, mapas, juegos 3D, y redes sociales como Facebook,
MySpace y Twitter, MSN, YouTube, etc.
Pero además de Internet un aspecto destacado de la versión móvil de Ubuntu serán las aplicaciones
multimedia, donde prometen la posibilidad de una experiencia de reproducción perfecta de vídeos,
fotos y música con la máxima calidad y aplicaciones que faciliten su uso y visualización.
Ubuntu Mobile será compatible con móviles y smartphones de lo más variados, denominados MID
(Mobile Internet Devices), categoría cada vez más en expansión. Funcionará en estos dispositivos
con pantallas de 4 a 7 pulgadas con resoluciones de 800 x 480 píxeles hasta los 1024 x 768 píxeles.
Tendrá como navegador por default a firefox y soporte para flash 9, java y otros plugins necesarios
para navegar; con capacidades de almacenamiento de entre 2 y 8 gigabytes y memoria RAM de
hasta 512 megabytes, equipados con cámara digital, teclado real o virtual, conectividad Wi-Fi,
Bluetooth, WiMAX, USB y Bluetooth.
Justamente la flexibilidad y escalabilidad de Linux le convierten en el sistema operativo ideal para
estos dispositivos. Ubuntu Mobile ha adoptado rápidamente la tecnología touch con la que Apple ha
equipado a su iPhone, por lo que al utilizarlo se podrá controlar todo desde la pantalla táctil sin
necesidad de utilizar un stylus.
A todo esto, se agregarán lo servicios de:
• Skype con soporte de vídeo
• Reproductores de Audio y video
• cliente de email con soporte para POP e IMAP
• Lector de RSS
• Software PIM
• Mensajería instantánea
• Tv digital.
• VoIP
• …
Ubuntu Mobile, como ya hemos comentado, no se encuentra aún finalizado como proyecto, por lo que
no hay ninguna versión “empaquetada” o compilada, pero su código fuente está disponible en el sitio
del proyecto para aquellos que se animen a ir probando.

24
4.4. Aplicaciones móviles.
Debido a que Ubuntu Mobile aún se encuentra en fase de desarrollo no hemos podido encontrar
ningún dispositivo móvil con este sistema operativo, esperamos que la versión móvil de Ubuntu vea
pronto la luz, y así poder indagar más tanto es su estructura como plataforma para dispositivos
móviles, como en los requisitos de hardware y en las posibilidades que ofrece como sistema
empotrado. Aún no está confirmado pero parece ser que la interfaz gráfica de Ubuntu mobile puede
estar basada en controladores QT.

25
5. Otros Sistemas de Linux empotrado

5.1. Android
Android es una plataforma móvil abierta y gratuita de la Open Handset Alliance, comunidad impulsada
por Google y respaldada por otras 32 empresas vinculadas al mundo de las telecomunicaciones, que
van des de desarrolladores de interfaces gráficas hasta fabricantes de móviles, pasando por
fabricantes de chips y operadoras de redes inalámbricas. El objetivo que autoproclama la OHA para
justificar su creación es el de cambiar la industria de la telefonía móvil centrándose en el usuario final,
al que prometen proporcionar la mejor experiencia móvil que haya tenido jamás. ¿No os suena un
poco a marketing?
Aún así, como hemos visto en este documento, ésta no es la primera iniciativa de este tipo en el
mundo de los dispositivos empotrados y de hecho al igual que Android, están basadas en Linux. Pero
con un pequeña diferencia, Android parte del kernel de linux para crear un sistema operativo nuevo,
mientras que ulinux, ubuntu mobile, etc… són versiones puras de linux modificadas, o más bien dicho
saneadas para adaptarse a los dispositivos empotrados. Por este motivo y por el hecho de que aún ni
si siquiera esté terminado, ya que tan solo existe un prematuro SDK con fecha del 17 de noviembre,
no lo consideramos una verdadera opción de Linux para dispositivos empotrados.
Los proyectos de código abierto tienen muchas ventajas. A largo plazo, el código que producen suele
ser de más calidad y su coste de desarrollo es menor, ya que participan muchas personas y además
de una forma desinteresada, económicamente hablando, claro, ya que la mayoría son usuarios
directos del sistema operativo y por tanto los más interesados en su calidad, así como conocedores
de las necesidades de los usuarios.
El camino de Android no va a ser fácil, pues ha llegado un poco tarde, como le suele suceder siempre
a Linux… Por ejemplo, en EE.UU existen 110 millones de usuarios que actualmente tienen contrato
firmado con compañías que no pertenecen a la OHA. Microsoft se está haciendo con una gran parte
del mercado móvil en cuanto a sistemas operativos y tiene ganas y recursos suficientes para
enfrentarse a Google y todos sus “amiguetes”. Habiendo incluso dado su bienvenida públicamente a
Android a “el mundo de Microsoft mundo” palabras textuales del CEO de Microsoft, Steve Balmer. De
todos modos, no olvidemos que Microsoft hace 4 días también era un desconocido, en el que ahora
proclama como su mundo. Los desarrolladores de Android, por el momento no tienen ningún teléfono
donde implantar sus aplicaciones, aunque disponen del SDK público y un interesante concurso
promocionado por Google, con jugosos premios económicos y grandes posibilidades profesionales
para sus ganadores que han de desarrollar una aplicación para Android.
Por último, el único requisito hardware es un procesador mínimo ARM 200Mhz.
En la figura 14 podemos ver un prototipo del fabricante japonés Wilcomm y en la figura 15 un
dispositivo de HTC montando Android (però que aún no se comercializa),

26
Figura 14: Prototipo bajo Android de Wilcomm. 

Figura 15: Dispositivo HTC bajo Android.

27
5.2 Mobilinux
Mobilinux es un sistema operativo para Telefonía móvil basado en Linux y anunciado por MontaVista
Software el 25 de abril del 2005.
Mobilinux se basa en estándares y código abiertos, y fue diseñado teniendo en cuenta la
escalabilidad y el uso optimizado de las baterías de los teléfonos móviles.Utiliza el núcleo de Linux
2.6.21. Tiene un arranque rápido de menos de 1 segundo y un event broker (definir, publicar y
suscribirse). Su interfaz gráfica de usuario se basa en KDrive (también conocida como TinyX) y en
tecnología de GTK 2 .
En la figura 16 podemos ver la arquitectura de mobilinux y en la figura 17 un dispositivo Motorola con
este SO.

Figura 16. Arquitectura de Mobilinux 

2
GTK es una biblioteca, la cual contiene los objetos y funciones para crear la interfaz gráfica de
usuario. Maneja widgets como ventanas, botones, menús, etiquetas, deslizadores, pestañas, etc.

28
Figura 17. Dispositivo Motorola bajo Mobilinux. 

29
5.3 Familiar Linux
Familiar Linux es una distribución de Linux desarrollada con la idea de poder sustituir a Windows CE
en iPAQs y en otras PDAs. Se pueden usar los siguientes entornos gráficos :
• Opie entorno gráfico (versión 1.2.1). (Vease figura 5)
• GPE entorno gráfico (versión 2.7).
• Bootstrap consola.
Familiar Linux es un completo sistema operativo con muchas aplicaciones.
La distribución de Familiar Linux proporciona al usuario aplicaciones en paquetes iPKG 3 .
Para el sistema de archivos Familiar linux utiliza JFFS2, que es un sistema de archivos especializado
en memorias Flash, diseñado especialmente para memorias NAND.

Figura 18. Captura de Familiar Linux.

3
iPKG es un sistema de gestión de paquetes muy ligero, diseñado para las instalaciones de Linux
con severas limitaciones de almacenamiento, tales como dispositivos de mano o PDAs.

30
6. Computadores en una tarjeta que ejecutan linux empotrado
Computador en una tarjeta (Single Board Computers o SBCs en inglés) son computadoras
completas en un sólo cirtuito. El diseño se centra en un sólo microprocesador con la RAM, E/S y
todas las demás características de un computador funcional en una sola tarjeta que suele ser de
tamaño reducido, y que tiene todo lo que necesita en la placa base.

6.1 µCsimm Hardware


El microcontrolador μCsimm (Véase figura 19) es un módulo construido específicamente para el
sistema operativo μClinux. Tiene una pulgada de alto, con un estándar de 30 pins SIMM factor de
forma. El μCsimm es un microcontrolador para los sistemas empotrados que requieran estabilidad,
con pocas funcionalidades, con capacidad de conectarse a una red, y que tenga una forma compacta
y modular. Hay innumerables usos para el μCsimm, en el pasado, se ha utilizado desde un servidor
web a un controlador lógico programable.
El μCsimm está compuesto por un procesador Motorola DragonBall 68EZ328, y equipado con 2 MB
de Flash y 8 MB de DRAM. También tiene una entrada 10Base-T Ethernet y una serie RS-232 de alta
velocidad. También dispone de un LCD, capaz de mostrar a una resolución de 320 x 240.

Figura 19. µCsimm

Características:
• Un microcontrolador 68EZ328 DragonBall a 16MHz
• 2 MB FLASH ROM
• 8 MB DRAM
• 21 General Purpose I / O pins (o hasta 13 con un panel LCD gráfico habilitado)
• Incorpora una pantalla LCD monocromo de hasta resolución QVGA (640x480)
• 10Base-T Ethernet Controller Chip
• RS-232 Serial Support
• Alta velocidad (1Mbit/seg.) I2C o SPI de 3 hilos de serie
• A 3.3 voltios trabajando. Al ralentí, va sólo a microamperios.

31
6.2 Gumstix
Gumstix es la marca registrada de un computador en una tarjeta basado en un procesador Intel
XScale (200MHz y 400MHz). Tiene 64 MB de RAM. Mide 80mm x 20mm x 6.3mm (Véase figura 20).
Puede ser accedido usando un puerto serie, USB, ethernet o interfaces inalámbricas.
En sus diferentes presentaciones, todas consumen menos de 250mA cuando están a máxima
capacidad y menos de 50mA cuando están inactivas.
Usa el sistema operativo linux (Kernels recientes de la rama 2.6). Por lo que se puede decir que
Gumstix ejecuta Linux Empotrado.

Figura 20. Gumstix

32
6.3 ECB AT91 (V1) es un computador en una tarjeta basado en un procesador ARM9 de 180MHz.
Desde Diciembre de 2006, el diseño de la tarjeta es libre, y los esquemas y el PCB pueden ser
descargados desde la página de la placa.
Soporta hasta 64 MB de SDRAM. Mide 85 mm x 77 mm. Puede ser accedido usando un puerto serial,
USB y Ethernet (Véase figura 21).
Usa el sistema operativo GNU/Linux (Kernels recientes de la rama 2.6). Por lo que la ECB AT91
ejecuta Linux Empotrado.
Soporta las siguientes distribuciones:
• Debian GNU/Linux
• Open embedded
• buildroot
Tiene las siguientes características:
• Procesador ARM9 a 180 MHz (Atmel AT91RM9200)
• 2 MB de flash serial
• Hasta 64 MB de SDRAM (8, 16, 32 ó 64 MB)
• 1 SD/MMC slot
• USB 2.0 host
• I2C port
• 1 Interfaz Ethernet 10/100
• 1 interfaz USB 2.0
• 4 interfaces SPI
• 2 interfaces seriales (RS232)
• soporte a JTAG

Figura 21. ECB AT91

33
7. Conclusiones

Linux ha llegado un poco tarde al mundo de los sistemas empotrados. Aún así, está
demostrado que esto no es un problema, pues Microsoft también ostentó este título y en
pocos años se ha hecho con el control del mercado.
Además, hemos podido ver que lejos de ser una iniciativa descontrolada o de idea feliz,
podemos decir que Linux en sistemas empotrados es un proyecto de proyectos, pues hay
muchas iniciativas independientes desarrollándose en base a puntos de vista diferentes y
con empresas implicadas tan importantes como Intel o Google y que bien seguro a la larga,
en conjunto, supondrán una opción muy a tener en cuenta.
Seguramente, dentro de unos años muchas de estas iniciativas habrán muerto o se habrán
fusionado, pues, este mercado está muy fraccionado en el momento que salen nuevos tipos
de dispositivos, pero rápidamente, son absorbidos y simplificados mediante la unión natural
de estos.
De momento como dice el CEO de Microsoft, Steve Valmer, Linux empotrado aspira a
pertenecer al mundo de Microsoft, porqué a día de hoy aún está muy verde, pero en países
como China y otros mercados emergentes, está previsto que inunden el mercado millones
de dispositivos, si no con Linux empotrado directamente, con algún sistema operativo
basado en este como Android. Y no olvidemos que estos países representan más de una
tercera parte de la población mundial… ¿Será la revolución de los dispositivos empotrados?

34
8. Bibliografía

8.1.Ulinux.

http://cvs.uclinux.org/
http://pulpa.utp.edu.co/pulpawiki/UClinux
http://www.uclinux.org
http://es.wikipedia.org/wiki/%CE%9CClinux
http://blackfin.uclinux.org/gf/
http://psp.scenebeta.com/noticia/uclinux-psp

8.2.Ubuntu mobile.

http://www.vivalinux.com.ar/distros/ubuntu-mobile.html

http://www.ubuntu.com/products/mobile

http://www.vivalinux.com.ar/distros/ubuntu-mobile-y-ubuntu-embedded.html

http://www.transmedia.cl/noticia2=id090507.htm

http://www.vivalinux.com.ar/hard/gnome-mobile-and-embedded-initiative.html

http://www.genbeta.com/2008/02/26-ubuntu-mobile-and-embedded-y-ahora-a-por-los-moviles

8.3.Generales

http://www.neoteo.com/ubuntu-mobile-cada-vez-mas-cerca-de-ser-una.neo

http://www.incubaweb.com/3975/sistemas-operativos/canonical-ya-esta-trabajando-fuerte-
con-ubuntu-mobile/

www.engadget.es
www.engadget.com
www.microsoft.com

35

También podría gustarte