Presentación Programación de sistemas y dispositivos - José Manuel Mendías Cuadros - Facultad de Informática

Página creada Iván Gaztea
 
SEGUIR LEYENDO
Presentación Programación de sistemas y dispositivos - José Manuel Mendías Cuadros - Facultad de Informática
Presentación
Programación de sistemas y dispositivos

José Manuel Mendías Cuadros
Dpto. Arquitectura de Computadores y Automática
Universidad Complutense de Madrid
Presentación Programación de sistemas y dispositivos - José Manuel Mendías Cuadros - Facultad de Informática
2021
J.M. Mendías

                   José Manuel Mendías Cuadros
                     o   Despacho: 3.31 (Facultad de Informática)
                     o   Teléfono: 91 394 76 13
                     o   e‐mail: mendias@ucm.es
                     o   Web:      www.dacya.ucm.es/mendias
                                   www.fdi.ucm.es/profesor/mendias (alternativa)

                   Tutorías (on‐line con solicitud de cita previa por email):
                     o Solo se realizarán tutorías presenciales por causas de fuerza mayor
   Presentación

                     o Lunes y jueves de 10h a 11h; martes de 11:30h a 12:30h

PSyD
    2
Presentación Programación de sistemas y dispositivos - José Manuel Mendías Cuadros - Facultad de Informática
2021
J.M. Mendías

                   Objetivo:
                      o Mostrar las bases del desarrollo integral de aplicaciones empotradas en
                        arquitecturas heterogéneas basadas en un único microcontrolador.
                      o Haciendo énfasis:
                          • Programación de bajo nivel (C/ASM)
                          • Control directo de dispositivos
                          • Tiempo real y métricas de calidad

                     Metodología:
                      o Aprender practicando
                          • Toda la teoría será aplicada en los laboratorios.
                          • La experiencia facilitará la extrapolación de los conceptos a otros entornos.
   Presentación

                      o Trabajaremos con una máquina desnuda concreta
                          • Sin SO, sin cargador, sin drivers, sin bibliotecas, sin código de terceros...
                      o Aproximación ascendente (botton‐up)
PSyD                      • Partiendo del hardware iremos construyendo sucesivas capas de software.
    3
Presentación Programación de sistemas y dispositivos - José Manuel Mendías Cuadros - Facultad de Informática
definición
       2021
J.M. Mendías

                      Un sistema digital diseñado para cubrir una necesidad específica:
                        o Un consumidor puede interactuar diariamente con más de una centena de sistemas
                          empotrados distintos.

                          Característica        Computador de propósito general           Sistema empotrado
                        arquitectura HW                    normalizada                       heterogénea
                                                               normalizada
                        arquitectura SW                                                      heterogénea
                                                   (en base a un SO estandarizado)
                                                                 variable
                          funcionalidad        (el usuario elige el momento y tipo de             fija
                                                       las aplicaciones a ejecutar)
                        dispositivos de E/S                    normalizado
                                                                                              cualquiera
                      con los que interactúa        (teclado, monitor, red, disco,...)
   Presentación

                         ligaduras físicas                    débiles                           fuertes
                                                                                                   si
                                                               no
                           tiempo real                                                    (garantizan tiempos
                                                (hacen todo lo más rápido posible)
                                                                                         máximos de respuesta)
PSyD
                       memoria disponible             virtualmente ilimitada                     poca
    4
Presentación Programación de sistemas y dispositivos - José Manuel Mendías Cuadros - Facultad de Informática
¿donde están?
       2021
J.M. Mendías

                                           Sistema de ignición                         Robots
                  Automoción

                                           Control del motor                           Control de líneas de producción

                                                                          Industria
                                           Sistema de frenado (ABS)                    Control de plantas de proceso
                                           Sistemas de alarma                          Puntos de venta
                                           Consola de instrumentación                  Sistemas de inventario
                                                                                       Riego automático
                                           Impresoras
                                                                                       Routers
                  Oficinas

                                           Fax

                                                                          Redes
                                           Fotocopiadoras                              Hubs
                                           Monitores                                   Gateways
                                           Scaners                                     Bombas de diálisis

                                                                          Medicina
                                           TDT                                         Dispositivos protésicos
                  Electrónica de consumo

                                           DVD / VCR / Hi‐Fi                           Monitores (cardiacos, glucosa...)
                                           Electrodomésticos                           Marcapasos
   Presentación

                                           Juguetes                                    Sistemas de guiado
                                           Teléfonos DAT                  Transporte
                                                                                       Control de vuelo
                                           Cámaras                                     GPS
                                           Controles remotos                           Sistema de balizamiento
PSyD                                       Velocímetros                                Control de tráfico
    5                                      Relojes                                     Radares
Presentación Programación de sistemas y dispositivos - José Manuel Mendías Cuadros - Facultad de Informática
criterios de calidad (i)
       2021
J.M. Mendías

                     Relacionados con prestaciones y coste:
                       o Rendimiento: cantidad de información procesada por unidad de tiempo.
                       o Tiempo de respuesta: diferencia de tiempo entre un evento y la ejecución de
                         la acción asociada.
                       o Consumo: cantidad de energía que necesita el dispositivo para operar.
                       o Tamaño y peso: espacio físico requerido por el dispositivo.
                       o Non‐recurring engineering cost: el coste único de diseño y prueba del
                         producto.
                       o Coste por unidad: coste de manufacturar un dispositivo adicional.

                     Relacionados con la seguridad:
                       o Fiabilidad: tiempo medio entre fallos.
   Presentación

                       o Tolerancia a fallos: posibilidad de recuperación del dispositivo por si mismo
                         tras un fallo.
PSyD                   o Criticidad: riesgo de daño a humanos o al entorno.
    6
Presentación Programación de sistemas y dispositivos - José Manuel Mendías Cuadros - Facultad de Informática
criterios de calidad (i)
       2021
J.M. Mendías

                     Relacionados con el marketing:
                       o Tiempo hasta prototipo: tiempo requerido para diseñar, construir, y
                         probar un prototipo.
                       o Tiempo hasta mercado: tiempo requerido para que el usuario disponga
                         del producto.
                       o Factores humanos: grado de apreciación de los clientes hacia el producto.

                     Relacionados con la vida útil:
                       o Compatibilidad: conformidad del dispositivo con los estándares.
                       o Mantenibilidad: flexibilidad con la que un dispositivo puede ser
                         modificado.
   Presentación

                       o Testabilidad: facilidad con la que se puede comprobar si el dispositivo
                         funciona adecuadamente.

PSyD
    7
Presentación Programación de sistemas y dispositivos - José Manuel Mendías Cuadros - Facultad de Informática
alternativas de diseño
       2021
J.M. Mendías

                                                                                          Diseño Automático
                  rendimiento / menor consumo / esfuerzo de diseño

                                                                                              de Sistemas
                                                                        custom‐made HW
                                                                             (no SW)
                                                                                                       Sistemas Empotrados

                                                                                           uProcessor
                                                                                               +
                                                                                      custom‐made HW/SW
                                                                                                                          Programación de Sistemas
                                                                                                          uProcessor            y Dispositivos
                                                                                                               +
                                                                                                       off‐the‐shelf HW
                                                                                                               +                         otras
                                                                                                       custom‐made SW
                                                                                                                                      asignaturas
   Presentación

                                                                                                                          uProcessor
                                                                                                                               +
                                                                                                                     off‐the‐shelf HW/SW

PSyD
                                                                     productividad / menor tiempo a mercado / compatibilidad / mantenibilidad
    8
Presentación Programación de sistemas y dispositivos - José Manuel Mendías Cuadros - Facultad de Informática
volumen de ventas
       2021
J.M. Mendías
   Presentación

PSyD              fuente: IC Insights
    9                                                       ASP = average selling price
Presentación Programación de sistemas y dispositivos - José Manuel Mendías Cuadros - Facultad de Informática
applications
       2021
J.M. Mendías
   Presentación

PSyD
                  fuente: 2019 Embedded Markets Study. AspenCore, 2019
  10
capabilities
       2021
J.M. Mendías
   Presentación

PSyD
                  fuente: 2019 Embedded Markets Study. AspenCore, 2019
  11
job funtions
       2021
J.M. Mendías
   Presentación

PSyD
                  fuente: 2019 Embedded Markets Study. AspenCore, 2019
  12
circuit boards: custom vs. off‐the shelf
       2021
J.M. Mendías
   Presentación

PSyD
                    fuente: 2019 Embedded Markets Study. AspenCore, 2019
  13
starting with a development board
       2021
J.M. Mendías
   Presentación

PSyD
                  fuente: 2019 Embedded Markets Study. AspenCore, 2019
  14
number of processors
       2021
J.M. Mendías
   Presentación

PSyD
                  fuente: 2019 Embedded Markets Study. AspenCore, 2019
  15
processor bit length
       2021
J.M. Mendías
   Presentación

PSyD
                  fuente: 2019 Embedded Markets Study. AspenCore, 2019
  16
processor clock rate
       2021
J.M. Mendías
   Presentación

PSyD
                  fuente: 2019 Embedded Markets Study. AspenCore, 2019
  17
processor vendor
       2021
J.M. Mendías
   Presentación

PSyD
                  fuente: 2019 Embedded Markets Study. AspenCore, 2019
  18
processor family (32 bits)
       2021
J.M. Mendías
   Presentación

PSyD
                  fuente: 2019 Embedded Markets Study. AspenCore, 2019
  19
use of OS/RTOS
       2021
J.M. Mendías
   Presentación

PSyD
                  fuente: 2019 Embedded Markets Study. AspenCore, 2019
  20
open source vs. comercial OS/RTOS
       2021
J.M. Mendías
   Presentación

PSyD
                  fuente: 2019 Embedded Markets Study. AspenCore, 2019
  21
OS/RTOS vendor
       2021
J.M. Mendías
   Presentación

PSyD
                  fuente: 2019 Embedded Markets Study. AspenCore, 2019
  22
programming language
       2021
J.M. Mendías
   Presentación

PSyD
                  fuente: 2019 Embedded Markets Study. AspenCore, 2019
  23
code reuse
       2021
J.M. Mendías
   Presentación

PSyD
                  fuente: 2019 Embedded Markets Study. AspenCore, 2019
  24
ratio of total resources spent
       2021
J.M. Mendías
   Presentación

PSyD
                  fuente: 2019 Embedded Markets Study. AspenCore, 2019
  25
sources of information
       2021
J.M. Mendías
   Presentación

PSyD
                  fuente: 2019 Embedded Markets Study. AspenCore, 2019
  26
punto de partida
       2021
J.M. Mendías

                                     Especificación del sistema

                                                                                    Sistemas empotrados
                                 Diseño de la arquitectura hardware

                  Dispositivos   Controladores de dispositivos    Microprocesador

                                          Diseño del PCB

                                                                                                      punto de partida

                                                                                    Sistemas y Dispositivos
                                 Diseño de la arquitectura software

                                                                                       Programación de
   Presentación

                     Drivers            Sistema operativo             Aplicación

                                         Integración y test

PSyD
  27
2021
J.M. Mendías

                       Tema                                                        horas
                    1 El microcontrolador S3C44BOX                                  4h
                    2 La placa de prototipado Embest S3CEV40                        4h
                    3 El entorno de desarrollo Eclipse IDE for C/C++ Developers.    2h
                    4 Programación a bajo nivel en C                                4h
                    5 Firmware y bootstraping                                       1h
                    6 Modelos de programación de software empotrado                 6h
                    7 Micro‐kernels de tiempo real                                  4h
   Presentación

                  Prácticas:
                   o Desarrollo de firmware (drivers y bootloader).
                   o Portado y configuración de un micro‐kernel de tiempo real.
PSyD
                   o Desarrollo de aplicaciones empotradas multihebra.
  28
escenario inicial (i)
       2021
J.M. Mendías

                     Todas las clases serán presenciales pero con mínimo contacto:
                       o No aplica alternancia
                       o No se realizará streaming ni se grabarán las clases
                       o Para laboratorios y tutorías se habilitará una sala de videoconferencia de respaldo

                     Herramientas on‐line que utilizaremos:
                       o   Web (Transparencias y documentación)
                       o   Campus virtual (Herramientas, video‐demos y entregas)
                       o   Google Meet (Videoconferencia)
                       o   Asistencia rápida de Windows 10 (Asistencia remota)
   Presentación

                     Alternativamente, según las circunstancias, podríamos llegar a usar:
                       o Chrome Remote Desktop (Asistencia remota)
PSyD                   o Microsoft Teams (Entorno unificado de trabajo en equipo)
                            • Requiere activar Microsoft 365 desde la gestión de cuenta UCM
  29
escenario inicial (ii)
       2021
J.M. Mendías

                     Distribución de clases:
                       o Lunes: Teoría presencial – Aula 12
                       o Jueves: Laboratorios individuales presenciales – Aula 12

                     Elementos evaluables:
                       o Asistencia obligatoria (mínimo 70%) repetidores exentos
                       o Prácticas: 30% de la nota
                           • Entrega + defensa en horario de clases de laboratorio
                           • Retraso en la entrega se penaliza. Límite: 16 de diciembre, 13:00h
                           • La nota aplica a ambas convocatorias y se conserva de un curso a otro
   Presentación

                       o Proyecto: 30% de la nota
                           • Entrega + defensa solo en primera convocatoria. Límite: 19 de enero, 17:00h
                           • La nota aplica a ambas convocatorias
PSyD                   o Examen teórico: 40% de la nota
  30
laboratorios
       2021
J.M. Mendías

                     Cada estudiante dispondrá de un laboratorio completo en casa
                       o Deberá traerlo a clase los días de laboratorio

                     La Facultad prestará el maletín ARM durante todo el 1er. cuatrimestre
                       o Se recogerá desde el día 16 de septiembre en la sala de técnicos
                       o Se podrá devolver hasta el día 19 de enero inclusive (día del examen de enero)

                     Cada estudiante deberá instalarse el entorno de desarrollo, 2 opciones:
                       o Nativamente sobre Windows 7/10, siguiendo las instrucciones web
                            • Principal problema en W10: instalación de drivers no firmados
                       o Instalando VMWare Player (gratuito) y utilizando la máquina virtual disponible en CV
                            • Incluye una VM de Windows 7 con el entorno preinstalado
   Presentación

                     De ser necesario, el entorno de desarrollo también está instalado en:
                       o Los laboratorios de la Facultad
PSyD                   o Los puestos de la biblioteca
  31                   o Los portátiles en préstamo de la Facultad
2021
J.M. Mendías

                  Septiembre 2021                       Octubre 2021
                  30   31   1    2     3      4    5                         1    2    3
                  6    7    8    9     10     11   12   4    5     6    7    8    9    10
                  13   14   15   16    17     18   19   11   12    13   14   15   16   17
                  20   21   22   23    24     25   26   18   19    20   21   22   23   24
                  27   28   29   30    31               25   26    27   28   29   30   31
                  Noviembre 2021                        Diciembre 2021
                  1    2    3    4     5      6    7               1    2    3    4    5
                  8    9    10   11    12     13   14   6    7     8    9    10   11   12
                  15   16   17   18    19     20   21   13   14    15   16   17   18   19
   Presentación

                  22   23   24   25    26     27   28   ¿?
                                                        20 21 22        23   24   25   26

                  29   30                               27   28    29   30   31
PSyD
  32
                                     TEORIA                      LABORATORIO
valoraciones
       2021
J.M. Mendías

                       Laboratorios                                                                                        Ptos
                   1 Acceso elemental a dispositivos (i): dispositivos externos mapeados en memoria.                        0
                   2 Acceso elemental a dispositivos (ii): dispositivos externos conectados a puertos de E/S.               0
                   3 Drivers de dispositivos elementales: salida por leds y displays 7-segmentos.                          0.25
                   4 E/S programada: control de una UART y comunicación con un terminal serie.              NEW
                                                                                                            TEST
                                                                                                                           1.25
                   5 Gestión básica de interrupciones: programación de un reloj de tiempo real.     NEW
                                                                                                    TEST
                                                                                                                           0.75
                   6 Medida del tiempo: control de temporizadores y entrada por pulsadores y keypads.              NEW
                                                                                                                  DRIVER
                                                                                                                           1.75
                   7 Salida por un LCD.    NEW
                                           TEST                                                                             1
                   8 Bus IIC: lectura/escritura de una EEPROM (no se realiza)                                               ‐
                   9 E/S por DMA y Bus IIS: reproducción/grabación de sonido con un Audio Codec.           NEW
                                                                                                           TEST
                                                                                                                            2
                  10 Conversión analógico-digital: entrada por un touchpad.    NEW
                                                                              DRIVER
                                                                                                                           1.25
                  11 Autoarranque desde ROM                                                                                0.25
   Presentación

                  12 Multitarea cooperativa       NEW
                                                  LAB
                                                                                                                           0.5
                  13 Multitarea bajo un kernel de planificación no expropiativo   NEW
                                                                                  TEST
                                                                                                                           0.5
PSyD              14 Multitarea bajo RTOS uC/OS-II      NEW
                                                        TEST
                                                                                                                           0.5
  33
                      Los puntos por prácticas se ponderan por 0.3 en la calificación final
fechas de entrega
       2021
J.M. Mendías

                  Septiembre 2021                       Octubre 2021
                  30   31   1    2      3     4    5                         1    2    3
                  6    7    8    9      10    11   12   4    5     6    7 48      9    10
                  13   14   15   16     17    18   19   11   12    13   14 5 15   16   17
                                        2                                   11
                  20   21   22   23 1   24    25   26   18   19    20   21 7 22   23   24
                  27   28   29   30 3 31                25   26    27   28   29   30   31
                  Noviembre 2021                        Diciembre 2021
                  1    2    3    4 65         6    7               1    2 123     4    5
                  8    9    10   11     12    13   14   6    7     8    9 1310    11   12
                  15   16   17   18 9 19      20   21   13   14    15   16 1417   18   19
   Presentación

                  22   23   24   25 1026      27   28   ¿?
                                                        20 21 22        23   24   25   26

                  29   30                               27   28    29   30   31
PSyD
  34
                                     TEORIA                      LABORATORIO
curso 2021‐22
       2021
J.M. Mendías

                   Game & Watch (80’s):
                       o   Visualizar imágenes y/o textos en un LCD.
                       o   Reproducir sonidos a través de un Audio Codec.
                       o   Usar un para la interacción con el usuario.
                       o   Usar interrupciones.
                       o   Tener un mínimo footprint (unos 50 KB)
                                                                             https://www.youtube.com/watch?v=mdWuOhxo4FA
                     Proyectos cursos anteriores:
                       o   2012‐13: Teléfono inalámbrico.
                       o   2013‐14: Reproductor de audio digital (iPod).
                       o   2014‐15: Audioguía con voz sintética.
                       o   2015‐16: Ciclocomputador (velocímetro de bicicleta).
   Presentación

                       o   2016‐17: Báscula digital.
                       o   2017‐18: Dictáfono digital.
                       o   2018‐19: Gestor de fila única.
PSyD                   o   2019‐20: Launchpad (secuenciador multipista).
  35                   o   2020‐21: Reloj despertador parlante.
2021
J.M. Mendías

                   Arquitectura ARM:
                     o ARM system developer's guide: designing and optimizing system software
                       Andrew Sloss, Dominic Symes, Chris Wright
                       Elsevier / Morgan Kaufman, 2004

                   Programación de dispositivos:
                     o S3C44BOX RISC microprocessor: product overview
                       Samsung Electronic
                     o Embedded microcomputer systems: real time interfacing
                       Jonathan W. Valvano
                       Cengage Learning, 3ª edición, 2012
                     o Embedded Systems Building Blocks, Complete and Ready‐to‐Use Modules in C
   Presentación

                       Jean J. Labrosse
                       R&D Books, 2ª edición, 2000

PSyD
  36
2021
J.M. Mendías

                   Programación en C de sistemas empotrados:
                     o An Embedded Software Primer
                       David E. Simon
                       Addison‐Wesley, 1999
                     o Embedded C.
                       Michael J. Pont
                       Addison‐Wesley, 2002
                     o Patterns for time‐triggered embedded systems
                       Michael J. Pont
                       Addison‐Wesley, 2001

                   Sistemas de tiempo real:
                     o MicroC/OS‐II. The Real‐Time Kernel
   Presentación

                       Jean J. Labrosse
                       CMP Books, 2ª edición, 2002
                     o Hard Real Time Computing Systems
PSyD                   Giorgio C. Buttazzo
  37                   Springer, 3º edición, 2011
2021
J.M. Mendías

                     Licencia CC (Creative Commons)
                      o Ofrece algunos derechos a terceras personas bajo ciertas
                        condiciones. Este documento tiene establecidas las siguientes:

                              Reconocimiento (Attribution):
                              En cualquier explotación de la obra autorizada por la licencia
                              hará falta reconocer la autoría.
                              No comercial (Non commercial):
                              La explotación de la obra queda limitada a usos no comerciales.
                              Compartir igual (Share alike):
                              La explotación autorizada incluye la creación de obras derivadas
   Presentación

                              siempre que mantengan la misma licencia al ser divulgadas.

                      Más información: https://creativecommons.org/licenses/by‐nc‐sa/4.0/
PSyD
  38
También puede leer