SlideShare a Scribd company logo
1 of 14
INTRODUCCIÓN A LOS
MICROPROCESADORES

         EMILI LUPON
  Departament d’Enginyeria Electrònica
   Sección E.T.S.E.I.B. (Campus Sud)
   Universitat Politècnica de Catalunya
DESARROLLO DE APLICACIONES
BASADAS EN MICROPROCESADORES.

1.Lenguajes de programación.
2.Proceso de desarrollo de aplicaciones.
3.Herramientas para la traducción.
4.Herramientas para la puesta a punto de
  aplicaciones.
LENGUAJES DE PROGRAMACIÓN (I)
• Los lenguajes de programación se utilizan para implementar los programas
  (secuencias de instrucciones) que deben ejecutarse en los microprocesadores.
• Los microprocesadores sólo entienden los programas integrados por secuencias
  de instrucciones de su juego de instrucciones codificadas con 1s y 0s (código
  máquina o lenguaje máquina).
• El lenguaje máquina es propio de cada microprocesador. Refleja su juego de
  instrucciones y su arquitectura interna.
• El lenguaje máquina no es nada amigable: está muy lejos del lenguaje humano.
• Aparecen las siguientes necesidades:
   – Concebir lenguajes de programación más cercanos al lenguaje humano (palabras
     que describan operaciones y operandos).
   – Concebir lenguajes de programación que sean independientes de la arquitectura del
     microprocesador que se desee utilizar.
   – Concebir sistemas de traducción mecanizados de estos lenguajes de programación
     más cercanos al lenguaje humano al lenguaje máquina del microprocesador que se
     desee utilizar (programas traductores).
LENGUAJES DE PROGRAMACIÓN (II)
Existen dos categorías de lenguajes de programación cercanos al lenguaje humano:
• Lenguajes de bajo nivel (ensambladores):
   – Representan con palabras o nemotécnicos el juego de instrucciones y los recursos
     internos del microprocesador (registros de la CPU).
   – Son propios de cada microprocesador (o de una familia de microprocesadores).
   – Permiten desarrollar programas muy compactos, ya que se pueden aprovechar al
     máximo los recursos internos del microprocesador.
   – El tiempo de desarrollo de programas acostumbra a ser largo.
• Lenguajes de alto nivel (C, C++, Pascal, Fortran, Basic, Java, ...):
   – Representan con palabras o nemotécnicos operaciones y operandos genéricos que
     pueden llegar a ser muy complejos (por ejemplo, productos de matrices).
   – Son independientes de los microprocesadores, ya que no utilizan sus recursos
     internos.
   – Permiten desarrollar programas en un tiempo corto, debido a la potencia de sus
     operaciones y operandos.
   – Los programas a veces resultan poco compactos, ya que no pueden aprovechar al
     máximo los recursos internos del microprocesador.
EJEMPLO DE LENGUAJE DE BAJO NIVEL
;subrutina a3ddec (convierte a – 1 byte - a 3 dígitos decimales)
;par. entrada:      a = dato a convertir
;par. salida:       c = dígito centenas
;                   b = dígito decenas
;                   x = dígito unidades
;recursos usados:   psw
;                   1 nivel de pila

a3ddec    movw   bc,#0       ;centenas y decenas a 0
a3ddec1   inc    c           ;incrementa centenas
          sub    a,#100      ;decrementa en una centena
          bnc    a3ddec1
          dec    c           ;ajusta centenas
          add    a,#100      ;ajusta residuo (<100)
a3ddec2   inc    b           ;incrementa centenas
          sub    a,#10       ;decrementa en una decena
          bnc    a3ddec2
          dec    b           ;ajusta decenas
          add    a,#10       ;ajusta residuo (<10)
          xch    a,x         ;x=residuo
          ret
EJEMPLO DE LENGUAJE DE ALTO NIVEL
 -- escribe en el archivo rom.asc los valores binarios contenidos en el archivo rom.dat
 -- en formato 1s y 0s ascii (8 bytes por línea y separados un espacio)
 --
 #include <stdio.h>
 main()
 {int nbl=8;
 int i,j,data;
 FILE *archivodat,*archivoasc;
 archivodat=fopen("rom.dat","r");
 archivoasc=fopen("rom.asc","w");
 fprintf(archivoasc,"MSB a la izquierda, LSB a la derecha, primera dirección 0..0 nn");
 j=0;
 while ((data=getc(archivodat))!=EOF)
      {
      for (i=0x80;i>0x0;i=i/2)
           {
           if ((data&i)>0)
                fprintf(archivoasc,"1");
           else
                fprintf(archivoasc,"0");
           }
      j++;
      if ((j%nbl)==0)
           fprintf(archivoasc,"n");
      else
           fprintf(archivoasc," ");
      }
 fclose(archivodat);
 fclose(archivoasc);
 }
PROCESO DE DESARROLLO DE
           APLICACIONES

               CONCEPCIÓN




                 EDICIÓN                    EDITORES DE TEXTO
PROGRAMA
   FUENTE
                               ERRORES
                               SEMÁNTICOS
    ERRORES                                 ENSAMBLADORES
SINTÁCTICOS                                 MACROENSAMBLADORES
               TRADUCCIÓN
                                            COMPILADORES
                                            EDITORES DE ENLACES ("LINKERS")

                                            SIMULADORES
PROGRAMA                                    PROGRAMADORES
   OBJETO                                   CARGADORES
              PUESTA A PUNTO
                                            MONITORES
                                            DEPURADORES ("DEBUGGERS")
HERRAMIENTAS PARA LA
                  TRADUCCIÓN (I)
• Existen editores de texto orientados a lenguajes de programación capaces de realizar
  un análisis sintáctico parcial.
• Los ensambladores son traductores que traducen del lenguaje ensamblador de un µP a
  su lenguaje máquina.
• Los compiladores son traductores que traducen de un lenguaje de alto nivel al lenguaje
  máquina de un µP.
• Los macroensambladores son ampliaciones de los ensambladores que soportan el uso
  de macroinstrucciones definidas por el usuario. Una macroinstrucción es una secuencia
  de instrucciones que se abrevia con un nemotécnico y que soporta parámetros.

   ;definición de una macro         ;uso de una macro        ;expansión de una macro
   ;(a,x)=(a,x)-(roa,rob)           ;(a,x)=(a,x)-(d,e)       ;(a,x)=(a,x)-(d,e)
   ;                                ;                        ;
   s2ax macro roa,rob                     s2ax d,e                 xch   a,x
         xch   a,x                                                 sub   a,e
         sub   a,rob                                               xch   a,x
         xch   a,x                                                 subc a,d
         subc a,roa
         endm
HERRAMIENTAS PARA LA
                   TRADUCCIÓN (II)
• Los programas pueden escribirse en un único módulo o en módulos separados, pero no
  independientes, ya que tendrán llamadas cruzadas entre ellos.
• La primera fase de la traducción (ensamblado o compilación) puede realizarse módulo
  a módulo, pero las llamadas cruzadas no se pueden resolver. No se obtienen programas
  ejecutables, pero si listados con indicación de errores y programas objeto.
• Para juntar todos los módulos (programas objeto) y resolver las llamadas cruzadas se
  utiliza otro programa llamado editor de enlaces o “linker”. Se obtiene un listado con
  los enlaces resueltos y un programa ejecutable.
                                ENSAMBLADO O COMPILACIÓN           EDICIÓN DE ENLACES
   PROGRAMA

              MÓDULO 1 (F)                  MÓDULO 1 (O)


              MÓDULO 2 (F)                  MÓDULO 2 (O)                 PROGRAMA (E)


              MÓDULO 3 (F)                  MÓDULO 3 (O)
HERRAMIENTAS PARA LA PUESTA A
      PUNTO DE APLICACIONES (I)
• En los procesos de edición y traducción suele utilizarse un ordenador de uso general
  (un PC) o un ordenador especializado en el desarrollo de aplicaciones basadas en µP
  (sistema de desarrollo).
• La puesta a punto, también llamada verificación, de la aplicación puede hacerse sobre
  el mismo ordenador usado en los procesos de edición y traducción:
    – Mediante un depurador (“debugger”), si la CPU del ordenador (sistema de desarrollo) es la
      misma que la del µC usado en la aplicación. Se puede ejecutar el programa en tiempo real.
    – Mediante un simulador, si la CPU del ordenador (habitualmente, un PC) es distinta de la del
      µC usado en la aplicación. No se puede ejecutar el programa en tiempo real. Existen
      simuladores que incorporan facilidades para simular las entradas y salidas de la aplicación.
• Entre las facilidades para la verificación de programas que incorporan los depuradores
  y simuladores se encuentran:
    –   Carga del programa ejecutable.
    –   Ejecución desde cualquier punto, ya sea paso a paso o hasta un punto de paro.
    –   Obtención de una traza (evolución de los ciclos de máquina del microprocesador).
    –   Visualización y modificación del contenido de la memoria (programa y variables), registros
        de entrada/salida y registros internos del microprocesador.
HERRAMIENTAS PARA LA PUESTA A
  PUNTO DE APLICACIONES (II)




                          Pantalla
                          típica de un
                          simulador
                          de µP de
                          NEC
HERRAMIENTAS PARA LA PUESTA A
      PUNTO DE APLICACIONES (III)
La puesta a punto también puede hacerse sobre el propio µC usado en la aplicación
(ejecución en tiempo real):
• Si la memoria de programa es permanente (EPROM, FLASH), la memoria se puede
  programar mediante un programador o vía JTAG, pero no se pueden disponer de las
  facilidades para la verificación propias de los depuradores y simuladores.
• Si el microprocesador presenta una
  arquitectura Princeton y se dispone
  de memoria RAM suficiente, se
  puede utilizar parte de la memoria
  RAM para ubicar el programa.
  Usando programas adicionales
  (cargadores/monitores/depuradores),
  se puede cargar el programa en la
  memoria RAM y ejecutarlo con las
  facilidades para la verificación
  propias de los depuradores y
  simuladores.
HERRAMIENTAS PARA LA PUESTA A
      PUNTO DE APLICACIONES (IV)
• La puesta a punto también puede hacerse sobre un
  hardware especializado, llamado emulador, que:
    – Emula al µP usado en la aplicación (funciona como
      él y lo substituye).
    – También emula a su memoria de programa (la
      substituye), implementándola con memoria RAM
      (memoria de emulación).
• El emulador suele controlarse desde el ordenador
  utilizado en el desarrollo del programa. Se puede:
    – Cargar el programa en la memoria de emulación.
    – Ejecutarlo en tiempo real.
    – Disponer de las facilidades para la verificación
      propias de los depuradores y simuladores.
• Los emuladores pueden disponer de un conector
  con el “pin-out” del microprocesador que puede
  conectarse a la placa de la aplicación para acceder
  a su subsistema de entradas/salidas.
HERRAMIENTAS PARA LA PUESTA A
   PUNTO DE APLICACIONES (V)
• Otra herramienta hardware
  usada en la puesta a punto de
  programas es el analizador
  lógico. Permite captar y
  registrar las señales lógicas
  presentes en los buses del
  microprocesador y a partir de
  estas señales deducir la
  evolución del programa.
• Existen analizadores lógicos
  de tipo “stand-alone” o
  integrables a emuladores.
  Estos últimos utilizan como
  terminal el del ordenador
  utilizado en el desarrollo del
  programa.

More Related Content

What's hot (14)

Fundamentos y Lógica de Programación
Fundamentos y Lógica de ProgramaciónFundamentos y Lógica de Programación
Fundamentos y Lógica de Programación
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basico
 
FUNDAMENTOS DEL LENGUAJE ENSAMBLADOR
FUNDAMENTOS DEL LENGUAJE ENSAMBLADORFUNDAMENTOS DEL LENGUAJE ENSAMBLADOR
FUNDAMENTOS DEL LENGUAJE ENSAMBLADOR
 
Cristian david castro
Cristian david castroCristian david castro
Cristian david castro
 
C(++) programacion en c y c++
C(++)   programacion en c y c++C(++)   programacion en c y c++
C(++) programacion en c y c++
 
Parte i curso c
Parte i curso cParte i curso c
Parte i curso c
 
Unidad 2 curso c
Unidad 2 curso cUnidad 2 curso c
Unidad 2 curso c
 
Programacion web introduccion diego zuluaga
Programacion web introduccion diego zuluagaProgramacion web introduccion diego zuluaga
Programacion web introduccion diego zuluaga
 
Lenguaje ensamblador
Lenguaje ensamblador   Lenguaje ensamblador
Lenguaje ensamblador
 
Programacion Lenguaje Assembler 25 10 07
Programacion Lenguaje Assembler 25 10 07Programacion Lenguaje Assembler 25 10 07
Programacion Lenguaje Assembler 25 10 07
 
Material estudio c
Material estudio cMaterial estudio c
Material estudio c
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensamblador
 
Practica1
Practica1Practica1
Practica1
 

Viewers also liked

Vmwarepresentation1207005
Vmwarepresentation1207005Vmwarepresentation1207005
Vmwarepresentation1207005chinitooo
 
Vmwarepresentation1207005
Vmwarepresentation1207005Vmwarepresentation1207005
Vmwarepresentation1207005chinitooo
 
Intrack14dec tips tricks_clean
Intrack14dec tips tricks_cleanIntrack14dec tips tricks_clean
Intrack14dec tips tricks_cleanchinitooo
 
Intrack14dec tips tricks_clean
Intrack14dec tips tricks_cleanIntrack14dec tips tricks_clean
Intrack14dec tips tricks_cleanchinitooo
 
Vmwarepresentation1207005
Vmwarepresentation1207005Vmwarepresentation1207005
Vmwarepresentation1207005chinitooo
 
Clasificación de los lenguajes de programación
Clasificación de los lenguajes de programaciónClasificación de los lenguajes de programación
Clasificación de los lenguajes de programaciónJavier Camacho
 
T001 72110280
T001 72110280T001 72110280
T001 72110280chinitooo
 
Elmodelo osi
Elmodelo osiElmodelo osi
Elmodelo osichinitooo
 

Viewers also liked (9)

Vmwarepresentation1207005
Vmwarepresentation1207005Vmwarepresentation1207005
Vmwarepresentation1207005
 
Vmwarepresentation1207005
Vmwarepresentation1207005Vmwarepresentation1207005
Vmwarepresentation1207005
 
Intrack14dec tips tricks_clean
Intrack14dec tips tricks_cleanIntrack14dec tips tricks_clean
Intrack14dec tips tricks_clean
 
Intrack14dec tips tricks_clean
Intrack14dec tips tricks_cleanIntrack14dec tips tricks_clean
Intrack14dec tips tricks_clean
 
Vmwarepresentation1207005
Vmwarepresentation1207005Vmwarepresentation1207005
Vmwarepresentation1207005
 
Clasificación de los lenguajes de programación
Clasificación de los lenguajes de programaciónClasificación de los lenguajes de programación
Clasificación de los lenguajes de programación
 
Clases 2002
Clases 2002Clases 2002
Clases 2002
 
T001 72110280
T001 72110280T001 72110280
T001 72110280
 
Elmodelo osi
Elmodelo osiElmodelo osi
Elmodelo osi
 

Similar to T 25

Unidad Iii Generalidades Sobre Algoritmos
Unidad Iii Generalidades Sobre AlgoritmosUnidad Iii Generalidades Sobre Algoritmos
Unidad Iii Generalidades Sobre Algoritmosmarthaill10
 
LENGUAJE DE PROGRAMACION C++ INTRODUCCION
LENGUAJE DE PROGRAMACION C++ INTRODUCCIONLENGUAJE DE PROGRAMACION C++ INTRODUCCION
LENGUAJE DE PROGRAMACION C++ INTRODUCCIONSol López
 
El software 2
El software 2El software 2
El software 2Naudelyn
 
Conceptos Básicos de Programación
Conceptos Básicos de ProgramaciónConceptos Básicos de Programación
Conceptos Básicos de ProgramaciónMaraIsabel87
 
Algoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacionAlgoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacionBoris Salleg
 
LENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONLENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONKathGon1
 
Universidad de panam1.lenguaje de programación
Universidad de panam1.lenguaje de programaciónUniversidad de panam1.lenguaje de programación
Universidad de panam1.lenguaje de programaciónKatherine Gonzales
 
Lenguaje Ensamblador00
Lenguaje Ensamblador00Lenguaje Ensamblador00
Lenguaje Ensamblador00Car_00_01
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensambladorCar_00_01
 
Lenguaje C para Administradores de Red / Script III - Memoria
Lenguaje C para Administradores de Red / Script III - MemoriaLenguaje C para Administradores de Red / Script III - Memoria
Lenguaje C para Administradores de Red / Script III - Memoriasirfids
 
Programación de microcontrolador
Programación de microcontroladorProgramación de microcontrolador
Programación de microcontroladorTaqui Wajuyat Flor
 
Assembler apesteguia (1)
Assembler apesteguia (1)Assembler apesteguia (1)
Assembler apesteguia (1)tonytenorio2
 

Similar to T 25 (20)

Unidad Iii Generalidades Sobre Algoritmos
Unidad Iii Generalidades Sobre AlgoritmosUnidad Iii Generalidades Sobre Algoritmos
Unidad Iii Generalidades Sobre Algoritmos
 
LENGUAJE DE PROGRAMACION C++ INTRODUCCION
LENGUAJE DE PROGRAMACION C++ INTRODUCCIONLENGUAJE DE PROGRAMACION C++ INTRODUCCION
LENGUAJE DE PROGRAMACION C++ INTRODUCCION
 
El software 2
El software 2El software 2
El software 2
 
Conceptos Básicos de Programación
Conceptos Básicos de ProgramaciónConceptos Básicos de Programación
Conceptos Básicos de Programación
 
NASM
NASM NASM
NASM
 
Algoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacionAlgoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacion
 
LENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONLENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACION
 
Universidad de panam1.lenguaje de programación
Universidad de panam1.lenguaje de programaciónUniversidad de panam1.lenguaje de programación
Universidad de panam1.lenguaje de programación
 
Lenguaje Ensamblador00
Lenguaje Ensamblador00Lenguaje Ensamblador00
Lenguaje Ensamblador00
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Lenguaje C para Administradores de Red / Script III - Memoria
Lenguaje C para Administradores de Red / Script III - MemoriaLenguaje C para Administradores de Red / Script III - Memoria
Lenguaje C para Administradores de Red / Script III - Memoria
 
2do parcial c
2do parcial c2do parcial c
2do parcial c
 
Programación de microcontrolador
Programación de microcontroladorProgramación de microcontrolador
Programación de microcontrolador
 
Exposición CASE - IDE
Exposición CASE - IDEExposición CASE - IDE
Exposición CASE - IDE
 
Assembler apesteguia (1)
Assembler apesteguia (1)Assembler apesteguia (1)
Assembler apesteguia (1)
 
Ensambladores
EnsambladoresEnsambladores
Ensambladores
 
Ensambladores
EnsambladoresEnsambladores
Ensambladores
 
Ensambladores
EnsambladoresEnsambladores
Ensambladores
 
Ensambladores
EnsambladoresEnsambladores
Ensambladores
 
Tema1 b
Tema1 bTema1 b
Tema1 b
 

Recently uploaded

PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptAlberto Rubio
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfpatriciaines1993
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONALMiNeyi1
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfMercedes Gonzalez
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfNancyLoaa
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICAÁngel Encinas
 

Recently uploaded (20)

Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 

T 25

  • 1. INTRODUCCIÓN A LOS MICROPROCESADORES EMILI LUPON Departament d’Enginyeria Electrònica Sección E.T.S.E.I.B. (Campus Sud) Universitat Politècnica de Catalunya
  • 2. DESARROLLO DE APLICACIONES BASADAS EN MICROPROCESADORES. 1.Lenguajes de programación. 2.Proceso de desarrollo de aplicaciones. 3.Herramientas para la traducción. 4.Herramientas para la puesta a punto de aplicaciones.
  • 3. LENGUAJES DE PROGRAMACIÓN (I) • Los lenguajes de programación se utilizan para implementar los programas (secuencias de instrucciones) que deben ejecutarse en los microprocesadores. • Los microprocesadores sólo entienden los programas integrados por secuencias de instrucciones de su juego de instrucciones codificadas con 1s y 0s (código máquina o lenguaje máquina). • El lenguaje máquina es propio de cada microprocesador. Refleja su juego de instrucciones y su arquitectura interna. • El lenguaje máquina no es nada amigable: está muy lejos del lenguaje humano. • Aparecen las siguientes necesidades: – Concebir lenguajes de programación más cercanos al lenguaje humano (palabras que describan operaciones y operandos). – Concebir lenguajes de programación que sean independientes de la arquitectura del microprocesador que se desee utilizar. – Concebir sistemas de traducción mecanizados de estos lenguajes de programación más cercanos al lenguaje humano al lenguaje máquina del microprocesador que se desee utilizar (programas traductores).
  • 4. LENGUAJES DE PROGRAMACIÓN (II) Existen dos categorías de lenguajes de programación cercanos al lenguaje humano: • Lenguajes de bajo nivel (ensambladores): – Representan con palabras o nemotécnicos el juego de instrucciones y los recursos internos del microprocesador (registros de la CPU). – Son propios de cada microprocesador (o de una familia de microprocesadores). – Permiten desarrollar programas muy compactos, ya que se pueden aprovechar al máximo los recursos internos del microprocesador. – El tiempo de desarrollo de programas acostumbra a ser largo. • Lenguajes de alto nivel (C, C++, Pascal, Fortran, Basic, Java, ...): – Representan con palabras o nemotécnicos operaciones y operandos genéricos que pueden llegar a ser muy complejos (por ejemplo, productos de matrices). – Son independientes de los microprocesadores, ya que no utilizan sus recursos internos. – Permiten desarrollar programas en un tiempo corto, debido a la potencia de sus operaciones y operandos. – Los programas a veces resultan poco compactos, ya que no pueden aprovechar al máximo los recursos internos del microprocesador.
  • 5. EJEMPLO DE LENGUAJE DE BAJO NIVEL ;subrutina a3ddec (convierte a – 1 byte - a 3 dígitos decimales) ;par. entrada: a = dato a convertir ;par. salida: c = dígito centenas ; b = dígito decenas ; x = dígito unidades ;recursos usados: psw ; 1 nivel de pila a3ddec movw bc,#0 ;centenas y decenas a 0 a3ddec1 inc c ;incrementa centenas sub a,#100 ;decrementa en una centena bnc a3ddec1 dec c ;ajusta centenas add a,#100 ;ajusta residuo (<100) a3ddec2 inc b ;incrementa centenas sub a,#10 ;decrementa en una decena bnc a3ddec2 dec b ;ajusta decenas add a,#10 ;ajusta residuo (<10) xch a,x ;x=residuo ret
  • 6. EJEMPLO DE LENGUAJE DE ALTO NIVEL -- escribe en el archivo rom.asc los valores binarios contenidos en el archivo rom.dat -- en formato 1s y 0s ascii (8 bytes por línea y separados un espacio) -- #include <stdio.h> main() {int nbl=8; int i,j,data; FILE *archivodat,*archivoasc; archivodat=fopen("rom.dat","r"); archivoasc=fopen("rom.asc","w"); fprintf(archivoasc,"MSB a la izquierda, LSB a la derecha, primera dirección 0..0 nn"); j=0; while ((data=getc(archivodat))!=EOF) { for (i=0x80;i>0x0;i=i/2) { if ((data&i)>0) fprintf(archivoasc,"1"); else fprintf(archivoasc,"0"); } j++; if ((j%nbl)==0) fprintf(archivoasc,"n"); else fprintf(archivoasc," "); } fclose(archivodat); fclose(archivoasc); }
  • 7. PROCESO DE DESARROLLO DE APLICACIONES CONCEPCIÓN EDICIÓN EDITORES DE TEXTO PROGRAMA FUENTE ERRORES SEMÁNTICOS ERRORES ENSAMBLADORES SINTÁCTICOS MACROENSAMBLADORES TRADUCCIÓN COMPILADORES EDITORES DE ENLACES ("LINKERS") SIMULADORES PROGRAMA PROGRAMADORES OBJETO CARGADORES PUESTA A PUNTO MONITORES DEPURADORES ("DEBUGGERS")
  • 8. HERRAMIENTAS PARA LA TRADUCCIÓN (I) • Existen editores de texto orientados a lenguajes de programación capaces de realizar un análisis sintáctico parcial. • Los ensambladores son traductores que traducen del lenguaje ensamblador de un µP a su lenguaje máquina. • Los compiladores son traductores que traducen de un lenguaje de alto nivel al lenguaje máquina de un µP. • Los macroensambladores son ampliaciones de los ensambladores que soportan el uso de macroinstrucciones definidas por el usuario. Una macroinstrucción es una secuencia de instrucciones que se abrevia con un nemotécnico y que soporta parámetros. ;definición de una macro ;uso de una macro ;expansión de una macro ;(a,x)=(a,x)-(roa,rob) ;(a,x)=(a,x)-(d,e) ;(a,x)=(a,x)-(d,e) ; ; ; s2ax macro roa,rob s2ax d,e xch a,x xch a,x sub a,e sub a,rob xch a,x xch a,x subc a,d subc a,roa endm
  • 9. HERRAMIENTAS PARA LA TRADUCCIÓN (II) • Los programas pueden escribirse en un único módulo o en módulos separados, pero no independientes, ya que tendrán llamadas cruzadas entre ellos. • La primera fase de la traducción (ensamblado o compilación) puede realizarse módulo a módulo, pero las llamadas cruzadas no se pueden resolver. No se obtienen programas ejecutables, pero si listados con indicación de errores y programas objeto. • Para juntar todos los módulos (programas objeto) y resolver las llamadas cruzadas se utiliza otro programa llamado editor de enlaces o “linker”. Se obtiene un listado con los enlaces resueltos y un programa ejecutable. ENSAMBLADO O COMPILACIÓN EDICIÓN DE ENLACES PROGRAMA MÓDULO 1 (F) MÓDULO 1 (O) MÓDULO 2 (F) MÓDULO 2 (O) PROGRAMA (E) MÓDULO 3 (F) MÓDULO 3 (O)
  • 10. HERRAMIENTAS PARA LA PUESTA A PUNTO DE APLICACIONES (I) • En los procesos de edición y traducción suele utilizarse un ordenador de uso general (un PC) o un ordenador especializado en el desarrollo de aplicaciones basadas en µP (sistema de desarrollo). • La puesta a punto, también llamada verificación, de la aplicación puede hacerse sobre el mismo ordenador usado en los procesos de edición y traducción: – Mediante un depurador (“debugger”), si la CPU del ordenador (sistema de desarrollo) es la misma que la del µC usado en la aplicación. Se puede ejecutar el programa en tiempo real. – Mediante un simulador, si la CPU del ordenador (habitualmente, un PC) es distinta de la del µC usado en la aplicación. No se puede ejecutar el programa en tiempo real. Existen simuladores que incorporan facilidades para simular las entradas y salidas de la aplicación. • Entre las facilidades para la verificación de programas que incorporan los depuradores y simuladores se encuentran: – Carga del programa ejecutable. – Ejecución desde cualquier punto, ya sea paso a paso o hasta un punto de paro. – Obtención de una traza (evolución de los ciclos de máquina del microprocesador). – Visualización y modificación del contenido de la memoria (programa y variables), registros de entrada/salida y registros internos del microprocesador.
  • 11. HERRAMIENTAS PARA LA PUESTA A PUNTO DE APLICACIONES (II) Pantalla típica de un simulador de µP de NEC
  • 12. HERRAMIENTAS PARA LA PUESTA A PUNTO DE APLICACIONES (III) La puesta a punto también puede hacerse sobre el propio µC usado en la aplicación (ejecución en tiempo real): • Si la memoria de programa es permanente (EPROM, FLASH), la memoria se puede programar mediante un programador o vía JTAG, pero no se pueden disponer de las facilidades para la verificación propias de los depuradores y simuladores. • Si el microprocesador presenta una arquitectura Princeton y se dispone de memoria RAM suficiente, se puede utilizar parte de la memoria RAM para ubicar el programa. Usando programas adicionales (cargadores/monitores/depuradores), se puede cargar el programa en la memoria RAM y ejecutarlo con las facilidades para la verificación propias de los depuradores y simuladores.
  • 13. HERRAMIENTAS PARA LA PUESTA A PUNTO DE APLICACIONES (IV) • La puesta a punto también puede hacerse sobre un hardware especializado, llamado emulador, que: – Emula al µP usado en la aplicación (funciona como él y lo substituye). – También emula a su memoria de programa (la substituye), implementándola con memoria RAM (memoria de emulación). • El emulador suele controlarse desde el ordenador utilizado en el desarrollo del programa. Se puede: – Cargar el programa en la memoria de emulación. – Ejecutarlo en tiempo real. – Disponer de las facilidades para la verificación propias de los depuradores y simuladores. • Los emuladores pueden disponer de un conector con el “pin-out” del microprocesador que puede conectarse a la placa de la aplicación para acceder a su subsistema de entradas/salidas.
  • 14. HERRAMIENTAS PARA LA PUESTA A PUNTO DE APLICACIONES (V) • Otra herramienta hardware usada en la puesta a punto de programas es el analizador lógico. Permite captar y registrar las señales lógicas presentes en los buses del microprocesador y a partir de estas señales deducir la evolución del programa. • Existen analizadores lógicos de tipo “stand-alone” o integrables a emuladores. Estos últimos utilizan como terminal el del ordenador utilizado en el desarrollo del programa.