Sistemas Embebidos
Sistemas Embebidos
Sistemas Embebidos
• Características básicas:
Número limitado de funciones predefinidas para ejecutar;
Fuente de alimentación limitada y la administración de energía
efectiva;
Disponibilidad de recursos de reserve para situaciones inesperadas.
Funcionamiento en tiempo real (con mayor frecuencia);
Periféricos anchos e interfaces
• Interfaces:
Interfaces de operador (Interfaces Máquina-Hombre - HMI) –
teclados, monitores, interruptores, botones, indicadores emisores
individuales o grupales de los diferentes tipos de señales, motores
eléctricos, solenoides y otros.
5
Sistemas embebidos: Ejemplos
6
Ingeniería de sistemas y software
• Ingeniería de sistemas
• Campo interdisciplinario de la ingeniería que se centra en cómo los
proyectos complejos de ingeniería deben ser diseñados y gestionados;
• Se ocupa de todos los aspectos del desarrollo del Sistema informático;
• Identifica las funciones de hardware, software, personas, bases de datos
y otros elementos del Sistema que participan en ese Sistema que se va a
desarrollar.
7
Arquitectura empleadas
MICROPROCESADOR
Es el encargado de realizar
las operaciones
de cálculo principales del
sistema. Ejecuta código para
realizar una determinada
tarea y dirige el
funcionamiento de los
demás elementos que le
rodean, a modo de director
de una orquesta.
8
MEMORIA
En ella se encuentra
almacenado el código de los
programas que el sistema
puede ejecutar así como los
datos. Su característica
principal es que debe tener
un acceso de lectura y
escritura lo más rápido
posible para que el
microprocesador no pierda
tiempo en tareas que no son
9
meramente de cálculo
MEMORIA CACHE
En él la información no
es volátil y además puede
conseguir capacidades muy
elevadas. A diferencia de la
memoria que es de estado
sólido éste suele
ser magnético
11
DISCO FLEXIBLE
Su función era la de
almacenamiento, pero con
discos con capacidades
mucho más pequeñas y la
ventaja de su portabilidad.
Normalmente se
encontraban
en computadora
personal estándar pero no
así en una PC embebida
12
BIOS - ROM
Es un chip de memoria de
lectura y escritura
alimentado con una pila
donde se almacena el tipo y
ubicación de los dispositivos
conectados a la placa madre
(disco duro, puertos de
entrada y salida, etc.).
14
CHIP SET
pueden
existir puertos para mouse, t
eclado, vídeo en formato
digital, comunicaciones serie
o paralelo, etc.
16
SALIDA AL SISTEMA
puertos de vídeo
para monitor o
televisión, pantallas de
cristal líquido, altavoces,
comunicaciones serie o
paralelo, etc.
17
Aplicaciones
fábrica
Punto de
internet información
APLICACIONES
Cajero
decodificadores
automático
Máquina de Sistemas de
revelado de fotos radar
Medicina
18
Ciclo de desarrollo
19
20
Calidades de Software
21
Calidades de Software
• Exactitud
• Óptima calidad
• establecido w.r.t., la especificación de los requisitos
• absoluta
• Confiabilidad
• Propiedad estadística
• Probabilidad de que el software funcionará como se esperaba durante un
período de tiempo dado
• Relativo
• Robustez
• Comportamiento “razonable” en circunstancias imprevistas
• subjectiva
• Un requisito especificado es un problema de la corrección;
un requisito no especificado es un problema de robustez.
22
Calidades de software (cont.)
• Usabilidad
• Capacidad de que los usuarios finales puedan utilizer fácilmente el software
• Extremadamente subjetivo.
• Comprensibilidad
• Capacidad de los desarrolladores a entender fácilmente los artefactos
producidos
• La calidad interna del producto
• subjetivo
• Verificabilidad
• La facilidad de establecer las propiedades deseadas
• Realizado por análisis formal o pruebas
• Calidad interna
• Rendimiento
• Equiparado con la eficiencia
• Evaluables mediante la medición, el análisis y simulación.
23
Calidades de Software (cont.)
• Desarrollo
• Posibilidad de añadir o modificar la funcionalidad
• Aborda el mantenimiento adaptativo y perfectivo.
• problema: La evolución de la implementación es muy fácil
• La evolución debe comenzar en los requisitos o en el diseño
• Reutilización
• Capacidad de construir un Nuevo software a partir de piezas existentes
• Debe ser planificado
• Ocurre a todos los niveles: desde la gente a los procesos, desde los requisitos hasta el código.
• Interoperabilidad
• Capacidad de los (sub)sistemas de software a cooperar con los demás
• Fácilmente integrable en sistemas más grandes.
• Técnicas communes que incluyen APIs, protocolos plug-in, etc.
24
Calidad de software (cont.)
• Escalabilidad
• Capacidad de un Sistema de software para crecer en tamaño, mientras que
mantiene sus propiedades y cualidades.
• Asume el mantenimiento y la capacidad de evolucionar
• Objetivo de desarrollo basado en componentes
• Heterogeneidad
• Capacidad de componer un Sistema de piezas desarrolladas en varios
lenguajes de programación, en multiples plataformas, por multiples
desarrolladores, etc.
• Necesario para la reutilización.
• Objetivo de desarrollo basado en componentes
Portabilidad
• Capacidad de ejecución en entornos nuevos con un mínimo esfuerzo.
• Puede ser planeado mediante el aislamiento de componentes dependientes
del entorno.
• Necesarios para la aparición de los sistemas altamente distribuidos (por
ejemplo, Internet)
25
Algunos sistemas operativos integrados
• RTOSs
pSOS
VxWorks
VRTX (Versátil en tiempo real)
uC/OS-II
Java RTS etc.
• Palm OS (fuente: Wikipedia)
Sistema operative embebido desarrollado inicialmente por U.S. Robotics-owned Palm
Computing, Inc. para asistentes digitales personales (PDAs) en 1996
• SymbianOS (fuente: Wikipedia)
Sistema operativo diseñado para dispositivos móviles por SymbianLtd. (se ejecuta
generalmente en OMAP (Plataforma de aplicaciones multimedia abierta)
procesadores, los cuales generalmente incluyen un propósito general de arquitectura
en el núcleo del procesador ARM más uno o más coprocesadores especializados.
• Android
Projecto abierto Handset Alliance
Basado en núcleo Linux 2.6 (http://code.google.com/android/)
26
Algunos sistemas operativos embebidos (cont.)
27
Lenguajes de programación de sistemas embebidos (cont.)
28
Lenguajes de programación de sistemas embebidos (cont.)
29
Cuestiones de control
30
Referencias
1. http://en.wikipedia.org/wiki/Embedded_system
2. https://en.wikipedia.org/wiki/Software_engineering
3. http://cplus.about.com/od/thebusinessofsoftware/a/softwareeng.htm
4. http://www.oxys-tech.com/embedded_system.pdf
5. http://www.youtube.com/watch?v=y9RAhEfLfJs
6. http://ocw.korea.edu/ocw/college-of-engineering/special-topics-in-embedded-
systems/transfer-data/2.STES-Lec1-What-is-ES.pdf
7. http://www.modprod.liu.se/workshop_2007/1.46549/tutorial-peng.pdf
8. http://en.wikipedia.org/wiki/Embedded_Linux
9. http://en.wikipedia.org/wiki/Windows_CE
10. http://www.gobookee.net/architecture-of-embedded-systems/
11. http://www.cs.columbia.edu/techreports/cucs-009-03.pdf
12. http://sunset.usc.edu/~softarch/Prism/
13. Ver sobre Prism-MW – CS 795 / SWE 699, Sam Malek, Spring 2010
31