ESTUDIANTE
Yo he enviado mi propio trabajo, y entiendo las penalidades que podrn ser aplicadas si envo un trabajo cuyo crdito no es mo. Horas de trabajo estimado 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 10 9 10 Escala 4: Ejemplar 3: Completo 2: Incompleto 1: Esfuerzo Menor
Nombre en Imprenta
Cdula
Ponderacin General
Firma
Fecha
0: No enviado 20% descontado del puntaje por cada semana tarde Puntos =Puntos concedidos (Pts) x Peso (Wt) Puntaje In-Lab Total
ASISTENTE DE LAB
# 1 2 3 4 Demostracin Estimulacin 1 Explore 4 Explore 5 Ejercicio de habilidad 1 Wt Pts 4 4 4 5 Tarde Puntaje Firma del Asistente de Lab Fecha
EVALUACIN
# 1 2 3 4 5 Explore 1 Explore 2 Estimulacin 2 Explore 3 Estimulacin 3 Adjuntos Wt 4 4 4 4 4 Pts Puntaje
Sem. Tarde
Puntaje Total
Informacin general Una experiencia de laboratorio es vital para nosotros poder empezar a programar el microcontrolador y ser capaces de entender realmente cmo funciona y aplicarlo en el diseo de sistemas embebidos. En este mdulo se muestra al alumno cmo introducir un programa en lenguaje ensamblador en el entorno de desarrollo integrado CodeWarrior y luego simular su ejecucin usando el simulador en tiempo real/depurador.
Pgina 1
Objetivos de Aprendizaje En este mdulo le introducimos en el entorno de programacin CodeWarrior . Veremos cmo iniciar el sistema e introducir un programa que se ejecuta con el depurador. En el siguiente mdulo se le dar un programa y usted comenzar a aprender a usar el conjunto de instrucciones HCS12 mediante su modificacin, para cambiar la forma en que opera Criterios de xito Al final de este mdulo ser capaz de ensamblar un programa y ejecutarlo y depurarlo con el CodeWarrior simulador/depurador Requisitos previos Usted debe saber sobre el conjunto de instrucciones HCS12 y el direccionamiento de memoria en los modos disponibles. Usted no tiene que conocer el conjunto de instrucciones en detalle. Los mdulos de laboratorio siguientes le ayudarn a aprender eso.
Pgina 5: Seleccione Full Chipl Simulation y haga clic en Finish. En la ventana del manejador de proyecto 4. Cambie a Full Chip Simulation para depuracin, haga clic en la flecha hacia abajo y seleccionar Full Chip Simulation. (Esto no utiliza el hardware para la depuracin. Si desea utilizar realmente el hardware HCS12, elija TBDML
Configuracin de la Simulacin
5. Crear lista de archivos, abra el panel Simulator Settings haciendo clic en el icono que aparece arriba. a. Haga clic en + junto a Target en Target Settings. b. Resalte Assembler for HC12 y haga clic en Options. i. Verifica Generate a listing file. ii. Comprobar Object File Format. Elija formato de archivo ELF/DWARF 2.0. iii. Haga clic en OK. c. Haga clic en OK. 6. Abra la carpeta Sources (haga clic en el signo + si no est abierto). 7. Haga doble clic en main.asm e introduzca el siguiente cdigo despus del comentario. ; Your program code goes here.
Pgina 3
8. Gurdelo con cualquier nombre que desee: File> Save As. (Asegrese de que usted le da un nombre de archivo . asm, o simplemente puede utilizar el archivo main.asm si lo desea.) 9. Asegrese de que la informacin de depuracin se va a generar. a. En la ventana Project Manager Files, verifique que hay un en la columna de la derecha debajo del icono de error.
Pgina 4
10. Ensamble el archivo para verificar errores. a. Clic en Project > Compile b. Corrija cualquier error. 11. De un vistazo a su archivo .list a. File> Open y posicinese sobre la carpeta bin en su proyecto y abra el archivo .lst. Explore 1 1. Cuntos bytes y datos constantes hay en el programa? 2. No se puede decir de esta lista las posiciones de memoria donde se encuentran los bytes de la variable VarData. Por qu no? 3. Qu cdigo de operacin (en hexadecimal), es generado para la instruccin nop? 4. Alguna de las etiquetas en el programa genera algn bytes de cdigo? Estimulacin 1 1. Por qu la instruccin LDX ConstData se ensambla en CExx xx? 2. Cules son los cuatro bytes (en hexadecimal) ensamblados como bytes de datos constante por la directiva del ensamblador DC.B? 3. En la ConstData por qu DC.B produce diferentes bytes de datos para $10 y 10? En los ejercicios de laboratorios en el futuro es posible que desee aadir otros archivos fuentes para su proyecto. As es como se hace eso. 12. Aadir otros archivos fuentes a los archivos reubicables en el proyecto: a. Haga clic en el icono Add New Text File:
Pgina 5
b. Edite el archivo c. File > Save As (use el .asm como extensin de los archivos Ensamblador d. Adicinelo al proyecto: Project > Add *.asm al proyecto. En Add Files seleccione Full Chip Simulation e. Compile: Project > Compile 13. Ver el archivo enlazador de parmetros a. Haga clic en el signo + situado junto a la PRM y haga doble clic en el archivo Project.prm para abrirlo en el editor Explore 2 El archivo enlazador de parmetros nos permite localizar las diversas partes del programa en el tipo apropiado de la memoria. Por ejemplo, todos los datos de cdigo y datos constantes deben de estar en la ROM y los datos variables y la pila en la memoria RAM. 1. Mire en la seccin SEGMENTS a. Qu posiciones de memoria se utilizan para la memoria RAM? b. Cuantas posiciones de memoria se utilizan para la ROM? 2. Mire en la seccin PLACEMENT. Una variedad de opciones de ubicacin por defecto estn incluidos. Estamos interesados en saber dnde se encuentra el DEFAULT_ROM (la seccin de cdigo y de datos constantes en nuestro programa ensamblador) y la DEFAULT_RAM (seccin de variables de datos) a. En qu ubicaciones de la memoria estar el cdigo y? b. En qu posiciones de memoria estarn la data? Estimulacin 2 1. Qu cambios hara usted en el archivo enlazador de parmetros si el hardware de destino tiene memoria RAM en las posiciones de memoria $1000 - $1FFF (0x1000 - 0x1FFF)? 2. Qu cambios hara usted en el archivo enlazador de parmetros si desea localizar el cdigo y las constantes en la memoria a partir de $4000 (0x4000)? 14. Genere el proyecto a. Project > Make o haga clic en el icono
b. Corrija cualquier error del enlazador 15. Inspeccione el archivo mapa del enlazador
Ing. Elas Mendoza H. Pgina 6
a. Haga clic en el signo + sobre Linker Map y abra Project.map. Explore 3 STARUP SECTION 1. Cul es la direccin de inicio del programa? SECTION-ALLOCATION SECTION 2. Qu base numrica se utiliza para determinar el tamao de las distintas secciones? 3. Cuntos bytes de ROM son utilizados por este programa? 4. Cuntos bytes de memoria RAM son utilizadas por este programa? OBJECT-ALLOCATION SECTION 5. Cul es la direccin de memoria de la etiqueta main_loop? 6. Cul es la direccin de memoria de la etiqueta loop? 7. En qu ubicaciones de la memoria se encuentra MyData? 16. Ejecute el programa sin la PBMCUSLK con el CodeWarrior true-Time Simulator a. Asegrese de que Full_Chip_Simulation se muestra en el Administrador de Proyecto como se muestra en el paso 4. b. Inicie el True-Time Simulator por Project > Debug, F5, o haciendo clic en el icono
Si aparece una advertencia haga clic en OK. c. Si el simulador no es el destino de depuracin, haga clic en Component > Set Target y elija Simulator Target Interface y haga clic en OK. d. Si su programa no se ha cargado, o si desea volver a cargarlo, haga clic en Simulator > Load y cargue bin\simulator.abs. e. Usted puede utilizar todas las caractersticas del simulador en el cdigo. Explore 4 Despus de que el simulador se ha puesto en marcha, eche un vistazo a la pantalla: 1. La ventana Source muestra su programa fuente 2. La ventana Assembly muestra el programa como se ve en la memoria. Haga clic derecho en la ventana Assembly y compruebe el Display Code para hacer que su
Ing. Elas Mendoza H. Pgina 7
3. 4.
5. 6.
7.
pantalla muestra el cdigo en las posiciones de memoria $ C000 - $ C01A. Haga clic derecho de nuevo y vea el Display Simbolic para mostrar el simblico en lugar de direcciones decimales. La ventana Register muestra el estado actual/contenido de todos los registros. La ventana de Data mostrar el valor actual de los datos constantes y variables en su programa. Haga clic en el +ConstData para mostrar los cuatro bytes de datos constantes. Haga clic derecho sobre ConstData y seleccione Format All Hex. Haga clic en +VarData para mostrar los dos bytes de variables. La ventana Procedure muestra que procedimiento se encuentra actualmente y la ventana Command le permite entrar comandos en el simulador/depurador. La ventana Memory permite la visualizacin de los contenidos de la memoria. Haga clic derecho en la ventana memoria y seleccione Address. . . y en la ventana de visualizacin de direcciones entrar $C000. a. Qu se muestra aqu? Trate de cambiar el tamao de cualquiera de las ventanas.
Pgina 8
Estimulacin 3 1. En qu circunstancias tiene sentido ejecutar y depurar sus programas en el simulador? 2. cuando se desea ejecutar y depurar sus programas utilizando el depurador de hardware? Ejercicio de Habilidad 1 1. Haga doble clic en cada una de las cajas de registro en la ventana de Registro e introduzca un valor de cero para cada registro. No ser capaz de cambiar el CCR. 2. Pulse el botn Target Reset (o teclee control-R) para devolver el programa al estado de reajuste inicial. 3. Haga paso sencillo a travs del programa y complete una tabla que muestra el resultado de cada instruccin. El CCR (Registro de Condicin de Cdigo) bits NZVC se muestran en negrita cuando el bit est establecido. INSTRUCCIN Estado Reset lds #__SEG_END_SSTACK nop ldx #ConstData ldab #$02 ldaa 0,x staa VarData ldaa 2,x staa VarData+1 inx decb bne loop ldaa 0,x staa VarData ldaa 2,x staa VarData+1 inx decb bne loop nop bra main_loop
Ing. Elas Mendoza H.
D 0000
A 00
B 00
X 0000
Y 0000
PC C000
SP FFFE
NZVC 0000
Pgina 9
Comunicacin 1. A medida que atraviesa su programa explquele a su instructor de laboratorio lo que ve en la pantalla. En particular, explique lo que est sucediendo a cada registro y al registro de condicin de cdigo a medida que atraviesa su programa. Qu preguntas tiene usted? Reflexin sobre el aprendizaje 1. Para la introduccin del programa y revisarlo paso a paso, liste las instrucciones que usted no est seguro de cmo funcionan. Compare su lista con su compaero de laboratorio, y si usted entiende algo que l o ella no entiende, explqueselo para que entienda. Si todava hay instrucciones que no estn seguros, pregunte a su instructor de laboratorio para que l le explique.
Pgina 10