La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Construyendo sistemas embebidos usando Linux como base Encuentro Linux 2005 Carlos Manuel Duclos Vergara

Presentaciones similares


Presentación del tema: "Construyendo sistemas embebidos usando Linux como base Encuentro Linux 2005 Carlos Manuel Duclos Vergara"— Transcripción de la presentación:

1 Construyendo sistemas embebidos usando Linux como base Encuentro Linux 2005 Carlos Manuel Duclos Vergara carlos@embedded.cl

2 Resumen ● ¿Qué son los sistemas embebidos? Un poco de historia ● Nuevos paradigmas para desarrollar sistemas embebidos ● El proceso – Explicación – Herramientas requeridas ● Ejemplo paso a paso

3 ¿Quién soy yo? ● Ingeniero Informático UTFSM ● Experiencia en sistemas embebidos desde el año 2000 ● Experiencia en sistemas Unix desde 1996 ● Desarrollador y colaborador en varios proyectos Open Source. ● Entusiasta y evangelista de Linux y los sistemas de fuentes abiertas.

4 ¿Qué es un sistema embebido? Un sistema embebido es un sistema autónomo diseñado para cumplir una o más funciones específicas.

5 Un poco de historia (1) ● Los sistemas embebidos han estado presentes a lo largo de la historia pero se han vuelto más visibles con el desarrollo de la electrónica. ● Actualmente los sistemas embebidos están presentes en casi todos los aspectos de nuestra vida.

6 Un poco de historia (2) ● El desarrollo de los sistemas embebidos siempre se realizó en ambientes cerrados – Los desarrolladores de sistemas embebidos formaron comunidades cerradas. – Los desarrolladores de sistemas embebidos formaron una elite. – Las herramientas necesarias para el desarrollo de sistemas embebidos hacían privativo el ingreso de nuevos actores a este mercado

7 Nuevos paradigmas (1) ● La llegada de los sistemas de fuentes abiertas produjo un quiebre en el desarrollo de sistemas embebidos – Aparecieron sistemas operativos portados a diferentes plataformas de hardware – Compiladores y herramientas de debuging. ● Un desarrollador podia tomar un sistema operativo como Linux o eCos y usarlos como base para un dispositivo.

8 Nuevos paradigmas (2) ● Se formaron nuevas comunidades de desarrolladores dispuestos a incursionar en el mundo de los sistemas embebidos. ● Aparecieron compañias con productos innovadores y con costos de desarrollo muy menores a los tradicionales (Fiebre de los MP3 players y PDAs). ● El hardware paso de ser un elemento fundamental y diferenciador a ser un elemento fácilmente adquirible y disponible.

9 Nuevos paradigmas (3) ● Como en todas las revoluciones, luego de momentos muy agitados llego la calma y el mercado comenzó a normalizarse. ● Muchas compañias quebraron (Lineo) y hubo fusiones “masivas”. ● El resultado final fue que el software paso a ser el elemento fundamental y diferenciador, y el hardware paso a ser un elemento más.

10 Nuevos paradigmas (4) ● La consagración llegó cuando compañias como WindRiver, Motorola y QNX comenzaron a usar plataformas y prácticas Open Source. ● En estos momentos existen sistemas operativos de fuentes abiertos especializados en sistemas embebidos y existe un gran número de empresas dedicadas al desarrollo y prestación de servicios asociados.

11 El proceso (1) ● La construcción de un sistema embebido es análoga a la del desarrollo de un software, probablemente hay solo dos diferencias: – El sistema embebido está fuertemente determinado por el costo de desarrollo, pero mucho mas por el costo de producción – El sistema embebido está ligado a un determinado hardware*

12 El proceso (2) ● El proceso consiste en varias etapas: – Elección del hardware. – Construcción del ambiente de desarrollo. – Generación de un BSP (Board Support Package). – Desarrollo del software de aplicación – Generación del sistema

13 El proceso (3) ● Elección del hardware – Actualmente el hardware es fácilmente adquirible, lo más común es elegir una plataforma de desarrollo que tenga todo lo necesario y luego desarrollar un sistema a la medida. – Es necesario fijarse en las capacidades del procesador y en los periféricos integrados.

14 El proceso (4) ● Construcción del ambiente de desarrollo – Generación de los compiladores y bibliotecas necesarias. – Obtención de elementos de hardware requeridos (ICE, Simuladores).

15 El proceso (5) ● Generación de un Board Support Package – Port del kernel del sistema operativo. – Desarrollo de los drivers. – Adaptación de bibliotecas de sistema.

16 El proceso (6) ● Desarrollo del software – Lo único que se puede decir aquí es que hay que poner especial énfasis en dos puntos: ● La biblioteca C probablemente sea distinta a la usada en los ambientes de escritorio y servidores. ● Los recursos pueden no ser tan abundantes como en un sistema normal.

17 El proceso (7) ● Generación del sistema – Compilación de un kernel a la medida. – Generación del sistema básico. – Integración del software con el sistema básico. – Generación de la imagen del sistema. – Instalación en la plataforma de hardware.

18 Herramientas requeridas (1) ● Compilador o crosscompilador. ● Bibliotecas de sistema para el sistema de producción. ● Software de aplicación para el sistema de producción. ● Debugers, ICE, programadores, etc.

19 Herramientas requeridas (2) ● Compilador o crosscompilador. – GCC ● Bibliotecas de sistema para el sistema de producción. – µClibc ● Software de aplicación para el sistema de producción. – buildroot

20 Herramientas requeridas (3) ● Compilador o crosscompilador. – GCC ● El compilador que nos permitirá generar nuestras aplicaciones y compilar el kernel de Linux. ● Compatible con los estándares C89 y C99, además de ANSI. ● Gratuito y de fácil obtención.

21 Herramientas requeridas (4) ● Bibliotecas de sistema para el sistema de producción – µClibc ● Biblioteca C pensada para sistemas embebidos. ● Compatible con Glibc. ● Pensada para ocupar poco espacio, no para la eficiencia. ● Gratuita y de fácil obtención.

22 Herramientas requeridas (5) ● Sofware de aplicación para el sistema de producción – buildroot ● Sistema de desarrollo que integra GCC, µClibc y un sistema Unix básico. ● Permite el desarrollo de un esqueleto de sistema. ● Por supuesto nosotros tendremos que escribir nuestra aplicación :-D

23 Ejemplo

24 Preguntas


Descargar ppt "Construyendo sistemas embebidos usando Linux como base Encuentro Linux 2005 Carlos Manuel Duclos Vergara"

Presentaciones similares


Anuncios Google