of 29 /29
Programación de Sistemas Mtro. en IA José Rafael Rojano Cáceres [email protected] http://www.uv.mx/rrojano

Mtro. en IA José Rafael Rojano Cáceres … · Microprocesadores Difieren de los procesadores tradicionales como: INTEL x86, AMD, AMD 64, entre otros

Embed Size (px)

Text of Mtro. en IA José Rafael Rojano Cáceres … · Microprocesadores Difieren de los procesadores...

  • Programacin de Sistemas

    Mtro. en IA Jos Rafael Rojano [email protected]

    http://www.uv.mx/rrojano

  • Elementos de un sistema embebido

  • Elementos de un sistema embebido

  • Desarrollo de Firmware

    SOFTWARE

    Lenguajes de Bajo y Alto Nivel.

    UNIDAD CENTRAL DE PROCESO

    MEMORIA

    RELOJ

  • Desarrollo de Firmwaremove.w (A0)+,D0add.w (A0),D0cmp.w #10,D0bgt Print_Msg_Abra Print_Msg_BPrint_Msg_A:

    01000100010100101010010010100100100100010111011101010101

    Sumar dos valores y comparar si el

    resultado es mayor o igual a 10

    int suma;suma = A + B;if (suma >= 10)

    printf (Mayor que);else

    printf (Menor que);

  • Desarrollo de Firmware

  • Desarrollo de FirmwareCompiladores y Enlazadores.

  • Desarrollo de Firmware

    Memoria 8-Bits

    unsigned char X = 0x10;unsigned int A = 0x1200;unsigned long B = 0x8795EF11;

    0x10$00400x120x00

    $0041$0042

    0x870x950xEF0x11

    $0043$0044$0045$0046

    Tipo de Dato Variable y Valor Ini.

    Lenguaje C para Sistemas Embebidos.El Preprocesador.Variables y Tipos de Datos.

    Modificadores: const, extern, volatile, static.Arreglos, estructuras de datos, punteros.

  • Desarrollo de FirmwareLenguaje C para Sistemas Embebidos.

    Funciones en C (Subrutinas y Funciones). Eventos. Inicio Programa

    Inicializacin

    Bajo Consumo

    EV. 1

    EV. 2 EV. 3

    EV. nEventos?

    Evento (Interrupcin) Sin Eventos, esperando

  • Unidades de procesamiento

    Microprocesadores, instrucciones, modos de direccionamiento

  • Caractersticas de la CPU para S.E:

    Eficiencia, tamao de cdigo (sistemas no complejos): Sistemas tpicamente sin disco duro y/o diseos con poca cantidad de memoria RAM y ROM.CISC

    Buena opcin, eficiencia en el tamao del cdigo.Una instruccin realiza varias operaciones.Memoria embebida dentro del mismo chip, ms costosa.

    RISC: Optimizada para velocidad.CISC para la programacin, RISC interno.

    MemoriaMemoria

    InstruccinCISC

    Unidad de Control

    Decodificador y traductor

    CISC -> RISC

    Decodificador y traductor

    CISC -> RISC

    Decodificador instrucciones

    RISC

    Decodificador instrucciones

    RISC

    InstruccionesRISC

  • Caractersticas de la CPU para S.E:

    Eficiencia, tamao de cdigo: Tcnicas de compresin de instrucciones.Eficiencia en tiempo de Ejecucin:

    ROM

    CPU

    InstruccinDireccin

    ROM

    DECO

    InstruccinDireccin

    CPU

    Esquema tradicional Compresin de instrucciones

  • Microprocesadores

    Difieren de los procesadores tradicionales como: INTEL x86, AMD, AMD 64, entre otros.Son orientados a aplicaciones especficas.Eficiencia:

    Bajo consumo de potencia: DPM y DVS.Cdigo pequeo: ISA optimizada.Mdulos: Apropiados para S.E.

    Conversor A/D, D/A, TIMER, PWM, Serial.Avanzados: DRAM, DMA, LCD Grfico, Interrupciones.

  • Modelo de ProgramacinConjunto de elementos ofrecidos al usuario para la programacin.

    15 0

    31 01516

    Registros de Datos D0-D7

    78

    31 01516

    Registros de Direcciones A0-A6

    31 01516

    StackPointer USP y SSP A7. ColdFire es solo uno.

    31 0Solo en el 68000

    2324

    Contador de Programa o PC

    Registro de EstadoCCR

    78

    Ejem

    plo

    6800

    0/C

    oldF

    ire

  • Modos de DireccionamientoConjunto de mecanismos para proveer de datos a las instrucciones

    Ejemplo 68000/ColdFireM.D. Inmediato

    Directo a Registro (Datos o Direcciones)INSTRUCCIN

    OPERANDO

    Memoria

    E.A.INSTRUCCIN

    REGISTRODATOS O

    DIRECCIONES

    E.A.

    Directo a Memoria (Absoluto)

    INSTRUCCIN

    Memoria

    OPERANDOE.A.

    INSTRUCCIN REGISTRODIRECCIONESRegistro

    Memoria

    OPERANDOE.A.

    Indirecto a Registro Direcciones

  • Lenguaje C para S.E.

    Cdigo Fuente.Se escribe en un lenguaje de alto nivel: C.Ms cercano a los humanos, menos a la mquina.

    Debe ser traducido a lenguaje de mquina.Los pasos son:

    Revisin: Sintaxis y semntica.Traduccin lenguaje intermedio.Optimizaciones de alto nivel.Llevar a cdigo objeto: dependiente de la mquina.Optimizaciones de bajo nivel.Reunin con otros mdulos: Cdigo ejecutable.

  • Pasos del cdigo fuente al binarioCDIGO FUENTE REVISIN

    REUNIR OBJETOS

    EJECUTABLE

    OPTIMIZAR ALTO NIVEL

    CDIGO INTERMEDIO

    OPTIMIZAR BAJO NIVEL

    CDIGO OBJETO

    ASMCDIGO MQUINA

  • El compiladorToma el cdigo fuente (.c y .h) y lo organiza de acuerdo a las directivas del preprocesador.Revisin de sintaxis y semntica.Traduccin a cdigo objeto con las respectivas optimizaciones.

  • Compiladores

    Compiladores cruzadosCompilador tradicional

    Se ejecuta en una arquitectura especfica (x86).Genera cdigo para esa misma arquitectura.Visual C++ (x86). Genera cdigo para x86.

    Compilador cruzadoSe ejecuta en una arquitectura especfica (x86).Genera cdigo para otra arquitectura (m68k, arm).gcc-m68k-elf: Compilador de C que corre en x86 pero genera cdigo para un Motorola 68000.

  • Esquema de los compiladores

    Compiladores cruzadosCompilador tradicional

    Compilador cruzado

    Cdigo Fuente Compilador

    CPU: x86

    Cdigo para x86

    Cdigo Fuente Compilador

    CPU: x86

    Cdigo para HC08

  • Ligadores

    Enlazador: LinkerVarios mdulos: varios archivos objeto.Resuelve las referencias externas.Rene todos (obj.) en un solo ejecutable.

  • Binario

    Binario o ejecutable:

    Mdulo 1*.c , .asm

    Mdulo 2*.c, .asm

    Mdulo n*.c, .asm Libreras

    *.libCompilador Compilador Compilador

    Mdulo 1*.o

    Mdulo 2*.o

    Mdulo n*.o

    Otros*.lib

    Enlazador

    Ejecutable

  • Arquitectura ARM

    Advanced Risc Machine

  • Acerca de la arquitectura ARM

  • Registros del ARM

  • Registros del ARM

  • Organizacin de los registros

  • ReferenciasLus Germn Garca Morales, Sistemas Embebidos notas de clase-, Universidad de Antioquia, Grupo de Microelectrnica y Control.ARM Manual de referencia de la arquitectura