Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porMarta Juana Cárdenas Casado Modificado hace 8 años
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
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.